@anglr/dynamic 1.0.0-beta.20231009101926 → 1.0.0-beta.20231010100212
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es2015/material-components/src/dynamicItems/index.js +1 -0
- package/es2015/material-components/src/dynamicItems/index.js.map +1 -1
- package/es2015/material-components/src/dynamicItems/tab/index.js +2 -0
- package/es2015/material-components/src/dynamicItems/tab/index.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tab/metadata/tab.layoutMetadata.js +62 -0
- package/es2015/material-components/src/dynamicItems/tab/metadata/tab.layoutMetadata.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tab/metadata/tab.model.js +11 -0
- package/es2015/material-components/src/dynamicItems/tab/metadata/tab.model.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tab/metadata/tab.relationsMetadata.js +24 -0
- package/es2015/material-components/src/dynamicItems/tab/metadata/tab.relationsMetadata.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tab/node/tabNode.component.js +19 -0
- package/es2015/material-components/src/dynamicItems/tab/node/tabNode.component.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tab/tab.component.js +100 -0
- package/es2015/material-components/src/dynamicItems/tab/tab.component.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tab/tab.metadata.js +10 -0
- package/es2015/material-components/src/dynamicItems/tab/tab.metadata.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tab/tab.options.js +2 -0
- package/es2015/material-components/src/dynamicItems/tab/tab.options.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tab/type.js +6 -0
- package/es2015/material-components/src/dynamicItems/tab/type.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/index.js +2 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/index.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/metadata/tabGroup.layoutMetadata.js +46 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/metadata/tabGroup.layoutMetadata.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/metadata/tabGroup.model.js +21 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/metadata/tabGroup.model.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/misc/components/index.js +2 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/misc/components/index.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/misc/components/tabGroupPropertiesControl/tabGroupPropertiesControl.component.js +74 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/misc/components/tabGroupPropertiesControl/tabGroupPropertiesControl.component.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/tabGroup.component.js +111 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/tabGroup.component.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/tabGroup.metadata.js +6 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/tabGroup.metadata.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/tabGroup.options.js +2 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/tabGroup.options.js.map +1 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/type.js +5 -0
- package/es2015/material-components/src/dynamicItems/tabGroup/type.js.map +1 -0
- package/es2015/material-components/src/types.js +1 -0
- package/es2015/material-components/src/types.js.map +1 -1
- package/es2020/material-components/src/dynamicItems/index.js +1 -0
- package/es2020/material-components/src/dynamicItems/index.js.map +1 -1
- package/es2020/material-components/src/dynamicItems/tab/index.js +2 -0
- package/es2020/material-components/src/dynamicItems/tab/index.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tab/metadata/tab.layoutMetadata.js +60 -0
- package/es2020/material-components/src/dynamicItems/tab/metadata/tab.layoutMetadata.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tab/metadata/tab.model.js +11 -0
- package/es2020/material-components/src/dynamicItems/tab/metadata/tab.model.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tab/metadata/tab.relationsMetadata.js +24 -0
- package/es2020/material-components/src/dynamicItems/tab/metadata/tab.relationsMetadata.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tab/node/tabNode.component.js +19 -0
- package/es2020/material-components/src/dynamicItems/tab/node/tabNode.component.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tab/tab.component.js +98 -0
- package/es2020/material-components/src/dynamicItems/tab/tab.component.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tab/tab.metadata.js +9 -0
- package/es2020/material-components/src/dynamicItems/tab/tab.metadata.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tab/tab.options.js +2 -0
- package/es2020/material-components/src/dynamicItems/tab/tab.options.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tab/type.js +6 -0
- package/es2020/material-components/src/dynamicItems/tab/type.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/index.js +2 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/index.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/metadata/tabGroup.layoutMetadata.js +46 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/metadata/tabGroup.layoutMetadata.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/metadata/tabGroup.model.js +21 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/metadata/tabGroup.model.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/misc/components/index.js +2 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/misc/components/index.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/misc/components/tabGroupPropertiesControl/tabGroupPropertiesControl.component.js +67 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/misc/components/tabGroupPropertiesControl/tabGroupPropertiesControl.component.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/tabGroup.component.js +108 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/tabGroup.component.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/tabGroup.metadata.js +5 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/tabGroup.metadata.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/tabGroup.options.js +2 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/tabGroup.options.js.map +1 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/type.js +5 -0
- package/es2020/material-components/src/dynamicItems/tabGroup/type.js.map +1 -0
- package/es2020/material-components/src/types.js +1 -0
- package/es2020/material-components/src/types.js.map +1 -1
- package/material-components/src/dynamicItems/index.d.ts +1 -0
- package/material-components/src/dynamicItems/index.d.ts.map +1 -1
- package/material-components/src/dynamicItems/tab/index.d.ts +2 -0
- package/material-components/src/dynamicItems/tab/index.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tab/metadata/tab.layoutMetadata.d.ts +31 -0
- package/material-components/src/dynamicItems/tab/metadata/tab.layoutMetadata.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tab/metadata/tab.model.d.ts +13 -0
- package/material-components/src/dynamicItems/tab/metadata/tab.model.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tab/metadata/tab.relationsMetadata.d.ts +17 -0
- package/material-components/src/dynamicItems/tab/metadata/tab.relationsMetadata.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tab/node/tabNode.component.d.ts +10 -0
- package/material-components/src/dynamicItems/tab/node/tabNode.component.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tab/node/tabNode.component.html +12 -0
- package/material-components/src/dynamicItems/tab/tab.component.d.ts +47 -0
- package/material-components/src/dynamicItems/tab/tab.component.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tab/tab.component.html +3 -0
- package/material-components/src/dynamicItems/tab/tab.metadata.d.ts +13 -0
- package/material-components/src/dynamicItems/tab/tab.metadata.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tab/tab.options.d.ts +11 -0
- package/material-components/src/dynamicItems/tab/tab.options.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tab/type.d.ts +6 -0
- package/material-components/src/dynamicItems/tab/type.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tabGroup/index.d.ts +2 -0
- package/material-components/src/dynamicItems/tabGroup/index.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tabGroup/metadata/tabGroup.layoutMetadata.d.ts +22 -0
- package/material-components/src/dynamicItems/tabGroup/metadata/tabGroup.layoutMetadata.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tabGroup/metadata/tabGroup.model.d.ts +9 -0
- package/material-components/src/dynamicItems/tabGroup/metadata/tabGroup.model.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tabGroup/misc/components/index.d.ts +2 -0
- package/material-components/src/dynamicItems/tabGroup/misc/components/index.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tabGroup/misc/components/tabGroupPropertiesControl/tabGroupPropertiesControl.component.d.ts +34 -0
- package/material-components/src/dynamicItems/tabGroup/misc/components/tabGroupPropertiesControl/tabGroupPropertiesControl.component.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tabGroup/misc/components/tabGroupPropertiesControl/tabGroupPropertiesControl.component.html +16 -0
- package/material-components/src/dynamicItems/tabGroup/tabGroup.component.d.ts +44 -0
- package/material-components/src/dynamicItems/tabGroup/tabGroup.component.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tabGroup/tabGroup.component.html +5 -0
- package/material-components/src/dynamicItems/tabGroup/tabGroup.metadata.d.ts +8 -0
- package/material-components/src/dynamicItems/tabGroup/tabGroup.metadata.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tabGroup/tabGroup.options.d.ts +24 -0
- package/material-components/src/dynamicItems/tabGroup/tabGroup.options.d.ts.map +1 -0
- package/material-components/src/dynamicItems/tabGroup/type.d.ts +5 -0
- package/material-components/src/dynamicItems/tabGroup/type.d.ts.map +1 -0
- package/material-components/src/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/version.bak +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../material-components/src/dynamicItems/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './checkbox';\nexport * from './datepicker';\nexport * from './numberField';\nexport * from './period';\nexport * from './radio';\nexport * from './select';\nexport * from './textarea';\nexport * from './textField';\nexport * from './expansionPanel';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../material-components/src/dynamicItems/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC","sourcesContent":["export * from './checkbox';\nexport * from './datepicker';\nexport * from './numberField';\nexport * from './period';\nexport * from './radio';\nexport * from './select';\nexport * from './textarea';\nexport * from './textField';\nexport * from './expansionPanel';\nexport * from './tabGroup';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../material-components/src/dynamicItems/tab/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC","sourcesContent":["export * from './tab.options';\n"]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ComponentStylingModel, ComponentStylingPropertiesControlComponent } from '@anglr/dynamic/layout-editor';
|
|
2
|
+
import { MaterialTabModel } from './tab.model';
|
|
3
|
+
/**
|
|
4
|
+
* Material expansion panel layout metadata
|
|
5
|
+
*/
|
|
6
|
+
export class MaterialTabLayoutEditorMetadata {
|
|
7
|
+
//######################### constructor #########################
|
|
8
|
+
constructor() {
|
|
9
|
+
//######################### public properties - implementation of LayoutEditorMetadataDescriptor #########################
|
|
10
|
+
/**
|
|
11
|
+
* @inheritdoc
|
|
12
|
+
*/
|
|
13
|
+
this.metaInfo = {
|
|
14
|
+
name: 'Tabs',
|
|
15
|
+
description: 'Material tabs',
|
|
16
|
+
group: 'Material',
|
|
17
|
+
optionsMetadata: {
|
|
18
|
+
propertiesMetadata: [
|
|
19
|
+
{
|
|
20
|
+
modelType: ComponentStylingModel,
|
|
21
|
+
propertiesControls: [
|
|
22
|
+
ComponentStylingPropertiesControlComponent,
|
|
23
|
+
],
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
modelType: MaterialTabModel,
|
|
27
|
+
propertiesControls: [
|
|
28
|
+
// genericPropertiesControlFor<MaterialExpansionPanelModel>(['title', 'description', 'expanded'])
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* @inheritdoc
|
|
36
|
+
*/
|
|
37
|
+
this.addDescendant = (metadata, options, index) => {
|
|
38
|
+
var _a;
|
|
39
|
+
(_a = options.children) !== null && _a !== void 0 ? _a : (options.children = []);
|
|
40
|
+
options.children.splice(index, 0, metadata);
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* @inheritdoc
|
|
44
|
+
*/
|
|
45
|
+
this.canDropMetadata = () => true;
|
|
46
|
+
/**
|
|
47
|
+
* @inheritdoc
|
|
48
|
+
*/
|
|
49
|
+
this.getChildrenContainer = element => element.querySelector('.mat-expansion-panel-body');
|
|
50
|
+
/**
|
|
51
|
+
* @inheritdoc
|
|
52
|
+
*/
|
|
53
|
+
this.removeDescendant = (id, options) => {
|
|
54
|
+
var _a;
|
|
55
|
+
(_a = options.children) !== null && _a !== void 0 ? _a : (options.children = []);
|
|
56
|
+
const index = options.children.findIndex(itm => itm.id === id);
|
|
57
|
+
options.children.splice(index, 1);
|
|
58
|
+
};
|
|
59
|
+
Object.freeze(this);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=tab.layoutMetadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab.layoutMetadata.js","sourceRoot":"","sources":["../../../../../../material-components/src/dynamicItems/tab/metadata/tab.layoutMetadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,qBAAqB,EAAE,0CAA0C,EAA2D,MAAM,8BAA8B,CAAC;AAIzK,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAG7C;;GAEG;AACH,MAAM,OAAO,+BAA+B;IA+DxC,iEAAiE;IACjE;QA9DA,0HAA0H;QAE1H;;WAEG;QACI,aAAQ,GACf;YACI,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,eAAe;YAC5B,KAAK,EAAE,UAAU;YACjB,eAAe,EACf;gBACI,kBAAkB,EAClB;oBACI;wBACI,SAAS,EAAE,qBAAqB;wBAChC,kBAAkB,EAClB;4BACI,0CAA0C;yBAC7C;qBACJ;oBACD;wBACI,SAAS,EAAE,gBAAgB;wBAC3B,kBAAkB,EAClB;wBACI,iGAAiG;yBACpG;qBACJ;iBACJ;aACJ;SACJ,CAAC;QAEF;;WAEG;QACI,kBAAa,GAA4E,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;;YAEzH,MAAA,OAAO,CAAC,QAAQ,oCAAhB,OAAO,CAAC,QAAQ,GAAK,EAAE,EAAC;YACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC,CAAC;QAEF;;WAEG;QACI,oBAAe,GAAiE,GAAG,EAAE,CAAC,IAAI,CAAC;QAElG;;WAEG;QACI,yBAAoB,GAAmC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;QAE5H;;WAEG;QACI,qBAAgB,GAAmD,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;;YAEtF,MAAA,OAAO,CAAC,QAAQ,oCAAhB,OAAO,CAAC,QAAQ,GAAK,EAAE,EAAC;YACxB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC,CAAA;QAKG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;CACJ","sourcesContent":["import {LayoutComponentMetadata} from '@anglr/dynamic/layout';\nimport {ComponentStylingModel, ComponentStylingPropertiesControlComponent, LayoutEditorMetadataDescriptor, LayoutEditorMetadataInfo} from '@anglr/dynamic/layout-editor';\nimport {Action, Func} from '@jscrpt/common';\n\nimport {MaterialTabComponentOptions} from '../tab.options';\nimport {MaterialTabModel} from './tab.model';\n\n\n/**\n * Material expansion panel layout metadata\n */\nexport class MaterialTabLayoutEditorMetadata implements LayoutEditorMetadataDescriptor<MaterialTabComponentOptions>\n{\n //######################### public properties - implementation of LayoutEditorMetadataDescriptor #########################\n\n /**\n * @inheritdoc\n */\n public metaInfo?: LayoutEditorMetadataInfo =\n {\n name: 'Tabs',\n description: 'Material tabs',\n group: 'Material',\n optionsMetadata:\n {\n propertiesMetadata:\n [\n {\n modelType: ComponentStylingModel,\n propertiesControls: \n [\n ComponentStylingPropertiesControlComponent,\n ],\n },\n {\n modelType: MaterialTabModel,\n propertiesControls: \n [\n // genericPropertiesControlFor<MaterialExpansionPanelModel>(['title', 'description', 'expanded'])\n ],\n },\n ]\n }\n };\n\n /**\n * @inheritdoc\n */\n public addDescendant?: Action<[LayoutComponentMetadata, MaterialTabComponentOptions, number]> = (metadata, options, index) =>\n {\n options.children ??= [];\n options.children.splice(index, 0, metadata);\n };\n\n /**\n * @inheritdoc\n */\n public canDropMetadata?: Func<boolean, [MaterialTabComponentOptions|undefined|null]> = () => true;\n\n /**\n * @inheritdoc\n */\n public getChildrenContainer?: Func<Element|null, [Element]> = element => element.querySelector('.mat-expansion-panel-body');\n\n /**\n * @inheritdoc\n */\n public removeDescendant?: Action<[string, MaterialTabComponentOptions]> = (id, options) =>\n {\n options.children ??= [];\n const index = options.children.findIndex(itm => itm.id === id);\n options.children.splice(index, 1);\n }\n\n //######################### constructor #########################\n constructor()\n {\n Object.freeze(this);\n }\n}"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { mapValuesToThis } from '@jscrpt/common';
|
|
2
|
+
/**
|
|
3
|
+
* Material tab model for properties editor
|
|
4
|
+
*/
|
|
5
|
+
export class MaterialTabModel {
|
|
6
|
+
//######################### constructor #########################
|
|
7
|
+
constructor(value) {
|
|
8
|
+
mapValuesToThis.bind(this)(value);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=tab.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab.model.js","sourceRoot":"","sources":["../../../../../../material-components/src/dynamicItems/tab/metadata/tab.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAI/C;;GAEG;AACH,MAAM,OAAO,gBAAgB;IASzB,iEAAiE;IACjE,YAAY,KAAiD;QAEzD,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;CACJ","sourcesContent":["import {LayoutComponentMetadata} from '@anglr/dynamic/layout';\nimport {mapValuesToThis} from '@jscrpt/common';\n\nimport {MaterialTabComponentOptions} from '../tab.options';\n\n/**\n * Material tab model for properties editor\n */\nexport class MaterialTabModel implements MaterialTabComponentOptions\n{\n //######################### public properties #########################\n\n /**\n * @inheritdoc\n */\n public children: LayoutComponentMetadata[]|undefined|null;\n\n //######################### constructor #########################\n constructor(value: MaterialTabComponentOptions|undefined|null)\n {\n mapValuesToThis.bind(this)(value);\n }\n}"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { MaterialTabNodeSAComponent } from '../node/tabNode.component';
|
|
2
|
+
/**
|
|
3
|
+
* Material tab relations metadata
|
|
4
|
+
*/
|
|
5
|
+
export class MaterialTabRelationsEditorMetadata {
|
|
6
|
+
//######################### constructor #########################
|
|
7
|
+
constructor() {
|
|
8
|
+
//######################### public properties - implementation of RelationsEditorMetadataDescriptor #########################
|
|
9
|
+
/**
|
|
10
|
+
* @inheritdoc
|
|
11
|
+
*/
|
|
12
|
+
this.metaInfo = {
|
|
13
|
+
name: 'Tab',
|
|
14
|
+
description: 'Material tab',
|
|
15
|
+
group: 'Material',
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* @inheritdoc
|
|
19
|
+
*/
|
|
20
|
+
this.nodeDefinition = MaterialTabNodeSAComponent;
|
|
21
|
+
Object.freeze(this);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=tab.relationsMetadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab.relationsMetadata.js","sourceRoot":"","sources":["../../../../../../material-components/src/dynamicItems/tab/metadata/tab.relationsMetadata.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,0BAA0B,EAAC,MAAM,2BAA2B,CAAC;AAErE;;GAEG;AACH,MAAM,OAAO,kCAAkC;IAmB3C,iEAAiE;IACjE;QAlBA,6HAA6H;QAE7H;;WAEG;QACI,aAAQ,GACf;YACI,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,cAAc;YAC3B,KAAK,EAAE,UAAU;SACpB,CAAC;QAEF;;WAEG;QACI,mBAAc,GAAwB,0BAA0B,CAAC;QAKpE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;CACJ","sourcesContent":["import {Type} from '@angular/core';\nimport {RelationsEditorMetadataDescriptor, RelationsEditorMetadataInfo, RelationsNode} from '@anglr/dynamic/relations-editor';\n\nimport {MaterialTabNodeSAComponent} from '../node/tabNode.component';\n\n/**\n * Material tab relations metadata\n */\nexport class MaterialTabRelationsEditorMetadata implements RelationsEditorMetadataDescriptor\n{\n //######################### public properties - implementation of RelationsEditorMetadataDescriptor #########################\n\n /**\n * @inheritdoc\n */\n public metaInfo?: RelationsEditorMetadataInfo =\n {\n name: 'Tab',\n description: 'Material tab',\n group: 'Material',\n };\n\n /**\n * @inheritdoc\n */\n public nodeDefinition: Type<RelationsNode> = MaterialTabNodeSAComponent;\n\n //######################### constructor #########################\n constructor()\n {\n Object.freeze(this);\n }\n}"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { RelationsNodeBase, RelationNodeInputSAComponent, RelationNodeOutputSAComponent, RelationsNodeHeaderSAComponent } from '@anglr/dynamic/relations-editor';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Relations node component for material tab
|
|
6
|
+
*/
|
|
7
|
+
export class MaterialTabNodeSAComponent extends RelationsNodeBase {
|
|
8
|
+
}
|
|
9
|
+
MaterialTabNodeSAComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: MaterialTabNodeSAComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
MaterialTabNodeSAComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: MaterialTabNodeSAComponent, isStandalone: true, selector: "material-tab-node", usesInheritance: true, ngImport: i0, template: "<relations-node-header [parent]=\"this\" [destroySubject]=\"destroySubject\"></relations-node-header>\n\n<div class=\"node-content\">\n <div class=\"inputs-outputs\">\n <div class=\"inputs\">\n <div class=\"input\">\n <relation-node-input [parentCoordiantes]=\"nodePosition\" [zoomLevel]=\"zoomLevel\" name=\"visible\" [parent]=\"this\"></relation-node-input>\n <div>visible</div>\n </div>\n </div>\n </div>\n</div>", dependencies: [{ kind: "component", type: RelationsNodeHeaderSAComponent, selector: "relations-node-header", inputs: ["parent", "destroySubject", "name"] }, { kind: "component", type: RelationNodeInputSAComponent, selector: "relation-node-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: MaterialTabNodeSAComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: 'material-tab-node', standalone: true, imports: [
|
|
14
|
+
RelationsNodeHeaderSAComponent,
|
|
15
|
+
RelationNodeInputSAComponent,
|
|
16
|
+
RelationNodeOutputSAComponent,
|
|
17
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<relations-node-header [parent]=\"this\" [destroySubject]=\"destroySubject\"></relations-node-header>\n\n<div class=\"node-content\">\n <div class=\"inputs-outputs\">\n <div class=\"inputs\">\n <div class=\"input\">\n <relation-node-input [parentCoordiantes]=\"nodePosition\" [zoomLevel]=\"zoomLevel\" name=\"visible\" [parent]=\"this\"></relation-node-input>\n <div>visible</div>\n </div>\n </div>\n </div>\n</div>" }]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=tabNode.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabNode.component.js","sourceRoot":"","sources":["../../../../../../material-components/src/dynamicItems/tab/node/tabNode.component.ts","../../../../../../material-components/src/dynamicItems/tab/node/tabNode.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,uBAAuB,EAAC,MAAM,eAAe,CAAC;AACjE,OAAO,EAAgB,iBAAiB,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,8BAA8B,EAAC,MAAM,iCAAiC,CAAC;;AAE9K;;GAEG;AAcH,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;;uHAApD,0BAA0B;2GAA1B,0BAA0B,oGCnBvC,yeAWM,4CDEE,8BAA8B,gHAC9B,4BAA4B;2FAKvB,0BAA0B;kBAbtC,SAAS;+BAEI,mBAAmB,cAEjB,IAAI,WAEhB;wBACI,8BAA8B;wBAC9B,4BAA4B;wBAC5B,6BAA6B;qBAChC,mBACgB,uBAAuB,CAAC,MAAM","sourcesContent":["import {Component, ChangeDetectionStrategy} from '@angular/core';\nimport {RelationsNode, RelationsNodeBase, RelationNodeInputSAComponent, RelationNodeOutputSAComponent, RelationsNodeHeaderSAComponent} from '@anglr/dynamic/relations-editor';\n\n/**\n * Relations node component for material tab\n */\n@Component(\n{\n selector: 'material-tab-node',\n templateUrl: 'tabNode.component.html',\n standalone: true,\n imports:\n [\n RelationsNodeHeaderSAComponent,\n RelationNodeInputSAComponent,\n RelationNodeOutputSAComponent,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MaterialTabNodeSAComponent extends RelationsNodeBase implements RelationsNode\n{\n}","<relations-node-header [parent]=\"this\" [destroySubject]=\"destroySubject\"></relations-node-header>\n\n<div class=\"node-content\">\n <div class=\"inputs-outputs\">\n <div class=\"inputs\">\n <div class=\"input\">\n <relation-node-input [parentCoordiantes]=\"nodePosition\" [zoomLevel]=\"zoomLevel\" name=\"visible\" [parent]=\"this\"></relation-node-input>\n <div>visible</div>\n </div>\n </div>\n </div>\n</div>"]}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Component, ChangeDetectionStrategy, ChangeDetectorRef, ElementRef, Injector, Inject, Optional, Input } from '@angular/core';
|
|
3
|
+
import { MAT_TAB, MatTab, MatTabsModule } from '@angular/material/tabs';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import { LayoutComponentBase, LayoutComponentRendererSADirective } from '@anglr/dynamic/layout';
|
|
6
|
+
import { DescendantsGetter, LayoutEditorMetadata } from '@anglr/dynamic/layout-editor';
|
|
7
|
+
import { RelationsEditorMetadata } from '@anglr/dynamic/relations-editor';
|
|
8
|
+
import { HostDisplayBlockStyle } from '@anglr/common';
|
|
9
|
+
import { MaterialTabLayoutMetadataLoader, MaterialTabRelationsMetadataLoader } from './tab.metadata';
|
|
10
|
+
import { MATERIAL_TAB_GROUP, MaterialTabGroupSAComponent } from '../tabGroup/tabGroup.component';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@angular/common";
|
|
13
|
+
import * as i2 from "../tabGroup/tabGroup.component";
|
|
14
|
+
import * as i3 from "@angular/material/tabs";
|
|
15
|
+
/**
|
|
16
|
+
* Component used for displaying toggle panel layout
|
|
17
|
+
*/
|
|
18
|
+
let MaterialTabSAComponent = class MaterialTabSAComponent extends LayoutComponentBase {
|
|
19
|
+
//######################### public properties - inputs #########################
|
|
20
|
+
/**
|
|
21
|
+
* Indication whether tab is visible
|
|
22
|
+
*/
|
|
23
|
+
set visible(visible) {
|
|
24
|
+
this._visible = visible;
|
|
25
|
+
if (this.visible) {
|
|
26
|
+
this.showTab();
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this.hideTab();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
get visible() {
|
|
33
|
+
return this._visible;
|
|
34
|
+
}
|
|
35
|
+
//######################### constructor #########################
|
|
36
|
+
constructor(changeDetector, componentElement, injector, _closestTabGroup, _closestTab) {
|
|
37
|
+
super(changeDetector, componentElement, injector);
|
|
38
|
+
this._closestTabGroup = _closestTabGroup;
|
|
39
|
+
this._closestTab = _closestTab;
|
|
40
|
+
}
|
|
41
|
+
//######################### protected - overrides #########################
|
|
42
|
+
/**
|
|
43
|
+
* @inheritdoc
|
|
44
|
+
*/
|
|
45
|
+
onOptionsSet() { }
|
|
46
|
+
/**
|
|
47
|
+
* Hides tab content
|
|
48
|
+
*/
|
|
49
|
+
hideTab() {
|
|
50
|
+
var _a;
|
|
51
|
+
if (this._closestTab) {
|
|
52
|
+
this._closestTab.disabled = true;
|
|
53
|
+
}
|
|
54
|
+
(_a = this._closestTabGroup) === null || _a === void 0 ? void 0 : _a.onHideTab(this.tabGroupIndex);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Shows tab content
|
|
58
|
+
*/
|
|
59
|
+
showTab() {
|
|
60
|
+
var _a;
|
|
61
|
+
if (this._closestTab) {
|
|
62
|
+
this._closestTab.disabled = false;
|
|
63
|
+
}
|
|
64
|
+
(_a = this._closestTabGroup) === null || _a === void 0 ? void 0 : _a.invalidateVisuals();
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
MaterialTabSAComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: MaterialTabSAComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Injector }, { token: MATERIAL_TAB_GROUP, optional: true }, { token: MAT_TAB, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
+
MaterialTabSAComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: MaterialTabSAComponent, isStandalone: true, selector: "material-tab", inputs: { visible: "visible" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngFor=\"let type of options?.children\">\n <ng-template [layoutComponentRenderer]=\"type\"></ng-template>\n</ng-container>", styles: [":host{display: block;}"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: LayoutComponentRendererSADirective, selector: "[layoutComponentRenderer]", inputs: ["layoutComponentRenderer", "layoutComponentRendererInjector", "layoutComponentRendererDisableTransformer"], outputs: ["layoutComponentRendererComponentChange", "componentElementChange"], exportAs: ["layoutComponentRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
69
|
+
MaterialTabSAComponent = __decorate([
|
|
70
|
+
DescendantsGetter(options => { var _a; return (_a = options === null || options === void 0 ? void 0 : options.children) !== null && _a !== void 0 ? _a : []; }),
|
|
71
|
+
LayoutEditorMetadata(MaterialTabLayoutMetadataLoader),
|
|
72
|
+
RelationsEditorMetadata(MaterialTabRelationsMetadataLoader),
|
|
73
|
+
__metadata("design:paramtypes", [ChangeDetectorRef,
|
|
74
|
+
ElementRef,
|
|
75
|
+
Injector,
|
|
76
|
+
MaterialTabGroupSAComponent,
|
|
77
|
+
MatTab])
|
|
78
|
+
], MaterialTabSAComponent);
|
|
79
|
+
export { MaterialTabSAComponent };
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: MaterialTabSAComponent, decorators: [{
|
|
81
|
+
type: Component,
|
|
82
|
+
args: [{ selector: 'material-tab', standalone: true, imports: [
|
|
83
|
+
CommonModule,
|
|
84
|
+
MatTabsModule,
|
|
85
|
+
LayoutComponentRendererSADirective,
|
|
86
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let type of options?.children\">\n <ng-template [layoutComponentRenderer]=\"type\"></ng-template>\n</ng-container>", styles: [":host{display: block;}"] }]
|
|
87
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Injector }, { type: i2.MaterialTabGroupSAComponent, decorators: [{
|
|
88
|
+
type: Inject,
|
|
89
|
+
args: [MATERIAL_TAB_GROUP]
|
|
90
|
+
}, {
|
|
91
|
+
type: Optional
|
|
92
|
+
}] }, { type: i3.MatTab, decorators: [{
|
|
93
|
+
type: Inject,
|
|
94
|
+
args: [MAT_TAB]
|
|
95
|
+
}, {
|
|
96
|
+
type: Optional
|
|
97
|
+
}] }]; }, propDecorators: { visible: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}] } });
|
|
100
|
+
//# sourceMappingURL=tab.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab.component.js","sourceRoot":"","sources":["../../../../../material-components/src/dynamicItems/tab/tab.component.ts","../../../../../material-components/src/dynamicItems/tab/tab.component.html"],"names":[],"mappings":";AAAA,OAAO,EAAC,SAAS,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAC,MAAM,eAAe,CAAC;AACnI,OAAO,EAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAkB,mBAAmB,EAAE,kCAAkC,EAAC,MAAM,uBAAuB,CAAC;AAC/G,OAAO,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAC,uBAAuB,EAAC,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAC,+BAA+B,EAAE,kCAAkC,EAAC,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAC,kBAAkB,EAAE,2BAA2B,EAAC,MAAM,gCAAgC,CAAC;;;;;AAE/F;;GAEG;AAkBI,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,mBAAgD;IAqBxF,gFAAgF;IAEhF;;OAEG;IACH,IACW,OAAO,CAAC,OAA+B;QAE9C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,IAAI,CAAC,OAAO,EAChB;YACI,IAAI,CAAC,OAAO,EAAE,CAAC;SAClB;aAED;YACI,IAAI,CAAC,OAAO,EAAE,CAAC;SAClB;IACL,CAAC;IACD,IAAW,OAAO;QAEd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,iEAAiE;IACjE,YAAY,cAAiC,EACjC,gBAAyC,EACzC,QAAkB,EAC8B,gBAA6C,EACxD,WAAmB;QAEhE,KAAK,CAAC,cAAc,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAHM,qBAAgB,GAAhB,gBAAgB,CAA6B;QACxD,gBAAW,GAAX,WAAW,CAAQ;IAGpE,CAAC;IAED,2EAA2E;IAE3E;;OAEG;IACgB,YAAY,KAC9B,CAAC;IAEF;;OAEG;IACO,OAAO;;QAEb,IAAI,IAAI,CAAC,WAAW,EACpB;YACI,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC;SACpC;QAED,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACO,OAAO;;QAEb,IAAI,IAAI,CAAC,WAAW,EACpB;YACI,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC;SACrC;QAED,MAAA,IAAI,CAAC,gBAAgB,0CAAE,iBAAiB,EAAE,CAAC;IAC/C,CAAC;;mHAtFQ,sBAAsB,qGAgDX,kBAAkB,6BAClB,OAAO;uGAjDlB,sBAAsB,+HCjCnC,8IAEe,+EDsBP,YAAY,2JACZ,aAAa,+BACb,kCAAkC;AAO7B,sBAAsB;IAHlC,iBAAiB,CAA8B,OAAO,CAAC,EAAE,WAAC,OAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,EAAE,CAAA,EAAA,CAAC;IAClF,oBAAoB,CAAC,+BAA+B,CAAC;IACrD,uBAAuB,CAAC,kCAAkC,CAAC;qCA8C5B,iBAAiB;QACf,UAAU;QAClB,QAAQ;QACgD,2BAA2B;QAC3C,MAAM;GAjD3D,sBAAsB,CAuFlC;SAvFY,sBAAsB;2FAAtB,sBAAsB;kBAjBlC,SAAS;+BAEI,cAAc,cAGZ,IAAI,WAEhB;wBACI,YAAY;wBACZ,aAAa;wBACb,kCAAkC;qBACrC,mBACgB,uBAAuB,CAAC,MAAM;;0BAqDlC,MAAM;2BAAC,kBAAkB;;0BAAG,QAAQ;;0BACpC,MAAM;2BAAC,OAAO;;0BAAG,QAAQ;4CAtB3B,OAAO;sBADjB,KAAK","sourcesContent":["import {Component, ChangeDetectionStrategy, ChangeDetectorRef, ElementRef, Injector, Inject, Optional, Input} from '@angular/core';\nimport {MAT_TAB, MatTab, MatTabsModule} from '@angular/material/tabs';\nimport {CommonModule} from '@angular/common';\nimport {LayoutComponent, LayoutComponentBase, LayoutComponentRendererSADirective} from '@anglr/dynamic/layout';\nimport {DescendantsGetter, LayoutEditorMetadata} from '@anglr/dynamic/layout-editor';\nimport {RelationsEditorMetadata} from '@anglr/dynamic/relations-editor';\nimport {RelationsComponent} from '@anglr/dynamic/relations';\nimport {HostDisplayBlockStyle} from '@anglr/common';\n\nimport {MaterialTabComponentOptions} from './tab.options';\nimport {MaterialTabLayoutMetadataLoader, MaterialTabRelationsMetadataLoader} from './tab.metadata';\nimport {MATERIAL_TAB_GROUP, MaterialTabGroupSAComponent} from '../tabGroup/tabGroup.component';\n\n/**\n * Component used for displaying toggle panel layout\n */\n@Component(\n{\n selector: 'material-tab',\n templateUrl: 'tab.component.html',\n styles: [HostDisplayBlockStyle],\n standalone: true,\n imports:\n [\n CommonModule,\n MatTabsModule,\n LayoutComponentRendererSADirective,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n@DescendantsGetter<MaterialTabComponentOptions>(options => options?.children ?? [])\n@LayoutEditorMetadata(MaterialTabLayoutMetadataLoader)\n@RelationsEditorMetadata(MaterialTabRelationsMetadataLoader)\nexport class MaterialTabSAComponent extends LayoutComponentBase<MaterialTabComponentOptions> implements LayoutComponent<MaterialTabComponentOptions>, RelationsComponent\n{\n //######################### private properties #########################\n\n /**\n * Indication whether tab is visible\n */\n private _visible: boolean|null|undefined;\n\n //######################### public properties #########################\n\n /**\n * Material tab relation options\n */\n public relationsOptions: any;\n\n /**\n * Material tab index in parent tab group\n */\n public tabGroupIndex: number|null|undefined;\n\n //######################### public properties - inputs #########################\n\n /**\n * Indication whether tab is visible\n */\n @Input()\n public set visible(visible: boolean|null|undefined)\n {\n this._visible = visible;\n if (this.visible)\n {\n this.showTab();\n }\n else\n {\n this.hideTab();\n }\n }\n public get visible(): boolean|null|undefined\n {\n return this._visible;\n }\n\n //######################### constructor #########################\n constructor(changeDetector: ChangeDetectorRef,\n componentElement: ElementRef<HTMLElement>,\n injector: Injector,\n @Inject(MATERIAL_TAB_GROUP) @Optional() private _closestTabGroup: MaterialTabGroupSAComponent,\n @Inject(MAT_TAB) @Optional() private _closestTab: MatTab)\n {\n super(changeDetector, componentElement, injector);\n }\n\n //######################### protected - overrides #########################\n\n /**\n * @inheritdoc\n */\n protected override onOptionsSet(): void\n {}\n\n /**\n * Hides tab content\n */\n protected hideTab()\n {\n if (this._closestTab)\n {\n this._closestTab.disabled = true;\n }\n \n this._closestTabGroup?.onHideTab(this.tabGroupIndex);\n }\n\n /**\n * Shows tab content\n */\n protected showTab()\n {\n if (this._closestTab)\n {\n this._closestTab.disabled = false;\n }\n\n this._closestTabGroup?.invalidateVisuals();\n }\n}","<ng-container *ngFor=\"let type of options?.children\">\n <ng-template [layoutComponentRenderer]=\"type\"></ng-template>\n</ng-container>"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
/**
|
|
3
|
+
* Material tab layout metadata loader
|
|
4
|
+
*/
|
|
5
|
+
export const MaterialTabLayoutMetadataLoader = () => __awaiter(void 0, void 0, void 0, function* () { return new (yield import('./metadata/tab.layoutMetadata')).MaterialTabLayoutEditorMetadata(); });
|
|
6
|
+
/**
|
|
7
|
+
* Material tab relations metadata loader
|
|
8
|
+
*/
|
|
9
|
+
export const MaterialTabRelationsMetadataLoader = () => __awaiter(void 0, void 0, void 0, function* () { return new (yield import('./metadata/tab.relationsMetadata')).MaterialTabRelationsEditorMetadata(); });
|
|
10
|
+
//# sourceMappingURL=tab.metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab.metadata.js","sourceRoot":"","sources":["../../../../../material-components/src/dynamicItems/tab/tab.metadata.ts"],"names":[],"mappings":";AAMA;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAuF,GAAS,EAAE,kDAAC,OAAA,IAAI,CAAC,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC,+BAA+B,EAAE,CAAA,GAAA,CAAC;AAErO;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAA6D,GAAS,EAAE,kDAAC,OAAA,IAAI,CAAC,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC,kCAAkC,EAAE,CAAA,GAAA,CAAC","sourcesContent":["import {DynamicMetadataLoader} from '@anglr/dynamic';\nimport {LayoutEditorMetadataDescriptor} from '@anglr/dynamic/layout-editor';\nimport {RelationsEditorMetadataDescriptor} from '@anglr/dynamic/relations-editor';\n\nimport {MaterialTabComponentOptions} from './tab.options';\n\n/**\n * Material tab layout metadata loader\n */\nexport const MaterialTabLayoutMetadataLoader: DynamicMetadataLoader<LayoutEditorMetadataDescriptor<MaterialTabComponentOptions>> = async () => new (await import('./metadata/tab.layoutMetadata')).MaterialTabLayoutEditorMetadata();\n\n/**\n * Material tab relations metadata loader\n */\nexport const MaterialTabRelationsMetadataLoader: DynamicMetadataLoader<RelationsEditorMetadataDescriptor> = async () => new (await import('./metadata/tab.relationsMetadata')).MaterialTabRelationsEditorMetadata();\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab.options.js","sourceRoot":"","sources":["../../../../../material-components/src/dynamicItems/tab/tab.options.ts"],"names":[],"mappings":"","sourcesContent":["import {LayoutComponentMetadata} from '@anglr/dynamic/layout';\n\n/**\n * Options for material expansion panel component\n */\nexport interface MaterialTabComponentOptions\n{\n //######################### properties #########################\n\n /**\n * Array of children that are going to be rendered\n */\n children: LayoutComponentMetadata[]|undefined|null;\n}"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ComponentStylingExtension } from '@anglr/dynamic/layout';
|
|
2
|
+
import { RelationsRegistrationExtension } from '@anglr/dynamic/relations';
|
|
3
|
+
import { MaterialTabSAComponent } from './tab.component';
|
|
4
|
+
export default MaterialTabSAComponent;
|
|
5
|
+
export const extensions = [ComponentStylingExtension, RelationsRegistrationExtension];
|
|
6
|
+
//# sourceMappingURL=type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../../material-components/src/dynamicItems/tab/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,yBAAyB,EAAC,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAC,8BAA8B,EAAC,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAAC,sBAAsB,EAAC,MAAM,iBAAiB,CAAC;AAEvD,eAAe,sBAAsB,CAAC;AAEtC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,yBAAyB,EAAE,8BAA8B,CAAC,CAAC","sourcesContent":["import {ComponentStylingExtension} from '@anglr/dynamic/layout';\nimport {RelationsRegistrationExtension} from '@anglr/dynamic/relations';\n\nimport {MaterialTabSAComponent} from './tab.component';\n\nexport default MaterialTabSAComponent;\n\nexport const extensions = [ComponentStylingExtension, RelationsRegistrationExtension];"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../material-components/src/dynamicItems/tabGroup/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC","sourcesContent":["export * from './tabGroup.options';\n"]}
|
package/es2015/material-components/src/dynamicItems/tabGroup/metadata/tabGroup.layoutMetadata.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ComponentStylingModel, ComponentStylingPropertiesControlComponent } from '@anglr/dynamic/layout-editor';
|
|
2
|
+
import { MaterialTabGroupModel } from './tabGroup.model';
|
|
3
|
+
import { MaterialTabGroupPropertiesControlSAComponent } from '../misc/components';
|
|
4
|
+
/**
|
|
5
|
+
* Material expansion panel layout metadata
|
|
6
|
+
*/
|
|
7
|
+
export class MaterialTabGroupLayoutEditorMetadata {
|
|
8
|
+
//######################### constructor #########################
|
|
9
|
+
constructor() {
|
|
10
|
+
//######################### public properties - implementation of LayoutEditorMetadataDescriptor #########################
|
|
11
|
+
/**
|
|
12
|
+
* @inheritdoc
|
|
13
|
+
*/
|
|
14
|
+
this.metaInfo = {
|
|
15
|
+
name: 'Tabs',
|
|
16
|
+
description: 'Material tabs',
|
|
17
|
+
group: 'Material',
|
|
18
|
+
optionsMetadata: {
|
|
19
|
+
propertiesMetadata: [
|
|
20
|
+
{
|
|
21
|
+
modelType: ComponentStylingModel,
|
|
22
|
+
propertiesControls: [
|
|
23
|
+
ComponentStylingPropertiesControlComponent,
|
|
24
|
+
],
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
modelType: MaterialTabGroupModel,
|
|
28
|
+
propertiesControls: [
|
|
29
|
+
MaterialTabGroupPropertiesControlSAComponent,
|
|
30
|
+
],
|
|
31
|
+
},
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* @inheritdoc
|
|
37
|
+
*/
|
|
38
|
+
this.canDropMetadata = () => false;
|
|
39
|
+
/**
|
|
40
|
+
* @inheritdoc
|
|
41
|
+
*/
|
|
42
|
+
this.getChildrenContainer = element => element.querySelector('.mat-expansion-panel-body');
|
|
43
|
+
Object.freeze(this);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=tabGroup.layoutMetadata.js.map
|
package/es2015/material-components/src/dynamicItems/tabGroup/metadata/tabGroup.layoutMetadata.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabGroup.layoutMetadata.js","sourceRoot":"","sources":["../../../../../../material-components/src/dynamicItems/tabGroup/metadata/tabGroup.layoutMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAE,0CAA0C,EAA2D,MAAM,8BAA8B,CAAC;AAIzK,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAC,4CAA4C,EAAC,MAAM,oBAAoB,CAAC;AAGhF;;GAEG;AACH,MAAM,OAAO,oCAAoC;IA4C7C,iEAAiE;IACjE;QA3CA,0HAA0H;QAE1H;;WAEG;QACI,aAAQ,GACf;YACI,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,eAAe;YAC5B,KAAK,EAAE,UAAU;YACjB,eAAe,EACf;gBACI,kBAAkB,EAClB;oBACI;wBACI,SAAS,EAAE,qBAAqB;wBAChC,kBAAkB,EAClB;4BACI,0CAA0C;yBAC7C;qBACJ;oBACD;wBACI,SAAS,EAAE,qBAAqB;wBAChC,kBAAkB,EAClB;4BACI,4CAA4C;yBAC/C;qBACJ;iBACJ;aACJ;SACJ,CAAC;QAEF;;WAEG;QACI,oBAAe,GAAsE,GAAG,EAAE,CAAC,KAAK,CAAC;QAExG;;WAEG;QACI,yBAAoB,GAAmC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;QAKxH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;CACJ","sourcesContent":["import {ComponentStylingModel, ComponentStylingPropertiesControlComponent, LayoutEditorMetadataDescriptor, LayoutEditorMetadataInfo} from '@anglr/dynamic/layout-editor';\nimport {Func} from '@jscrpt/common';\n\nimport {MaterialTabGroupComponentOptions} from '../tabGroup.options';\nimport {MaterialTabGroupModel} from './tabGroup.model';\nimport {MaterialTabGroupPropertiesControlSAComponent} from '../misc/components';\n\n\n/**\n * Material expansion panel layout metadata\n */\nexport class MaterialTabGroupLayoutEditorMetadata implements LayoutEditorMetadataDescriptor<MaterialTabGroupComponentOptions>\n{\n //######################### public properties - implementation of LayoutEditorMetadataDescriptor #########################\n\n /**\n * @inheritdoc\n */\n public metaInfo?: LayoutEditorMetadataInfo =\n {\n name: 'Tabs',\n description: 'Material tabs',\n group: 'Material',\n optionsMetadata:\n {\n propertiesMetadata:\n [\n {\n modelType: ComponentStylingModel,\n propertiesControls: \n [\n ComponentStylingPropertiesControlComponent,\n ],\n },\n {\n modelType: MaterialTabGroupModel,\n propertiesControls: \n [\n MaterialTabGroupPropertiesControlSAComponent,\n ],\n },\n ]\n }\n };\n\n /**\n * @inheritdoc\n */\n public canDropMetadata?: Func<boolean, [MaterialTabGroupComponentOptions|undefined|null]> = () => false;\n\n /**\n * @inheritdoc\n */\n public getChildrenContainer?: Func<Element|null, [Element]> = element => element.querySelector('.mat-expansion-panel-body');\n\n //######################### constructor #########################\n constructor()\n {\n Object.freeze(this);\n }\n}"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { FormArrayChild, FormArrayProperty } from '@anglr/common/forms';
|
|
4
|
+
import { mapValuesToThis } from '@jscrpt/common';
|
|
5
|
+
/**
|
|
6
|
+
* Material tab model for properties editor
|
|
7
|
+
*/
|
|
8
|
+
export class MaterialTabGroupModel {
|
|
9
|
+
//######################### constructor #########################
|
|
10
|
+
constructor(value) {
|
|
11
|
+
//######################### public properties #########################
|
|
12
|
+
this.tabs = [];
|
|
13
|
+
mapValuesToThis.bind(this)(value);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
__decorate([
|
|
17
|
+
FormArrayChild(FormGroup),
|
|
18
|
+
FormArrayProperty(),
|
|
19
|
+
__metadata("design:type", Object)
|
|
20
|
+
], MaterialTabGroupModel.prototype, "tabs", void 0);
|
|
21
|
+
//# sourceMappingURL=tabGroup.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabGroup.model.js","sourceRoot":"","sources":["../../../../../../material-components/src/dynamicItems/tabGroup/metadata/tabGroup.model.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,cAAc,EAAE,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAI/C;;GAEG;AACH,MAAM,OAAO,qBAAqB;IAQ9B,iEAAiE;IACjE,YAAY,KAAsD;QAPlE,uEAAuE;QAIhE,SAAI,GAAyB,EAAE,CAAC;QAKnC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;CACJ;AATG;IAAC,cAAc,CAAC,SAAS,CAAC;IACzB,iBAAiB,EAAE;;mDACmB","sourcesContent":["import {FormGroup} from '@angular/forms';\nimport {FormArrayChild, FormArrayProperty} from '@anglr/common/forms';\nimport {mapValuesToThis} from '@jscrpt/common';\n\nimport {MaterialTabGroupComponentOptions, Tab} from '../tabGroup.options';\n\n/**\n * Material tab model for properties editor\n */\nexport class MaterialTabGroupModel implements MaterialTabGroupComponentOptions\n{\n //######################### public properties #########################\n\n @FormArrayChild(FormGroup)\n @FormArrayProperty()\n public tabs: Tab[]|undefined|null = [];\n\n //######################### constructor #########################\n constructor(value: MaterialTabGroupComponentOptions|undefined|null)\n {\n mapValuesToThis.bind(this)(value);\n }\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../material-components/src/dynamicItems/tabGroup/misc/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,iEAAiE,CAAC","sourcesContent":["export * from './tabGroupPropertiesControl/tabGroupPropertiesControl.component';\n"]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { FormBuilder, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { TitledDialogService } from '@anglr/common/material';
|
|
6
|
+
import { LayoutEditorMetadataExtractor, PropertiesControlBase } from '@anglr/dynamic/layout-editor';
|
|
7
|
+
import { generateId } from '@jscrpt/common';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@anglr/dynamic/layout-editor";
|
|
10
|
+
import * as i2 from "@anglr/common/material";
|
|
11
|
+
import * as i3 from "@angular/forms";
|
|
12
|
+
import * as i4 from "@angular/common";
|
|
13
|
+
/**
|
|
14
|
+
* Component used for displaying material tab group properties control
|
|
15
|
+
*/
|
|
16
|
+
export class MaterialTabGroupPropertiesControlSAComponent extends PropertiesControlBase {
|
|
17
|
+
//######################### protected properties #########################
|
|
18
|
+
/**
|
|
19
|
+
* Tabs control
|
|
20
|
+
*/
|
|
21
|
+
get tabsControl() {
|
|
22
|
+
var _a;
|
|
23
|
+
return (_a = this.form) === null || _a === void 0 ? void 0 : _a.controls.tabs;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Tabs control form groups
|
|
27
|
+
*/
|
|
28
|
+
get tabsControls() {
|
|
29
|
+
var _a;
|
|
30
|
+
return (_a = this.tabsControl) === null || _a === void 0 ? void 0 : _a.controls;
|
|
31
|
+
}
|
|
32
|
+
//######################### constructor #########################
|
|
33
|
+
constructor(changeDetector, metadataExtractor, dialog, fb) {
|
|
34
|
+
super(changeDetector, metadataExtractor);
|
|
35
|
+
this.dialog = dialog;
|
|
36
|
+
this.fb = fb;
|
|
37
|
+
}
|
|
38
|
+
//######################### protected methods - template bindings #########################
|
|
39
|
+
/**
|
|
40
|
+
* Adds new tab to tab group
|
|
41
|
+
*/
|
|
42
|
+
addTab() {
|
|
43
|
+
var _a;
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
(_a = this.tabsControl) === null || _a === void 0 ? void 0 : _a.push(this.fb.group({
|
|
46
|
+
title: 'Tab',
|
|
47
|
+
content: {
|
|
48
|
+
id: `${generateId(6)}-tab`,
|
|
49
|
+
package: 'material-components',
|
|
50
|
+
name: 'tab',
|
|
51
|
+
options: {}
|
|
52
|
+
}
|
|
53
|
+
}));
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Removes tab on specified index in form array
|
|
58
|
+
* @param index Tab index to remove
|
|
59
|
+
*/
|
|
60
|
+
removeTab(index) {
|
|
61
|
+
var _a;
|
|
62
|
+
(_a = this.tabsControl) === null || _a === void 0 ? void 0 : _a.removeAt(index);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
MaterialTabGroupPropertiesControlSAComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: MaterialTabGroupPropertiesControlSAComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.LayoutEditorMetadataExtractor }, { token: i2.TitledDialogService }, { token: i3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
+
MaterialTabGroupPropertiesControlSAComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: MaterialTabGroupPropertiesControlSAComponent, isStandalone: true, selector: "material-tab-group-properties-control", usesInheritance: true, ngImport: i0, template: "<div class=\"properties-form-group\">\n <div>Tabs</div>\n <div>\n <div class=\"dynamic-flex-row\" *ngFor=\"let tabControl of tabsControls; let i = index\" [formGroup]=\"tabControl\">\n <div>{{i+1}}.</div>\n <input class=\"properties-form-control dynamic-flex-1\" type=\"text\" formControlName=\"title\">\n <button type=\"button\" class=\"dynamic-btn-icon dynamic-margin-horizontal-extra-small\" (click)=\"$event.preventDefault(); $event.stopPropagation(); removeTab(i)\">\n <span class=\"fas fa-times\"></span>\n </button>\n </div>\n \n <button type=\"button\" class=\"dynamic-btn dynamic-btn-primary dynamic-margin-vertical-small\" (click)=\"addTab()\">\n <span>Add tab</span>\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: MaterialTabGroupPropertiesControlSAComponent, decorators: [{
|
|
68
|
+
type: Component,
|
|
69
|
+
args: [{ selector: 'material-tab-group-properties-control', standalone: true, imports: [
|
|
70
|
+
CommonModule,
|
|
71
|
+
ReactiveFormsModule,
|
|
72
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"properties-form-group\">\n <div>Tabs</div>\n <div>\n <div class=\"dynamic-flex-row\" *ngFor=\"let tabControl of tabsControls; let i = index\" [formGroup]=\"tabControl\">\n <div>{{i+1}}.</div>\n <input class=\"properties-form-control dynamic-flex-1\" type=\"text\" formControlName=\"title\">\n <button type=\"button\" class=\"dynamic-btn-icon dynamic-margin-horizontal-extra-small\" (click)=\"$event.preventDefault(); $event.stopPropagation(); removeTab(i)\">\n <span class=\"fas fa-times\"></span>\n </button>\n </div>\n \n <button type=\"button\" class=\"dynamic-btn dynamic-btn-primary dynamic-margin-vertical-small\" (click)=\"addTab()\">\n <span>Add tab</span>\n </button>\n </div>\n</div>\n" }]
|
|
73
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.LayoutEditorMetadataExtractor }, { type: i2.TitledDialogService }, { type: i3.FormBuilder }]; } });
|
|
74
|
+
//# sourceMappingURL=tabGroupPropertiesControl.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabGroupPropertiesControl.component.js","sourceRoot":"","sources":["../../../../../../../../material-components/src/dynamicItems/tabGroup/misc/components/tabGroupPropertiesControl/tabGroupPropertiesControl.component.ts","../../../../../../../../material-components/src/dynamicItems/tabGroup/misc/components/tabGroupPropertiesControl/tabGroupPropertiesControl.component.html"],"names":[],"mappings":";AAAA,OAAO,EAAC,uBAAuB,EAAE,iBAAiB,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AACpF,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAY,WAAW,EAAa,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAC,6BAA6B,EAAqB,qBAAqB,EAAC,MAAM,8BAA8B,CAAC;AACrH,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;;;;;;AAI1C;;GAEG;AAaH,MAAM,OAAO,4CAA6C,SAAQ,qBAAuD;IAErH,0EAA0E;IAE1E;;OAEG;IACH,IAAc,WAAW;;QAErB,OAAkB,MAAA,IAAI,CAAC,IAAI,0CAAE,QAAQ,CAAC,IAAI,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,IAAc,YAAY;;QAEtB,OAAoB,MAAA,IAAI,CAAC,WAAW,0CAAE,QAAQ,CAAC;IACnD,CAAC;IAED,iEAAiE;IACjE,YAAY,cAAiC,EACjC,iBAAgD,EACtC,MAA2B,EAC3B,EAAe;QAEjC,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAHvB,WAAM,GAAN,MAAM,CAAqB;QAC3B,OAAE,GAAF,EAAE,CAAa;IAGrC,CAAC;IAED,2FAA2F;IAE3F;;OAEG;IACa,MAAM;;;YAElB,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACjC,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE;oBACL,EAAE,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM;oBAC1B,OAAO,EAAE,qBAAqB;oBAC9B,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE,EAAE;iBACd;aACJ,CAAC,CAAC,CAAC;;KACP;IAED;;;OAGG;IACO,SAAS,CAAC,KAAa;;QAE7B,MAAA,IAAI,CAAC,WAAW,0CAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;;yIAtDQ,4CAA4C;6HAA5C,4CAA4C,wHCxBzD,wzBAgBA,2CDGQ,YAAY,2JACZ,mBAAmB;2FAId,4CAA4C;kBAZxD,SAAS;+BAEI,uCAAuC,cAErC,IAAI,WAEhB;wBACI,YAAY;wBACZ,mBAAmB;qBACtB,mBACgB,uBAAuB,CAAC,MAAM","sourcesContent":["import {ChangeDetectionStrategy, ChangeDetectorRef, Component} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormArray, FormBuilder, FormGroup, ReactiveFormsModule} from '@angular/forms';\nimport {TitledDialogService} from '@anglr/common/material';\nimport {LayoutEditorMetadataExtractor, PropertiesControl, PropertiesControlBase} from '@anglr/dynamic/layout-editor';\nimport {generateId} from '@jscrpt/common';\n\nimport {MaterialTabGroupComponentOptions} from '../../../tabGroup.options';\n\n/**\n * Component used for displaying material tab group properties control\n */\n@Component(\n{\n selector: 'material-tab-group-properties-control',\n templateUrl: 'tabGroupPropertiesControl.component.html',\n standalone: true,\n imports:\n [\n CommonModule,\n ReactiveFormsModule,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MaterialTabGroupPropertiesControlSAComponent extends PropertiesControlBase<MaterialTabGroupComponentOptions> implements PropertiesControl<MaterialTabGroupComponentOptions>\n{\n //######################### protected properties #########################\n\n /**\n * Tabs control\n */\n protected get tabsControl(): FormArray|null|undefined\n {\n return <FormArray>this.form?.controls.tabs;\n }\n\n /**\n * Tabs control form groups\n */\n protected get tabsControls(): FormGroup[]|null|undefined\n {\n return <FormGroup[]>this.tabsControl?.controls;\n }\n\n //######################### constructor #########################\n constructor(changeDetector: ChangeDetectorRef,\n metadataExtractor: LayoutEditorMetadataExtractor,\n protected dialog: TitledDialogService,\n protected fb: FormBuilder)\n {\n super(changeDetector, metadataExtractor);\n }\n\n //######################### protected methods - template bindings #########################\n\n /**\n * Adds new tab to tab group\n */\n protected async addTab(): Promise<void>\n {\n this.tabsControl?.push(this.fb.group({\n title: 'Tab',\n content: {\n id: `${generateId(6)}-tab`,\n package: 'material-components',\n name: 'tab',\n options: {}\n }\n }));\n }\n\n /**\n * Removes tab on specified index in form array\n * @param index Tab index to remove\n */\n protected removeTab(index: number): void\n {\n this.tabsControl?.removeAt(index);\n }\n}\n","<div class=\"properties-form-group\">\n <div>Tabs</div>\n <div>\n <div class=\"dynamic-flex-row\" *ngFor=\"let tabControl of tabsControls; let i = index\" [formGroup]=\"tabControl\">\n <div>{{i+1}}.</div>\n <input class=\"properties-form-control dynamic-flex-1\" type=\"text\" formControlName=\"title\">\n <button type=\"button\" class=\"dynamic-btn-icon dynamic-margin-horizontal-extra-small\" (click)=\"$event.preventDefault(); $event.stopPropagation(); removeTab(i)\">\n <span class=\"fas fa-times\"></span>\n </button>\n </div>\n \n <button type=\"button\" class=\"dynamic-btn dynamic-btn-primary dynamic-margin-vertical-small\" (click)=\"addTab()\">\n <span>Add tab</span>\n </button>\n </div>\n</div>\n"]}
|