@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.
Files changed (141) 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 -19
  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/update130300 → 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/update130100/schema.json +0 -23
  122. package/src/updates/update130200/index.d.ts +0 -2
  123. package/src/updates/update130200/index.js +0 -43
  124. package/src/updates/update130200/index.js.map +0 -1
  125. package/src/updates/update130200/index.ts +0 -41
  126. package/src/updates/update130200/index_spec.js +0 -106
  127. package/src/updates/update130200/index_spec.js.map +0 -1
  128. package/src/updates/update130200/index_spec.ts +0 -110
  129. package/src/updates/update130300/index.d.ts +0 -2
  130. package/src/updates/update130300/index.js +0 -35
  131. package/src/updates/update130300/index.js.map +0 -1
  132. package/src/updates/update130300/index.ts +0 -32
  133. package/src/updates/update130300/index_spec.d.ts +0 -1
  134. package/src/updates/update130300/index_spec.js +0 -85
  135. package/src/updates/update130300/index_spec.js.map +0 -1
  136. package/src/updates/update130300/index_spec.ts +0 -89
  137. package/src/utility/html.d.ts +0 -49
  138. package/src/utility/html.js +0 -246
  139. package/src/utility/html.js.map +0 -1
  140. package/src/utility/html.ts +0 -288
  141. package/src/utility/html_spec.js.map +0 -1
