{ "id": "103823", "key": "TIMOB-11561", "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": [ { "id": "14613", "description": "Release 2.1.4", "name": "Release 2.1.4", "archived": true, "released": true, "releaseDate": "2012-11-12" }, { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" }, { "id": "14162", "description": "Release 3.1.0", "name": "Release 3.1.0", "archived": true, "released": true, "releaseDate": "2013-04-16" }, { "id": "14168", "description": "2012 Sprint 22 API", "name": "2012 Sprint 22 API", "archived": true, "released": true, "releaseDate": "2012-11-05" }, { "id": "14274", "description": "2012 Sprint 22", "name": "2012 Sprint 22", "archived": true, "released": true, "releaseDate": "2012-11-05" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-10-31T00:04:29.000+0000", "created": "2012-10-23T23:17:55.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "api", "developer-preview", "module_textfield", "qe-testadded", "regression" ], "versions": [ { "id": "14137", "description": "Release 2.1.3", "name": "Release 2.1.3", "archived": true, "released": true, "releaseDate": "2012-10-03" } ], "issuelinks": [], "assignee": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2013-10-04T07:22:26.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": "The Keyboard Toolbar on top of the key board does not appear once the textField is blurred and then re focussed. This works fine on 2.1.0, 2.1.1, 2.1.2 GAs.\r\n\r\nh4. Steps to reproduce:\r\n1. Load the app with below app.js\r\n2. Make sure the app on Ti SDK 2.1.3GA\r\n3. Enter a value greater than 10.\r\n4. Click on the 'button'\r\n\r\nActual Result: The Keyboard toolbar just disappears.\r\n\r\nExpected Result: The Keyboard toolbar should not disappear like on 2.1.2 SDK.\r\n\r\napp.js:\r\n{code}\r\nvar win = Titanium.UI.createWindow({\r\n backgroundColor:'white',\r\n title:'window',\r\n barColor:'#ff7b01',\r\n top:0\r\n });\r\n\r\nvar b = Titanium.UI.createButton({\r\n title:'Button',\r\n style:Titanium.UI.iPhone.SystemButtonStyle.DONE\r\n });\r\n b.addEventListener('click',function(){\r\n txtField.blur();\r\n })\r\n var flexSpace = Titanium.UI.createButton({\r\n systemButton:Titanium.UI.iPhone.SystemButton.FLEXIBLE_SPACE\r\n });\r\nvar txtField = Titanium.UI.createTextField({\r\n color : '#ff7c00',\r\n font : {\r\n fontSize : 16,\r\n fontWeight : 'bold',\r\n fontFamily : 'Helvetica Neue'\r\n },\r\n top : 19,\r\n textAlign : 'right',\r\n height : 50,\r\n left:'65%',\r\n right : '10%',\r\n keyboardType : Titanium.UI.KEYBOARD_NUMBER_PAD,\r\n returnKeyType : Titanium.UI.RETURNKEY_DEFAULT,\r\n borderStyle : Titanium.UI.INPUT_BORDERSTYLE_ROUNDED,\r\n keyboardToolbarColor:'#898989',\r\n keyboardToolbar:[flexSpace,b,flexSpace]\r\n });\r\ntxtField.addEventListener('blur',function(e){\r\n if(e.value > 10){\r\n txtField.value = '';\r\n /*setTimeout(function(){\r\n txtField.focus()},1000)*/\r\n txtField.focus();\r\n }\r\n\r\n})\r\n\r\nwin.add(txtField);\r\n\r\n\r\nwin.open()\r\n{code}", "attachment": [], "flagged": false, "summary": "keyboardToolbar of textField not being displayed on textField.focus()", "creator": { "name": "aakkinepally", "key": "aakkinepally", "displayName": "Amuktha Akkinepally", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "aakkinepally", "key": "aakkinepally", "displayName": "Amuktha Akkinepally", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Ti SDK 2.1.3, iOS 6", "comment": { "comments": [ { "id": "224832", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Focusing inside blur events and blurring inside focus events is a really bad design so no we will not fix race conditions.\nAnyways from what I can see of the app, the whole value verification can be done on the click listener of the button. ", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-10-24T20:04:20.000+0000", "updated": "2012-10-24T20:04:20.000+0000" }, { "id": "225164", "author": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Not only that, but disallowing the user to change fields is a [direct violation of Apple's HIG and grounds for app rejection|https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/Principles/Principles.html#//apple_ref/doc/uid/TP40006556-CH5-SW6]\nbq. People, not apps, should initiate and control actions. Although an app can suggest a course of action or warn about dangerous consequences, it’s usually a mistake for the app to take decision-making away from the user.\n\nMoving to mark as invalid.", "updateAuthor": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-10-26T20:40:05.000+0000", "updated": "2012-10-26T20:40:05.000+0000" }, { "id": "225528", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Will see if tis can be handled. ", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-10-30T16:55:56.000+0000", "updated": "2012-10-30T16:55:56.000+0000" }, { "id": "225613", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "master PR https://github.com/appcelerator/titanium_mobile/pull/3355\n3_0_X PR https://github.com/appcelerator/titanium_mobile/pull/3365\n2_1_X PR https://github.com/appcelerator/titanium_mobile/pull/3366", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-10-30T23:20:53.000+0000", "updated": "2012-10-30T23:20:53.000+0000" }, { "id": "225838", "author": { "name": "nhuynh", "key": "nhuynh", "displayName": "Natalie Huynh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tested with 2.1.4.v20121030173408 on iPhone 4s 6.0", "updateAuthor": { "name": "nhuynh", "key": "nhuynh", "displayName": "Natalie Huynh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-01T19:59:26.000+0000", "updated": "2012-11-01T19:59:26.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }