{ "id": "163772", "key": "TIMOB-23993", "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": null, "resolutiondate": null, "created": "2016-10-06T15:03:29.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [], "versions": [ { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "issuelinks": [ { "id": "52998", "type": { "id": "10001", "name": "Cloners", "inward": "is cloned into", "outward": "is cloned from" }, "outwardIssue": { "id": "125684", "key": "TIMOB-16369", "fields": { "summary": "Android: Disable copy,define,share popup contextual bar inside webview when selecting text", "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": "Critical", "id": "1" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2018-02-26T19:36:02.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "Initial proposal. We should look at our other APIs to see if we have something similar to use as basis for how we'd structure this.\r\n{code:js}\r\nvar webView = Ti.UI.createWebView({\r\n disableTextSelection: false,\r\n disableContextMenu: true,\r\n contextMenuItems: [{\r\n title: \"Share\",\r\n identifier: \"share\",\r\n icon: \"myIcon.png\", // Android-only\r\n }]\r\n});\r\n \r\nwebView.addEventListener(\"contextmenuclick\", function(e) {\r\n Ti.API.info(\"Clicked at item with identifier: \" + e.identifier);\r\n});\r\n{code}\r\n\r\nSome similar-ish APIs to consider: \r\n- http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.Windows.CommandBar\r\n- http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.iOS.PreviewContext\r\n- http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.TabGroup", "attachment": [], "flagged": false, "summary": "Android: Override contextual bar contents inside webview when selecting text", "creator": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "subtasks": [], "reporter": { "name": "timpoulsen", "key": "timpoulsen", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/Havana" }, "environment": "Android, iOS", "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 }, { "id": 126, "state": "closed", "name": "2018 Sprint 05 SDK", "startDate": "2018-02-25T19:38:08.926Z", "endDate": "2018-03-11T18:38:00.000Z", "completeDate": "2018-03-11T22:06:01.520Z", "originBoardId": 100 } ], "comment": { "comments": [ { "id": "398550", "author": { "name": "fmerzadyan-OLD", "key": "fmerzadyan", "displayName": "Farzad Merzadyan", "active": false, "timeZone": "America/Los_Angeles" }, "body": "https://github.com/appcelerator/titanium_mobile/pull/8494\r\n\r\ntest code:\r\nvar window = Ti.UI.createWindow(\r\n {\r\n title: 'timob-23993'\r\n }\r\n);\r\n\r\n//toggle disableTextSelection values to test out functionality\r\nvar webView = Ti.UI.createWebView({\r\n url: 'http://lipsum.com',\r\n disableTextSelection: false\r\n});\r\n\r\nwebView.addEventListener(\"contextmenuclick\", function(e) {\r\n Ti.API.info(\"Clicked at item with identifier: \" + e.identifier);\r\n});\r\n\r\nwindow.add(webView);\r\nwindow.open();\r\n\r\nRemoved disableContextMenu for parity with iOS and removed custom contextMenuItems since that's a separate issue and future update.\r\n", "updateAuthor": { "name": "fmerzadyan-OLD", "key": "fmerzadyan", "displayName": "Farzad Merzadyan", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-10-10T23:12:18.000+0000", "updated": "2016-10-11T18:50:05.000+0000" }, { "id": "399409", "author": { "name": "fmerzadyan-OLD", "key": "fmerzadyan", "displayName": "Farzad Merzadyan", "active": false, "timeZone": "America/Los_Angeles" }, "updateAuthor": { "name": "fmerzadyan-OLD", "key": "fmerzadyan", "displayName": "Farzad Merzadyan", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-10-19T22:13:04.000+0000", "updated": "2016-10-19T22:13:16.000+0000" }, { "id": "400035", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "PR was specifically for disabling the content action bar contents, not overriding them. If we do want to override them we need to do some more work defining the API and schedule it for another release like 7.x", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2016-10-28T14:25:59.000+0000", "updated": "2016-10-28T14:25:59.000+0000" }, { "id": "401964", "author": { "name": "fmerzadyan-OLD", "key": "fmerzadyan", "displayName": "Farzad Merzadyan", "active": false, "timeZone": "America/Los_Angeles" }, "body": "As [~cwilliams] mentioned, we will consider refactoring architecture for this feature and releasing at a later date.", "updateAuthor": { "name": "fmerzadyan-OLD", "key": "fmerzadyan", "displayName": "Farzad Merzadyan", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-11-29T01:28:27.000+0000", "updated": "2016-11-29T01:28:27.000+0000" }, { "id": "429956", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Due to the schedule for 7.0.0 versus the remaining work, moving to 7.1.0", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-11-01T16:58:41.000+0000", "updated": "2017-11-01T16:58:41.000+0000" }, { "id": "434436", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I'm bumping this out of 7.1.0, this needs discussing more including platform parity.", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-02-13T22:00:40.000+0000", "updated": "2018-02-13T22:00:40.000+0000" } ], "maxResults": 6, "total": 6, "startAt": 0 } } }