@@ -1,32 +0,0 @@
1
- import { chain, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';
2
- import * as chalk from 'chalk';
3
- import { updateJsonValue } from '../../utility/json';
4
- import { finish, messageInfoRule, messageSuccessRule } from '../../utility/util';
5
-
6
- export function update130300(options: any): Rule {
7
- return (tree: Tree, context: SchematicContext) => {
8
- const filePath = '/package.json';
9
- return chain([
10
- messageInfoRule(`Die LUX-Components werden auf die Version 13.3.0 aktualisiert...`),
11
-
12
- messageInfoRule(`Die Datei "package.json" wird angepasst...`),
13
- updateJsonValue(null, filePath, ['dependencies', '@ihk-gfi/lux-components'], '13.3.0', true),
14
- updateJsonValue(null, filePath, ['devDependencies', '@angular-devkit/build-angular'], '13.3.10', true),
15
- updateJsonValue(null, filePath, ['dependencies', '@angular/animations'], '13.3.12', true),
16
- updateJsonValue(null, filePath, ['devDependencies', '@angular/cli'], '13.3.10', true),
17
- updateJsonValue(null, filePath, ['dependencies', '@angular/common'], '13.3.12', true),
18
- updateJsonValue(null, filePath, ['dependencies', '@angular/compiler'], '13.3.12', true),
19
- updateJsonValue(null, filePath, ['devDependencies', '@angular/compiler-cli'], '13.3.12', true),
20
- updateJsonValue(null, filePath, ['dependencies', '@angular/core'], '13.3.12', true),
21
- updateJsonValue(null, filePath, ['devDependencies', '@angular/elements'], '13.3.12', true),
22
- updateJsonValue(null, filePath, ['dependencies', '@angular/forms'], '13.3.12', true),
23
- updateJsonValue(null, filePath, ['devDependencies', '@angular/language-service'], '13.3.12', true),
24
- updateJsonValue(null, filePath, ['dependencies', '@angular/localize'], '13.3.12', true),
25
- updateJsonValue(null, filePath, ['dependencies', '@angular/platform-browser'], '13.3.12', true),
26
- updateJsonValue(null, filePath, ['dependencies', '@angular/platform-browser-dynamic'], '13.3.12', true),
27
- updateJsonValue(null, filePath, ['dependencies', '@angular/router'], '13.3.12', true),messageSuccessRule(`Die Datei "package.json" wurde angepasst.`),
28
- messageSuccessRule(`Die LUX-Components wurden auf die Version 13.2.0 aktualisiert.`),
29
- finish(true,`${chalk.yellowBright('Fertig!')}`)
30
- ]);
31
- };
32
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,85 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const schematics_1 = require("@angular-devkit/schematics");
13
- const testing_1 = require("@angular-devkit/schematics/testing");
14
- const path = require("path");
15
- const rxjs_1 = require("rxjs");
16
- const dependencies_1 = require("../../utility/dependencies");
17
- const test_1 = require("../../utility/test");
18
- const util_1 = require("../../utility/util");
19
- const index_1 = require("./index");
20
- const collectionPath = path.join(__dirname, '../../collection.json');
21
- describe('update130300', () => {
22
- let appTree;
23
- let runner;
24
- let context;
25
- const testOptions = {};
26
- beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
27
- runner = new testing_1.SchematicTestRunner('schematics', collectionPath);
28
- appTree = yield runner.runExternalSchematicAsync('@schematics/angular', 'workspace', test_1.workspaceOptions).toPromise();
29
- appTree = yield runner
30
- .runExternalSchematicAsync('@schematics/angular', 'application', test_1.appOptions, appTree)
31
- .toPromise();
32
- util_1.UtilConfig.defaultWaitMS = 0;
33
- const collection = runner.engine.createCollection(collectionPath);
34
- const schematic = runner.engine.createSchematic('update-13.3.0', collection);
35
- context = runner.engine.createContext(schematic);
36
- testOptions.project = test_1.appOptions.name;
37
- testOptions.path = test_1.workspaceOptions.newProjectRoot + '/' + test_1.appOptions.name;
38
- testOptions.verbose = true;
39
- }));
40
- describe('[Rule] update130300', () => {
41
- it('Sollte die Abhängigkeiten aktualisieren', (done) => {
42
- appTree.overwrite('/package.json', `
43
- {
44
- "name": "Lorem ipsum",
45
- "version": "0.0.32",
46
- "scripts": {
47
- "build": "tsc -p tsconfig.json",
48
- "test": "npm run build && jasmine src/**/*_spec.js"
49
- },
50
- "dependencies": {
51
- "@ihk-gfi/lux-components": "13.1.0",
52
- "@angular/animations": "13.3.7",
53
- "@angular/cdk": "13.3.7",
54
- "@angular/common": "13.3.7",
55
- "@angular/compiler": "13.3.7",
56
- "@angular/core": "13.3.7",
57
- "@angular/forms": "13.3.7",
58
- "@angular/localize": "13.3.7",
59
- "@angular/material": "13.3.7",
60
- "@angular/platform-browser": "13.3.7",
61
- "@angular/platform-browser-dynamic": "13.3.7",
62
- "@angular/router": "13.3.7"
63
- },
64
- "devDependencies": {
65
- "@angular-devkit/build-angular": "13.3.5",
66
- "@angular-eslint/builder": "13.2.1",
67
- "@angular-eslint/eslint-plugin": "13.2.1",
68
- "@angular-eslint/eslint-plugin-template": "13.2.1",
69
- "@angular-eslint/schematics": "13.2.1",
70
- "@angular-eslint/template-parser": "13.2.1",
71
- "@angular/cli": "13.3.5",
72
- "@angular/compiler-cli": "13.3.7",
73
- "@angular/elements": "13.3.7",
74
- "@angular/language-service": "13.3.7"
75
- }
76
- }
77
- `);
78
- (0, schematics_1.callRule)((0, index_1.update130300)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe(() => {
79
- expect((0, dependencies_1.getPackageJsonDependency)(appTree, '@ihk-gfi/lux-components').version).toEqual('13.3.0');
80
- done();
81
- }, (reason) => expect(reason).toBeUndefined());
82
- });
83
- });
84
- });
85
- //# sourceMappingURL=index_spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index_spec.js","sourceRoot":"","sources":["index_spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2DAAwE;AACxE,gEAAuF;AACvF,6BAA6B;AAC7B,+BAA0C;AAC1C,6DAAsE;AACtE,6CAAkE;AAClE,6CAAgD;AAChD,mCAAuC;AAEvC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;AAErE,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,OAAqB,CAAC;IAC1B,IAAI,MAA2B,CAAC;IAChC,IAAI,OAAyB,CAAC;IAE9B,MAAM,WAAW,GAAQ,EAAE,CAAC;IAE5B,UAAU,CAAC,GAAS,EAAE;QACpB,MAAM,GAAG,IAAI,6BAAmB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAE/D,OAAO,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,qBAAqB,EAAE,WAAW,EAAE,uBAAgB,CAAC,CAAC,SAAS,EAAE,CAAC;QACnH,OAAO,GAAG,MAAM,MAAM;aACnB,yBAAyB,CAAC,qBAAqB,EAAE,aAAa,EAAE,iBAAU,EAAE,OAAO,CAAC;aACpF,SAAS,EAAE,CAAC;QAEf,iBAAU,CAAC,aAAa,GAAG,CAAC,CAAC;QAE7B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC7E,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAEjD,WAAW,CAAC,OAAO,GAAG,iBAAU,CAAC,IAAI,CAAC;QACtC,WAAW,CAAC,IAAI,GAAG,uBAAgB,CAAC,cAAc,GAAG,GAAG,GAAG,iBAAU,CAAC,IAAI,CAAC;QAC3E,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;IAC7B,CAAC,CAAA,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,yCAAyC,EAAE,CAAC,IAAI,EAAE,EAAE;YACrD,OAAO,CAAC,SAAS,CACf,eAAe,EACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAmCC,CACF,CAAC;YAEF,IAAA,qBAAQ,EAAC,IAAA,oBAAY,EAAC,WAAW,CAAC,EAAE,IAAA,SAAY,EAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,CAC3E,GAAG,EAAE;gBACH,MAAM,CAAC,IAAA,uCAAwB,EAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC/F,IAAI,EAAE,CAAC;YACT,CAAC,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAC3C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,89 +0,0 @@
1
- import { callRule, SchematicContext } from '@angular-devkit/schematics';
2
- import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
3
- import * as path from 'path';
4
- import { of as observableOf } from 'rxjs';
5
- import { getPackageJsonDependency } from '../../utility/dependencies';
6
- import { appOptions, workspaceOptions } from '../../utility/test';
7
- import { UtilConfig } from '../../utility/util';
8
- import { update130300 } from './index';
9
-
10
- const collectionPath = path.join(__dirname, '../../collection.json');
11
-
12
- describe('update130300', () => {
13
- let appTree: UnitTestTree;
14
- let runner: SchematicTestRunner;
15
- let context: SchematicContext;
16
-
17
- const testOptions: any = {};
18
-
19
- beforeEach(async () => {
20
- runner = new SchematicTestRunner('schematics', collectionPath);
21
-
22
- appTree = await runner.runExternalSchematicAsync('@schematics/angular', 'workspace', workspaceOptions).toPromise();
23
- appTree = await runner
24
- .runExternalSchematicAsync('@schematics/angular', 'application', appOptions, appTree)
25
- .toPromise();
26
-
27
- UtilConfig.defaultWaitMS = 0;
28
-
29
- const collection = runner.engine.createCollection(collectionPath);
30
- const schematic = runner.engine.createSchematic('update-13.3.0', collection);
31
- context = runner.engine.createContext(schematic);
32
-
33
- testOptions.project = appOptions.name;
34
- testOptions.path = workspaceOptions.newProjectRoot + '/' + appOptions.name;
35
- testOptions.verbose = true;
36
- });
37
-
38
- describe('[Rule] update130300', () => {
39
- it('Sollte die Abhängigkeiten aktualisieren', (done) => {
40
- appTree.overwrite(
41
- '/package.json',
42
- `
43
- {
44
- "name": "Lorem ipsum",
45
- "version": "0.0.32",
46
- "scripts": {
47
- "build": "tsc -p tsconfig.json",
48
- "test": "npm run build && jasmine src/**/*_spec.js"
49
- },
50
- "dependencies": {
51
- "@ihk-gfi/lux-components": "13.1.0",
52
- "@angular/animations": "13.3.7",
53
- "@angular/cdk": "13.3.7",
54
- "@angular/common": "13.3.7",
55
- "@angular/compiler": "13.3.7",
56
- "@angular/core": "13.3.7",
57
- "@angular/forms": "13.3.7",
58
- "@angular/localize": "13.3.7",
59
- "@angular/material": "13.3.7",
60
- "@angular/platform-browser": "13.3.7",
61
- "@angular/platform-browser-dynamic": "13.3.7",
62
- "@angular/router": "13.3.7"
63
- },
64
- "devDependencies": {
65
- "@angular-devkit/build-angular": "13.3.5",
66
- "@angular-eslint/builder": "13.2.1",
67
- "@angular-eslint/eslint-plugin": "13.2.1",
68
- "@angular-eslint/eslint-plugin-template": "13.2.1",
69
- "@angular-eslint/schematics": "13.2.1",
70
- "@angular-eslint/template-parser": "13.2.1",
71
- "@angular/cli": "13.3.5",
72
- "@angular/compiler-cli": "13.3.7",
73
- "@angular/elements": "13.3.7",
74
- "@angular/language-service": "13.3.7"
75
- }
76
- }
77
- `
78
- );
79
-
80
- callRule(update130300(testOptions), observableOf(appTree), context).subscribe(
81
- () => {
82
- expect(getPackageJsonDependency(appTree, '@ihk-gfi/lux-components').version).toEqual('13.3.0');
83
- done();
84
- },
85
- (reason) => expect(reason).toBeUndefined()
86
- );
87
- });
88
- });
89
- });
@@ -1,49 +0,0 @@
1
- export declare class CheerioInfo {
2
- content: string;
3
- updated: boolean;
4
- constructor(content: string);
5
- }
6
- /**
7
- * Diese Methode fügt ein neues Attribut hinzu, das zum Selektor passt.
8
- *
9
- * @param content
10
- * @param selector
11
- * @param attrName
12
- * @param attrValue
13
- */
14
- export declare function addAttribute(content: string, selector: string, attrName: string, attrValue: string): CheerioInfo;
15
- /**
16
- * Diese Methode fügt den Wert ans Ende des Attributwertes an, das zum Selektor passt.
17
- *
18
- * @param content
19
- * @param selector
20
- * @param attrName
21
- * @param attrValue
22
- */
23
- export declare function appendAttribute(content: string, selector: string, attrName: string, attrValue: string): CheerioInfo;
24
- /**
25
- * Diese Methode benennt ein Attribut um, die zum Selektor passen.
26
- *
27
- * @param content Der Inhalt eines HTML-Templates.
28
- * @param selector Ein beliebiger Selektor (z.B. lux-list).
29
- * @param attrNameOld Ein beliebiger Attributname (z.B. luxItem).
30
- * @param attrNameNew Ein beliebiger neuer Attributname.
31
- */
32
- export declare function renameAttribute(content: string, selector: string, attrNameOld: string, attrNameNew: string): CheerioInfo;
33
- /**
34
- * Diese Methode setzt den neuen Wert für das Attribut, die zum Selektor passen.
35
- *
36
- * @param content Der Inhalt eines HTML-Templates.
37
- * @param selector Ein beliebiger Selektor (z.B. lux-list).
38
- * @param attrName Ein beliebiger Attributname (z.B. luxItem).
39
- * @param attrValue Ein beliebiger Wert.
40
- */
41
- export declare function updateAttribute(content: string, selector: string, attrName: string, attrValue: string): CheerioInfo;
42
- /**
43
- * Diese Methode entfernt das Attribut für alle Elemente, die zum Selektor passen.
44
- *
45
- * @param content Der Inhalt eines HTML-Templates.
46
- * @param selector Ein beliebiger Selektor (z.B. lux-list).
47
- * @param attrName Ein beliebiger Attributname (z.B. luxListItem).
48
- */
49
- export declare function removeAttribute(content: string, selector: string, attrName: string): CheerioInfo;
@@ -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":"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"}