[TIMOB-14676] BlackBerry: using tableViewSections, app fails to run and triggers an exception
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | High |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2013-07-29T20:32:37.000+0000 |
Affected Version/s | Release 3.1.2 |
Fix Version/s | 2013 Sprint 15 API, 2013 Sprint 15, Release 3.1.2, Release 3.2.0 |
Components | n/a |
Labels | n/a |
Reporter | Federico Casali |
Assignee | Pedro Enrique |
Created | 2013-07-26T04:33:55.000+0000 |
Updated | 2014-06-19T12:43:24.000+0000 |
Description
Problem description
Using a TableView with tableViewSections, the app fails to run and an exception is triggered.
Steps to reproduce
Use the sample code:
<Alloy>
<Window id="win" backgroundColor="white">
<TableView id="table">
<TableViewSection id="sectionFruit" headerTitle="Fruit">
<TableViewRow title="Apple"/>
<TableViewRow title="Bananas"/>
</TableViewSection>
<TableViewSection id="sectionVeg" headerTitle="Vegetables">
<TableViewRow title="Carrots"/>
<TableViewRow title="Potatoes"/>
</TableViewSection>
<TableViewSection id="sectionFish" headerTitle="Fish">
<TableViewRow title="Cod"/>
<TableViewRow title="Haddock"/>
</TableViewSection>
</TableView>
</Window>
</Alloy>
also available here: http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.TableView
1. Run the App
Result: App runs, splashscreen is displayed, then it crashes.
From the log, I can see this error:
app/native/assets/alloy/controllers/table.js:12
$.__views.__alloyId5 = Ti.UI.createTableViewSection({
^
TypeError: Object [object Object] has no method 'createTableViewSection'
at new Controller (app/native/assets/alloy/controllers/table.js:12:34)
at Object.createController (app/native/assets/alloy.js:212:12)
at new Controller (app/native/assets/alloy/controllers/index.js:17:35)
at Object.createController (app/native/assets/alloy.js:212:12)
at app.js:3:7
It would appear that BB has not yet implemented tableviewsections. The error clearly states that the Titanium API function createTableViewSection() is not defined on the picker itself. Is this the expectation? Is this meant to be implemented for 3.1.2? If not, [~bhatfield] is this accounted for in the API docs? If this will not be implemented in 3.1.2, I can write a conditional in the app to only show the single column version on BB.
The Titanium createTableViewSection() was added to master so this needs investigation today.
Application is not crashing. 'tableViewSections' header text not showing issue has been addressed separately. Titanium SDK 3.1.2.v20130808180613 Alloy 1.2.0-alpha6 Appcelerator Studio 3.1.2.201308071912 CLI 3.1.2-alpha Node 0.10.13 Closing.