@ihk-gfi/lux-components-update 11.13.0 → 13.0.1

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.
Files changed (230) hide show
  1. package/README.md +2 -4
  2. package/package.json +14 -17
  3. package/src/add-lux-components/files/app/app.component.html +1 -1
  4. package/src/add-lux-components/files/app/app.component.ts +4 -1
  5. package/src/add-lux-components/files/locale/messages.en.xlf +489 -235
  6. package/src/add-lux-components/files/locale/messages.xlf +451 -218
  7. package/src/add-lux-components/files/scripts/.browserslistrc +10 -7
  8. package/src/add-lux-components/files/src/index.html +31 -0
  9. package/src/add-lux-components/index.js +151 -78
  10. package/src/add-lux-components/index.js.map +1 -1
  11. package/src/add-lux-components/index.ts +141 -66
  12. package/src/add-lux-components/index_spec.js +4 -4
  13. package/src/add-lux-components/index_spec.js.map +1 -1
  14. package/src/add-lux-components/index_spec.ts +1 -1
  15. package/src/add-lux-components/schema.json +1 -1
  16. package/src/collection.json +8 -88
  17. package/src/update-dependencies/index.d.ts +1 -1
  18. package/src/update-dependencies/index.js +82 -65
  19. package/src/update-dependencies/index.js.map +1 -1
  20. package/src/update-dependencies/index.ts +112 -95
  21. package/src/update-dependencies/schema.json +1 -1
  22. package/src/update-en-messages/index.d.ts +2 -0
  23. package/src/update-en-messages/index.js +75 -0
  24. package/src/update-en-messages/index.js.map +1 -0
  25. package/src/update-en-messages/index.ts +78 -0
  26. package/src/{update110100 → update-en-messages}/schema.json +3 -3
  27. package/src/updates/update130000/files/root/.browserslistrc +20 -0
  28. package/src/updates/update130000/index.d.ts +27 -0
  29. package/src/updates/update130000/index.js +296 -0
  30. package/src/updates/update130000/index.js.map +1 -0
  31. package/src/updates/update130000/index.ts +346 -0
  32. package/src/{migrate-to-eslint → updates/update130000}/index_spec.d.ts +0 -0
  33. package/src/updates/update130000/index_spec.js +574 -0
  34. package/src/updates/update130000/index_spec.js.map +1 -0
  35. package/src/updates/update130000/index_spec.ts +665 -0
  36. package/src/{update → updates/update130000}/schema.json +1 -1
  37. package/src/utility/dependencies.js +16 -14
  38. package/src/utility/dependencies.js.map +1 -1
  39. package/src/utility/dependencies.ts +6 -4
  40. package/src/utility/files.d.ts +5 -1
  41. package/src/utility/files.js +27 -16
  42. package/src/utility/files.js.map +1 -1
  43. package/src/utility/files.ts +16 -3
  44. package/src/utility/html.js +88 -25
  45. package/src/utility/html.js.map +1 -1
  46. package/src/utility/html.ts +105 -29
  47. package/src/{migrate-to-webcomponent/index_spec.d.ts → utility/html_spec.d.ts} +0 -0
  48. package/src/utility/html_spec.js +560 -0
  49. package/src/utility/html_spec.js.map +1 -0
  50. package/src/utility/html_spec.ts +575 -0
  51. package/src/utility/json.d.ts +46 -1
  52. package/src/utility/json.js +174 -4
  53. package/src/utility/json.js.map +1 -1
  54. package/src/utility/json.ts +198 -3
  55. package/src/{update/index_spec.d.ts → utility/json_spec.d.ts} +0 -0
  56. package/src/utility/json_spec.js +326 -0
  57. package/src/utility/json_spec.js.map +1 -0
  58. package/src/utility/json_spec.ts +376 -0
  59. package/src/utility/typescript.js +16 -16
  60. package/src/utility/typescript.js.map +1 -1
  61. package/src/utility/typescript_spec.js +36 -36
  62. package/src/utility/typescript_spec.js.map +1 -1
  63. package/src/utility/util.d.ts +2 -2
  64. package/src/utility/util.js +16 -14
  65. package/src/utility/util.js.map +1 -1
  66. package/src/utility/util.ts +7 -5
  67. package/src/utility/validation.js +11 -11
  68. package/src/utility/validation.js.map +1 -1
  69. package/src/migrate-to-eslint/files/.eslintrc.json +0 -68
  70. package/src/migrate-to-eslint/files/.prettierrc +0 -25
  71. package/src/migrate-to-eslint/index.d.ts +0 -6
  72. package/src/migrate-to-eslint/index.js +0 -149
  73. package/src/migrate-to-eslint/index.js.map +0 -1
  74. package/src/migrate-to-eslint/index.ts +0 -181
  75. package/src/migrate-to-eslint/index_spec.js +0 -129
  76. package/src/migrate-to-eslint/index_spec.js.map +0 -1
  77. package/src/migrate-to-eslint/index_spec.ts +0 -152
  78. package/src/migrate-to-eslint/schema.json +0 -23
  79. package/src/migrate-to-webcomponent/index.d.ts +0 -10
  80. package/src/migrate-to-webcomponent/index.js +0 -278
  81. package/src/migrate-to-webcomponent/index.js.map +0 -1
  82. package/src/migrate-to-webcomponent/index.ts +0 -331
  83. package/src/migrate-to-webcomponent/index_spec.js +0 -580
  84. package/src/migrate-to-webcomponent/index_spec.js.map +0 -1
  85. package/src/migrate-to-webcomponent/index_spec.ts +0 -703
  86. package/src/migrate-to-webcomponent/schema.json +0 -23
  87. package/src/update/files/locale/messages.en.xlf +0 -940
  88. package/src/update/files/locale/messages.xlf +0 -815
  89. package/src/update/files/scripts/move-de-files.js +0 -15
  90. package/src/update/index.d.ts +0 -23
  91. package/src/update/index.js +0 -635
  92. package/src/update/index.js.map +0 -1
  93. package/src/update/index.ts +0 -712
  94. package/src/update/index_spec.js +0 -984
  95. package/src/update/index_spec.js.map +0 -1
  96. package/src/update/index_spec.ts +0 -1139
  97. package/src/update110001/index.d.ts +0 -2
  98. package/src/update110001/index.js +0 -42
  99. package/src/update110001/index.js.map +0 -1
  100. package/src/update110001/index.ts +0 -40
  101. package/src/update110001/index_spec.d.ts +0 -1
  102. package/src/update110001/index_spec.js +0 -67
  103. package/src/update110001/index_spec.js.map +0 -1
  104. package/src/update110001/index_spec.ts +0 -72
  105. package/src/update110001/schema.json +0 -23
  106. package/src/update110100/index.d.ts +0 -2
  107. package/src/update110100/index.js +0 -27
  108. package/src/update110100/index.js.map +0 -1
  109. package/src/update110100/index.ts +0 -24
  110. package/src/update110100/index_spec.d.ts +0 -1
  111. package/src/update110100/index_spec.js +0 -69
  112. package/src/update110100/index_spec.js.map +0 -1
  113. package/src/update110100/index_spec.ts +0 -73
  114. package/src/update110101/index.d.ts +0 -2
  115. package/src/update110101/index.js +0 -24
  116. package/src/update110101/index.js.map +0 -1
  117. package/src/update110101/index.ts +0 -21
  118. package/src/update110101/index_spec.d.ts +0 -1
  119. package/src/update110101/index_spec.js +0 -65
  120. package/src/update110101/index_spec.js.map +0 -1
  121. package/src/update110101/index_spec.ts +0 -69
  122. package/src/update110101/schema.json +0 -23
  123. package/src/update110200/index.d.ts +0 -2
  124. package/src/update110200/index.js +0 -24
  125. package/src/update110200/index.js.map +0 -1
  126. package/src/update110200/index.ts +0 -21
  127. package/src/update110200/index_spec.d.ts +0 -1
  128. package/src/update110200/index_spec.js +0 -65
  129. package/src/update110200/index_spec.js.map +0 -1
  130. package/src/update110200/index_spec.ts +0 -69
  131. package/src/update110200/schema.json +0 -23
  132. package/src/update110300/index.d.ts +0 -2
  133. package/src/update110300/index.js +0 -133
  134. package/src/update110300/index.js.map +0 -1
  135. package/src/update110300/index.ts +0 -148
  136. package/src/update110300/index_spec.d.ts +0 -1
  137. package/src/update110300/index_spec.js +0 -121
  138. package/src/update110300/index_spec.js.map +0 -1
  139. package/src/update110300/index_spec.ts +0 -139
  140. package/src/update110300/schema.json +0 -23
  141. package/src/update110400/index.d.ts +0 -2
  142. package/src/update110400/index.js +0 -28
  143. package/src/update110400/index.js.map +0 -1
  144. package/src/update110400/index.ts +0 -28
  145. package/src/update110400/index_spec.d.ts +0 -1
  146. package/src/update110400/index_spec.js +0 -66
  147. package/src/update110400/index_spec.js.map +0 -1
  148. package/src/update110400/index_spec.ts +0 -70
  149. package/src/update110400/schema.json +0 -23
  150. package/src/update110500/index.d.ts +0 -2
  151. package/src/update110500/index.js +0 -28
  152. package/src/update110500/index.js.map +0 -1
  153. package/src/update110500/index.ts +0 -28
  154. package/src/update110500/index_spec.d.ts +0 -1
  155. package/src/update110500/index_spec.js +0 -66
  156. package/src/update110500/index_spec.js.map +0 -1
  157. package/src/update110500/index_spec.ts +0 -70
  158. package/src/update110500/schema.json +0 -23
  159. package/src/update110600/index.d.ts +0 -2
  160. package/src/update110600/index.js +0 -28
  161. package/src/update110600/index.js.map +0 -1
  162. package/src/update110600/index.ts +0 -28
  163. package/src/update110600/index_spec.d.ts +0 -1
  164. package/src/update110600/index_spec.js +0 -66
  165. package/src/update110600/index_spec.js.map +0 -1
  166. package/src/update110600/index_spec.ts +0 -70
  167. package/src/update110600/schema.json +0 -23
  168. package/src/update110700/index.d.ts +0 -2
  169. package/src/update110700/index.js +0 -45
  170. package/src/update110700/index.js.map +0 -1
  171. package/src/update110700/index.ts +0 -47
  172. package/src/update110700/index_spec.d.ts +0 -1
  173. package/src/update110700/index_spec.js +0 -108
  174. package/src/update110700/index_spec.js.map +0 -1
  175. package/src/update110700/index_spec.ts +0 -122
  176. package/src/update110700/schema.json +0 -23
  177. package/src/update110800/index.d.ts +0 -2
  178. package/src/update110800/index.js +0 -32
  179. package/src/update110800/index.js.map +0 -1
  180. package/src/update110800/index.ts +0 -33
  181. package/src/update110800/index_spec.d.ts +0 -1
  182. package/src/update110800/index_spec.js +0 -70
  183. package/src/update110800/index_spec.js.map +0 -1
  184. package/src/update110800/index_spec.ts +0 -75
  185. package/src/update110800/schema.json +0 -23
  186. package/src/update110900/index.d.ts +0 -4
  187. package/src/update110900/index.js +0 -111
  188. package/src/update110900/index.js.map +0 -1
  189. package/src/update110900/index.ts +0 -123
  190. package/src/update110900/index_spec.d.ts +0 -1
  191. package/src/update110900/index_spec.js +0 -311
  192. package/src/update110900/index_spec.js.map +0 -1
  193. package/src/update110900/index_spec.ts +0 -341
  194. package/src/update110900/schema.json +0 -23
  195. package/src/update111000/index.d.ts +0 -2
  196. package/src/update111000/index.js +0 -27
  197. package/src/update111000/index.js.map +0 -1
  198. package/src/update111000/index.ts +0 -27
  199. package/src/update111000/index_spec.d.ts +0 -1
  200. package/src/update111000/index_spec.js +0 -65
  201. package/src/update111000/index_spec.js.map +0 -1
  202. package/src/update111000/index_spec.ts +0 -70
  203. package/src/update111000/schema.json +0 -23
  204. package/src/update111100/index.d.ts +0 -2
  205. package/src/update111100/index.js +0 -389
  206. package/src/update111100/index.js.map +0 -1
  207. package/src/update111100/index.ts +0 -405
  208. package/src/update111100/index_spec.d.ts +0 -1
  209. package/src/update111100/index_spec.js +0 -66
  210. package/src/update111100/index_spec.js.map +0 -1
  211. package/src/update111100/index_spec.ts +0 -70
  212. package/src/update111100/schema.json +0 -23
  213. package/src/update111200/index.d.ts +0 -2
  214. package/src/update111200/index.js +0 -59
  215. package/src/update111200/index.js.map +0 -1
  216. package/src/update111200/index.ts +0 -75
  217. package/src/update111200/index_spec.d.ts +0 -1
  218. package/src/update111200/index_spec.js +0 -67
  219. package/src/update111200/index_spec.js.map +0 -1
  220. package/src/update111200/index_spec.ts +0 -71
  221. package/src/update111200/schema.json +0 -23
  222. package/src/update111300/index.d.ts +0 -2
  223. package/src/update111300/index.js +0 -27
  224. package/src/update111300/index.js.map +0 -1
  225. package/src/update111300/index.ts +0 -27
  226. package/src/update111300/index_spec.d.ts +0 -1
  227. package/src/update111300/index_spec.js +0 -65
  228. package/src/update111300/index_spec.js.map +0 -1
  229. package/src/update111300/index_spec.ts +0 -69
  230. package/src/update111300/schema.json +0 -23
