@ihk-gfi/lux-components-update 13.2.0 → 14.0.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.
Files changed (132) hide show
  1. package/README.md +2 -2
  2. package/package.json +10 -8
  3. package/src/add-lux-components/files/app/app-routing.module.ts +2 -0
  4. package/src/add-lux-components/files/app/app.component.html +7 -2
  5. package/src/add-lux-components/files/app/app.component.ts +9 -1
  6. package/src/add-lux-components/files/app/app.module.ts +6 -1
  7. package/src/add-lux-components/files/app/base/license-hint/license-hint.component.html +7 -0
  8. package/src/add-lux-components/files/app/base/license-hint/license-hint.component.ts +18 -0
  9. package/src/add-lux-components/files/app/home/home.component.scss +3 -0
  10. package/src/add-lux-components/files/assets/svg/Example.svg +6 -0
  11. package/src/add-lux-components/files/assets/svg/android.svg +2 -0
  12. package/src/add-lux-components/files/assets/svg/box.svg +690 -0
  13. package/src/add-lux-components/files/assets/svg/demoAppLogo.svg +1 -0
  14. package/src/add-lux-components/files/assets/svg/red_power_button.svg +67 -0
  15. package/src/add-lux-components/files/assets/svg/svg2009.svg +57457 -0
  16. package/src/add-lux-components/files/environments/environment.ts +2 -2
  17. package/src/add-lux-components/files/locale/messages.en.xlf +544 -373
  18. package/src/add-lux-components/files/locale/messages.xlf +517 -352
  19. package/src/add-lux-components/files/src/polyfills.ts +29 -39
  20. package/src/add-lux-components/index.d.ts +1 -1
  21. package/src/add-lux-components/index.js +47 -26
  22. package/src/add-lux-components/index.js.map +1 -1
  23. package/src/add-lux-components/index.ts +50 -31
  24. package/src/add-lux-components/index_spec.js +3 -3
  25. package/src/add-lux-components/index_spec.ts +1 -1
  26. package/src/collection.json +13 -14
  27. package/src/theme/change-theme-to-authentic/index.d.ts +4 -0
  28. package/src/theme/change-theme-to-authentic/index.js +129 -0
  29. package/src/theme/change-theme-to-authentic/index.js.map +1 -0
  30. package/src/theme/change-theme-to-authentic/index.ts +131 -0
  31. package/src/{updates/update130000 → theme/change-theme-to-authentic}/index_spec.d.ts +0 -0
  32. package/src/theme/change-theme-to-authentic/index_spec.js +300 -0
  33. package/src/theme/change-theme-to-authentic/index_spec.js.map +1 -0
  34. package/src/theme/change-theme-to-authentic/index_spec.ts +321 -0
  35. package/src/{updates/update130100 → theme/change-theme-to-authentic}/schema.json +3 -3
  36. package/src/theme/change-to-lux-icons/index.d.ts +7 -0
  37. package/src/theme/change-to-lux-icons/index.js +395 -0
  38. package/src/theme/change-to-lux-icons/index.js.map +1 -0
  39. package/src/theme/change-to-lux-icons/index.ts +406 -0
  40. package/src/{updates/update130100 → theme/change-to-lux-icons}/index_spec.d.ts +0 -0
  41. package/src/theme/change-to-lux-icons/index_spec.js +214 -0
  42. package/src/theme/change-to-lux-icons/index_spec.js.map +1 -0
  43. package/src/theme/change-to-lux-icons/index_spec.ts +220 -0
  44. package/src/{updates/update130200 → theme/change-to-lux-icons}/schema.json +3 -3
  45. package/src/update-dependencies/index.d.ts +0 -3
  46. package/src/update-dependencies/index.js +68 -116
  47. package/src/update-dependencies/index.js.map +1 -1
  48. package/src/update-dependencies/index.ts +73 -122
  49. package/src/update-en-messages/index.js +18 -15
  50. package/src/update-en-messages/index.js.map +1 -1
  51. package/src/update-en-messages/index.ts +22 -16
  52. package/src/updates/update140000/files/src/polyfills.ts +70 -0
  53. package/src/updates/update140000/index.d.ts +8 -0
  54. package/src/updates/update140000/index.js +83 -0
  55. package/src/updates/update140000/index.js.map +1 -0
  56. package/src/updates/update140000/index.ts +97 -0
  57. package/src/updates/{update130200 → update140000}/index_spec.d.ts +0 -0
  58. package/src/updates/update140000/index_spec.js +77 -0
  59. package/src/updates/update140000/index_spec.js.map +1 -0
  60. package/src/updates/update140000/index_spec.ts +79 -0
  61. package/src/updates/{update130000 → update140000}/schema.json +0 -0
  62. package/src/utility/files.d.ts +2 -2
  63. package/src/utility/files.js +5 -5
  64. package/src/utility/files.js.map +1 -1
  65. package/src/utility/files.ts +5 -5
  66. package/src/utility/html/hit.d.ts +21 -0
  67. package/src/utility/html/hit.js +27 -0
  68. package/src/utility/html/hit.js.map +1 -0
  69. package/src/utility/html/hit.ts +28 -0
  70. package/src/utility/html/html-manipulator.d.ts +71 -0
  71. package/src/utility/html/html-manipulator.js +136 -0
  72. package/src/utility/html/html-manipulator.js.map +1 -0
  73. package/src/utility/html/html-manipulator.ts +156 -0
  74. package/src/utility/{html_spec.d.ts → html/html_spec.d.ts} +0 -0
  75. package/src/utility/{html_spec.js → html/html_spec.js} +232 -100
  76. package/src/utility/html/html_spec.js.map +1 -0
  77. package/src/utility/{html_spec.ts → html/html_spec.ts} +282 -106
  78. package/src/utility/html/manipulator-functions.d.ts +99 -0
  79. package/src/utility/html/manipulator-functions.js +147 -0
  80. package/src/utility/html/manipulator-functions.js.map +1 -0
  81. package/src/utility/html/manipulator-functions.ts +149 -0
  82. package/src/utility/json.d.ts +2 -2
  83. package/src/utility/json.js +11 -7
  84. package/src/utility/json.js.map +1 -1
  85. package/src/utility/json.ts +42 -26
  86. package/src/utility/json_spec.js +18 -18
  87. package/src/utility/json_spec.js.map +1 -1
  88. package/src/utility/json_spec.ts +136 -66
  89. package/src/utility/typescript.d.ts +3 -3
  90. package/src/utility/typescript.js +2 -2
  91. package/src/utility/typescript.js.map +1 -1
  92. package/src/utility/typescript.ts +3 -3
  93. package/src/utility/typescript_spec.js +0 -1
  94. package/src/utility/typescript_spec.js.map +1 -1
  95. package/src/utility/typescript_spec.ts +0 -2
  96. package/src/utility/util.d.ts +7 -6
  97. package/src/utility/util.js +12 -8
  98. package/src/utility/util.js.map +1 -1
  99. package/src/utility/util.ts +13 -10
  100. package/src/utility/validation.d.ts +2 -3
  101. package/src/utility/validation.js +2 -3
  102. package/src/utility/validation.js.map +1 -1
  103. package/src/utility/validation.ts +2 -3
  104. package/tsconfig.json +5 -7
  105. package/src/add-lux-components/files/scripts/.browserslistrc +0 -20
  106. package/src/updates/update130000/files/root/.browserslistrc +0 -20
  107. package/src/updates/update130000/index.d.ts +0 -27
  108. package/src/updates/update130000/index.js +0 -310
  109. package/src/updates/update130000/index.js.map +0 -1
  110. package/src/updates/update130000/index.ts +0 -362
  111. package/src/updates/update130000/index_spec.js +0 -584
  112. package/src/updates/update130000/index_spec.js.map +0 -1
  113. package/src/updates/update130000/index_spec.ts +0 -675
  114. package/src/updates/update130100/index.d.ts +0 -2
  115. package/src/updates/update130100/index.js +0 -27
  116. package/src/updates/update130100/index.js.map +0 -1
  117. package/src/updates/update130100/index.ts +0 -27
  118. package/src/updates/update130100/index_spec.js +0 -65
  119. package/src/updates/update130100/index_spec.js.map +0 -1
  120. package/src/updates/update130100/index_spec.ts +0 -69
  121. package/src/updates/update130200/index.d.ts +0 -2
  122. package/src/updates/update130200/index.js +0 -43
  123. package/src/updates/update130200/index.js.map +0 -1
  124. package/src/updates/update130200/index.ts +0 -41
  125. package/src/updates/update130200/index_spec.js +0 -106
  126. package/src/updates/update130200/index_spec.js.map +0 -1
  127. package/src/updates/update130200/index_spec.ts +0 -110
  128. package/src/utility/html.d.ts +0 -49
  129. package/src/utility/html.js +0 -246
  130. package/src/utility/html.js.map +0 -1
  131. package/src/utility/html.ts +0 -288
  132. package/src/utility/html_spec.js.map +0 -1
