Form Section

From Lianjapedia
Jump to: navigation, search

Overview

Form Sections contain Fields and Gadgets and handle the layout automatically.

Form section.png

You build Apps in Lianja App Builder visually using the Page Builder.

If you have not yet done so please read Understanding the Lianja Architecture and also Understanding ART to better understand this article.

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".

Setting Attributes Declaratively

You adjust the appearance and behavior of each UI Element in the Attributes Tab of the App Inspector.

Bm-attributes.png

The attributes available consist of some common ones as well as some specific to the UI Element being inspected.

Getting and Setting Attributes Programmatically

The setAttribute(name, value) method can be used to set the value of an Attribute:

Lianja.get("pageid.sectionid").setAttribute("title","Section1")

Note: on the desktop, the shortened form setAttr(name,value) is also available.

The getAttribute(name) method can be used to get the value of an Attribute:

cTitle = Lianja.get("pageid.sectionid").getAttribute("title")

Note: on the desktop, the shortened form getAttr(name) is also available.

See Also

Field Attributes, Gadget Attributes

Demo Apps (included in the Lianja App Builder distribution):

  • Lianja Demo (lianjademo)
  • Lianja Web UI Demo (example_webapp2)
  • Lianja Mobile UI Demo (example_mobileapp1)

and many more

Attributes

Details

Attribute Description Name Type
Name The name for this section (unique to the page) id Character
Full name The full name for this section including its parent page, e.g. page1.section1 fullid Character
Alias name The alias name for this section aliasid Character
App Doc The App Doc file for this section. This will be included in the App Doc when it is generated. appdoc Character
MetaData version The MetaData version number. You can set this in the setupUI hook to prevent MetaData being applied multiple times. metaDataVersion Int
Meta types A comma separated list of metatype names metatypes Character
Type The type of section: form (readonly) type Character
Caption The section caption displayed in the section header title Character
Database The database for this section database Character
Table The table for this section table Character
OrderBy Optionally specify an order for non-child sections. (From v4.1) orderby Character
SQL statement The SQL statement used to populate a Virtual Table. Use {} macros in the WHERE condition to relate parent-->child sections and ORDER BY to order the display of records. This is native SQL for the target SQL database and may call stored procedures as well as SQL Select. sql Character
Timelines enabled Enable database timelines for this section timelinesEnabled Boolean
Filter The filter expression that restricts the records that will be included in the data filter Character
Where condition The dynamic WHERE condition for a Virtual Table that restricts which records will be retrieved wherecond Character
Search field The search field for the section searchField Character
Height The section height height Int
Fixed height Fix the section height (True | False) fixedHeight Boolean
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 autoLayoutPercentage Int
Readonly Section is readonly (True | False) readOnly Boolean
Scrollable Section is scrollable (True | False) scrollable Boolean
Scrollable width The scrollable width of the Form inside the ScrollPanel minwidth Int
Scrollable height The scrollable height of the Form inside the ScrollPanel minheight Int

FormGrid

Attribute Description Name Type
FormGrid layout Layout FormItems (Fields and Gadgets) using a FormGrid formgridlayout Boolean
Number of rows The default number of rows in the FormGrid formgridrowcount Int
Number of columns The default number of columns in the FormGrid formgridcolumncount Int
Apply cell attributes Apply cell attributes to formitems formgridapplycellattributes Boolean

FormGrid Cells

Attribute Description Name Type
Cell alignment Alignment for all cells in the FormGrid: Default | TopLeft | TopRight | Center | LeftCenter | RightCenter | BottomLeft | BottomCenter | BottomRight. formgridcellsalignment Character
Minimum width The FormGrid cell minimum width formgridcellminwidth Int
Minimum height The FormGrid cell minimum height formgridcellminheight Int
Top margin The FormGrid cell top margin formgridcellmargintop Int
Left margin The FormGrid cell left margin formgridcellmarginleft Int
Bottom margin The FormGrid cell bottom margin formgridcellmarginbottom Int
Right margin The FormGrid cell right margin formgridcellmarginright Int
Background color The cell background color formgridcellbackcolor Character
Caption background color The cell caption background color formgridcellcaptionbackcolor Character
Caption foreground color The cell caption foreground color formgridcellcaptionforecolor Character
Caption font size The cell caption font size: Small | Medium | Large | X-Large | XX-Large | Largest. formgridcellcaptionfontsize Character
Data background color The cell data background color formgridcelldatabackcolor Character
Data foreground color The cell data foreground color formgridcelldataforecolor Character
Data font size The cell data font size: Small | Medium | Large | X-Large | XX-Large | Largest. formgridcelldatafontsize Character
Caption alignment The cell caption alignment: Default | TopLeft | TopRight | Center | LeftCenter | RightCenter | BottomLeft | BottomCenter | BottomRight. formgridcellcaptionalignment Character
Data alignment The cell data alignment: Left | Center | Right. formgridcelldataalignment Character

