https://www.lianja.com/doc/index.php?title=Special:NewPages&feed=atom&hideredirs=1&limit=50&offset=&namespace=0&username=&tagfilter=Lianjapedia - New pages [en]2024-03-28T09:17:15ZFrom LianjapediaMediaWiki 1.23.15https://www.lianja.com/doc/index.php/Python_built-in_Lianja/VFP_functionsPython built-in Lianja/VFP functions2024-03-03T03:32:38Z<p>Barrymavin: /* See Also */</p>
<hr />
<div>{{DISPLAYTITLE:Python built-in LianjaScript functions}}<br />
==Overview==<br />
Python is embedded inside Lianja. You do not need to install it separately. If you have an existing Python installation the embedded Python inside Lianja will have no effect on it.<br />
<br />
The LianjaScript functions below are built into Lianja Python. <br />
<br />
Note that the function names are case-sensitive although in some cases more than one format is supported.<br />
<br />
==See Also==<br />
[https://www.lianja.com/community/entry.php?29-HOWTO-Integrate-Python-and-LianjaScript LianjaScript and Python integration], [[JavaScript built-in Lianja/VFP functions|JavaScript built-in LianjaScript functions]], [[Key-Value Store|Lianja/KVS (Key-Value Store)]], [[OData URIs]], [[Python Server Pages]], [[Working with JSON and JQL]], [[:Category:OData_Functions|Working with OData]], [[Lianja_Methods|Working with the Lianja System Object]]<br />
<br />
==Functions==<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Function<br />
!width="20%"|Arguments<br />
!width="60%"|Description<br />
|-<br />
|valign="top"|createObject()||valign="top"|[objectname as string,]<br>classname as string||valign="top"|Creates a Lianja object. See [[:Category:Framework_Classes|Working with Framework Classes]]<br />
|-<br />
|valign="top"|die()||valign="top"|message as string||valign="top"|Closes all open files and ends the Lianja process and returns the specified message to the operating system or calling script.<br />
|-<br />
|valign="top"|echo()||valign="top"|expression as string &#124; expression as numeric ||valign="top"|Evaluates the expression and displays the results on the same line. A string expression can include 'C' style escapes: \t (tab), \n (new line), \r (carriage return).<br />
|-<br />
|valign="top"|filetostr()||valign="top"|filename as string||valign="top"|Reads the specified filename and returns its contents as text.<br />
|-<br />
|valign="top"|getparameter()||valign="top"|parameter as string,<br>default as string||valign="top"|Returns the value of a parameter passed to a .pysp script or returns the default value if the parameter was not passed.<br />
|-<br />
|valign="top"|getParameter()||valign="top"|parameter as string,<br>default as string||valign="top"|Returns the value of a parameter passed to a .pysp script or returns the default value if the parameter was not passed.<br />
|-<br />
|valign="top"|kvs_add()||valign="top"|kvsid as numeric,<br>key as string &#124; key as numeric,<br>value as objectname &#124; value as arrayname &#124; value as expression||valign="top"|Add key/value for the specified key. If the value is an object or array it is automatically JSON encoded.<br>To load the contents of a text file, you can use the filetostr() function which is built-in in Lianja/Python.<br />
<pre><br />
kvs_add(k, key, filetostr("filename.txt") )<br />
</pre><br />
|-<br />
|valign="top"|kvs_clear()||valign="top"|kvsid as numeric||valign="top"|Remove all key/value pairs from the store.<br />
|-<br />
|valign="top"|kvs_close()||valign="top"|kvsid as numeric||valign="top"|Close the KVS.<br />
|-<br />
|valign="top"|kvs_contains()||valign="top"|kvsid as numeric,<br>key as string &#124; key as numeric||valign="top"|Returns true if key contained in the store.<br />
|-<br />
|valign="top"|kvs_count()||valign="top"|kvsid as numeric||valign="top"|Returns count of number of key/value pairs in the store.<br />
|-<br />
|valign="top"|kvs_create()||valign="top"|kvsfilename as string,<br>keylen as numeric<br>[, enablelogging as logical]||valign="top"|Create a new KVS with keys of keylen length. Returns a numeric kvsid.<br />
|-<br />
|valign="top"|kvs_generate()||valign="top"|kvsid as numeric,<br>count as numeric||valign="top"|Generate count new key/value pairs.<br />
|-<br />
|valign="top"|kvs_get()||valign="top"|kvsid as numeric,<br>key as string &#124; key as numeric<br>[, default as string<br>[, membername as string]]||valign="top"|Fetch value for the specified key. If the value is an object then membername specifies a member (property) to return.<br />
|-<br />
|valign="top"|kvs_getall()||valign="top"|kvsid as numeric<br>[, key as string &#124; keyPattern as string]||valign="top"|Fetch all keys/values for the specified key. keyPattern may end in * to match wildcard keys. Returns a dynarray of arrays.<br />
|-<br />
|valign="top"|kvs_getAll()||valign="top"|kvsid as numeric<br>[, key as string &#124; keyPattern as string]||valign="top"|Fetch all keys/values for the specified key. keyPattern may end in * to match wildcard keys. Returns a dynarray of arrays.<br />
|-<br />
|valign="top"|kvs_getrange()||valign="top"|kvsid as numeric,<br>offset as numeric,<br>count as numeric||valign="top"|Fetch a range of key/value pairs (offset starts at 1). Returns an array of two elements, key and value.<br />
|-<br />
|valign="top"|kvs_getRange()||valign="top"|kvsid as numeric,<br>offset as numeric,<br>count as numeric||valign="top"|Fetch a range of key/value pairs (offset starts at 1). Returns an array of two elements, key and value.<br />
|-<br />
|valign="top"|kvs_info()||valign="top"|kvsid as numeric||valign="top"|Displays information about the specified KVS file.<br />
|-<br />
|valign="top"|kvs_isvalid()||valign="top"|kvsid as numeric||valign="top"|Check validity of the given ksvid.<br />
|-<br />
|valign="top"|kvs_keys()||valign="top"|kvsid as numeric<br>[, key as string &#124; keyPattern as string]||valign="top"|Fetch all keys for the specified key. keyPattern may end in * to match wildcard keys.<br />
|-<br />
|valign="top"|kvs_list()||valign="top"|kvsid as numeric||valign="top"|List the key/values in the store to the console (useful during development for debugging).<br />
|-<br />
|valign="top"|kvs_listlog()||valign="top"|kvsid as numeric||valign="top"|List binary transaction log associated with the store to the console (useful during development for debugging).<br />
|-<br />
|valign="top"|kvs_listLog()||valign="top"|kvsid as numeric||valign="top"|List binary transaction log associated with the store to the console (useful during development for debugging).<br />
|-<br />
|valign="top"|kvs_loadfromfile()||valign="top"|kvsid as numeric,<br>filename as string||valign="top"|Load key/value pairs from the specified file.<br />
|-<br />
|valign="top"|kvs_loadFromFile()||valign="top"|kvsid as numeric,<br>filename as string||valign="top"|Load key/value pairs from the specified file.<br />
|-<br />
|valign="top"|kvs_max()||valign="top"|kvsid as numeric||valign="top"|Returns max key.<br />
|-<br />
|valign="top"|kvs_min()||valign="top"|kvsid as numeric||valign="top"|Returns min key.<br />
|-<br />
|valign="top"|kvs_next()||valign="top"|kvsid as numeric||valign="top"|Position on next key/value pair returns an array of two elements: key and value.<br />
|-<br />
|valign="top"|kvs_open()||valign="top"|kvsfilename as string<br>[, shared as logical]||valign="top"|Open an existing KVS. shared allows the KVS to be opened shared/exclusive.<br />
|-<br />
|valign="top"|kvs_rebuild()||valign="top"|filename as string||valign="top"|Rebuild the KVS file from the binary transaction log.<br />
|-<br />
|valign="top"|kvs_remove()||valign="top"|kvsid as numeric,<br>key as string &#124; key as numeric||valign="top"|Remove the specified key.<br />
|-<br />
|valign="top"|kvs_removefirst()||valign="top"|kvsid as numeric||valign="top"|Use for queue. Returns an array of two elements: key and value.<br />
|-<br />
|valign="top"|kvs_removeFirst()||valign="top"|kvsid as numeric||valign="top"|Use for queue. Returns an array of two elements: key and value.<br />
|-<br />
|valign="top"|kvs_removelast()||valign="top"|kvsid as numeric||valign="top"|Use for stack. Returns an array of two elements: key and value.<br />
|-<br />
|valign="top"|kvs_removeLast()||valign="top"|kvsid as numeric||valign="top"|Use for stack. Returns an array of two elements: key and value.<br />
|-<br />
|valign="top"|kvs_removerange()||valign="top"|kvsid as numeric,<br>offset as numeric,<br>count as numeric||valign="top"|Fetch a range of key/value pairs (offset starts at 1).<br />
|-<br />
|valign="top"|kvs_removeRange()||valign="top"|kvsid as numeric,<br>offset as numeric,<br>count as numeric||valign="top"|Fetch a range of key/value pairs (offset starts at 1).<br />
|-<br />
|valign="top"|kvs_rewind()||valign="top"|kvsid as numeric||valign="top"|Position on first key/value pair. Returns an array of two elements: key and value.<br />
|-<br />
|valign="top"|kvs_savetofile()||valign="top"|kvsid as numeric,<br>txtfilename as string<br>[, upgrade as logical]||valign="top"|Save key/value pairs to the specified file.<br />
|-<br />
|valign="top"|kvs_saveToFile()||valign="top"|kvsid as numeric,<br>txtfilename as string<br>[, upgrade as logical]||valign="top"|Save key/value pairs to the specified file.<br />
|-<br />
|valign="top"|kvs_set()||valign="top"|kvsid as numeric,<br>key as string &#124; key as numeric,<br>value as objectname &#124; value as arrayname &#124; value as expression||valign="top"|Add/update key/value for the specified key. If the value is an object or array, it is automatically JSON encoded.<br />
|-<br />
|valign="top"|kvs_update()||valign="top"|kvsid as numeric,<br>key as string &#124; key as numeric,<br>value as objectname &#124; value as arrayname &#124; value as expression||valign="top"|Update value for the specified key. If the value is an object or array, it is automatically JSON encoded.<br />
|-<br />
|valign="top"|kvs_values()||valign="top"|kvsid as numeric<br>[, key as string &#124; keyPattern as string]||valign="top"|Fetch all values for the specified key. keyPattern may end in * to match wildcard keys.<br />
|-<br />
|valign="top"|move_uploaded_file()||valign="top"|sourcefile as string,<br>targetfile as string||valign="top"|Moves and uploaded sourcefile to the location specified in targetfile.<br />
|-<br />
|valign="top"|odata_Create()||valign="top"|uri as string,<br>jsondatastring as string||valign="top"|Creates a record.<br />
|-<br />
|valign="top"|odata_Delete()||valign="top"|uri as string,<br>jsondatastring as string||valign="top"|Deletes one or more records.<br />
|-<br />
|valign="top"|odata_Read()||valign="top"|uri as string<br>[, filename as string]||valign="top"|Reads one or more records, optionally saving the returned JSON data to the specified filename.<br />
|-<br />
|valign="top"|odata_Update()||valign="top"|uri as string,<br>jsondatastring as string||valign="top"|Updates one or more records.<br />
|-<br />
|valign="top"|openDatabase()||valign="top"|database as string||valign="top"|Opens the specified Lianja database.<br />
|-<br />
|valign="top"|strtofile()||valign="top"|text as string,<br>filename as string<br>[, append as int]||valign="top"|Writes the specified text out to the specified filename and returns the number of bytes written as a numeric. If append is omitted or < 1, the contents of filename are overwritten; > 0 the text is appended to the contents. <br />
|-<br />
|valign="top"|unlink()||valign="top"|filename as string||valign="top"|Deletes the specified filename.<br />
|-<br />
|}<br />
<br />
==Desktop Only Functions==<br />
The following LianjaScript functions are built into Lianja Python for desktop Apps only.<br />
<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Function<br />
!width="20%"|Arguments<br />
!width="60%"|Description<br />
|-<br />
|valign="top"|bindEvent()||valign="top"|obj as object,<br>eventname as string,<br>delegate as string||valign="top"|Binds a delegate to an event for an object.<br />
|-<br />
|valign="top"|clear_events()||valign="top"|none||valign="top"|Stops event processing started with read_events().<br />
|-<br />
|valign="top"|debug()||valign="top"|text as string||valign="top"|Writes the specified text to the debug file ([[SET DEBUG|set debug on]]).<br />
|-<br />
|valign="top"|debugout()||valign="top"|text as string||valign="top"|Writes the specified text to the [[Troubleshooter Debugout Tab]].<br />
|-<br />
|valign="top"|inputBox()||valign="top"|[prompt as string]||valign="top"|Display a box prompting for input. The prompt can optionally be specified; the default prompt is 'Enter value:'<br />
|-<br />
|valign="top"|messageBox()||valign="top"|message as string<br>[, options as numeric<br>[, title as string]]||valign="top"|Display a message in a box with an optional title.<br>See [[MESSAGEBOX()]] for the numeric options to customize the buttons and icon and for the return values.<br />
|-<br />
|valign="top"|read_events()||valign="top"|none||valign="top"|Suspends execution until a clear_events() is executed.<br />
|-<br />
|}<br />
<br />
<br />
[[Category:Lianja Cloud Server]]<br />
[[Category:Python Scripting]]</div>Barrymavinhttps://www.lianja.com/doc/index.php/SignatureView_OptionsSignatureView Options2024-02-23T16:23:04Z<p>Yvonne.milne: </p>
<hr />
<div>==See Also==<br />
[[SignatureView Section Attributes]]<br />
<br />
==Overview==<br />
SignatureView sections are used for signature capture in touch enabled web/mobile Apps.<br />
<br />
[[{{ns:file}}:signatureview_browser2.png|800px|left|border|link={{filepath:signatureview_browser2.png}}|example_signatureview]]<br />
<br clear=all><br />
<br />
===example_signatureview App===<br />
The example_signatureview App is included in the App Builder distribution to demonstrate the use of a SignatureView section. It is shown running in a web browser above.<br />
<br />
And here in the App Builder:<br />
<br />
[[{{ns:file}}:signatureview_appb.png|800px|left|border|link={{filepath:signatureview_appb.png}}|example_signatureview]]<br />
<br clear=all><br />
<br />
Note that SignatureView sections can only be used in touch enabled web/mobile Apps. [[Deploying_to_Local_Directory#Preview_live_in_browser|Preview live in browser]] to display the signature panel and try it.<br />
<br />
The example_signatureview App has [[TabView Sections|TabView Section]] with three tabs:<br />
<br />
* Employee: [[Form_Section_Attributes|Form Section]] with employee details from the southwind!employees table<br />
* Employee Photo: [[Form_Section_Attributes|Form Section]] with an [[Image_Gadget_Attributes|Image gadget]] showing the southwind!employees.photo (blob) field<br />
* Employee Signature: [[SignatureView_Section_Attributes|SignatureView section]] to display and capture the southwind!signatures.image (blob) field<br />
<br />
====Signatures Table====<br />
The example_signatureview App uses the southwind!signatures table. Its structure is listed below. Your table can have different field names and fewer/additional fields, but must include a unique id field and a blob field to store the signature image.<br />
<br />
{| class="wikitable" width="100%"<br />
!width="5%"|Field<br />
!width="10%"|Field Name<br />
!width="10%"|Type<br />
!width="5%"|Width<br />
!width="70%"|Notes<br />
|-<br />
|valign="top"|1||valign="top"|ID||valign="top"|Character||valign="top"|36||Required unique key field.<br />
|- <br />
|valign="top"|3||valign="top"|CREATED||valign="top"|DateTime||valign="top"|8||Optional creation datetime field.<br />
|- <br />
|valign="top"|4||valign="top"|MODIFIED||valign="top"|DateTime||valign="top"|8||Optional modified datetime field.<br />
|-<br />
|valign="top"|5||valign="top"|IMAGE||valign="top"|Blob||valign="top"|8||Required field to store the signature image.<br />
|- <br />
|}<br />
<br />
===Using a Signatureview Section===<br />
In the browser, touch or click the '''Edit''' icon and the panel will be enabled. <br />
<br />
'''Save''', '''Cancel''' and '''Clear''' icons will now be shown.<br />
<br />
Draw the signature in the panel and Save/Cancel/Clear as required.<br />
<br />
[[{{ns:file}}:signatureview_browser.png|800px|left|border|link={{filepath:signatureview_browser.png}}|example_signatureview]]<br />
<br clear=all><br />
<br />
==Attributes==<br />
Signatureview sections have the following section specific attributes.<br />
<br />
===Database===<br />
The name of the database.<br />
<br />
For the example_signatureview App, this is:<br />
<br />
<pre>southwind</pre><br />
<br />
===Table===<br />
The name of the database.<br />
<br />
For the example_signatureview App, this is:<br />
<br />
<pre>signatures</pre><br />
<br />
===Filter===<br />
An optional logical filter expression, not used in the example_signatureview App.<br />
<br />
===Image column===<br />
The name of the blob column that will be used to store the signatures.<br />
<br />
For the example_signatureview App, this is:<br />
<br />
<pre>image</pre><br />
<br />
===Keyfield===<br />
The name of the unique id column that the keyfield expression will be inserted into when a signature image is added.<br />
<br />
For the example_signatureview App, this is:<br />
<br />
<pre>id</pre><br />
<br />
===Keyfield expression===<br />
The keyfield value that will be inserted when a signature image is added.<br />
<br />
For the example_signatureview App, this is:<br />
<br />
<pre>{strzero( {{EMPLOYEES.EMPLOYEEID}} ) }</pre><br />
<br />
enabling the SignatureView section to be related to the employee details (employee table) Form section by the unique signatures.id / employees.employeeid fields.<br />
<br />
[[Category:Attribute Categories]]<br />
[[Category:Sections]]<br />
[[Category:Lianja v9.5]]</div>Yvonne.milnehttps://www.lianja.com/doc/index.php/SignatureView_Section_AttributesSignatureView Section Attributes2024-02-23T16:21:44Z<p>Yvonne.milne: /* UI Presentation Rules */</p>
<hr />
<div>{{DISPLAYTITLE:SignatureView Section}}<br />
=Overview=<br />
SignatureView Sections are used for signature capture in touch enabled web/mobile Apps.<br />
<br />
[[{{ns:file}}:signatureview_browser2.png|800px|left|border|link={{filepath:signatureview_browser2.png}}|example_signatureview]]<br />
<br clear=all><br />
<br />
You build Apps in Lianja App Builder visually using the [[:Category:Page_Builder|Page Builder]].<br />
<br />
If you have not yet done so please read [[Understanding_the_Lianja_App_Architecture|Understanding the Lianja Architecture]] and also [[Lianja_is_all_about_ART|Understanding ART]] to better understand this article.<br />
<br />
An App consists of pages. Pages are made up of Sections. Form sections are made up of FormItems. We call these collectively "UI Elements" or "Visual Elements".<br />
<br />
==Setting Attributes Declaratively==<br />
<br />
You adjust the appearance and behavior of each UI Element in the '''Attributes''' Tab of the [[:Category:App_Inspector|App Inspector]].<br />
<br />
[[{{ns:file}}:bm-attributes.png|800px|left|border|link={{filepath:bm-attributes.png}}|Attributes]]<br />
<br clear=all><br />
<br />
The attributes available consist of some common ones as well as some specific to the UI Element being inspected.<br />
<br />
==Getting and Setting Attributes Programmatically==<br />
The '''setAttribute(name, value)''' method can be used to set the value of an Attribute:<br />
<br />
<pre>Lianja.get("pageid.sectionid").setAttribute("title","Section1")</pre><br />
<br />
Note: on the desktop, the shortened form '''setAttr(name,value)''' is also available.<br />
<br />
The '''getAttribute(name)''' method can be used to get the value of an Attribute:<br />
<br />
<pre>cTitle = Lianja.get("pageid.sectionid").getAttribute("title")</pre><br />
<br />
Note: on the desktop, the shortened form '''getAttr(name)''' is also available.<br />
<br />
=See Also=<br />
[[SignatureView Options]]<br />
<br />
Demo Apps (included in the Lianja App Builder distribution):<br />
* SignatureView (example_signatureview)<br />
<br />
=Attributes=<br />
==Details==<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Attribute<br />
!width="45%"|Description<br />
!width="25%"|Name<br />
!width="10%"|Type<br />
|-<br />
|valign="top"|[[Details Attributes#Name|Name]]||The name for this section (unique to the page)<br />
|valign="top"|id||valign="top"|Character<br />
|-<br />
|valign="top"|[[Details Attributes#Full name|Full name]]||The full name for this section including its parent page, e.g. page1.section1<br />
|valign="top"|fullid||valign="top"|Character<br />
|-<br />
|valign="top"|[[Details Attributes#Alias name|Alias name]]||The alias name for this section<br />
|valign="top"|aliasid||Character<br />
|-<br />
|valign="top"|[[Dashboard Sections|Dashboard group]]||The dashboard section that this section belongs to.<br />
|valign="top"|horizontalgroup||valign="top"|Character<br />
|-<br />
|valign="top"|[[Dashboard Sections|Horizontal stretch]]||The horizontal % stretch factor that this section should occupy.<br />
|valign="top"|horizontalgroupstretchfactor||valign="top"|Character<br />
|-<br />
|valign="top"|[[Dashboard Sections|Vertical stretch]]||The vertical % stretch factor that this section should occupy.<br />
|valign="top"|verticalgroupstretchfactor||valign="top"|Character<br />
|-<br />
|valign="top"|[[Details Attributes#App Doc|App Doc]]||The App Doc file for this section. This will be included in the [[App Doc]] when it is generated.<br />
|valign="top"|appdoc||valign="top"|Character<br />
|-<br />
|valign="top"|[[Details Attributes#MetaData version|MetaData version]]||The MetaData version number. You can set this in the setupUI hook to prevent MetaData being applied multiple times.<br />
|valign="top"|metaDataVersion||valign="top"|Int<br />
|-<br />
|valign="top"|[[MetaTypes|Meta types]]||A comma separated list of metatype names<br />
|valign="top"|metatypes||valign="top"|Character<br />
|-<br />
|valign="top"|[[Details Attributes#Custom Props|Custom Props]]||A ';' separated list of custom prop key pairs, e.g. name=barry;company=lianja<br />
|valign="top"|customprops||valign="top"|Character<br />
|-<br />
|valign="top"|[[Details Attributes#Type|Type]]||The type of section: panelview (readonly)<br />
|valign="top"|type||valign="top"|Character<br />
|-<br />
|valign="top"|[[Details Attributes#Caption|Caption]]||The section caption displayed in the section header<br />
|valign="top"|title||valign="top"|Character<br />
|-<br />
|valign="top"|[[Details Attributes#Height|Height]]||The section height<br />
|valign="top"|height||valign="top"|Character<br />
|-<br />
|valign="top"|[[Details Attributes#Fixed height|Fixed height]]||Fix the section height (True &#124; False)<br />
|valign="top"|fixedHeight||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Details Attributes#Auto layout percent|Auto layout percent]]||Auto layout percentage of page size. If set to 0, then all sections on a page are resized to an equal height.<br />
|valign="top"|autoLayoutPercentage||valign="top"|Int<br />
|-<br />
|}<br />
<br />
==Appearance==<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Attribute<br />
!width="45%"|Description<br />
!width="25%"|Name<br />
!width="10%"|Type<br />
|-<br />
|valign="top"|[[Section Appearance#Margin|Margin]]||Margin size around the section<br />
|valign="top"|margin||valign="top"|Int<br />
|-<br />
|valign="top"|[[Section Appearance#Add spacer at bottom|Add spacer at bottom]]||Add spacer at bottom of section (True &#124; False)<br />
|valign="top"|spacerVisible||valign="top"|Boolean<br />
|-<br />
|}<br />
<br />
==Header==<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Attribute<br />
!width="45%"|Description<br />
!width="25%"|Name<br />
!width="10%"|Type<br />
|-<br />
|valign="top"|[[Section Header#Hide header|Hide header]]||Hide section header at runtime(True &#124; False)<br />
|valign="top"|hideHeaderAtRuntime||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Section Header#Hide actionbar|Hide actionbar]]||Hide actionbar when stacked section is activated at runtime<br>(True &#124; False)<br />
|valign="top"|hideActionBarAtRuntime||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Section Header#Header CSS style|Header CSS style]]||CSS style (separate attributes with ; or use app:/filename.css)<br />
|valign="top"|headerCssStyle||valign="top"|Character<br />
|-<br />
|valign="top"|[[Section Header#Header icon|Header icon]]||The image for the Header (png &#124; jpg &#124; gif).<br>Use app:/imagename.ext for app specific images.<br />
|valign="top"|headerIcon||valign="top"|Character<br />
|-<br />
|valign="top"|[[Gradients#Gradient colors|Gradient colors]]||Render the Header background color as a gradient (True &#124; False)<br />
|valign="top"|headerGradient||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Gradients#Gradient type|Gradient type]]||Specify the gradient type<br />
|valign="top"|headerGradientType||valign="top"|Int<br />
|-<br />
|valign="top"|[[Gradients#Gradient start color|Gradient start color]]||Gradient start color<br />
|valign="top"|headerFromColor||valign="top"|Character<br />
|-<br />
|valign="top"|[[Gradients#Gradient end color|Gradient end color]]||Gradient end color<br />
|valign="top"|headerToColor||valign="top"|Character<br />
|-<br />
|valign="top"|[[Section Header#Show Print button|Show Print button]]||Show Print button in the section header (True &#124; False)<br />
|valign="top"|showPrintButton||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Section Header#Show Edit button|Show Edit button]]||Show Edit button in the section header (True &#124; False)<br />
|valign="top"|showEditButton||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Section Header#Hide custom search icon|Hide custom search icon]]||Hide the custom search icon (True &#124; False)<br />
|valign="top"|hideCustomSearchIcon||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Section Header#Show Custom search dialog|Show Custom search dialog]]||Show custom search dialog when custom search icon clicked (True &#124; False)<br />
|valign="top"|showcustomsearchdialog||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Section Header#Show custom search dialog panel|Show custom search dialog panel]]||Show custom search dialog panel when custom search icon clicked<br>(True &#124; False)<br />
|valign="top"|showcustomsearchdialogpanel||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Section Header#Show info tips icon|Show info tips icon]]||Show the info tips icon in the section header (True &#124; False)<br />
|valign="top"|showInfoTipsIcon||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Section Header#Show help icon|Show help icon]]||Show the help icon in the section header (True &#124; False)<br />
|valign="top"|showHelpIcon||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Section Header#Help topic|Help topic]]||Help topic to display when the help icon is clicked in the section header<br />
|valign="top"|helpTopic||valign="top"|Character<br />
|-<br />
|}<br />
<br />
==Custom Header Style==<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Attribute<br />
!width="45%"|Description<br />
!width="25%"|Name<br />
!width="10%"|Type<br />
|-<br />
|valign="top"|[[Section Header#Use custom header style|Use custom header style]]||Use a custom header style (True &#124; False)<br />
|valign="top"|headercustomstyle||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Section Header#Header background color|Header background color]]||Header background color<br />
|valign="top"|headerbackcolor||valign="top"|Character<br />
|-<br />
|valign="top"|[[Section Header#Header foreground color|Header foreground color]]||Header foreground color<br />
|valign="top"|headerforecolor||valign="top"|Character<br />
|-<br />
|valign="top"|[[Section Header#Header bottom border|Header bottom border]]||Display the header bottom border (True &#124; False)<br />
|valign="top"|headerbottomborder||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Section Header#Header bottom border height|Header bottom border height]]||Height (in pixels) of the header bottom border (if displayed)<br />
|valign="top"|headerbottomborderheight||valign="top"|Int<br />
|-<br />
|valign="top"|[[Section Header#Header bottom border color|Header bottom border color]]||Header bottom border color<br />
|valign="top"|headerbottombordercolor||valign="top"|Character<br />
|-<br />
|valign="top"|[[Section Header#Show record count badge|Show record count badge]]||Show the record count badge in the section header (True &#124; False).<br />
|valign="top"|showreccount||valign="top"|Boolean<br />
|-<br />
|}<br />
<br />
==Visual Component Details==<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Attribute<br />
!width="45%"|Description<br />
!width="25%"|Name<br />
!width="10%"|Type<br />
|-<br />
|valign="top"|[[Visual_Components#Component_library_3|Component library]]||This specifies the Component library where the component will be saved.<br />
|valign="top"|componentlib||valign="top"|Character<br />
|-<br />
|valign="top"|[[Visual_Components#Component_name_2|Component name]]||Save as this component name whenever the section is saved.<br />
|valign="top"|componentname||valign="top"|Character<br />
|-<br />
|valign="top"|[[Visual_Components#Component_author_2|Component author]]||The author of this component.<br />
|valign="top"|componentauthor||valign="top"|Character<br />
|-<br />
|valign="top"|[[Visual_Components#Component_version_2|Component version]]||The version of this component.<br />
|valign="top"|componentversion||valign="top"|Character<br />
|-<br />
|valign="top"|[[Visual_Components#Component_description_2|Component description]]||The description of this component.<br />
|valign="top"|componentdescription||valign="top"|Character<br />
|-<br />
|valign="top"|[[Visual_Components#Component_permissions_2|Component permissions]]||The permissions required for this component in Lianja Cloud App Builder.<br />
|valign="top"|componentpermissions||valign="top"|Character<br />
|-<br />
|valign="top"|[[Visual_Components#Component_width_2|Component width]]||The width of this component when activated as a Form.<br />
|valign="top"|componentwidth||valign="top"|Int<br />
|-<br />
|valign="top"|[[Visual_Components#Component_height_2|Component height]]||The height of this component when activated as a Form.<br />
|valign="top"|componentheight||valign="top"|Int<br />
|-<br />
|}<br />
<br />
==SignatureView Options==<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Attribute<br />
!width="45%"|Description<br />
!width="25%"|Name<br />
!width="10%"|Type<br />
|-<br />
|valign="top"|[[SignatureView Options#Database|Database]]||The database for this section.<br />
|valign="top"|database||valign="top"|Character<br />
|-<br />
|valign="top"|[[SignatureView Options#Table|Table]]||The table for this section.<br />
|valign="top"|table||valign="top"|Character<br />
|-<br />
|valign="top"|[[SignatureView Options#Filter|Filter]]||The filter expression.<br />
|valign="top"|reportfilter||valign="top"|Character<br />
|-<br />
|valign="top"|[[SignatureView Options#Image column|Image column]]||The name of the column in the data-bound table containing signature images.<br />
|valign="top"|carouselimagecolumn||valign="top"|Character<br />
|-<br />
|valign="top"|[[SignatureView Options#Keyfield|Keyfield]]||The name of the column that the keyfield expression will be inserted into when a signature image is added.<br />
|valign="top"|carouselkeyfield||valign="top"|Character<br />
|-<br />
|valign="top"|[[SignatureView Options#Keyfield expression|Keyfield expression]]||The keyfield value that will be inserted when a signature image is added. Use {expr} to insert dynamic values.<br />
|valign="top"|carouselkeyfieldvalue||valign="top"|Character<br />
|-<br />
|}<br />
<br />
==Related Data==<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Attribute<br />
!width="45%"|Description<br />
!width="25%"|Name<br />
!width="10%"|Type<br />
|-<br />
|valign="top"|[[Related Data#Parent section name|Parent section name]]||Name of related parent section<br />
|valign="top"|parentid||valign="top"|Character<br />
|-<br />
|valign="top"|[[Related Data#Automatically relate|Automatically relate]]||Automatically relate the child section (True &#124; False). If this is unchecked then you need to manually relate it in the parentdatachanged delegate.<br />
|valign="top"|autoRelateChildSection||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Related Data#Parent key|Parent key]]||Parent key<br />
|valign="top"|parentKeyExpr||valign="top"|Character<br />
|-<br />
|valign="top"|[[Related Data#Child key|Child key]]||Child key<br />
|valign="top"|childKeyExpr||valign="top"|Character<br />
|-<br />
|}<br />
<br />
==Menu==<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Attribute<br />
!width="45%"|Description<br />
!width="25%"|Name<br />
!width="10%"|Type<br />
|-<br />
|valign="top"|[[Section Menus#Visible|Visible]]||Section menu visible (True &#124; False)<br />
|valign="top"|sectionMenuVisible||Boolean<br />
|-<br />
|valign="top"|[[Section Menus#Height|Height]]||Section menu height<br />
|valign="top"|sectionMenuHeight||Int<br />
|-<br />
|valign="top"|[[Section Menus#Background color|Background color]]||Section menu background color<br />
|valign="top"|sectionMenuBackColor||Character<br />
|-<br />
|valign="top"|[[Section Menus#Foreground color|Foreground color]]||Section menu foreground color<br />
|valign="top"|sectionMenuForeColor||Character<br />
|-<br />
|valign="top"|[[Section Menus#Custom menu panel|Custom menu panel]]||The .rsp or .jssp page used to create the custom menu panel. This page should generate dynamic HTML5/JavaScript.<br />
|valign="top"|customSectionMenuPanel||valign="top"|Character<br />
|-<br />
|valign="top"|[[Section Menus#Custom menu|Custom menu]]||Section menu contents<br />
|valign="top"|customSectionMenu||Character<br />
|-<br />
|valign="top"|[[Section Menus#Custom action|Custom action]]||Action to perform when a menu item is selected<br />
|valign="top"|sectionMenuAction||Character<br />
|-<br />
|}<br />
<br />
==Search Panel==<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Attribute<br />
!width="45%"|Description<br />
!width="25%"|Name<br />
!width="10%"|Type<br />
|-<br />
|valign="top"|[[Section Search Panels#Visible|Visible]]||Section search panel visible (True &#124; False)<br />
|valign="top"|searchPanelVisible||Boolean<br />
|-<br />
|valign="top"|[[Section Search Panels#Height|Height]]||Section search panel height<br />
|valign="top"|searchPanelHeight||Int<br />
|-<br />
|valign="top"|[[Section Search Panels#Background color|Background color]]||Section search panel background color<br />
|valign="top"|searchPanelBackColor||Character<br />
|-<br />
|valign="top"|[[Section Search Panels#Foreground color|Foreground color]]||Section search panel foreground color<br />
|valign="top"|searchPanelForeColor||Character<br />
|-<br />
|valign="top"|[[Section Search Panels#Auto create|Auto create]]||Automatically create search panel for all Section search fields<br />
|valign="top"|searchPanelAutoCreate||Boolean<br />
|-<br />
|valign="top"|[[Section Search Panels#Custom search panel|Custom search panel]]||The delegate used to create the custom search panel<br />
|valign="top"|searchPanelAction||Character<br />
|-<br />
|}<br />
<br />
==Subtitle==<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Attribute<br />
!width="45%"|Description<br />
!width="25%"|Name<br />
!width="10%"|Type<br />
|-<br />
|valign="top"|[[Section Subtitles#Visible|Visible]]||Section subtitle visible (True &#124; False)<br />
|valign="top"|subtitleVisible||Boolean<br />
|-<br />
|valign="top"|[[Section Subtitles#Caption|Caption]]||Section subtitle caption<br />
|valign="top"|subtitleCaption||Character<br />
|-<br />
|valign="top"|[[Section Subtitles#Height|Height]]||Section subtitle height<br />
|valign="top"|subtitleHeight||Int<br />
|-<br />
|valign="top"|[[Section Subtitles#Background color|Background color]]||Section subtitle background color<br />
|valign="top"|subtitleBackColor||Character<br />
|-<br />
|valign="top"|[[Section Subtitles#Foreground color|Foreground color]]||Section subtitle foreground color<br />
|valign="top"|subtitleForeColor||Character<br />
|-<br />
|valign="top"|[[Section Subtitles#Font|Font]]||Section subtitle font<br />
|valign="top"|subtitleFont||Int<br />
|-<br />
|valign="top"|[[Section Subtitles#CSS style|CSS style]]||CSS style<br />
|valign="top"|subtitleCssStyle||Character<br />
|-<br />
|}<br />
<br />
==Footer==<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Attribute<br />
!width="45%"|Description<br />
!width="25%"|Name<br />
!width="10%"|Type<br />
|-<br />
|valign="top"|[[Section Footers#Visible|Visible]]||Section footer visible (True &#124; False)<br />
|valign="top"|footerVisible||Boolean<br />
|-<br />
|valign="top"|[[Section Footers#Caption|Caption]]||Section footer caption<br />
|valign="top"|footerText||Character<br />
|-<br />
|valign="top"|[[Section Footers#Height|Height]]||Section footer height<br />
|valign="top"|footerHeight||Int<br />
|-<br />
|valign="top"|[[Section Footers#Background color|Background color]]||Section footer background color<br />
|valign="top"|footerBackColor||Character<br />
|-<br />
|valign="top"|[[Section Footers#Foreground color|Foreground color]]||Section footer foreground color<br />
|valign="top"|footerForeColor||Character<br />
|-<br />
|valign="top"|[[Section Footers#CSS style|CSS style]]||CSS style (separate attributes with ; or use app:/filename.css or specify CSS classes separated by spaces).<br />
|valign="top"|footercssstyle||valign="top"|Character<br />
|-<br />
|valign="top"|[[Section Footers#Custom menu|Custom menu]]||Section footer menu contents<br />
|valign="top"|customOptionsMenu||Character<br />
|-<br />
|valign="top"|[[Section Footers#Custom action|Custom action]]||Action to perform when a footer menu item is selected<br />
|valign="top"|customOptionsMenuAction||Character<br />
|-<br />
|valign="top"|[[Section Footers#Footer button CSS|Footer button CSS]]||Footer button CSS style<br />
|valign="top"|footerButtonCss||Character<br />
|-<br />
|valign="top"|[[Section Footers#Footer button width|Footer button width]]||Footer button width<br />
|valign="top"|footerButtonWidth||Int<br />
|-<br />
|}<br />
<br />
==Other Options==<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Attribute<br />
!width="45%"|Description<br />
!width="25%"|Name<br />
!width="10%"|Type<br />
|-<br />
|valign="top"|[[Accordion Behavior#Hide form NavBar|Hide form NavBar]]||Hide form Navigation Bar at runtime if this section is in an Accordion Stack (True &#124; False)<br />
|valign="top"|hideFormNavBar||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Instant_Search#Hide_SearchBox|Hide SearchBox]]||Hide the Page Header Instant Search box when this section is selected in an Accordion Stack (True &#124; False).<br />
|valign="top"|hidesearchbox||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Section Appearance#Collapsable|Collapsable]]||The section is collapsible at runtime (True &#124; False)<br />
|valign="top"|collapsableAtRuntime||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[Accordion Behavior#Exclude from accordion|Exclude from accordion]]||The section is excluded from accordion behavior at runtime (True &#124; False)<br />
|valign="top"|excludeAccordionAtRuntime||valign="top"|Boolean<br />
|-<br />
|}<br />
<br />
==Custom Delegates==<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Attribute<br />
!width="45%"|Description<br />
!width="25%"|Name<br />
!width="10%"|Type<br />
|-<br />
|valign="top"|[[Custom Delegates#Scripting Language|Scripting language]]||The default scripting language for custom code in this section (Inherit &#124; Recital &#124; Visual FoxPro &#124; Python &#124; JavaScript &#124; PHP)<br />
|valign="top"|scriptingLanguage||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Custom Library|Custom library]]||The filename of the library containing code for event handlers and custom procedures/functions<br />
|valign="top"|customLibrary||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Print|Print]]||The delegate for the Print event.<br>This is called when you click the 'Print' icon.<br />
|valign="top"|printAction||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Expanded|Expanded]]||The delegate for the Expanded event<br />
|valign="top"|expandedAction||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Collapsed|Collapsed]]||The delegate for the Collapsed event<br />
|valign="top"|collapsedAction||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Hotkey|Hotkey]]||The delegate for the Hotkey event.<br />
|valign="top"|hotkeyAction||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Init|Init]]||The delegate for the Init event<br />
|valign="top"|initAction||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Destroy|Destroy]]||The delegate for the Destroy event<br />
|valign="top"|destroyAction||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Load|Load]]||The delegate for the Load event<br />
|valign="top"|loadAction||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Ready|Ready]]||The delegate for the Ready event<br />
|valign="top"|readyAction||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Unload|Unload]]||The delegate for the Unload event<br />
|valign="top"|unloadAction||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Parent data changed|Parent data changed]]||The delegate for the ParentDataChanged event<br />
|valign="top"|parentDataChangedAction||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Data Producer|Data Producer]]||The delegate for the DataProducer (used in Web Components).<br />
|valign="top"|dataProducerAction||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Timer|Timer]]||The delegate for the Timer event<br />
|valign="top"|timerAction||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Timer interval|Timer interval]]||The timer interval in seconds that the Timer event will be called at runtime<br />
|valign="top"|timerInterval||valign="top"|Int<br />
|-<br />
|valign="top"|[[Custom Delegates#State Changed|State Changed]]||The delegate for the Statechanged event.<br />
|valign="top"|stateChangedAction||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Custom footer menu|Custom footer menu]]||The delegate for the footer menu event<br />
|valign="top"|customMenuAction||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Custom search command|Custom search command]]||The delegate for the search event<br />
|valign="top"|customSearch||valign="top"|Character<br />
|-<br />
|valign="top"|[[Custom Delegates#Custom section menu|Custom section menu]]||The delegate for the section menu event<br />
|valign="top"|customSectionMenuAction||valign="top"|Character<br />
|-<br />
|}<br />
<br />
==Permissions and Roles==<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Attribute<br />
!width="45%"|Description<br />
!width="25%"|Name<br />
!width="10%"|Type<br />
|-<br />
|valign="top"|[[Users and Roles|Create roles]]||A comma separated list of roles that can perform create operations on data in the section.<br />
|valign="top"|permcreate||valign="top"|Character<br />
|-<br />
|valign="top"|[[Users and Roles|Read roles]]||A comma separated list of roles that can read (and view) the section.<br />
|valign="top"|permRead||valign="top"|Character<br />
|-<br />
|valign="top"|[[Users and Roles|Update roles]]||A comma separated list of roles that can perform update operations on data in the section.<br />
|valign="top"|permUpdate||valign="top"|Character<br />
|-<br />
|valign="top"|[[Users and Roles|Delete roles]]||A comma separated list of roles that can perform delete operations on data in the section.<br />
|valign="top"|permDelete||valign="top"|Character<br />
|-<br />
|}<br />
<br />
==UI Presentation Rules==<br />
{| class="wikitable" width="100%"<br />
!width="20%"|Attribute<br />
!width="45%"|Description<br />
!width="25%"|Name<br />
!width="10%"|Type<br />
|-<br />
|valign="top"|[[UI Presentation Rules#Desktop|Desktop]]||Include this section in a Desktop client (True &#124; False).<br />
|valign="top"|desktopUI||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[UI Presentation Rules#Web|Web]]||Include this section in a Web client (True &#124; False).<br />
|valign="top"|webUI||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[UI Presentation Rules#Tablet|Tablet]]||Include this section in a Tablet client (True &#124; False).<br />
|valign="top"|tabletUI||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[UI Presentation Rules#Phone|Phone]]||Include this section in a Phone client (True &#124; False).<br />
|valign="top"|mobileUI||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[UI Presentation Rules#UI States|UI States]]||UI states that affect this section. Specify multiple states as a comma separated list.<br />
|valign="top"|state||valign="top"|Character<br />
|-<br />
|valign="top"|[[UI Presentation Rules#Initial UI state|Initial UI state]]||The initial UI state for this section. This will be applied to the section and all its fields and gadgets.<br />
|valign="top"|uiStateInit||valign="top"|Character<br />
|-<br />
|valign="top"|[[UI Presentation Rules#Readonly when|Readonly when]]||Section is readonly at runtime if specified expression evaluates to true.<br />
|valign="top"|readonlyWhen||valign="top"|Character<br />
|-<br />
|valign="top"|[[UI Presentation Rules#Visible when|Visible when]]||Section is visible at runtime if specified expression evaluates to true.<br />
|valign="top"|visibleWhen||valign="top"|Character<br />
|-<br />
|valign="top"|[[UI Presentation Rules#Display orientation|Display orientation]]||Display depending on mobile device orientation for Tablets and Phones. (Always &#124; Portrait &#124; Landscape)<br />
|valign="top"|displayOrientation||valign="top"|Character<br />
|-<br />
|valign="top"|[[UI Presentation Rules#Apply rules on change|Apply rules on change]]||Apply UI presentation rules (Visible when and Readonly when) when data is changed interactively or when navigating records (True &#124; False).<br />
|valign="top"|applyRulesOnChange||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[UI Presentation Rules#Apply rules on parent change|Apply rules on parent change]]||Apply section UI presentation rules (Visible when and Readonly when) when parent data is changed by navigating records (True &#124; False)<br />
|valign="top"|applyRulesOnParentChange||valign="top"|Boolean<br />
|-<br />
|valign="top"|[[UI Presentation Rules#Search Panel Responsive UI width breakpoint|Search Panel Responsive UI width breakpoint]]||The Search Panel responsive UI width breakpoint in Web/Mobile Apps.<br />
|valign="top"|searchpanelresponsivevisibility||valign="top"|Int<br />
|-<br />
|valign="top"|[[UI Presentation Rules#Menu Responsive UI width breakpoint|Menu Responsive UI width breakpoint]]||valign="top"|The Menu responsive UI width breakpoint in Web/Mobile Apps.<br />
|valign="top"|responsivemenuwidth||valign="top"|Int<br />
|-<br />
|valign="top"|[[UI Presentation Rules#Responsive UI width breakpoint|Responsive UI width breakpoint]]||The section responsive UI visibility width breakpoint in Web/Mobile Apps.<br />
|valign="top"|responsivewidthvisibility||valign="top"|Int<br />
|-<br />
|valign="top"|[[UI Presentation Rules#Responsive UI height breakpoint|Responsive UI height breakpoint]]||The section responsive UI visibility height breakpoint in Web/Mobile Apps.<br />
|valign="top"|responsiveheightvisibility||valign="top"|Int<br />
|-<br />
|}<br />
<br />
[[Category:Attributes|3 PanelView Section]]<br />
[[Category:Sections]]<br />
[[Category:Lianja v9.5]]<br />
[[Category:WebView Based Sections]]</div>Yvonne.milnehttps://www.lianja.com/doc/index.php/ActiveDevUsers-Mac-TEActiveDevUsers-Mac-TE2024-02-06T05:47:37Z<p>Barrymavin: Created page with "TODO"</p>
<hr />
<div>TODO</div>Barrymavinhttps://www.lianja.com/doc/index.php/ActiveDevUsers-Lin-TEActiveDevUsers-Lin-TE2024-02-06T05:47:14Z<p>Barrymavin: Created page with "TODO"</p>
<hr />
<div>TODO</div>Barrymavinhttps://www.lianja.com/doc/index.php/ActiveDevUsers-Win-TEActiveDevUsers-Win-TE2024-02-06T05:46:49Z<p>Barrymavin: Created page with "TODO"</p>
<hr />
<div>TODO</div>Barrymavinhttps://www.lianja.com/doc/index.php/ActiveDevUsers-MacActiveDevUsers-Mac2024-02-06T05:46:02Z<p>Barrymavin: Created page with "TODO"</p>
<hr />
<div>TODO</div>Barrymavinhttps://www.lianja.com/doc/index.php/ActiveDevUsers-LinActiveDevUsers-Lin2024-02-06T05:45:40Z<p>Barrymavin: Created page with "TODO"</p>
<hr />
<div>TODO</div>Barrymavinhttps://www.lianja.com/doc/index.php/ActiveDevUsers-WinActiveDevUsers-Win2024-02-06T05:45:10Z<p>Barrymavin: Created page with "TODO"</p>
<hr />
<div>TODO</div>Barrymavin