{ "id": "100568", "key": "TIMOB-10800", "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": "15703", "description": "2013 Sprint 22", "name": "2013 Sprint 22", "archived": true, "released": true, "releaseDate": "2013-11-01" }, { "id": "15704", "description": "2013 Sprint 22 API", "name": "2013 Sprint 22 API", "archived": true, "released": true, "releaseDate": "2013-11-01" } ], "resolution": { "id": "6", "description": "", "name": "Hold" }, "resolutiondate": "2014-08-19T21:45:34.000+0000", "created": "2012-09-06T14:03:15.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "look1" ], "versions": [ { "id": "13273", "description": "Release 2.0.2", "name": "Release 2.0.2", "archived": false, "released": true, "releaseDate": "2012-05-31" }, { "id": "14162", "description": "Release 3.1.0", "name": "Release 3.1.0", "archived": true, "released": true, "releaseDate": "2013-04-16" }, { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "issuelinks": [ { "id": "29738", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "outwardIssue": { "id": "116038", "key": "TIMOB-14258", "fields": { "summary": "iOS: TableView automatically scrolls to focussed TextField", "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": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "32370", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "80392", "key": "TIMOB-5301", "fields": { "summary": "iOS: iPad Table View w/ Cuts Text Field Off Screen", "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": "Medium", "id": "3" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-24T18:25:13.000+0000", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "*Code*\r\nhttp://pastie.org/4674079\r\n\r\n*Expected Behaviour*\r\nThe user should be able to scroll through the table without being taken back to focused textField. The textField should stay focused.\r\n\r\n*Actual Behaviour*\r\nTableView of textFields scrolls back to focussed text field on scroll end.\r\n\r\n\r\n*Notes*\r\n- Tested on iOS 5.1\r\n- To Replicate the issue, click on textField in row 6 then once the textfield gains focus scroll down the table, as soon the scrolling ends it will take you back to row 6.", "attachment": [ { "id": "48247", "filename": "bug.js", "author": { "name": "kvelummaylum", "key": "kvelummaylum", "displayName": "Kajenthiran Velummaylum", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2014-05-21T09:33:11.000+0000", "size": 1330, "mimeType": "text/javascript" } ], "flagged": false, "summary": "iOS: TableView scrolls back to focused text field on scroll end", "creator": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 175, "state": "closed", "name": "2014 Sprint 17 SDK", "startDate": "2014-08-21T22:07:00.000Z", "endDate": "2014-08-30T00:00:00.000Z", "completeDate": "2014-09-02T19:56:25.517Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "244098", "author": { "name": "shameerj", "key": "shameerj", "displayName": "Shameer Jan", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Issue reproduces \r\n\r\nTested with\r\n\r\nTitanium Studio, build: 3.0.1.201212181159\r\nTitanium SDK version: 3.1.0 \r\nTitanium SDK version: 3.0.2 \r\niOS iPhone Simulator: iOS SDK version: 5.1, 6.0\r\n", "updateAuthor": { "name": "shameerj", "key": "shameerj", "displayName": "Shameer Jan", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-03-26T08:32:16.000+0000", "updated": "2013-06-21T06:41:48.000+0000" }, { "id": "258817", "author": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "More info at TIMOB-14258.", "updateAuthor": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-06-20T21:11:51.000+0000", "updated": "2013-06-20T21:11:51.000+0000" }, { "id": "274140", "author": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Please can you set for this issue bigger priority? TableView with TextFields (Form) is often used and this bug is really, really very annoying. Users loses patience after few attempts, I am not going to learn users how to write text into TextFields.", "updateAuthor": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-10-08T08:40:37.000+0000", "updated": "2013-10-08T08:40:37.000+0000" }, { "id": "277015", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Pull pending against master\r\nhttps://github.com/appcelerator/titanium_mobile/pull/4869", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-10-28T19:41:23.000+0000", "updated": "2013-10-28T19:41:23.000+0000" }, { "id": "279079", "author": { "name": "prastogi", "key": "prastogi", "displayName": "Pragya Rastogi", "active": true, "timeZone": "Asia/Kolkata" }, "body": "Tested and Verified fix with :\r\nOSX: 10.8.5\r\nXcode:5.0\r\nAppcelerator Studio: 3.2.0.201311112306\r\nSDK: 3.2.0.v20131111174605\r\nacs:1.0.7\r\nalloy:1.3.0\r\nnpm:1.3.2\r\ntitanium:3.2.0\r\ntitanium-code-processo:1.0.3\r\nDevice: iOS7(v7.0.3)-iPodTouch1", "updateAuthor": { "name": "prastogi", "key": "prastogi", "displayName": "Pragya Rastogi", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2013-11-12T07:22:49.000+0000", "updated": "2013-11-12T07:22:49.000+0000" }, { "id": "294272", "author": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hi, this bug is still not properly fixed and is unbelievably annoying. Unfortunately I have found that TableView scrolls back to focused TextField also after calling blur or showing optionDialog... More details in videos: http://www.filedropper.com/sh_2\r\n\r\nPlease fix it.", "updateAuthor": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-02-22T20:29:06.000+0000", "updated": "2014-02-22T20:29:06.000+0000" }, { "id": "294273", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Please attach a test case with code that represents the problem and we'll be happy to reopen the issue.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-02-22T21:24:36.000+0000", "updated": "2014-02-22T21:24:36.000+0000" }, { "id": "294274", "author": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Everything is here: http://www.filedropper.com/sh_2", "updateAuthor": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-02-22T21:26:07.000+0000", "updated": "2014-02-22T21:26:07.000+0000" }, { "id": "294590", "author": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "body": "*Ingo if you want to I can make reupload to somewhere else or send it to you... Just tell me, thanks", "updateAuthor": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-02-25T15:06:41.000+0000", "updated": "2014-02-25T15:06:41.000+0000" }, { "id": "294660", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "No--it's just very difficult for QE to work with .zip files hosted on other servers. Ideally, just attach something to the ticket here.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-02-25T20:41:49.000+0000", "updated": "2014-02-25T20:41:49.000+0000" }, { "id": "294762", "author": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The problem is that videos are quite big ,but that is the best way how to show where is the issue...", "updateAuthor": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-02-26T08:58:43.000+0000", "updated": "2014-02-26T08:58:43.000+0000" }, { "id": "294763", "author": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The problem is that videos are quite big ,but that is the best way how to show where is the issue...\r\n\r\n{code:javascript}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor : \"#FFF\"\r\n});\r\nvar table = Ti.UI.createTableView();\r\nvar data = [];\r\n \r\nfor (var i = 0; i < 30; i++) {\r\n var row = Ti.UI.createTableViewRow({\r\n width : Ti.UI.FILL,\r\n height : Ti.UI.FILL\r\n });\r\n var tField = Ti.UI.createTextField({\r\n width : \"90%\",\r\n height : Ti.UI.FILL,\r\n backgroundColor : \"gray\"\r\n });\r\n \r\n row.add(tField);\r\n data.push(row);\r\n}\r\n \r\ntable.data = data;\r\n \r\nwin.add(table);\r\nwin.open();\r\n\r\n\r\n\r\n/* 2\r\nvar seconds = 0;\r\n\r\nsetInterval(function(){\r\n var time = seconds % 10;\r\n\r\n if(!time && seconds > 0)\r\n {\r\n var optionDialog = Ti.UI.createOptionDialog({\r\n options: [\"Cancel\"],\r\n cancel: 0\r\n });\r\n\r\n optionDialog.show();\r\n }\r\n\r\n console.log(time);\r\n seconds++;\r\n}, 1000);\r\n*/\r\n\r\n\r\n/* 3\r\nvar seconds = 0;\r\n\r\nsetInterval(function(){\r\n var time = seconds % 10;\r\n\r\n if(!time && seconds > 0)\r\n {\r\n data.forEach(function(row){\r\n var textField = row.children[0];\r\n textField.blur();\r\n });\r\n }\r\n\r\n console.log(time);\r\n seconds++;\r\n}, 1000);\r\n*/\r\n{code}", "updateAuthor": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-02-26T09:02:00.000+0000", "updated": "2014-02-26T09:02:00.000+0000" }, { "id": "295491", "author": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Please can somebody have a look at this issue? It is not fixed at all.", "updateAuthor": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-03-04T09:46:59.000+0000", "updated": "2014-05-15T10:19:52.000+0000" }, { "id": "295498", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Reopening for re-review based on comments.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-03-04T13:44:25.000+0000", "updated": "2014-03-04T13:44:25.000+0000" }, { "id": "305668", "author": { "name": "kvelummaylum", "key": "kvelummaylum", "displayName": "Kajenthiran Velummaylum", "active": true, "timeZone": "Asia/Shanghai" }, "body": "The TableView scroll works as expected. The issue is *not reproducible* using the sample codes mentioned in Description section as well as given by Matej. \r\n\r\n*Test Environment:*\r\n|| *Component* || *Version* ||\r\n| Appcelerator Studio | 3.3.0.201405161313 |\r\n| Titanium SDK | 3.3.0.v20140516180912 |\r\n| Alloy | 1.4.0-alpha |\r\n| CLI | 3.3.0-alpha3 |\r\n| ACS | 1.0.14 | \r\n| NPM | 1.4.10 |\r\n| Titanium-Code-Processor | 1.1.1 |\r\n| Node-ACS | 1.0.14 |\r\n| OS | OS X 10.9.2 |\r\n| Device | iPhone 5S (iOS 7.1.1) |\r\n| Xcode | 5.1.1 (5B1008) |\r\n\r\n\r\n", "updateAuthor": { "name": "kvelummaylum", "key": "kvelummaylum", "displayName": "Kajenthiran Velummaylum", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2014-05-20T09:40:52.000+0000", "updated": "2014-05-20T09:40:52.000+0000" }, { "id": "305765", "author": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Please try it one more time. You can find the sample code & videos in the attachted archive that is here http://www.filedropper.com/sh_2. Thank you", "updateAuthor": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-05-20T19:25:16.000+0000", "updated": "2014-05-20T19:25:16.000+0000" }, { "id": "305887", "author": { "name": "kvelummaylum", "key": "kvelummaylum", "displayName": "Kajenthiran Velummaylum", "active": true, "timeZone": "Asia/Shanghai" }, "body": "Thank you Matej.\r\nThe issue is *reproducible.*\r\nResources in the attachment (given by Matej) is used for testing purpose.\r\n\r\nPlease use attached code bug.js to identify the code used for each scenario of testing.\r\n\r\n{panel:title=Scenario 1 (Referring the video 1.mov)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}\r\n - Open the app first time\r\n - Click on a text field and ensure the focus of curser (top portion of the table)\r\n - Scroll up to somewhere else ( to see the bottom part of the table).\r\n - *As soon as scroll ends, the focused text field come back to previous position.*\r\n - If you do this again without blurring all the text fields, it will not happen next time.\r\n\r\n{color:blue} More observations: {color}\r\n - Cancel the keyboard in order to blur all the text field.\r\n - Follow the same again, You can reporduce the same situation again. \r\n - Issue is not reproducible with scroll down scenario (only scroll up shows such behaviour).\r\n - If you delay after clicking on a text field before scrolling up, Scenariou cannot be observed.\r\n{panel}\r\n\r\n{panel:title=Scenario 2 (Referring the video 2.mov)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}\r\n - This scenario describe the situation more clearly\r\n - Follow the step as in Scenario 1, it reproduce the issue.\r\n - After the time interval, it pops up the option dialog.\r\n - *If you click this cancel, it goes to the focused text field automatically.*\r\n{panel}\r\n\r\n{panel:title=Scenario 3 (Referring the video 3.mov)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}\r\n - Follow the step as in Scenario 1 or 2, it reproduce the issue.\r\n - It blur all the text fiels after some time interval, So scenario is more observable here.\r\n{panel}\r\n\r\n*Test Environment:*\r\n|| *Component* || *Version* ||\r\n| Appcelerator Studio | 3.3.0.201405161313 |\r\n| Titanium SDK | 3.3.0.v20140520141136 |\r\n| Alloy | 1.4.0-alpha2 |\r\n| CLI | 3.3.0-alpha4 |\r\n| ACS | 1.0.14 | \r\n| NPM | 1.4.10 |\r\n| Titanium-Code-Processor | 1.1.1 |\r\n| Node-ACS | 1.0.14 |\r\n| OS | OS X 10.9.2 |\r\n| Device | iPhone 5S (iOS 7.1.1) |", "updateAuthor": { "name": "kvelummaylum", "key": "kvelummaylum", "displayName": "Kajenthiran Velummaylum", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2014-05-21T09:33:11.000+0000", "updated": "2014-05-21T09:33:11.000+0000" }, { "id": "317296", "author": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Still nothing about this issue? Seriously guys, this is the most annoying bug. The biggest problem is that I use \"interactive\" form in other words user may add/remove sections with a specific textfields. Sometimes whole app crash because of this scrolling...", "updateAuthor": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-08-06T16:18:16.000+0000", "updated": "2014-08-10T23:44:32.000+0000" }, { "id": "319338", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Scenario 1:\r\nValid: I can reproduce some times.\r\nScenario 2:\r\nInvalid: When the option dialog looses focus, the field that owns the keyboard gains focus and the system scrolls the scrolling area, in this case the tableview, to that UI component. This is done by the system.\r\nScenario 3:\r\nInvalid: Very similar to scenario two. By calling \"blur\" on a field, the system will scroll the scrolling to make it visible. This is also done by the system\r\n\r\nI will create a simple test case using ListView and see how that behaves. Today, ListView is the preferred component to show a list of items, instead of TableView.", "updateAuthor": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-08-19T20:14:27.000+0000", "updated": "2014-08-19T20:14:27.000+0000" }, { "id": "319348", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Ok, research done.\r\nTested on a native app and it surprised me. If you're building a native obejcte-c app you have to take care of a lot of things that you get for free with Titanium.\r\nShort story: Race condition, and fixing this will break almost every other app that uses a textfield in a scroll view or any of it's subclasses. (table view, list view, scroll view)\r\n\r\nLong story:\r\nWhenever a keyboard has a change, such is \"is about to come up\", \"it came up\", \"the device is rotating so it's going to change size and position\", etc... we run some code to compensate for that. We check if that field is in a scrolling view and if so we scroll to that place. If the scrolling view extends passed the bottom of the keyboard and is no longer visible, we make the scrolling area bigger and place it on top of the keyboard. We do this to make it easy for the developer. We're doing a lot of things you would do as a native developer so you don't need to think about it.\r\nWhat's happening in this particular case is the following: \r\n1. the field is focused\r\n2. the keyboard is about to come up\r\n3. the tableview's scrolling area is enlarged and scrolled to the focused field\r\n4. the keyboard is coming up\r\n5. you scroll quickly before the keyboard's \"came up\" internal event is triggered\r\n6. the keyboard came up, but table view is still scrolling..., so that even is queued\r\n7. the table view ended scrolling, the queued event is triggered\r\n8. the tableview scrolls to the position of the field. (same as 3)\r\n\r\nSimilar things would happen if, for example, the device is rotated and the window has orientationModes set and the keyboard is up.\r\n\r\nAbout the options dialog. When it's dismissed we tell the root view controller about it. The root view controller finds the previous focused component and tell it to regain focus again. In this case it happened to be a text field in a table view row. So the chain reaction stars and we're back at square one.\r\n\r\nWe're going to investigate on how to properly fix this. \r\n", "updateAuthor": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-08-19T21:17:50.000+0000", "updated": "2014-08-19T21:17:50.000+0000" }, { "id": "319376", "author": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hi Pedro. Firstly, I am not really sure whether is good idea to replace a TableView with a ListView. Yes, a ListView is great if you have to display many rows ,but for a form (rows that contains textfields) is better-simpler to use a TableView. (That's just my opinion).\r\n\r\nI have got for you another scenario. Just run the app then click (focus) for example the first TextField (row) and scroll completely down - to the end. Stay there and wait for the setTimeout, the TableView should scroll to the top after the section is inserted.\r\n\r\nAs I mentioned above I have got a form that works in similar way (in the bottom is a button for adding a section). If a user is manipulating faster (e.g. immediately scrolling back down to the section...) sometimes the whole app just crash. That's not good at all.\r\n\r\n{code:javascript}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor : \"#FFF\"\r\n});\r\n\r\nvar table = Ti.UI.createTableView();\r\n\r\nvar section_1 = Ti.UI.createTableViewSection({headerTitle: \"SECTION_1\"}),\r\n\tsection_2 = Ti.UI.createTableViewSection({headerTitle: \"SECTION_2\"});\r\n \r\n[section_1, section_2].forEach(function(section) {\r\n\tvar data = [];\r\n\t\r\n\tfor (var i = 0; i < 25; i++) {\r\n\t var row = Ti.UI.createTableViewRow({\r\n\t width: Ti.UI.FILL, height: Ti.UI.FILL\r\n\t });\r\n\t \r\n\t var tField = Ti.UI.createTextField({\r\n\t width: \"90%\", height: Ti.UI.FILL\r\n\t });\r\n\t \r\n\t row.add(tField);\r\n\t section.add(row);\r\n\t}\r\n});\r\n \r\ntable.data = [section_1];\r\n \r\nwin.add(table);\r\nwin.open();\r\n\r\nsetTimeout(function() {\r\n\ttable.insertSectionAfter(0, section_2);\r\n}, 6000);\r\n{code}", "updateAuthor": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-08-19T23:22:09.000+0000", "updated": "2014-08-19T23:25:32.000+0000" }, { "id": "326729", "author": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "updateAuthor": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-10-02T11:01:50.000+0000", "updated": "2014-10-02T11:02:41.000+0000" } ], "maxResults": 24, "total": 24, "startAt": 0 } } }