{ "id": "119668", "key": "TIMOB-15080", "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": "7", "description": "", "name": "Invalid" }, "resolutiondate": "2014-04-08T08:35:04.000+0000", "created": "2013-09-07T20:34:06.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "qe-3.1.3", "qe-closed-3.2.3" ], "versions": [ { "id": "15479", "description": "Release 3.1.2", "name": "Release 3.1.2", "archived": true, "released": true, "releaseDate": "2013-07-31" }, { "id": "15593", "description": "Release 3.1.3", "name": "Release 3.1.3", "archived": true, "released": true, "releaseDate": "2013-09-18" } ], "issuelinks": [], "assignee": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2014-04-08T16:11:00.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": "Use https://github.com/appcelerator/titanium_mobile_tests_internal/tree/master/FeatureTest/Popover\r\ntimob_6903\r\nor\r\n\r\nRun this code:\r\n{code}\r\nfunction showGallery(targetView, arrowDirection) {\r\n Titanium.Media.openPhotoGallery({\r\n success:function(event) { \r\n Titanium.API.info('photo gallery success');\r\n },\r\n cancel:function() {\r\n Titanium.API.info('photo gallery cancel');\r\n },\r\n error:function(error) {\r\n Titanium.API.info('photo gallery error');\r\n },\r\n allowEditing: true,\r\n popoverView: targetView,\r\n arrowDirection: arrowDirection,\r\n mediaTypes:[Ti.Media.MEDIA_TYPE_PHOTO]\r\n });\r\n \r\n};\r\n \r\nvar win = Ti.UI.createWindow({\r\n title:'Test Case',\r\n backgroundColor:'#ffffff'\r\n});\r\n \r\nvar b1 = Ti.UI.createButton({\r\n top: 20,\r\n left: 20,\r\n height: 30,\r\n width: 150,\r\n title: 'Left Arrow'\r\n});\r\nb1.addEventListener('click', function(e) {\r\n showGallery(b1, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_LEFT);\r\n });\r\nwin.add(b1);\r\n \r\nvar b2 = Ti.UI.createButton({\r\n top: b1.top + 40,\r\n left: b1.left,\r\n height: 30,\r\n width: 150,\r\n title: 'Any Arrow'\r\n});\r\nb2.addEventListener('click', function(e) {\r\n showGallery(b2, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_ANY);\r\n});\r\nwin.add(b2);\r\n \r\nvar b3 = Ti.UI.createButton({\r\n top: b2.top + 40,\r\n left: b2.left,\r\n height: 30,\r\n width: 150,\r\n title: 'Right Arrow'\r\n});\r\nb3.addEventListener('click', function(e) {\r\n showGallery(b3, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_RIGHT);\r\n});\r\nwin.add(b3);\r\n \r\nvar b4 = Ti.UI.createButton({\r\n top: 250,\r\n left: 250,\r\n height: 30,\r\n width: 150,\r\n title: 'Left Arrow'\r\n});\r\nb4.addEventListener('click', function(e) {\r\n showGallery(b4, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_LEFT);\r\n});\r\nwin.add(b4);\r\n \r\nvar b5 = Ti.UI.createButton({\r\n top: b4.top + 40,\r\n left: b4.left,\r\n height: 30,\r\n width: 150,\r\n title: 'Any Arrow'\r\n});\r\nb5.addEventListener('click', function(e) {\r\n showGallery(b5, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_ANY);\r\n});\r\nwin.add(b5);\r\n \r\nvar b6 = Ti.UI.createButton({\r\n top: b5.top + 40,\r\n left: b5.left,\r\n height: 30,\r\n width: 150,\r\n title: 'Right Arrow'\r\n});\r\nb6.addEventListener('click', function(e) {\r\n showGallery(b6, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_RIGHT);\r\n});\r\nwin.add(b6);\r\n \r\nvar b7 = Ti.UI.createButton({\r\n top: 500,\r\n left: 500,\r\n height: 30,\r\n width: 150,\r\n title: 'Left Arrow'\r\n});\r\nb7.addEventListener('click', function(e) {\r\n showGallery(b7, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_LEFT);\r\n});\r\nwin.add(b7);\r\n \r\nvar b8 = Ti.UI.createButton({\r\n top: b7.top + 40,\r\n left: b7.left,\r\n height: 30,\r\n width: 150,\r\n title: 'Any Arrow'\r\n});\r\nb8.addEventListener('click', function(e) {\r\n showGallery(b8, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_ANY);\r\n});\r\nwin.add(b8);\r\n \r\nvar b9 = Ti.UI.createButton({\r\n top: b8.top + 40,\r\n left: b8.left,\r\n height: 30,\r\n width: 150,\r\n title: 'Right Arrow'\r\n});\r\nb9.addEventListener('click', function(e) {\r\n showGallery(b9, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_RIGHT);\r\n});\r\nwin.add(b9);\r\n \r\nwin.open()\r\n\r\n{code}\r\n\r\nClick Right Arrow button of the first popover (top left)\r\n\r\nActual result:\r\nUnexpected layout, overlapping of content", "attachment": [ { "id": "47172", "filename": "popoverTest.zip", "author": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-04-08T08:34:13.000+0000", "size": 35807, "mimeType": "application/zip" }, { "id": "42279", "filename": "right_arrow_popover.png", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-09-07T20:34:06.000+0000", "size": 126993, "mimeType": "image/png" } ], "flagged": false, "summary": "iOS7: Popover - unexpected layout of a popover with a right arrow ", "creator": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Appcelerator Studio, build: 3.1.3.201308302458\r\nTitanium SDK, build: 3.1.3.v20130906144623\r\nKS[3_1_X]\r\nhttps://github.com/appcelerator-developer-relations/KitchenSink/tree/3_1_X\r\nXcode5-DP6\r\nCLI: 3.1.2\r\nAlloy: 1.2.2\r\nDevices:\r\niPad 4 iOS7(11A4449d)", "comment": { "comments": [ { "id": "271374", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This is the same behavior as seen on iOS 6 with the same test code.", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-09-16T22:17:47.000+0000", "updated": "2013-09-16T22:17:47.000+0000" }, { "id": "275489", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Moving into 3.2.1 due to lack of remaining bandwidth for 3.2.0", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-10-17T20:34:00.000+0000", "updated": "2013-10-17T20:34:00.000+0000" }, { "id": "300183", "author": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This is the expected behavior, the popover always tries to present itself at the given arrow location and resize itself according to the size available. \n\nMarking ticket as invalid. Attaching native app which shows the same behavior along with the ticket.", "updateAuthor": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-04-08T08:34:42.000+0000", "updated": "2014-04-08T08:34:42.000+0000" }, { "id": "300211", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing as Invalid per [~srahim] comment.", "updateAuthor": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-04-08T16:10:21.000+0000", "updated": "2014-04-08T16:10:21.000+0000" } ], "maxResults": 5, "total": 5, "startAt": 0 } } }