coer-elements 0.0.63 → 0.0.65

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. package/components/lib/coer-accordion/coer-accordion.component.d.ts +1 -1
  2. package/components/lib/coer-button/coer-button.component.d.ts +1 -1
  3. package/components/lib/coer-datebox/coer-datebox.component.d.ts +49 -0
  4. package/components/lib/coer-filebox/coer-filebox.component.d.ts +1 -1
  5. package/components/lib/coer-grid/coer-grid.extension.d.ts +2 -2
  6. package/components/lib/coer-modal/coer-modal.component.d.ts +1 -1
  7. package/components/lib/coer-numberbox/coer-numberbox.component.d.ts +1 -1
  8. package/components/lib/coer-switch/coer-switch.component.d.ts +1 -1
  9. package/components/lib/coer-tab/coer-tab.component.d.ts +2 -2
  10. package/components/lib/coer-textarea/coer-textarea.component.d.ts +1 -1
  11. package/components/lib/coer-textbox/coer-textbox.component.d.ts +1 -1
  12. package/components/lib/components.module.d.ts +37 -33
  13. package/components/public-api.d.ts +1 -0
  14. package/fesm2022/coer-elements-components.mjs +264 -109
  15. package/fesm2022/coer-elements-components.mjs.map +1 -1
  16. package/fesm2022/coer-elements-directives.mjs +14 -12
  17. package/fesm2022/coer-elements-directives.mjs.map +1 -1
  18. package/fesm2022/coer-elements-pipes.mjs +16 -16
  19. package/fesm2022/coer-elements-pipes.mjs.map +1 -1
  20. package/fesm2022/coer-elements-tools.mjs +20 -14
  21. package/fesm2022/coer-elements-tools.mjs.map +1 -1
  22. package/fesm2022/coer-elements.mjs +4 -4
  23. package/fesm2022/coer-elements.mjs.map +1 -1
  24. package/package.json +1 -15
  25. package/styles/angular-material.scss +18 -13
  26. package/styles/bootstrap.scss +1 -6
  27. package/styles/coer-elements.css +993 -2866
  28. package/styles/colors.scss +50 -60
  29. package/styles/index.scss +9 -9
  30. package/styles/layout.scss +10 -0
  31. package/styles/scroll-bar.scss +5 -5
  32. package/tools/lib/date-time.class.d.ts +3 -1
  33. package/tools/lib/page.class.d.ts +1 -1
  34. package/tools/lib/section.class.d.ts +1 -1
  35. package/tools/lib/tools.d.ts +9 -9
  36. package/esm2022/coer-elements.mjs +0 -5
  37. package/esm2022/components/coer-elements-components.mjs +0 -5
  38. package/esm2022/components/lib/coer-accordion/coer-accordion.component.mjs +0 -53
  39. package/esm2022/components/lib/coer-button/coer-button.component.mjs +0 -138
  40. package/esm2022/components/lib/coer-checkbox/coer-checkbox.component.mjs +0 -83
  41. package/esm2022/components/lib/coer-filebox/coer-filebox.component.mjs +0 -102
  42. package/esm2022/components/lib/coer-form/coer-form.component.mjs +0 -107
  43. package/esm2022/components/lib/coer-grid/coer-grid.component.mjs +0 -512
  44. package/esm2022/components/lib/coer-grid/coer-grid.extension.mjs +0 -409
  45. package/esm2022/components/lib/coer-list/coer-list.component.mjs +0 -130
  46. package/esm2022/components/lib/coer-modal/coer-modal.component.mjs +0 -107
  47. package/esm2022/components/lib/coer-numberbox/coer-numberbox.component.mjs +0 -258
  48. package/esm2022/components/lib/coer-page-title/coer-page-title.component.mjs +0 -44
  49. package/esm2022/components/lib/coer-selectbox/coer-selectbox.component.mjs +0 -342
  50. package/esm2022/components/lib/coer-sidenav/coer-menu-option/coer-menu-option.component.mjs +0 -103
  51. package/esm2022/components/lib/coer-sidenav/coer-sidenav.component.mjs +0 -194
  52. package/esm2022/components/lib/coer-sidenav/coer-toolbar/coer-toolbar.component.mjs +0 -33
  53. package/esm2022/components/lib/coer-sidenav/coer-tree-accordion/coer-tree-accordion.component.mjs +0 -116
  54. package/esm2022/components/lib/coer-switch/coer-switch.component.mjs +0 -93
  55. package/esm2022/components/lib/coer-tab/coer-tab.component.mjs +0 -128
  56. package/esm2022/components/lib/coer-textarea/coer-textarea.component.mjs +0 -156
  57. package/esm2022/components/lib/coer-textbox/coer-textbox.component.mjs +0 -221
  58. package/esm2022/components/lib/components.module.mjs +0 -188
  59. package/esm2022/components/public-api.mjs +0 -20
  60. package/esm2022/directives/coer-elements-directives.mjs +0 -5
  61. package/esm2022/directives/lib/coer-ref.directive.mjs +0 -23
  62. package/esm2022/directives/lib/directives.module.mjs +0 -25
  63. package/esm2022/directives/lib/life-cycle.directive.mjs +0 -33
  64. package/esm2022/directives/public-api.mjs +0 -4
  65. package/esm2022/index.mjs +0 -54
  66. package/esm2022/interfaces/coer-elements-interfaces.mjs +0 -5
  67. package/esm2022/interfaces/lib/app-source.interface.mjs +0 -2
  68. package/esm2022/interfaces/lib/box-button.interface.mjs +0 -2
  69. package/esm2022/interfaces/lib/bulk-load.interface.mjs +0 -2
  70. package/esm2022/interfaces/lib/coer-filebox/file-image.interface.mjs +0 -2
  71. package/esm2022/interfaces/lib/coer-filebox/file.interface.mjs +0 -2
  72. package/esm2022/interfaces/lib/coer-grid/grid-button-by-row.interface.mjs +0 -2
  73. package/esm2022/interfaces/lib/coer-grid/grid-checkbox.interface.mjs +0 -2
  74. package/esm2022/interfaces/lib/coer-grid/grid-coer-numberbox.interface.mjs +0 -2
  75. package/esm2022/interfaces/lib/coer-grid/grid-coer-selectbox.interface.mjs +0 -2
  76. package/esm2022/interfaces/lib/coer-grid/grid-coer-switch.interface.mjs +0 -2
  77. package/esm2022/interfaces/lib/coer-grid/grid-coer-textbox.interface.mjs +0 -2
  78. package/esm2022/interfaces/lib/coer-grid/grid-column.interface.mjs +0 -2
  79. package/esm2022/interfaces/lib/coer-grid/grid-data-source.interface.mjs +0 -2
  80. package/esm2022/interfaces/lib/coer-grid/grid-header-button.interface.mjs +0 -2
  81. package/esm2022/interfaces/lib/coer-grid/grid-header-export-button.interface.mjs +0 -2
  82. package/esm2022/interfaces/lib/coer-grid/grid-header.interface.mjs +0 -2
  83. package/esm2022/interfaces/lib/coer-grid/grid-import.interface.mjs +0 -2
  84. package/esm2022/interfaces/lib/coer-grid/grid-input-checkbox.interface.mjs +0 -2
  85. package/esm2022/interfaces/lib/coer-grid/grid-input-switch-change.interface.mjs +0 -2
  86. package/esm2022/interfaces/lib/coer-grid/grid-input-textbox.interface.mjs +0 -2
  87. package/esm2022/interfaces/lib/coer-grid/grid-item.interface.mjs +0 -2
  88. package/esm2022/interfaces/lib/coer-grid/grid-keyup-enter.interface.mjs +0 -2
  89. package/esm2022/interfaces/lib/coer-grid/grid-length.interface.mjs +0 -2
  90. package/esm2022/interfaces/lib/coer-grid/grid-search.interface.mjs +0 -2
  91. package/esm2022/interfaces/lib/coer-grid/grid-sort.interface.mjs +0 -2
  92. package/esm2022/interfaces/lib/coer-menu/menu-option-selected.interface.mjs +0 -2
  93. package/esm2022/interfaces/lib/coer-menu/menu-selected.interface.mjs +0 -2
  94. package/esm2022/interfaces/lib/coer-menu/menu.interface.mjs +0 -2
  95. package/esm2022/interfaces/lib/coer-ref.interface.mjs +0 -2
  96. package/esm2022/interfaces/lib/image.interface.mjs +0 -2
  97. package/esm2022/interfaces/lib/page-title/breadcrumb.interface.mjs +0 -2
  98. package/esm2022/interfaces/lib/page-title/go-back.interface.mjs +0 -2
  99. package/esm2022/interfaces/lib/screen-size.interface.mjs +0 -2
  100. package/esm2022/interfaces/lib/service/http-request.interface.mjs +0 -2
  101. package/esm2022/interfaces/lib/service/http-response.interface.mjs +0 -2
  102. package/esm2022/interfaces/lib/service/patch.interface.mjs +0 -2
  103. package/esm2022/interfaces/public-api.mjs +0 -42
  104. package/esm2022/pipes/coer-elements-pipes.mjs +0 -5
  105. package/esm2022/pipes/lib/html.pipe.mjs +0 -18
  106. package/esm2022/pipes/lib/no-image.pipe.mjs +0 -23
  107. package/esm2022/pipes/lib/numeric-format.pipe.mjs +0 -15
  108. package/esm2022/pipes/lib/pipes.module.mjs +0 -31
  109. package/esm2022/pipes/public-api.mjs +0 -5
  110. package/esm2022/signals/coer-elements-signals.mjs +0 -5
  111. package/esm2022/signals/lib/breakpoint.signal.mjs +0 -4
  112. package/esm2022/signals/lib/is-loading.signal.mjs +0 -3
  113. package/esm2022/signals/lib/is-menu-open.signal.mjs +0 -3
  114. package/esm2022/signals/lib/is-modal-open.signal.mjs +0 -3
  115. package/esm2022/signals/lib/navigation.signal.mjs +0 -3
  116. package/esm2022/signals/public-api.mjs +0 -6
  117. package/esm2022/tools/coer-elements-tools.mjs +0 -5
  118. package/esm2022/tools/lib/breadcrumbs.class.mjs +0 -63
  119. package/esm2022/tools/lib/coer-alert/coer-alert.component.mjs +0 -229
  120. package/esm2022/tools/lib/coer-grid.templates.mjs +0 -34
  121. package/esm2022/tools/lib/colors.class.mjs +0 -68
  122. package/esm2022/tools/lib/control-value.class.mjs +0 -46
  123. package/esm2022/tools/lib/date-time.class.mjs +0 -29
  124. package/esm2022/tools/lib/files.class.mjs +0 -91
  125. package/esm2022/tools/lib/filters.class.mjs +0 -57
  126. package/esm2022/tools/lib/menu.class.mjs +0 -23
  127. package/esm2022/tools/lib/page.class.mjs +0 -187
  128. package/esm2022/tools/lib/screen.class.mjs +0 -51
  129. package/esm2022/tools/lib/section.class.mjs +0 -60
  130. package/esm2022/tools/lib/service.class.mjs +0 -408
  131. package/esm2022/tools/lib/source.class.mjs +0 -80
  132. package/esm2022/tools/lib/tools.mjs +0 -232
  133. package/esm2022/tools/public-api.mjs +0 -16
