carbon-components-angular 5.38.2 → 5.39.0
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/docs/documentation/components/TextareaLabelComponent.html +79 -5
- package/docs/documentation/components/TreeNodeComponent.html +87 -50
- package/docs/documentation/components/TreeViewComponent.html +106 -15
- package/docs/documentation/coverage.html +11 -11
- package/docs/documentation/injectables/TreeViewService.html +158 -11
- package/docs/documentation/interfaces/Node.html +48 -1
- package/docs/documentation/js/search/search_index.js +2 -2
- package/docs/documentation/modules/TilesModule/dependencies.svg +92 -92
- package/docs/documentation/modules/TilesModule.html +92 -92
- package/docs/documentation/modules/TimePickerModule/dependencies.svg +4 -4
- package/docs/documentation/modules/TimePickerModule.html +4 -4
- package/docs/documentation/modules/TimePickerSelectModule/dependencies.svg +31 -31
- package/docs/documentation/modules/TimePickerSelectModule.html +31 -31
- package/docs/documentation/modules/ToggleModule/dependencies.svg +40 -44
- package/docs/documentation/modules/ToggleModule.html +40 -44
- package/docs/documentation/modules/ToggletipModule/dependencies.svg +4 -4
- package/docs/documentation/modules/ToggletipModule.html +4 -4
- package/docs/documentation/modules/TooltipModule/dependencies.svg +4 -4
- package/docs/documentation/modules/TooltipModule.html +4 -4
- package/docs/documentation/modules/TreeviewModule/dependencies.svg +30 -30
- package/docs/documentation/modules/TreeviewModule.html +30 -30
- package/docs/documentation.json +228 -92
- package/docs/storybook/{1345.9201efca.iframe.bundle.js → 1345.9eabf5e2.iframe.bundle.js} +1 -1
- package/docs/storybook/iframe.html +2 -2
- package/docs/storybook/input-textarea-stories.1a3b5e80.iframe.bundle.js +1 -0
- package/docs/storybook/main.fef9668a.iframe.bundle.js +1 -0
- package/docs/storybook/project.json +1 -1
- package/docs/storybook/{runtime~main.b26c0bbe.iframe.bundle.js → runtime~main.193d0e61.iframe.bundle.js} +1 -1
- package/docs/storybook/treeview-treeview-stories.1e5a6fb2.iframe.bundle.js +1 -0
- package/esm2020/input/textarea-label.component.mjs +8 -2
- package/esm2020/treeview/tree-node.component.mjs +21 -10
- package/esm2020/treeview/tree-node.types.mjs +1 -1
- package/esm2020/treeview/treeview.component.mjs +16 -5
- package/esm2020/treeview/treeview.service.mjs +10 -1
- package/fesm2015/carbon-components-angular-input.mjs +8 -1
- package/fesm2015/carbon-components-angular-input.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-treeview.mjs +55 -24
- package/fesm2015/carbon-components-angular-treeview.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-input.mjs +7 -1
- package/fesm2020/carbon-components-angular-input.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-treeview.mjs +44 -13
- package/fesm2020/carbon-components-angular-treeview.mjs.map +1 -1
- package/input/textarea-label.component.d.ts +1 -0
- package/package.json +1 -1
- package/treeview/tree-node.component.d.ts +2 -1
- package/treeview/tree-node.types.d.ts +1 -0
- package/treeview/treeview.component.d.ts +5 -0
- package/treeview/treeview.service.d.ts +7 -0
- package/docs/storybook/input-textarea-stories.51dab44c.iframe.bundle.js +0 -1
- package/docs/storybook/main.99dffacb.iframe.bundle.js +0 -1
- package/docs/storybook/treeview-treeview-stories.85954a19.iframe.bundle.js +0 -1
package/docs/documentation.json
CHANGED
|
@@ -1077,12 +1077,12 @@
|
|
|
1077
1077
|
},
|
|
1078
1078
|
{
|
|
1079
1079
|
"name": "Node",
|
|
1080
|
-
"id": "interface-Node-
|
|
1080
|
+
"id": "interface-Node-51b8acc2d3c8e33ebce66dda0f8fa6da57a1762dd8e484223d38bf26dd6fa8bbb350d4a9f39c0441d2eb94c70dae1a6bd398ada4f8200c436d4c3f8ab708e161",
|
|
1081
1081
|
"file": "src/treeview/tree-node.types.ts",
|
|
1082
1082
|
"deprecated": false,
|
|
1083
1083
|
"deprecationMessage": "",
|
|
1084
1084
|
"type": "interface",
|
|
1085
|
-
"sourceCode": "import { TemplateRef } from \"@angular/core\";\n\nexport interface Node {\n\tlabel: string | TemplateRef<any>;\n\tlabelContext?: any;\n\tvalue?: any;\n\tid?: string;\n\tactive?: boolean;\n\tdisabled?: boolean;\n\texpanded?: boolean;\n\tselected?: boolean;\n\ticon?: string | TemplateRef<any>;\n\ticonContext?: any;\n\tgap?: number;\n\tchildren?: Node[];\n\t[key: string]: any;\n}\n",
|
|
1085
|
+
"sourceCode": "import { TemplateRef } from \"@angular/core\";\n\nexport interface Node {\n\tlabel: string | TemplateRef<any>;\n\tlabelContext?: any;\n\tvalue?: any;\n\tid?: string;\n\tactive?: boolean;\n\tdisabled?: boolean;\n\t// selectable is only valid for nodes with children. If true, the node won't become selected and if clicked it would only expand/compress itself\n\tselectable?: boolean;\n\texpanded?: boolean;\n\tselected?: boolean;\n\ticon?: string | TemplateRef<any>;\n\ticonContext?: any;\n\tgap?: number;\n\tchildren?: Node[];\n\t[key: string]: any;\n}\n",
|
|
1086
1086
|
"properties": [
|
|
1087
1087
|
{
|
|
1088
1088
|
"name": "active",
|
|
@@ -1100,7 +1100,7 @@
|
|
|
1100
1100
|
"type": "Node[]",
|
|
1101
1101
|
"optional": true,
|
|
1102
1102
|
"description": "",
|
|
1103
|
-
"line":
|
|
1103
|
+
"line": 17
|
|
1104
1104
|
},
|
|
1105
1105
|
{
|
|
1106
1106
|
"name": "disabled",
|
|
@@ -1118,7 +1118,7 @@
|
|
|
1118
1118
|
"type": "boolean",
|
|
1119
1119
|
"optional": true,
|
|
1120
1120
|
"description": "",
|
|
1121
|
-
"line":
|
|
1121
|
+
"line": 12
|
|
1122
1122
|
},
|
|
1123
1123
|
{
|
|
1124
1124
|
"name": "gap",
|
|
@@ -1127,7 +1127,7 @@
|
|
|
1127
1127
|
"type": "number",
|
|
1128
1128
|
"optional": true,
|
|
1129
1129
|
"description": "",
|
|
1130
|
-
"line":
|
|
1130
|
+
"line": 16
|
|
1131
1131
|
},
|
|
1132
1132
|
{
|
|
1133
1133
|
"name": "icon",
|
|
@@ -1136,7 +1136,7 @@
|
|
|
1136
1136
|
"type": "string | TemplateRef<any>",
|
|
1137
1137
|
"optional": true,
|
|
1138
1138
|
"description": "",
|
|
1139
|
-
"line":
|
|
1139
|
+
"line": 14
|
|
1140
1140
|
},
|
|
1141
1141
|
{
|
|
1142
1142
|
"name": "iconContext",
|
|
@@ -1145,7 +1145,7 @@
|
|
|
1145
1145
|
"type": "any",
|
|
1146
1146
|
"optional": true,
|
|
1147
1147
|
"description": "",
|
|
1148
|
-
"line":
|
|
1148
|
+
"line": 15
|
|
1149
1149
|
},
|
|
1150
1150
|
{
|
|
1151
1151
|
"name": "id",
|
|
@@ -1175,7 +1175,7 @@
|
|
|
1175
1175
|
"line": 5
|
|
1176
1176
|
},
|
|
1177
1177
|
{
|
|
1178
|
-
"name": "
|
|
1178
|
+
"name": "selectable",
|
|
1179
1179
|
"deprecated": false,
|
|
1180
1180
|
"deprecationMessage": "",
|
|
1181
1181
|
"type": "boolean",
|
|
@@ -1183,6 +1183,15 @@
|
|
|
1183
1183
|
"description": "",
|
|
1184
1184
|
"line": 11
|
|
1185
1185
|
},
|
|
1186
|
+
{
|
|
1187
|
+
"name": "selected",
|
|
1188
|
+
"deprecated": false,
|
|
1189
|
+
"deprecationMessage": "",
|
|
1190
|
+
"type": "boolean",
|
|
1191
|
+
"optional": true,
|
|
1192
|
+
"description": "",
|
|
1193
|
+
"line": 13
|
|
1194
|
+
},
|
|
1186
1195
|
{
|
|
1187
1196
|
"name": "value",
|
|
1188
1197
|
"deprecated": false,
|
|
@@ -1195,7 +1204,7 @@
|
|
|
1195
1204
|
],
|
|
1196
1205
|
"indexSignatures": [
|
|
1197
1206
|
{
|
|
1198
|
-
"id": "index-declaration-
|
|
1207
|
+
"id": "index-declaration-51b8acc2d3c8e33ebce66dda0f8fa6da57a1762dd8e484223d38bf26dd6fa8bbb350d4a9f39c0441d2eb94c70dae1a6bd398ada4f8200c436d4c3f8ab708e161",
|
|
1199
1208
|
"args": [
|
|
1200
1209
|
{
|
|
1201
1210
|
"name": "key",
|
|
@@ -1205,7 +1214,7 @@
|
|
|
1205
1214
|
}
|
|
1206
1215
|
],
|
|
1207
1216
|
"returnType": "any",
|
|
1208
|
-
"line":
|
|
1217
|
+
"line": 17,
|
|
1209
1218
|
"deprecated": false,
|
|
1210
1219
|
"deprecationMessage": ""
|
|
1211
1220
|
}
|
|
@@ -5025,7 +5034,7 @@
|
|
|
5025
5034
|
},
|
|
5026
5035
|
{
|
|
5027
5036
|
"name": "TreeViewService",
|
|
5028
|
-
"id": "injectable-TreeViewService-
|
|
5037
|
+
"id": "injectable-TreeViewService-7961c67119d92e5f11bd7238d28b1fe821afd43edcdafc1beabc0d3aa7929db2fc6618b13241a9898ba687859d101443a8e961ab46561220e82bb5162902fbf1",
|
|
5029
5038
|
"file": "src/treeview/treeview.service.ts",
|
|
5030
5039
|
"properties": [
|
|
5031
5040
|
{
|
|
@@ -5036,9 +5045,18 @@
|
|
|
5036
5045
|
"type": "",
|
|
5037
5046
|
"optional": false,
|
|
5038
5047
|
"description": "<p>Variable used across all nodes and wrapper to determine if we should allow content projection\nor generate the tree</p>\n<p>Value is updated by passing a value to <code>tree</code> input in wrapper component.</p>\n",
|
|
5039
|
-
"line":
|
|
5048
|
+
"line": 15,
|
|
5040
5049
|
"rawdescription": "\n\nVariable used across all nodes and wrapper to determine if we should allow content projection\nor generate the tree\n\nValue is updated by passing a value to `tree` input in wrapper component.\n"
|
|
5041
5050
|
},
|
|
5051
|
+
{
|
|
5052
|
+
"name": "focusNodeObservable",
|
|
5053
|
+
"deprecated": false,
|
|
5054
|
+
"deprecationMessage": "",
|
|
5055
|
+
"type": "Observable<Node>",
|
|
5056
|
+
"optional": false,
|
|
5057
|
+
"description": "",
|
|
5058
|
+
"line": 8
|
|
5059
|
+
},
|
|
5042
5060
|
{
|
|
5043
5061
|
"name": "isMultiSelect",
|
|
5044
5062
|
"defaultValue": "false",
|
|
@@ -5047,7 +5065,7 @@
|
|
|
5047
5065
|
"type": "",
|
|
5048
5066
|
"optional": false,
|
|
5049
5067
|
"description": "<p><strong>Experimental</strong></p>\n",
|
|
5050
|
-
"line":
|
|
5068
|
+
"line": 19,
|
|
5051
5069
|
"rawdescription": "\n\n**Experimental**\n"
|
|
5052
5070
|
},
|
|
5053
5071
|
{
|
|
@@ -5067,7 +5085,7 @@
|
|
|
5067
5085
|
"optional": false,
|
|
5068
5086
|
"returnType": "void",
|
|
5069
5087
|
"typeParameters": [],
|
|
5070
|
-
"line":
|
|
5088
|
+
"line": 75,
|
|
5071
5089
|
"deprecated": false,
|
|
5072
5090
|
"deprecationMessage": "",
|
|
5073
5091
|
"rawdescription": "\n\nRemoves all selected nodes from the map\n",
|
|
@@ -5086,7 +5104,7 @@
|
|
|
5086
5104
|
"optional": false,
|
|
5087
5105
|
"returnType": "void",
|
|
5088
5106
|
"typeParameters": [],
|
|
5089
|
-
"line":
|
|
5107
|
+
"line": 63,
|
|
5090
5108
|
"deprecated": false,
|
|
5091
5109
|
"deprecationMessage": "",
|
|
5092
5110
|
"rawdescription": "\n\nRemoves selected node from the map\n",
|
|
@@ -5094,8 +5112,53 @@
|
|
|
5094
5112
|
"jsdoctags": [
|
|
5095
5113
|
{
|
|
5096
5114
|
"name": {
|
|
5097
|
-
"pos":
|
|
5098
|
-
"end":
|
|
5115
|
+
"pos": 1435,
|
|
5116
|
+
"end": 1439,
|
|
5117
|
+
"flags": 16842752,
|
|
5118
|
+
"modifierFlagsCache": 0,
|
|
5119
|
+
"transformFlags": 0,
|
|
5120
|
+
"kind": 80,
|
|
5121
|
+
"escapedText": "node"
|
|
5122
|
+
},
|
|
5123
|
+
"type": "Node",
|
|
5124
|
+
"deprecated": false,
|
|
5125
|
+
"deprecationMessage": "",
|
|
5126
|
+
"tagName": {
|
|
5127
|
+
"pos": 1429,
|
|
5128
|
+
"end": 1434,
|
|
5129
|
+
"flags": 16842752,
|
|
5130
|
+
"modifierFlagsCache": 0,
|
|
5131
|
+
"transformFlags": 0,
|
|
5132
|
+
"kind": 80,
|
|
5133
|
+
"escapedText": "param"
|
|
5134
|
+
},
|
|
5135
|
+
"comment": "<p>: Node</p>\n"
|
|
5136
|
+
}
|
|
5137
|
+
]
|
|
5138
|
+
},
|
|
5139
|
+
{
|
|
5140
|
+
"name": "focusNode",
|
|
5141
|
+
"args": [
|
|
5142
|
+
{
|
|
5143
|
+
"name": "node",
|
|
5144
|
+
"type": "Node",
|
|
5145
|
+
"deprecated": false,
|
|
5146
|
+
"deprecationMessage": ""
|
|
5147
|
+
}
|
|
5148
|
+
],
|
|
5149
|
+
"optional": false,
|
|
5150
|
+
"returnType": "void",
|
|
5151
|
+
"typeParameters": [],
|
|
5152
|
+
"line": 38,
|
|
5153
|
+
"deprecated": false,
|
|
5154
|
+
"deprecationMessage": "",
|
|
5155
|
+
"rawdescription": "\n\nEmits the focused node\n",
|
|
5156
|
+
"description": "<p>Emits the focused node</p>\n",
|
|
5157
|
+
"jsdoctags": [
|
|
5158
|
+
{
|
|
5159
|
+
"name": {
|
|
5160
|
+
"pos": 983,
|
|
5161
|
+
"end": 987,
|
|
5099
5162
|
"flags": 16842752,
|
|
5100
5163
|
"modifierFlagsCache": 0,
|
|
5101
5164
|
"transformFlags": 0,
|
|
@@ -5106,8 +5169,8 @@
|
|
|
5106
5169
|
"deprecated": false,
|
|
5107
5170
|
"deprecationMessage": "",
|
|
5108
5171
|
"tagName": {
|
|
5109
|
-
"pos":
|
|
5110
|
-
"end":
|
|
5172
|
+
"pos": 977,
|
|
5173
|
+
"end": 982,
|
|
5111
5174
|
"flags": 16842752,
|
|
5112
5175
|
"modifierFlagsCache": 0,
|
|
5113
5176
|
"transformFlags": 0,
|
|
@@ -5131,7 +5194,7 @@
|
|
|
5131
5194
|
"optional": false,
|
|
5132
5195
|
"returnType": "void",
|
|
5133
5196
|
"typeParameters": [],
|
|
5134
|
-
"line":
|
|
5197
|
+
"line": 46,
|
|
5135
5198
|
"deprecated": false,
|
|
5136
5199
|
"deprecationMessage": "",
|
|
5137
5200
|
"rawdescription": "\n\nStore selected node in map\n",
|
|
@@ -5139,8 +5202,8 @@
|
|
|
5139
5202
|
"jsdoctags": [
|
|
5140
5203
|
{
|
|
5141
5204
|
"name": {
|
|
5142
|
-
"pos":
|
|
5143
|
-
"end":
|
|
5205
|
+
"pos": 1111,
|
|
5206
|
+
"end": 1115,
|
|
5144
5207
|
"flags": 16842752,
|
|
5145
5208
|
"modifierFlagsCache": 0,
|
|
5146
5209
|
"transformFlags": 0,
|
|
@@ -5151,8 +5214,8 @@
|
|
|
5151
5214
|
"deprecated": false,
|
|
5152
5215
|
"deprecationMessage": "",
|
|
5153
5216
|
"tagName": {
|
|
5154
|
-
"pos":
|
|
5155
|
-
"end":
|
|
5217
|
+
"pos": 1105,
|
|
5218
|
+
"end": 1110,
|
|
5156
5219
|
"flags": 16842752,
|
|
5157
5220
|
"modifierFlagsCache": 0,
|
|
5158
5221
|
"transformFlags": 0,
|
|
@@ -5168,14 +5231,14 @@
|
|
|
5168
5231
|
"deprecationMessage": "",
|
|
5169
5232
|
"description": "",
|
|
5170
5233
|
"rawdescription": "\n",
|
|
5171
|
-
"sourceCode": "import { Injectable } from \"@angular/core\";\nimport { Observable, ReplaySubject } from \"rxjs\";\nimport { Node } from \"./tree-node.types\";\n\n@Injectable()\nexport class TreeViewService {\n\tselectionObservable: Observable<any | any[]>;\n\t/**\n\t * Variable used across all nodes and wrapper to determine if we should allow content projection\n\t * or generate the tree\n\t *\n\t * Value is updated by passing a value to `tree` input in wrapper component.\n\t */\n\tcontentProjected = true;\n\t/**\n\t * **Experimental**\n\t */\n\tisMultiSelect = false;\n\n\tprivate selectionSubject = new ReplaySubject<Map<string, Node>>(1);\n\n\t/**\n\t * Hold's list of selected nodes and preserves order\n\t */\n\tprivate value = new Map();\n\n\tconstructor() {\n\t\tthis.selectionObservable = this.selectionSubject.asObservable();\n\t}\n\n\t/**\n\t * Store selected node in map\n\t * @param node: Node\n\t */\n\tselectNode(node: Node) {\n\t\tif (!node) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Since multiselect is not enabled, we clear existing map\n\t\tif (!this.isMultiSelect) {\n\t\t\tthis.value.clear();\n\t\t}\n\t\tthis.value.set(node.id, node);\n\t\tthis.selectionSubject.next(this.value);\n\t}\n\n\t/**\n\t * Removes selected node from the map\n\t * @param node: Node\n\t */\n\tdeselectNode(node: Node) {\n\t\tif (!node) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.value.delete(node.id);\n\t\tthis.selectionSubject.next(this.value);\n\t}\n\n\t/**\n\t * Removes all selected nodes from the map\n\t */\n\tdeselectAllNodes() {\n\t\tthis.value.clear();\n\t\tthis.selectionSubject.next(this.value);\n\t}\n}\n",
|
|
5234
|
+
"sourceCode": "import { Injectable } from \"@angular/core\";\nimport { Observable, ReplaySubject } from \"rxjs\";\nimport { Node } from \"./tree-node.types\";\n\n@Injectable()\nexport class TreeViewService {\n\tselectionObservable: Observable<any | any[]>;\n\tfocusNodeObservable: Observable<Node>;\n\t/**\n\t * Variable used across all nodes and wrapper to determine if we should allow content projection\n\t * or generate the tree\n\t *\n\t * Value is updated by passing a value to `tree` input in wrapper component.\n\t */\n\tcontentProjected = true;\n\t/**\n\t * **Experimental**\n\t */\n\tisMultiSelect = false;\n\n\tprivate selectionSubject = new ReplaySubject<Map<string, Node>>(1);\n\tprivate focusNodeSubject = new ReplaySubject<Node>(1);\n\n\t/**\n\t * Hold's list of selected nodes and preserves order\n\t */\n\tprivate value = new Map();\n\n\tconstructor() {\n\t\tthis.selectionObservable = this.selectionSubject.asObservable();\n\t\tthis.focusNodeObservable = this.focusNodeSubject.asObservable();\n\t}\n\n\t/**\n\t * Emits the focused node\n\t * @param node: Node\n\t */\n\tfocusNode(node: Node) {\n\t\tthis.focusNodeSubject.next(node);\n\t}\n\n\t/**\n\t * Store selected node in map\n\t * @param node: Node\n\t */\n\tselectNode(node: Node) {\n\t\tif (!node) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Since multiselect is not enabled, we clear existing map\n\t\tif (!this.isMultiSelect) {\n\t\t\tthis.value.clear();\n\t\t}\n\t\tthis.value.set(node.id, node);\n\t\tthis.selectionSubject.next(this.value);\n\t}\n\n\t/**\n\t * Removes selected node from the map\n\t * @param node: Node\n\t */\n\tdeselectNode(node: Node) {\n\t\tif (!node) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.value.delete(node.id);\n\t\tthis.selectionSubject.next(this.value);\n\t}\n\n\t/**\n\t * Removes all selected nodes from the map\n\t */\n\tdeselectAllNodes() {\n\t\tthis.value.clear();\n\t\tthis.selectionSubject.next(this.value);\n\t}\n}\n",
|
|
5172
5235
|
"constructorObj": {
|
|
5173
5236
|
"name": "constructor",
|
|
5174
5237
|
"description": "",
|
|
5175
5238
|
"deprecated": false,
|
|
5176
5239
|
"deprecationMessage": "",
|
|
5177
5240
|
"args": [],
|
|
5178
|
-
"line":
|
|
5241
|
+
"line": 27
|
|
5179
5242
|
},
|
|
5180
5243
|
"extends": [],
|
|
5181
5244
|
"type": "injectable"
|
|
@@ -60691,7 +60754,7 @@
|
|
|
60691
60754
|
},
|
|
60692
60755
|
{
|
|
60693
60756
|
"name": "TextareaLabelComponent",
|
|
60694
|
-
"id": "component-TextareaLabelComponent-
|
|
60757
|
+
"id": "component-TextareaLabelComponent-c0f9e14c995584d15db3016e5bfc6210d288aaca3f1605f84bf42a810b086820ac0ee36da71a46fc8e7a77aef9967a8b32ed98e8b5d05a08dad880d84993923b",
|
|
60695
60758
|
"file": "src/input/textarea-label.component.ts",
|
|
60696
60759
|
"encapsulation": [],
|
|
60697
60760
|
"entryComponents": [],
|
|
@@ -60906,7 +60969,7 @@
|
|
|
60906
60969
|
"optional": false,
|
|
60907
60970
|
"returnType": "boolean",
|
|
60908
60971
|
"typeParameters": [],
|
|
60909
|
-
"line":
|
|
60972
|
+
"line": 184,
|
|
60910
60973
|
"deprecated": false,
|
|
60911
60974
|
"deprecationMessage": "",
|
|
60912
60975
|
"modifierKind": [
|
|
@@ -60936,6 +60999,14 @@
|
|
|
60936
60999
|
"line": 145,
|
|
60937
61000
|
"type": "boolean",
|
|
60938
61001
|
"decorators": []
|
|
61002
|
+
},
|
|
61003
|
+
{
|
|
61004
|
+
"name": "class.cds--text-area__wrapper--readonly",
|
|
61005
|
+
"deprecated": false,
|
|
61006
|
+
"deprecationMessage": "",
|
|
61007
|
+
"line": 147,
|
|
61008
|
+
"type": "any",
|
|
61009
|
+
"decorators": []
|
|
60939
61010
|
}
|
|
60940
61011
|
],
|
|
60941
61012
|
"hostListeners": [],
|
|
@@ -60944,7 +61015,7 @@
|
|
|
60944
61015
|
"description": "<p>Get started with importing the module:</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">import { InputModule } from 'carbon-components-angular';</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\"><cds-textarea-label>\n Label\n <textarea cdsTextArea class="textarea-field">\n</cds-textarea-label></code></pre></div><p><a href=\"../../?path=/story/components-input-text-area--basic\">See demo</a></p>\n",
|
|
60945
61016
|
"rawdescription": "\n\nGet started with importing the module:\n\n```typescript\nimport { InputModule } from 'carbon-components-angular';\n```\n\n```html\n<cds-textarea-label>\n\tLabel\n\t<textarea cdsTextArea class=\"textarea-field\">\n</cds-textarea-label>\n```\n\n[See demo](../../?path=/story/components-input-text-area--basic)\n",
|
|
60946
61017
|
"type": "component",
|
|
60947
|
-
"sourceCode": "import {\n\tComponent,\n\tInput,\n\tAfterViewInit,\n\tElementRef,\n\tHostBinding,\n\tTemplateRef,\n\tViewChild,\n\tContentChild,\n\tChangeDetectorRef\n} from \"@angular/core\";\n\nimport { TextArea } from \"./text-area.directive\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { InputModule } from 'carbon-components-angular';\n * ```\n *\n * ```html\n * <cds-textarea-label>\n * \tLabel\n * \t<textarea cdsTextArea class=\"textarea-field\">\n * </cds-textarea-label>\n * ```\n *\n * [See demo](../../?path=/story/components-input-text-area--basic)\n */\n@Component({\n\tselector: \"cds-textarea-label, ibm-textarea-label\",\n\ttemplate: `\n\t\t<label\n\t\t\t[for]=\"labelInputID\"\n\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\tclass=\"cds--label\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--label--disabled': disabled,\n\t\t\t\t'cds--skeleton': skeleton\n\t\t\t}\">\n\t\t\t<ng-template *ngIf=\"labelTemplate; else labelContent\" [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t<ng-template #labelContent>\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</ng-template>\n\t\t</label>\n\t\t<div\n\t\t\tclass=\"cds--text-area__wrapper\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--text-input__field-wrapper--warning': warn\n\t\t\t}\"\n\t\t\t[attr.data-invalid]=\"(invalid ? true : null)\"\n\t\t\t#wrapper>\n\t\t\t<svg\n\t\t\t\t*ngIf=\"invalid\"\n\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\tsize=\"16\"\n\t\t\t\tclass=\"cds--text-area__invalid-icon\">\n\t\t\t</svg>\n\t\t\t<svg\n\t\t\t\t*ngIf=\"!invalid && warn\"\n\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\tsize=\"16\"\n\t\t\t\tclass=\"cds--text-input__invalid-icon cds--text-input__invalid-icon--warning\">\n\t\t\t</svg>\n\t\t\t<ng-template *ngIf=\"textAreaTemplate; else textAreaContent\" [ngTemplateOutlet]=\"textAreaTemplate\"></ng-template>\n\t\t\t<ng-template #textAreaContent>\n\t\t\t\t<ng-content select=\"[cdsTextArea],[ibmTextArea],textarea\"></ng-content>\n\t\t\t</ng-template>\n\t\t</div>\n\t\t<div\n\t\t\t*ngIf=\"!skeleton && helperText && !invalid && !warn\"\n\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t[ngClass]=\"{'cds--form__helper-text--disabled': disabled}\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t</div>\n\t\t<div *ngIf=\"invalid\" class=\"cds--form-requirement\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t</div>\n\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t</div>\n\t`\n})\nexport class TextareaLabelComponent implements AfterViewInit {\n\t/**\n\t * Used to build the id of the input item associated with the `Label`.\n\t */\n\tstatic labelCounter = 0;\n\t/**\n\t * The id of the input item associated with the `Label`. This value is also used to associate the `Label` with\n\t * its input counterpart through the 'for' attribute.\n\t*/\n\t@Input() labelInputID = \"ibm-textarea-\" + TextareaLabelComponent.labelCounter;\n\n\t/**\n\t * Set to `true` for a disabled label.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to `true` for a loading label.\n\t */\n\t@Input() skeleton = false;\n\n\t/**\n\t * Helper input property for ease of migration\n\t * Since we cannot pass ng-content down easily from label component, we will accept the templates\n\t */\n\t@Input() labelTemplate: TemplateRef<any>;\n\t@Input() textAreaTemplate: TemplateRef<any>;\n\t/**\n\t * Optional helper text that appears under the label.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\n\t/**\n\t * Sets the invalid text.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\t/**\n\t * Set to `true` for an invalid label component.\n\t */\n\t@Input() invalid = false;\n\t/**\n\t * Set to `true` to show a warning (contents set by warningText)\n\t */\n\t@Input() warn = false;\n\t/**\n\t * Sets the warning text\n\t */\n\t@Input() warnText: string | TemplateRef<any>;\n\t/**\n\t * Set the arialabel for label\n\t */\n\t@Input() ariaLabel: string;\n\n\t// @ts-ignore\n\t@ViewChild(\"wrapper\", { static: false }) wrapper: ElementRef<HTMLDivElement>;\n\n\t// @ts-ignore\n\t@ContentChild(TextArea, { static: false }) textArea: TextArea;\n\n\t@HostBinding(\"class.cds--form-item\") labelClass = true;\n\n\t/**\n\t * Creates an instance of Label.\n\t */\n\tconstructor(protected changeDetectorRef: ChangeDetectorRef) {}\n\n\t/**\n\t * Sets the id on the input item associated with the `Label`.\n\t */\n\tngAfterViewInit() {\n\t\tif (this.wrapper) {\n\t\t\t// Prioritize setting id to `textarea` over div\n\t\t\tconst inputElement = this.wrapper.nativeElement.querySelector(\"textarea\");\n\t\t\tif (inputElement) {\n\t\t\t\t// avoid overriding ids already set by the user reuse it instead\n\t\t\t\tif (inputElement.id) {\n\t\t\t\t\tthis.labelInputID = inputElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tinputElement.setAttribute(\"id\", this.labelInputID);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst divElement = this.wrapper.nativeElement.querySelector(\"div\");\n\t\t\tif (divElement) {\n\t\t\t\tif (divElement.id) {\n\t\t\t\t\tthis.labelInputID = divElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tdivElement.setAttribute(\"id\", this.labelInputID);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n}\n",
|
|
61018
|
+
"sourceCode": "import {\n\tComponent,\n\tInput,\n\tAfterViewInit,\n\tElementRef,\n\tHostBinding,\n\tTemplateRef,\n\tViewChild,\n\tContentChild,\n\tChangeDetectorRef\n} from \"@angular/core\";\n\nimport { TextArea } from \"./text-area.directive\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { InputModule } from 'carbon-components-angular';\n * ```\n *\n * ```html\n * <cds-textarea-label>\n * \tLabel\n * \t<textarea cdsTextArea class=\"textarea-field\">\n * </cds-textarea-label>\n * ```\n *\n * [See demo](../../?path=/story/components-input-text-area--basic)\n */\n@Component({\n\tselector: \"cds-textarea-label, ibm-textarea-label\",\n\ttemplate: `\n\t\t<label\n\t\t\t[for]=\"labelInputID\"\n\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\tclass=\"cds--label\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--label--disabled': disabled,\n\t\t\t\t'cds--skeleton': skeleton\n\t\t\t}\">\n\t\t\t<ng-template *ngIf=\"labelTemplate; else labelContent\" [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t<ng-template #labelContent>\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</ng-template>\n\t\t</label>\n\t\t<div\n\t\t\tclass=\"cds--text-area__wrapper\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--text-input__field-wrapper--warning': warn\n\t\t\t}\"\n\t\t\t[attr.data-invalid]=\"(invalid ? true : null)\"\n\t\t\t#wrapper>\n\t\t\t<svg\n\t\t\t\t*ngIf=\"invalid\"\n\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\tsize=\"16\"\n\t\t\t\tclass=\"cds--text-area__invalid-icon\">\n\t\t\t</svg>\n\t\t\t<svg\n\t\t\t\t*ngIf=\"!invalid && warn\"\n\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\tsize=\"16\"\n\t\t\t\tclass=\"cds--text-input__invalid-icon cds--text-input__invalid-icon--warning\">\n\t\t\t</svg>\n\t\t\t<ng-template *ngIf=\"textAreaTemplate; else textAreaContent\" [ngTemplateOutlet]=\"textAreaTemplate\"></ng-template>\n\t\t\t<ng-template #textAreaContent>\n\t\t\t\t<ng-content select=\"[cdsTextArea],[ibmTextArea],textarea\"></ng-content>\n\t\t\t</ng-template>\n\t\t</div>\n\t\t<div\n\t\t\t*ngIf=\"!skeleton && helperText && !invalid && !warn\"\n\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t[ngClass]=\"{'cds--form__helper-text--disabled': disabled}\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t</div>\n\t\t<div *ngIf=\"invalid\" class=\"cds--form-requirement\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t</div>\n\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t</div>\n\t`\n})\nexport class TextareaLabelComponent implements AfterViewInit {\n\t/**\n\t * Used to build the id of the input item associated with the `Label`.\n\t */\n\tstatic labelCounter = 0;\n\t/**\n\t * The id of the input item associated with the `Label`. This value is also used to associate the `Label` with\n\t * its input counterpart through the 'for' attribute.\n\t*/\n\t@Input() labelInputID = \"ibm-textarea-\" + TextareaLabelComponent.labelCounter;\n\n\t/**\n\t * Set to `true` for a disabled label.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to `true` for a loading label.\n\t */\n\t@Input() skeleton = false;\n\n\t/**\n\t * Helper input property for ease of migration\n\t * Since we cannot pass ng-content down easily from label component, we will accept the templates\n\t */\n\t@Input() labelTemplate: TemplateRef<any>;\n\t@Input() textAreaTemplate: TemplateRef<any>;\n\t/**\n\t * Optional helper text that appears under the label.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\n\t/**\n\t * Sets the invalid text.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\t/**\n\t * Set to `true` for an invalid label component.\n\t */\n\t@Input() invalid = false;\n\t/**\n\t * Set to `true` to show a warning (contents set by warningText)\n\t */\n\t@Input() warn = false;\n\t/**\n\t * Sets the warning text\n\t */\n\t@Input() warnText: string | TemplateRef<any>;\n\t/**\n\t * Set the arialabel for label\n\t */\n\t@Input() ariaLabel: string;\n\n\t// @ts-ignore\n\t@ViewChild(\"wrapper\", { static: false }) wrapper: ElementRef<HTMLDivElement>;\n\n\t// @ts-ignore\n\t@ContentChild(TextArea, { static: false }) textArea: TextArea;\n\n\t@HostBinding(\"class.cds--form-item\") labelClass = true;\n\n\t@HostBinding(\"class.cds--text-area__wrapper--readonly\") get isReadonly() {\n\t\treturn this.wrapper?.nativeElement.querySelector(\"textarea\")?.readOnly ?? false;\n\t}\n\n\t/**\n\t * Creates an instance of Label.\n\t */\n\tconstructor(protected changeDetectorRef: ChangeDetectorRef) {}\n\n\t/**\n\t * Sets the id on the input item associated with the `Label`.\n\t */\n\tngAfterViewInit() {\n\t\tif (this.wrapper) {\n\t\t\t// Prioritize setting id to `textarea` over div\n\t\t\tconst inputElement = this.wrapper.nativeElement.querySelector(\"textarea\");\n\t\t\tif (inputElement) {\n\t\t\t\t// avoid overriding ids already set by the user reuse it instead\n\t\t\t\tif (inputElement.id) {\n\t\t\t\t\tthis.labelInputID = inputElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tinputElement.setAttribute(\"id\", this.labelInputID);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst divElement = this.wrapper.nativeElement.querySelector(\"div\");\n\t\t\tif (divElement) {\n\t\t\t\tif (divElement.id) {\n\t\t\t\t\tthis.labelInputID = divElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tdivElement.setAttribute(\"id\", this.labelInputID);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n}\n",
|
|
60948
61019
|
"assetsDirs": [],
|
|
60949
61020
|
"styleUrlsData": "",
|
|
60950
61021
|
"stylesData": "",
|
|
@@ -60961,7 +61032,7 @@
|
|
|
60961
61032
|
"deprecationMessage": ""
|
|
60962
61033
|
}
|
|
60963
61034
|
],
|
|
60964
|
-
"line":
|
|
61035
|
+
"line": 149,
|
|
60965
61036
|
"rawdescription": "\n\nCreates an instance of Label.\n",
|
|
60966
61037
|
"jsdoctags": [
|
|
60967
61038
|
{
|
|
@@ -60978,7 +61049,18 @@
|
|
|
60978
61049
|
"extends": [],
|
|
60979
61050
|
"implements": [
|
|
60980
61051
|
"AfterViewInit"
|
|
60981
|
-
]
|
|
61052
|
+
],
|
|
61053
|
+
"accessors": {
|
|
61054
|
+
"isReadonly": {
|
|
61055
|
+
"name": "isReadonly",
|
|
61056
|
+
"getSignature": {
|
|
61057
|
+
"name": "isReadonly",
|
|
61058
|
+
"type": "",
|
|
61059
|
+
"returnType": "",
|
|
61060
|
+
"line": 147
|
|
61061
|
+
}
|
|
61062
|
+
}
|
|
61063
|
+
}
|
|
60982
61064
|
},
|
|
60983
61065
|
{
|
|
60984
61066
|
"name": "TextInputLabelComponent",
|
|
@@ -66729,7 +66811,7 @@
|
|
|
66729
66811
|
},
|
|
66730
66812
|
{
|
|
66731
66813
|
"name": "TreeNodeComponent",
|
|
66732
|
-
"id": "component-TreeNodeComponent-
|
|
66814
|
+
"id": "component-TreeNodeComponent-2839c6326e93c041059cc55f01d9dbea744ce9cfc33b045018560b7e23dfb92d5e948be6b4e3e112b2e3cf6b9a5c1f1172918ec34b61553ca8c0795840f58d5e",
|
|
66733
66815
|
"file": "src/treeview/tree-node.component.ts",
|
|
66734
66816
|
"encapsulation": [],
|
|
66735
66817
|
"entryComponents": [],
|
|
@@ -66758,7 +66840,7 @@
|
|
|
66758
66840
|
"defaultValue": "[]",
|
|
66759
66841
|
"deprecated": false,
|
|
66760
66842
|
"deprecationMessage": "",
|
|
66761
|
-
"line":
|
|
66843
|
+
"line": 134,
|
|
66762
66844
|
"type": "Node[]",
|
|
66763
66845
|
"decorators": []
|
|
66764
66846
|
},
|
|
@@ -66769,7 +66851,7 @@
|
|
|
66769
66851
|
"deprecationMessage": "",
|
|
66770
66852
|
"rawdescription": "\n\nDetermines the depth of the node\nCalculated by default when passing `Node` array to `TreeViewComponent`, manual entry required otherwise\n",
|
|
66771
66853
|
"description": "<p>Determines the depth of the node\nCalculated by default when passing <code>Node</code> array to <code>TreeViewComponent</code>, manual entry required otherwise</p>\n",
|
|
66772
|
-
"line":
|
|
66854
|
+
"line": 140,
|
|
66773
66855
|
"type": "number",
|
|
66774
66856
|
"decorators": []
|
|
66775
66857
|
},
|
|
@@ -66787,7 +66869,7 @@
|
|
|
66787
66869
|
"defaultValue": "false",
|
|
66788
66870
|
"deprecated": false,
|
|
66789
66871
|
"deprecationMessage": "",
|
|
66790
|
-
"line":
|
|
66872
|
+
"line": 126,
|
|
66791
66873
|
"type": "boolean",
|
|
66792
66874
|
"decorators": []
|
|
66793
66875
|
},
|
|
@@ -66796,7 +66878,7 @@
|
|
|
66796
66878
|
"defaultValue": "0",
|
|
66797
66879
|
"deprecated": false,
|
|
66798
66880
|
"deprecationMessage": "",
|
|
66799
|
-
"line":
|
|
66881
|
+
"line": 133,
|
|
66800
66882
|
"type": "number",
|
|
66801
66883
|
"decorators": []
|
|
66802
66884
|
},
|
|
@@ -66804,7 +66886,7 @@
|
|
|
66804
66886
|
"name": "icon",
|
|
66805
66887
|
"deprecated": false,
|
|
66806
66888
|
"deprecationMessage": "",
|
|
66807
|
-
"line":
|
|
66889
|
+
"line": 131,
|
|
66808
66890
|
"type": "string | TemplateRef<any>",
|
|
66809
66891
|
"decorators": []
|
|
66810
66892
|
},
|
|
@@ -66812,7 +66894,7 @@
|
|
|
66812
66894
|
"name": "iconContext",
|
|
66813
66895
|
"deprecated": false,
|
|
66814
66896
|
"deprecationMessage": "",
|
|
66815
|
-
"line":
|
|
66897
|
+
"line": 132,
|
|
66816
66898
|
"type": "any",
|
|
66817
66899
|
"decorators": []
|
|
66818
66900
|
},
|
|
@@ -66829,7 +66911,7 @@
|
|
|
66829
66911
|
"name": "label",
|
|
66830
66912
|
"deprecated": false,
|
|
66831
66913
|
"deprecationMessage": "",
|
|
66832
|
-
"line":
|
|
66914
|
+
"line": 127,
|
|
66833
66915
|
"type": "string | TemplateRef<any>",
|
|
66834
66916
|
"decorators": []
|
|
66835
66917
|
},
|
|
@@ -66837,7 +66919,7 @@
|
|
|
66837
66919
|
"name": "labelContext",
|
|
66838
66920
|
"deprecated": false,
|
|
66839
66921
|
"deprecationMessage": "",
|
|
66840
|
-
"line":
|
|
66922
|
+
"line": 128,
|
|
66841
66923
|
"type": "any",
|
|
66842
66924
|
"decorators": []
|
|
66843
66925
|
},
|
|
@@ -66847,16 +66929,25 @@
|
|
|
66847
66929
|
"deprecationMessage": "",
|
|
66848
66930
|
"rawdescription": "\n\nSimple way to set all attributes of Node component via node object\nWould simplify setting component attributes when dynamically rendering node.\n",
|
|
66849
66931
|
"description": "<p>Simple way to set all attributes of Node component via node object\nWould simplify setting component attributes when dynamically rendering node.</p>\n",
|
|
66850
|
-
"line":
|
|
66932
|
+
"line": 146,
|
|
66851
66933
|
"type": "Node",
|
|
66852
66934
|
"decorators": []
|
|
66853
66935
|
},
|
|
66936
|
+
{
|
|
66937
|
+
"name": "selectable",
|
|
66938
|
+
"defaultValue": "true",
|
|
66939
|
+
"deprecated": false,
|
|
66940
|
+
"deprecationMessage": "",
|
|
66941
|
+
"line": 125,
|
|
66942
|
+
"type": "boolean",
|
|
66943
|
+
"decorators": []
|
|
66944
|
+
},
|
|
66854
66945
|
{
|
|
66855
66946
|
"name": "selected",
|
|
66856
66947
|
"defaultValue": "false",
|
|
66857
66948
|
"deprecated": false,
|
|
66858
66949
|
"deprecationMessage": "",
|
|
66859
|
-
"line":
|
|
66950
|
+
"line": 129,
|
|
66860
66951
|
"type": "boolean",
|
|
66861
66952
|
"decorators": []
|
|
66862
66953
|
},
|
|
@@ -66864,7 +66955,7 @@
|
|
|
66864
66955
|
"name": "value",
|
|
66865
66956
|
"deprecated": false,
|
|
66866
66957
|
"deprecationMessage": "",
|
|
66867
|
-
"line":
|
|
66958
|
+
"line": 130,
|
|
66868
66959
|
"type": "any",
|
|
66869
66960
|
"decorators": []
|
|
66870
66961
|
}
|
|
@@ -66875,7 +66966,7 @@
|
|
|
66875
66966
|
"defaultValue": "new EventEmitter()",
|
|
66876
66967
|
"deprecated": false,
|
|
66877
66968
|
"deprecationMessage": "",
|
|
66878
|
-
"line":
|
|
66969
|
+
"line": 170,
|
|
66879
66970
|
"type": "EventEmitter"
|
|
66880
66971
|
},
|
|
66881
66972
|
{
|
|
@@ -66883,7 +66974,7 @@
|
|
|
66883
66974
|
"defaultValue": "new EventEmitter()",
|
|
66884
66975
|
"deprecated": false,
|
|
66885
66976
|
"deprecationMessage": "",
|
|
66886
|
-
"line":
|
|
66977
|
+
"line": 169,
|
|
66887
66978
|
"type": "EventEmitter"
|
|
66888
66979
|
},
|
|
66889
66980
|
{
|
|
@@ -66891,7 +66982,7 @@
|
|
|
66891
66982
|
"defaultValue": "new EventEmitter()",
|
|
66892
66983
|
"deprecated": false,
|
|
66893
66984
|
"deprecationMessage": "",
|
|
66894
|
-
"line":
|
|
66985
|
+
"line": 171,
|
|
66895
66986
|
"type": "EventEmitter"
|
|
66896
66987
|
},
|
|
66897
66988
|
{
|
|
@@ -66899,7 +66990,7 @@
|
|
|
66899
66990
|
"defaultValue": "new EventEmitter()",
|
|
66900
66991
|
"deprecated": false,
|
|
66901
66992
|
"deprecationMessage": "",
|
|
66902
|
-
"line":
|
|
66993
|
+
"line": 172,
|
|
66903
66994
|
"type": "EventEmitter"
|
|
66904
66995
|
}
|
|
66905
66996
|
],
|
|
@@ -66911,7 +67002,7 @@
|
|
|
66911
67002
|
"type": "",
|
|
66912
67003
|
"optional": false,
|
|
66913
67004
|
"description": "",
|
|
66914
|
-
"line":
|
|
67005
|
+
"line": 174
|
|
66915
67006
|
},
|
|
66916
67007
|
{
|
|
66917
67008
|
"name": "treeNodeCount",
|
|
@@ -66934,7 +67025,7 @@
|
|
|
66934
67025
|
"optional": false,
|
|
66935
67026
|
"returnType": "number",
|
|
66936
67027
|
"typeParameters": [],
|
|
66937
|
-
"line":
|
|
67028
|
+
"line": 227,
|
|
66938
67029
|
"deprecated": false,
|
|
66939
67030
|
"deprecationMessage": "",
|
|
66940
67031
|
"rawdescription": "\n\nCalculate the node offset\n",
|
|
@@ -66942,8 +67033,8 @@
|
|
|
66942
67033
|
"jsdoctags": [
|
|
66943
67034
|
{
|
|
66944
67035
|
"tagName": {
|
|
66945
|
-
"pos":
|
|
66946
|
-
"end":
|
|
67036
|
+
"pos": 6346,
|
|
67037
|
+
"end": 6353,
|
|
66947
67038
|
"flags": 16842752,
|
|
66948
67039
|
"modifierFlagsCache": 0,
|
|
66949
67040
|
"transformFlags": 0,
|
|
@@ -66967,7 +67058,7 @@
|
|
|
66967
67058
|
"optional": false,
|
|
66968
67059
|
"returnType": "void",
|
|
66969
67060
|
"typeParameters": [],
|
|
66970
|
-
"line":
|
|
67061
|
+
"line": 252,
|
|
66971
67062
|
"deprecated": false,
|
|
66972
67063
|
"deprecationMessage": "",
|
|
66973
67064
|
"jsdoctags": [
|
|
@@ -66995,7 +67086,7 @@
|
|
|
66995
67086
|
"optional": false,
|
|
66996
67087
|
"returnType": "void",
|
|
66997
67088
|
"typeParameters": [],
|
|
66998
|
-
"line":
|
|
67089
|
+
"line": 246,
|
|
66999
67090
|
"deprecated": false,
|
|
67000
67091
|
"deprecationMessage": "",
|
|
67001
67092
|
"jsdoctags": [
|
|
@@ -67016,7 +67107,7 @@
|
|
|
67016
67107
|
"optional": false,
|
|
67017
67108
|
"returnType": "any",
|
|
67018
67109
|
"typeParameters": [],
|
|
67019
|
-
"line":
|
|
67110
|
+
"line": 299,
|
|
67020
67111
|
"deprecated": false,
|
|
67021
67112
|
"deprecationMessage": "",
|
|
67022
67113
|
"modifierKind": [
|
|
@@ -67036,7 +67127,7 @@
|
|
|
67036
67127
|
"optional": false,
|
|
67037
67128
|
"returnType": "boolean",
|
|
67038
67129
|
"typeParameters": [],
|
|
67039
|
-
"line":
|
|
67130
|
+
"line": 295,
|
|
67040
67131
|
"deprecated": false,
|
|
67041
67132
|
"deprecationMessage": "",
|
|
67042
67133
|
"modifierKind": [
|
|
@@ -67067,7 +67158,7 @@
|
|
|
67067
67158
|
"optional": false,
|
|
67068
67159
|
"returnType": "void",
|
|
67069
67160
|
"typeParameters": [],
|
|
67070
|
-
"line":
|
|
67161
|
+
"line": 272,
|
|
67071
67162
|
"deprecated": false,
|
|
67072
67163
|
"deprecationMessage": "",
|
|
67073
67164
|
"rawdescription": "\n\nManages the keyboard accessibility for children expansion & selection\n",
|
|
@@ -67097,7 +67188,7 @@
|
|
|
67097
67188
|
"optional": false,
|
|
67098
67189
|
"returnType": "void",
|
|
67099
67190
|
"typeParameters": [],
|
|
67100
|
-
"line":
|
|
67191
|
+
"line": 209,
|
|
67101
67192
|
"deprecated": false,
|
|
67102
67193
|
"deprecationMessage": "",
|
|
67103
67194
|
"rawdescription": "\n\nSelects the node and emits the event from the tree view component\n",
|
|
@@ -67105,8 +67196,8 @@
|
|
|
67105
67196
|
"jsdoctags": [
|
|
67106
67197
|
{
|
|
67107
67198
|
"name": {
|
|
67108
|
-
"pos":
|
|
67109
|
-
"end":
|
|
67199
|
+
"pos": 5884,
|
|
67200
|
+
"end": 5889,
|
|
67110
67201
|
"flags": 16842752,
|
|
67111
67202
|
"modifierFlagsCache": 0,
|
|
67112
67203
|
"transformFlags": 0,
|
|
@@ -67117,8 +67208,8 @@
|
|
|
67117
67208
|
"deprecated": false,
|
|
67118
67209
|
"deprecationMessage": "",
|
|
67119
67210
|
"tagName": {
|
|
67120
|
-
"pos":
|
|
67121
|
-
"end":
|
|
67211
|
+
"pos": 5878,
|
|
67212
|
+
"end": 5883,
|
|
67122
67213
|
"flags": 16842752,
|
|
67123
67214
|
"modifierFlagsCache": 0,
|
|
67124
67215
|
"transformFlags": 0,
|
|
@@ -67142,7 +67233,7 @@
|
|
|
67142
67233
|
"optional": false,
|
|
67143
67234
|
"returnType": "void",
|
|
67144
67235
|
"typeParameters": [],
|
|
67145
|
-
"line":
|
|
67236
|
+
"line": 260,
|
|
67146
67237
|
"deprecated": false,
|
|
67147
67238
|
"deprecationMessage": "",
|
|
67148
67239
|
"rawdescription": "\n\nExpand children if not disabled\n",
|
|
@@ -67150,8 +67241,8 @@
|
|
|
67150
67241
|
"jsdoctags": [
|
|
67151
67242
|
{
|
|
67152
67243
|
"name": {
|
|
67153
|
-
"pos":
|
|
67154
|
-
"end":
|
|
67244
|
+
"pos": 7086,
|
|
67245
|
+
"end": 7091,
|
|
67155
67246
|
"flags": 16842752,
|
|
67156
67247
|
"modifierFlagsCache": 0,
|
|
67157
67248
|
"transformFlags": 0,
|
|
@@ -67162,8 +67253,8 @@
|
|
|
67162
67253
|
"deprecated": false,
|
|
67163
67254
|
"deprecationMessage": "",
|
|
67164
67255
|
"tagName": {
|
|
67165
|
-
"pos":
|
|
67166
|
-
"end":
|
|
67256
|
+
"pos": 7080,
|
|
67257
|
+
"end": 7085,
|
|
67167
67258
|
"flags": 16842752,
|
|
67168
67259
|
"modifierFlagsCache": 0,
|
|
67169
67260
|
"transformFlags": 0,
|
|
@@ -67184,7 +67275,7 @@
|
|
|
67184
67275
|
"description": "",
|
|
67185
67276
|
"rawdescription": "\n",
|
|
67186
67277
|
"type": "component",
|
|
67187
|
-
"sourceCode": "import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tOnInit,\n\tOnDestroy,\n\tAfterContentInit,\n\tTemplateRef,\n\tAfterContentChecked\n} from \"@angular/core\";\nimport { Subscription } from \"rxjs\";\nimport { TreeViewService } from \"./treeview.service\";\nimport { Node } from \"./tree-node.types\";\n\n@Component({\n\tselector: \"cds-tree-node\",\n\ttemplate: `\n\t\t<div\n\t\t\t[id]=\"id\"\n\t\t\tclass=\"cds--tree-node\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--tree-node--active': active,\n\t\t\t\t'cds--tree-node--disabled': disabled,\n\t\t\t\t'cds--tree-node--selected': selected,\n\t\t\t\t'cds--tree-leaf-node': !children.length,\n\t\t\t\t'cds--tree-parent-node': children.length,\n\t\t\t\t'cds--tree-node--with-icon': icon\n\t\t\t}\"\n\t\t\t[attr.aria-expanded]=\"expanded || null\"\n\t\t\t[attr.aria-current]=\"active || null\"\n\t\t\t[attr.aria-selected]=\"disabled ? null : selected\"\n\t\t\t[attr.aria-disabled]=\"disabled\"\n\t\t\trole=\"treeitem\"\n\t\t\t[attr.tabindex]=\"selected ? 0 : -1\"\n\t\t\t(focus)=\"emitFocusEvent($event)\"\n\t\t\t(blur)=\"emitBlurEvent($event)\"\n\t\t\t(keydown)=\"navigateTree($event)\">\n\t\t\t<div\n\t\t\t\t*ngIf=\"!children.length\"\n\t\t\t\tclass=\"cds--tree-node__label\"\n\t\t\t\t[style.padding-inline-start.rem]=\"offset\"\n\t\t\t\t[style.margin-inline-start.rem]=\"-offset\"\n\t\t\t\t(click)=\"nodeClick($event)\">\n\t\t\t\t<!-- Icon -->\n\t\t\t\t<ng-container *ngIf=\"icon && !isTemplate(icon)\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tclass=\"cds--tree-node__icon\"\n\t\t\t\t\t\t[cdsIcon]=\"icon\"\n\t\t\t\t\t\tsize=\"16\">\n\t\t\t\t\t</svg>\n\t\t\t\t</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(icon)\" [ngTemplateOutlet]=\"icon\"></ng-template>\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t\t<ng-template\n\t\t\t\t\t*ngIf=\"isTemplate(label)\"\n\t\t\t\t\t[ngTemplateOutlet]=\"label\"\n\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: labelContext }\">\n\t\t\t\t</ng-template>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t*ngIf=\"children.length\"\n\t\t\t\tclass=\"cds--tree-node__label\"\n\t\t\t\t[style.padding-inline-start.rem]=\"offset\"\n\t\t\t\t[style.margin-inline-start.rem]=\"-offset\"\n\t\t\t\trole=\"group\"\n\t\t\t\t(click)=\"nodeClick($event)\">\n\t\t\t\t<span\n\t\t\t\t\tclass=\"cds--tree-parent-node__toggle\"\n\t\t\t\t\t[attr.disabled]=\"disabled || null\"\n\t\t\t\t\t(click)=\"toggleExpanded($event)\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tclass=\"cds--tree-parent-node__toggle-icon\"\n\t\t\t\t\t\t[ngClass]=\"{'cds--tree-parent-node__toggle-icon--expanded' : expanded}\"\n\t\t\t\t\t\tibmIcon=\"caret--down\"\n\t\t\t\t\t\tsize=\"16\">\n\t\t\t\t\t</svg>\n\t\t\t\t</span>\n\t\t\t\t<span class=\"cds--tree-node__label__details\">\n\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t<ng-container *ngIf=\"icon && !isTemplate(icon)\">\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tclass=\"cds--tree-node__icon\"\n\t\t\t\t\t\t\t[cdsIcon]=\"icon\"\n\t\t\t\t\t\t\tsize=\"16\">\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t*ngIf=\"isTemplate(icon)\"\n\t\t\t\t\t\t[ngTemplateOutlet]=\"icon\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: iconContext }\">\n\t\t\t\t\t</ng-template>\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t*ngIf=\"isTemplate(label)\"\n\t\t\t\t\t\t[ngTemplateOutlet]=\"label\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: labelContext }\">\n\t\t\t\t\t</ng-template>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t*ngIf=\"expanded\"\n\t\t\t\trole=\"group\"\n\t\t\t\tclass=\"cds--tree-node__children\">\n\t\t\t\t<ng-container *ngIf=\"isProjected(); else notProjected\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</ng-container>\n\t\t\t\t<ng-template #notProjected>\n\t\t\t\t\t<cds-tree-node\n\t\t\t\t\t\t*ngFor=\"let childNode of children\"\n\t\t\t\t\t\t[node]=\"childNode\"\n\t\t\t\t\t\t[depth]=\"depth + 1\"\n\t\t\t\t\t\t[disabled]=\"disabled\">\n\t\t\t\t\t</cds-tree-node>\n\t\t\t\t</ng-template>\n\t\t\t</div>\n\t\t</div>\n\t`\n})\nexport class TreeNodeComponent implements AfterContentChecked, OnInit, OnDestroy {\n\tstatic treeNodeCount = 0;\n\t@Input() id = `tree-node-${TreeNodeComponent.treeNodeCount++}`;\n\t@Input() active = false;\n\t@Input() disabled = false;\n\t@Input() expanded = false;\n\t@Input() label: string | TemplateRef<any>;\n\t@Input() labelContext: any;\n\t@Input() selected = false;\n\t@Input() value;\n\t@Input() icon: string | TemplateRef<any>;\n\t@Input() iconContext: any;\n\t@Input() gap = 0;\n\t@Input() children: Node[] = [];\n\n\t/**\n\t * Determines the depth of the node\n\t * Calculated by default when passing `Node` array to `TreeViewComponent`, manual entry required otherwise\n\t */\n\t@Input() depth = 0;\n\n\t/**\n\t * Simple way to set all attributes of Node component via node object\n\t * Would simplify setting component attributes when dynamically rendering node.\n\t */\n\t@Input() set node(node: Node) {\n\t\tthis._node = node;\n\n\t\tthis.id = node.id ?? this.id;\n\t\tthis.active = node.active ?? this.active;\n\t\tthis.disabled = node.disabled ?? this.disabled;\n\t\tthis.expanded = node.expanded ?? this.expanded;\n\t\tthis.label = node.label ?? this.label;\n\t\tthis.labelContext = node.labelContext ?? this.labelContext;\n\t\tthis.value = node.value ?? this.value;\n\t\tthis.icon = node.icon ?? this.icon;\n\t\tthis.selected = node.selected ?? this.selected;\n\t\tthis.depth = node.depth ?? this.depth;\n\t\tthis.gap = node.gap ?? this.gap;\n\t\tthis.children = node.children ?? this.children;\n\t\tthis.iconContext = node.iconText ?? this.iconContext;\n\t}\n\n\tget node() {\n\t\treturn this._node;\n\t}\n\n\t@Output() nodeFocus = new EventEmitter();\n\t@Output() nodeBlur = new EventEmitter();\n\t@Output() nodeSelect = new EventEmitter();\n\t@Output() nodetoggle = new EventEmitter();\n\n\toffset;\n\tprivate _node;\n\tprivate subscription: Subscription;\n\n\tconstructor(private treeViewService: TreeViewService) {}\n\n\t/**\n\t * Caclulate offset for margin/padding\n\t */\n\tngAfterContentChecked(): void {\n\t\tthis.offset = this.calculateOffset();\n\t}\n\n\t/**\n\t * Highlight the node\n\t */\n\tngOnInit(): void {\n\t\t// Highlight the node\n\t\tthis.subscription = this.treeViewService.selectionObservable.subscribe((value: Map<string, Node>) => {\n\t\t\tthis.selected = value.has(this.id);\n\t\t\tthis.active = this.selected;\n\t\t});\n\t}\n\n\t/**\n\t * Unsubscribe from subscriptions\n\t */\n\tngOnDestroy(): void {\n\t\tthis.subscription?.unsubscribe();\n\t}\n\n\t/**\n\t * Selects the node and emits the event from the tree view component\n\t * @param event\n\t */\n\tnodeClick(event) {\n\t\tif (!this.disabled) {\n\t\t\tthis.selected = true;\n\t\t\tthis.active = true;\n\t\t\
|
|
67278
|
+
"sourceCode": "import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tOnInit,\n\tOnDestroy,\n\tAfterContentInit,\n\tTemplateRef,\n\tAfterContentChecked\n} from \"@angular/core\";\nimport { Subscription } from \"rxjs\";\nimport { TreeViewService } from \"./treeview.service\";\nimport { Node } from \"./tree-node.types\";\n\n@Component({\n\tselector: \"cds-tree-node\",\n\ttemplate: `\n\t\t<div\n\t\t\t[id]=\"id\"\n\t\t\tclass=\"cds--tree-node\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--tree-node--active': active,\n\t\t\t\t'cds--tree-node--disabled': disabled,\n\t\t\t\t'cds--tree-node--selected': selected,\n\t\t\t\t'cds--tree-leaf-node': !children.length,\n\t\t\t\t'cds--tree-parent-node': children.length,\n\t\t\t\t'cds--tree-node--with-icon': icon\n\t\t\t}\"\n\t\t\t[attr.aria-expanded]=\"expanded || null\"\n\t\t\t[attr.aria-current]=\"active || null\"\n\t\t\t[attr.aria-selected]=\"disabled ? null : selected\"\n\t\t\t[attr.aria-disabled]=\"disabled\"\n\t\t\trole=\"treeitem\"\n\t\t\t[attr.tabindex]=\"selected ? 0 : -1\"\n\t\t\t(focus)=\"emitFocusEvent($event)\"\n\t\t\t(blur)=\"emitBlurEvent($event)\"\n\t\t\t(keydown)=\"navigateTree($event)\">\n\t\t\t<div\n\t\t\t\t*ngIf=\"!children.length\"\n\t\t\t\tclass=\"cds--tree-node__label\"\n\t\t\t\t[style.padding-inline-start.rem]=\"offset\"\n\t\t\t\t[style.margin-inline-start.rem]=\"-offset\"\n\t\t\t\t(click)=\"nodeClick($event)\">\n\t\t\t\t<!-- Icon -->\n\t\t\t\t<ng-container *ngIf=\"icon && !isTemplate(icon)\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tclass=\"cds--tree-node__icon\"\n\t\t\t\t\t\t[cdsIcon]=\"icon\"\n\t\t\t\t\t\tsize=\"16\">\n\t\t\t\t\t</svg>\n\t\t\t\t</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(icon)\" [ngTemplateOutlet]=\"icon\"></ng-template>\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t\t<ng-template\n\t\t\t\t\t*ngIf=\"isTemplate(label)\"\n\t\t\t\t\t[ngTemplateOutlet]=\"label\"\n\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: labelContext }\">\n\t\t\t\t</ng-template>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t*ngIf=\"children.length\"\n\t\t\t\tclass=\"cds--tree-node__label\"\n\t\t\t\t[style.padding-inline-start.rem]=\"offset\"\n\t\t\t\t[style.margin-inline-start.rem]=\"-offset\"\n\t\t\t\trole=\"group\"\n\t\t\t\t(click)=\"nodeClick($event)\">\n\t\t\t\t<span\n\t\t\t\t\tclass=\"cds--tree-parent-node__toggle\"\n\t\t\t\t\t[attr.disabled]=\"disabled || null\"\n\t\t\t\t\t(click)=\"toggleExpanded($event)\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tclass=\"cds--tree-parent-node__toggle-icon\"\n\t\t\t\t\t\t[ngClass]=\"{'cds--tree-parent-node__toggle-icon--expanded' : expanded}\"\n\t\t\t\t\t\tibmIcon=\"caret--down\"\n\t\t\t\t\t\tsize=\"16\">\n\t\t\t\t\t</svg>\n\t\t\t\t</span>\n\t\t\t\t<span class=\"cds--tree-node__label__details\">\n\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t<ng-container *ngIf=\"icon && !isTemplate(icon)\">\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tclass=\"cds--tree-node__icon\"\n\t\t\t\t\t\t\t[cdsIcon]=\"icon\"\n\t\t\t\t\t\t\tsize=\"16\">\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t*ngIf=\"isTemplate(icon)\"\n\t\t\t\t\t\t[ngTemplateOutlet]=\"icon\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: iconContext }\">\n\t\t\t\t\t</ng-template>\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t*ngIf=\"isTemplate(label)\"\n\t\t\t\t\t\t[ngTemplateOutlet]=\"label\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: labelContext }\">\n\t\t\t\t\t</ng-template>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t*ngIf=\"expanded\"\n\t\t\t\trole=\"group\"\n\t\t\t\tclass=\"cds--tree-node__children\">\n\t\t\t\t<ng-container *ngIf=\"isProjected(); else notProjected\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</ng-container>\n\t\t\t\t<ng-template #notProjected>\n\t\t\t\t\t<cds-tree-node\n\t\t\t\t\t\t*ngFor=\"let childNode of children\"\n\t\t\t\t\t\t[node]=\"childNode\"\n\t\t\t\t\t\t[depth]=\"depth + 1\"\n\t\t\t\t\t\t[disabled]=\"disabled\">\n\t\t\t\t\t</cds-tree-node>\n\t\t\t\t</ng-template>\n\t\t\t</div>\n\t\t</div>\n\t`\n})\nexport class TreeNodeComponent implements AfterContentChecked, OnInit, OnDestroy {\n\tstatic treeNodeCount = 0;\n\t@Input() id = `tree-node-${TreeNodeComponent.treeNodeCount++}`;\n\t@Input() active = false;\n\t@Input() disabled = false;\n\t@Input() selectable = true;\n\t@Input() expanded = false;\n\t@Input() label: string | TemplateRef<any>;\n\t@Input() labelContext: any;\n\t@Input() selected = false;\n\t@Input() value;\n\t@Input() icon: string | TemplateRef<any>;\n\t@Input() iconContext: any;\n\t@Input() gap = 0;\n\t@Input() children: Node[] = [];\n\n\t/**\n\t * Determines the depth of the node\n\t * Calculated by default when passing `Node` array to `TreeViewComponent`, manual entry required otherwise\n\t */\n\t@Input() depth = 0;\n\n\t/**\n\t * Simple way to set all attributes of Node component via node object\n\t * Would simplify setting component attributes when dynamically rendering node.\n\t */\n\t@Input() set node(node: Node) {\n\t\tthis._node = node;\n\n\t\tthis.id = node.id ?? this.id;\n\t\tthis.active = node.active ?? this.active;\n\t\tthis.disabled = node.disabled ?? this.disabled;\n\t\tthis.selectable = node.selectable ?? this.selectable;\n\t\tthis.expanded = node.expanded ?? this.expanded;\n\t\tthis.label = node.label ?? this.label;\n\t\tthis.labelContext = node.labelContext ?? this.labelContext;\n\t\tthis.value = node.value ?? this.value;\n\t\tthis.icon = node.icon ?? this.icon;\n\t\tthis.selected = node.selected ?? this.selected;\n\t\tthis.depth = node.depth ?? this.depth;\n\t\tthis.gap = node.gap ?? this.gap;\n\t\tthis.children = node.children ?? this.children;\n\t\tthis.iconContext = node.iconText ?? this.iconContext;\n\t}\n\n\tget node() {\n\t\treturn this._node;\n\t}\n\n\t@Output() nodeFocus = new EventEmitter();\n\t@Output() nodeBlur = new EventEmitter();\n\t@Output() nodeSelect = new EventEmitter();\n\t@Output() nodetoggle = new EventEmitter();\n\n\toffset;\n\tprivate _node;\n\tprivate subscription: Subscription;\n\n\tconstructor(private treeViewService: TreeViewService) {}\n\n\t/**\n\t * Caclulate offset for margin/padding\n\t */\n\tngAfterContentChecked(): void {\n\t\tthis.offset = this.calculateOffset();\n\t}\n\n\t/**\n\t * Highlight the node\n\t */\n\tngOnInit(): void {\n\t\t// Highlight the node\n\t\tthis.subscription = this.treeViewService.selectionObservable.subscribe((value: Map<string, Node>) => {\n\t\t\tthis.selected = this.selectable && value.has(this.id);\n\t\t\tthis.active = this.selectable && this.selected;\n\t\t});\n\t}\n\n\t/**\n\t * Unsubscribe from subscriptions\n\t */\n\tngOnDestroy(): void {\n\t\tthis.subscription?.unsubscribe();\n\t}\n\n\t/**\n\t * Selects the node and emits the event from the tree view component\n\t * @param event\n\t */\n\tnodeClick(event) {\n\t\tif (!this.disabled) {\n\t\t\tevent.target.parentElement.focus();\n\t\t\tif (this.selectable || this.children.length === 0) {\n\t\t\t\tthis.selected = true;\n\t\t\t\tthis.active = true;\n\t\t\t\t// Passes event to all nodes to update highlighting & parent to emit\n\t\t\t\tthis.treeViewService.selectNode({ id: this.id, label: this.label, value: this.value });\n\t\t\t} else {\n\t\t\t\tthis.toggleExpanded(event);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Calculate the node offset\n\t * @returns Number\n\t */\n\tcalculateOffset() {\n\t\t// Parent node with icon\n\t\tif (this.children.length && this.icon) {\n\t\t\treturn this.depth + 1 + this.depth * 0.5;\n\t\t}\n\n\t\t// parent node without icon\n\t\tif (this.children.length) {\n\t\t\treturn this.depth + 1;\n\t\t}\n\n\t\t// leaf node with icon\n\t\tif (this.icon) {\n\t\t\treturn this.depth + 2 + this.depth * 0.5;\n\t\t}\n\n\t\treturn this.depth + this.gap + 2.5;\n\t}\n\n\temitFocusEvent(event) {\n\t\tconst node = { id: this.id, label: this.label, value: this.value }\n\t\tthis.nodeFocus.emit({ node, event });\n\t\tthis.treeViewService.focusNode(node);\n\t}\n\n\temitBlurEvent(event) {\n\t\tthis.nodeBlur.emit({ node: { id: this.id, label: this.label, value: this.value }, event });\n\t}\n\n\t/**\n\t * Expand children if not disabled\n\t * @param event: Event\n\t */\n\ttoggleExpanded(event) {\n\t\tif (!this.disabled) {\n\t\t\tthis.nodetoggle.emit({ node: { id: this.id, label: this.label, value: this.value }, event });\n\t\t\tthis.expanded = !this.expanded;\n\t\t\t// Prevent selection of the node\n\t\t\tevent.stopPropagation();\n\t\t}\n\t}\n\n\t/**\n\t * Manages the keyboard accessibility for children expansion & selection\n\t */\n\tnavigateTree(event: KeyboardEvent) {\n\t\tif (event.key === \"ArrowLeft\" || event.key === \"ArrowRight\" || event.key === \"Enter\") {\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\t// Unexpand\n\t\tif (event.key === \"ArrowLeft\") {\n\t\t\tif (this.expanded && this.children) {\n\t\t\t\tthis.toggleExpanded(event);\n\t\t\t}\n\t\t}\n\n\t\tif (event.key === \"ArrowRight\") {\n\t\t\tif (!this.expanded && this.children) {\n\t\t\t\tthis.toggleExpanded(event);\n\t\t\t}\n\t\t}\n\n\t\tif (event.key === \"Enter\") {\n\t\t\tevent.preventDefault();\n\t\t\tthis.nodeClick(event);\n\t\t}\n\t}\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n\n\tpublic isProjected() {\n\t\treturn this.treeViewService.contentProjected;\n\t}\n}\n",
|
|
67188
67279
|
"assetsDirs": [],
|
|
67189
67280
|
"styleUrlsData": "",
|
|
67190
67281
|
"stylesData": "",
|
|
@@ -67201,7 +67292,7 @@
|
|
|
67201
67292
|
"deprecationMessage": ""
|
|
67202
67293
|
}
|
|
67203
67294
|
],
|
|
67204
|
-
"line":
|
|
67295
|
+
"line": 176,
|
|
67205
67296
|
"jsdoctags": [
|
|
67206
67297
|
{
|
|
67207
67298
|
"name": "treeViewService",
|
|
@@ -67237,7 +67328,7 @@
|
|
|
67237
67328
|
}
|
|
67238
67329
|
],
|
|
67239
67330
|
"returnType": "void",
|
|
67240
|
-
"line":
|
|
67331
|
+
"line": 146,
|
|
67241
67332
|
"rawdescription": "\n\nSimple way to set all attributes of Node component via node object\nWould simplify setting component attributes when dynamically rendering node.\n",
|
|
67242
67333
|
"description": "<p>Simple way to set all attributes of Node component via node object\nWould simplify setting component attributes when dynamically rendering node.</p>\n",
|
|
67243
67334
|
"jsdoctags": [
|
|
@@ -67256,14 +67347,14 @@
|
|
|
67256
67347
|
"name": "node",
|
|
67257
67348
|
"type": "",
|
|
67258
67349
|
"returnType": "",
|
|
67259
|
-
"line":
|
|
67350
|
+
"line": 165
|
|
67260
67351
|
}
|
|
67261
67352
|
}
|
|
67262
67353
|
}
|
|
67263
67354
|
},
|
|
67264
67355
|
{
|
|
67265
67356
|
"name": "TreeViewComponent",
|
|
67266
|
-
"id": "component-TreeViewComponent-
|
|
67357
|
+
"id": "component-TreeViewComponent-b9fa4fd0420b66db7ff8bbafc73d718c1e2dc9d7c43384452a4b85392d75a4bc927c1c16bf25e40d4d4e8b0f2728cafb9a93882ae9113be27180b8283e0b225e",
|
|
67267
67358
|
"file": "src/treeview/treeview.component.ts",
|
|
67268
67359
|
"encapsulation": [],
|
|
67269
67360
|
"entryComponents": [],
|
|
@@ -67406,7 +67497,7 @@
|
|
|
67406
67497
|
"optional": false,
|
|
67407
67498
|
"returnType": "any",
|
|
67408
67499
|
"typeParameters": [],
|
|
67409
|
-
"line":
|
|
67500
|
+
"line": 182,
|
|
67410
67501
|
"deprecated": false,
|
|
67411
67502
|
"deprecationMessage": "",
|
|
67412
67503
|
"modifierKind": [
|
|
@@ -67426,7 +67517,7 @@
|
|
|
67426
67517
|
"optional": false,
|
|
67427
67518
|
"returnType": "boolean",
|
|
67428
67519
|
"typeParameters": [],
|
|
67429
|
-
"line":
|
|
67520
|
+
"line": 178,
|
|
67430
67521
|
"deprecated": false,
|
|
67431
67522
|
"deprecationMessage": "",
|
|
67432
67523
|
"modifierKind": [
|
|
@@ -67457,7 +67548,7 @@
|
|
|
67457
67548
|
"optional": false,
|
|
67458
67549
|
"returnType": "void",
|
|
67459
67550
|
"typeParameters": [],
|
|
67460
|
-
"line":
|
|
67551
|
+
"line": 154,
|
|
67461
67552
|
"deprecated": false,
|
|
67462
67553
|
"deprecationMessage": "",
|
|
67463
67554
|
"rawdescription": "\n\nNavigate tree using tree walker\n",
|
|
@@ -67465,8 +67556,8 @@
|
|
|
67465
67556
|
"jsdoctags": [
|
|
67466
67557
|
{
|
|
67467
67558
|
"name": {
|
|
67468
|
-
"pos":
|
|
67469
|
-
"end":
|
|
67559
|
+
"pos": 3840,
|
|
67560
|
+
"end": 3845,
|
|
67470
67561
|
"flags": 16842752,
|
|
67471
67562
|
"modifierFlagsCache": 0,
|
|
67472
67563
|
"transformFlags": 0,
|
|
@@ -67477,8 +67568,8 @@
|
|
|
67477
67568
|
"deprecated": false,
|
|
67478
67569
|
"deprecationMessage": "",
|
|
67479
67570
|
"tagName": {
|
|
67480
|
-
"pos":
|
|
67481
|
-
"end":
|
|
67571
|
+
"pos": 3834,
|
|
67572
|
+
"end": 3839,
|
|
67482
67573
|
"flags": 16842752,
|
|
67483
67574
|
"modifierFlagsCache": 0,
|
|
67484
67575
|
"transformFlags": 0,
|
|
@@ -67488,6 +67579,51 @@
|
|
|
67488
67579
|
"comment": "<ul>\n<li>KeyboardEvent</li>\n</ul>\n"
|
|
67489
67580
|
}
|
|
67490
67581
|
]
|
|
67582
|
+
},
|
|
67583
|
+
{
|
|
67584
|
+
"name": "onNodeFocusChange",
|
|
67585
|
+
"args": [
|
|
67586
|
+
{
|
|
67587
|
+
"name": "node",
|
|
67588
|
+
"type": "Node",
|
|
67589
|
+
"deprecated": false,
|
|
67590
|
+
"deprecationMessage": ""
|
|
67591
|
+
}
|
|
67592
|
+
],
|
|
67593
|
+
"optional": false,
|
|
67594
|
+
"returnType": "void",
|
|
67595
|
+
"typeParameters": [],
|
|
67596
|
+
"line": 168,
|
|
67597
|
+
"deprecated": false,
|
|
67598
|
+
"deprecationMessage": "",
|
|
67599
|
+
"rawdescription": "\n\nNode focus change\n",
|
|
67600
|
+
"description": "<p>Node focus change</p>\n",
|
|
67601
|
+
"jsdoctags": [
|
|
67602
|
+
{
|
|
67603
|
+
"name": {
|
|
67604
|
+
"pos": 4142,
|
|
67605
|
+
"end": 4146,
|
|
67606
|
+
"flags": 16842752,
|
|
67607
|
+
"modifierFlagsCache": 0,
|
|
67608
|
+
"transformFlags": 0,
|
|
67609
|
+
"kind": 80,
|
|
67610
|
+
"escapedText": "node"
|
|
67611
|
+
},
|
|
67612
|
+
"type": "Node",
|
|
67613
|
+
"deprecated": false,
|
|
67614
|
+
"deprecationMessage": "",
|
|
67615
|
+
"tagName": {
|
|
67616
|
+
"pos": 4136,
|
|
67617
|
+
"end": 4141,
|
|
67618
|
+
"flags": 16842752,
|
|
67619
|
+
"modifierFlagsCache": 0,
|
|
67620
|
+
"transformFlags": 0,
|
|
67621
|
+
"kind": 80,
|
|
67622
|
+
"escapedText": "param"
|
|
67623
|
+
},
|
|
67624
|
+
"comment": "<ul>\n<li>Node</li>\n</ul>\n"
|
|
67625
|
+
}
|
|
67626
|
+
]
|
|
67491
67627
|
}
|
|
67492
67628
|
],
|
|
67493
67629
|
"deprecated": false,
|
|
@@ -67499,7 +67635,7 @@
|
|
|
67499
67635
|
"description": "<p>Get started with importing the module:</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">import { TreeviewModule } from 'carbon-components-angular';</code></pre></div><p><a href=\"../../?path=/story/components-tree-view--basic\">See demo</a></p>\n",
|
|
67500
67636
|
"rawdescription": "\n\nGet started with importing the module:\n\n```typescript\nimport { TreeviewModule } from 'carbon-components-angular';\n```\n\n[See demo](../../?path=/story/components-tree-view--basic)\n",
|
|
67501
67637
|
"type": "component",
|
|
67502
|
-
"sourceCode": "import { DOCUMENT } from \"@angular/common\";\nimport {\n\tComponent,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tEventEmitter,\n\tAfterViewInit,\n\tInject,\n\tViewChild,\n\tElementRef,\n\tOnInit,\n\tOnDestroy\n} from \"@angular/core\";\nimport { Subscription } from \"rxjs\";\nimport { Node } from \"./tree-node.types\";\nimport { TreeViewService } from \"./treeview.service\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { TreeviewModule } from 'carbon-components-angular';\n * ```\n *\n * [See demo](../../?path=/story/components-tree-view--basic)\n */\n@Component({\n\tselector: \"cds-tree-view\",\n\ttemplate: `\n\t\t<label\n\t\t\t*ngIf=\"label\"\n\t\t\t[id]=\"id\"\n\t\t\tclass=\"cds--label\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t<ng-template\n\t\t\t\t*ngIf=\"isTemplate(label)\"\n\t\t\t\t[ngTemplateOutlet]=\"label\"\n\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: labelContext }\">\n\t\t\t</ng-template>\n\t\t</label>\n\t\t<div\n\t\t\tclass=\"cds--tree\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--tree--sm': size === 'sm',\n\t\t\t\t'cds--tree--xs': size === 'xs'\n\t\t\t}\"\n\t\t\t[attr.aria-label]=\"label ? label : null\"\n\t\t\t[attr.aria-labelledby]=\"!label ? id : null\"\n\t\t\t[attr.aria-multiselectable]=\"isMultiSelect || null\"\n\t\t\trole=\"tree\"\n\t\t\t(keydown)=\"navigateTree($event)\"\n\t\t\t#treeWrapper>\n\t\t\t<ng-container *ngIf=\"isProjected(); else notProjected\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</ng-container>\n\t\t\t<ng-template #notProjected>\n\t\t\t\t<cds-tree-node\n\t\t\t\t\t*ngFor=\"let node of tree\"\n\t\t\t\t\t[node]=\"node\">\n\t\t\t\t</cds-tree-node>\n\t\t\t</ng-template>\n\t\t</div>\n\t`,\n\tproviders: [TreeViewService]\n})\nexport class TreeViewComponent implements AfterViewInit, OnInit, OnDestroy {\n\t/**\n\t * Pass `Node[]` array to have tree view render the nodes\n\t * Passing value will disregard projected content\n\t */\n\t@Input() set tree(treeNodes: Node[]) {\n\t\tthis._tree = treeNodes.map((node) => this.copyNode(node));\n\t\tthis.treeViewService.contentProjected = false;\n\t}\n\n\tget tree() {\n\t\treturn this._tree;\n\t}\n\n\tstatic treeViewCount = 0;\n\n\t@Input() id = `tree-view-${TreeViewComponent.treeViewCount++}`;\n\t/**\n\t * Tree view label\n\t */\n\t@Input() label: string | TemplateRef<any>;\n\t/**\n\t * Optional context for label if it's a template\n\t */\n\t@Input() labelContext: any;\n\t/**\n\t * Specify the size of the list items in the tree\n\t */\n\t@Input() size: \"xs\" | \"sm\" = \"sm\";\n\t/**\n\t * **Experimental** - Enable to select multiple nodes\n\t */\n\t@Input() set isMultiSelect(isMulti: boolean) {\n\t\tthis.treeViewService.isMultiSelect = isMulti;\n\t}\n\n\t@Output() select = new EventEmitter<Node | Node[]>();\n\t@ViewChild(\"treeWrapper\") root: ElementRef;\n\n\tprivate treeWalker: TreeWalker;\n\tprivate _tree: Node[] = [];\n\tprivate subscription: Subscription;\n\n\tconstructor(\n\t\t@Inject(DOCUMENT) private document: Document,\n\t\tpublic treeViewService: TreeViewService,\n\t\tprivate elementRef: ElementRef\n\t) {}\n\n\t/**\n\t * Subscribe for node selection\n\t */\n\tngOnInit(): void {\n\t\tthis.subscription = this.treeViewService.selectionObservable.subscribe((nodesMap: Map<string, Node>) => {\n\t\t\t// Get all values from the map to emit\n\t\t\tconst nodes = [...nodesMap.values()];\n\n\t\t\
|
|
67638
|
+
"sourceCode": "import { DOCUMENT } from \"@angular/common\";\nimport {\n\tComponent,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tEventEmitter,\n\tAfterViewInit,\n\tInject,\n\tViewChild,\n\tElementRef,\n\tOnInit,\n\tOnDestroy\n} from \"@angular/core\";\nimport { Subscription } from \"rxjs\";\nimport { Node } from \"./tree-node.types\";\nimport { TreeViewService } from \"./treeview.service\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { TreeviewModule } from 'carbon-components-angular';\n * ```\n *\n * [See demo](../../?path=/story/components-tree-view--basic)\n */\n@Component({\n\tselector: \"cds-tree-view\",\n\ttemplate: `\n\t\t<label\n\t\t\t*ngIf=\"label\"\n\t\t\t[id]=\"id\"\n\t\t\tclass=\"cds--label\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t<ng-template\n\t\t\t\t*ngIf=\"isTemplate(label)\"\n\t\t\t\t[ngTemplateOutlet]=\"label\"\n\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: labelContext }\">\n\t\t\t</ng-template>\n\t\t</label>\n\t\t<div\n\t\t\tclass=\"cds--tree\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--tree--sm': size === 'sm',\n\t\t\t\t'cds--tree--xs': size === 'xs'\n\t\t\t}\"\n\t\t\t[attr.aria-label]=\"label ? label : null\"\n\t\t\t[attr.aria-labelledby]=\"!label ? id : null\"\n\t\t\t[attr.aria-multiselectable]=\"isMultiSelect || null\"\n\t\t\trole=\"tree\"\n\t\t\t(keydown)=\"navigateTree($event)\"\n\t\t\t#treeWrapper>\n\t\t\t<ng-container *ngIf=\"isProjected(); else notProjected\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</ng-container>\n\t\t\t<ng-template #notProjected>\n\t\t\t\t<cds-tree-node\n\t\t\t\t\t*ngFor=\"let node of tree\"\n\t\t\t\t\t[node]=\"node\">\n\t\t\t\t</cds-tree-node>\n\t\t\t</ng-template>\n\t\t</div>\n\t`,\n\tproviders: [TreeViewService]\n})\nexport class TreeViewComponent implements AfterViewInit, OnInit, OnDestroy {\n\t/**\n\t * Pass `Node[]` array to have tree view render the nodes\n\t * Passing value will disregard projected content\n\t */\n\t@Input() set tree(treeNodes: Node[]) {\n\t\tthis._tree = treeNodes.map((node) => this.copyNode(node));\n\t\tthis.treeViewService.contentProjected = false;\n\t}\n\n\tget tree() {\n\t\treturn this._tree;\n\t}\n\n\tstatic treeViewCount = 0;\n\n\t@Input() id = `tree-view-${TreeViewComponent.treeViewCount++}`;\n\t/**\n\t * Tree view label\n\t */\n\t@Input() label: string | TemplateRef<any>;\n\t/**\n\t * Optional context for label if it's a template\n\t */\n\t@Input() labelContext: any;\n\t/**\n\t * Specify the size of the list items in the tree\n\t */\n\t@Input() size: \"xs\" | \"sm\" = \"sm\";\n\t/**\n\t * **Experimental** - Enable to select multiple nodes\n\t */\n\t@Input() set isMultiSelect(isMulti: boolean) {\n\t\tthis.treeViewService.isMultiSelect = isMulti;\n\t}\n\n\t@Output() select = new EventEmitter<Node | Node[]>();\n\t@ViewChild(\"treeWrapper\") root: ElementRef;\n\n\tprivate treeWalker: TreeWalker;\n\tprivate _tree: Node[] = [];\n\tprivate subscription: Subscription;\n\n\tconstructor(\n\t\t@Inject(DOCUMENT) private document: Document,\n\t\tpublic treeViewService: TreeViewService,\n\t\tprivate elementRef: ElementRef\n\t) {}\n\n\t/**\n\t * Subscribe for node selection\n\t */\n\tngOnInit(): void {\n\t\tthis.subscription = this.treeViewService.selectionObservable.subscribe((nodesMap: Map<string, Node>) => {\n\t\t\t// Get all values from the map to emit\n\t\t\tconst nodes = [...nodesMap.values()];\n\n\t\t\tthis.select.emit(this.treeViewService.isMultiSelect ? nodes : nodes[0]);\n\t\t});\n\t\tthis.subscription.add(this.treeViewService.focusNodeObservable.subscribe(node => this.onNodeFocusChange(node)));\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.subscription.unsubscribe();\n\t}\n\n\t/**\n\t * Initialize tree walker to support keyboard navigation\n\t */\n\tngAfterViewInit(): void {\n\t\tthis.treeWalker = this.document.createTreeWalker(this.root.nativeElement, NodeFilter.SHOW_ELEMENT, {\n\t\t\tacceptNode: function (node: HTMLElement) {\n\t\t\t\tif (node.classList.contains(`cds--tree-node--disabled`)) {\n\t\t\t\t\treturn NodeFilter.FILTER_REJECT;\n\t\t\t\t}\n\t\t\t\tif (node.matches(`div.cds--tree-node`)) {\n\t\t\t\t\treturn NodeFilter.FILTER_ACCEPT;\n\t\t\t\t}\n\t\t\t\treturn NodeFilter.FILTER_SKIP;\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Navigate tree using tree walker\n\t * @param event - KeyboardEvent\n\t */\n\tnavigateTree(event: KeyboardEvent) {\n\t\tif (event.key === \"ArrowUp\") {\n\t\t\t(this.treeWalker.previousNode() as HTMLElement)?.focus();\n\t\t}\n\n\t\tif (event.key === \"ArrowDown\") {\n\t\t\t(this.treeWalker.nextNode() as HTMLElement)?.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Node focus change\n\t * @param node - Node\n\t */\n\tonNodeFocusChange(node: Node) {\n\t\tif (!node) {\n\t\t\t// if for some reason the focused node is not defined we fallback on the root element of the treeview\n\t\t\tthis.treeWalker.currentNode = this.treeWalker.root;\n\t\t\treturn;\n\t\t}\n\t\t// Update current node based on focus change to have a better keyboard navigation experience\n\t\tthis.treeWalker.currentNode = this.elementRef.nativeElement.querySelector(`#${CSS.escape(node.id)}`);\n\t}\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n\n\tpublic isProjected() {\n\t\treturn this.treeViewService.contentProjected;\n\t}\n\n\tprivate copyNode(node: Node): Node {\n\t\t// making a recursive shallow copy to avoid performance issues when deeply cloning templateRefs if defined in the node\n\t\tconst copiedNode = Object.assign({}, node);\n\t\tif (node.children) {\n\t\t copiedNode.children = node.children.map(child => this.copyNode(child));\n\t\t}\n\t\treturn copiedNode;\n\t}\n}\n",
|
|
67503
67639
|
"assetsDirs": [],
|
|
67504
67640
|
"styleUrlsData": "",
|
|
67505
67641
|
"stylesData": "",
|
|
@@ -73189,7 +73325,7 @@
|
|
|
73189
73325
|
"deprecated": false,
|
|
73190
73326
|
"deprecationMessage": "",
|
|
73191
73327
|
"type": "[]",
|
|
73192
|
-
"defaultValue": "[\n\t{\n\t\tid: \"1\",\n\t\tvalue: \"Artificial intelligence\",\n\t\tlabel: \"Artificial intelligence\"\n\t},\n\t{\n\t\tid: \"2\",\n\t\tvalue: \"Blockchain\",\n\t\tlabel: \"Blockchain\"\n\t},\n\t{\n\t\tid: \"3\",\n\t\tvalue: \"Business automation\",\n\t\tlabel: \"Business automation\",\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"3-1\",\n\t\t\t\tvalue: \"Business process automation\",\n\t\t\t\tlabel: \"Business process automation\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"3-2\",\n\t\t\t\tvalue: \"Business process mapping\",\n\t\t\t\tlabel: \"Business process mapping\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tid: \"4\",\n\t\tvalue: \"Business operations\",\n\t\tlabel: \"Business operations\"\n\t},\n\t{\n\t\tid: \"5\",\n\t\tvalue: \"Cloud computing\",\n\t\tlabel: \"Cloud computing\",\n\t\texpanded: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"5-1\",\n\t\t\t\tvalue: \"Containers\",\n\t\t\t\tlabel: \"Containers\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"5-2\",\n\t\t\t\tvalue: \"Databases\",\n\t\t\t\tlabel: \"Databases\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"5-3\",\n\t\t\t\tvalue: \"DevOps\",\n\t\t\t\tlabel: \"DevOps\",\n\t\t\t\texpanded: true,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"5-4\",\n\t\t\t\t\t\tvalue: \"Solutions\",\n\t\t\t\t\t\tlabel: \"Solutions\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"5-5\",\n\t\t\t\t\t\tvalue: \"Case studies\",\n\t\t\t\t\t\tlabel: \"Case studies\",\n\t\t\t\t\t\texpanded: true,\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: \"5-6\",\n\t\t\t\t\t\t\t\tvalue: \"Resources\",\n\t\t\t\t\t\t\t\tlabel: \"Resources\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tid: \"6\",\n\t\tvalue: \"Data & Analytics\",\n\t\tlabel: \"Data & Analytics\",\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"6-1\",\n\t\t\t\tvalue: \"Big data\",\n\t\t\t\tlabel: \"Big data\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"6-2\",\n\t\t\t\tvalue: \"Business intelligence\",\n\t\t\t\tlabel: \"Business intelligence\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tid: \"7\",\n\t\tvalue: \"IT infrastructure\",\n\t\tlabel: \"IT infrastructure\",\n\t\texpanded: true,\n\t\tdisabled: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"
|
|
73328
|
+
"defaultValue": "[\n\t{\n\t\tid: \"1\",\n\t\tvalue: \"Artificial intelligence\",\n\t\tlabel: \"Artificial intelligence\"\n\t},\n\t{\n\t\tid: \"2\",\n\t\tvalue: \"Blockchain\",\n\t\tlabel: \"Blockchain\"\n\t},\n\t{\n\t\tid: \"3\",\n\t\tvalue: \"Business automation\",\n\t\tlabel: \"Business automation\",\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"3-1\",\n\t\t\t\tvalue: \"Business process automation\",\n\t\t\t\tlabel: \"Business process automation\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"3-2\",\n\t\t\t\tvalue: \"Business process mapping\",\n\t\t\t\tlabel: \"Business process mapping\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tid: \"4\",\n\t\tvalue: \"Business operations\",\n\t\tlabel: \"Business operations\"\n\t},\n\t{\n\t\tid: \"5\",\n\t\tvalue: \"Cloud computing\",\n\t\tlabel: \"Cloud computing\",\n\t\texpanded: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"5-1\",\n\t\t\t\tvalue: \"Containers\",\n\t\t\t\tlabel: \"Containers\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"5-2\",\n\t\t\t\tvalue: \"Databases\",\n\t\t\t\tlabel: \"Databases\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"5-3\",\n\t\t\t\tvalue: \"DevOps\",\n\t\t\t\tlabel: \"DevOps\",\n\t\t\t\texpanded: true,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"5-4\",\n\t\t\t\t\t\tvalue: \"Solutions\",\n\t\t\t\t\t\tlabel: \"Solutions\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"5-5\",\n\t\t\t\t\t\tvalue: \"Case studies\",\n\t\t\t\t\t\tlabel: \"Case studies\",\n\t\t\t\t\t\texpanded: true,\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: \"5-6\",\n\t\t\t\t\t\t\t\tvalue: \"Resources\",\n\t\t\t\t\t\t\t\tlabel: \"Resources\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tid: \"6\",\n\t\tvalue: \"Data & Analytics\",\n\t\tlabel: \"Data & Analytics\",\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"6-1\",\n\t\t\t\tvalue: \"Big data\",\n\t\t\t\tlabel: \"Big data\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"6-2\",\n\t\t\t\tvalue: \"Business intelligence\",\n\t\t\t\tlabel: \"Business intelligence\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tid: \"7\",\n\t\tvalue: \"Not selectable node\",\n\t\tlabel: \"Not selectable node\",\n\t\tselectable: false,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"7-1\",\n\t\t\t\tvalue: \"Child 1\",\n\t\t\t\tlabel: \"Child 1\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"7-2\",\n\t\t\t\tvalue: \"Child 2\",\n\t\t\t\tlabel: \"Child 2\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tid: \"8\",\n\t\tvalue: \"IT infrastructure\",\n\t\tlabel: \"IT infrastructure\",\n\t\texpanded: true,\n\t\tdisabled: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"8-1\",\n\t\t\t\tvalue: \"Data storage\",\n\t\t\t\tlabel: \"Data storage\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"8-2\",\n\t\t\t\tvalue: \"Enterprise servers\",\n\t\t\t\tlabel: \"Enterprise servers\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"9\",\n\t\t\t\tvalue: \"Hybrid cloud infrastructure\",\n\t\t\t\tlabel: \"Hybrid cloud infrastructure\",\n\t\t\t\texpanded: true,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"9-1\",\n\t\t\t\t\t\tvalue: \"Insights\",\n\t\t\t\t\t\tlabel: \"Insights\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"9-2\",\n\t\t\t\t\t\tvalue: \"Benefits\",\n\t\t\t\t\t\tlabel: \"Benefits\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t}\n]"
|
|
73193
73329
|
},
|
|
73194
73330
|
{
|
|
73195
73331
|
"name": "NonSVGRootTemplate",
|
|
@@ -74304,7 +74440,7 @@
|
|
|
74304
74440
|
"deprecated": false,
|
|
74305
74441
|
"deprecationMessage": "",
|
|
74306
74442
|
"type": "",
|
|
74307
|
-
"defaultValue": "(args) => ({\n\tprops: args,\n\ttemplate: `\n\t\t<cds-textarea-label\n\t\t[helperText]=\"helperText\"\n\t\t[invalid]=\"invalid\"\n\t\t[disabled]=\"disabled\"\n\t\t[invalidText]=\"invalidText\"\n\t\t[warn]=\"warn\"\n\t\t[warnText]=\"warnText\">\n\t\t{{label}}\n\t\t<textarea\n\t\t\tcdsTextArea\n\t\t\t[placeholder]=\"placeholder\"\n\t\t\t[invalid]=\"invalid\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[theme]=\"theme\"\n\t\t\t[rows]=\"rows\"\n\t\t\t[cols]=\"cols\"\n\t\t\taria-label=\"textarea\"></textarea>\n\t\t</cds-textarea-label>\n\t`\n})"
|
|
74443
|
+
"defaultValue": "(args) => ({\n\tprops: args,\n\ttemplate: `\n\t\t<cds-textarea-label\n\t\t[helperText]=\"helperText\"\n\t\t[invalid]=\"invalid\"\n\t\t[disabled]=\"disabled\"\n\t\t[invalidText]=\"invalidText\"\n\t\t[warn]=\"warn\"\n\t\t[warnText]=\"warnText\">\n\t\t{{label}}\n\t\t<textarea\n\t\t\tcdsTextArea\n\t\t\t[placeholder]=\"placeholder\"\n\t\t\t[invalid]=\"invalid\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[theme]=\"theme\"\n\t\t\t[rows]=\"rows\"\n\t\t\t[cols]=\"cols\"\n\t\t\t[readonly]=\"readonly\"\n\t\t\taria-label=\"textarea\"></textarea>\n\t\t</cds-textarea-label>\n\t`\n})"
|
|
74308
74444
|
},
|
|
74309
74445
|
{
|
|
74310
74446
|
"name": "Template",
|
|
@@ -79020,7 +79156,7 @@
|
|
|
79020
79156
|
"deprecated": false,
|
|
79021
79157
|
"deprecationMessage": "",
|
|
79022
79158
|
"type": "",
|
|
79023
|
-
"defaultValue": "(args) => ({\n\tprops: args,\n\ttemplate: `\n\t\t<cds-textarea-label\n\t\t[helperText]=\"helperText\"\n\t\t[invalid]=\"invalid\"\n\t\t[disabled]=\"disabled\"\n\t\t[invalidText]=\"invalidText\"\n\t\t[warn]=\"warn\"\n\t\t[warnText]=\"warnText\">\n\t\t{{label}}\n\t\t<textarea\n\t\t\tcdsTextArea\n\t\t\t[placeholder]=\"placeholder\"\n\t\t\t[invalid]=\"invalid\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[theme]=\"theme\"\n\t\t\t[rows]=\"rows\"\n\t\t\t[cols]=\"cols\"\n\t\t\taria-label=\"textarea\"></textarea>\n\t\t</cds-textarea-label>\n\t`\n})"
|
|
79159
|
+
"defaultValue": "(args) => ({\n\tprops: args,\n\ttemplate: `\n\t\t<cds-textarea-label\n\t\t[helperText]=\"helperText\"\n\t\t[invalid]=\"invalid\"\n\t\t[disabled]=\"disabled\"\n\t\t[invalidText]=\"invalidText\"\n\t\t[warn]=\"warn\"\n\t\t[warnText]=\"warnText\">\n\t\t{{label}}\n\t\t<textarea\n\t\t\tcdsTextArea\n\t\t\t[placeholder]=\"placeholder\"\n\t\t\t[invalid]=\"invalid\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[theme]=\"theme\"\n\t\t\t[rows]=\"rows\"\n\t\t\t[cols]=\"cols\"\n\t\t\t[readonly]=\"readonly\"\n\t\t\taria-label=\"textarea\"></textarea>\n\t\t</cds-textarea-label>\n\t`\n})"
|
|
79024
79160
|
}
|
|
79025
79161
|
],
|
|
79026
79162
|
"src/layer/layer.stories.ts": [
|
|
@@ -80516,7 +80652,7 @@
|
|
|
80516
80652
|
"deprecated": false,
|
|
80517
80653
|
"deprecationMessage": "",
|
|
80518
80654
|
"type": "[]",
|
|
80519
|
-
"defaultValue": "[\n\t{\n\t\tid: \"1\",\n\t\tvalue: \"Artificial intelligence\",\n\t\tlabel: \"Artificial intelligence\"\n\t},\n\t{\n\t\tid: \"2\",\n\t\tvalue: \"Blockchain\",\n\t\tlabel: \"Blockchain\"\n\t},\n\t{\n\t\tid: \"3\",\n\t\tvalue: \"Business automation\",\n\t\tlabel: \"Business automation\",\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"3-1\",\n\t\t\t\tvalue: \"Business process automation\",\n\t\t\t\tlabel: \"Business process automation\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"3-2\",\n\t\t\t\tvalue: \"Business process mapping\",\n\t\t\t\tlabel: \"Business process mapping\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tid: \"4\",\n\t\tvalue: \"Business operations\",\n\t\tlabel: \"Business operations\"\n\t},\n\t{\n\t\tid: \"5\",\n\t\tvalue: \"Cloud computing\",\n\t\tlabel: \"Cloud computing\",\n\t\texpanded: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"5-1\",\n\t\t\t\tvalue: \"Containers\",\n\t\t\t\tlabel: \"Containers\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"5-2\",\n\t\t\t\tvalue: \"Databases\",\n\t\t\t\tlabel: \"Databases\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"5-3\",\n\t\t\t\tvalue: \"DevOps\",\n\t\t\t\tlabel: \"DevOps\",\n\t\t\t\texpanded: true,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"5-4\",\n\t\t\t\t\t\tvalue: \"Solutions\",\n\t\t\t\t\t\tlabel: \"Solutions\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"5-5\",\n\t\t\t\t\t\tvalue: \"Case studies\",\n\t\t\t\t\t\tlabel: \"Case studies\",\n\t\t\t\t\t\texpanded: true,\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: \"5-6\",\n\t\t\t\t\t\t\t\tvalue: \"Resources\",\n\t\t\t\t\t\t\t\tlabel: \"Resources\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tid: \"6\",\n\t\tvalue: \"Data & Analytics\",\n\t\tlabel: \"Data & Analytics\",\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"6-1\",\n\t\t\t\tvalue: \"Big data\",\n\t\t\t\tlabel: \"Big data\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"6-2\",\n\t\t\t\tvalue: \"Business intelligence\",\n\t\t\t\tlabel: \"Business intelligence\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tid: \"7\",\n\t\tvalue: \"IT infrastructure\",\n\t\tlabel: \"IT infrastructure\",\n\t\texpanded: true,\n\t\tdisabled: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"
|
|
80655
|
+
"defaultValue": "[\n\t{\n\t\tid: \"1\",\n\t\tvalue: \"Artificial intelligence\",\n\t\tlabel: \"Artificial intelligence\"\n\t},\n\t{\n\t\tid: \"2\",\n\t\tvalue: \"Blockchain\",\n\t\tlabel: \"Blockchain\"\n\t},\n\t{\n\t\tid: \"3\",\n\t\tvalue: \"Business automation\",\n\t\tlabel: \"Business automation\",\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"3-1\",\n\t\t\t\tvalue: \"Business process automation\",\n\t\t\t\tlabel: \"Business process automation\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"3-2\",\n\t\t\t\tvalue: \"Business process mapping\",\n\t\t\t\tlabel: \"Business process mapping\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tid: \"4\",\n\t\tvalue: \"Business operations\",\n\t\tlabel: \"Business operations\"\n\t},\n\t{\n\t\tid: \"5\",\n\t\tvalue: \"Cloud computing\",\n\t\tlabel: \"Cloud computing\",\n\t\texpanded: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"5-1\",\n\t\t\t\tvalue: \"Containers\",\n\t\t\t\tlabel: \"Containers\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"5-2\",\n\t\t\t\tvalue: \"Databases\",\n\t\t\t\tlabel: \"Databases\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"5-3\",\n\t\t\t\tvalue: \"DevOps\",\n\t\t\t\tlabel: \"DevOps\",\n\t\t\t\texpanded: true,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"5-4\",\n\t\t\t\t\t\tvalue: \"Solutions\",\n\t\t\t\t\t\tlabel: \"Solutions\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"5-5\",\n\t\t\t\t\t\tvalue: \"Case studies\",\n\t\t\t\t\t\tlabel: \"Case studies\",\n\t\t\t\t\t\texpanded: true,\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: \"5-6\",\n\t\t\t\t\t\t\t\tvalue: \"Resources\",\n\t\t\t\t\t\t\t\tlabel: \"Resources\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tid: \"6\",\n\t\tvalue: \"Data & Analytics\",\n\t\tlabel: \"Data & Analytics\",\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"6-1\",\n\t\t\t\tvalue: \"Big data\",\n\t\t\t\tlabel: \"Big data\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"6-2\",\n\t\t\t\tvalue: \"Business intelligence\",\n\t\t\t\tlabel: \"Business intelligence\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tid: \"7\",\n\t\tvalue: \"Not selectable node\",\n\t\tlabel: \"Not selectable node\",\n\t\tselectable: false,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"7-1\",\n\t\t\t\tvalue: \"Child 1\",\n\t\t\t\tlabel: \"Child 1\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"7-2\",\n\t\t\t\tvalue: \"Child 2\",\n\t\t\t\tlabel: \"Child 2\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tid: \"8\",\n\t\tvalue: \"IT infrastructure\",\n\t\tlabel: \"IT infrastructure\",\n\t\texpanded: true,\n\t\tdisabled: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: \"8-1\",\n\t\t\t\tvalue: \"Data storage\",\n\t\t\t\tlabel: \"Data storage\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"8-2\",\n\t\t\t\tvalue: \"Enterprise servers\",\n\t\t\t\tlabel: \"Enterprise servers\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"9\",\n\t\t\t\tvalue: \"Hybrid cloud infrastructure\",\n\t\t\t\tlabel: \"Hybrid cloud infrastructure\",\n\t\t\t\texpanded: true,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"9-1\",\n\t\t\t\t\t\tvalue: \"Insights\",\n\t\t\t\t\t\tlabel: \"Insights\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"9-2\",\n\t\t\t\t\t\tvalue: \"Benefits\",\n\t\t\t\t\t\tlabel: \"Benefits\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t}\n]"
|
|
80520
80656
|
},
|
|
80521
80657
|
{
|
|
80522
80658
|
"name": "ProjectedContent",
|
|
@@ -85416,8 +85552,8 @@
|
|
|
85416
85552
|
"type": "component",
|
|
85417
85553
|
"linktype": "component",
|
|
85418
85554
|
"name": "TextareaLabelComponent",
|
|
85419
|
-
"coveragePercent":
|
|
85420
|
-
"coverageCount": "13/
|
|
85555
|
+
"coveragePercent": 65,
|
|
85556
|
+
"coverageCount": "13/20",
|
|
85421
85557
|
"status": "good"
|
|
85422
85558
|
},
|
|
85423
85559
|
{
|
|
@@ -88959,8 +89095,8 @@
|
|
|
88959
89095
|
"type": "component",
|
|
88960
89096
|
"linktype": "component",
|
|
88961
89097
|
"name": "TreeNodeComponent",
|
|
88962
|
-
"coveragePercent":
|
|
88963
|
-
"coverageCount": "6/
|
|
89098
|
+
"coveragePercent": 19,
|
|
89099
|
+
"coverageCount": "6/31",
|
|
88964
89100
|
"status": "low"
|
|
88965
89101
|
},
|
|
88966
89102
|
{
|
|
@@ -88969,7 +89105,7 @@
|
|
|
88969
89105
|
"linktype": "interface",
|
|
88970
89106
|
"name": "Node",
|
|
88971
89107
|
"coveragePercent": 0,
|
|
88972
|
-
"coverageCount": "0/
|
|
89108
|
+
"coverageCount": "0/14",
|
|
88973
89109
|
"status": "low"
|
|
88974
89110
|
},
|
|
88975
89111
|
{
|
|
@@ -88977,8 +89113,8 @@
|
|
|
88977
89113
|
"type": "component",
|
|
88978
89114
|
"linktype": "component",
|
|
88979
89115
|
"name": "TreeViewComponent",
|
|
88980
|
-
"coveragePercent":
|
|
88981
|
-
"coverageCount": "
|
|
89116
|
+
"coveragePercent": 50,
|
|
89117
|
+
"coverageCount": "8/16",
|
|
88982
89118
|
"status": "medium"
|
|
88983
89119
|
},
|
|
88984
89120
|
{
|
|
@@ -88986,8 +89122,8 @@
|
|
|
88986
89122
|
"type": "injectable",
|
|
88987
89123
|
"linktype": "injectable",
|
|
88988
89124
|
"name": "TreeViewService",
|
|
88989
|
-
"coveragePercent":
|
|
88990
|
-
"coverageCount": "
|
|
89125
|
+
"coveragePercent": 60,
|
|
89126
|
+
"coverageCount": "6/10",
|
|
88991
89127
|
"status": "good"
|
|
88992
89128
|
},
|
|
88993
89129
|
{
|