Appearance

Attribute Description Name Type
Background color Section background color backColor Character
Foreground color Section foreground color foreColor Character
CSS style CSS style (separate attributes with ; or use app:/filename.css) cssStyle Character
Field border Display border around fields (caption and data) (True | False) fieldBorders Boolean
Field border color Field border color fieldBorderColor Character
Gradient colors Render the background color as a gradient (True | False) sectionGradient Boolean
Gradient type Specify the gradient type sectionGradientType Int
Gradient start color Gradient start color sectionFromColor Character
Gradient end color Gradient end color sectionToColor Character
Caption position The position of the captions (None | Above | Beside | RightToLeft) labelType Character
Caption size The size of the caption font (Small | Medium | Large | Largest) labelSize Character
Data size The size of the data font (Small | Medium | Large | Largest) dataSize Character
Transparency Specify a transparency percentage from 0 to 100 transparency Int
Background image The background image for the section (png | jpg | gif).
Use app:/imagename.ext for app specific images.
picture Character
Stretch image Stretch the background image to fill the section (True | False) stretch Boolean
Margin Margin size around the section margin Int
Spacing Spacing between items in the section spacing Int
Caption width Width of the captions for fields in the section labelWidth Int
Border-radius Border radius of items in the section borderRadius Int
Add spacer at bottom Add spacer at bottom of section (True | False) spacerVisible Boolean

Header

Attribute Description Name Type
Hide header Hide section header at runtime(True | False) hideHeaderAtRuntime Boolean
Hide actionbar Hide actionbar buttons in the section header (True | False) hideActionBarAtRuntime Boolean
Hide navigation buttons Hide actionbar navigation buttons in the section header (True | False) hideNavButtons Boolean
Hide editing buttons Hide the Save/Cancel editing buttons in the section header (True | False). Don't change this unless you are handling these operations programatically. hideEditingButtons Boolean
Header CSS style CSS style (separate attributes with ; or use app:/filename.css) headerCssStyle Character
Header icon The image for the Header (png | jpg | gif).
Use app:/imagename.ext for app specific images.
headerIcon Character
Gradient colors Render the Header background color as a gradient (True | False) headerGradient Boolean
Gradient type Specify the gradient type headerGradientType Int
Gradient start color Gradient start color headerFromColor Character
Gradient end color Gradient end color headerToColor Character
Show OK/Cancel buttons Show OK/Cancel buttons in the section header (True | False) showOkCancelButtons Boolean
Show Add/Delete buttons Show Add/Delete buttons in the section header (True | False) showAddDeleteButtons Boolean
Show Print button Show Print button in the section header (True | False) showPrintButton Boolean
Show Edit button Show Edit button in the section header (True | False) showEditButton Boolean
Hide custom search icon Hide the custom search icon (True | False) hideCustomSearchIcon Boolean
Show info tips icon Show the info tips icon in the section header (True | False) showInfoTipsIcon Boolean
Show help icon Show the help icon in the section header (True | False) showHelpIcon Boolean
Help topic Help topic to display when the help icon is clicked in the section header helpTopic Character

Custom Header Style

Attribute Description Name Type
Use custom header style Use a custom header style (True | False) headercustomstyle Boolean
Header background color Header background color headerbackcolor Character
Header foreground color Header foreground color headerforecolor Character
Header bottom border Display the header bottom border (True | False) headerbottomborder Boolean
Header bottom border height Height (in pixels) of the header bottom border (if displayed) headerbottomborderheight Int
Header bottom border color Header bottom border color headerbottombordercolor Character

Related Data

Attribute Description Name Type
Parent section name Name of related parent section
Automatically relate Automatically relate the child section (True | False). If this is unchecked then you need to manually relate it in the parentdatachanged delegate. autoRelateChildSection Boolean
Parent key Parent key
Child key Child key childKeyExpr Character
Cascade deletes When a record is deleted, cascade deletes and deleted any related child records (True | False). cascadeDeletes Boolean