@@ -0,0 +1,575 @@
1
+ import { addAttribute, appendAttribute, removeAttribute, renameAttribute, updateAttribute } from './html';
2
+
3
+ describe('html', () => {
4
+ describe('addAttribute', () => {
5
+ it('Sollte sollte das Attribut luxTest1..5 hinzufügen', () => {
6
+ let result = addAttribute(templateAdd001, 'lux-table', 'luxTest1', '123');
7
+ result = addAttribute(result.content, 'lux-table', '[luxTest2]', '123');
8
+ result = addAttribute(result.content, 'lux-table', '(luxTest3)', '123');
9
+ result = addAttribute(result.content, 'lux-table', '[(luxTest4)]', '123');
10
+ result = addAttribute(result.content, 'lux-table', 'luxTest5', '');
11
+
12
+ expect(result.content).toContain('luxTest1="123"');
13
+ expect(result.content).toContain('[luxTest2]="123"');
14
+ expect(result.content).toContain('(luxTest3)="123"');
15
+ expect(result.content).toContain('[(luxTest4)]="123"');
16
+ expect(result.content).toContain('luxTest5=""');
17
+ expect(result.content).not.toContain('let-element=""');
18
+ expect(result.content).toContain('#testId ');
19
+ expect(result.content).not.toContain('#testId=""');
20
+ expect(result.content).toContain('testDirective ');
21
+ expect(result.content).not.toContain('testDirective=""');
22
+ });
23
+ });
24
+
25
+ describe('updateAttribute', () => {
26
+ it('Sollte sollte das Attribut luxTest1..5 updaten', () => {
27
+ let result = updateAttribute(templateUpdate001, 'lux-file-list', 'luxTest1', 'abc');
28
+ result = updateAttribute(result.content, 'lux-file-list', 'luxTest2', 'true');
29
+ result = updateAttribute(result.content, 'lux-file-list', 'luxTest3', 'onNewClick($event, param1)');
30
+ result = updateAttribute(result.content, 'lux-file-list', 'luxTest4', 'newValue4');
31
+ result = updateAttribute(result.content, 'lux-file-list', 'luxTest5', '');
32
+
33
+ expect(result.content).toContain('luxTest1="abc"');
34
+ expect(result.content).toContain('[luxTest2]="true"');
35
+ expect(result.content).toContain('(luxTest3)="onNewClick($event, param1)"');
36
+ expect(result.content).toContain('[(luxTest4)]="newValue4"');
37
+ expect(result.content).toContain('[(luxTest5)]=""');
38
+ expect(result.content).not.toContain('let-element=""');
39
+ expect(result.content).toContain('#testId>');
40
+ expect(result.content).not.toContain('#testId=""');
41
+ expect(result.content).toContain('testDirective ');
42
+ expect(result.content).not.toContain('testDirective=""');
43
+ });
44
+ });
45
+
46
+ describe('appendAttribute', () => {
47
+ it('Sollte sollte das Attribut luxTest1..5 ergänzen', () => {
48
+ let result = appendAttribute(templateAppend001, 'lux-file-list', 'luxTest1', '_suffix');
49
+ result = appendAttribute(result.content, 'lux-file-list', 'luxTest2', '_suffix');
50
+ result = appendAttribute(result.content, 'lux-file-list', 'luxTest3', '_suffix');
51
+ result = appendAttribute(result.content, 'lux-file-list', 'luxTest4', '_suffix');
52
+ result = appendAttribute(result.content, 'lux-file-list', 'luxTest5', '_suffix');
53
+
54
+ expect(result.content).toContain('luxTest1="value1_suffix"');
55
+ expect(result.content).toContain('[luxTest2]="value2_suffix"');
56
+ expect(result.content).toContain('(luxTest3)="value3_suffix"');
57
+ expect(result.content).toContain('[(luxTest4)]="value4_suffix"');
58
+ expect(result.content).toContain('[(luxTest5)]="_suffix"');
59
+ expect(result.content).not.toContain('let-element=""');
60
+ expect(result.content).toContain('#testId>');
61
+ expect(result.content).not.toContain('#testId=""');
62
+ expect(result.content).toContain('testDirective ');
63
+ expect(result.content).not.toContain('testDirective=""');
64
+ });
65
+ });
66
+
67
+ describe('renameAttribute', () => {
68
+ it('Sollte sollte das Attribut luxTest1..5 umbenennen', () => {
69
+ let result = renameAttribute(templateRename001, 'mat-chip-list', 'luxTest1', 'luxTestNeu1');
70
+ result = renameAttribute(result.content, 'mat-chip-list', 'luxTest2', 'luxTestNeu2');
71
+ result = renameAttribute(result.content, 'mat-chip-list', 'luxTest3', 'luxTestNeu3');
72
+ result = renameAttribute(result.content, 'mat-chip-list', 'luxTest4', 'luxTestNeu4');
73
+ result = renameAttribute(result.content, 'mat-chip-list', 'luxTest5', 'luxTestNeu5');
74
+
75
+ expect(result.content).toContain('luxTestNeu1="123"');
76
+ expect(result.content).not.toContain('luxTest1="123"');
77
+ expect(result.content).toContain('[luxTestNeu2]="123"');
78
+ expect(result.content).not.toContain('luxTest2="123"');
79
+ expect(result.content).toContain('(luxTestNeu3)="123"');
80
+ expect(result.content).not.toContain('luxTest3="123"');
81
+ expect(result.content).toContain('[(luxTestNeu4)]="123"');
82
+ expect(result.content).not.toContain('luxTest4="123"');
83
+ expect(result.content).toContain('[(luxTestNeu5)]=""');
84
+ expect(result.content).not.toContain('luxTest5=""');
85
+ expect(result.content).toContain('#testId ');
86
+ expect(result.content).not.toContain('#testId=""');
87
+ expect(result.content).toContain('testDirective ');
88
+ expect(result.content).not.toContain('testDirective=""');
89
+ expect(result.content).not.toContain('></input>');
90
+ });
91
+
92
+ it('Sollte sollte keine End-Tags für Void-Elements hinzufügen', () => {
93
+ const result = renameAttribute(templateRename002, 'input', 'typeWrong', 'type');
94
+
95
+ expect(result.content).not.toContain('></input>');
96
+ expect(result.content).not.toContain('></area>');
97
+ expect(result.content).not.toContain('></base>');
98
+ expect(result.content).not.toContain('></br>');
99
+ expect(result.content).not.toContain('></col>');
100
+ expect(result.content).not.toContain('></embed>');
101
+ expect(result.content).not.toContain('></hr>');
102
+ expect(result.content).not.toContain('></img>');
103
+ expect(result.content).not.toContain('></link>');
104
+ expect(result.content).not.toContain('></meta>');
105
+ expect(result.content).not.toContain('></param>');
106
+ expect(result.content).not.toContain('></source>');
107
+ expect(result.content).not.toContain('></track>');
108
+ expect(result.content).not.toContain('></wbr>');
109
+ });
110
+ });
111
+
112
+ describe('removeAttribute', () => {
113
+ it('Sollte sollte das Attribut luxTest1..5 entfernen', () => {
114
+ let result = removeAttribute(templateRemove001, 'lux-file-list', 'luxTest1');
115
+ result = removeAttribute(result.content, 'lux-file-list', 'luxTest2');
116
+ result = removeAttribute(result.content, 'lux-file-list', 'luxTest3');
117
+ result = removeAttribute(result.content, 'lux-file-list', 'luxTest4');
118
+ result = removeAttribute(result.content, 'lux-file-list', 'luxTest5');
119
+
120
+ expect(result.content).not.toContain('luxTest1');
121
+ expect(result.content).not.toContain('luxTest2');
122
+ expect(result.content).not.toContain('luxTest3');
123
+ expect(result.content).not.toContain('luxTest4');
124
+ expect(result.content).not.toContain('luxTest5');
125
+ expect(result.content).toContain('testDirective ');
126
+ expect(result.content).not.toContain('testDirective=""');
127
+ expect(result.content).toContain('#filelistexamplewithoutform>');
128
+ expect(result.content).not.toContain('#filelistexamplewithoutform=""');
129
+ expect(result.content).toContain('[luxHint]=""');
130
+ });
131
+ });
132
+ });
133
+
134
+ const templateAdd001 = `
135
+ <example-base-structure
136
+ exampleTitle="Tabelle"
137
+ exampleIconName="fas fa-table"
138
+ exampleDocumentationHref="https://github.com/IHK-GfI/lux-components/wiki/lux%E2%80%90table"
139
+ >
140
+ <example-base-content>
141
+ <div [ngStyle]="{ height: calculateProportions ? tableHeightPx + 'px' : 'unset' }" class="lux-table-example">
142
+ <lux-table
143
+ #testId
144
+ testDirective
145
+ [luxMinWidthPx]="minWidthPx"
146
+ [luxData]="dataSource"
147
+ [luxShowPagination]="pagination"
148
+ [luxColWidthsPercent]="columnWidthOption"
149
+ [luxShowFilter]="filter"
150
+ [luxFilterText]="filterText"
151
+ [luxPageSize]="pageSize"
152
+ [luxClasses]="cssClass"
153
+ [luxPageSizeOptions]="pageSizeOption"
154
+ [luxMultiSelect]="multiSelect"
155
+ [luxMultiSelectOnlyCheckboxClick]="multiSelectOnlyCheckboxClick"
156
+ [luxNoDataText]="noDataText"
157
+ [(luxSelected)]="selected"
158
+ [luxCompareWith]="compareFn"
159
+ (luxSelectedChange)="onSelectedChange($event)"
160
+ [luxHideBorders]="hideBorders"
161
+ [luxAutoPaginate]="autoPagination"
162
+ [luxPagerDisabled]="pagerDisabled"
163
+ [luxPagerTooltip]="pagerTooltip"
164
+ >
165
+ <lux-table-column
166
+ luxColumnDef="name"
167
+ [luxSortable]="nameConfig.sortable"
168
+ [luxSticky]="nameConfig.sticky"
169
+ [luxResponsiveAt]="nameConfig.responsiveAt"
170
+ [luxResponsiveBehaviour]="nameConfig.responsiveBehaviour?.value"
171
+ >
172
+ <lux-table-column-header>
173
+ <ng-template><span [luxTooltip]="'Tooltipp Spalte \\'Name\\''">Name</span></ng-template>
174
+ </lux-table-column-header>
175
+ <lux-table-column-content>
176
+ <ng-template let-element>
177
+ <span *ngIf="!element.editable">{{ element.name }}</span>
178
+ <lux-input
179
+ *ngIf="element.editable"
180
+ luxAriaLabel="Name"
181
+ luxTagId="table.row.control.name"
182
+ class="lux-table-no-label"
183
+ [(luxValue)]="element.name"
184
+ ></lux-input>
185
+ </ng-template>
186
+ </lux-table-column-content>
187
+ <lux-table-column-footer>
188
+ <ng-template> Name Footer </ng-template>
189
+ </lux-table-column-footer>
190
+ </lux-table-column>
191
+ <lux-table-column
192
+ luxColumnDef="symbol"
193
+ [luxSortable]="symbolConfig.sortable"
194
+ [luxSticky]="symbolConfig.sticky"
195
+ [luxResponsiveAt]="symbolConfig.responsiveAt"
196
+ [luxResponsiveBehaviour]="symbolConfig.responsiveBehaviour?.value"
197
+ >
198
+ <lux-table-column-header>
199
+ <ng-template>
200
+ <span [luxTooltip]="'Tooltipp Spalte \\'Symbol\\''">Symbol</span>
201
+ </ng-template>
202
+ </lux-table-column-header>
203
+ <lux-table-column-content>
204
+ <ng-template let-element>
205
+ <span *ngIf="!element.editable">{{ element.symbol | lowercase }}</span>
206
+ <div fxLayout="row wrap">
207
+ <lux-input
208
+ *ngIf="element.editable"
209
+ luxAriaLabel="Symbol"
210
+ luxTagId="table.row.control.symbol"
211
+ fxFlex="1 1 30%"
212
+ class="lux-table-no-label"
213
+ [(luxValue)]="element.symbol"
214
+ ></lux-input>
215
+ </div>
216
+ </ng-template>
217
+ </lux-table-column-content>
218
+ <lux-table-column-footer>
219
+ <ng-template> Symbol Footer </ng-template>
220
+ </lux-table-column-footer>
221
+ </lux-table-column>
222
+ <lux-table-column
223
+ *ngIf="!multiSelect || !multiSelectOnlyCheckboxClick"
224
+ luxColumnDef="date"
225
+ [luxSortable]="dateConfig.sortable"
226
+ [luxSticky]="dateConfig.sticky"
227
+ [luxResponsiveAt]="dateConfig.responsiveAt"
228
+ [luxResponsiveBehaviour]="dateConfig.responsiveBehaviour?.value"
229
+ >
230
+ <lux-table-column-header>
231
+ <ng-template>Datum</ng-template>
232
+ </lux-table-column-header>
233
+ <lux-table-column-content>
234
+ <ng-template let-element
235
+ ><span>{{ element.date | date: 'dd.MM.yyyy' }}</span></ng-template
236
+ >
237
+ </lux-table-column-content>
238
+ <lux-table-column-footer>
239
+ <ng-template> Datum Footer </ng-template>
240
+ </lux-table-column-footer>
241
+ </lux-table-column>
242
+ <lux-table-column *ngIf="multiSelect && multiSelectOnlyCheckboxClick" luxColumnDef="Aktion" [luxSortable]="false">
243
+ <lux-table-column-header>
244
+ <ng-template>Aktion</ng-template>
245
+ </lux-table-column-header>
246
+ <lux-table-column-content>
247
+ <ng-template let-element>
248
+ <lux-button
249
+ *ngIf="!element.editable"
250
+ luxAriaLabel="Editieren"
251
+ luxTagId="table.row.action.edit"
252
+ class="lux-table-example"
253
+ luxColor="primary"
254
+ luxIconName="fas fa-edit"
255
+ (luxClicked)="onEdit(element)"
256
+ ></lux-button>
257
+ <lux-button
258
+ *ngIf="element.editable"
259
+ luxAriaLabel="Speichern"
260
+ luxTagId="table.row.action.save"
261
+ class="lux-table-example"
262
+ luxColor="primary"
263
+ luxIconName="fas fa-save"
264
+ (luxClicked)="onSave(element)"
265
+ ></lux-button>
266
+ <lux-button
267
+ *ngIf="element.editable"
268
+ luxAriaLabel="Abbrechen"
269
+ luxTagId="table.row.action.cancel"
270
+ class="lux-table-example"
271
+ luxColor="primary"
272
+ luxIconName="fas fa-undo"
273
+ (luxClicked)="onCancel(element)"
274
+ ></lux-button>
275
+ </ng-template>
276
+ </lux-table-column-content>
277
+ <lux-table-column-footer>
278
+ <ng-template> Aktion Footer </ng-template>
279
+ </lux-table-column-footer>
280
+ </lux-table-column>
281
+ </lux-table>
282
+ </div>
283
+ </example-base-content>
284
+ <example-base-simple-options>
285
+ <table-example-simple-options [tableExample]="this"></table-example-simple-options>
286
+ </example-base-simple-options>
287
+ <example-base-advanced-options>
288
+ <table-example-advanced-options [tableExample]="this"></table-example-advanced-options>
289
+ </example-base-advanced-options>
290
+ <example-base-options-actions>
291
+ <lux-menu
292
+ fxFlex="0 0 250px"
293
+ luxMenuIconName="fas fa-ellipsis-v"
294
+ [luxDisplayExtended]="true"
295
+ [luxDisplayMenuLeft]="false"
296
+ [luxMaximumExtended]="4"
297
+ >
298
+ <lux-menu-item
299
+ luxLabel="Ersten 5 auswählen"
300
+ [luxRaised]="true"
301
+ [luxDisabled]="!multiSelect"
302
+ (luxClicked)="preselect()"
303
+ luxTagId="menu-select-5"
304
+ >
305
+ </lux-menu-item>
306
+ <lux-menu-item
307
+ luxLabel="Tabelle leeren"
308
+ luxColor="warn"
309
+ [luxDisabled]="dataSource.length === 0"
310
+ [luxRaised]="true"
311
+ (luxClicked)="clearData()"
312
+ luxTagId="menu-clear"
313
+ >
314
+ </lux-menu-item>
315
+ <lux-menu-item
316
+ luxLabel="Tabelle befüllen (300)"
317
+ luxColor="accent"
318
+ (luxClicked)="loadData(true)"
319
+ [luxRaised]="true"
320
+ luxTagId="menu-fill-300"
321
+ >
322
+ </lux-menu-item>
323
+ <lux-menu-item
324
+ luxLabel="Tabelle befüllen (30)"
325
+ luxColor="accent"
326
+ (luxClicked)="loadData(false)"
327
+ [luxRaised]="true"
328
+ luxTagId="menu-fill-30"
329
+ >
330
+ </lux-menu-item>
331
+ </lux-menu>
332
+ </example-base-options-actions>
333
+ </example-base-structure>
334
+ `;
335
+
336
+ const templateRename001 = `
337
+ <div class="lux-chips" fxLayout="column">
338
+ <lux-form-control
339
+ testDirective
340
+ [luxScalableHeight]="true"
341
+ [luxFormComponent]="this"
342
+ [luxHideBottomBorder]="!luxInputAllowed"
343
+ [luxIgnoreDefaultLabel]="!luxInputAllowed"
344
+ >
345
+ <mat-chip-list
346
+ [ngClass]="[
347
+ luxOrientation.toLocaleLowerCase() === 'vertical' ? 'mat-chip-list-stacked' : 'mat-chip-list-horizontal',
348
+ luxOrientation === 'horizontal' && luxInputAllowed ? 'lux-chips-list-offset' : 'lux-chips-list'
349
+ ]"
350
+ luxTest1="123"
351
+ [luxTest2]="123"
352
+ (luxTest3)="123"
353
+ [(luxTest4)]="123"
354
+ [(luxTest5)]=""
355
+ [disabled]="luxDisabled"
356
+ [aria-orientation]="luxOrientation"
357
+ [multiple]="luxMultiple"
358
+ #testId
359
+ >
360
+ <!-- Direkte Chip-Components -->
361
+ <ng-container *ngFor="let chip of chipComponents; let i = index">
362
+ <mat-chip
363
+ class="lux-chip"
364
+ [ngClass]="{ 'lux-chip-selected': chip.luxSelected, 'lux-chip-disabled': chip.luxDisabled }"
365
+ [removable]="chip.luxRemovable"
366
+ [disabled]="chip.luxDisabled"
367
+ [selectable]="!chip.luxDisabled"
368
+ [selected]="chip.luxSelected"
369
+ [color]="chip.luxColor"
370
+ (keydown.delete)="chip.remove(i)"
371
+ (selectionChange)="chip.select($event.selected, i)"
372
+ (click)="chip.click(i)"
373
+ >
374
+ <ng-template *ngTemplateOutlet="chip.templateRef"></ng-template>
375
+ <lux-icon
376
+ class="lux-chip-icon lux-chip-icon lux-cursor"
377
+ [ngClass]="{ 'lux-chip-icon-selected': chip.luxSelected, 'lux-chip-icon-disabled': chip.luxDisabled }"
378
+ matChipRemove
379
+ luxIconName="cancel"
380
+ luxMargin="0 0 0 6px"
381
+ luxPadding="2px"
382
+ (click)="chip.remove(i)"
383
+ *ngIf="chip.luxRemovable"
384
+ ></lux-icon>
385
+ </mat-chip>
386
+ </ng-container>
387
+
388
+ <!-- Chips via ChipGroup-Components -->
389
+ <ng-container *ngFor="let chipGroup of chipGroupComponents">
390
+ <ng-container *ngFor="let label of chipGroup.luxLabels; let i = index">
391
+ <mat-chip
392
+ class="lux-chip"
393
+ [ngClass]="{ 'lux-chip-selected': chipGroup.luxSelected, 'lux-chip-disabled': chipGroup.luxDisabled }"
394
+ [removable]="chipGroup.luxRemovable"
395
+ [disabled]="chipGroup.luxDisabled"
396
+ [selectable]="!chipGroup.luxDisabled"
397
+ [selected]="chipGroup.luxSelected"
398
+ [color]="chipGroup.luxColor"
399
+ (keydown.delete)="chipGroup.remove(i)"
400
+ (selectionChange)="chipGroup.select($event.selected, i)"
401
+ (click)="chipGroup.click(i)"
402
+ >
403
+ <ng-container
404
+ *ngTemplateOutlet="chipGroup.tempRef ? chipGroup.tempRef : noTemplateRef; context: { $implicit: label }"
405
+ ></ng-container>
406
+ <lux-icon
407
+ class="lux-chip-icon lux-chip-icon lux-cursor"
408
+ [ngClass]="{ 'lux-chip-icon-selected': chipGroup.luxSelected, 'lux-chip-icon-disabled': chipGroup.luxDisabled }"
409
+ matChipRemove
410
+ luxIconName="cancel"
411
+ luxMargin="0 0 0 6px"
412
+ luxPadding="2px"
413
+ (click)="chipGroup.remove(i)"
414
+ *ngIf="chipGroup.luxRemovable"
415
+ ></lux-icon>
416
+ </mat-chip>
417
+ </ng-container>
418
+ </ng-container>
419
+
420
+ <ng-container *ngIf="luxInputAllowed">
421
+ <input
422
+ [id]="uid"
423
+ [matChipInputFor]="testId"
424
+ [matChipInputAddOnBlur]="true"
425
+ [matAutocomplete]="auto"
426
+ [attr.aria-labelledby]="uid + '-label'"
427
+ [disabled]="luxDisabled"
428
+ (matChipInputTokenEnd)="inputAdd(input)"
429
+ (keyup)="inputChanged(input.value)"
430
+ (click)="onAutocompleteClick()"
431
+ type="text"
432
+ fxFlex="1 1 auto"
433
+ #input
434
+ />
435
+ <mat-autocomplete
436
+ [class]="'lux-autocomplete-panel'"
437
+ (optionSelected)="autoCompleteAdd(input, $event.option.value)"
438
+ (opened)="onAutoCompleteOpened()"
439
+ #auto="matAutocomplete"
440
+ >
441
+ <mat-option *ngFor="let option of filteredOptions" [value]="option">
442
+ {{ option }}
443
+ </mat-option>
444
+ </mat-autocomplete>
445
+ </ng-container>
446
+ </mat-chip-list>
447
+ </lux-form-control>
448
+ </div>
449
+
450
+ <ng-template #noTemplateRef let-label>
451
+ {{ label }}
452
+ </ng-template>
453
+ `;
454
+
455
+ const templateRename002 = `
456
+ <input typeWrong="text" />
457
+ <area />
458
+ <base />
459
+ <br />
460
+ <col />
461
+ <embed />
462
+ <hr />
463
+ <img />
464
+ <link />
465
+ <meta />
466
+ <param />
467
+ <source />
468
+ <track />
469
+ <wbr />
470
+
471
+ <input typeWrong="text">
472
+ <area>
473
+ <base>
474
+ <br>
475
+ <col>
476
+ <embed>
477
+ <hr>
478
+ <img>
479
+ <link>
480
+ <meta>
481
+ <param>
482
+ <source>
483
+ <track>
484
+ <wbr>
485
+ `;
486
+
487
+ const templateRemove001 = `
488
+ <div fxFlex="auto" fxLayout="column">
489
+ <h3>Ohne ReactiveForm</h3>
490
+ <lux-file-list
491
+ testDirective
492
+ [luxLabel]="label"
493
+ [luxDownloadActionConfig]="downloadActionConfig"
494
+ [luxMaximumExtended]="maximumExtended"
495
+ [luxCapture]="capture"
496
+ [luxAccept]="accept"
497
+ [luxHint]=""
498
+ [luxHintShowOnlyOnFocus]="hintShowOnlyOnFocus"
499
+ [luxDnDActive]="dndActive"
500
+ [luxSelectedFiles]="selected"
501
+ [luxContentsAsBlob]="contentAsBlob"
502
+ [luxUploadReportProgress]="reportProgress"
503
+ (luxSelectedFilesChange)="onSelectedChange($event)"
504
+ luxTest1="true"
505
+ [luxTest2]="true"
506
+ (luxTest3)="true"
507
+ [(luxTest4)]="true"
508
+ [(luxTest5)]=""
509
+ (luxFocusIn)="log(showOutputEvents, 'luxFocusIn', $event)"
510
+ (luxFocusOut)="log(showOutputEvents, 'luxFocusOut', $event)"
511
+ #filelistexamplewithoutform
512
+ >
513
+ </lux-file-list>
514
+ </div>
515
+ `;
516
+
517
+ const templateUpdate001 = `
518
+ <div fxFlex="auto" fxLayout="column">
519
+ <h3>Ohne ReactiveForm</h3>
520
+ <lux-file-list
521
+ testDirective
522
+ [luxLabel]="label"
523
+ [luxDownloadActionConfig]="downloadActionConfig"
524
+ [luxMaximumExtended]="maximumExtended"
525
+ [luxCapture]="capture"
526
+ [luxAccept]="accept"
527
+ [luxHint]=""
528
+ [luxHintShowOnlyOnFocus]="hintShowOnlyOnFocus"
529
+ [luxDnDActive]="dndActive"
530
+ [luxSelectedFiles]="selected"
531
+ [luxContentsAsBlob]="contentAsBlob"
532
+ [luxUploadReportProgress]="reportProgress"
533
+ (luxSelectedFilesChange)="onSelectedChange($event)"
534
+ luxTest1="value1"
535
+ [luxTest2]="value2"
536
+ (luxTest3)="onClick($event)"
537
+ [(luxTest4)]="value4"
538
+ [(luxTest5)]="value5"
539
+ (luxFocusIn)="log(showOutputEvents, 'luxFocusIn', $event)"
540
+ (luxFocusOut)="log(showOutputEvents, 'luxFocusOut', $event)"
541
+ #testId
542
+ >
543
+ </lux-file-list>
544
+ </div>
545
+ `;
546
+
547
+ const templateAppend001 = `
548
+ <div fxFlex="auto" fxLayout="column">
549
+ <h3>Ohne ReactiveForm</h3>
550
+ <lux-file-list
551
+ testDirective
552
+ [luxLabel]="label"
553
+ [luxDownloadActionConfig]="downloadActionConfig"
554
+ [luxMaximumExtended]="maximumExtended"
555
+ [luxCapture]="capture"
556
+ [luxAccept]="accept"
557
+ [luxHint]=""
558
+ [luxHintShowOnlyOnFocus]="hintShowOnlyOnFocus"
559
+ [luxDnDActive]="dndActive"
560
+ [luxSelectedFiles]="selected"
561
+ [luxContentsAsBlob]="contentAsBlob"
562
+ [luxUploadReportProgress]="reportProgress"
563
+ (luxSelectedFilesChange)="onSelectedChange($event)"
564
+ luxTest1="value1"
565
+ [luxTest2]="value2"
566
+ (luxTest3)="value3"
567
+ [(luxTest4)]="value4"
568
+ [(luxTest5)]=""
569
+ (luxFocusIn)="log(showOutputEvents, 'luxFocusIn', $event)"
570
+ (luxFocusOut)="log(showOutputEvents, 'luxFocusOut', $event)"
571
+ #testId
572
+ >
573
+ </lux-file-list>
574
+ </div>
575
+ `;
@@ -1,4 +1,4 @@
1
- import { Tree } from '@angular-devkit/schematics';
1
+ import { Rule, Tree } from '@angular-devkit/schematics';
2
2
  import { FormattingOptions, Node } from 'jsonc-parser';
