Added minimal functionality for Robot teaching
- Added minimal HMI - Added possibility to open and close all chamber doors
This commit is contained in:
@@ -0,0 +1,406 @@
|
||||
{
|
||||
"$schema": "../../TcHmiFramework/Schema/ControlDescription.Schema.json",
|
||||
"apiVersion": 1,
|
||||
"name": "TcHmiTabNavigation",
|
||||
"namespace": "TcHmi.Controls.Beckhoff",
|
||||
"displayName": "Tab Navigation",
|
||||
"version": {
|
||||
"full": "14.4.1.0",
|
||||
"major": 14,
|
||||
"minor": 4,
|
||||
"build": 1,
|
||||
"revision": 0
|
||||
},
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"base": "TcHmi.Controls.System.TcHmiControl",
|
||||
"description": "A tab navigation control.",
|
||||
"defaultDesignerEvent": "",
|
||||
"properties": {
|
||||
"containerControl": false,
|
||||
"geometry": {
|
||||
"width": 500,
|
||||
"height": 500
|
||||
}
|
||||
},
|
||||
"icons": [
|
||||
{
|
||||
"name": "Icons/16x16.png",
|
||||
"width": 16,
|
||||
"height": 16
|
||||
}
|
||||
],
|
||||
"template": "Template.html",
|
||||
"dependencyFiles": [
|
||||
{
|
||||
"name": "Style.css",
|
||||
"type": "Stylesheet",
|
||||
"description": ""
|
||||
},
|
||||
{
|
||||
"name": "../dist/TcHmiTabNavigation/TcHmiTabNavigation.esm.js",
|
||||
"type": "EsModule",
|
||||
"description": "Contains all the main logic as ES module."
|
||||
}
|
||||
],
|
||||
"themes": {
|
||||
"Base": {
|
||||
"resources": [
|
||||
{
|
||||
"name": "Themes/Base/Style.css",
|
||||
"type": "Stylesheet",
|
||||
"description": "Theme dependent style"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Base-Dark": {
|
||||
"resources": [
|
||||
{
|
||||
"name": "Themes/Base-Dark/Style.css",
|
||||
"type": "Stylesheet",
|
||||
"description": "Theme dependent style"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"name": "data-tchmi-tabs",
|
||||
"propertyName": "Tabs",
|
||||
"propertySetterName": "setTabs",
|
||||
"propertyGetterName": "getTabs",
|
||||
"displayName": "Tabs",
|
||||
"visible": true,
|
||||
"themeable": "Advanced",
|
||||
"displayPriority": 10,
|
||||
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTabNavigation.TabList",
|
||||
"category": "Common",
|
||||
"description": "A list of tabs to be displayed in the control.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"allowSymbolExpressionsInObject": true,
|
||||
"defaultValue": [
|
||||
{
|
||||
"name": "tab1",
|
||||
"displayName": "Tab 1"
|
||||
},
|
||||
{
|
||||
"name": "tab2",
|
||||
"displayName": "Tab 2"
|
||||
},
|
||||
{
|
||||
"name": "tab3",
|
||||
"displayName": "Tab 3"
|
||||
}
|
||||
],
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-tab-alignment",
|
||||
"propertyName": "TabAlignment",
|
||||
"propertySetterName": "setTabAlignment",
|
||||
"propertyGetterName": "getTabAlignment",
|
||||
"displayName": "Tab Alignment",
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"displayPriority": 11,
|
||||
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTabNavigation.TabAlignment",
|
||||
"category": "Common",
|
||||
"description": "The alignment of the tab bar.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": "Top"
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-active-tab-name",
|
||||
"propertyName": "ActiveTabName",
|
||||
"propertySetterName": "setActiveTabName",
|
||||
"propertyGetterName": "getActiveTabName",
|
||||
"displayName": "Active Tab Name",
|
||||
"themeable": "Advanced",
|
||||
"visible": true,
|
||||
"displayPriority": 12,
|
||||
"type": "tchmi:general#/definitions/String",
|
||||
"category": "Common",
|
||||
"description": "The name of the active tab.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-initial-tab-name",
|
||||
"propertyName": "InitialTabName",
|
||||
"propertySetterName": "setInitialTabName",
|
||||
"propertyGetterName": "getInitialTabName",
|
||||
"displayName": "Initial Tab Name",
|
||||
"themeable": "Standard",
|
||||
"visible": true,
|
||||
"displayPriority": 51,
|
||||
"type": "tchmi:general#/definitions/String",
|
||||
"category": "Common",
|
||||
"description": "The name of the active tab after attach (for keepalive scenarios).",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-text-horizontal-alignment",
|
||||
"propertyName": "TextHorizontalAlignment",
|
||||
"propertySetterName": "setTextHorizontalAlignment",
|
||||
"propertyGetterName": "getTextHorizontalAlignment",
|
||||
"displayName": "Text Horizontal Alignment",
|
||||
"visible": true,
|
||||
"themeable": "Advanced",
|
||||
"displayPriority": 30,
|
||||
"type": "tchmi:framework#/definitions/HorizontalAlignment",
|
||||
"category": "Text",
|
||||
"description": "Defines the horizontal alignment of the text.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValue": "Center",
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-text-vertical-alignment",
|
||||
"propertyName": "TextVerticalAlignment",
|
||||
"propertySetterName": "setTextVerticalAlignment",
|
||||
"propertyGetterName": "getTextVerticalAlignment",
|
||||
"displayName": "Text Vertical Alignment",
|
||||
"visible": true,
|
||||
"themeable": "Advanced",
|
||||
"displayPriority": 30,
|
||||
"type": "tchmi:framework#/definitions/VerticalAlignment",
|
||||
"category": "Text",
|
||||
"description": "Defines the vertical alignment of the text.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValue": "Center",
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-text-padding",
|
||||
"propertyName": "TextPadding",
|
||||
"propertySetterName": "setTextPadding",
|
||||
"propertyGetterName": "getTextPadding",
|
||||
"displayName": "Text Padding",
|
||||
"visible": true,
|
||||
"themeable": "Advanced",
|
||||
"displayPriority": 55,
|
||||
"type": "tchmi:framework#/definitions/Padding",
|
||||
"category": "Text",
|
||||
"description": "The distance of the text to the border.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"allowSymbolExpressionsInObject": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-text-font-family",
|
||||
"propertyName": "TextFontFamily",
|
||||
"propertySetterName": "setTextFontFamily",
|
||||
"propertyGetterName": "getTextFontFamily",
|
||||
"displayName": "Text Font Family",
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"displayPriority": 60,
|
||||
"type": "tchmi:framework#/definitions/FontFamily",
|
||||
"category": "Text",
|
||||
"description": "Comma separated list of family name or keyword: 'serif', 'sans-serif', 'monospace'.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-text-font-size",
|
||||
"propertyName": "TextFontSize",
|
||||
"propertySetterName": "setTextFontSize",
|
||||
"propertyGetterName": "getTextFontSize",
|
||||
"displayName": "Text Font Size",
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"displayPriority": 30,
|
||||
"type": "tchmi:framework#/definitions/MeasurementValue",
|
||||
"category": "Text",
|
||||
"description": "The size of the font. Percent values are relative to the parent elements font size.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-text-font-size-unit",
|
||||
"propertyName": "TextFontSizeUnit",
|
||||
"propertySetterName": "setTextFontSizeUnit",
|
||||
"propertyGetterName": "getTextFontSizeUnit",
|
||||
"refTo": "TextFontSize",
|
||||
"displayName": "Text Font Size Unit",
|
||||
"visible": true,
|
||||
"themeable": "Advanced",
|
||||
"displayPriority": 30,
|
||||
"type": "tchmi:framework#/definitions/MeasurementUnit",
|
||||
"category": "Text",
|
||||
"description": "Could be 'px' or for relative sizing '%'.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": "px"
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-text-font-style",
|
||||
"propertyName": "TextFontStyle",
|
||||
"propertySetterName": "setTextFontStyle",
|
||||
"propertyGetterName": "getTextFontStyle",
|
||||
"displayName": "Text Font Style",
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"displayPriority": 60,
|
||||
"type": "tchmi:framework#/definitions/FontStyle",
|
||||
"category": "Text",
|
||||
"description": "'Normal', 'Italic' (slanted with special glyphs), 'Oblique' (slanted normal glyphs) or 'Auto' for inherited.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": "Auto"
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-text-font-weight",
|
||||
"propertyName": "TextFontWeight",
|
||||
"propertySetterName": "setTextFontWeight",
|
||||
"propertyGetterName": "getTextFontWeight",
|
||||
"displayName": "Text Font Weight",
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"displayPriority": 60,
|
||||
"type": "tchmi:framework#/definitions/FontWeight",
|
||||
"category": "Text",
|
||||
"description": "'Normal', 'Bold' (glyphs with more weight) or 'Auto' for inherited.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": "Auto"
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-tab-text-color",
|
||||
"propertyName": "TabTextColor",
|
||||
"propertySetterName": "setTabTextColor",
|
||||
"propertyGetterName": "getTabTextColor",
|
||||
"displayName": "Tab Text Color",
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"displayPriority": 10,
|
||||
"type": "tchmi:framework#/definitions/SolidColor",
|
||||
"category": "Colors",
|
||||
"description": "Defines the text color of inactive tabs.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"allowSymbolExpressionsInObject": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-active-tab-text-color",
|
||||
"propertyName": "ActiveTabTextColor",
|
||||
"propertySetterName": "setActiveTabTextColor",
|
||||
"propertyGetterName": "getActiveTabTextColor",
|
||||
"displayName": "Active Tab Text Color",
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"displayPriority": 10,
|
||||
"type": "tchmi:framework#/definitions/SolidColor",
|
||||
"category": "Colors",
|
||||
"description": "Defines the text color of the active tab.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"allowSymbolExpressionsInObject": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-active-tab-color",
|
||||
"propertyName": "ActiveTabColor",
|
||||
"propertySetterName": "setActiveTabColor",
|
||||
"propertyGetterName": "getActiveTabColor",
|
||||
"displayName": "Active Tab Color",
|
||||
"visible": true,
|
||||
"themeable": "Standard",
|
||||
"displayPriority": 10,
|
||||
"type": "tchmi:framework#/definitions/SolidColor",
|
||||
"category": "Colors",
|
||||
"description": "Defines the background color of active tab.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"allowSymbolExpressionsInObject": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "data-tchmi-tab-overflow-mode",
|
||||
"propertyName": "TabOverflowMode",
|
||||
"propertySetterName": "setTabOverflowMode",
|
||||
"propertyGetterName": "getTabOverflowMode",
|
||||
"displayName": "Tab Overflow Mode",
|
||||
"visible": true,
|
||||
"themeable": "Advanced",
|
||||
"displayPriority": 50,
|
||||
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.ContentTabs.OverflowMode",
|
||||
"category": "Common",
|
||||
"description": "Defines how tabs are handled when they overflow the available space.",
|
||||
"readOnly": false,
|
||||
"bindable": true,
|
||||
"defaultBindingMode": "OneWay",
|
||||
"heritable": true,
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": "Popup"
|
||||
}
|
||||
],
|
||||
"attributeCategories": [
|
||||
{
|
||||
"name": "Text",
|
||||
"displayPriority": 500,
|
||||
"defaultCollapsed": true,
|
||||
"description": "Attributes defining the text of the control."
|
||||
}
|
||||
],
|
||||
"functions": [],
|
||||
"events": [],
|
||||
"dataTypes": [
|
||||
{
|
||||
"schema": "Schema/Types.Schema.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 212 B |
@@ -0,0 +1,228 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-04/schema",
|
||||
"definitions": {
|
||||
"TcHmi.Controls.Beckhoff.TcHmiTabNavigation": {
|
||||
"$schema": "http://json-schema.org/draft-04/schema",
|
||||
"type": "object",
|
||||
"frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
|
||||
"frameworkControlType": "TcHmiTabNavigation",
|
||||
"frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
|
||||
},
|
||||
"TcHmiTabNavigation": {
|
||||
"$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTabNavigation"
|
||||
},
|
||||
"TcHmi.Controls.Beckhoff.TcHmiTabNavigation.TabAlignment": {
|
||||
"type": "string",
|
||||
"enum": ["Top", "Right", "Bottom", "Left"]
|
||||
},
|
||||
"TcHmi.Controls.Beckhoff.TcHmiTabNavigation.TabList": {
|
||||
"type": "array",
|
||||
"title": "Tabs",
|
||||
"description": "A list of tabs",
|
||||
"items": {
|
||||
"$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTabNavigation.Tab"
|
||||
}
|
||||
},
|
||||
"TcHmi.Controls.Beckhoff.TcHmiTabNavigation.Tab": {
|
||||
"type": "object",
|
||||
"title": "Tab",
|
||||
"description": "A single tab",
|
||||
"engineeringColumns": ["name"],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"displayName": {
|
||||
"type": "string"
|
||||
},
|
||||
"targetFile": {
|
||||
"$ref": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiPopup.TargetFile"
|
||||
},
|
||||
"targetFileHostPreload": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"targetFileHostPreAttach": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"targetFileHostKeepAlive": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"scrolling": {
|
||||
"$ref": "tchmi:framework#/definitions/ScrollMode"
|
||||
},
|
||||
"hidden": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"accessRights": {
|
||||
"$ref": "tchmi:framework#/definitions/AccessConfig"
|
||||
},
|
||||
"icon": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"iconPath": {
|
||||
"$ref": "tchmi:framework#/definitions/Path"
|
||||
},
|
||||
"iconWidth": {
|
||||
"$ref": "tchmi:framework#/definitions/MeasurementValue"
|
||||
},
|
||||
"iconWidthUnit": {
|
||||
"$ref": "tchmi:framework#/definitions/MeasurementUnit"
|
||||
},
|
||||
"iconHeight": {
|
||||
"$ref": "tchmi:framework#/definitions/MeasurementValue"
|
||||
},
|
||||
"iconHeightUnit": {
|
||||
"$ref": "tchmi:framework#/definitions/MeasurementUnit"
|
||||
}
|
||||
},
|
||||
"propertiesMeta": [
|
||||
{
|
||||
"name": "iconPath",
|
||||
"displayName": "Icon Path",
|
||||
"category": "General",
|
||||
"displayPriority": 10,
|
||||
"description": "The icon that will be displayed in the tab bar.",
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "iconWidth",
|
||||
"displayName": "Icon Width",
|
||||
"category": "General",
|
||||
"displayPriority": 11,
|
||||
"description": "The preferred width of the icon.",
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": 32
|
||||
},
|
||||
{
|
||||
"name": "iconWidthUnit",
|
||||
"displayName": "Icon Width Unit",
|
||||
"category": "General",
|
||||
"displayPriority": 11,
|
||||
"description": "The unit of preferred width of the icon.",
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": "px",
|
||||
"refTo": "iconWidth"
|
||||
},
|
||||
{
|
||||
"name": "iconHeight",
|
||||
"displayName": "Icon Height",
|
||||
"category": "General",
|
||||
"displayPriority": 12,
|
||||
"description": "The preferred height of the icon.",
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": 32
|
||||
},
|
||||
{
|
||||
"name": "iconHeightUnit",
|
||||
"displayName": "Icon Height Unit",
|
||||
"category": "General",
|
||||
"displayPriority": 12,
|
||||
"description": "The unit of preferred height of the icon.",
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": "px",
|
||||
"refTo": "iconHeight"
|
||||
}
|
||||
],
|
||||
"required": ["iconPath"],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"propertiesMeta": [
|
||||
{
|
||||
"name": "name",
|
||||
"displayName": "Name",
|
||||
"category": "General",
|
||||
"displayPriority": 10,
|
||||
"description": "Name of the Tab.",
|
||||
"defaultValue": "newTab",
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "displayName",
|
||||
"displayName": "Display Name",
|
||||
"category": "General",
|
||||
"displayPriority": 10,
|
||||
"description": "Name of the Tab that will be displayed in the tab bar.",
|
||||
"defaultValue": "New Tab",
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "targetFile",
|
||||
"displayName": "Target File",
|
||||
"category": "General",
|
||||
"displayPriority": 11,
|
||||
"description": "The content or usercontrol to show.",
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": null
|
||||
},
|
||||
{
|
||||
"name": "targetFileHostPreload",
|
||||
"displayName": "Target File Host Preload",
|
||||
"category": "General",
|
||||
"displayPriority": 13,
|
||||
"description": "Defines whether the target file host is preloaded when the tab navigation control is initialized or loaded when the tab is selected.",
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": false
|
||||
},
|
||||
{
|
||||
"name": "targetFileHostPreAttach",
|
||||
"displayName": "Target File Host Pre Attach",
|
||||
"category": "General",
|
||||
"displayPriority": 14,
|
||||
"description": "Defines whether the target file host is pre attached to the DOM even if the tab is not yet selected. Does only have an effect if TargetFileHostPreload is true.",
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": false
|
||||
},
|
||||
{
|
||||
"name": "targetFileHostKeepAlive",
|
||||
"displayName": "Target File Host Keep Alive",
|
||||
"category": "General",
|
||||
"displayPriority": 15,
|
||||
"description": "Defines whether the target file host is kept alive when the tab is unselected. Has no effect when TargetFileHostPreload is set to true.",
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": false
|
||||
},
|
||||
{
|
||||
"name": "scrolling",
|
||||
"displayName": "Scrolling",
|
||||
"category": "General",
|
||||
"displayPriority": 16,
|
||||
"description": "Defines whether a content is scrollable. Possible values are No, Yes, Auto. Does not affect user controls.",
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": "Auto"
|
||||
},
|
||||
{
|
||||
"name": "hidden",
|
||||
"displayName": "Hidden",
|
||||
"category": "General",
|
||||
"displayPriority": 17,
|
||||
"description": "Defines whether the tab is hidden or not.",
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": false
|
||||
},
|
||||
{
|
||||
"name": "icon",
|
||||
"displayName": "Icon",
|
||||
"category": "General",
|
||||
"displayPriority": 30,
|
||||
"description": "The Icon displayed in the tab bar.",
|
||||
"defaultValue": null,
|
||||
"defaultValueInternal": null
|
||||
}
|
||||
],
|
||||
"additionalProperties": false,
|
||||
"patternProperties": {
|
||||
"horizontalAlignment": {
|
||||
"$ref": "tchmi:framework#/definitions/HorizontalAlignment",
|
||||
"description": "Allow, but kind of hide deprecated property for engineering"
|
||||
},
|
||||
"verticalAlignment": {
|
||||
"$ref": "tchmi:framework#/definitions/VerticalAlignment",
|
||||
"description": "Allow, but kind of hide deprecated property for engineering"
|
||||
}
|
||||
},
|
||||
"required": ["name"]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
/** Styles for all themes */
|
||||
.TcHmi_Controls_Beckhoff_TcHmiTabNavigation {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.TcHmi_Controls_Beckhoff_TcHmiTabNavigation-template {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.TcHmi_Controls_Beckhoff_TcHmiTabNavigation tchmi-content-tabs {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.TcHmi_Controls_Beckhoff_TcHmiTabNavigation tchmi-content-tabs tchmi-tab-contents {
|
||||
height: calc(100% - 50px);
|
||||
}
|
||||
|
||||
.TcHmi_Controls_Beckhoff_TcHmiTabNavigation > div > tchmi-content-tabs[tab-alignment='Left'] > tchmi-tab-contents,
|
||||
.TcHmi_Controls_Beckhoff_TcHmiTabNavigation > div > tchmi-content-tabs[tab-alignment='Right'] > tchmi-tab-contents {
|
||||
width: calc(100% - 200px);
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.tchmi-tab-navigation-tab-link {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.tchmi-tab-navigation-tab-link .tab-icon {
|
||||
margin-right: 8px;
|
||||
}
|
||||
@@ -0,0 +1,396 @@
|
||||
// Compatibility file for non-module typescript compiles without adjustments.
|
||||
// Use the following line for modern code (needs adjustments to tsconfig.json#configOptions/paths)
|
||||
// import { TcHmiControl } from "Beckhoff.TwinCAT.HMI.Framework/index.esm.js";
|
||||
// ***************************************************************************
|
||||
|
||||
|
||||
declare class TcHmiTabNavigation extends TcHmi.Controls.System.TcHmiControl {
|
||||
#private;
|
||||
constructor(element: JQuery, pcElement: JQuery, attrs: TcHmi.Controls.ControlAttributeList);
|
||||
/** Reference to the root dom element of the current control template as HTMLElement. */
|
||||
protected __elementTemplateRoot: HTMLElement;
|
||||
/** Reference to the content tabs dom element of the control */
|
||||
protected __elementContentTabs: ContentTabs;
|
||||
/** The List of tabs to be displayed in the control */
|
||||
protected __tabs: Tab[] | null | undefined;
|
||||
protected __oldTabs: Tab[] | null | undefined;
|
||||
/** Cache the file host attributes to be able to pass symbols to the file host */
|
||||
protected __fileHostAttributesCache: Map<string, string | TcHmi.Dictionary<any> | undefined>;
|
||||
/** The name of the active tab */
|
||||
protected __activeTabName: string | null | undefined;
|
||||
/** The name of the initially active tab */
|
||||
protected __initialTabName: string | null | undefined;
|
||||
/** The alignment of the tab bar */
|
||||
protected __tabAlignment: ContentTabs.TabAlignment | null | undefined;
|
||||
/** The horizontal alignment of the text */
|
||||
protected __textHorizontalAlignment: TcHmi.HorizontalAlignment | null | undefined;
|
||||
/** The vertical alignment of the text */
|
||||
protected __textVerticalAlignment: TcHmi.VerticalAlignment | null | undefined;
|
||||
/** The font size of the text */
|
||||
protected __textFontSize: number | undefined;
|
||||
/** The font size unit of text */
|
||||
protected __textFontSizeUnit: TcHmi.FontSizeUnit | undefined;
|
||||
/** The font family of the text */
|
||||
protected __textFontFamily: TcHmi.FontFamily | null | undefined;
|
||||
/** The font style of the text */
|
||||
protected __textFontStyle: TcHmi.FontStyle | undefined;
|
||||
/** The font weight of the text */
|
||||
protected __textFontWeight: TcHmi.FontWeight | undefined;
|
||||
/** The padding of the text */
|
||||
protected __textPadding: TcHmi.FourSidedCss | null | undefined;
|
||||
/** The text color of the tabs */
|
||||
protected __tabTextColor: TcHmi.SolidColor | null | undefined;
|
||||
/** The text color of the tabs */
|
||||
protected __activeTabTextColor: TcHmi.SolidColor | null | undefined;
|
||||
/** The text color of the tabs */
|
||||
protected __activeTabColor: TcHmi.SolidColor | null | undefined;
|
||||
/** The overflow mode of the tabs */
|
||||
protected __tabOverflowMode: ContentTabs.TabOverflowMode | null | undefined;
|
||||
/**
|
||||
* If raised, the control object exists in control cache and constructor of each inheritation level was called.
|
||||
* This function is only to be used by the System. Other function calls are not intended.
|
||||
*/
|
||||
__previnit(): void;
|
||||
/**
|
||||
* If raised, all attributes have been set to it's default or dom values.
|
||||
* This function is only to be used by the System. Other function calls are not intended.
|
||||
*/
|
||||
__init(): void;
|
||||
/**
|
||||
* Is called by the system after the control instance gets part of the current DOM.
|
||||
* This function is only to be used by the System. Other function calls are not intended.
|
||||
*/
|
||||
__attach(): void;
|
||||
/**
|
||||
* Is called by the system after the control instance is no longer part of the current DOM.
|
||||
* This function is only to be used by the System. Other function calls are not intended.
|
||||
*/
|
||||
__detach(): void;
|
||||
/**
|
||||
* Destroy the current control instance.
|
||||
* Will be called automatically if system destroys control!
|
||||
*/
|
||||
destroy(): void;
|
||||
/**
|
||||
* Callback function which is fired on tab change
|
||||
**/
|
||||
protected __tabChangeCallback(newTabName: string): void;
|
||||
/** Callback function for a user change */
|
||||
protected __onUserDataChanged(): void;
|
||||
/**
|
||||
* Builds the file host instance based on TargetFile and TargetFileHostAttributes for a single tab
|
||||
* and appends it to the tabs contentElement.
|
||||
*/
|
||||
protected __buildFileHost(tab: Tab): void;
|
||||
/** Append the target file host of a specific tab to its contentElement */
|
||||
protected __attachTargetFileHost(tab: Tab): void;
|
||||
/** Detach target file host */
|
||||
protected __detachTargetFileHost(tab: Tab): void;
|
||||
/**
|
||||
* Build the link element for a single tab.
|
||||
* @param tab
|
||||
*/
|
||||
protected __buildLink(tab: Tab): void;
|
||||
/**
|
||||
* Build the icon element for a tab if the icon data is given.
|
||||
*/
|
||||
protected __buildIcon(tab: Tab): void;
|
||||
/**
|
||||
* Remove tabs from the control and destroy the file host.
|
||||
* @param tabs
|
||||
*/
|
||||
protected __removeTabs(tabs: Tab[] | null | undefined, destroy?: boolean): void;
|
||||
/**
|
||||
* Get AccessConfig with injected access rights of the navigation elements
|
||||
*/
|
||||
getAccessConfig(): TcHmi.AccessControl[];
|
||||
/**
|
||||
* get access rights of the tab items
|
||||
* @param items items structure
|
||||
* @param accesList List of accesData
|
||||
*/
|
||||
protected __getSubRights(items: Tab[], accessList: TcHmi.AccessControl[]): TcHmi.AccessControl[];
|
||||
/**
|
||||
* Our navigation-only rights should be default true
|
||||
* @param name Name of the navigation-only right (?) to check
|
||||
*/
|
||||
getDescriptionAccessByName(name: string): TcHmi.Controls.ControlAccessDescription | null;
|
||||
/**
|
||||
* Sets the content value and calls the associated process function (processTabs).
|
||||
* @param valueNew The new value for the tabs attribute.
|
||||
*/
|
||||
setTabs(valueNew: Tab[] | null): void;
|
||||
/**
|
||||
* The watch callback for the tabs object resolver.
|
||||
*/
|
||||
protected __onResolverForTabsWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject<Tab[]>): void;
|
||||
/**
|
||||
* Returns the current value of the tabs attribute.
|
||||
*/
|
||||
getTabs(): Tab[] | null | undefined;
|
||||
/**
|
||||
* Processes the tabs.
|
||||
*/
|
||||
protected __processTabs(): void;
|
||||
/**
|
||||
* Sets the TabAlignment attribute.
|
||||
* @param valueNew The new value for TabAlignment.
|
||||
*/
|
||||
setTabAlignment(valueNew: ContentTabs.TabAlignment | null): void;
|
||||
/**
|
||||
* Returns the current value of TabAlignment.
|
||||
*/
|
||||
getTabAlignment(): ContentTabs.TabAlignment | null | undefined;
|
||||
/**
|
||||
* Processes the current value of attribute TabAlignment.
|
||||
*/
|
||||
protected __processTabAlignment(): void;
|
||||
/**
|
||||
* Sets the activeTabName value and calls the associated process function (processActiveTabName).
|
||||
* @param valueNew The new value for activeTabName.
|
||||
*/
|
||||
setActiveTabName(valueNew: string | null): void;
|
||||
/**
|
||||
* Returns the current value of ActiveTabName.
|
||||
*/
|
||||
getActiveTabName(): string | null | undefined;
|
||||
protected __processActiveTabName(): void;
|
||||
/**
|
||||
* Sets the initialTabName value and calls the associated process function (processInitialTabName).
|
||||
* @param valueNew The new value for initialTabName.
|
||||
*/
|
||||
setInitialTabName(valueNew: string | null): void;
|
||||
/**
|
||||
* Returns the current value of initialTabName.
|
||||
*/
|
||||
getInitialTabName(): string | null | undefined;
|
||||
/**
|
||||
* Processes the current border-radius attribute.
|
||||
*/
|
||||
protected __processBorderRadius(): void;
|
||||
/**
|
||||
* Sets the textHorizontalAlignment value and calls the associated process function (processTextHorizontalAlignment).
|
||||
* @param valueNew The new value for textHorizontalAlignment.
|
||||
*/
|
||||
setTextHorizontalAlignment(valueNew: TcHmi.HorizontalAlignment | null): void;
|
||||
/**
|
||||
* Returns the current value of horizontalTextAligment.
|
||||
*/
|
||||
getTextHorizontalAlignment(): TcHmi.HorizontalAlignment | null | undefined;
|
||||
/**
|
||||
* Processes the current textHorizontalAlignment attribute value.
|
||||
*/
|
||||
protected __processTextHorizontalAlignment(): void;
|
||||
/**
|
||||
* Sets the textVerticalAlignment value and calls the associated process function (processTextVerticalAlignment).
|
||||
* @param valueNew The new value for textVerticalAlignment.
|
||||
*/
|
||||
setTextVerticalAlignment(valueNew: TcHmi.VerticalAlignment | null): void;
|
||||
/**
|
||||
* Returns the current value of textVerticalAlignment.
|
||||
*/
|
||||
getTextVerticalAlignment(): TcHmi.VerticalAlignment | null | undefined;
|
||||
/**
|
||||
* Processes the current textVerticalAlignment attribute value.
|
||||
*/
|
||||
protected __processTextVerticalAlignment(): void;
|
||||
/**
|
||||
* Sets the font size and calls the associated process function (processTextFontSize).
|
||||
* @param valueNew The new value for textFontSize.
|
||||
*/
|
||||
setTextFontSize(valueNew: number | null): void;
|
||||
/**
|
||||
* Returns the current value of textFontSize.
|
||||
*/
|
||||
getTextFontSize(): number | undefined;
|
||||
/**
|
||||
* Processes the current textFontSize attribute value.
|
||||
*/
|
||||
protected __processTextFontSize(): void;
|
||||
/**
|
||||
* Sets the font size and calls the associated process function (processTextFontSizeUnit).
|
||||
* @param valueNew The new value for textFontSizeUnit.
|
||||
*/
|
||||
setTextFontSizeUnit(valueNew: TcHmi.FontSizeUnit | null): void;
|
||||
/**
|
||||
* Returns the current value of textFontSizeUnit.
|
||||
*/
|
||||
getTextFontSizeUnit(): TcHmi.FontSizeUnit | undefined;
|
||||
/**
|
||||
* Processes the current textFontSizeUnit attribute value.
|
||||
*/
|
||||
protected __processTextFontSizeUnit(): void;
|
||||
/**
|
||||
* Sets the font family and calls the associated process function (processTextFontFamily).
|
||||
* @param valueNew The new value for textFontFamily.
|
||||
*/
|
||||
setTextFontFamily(valueNew: TcHmi.FontFamily | null): void;
|
||||
/**
|
||||
* Returns the current value of textFontFamily.
|
||||
*/
|
||||
getTextFontFamily(): string | null | undefined;
|
||||
/**
|
||||
* Processes the current textFontFamily attribute value.
|
||||
*/
|
||||
protected __processTextFontFamily(): void;
|
||||
/**
|
||||
* Sets the font style and calls the associated process function (processTextFontStyle).
|
||||
* @param valueNew The new value for textFontStyle.
|
||||
*/
|
||||
setTextFontStyle(valueNew: TcHmi.FontStyle | null): void;
|
||||
/**
|
||||
* Returns the current value of textFontStyle.
|
||||
*/
|
||||
getTextFontStyle(): TcHmi.FontStyle | undefined;
|
||||
/**
|
||||
* Processes the current textFontStyle attribute value.
|
||||
*/
|
||||
protected __processTextFontStyle(): void;
|
||||
/**
|
||||
* Sets the font weight and calls the associated process function (processTextFontWeight).
|
||||
* @param valueNew The new value for textFontWeight.
|
||||
*/
|
||||
setTextFontWeight(valueNew: TcHmi.FontWeight | null): void;
|
||||
/**
|
||||
* Returns the current value of textFontWeight.
|
||||
*/
|
||||
getTextFontWeight(): TcHmi.FontWeight | undefined;
|
||||
/**
|
||||
* Processes the current textFontWeight attribute value.
|
||||
*/
|
||||
protected __processTextFontWeight(): void;
|
||||
/**
|
||||
* Sets the value of the member variable "textPadding" if the new value is not equal to the current value
|
||||
* and calls the associated process function (processTextPadding) after that.
|
||||
* @param valueNew The new value for textPadding.
|
||||
*/
|
||||
setTextPadding(valueNew: TcHmi.FourSidedCss | null): void;
|
||||
/**
|
||||
* The watch callback for the textPadding object resolver.
|
||||
*/
|
||||
protected __onResolverForTextPaddingWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject<TcHmi.FourSidedCss>): void;
|
||||
/**
|
||||
* Returns the current value of the member variable textPadding.
|
||||
*/
|
||||
getTextPadding(): TcHmi.FourSidedCss | null | undefined;
|
||||
/**
|
||||
* Processes the current value of textPadding and forwards it to the target span element in template html.
|
||||
* The current value of textPadding is only forwarded if it is no binding expression.
|
||||
*/
|
||||
protected __processTextPadding(): void;
|
||||
/**
|
||||
* Processes the current background-color attribute.
|
||||
*/
|
||||
protected __processBackgroundColor(): void;
|
||||
/**
|
||||
* Sets the text color and calls the associated process function (processTabTextColor).
|
||||
* @param valueNew The new value for tabTextColor.
|
||||
*/
|
||||
setTabTextColor(valueNew: TcHmi.SolidColor | null): void;
|
||||
/**
|
||||
* The watch callback for the tabTextColor object resolver.
|
||||
* @param data Object containing the new value for tabTextColor
|
||||
*/
|
||||
protected __onResolverForTabTextColorWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject<TcHmi.SolidColor>): void;
|
||||
/**
|
||||
* Returns the current value of tabTextColor.
|
||||
* @returns The current value of tabTextColor.
|
||||
*/
|
||||
getTabTextColor(): TcHmi.SolidColor | null | undefined;
|
||||
/**
|
||||
* Processes the current tabTextColor attribute value.
|
||||
*/
|
||||
protected __processTabTextColor(): void;
|
||||
/**
|
||||
* Sets the text color and calls the associated process function (processActiveTabTextColor).
|
||||
* @param valueNew The new value for activeTabTextColor.
|
||||
*/
|
||||
setActiveTabTextColor(valueNew: TcHmi.SolidColor | null): void;
|
||||
/**
|
||||
* The watch callback for the activeTabTextColor object resolver.
|
||||
* @param data Object containing the new value for activeTabTextColor
|
||||
*/
|
||||
protected __onResolverForActiveTabTextColorWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject<TcHmi.SolidColor>): void;
|
||||
/**
|
||||
* Returns the current value of activeTabTextColor.
|
||||
* @returns The current value of activeTabTextColor.
|
||||
*/
|
||||
getActiveTabTextColor(): TcHmi.SolidColor | null | undefined;
|
||||
/**
|
||||
* Processes the current activeTabTextColor attribute value.
|
||||
*/
|
||||
protected __processActiveTabTextColor(): void;
|
||||
/**
|
||||
* Sets the color and calls the associated process function (processActiveTabColor).
|
||||
* @param valueNew The new value for activeTabColor.
|
||||
*/
|
||||
setActiveTabColor(valueNew: TcHmi.SolidColor | null): void;
|
||||
/**
|
||||
* The watch callback for the activeTabColor object resolver.
|
||||
* @param data Object containing the new value for activeTabColor
|
||||
*/
|
||||
protected __onResolverForActiveTabColorWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject<TcHmi.SolidColor>): void;
|
||||
/**
|
||||
* Returns the current value of activeTabColor.
|
||||
* @returns The current value of activeTabColor.
|
||||
*/
|
||||
getActiveTabColor(): TcHmi.SolidColor | null | undefined;
|
||||
/**
|
||||
* Processes the current activeTabColor attribute value.
|
||||
*/
|
||||
protected __processActiveTabColor(): void;
|
||||
/**
|
||||
* Sets the tabOverflowMode value and calls the associated process function (processTabOverflowMode).
|
||||
* @param valueNew The new value for tabOverflowMode.
|
||||
*/
|
||||
setTabOverflowMode(valueNew: ContentTabs.TabOverflowMode | null): void;
|
||||
/**
|
||||
* Returns the current value of TabOverflowMode.
|
||||
*/
|
||||
getTabOverflowMode(): ContentTabs.TabOverflowMode | null | undefined;
|
||||
/**
|
||||
* Processes the current value of attribute TabOverflowMode.
|
||||
*/
|
||||
protected __processTabOverflowMode(): void;
|
||||
}
|
||||
export interface Tab {
|
||||
name: string;
|
||||
displayName: string;
|
||||
targetFile: TargetFile;
|
||||
targetFileHostPreload: boolean;
|
||||
targetFileHostPreAttach: boolean;
|
||||
targetFileHostKeepAlive: boolean;
|
||||
accessRights?: TcHmi.AccessControl[];
|
||||
scrolling?: 'No' | 'Yes' | 'Auto';
|
||||
hidden?: boolean;
|
||||
fileHost?: TcHmi.Controls.System.TcHmiRegion | TcHmi.Controls.System.TcHmiUserControlHost;
|
||||
linkElement?: HTMLElement;
|
||||
contentElement?: HTMLElement;
|
||||
icon?: TabIcon;
|
||||
iconElement?: HTMLElement;
|
||||
}
|
||||
export type TargetFile = TcHmi.Controls.System.TcHmiPopup.TargetFile;
|
||||
export interface TabIcon {
|
||||
iconPath: string;
|
||||
iconWidth?: number;
|
||||
iconWidthUnit?: 'px' | '%';
|
||||
iconHeight?: number;
|
||||
iconHeightUnit?: 'px' | '%';
|
||||
}
|
||||
export { TcHmiTabNavigation as Control };
|
||||
declare const _TcHmiTabNavigation: typeof TcHmiTabNavigation;
|
||||
type tTcHmiTabNavigation = TcHmiTabNavigation;
|
||||
type tTab = Tab;
|
||||
type tTargetFile = TargetFile;
|
||||
type tTabIcon = TabIcon;
|
||||
declare global {
|
||||
namespace TcHmi.Controls.Beckhoff {
|
||||
const TcHmiTabNavigation: typeof _TcHmiTabNavigation;
|
||||
type TcHmiTabNavigation = tTcHmiTabNavigation;
|
||||
namespace TcHmiTabNavigation {
|
||||
type Tab = tTab;
|
||||
type TargetFile = tTargetFile;
|
||||
type TabIcon = tTabIcon;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
<div class="TcHmi_Controls_Beckhoff_TcHmiTabNavigation-template tchmi-box">
|
||||
<tchmi-content-tabs class="TcHmi_Controls_Beckhoff_TcHmiTabNavigation-content-tabs">
|
||||
<tchmi-tab-links> </tchmi-tab-links>
|
||||
<tchmi-tab-contents> </tchmi-tab-contents>
|
||||
</tchmi-content-tabs>
|
||||
</div>
|
||||
@@ -0,0 +1,4 @@
|
||||
/** Styles for the theme: Base-Dark */
|
||||
.TcHmi_Controls_Beckhoff_TcHmiTabNavigation {
|
||||
box-shadow: var(--tchmi-card-shadow);
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
/** Styles for the theme: Base */
|
||||
.TcHmi_Controls_Beckhoff_TcHmiTabNavigation {
|
||||
box-shadow: var(--tchmi-card-shadow);
|
||||
}
|
||||
Reference in New Issue
Block a user