Menu

Attribute Description Name Type
Visible Section menu visible (True | False) sectionMenuVisible Boolean
Height Section menu height sectionMenuHeight Int
Background color Section menu background color sectionMenuBackColor Character
Foreground color Section menu foreground color sectionMenuForeColor Character
Custom menu panel The .rsp or .jssp page used to create the custom menu panel. This page should generate dynamic HTML5/JavaScript. customSectionMenuPanel Character
Custom menu Section menu contents customSectionMenu Character
Custom action Action to perform when a menu item is selected sectionMenuAction Character
Context Menu A comma separated list of menu items to popup when a user right clicks on the Section. Selecting an item calls the rightclick delegate with the item text as an argument. From v4.2. contextMenu Character

Search Panel

Attribute Description Name Type
Visible Section search panel visible (True | False) searchPanelVisible Boolean
Height Section search panel height searchPanelHeight Int
Background color Section search panel background color searchPanelBackColor Character
Foreground color Section search panel foreground color searchPanelForeColor Character
Auto create Automatically create search panel for all Section search fields searchPanelAutoCreate Boolean
Custom search panel The delegate used to create the custom search panel searchPanelAction Character

Subtitle

Attribute Description Name Type
Visible Section subtitle visible (True | False) subtitleVisible Boolean
Caption Section subtitle caption subtitleCaption Character
Height Section subtitle height subtitleHeight Int
Background color Section subtitle background color subtitleBackColor Character
Foreground color Section subtitle foreground color subtitleForeColor Character
Font Section subtitle font subtitleFont Int
CSS style CSS style subtitleCssStyle Character

Footer

Attribute Description Name Type
Visible Section footer visible (True | False) footerVisible Boolean
Caption Section footer caption footerText Character
Height Section footer height footerHeight Int
Background color Section footer background color footerBackColor Character
Foreground color Section footer foreground color footerForeColor Character
Custom menu Section footer menu contents customOptionsMenu Character
Custom action Action to perform when a footer menu item is selected customOptionsMenuAction Character
Footer button CSS Footer button CSS style footerButtonCss Character
Footer button width Footer button width footerButtonWidth Int

Other Options

Attribute Description Name Type
Hide form NavBar Hide form Navigation Bar at runtime if this section is in an Accordion Stack (True | False) hideFormNavBar Boolean
Collapsable The section is collapsible at runtime (True | False) collapsableAtRuntime Boolean
Exclude from accordion The section is excluded from accordion behavior at runtime (True | False) excludeAccordionAtRuntime Boolean
Inherit dictionary rules Inherit the data dictionary rules (True | False) applyDictionary Boolean
Section to refresh when data modified Section to refresh when data is modified in this section refreshSectionOnChange Character
Return tabs Treat the return key as a Tab on the fields in this section (True | False) returnTabs Boolean
Deferred add When adding new records, do not commit a blank record until saved. (True | False) deferredadd Boolean
Hide search icon Hide the search icon at runtime (True | False) hideSearchIcon Boolean

Custom Delegates