@@ -1,91 +0,0 @@
1
- import { Tools } from "./tools";
2
- import * as XLSX from 'xlsx';
3
- export class Files {
4
- static { this.EXCEL_EXTENSIONS = ['xls', 'xlsx', 'csv']; }
5
- /** Get Extension File */
6
- static GetExtension(file) {
7
- const fileName = file.name;
8
- if (fileName.includes('.')) {
9
- let worlds = fileName.split('.');
10
- if (worlds.length > 0) {
11
- let extension = worlds.pop();
12
- extension = extension.trim().toLowerCase();
13
- if (extension.length > 0)
14
- return extension;
15
- }
16
- }
17
- return null;
18
- }
19
- /** Is Excel File */
20
- static IsExcel(file) {
21
- const EXTENSION = Files.GetExtension(file);
22
- return Tools.IsNotNull(EXTENSION)
23
- ? this.EXCEL_EXTENSIONS.includes(EXTENSION)
24
- : false;
25
- }
26
- /** Read excel file */
27
- static ReadExcel(file) {
28
- return new Promise(Resolve => {
29
- let columns = [];
30
- let rows = [];
31
- const reader = new FileReader();
32
- reader.readAsArrayBuffer(file);
33
- reader.onload = () => {
34
- const dataBytes = new Uint8Array(reader.result);
35
- if (dataBytes) {
36
- const workbook = XLSX.read(dataBytes, {});
37
- const sheet = workbook.Sheets[workbook.SheetNames[0]];
38
- let dataSheet = XLSX.utils.sheet_to_json(sheet, {
39
- header: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
40
- });
41
- //Get Headers
42
- for (const column in dataSheet[0]) {
43
- columns.push(Tools.FirstCharToLower(String(dataSheet[0][column]).replaceAll(' ', '')));
44
- }
45
- //Get Rows
46
- rows = XLSX.utils.sheet_to_json(sheet, { header: columns });
47
- rows.shift();
48
- rows = rows.map(row => {
49
- const item = Tools.BreakReference(row);
50
- delete item['__rowNum__'];
51
- return item;
52
- });
53
- }
54
- Resolve({ columns, rows });
55
- };
56
- reader.onerror = () => { Resolve({ columns, rows }); };
57
- });
58
- }
59
- /** Export to excel file */
60
- static ExportExcel(data, fileName = 'coer_report', sheetName = 'Sheet1') {
61
- sheetName = Tools.CleanUpBlanks(sheetName);
62
- fileName = Tools.CleanUpBlanks(fileName);
63
- if (fileName.endsWith('.xls') || fileName.endsWith('.xlsx') || fileName.endsWith('.csv')) {
64
- if (fileName.endsWith('.xls')) {
65
- fileName = fileName.replaceAll('.xls', '.xlsx');
66
- }
67
- if (fileName.endsWith('.csv')) {
68
- fileName = fileName.replaceAll('.csv', '.xlsx');
69
- }
70
- }
71
- else {
72
- fileName += '.xlsx';
73
- }
74
- const WORK_SHEET = XLSX.utils.json_to_sheet(data);
75
- const WORK_BOOK = XLSX.utils.book_new();
76
- XLSX.utils.book_append_sheet(WORK_BOOK, WORK_SHEET, sheetName);
77
- XLSX.writeFile(WORK_BOOK, fileName);
78
- }
79
- /** Convert file to string base64 */
80
- static ConvertToBase64(file) {
81
- return new Promise(Resolve => {
82
- const reader = new FileReader();
83
- reader.readAsDataURL(file);
84
- reader.onload = () => {
85
- Resolve(reader.result?.toString() || '');
86
- };
87
- reader.onerror = () => Resolve('');
88
- });
89
- }
90
- }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3Rvb2xzL2xpYi9maWxlcy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRTdCLE1BQU0sT0FBTyxLQUFLO2FBQ1MscUJBQWdCLEdBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRTNFLHlCQUF5QjtJQUNsQixNQUFNLENBQUMsWUFBWSxDQUFDLElBQVU7UUFDakMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUUzQixJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN6QixJQUFJLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBYSxDQUFDO1lBRTdDLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRyxDQUFDO2dCQUM5QixTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUMzQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztvQkFBRSxPQUFPLFNBQVMsQ0FBQztZQUMvQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFHRCxvQkFBb0I7SUFDYixNQUFNLENBQUMsT0FBTyxDQUFDLElBQVU7UUFDNUIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzQyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1lB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QUNoQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTNCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO2dCQUNqQixPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM3QyxDQUFDLENBQUE7WUFFRCxNQUFNLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb29scyB9IGZyb20gXCIuL3Rvb2xzXCI7XHJcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XHJcblxyXG5leHBvcnQgY2xhc3MgRmlsZXMge1xyXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBFWENFTF9FWFRFTlNJT05TOiBzdHJpbmdbXSA9IFsneGxzJywgJ3hsc3gnLCAnY3N2J107XHJcblxyXG4gICAgLyoqIEdldCBFeHRlbnNpb24gRmlsZSAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBHZXRFeHRlbnNpb24oZmlsZTogRmlsZSk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gZmlsZS5uYW1lO1xyXG5cclxuICAgICAgICBpZiAoZmlsZU5hbWUuaW5jbHVkZXMoJy4nKSkge1xyXG4gICAgICAgICAgICBsZXQgd29ybGRzID0gZmlsZU5hbWUuc3BsaXQoJy4nKSBhcyBzdHJpbmdbXTtcclxuXHJcbiAgICAgICAgICAgIGlmICh3b3JsZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGV4dGVuc2lvbiA9IHdvcmxkcy5wb3AoKSE7XHJcbiAgICAgICAgICAgICAgICBleHRlbnNpb24gPSBleHRlbnNpb24udHJpbSgpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXh0ZW5zaW9uLmxlbmd0aCA+IDApIHJldHVybiBleHRlbnNpb247XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogSXMgRXhjZWwgRmlsZSAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBJc0V4Y2VsKGZpbGU6IEZpbGUpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBFWFRFTlNJT04gPSBGaWxlcy5HZXRFeHRlbnNpb24oZmlsZSk7XHJcblxyXG4gICAgICAgIHJldHVybiBUb29scy5Jc05vdE51bGwoRVhURU5TSU9OKVxyXG4gICAgICAgICAgICA/IHRoaXMuRVhDRUxfRVhURU5TSU9OUy5pbmNsdWRlcyhFWFRFTlNJT04hKVxyXG4gICAgICAgICAgICA6IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogUmVhZCBleGNlbCBmaWxlICovXHJcbiAgICBwdWJsaWMgc3RhdGljIFJlYWRFeGNlbDxUPihmaWxlOiBGaWxlKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHsgY29sdW1uczogc3RyaW5nW107IHJvd3M6IFRbXTsgfT4oUmVzb2x2ZSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBjb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgICAgICBsZXQgcm93czogVFtdID0gW107XHJcblxyXG4gICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgICAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoZmlsZSk7XHJcblxyXG4gICAgICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YUJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkocmVhZGVyLnJlc3VsdCBhcyBhbnkpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChkYXRhQnl0ZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB3b3JrYm9vayA9IFhMU1gucmVhZChkYXRhQnl0ZXMsIHt9KTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBzaGVldCA9IHdvcmtib29rLlNoZWV0c1t3b3JrYm9vay5TaGVldE5hbWVzWzBdXTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZGF0YVNoZWV0OiBhbnlbXSA9IFhMU1gudXRpbHMuc2hlZXRfdG9fanNvbihzaGVldCwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXI6IFsnQScsICdCJywgJ0MnLCAnRCcsICdFJywgJ0YnLCAnRycsICdIJywgJ0knLCAnSicsICdLJywgJ0wnLCAnTScsICdOJywgJ08nLCAnUCcsICdRJywgJ1InLCAnUycsICdUJywgJ1UnLCAnVicsICdXJywgJ1gnLCAnWScsICdaJ11cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy9HZXQgSGVhZGVyc1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcihjb25zdCBjb2x1bW4gaW4gZGF0YVNoZWV0WzBdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChUb29scy5GaXJzdENoYXJUb0xvd2VyKFN0cmluZyhkYXRhU2hlZXRbMF1bY29sdW1uXSkucmVwbGFjZUFsbCgnICcsICcnKSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy9HZXQgUm93c1xyXG4gICAgICAgICAgICAgICAgICAgIHJvd3MgPSBYTFNYLnV0aWxzLnNoZWV0X3RvX2pzb24oc2hlZXQsIHsgaGVhZGVyOiBjb2x1bW5zIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHJvd3Muc2hpZnQoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcm93cyA9IHJvd3MubWFwKHJvdyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBUb29scy5CcmVha1JlZmVyZW5jZTxhbnk+KHJvdyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpdGVtWydfX3Jvd051bV9fJ107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIFJlc29sdmUoeyBjb2x1bW5zLCByb3dzIH0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZWFkZXIub25lcnJvciA9ICgpID0+IHsgUmVzb2x2ZSh7IGNvbHVtbnMsIHJvd3MgfSkgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogRXhwb3J0IHRvIGV4Y2VsIGZpbGUgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgRXhwb3J0RXhjZWw8VD4oZGF0YTogVFtdLCBmaWxlTmFtZTogc3RyaW5nID0gJ2NvZXJfcmVwb3J0Jywgc2hlZXROYW1lOiBzdHJpbmcgPSAnU2hlZXQxJykge1xyXG4gICAgICAgIHNoZWV0TmFtZSA9IFRvb2xzLkNsZWFuVXBCbGFua3Moc2hlZXROYW1lKTtcclxuICAgICAgICBmaWxlTmFtZSA9IFRvb2xzLkNsZWFuVXBCbGFua3MoZmlsZU5hbWUpO1xyXG5cclxuICAgICAgICBpZihmaWxlTmFtZS5lbmRzV2l0aCgnLnhscycpIHx8IGZpbGVOYW1lLmVuZHNXaXRoKCcueGxzeCcpIHx8IGZpbGVOYW1lLmVuZHNXaXRoKCcuY3N2JykpIHtcclxuICAgICAgICAgICAgaWYgKGZpbGVOYW1lLmVuZHNXaXRoKCcueGxzJykpIHtcclxuICAgICAgICAgICAgICAgIGZpbGVOYW1lID0gZmlsZU5hbWUucmVwbGFjZUFsbCgnLnhscycsICcueGxzeCcpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoZmlsZU5hbWUuZW5kc1dpdGgoJy5jc3YnKSkge1xyXG4gICAgICAgICAgICAgICAgZmlsZU5hbWUgPSBmaWxlTmFtZS5yZXBsYWNlQWxsKCcuY3N2JywgJy54bHN4Jyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBmaWxlTmFtZSArPSAnLnhsc3gnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgV09SS19TSEVFVCA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldChkYXRhKTtcclxuICAgICAgICBjb25zdCBXT1JLX0JPT0sgPSBYTFNYLnV0aWxzLmJvb2tfbmV3KCk7XHJcbiAgICAgICAgWExTWC51dGlscy5ib29rX2FwcGVuZF9zaGVldChXT1JLX0JPT0ssIFdPUktfU0hFRVQsIHNoZWV0TmFtZSk7XHJcbiAgICAgICAgWExTWC53cml0ZUZpbGUoV09SS19CT09LLCBmaWxlTmFtZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiBDb252ZXJ0IGZpbGUgdG8gc3RyaW5nIGJhc2U2NCAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBDb252ZXJ0VG9CYXNlNjQoZmlsZTogRmlsZSkge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KFJlc29sdmUgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuXHJcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBSZXNvbHZlKHJlYWRlci5yZXN1bHQ/LnRvU3RyaW5nKCkgfHwgJycpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZWFkZXIub25lcnJvciA9ICgpID0+IFJlc29sdmUoJycpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59Il19
@@ -1,57 +0,0 @@
1
- import { Tools } from './tools';
2
- export class Filters {
3
- static { this.storage = 'COER-System'; }
4
- /** */
5
- static Add(filters, path) {
6
- let storage = sessionStorage.getItem(this.storage);
7
- storage = JSON.parse(storage);
8
- let dictionary = [[path, filters]];
9
- if (Tools.IsNotNull(storage?.filters)) {
10
- if (!storage.filters.some((x) => x.some(y => y === path))) {
11
- storage.filters.concat(dictionary);
12
- }
13
- }
14
- storage = Object.assign({}, storage, {
15
- filters: dictionary
16
- });
17
- sessionStorage.setItem(this.storage, JSON.stringify(storage));
18
- }
19
- /** */
20
- static Get(path) {
21
- let storage = sessionStorage.getItem(this.storage);
22
- storage = JSON.parse(storage);
23
- if (Tools.IsNotNull(storage?.filters)) {
24
- for (const filterList of storage.filters) {
25
- if (filterList.some((x) => x === path)) {
26
- return filterList[1];
27
- }
28
- }
29
- }
30
- return null;
31
- }
32
- /** */
33
- static Remove(path) {
34
- let storage = sessionStorage.getItem(this.storage);
35
- storage = JSON.parse(storage);
36
- if (Tools.IsNotNull(storage?.filters)) {
37
- let index = 0;
38
- for (index; index < storage.filters.length; index++) {
39
- if (storage.filters[index].some((x) => x === path)) {
40
- break;
41
- }
42
- }
43
- storage.filters.splice(index, 1);
44
- }
45
- sessionStorage.setItem(this.storage, JSON.stringify(storage));
46
- }
47
- /** */
48
- static RemoveAll() {
49
- let storage = sessionStorage.getItem(this.storage);
50
- storage = JSON.parse(storage);
51
- if (Tools.IsNotNull(storage?.filters)) {
52
- delete storage.filters;
53
- }
54
- sessionStorage.setItem(this.storage, JSON.stringify(storage));
55
- }
56
- }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvdG9vbHMvbGliL2ZpbHRlcnMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVoQyxNQUFNLE9BQU8sT0FBTzthQUVRLFlBQU8sR0FBRyxhQUFhLENBQUM7SUFFaEQsTUFBTTtJQUNDLE1BQU0sQ0FBQyxHQUFHLENBQUksT0FBVSxFQUFFLElBQVk7UUFDekMsSUFBSSxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFRLENBQUM7UUFDMUQsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUIsSUFBSSxVQUFVLEdBQVUsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBRTFDLElBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMvRCxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2QyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUU7WUFDakMsT0FBTyxFQUFFLFVBQVU7U0FDdEIsQ0FBQyxDQUFDO1FBRUgsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBR0QsTUFBTTtJQUNDLE1BQU0sQ0FBQyxHQUFHLENBQUksSUFBWTtRQUM3QixJQUFJLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQVEsQ0FBQztRQUMxRCxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5QixJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFFcEMsS0FBSSxNQUFNLFVBQVUsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3RDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQzFDLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6QixDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBR0QsTUFBTTtJQUNDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBWTtRQUM3QixJQUFJLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQVEsQ0FBQztRQUMxRCxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5QixJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFFcEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsS0FBSSxLQUFLLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ2pELElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUN0RCxNQUFNO2dCQUNWLENBQUM7WUFDTCxDQUFDO1lBRUQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFFRCxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFHRCxNQUFNO0lBQ0MsTUFBTSxDQUFDLFNBQVM7UUFDbkIsSUFBSSxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFRLENBQUM7UUFDMUQsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUIsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUMzQixDQUFDO1FBRUQsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUFwcFNvdXJjZSB9IGZyb20gXCJjb2VyLWVsZW1lbnRzL2ludGVyZmFjZXNcIjtcclxuaW1wb3J0IHsgVG9vbHMgfSBmcm9tICcuL3Rvb2xzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJzIHtcclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBzdG9yYWdlID0gJ0NPRVItU3lzdGVtJztcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgQWRkPFQ+KGZpbHRlcnM6IFQsIHBhdGg6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGxldCBzdG9yYWdlID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2UpIGFzIGFueTtcclxuICAgICAgICBzdG9yYWdlID0gSlNPTi5wYXJzZShzdG9yYWdlKTtcclxuICAgICAgICBcclxuICAgICAgICBsZXQgZGljdGlvbmFyeTogYW55W10gPSBbW3BhdGgsIGZpbHRlcnNdXTtcclxuXHJcbiAgICAgICAgaWYoVG9vbHMuSXNOb3ROdWxsKHN0b3JhZ2U/LmZpbHRlcnMpKSB7ICBcclxuICAgICAgICAgICAgaWYgKCFzdG9yYWdlLmZpbHRlcnMuc29tZSgoeDogYW55W10pID0+IHguc29tZSh5ID0+IHkgPT09IHBhdGgpKSkge1xyXG4gICAgICAgICAgICAgICAgc3RvcmFnZS5maWx0ZXJzLmNvbmNhdChkaWN0aW9uYXJ5KTtcclxuICAgICAgICAgICAgfSAgICAgXHJcbiAgICAgICAgfSBcclxuXHJcbiAgICAgICAgc3RvcmFnZSA9IE9iamVjdC5hc3NpZ24oe30sIHN0b3JhZ2UsIHsgXHJcbiAgICAgICAgICAgIGZpbHRlcnM6IGRpY3Rpb25hcnlcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0b3JhZ2UsIEpTT04uc3RyaW5naWZ5KHN0b3JhZ2UpKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldDxUPihwYXRoOiBzdHJpbmcpOiBUIHwgbnVsbCAge1xyXG4gICAgICAgIGxldCBzdG9yYWdlID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2UpIGFzIGFueTtcclxuICAgICAgICBzdG9yYWdlID0gSlNPTi5wYXJzZShzdG9yYWdlKTtcclxuXHJcbiAgICAgICAgaWYgKFRvb2xzLklzTm90TnVsbChzdG9yYWdlPy5maWx0ZXJzKSkge1xyXG5cclxuICAgICAgICAgICAgZm9yKGNvbnN0IGZpbHRlckxpc3Qgb2Ygc3RvcmFnZS5maWx0ZXJzKSB7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlckxpc3Quc29tZSgoeDogYW55KSA9PiB4ID09PSBwYXRoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJMaXN0WzFdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG51bGw7IFxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgUmVtb3ZlKHBhdGg6IHN0cmluZyk6IHZvaWQgIHtcclxuICAgICAgICBsZXQgc3RvcmFnZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlKSBhcyBhbnk7XHJcbiAgICAgICAgc3RvcmFnZSA9IEpTT04ucGFyc2Uoc3RvcmFnZSk7XHJcblxyXG4gICAgICAgIGlmIChUb29scy5Jc05vdE51bGwoc3RvcmFnZT8uZmlsdGVycykpIHsgXHJcblxyXG4gICAgICAgICAgICBsZXQgaW5kZXggPSAwO1xyXG4gICAgICAgICAgICBmb3IoaW5kZXg7IGluZGV4IDwgc3RvcmFnZS5maWx0ZXJzLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgICAgICAgICAgaWYgKHN0b3JhZ2UuZmlsdGVyc1tpbmRleF0uc29tZSgoeDogYW55KSA9PiB4ID09PSBwYXRoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzdG9yYWdlLmZpbHRlcnMuc3BsaWNlKGluZGV4LCAxKTsgXHJcbiAgICAgICAgfSAgIFxyXG5cclxuICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZSwgSlNPTi5zdHJpbmdpZnkoc3RvcmFnZSkpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgUmVtb3ZlQWxsKCk6IHZvaWQgIHtcclxuICAgICAgICBsZXQgc3RvcmFnZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlKSBhcyBhbnk7XHJcbiAgICAgICAgc3RvcmFnZSA9IEpTT04ucGFyc2Uoc3RvcmFnZSk7XHJcblxyXG4gICAgICAgIGlmIChUb29scy5Jc05vdE51bGwoc3RvcmFnZT8uZmlsdGVycykpIHtcclxuICAgICAgICAgICAgZGVsZXRlIHN0b3JhZ2UuZmlsdGVycztcclxuICAgICAgICB9ICAgXHJcblxyXG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlLCBKU09OLnN0cmluZ2lmeShzdG9yYWdlKSk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,23 +0,0 @@
1
- export class Menu {
2
- static { this.storage = 'COER-System'; }
3
- /** */
4
- static SetSelectedOption(menu) {
5
- let storage = sessionStorage.getItem(this.storage);
6
- if (storage)
7
- storage = JSON.parse(storage);
8
- storage = Object.assign({}, storage, { menu });
9
- sessionStorage.setItem(this.storage, JSON.stringify(storage));
10
- }
11
- /** */
12
- static GetSelectedOption() {
13
- let storage = sessionStorage.getItem(this.storage);
14
- if (storage) {
15
- storage = JSON.parse(storage);
16
- if (storage.hasOwnProperty('menu')) {
17
- return storage.menu;
18
- }
19
- }
20
- return null;
21
- }
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvdG9vbHMvbGliL21lbnUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLElBQUk7YUFFVyxZQUFPLEdBQUcsYUFBYSxDQUFDO0lBRWhELE1BQU07SUFDQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBeUI7UUFDckQsSUFBSSxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFRLENBQUM7UUFDMUQsSUFBSSxPQUFPO1lBQUUsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0MsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDL0MsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBR0QsTUFBTTtJQUNDLE1BQU0sQ0FBQyxpQkFBaUI7UUFDM0IsSUFBSSxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFRLENBQUM7UUFFMUQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNWLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTlCLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDeEIsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU1lbnVPcHRpb25TZWxlY3RlZCB9IGZyb20gXCJjb2VyLWVsZW1lbnRzL2ludGVyZmFjZXNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBNZW51IHtcclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBzdG9yYWdlID0gJ0NPRVItU3lzdGVtJztcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgU2V0U2VsZWN0ZWRPcHRpb24obWVudTogSU1lbnVPcHRpb25TZWxlY3RlZCk6IHZvaWQge1xyXG4gICAgICAgIGxldCBzdG9yYWdlID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2UpIGFzIGFueTtcclxuICAgICAgICBpZiAoc3RvcmFnZSkgc3RvcmFnZSA9IEpTT04ucGFyc2Uoc3RvcmFnZSk7XHJcbiAgICAgICAgc3RvcmFnZSA9IE9iamVjdC5hc3NpZ24oe30sIHN0b3JhZ2UsIHsgbWVudSB9KTtcclxuICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZSwgSlNPTi5zdHJpbmdpZnkoc3RvcmFnZSkpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0U2VsZWN0ZWRPcHRpb24oKTogSU1lbnVPcHRpb25TZWxlY3RlZCB8IG51bGwge1xyXG4gICAgICAgIGxldCBzdG9yYWdlID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2UpIGFzIGFueTtcclxuXHJcbiAgICAgICAgaWYgKHN0b3JhZ2UpIHtcclxuICAgICAgICAgICAgc3RvcmFnZSA9IEpTT04ucGFyc2Uoc3RvcmFnZSk7XHJcblxyXG4gICAgICAgICAgICBpZiAoc3RvcmFnZS5oYXNPd25Qcm9wZXJ0eSgnbWVudScpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RvcmFnZS5tZW51O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufSJdfQ==
@@ -1,187 +0,0 @@
1
- import { ActivatedRoute, Router } from '@angular/router';
2
- import { Component, Inject, inject } from '@angular/core';
3
- import { GridTemplates } from './coer-grid.templates';
4
- import { CoerAlert } from './coer-alert/coer-alert.component';
5
- import { Breadcrumbs } from './breadcrumbs.class';
6
- import { Source } from './source.class';
7
- import { Tools } from './tools';
8
- import { Filters } from './filters.class';
9
- import * as i0 from "@angular/core";
10
- export class Page {
11
- constructor(page) {
12
- //Injection
13
- this.alert = inject(CoerAlert);
14
- this.router = inject(Router);
15
- this.activatedRoute = inject(ActivatedRoute);
16
- /** */
17
- this.isUpdate = false;
18
- /** */
19
- this.isLoading = false;
20
- /** */
21
- this.isReadyPage = false;
22
- /** */
23
- this.enableAnimations = false;
24
- /** */
25
- this.breadcrumbs = [];
26
- /** */
27
- this.pageResponse = null;
28
- /** */
29
- this.pageFilters = {};
30
- /** */
31
- this.goBack = { show: false };
32
- //Private Variables
33
- this._path = '';
34
- this._page = '';
35
- this._source = null;
36
- this._preventDestroy = false;
37
- /** */
38
- this.GoBack = (path) => (() => {
39
- if (path)
40
- Breadcrumbs.Remove(path);
41
- else
42
- Breadcrumbs.RemoveLast();
43
- });
44
- //Grid Templates
45
- this.isActiveTemplate = GridTemplates.isActiveTemplate;
46
- this.coerSwitchTemplate = GridTemplates.coerSwitchTemplate;
47
- this.coerTextboxTemplate = GridTemplates.coerTextboxTemplate;
48
- this.coerIconTemplate = GridTemplates.coerIconTemplate;
49
- //Tools
50
- this.IsNull = Tools.IsNull;
51
- this.IsNotNull = Tools.IsNotNull;
52
- this.IsOnlyWhiteSpace = Tools.IsOnlyWhiteSpace;
53
- this.IsNotOnlyWhiteSpace = Tools.IsNotOnlyWhiteSpace;
54
- this.SetPageName(page);
55
- this.__SetSource();
56
- this.__GetSource();
57
- this.__GetNavigation();
58
- this.__SetGoBack();
59
- this.__GetPageFilter();
60
- this.__GetPageResponse();
61
- }
62
- ngAfterViewInit() {
63
- this.routeParams = this.activatedRoute.snapshot.params;
64
- this.queryParams = this.activatedRoute.snapshot.queryParams;
65
- setTimeout(() => {
66
- this.isReadyPage = true;
67
- this.RunPage();
68
- setTimeout(() => { this.enableAnimations = true; }, 1000);
69
- });
70
- }
71
- ngOnDestroy() {
72
- if (!this._preventDestroy)
73
- Source.ClearPageResponse();
74
- }
75
- /** Main method. Starts after ngAfterViewInit() */
76
- RunPage() { }
77
- ;
78
- /** Rename the last breadcrumb and update the url id */
79
- SetPageName(name, id = null) {
80
- this._page = name;
81
- this._path = this.router.url;
82
- if (this._path.includes('?'))
83
- this._path = this._path.split('?')[0];
84
- if (id) {
85
- const PATH_ARRAY = this._path.split('/');
86
- const PATH_ID = Tools.BreakReference(PATH_ARRAY).pop();
87
- if (PATH_ID) {
88
- PATH_ARRAY[PATH_ARRAY.length - 1] = String(id);
89
- this._path = PATH_ARRAY.join('/');
90
- }
91
- }
92
- if (this.breadcrumbs.length > 0) {
93
- this.breadcrumbs[this.breadcrumbs.length - 1].page = name;
94
- this.breadcrumbs[this.breadcrumbs.length - 1].path = this._path;
95
- Breadcrumbs.SetLast(name, this._path);
96
- }
97
- this.router.navigateByUrl(this._path);
98
- }
99
- /** */
100
- __SetSource() {
101
- Source.Set(this._page);
102
- }
103
- /** */
104
- __GetSource() {
105
- this._source = Source.Get();
106
- }
107
- /** */
108
- __GetPageResponse() {
109
- this.pageResponse = Source.GetPageResponse();
110
- }
111
- /** */
112
- __GetNavigation() {
113
- if (this._source) {
114
- this.breadcrumbs = Breadcrumbs.Get().map(item => Object.assign({
115
- page: item.page,
116
- path: item.path,
117
- click: this.GoBack(item.path)
118
- }));
119
- }
120
- else
121
- this.breadcrumbs = [{ page: this._page }];
122
- }
123
- /** */
124
- __SetGoBack() {
125
- if (this._source) {
126
- this.goBack = {
127
- show: true,
128
- path: this._source.path,
129
- click: this.GoBack()
130
- };
131
- }
132
- }
133
- /** Navigate to previous page */
134
- GoToSource(pageResponse = null) {
135
- if (this._source) {
136
- Breadcrumbs.RemoveLast();
137
- this.SetPageResponse(pageResponse);
138
- this.RemovePageFilter();
139
- Tools.Sleep().then(_ => this.router.navigateByUrl(this._source.path));
140
- }
141
- }
142
- ;
143
- /** */
144
- SetPageResponse(pageResponse = null) {
145
- if (Tools.IsNotNull(pageResponse)) {
146
- this._preventDestroy = true;
147
- Source.SetPageResponse(pageResponse);
148
- }
149
- }
150
- ;
151
- /** */
152
- ReloadPage() {
153
- Breadcrumbs.RemoveLast();
154
- setTimeout(() => window.location.reload());
155
- }
156
- /** */
157
- SetPageFilters(filters) {
158
- this.pageFilters = Tools.BreakReference(filters);
159
- Filters.Add(this.pageFilters, this._path);
160
- }
161
- /** */
162
- __GetPageFilter() {
163
- this.pageFilters = Filters.Get(this._path);
164
- }
165
- /** */
166
- RemovePageFilter() {
167
- this.pageFilters = {};
168
- Filters.Remove(this._path);
169
- }
170
- /** */
171
- Log(value, log = null) {
172
- if (Tools.IsNotNull(log))
173
- console.log({ log, value });
174
- else
175
- console.log(value);
176
- }
177
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Page, deps: [{ token: String }], target: i0.ɵɵFactoryTarget.Component }); }
178
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: Page, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
179
- }
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Page, decorators: [{
181
- type: Component,
182
- args: [{ template: '' }]
183
- }], ctorParameters: () => [{ type: undefined, decorators: [{
184
- type: Inject,
185
- args: [String]
186
- }] }] });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvdG9vbHMvbGliL3BhZ2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXBGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFHMUMsTUFBTSxPQUFPLElBQUk7SUE0Q2IsWUFBNEIsSUFBWTtRQTFDeEMsV0FBVztRQUNRLFVBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV6RCxNQUFNO1FBQ0ksYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVwQyxNQUFNO1FBQ0ksY0FBUyxHQUFZLEtBQUssQ0FBQztRQUVyQyxNQUFNO1FBQ0ksZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFdkMsTUFBTTtRQUNJLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQVE1QyxNQUFNO1FBQ0ksZ0JBQVcsR0FBa0IsRUFBRSxDQUFDO1FBRTFDLE1BQU07UUFDSSxpQkFB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QUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzs7WUFDakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDOytHQTFNUSxJQUFJLGtCQTRDTyxNQUFNO21HQTVDakIsSUFBSSxvREFETSxFQUFFOzs0RkFDWixJQUFJO2tCQURoQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs7MEJBNkNWLE1BQU07MkJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEluamVjdCwgaW5qZWN0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUFwcFNvdXJjZSwgSUJyZWFkY3J1bWIsIElHb0JhY2sgfSBmcm9tICdjb2VyLWVsZW1lbnRzL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBHcmlkVGVtcGxhdGVzIH0gZnJvbSAnLi9jb2VyLWdyaWQudGVtcGxhdGVzJztcclxuaW1wb3J0IHsgQ29lckFsZXJ0IH0gZnJvbSAnLi9jb2VyLWFsZXJ0L2NvZXItYWxlcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnJlYWRjcnVtYnMgfSBmcm9tICcuL2JyZWFkY3J1bWJzLmNsYXNzJztcclxuaW1wb3J0IHsgU291cmNlIH0gZnJvbSAnLi9zb3VyY2UuY2xhc3MnO1xyXG5pbXBvcnQgeyBUb29scyB9IGZyb20gJy4vdG9vbHMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJzIH0gZnJvbSAnLi9maWx0ZXJzLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFBhZ2UgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAgIC8vSW5qZWN0aW9uXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWxlcnQgPSBpbmplY3QoQ29lckFsZXJ0KTtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIGlzVXBkYXRlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgaXNSZWFkeVBhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBlbmFibGVBbmltYXRpb25zOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgcm91dGVQYXJhbXM6IGFueTtcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBxdWVyeVBhcmFtczogYW55O1xyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIGJyZWFkY3J1bWJzOiBJQnJlYWRjcnVtYltdID0gW107XHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgcGFnZVJlc3BvbnNlOiBhbnkgPSBudWxsO1xyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIHBhZ2VGaWx0ZXJzOiBhbnkgPSB7fTtcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBnb0JhY2s6IElHb0JhY2sgPSB7IHNob3c6IGZhbHNlIH07XHJcblxyXG4gICAgLy9Qcml2YXRlIFZhcmlhYmxlc1xyXG4gICAgcHJpdmF0ZSBfcGF0aDogc3RyaW5nID0gJyc7XHJcbiAgICBwcml2YXRlIF9wYWdlOiBzdHJpbmcgPSAnJztcclxuICAgIHByaXZhdGUgX3NvdXJjZTogSUFwcFNvdXJjZSB8IG51bGwgPSBudWxsO1xyXG4gICAgcHJpdmF0ZSBfcHJldmVudERlc3Ryb3k6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChTdHJpbmcpIHBhZ2U6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuU2V0UGFnZU5hbWUocGFnZSk7XHJcbiAgICAgICAgdGhpcy5fX1NldFNvdXJjZSgpO1xyXG4gICAgICAgIHRoaXMuX19HZXRTb3VyY2UoKTtcclxuICAgICAgICB0aGlzLl9fR2V0TmF2aWdhdGlvbigpO1xyXG4gICAgICAgIHRoaXMuX19TZXRHb0JhY2soKTtcclxuICAgICAgICB0aGlzLl9fR2V0UGFnZUZpbHRlcigpO1xyXG4gICAgICAgIHRoaXMuX19HZXRQYWdlUmVzcG9uc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZVBhcmFtcyA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucGFyYW1zO1xyXG4gICAgICAgIHRoaXMucXVlcnlQYXJhbXMgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zO1xyXG5cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc1JlYWR5UGFnZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuUnVuUGFnZSgpO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5lbmFibGVBbmltYXRpb25zID0gdHJ1ZSB9LCAxMDAwKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9wcmV2ZW50RGVzdHJveSkgU291cmNlLkNsZWFyUGFnZVJlc3BvbnNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIE1haW4gbWV0aG9kLiBTdGFydHMgYWZ0ZXIgbmdBZnRlclZpZXdJbml0KCkgKi9cclxuICAgIHByb3RlY3RlZCBSdW5QYWdlKCk6IHZvaWQge307XHJcblxyXG5cclxuICAgIC8qKiBSZW5hbWUgdGhlIGxhc3QgYnJlYWRjcnVtYiBhbmQgdXBkYXRlIHRoZSB1cmwgaWQgKi9cclxuICAgIHByb3RlY3RlZCBTZXRQYWdlTmFtZShuYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsID0gbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3BhZ2UgPSBuYW1lO1xyXG5cclxuICAgICAgICB0aGlzLl9wYXRoID0gdGhpcy5yb3V0ZXIudXJsO1xyXG4gICAgICAgIGlmICh0aGlzLl9wYXRoLmluY2x1ZGVzKCc/JykpIHRoaXMuX3BhdGggPSB0aGlzLl9wYXRoLnNwbGl0KCc/JylbMF07XHJcblxyXG4gICAgICAgIGlmIChpZCkge1xyXG4gICAgICAgICAgICBjb25zdCBQQVRIX0FSUkFZID0gdGhpcy5fcGF0aC5zcGxpdCgnLycpO1xyXG4gICAgICAgICAgICBjb25zdCBQQVRIX0lEID0gVG9vbHMuQnJlYWtSZWZlcmVuY2UoUEFUSF9BUlJBWSkucG9wKCk7XHJcbiAgICAgICAgICAgIGlmIChQQVRIX0lEKSB7XHJcbiAgICAgICAgICAgICAgICBQQVRIX0FSUkFZW1BBVEhfQVJSQVkubGVuZ3RoIC0gMV0gPSBTdHJpbmcoaWQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcGF0aCA9IFBBVEhfQVJSQVkuam9pbignLycpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5icmVhZGNydW1icy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYnJlYWRjcnVtYnNbdGhpcy5icmVhZGNydW1icy5sZW5ndGggLSAxXS5wYWdlID0gbmFtZTtcclxuICAgICAgICAgICAgdGhpcy5icmVhZGNydW1ic1t0aGlzLmJyZWFkY3J1bWJzLmxlbmd0aCAtIDFdLnBhdGggPSB0aGlzLl9wYXRoO1xyXG4gICAgICAgICAgICBCcmVhZGNydW1icy5TZXRMYXN0KG5hbWUsIHRoaXMuX3BhdGgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLl9wYXRoKVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByaXZhdGUgX19TZXRTb3VyY2UoKTogdm9pZCB7XHJcbiAgICAgICAgU291cmNlLlNldCh0aGlzLl9wYWdlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcml2YXRlIF9fR2V0U291cmNlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3NvdXJjZSA9IFNvdXJjZS5HZXQoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcml2YXRlIF9fR2V0UGFnZVJlc3BvbnNlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucGFnZVJlc3BvbnNlID0gU291cmNlLkdldFBhZ2VSZXNwb25zZSgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByaXZhdGUgX19HZXROYXZpZ2F0aW9uKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9zb3VyY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5icmVhZGNydW1icyA9IEJyZWFkY3J1bWJzLkdldCgpLm1hcChpdGVtID0+IE9iamVjdC5hc3NpZ24oe1xyXG4gICAgICAgICAgICAgICAgcGFnZTogaXRlbS5wYWdlLFxyXG4gICAgICAgICAgICAgICAgcGF0aDogaXRlbS5wYXRoLFxyXG4gICAgICAgICAgICAgICAgY2xpY2s6IHRoaXMuR29CYWNrKGl0ZW0ucGF0aClcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZWxzZSB0aGlzLmJyZWFkY3J1bWJzID0gW3sgcGFnZTogdGhpcy5fcGFnZSB9XTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcml2YXRlIF9fU2V0R29CYWNrKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9zb3VyY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5nb0JhY2sgPSB7XHJcbiAgICAgICAgICAgICAgICBzaG93OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgcGF0aDogdGhpcy5fc291cmNlLnBhdGgsXHJcbiAgICAgICAgICAgICAgICBjbGljazogdGhpcy5Hb0JhY2soKVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcml2YXRlIEdvQmFjayA9IChwYXRoPzogc3RyaW5nKSA9PiAoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwYXRoKSBCcmVhZGNydW1icy5SZW1vdmUocGF0aCk7XHJcbiAgICAgICAgZWxzZSBCcmVhZGNydW1icy5SZW1vdmVMYXN0KCk7XHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgLyoqIE5hdmlnYXRlIHRvIHByZXZpb3VzIHBhZ2UgKi9cclxuICAgIHByb3RlY3RlZCBHb1RvU291cmNlPFQ+KHBhZ2VSZXNwb25zZTogVCB8IG51bGwgPSBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgaWYodGhpcy5fc291cmNlKSB7XHJcbiAgICAgICAgICAgIEJyZWFkY3J1bWJzLlJlbW92ZUxhc3QoKTtcclxuICAgICAgICAgICAgdGhpcy5TZXRQYWdlUmVzcG9uc2UocGFnZVJlc3BvbnNlKTtcclxuICAgICAgICAgICAgdGhpcy5SZW1vdmVQYWdlRmlsdGVyKCk7XHJcbiAgICAgICAgICAgIFRvb2xzLlNsZWVwKCkudGhlbihfID0+IHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5fc291cmNlIS5wYXRoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgU2V0UGFnZVJlc3BvbnNlPFQ+KHBhZ2VSZXNwb25zZTogVCB8IG51bGwgPSBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKFRvb2xzLklzTm90TnVsbChwYWdlUmVzcG9uc2UpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ByZXZlbnREZXN0cm95ID0gdHJ1ZTtcclxuICAgICAgICAgICAgU291cmNlLlNldFBhZ2VSZXNwb25zZShwYWdlUmVzcG9uc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIFJlbG9hZFBhZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgQnJlYWRjcnVtYnMuUmVtb3ZlTGFzdCgpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgU2V0UGFnZUZpbHRlcnM8VD4oZmlsdGVyczogVCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucGFnZUZpbHRlcnMgPSBUb29scy5CcmVha1JlZmVyZW5jZTxUPihmaWx0ZXJzKTtcclxuICAgICAgICBGaWx0ZXJzLkFkZCh0aGlzLnBhZ2VGaWx0ZXJzLCB0aGlzLl9wYXRoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcml2YXRlIF9fR2V0UGFnZUZpbHRlcigpOiB2b2lkIHsgXHJcbiAgICAgICAgdGhpcy5wYWdlRmlsdGVycyA9IEZpbHRlcnMuR2V0KHRoaXMuX3BhdGgpOyBcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgUmVtb3ZlUGFnZUZpbHRlcigpOiB2b2lkIHsgXHJcbiAgICAgICAgdGhpcy5wYWdlRmlsdGVycyA9IHt9O1xyXG4gICAgICAgIEZpbHRlcnMuUmVtb3ZlKHRoaXMuX3BhdGgpOyBcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgTG9nKHZhbHVlOiBhbnksIGxvZzogc3RyaW5nIHwgbnVsbCA9IG51bGwpOiB2b2lkIHtcclxuICAgICAgICBpZiAoVG9vbHMuSXNOb3ROdWxsKGxvZykpIGNvbnNvbGUubG9nKHsgbG9nLCB2YWx1ZSB9KTtcclxuICAgICAgICBlbHNlIGNvbnNvbGUubG9nKHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLy9HcmlkIFRlbXBsYXRlc1xyXG4gICAgcHJvdGVjdGVkIGlzQWN0aXZlVGVtcGxhdGUgPSBHcmlkVGVtcGxhdGVzLmlzQWN0aXZlVGVtcGxhdGU7XHJcbiAgICBwcm90ZWN0ZWQgY29lclN3aXRjaFRlbXBsYXRlID0gR3JpZFRlbXBsYXRlcy5jb2VyU3dpdGNoVGVtcGxhdGU7XHJcbiAgICBwcm90ZWN0ZWQgY29lclRleHRib3hUZW1wbGF0ZSA9IEdyaWRUZW1wbGF0ZXMuY29lclRleHRib3hUZW1wbGF0ZTtcclxuICAgIHByb3RlY3RlZCBjb2VySWNvblRlbXBsYXRlID0gR3JpZFRlbXBsYXRlcy5jb2VySWNvblRlbXBsYXRlO1xyXG5cclxuXHJcbiAgICAvL1Rvb2xzXHJcbiAgICBwcm90ZWN0ZWQgSXNOdWxsID0gVG9vbHMuSXNOdWxsO1xyXG4gICAgcHJvdGVjdGVkIElzTm90TnVsbCA9IFRvb2xzLklzTm90TnVsbDtcclxuICAgIHByb3RlY3RlZCBJc09ubHlXaGl0ZVNwYWNlID0gVG9vbHMuSXNPbmx5V2hpdGVTcGFjZTtcclxuICAgIHByb3RlY3RlZCBJc05vdE9ubHlXaGl0ZVNwYWNlID0gVG9vbHMuSXNOb3RPbmx5V2hpdGVTcGFjZTtcclxufSJdfQ==
@@ -1,51 +0,0 @@
1
- import { Observable } from "rxjs";
2
- export class Screen {
3
- static get WINDOW_WIDTH() {
4
- return window.innerWidth;
5
- }
6
- static get WINDOW_HEIGHT() {
7
- return window.innerHeight;
8
- }
9
- static get DEVICE_WIDTH() {
10
- return window.screen.width;
11
- }
12
- static get DEVICE_HEIGHT() {
13
- return window.screen.height;
14
- }
15
- static get BREAKPOINT() {
16
- if (window.innerWidth < 576)
17
- return 'xs';
18
- else if (window.innerWidth >= 576 && window.innerWidth < 768)
19
- return 'sm';
20
- else if (window.innerWidth >= 768 && window.innerWidth < 992)
21
- return 'md';
22
- else if (window.innerWidth >= 992 && window.innerWidth < 1200)
23
- return 'lg';
24
- else if (window.innerWidth >= 1200 && window.innerWidth < 1400)
25
- return 'xl';
26
- else
27
- return 'xxl';
28
- }
29
- /** */
30
- static { this.Resize = new Observable(subscriber => {
31
- window.addEventListener("load", () => {
32
- window.dispatchEvent(new Event('resize'));
33
- });
34
- window.onresize = () => {
35
- subscriber.next({
36
- width: this.WINDOW_WIDTH,
37
- height: this.WINDOW_HEIGHT,
38
- breakpoin: this.BREAKPOINT
39
- });
40
- };
41
- }); }
42
- /** */
43
- static { this.BackButtonBrowser = new Observable(subscriber => {
44
- window.addEventListener('popstate', popStateEvent => {
45
- if (popStateEvent.state && popStateEvent.target) {
46
- subscriber.next(popStateEvent.target.location.href);
47
- }
48
- });
49
- }); }
50
- }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy90b29scy9saWIvc2NyZWVuLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsTUFBTSxPQUFPLE1BQU07SUFFUixNQUFNLEtBQUssWUFBWTtRQUMxQixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUdNLE1BQU0sS0FBSyxhQUFhO1FBQzNCLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUM5QixDQUFDO0lBR00sTUFBTSxLQUFLLFlBQVk7UUFDMUIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBR00sTUFBTSxLQUFLLGFBQWE7UUFDM0IsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBR00sTUFBTSxLQUFLLFVBQVU7UUFDeEIsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUc7WUFBRSxPQUFPLElBQUksQ0FBQzthQUNwQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksR0FBRyxJQUFJLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRztZQUFFLE9BQU8sSUFBSSxDQUFDO2FBQ3JFLElBQUksTUFBTSxDQUFDLFVBQVUsSUFBSSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHO1lBQUUsT0FBTyxJQUFJLENBQUM7YUFDckUsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQzthQUN0RSxJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDOztZQUN2RSxPQUFPLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBR0QsTUFBTTthQUNRLFdBQU0sR0FBRyxJQUFJLFVBQVUsQ0FBYyxVQUFVLENBQUMsRUFBRTtRQUM1RCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUNqQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRTtZQUNuQixVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUNaLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhO2dCQUMxQixTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVU7YUFDN0IsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFBO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFHSCxNQUFNO2FBQ1Esc0JBQWlCLEdBQUcsSUFBSSxVQUFVLENBQVMsVUFBVSxDQUFDLEVBQUU7UUFDbEUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsRUFBRTtZQUNoRCxJQUFJLGFBQWEsQ0FBQyxLQUFLLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUM5QyxVQUFVLENBQUMsSUFBSSxDQUFFLGFBQWEsQ0FBQyxNQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pFLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IElTY3JlZW5TaXplIH0gZnJvbSBcImNvZXItZWxlbWVudHMvaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTY3JlZW4ge1xyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IFdJTkRPV19XSURUSCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBnZXQgV0lORE9XX0hFSUdIVCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IERFVklDRV9XSURUSCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB3aW5kb3cuc2NyZWVuLndpZHRoO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCBERVZJQ0VfSEVJR0hUKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5zY3JlZW4uaGVpZ2h0O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCBCUkVBS1BPSU5UKCk6ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnIHwgJ3h4bCcge1xyXG4gICAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IDU3NikgcmV0dXJuICd4cyc7XHJcbiAgICAgICAgZWxzZSBpZiAod2luZG93LmlubmVyV2lkdGggPj0gNTc2ICYmIHdpbmRvdy5pbm5lcldpZHRoIDwgNzY4KSByZXR1cm4gJ3NtJztcclxuICAgICAgICBlbHNlIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA+PSA3NjggJiYgd2luZG93LmlubmVyV2lkdGggPCA5OTIpIHJldHVybiAnbWQnO1xyXG4gICAgICAgIGVsc2UgaWYgKHdpbmRvdy5pbm5lcldpZHRoID49IDk5MiAmJiB3aW5kb3cuaW5uZXJXaWR0aCA8IDEyMDApIHJldHVybiAnbGcnO1xyXG4gICAgICAgIGVsc2UgaWYgKHdpbmRvdy5pbm5lcldpZHRoID49IDEyMDAgJiYgd2luZG93LmlubmVyV2lkdGggPCAxNDAwKSByZXR1cm4gJ3hsJztcclxuICAgICAgICBlbHNlIHJldHVybiAneHhsJztcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwdWJsaWMgc3RhdGljIFJlc2l6ZSA9IG5ldyBPYnNlcnZhYmxlPElTY3JlZW5TaXplPihzdWJzY3JpYmVyID0+IHtcclxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIiwgKCkgPT4ge1xyXG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZScpKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgd2luZG93Lm9ucmVzaXplID0gKCkgPT4ge1xyXG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoe1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHRoaXMuV0lORE9XX1dJRFRILFxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLldJTkRPV19IRUlHSFQsXHJcbiAgICAgICAgICAgICAgICBicmVha3BvaW46IHRoaXMuQlJFQUtQT0lOVFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwdWJsaWMgc3RhdGljIEJhY2tCdXR0b25Ccm93c2VyID0gbmV3IE9ic2VydmFibGU8c3RyaW5nPihzdWJzY3JpYmVyID0+IHtcclxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9wc3RhdGUnLCBwb3BTdGF0ZUV2ZW50ID0+IHtcclxuICAgICAgICAgICAgaWYgKHBvcFN0YXRlRXZlbnQuc3RhdGUgJiYgcG9wU3RhdGVFdmVudC50YXJnZXQpIHtcclxuICAgICAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCgocG9wU3RhdGVFdmVudC50YXJnZXQgYXMgYW55KS5sb2NhdGlvbi5ocmVmKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbn0iXX0=
@@ -1,60 +0,0 @@
1
- import { Router } from '@angular/router';
2
- import { Component, inject, input, output } from '@angular/core';
3
- import { GridTemplates } from './coer-grid.templates';
4
- import { CoerAlert } from './coer-alert/coer-alert.component';
5
- import { Tools } from './tools';
6
- import * as i0 from "@angular/core";
7
- export class Section {
8
- constructor() {
9
- //Injection
10
- this.alert = inject(CoerAlert);
11
- this.router = inject(Router);
12
- //Inputs
13
- this.isLoading = input(false);
14
- this.isUpdate = input(false);
15
- //Outputs
16
- this.onReady = output();
17
- this.onDestroy = output();
18
- this.onIsLoadingChange = output();
19
- this.onUpdated = output();
20
- //Variables
21
- this.enableAnimations = false;
22
- //Grid Templates
23
- this.isActiveTemplate = GridTemplates.isActiveTemplate;
24
- this.coerSwitchTemplate = GridTemplates.coerSwitchTemplate;
25
- this.coerTextboxTemplate = GridTemplates.coerTextboxTemplate;
26
- this.coerIconTemplate = GridTemplates.coerIconTemplate;
27
- //Tools
28
- this.IsNull = Tools.IsNull;
29
- this.IsNotNull = Tools.IsNotNull;
30
- this.IsOnlyWhiteSpace = Tools.IsOnlyWhiteSpace;
31
- this.IsNotOnlyWhiteSpace = Tools.IsNotOnlyWhiteSpace;
32
- }
33
- ngAfterViewInit() {
34
- Tools.Sleep().then(_ => {
35
- this.RunSection();
36
- this.onReady.emit();
37
- });
38
- Tools.Sleep(1000).then(_ => this.enableAnimations = true);
39
- }
40
- ngOnDestroy() {
41
- this.onDestroy.emit();
42
- }
43
- /** Main method. Starts after ngAfterViewInit() */
44
- RunSection() { }
45
- ;
46
- /** */
47
- Log(value, log = null) {
48
- if (Tools.IsNotNull(log))
49
- console.log({ log, value });
50
- else
51
- console.log(value);
52
- }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Section, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: Section, selector: "ng-component", inputs: { isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isUpdate: { classPropertyName: "isUpdate", publicName: "isUpdate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onReady: "onReady", onDestroy: "onDestroy", onIsLoadingChange: "onIsLoadingChange", onUpdated: "onUpdated" }, ngImport: i0, template: '', isInline: true }); }
55
- }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Section, decorators: [{
57
- type: Component,
58
- args: [{ template: '' }]
59
- }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvdG9vbHMvbGliL3NlY3Rpb24uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBaUIsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFHaEMsTUFBTSxPQUFPLE9BQU87SUFEcEI7UUFHSSxXQUFXO1FBQ1EsVUFBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNDLFdBQVc7UUFDSixjQUFTLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFeEMsU0FBUztRQUNGLFlBQU8sR0FBRyxNQUFNLEVBQVEsQ0FBQztRQUN6QixjQUFTLEdBQUcsTUFBTSxFQUFRLENBQUM7UUFDM0Isc0JBQWlCLEdBQUcsTUFBTSxFQUFXLENBQUM7UUFDdEMsY0FBUyxHQUFHLE1BQU0sRUFBWSxDQUFDO1FBRXRDLFdBQVc7UUFDRCxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUEyQjVDLGdCQUFnQjtRQUNOLHFCQUFnQixHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNsRCx1QkFBa0IsR0FBRyxhQUFhLENBQUMsa0JBQWtCLENBQUM7UUFDdEQsd0JBQW1CLEdBQUcsYUFBYSxDQUFDLG1CQUFtQixDQUFDO1FBQ3hELHFCQUFnQixHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztRQUc1RCxPQUFPO1FBQ0csV0FBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDdEIsY0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDNUIscUJBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDO1FBQzFDLHdCQUFtQixHQUFHLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQztLQUM3RDtJQXJDRyxlQUFlO1FBQ1gsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztRQUVILEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBR0Qsa0RBQWtEO0lBQ3hDLFVBQVUsS0FBVSxDQUFDO0lBQUEsQ0FBQztJQUdoQyxNQUFNO0lBQ0ksR0FBRyxDQUFDLEtBQVUsRUFBRSxNQUFxQixJQUFJO1FBQy9DLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7O1lBQ2pELE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzsrR0F6Q1EsT0FBTzttR0FBUCxPQUFPLDhiQURHLEVBQUU7OzRGQUNaLE9BQU87a0JBRG5CLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBPbkRlc3Ryb3ksIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBHcmlkVGVtcGxhdGVzIH0gZnJvbSAnLi9jb2VyLWdyaWQudGVtcGxhdGVzJztcclxuaW1wb3J0IHsgQ29lckFsZXJ0IH0gZnJvbSAnLi9jb2VyLWFsZXJ0L2NvZXItYWxlcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9vbHMgfSBmcm9tICcuL3Rvb2xzJztcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFNlY3Rpb248VD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgXHJcbiAgICAvL0luamVjdGlvblxyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFsZXJ0ID0gaW5qZWN0KENvZXJBbGVydCk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcblxyXG4gICAgLy9JbnB1dHMgICBcclxuICAgIHB1YmxpYyBpc0xvYWRpbmcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgICBwdWJsaWMgaXNVcGRhdGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gICAgLy9PdXRwdXRzXHJcbiAgICBwdWJsaWMgb25SZWFkeSA9IG91dHB1dDx2b2lkPigpO1xyXG4gICAgcHVibGljIG9uRGVzdHJveSA9IG91dHB1dDx2b2lkPigpO1xyXG4gICAgcHVibGljIG9uSXNMb2FkaW5nQ2hhbmdlID0gb3V0cHV0PGJvb2xlYW4+KCk7XHJcbiAgICBwdWJsaWMgb25VcGRhdGVkID0gb3V0cHV0PFQgfCBudWxsPigpO1xyXG5cclxuICAgIC8vVmFyaWFibGVzXHJcbiAgICBwcm90ZWN0ZWQgZW5hYmxlQW5pbWF0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICBUb29scy5TbGVlcCgpLnRoZW4oXyA9PiB7IFxyXG4gICAgICAgICAgICB0aGlzLlJ1blNlY3Rpb24oKTtcclxuICAgICAgICAgICAgdGhpcy5vblJlYWR5LmVtaXQoKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgVG9vbHMuU2xlZXAoMTAwMCkudGhlbihfID0+IHRoaXMuZW5hYmxlQW5pbWF0aW9ucyA9IHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMub25EZXN0cm95LmVtaXQoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqIE1haW4gbWV0aG9kLiBTdGFydHMgYWZ0ZXIgbmdBZnRlclZpZXdJbml0KCkgKi9cclxuICAgIHByb3RlY3RlZCBSdW5TZWN0aW9uKCk6IHZvaWQge307XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIExvZyh2YWx1ZTogYW55LCBsb2c6IHN0cmluZyB8IG51bGwgPSBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKFRvb2xzLklzTm90TnVsbChsb2cpKSBjb25zb2xlLmxvZyh7IGxvZywgdmFsdWUgfSk7XHJcbiAgICAgICAgZWxzZSBjb25zb2xlLmxvZyh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vR3JpZCBUZW1wbGF0ZXNcclxuICAgIHByb3RlY3RlZCBpc0FjdGl2ZVRlbXBsYXRlID0gR3JpZFRlbXBsYXRlcy5pc0FjdGl2ZVRlbXBsYXRlO1xyXG4gICAgcHJvdGVjdGVkIGNvZXJTd2l0Y2hUZW1wbGF0ZSA9IEdyaWRUZW1wbGF0ZXMuY29lclN3aXRjaFRlbXBsYXRlO1xyXG4gICAgcHJvdGVjdGVkIGNvZXJUZXh0Ym94VGVtcGxhdGUgPSBHcmlkVGVtcGxhdGVzLmNvZXJUZXh0Ym94VGVtcGxhdGU7XHJcbiAgICBwcm90ZWN0ZWQgY29lckljb25UZW1wbGF0ZSA9IEdyaWRUZW1wbGF0ZXMuY29lckljb25UZW1wbGF0ZTtcclxuXHJcblxyXG4gICAgLy9Ub29sc1xyXG4gICAgcHJvdGVjdGVkIElzTnVsbCA9IFRvb2xzLklzTnVsbDtcclxuICAgIHByb3RlY3RlZCBJc05vdE51bGwgPSBUb29scy5Jc05vdE51bGw7XHJcbiAgICBwcm90ZWN0ZWQgSXNPbmx5V2hpdGVTcGFjZSA9IFRvb2xzLklzT25seVdoaXRlU3BhY2U7XHJcbiAgICBwcm90ZWN0ZWQgSXNOb3RPbmx5V2hpdGVTcGFjZSA9IFRvb2xzLklzTm90T25seVdoaXRlU3BhY2U7XHJcbn0iXX0=