{ "id": "121481", "key": "TIMOB-15768", "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:17:41.000+0000", "created": "2013-10-22T07:49:06.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "SupportTeam" ], "versions": [ { "id": "15593", "description": "Release 3.1.3", "name": "Release 3.1.3", "archived": true, "released": true, "releaseDate": "2013-09-18" } ], "issuelinks": [ { "id": "53150", "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" }, "inwardIssue": { "id": "124169", "key": "TIMOB-16104", "fields": { "summary": "iOS: NavigationWindow does not fire \"focus\" and \"blur\" events for child windows after being animated", "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-21T23:15:30.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": "h4. Problem Description\r\nThe focus events for windows contained in a TabGroup stop firing after the TabGroup gets repositioned or resized (or generally animated). Tried it on 3.1.3 GA as well as the oct16 3.1.4 build.\r\n\r\nh4. Steps to reproduce\r\n1. Create a new mobile project\r\n2. Paste this code to app.js:\r\n{code}\r\nfunction Window() {\r\n var self = Ti.UI.createWindow({\r\n title:'title',\r\n backgroundColor:'white'\r\n });\r\n \r\n var button = Ti.UI.createButton({\r\n height:44,\r\n width:200,\r\n title: 'break events',\r\n top:250\r\n });\r\n self.add(button);\r\n \r\n button.addEventListener('click', function() {\r\n console.log(\"resizing\");\r\n self.tabGroup.animate({top: 50}, function() {\r\n self.tabGroup.animate({top: 0}, function() {\r\n alert('focus event does not work anymore, try it');\r\n });\r\n });\r\n });\r\n \r\n return self;\r\n};\r\n \r\nfunction TabGroup() {\r\n var self = Ti.UI.createTabGroup();\r\n \r\n var win1 = new Window(L('home')),\r\n win2 = new Window(L('settings'));\r\n win1.addEventListener('focus', function(){alert('first win focus');});\r\n win2.addEventListener('focus', function(){alert('second win focus');});\r\n win1.addEventListener('blur', function(){alert('first win blur');});\r\n win2.addEventListener('blur', function(){alert('second win blur');});\r\n \r\n var tab1 = Ti.UI.createTab({\r\n title: L('home'),\r\n window: win1\r\n });\r\n win1.tabGroup = self;\r\n win1.containingTab = tab1;\r\n \r\n var tab2 = Ti.UI.createTab({\r\n title: L('settings'),\r\n window: win2\r\n });\r\n win2.tabGroup = self;\r\n win2.containingTab = tab2;\r\n \r\n self.addTab(tab1);\r\n self.addTab(tab2);\r\n \r\n return self;\r\n};\r\n \r\n(function() {\r\n alert('switch between tabs and see the focus event');\r\n new TabGroup().open();\r\n})();\r\n{code}\r\n3. To try it out, run attached file and switch between tabs. You'll see the blur/focus events of the windows in these tabs firing.\r\n4. Then tap the break events button. The TabGroup gets resized a bit and this will cause the events to break\r\n\r\nh4. Expected behaviour\r\nTabGroup gets resized but no event is fired. Switching tabs afterwards should fire blur/focus events.\r\n\r\nh4. Actual behaviour\r\nTabGroup gets resized and the blur event of the window in the current tab is fired. Afterwards, switching tabs does not fire blur/focus events.", "attachment": [ { "id": "43361", "filename": "app.js", "author": { "name": "jayniz", "key": "jayniz", "displayName": "Jannis H", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-10-22T07:49:07.000+0000", "size": 1320, "mimeType": "text/javascript" } ], "flagged": false, "summary": "Window focus event not firing after animating containing TabGroup", "creator": { "name": "jayniz", "key": "jayniz", "displayName": "Jannis H", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "jayniz", "key": "jayniz", "displayName": "Jannis H", "active": true, "timeZone": "Europe/Berlin" }, "environment": "Tried it on OSX on the simulator and iPhone 5s", "comment": { "comments": [ { "id": "279394", "author": { "name": "tartarsaucemedia", "key": "tartarsaucemedia", "displayName": "John Armstrong", "active": true, "timeZone": "America/Chicago" }, "body": "Yes! I am having the same issues with blur event not firing anymore. It seems that the windows are always in focus and open as soon as the tab group is opened. That was not the case before. I have a videoplayer in one window and an audio player in another. They have autoplay settings that used to work fine before this new update 3.1.x. Now, both my audio and video players autoplay at the same time because both windows are opening at same time. Please fix this back to the way it used to be :)", "updateAuthor": { "name": "tartarsaucemedia", "key": "tartarsaucemedia", "displayName": "John Armstrong", "active": true, "timeZone": "America/Chicago" }, "created": "2013-11-13T19:56:35.000+0000", "updated": "2013-11-13T19:56:35.000+0000" }, { "id": "323014", "author": { "name": "shameerj", "key": "shameerj", "displayName": "Shameer Jan", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This issue exist with 3.1.3 and 3.4.0 \r\niOS 7.1 \r\niOS 7.0 \r\nTiSDK 3.4.0 \r\nAppcelerator Studio, build: 3.3.0.201407111535 \r\nTitanium Command-Line Interface, CLI version 3.3.0,", "updateAuthor": { "name": "shameerj", "key": "shameerj", "displayName": "Shameer Jan", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-09-11T07:08:59.000+0000", "updated": "2014-09-11T07:08:59.000+0000" }, { "id": "360643", "author": { "name": "designbymind", "key": "designbymind", "displayName": "Jason David Miller", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This issue also exist with 4.0.0 + and iOS 8.4 / iPhone 5S +\r\n\r\nAfter animating a element, child element 'focus' and 'blur' event listeners stop working.\r\n\r\n- Is there any way to move up the priority level on this issue?\r\n\r\nI feel that many others may be limited on the types on UI/UX one can implement while using a tabbed (TabGroup) layout (which already has many iOS UI restrictions)...\r\n\r\nThanks!\r\n\r\n· Jason", "updateAuthor": { "name": "designbymind", "key": "designbymind", "displayName": "Jason David Miller", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-08-21T07:21:18.000+0000", "updated": "2015-08-21T07:21:18.000+0000" }, { "id": "414671", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as duplicate with reference to the above comments and links.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-21T23:15:30.000+0000", "updated": "2017-03-21T23:15:30.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }