@ihk-gfi/lux-components-update 13.3.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.
- package/README.md +2 -2
- package/package.json +10 -8
- package/src/add-lux-components/files/app/app-routing.module.ts +2 -0
- package/src/add-lux-components/files/app/app.component.html +7 -2
- package/src/add-lux-components/files/app/app.component.ts +9 -1
- package/src/add-lux-components/files/app/app.module.ts +6 -1
- package/src/add-lux-components/files/app/base/license-hint/license-hint.component.html +7 -0
- package/src/add-lux-components/files/app/base/license-hint/license-hint.component.ts +18 -0
- package/src/add-lux-components/files/app/home/home.component.scss +3 -0
- package/src/add-lux-components/files/assets/svg/Example.svg +6 -0
- package/src/add-lux-components/files/assets/svg/android.svg +2 -0
- package/src/add-lux-components/files/assets/svg/box.svg +690 -0
- package/src/add-lux-components/files/assets/svg/demoAppLogo.svg +1 -0
- package/src/add-lux-components/files/assets/svg/red_power_button.svg +67 -0
- package/src/add-lux-components/files/assets/svg/svg2009.svg +57457 -0
- package/src/add-lux-components/files/environments/environment.ts +2 -2
- package/src/add-lux-components/files/locale/messages.en.xlf +544 -373
- package/src/add-lux-components/files/locale/messages.xlf +517 -352
- package/src/add-lux-components/files/src/polyfills.ts +29 -39
- package/src/add-lux-components/index.d.ts +1 -1
- package/src/add-lux-components/index.js +47 -26
- package/src/add-lux-components/index.js.map +1 -1
- package/src/add-lux-components/index.ts +50 -31
- package/src/add-lux-components/index_spec.js +3 -3
- package/src/add-lux-components/index_spec.ts +1 -1
- package/src/collection.json +13 -19
- package/src/theme/change-theme-to-authentic/index.d.ts +4 -0
- package/src/theme/change-theme-to-authentic/index.js +129 -0
- package/src/theme/change-theme-to-authentic/index.js.map +1 -0
- package/src/theme/change-theme-to-authentic/index.ts +131 -0
- package/src/{updates/update130000 → theme/change-theme-to-authentic}/index_spec.d.ts +0 -0
- package/src/theme/change-theme-to-authentic/index_spec.js +300 -0
- package/src/theme/change-theme-to-authentic/index_spec.js.map +1 -0
- package/src/theme/change-theme-to-authentic/index_spec.ts +321 -0
- package/src/{updates/update130300 → theme/change-theme-to-authentic}/schema.json +3 -3
- package/src/theme/change-to-lux-icons/index.d.ts +7 -0
- package/src/theme/change-to-lux-icons/index.js +395 -0
- package/src/theme/change-to-lux-icons/index.js.map +1 -0
- package/src/theme/change-to-lux-icons/index.ts +406 -0
- package/src/{updates/update130100 → theme/change-to-lux-icons}/index_spec.d.ts +0 -0
- package/src/theme/change-to-lux-icons/index_spec.js +214 -0
- package/src/theme/change-to-lux-icons/index_spec.js.map +1 -0
- package/src/theme/change-to-lux-icons/index_spec.ts +220 -0
- package/src/{updates/update130200 → theme/change-to-lux-icons}/schema.json +3 -3
- package/src/update-dependencies/index.d.ts +0 -3
- package/src/update-dependencies/index.js +68 -116
- package/src/update-dependencies/index.js.map +1 -1
- package/src/update-dependencies/index.ts +73 -122
- package/src/update-en-messages/index.js +18 -15
- package/src/update-en-messages/index.js.map +1 -1
- package/src/update-en-messages/index.ts +22 -16
- package/src/updates/update140000/files/src/polyfills.ts +70 -0
- package/src/updates/update140000/index.d.ts +8 -0
- package/src/updates/update140000/index.js +83 -0
- package/src/updates/update140000/index.js.map +1 -0
- package/src/updates/update140000/index.ts +97 -0
- package/src/updates/{update130200 → update140000}/index_spec.d.ts +0 -0
- package/src/updates/update140000/index_spec.js +77 -0
- package/src/updates/update140000/index_spec.js.map +1 -0
- package/src/updates/update140000/index_spec.ts +79 -0
- package/src/updates/{update130000 → update140000}/schema.json +0 -0
- package/src/utility/files.d.ts +2 -2
- package/src/utility/files.js +5 -5
- package/src/utility/files.js.map +1 -1
- package/src/utility/files.ts +5 -5
- package/src/utility/html/hit.d.ts +21 -0
- package/src/utility/html/hit.js +27 -0
- package/src/utility/html/hit.js.map +1 -0
- package/src/utility/html/hit.ts +28 -0
- package/src/utility/html/html-manipulator.d.ts +71 -0
- package/src/utility/html/html-manipulator.js +136 -0
- package/src/utility/html/html-manipulator.js.map +1 -0
- package/src/utility/html/html-manipulator.ts +156 -0
- package/src/utility/{html_spec.d.ts → html/html_spec.d.ts} +0 -0
- package/src/utility/{html_spec.js → html/html_spec.js} +232 -100
- package/src/utility/html/html_spec.js.map +1 -0
- package/src/utility/{html_spec.ts → html/html_spec.ts} +282 -106
- package/src/utility/html/manipulator-functions.d.ts +99 -0
- package/src/utility/html/manipulator-functions.js +147 -0
- package/src/utility/html/manipulator-functions.js.map +1 -0
- package/src/utility/html/manipulator-functions.ts +149 -0
- package/src/utility/json.d.ts +2 -2
- package/src/utility/json.js +11 -7
- package/src/utility/json.js.map +1 -1
- package/src/utility/json.ts +42 -26
- package/src/utility/json_spec.js +18 -18
- package/src/utility/json_spec.js.map +1 -1
- package/src/utility/json_spec.ts +136 -66
- package/src/utility/typescript.d.ts +3 -3
- package/src/utility/typescript.js +2 -2
- package/src/utility/typescript.js.map +1 -1
- package/src/utility/typescript.ts +3 -3
- package/src/utility/typescript_spec.js +0 -1
- package/src/utility/typescript_spec.js.map +1 -1
- package/src/utility/typescript_spec.ts +0 -2
- package/src/utility/util.d.ts +7 -6
- package/src/utility/util.js +12 -8
- package/src/utility/util.js.map +1 -1
- package/src/utility/util.ts +13 -10
- package/src/utility/validation.d.ts +2 -3
- package/src/utility/validation.js +2 -3
- package/src/utility/validation.js.map +1 -1
- package/src/utility/validation.ts +2 -3
- package/tsconfig.json +5 -7
- package/src/add-lux-components/files/scripts/.browserslistrc +0 -20
- package/src/updates/update130000/files/root/.browserslistrc +0 -20
- package/src/updates/update130000/index.d.ts +0 -27
- package/src/updates/update130000/index.js +0 -310
- package/src/updates/update130000/index.js.map +0 -1
- package/src/updates/update130000/index.ts +0 -362
- package/src/updates/update130000/index_spec.js +0 -584
- package/src/updates/update130000/index_spec.js.map +0 -1
- package/src/updates/update130000/index_spec.ts +0 -675
- package/src/updates/update130100/index.d.ts +0 -2
- package/src/updates/update130100/index.js +0 -27
- package/src/updates/update130100/index.js.map +0 -1
- package/src/updates/update130100/index.ts +0 -27
- package/src/updates/update130100/index_spec.js +0 -65
- package/src/updates/update130100/index_spec.js.map +0 -1
- package/src/updates/update130100/index_spec.ts +0 -69
- package/src/updates/update130100/schema.json +0 -23
- package/src/updates/update130200/index.d.ts +0 -2
- package/src/updates/update130200/index.js +0 -43
- package/src/updates/update130200/index.js.map +0 -1
- package/src/updates/update130200/index.ts +0 -41
- package/src/updates/update130200/index_spec.js +0 -106
- package/src/updates/update130200/index_spec.js.map +0 -1
- package/src/updates/update130200/index_spec.ts +0 -110
- package/src/updates/update130300/index.d.ts +0 -2
- package/src/updates/update130300/index.js +0 -35
- package/src/updates/update130300/index.js.map +0 -1
- package/src/updates/update130300/index.ts +0 -32
- package/src/updates/update130300/index_spec.d.ts +0 -1
- package/src/updates/update130300/index_spec.js +0 -85
- package/src/updates/update130300/index_spec.js.map +0 -1
- package/src/updates/update130300/index_spec.ts +0 -89
- package/src/utility/html.d.ts +0 -49
- package/src/utility/html.js +0 -246
- package/src/utility/html.js.map +0 -1
- package/src/utility/html.ts +0 -288
- package/src/utility/html_spec.js.map +0 -1
|
@@ -1,132 +1,261 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ATTR_NOT_PROCESSED, HtmlManipulator as Html } from './html-manipulator';
|
|
2
|
+
import {
|
|
3
|
+
addAttrFn,
|
|
4
|
+
appendAttrFn,
|
|
5
|
+
removeAttrFn,
|
|
6
|
+
removeElementFn,
|
|
7
|
+
renameAttrFn,
|
|
8
|
+
renameElementFn,
|
|
9
|
+
updateAttrFn,
|
|
10
|
+
updateAttrIfFn
|
|
11
|
+
} from './manipulator-functions';
|
|
2
12
|
|
|
3
13
|
describe('html', () => {
|
|
14
|
+
describe('Not-Processed-Attribut', () => {
|
|
15
|
+
it('Sollte das Not-Processed-Attribut setzen', () => {
|
|
16
|
+
let content = templateNotProcessedAttr001;
|
|
17
|
+
content = Html.prepare(content, 'lux-card');
|
|
18
|
+
|
|
19
|
+
expect(content).toEqual(resultNotProcessedAttr001);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
describe('Count', () => {
|
|
24
|
+
it('Sollte die korrekte Anzahl zurückliefern', () => {
|
|
25
|
+
const content = templateCount001;
|
|
26
|
+
|
|
27
|
+
expect(Html.count(content, 'lux-card')).toEqual(3);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
describe('renameSelector', () => {
|
|
32
|
+
it('Sollte den Selector gelöscht haben', () => {
|
|
33
|
+
let content = '<div><lux-app-header></lux-app-header></div>';
|
|
34
|
+
content = Html.transform(content, 'lux-app-header', removeElementFn);
|
|
35
|
+
content = Html.transform(content, 'div', removeElementFn);
|
|
36
|
+
|
|
37
|
+
expect(content).toEqual('');
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it('Sollte keinen Subselector löschen', () => {
|
|
41
|
+
let content = '<div><lux-app-header></lux-app-header><lux-app-header-ac></lux-app-header-ac></div>';
|
|
42
|
+
content = Html.transform(content, 'lux-app-header', removeElementFn);
|
|
43
|
+
|
|
44
|
+
expect(content).toEqual('<div><lux-app-header-ac></lux-app-header-ac></div>');
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it('Sollte den Selector ersetzen - Alles in einer Zeile - Ohne Attribute', () => {
|
|
48
|
+
let content = '<lux-app-header></lux-app-header>';
|
|
49
|
+
content = Html.transform(content, 'lux-app-header', renameElementFn('lux-app-header-ac'));
|
|
50
|
+
|
|
51
|
+
expect(content).toEqual('<lux-app-header-ac></lux-app-header-ac>');
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it('Sollte keine Subselectoren ersetzen', () => {
|
|
55
|
+
let content = '<lux-app-header></lux-app-header>';
|
|
56
|
+
content = Html.transform(content, 'lux-app', renameElementFn('lux-app'));
|
|
57
|
+
|
|
58
|
+
expect(content).toEqual('<lux-app-header></lux-app-header>');
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
it('Sollte den Selector ersetzen - Alles in einer Zeile - Mit Attribut', () => {
|
|
62
|
+
let content = '<lux-app-header luxTitle="Lorem ipsum"></lux-app-header>';
|
|
63
|
+
content = Html.transform(content, 'lux-app-header', renameElementFn('lux-app-header-ac'));
|
|
64
|
+
|
|
65
|
+
expect(content).toEqual('<lux-app-header-ac luxTitle="Lorem ipsum"></lux-app-header-ac>');
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
it('Sollte den Selector ersetzen - Alles in einer Zeile - Mit Leerzeichen', () => {
|
|
69
|
+
let content = '<lux-app-header ></lux-app-header >';
|
|
70
|
+
content = Html.transform(content, 'lux-app-header', renameElementFn('lux-app-header-ac'));
|
|
71
|
+
|
|
72
|
+
expect(content).toEqual('<lux-app-header-ac ></lux-app-header-ac >');
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
it('Sollte den Selector ersetzen - Mehrere Zeilen - Ohne Leerzeichen', () => {
|
|
76
|
+
let content = `<lux-app-header
|
|
77
|
+
></lux-app-header>`;
|
|
78
|
+
content = Html.transform(content, 'lux-app-header', renameElementFn('lux-app-header-ac'));
|
|
79
|
+
|
|
80
|
+
expect(content).toEqual(`<lux-app-header-ac
|
|
81
|
+
></lux-app-header-ac>`);
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
it('Sollte den Selector ersetzen - 2 Zeilen - Mit Leerzeichen', () => {
|
|
85
|
+
let content = `<lux-app-header
|
|
86
|
+
></lux-app-header>`;
|
|
87
|
+
content = Html.transform(content, 'lux-app-header', renameElementFn('lux-app-header-ac'));
|
|
88
|
+
|
|
89
|
+
expect(content).toEqual(`<lux-app-header-ac
|
|
90
|
+
></lux-app-header-ac>`);
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
it('Sollte den Selector ersetzen - 3 Zeilen - Ohne Leerzeichen', () => {
|
|
94
|
+
let content = `<lux-app-header
|
|
95
|
+
>
|
|
96
|
+
</lux-app-header>`;
|
|
97
|
+
content = Html.transform(content, 'lux-app-header', renameElementFn('lux-app-header-ac'));
|
|
98
|
+
|
|
99
|
+
expect(content).toEqual(`<lux-app-header-ac
|
|
100
|
+
>
|
|
101
|
+
</lux-app-header-ac>`);
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
|
|
4
105
|
describe('addAttribute', () => {
|
|
5
106
|
it('Sollte sollte das Attribut luxTest1..5 hinzufügen', () => {
|
|
6
|
-
let result =
|
|
7
|
-
result =
|
|
8
|
-
result =
|
|
9
|
-
result =
|
|
10
|
-
result =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
expect(result
|
|
14
|
-
expect(result
|
|
15
|
-
expect(result
|
|
16
|
-
expect(result
|
|
17
|
-
expect(result
|
|
18
|
-
expect(result
|
|
19
|
-
expect(result
|
|
20
|
-
expect(result
|
|
21
|
-
expect(result
|
|
107
|
+
let result = templateAdd001;
|
|
108
|
+
result = Html.transform(result, 'lux-table', addAttrFn('luxTest1', '123'));
|
|
109
|
+
result = Html.transform(result, 'lux-table', addAttrFn('[luxTest2]', '123'));
|
|
110
|
+
result = Html.transform(result, 'lux-table', addAttrFn('(luxTest3)', '123'));
|
|
111
|
+
result = Html.transform(result, 'lux-table', addAttrFn('[(luxTest4)]', '123'));
|
|
112
|
+
result = Html.transform(result, 'lux-table', addAttrFn('luxTest5', ''));
|
|
113
|
+
|
|
114
|
+
expect(result).toContain('luxTest1="123"');
|
|
115
|
+
expect(result).toContain('[luxTest2]="123"');
|
|
116
|
+
expect(result).toContain('(luxTest3)="123"');
|
|
117
|
+
expect(result).toContain('[(luxTest4)]="123"');
|
|
118
|
+
expect(result).toContain('luxTest5=""');
|
|
119
|
+
expect(result).not.toContain('let-element=""');
|
|
120
|
+
expect(result).toContain('#testId\n');
|
|
121
|
+
expect(result).not.toContain('#testId=""');
|
|
122
|
+
expect(result).toContain('testDirective\n');
|
|
123
|
+
expect(result).not.toContain('testDirective=""');
|
|
22
124
|
});
|
|
23
125
|
});
|
|
24
126
|
|
|
25
127
|
describe('updateAttribute', () => {
|
|
26
128
|
it('Sollte sollte das Attribut luxTest1..5 updaten', () => {
|
|
27
|
-
let result =
|
|
28
|
-
result =
|
|
29
|
-
result =
|
|
30
|
-
result =
|
|
31
|
-
result =
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
expect(result
|
|
35
|
-
expect(result
|
|
36
|
-
expect(result
|
|
37
|
-
expect(result
|
|
38
|
-
expect(result
|
|
39
|
-
expect(result
|
|
40
|
-
expect(result
|
|
41
|
-
expect(result
|
|
42
|
-
expect(result
|
|
129
|
+
let result = templateUpdate001;
|
|
130
|
+
result = Html.transform(result, 'lux-file-list', updateAttrFn('luxTest1', 'abc'));
|
|
131
|
+
result = Html.transform(result, 'lux-file-list', updateAttrFn('luxTest2', 'true'));
|
|
132
|
+
result = Html.transform(result, 'lux-file-list', updateAttrFn('luxTest3', 'onNewClick($event, param1)'));
|
|
133
|
+
result = Html.transform(result, 'lux-file-list', updateAttrFn('luxTest4', 'newValue4'));
|
|
134
|
+
result = Html.transform(result, 'lux-file-list', updateAttrFn('luxTest5', ''));
|
|
135
|
+
|
|
136
|
+
expect(result).toContain('luxTest1="abc"');
|
|
137
|
+
expect(result).toContain('[luxTest2]="true"');
|
|
138
|
+
expect(result).toContain('(luxTest3)="onNewClick($event, param1)"');
|
|
139
|
+
expect(result).toContain('[(luxTest4)]="newValue4"');
|
|
140
|
+
expect(result).toContain('[(luxTest5)]=""');
|
|
141
|
+
expect(result).not.toContain('let-element=""');
|
|
142
|
+
expect(result).toContain('#testId\n');
|
|
143
|
+
expect(result).not.toContain('#testId=""');
|
|
144
|
+
expect(result).toContain('testDirective\n');
|
|
145
|
+
expect(result).not.toContain('testDirective=""');
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
describe('updateIfAttribute', () => {
|
|
150
|
+
it('Sollte sollte das Attribut luxTest1..5 updaten', () => {
|
|
151
|
+
let result = templateUpdate002;
|
|
152
|
+
result = Html.transform(result, '*[luxIconName]', updateAttrIfFn('luxIconName', 'fas fa-user', 'lux-interface-user-single'));
|
|
153
|
+
|
|
154
|
+
expect(result).toContain('luxIconName="lux-interface-user-single"');
|
|
155
|
+
expect(result).not.toContain('luxIconName="fas fa-user"');
|
|
156
|
+
|
|
157
|
+
result = Html.transform(result, '*[luxIconName]', updateAttrIfFn('luxIconName', 'lux-interface-user-single', 'fas fa-user'));
|
|
158
|
+
|
|
159
|
+
expect(result).toEqual(templateUpdate002);
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
it('Sollte die Attribute von geschachtelten Elemente ersetzen ', () => {
|
|
163
|
+
let result = templateUpdate003;
|
|
164
|
+
result = Html.transform(result, '*[luxIconName]', updateAttrIfFn('luxIconName', 'fas fa-user', 'lux-interface-user-single'));
|
|
165
|
+
|
|
166
|
+
expect(result).toEqual(
|
|
167
|
+
'<lux-icon luxIconName="lux-interface-user-single"><lux-icon luxIconName="lux-interface-user-single"></lux-icon></lux-icon>'
|
|
168
|
+
);
|
|
43
169
|
});
|
|
44
170
|
});
|
|
45
171
|
|
|
46
172
|
describe('appendAttribute', () => {
|
|
47
173
|
it('Sollte sollte das Attribut luxTest1..5 ergänzen', () => {
|
|
48
|
-
let result =
|
|
49
|
-
result =
|
|
50
|
-
result =
|
|
51
|
-
result =
|
|
52
|
-
result =
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
expect(result
|
|
56
|
-
expect(result
|
|
57
|
-
expect(result
|
|
58
|
-
expect(result
|
|
59
|
-
expect(result
|
|
60
|
-
expect(result
|
|
61
|
-
expect(result
|
|
62
|
-
expect(result
|
|
63
|
-
expect(result
|
|
174
|
+
let result = templateAppend001;
|
|
175
|
+
result = Html.transform(result, 'lux-file-list', appendAttrFn('luxTest1', '_suffix'));
|
|
176
|
+
result = Html.transform(result, 'lux-file-list', appendAttrFn('luxTest2', '_suffix'));
|
|
177
|
+
result = Html.transform(result, 'lux-file-list', appendAttrFn('luxTest3', '_suffix'));
|
|
178
|
+
result = Html.transform(result, 'lux-file-list', appendAttrFn('luxTest4', '_suffix'));
|
|
179
|
+
result = Html.transform(result, 'lux-file-list', appendAttrFn('luxTest5', '_suffix'));
|
|
180
|
+
|
|
181
|
+
expect(result).toContain('luxTest1="value1_suffix"');
|
|
182
|
+
expect(result).toContain('[luxTest2]="value2_suffix"');
|
|
183
|
+
expect(result).toContain('(luxTest3)="value3_suffix"');
|
|
184
|
+
expect(result).toContain('[(luxTest4)]="value4_suffix"');
|
|
185
|
+
expect(result).toContain('[(luxTest5)]="_suffix"');
|
|
186
|
+
expect(result).not.toContain('let-element=""');
|
|
187
|
+
expect(result).toContain('#testId\n');
|
|
188
|
+
expect(result).not.toContain('#testId=""');
|
|
189
|
+
expect(result).toContain('testDirective\n');
|
|
190
|
+
expect(result).not.toContain('testDirective=""');
|
|
64
191
|
});
|
|
65
192
|
});
|
|
66
193
|
|
|
67
194
|
describe('renameAttribute', () => {
|
|
68
195
|
it('Sollte sollte das Attribut luxTest1..5 umbenennen', () => {
|
|
69
|
-
let result =
|
|
70
|
-
result =
|
|
71
|
-
result =
|
|
72
|
-
result =
|
|
73
|
-
result =
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
expect(result
|
|
77
|
-
expect(result
|
|
78
|
-
expect(result
|
|
79
|
-
expect(result
|
|
80
|
-
expect(result
|
|
81
|
-
expect(result
|
|
82
|
-
expect(result
|
|
83
|
-
expect(result
|
|
84
|
-
expect(result
|
|
85
|
-
expect(result
|
|
86
|
-
expect(result
|
|
87
|
-
expect(result
|
|
88
|
-
expect(result
|
|
89
|
-
expect(result
|
|
196
|
+
let result = templateRename001;
|
|
197
|
+
result = Html.transform(result, 'mat-chip-list', renameAttrFn('luxTest1', 'luxTestNeu1'));
|
|
198
|
+
result = Html.transform(result, 'mat-chip-list', renameAttrFn('luxTest2', 'luxTestNeu2'));
|
|
199
|
+
result = Html.transform(result, 'mat-chip-list', renameAttrFn('luxTest3', 'luxTestNeu3'));
|
|
200
|
+
result = Html.transform(result, 'mat-chip-list', renameAttrFn('luxTest4', 'luxTestNeu4'));
|
|
201
|
+
result = Html.transform(result, 'mat-chip-list', renameAttrFn('luxTest5', 'luxTestNeu5'));
|
|
202
|
+
|
|
203
|
+
expect(result).toContain('luxTestNeu1="123"');
|
|
204
|
+
expect(result).not.toContain('luxTest1="123"');
|
|
205
|
+
expect(result).toContain('[luxTestNeu2]="123"');
|
|
206
|
+
expect(result).not.toContain('luxTest2="123"');
|
|
207
|
+
expect(result).toContain('(luxTestNeu3)="123"');
|
|
208
|
+
expect(result).not.toContain('luxTest3="123"');
|
|
209
|
+
expect(result).toContain('[(luxTestNeu4)]="123"');
|
|
210
|
+
expect(result).not.toContain('luxTest4="123"');
|
|
211
|
+
expect(result).toContain('[(luxTestNeu5)]=""');
|
|
212
|
+
expect(result).not.toContain('luxTest5=""');
|
|
213
|
+
expect(result).toContain('#testId\n');
|
|
214
|
+
expect(result).not.toContain('#testId=""');
|
|
215
|
+
expect(result).toContain('testDirective\n');
|
|
216
|
+
expect(result).not.toContain('testDirective=""');
|
|
217
|
+
expect(result).not.toContain('></input>');
|
|
90
218
|
});
|
|
91
219
|
|
|
92
220
|
it('Sollte sollte keine End-Tags für Void-Elements hinzufügen', () => {
|
|
93
|
-
const result =
|
|
94
|
-
|
|
95
|
-
expect(result
|
|
96
|
-
expect(result
|
|
97
|
-
expect(result
|
|
98
|
-
expect(result
|
|
99
|
-
expect(result
|
|
100
|
-
expect(result
|
|
101
|
-
expect(result
|
|
102
|
-
expect(result
|
|
103
|
-
expect(result
|
|
104
|
-
expect(result
|
|
105
|
-
expect(result
|
|
106
|
-
expect(result
|
|
107
|
-
expect(result
|
|
108
|
-
expect(result
|
|
221
|
+
const result = Html.transform(templateRename002, 'input', renameAttrFn('typeWrong', 'type'));
|
|
222
|
+
|
|
223
|
+
expect(result).not.toContain('></input>');
|
|
224
|
+
expect(result).not.toContain('></area>');
|
|
225
|
+
expect(result).not.toContain('></base>');
|
|
226
|
+
expect(result).not.toContain('></br>');
|
|
227
|
+
expect(result).not.toContain('></col>');
|
|
228
|
+
expect(result).not.toContain('></embed>');
|
|
229
|
+
expect(result).not.toContain('></hr>');
|
|
230
|
+
expect(result).not.toContain('></img>');
|
|
231
|
+
expect(result).not.toContain('></link>');
|
|
232
|
+
expect(result).not.toContain('></meta>');
|
|
233
|
+
expect(result).not.toContain('></param>');
|
|
234
|
+
expect(result).not.toContain('></source>');
|
|
235
|
+
expect(result).not.toContain('></track>');
|
|
236
|
+
expect(result).not.toContain('></wbr>');
|
|
109
237
|
});
|
|
110
238
|
});
|
|
111
239
|
|
|
112
240
|
describe('removeAttribute', () => {
|
|
113
241
|
it('Sollte sollte das Attribut luxTest1..5 entfernen', () => {
|
|
114
|
-
let result =
|
|
115
|
-
result =
|
|
116
|
-
result =
|
|
117
|
-
result =
|
|
118
|
-
result =
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
expect(result
|
|
122
|
-
expect(result
|
|
123
|
-
expect(result
|
|
124
|
-
expect(result
|
|
125
|
-
expect(result
|
|
126
|
-
expect(result
|
|
127
|
-
expect(result
|
|
128
|
-
expect(result
|
|
129
|
-
expect(result
|
|
242
|
+
let result = templateRemove001;
|
|
243
|
+
result = Html.transform(result, 'lux-file-list', removeAttrFn('luxTest1'));
|
|
244
|
+
result = Html.transform(result, 'lux-file-list', removeAttrFn('luxTest2'));
|
|
245
|
+
result = Html.transform(result, 'lux-file-list', removeAttrFn('luxTest3'));
|
|
246
|
+
result = Html.transform(result, 'lux-file-list', removeAttrFn('luxTest4'));
|
|
247
|
+
result = Html.transform(result, 'lux-file-list', removeAttrFn('luxTest5'));
|
|
248
|
+
|
|
249
|
+
expect(result).not.toContain('luxTest1');
|
|
250
|
+
expect(result).not.toContain('luxTest2');
|
|
251
|
+
expect(result).not.toContain('luxTest3');
|
|
252
|
+
expect(result).not.toContain('luxTest4');
|
|
253
|
+
expect(result).not.toContain('luxTest5');
|
|
254
|
+
expect(result).toContain('testDirective\n');
|
|
255
|
+
expect(result).not.toContain('testDirective=""');
|
|
256
|
+
expect(result).toContain('#filelistexamplewithoutform\n');
|
|
257
|
+
expect(result).not.toContain('#filelistexamplewithoutform=""');
|
|
258
|
+
expect(result).toContain('[luxHint]=""');
|
|
130
259
|
});
|
|
131
260
|
});
|
|
132
261
|
});
|
|
@@ -518,7 +647,7 @@ const templateUpdate001 = `
|
|
|
518
647
|
<div fxFlex="auto" fxLayout="column">
|
|
519
648
|
<h3>Ohne ReactiveForm</h3>
|
|
520
649
|
<lux-file-list
|
|
521
|
-
testDirective
|
|
650
|
+
testDirective
|
|
522
651
|
[luxLabel]="label"
|
|
523
652
|
[luxDownloadActionConfig]="downloadActionConfig"
|
|
524
653
|
[luxMaximumExtended]="maximumExtended"
|
|
@@ -538,17 +667,31 @@ const templateUpdate001 = `
|
|
|
538
667
|
[(luxTest5)]="value5"
|
|
539
668
|
(luxFocusIn)="log(showOutputEvents, 'luxFocusIn', $event)"
|
|
540
669
|
(luxFocusOut)="log(showOutputEvents, 'luxFocusOut', $event)"
|
|
541
|
-
#testId
|
|
670
|
+
#testId
|
|
542
671
|
>
|
|
543
672
|
</lux-file-list>
|
|
544
673
|
</div>
|
|
545
674
|
`;
|
|
546
675
|
|
|
676
|
+
const templateUpdate002 = `
|
|
677
|
+
<lux-icon
|
|
678
|
+
luxIconName="fas fa-user"
|
|
679
|
+
[luxIconSize]="iconSize"
|
|
680
|
+
[luxPadding]="padding"
|
|
681
|
+
[luxMargin]="margin"
|
|
682
|
+
[luxRounded]="rounded"
|
|
683
|
+
[luxColor]="color"
|
|
684
|
+
>
|
|
685
|
+
</lux-icon>
|
|
686
|
+
`;
|
|
687
|
+
|
|
688
|
+
const templateUpdate003 = `<lux-icon luxIconName="fas fa-user"><lux-icon luxIconName="fas fa-user"></lux-icon></lux-icon>`;
|
|
689
|
+
|
|
547
690
|
const templateAppend001 = `
|
|
548
691
|
<div fxFlex="auto" fxLayout="column">
|
|
549
692
|
<h3>Ohne ReactiveForm</h3>
|
|
550
693
|
<lux-file-list
|
|
551
|
-
testDirective
|
|
694
|
+
testDirective
|
|
552
695
|
[luxLabel]="label"
|
|
553
696
|
[luxDownloadActionConfig]="downloadActionConfig"
|
|
554
697
|
[luxMaximumExtended]="maximumExtended"
|
|
@@ -568,8 +711,41 @@ const templateAppend001 = `
|
|
|
568
711
|
[(luxTest5)]=""
|
|
569
712
|
(luxFocusIn)="log(showOutputEvents, 'luxFocusIn', $event)"
|
|
570
713
|
(luxFocusOut)="log(showOutputEvents, 'luxFocusOut', $event)"
|
|
571
|
-
#testId
|
|
714
|
+
#testId
|
|
572
715
|
>
|
|
573
716
|
</lux-file-list>
|
|
574
717
|
</div>
|
|
575
718
|
`;
|
|
719
|
+
|
|
720
|
+
const templateNotProcessedAttr001 = `
|
|
721
|
+
<div><lux-card><lux-card-content>Lorem ipsum</lux-card-content></lux-card>
|
|
722
|
+
<lux-card luxTitle="Test">
|
|
723
|
+
<lux-card-content>
|
|
724
|
+
<p>Lorem ipsum</p>
|
|
725
|
+
<lux-card><lux-card-content>Lorem ipsum</lux-card-content></lux-card>
|
|
726
|
+
</lux-card-content>
|
|
727
|
+
</lux-card>
|
|
728
|
+
</div>
|
|
729
|
+
`;
|
|
730
|
+
|
|
731
|
+
const resultNotProcessedAttr001 = `
|
|
732
|
+
<div><lux-card ${ATTR_NOT_PROCESSED}><lux-card-content>Lorem ipsum</lux-card-content></lux-card>
|
|
733
|
+
<lux-card ${ATTR_NOT_PROCESSED} luxTitle="Test">
|
|
734
|
+
<lux-card-content>
|
|
735
|
+
<p>Lorem ipsum</p>
|
|
736
|
+
<lux-card ${ATTR_NOT_PROCESSED}><lux-card-content>Lorem ipsum</lux-card-content></lux-card>
|
|
737
|
+
</lux-card-content>
|
|
738
|
+
</lux-card>
|
|
739
|
+
</div>
|
|
740
|
+
`;
|
|
741
|
+
|
|
742
|
+
const templateCount001 = `
|
|
743
|
+
<div><lux-card><lux-card-content>Lorem ipsum</lux-card-content></lux-card>
|
|
744
|
+
<lux-card luxTitle="Test">
|
|
745
|
+
<lux-card-content>
|
|
746
|
+
<p>Lorem ipsum</p>
|
|
747
|
+
<lux-card><lux-card-content>Lorem ipsum</lux-card-content></lux-card>
|
|
748
|
+
</lux-card-content>
|
|
749
|
+
</lux-card>
|
|
750
|
+
</div>
|
|
751
|
+
`;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Hit } from './hit';
|
|
2
|
+
/**
|
|
3
|
+
* @typedef ManipulatorFn Eine Manipulator-Funktion transformiert den HTML-Inhalt eines {@link Element}s.
|
|
4
|
+
*/
|
|
5
|
+
export declare type ManipulatorFn = (hit: Hit) => void;
|
|
6
|
+
/**
|
|
7
|
+
* Diese Funktion fügt dem Element ein neues Attribut hinzu. Das neue Attribut wird direkt hinter dem Tag als erstes Attribut hinzugefügt.
|
|
8
|
+
*
|
|
9
|
+
* @example Neues Attribut "luxHint"
|
|
10
|
+
* Input: <lux-input luxLabel="Lorem ipsum"></lux-input>
|
|
11
|
+
* Output: <lux-input luxHint="Hint" luxLabel="Lorem ipsum"></lux-input>
|
|
12
|
+
*
|
|
13
|
+
* @param name Ein Attributname.
|
|
14
|
+
* @param value Ein Attributwert.
|
|
15
|
+
*/
|
|
16
|
+
export declare const addAttrFn: (name: string, value: string) => (hit: Hit) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Diese Funktion löscht das gesamte Element.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* Input: <lux-input luxLabel="Lorem ipsum"></lux-input>
|
|
22
|
+
* Output:
|
|
23
|
+
*
|
|
24
|
+
* @param hit Ein {@link Hit}.
|
|
25
|
+
*/
|
|
26
|
+
export declare const removeElementFn: (hit: Hit) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Diese Funktion benennt das Element um.
|
|
29
|
+
*
|
|
30
|
+
* @example Neuer Name "lux-input-ac"
|
|
31
|
+
* Input: <lux-input luxLabel="Lorem ipsum"></lux-input>
|
|
32
|
+
* Output: <lux-input-ac luxLabel="Lorem ipsum"></lux-input-ac>
|
|
33
|
+
*
|
|
34
|
+
* @param newName Der neue Name.
|
|
35
|
+
*/
|
|
36
|
+
export declare const renameElementFn: (newName: string) => (hit: Hit) => void;
|
|
37
|
+
/**
|
|
38
|
+
* Diese Funktion benennt ein Attribut um.
|
|
39
|
+
*
|
|
40
|
+
* @example Alter Name "luxSelectedFiles", neuer Name "luxSelected"
|
|
41
|
+
* Input: <lux-file-list (luxSelectedFiles)="..."></lux-file-list>
|
|
42
|
+
* Output: <lux-file-list (luxSelected)="..."></lux-file-list>
|
|
43
|
+
*
|
|
44
|
+
* @param oldName Ein alter Name.
|
|
45
|
+
* @param newName Ein neuer Name.
|
|
46
|
+
*/
|
|
47
|
+
export declare const renameAttrFn: (oldName: string, newName: string) => (hit: Hit) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Diese Funktion aktualisiert den Attributwert nur, wenn dieser mit dem alten Wert übereinstimmt.
|
|
50
|
+
*
|
|
51
|
+
* @example Name "luxLabel", alter Wert "Vorname" und neuer Wert "Name" (alter Wert stimmt überein und der neue Wert wird gesetzt)
|
|
52
|
+
* Input: <lux-input luxLabel="Vorname"></lux-input>
|
|
53
|
+
* Output: <lux-input luxLabel="Name"></lux-input>
|
|
54
|
+
*
|
|
55
|
+
* @example Name "luxLabel", alter Wert "Name" und neuer Wert "Nachname" (alter Wert stimmt nicht überein und der HTML-Inhalt bleibt unverändert)
|
|
56
|
+
* Input: <lux-input luxLabel="Vorname"></lux-input>
|
|
57
|
+
* Output: <lux-input luxLabel="Vorname"></lux-input>
|
|
58
|
+
*
|
|
59
|
+
* @param name Ein Attributname.
|
|
60
|
+
* @param oldValue Ein alter Attributwert.
|
|
61
|
+
* @param newValue Ein neuer Attributwert.
|
|
62
|
+
*/
|
|
63
|
+
export declare const updateAttrIfFn: (name: string, oldValue: string, newValue: string) => (hit: Hit) => void;
|
|
64
|
+
/**
|
|
65
|
+
* Diese Funktion aktualisiert den Attributwert, wenn es das Attribut gibt. D.h. wenn es das Attribut nicht gibt, wird es auch nicht angelegt.
|
|
66
|
+
*
|
|
67
|
+
* @example Name "luxLabel", Wert "Vorname" (Attribut vorhanden und der Wert wird gesetzt)
|
|
68
|
+
* Input: <lux-input luxLabel="Name"></lux-input>
|
|
69
|
+
* Output: <lux-input luxLabel="Vorname"></lux-input>
|
|
70
|
+
*
|
|
71
|
+
* @example Name "luxLabel", Wert "Vorname" (Attribut nicht vorhanden und der HTML-Inhalt bleibt unverändert)
|
|
72
|
+
* Input: <lux-input></lux-input>
|
|
73
|
+
* Output: <lux-input></lux-input>
|
|
74
|
+
*
|
|
75
|
+
* @param name Ein Attributname.
|
|
76
|
+
* @param value Ein Attributwert.
|
|
77
|
+
*/
|
|
78
|
+
export declare const updateAttrFn: (name: string, value: string) => (hit: Hit) => void;
|
|
79
|
+
/**
|
|
80
|
+
* Diese Funktion hängt den Wert hinten an, wenn es das Attribut gibt.
|
|
81
|
+
*
|
|
82
|
+
* @example Name "luxLabel", Wert " (*)"
|
|
83
|
+
* Input: <lux-input luxLabel="Nachname"></lux-input>
|
|
84
|
+
* Output: <lux-input luxLabel="Nachname (*)"></lux-input>
|
|
85
|
+
*
|
|
86
|
+
* @param name Ein Attributname.
|
|
87
|
+
* @param appendValue Ein anzuhängender Wert.
|
|
88
|
+
*/
|
|
89
|
+
export declare const appendAttrFn: (name: string, appendValue: string) => (hit: Hit) => void;
|
|
90
|
+
/**
|
|
91
|
+
* Diese Funktion löscht ein Attribut.
|
|
92
|
+
*
|
|
93
|
+
* @example Attribut "luxHint"
|
|
94
|
+
* Input: <lux-input luxLabel="Name" luxHint="Lorem ipsum"></lux-input>
|
|
95
|
+
* Output: <lux-input luxLabel="Name"></lux-input>
|
|
96
|
+
*
|
|
97
|
+
* @param name Ein Attributname.
|
|
98
|
+
*/
|
|
99
|
+
export declare const removeAttrFn: (name: string) => (hit: Hit) => void;
|