Using the entire screen for just one column is not something universally desirable, nor in our experience, common, but you can achieve it if you like with the methods explained.
As far as hamburger menus, see AdaptiveMenu for a more advanced approach, otherwise, just use Menu but specify only an icon as the title.
Finally, on the crash, we definitely do not have a problem with just the combination of DataSource and setValue() (thousands of autotests and examples rely on this pair and are working). From the stack trace, you might have an invalid field name somewhere (they must be JS identifiers - no dots). Outside of that, we will need to wait until you can show how it can be reproduced.
Announcement
Collapse
No announcement yet.
X
-
Thank you for the quick reply. I'm actually not looking to hide columns on mobile, I just want them to be automatically sized so that horizontal scrolling can be done column by column on small screens. Basically, grids designed for Desktop do not look mobile native or mobile friendly at all (unlike Forms, drop downs, menus, etc).
On the same note, it would be nice for menu toolbars to automatically convert to hamburger menus on mobile.
An issue I'm facing with a MenuBar that contains 5+ Menus is that it doesn't fit on the mobile screen and requires horizontal scrolling. Moreover, if I scroll to the right and click on the right most menu (on any menu that was hidden before horizontal scrolling), its menu options don't appear at all, only the "DONE" button is shown.
That's how the menuBar layout is handled:
Code:VStack.create({ID:"menuStack",top:23,width:"100%",members:[menuBar]}); //where menuBar contains many Menu items, each Menu item has a few menu options.
JS error -I have dataSource properties set to valid data sources, not to empty strings. The code was working on 11.1 and I started getting those JS errors after upgrading to 13.0 eval. It's happening in multiple places, so far the only thing in common for all those forms is that they all have a dataSource and setValue called on form items. autoDraw doesn't seem to have any impact. The errors I'm getting is when the forms are shown for the first time, I'm not able to isolate it any further so far.
Basically, I have a form with a dataSource, and use a JS function to open a isc.Window that contains that form. In that function I call setValue on any form item and that results in the error above.
Leave a comment:
-
You can control column visibility declaratively via listGridField.hideOnPhone, hideOnTablet and visibleWhen, or programmatically via showIf and of course simple conditionals on Browser.isTouch and other mode flags.
ListGrids that overflow horizontally support scrolling via swipe.
About that JS error, your post says that you set the dataSource property to a blank string (“”). Was that a typo? A blank string is not a valid setting, and never has been.
Leave a comment:
-
v13 questions/issues
Hi,
I'm evaluation 11.1 to 13.0 upgrade, mostly to make UIs more mobile friendly.
I can't seem to find any mobile specific optimizations for ListGrids. For example, is it possible to do horizontal scrolling column by column (or by a predefined number of columns)? Or something that would override column sizing on mobile similar to what the linearOnMobile is doing for Forms?
Also, there seems to be an issue with setValue() on DynamicForms that have dataSource assigned to them.
if DynamicForm has dataSource:"" set and form.setValue("fieldName", value) is called from a separate javascript function, I'm getting the following in both Chrome and Firefox:
Uncaught TypeError: _11.getField is not a function
isc_Canvas_getRuleContextPathDetails https://myapp/isomorphic/system/modu...C_Core.js:4229
isc_Canvas__provideRuleContext https://myapp/isomorphic/system/modu...C_Core.js:4241
isc_Canvas_provideRuleContext https://myapp/isomorphic/system/modu...C_Core.js:4234
isc_DynamicForm__saveValue https://myapp/isomorphic/system/modu...C_Forms.js:529
isc_DynamicForm__saveAtomicValue https://myapp/isomorphic/system/modu...C_Forms.js:526
isc_DynamicForm_saveItemValue https://myapp/isomorphic/system/modu...C_Forms.js:525
isc_FormItem_saveValue https://myapp/isomorphic/system/modu..._Forms.js:1287
isc_c_Class_invokeSuper https://myapp/isomorphic/system/modules/ISC_Core.js:302
isc_c_Class_Super https://myapp/isomorphic/system/modules/ISC_Core.js:294
isc_TimeItem_saveValue https://myapp/isomorphic/system/modu..._Forms.js:2909
isc_FormItem_setValue https://myapp/isomorphic/system/modu..._Forms.js:1297
isc_c_Class_invokeSuper https://myapp/isomorphic/system/modules/ISC_Core.js:302
isc_c_Class_Super https://myapp/isomorphic/system/modules/ISC_Core.js:294
isc_TimeItem_setValue https://myapp/isomorphic/system/modu..._Forms.js:2914
isc_DynamicForm_setValue https://myapp/isomorphic/system/modu...C_Forms.js:525
showChartForm --- that's the function that calls form.setValue()
anonymous https://myapp/isomorphic/system/modules/ISC_Core.js line 82 > Function:3
isc_StatefulCanvas_handleActivate https://myapp/isomorphic/system/modu...ndation.js:235
isc_StatefulCanvas_handleClick https://myapp/isomorphic/system/modu...ndation.js:236
isc_c_EventHandler_bubbleEvent https://myapp/isomorphic/system/modu...C_Core.js:2492
isc_c_EventHandler_handleClick https://myapp/isomorphic/system/modu...C_Core.js:2303
isc_c_EventHandler__handleMouseUp https://myapp/isomorphic/system/modu...C_Core.js:2285
isc_c_EventHandler_handleMouseUp https://myapp/isomorphic/system/modu...C_Core.js:2276
isc_c_EventHandler_dispatch https://myapp/isomorphic/system/modu...C_Core.js:2591
anonymous https://myapp/isomorphic/system/modules/ISC_Core.js line 82 > Function:3
isc_c_EventHandler_captureEvent https://myapp/isomorphic/system/modu...C_Core.js:2594
isc_c_EventHandler_captureEvents https://myapp/isomorphic/system/modu...C_Core.js:2599
<anonymous> https://myapp/isomorphic/system/modu...C_Core.js:2739
ISC_Core.js:4229:535
I'm on SmartClient_v130p_2022-01-10_Evaluation.
This definitely used to work on all SmartClient versions from 8 till 11.1 at least.
thank you.Tags: None
Leave a comment: