@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
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.changeToAcComponents = exports.setAcThemeToAppComponent = exports.changeToThemeAuthentic = void 0;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ const files_1 = require("../../utility/files");
6
+ const html_manipulator_1 = require("../../utility/html/html-manipulator");
7
+ const manipulator_functions_1 = require("../../utility/html/manipulator-functions");
8
+ const logging_1 = require("../../utility/logging");
9
+ const util_1 = require("../../utility/util");
10
+ const index_1 = require("../change-to-lux-icons/index");
11
+ function changeToThemeAuthentic(options) {
12
+ return (_tree, _context) => {
13
+ return (0, schematics_1.chain)([
14
+ (0, util_1.messageInfoRule)(`Das Authentic-Theme wird eingerichtet...`),
15
+ setAcThemeToAppComponent(options),
16
+ changeToAcComponents(options),
17
+ (0, index_1.changeToLuxIcons)(options),
18
+ (0, util_1.messageSuccessRule)(`Das Authentic-Theme wurde eingerichtet.`)
19
+ ]);
20
+ };
21
+ }
22
+ exports.changeToThemeAuthentic = changeToThemeAuthentic;
23
+ function setAcThemeToAppComponent(options) {
24
+ return (0, schematics_1.chain)([
25
+ (0, util_1.messageInfoRule)(`Das Authentic-Theme wird in der app.component.ts gesetzt...`),
26
+ (tree, _context) => {
27
+ var _a;
28
+ const themeName = 'authentic';
29
+ const filePath = ((_a = options.path) !== null && _a !== void 0 ? _a : '.') + '/src/app/app.component.ts';
30
+ if (tree.exists(filePath)) {
31
+ const content = tree.read(filePath).toString();
32
+ let result = content;
33
+ const setThemeRegEx = new RegExp("(\\w*\\.setTheme\\(['|\"'])(.*?)(['|\"']\\);)");
34
+ const loadThemeRegEx = new RegExp('(\\w*\\.loadTheme\\(.*?\\);)');
35
+ if (setThemeRegEx.test(content)) {
36
+ const groups = setThemeRegEx.exec(content);
37
+ if (groups && groups.length > 0) {
38
+ result = result.replace(setThemeRegEx, `$1${themeName}$3`);
39
+ }
40
+ }
41
+ else if (loadThemeRegEx.test(content)) {
42
+ const groups = loadThemeRegEx.exec(content);
43
+ if (groups && groups.length > 0) {
44
+ result = result.replace(loadThemeRegEx, `themeService.setTheme('${themeName}');\n $1`);
45
+ }
46
+ }
47
+ if (content !== result) {
48
+ (0, logging_1.logInfo)(`Konstruktor angepasst -> themeService.setTheme('${themeName}');`);
49
+ tree.overwrite(filePath, result);
50
+ }
51
+ else {
52
+ (0, logging_1.logError)('Das Theme konnte nicht in der app.component.ts gesetzt werden. Bitte manuell setzen.');
53
+ }
54
+ }
55
+ else {
56
+ (0, logging_1.logError)(`Der Dateipfad "${filePath}" existiert nicht.`);
57
+ }
58
+ },
59
+ (0, util_1.messageSuccessRule)(`Das Theme wurde in der app.component.ts gesetzt.`)
60
+ ]);
61
+ }
62
+ exports.setAcThemeToAppComponent = setAcThemeToAppComponent;
63
+ function changeToAcComponents(options) {
64
+ return (0, schematics_1.chain)([
65
+ (0, util_1.messageInfoRule)(`Die Standardkomponenten werden durch die AC-Komponenten ersetzt...`),
66
+ (tree, _context) => {
67
+ (0, files_1.iterateFilesAndModifyContent)(tree, options.path, (filePath, content) => {
68
+ let result = content;
69
+ luxComponents.forEach((luxComponent) => {
70
+ result = html_manipulator_1.HtmlManipulator.transform(result, luxComponent.tag, (0, manipulator_functions_1.renameElementFn)(luxComponent.acTag));
71
+ });
72
+ result = html_manipulator_1.HtmlManipulator.transform(result, 'lux-side-nav-header', manipulator_functions_1.removeElementFn);
73
+ result = html_manipulator_1.HtmlManipulator.transform(result, 'lux-side-nav-footer', manipulator_functions_1.removeElementFn);
74
+ result = html_manipulator_1.HtmlManipulator.transform(result, 'lux-app-header-ac-nav-menu', (0, manipulator_functions_1.removeAttrFn)('luxSideNavExpandedChange'));
75
+ result = html_manipulator_1.HtmlManipulator.transform(result, 'lux-app-header-ac-nav-menu', (0, manipulator_functions_1.removeAttrFn)('luxOpenLinkBlank'));
76
+ if (content !== result) {
77
+ (0, logging_1.logInfo)(filePath + ' wurde angepasst.');
78
+ tree.overwrite(filePath, result);
79
+ }
80
+ }, '.component.html');
81
+ },
82
+ (0, util_1.messageSuccessRule)(`Die Standardkomponenten wurden durch die AC-Komponenten ersetzt.`)
83
+ ]);
84
+ }
85
+ exports.changeToAcComponents = changeToAcComponents;
86
+ class LuxComponent {
87
+ constructor(tag, acTag) {
88
+ this.tag = tag;
89
+ this.acTag = acTag;
90
+ }
91
+ }
92
+ const luxComponents = [
93
+ new LuxComponent('lux-master-detail', 'lux-master-detail-ac'),
94
+ new LuxComponent('lux-detail-view', 'lux-detail-view-ac'),
95
+ new LuxComponent('lux-detail-wrapper', 'lux-detail-wrapper-ac'),
96
+ new LuxComponent('lux-detail-header', 'lux-detail-header-ac'),
97
+ new LuxComponent('lux-master-header', 'lux-master-header-ac'),
98
+ new LuxComponent('lux-master-header-content', 'lux-master-header-content-ac'),
99
+ new LuxComponent('lux-master-footer', 'lux-master-footer-ac'),
100
+ new LuxComponent('lux-master-simple', 'lux-master-list-ac'),
101
+ new LuxComponent('lux-app-header', 'lux-app-header-ac'),
102
+ new LuxComponent('lux-app-header-action-nav-item', 'lux-app-header-ac-action-nav-item'),
103
+ new LuxComponent('lux-app-header-action-nav-item-custom', 'lux-app-header-ac-action-nav-item-custom'),
104
+ new LuxComponent('lux-app-header-action-nav', 'lux-app-header-ac-action-nav'),
105
+ new LuxComponent('lux-app-header-nav-menu-item', 'lux-app-header-ac-nav-menu-item'),
106
+ new LuxComponent('lux-app-header-right-nav', 'lux-app-header-ac-user-menu'),
107
+ new LuxComponent('lux-side-nav', 'lux-app-header-ac-nav-menu'),
108
+ new LuxComponent('lux-side-nav-item', 'lux-app-header-ac-nav-menu-item'),
109
+ new LuxComponent('lux-tile', 'lux-tile-ac'),
110
+ new LuxComponent('lux-autocomplete', 'lux-autocomplete-ac'),
111
+ new LuxComponent('lux-checkbox', 'lux-checkbox-ac'),
112
+ new LuxComponent('lux-chips', 'lux-chips-ac'),
113
+ new LuxComponent('lux-chip', 'lux-chip-ac'),
114
+ new LuxComponent('lux-chip-group', 'lux-chip-ac-group'),
115
+ new LuxComponent('lux-datepicker', 'lux-datepicker-ac'),
116
+ new LuxComponent('lux-datetimepicker', 'lux-datetimepicker-ac'),
117
+ new LuxComponent('lux-radio', 'lux-radio-ac'),
118
+ new LuxComponent('lux-select', 'lux-select-ac'),
119
+ new LuxComponent('lux-slider', 'lux-slider-ac'),
120
+ new LuxComponent('lux-toggle', 'lux-toggle-ac'),
121
+ new LuxComponent('lux-textarea', 'lux-textarea-ac'),
122
+ new LuxComponent('lux-file-input', 'lux-file-input-ac'),
123
+ new LuxComponent('lux-input', 'lux-input-ac'),
124
+ new LuxComponent('lux-input-prefix', 'lux-input-ac-prefix'),
125
+ new LuxComponent('lux-input-suffix', 'lux-input-ac-suffix'),
126
+ new LuxComponent('lux-lookup-combobox', 'lux-lookup-combobox-ac'),
127
+ new LuxComponent('lux-lookup-autocomplete', 'lux-lookup-autocomplete-ac')
128
+ ];
129
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ import { chain, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';
2
+ import { iterateFilesAndModifyContent } from '../../utility/files';
3
+ import { HtmlManipulator as Html } from '../../utility/html/html-manipulator';
4
+ import { removeAttrFn, removeElementFn, renameElementFn } from '../../utility/html/manipulator-functions';
5
+ import { logError, logInfo } from '../../utility/logging';
6
+ import { messageInfoRule, messageSuccessRule } from '../../utility/util';
7
+ import { changeToLuxIcons } from '../change-to-lux-icons/index';
8
+
9
+ export function changeToThemeAuthentic(options: any): Rule {
10
+ return (_tree: Tree, _context: SchematicContext) => {
11
+ return chain([
12
+ messageInfoRule(`Das Authentic-Theme wird eingerichtet...`),
13
+ setAcThemeToAppComponent(options),
14
+ changeToAcComponents(options),
15
+ changeToLuxIcons(options),
16
+ messageSuccessRule(`Das Authentic-Theme wurde eingerichtet.`)
17
+ ]);
18
+ };
19
+ }
20
+
21
+ export function setAcThemeToAppComponent(options: any): Rule {
22
+ return chain([
23
+ messageInfoRule(`Das Authentic-Theme wird in der app.component.ts gesetzt...`),
24
+ (tree: Tree, _context: SchematicContext) => {
25
+ const themeName = 'authentic';
26
+ const filePath = (options.path ?? '.') + '/src/app/app.component.ts';
27
+ if (tree.exists(filePath)) {
28
+ const content = tree.read(filePath)!.toString();
29
+ let result = content;
30
+
31
+ const setThemeRegEx = new RegExp("(\\w*\\.setTheme\\(['|\"'])(.*?)(['|\"']\\);)");
32
+ const loadThemeRegEx = new RegExp('(\\w*\\.loadTheme\\(.*?\\);)');
33
+
34
+ if (setThemeRegEx.test(content)) {
35
+ const groups = setThemeRegEx.exec(content);
36
+ if (groups && groups.length > 0) {
37
+ result = result.replace(setThemeRegEx, `$1${themeName}$3`);
38
+ }
39
+ } else if (loadThemeRegEx.test(content)) {
40
+ const groups = loadThemeRegEx.exec(content);
41
+ if (groups && groups.length > 0) {
42
+ result = result.replace(loadThemeRegEx, `themeService.setTheme('${themeName}');\n $1`);
43
+ }
44
+ }
45
+
46
+ if (content !== result) {
47
+ logInfo(`Konstruktor angepasst -> themeService.setTheme('${themeName}');`);
48
+ tree.overwrite(filePath, result);
49
+ } else {
50
+ logError('Das Theme konnte nicht in der app.component.ts gesetzt werden. Bitte manuell setzen.');
51
+ }
52
+ } else {
53
+ logError(`Der Dateipfad "${filePath}" existiert nicht.`);
54
+ }
55
+ },
56
+ messageSuccessRule(`Das Theme wurde in der app.component.ts gesetzt.`)
57
+ ]);
58
+ }
59
+
60
+ export function changeToAcComponents(options: any): Rule {
61
+ return chain([
62
+ messageInfoRule(`Die Standardkomponenten werden durch die AC-Komponenten ersetzt...`),
63
+ (tree: Tree, _context: SchematicContext) => {
64
+ iterateFilesAndModifyContent(
65
+ tree,
66
+ options.path,
67
+ (filePath: string, content: string) => {
68
+ let result = content;
69
+
70
+ luxComponents.forEach((luxComponent) => {
71
+ result = Html.transform(result, luxComponent.tag, renameElementFn(luxComponent.acTag));
72
+ });
73
+
74
+ result = Html.transform(result, 'lux-side-nav-header', removeElementFn);
75
+ result = Html.transform(result, 'lux-side-nav-footer', removeElementFn);
76
+ result = Html.transform(result, 'lux-app-header-ac-nav-menu', removeAttrFn('luxSideNavExpandedChange'));
77
+ result = Html.transform(result, 'lux-app-header-ac-nav-menu', removeAttrFn('luxOpenLinkBlank'));
78
+
79
+ if (content !== result) {
80
+ logInfo(filePath + ' wurde angepasst.');
81
+ tree.overwrite(filePath, result);
82
+ }
83
+ },
84
+ '.component.html'
85
+ );
86
+ },
87
+ messageSuccessRule(`Die Standardkomponenten wurden durch die AC-Komponenten ersetzt.`)
88
+ ]);
89
+ }
90
+
91
+ class LuxComponent {
92
+ constructor(public tag: string, public acTag: string) {}
93
+ }
94
+
95
+ const luxComponents: LuxComponent[] = [
96
+ new LuxComponent('lux-master-detail', 'lux-master-detail-ac'),
97
+ new LuxComponent('lux-detail-view', 'lux-detail-view-ac'),
98
+ new LuxComponent('lux-detail-wrapper', 'lux-detail-wrapper-ac'),
99
+ new LuxComponent('lux-detail-header', 'lux-detail-header-ac'),
100
+ new LuxComponent('lux-master-header', 'lux-master-header-ac'),
101
+ new LuxComponent('lux-master-header-content', 'lux-master-header-content-ac'),
102
+ new LuxComponent('lux-master-footer', 'lux-master-footer-ac'),
103
+ new LuxComponent('lux-master-simple', 'lux-master-list-ac'),
104
+ new LuxComponent('lux-app-header', 'lux-app-header-ac'),
105
+ new LuxComponent('lux-app-header-action-nav-item', 'lux-app-header-ac-action-nav-item'),
106
+ new LuxComponent('lux-app-header-action-nav-item-custom', 'lux-app-header-ac-action-nav-item-custom'),
107
+ new LuxComponent('lux-app-header-action-nav', 'lux-app-header-ac-action-nav'),
108
+ new LuxComponent('lux-app-header-nav-menu-item', 'lux-app-header-ac-nav-menu-item'),
109
+ new LuxComponent('lux-app-header-right-nav', 'lux-app-header-ac-user-menu'),
110
+ new LuxComponent('lux-side-nav', 'lux-app-header-ac-nav-menu'),
111
+ new LuxComponent('lux-side-nav-item', 'lux-app-header-ac-nav-menu-item'),
112
+ new LuxComponent('lux-tile', 'lux-tile-ac'),
113
+ new LuxComponent('lux-autocomplete', 'lux-autocomplete-ac'),
114
+ new LuxComponent('lux-checkbox', 'lux-checkbox-ac'),
115
+ new LuxComponent('lux-chips', 'lux-chips-ac'),
116
+ new LuxComponent('lux-chip', 'lux-chip-ac'),
117
+ new LuxComponent('lux-chip-group', 'lux-chip-ac-group'),
118
+ new LuxComponent('lux-datepicker', 'lux-datepicker-ac'),
119
+ new LuxComponent('lux-datetimepicker', 'lux-datetimepicker-ac'),
120
+ new LuxComponent('lux-radio', 'lux-radio-ac'),
121
+ new LuxComponent('lux-select', 'lux-select-ac'),
122
+ new LuxComponent('lux-slider', 'lux-slider-ac'),
123
+ new LuxComponent('lux-toggle', 'lux-toggle-ac'),
124
+ new LuxComponent('lux-textarea', 'lux-textarea-ac'),
125
+ new LuxComponent('lux-file-input', 'lux-file-input-ac'),
126
+ new LuxComponent('lux-input', 'lux-input-ac'),
127
+ new LuxComponent('lux-input-prefix', 'lux-input-ac-prefix'),
128
+ new LuxComponent('lux-input-suffix', 'lux-input-ac-suffix'),
129
+ new LuxComponent('lux-lookup-combobox', 'lux-lookup-combobox-ac'),
130
+ new LuxComponent('lux-lookup-autocomplete', 'lux-lookup-autocomplete-ac')
131
+ ];
@@ -0,0 +1,300 @@
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 test_1 = require("../../utility/test");
17
+ const util_1 = require("../../utility/util");
18
+ const index_1 = require("./index");
19
+ describe('update140000', () => {
20
+ let appTree;
21
+ let runner;
22
+ let context;
23
+ const testOptions = {
24
+ project: '',
25
+ path: '/',
26
+ verbose: false
27
+ };
28
+ beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
29
+ const collectionPath = path.join(__dirname, '../../collection.json');
30
+ runner = new testing_1.SchematicTestRunner('schematics', collectionPath);
31
+ const collection = '@schematics/angular';
32
+ appTree = yield runner.runExternalSchematicAsync(collection, 'workspace', test_1.workspaceOptions).toPromise();
33
+ appTree = yield runner.runExternalSchematicAsync(collection, 'application', test_1.appOptions, appTree).toPromise();
34
+ context = runner.engine.createContext(runner.engine.createSchematic('change-theme-to-authentic', runner.engine.createCollection(collectionPath)));
35
+ util_1.UtilConfig.defaultWaitMS = 0;
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] setAcThemeToAppComponent', () => {
41
+ it('Sollte das neue Theme im Konstruktor setzen (nur loadTheme())', (done) => {
42
+ const appComponentTsFilePath = testOptions.path + '/src/app/app.component.ts';
43
+ appTree.overwrite(appComponentTsFilePath, appComponentTsOnlyLoadThemeContent);
44
+ (0, schematics_1.callRule)((0, index_1.setAcThemeToAppComponent)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe({
45
+ next: (success) => {
46
+ var _a;
47
+ const content = (_a = success.read(appComponentTsFilePath)) === null || _a === void 0 ? void 0 : _a.toString();
48
+ expect(content).toContain("themeService.setTheme('authentic');");
49
+ expect(content).toContain('themeService.loadTheme();');
50
+ expect(content).toContain('router.initialNavigation();');
51
+ done();
52
+ },
53
+ error: (reason) => expect(reason).toBeUndefined()
54
+ });
55
+ });
56
+ it('Sollte das neue Theme im Konstruktor setzen (mit blue)', (done) => {
57
+ const appComponentTsFilePath = testOptions.path + '/src/app/app.component.ts';
58
+ appTree.overwrite(appComponentTsFilePath, appComponentTsBlueThemeContent);
59
+ (0, schematics_1.callRule)((0, index_1.setAcThemeToAppComponent)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe({
60
+ next: (success) => {
61
+ var _a;
62
+ const content = (_a = success.read(appComponentTsFilePath)) === null || _a === void 0 ? void 0 : _a.toString();
63
+ expect(content).toContain("themeService.setTheme('authentic');");
64
+ expect(content).toContain('themeService.loadTheme();');
65
+ expect(content).toContain('router.initialNavigation();');
66
+ done();
67
+ },
68
+ error: (reason) => expect(reason).toBeUndefined()
69
+ });
70
+ });
71
+ });
72
+ describe('[Rule] changeToAcComponents', () => {
73
+ it('Sollte auf das Authentic-Theme wechseln', (done) => {
74
+ const filePath = testOptions.path + '/changeThemeToAuthentic/Test.component.html';
75
+ appTree.create(filePath, appComponentHtmlContent);
76
+ (0, schematics_1.callRule)((0, index_1.changeToAcComponents)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe({
77
+ next: (success) => {
78
+ var _a;
79
+ const content = (_a = success.read(filePath)) === null || _a === void 0 ? void 0 : _a.toString();
80
+ expect(content).not.toContain('<lux-side-nav-header');
81
+ expect(content).not.toContain('<lux-side-nav-footer');
82
+ expect(content).not.toContain('<lux-app-header\n');
83
+ expect(content).not.toContain('</lux-app-header>');
84
+ expect(content).toContain('<lux-app-header-ac\n');
85
+ expect(content).toContain('</lux-app-header-ac>');
86
+ expect(content).not.toContain('<lux-app-header-action-nav-item');
87
+ expect(content).not.toContain('</lux-app-header-action-nav-item');
88
+ expect(content).toContain('<lux-app-header-ac-action-nav-item');
89
+ expect(content).toContain('</lux-app-header-ac-action-nav-item');
90
+ expect(content).not.toContain('<lux-app-header-action-nav-item-custom');
91
+ expect(content).not.toContain('</lux-app-header-action-nav-item-custom');
92
+ expect(content).toContain('<lux-app-header-ac-action-nav-item-custom');
93
+ expect(content).toContain('</lux-app-header-ac-action-nav-item-custom');
94
+ expect(content).not.toContain('<lux-app-header-action-nav');
95
+ expect(content).not.toContain('</lux-app-header-action-nav');
96
+ expect(content).toContain('<lux-app-header-ac-action-nav');
97
+ expect(content).toContain('</lux-app-header-ac-action-nav');
98
+ expect(content).not.toContain('<lux-app-header-nav-menu-item');
99
+ expect(content).not.toContain('</lux-app-header-nav-menu-item');
100
+ expect(content).toContain('<lux-app-header-ac-nav-menu-item');
101
+ expect(content).toContain('</lux-app-header-ac-nav-menu-item');
102
+ expect(content).not.toContain('<lux-side-nav ');
103
+ expect(content).not.toContain('</lux-side-nav>');
104
+ expect(content).toContain('<lux-app-header-ac-nav-menu');
105
+ expect(content).toContain('</lux-app-header-ac-nav-menu');
106
+ expect(content).not.toContain('<lux-side-nav-item');
107
+ expect(content).not.toContain('</lux-side-nav-item');
108
+ expect(content).toContain('<lux-app-header-ac-nav-menu-item');
109
+ expect(content).toContain('</lux-app-header-ac-nav-menu-item');
110
+ done();
111
+ },
112
+ error: (reason) => expect(reason).toBeUndefined()
113
+ });
114
+ });
115
+ it('Sollte auf den Authentic-Master-Detail wechseln', (done) => {
116
+ const filePath = testOptions.path + '/changeThemeToAuthentic/MasterDetail.component.html';
117
+ appTree.create(filePath, masterDetailContent);
118
+ (0, schematics_1.callRule)((0, index_1.changeToAcComponents)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe({
119
+ next: (success) => {
120
+ var _a;
121
+ const content = (_a = success.read(filePath)) === null || _a === void 0 ? void 0 : _a.toString();
122
+ expect(content).toEqual(masterDetailResult);
123
+ done();
124
+ },
125
+ error: (reason) => expect(reason).toBeUndefined()
126
+ });
127
+ });
128
+ });
129
+ });
130
+ const appComponentTsOnlyLoadThemeContent = `
131
+ import { Component } from '@angular/core';
132
+ import { Router } from '@angular/router';
133
+ import { LuxThemeService } from '@ihk-gfi/lux-components';
134
+
135
+ @Component({
136
+ selector: 'app-root',
137
+ templateUrl: './app.component.html',
138
+ styleUrls: ['./app.component.scss']
139
+ })
140
+ export class AppComponent {
141
+
142
+ constructor(public router: Router, themeService: LuxThemeService) {
143
+ themeService.loadTheme();
144
+ router.initialNavigation();
145
+ }
146
+
147
+ }
148
+ `;
149
+ const appComponentTsBlueThemeContent = `
150
+ import { Component } from '@angular/core';
151
+ import { Router } from '@angular/router';
152
+ import { LuxThemeService } from '@ihk-gfi/lux-components';
153
+
154
+ @Component({
155
+ selector: 'app-root',
156
+ templateUrl: './app.component.html',
157
+ styleUrls: ['./app.component.scss']
158
+ })
159
+ export class AppComponent {
160
+
161
+ constructor(public router: Router, themeService: LuxThemeService) {
162
+ themeService.setTheme('blue');
163
+ themeService.loadTheme();
164
+ router.initialNavigation();
165
+ }
166
+
167
+ }
168
+ `;
169
+ const appComponentHtmlContent = `
170
+ <div class="lux-app-container">
171
+ <lux-app-header
172
+ luxAppTitle="LUX Components"
173
+ luxAppTitleShort="Components"
174
+ luxUserName="Max Mustermann"
175
+ luxIconName="far fa-lightbulb"
176
+ luxImageSrc="assets/png/example.png"
177
+ luxAriaTitleIconLabel="Titelicon / Zur Hauptseie"
178
+ luxAriaTitleImageLabel="Titelbild / Zur Hauptseie"
179
+ luxAriaTitleLinkLabel="LUX Components / Zur Hauptseie"
180
+ [luxLocaleSupported]="['de', 'en']"
181
+ *ngIf="this.luxAppHeader !== 'none' && themeName !== 'authentic'"
182
+ (luxClicked)="router.navigate(['/'])"
183
+ >
184
+ <lux-side-nav
185
+ luxDashboardLink="https://github.com/IHK-GfI/lux-components/wiki"
186
+ [luxOpenLinkBlank]="true"
187
+ luxSideNavExpandedChange="onSideNavExpandedChange($event)"
188
+ [luxSideNavExpandedChange]="onSideNavExpandedChange($event)"
189
+ (luxSideNavExpandedChange)="onSideNavExpandedChange($event)"
190
+ [(luxSideNavExpandedChange)]="onSideNavExpandedChange($event)"
191
+ >
192
+ <lux-side-nav-header>
193
+ <h3 class="lux-side-nav-header-greeting">Navigation</h3>
194
+ </lux-side-nav-header>
195
+ <lux-side-nav-item
196
+ luxLabel="Home"
197
+ luxIconName="fas fa-home"
198
+ (luxClicked)="goToHome()"
199
+ luxTagId="home-side-nav-item"
200
+ [luxSelected]="url.endsWith('home')"
201
+ >
202
+ </lux-side-nav-item>
203
+ <lux-side-nav-footer>
204
+ <div fxLayout="row" fxLayoutAlign="center center" fxLayoutGap="8px">
205
+ <lux-button luxLabel="Aufklappen" [luxRaised]="true" (luxClicked)="navigationService.onExpandAll()"></lux-button>
206
+ </div>
207
+ </lux-side-nav-footer>
208
+ </lux-side-nav>
209
+ <lux-app-header-action-nav>
210
+ <lux-app-header-action-nav-item
211
+ fxShow="true" fxShow.xs="false"
212
+ luxIconName="fas fa-bell"
213
+ luxColor="accent"
214
+ luxAriaLabel="Nachrichten anzeigen"
215
+ luxTagId="action0"
216
+ (luxClicked)="actionClicked('#0 Action clicked!')"
217
+ >
218
+ </lux-app-header-action-nav-item>
219
+ <lux-app-header-action-nav-item>
220
+ <lux-app-header-action-nav-item-custom>
221
+ <lux-menu luxMenuLabel="IHK" luxMenuIconName="fas fa-caret-down" [luxMenuTriggerIconShowRight]="true" [luxDisplayExtended]="false">
222
+ <lux-menu-item luxLabel="IHK 101" luxIconName="far fa-building" (luxClicked)="actionClicked('IHK 101-Action clicked!')"></lux-menu-item>
223
+ </lux-menu>
224
+ </lux-app-header-action-nav-item-custom>
225
+ </lux-app-header-action-nav-item>
226
+ </lux-app-header-action-nav>
227
+ <lux-app-header-right-nav>
228
+ <lux-menu-item luxLabel="Abmelden" luxIconName="fa-power-off" luxTagId="abmelden-menu-item"></lux-menu-item>
229
+ </lux-app-header-right-nav>
230
+ </lux-app-header>
231
+ `;
232
+ const masterDetailContent = `
233
+ <lux-master-detail fxFill [luxMasterSpinnerDelay]="500" luxEmptyIconDetail="fas fa-pen" luxEmptyIconMaster="fas fa-pen"
234
+ luxEmptyLabelDetail="Kein Detail selektiert!" [luxMasterIsLoading]="masterIsLoading"
235
+ luxEmptyLabelMaster="Keine Masterelemente gefunden!" [luxSelectedDetail]="masterSelected"
236
+ [luxMasterList]="masterItems" (luxSelectedDetailChange)="loadData($event)"
237
+ (luxScrolled)="loadFurtherEntries()">
238
+ <lux-master-header-content>
239
+ <h2>Master Header</h2>
240
+ </lux-master-header-content>
241
+
242
+ <lux-master-simple luxTitleProp="title" luxSubTitleProp="subtitle">
243
+ <ng-template #luxSimpleIcon let-master>
244
+ <lux-icon [luxIconName]="master.icon"></lux-icon>
245
+ </ng-template>
246
+ <ng-template #luxSimpleContent let-master>
247
+ {{master.content}}
248
+ </ng-template>
249
+ </lux-master-simple>
250
+
251
+ <lux-detail-view>
252
+ <ng-template let-detail>
253
+ <lux-card [luxTitle]="detail.title" fxFill>
254
+ <lux-card-content>
255
+ {{ detail.content }}
256
+ </lux-card-content>
257
+ </lux-card>
258
+ </ng-template>
259
+ </lux-detail-view>
260
+
261
+ <lux-master-footer>
262
+ <h2>Master-Footer</h2>
263
+ </lux-master-footer>
264
+ </lux-master-detail>
265
+ `;
266
+ const masterDetailResult = `
267
+ <lux-master-detail-ac fxFill [luxMasterSpinnerDelay]="500" luxEmptyIconDetail="fas fa-pen" luxEmptyIconMaster="fas fa-pen"
268
+ luxEmptyLabelDetail="Kein Detail selektiert!" [luxMasterIsLoading]="masterIsLoading"
269
+ luxEmptyLabelMaster="Keine Masterelemente gefunden!" [luxSelectedDetail]="masterSelected"
270
+ [luxMasterList]="masterItems" (luxSelectedDetailChange)="loadData($event)"
271
+ (luxScrolled)="loadFurtherEntries()">
272
+ <lux-master-header-content-ac>
273
+ <h2>Master Header</h2>
274
+ </lux-master-header-content-ac>
275
+
276
+ <lux-master-list-ac luxTitleProp="title" luxSubTitleProp="subtitle">
277
+ <ng-template #luxSimpleIcon let-master>
278
+ <lux-icon [luxIconName]="master.icon"></lux-icon>
279
+ </ng-template>
280
+ <ng-template #luxSimpleContent let-master>
281
+ {{master.content}}
282
+ </ng-template>
283
+ </lux-master-list-ac>
284
+
285
+ <lux-detail-view-ac>
286
+ <ng-template let-detail>
287
+ <lux-card [luxTitle]="detail.title" fxFill>
288
+ <lux-card-content>
289
+ {{ detail.content }}
290
+ </lux-card-content>
291
+ </lux-card>
292
+ </ng-template>
293
+ </lux-detail-view-ac>
294
+
295
+ <lux-master-footer-ac>
296
+ <h2>Master-Footer</h2>
297
+ </lux-master-footer-ac>
298
+ </lux-master-detail-ac>
299
+ `;
300
+ //# sourceMappingURL=index_spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index_spec.js","sourceRoot":"","sources":["index_spec.ts"],"names":[],"mappings":"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"}