Attribute
Attribute class is used for populating Attributes/Records View controls. Also can be used for storing structured data.
Constructor:
constructor(dict, subattributes?: Attributes | Attribute[] )
Initializes an attribute with a given dictionary and optional sub-attributes.
Properties:
kind: AttributeKind(read-only)
The kind of the attribute. Can be one of: Field, Panel, Sheet, Space, Button, Image, HorizontalSplitname: string
The name of the attribute.label: string
A label for the attribute.labelWidth: string | number
Width of the label in the form: 25/'10ch'/'25%' (ch - character width. % - percentage of the parent width).hint: string
A hint for the attribute.type: AttributeValueType
Attribute value data type. It defines which kind of editor AttributesView will show for this attribute. Can have one ofAttributeValueTypevalues: Boolean, Integer, Largeint, Numeric, Currency, Float, Double, Date, Time, DateTime, FixString, String, Password, HyperLink, Memo, RichText, Blob, Image, Object.width,height: string | number
Dimensions for the attribute in the form: 25/'10ch'/'25%' (ch - character width. % - percentage of the parent width).margins: string | number | Margin
Margins around the attribute.value: any
Current value of the attribute.getValue?: (attr)=> any
Getter function for attribute value .setValue?: (attr, v)=> {}
Setter function for attribute value .getValues?: (attr)=> AttributeValues
Getter function for possible values for this attribute value.oldValue: any
Previous value of the attribute.defaultValue: any
Default value of the attribute.values:AttributeValue[] | AttributeValues(read-only)
Possible values for the attribute.attributes:Attribute[] | Attributes(read-only)
Child attributes. Referred to elements of more complex Attribute implementations like: AttributeSheet, AttributePanel, AttributeHorizontalSplit.subattributes:Attribute[] | (rec) => Attribute[]
Sub-attributes collection/array or getter function returning Sub-attributes collection/array. It’s used to define tree-like dependencies.readOnly,visible,enabled,expanded: boolean| (attr) => boolean
Setting or obtaining via getter readOnly, visible, enabled and expanded properties for AttributesView/RecordsView.background: string | (attr)=> string
Background color name or getter function returning background color nameforeground: string | (attr)=> string
Foreground color name or getter function returning foreground color namealignment:Alignment
The alignment of the content.font: Font
Font used for the attribute.parent: Attribute(read-only)
Parent attribute.children:Attribute[] | Attributes(read-only)
Child attributes.commands: AttributeCommand[](read-only)
Commands associated with the attribute.data: any
Custom data you can attach to each attribute.expanded: boolean
Indicates whether sub-attributes are expanded or not. Has effect when attribute has sub-attributes.-
formatDisplay,formatEdit: string
Formatting for display and editing of the attribute. formatDisplay is used when View has no focus, and formatEdit is used when View has the focus and is editable (not read-only).
Formatting strings depend on attribute type. For example, if AttributeValueType is String or FixString, format strings will be regular expressions.
If the attribute is a numeric one (Integer, Largeint, Numeric, Currency, Float, Double), formatting strings will use standard formating syntax with the following specifiers:Specifier Represents 0 Digit placeholder. If the value being formatted has a digit in the position where the "0" appears in the format string, then that digit is copied to the output string. Otherwise, a "0" is stored in that position in the output string. # Digit placeholder. If the value being formatted has a digit in the position where the "#" appears in the format string, then that digit is copied to the output string. Otherwise, nothing is stored in that position in the output string. . Decimal point. The first "." character in the format string determines the location of the decimal separator in the formatted value; any additional "." characters are ignored. The actual character used as a the decimal separator in the output string is determined by the DecimalSeparator global variable. The default value of DecimalSeparator is specified in the Number Format of the Regional Settings section in the Windows Control Panel. , Thousand separator. If the format string contains one or more "," characters, the output will have thousand separators inserted between each group of three digits to the left of the decimal point. The placement and number of "," characters in the format string does not affect the output, except to indicate that thousand separators are wanted. The actual character used as a the thousand separator in the output is determined by the ThousandSeparator global variable. The default value of ThousandSeparator is specified in the Number Format of the Regional Settings section in the Windows Control Panel. E+ Scientific notation. If any of the strings "E+", "E-", "e+", or "e-" are contained in the format string, the number is formatted using scientific notation. A group of up to four "0" characters can immediately follow the "E+", "E-", "e+", or "e-" to determine the minimum number of digits in the exponent. The "E+" and "e+" formats cause a plus sign to be output for positive exponents and a minus sign to be output for negative exponents. The "E-" and "e-" formats output a sign character only for negative exponents. 'xx'/"xx" Characters enclosed in single or double quotes are output as-is, and do not affect formatting. ; Separates sections for positive, negative, and zero numbers in the format string. If the attribute is a Date or Time, format strings will use standard date-time formating syntax with the following specifiers:
Specifier Represents c Displays the date using the format given by the ShortDateFormat global variable, followed by the time, using the format given by the LongTimeFormat global variable. The time is not displayed if the date-time value indicates midnight precisely. d Displays the day as a number without a leading zero (1-31). dd Displays the day as a number with a leading zero (01-31). ddd Displays the day as an abbreviation (Sun-Sat) using the strings given by the ShortDayNames global variable. dddd Displays the day as a full name (Sunday-Saturday) using the strings given by the LongDayNames global variable. ddddd Displays the date using the format given by the ShortDateFormat global variable. dddddd Displays the date using the format given by the LongDateFormat global variable. e (Windows only) Displays the year in the current period/era as a number without a leading zero (Japanese, Korean, and Taiwanese locales only). ee (Windows only) Displays the year in the current period/era as a number with a leading zero (Japanese, Korean, and Taiwanese locales only). g (Windows only) Displays the period/era as an abbreviation (Japanese and Taiwanese locales only). gg (Windows only) Displays the period/era as a full name (Japanese and Taiwanese locales only). m Displays the month as a number without a leading zero (1-12). If the m specifier immediately follows an h or hh specifier, the minute rather than the month is displayed. mm Displays the month as a number with a leading zero (01-12). If the mm specifier immediately follows an h or hh specifier, the minute rather than the month is displayed. mmm Displays the month as an abbreviation (Jan-Dec) using the strings given by the ShortMonthNames global variable. mmmm Displays the month as a full name (January-December) using the strings given by the LongMonthNames global variable. yy Displays the year as a two-digit number (00-99). yyyy Displays the year as a four-digit number (0000-9999). h Displays the hour without a leading zero (0-23). hh Displays the hour with a leading zero (00-23). n Displays the minute without a leading zero (0-59). nn Displays the minute with a leading zero (00-59). s Displays the second without a leading zero (0-59). ss Displays the second with a leading zero (00-59). z Displays the millisecond without a leading zero (0-999). zzz Displays the millisecond with a leading zero (000-999). t Displays the time using the format given by the ShortTimeFormat global variable. tt Displays the time using the format given by the LongTimeFormat global variable. am/pm Uses the 12-hour clock for the preceding h or hh specifier, and displays 'am' for any hour before noon, and 'pm' for any hour after noon. The am/pm specifier can use lower, upper, or mixed case, and the result is displayed accordingly. a/p Uses the 12-hour clock for the preceding h or hh specifier, and displays 'a' for any hour before noon, and 'p' for any hour after noon. The a/p specifier can use lower, upper, or mixed case, and the result is displayed accordingly. ampm Uses the 12-hour clock for the preceding h or hh specifier, and displays the contents of the TimeAMString global variable for any hour before noon, and the contents of the TimePMString global variable for any hour after noon. / Displays the date separator character given by the DateSeparator global variable. : Displays the time separator character given by the TimeSeparator global variable. 'xx'/"xx" Characters enclosed in single or double quotation marks are displayed as such, and do not affect formatting.
Methods:
delete()
Deletes the attribute.invalidate(withChildren?: boolean)
Invalidates the attribute and optionally its children.click(handler?): any
Adds a click event handler. Returns the previous handler if it exists.doubleClick(handler?): any
Adds a double-click event handler. Returns the previous handler if it exists.buttonClick(handler?): any
Adds a button click event handler. Returns the previous handler if it exists.