Description of a client application view - both list and detail, although some fields are meaningfull only for one of them

interface listView {
    afterSave?: string | string[];
    attributes: iviewAttribute[];
    bOrderPrefix?: string;
    boxes?: iViewBoxList;
    buttons?: string[] | iButtonList;
    defOperation?: string;
    extends: string;
    filters?: ifilterList;
    groups: string[];
    help?: string | boolean;
    hint?: string;
    listObjMethods?: object;
    menu?: string[];
    methods?: object;
    onLoad?: string | string[];
    onSave?: string | string[];
    operations?: iOperList;
    pageButtons?: string[];
    parameters?: iviewParameters;
    serverData?: iserverData;
    subtitle?: string;
    tabs?: iViewTabList;
    title: string | boolean;
    titleButtons?: string[];
    titleData?: string[];
    titleNew?: string;
    update?: string;
    uright?: string;
    window?: viewWindowDescription;
}

Hierarchy (view full)

Properties

afterSave?: string | string[]

Optional function called in detail view after the save command regardless if object was/wasn't new. Allow startings other operation in reaction to the save

Example

tskArea initiate reload of the dashboard
attributes: iviewAttribute[]

Definition of object-defined user-attributes Defined by client of their objects

bOrderPrefix?: string

Optinonal prefix used for ordering all buttons in the view Use the prefix in combination with button names in array - then order of all of are prefixed with defined

boxes?: iViewBoxList

boxes defeind in the detail

buttons?: string[] | iButtonList

Names of operations in the list of strings - converted to the _operNames;
only string with name, operation is described in its own section

defOperation?: string

Optinal name of the default operation that is activated when uses clicks on the active clip Note: supported only for clip for listClip it is expand/collapse

extends: string

Name of the view that is used as a base for this view - allows inherit view defition parent view must be described in the same object definition file and should be of the same view type (list or detail)

filters?: ifilterList
groups: string[]

List of optional object groups - defines functionality related with some groups

Example

see objGroups type that defines standard supported types
help?: string | boolean

Set up if view has to show the help button next to the name

Options are:

  • (boolean) true - show help if defined for object (default)
  • (boolean) false - do not show help event when defined for object
  • string - name of the help for this view - should be valid name of the MD file in the /module/langs/@/ directory

Notes:

  • subviews has not visible header and thus does not support help file at all
  • clipList support the help but the clip detail does not, clip disregard the parameter, clipList supports only clip-specific help, not common
  • dashboard supports clips but only clip-specific (help should be a string; boolean value is ignored and help si not available)
hint?: string

Optional hint - text under the command line (or filter line in the list) hint is:

  • invisible - not defined
  • text only - always translated (name of the string for translation)
  • evaluated - return is translated string - result of evaluation is not translated
  • from caller - content of the hint parameter i showns (not translated!)
listObjMethods?: object

Methods for objects in the list. Used as a object-specific methods for object in the list (list only)

menu?: string[]
methods?: object

methods relative to the view; see object methdos for description. View methods are evaluated for view only and AFTER the object methods. Object methods can never use them

For ClipList: Methods are evaluated with startAttr and parentObject and set attributes - never change the parentObject. Use methods for setting attributes that are passed to the child clip. Child cannot get data from parent object but has got attributes @example: tskCompetenceDemand: "methods":{ "isManager":"=obj.isManager" }, - it sets attribute value in the clipList (and list)

WARNING: Methods are evaluated also for listView with several limitations:

  • They are eavluatated during window open with obj from mater view - METHODS IN THE LIST NEVER UPDATE OBJECT - result of list method is stored to the attributes
  • When storing new value for work with, use store to the attributes:

Example

attr._a.addVal(<attributeName>, <attributeValue>)   (not necessary in the list and clipLst methods that sets attributes directly)
onLoad?: string | string[]

Optional operation called after load is provided.

  • field should be operation from operations
  • called after default attributes for new field
  • user enabled to set if called before
  • command->env->myself contains link to the fieldset
onSave?: string | string[]

Optional operation called before save is provided. If returns false, save is not called

  • field should be operation from operations
  • for each operation is evaluated enabled field and if returns with false operation is overskipped and next operation is processed. enabled that returns false is managed in the same way as function that returns false; it can never return cancel if evalution fails with error it is recorded as error (by the feval) and considered as false return
  • operations in the list do not share attributes
  • if operation calls TS method, it gets in evn->myself link to the fieldset, in evn->fbase link to the univDetail
  • called after beforeSaveControls
  • command->env->myself contains link to the fieldset

Field enabled and right are evaluated for command as well!!! They can be used to check where function should run or not. Evaluation used actual object status

operations?: iOperList

Operations defined for view - visible only in view and its descendant. See object operations for more description

pageButtons?: string[]

Operations available in the bottomline

Currently supported only for detail, not list; makes no sense for clips

parameters?: iviewParameters
serverData?: iserverData
subtitle?: string

Options that page subtitle content.

  • If defined it is evaluated with loaded object
  • Suppported currently only by detail
title: string | boolean

Headline - independent first line or content

  • clip required, when missing empty line is created, if user is develper, line contains warning that is not generated for no-developer user
  • clipList - not required and even not recommended for list that are part of detail; only string supported for clipList!
  • list
      • when boolean = false list is without title - used for views under the view
      • when true = list is with title even when undder the detail (detail is false)
  • detail
      • when false view is without title
      • when string view is evaluated to calculate value - almost always useless, use objDesc field for that
  • when title == false, clip title is not shown - supported for clipList, makes no sense for detail
titleButtons?: string[]

Operation right from the clipList title For detail tested with icon on the left or without icon

titleData?: string[]

List of datafields - small information one after another, Technically buttons supporting click but also usable wihout click Each Field is single operation and operation name is used for content description - title shall describe what is inside

titleNew?: string

Optional title used for new object. By default, new object has name from translation of the object but it may be usefull to change it. Remmber, that new window does not have data from object

update?: string

Optional name of the server function called when user updates the field Used for clips and table, not (yet) detail

uright?: string

optional right for view used instead of default; works for all views inluding clips

how window should look