{ "id": "124169", "key": "TIMOB-16104", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": { "id": "3", "description": "The problem is a duplicate of an existing issue.", "name": "Duplicate" }, "resolutiondate": "2016-10-19T14:16:57.000+0000", "created": "2013-12-24T14:17:40.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "NavigationGroup", "NavigationWindow", "animations", "blur", "focus", "ios7" ], "versions": [ { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "issuelinks": [ { "id": "53149", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "outwardIssue": { "id": "126996", "key": "TIMOB-16560", "fields": { "summary": "iOS: Window focus/blur events do not fire after animating the navigation window", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Low", "id": "4" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "34002", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "121481", "key": "TIMOB-15768", "fields": { "summary": "Window focus event not firing after animating containing TabGroup", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Low", "id": "4" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-29T22:02:36.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "I'm using NavigationWindow to create windows(screens) flow in our App. Also I have side-menu there (another window below NavigationWindow) which I show on \"Menu\" button click by animating NavigationWindow to the right (see attached screenshot). I found, what if I animate NavigationWindow with \"animate\" method -- windows inside NavigationWindow loses focus and no longer receive \"focus\" and \"blur\" events (maybe some other events too, dunno). Even newly created windows not receive those events too. I have some vital functional (as timers creation and other stuff) linked to those events, so I need them in working condition.\r\n\r\nBefore I used NavigationGroup and all was fine with it, but now it's deprecated.\r\n\r\n\r\nCode to reproduce:\r\n\r\n{code}\r\nvar win1 = Ti.UI.createWindow({\r\n backgroundColor: 'white'\r\n});\r\n\r\nwin1.addEventListener('click', function(){\r\n navWindow.openWindow(win2);\r\n});\r\n\r\nwin1.addEventListener('focus', function(){\r\n Ti.API.info((new Date()) + ' win1:focus');\r\n});\r\n\r\nwin1.addEventListener('blur', function(){\r\n Ti.API.info((new Date()) + ' win1:blur');\r\n});\r\n\r\nvar win2 = Ti.UI.createWindow({\r\n backgroundColor: 'red'\r\n});\r\n\r\nwin2.addEventListener('click', function(){\r\n navWindow.closeWindow(win2);\r\n});\r\n\r\nvar navWindow = Ti.UI.iOS.createNavigationWindow({\r\n backgroundColor:'#ffffff',\r\n backgroundImage: 'Default.png',\r\n window: win1,\r\n});\r\n\r\nnavWindow.open();\r\n\r\n// Setup deferred animation of navWindow (for simplify things)\r\nsetTimeout(function(){\r\n Ti.API.info((new Date()) + ' animated');\r\n navWindow.animate({\r\n duration: 1000, // here I just show what any animation breaks the things\r\n });\r\n}, 10000);\r\n{code}\r\n\r\nYou can click on window to open another one and see messages in the console when you go back to first window again. Code contains auto-triggered function which \"animates\" navWindow after 10 seconds from app launch. After that you can no longer see focus and blur messages in the console on the same interactions with windows, but see only one last \"win1:blur\" (btw, when NavigationGroup was used looks like no \"blur\" event was fired).\r\n\r\n{code}\r\n[INFO] : Tue Dec 24 2013 17:47:20 GMT+0400 (MSK) win1:focus\r\n[INFO] : Tue Dec 24 2013 17:47:22 GMT+0400 (MSK) win1:blur\r\n[INFO] : Tue Dec 24 2013 17:47:24 GMT+0400 (MSK) win1:focus\r\n[INFO] : Tue Dec 24 2013 17:47:24 GMT+0400 (MSK) win1:blur\r\n[INFO] : Tue Dec 24 2013 17:47:26 GMT+0400 (MSK) win1:focus\r\n[INFO] : Tue Dec 24 2013 17:47:30 GMT+0400 (MSK) animated\r\n[INFO] : Tue Dec 24 2013 17:47:30 GMT+0400 (MSK) win1:blur\r\n{code}\r\n\r\nExpected result:\r\n - some code animates NavigationWindow with NavigationWindow.animate method\r\n - windows inside NavigationWindow remains ability to receive \"focus\" and \"blur\" events\r\n\r\nActual result:\r\n - some code animates NavigationWindow with NavigationWindow.animate method\r\n - windows inside NavigationWindow loses ability to receive \"focus\" and \"blur\" events anymore", "attachment": [ { "id": "44802", "filename": "app.js", "author": { "name": "bobrosoft", "key": "bobrosoft", "displayName": "Vladimir Tolstikov", "active": true, "timeZone": "Europe/Moscow" }, "created": "2013-12-24T14:18:50.000+0000", "size": 2180, "mimeType": "text/javascript" }, { "id": "44801", "filename": "screenshot_2013-12-24_17.51.43.png", "author": { "name": "bobrosoft", "key": "bobrosoft", "displayName": "Vladimir Tolstikov", "active": true, "timeZone": "Europe/Moscow" }, "created": "2013-12-24T14:17:40.000+0000", "size": 229630, "mimeType": "image/png" } ], "flagged": false, "summary": "iOS: NavigationWindow does not fire \"focus\" and \"blur\" events for child windows after being animated", "creator": { "name": "bobrosoft", "key": "bobrosoft", "displayName": "Vladimir Tolstikov", "active": true, "timeZone": "Europe/Moscow" }, "subtasks": [], "reporter": { "name": "bobrosoft", "key": "bobrosoft", "displayName": "Vladimir Tolstikov", "active": true, "timeZone": "Europe/Moscow" }, "environment": "Titanium Command-Line Interface, CLI version 3.2.0, Titanium SDK version 3.2.0.GA\r\niOS SDK: 7.0.3\r\niPhone Simulator: 7.0.3", "comment": { "comments": [ { "id": "358212", "author": { "name": "bg4ever", "key": "bg4ever", "displayName": "BG", "active": true, "timeZone": "America/Denver" }, "body": "There doesn't seem to be any way to track which window has focus in a NavigationWindow because of this issue. Why is this considered such a low priority?\r\n\r\nI have a NavigationGroup consisting of 4 windows which I drill through from parent to child. I need to know when the user navigates back to the home window of the group (the first window). Is there some other way to do this I don't know about?", "updateAuthor": { "name": "bg4ever", "key": "bg4ever", "displayName": "BG", "active": true, "timeZone": "America/Denver" }, "created": "2015-07-23T20:26:13.000+0000", "updated": "2015-07-23T20:26:13.000+0000" }, { "id": "384704", "author": { "name": "icecandy", "key": "icecandy", "displayName": "Simon Buckingham", "active": true, "timeZone": "Europe/London" }, "body": "I am still seeing this general problem in Ti 5.1.2 (on iOS 9.3). In an iOS navigation group the window is not sending the focus event.\r\nI can't believe this is marked as low priority.\r\nThis is essential UX.", "updateAuthor": { "name": "icecandy", "key": "icecandy", "displayName": "Simon Buckingham", "active": true, "timeZone": "Europe/London" }, "created": "2016-05-04T11:39:24.000+0000", "updated": "2016-05-04T11:39:24.000+0000" }, { "id": "416280", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as duplicate, with reference to the above links.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-29T22:02:36.000+0000", "updated": "2017-03-29T22:02:36.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }