{ "id": "162575", "key": "TIMOB-23771", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "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": "10000", "description": "", "name": "Done" }, "resolutiondate": "2018-02-13T09:02:16.000+0000", "created": "2016-08-14T22:15:17.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "ios10", "peekandpop" ], "versions": [], "issuelinks": [], "assignee": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2018-08-06T17:34:50.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": "*strong text*In iOS 10, developers can build their own peek-and-pop transitions by implementing the {{[UIPreviewInteraction|https://developer.apple.com/reference/uikit/uipreviewinteraction]}} class. It provides delegates to handle the current process and lets the user decide whether or not the user should commit from peek to pop or not (nice rhyme). ", "attachment": [], "flagged": false, "summary": "iOS10: Support preview interactions", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "closedSprints": [ { "id": 1000, "state": "closed", "name": "2018 Sprint 04 SDK", "startDate": "2018-02-12T04:23:01.913Z", "endDate": "2018-02-26T04:23:00.000Z", "completeDate": "2018-02-26T19:36:01.769Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "433576", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "We should create a module for this as this is iOS specific feature. APIs will be like as mentioned in below code -\r\n\r\n{code:java}\r\nvar TiPreviewInteraction = require('ti.previewinteraction');\r\n\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: '#fff'\r\n});\r\n\r\nvar previewInteraction = TiPreviewInteraction.createPreviewInteraction();\r\n\r\nvar view = Ti.UI.createView({\r\n\t\t\tbackgroundColor : 'blue',\r\n\t\t\theight: 200,\r\n\t\t\twidth : 200,\r\n previewInteraction: previewInteraction\r\n});\r\n\r\npreviewInteraction.addEventListener('peek', function(e) {\r\n\t Ti.API.info(e.progress);\r\n\t Ti.API.info(e.ended);\r\n\t Ti.API.info(e.touchPoint.x);\r\n\t Ti.API.info(e.touchPoint.y);\r\n\r\n\t if (e.progress > .8) {\r\n\t \tpreviewInteraction.cancelInteraction();\r\n\t }\r\n});\r\n\r\npreviewInteraction.addEventListener('pop', function(e) {\r\n\t Ti.API.info(e.progress);\r\n\t Ti.API.info(e.ended);\r\n\t Ti.API.info(e.touchPoint.x);\r\n\t Ti.API.info(e.touchPoint.y);\r\n});\r\n\r\npreviewInteraction.addEventListener('cancel', function(e) {\r\n\t Ti.API.info('Cancelled');\r\n});\r\n\r\nwin.add(view);\r\nwin.open();\r\n\r\n{code}\r\n\r\n[~hknoechel] Do you have anything to add here? Thanks!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-01-24T09:53:55.000+0000", "updated": "2018-01-29T07:35:57.000+0000" }, { "id": "433790", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~vijaysingh] As discussed, let's make it a TiViewProxy extension inside a module and go with that. I've updated the above PoC accordingly.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-01-29T07:36:37.000+0000", "updated": "2018-01-29T07:36:37.000+0000" }, { "id": "434348", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "ti.previewinteraction module - https://github.com/vijaysingh-axway/ti.previewinteraction", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-02-12T05:52:09.000+0000", "updated": "2018-02-12T05:52:09.000+0000" }, { "id": "434396", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Module released! https://github.com/appcelerator-modules/ti.previewinteraction\r\n\r\nResolving ticket.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-02-13T09:02:03.000+0000", "updated": "2018-02-13T09:02:03.000+0000" }, { "id": "439862", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closed as completed. If this is in error, please reopen.", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-08-06T17:34:50.000+0000", "updated": "2018-08-06T17:34:50.000+0000" } ], "maxResults": 5, "total": 5, "startAt": 0 } } }