- This topic has 41 replies, 14 voices, and was last updated 10 years, 7 months ago by
Darshan Patel.
-
AuthorPosts
-
July 2, 2012 at 8:57 pm #327813
Unknown AuthorParticipantThank you! I’m sure this line is the issue. The rest of my JavaScript double custom list code is working.
-1TC
July 5, 2012 at 5:27 pm #327937
Unknown AuthorParticipantI think I have found a solution to fix your custom list example.
Replace
var selectListItemLabel = $(“div > div”, $(event.srcElement)).text();With this:
var selectListItemLabel = $(event.srcElement).text(); //grab the label
selectListItemLabel = selectListItemLabel.replace(/^\s+/g,”); //replace leading spaces
selectListItemLabel = selectListItemLabel.replace(/\s+$/g,”); //replace trailing spaces-1TC
July 6, 2012 at 12:13 pm #327958
support-michaelKeymaster@1thinchip
I finally got a few mins to investigate what might be up. There is definitely a bug in the example code, updateLandingScreen().
function updateLandingScreen() { var selectedListItemIdx = $(event.srcElement).attr('data-listitem-index'); $('#m1-landing-indexTxt').text(selectedListItemIdx); }
List-item HTML Implementation
<li id="m1-list-listItem1" class="m1-first m1-last m1-clickable m1-highlight m1-hyperlink-internal" data-action-click-id="action0" data-listitem-index="1"> <div id="m1-list-listItem1-inner-div"> <img id="m1-list-accessoryImage1" class="m1-clickable" src="res/images/tableRowDisclosureIndicator.png"/> <div id="m1-list-text2" class="m1-text">Item</div> </div> </li>
The flaw is this function assumes that selecting anywhere in a list-item will return the top-level <li> for the list-item. This is incorrect, at least in 2.0. I found that the event.srcElement can be any child element under the <li> that is touched. Thus the event.srcElement can be the <div> child of the select <li> or it could be the <div> for the text label or the accessory-image on the right.
In order to access the list-item’s data-listitem-index attribute and the label of the list item you should use the following snippets
//get the data-listitem-index of selected list-item $(event.srcElement).closest('li[data-listitem-index]').attr('data-listitem-index') //get the label of the selected list-item $('#m1-list-text2',$(event.srcElement).closest('li[data-listitem-index]')).text()
Lastly I found a bug if the ‘>’ disclosure image is clicked as it is not inheriting the list-item’s action and firing it correctly. The dev team knows of this issue and it will be resolved in next release.
July 6, 2012 at 12:15 pm #327959
support-michaelKeymasterall: octavio and I are working to update the custom-list example for 2.0 to fix a bug. We will post an update late today (fri) or this weekend as time permits.
July 6, 2012 at 12:50 pm #327961
Unknown AuthorParticipantExcellent! I appreciate all the hard work you and Octavio put in supporting the developer community!
-1TC
July 6, 2012 at 4:24 pm #327972
support-michaelKeymasterI updated the example a few mins ago for MobiOne 2.0. It also demonstrates accessing a selected list-item’s label as well as its index in the list.
See http://www.genuitec.com/support-genuitec/viewtopic.php?f=14&t=1858
July 18, 2012 at 6:26 pm #328327
geebeeMemberGreat example. Two things I’ve noticed:
– When I create a list of 15 items which is more than the page height, only half of the last item (Item-15) shows. Even if you scroll up, once you let go, it resets itself so that only half of the individual list area shows.
– When I go to the detail of item 14 and then go back to the list page, the list position resets itself to the top, instead of showing items 6 through 15 (half of 15, actually) which were displayed before I selected to view the detail.I know the second question of the list repositioning itself has been tossed around before, so I apologize that I can’t pinpoint the exact thread.
If you could comment on this it would be appreciated.
July 18, 2012 at 7:59 pm #328331
Unknown AuthorParticipantI tried this on my own app (“My Comic Books” on iTunes). I created a list of 21 items and it works just fine. I suspect that you’re not increasing the size of your panel dynamically. Take another look at the code example – right at the end you increase the size of the panel the list is in
July 18, 2012 at 10:20 pm #328334
geebeeMemberI didn’t change anything – I’m running the stock demo as downloaded and opened in MobiOne.
July 19, 2012 at 12:39 pm #328348
support-octavioMemberHi geebee,
You need to increase the content area height off the transparent panel in the example. Note in the next image the buttons – and + to increase or decrease it or you can set the customized value in the content area height property
September 4, 2012 at 2:35 pm #329837
Max87MemberHi guys,
I downloaded this example and when I open it, it works fine.
But I have a problem – when I customize the code, my custom list is not generated properly. My workaround is that I add this mobi files and asociated _custom.js to my project – it’s not so good, but it works for now.
I have another problem – I add this example to my project, generate random number of list item, when I touch the list item, it’s supposed to transfer me to landing screen – instead od landing screen, main screen is displayed. I have onClick action set to go to landing page in Design Center(assigned main.js action is action8), but it’s not working. I looked in main.js(generated, not custom) and there is action0 set to go to main screen. If I overwrite this action0 and set it to landing screen, it’s working fine. I don’t understand this behavior, because my list item has set action, this action is generated in main.js as action8, but when I click on list item, it trigers action0.
Please help me to solve this, it’s very important for my app.
Thank you.October 3, 2012 at 7:17 pm #330762
support-octavioMemberHi Max,
We have a fix for this. It will be avail in next MobiOne version that we plan to release soon.
October 4, 2012 at 10:05 am #330781
Unknown AuthorParticipantI’ve had this same problem. If you’re near the end of your development, just compile a version with the current, working, action numbers and upload that to Apple. That’s what I did.
October 4, 2012 at 10:11 am #330783
Max87MemberHi guys,
2 Octavio: That’s great news, that you have fix for this
2 1thinchip: thanks for suggestion, my project isn’t in the RTM state 🙂October 10, 2012 at 1:40 pm #331055
Max87MemberHi guys,
I’m trying to show select from database into custom list and write results from that select.
My problem is, when I call Select function from Test center’s console and then buildList function, almost everythng goes ok.
But If I want to run this two functions by clicking on button, select function runs, but buildList function removes first list item and doesn’t create all others.
Second problem I have is Panel height. Panel is scrollable, but I can’t get it working, when I call this functions by button. When I call it by TC console, panel height is OK.
Can you guys please look at it? Can I send you my project?
Thank you.edit: I solved it! I call B function(build list) inside A function(select from dtb) with 5s timeout and it’s working!
edit2: I have small issue with panel height. When I first call the A function to select from dtb, it calls B function, which generates custom list and sets panel height. That’s ok.
But when I ran another function to filter dtb selection by date, A and B functions are called fine, but panel height is not updated – it’s “computed” – variable has new value, but screen is not updated with that value…
I use: panelHt = 30 + itemCnt * 44;
$(‘#m1-main_screen-panel1-scroller’).attr(‘data-layout-content-height’, panelHt);
phoneui.preprocessDOM(‘#m1-main_screen_main-panel1’);
Can you help me with this please?
Thanks -
AuthorPosts