Attribute Description Name Type
Scripting language The default scripting language for custom code in this section (Inherit | Recital | Visual FoxPro | Python | JavaScript | PHP) scriptingLanguage Character
Custom library The filename of the library containing code for event handlers and custom procedures/functions customLibrary Character
Print The delegate for the Print event. This is called when you click the 'Print' icon. From v4.2. printAction Character
Expanded The delegate for the Expanded event expandedAction Character
Collapsed The delegate for the Collapsed event collapsedAction Character
Hotkey The delegate for the Hotkey event (e.g. F1-F10, Ctrl+F1). The key is passed as a parameter, e.g. 'F2'. From v3.2. hotkeyAction Character
Enabled When The delegate for the EnabledWhen event enabledWhenAction Character
Visible When The delegate for the VisibleWhen event visibleWhenAction Character
Valid When The delegate for the ValidWhen event validWhenAction Character
Activate The delegate for the Activate event activateAction Character
Deactivate The delegate for the Deactivate event deactivateAction Character
Init The delegate for the Init event initAction Character
Destroy The delegate for the Destroy event destroyAction Character
Load The delegate for the Load event loadAction Character
Ready The delegate for the Ready event readyAction Character
Unload The delegate for the Unload event unloadAction Character
Change The delegate for the Change event changedAction Character
Link Click The delegate for the Hyperlink/Button Click event. This is called with two arguments: functionname(controlsource,text) linkClickAction Character
Before Data Create The delegate for the BeforeCreate event beforeCreateAction Character
After Data Create The delegate for the AfterCreate event afterCreateAction Character
After Data Changed The delegate for the dataChanged event (after data is read) dataChangedAction Character
Before Data Update The delegate for the BeforeUpdate event beforeUpdateAction Character
After Data Update The delegate for the AfterUpdate event afterUpdateAction Character
Before Data Delete The delegate for the BeforeDelete event beforeDeleteAction Character
After Data Delete The delegate for the AfterDelete event afterDeleteAction Character
Refresh The delegate for the Refresh event refreshAction Character
After Refresh action The delegate for the AfterRefresh event. afterRefreshAction Character
Init Form Defaults The delegate for the InitFormDefaults event called when adding a new record. initFormDefaults Character
Parent data changed The delegate for the ParentDataChanged event parentDataChangedAction Character
Dialog button delegate The delegate for the DialogButtonClicked event. If a dialogbutton on a Field has no delegate, the Section delegate will be called. If the section has no delegate, then the Page delegate will be called. dialogButtonAction Character
Right Click The delegate for the Right Clicked event rightClickAction Character
Timer The delegate for the Timer event timerAction Character
Timer interval The timer interval in seconds that the Timer event will be called at runtime timerInterval Int
State Changed The delegate for the Statechanged event. stateChangedAction Character
Custom footer menu The delegate for the footer menu event customMenuAction Character
Custom search command The delegate for the search event customSearch Character
Custom section menu The delegate for the section menu event customSectionMenuAction Character

Gestures

Attribute Description Name Type
Gestures enabled Enable gestures for this page: swipe, pan, pinch, tap and tapandhold (True | False).
If enabled, then the Gestures delegate will be called with two arguments, e.g. 'swipe','left' or 'swipe','right'.
gesturesEnabled Boolean
Swipe left gesture The delegate for the gestureSwipeLeft event. gestureSwipeLeftAction Character
Swipe right gesture The delegate for the gestureSwipeRight event. gestureSwipeRightAction Character
Swipe up gesture The delegate for the gestureSwipeUp event. gestureSwipeUpAction Character
Swipe down gesture The delegate for the gestureSwipeDown event. gestureSwipeDownAction Character
Pan gesture The delegate for the gesturePan event. gesturePanAction Character
Pinch gesture The delegate for the gesturePinch event. gesturePinchAction Character
Tap gesture The delegate for the gestureTap event. gestureTapAction Character
Tap and hold gesture The delegate for the gestureTapAndHold event. gestureTapAndHoldAction Character
Gestures The catch all delegate for the gestures event. gesturesAction Character

Permissions and Roles

Attribute Description Name Type
Create roles A comma separated list of roles that can perform create operations on data in the section. permcreate Character
Read roles A comma separated list of roles that can read (and view) the section. permRead Character
Update roles A comma separated list of roles that can perform update operations on data in the section. permUpdate Character
Delete roles A comma separated list of roles that can perform delete operations on data in the section. permDelete Character

UI Presentation Rules

Attribute Description Name Type
Desktop Include this section in a Desktop client (True | False). desktopUI Boolean
Web Include this section in a Web client (True | False). webUI Boolean
Tablet Include this section in a Tablet client (True | False). tabletUI Boolean
Phone Include this section in a Phone client (True | False). mobileUI Boolean
UI States UI states that affect this section. Specify multiple states as a comma separated list. state Character
Initial UI state The initial UI state for this section. This will be applied to the section and all its fields and gadgets. uiStateInit Character
Readonly when Section is readonly at runtime if specified expression evaluates to true. readonlyWhen Character
Visible when Section is visible at runtime if specified expression evaluates to true. visibleWhen Character
Display orientation Display depending on mobile device orientation for Tablets and Phones. (Always | Portrait | Landscape) displayOrientation Character
Apply rules on change Apply UI presentation rules (Visible when and Readonly when) when data is changed interactively or when navigating records (True | False). applyRulesOnChange Boolean
Apply rules on parent change Apply section UI presentation rules (Visible when and Readonly when) when parent data is changed by navigating records (True | False) applyRulesOnParentChange Boolean