@@ -1,246 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeAttribute = exports.updateAttribute = exports.renameAttribute = exports.appendAttribute = exports.addAttribute = exports.CheerioInfo = void 0;
4
- const util_1 = require("./util");
5
- const cheerio = require('cheerio');
6
- const luxCheerioParserOptions = { xmlMode: true, decodeEntities: false, selfClosingTags: false };
7
- const emptyPlaceholderToken = '@20c44b9d-45e1-447a-a141-1de0695c9c35@';
8
- class CheerioInfo {
9
- constructor(content) {
10
- this.content = content;
11
- this.updated = false;
12
- }
13
- }
14
- exports.CheerioInfo = CheerioInfo;
15
- /**
16
- * Diese Methode fügt ein neues Attribut hinzu, das zum Selektor passt.
17
- *
18
- * @param content
19
- * @param selector
20
- * @param attrName
21
- * @param attrValue
22
- */
23
- function addAttribute(content, selector, attrName, attrValue) {
24
- let newContent = preProcessing(content);
25
- const $ = cheerio.load(newContent, luxCheerioParserOptions);
26
- const result = new CheerioInfo(newContent);
27
- $(selector).each(function (i, elem) {
28
- $(elem).attr(attrName, attrValue ? attrValue : emptyPlaceholderToken);
29
- result.updated = true;
30
- });
31
- if (result.updated) {
32
- result.content = $.xml();
33
- result.content = postProcessing(result.content);
34
- }
35
- return result;
36
- }
37
- exports.addAttribute = addAttribute;
38
- /**
39
- * Diese Methode fügt den Wert ans Ende des Attributwertes an, das zum Selektor passt.
40
- *
41
- * @param content
42
- * @param selector
43
- * @param attrName
44
- * @param attrValue
45
- */
46
- function appendAttribute(content, selector, attrName, attrValue) {
47
- let newContent = preProcessing(content);
48
- const $ = cheerio.load(newContent, luxCheerioParserOptions);
49
- const result = new CheerioInfo(newContent);
50
- $(selector).each(function (i, elem) {
51
- const attrNameNoBinding = attrName;
52
- if ($(elem).attr(attrNameNoBinding)) {
53
- $(elem).attr(attrNameNoBinding, $(elem).attr(attrNameNoBinding) + attrValue);
54
- result.updated = true;
55
- }
56
- const attrNameDataBinding = '[' + attrName + ']';
57
- if ($(elem).attr(attrNameDataBinding)) {
58
- $(elem).attr(attrNameDataBinding, $(elem).attr(attrNameDataBinding) + attrValue);
59
- result.updated = true;
60
- }
61
- const attrNameTwoWayBinding = '[(' + attrName + ')]';
62
- if ($(elem).attr(attrNameTwoWayBinding)) {
63
- $(elem).attr(attrNameTwoWayBinding, $(elem).attr(attrNameTwoWayBinding) + attrValue);
64
- result.updated = true;
65
- }
66
- const attrNameEventBinding = '(' + attrName + ')';
67
- if ($(elem).attr(attrNameEventBinding)) {
68
- $(elem).attr(attrNameEventBinding, $(elem).attr(attrNameEventBinding) + attrValue);
69
- result.updated = true;
70
- }
71
- });
72
- if (result.updated) {
73
- result.content = $.xml();
74
- result.content = postProcessing(result.content);
75
- }
76
- return result;
77
- }
78
- exports.appendAttribute = appendAttribute;
79
- /**
80
- * Diese Methode benennt ein Attribut um, die zum Selektor passen.
81
- *
82
- * @param content Der Inhalt eines HTML-Templates.
83
- * @param selector Ein beliebiger Selektor (z.B. lux-list).
84
- * @param attrNameOld Ein beliebiger Attributname (z.B. luxItem).
85
- * @param attrNameNew Ein beliebiger neuer Attributname.
86
- */
87
- function renameAttribute(content, selector, attrNameOld, attrNameNew) {
88
- let newContent = preProcessing(content);
89
- const $ = cheerio.load(newContent, luxCheerioParserOptions);
90
- const result = new CheerioInfo(newContent);
91
- $(selector).each(function (i, elem) {
92
- const attrNameNoBindingOld = attrNameOld;
93
- const attrNameNoBindingNew = attrNameNew;
94
- const attrValueNoBinding = $(elem).attr(attrNameNoBindingOld);
95
- if (attrValueNoBinding) {
96
- $(elem).removeAttr(attrNameNoBindingOld);
97
- $(elem).attr(attrNameNoBindingNew, attrValueNoBinding ? attrValueNoBinding : emptyPlaceholderToken);
98
- result.updated = true;
99
- }
100
- const attrNameDataBindingOld = '[' + attrNameOld + ']';
101
- const attrNameDataBindingNew = '[' + attrNameNew + ']';
102
- const attrNameDataBindingValue = $(elem).attr(attrNameDataBindingOld);
103
- if (attrNameDataBindingValue) {
104
- $(elem).removeAttr(attrNameDataBindingOld);
105
- $(elem).attr(attrNameDataBindingNew, attrNameDataBindingValue ? attrNameDataBindingValue : emptyPlaceholderToken);
106
- result.updated = true;
107
- }
108
- const attrNameTwoWayBindingOld = '[(' + attrNameOld + ')]';
109
- const attrNameTwoWayBindingNew = '[(' + attrNameNew + ')]';
110
- const attrValueTwoWayBinding = $(elem).attr(attrNameTwoWayBindingOld);
111
- if (attrValueTwoWayBinding) {
112
- $(elem).removeAttr(attrNameTwoWayBindingOld);
113
- $(elem).attr(attrNameTwoWayBindingNew, attrValueTwoWayBinding ? attrValueTwoWayBinding : emptyPlaceholderToken);
114
- result.updated = true;
115
- }
116
- const attrNameEventBindingOld = '(' + attrNameOld + ')';
117
- const attrNameEventBindingNew = '(' + attrNameNew + ')';
118
- const attrValueEventBinding = $(elem).attr(attrNameEventBindingOld);
119
- if (attrValueEventBinding) {
120
- $(elem).removeAttr(attrNameEventBindingOld);
121
- $(elem).attr(attrNameEventBindingNew, attrValueEventBinding ? attrValueEventBinding : emptyPlaceholderToken);
122
- result.updated = true;
123
- }
124
- });
125
- if (result.updated) {
126
- result.content = $.xml();
127
- result.content = postProcessing(result.content);
128
- }
129
- return result;
130
- }
131
- exports.renameAttribute = renameAttribute;
132
- /**
133
- * Diese Methode setzt den neuen Wert für das Attribut, die zum Selektor passen.
134
- *
135
- * @param content Der Inhalt eines HTML-Templates.
136
- * @param selector Ein beliebiger Selektor (z.B. lux-list).
137
- * @param attrName Ein beliebiger Attributname (z.B. luxItem).
138
- * @param attrValue Ein beliebiger Wert.
139
- */
140
- function updateAttribute(content, selector, attrName, attrValue) {
141
- let newContent = preProcessing(content);
142
- const $ = cheerio.load(newContent, luxCheerioParserOptions);
143
- const result = new CheerioInfo(newContent);
144
- $(selector).each(function (i, elem) {
145
- const attrNameNoBinding = attrName;
146
- if ($(elem).attr(attrNameNoBinding)) {
147
- $(elem).attr(attrNameNoBinding, attrValue ? attrValue : emptyPlaceholderToken);
148
- result.updated = true;
149
- }
150
- const attrNameDataBinding = '[' + attrName + ']';
151
- if ($(elem).attr(attrNameDataBinding)) {
152
- $(elem).attr(attrNameDataBinding, attrValue ? attrValue : emptyPlaceholderToken);
153
- result.updated = true;
154
- }
155
- const attrNameTwoWayBinding = '[(' + attrName + ')]';
156
- if ($(elem).attr(attrNameTwoWayBinding)) {
157
- $(elem).attr(attrNameTwoWayBinding, attrValue ? attrValue : emptyPlaceholderToken);
158
- result.updated = true;
159
- }
160
- const attrNameEventBinding = '(' + attrName + ')';
161
- if ($(elem).attr(attrNameEventBinding)) {
162
- $(elem).attr(attrNameEventBinding, attrValue ? attrValue : emptyPlaceholderToken);
163
- result.updated = true;
164
- }
165
- });
166
- if (result.updated) {
167
- result.content = $.xml();
168
- result.content = postProcessing(result.content);
169
- }
170
- return result;
171
- }
172
- exports.updateAttribute = updateAttribute;
173
- /**
174
- * Diese Methode entfernt das Attribut für alle Elemente, die zum Selektor passen.
175
- *
176
- * @param content Der Inhalt eines HTML-Templates.
177
- * @param selector Ein beliebiger Selektor (z.B. lux-list).
178
- * @param attrName Ein beliebiger Attributname (z.B. luxListItem).
179
- */
180
- function removeAttribute(content, selector, attrName) {
181
- let newContent = preProcessing(content);
182
- const $ = cheerio.load(newContent, luxCheerioParserOptions);
183
- const result = new CheerioInfo(newContent);
184
- $(selector).each(function (i, elem) {
185
- const attrNameNoBinding = attrName;
186
- let updated = false;
187
- if ($(elem).attr(attrNameNoBinding)) {
188
- $(elem).removeAttr(attrNameNoBinding);
189
- updated = true;
190
- }
191
- const attrNameDataBinding = '[' + attrName + ']';
192
- if ($(elem).attr(attrNameDataBinding)) {
193
- $(elem).removeAttr(attrNameDataBinding);
194
- updated = true;
195
- }
196
- const attrNameTwoWayBinding = '[(' + attrName + ')]';
197
- if ($(elem).attr(attrNameTwoWayBinding)) {
198
- $(elem).removeAttr(attrNameTwoWayBinding);
199
- updated = true;
200
- }
201
- const attrNameEventBinding = '(' + attrName + ')';
202
- if ($(elem).attr(attrNameEventBinding)) {
203
- $(elem).removeAttr(attrNameEventBinding);
204
- updated = true;
205
- }
206
- if (updated) {
207
- result.updated = true;
208
- }
209
- });
210
- if (result.updated) {
211
- result.content = $.xml();
212
- result.content = postProcessing(result.content);
213
- }
214
- return result;
215
- }
216
- exports.removeAttribute = removeAttribute;
217
- function preProcessing(content) {
218
- return (0, util_1.replaceAll)(content, '=""', `="${emptyPlaceholderToken}"`);
219
- }
220
- function postProcessing(content) {
221
- let resultContent = content;
222
- // Entferne alle leeren Werte die von Cheerio hinzugefügt wurden.
223
- resultContent = (0, util_1.replaceAll)(resultContent, `=""`, '');
224
- // Setze alle Attribute wieder auf leer (="") die initial bereits leer waren oder gezielt auf leer gesetzt wurden.
225
- resultContent = (0, util_1.replaceAll)(resultContent, `${emptyPlaceholderToken}`, '');
226
- // Entferne alle Closing-Tags von den Void-Tags.
227
- resultContent = (0, util_1.replaceAll)(resultContent, '</input>', '');
228
- resultContent = (0, util_1.replaceAll)(resultContent, '</area>', '');
229
- resultContent = (0, util_1.replaceAll)(resultContent, '</br>', '');
230
- resultContent = (0, util_1.replaceAll)(resultContent, '</base>', '');
231
- resultContent = (0, util_1.replaceAll)(resultContent, '</col>', '');
232
- resultContent = (0, util_1.replaceAll)(resultContent, '</embed>', '');
233
- resultContent = (0, util_1.replaceAll)(resultContent, '</hr>', '');
234
- resultContent = (0, util_1.replaceAll)(resultContent, '</img>', '');
235
- resultContent = (0, util_1.replaceAll)(resultContent, '</link>', '');
236
- resultContent = (0, util_1.replaceAll)(resultContent, '</meta>', '');
237
- resultContent = (0, util_1.replaceAll)(resultContent, '</param>', '');
238
- resultContent = (0, util_1.replaceAll)(resultContent, '</source>', '');
239
- resultContent = (0, util_1.replaceAll)(resultContent, '</track>', '');
240
- resultContent = (0, util_1.replaceAll)(resultContent, '</wbr>', '');
241
- return resultContent;
242
- }
243
- const getAllAttributes = function (node) {
244
- return node.attributes || Object.keys(node.attribs).map((name) => ({ name, value: node.attribs[name] }));
245
- };
246
- //# sourceMappingURL=html.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["html.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AAEpC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,uBAAuB,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;AACjG,MAAM,qBAAqB,GAAG,wCAAwC,CAAC;AAEvE,MAAa,WAAW;IAItB,YAAY,OAAe;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;CACF;AARD,kCAQC;AAED;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,OAAe,EAAE,QAAgB,EAAE,QAAgB,EAAE,SAAiB;IACjG,IAAI,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IAE3C,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI;QAChC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;QACtE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE;QAClB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACjD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAhBD,oCAgBC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,OAAe,EAAE,QAAgB,EAAE,QAAgB,EAAE,SAAiB;IACpG,IAAI,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IAE3C,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI;QAChC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;QACnC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACnC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC,CAAC;YAC7E,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;QAED,MAAM,mBAAmB,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC;QACjD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YACrC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC,CAAC;YACjF,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;QAED,MAAM,qBAAqB,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC;QACrD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE;YACvC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAC,CAAC;YACrF,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;QAED,MAAM,oBAAoB,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC;QAClD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE;YACtC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC,CAAC;YACnF,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE;QAClB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACjD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AArCD,0CAqCC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAC7B,OAAe,EACf,QAAgB,EAChB,WAAmB,EACnB,WAAmB;IAEnB,IAAI,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IAE3C,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI;QAChC,MAAM,oBAAoB,GAAG,WAAW,CAAC;QACzC,MAAM,oBAAoB,GAAG,WAAW,CAAC;QACzC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC9D,IAAI,kBAAkB,EAAE;YACtB,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;YACpG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;QAED,MAAM,sBAAsB,GAAG,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC;QACvD,MAAM,sBAAsB,GAAG,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC;QACvD,MAAM,wBAAwB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACtE,IAAI,wBAAwB,EAAE;YAC5B,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;YAClH,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;QAED,MAAM,wBAAwB,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CAAC;QAC3D,MAAM,wBAAwB,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CAAC;QAC3D,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtE,IAAI,sBAAsB,EAAE;YAC1B,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;YAChH,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;QAED,MAAM,uBAAuB,GAAG,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC;QACxD,MAAM,uBAAuB,GAAG,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC;QACxD,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpE,IAAI,qBAAqB,EAAE;YACzB,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;YAC7G,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE;QAClB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACjD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAvDD,0CAuDC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,OAAe,EAAE,QAAgB,EAAE,QAAgB,EAAE,SAAiB;IACpG,IAAI,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IAE3C,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI;QAChC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;QACnC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACnC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;YAC/E,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;QAED,MAAM,mBAAmB,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC;QACjD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YACrC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;YACjF,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;QAED,MAAM,qBAAqB,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC;QACrD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE;YACvC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;YACnF,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;QAED,MAAM,oBAAoB,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC;QAClD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE;YACtC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;YAClF,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE;QAClB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACjD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAtCD,0CAsCC;AAED;;;;;;GAMG;AACH,SAAgB,eAAe,CAAC,OAAe,EAAE,QAAgB,EAAE,QAAgB;IACjF,IAAI,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IAE3C,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI;QAChC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;QACnC,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACnC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACtC,OAAO,GAAG,IAAI,CAAC;SAChB;QAED,MAAM,mBAAmB,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC;QACjD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YACrC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;YACxC,OAAO,GAAG,IAAI,CAAC;SAChB;QAED,MAAM,qBAAqB,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC;QACrD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE;YACvC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;YAC1C,OAAO,GAAG,IAAI,CAAC;SAChB;QAED,MAAM,oBAAoB,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC;QAClD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE;YACtC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;YACzC,OAAO,GAAG,IAAI,CAAC;SAChB;QAED,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE;QAClB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACjD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AA5CD,0CA4CC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,IAAA,iBAAU,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,qBAAqB,GAAG,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,IAAI,aAAa,GAAG,OAAO,CAAC;IAE5B,iEAAiE;IACjE,aAAa,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACrD,kHAAkH;IAClH,aAAa,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,GAAG,qBAAqB,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,gDAAgD;IAChD,aAAa,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAC1D,aAAa,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IACzD,aAAa,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACvD,aAAa,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IACzD,aAAa,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IACxD,aAAa,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAC1D,aAAa,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACvD,aAAa,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IACxD,aAAa,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IACzD,aAAa,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IACzD,aAAa,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAC1D,aAAa,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAC3D,aAAa,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAC1D,aAAa,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAExD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,gBAAgB,GAAG,UAAU,IAAI;IACrC,OAAO,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3G,CAAC,CAAC"}
@@ -1,288 +0,0 @@
1
- import { replaceAll } from './util';
2
-
3
- const cheerio = require('cheerio');
4
- const luxCheerioParserOptions = { xmlMode: true, decodeEntities: false, selfClosingTags: false };
5
- const emptyPlaceholderToken = '@20c44b9d-45e1-447a-a141-1de0695c9c35@';
6
-
7
- export class CheerioInfo {
8
- content: string;
9
- updated: boolean;
10
-
11
- constructor(content: string) {
12
- this.content = content;
13
- this.updated = false;
14
- }
15
- }
16
-
17
- /**
18
- * Diese Methode fügt ein neues Attribut hinzu, das zum Selektor passt.
19
- *
20
- * @param content
21
- * @param selector
22
- * @param attrName
23
- * @param attrValue
24
- */
25
- export function addAttribute(content: string, selector: string, attrName: string, attrValue: string): CheerioInfo {
26
- let newContent = preProcessing(content);
27
- const $ = cheerio.load(newContent, luxCheerioParserOptions);
28
- const result = new CheerioInfo(newContent);
29
-
30
- $(selector).each(function (i, elem) {
31
- $(elem).attr(attrName, attrValue ? attrValue : emptyPlaceholderToken);
32
- result.updated = true;
33
- });
34
-
35
- if (result.updated) {
36
- result.content = $.xml();
37
- result.content = postProcessing(result.content);
38
- }
39
-
40
- return result;
41
- }
42
-
43
- /**
44
- * Diese Methode fügt den Wert ans Ende des Attributwertes an, das zum Selektor passt.
45
- *
46
- * @param content
47
- * @param selector
48
- * @param attrName
49
- * @param attrValue
50
- */
51
- export function appendAttribute(content: string, selector: string, attrName: string, attrValue: string): CheerioInfo {
52
- let newContent = preProcessing(content);
53
- const $ = cheerio.load(newContent, luxCheerioParserOptions);
54
- const result = new CheerioInfo(newContent);
55
-
56
- $(selector).each(function (i, elem) {
57
- const attrNameNoBinding = attrName;
58
- if ($(elem).attr(attrNameNoBinding)) {
59
- $(elem).attr(attrNameNoBinding, $(elem).attr(attrNameNoBinding) + attrValue);
60
- result.updated = true;
61
- }
62
-
63
- const attrNameDataBinding = '[' + attrName + ']';
64
- if ($(elem).attr(attrNameDataBinding)) {
65
- $(elem).attr(attrNameDataBinding, $(elem).attr(attrNameDataBinding) + attrValue);
66
- result.updated = true;
67
- }
68
-
69
- const attrNameTwoWayBinding = '[(' + attrName + ')]';
70
- if ($(elem).attr(attrNameTwoWayBinding)) {
71
- $(elem).attr(attrNameTwoWayBinding, $(elem).attr(attrNameTwoWayBinding) + attrValue);
72
- result.updated = true;
73
- }
74
-
75
- const attrNameEventBinding = '(' + attrName + ')';
76
- if ($(elem).attr(attrNameEventBinding)) {
77
- $(elem).attr(attrNameEventBinding, $(elem).attr(attrNameEventBinding) + attrValue);
78
- result.updated = true;
79
- }
80
- });
81
-
82
- if (result.updated) {
83
- result.content = $.xml();
84
- result.content = postProcessing(result.content);
85
- }
86
-
87
- return result;
88
- }
89
-
90
- /**
91
- * Diese Methode benennt ein Attribut um, die zum Selektor passen.
92
- *
93
- * @param content Der Inhalt eines HTML-Templates.
94
- * @param selector Ein beliebiger Selektor (z.B. lux-list).
95
- * @param attrNameOld Ein beliebiger Attributname (z.B. luxItem).
96
- * @param attrNameNew Ein beliebiger neuer Attributname.
97
- */
98
- export function renameAttribute(
99
- content: string,
100
- selector: string,
101
- attrNameOld: string,
102
- attrNameNew: string
103
- ): CheerioInfo {
104
- let newContent = preProcessing(content);
105
- const $ = cheerio.load(newContent, luxCheerioParserOptions);
106
-
107
- const result = new CheerioInfo(newContent);
108
-
109
- $(selector).each(function (i, elem) {
110
- const attrNameNoBindingOld = attrNameOld;
111
- const attrNameNoBindingNew = attrNameNew;
112
- const attrValueNoBinding = $(elem).attr(attrNameNoBindingOld);
113
- if (attrValueNoBinding) {
114
- $(elem).removeAttr(attrNameNoBindingOld);
115
- $(elem).attr(attrNameNoBindingNew, attrValueNoBinding ? attrValueNoBinding : emptyPlaceholderToken);
116
- result.updated = true;
117
- }
118
-
119
- const attrNameDataBindingOld = '[' + attrNameOld + ']';
120
- const attrNameDataBindingNew = '[' + attrNameNew + ']';
121
- const attrNameDataBindingValue = $(elem).attr(attrNameDataBindingOld);
122
- if (attrNameDataBindingValue) {
123
- $(elem).removeAttr(attrNameDataBindingOld);
124
- $(elem).attr(attrNameDataBindingNew, attrNameDataBindingValue ? attrNameDataBindingValue : emptyPlaceholderToken);
125
- result.updated = true;
126
- }
127
-
128
- const attrNameTwoWayBindingOld = '[(' + attrNameOld + ')]';
129
- const attrNameTwoWayBindingNew = '[(' + attrNameNew + ')]';
130
- const attrValueTwoWayBinding = $(elem).attr(attrNameTwoWayBindingOld);
131
- if (attrValueTwoWayBinding) {
132
- $(elem).removeAttr(attrNameTwoWayBindingOld);
133
- $(elem).attr(attrNameTwoWayBindingNew, attrValueTwoWayBinding ? attrValueTwoWayBinding : emptyPlaceholderToken);
134
- result.updated = true;
135
- }
136
-
137
- const attrNameEventBindingOld = '(' + attrNameOld + ')';
138
- const attrNameEventBindingNew = '(' + attrNameNew + ')';
139
- const attrValueEventBinding = $(elem).attr(attrNameEventBindingOld);
140
- if (attrValueEventBinding) {
141
- $(elem).removeAttr(attrNameEventBindingOld);
142
- $(elem).attr(attrNameEventBindingNew, attrValueEventBinding ? attrValueEventBinding : emptyPlaceholderToken);
143
- result.updated = true;
144
- }
145
- });
146
-
147
- if (result.updated) {
148
- result.content = $.xml();
149
- result.content = postProcessing(result.content);
150
- }
151
-
152
- return result;
153
- }
154
-
155
- /**
156
- * Diese Methode setzt den neuen Wert für das Attribut, die zum Selektor passen.
157
- *
158
- * @param content Der Inhalt eines HTML-Templates.
159
- * @param selector Ein beliebiger Selektor (z.B. lux-list).
160
- * @param attrName Ein beliebiger Attributname (z.B. luxItem).
161
- * @param attrValue Ein beliebiger Wert.
162
- */
163
- export function updateAttribute(content: string, selector: string, attrName: string, attrValue: string): CheerioInfo {
164
- let newContent = preProcessing(content);
165
- const $ = cheerio.load(newContent, luxCheerioParserOptions);
166
-
167
- const result = new CheerioInfo(newContent);
168
-
169
- $(selector).each(function (i, elem) {
170
- const attrNameNoBinding = attrName;
171
- if ($(elem).attr(attrNameNoBinding)) {
172
- $(elem).attr(attrNameNoBinding, attrValue ? attrValue : emptyPlaceholderToken);
173
- result.updated = true;
174
- }
175
-
176
- const attrNameDataBinding = '[' + attrName + ']';
177
- if ($(elem).attr(attrNameDataBinding)) {
178
- $(elem).attr(attrNameDataBinding, attrValue ? attrValue : emptyPlaceholderToken);
179
- result.updated = true;
180
- }
181
-
182
- const attrNameTwoWayBinding = '[(' + attrName + ')]';
183
- if ($(elem).attr(attrNameTwoWayBinding)) {
184
- $(elem).attr(attrNameTwoWayBinding, attrValue ? attrValue : emptyPlaceholderToken);
185
- result.updated = true;
186
- }
187
-
188
- const attrNameEventBinding = '(' + attrName + ')';
189
- if ($(elem).attr(attrNameEventBinding)) {
190
- $(elem).attr(attrNameEventBinding, attrValue ? attrValue : emptyPlaceholderToken);
191
- result.updated = true;
192
- }
193
- });
194
-
195
- if (result.updated) {
196
- result.content = $.xml();
197
- result.content = postProcessing(result.content);
198
- }
199
-
200
- return result;
201
- }
202
-
203
- /**
204
- * Diese Methode entfernt das Attribut für alle Elemente, die zum Selektor passen.
205
- *
206
- * @param content Der Inhalt eines HTML-Templates.
207
- * @param selector Ein beliebiger Selektor (z.B. lux-list).
208
- * @param attrName Ein beliebiger Attributname (z.B. luxListItem).
209
- */
210
- export function removeAttribute(content: string, selector: string, attrName: string): CheerioInfo {
211
- let newContent = preProcessing(content);
212
- const $ = cheerio.load(newContent, luxCheerioParserOptions);
213
-
214
- const result = new CheerioInfo(newContent);
215
-
216
- $(selector).each(function (i, elem) {
217
- const attrNameNoBinding = attrName;
218
- let updated = false;
219
-
220
- if ($(elem).attr(attrNameNoBinding)) {
221
- $(elem).removeAttr(attrNameNoBinding);
222
- updated = true;
223
- }
224
-
225
- const attrNameDataBinding = '[' + attrName + ']';
226
- if ($(elem).attr(attrNameDataBinding)) {
227
- $(elem).removeAttr(attrNameDataBinding);
228
- updated = true;
229
- }
230
-
231
- const attrNameTwoWayBinding = '[(' + attrName + ')]';
232
- if ($(elem).attr(attrNameTwoWayBinding)) {
233
- $(elem).removeAttr(attrNameTwoWayBinding);
234
- updated = true;
235
- }
236
-
237
- const attrNameEventBinding = '(' + attrName + ')';
238
- if ($(elem).attr(attrNameEventBinding)) {
239
- $(elem).removeAttr(attrNameEventBinding);
240
- updated = true;
241
- }
242
-
243
- if (updated) {
244
- result.updated = true;
245
- }
246
- });
247
-
248
- if (result.updated) {
249
- result.content = $.xml();
250
- result.content = postProcessing(result.content);
251
- }
252
-
253
- return result;
254
- }
255
-
256
- function preProcessing(content: string) {
257
- return replaceAll(content, '=""', `="${emptyPlaceholderToken}"`);
258
- }
259
-
260
- function postProcessing(content: string) {
261
- let resultContent = content;
262
-
263
- // Entferne alle leeren Werte die von Cheerio hinzugefügt wurden.
264
- resultContent = replaceAll(resultContent, `=""`, '');
265
- // Setze alle Attribute wieder auf leer (="") die initial bereits leer waren oder gezielt auf leer gesetzt wurden.
266
- resultContent = replaceAll(resultContent, `${emptyPlaceholderToken}`, '');
267
- // Entferne alle Closing-Tags von den Void-Tags.
268
- resultContent = replaceAll(resultContent, '</input>', '');
269
- resultContent = replaceAll(resultContent, '</area>', '');
270
- resultContent = replaceAll(resultContent, '</br>', '');
271
- resultContent = replaceAll(resultContent, '</base>', '');
272
- resultContent = replaceAll(resultContent, '</col>', '');
273
- resultContent = replaceAll(resultContent, '</embed>', '');
274
- resultContent = replaceAll(resultContent, '</hr>', '');
275
- resultContent = replaceAll(resultContent, '</img>', '');
276
- resultContent = replaceAll(resultContent, '</link>', '');
277
- resultContent = replaceAll(resultContent, '</meta>', '');
278
- resultContent = replaceAll(resultContent, '</param>', '');
279
- resultContent = replaceAll(resultContent, '</source>', '');
280
- resultContent = replaceAll(resultContent, '</track>', '');
281
- resultContent = replaceAll(resultContent, '</wbr>', '');
282
-
283
- return resultContent;
284
- }
285
-
286
- const getAllAttributes = function (node) {
287
- return node.attributes || Object.keys(node.attribs).map((name) => ({ name, value: node.attribs[name] }));
288
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"html_spec.js","sourceRoot":"","sources":["html_spec.ts"],"names":[],"mappings":"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"}