3
3
  export declare const jsonFormattingOptions: FormattingOptions;
4
4
  /**
@@ -32,3 +32,48 @@ export declare function readJsonAsString(tree: Tree, filePath: string): string;
32
32
  * @param index Ein Index (z.B. 0).
33
33
  */
34
34
  export declare function appendScript(script: string, part: string, index?: number): string;
35
+ export declare function updateJsonValue(options: any, filePath: string, jsonPath: string[], value: any, onlyUpdate?: boolean): Rule;
36
+ export declare function updateJsonArray(options: any, filePath: string, jsonPath: string[], value: any, onlyUpdate?: boolean, findFn?: (value: Node) => boolean): Rule;
37
+ /**
38
+ * Diese Methode liefert den Index im Array des Objekts mit der übergebenen Property zurück.
39
+ *
40
+ * Beispiel: findObjectIndexInArray(node, 'glob', '*.css') = 1
41
+ * ```json
42
+ * 'assets': [
43
+ * 'src/assets',
44
+ * {
45
+ * 'glob': '*.css',
46
+ * 'input': './node_modules/@ihk-gfi/lux-components-theme/prebuilt-themes',
47
+ * 'output': './assets/themes'
48
+ * },
49
+ * 'src/favicon.ico',
50
+ * ]
51
+ * ```
52
+ *
53
+ * @param arrayNode Ein Konten, der ein Array als Wert hat.
54
+ * @param propertyName Ein Propertyname (z.B. glob).
55
+ * @param propertyValue Ein Propertywert (z.B. *.css).
56
+ */
57
+ export declare function findObjectIndexInArray(arrayNode: Node, propertyName: string, propertyValue: string): number;
58
+ export declare function findObjectPropertyInArray(node: Node, propertyName: string, propertyValue: string): boolean;
59
+ /**
60
+ * Diese Methode liefert den Index im Array des Werts zurück.
61
+ *
62
+ * Beispiel: findStringIndexInArray(node, 'src/favicon.ico') = 2
63
+ * ```json
64
+ * 'assets': [
65
+ * 'src/assets',
66
+ * {
67
+ * 'glob': '*.css',
68
+ * 'input': './node_modules/@ihk-gfi/lux-components-theme/prebuilt-themes',
69
+ * 'output': './assets/themes'
70
+ * },
71
+ * 'src/favicon.ico',
72
+ * ]
73
+ * ```
74
+ *
75
+ * @param arrayNode Ein Konten, der ein Array als Wert hat.
76
+ * @param value Ein Wert (z.B. 'src/favicon.ico').
77
+ */
78
+ export declare function findStringIndexInArray(arrayNode: Node, value: string): number;
79
+ export declare function removeJsonNode(tree: Tree, filePath: string, jsonPath: (string | any)[], message?: string): void;