@acorex/core 3.0.1 → 5.0.1

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 (175) hide show
  1. package/README.md +23 -2
  2. package/acorex-core.d.ts +1 -0
  3. package/bundles/acorex-core.umd.js +609 -2248
  4. package/bundles/acorex-core.umd.js.map +1 -1
  5. package/esm2015/acorex-core.js +1 -1
  6. package/esm2015/lib/config/configs.js +29 -0
  7. package/esm2015/lib/core.module.js +18 -24
  8. package/esm2015/lib/dateTime/datetime.class.js +236 -0
  9. package/esm2015/lib/dateTime/datetime.module.js +18 -0
  10. package/esm2015/lib/dateTime/datetime.pipe.js +25 -0
  11. package/esm2015/lib/dateTime/georgian.calendar.js +145 -0
  12. package/esm2015/lib/dateTime/index.js +5 -0
  13. package/esm2015/lib/platform/index.js +2 -0
  14. package/esm2015/lib/platform/platform.service.js +119 -0
  15. package/esm2015/lib/translation/index.js +4 -0
  16. package/esm2015/lib/translation/translation.module.js +18 -0
  17. package/esm2015/lib/translation/translator.js +26 -0
  18. package/esm2015/lib/translation/translator.pipe.js +15 -0
  19. package/esm2015/lib/utils/index.js +3 -0
  20. package/esm2015/lib/utils/object-util.js +83 -0
  21. package/esm2015/lib/utils/safe.pipe.js +30 -0
  22. package/esm2015/public-api.js +10 -35
  23. package/fesm2015/acorex-core.js +533 -1839
  24. package/fesm2015/acorex-core.js.map +1 -1
  25. package/lib/{services/config.d.ts → config/configs.d.ts} +1 -1
  26. package/lib/core.module.d.ts +5 -0
  27. package/lib/dateTime/datetime.class.d.ts +96 -0
  28. package/lib/dateTime/datetime.module.d.ts +7 -0
  29. package/lib/dateTime/datetime.pipe.d.ts +8 -0
  30. package/lib/dateTime/georgian.calendar.d.ts +17 -0
  31. package/lib/dateTime/index.d.ts +4 -0
  32. package/lib/platform/index.d.ts +1 -0
  33. package/lib/platform/platform.service.d.ts +22 -0
  34. package/lib/translation/index.d.ts +3 -0
  35. package/lib/translation/translation.module.d.ts +7 -0
  36. package/lib/{translator → translation}/translator.d.ts +0 -0
  37. package/lib/translation/translator.pipe.d.ts +7 -0
  38. package/lib/utils/index.d.ts +2 -0
  39. package/lib/utils/object-util.d.ts +7 -0
  40. package/lib/utils/safe.pipe.d.ts +10 -0
  41. package/package.json +7 -11
  42. package/public-api.d.ts +9 -41
  43. package/acorex-core.metadata.json +0 -1
  44. package/bundles/acorex-core.umd.min.js +0 -17
  45. package/bundles/acorex-core.umd.min.js.map +0 -1
  46. package/esm2015/lib/classes/base-page.class.js +0 -21
  47. package/esm2015/lib/classes/color.class.js +0 -49
  48. package/esm2015/lib/classes/datetime.class.js +0 -314
  49. package/esm2015/lib/classes/menu.class.js +0 -27
  50. package/esm2015/lib/classes/navigator.class.js +0 -1
  51. package/esm2015/lib/classes/popup.class.js +0 -1
  52. package/esm2015/lib/classes/promise.class.js +0 -19
  53. package/esm2015/lib/classes/sectionlist.class.js +0 -1
  54. package/esm2015/lib/classes/select.class.js +0 -3
  55. package/esm2015/lib/error/error.class.js +0 -1
  56. package/esm2015/lib/error/error.module.js +0 -16
  57. package/esm2015/lib/error/error.service.js +0 -25
  58. package/esm2015/lib/events/keyboard.js +0 -1
  59. package/esm2015/lib/http/http-error.class.js +0 -1
  60. package/esm2015/lib/http/http-events.interceptor.js +0 -3
  61. package/esm2015/lib/http/http-request.class.js +0 -1
  62. package/esm2015/lib/http/http-result.class.js +0 -21
  63. package/esm2015/lib/http/http.module.js +0 -29
  64. package/esm2015/lib/http/http.service.js +0 -149
  65. package/esm2015/lib/locale/en.json +0 -249
  66. package/esm2015/lib/locale/fa.json +0 -238
  67. package/esm2015/lib/pipe/datetime.pipe.js +0 -24
  68. package/esm2015/lib/pipe/htmlToText.pipe.js +0 -23
  69. package/esm2015/lib/services/config.js +0 -29
  70. package/esm2015/lib/services/event.service.js +0 -36
  71. package/esm2015/lib/services/navigator.service.js +0 -9
  72. package/esm2015/lib/services/storage.service.js +0 -15
  73. package/esm2015/lib/translator/translator.js +0 -26
  74. package/esm2015/lib/translator/translator.module.js +0 -23
  75. package/esm2015/lib/translator/translator.pipe.js +0 -23
  76. package/esm2015/lib/translator/translator.service.js +0 -21
  77. package/esm2015/lib/utils/array/array-util.js +0 -133
  78. package/esm2015/lib/utils/html/html-util.js +0 -192
  79. package/esm2015/lib/utils/html/html.module.js +0 -16
  80. package/esm2015/lib/utils/math/math-util.js +0 -6
  81. package/esm2015/lib/utils/object/object-util.js +0 -83
  82. package/esm2015/lib/utils/render/on-demand-preload-strategy.service.js +0 -21
  83. package/esm2015/lib/utils/render/render.service.js +0 -112
  84. package/esm2015/lib/utils/render/rendering.module.js +0 -26
  85. package/esm2015/lib/utils/scroll/scroll.directive.js +0 -66
  86. package/esm2015/lib/utils/scroll/scroll.module.js +0 -16
  87. package/esm2015/lib/utils/separator/separator.module.js +0 -16
  88. package/esm2015/lib/utils/separator/separator.pipe.js +0 -22
  89. package/esm5/acorex-core.js +0 -5
  90. package/esm5/lib/classes/base-page.class.js +0 -23
  91. package/esm5/lib/classes/color.class.js +0 -54
  92. package/esm5/lib/classes/datetime.class.js +0 -390
  93. package/esm5/lib/classes/menu.class.js +0 -42
  94. package/esm5/lib/classes/navigator.class.js +0 -1
  95. package/esm5/lib/classes/popup.class.js +0 -1
  96. package/esm5/lib/classes/promise.class.js +0 -22
  97. package/esm5/lib/classes/sectionlist.class.js +0 -1
  98. package/esm5/lib/classes/select.class.js +0 -7
  99. package/esm5/lib/core.module.js +0 -27
  100. package/esm5/lib/error/error.class.js +0 -1
  101. package/esm5/lib/error/error.module.js +0 -19
  102. package/esm5/lib/error/error.service.js +0 -26
  103. package/esm5/lib/events/keyboard.js +0 -1
  104. package/esm5/lib/http/http-error.class.js +0 -1
  105. package/esm5/lib/http/http-events.interceptor.js +0 -3
  106. package/esm5/lib/http/http-request.class.js +0 -1
  107. package/esm5/lib/http/http-result.class.js +0 -24
  108. package/esm5/lib/http/http.module.js +0 -33
  109. package/esm5/lib/http/http.service.js +0 -157
  110. package/esm5/lib/locale/en.json +0 -249
  111. package/esm5/lib/locale/fa.json +0 -238
  112. package/esm5/lib/pipe/datetime.pipe.js +0 -26
  113. package/esm5/lib/pipe/htmlToText.pipe.js +0 -26
  114. package/esm5/lib/services/config.js +0 -37
  115. package/esm5/lib/services/event.service.js +0 -37
  116. package/esm5/lib/services/navigator.service.js +0 -12
  117. package/esm5/lib/services/storage.service.js +0 -18
  118. package/esm5/lib/translator/translator.js +0 -34
  119. package/esm5/lib/translator/translator.module.js +0 -24
  120. package/esm5/lib/translator/translator.pipe.js +0 -25
  121. package/esm5/lib/translator/translator.service.js +0 -24
  122. package/esm5/lib/utils/array/array-util.js +0 -147
  123. package/esm5/lib/utils/html/html-util.js +0 -224
  124. package/esm5/lib/utils/html/html.module.js +0 -19
  125. package/esm5/lib/utils/math/math-util.js +0 -10
  126. package/esm5/lib/utils/object/object-util.js +0 -88
  127. package/esm5/lib/utils/render/on-demand-preload-strategy.service.js +0 -22
  128. package/esm5/lib/utils/render/render.service.js +0 -117
  129. package/esm5/lib/utils/render/rendering.module.js +0 -29
  130. package/esm5/lib/utils/scroll/scroll.directive.js +0 -68
  131. package/esm5/lib/utils/scroll/scroll.module.js +0 -19
  132. package/esm5/lib/utils/separator/separator.module.js +0 -19
  133. package/esm5/lib/utils/separator/separator.pipe.js +0 -25
  134. package/esm5/public-api.js +0 -36
  135. package/fesm5/acorex-core.js +0 -2274
  136. package/fesm5/acorex-core.js.map +0 -1
  137. package/lib/classes/base-page.class.d.ts +0 -10
  138. package/lib/classes/color.class.d.ts +0 -17
  139. package/lib/classes/datetime.class.d.ts +0 -63
  140. package/lib/classes/menu.class.d.ts +0 -33
  141. package/lib/classes/navigator.class.d.ts +0 -5
  142. package/lib/classes/popup.class.d.ts +0 -12
  143. package/lib/classes/promise.class.d.ts +0 -7
  144. package/lib/classes/sectionlist.class.d.ts +0 -8
  145. package/lib/classes/select.class.d.ts +0 -7
  146. package/lib/error/error.class.d.ts +0 -4
  147. package/lib/error/error.module.d.ts +0 -2
  148. package/lib/error/error.service.d.ts +0 -10
  149. package/lib/events/keyboard.d.ts +0 -2
  150. package/lib/http/http-error.class.d.ts +0 -7
  151. package/lib/http/http-events.interceptor.d.ts +0 -10
  152. package/lib/http/http-request.class.d.ts +0 -14
  153. package/lib/http/http-result.class.d.ts +0 -11
  154. package/lib/http/http.module.d.ts +0 -4
  155. package/lib/http/http.service.d.ts +0 -20
  156. package/lib/pipe/datetime.pipe.d.ts +0 -5
  157. package/lib/pipe/htmlToText.pipe.d.ts +0 -4
  158. package/lib/services/event.service.d.ts +0 -6
  159. package/lib/services/navigator.service.d.ts +0 -5
  160. package/lib/services/storage.service.d.ts +0 -4
  161. package/lib/translator/translator.module.d.ts +0 -3
  162. package/lib/translator/translator.pipe.d.ts +0 -5
  163. package/lib/translator/translator.service.d.ts +0 -5
  164. package/lib/utils/array/array-util.d.ts +0 -6
  165. package/lib/utils/html/html-util.d.ts +0 -62
  166. package/lib/utils/html/html.module.d.ts +0 -2
  167. package/lib/utils/math/math-util.d.ts +0 -3
  168. package/lib/utils/object/object-util.d.ts +0 -7
  169. package/lib/utils/render/on-demand-preload-strategy.service.d.ts +0 -7
  170. package/lib/utils/render/render.service.d.ts +0 -14
  171. package/lib/utils/render/rendering.module.d.ts +0 -4
  172. package/lib/utils/scroll/scroll.directive.d.ts +0 -13
  173. package/lib/utils/scroll/scroll.module.d.ts +0 -2
  174. package/lib/utils/separator/separator.module.d.ts +0 -2
  175. package/lib/utils/separator/separator.pipe.d.ts +0 -4
@@ -1,133 +0,0 @@
1
- import { AXFetchProp } from '../object/object-util';
2
- // @dynamic
3
- export class AXArrayUtil {
4
- static pickRandom(array) {
5
- return array[Math.floor(Math.random() * array.length)];
6
- }
7
- static insert(array, index, ...rest) {
8
- array.splice.apply(array, [index, 0].concat(Array.prototype.slice.call(rest, 1)));
9
- return array;
10
- }
11
- static range(min, max) {
12
- return new Array(max - min).fill(1).map((d, i) => i);
13
- }
14
- static filter(array, filters) {
15
- if (filters == null || filters.length === 0) {
16
- return array;
17
- }
18
- const lamda = (item) => {
19
- let result = true;
20
- for (const key in filters) {
21
- if (filters.hasOwnProperty(key)) {
22
- const f = filters[key];
23
- if (f !== 'AND') {
24
- const vals = [];
25
- const mt = f.field.match(/\[\:(.*?)\]/);
26
- if (mt && mt.length > 1) {
27
- const p1 = f.field.replace(mt[0], '');
28
- const p2 = mt[1];
29
- const prop = AXFetchProp(item, p1);
30
- if (prop instanceof Array && prop.length) {
31
- vals.push(...prop.map(m => (AXFetchProp(m, p2))));
32
- }
33
- else {
34
- result = false;
35
- }
36
- }
37
- else {
38
- vals.push(AXFetchProp(item, f.field));
39
- }
40
- for (const j in vals) {
41
- if (vals.hasOwnProperty(j)) {
42
- let v1 = vals[j];
43
- const v2 = f.value;
44
- if (f.dataType === 'string') {
45
- v1 = v1.toString();
46
- switch (f.condition) {
47
- case 'equal':
48
- result = (v1 && v2) && v1.toLowerCase() === v2.toLowerCase();
49
- break;
50
- case 'not-equal':
51
- result = !((v1 && v2) && v1.toLowerCase() === v2.toLowerCase());
52
- break;
53
- case 'contains':
54
- result = ((v1 && v2) && (v1.toLowerCase().includes(v2.toLowerCase())));
55
- break;
56
- case 'not-contains':
57
- result = !((v1 && v2) && (v1.toLowerCase().includes(v2.toLowerCase())));
58
- break;
59
- case 'start-with':
60
- result = ((v1 && v2) && (v1.toLowerCase().startsWith(v2.toLowerCase())));
61
- break;
62
- case 'end-with':
63
- result = ((v1 && v2) && (v1.toLowerCase().endsWith(v2.toLowerCase())));
64
- break;
65
- case 'is-empty':
66
- result = v1 == null || v1 === undefined;
67
- break;
68
- case 'is-not-empty':
69
- result = !(v1 == null || v1 === undefined);
70
- break;
71
- default:
72
- console.error('The condition is not defined');
73
- result = false;
74
- }
75
- }
76
- else if (f.dataType === 'date') {
77
- }
78
- else if (f.dataType === 'number') {
79
- v1 = Number(v1);
80
- switch (f.condition) {
81
- case 'equal':
82
- result = v1 === v2;
83
- break;
84
- case 'not-equal':
85
- result = v1 !== v2;
86
- break;
87
- case 'contains':
88
- result = v2 && v2 instanceof Array && v2.includes(v1);
89
- break;
90
- case 'less-than':
91
- result = v1 < v2;
92
- break;
93
- case 'less-than-equal':
94
- result = v1 <= v2;
95
- break;
96
- case 'greater-than':
97
- result = v1 > v2;
98
- break;
99
- case 'greater-than-equal':
100
- result = v1 >= v2;
101
- break;
102
- case 'is-empty':
103
- result = v1 == null || v1 === undefined;
104
- break;
105
- case 'is-not-empty':
106
- result = !(v1 == null || v1 === undefined);
107
- break;
108
- default:
109
- console.error('The condition is not defined');
110
- result = false;
111
- }
112
- }
113
- else {
114
- console.error('The datatype is not supported');
115
- result = false;
116
- }
117
- if (result) {
118
- break;
119
- }
120
- }
121
- }
122
- }
123
- if (!result) {
124
- return false;
125
- }
126
- }
127
- }
128
- return true;
129
- };
130
- return array.filter(lamda);
131
- }
132
- }
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktdXRpbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9hcnJheS9hcnJheS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxXQUFXO0FBQ1gsTUFBTSxPQUFPLFdBQVc7SUFHcEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFZO1FBQzFCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFHRCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQVksRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJO1FBQ3RDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEYsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBVyxFQUFFLEdBQVc7UUFDakMsT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQVksRUFBRSxPQUFjO1FBQ3RDLElBQUksT0FBTyxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN6QyxPQUFPLEtBQUss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LENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRmV0Y2hQcm9wIH0gZnJvbSAnLi4vb2JqZWN0L29iamVjdC11dGlsJztcclxuXHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBBWEFycmF5VXRpbCB7XHJcblxyXG5cclxuICAgIHN0YXRpYyBwaWNrUmFuZG9tKGFycmF5OiBhbnlbXSk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIGFycmF5W01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGFycmF5Lmxlbmd0aCldO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgaW5zZXJ0KGFycmF5OiBhbnlbXSwgaW5kZXgsIC4uLnJlc3QpIHtcclxuICAgICAgICBhcnJheS5zcGxpY2UuYXBwbHkoYXJyYXksIFtpbmRleCwgMF0uY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHJlc3QsIDEpKSk7XHJcbiAgICAgICAgcmV0dXJuIGFycmF5O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyByYW5nZShtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXJbXSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBcnJheShtYXggLSBtaW4pLmZpbGwoMSkubWFwKChkLCBpKSA9PiBpKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZmlsdGVyKGFycmF5OiBhbnlbXSwgZmlsdGVyczogYW55W10pOiBhbnlbXSB7XHJcbiAgICAgICAgaWYgKGZpbHRlcnMgPT0gbnVsbCB8fCBmaWx0ZXJzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gYXJyYXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGxhbWRhID0gKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHRydWU7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGZpbHRlcnMpIHtcclxuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmID0gZmlsdGVyc1trZXldO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChmICE9PSAnQU5EJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWxzID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG10ID0gZi5maWVsZC5tYXRjaCgvXFxbXFw6KC4qPylcXF0vKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG10ICYmIG10Lmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHAxID0gZi5maWVsZC5yZXBsYWNlKG10WzBdLCAnJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwMiA9IG10WzFdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvcCA9IEFYRmV0Y2hQcm9wKGl0ZW0sIHAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9wIGluc3RhbmNlb2YgQXJyYXkgJiYgcHJvcC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxzLnB1c2goLi4ucHJvcC5tYXAobSA9PiAoQVhGZXRjaFByb3AobSwgcDIpKSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHMucHVzaChBWEZldGNoUHJvcChpdGVtLCBmLmZpZWxkKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBqIGluIHZhbHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWxzLmhhc093blByb3BlcnR5KGopKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHYxID0gdmFsc1tqXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2MiA9IGYudmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGYuZGF0YVR5cGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYxID0gdjEudG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChmLmNvbmRpdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZXF1YWwnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICh2MSAmJiB2MikgJiYgdjEudG9Mb3dlckNhc2UoKSA9PT0gdjIudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ25vdC1lcXVhbCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gISgodjEgJiYgdjIpICYmIHYxLnRvTG93ZXJDYXNlKCkgPT09IHYyLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29udGFpbnMnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICgodjEgJiYgdjIpICYmICh2MS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHYyLnRvTG93ZXJDYXNlKCkpKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdub3QtY29udGFpbnMnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICEoKHYxICYmIHYyKSAmJiAodjEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh2Mi50b0xvd2VyQ2FzZSgpKSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnc3RhcnQtd2l0aCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gKCh2MSAmJiB2MikgJiYgKHYxLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCh2Mi50b0xvd2VyQ2FzZSgpKSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZW5kLXdpdGgnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICgodjEgJiYgdjIpICYmICh2MS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHYyLnRvTG93ZXJDYXNlKCkpKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdpcy1lbXB0eSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdjEgPT0gbnVsbCB8fCB2MSA9PT0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnaXMtbm90LWVtcHR5JzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSAhKHYxID09IG51bGwgfHwgdjEgPT09IHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZSBjb25kaXRpb24gaXMgbm90IGRlZmluZWQnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZi5kYXRhVHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChmLmRhdGFUeXBlID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2MSA9IE51bWJlcih2MSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZi5jb25kaXRpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2VxdWFsJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB2MSA9PT0gdjI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdub3QtZXF1YWwnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHYxICE9PSB2MjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvbnRhaW5zJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB2MiAmJiB2MiBpbnN0YW5jZW9mIEFycmF5ICYmIHYyLmluY2x1ZGVzKHYxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2xlc3MtdGhhbic6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdjEgPCB2MjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2xlc3MtdGhhbi1lcXVhbCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdjEgPD0gdjI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdncmVhdGVyLXRoYW4nOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHYxID4gdjI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdncmVhdGVyLXRoYW4tZXF1YWwnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHYxID49IHYyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnaXMtZW1wdHknOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHYxID09IG51bGwgfHwgdjEgPT09IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2lzLW5vdC1lbXB0eSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gISh2MSA9PSBudWxsIHx8IHYxID09PSB1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdUaGUgY29uZGl0aW9uIGlzIG5vdCBkZWZpbmVkJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdUaGUgZGF0YXR5cGUgaXMgbm90IHN1cHBvcnRlZCcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBhcnJheS5maWx0ZXIobGFtZGEpO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbiJdfQ==
@@ -1,192 +0,0 @@
1
- import { AXMathUtil } from '../math/math-util';
2
- export class AXPoint {
3
- constructor(x, y) {
4
- this.x = x;
5
- this.y = y;
6
- }
7
- }
8
- export class AXClientRec {
9
- constructor(rec) {
10
- this._left = rec.left;
11
- this._top = rec.top;
12
- this._width = rec.width;
13
- this._height = rec.height;
14
- this._right = this._left + this._width;
15
- this._bottom = this._top + this._height;
16
- }
17
- get left() {
18
- return this._left;
19
- }
20
- set left(v) {
21
- this._left = v;
22
- }
23
- get top() {
24
- return this._top;
25
- }
26
- set top(v) {
27
- this._top = v;
28
- }
29
- get right() {
30
- return this._right;
31
- }
32
- set right(v) {
33
- this._right = v;
34
- }
35
- get bottom() {
36
- return this._bottom;
37
- }
38
- set bottom(v) {
39
- this._bottom = v;
40
- }
41
- get width() {
42
- return this._width;
43
- }
44
- set width(v) {
45
- this._width = v;
46
- }
47
- get height() {
48
- return this._height;
49
- }
50
- set height(v) {
51
- this._height = v;
52
- }
53
- intersect(rec) {
54
- return (this.left < rec.left + rec.width &&
55
- this.left + this.width > rec.left &&
56
- this.top < rec.top + rec.height &&
57
- this.top + this.height > rec.top);
58
- }
59
- }
60
- // @dynamic
61
- export class AXHtmlUtil {
62
- static getBoundingRectPoint(el, placement) {
63
- const rec = el.getBoundingClientRect();
64
- const width = el.offsetWidth;
65
- const height = el.offsetHeight;
66
- switch (placement) {
67
- case 'top-start':
68
- return new AXPoint(rec.left, rec.top);
69
- case 'top-middle':
70
- return new AXPoint(rec.left + (width / 2), rec.top);
71
- case 'top-end':
72
- return new AXPoint(rec.left + (width), rec.top);
73
- case 'center-end':
74
- return new AXPoint(rec.left + (width), rec.top + (height / 2));
75
- case 'bottom-end':
76
- return new AXPoint(rec.left + (width), rec.top + (height));
77
- case 'bottom-middle':
78
- return new AXPoint(rec.left + (width / 2), rec.top + (height));
79
- case 'bottom-start':
80
- return new AXPoint(rec.left, rec.top + (height));
81
- case 'center-start':
82
- return new AXPoint(rec.left, rec.top + (height / 2));
83
- default:
84
- return new AXPoint(rec.left + (width / 2), rec.top + (height));
85
- }
86
- }
87
- static isInRecPoint(pos, rec) {
88
- return pos.x >= rec.left && pos.x <= (rec.left + rec.width) && pos.y >= rec.top && (pos.y <= (rec.top + rec.height));
89
- }
90
- // static isOverLap(rec1: AXClientRecCtor, rec2: AXClientRecCtor): boolean {
91
- // const r1: AXClientRec = new AXClientRec(rec1);
92
- // const r2: AXClientRec = new AXClientRec(rec2);
93
- // return ;
94
- // }
95
- static isInElementBound(pos, element) {
96
- const elBound = element.getBoundingClientRect();
97
- return AXHtmlUtil.isInRecPoint(pos, {
98
- left: elBound.left,
99
- width: elBound.width,
100
- top: elBound.top,
101
- height: elBound.height
102
- });
103
- }
104
- static getDimensions() {
105
- let winW = 630;
106
- let winH = 460;
107
- if (document.body && document.body.offsetWidth) {
108
- winW = document.body.offsetWidth;
109
- winH = document.body.offsetHeight;
110
- }
111
- if (document.compatMode === 'CSS1Compat' && document.documentElement && document.documentElement.offsetWidth) {
112
- winW = document.documentElement.offsetWidth;
113
- winH = document.documentElement.offsetHeight;
114
- }
115
- if (window.innerWidth && window.innerHeight) {
116
- winW = window.innerWidth;
117
- winH = window.innerHeight;
118
- }
119
- return { width: winW, height: winH };
120
- }
121
- static getOffsetRight(elem) {
122
- let element = elem;
123
- const width = element.offsetWidth;
124
- let right = 0;
125
- while (element.offsetParent) {
126
- right += element.offsetLeft;
127
- element = element.offsetParent;
128
- }
129
- right += element.offsetLeft;
130
- right = AXHtmlUtil.getDimensions().width - right;
131
- right -= width;
132
- return right;
133
- }
134
- static getUID() {
135
- return 'el-' + AXMathUtil.randomRange(1000000000, 9999999999).toString();
136
- }
137
- static getRelatedPosition(source, placement, target, alignment) {
138
- const result = { x: 0, y: 0 };
139
- const sourcePos = AXHtmlUtil.getBoundingRectPoint(source, placement);
140
- let top = 0;
141
- let left = 0;
142
- switch (alignment) {
143
- case 'top-start':
144
- top = sourcePos.y;
145
- left = sourcePos.x;
146
- break;
147
- case 'top-middle':
148
- top = sourcePos.y;
149
- left = sourcePos.x - target.offsetWidth / 2;
150
- break;
151
- case 'top-end':
152
- top = sourcePos.y;
153
- left = sourcePos.x - target.offsetWidth;
154
- break;
155
- case 'center-end':
156
- top = sourcePos.y - target.offsetHeight / 2;
157
- left = sourcePos.x - target.offsetWidth;
158
- break;
159
- case 'bottom-end':
160
- top = sourcePos.y - target.offsetHeight;
161
- left = sourcePos.x - target.offsetWidth;
162
- break;
163
- case 'bottom-middle':
164
- top = sourcePos.y - target.offsetHeight;
165
- left = sourcePos.x - target.offsetWidth / 2;
166
- break;
167
- case 'bottom-start':
168
- top = sourcePos.y - target.offsetHeight;
169
- left = sourcePos.x;
170
- break;
171
- case 'center-start':
172
- top = sourcePos.y - target.offsetHeight / 2;
173
- left = sourcePos.x;
174
- break;
175
- }
176
- result.y = top;
177
- result.x = left;
178
- return result;
179
- }
180
- static collision(a, b) {
181
- const ac = a.getBoundingClientRect();
182
- const bc = b.getBoundingClientRect();
183
- if (ac.left < bc.left + bc.width && ac.left + ac.width > bc.left &&
184
- ac.top < bc.top + bc.height && ac.top + ac.height > bc.top) {
185
- return true;
186
- }
187
- else {
188
- return false;
189
- }
190
- }
191
- }
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC11dGlsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9jb3JlLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL2h0bWwvaHRtbC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQTJCL0MsTUFBTSxPQUFPLE9BQU87SUFDbEIsWUFBbUIsQ0FBUyxFQUFTLENBQVM7UUFBM0IsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUFTLE1BQUMsR0FBRCxDQUFDLENBQVE7SUFDOUMsQ0FBQztDQUNGO0FBVUQsTUFBTSxPQUFPLFdBQVc7SUEwRHRCLFlBQVksR0FBb0I7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzFDLENBQUM7SUE3REQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFXLElBQUksQ0FBQyxDQUFTO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFJRCxJQUFXLEdBQUc7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQVcsR0FBRyxDQUFDLENBQVM7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENB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Q0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDckMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFckMsSUFBSSxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUk7WUFDOUQsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUU7WUFDNUQsT0FBTyxJQUFJLENBQUM7U0FDYjthQUNJO1lBQ0gsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTWF0aFV0aWwgfSBmcm9tICcuLi9tYXRoL21hdGgtdXRpbCc7XHJcblxyXG5leHBvcnQgdHlwZSBBWFBsYWNlbWVudCA9XHJcbiAgfCAndG9wLXN0YXJ0J1xyXG4gIHwgJ3RvcC1taWRkbGUnXHJcbiAgfCAndG9wLWVuZCdcclxuICB8ICdjZW50ZXItc3RhcnQnXHJcbiAgfCAnY2VudGVyLWVuZCdcclxuICB8ICdib3R0b20tc3RhcnQnXHJcbiAgfCAnYm90dG9tLW1pZGRsZSdcclxuICB8ICdib3R0b20tZW5kJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhJUG9pbnQge1xyXG4gIHg6IG51bWJlcjtcclxuICB5OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhDb25uZWN0ZWRQb3NpdGlvbiB7XHJcbiAgb3JpZ2luWDogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XHJcbiAgb3JpZ2luWTogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nO1xyXG4gIG92ZXJsYXlYOiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJztcclxuICBvdmVybGF5WTogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nO1xyXG4gIHdlaWdodD86IG51bWJlcjtcclxuICBvZmZzZXRYPzogbnVtYmVyO1xyXG4gIG9mZnNldFk/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBWFBvaW50IGltcGxlbWVudHMgQVhJUG9pbnQge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB4OiBudW1iZXIsIHB1YmxpYyB5OiBudW1iZXIpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhDbGllbnRSZWNDdG9yIHtcclxuICBsZWZ0PzogbnVtYmVyO1xyXG4gIHRvcD86IG51bWJlcjtcclxuICB3aWR0aD86IG51bWJlcjtcclxuICBoZWlnaHQ/OiBudW1iZXI7XHJcbiAgYm90dG9tPzogbnVtYmVyO1xyXG4gIHJpZ2h0PzogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBBWENsaWVudFJlYyBpbXBsZW1lbnRzIEFYQ2xpZW50UmVjQ3RvciB7XHJcblxyXG5cclxuICBwcml2YXRlIF9sZWZ0OiBudW1iZXI7XHJcbiAgcHVibGljIGdldCBsZWZ0KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGVmdDtcclxuICB9XHJcbiAgcHVibGljIHNldCBsZWZ0KHY6IG51bWJlcikge1xyXG4gICAgdGhpcy5fbGVmdCA9IHY7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBfdG9wOiBudW1iZXI7XHJcbiAgcHVibGljIGdldCB0b3AoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl90b3A7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgdG9wKHY6IG51bWJlcikge1xyXG4gICAgdGhpcy5fdG9wID0gdjtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9yaWdodDogbnVtYmVyO1xyXG4gIHB1YmxpYyBnZXQgcmlnaHQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9yaWdodDtcclxuICB9XHJcbiAgcHVibGljIHNldCByaWdodCh2OiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3JpZ2h0ID0gdjtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9ib3R0b206IG51bWJlcjtcclxuICBwdWJsaWMgZ2V0IGJvdHRvbSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2JvdHRvbTtcclxuICB9XHJcbiAgcHVibGljIHNldCBib3R0b20odjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9ib3R0b20gPSB2O1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBwcml2YXRlIF93aWR0aDogbnVtYmVyO1xyXG4gIHB1YmxpYyBnZXQgd2lkdGgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl93aWR0aDtcclxuICB9XHJcbiAgcHVibGljIHNldCB3aWR0aCh2OiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3dpZHRoID0gdjtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9oZWlnaHQ6IG51bWJlcjtcclxuICBwdWJsaWMgZ2V0IGhlaWdodCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hlaWdodDtcclxuICB9XHJcbiAgcHVibGljIHNldCBoZWlnaHQodjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9oZWlnaHQgPSB2O1xyXG4gIH1cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlYzogQVhDbGllbnRSZWNDdG9yKSB7XHJcbiAgICB0aGlzLl9sZWZ0ID0gcmVjLmxlZnQ7XHJcbiAgICB0aGlzLl90b3AgPSByZWMudG9wO1xyXG4gICAgdGhpcy5fd2lkdGggPSByZWMud2lkdGg7XHJcbiAgICB0aGlzLl9oZWlnaHQgPSByZWMuaGVpZ2h0O1xyXG4gICAgdGhpcy5fcmlnaHQgPSB0aGlzLl9sZWZ0ICsgdGhpcy5fd2lkdGg7XHJcbiAgICB0aGlzLl9ib3R0b20gPSB0aGlzLl90b3AgKyB0aGlzLl9oZWlnaHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW50ZXJzZWN0KHJlYzogQVhDbGllbnRSZWNDdG9yKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKHRoaXMubGVmdCA8IHJlYy5sZWZ0ICsgcmVjLndpZHRoICYmXHJcbiAgICAgIHRoaXMubGVmdCArIHRoaXMud2lkdGggPiByZWMubGVmdCAmJlxyXG4gICAgICB0aGlzLnRvcCA8IHJlYy50b3AgKyByZWMuaGVpZ2h0ICYmXHJcbiAgICAgIHRoaXMudG9wICsgdGhpcy5oZWlnaHQgPiByZWMudG9wKTtcclxuICB9XHJcblxyXG5cclxufVxyXG4vLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgQVhIdG1sVXRpbCB7XHJcbiAgc3RhdGljIGdldEJvdW5kaW5nUmVjdFBvaW50KGVsOiBIVE1MRWxlbWVudCwgcGxhY2VtZW50OiBBWFBsYWNlbWVudCk6IEFYUG9pbnQge1xyXG4gICAgY29uc3QgcmVjID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCB3aWR0aCA9IGVsLm9mZnNldFdpZHRoO1xyXG4gICAgY29uc3QgaGVpZ2h0ID0gZWwub2Zmc2V0SGVpZ2h0O1xyXG4gICAgc3dpdGNoIChwbGFjZW1lbnQpIHtcclxuICAgICAgY2FzZSAndG9wLXN0YXJ0JzpcclxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQsIHJlYy50b3ApO1xyXG4gICAgICBjYXNlICd0b3AtbWlkZGxlJzpcclxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQgKyAod2lkdGggLyAyKSwgcmVjLnRvcCk7XHJcbiAgICAgIGNhc2UgJ3RvcC1lbmQnOlxyXG4gICAgICAgIHJldHVybiBuZXcgQVhQb2ludChyZWMubGVmdCArICh3aWR0aCksIHJlYy50b3ApO1xyXG4gICAgICBjYXNlICdjZW50ZXItZW5kJzpcclxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQgKyAod2lkdGgpLCByZWMudG9wICsgKGhlaWdodCAvIDIpKTtcclxuICAgICAgY2FzZSAnYm90dG9tLWVuZCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoKSwgcmVjLnRvcCArIChoZWlnaHQpKTtcclxuICAgICAgY2FzZSAnYm90dG9tLW1pZGRsZSc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoIC8gMiksIHJlYy50b3AgKyAoaGVpZ2h0KSk7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1zdGFydCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0LCByZWMudG9wICsgKGhlaWdodCkpO1xyXG4gICAgICBjYXNlICdjZW50ZXItc3RhcnQnOlxyXG4gICAgICAgIHJldHVybiBuZXcgQVhQb2ludChyZWMubGVmdCwgcmVjLnRvcCArIChoZWlnaHQgLyAyKSk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoIC8gMiksIHJlYy50b3AgKyAoaGVpZ2h0KSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaXNJblJlY1BvaW50KHBvczogQVhJUG9pbnQsIHJlYzogQVhDbGllbnRSZWNDdG9yKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gcG9zLnggPj0gcmVjLmxlZnQgJiYgcG9zLnggPD0gKHJlYy5sZWZ0ICsgcmVjLndpZHRoKSAmJiBwb3MueSA+PSByZWMudG9wICYmIChwb3MueSA8PSAocmVjLnRvcCArIHJlYy5oZWlnaHQpKTtcclxuICB9XHJcblxyXG4gIC8vIHN0YXRpYyBpc092ZXJMYXAocmVjMTogQVhDbGllbnRSZWNDdG9yLCByZWMyOiBBWENsaWVudFJlY0N0b3IpOiBib29sZWFuIHtcclxuICAvLyAgIGNvbnN0IHIxOiBBWENsaWVudFJlYyA9IG5ldyBBWENsaWVudFJlYyhyZWMxKTtcclxuICAvLyAgIGNvbnN0IHIyOiBBWENsaWVudFJlYyA9IG5ldyBBWENsaWVudFJlYyhyZWMyKTtcclxuXHJcbiAgLy8gICByZXR1cm4gO1xyXG4gIC8vIH1cclxuXHJcbiAgc3RhdGljIGlzSW5FbGVtZW50Qm91bmQocG9zOiBBWElQb2ludCwgZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGVsQm91bmQgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgcmV0dXJuIEFYSHRtbFV0aWwuaXNJblJlY1BvaW50KHBvcywge1xyXG4gICAgICBsZWZ0OiBlbEJvdW5kLmxlZnQsXHJcbiAgICAgIHdpZHRoOiBlbEJvdW5kLndpZHRoLFxyXG4gICAgICB0b3A6IGVsQm91bmQudG9wLFxyXG4gICAgICBoZWlnaHQ6IGVsQm91bmQuaGVpZ2h0XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXREaW1lbnNpb25zKCk6IHsgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIgfSB7XHJcbiAgICBsZXQgd2luVyA9IDYzMDtcclxuICAgIGxldCB3aW5IID0gNDYwO1xyXG4gICAgaWYgKGRvY3VtZW50LmJvZHkgJiYgZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCkge1xyXG4gICAgICB3aW5XID0gZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDtcclxuICAgICAgd2luSCA9IGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgaWYgKGRvY3VtZW50LmNvbXBhdE1vZGUgPT09ICdDU1MxQ29tcGF0JyAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9mZnNldFdpZHRoKSB7XHJcbiAgICAgIHdpblcgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGg7XHJcbiAgICAgIHdpbkggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoICYmIHdpbmRvdy5pbm5lckhlaWdodCkge1xyXG4gICAgICB3aW5XID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICAgIHdpbkggPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4geyB3aWR0aDogd2luVywgaGVpZ2h0OiB3aW5IIH07XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0T2Zmc2V0UmlnaHQoZWxlbTogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xyXG4gICAgbGV0IGVsZW1lbnQgPSBlbGVtO1xyXG4gICAgY29uc3Qgd2lkdGggPSBlbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgbGV0IHJpZ2h0ID0gMDtcclxuICAgIHdoaWxlIChlbGVtZW50Lm9mZnNldFBhcmVudCkge1xyXG4gICAgICByaWdodCArPSBlbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICAgIGVsZW1lbnQgPSBlbGVtZW50Lm9mZnNldFBhcmVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgIH1cclxuICAgIHJpZ2h0ICs9IGVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIHJpZ2h0ID0gQVhIdG1sVXRpbC5nZXREaW1lbnNpb25zKCkud2lkdGggLSByaWdodDtcclxuICAgIHJpZ2h0IC09IHdpZHRoO1xyXG4gICAgcmV0dXJuIHJpZ2h0O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldFVJRCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICdlbC0nICsgQVhNYXRoVXRpbC5yYW5kb21SYW5nZSgxMDAwMDAwMDAwLCA5OTk5OTk5OTk5KS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcblxyXG4gIHN0YXRpYyBnZXRSZWxhdGVkUG9zaXRpb24oc291cmNlOiBIVE1MRWxlbWVudCwgcGxhY2VtZW50OiBBWFBsYWNlbWVudCwgdGFyZ2V0OiBIVE1MRWxlbWVudCwgYWxpZ25tZW50OiBBWFBsYWNlbWVudCk6IEFYSVBvaW50IHtcclxuICAgIGNvbnN0IHJlc3VsdDogQVhJUG9pbnQgPSB7IHg6IDAsIHk6IDAgfTtcclxuXHJcbiAgICBjb25zdCBzb3VyY2VQb3M6IEFYUG9pbnQgPSBBWEh0bWxVdGlsLmdldEJvdW5kaW5nUmVjdFBvaW50KHNvdXJjZSwgcGxhY2VtZW50KTtcclxuXHJcblxyXG4gICAgbGV0IHRvcDogbnVtYmVyID0gMDtcclxuICAgIGxldCBsZWZ0OiBudW1iZXIgPSAwO1xyXG4gICAgc3dpdGNoIChhbGlnbm1lbnQpIHtcclxuICAgICAgY2FzZSAndG9wLXN0YXJ0JzpcclxuICAgICAgICB0b3AgPSBzb3VyY2VQb3MueTtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLng7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3RvcC1taWRkbGUnOlxyXG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55O1xyXG4gICAgICAgIGxlZnQgPSBzb3VyY2VQb3MueCAtIHRhcmdldC5vZmZzZXRXaWR0aCAvIDI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3RvcC1lbmQnOlxyXG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55O1xyXG4gICAgICAgIGxlZnQgPSBzb3VyY2VQb3MueCAtIHRhcmdldC5vZmZzZXRXaWR0aDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2VudGVyLWVuZCc6XHJcbiAgICAgICAgdG9wID0gc291cmNlUG9zLnkgLSB0YXJnZXQub2Zmc2V0SGVpZ2h0IC8gMjtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLnggLSB0YXJnZXQub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1lbmQnOlxyXG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55IC0gdGFyZ2V0Lm9mZnNldEhlaWdodDtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLnggLSB0YXJnZXQub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1taWRkbGUnOlxyXG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55IC0gdGFyZ2V0Lm9mZnNldEhlaWdodDtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLnggLSB0YXJnZXQub2Zmc2V0V2lkdGggLyAyO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20tc3RhcnQnOlxyXG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55IC0gdGFyZ2V0Lm9mZnNldEhlaWdodDtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLng7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NlbnRlci1zdGFydCc6XHJcbiAgICAgICAgdG9wID0gc291cmNlUG9zLnkgLSB0YXJnZXQub2Zmc2V0SGVpZ2h0IC8gMjtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLng7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXN1bHQueSA9IHRvcDtcclxuICAgIHJlc3VsdC54ID0gbGVmdDtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RhdGljIGNvbGxpc2lvbihhOiBIVE1MRWxlbWVudCwgYjogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGFjID0gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IGJjID0gYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICBpZiAoYWMubGVmdCA8IGJjLmxlZnQgKyBiYy53aWR0aCAmJiBhYy5sZWZ0ICsgYWMud2lkdGggPiBiYy5sZWZ0ICYmXHJcbiAgICAgIGFjLnRvcCA8IGJjLnRvcCArIGJjLmhlaWdodCAmJiBhYy50b3AgKyBhYy5oZWlnaHQgPiBiYy50b3ApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,16 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
- import { AXHtmlToTextPipe } from '../../pipe/htmlToText.pipe';
5
- let AXHtmlModule = class AXHtmlModule {
6
- };
7
- AXHtmlModule = __decorate([
8
- NgModule({
9
- declarations: [AXHtmlToTextPipe],
10
- imports: [CommonModule],
11
- exports: [AXHtmlToTextPipe],
12
- providers: []
13
- })
14
- ], AXHtmlModule);
15
- export { AXHtmlModule };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvcmV4L2NvcmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvaHRtbC9odG1sLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFROUQsSUFBYSxZQUFZLEdBQXpCLE1BQWEsWUFBWTtDQUFJLENBQUE7QUFBaEIsWUFBWTtJQU54QixRQUFRLENBQUM7UUFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7UUFDdkIsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7UUFDM0IsU0FBUyxFQUFFLEVBQUU7S0FDZCxDQUFDO0dBQ1csWUFBWSxDQUFJO1NBQWhCLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBWEh0bWxUb1RleHRQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZS9odG1sVG9UZXh0LnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtBWEh0bWxUb1RleHRQaXBlXSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBleHBvcnRzOiBbQVhIdG1sVG9UZXh0UGlwZV0sXHJcbiAgcHJvdmlkZXJzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhIdG1sTW9kdWxlIHsgfVxyXG4iXX0=
@@ -1,6 +0,0 @@
1
- export class AXMathUtil {
2
- static randomRange(min, max) {
3
- return Math.floor(Math.random() * (max - min + 1) + min);
4
- }
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC11dGlsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9jb3JlLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL21hdGgvbWF0aC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxVQUFVO0lBQ25CLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBVyxFQUFFLEdBQVc7UUFDdkMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEFYTWF0aFV0aWwge1xyXG4gICAgc3RhdGljIHJhbmRvbVJhbmdlKG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChtYXggLSBtaW4gKyAxKSArIG1pbik7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,83 +0,0 @@
1
- // @dynamic
2
- export class AXObjectUtil {
3
- static deepJSONClone(obj) {
4
- return obj ? JSON.parse(JSON.stringify(obj)) : null;
5
- }
6
- static deepCopy(obj) {
7
- let copy;
8
- // Handle the 3 simple types, and null or undefined
9
- if (null == obj || 'object' !== typeof obj) {
10
- return obj;
11
- }
12
- // Handle Date
13
- if (obj instanceof Date) {
14
- copy = new Date();
15
- copy.setTime(obj.getTime());
16
- return copy;
17
- }
18
- // Handle Array
19
- if (obj instanceof Array) {
20
- copy = [];
21
- for (let i = 0, len = obj.length; i < len; i++) {
22
- copy[i] = AXObjectUtil.deepCopy(obj[i]);
23
- }
24
- return copy;
25
- }
26
- // Handle Object
27
- if (obj instanceof Object) {
28
- copy = {};
29
- for (const attr in obj) {
30
- if (obj.hasOwnProperty(attr)) {
31
- copy[attr] = AXObjectUtil.deepCopy(obj[attr]);
32
- }
33
- }
34
- return copy;
35
- }
36
- throw new Error('Unable to copy obj! Its type isn\'t supported.');
37
- }
38
- }
39
- export function AXFetchProp(obj, prop) {
40
- if (typeof obj === 'undefined') {
41
- return false;
42
- }
43
- const index = prop.indexOf('.');
44
- if (index > -1) {
45
- return AXFetchProp(obj[prop.substring(0, index)], prop.substr(index + 1));
46
- }
47
- return obj[prop];
48
- }
49
- export function getPropByPath(obj, path, defaultVal) {
50
- path = path
51
- .replace(/\[/g, '.')
52
- .replace(/]/g, '')
53
- .split('.');
54
- path.forEach((level) => {
55
- if (obj) {
56
- obj = obj[level];
57
- }
58
- });
59
- if (obj === undefined) {
60
- return defaultVal;
61
- }
62
- return obj;
63
- }
64
- export function setPropByPath(obj, path, value) {
65
- if (Object(obj) !== obj) {
66
- return obj;
67
- } // When obj is not an object
68
- // If not yet an array, get the keys from the string-path
69
- if (!Array.isArray(path)) {
70
- path = path.toString().match(/[^.[\]]+/g) || [];
71
- }
72
- path.slice(0, -1).reduce((a, c, i) => // Iterate all of them except the last one
73
- Object(a[c]) === a[c] // Does the key exist and is its value an object?
74
- // Yes: then follow that path
75
- ? a[c]
76
- // No: create the key. Is the next key a potential array-index?
77
- : a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1]
78
- ? [] // Yes: assign a new array object
79
- : {}, // No: assign a new plain object
80
- obj)[path[path.length - 1]] = value; // Finally assign the value to the last key
81
- return obj; // Return the top-level object to allow chaining
82
- }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvcmV4L2NvcmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvb2JqZWN0L29iamVjdC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFdBQVc7QUFDWCxNQUFNLE9BQU8sWUFBWTtJQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLEdBQVE7UUFDekIsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRztRQUNmLElBQUksSUFBSSxDQUFDO1FBQ1QsbURBQW1EO1FBQ25ELElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxRQUFRLEtBQUssT0FBTyxHQUFHLEVBQUU7WUFBRSxPQUFPLEdBQUcsQ0FBQztTQUFFO1FBQzNELGNBQWM7UUFDZCxJQUFJLEdBQUcsWUFBWSxJQUFJLEVBQUU7WUFDckIsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsZUFBZTtRQUNmLElBQUksR0FBRyxZQUFZLEtBQUssRUFBRTtZQUN0QixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1YsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDNUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDM0M7WUFDRCxPQUFPLElBQUksQ0FBQztT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LENBQUMsaUNBQWlDO1lBQ3RDLENBQUMsQ0FBQyxFQUFFLEVBQUUsZ0NBQWdDO0lBQzlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO0lBQ3BGLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0RBQWdEO0FBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgQVhPYmplY3RVdGlsIHtcclxuICAgIHN0YXRpYyBkZWVwSlNPTkNsb25lKG9iajogYW55KTogYW55IHtcclxuICAgICAgICByZXR1cm4gb2JqID8gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvYmopKSA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGRlZXBDb3B5KG9iaikge1xyXG4gICAgICAgIGxldCBjb3B5O1xyXG4gICAgICAgIC8vIEhhbmRsZSB0aGUgMyBzaW1wbGUgdHlwZXMsIGFuZCBudWxsIG9yIHVuZGVmaW5lZFxyXG4gICAgICAgIGlmIChudWxsID09IG9iaiB8fCAnb2JqZWN0JyAhPT0gdHlwZW9mIG9iaikgeyByZXR1cm4gb2JqOyB9XHJcbiAgICAgICAgLy8gSGFuZGxlIERhdGVcclxuICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgICAgICBjb3B5ID0gbmV3IERhdGUoKTtcclxuICAgICAgICAgICAgY29weS5zZXRUaW1lKG9iai5nZXRUaW1lKCkpO1xyXG4gICAgICAgICAgICByZXR1cm4gY29weTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSGFuZGxlIEFycmF5XHJcbiAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICAgIGNvcHkgPSBbXTtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IG9iai5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29weVtpXSA9IEFYT2JqZWN0VXRpbC5kZWVwQ29weShvYmpbaV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBjb3B5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBIYW5kbGUgT2JqZWN0XHJcbiAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIE9iamVjdCkge1xyXG4gICAgICAgICAgICBjb3B5ID0ge307XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgYXR0ciBpbiBvYmopIHtcclxuICAgICAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoYXR0cikpIHsgY29weVthdHRyXSA9IEFYT2JqZWN0VXRpbC5kZWVwQ29weShvYmpbYXR0cl0pOyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGNvcHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGNvcHkgb2JqISBJdHMgdHlwZSBpc25cXCd0IHN1cHBvcnRlZC4nKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEFYRmV0Y2hQcm9wKG9iaiwgcHJvcDogc3RyaW5nKSB7XHJcbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBjb25zdCBpbmRleCA9IHByb3AuaW5kZXhPZignLicpO1xyXG5cclxuICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgcmV0dXJuIEFYRmV0Y2hQcm9wKG9ialtwcm9wLnN1YnN0cmluZygwLCBpbmRleCldLCBwcm9wLnN1YnN0cihpbmRleCArIDEpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2JqW3Byb3BdO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJvcEJ5UGF0aChvYmosIHBhdGgsIGRlZmF1bHRWYWw/KSB7XHJcbiAgICBwYXRoID0gcGF0aFxyXG4gICAgICAgIC5yZXBsYWNlKC9cXFsvZywgJy4nKVxyXG4gICAgICAgIC5yZXBsYWNlKC9dL2csICcnKVxyXG4gICAgICAgIC5zcGxpdCgnLicpO1xyXG5cclxuICAgIHBhdGguZm9yRWFjaCgobGV2ZWwpID0+IHtcclxuICAgICAgICBpZiAob2JqKSB7XHJcbiAgICAgICAgICAgIG9iaiA9IG9ialtsZXZlbF07XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2JqO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2V0UHJvcEJ5UGF0aChvYmosIHBhdGgsIHZhbHVlKSB7XHJcbiAgICBpZiAoT2JqZWN0KG9iaikgIT09IG9iaikgeyByZXR1cm4gb2JqOyB9IC8vIFdoZW4gb2JqIGlzIG5vdCBhbiBvYmplY3RcclxuICAgIC8vIElmIG5vdCB5ZXQgYW4gYXJyYXksIGdldCB0aGUga2V5cyBmcm9tIHRoZSBzdHJpbmctcGF0aFxyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBhdGgpKSB7IHBhdGggPSBwYXRoLnRvU3RyaW5nKCkubWF0Y2goL1teLltcXF1dKy9nKSB8fCBbXTsgfVxyXG4gICAgcGF0aC5zbGljZSgwLCAtMSkucmVkdWNlKChhLCBjLCBpKSA9PiAvLyBJdGVyYXRlIGFsbCBvZiB0aGVtIGV4Y2VwdCB0aGUgbGFzdCBvbmVcclxuICAgICAgICBPYmplY3QoYVtjXSkgPT09IGFbY10gLy8gRG9lcyB0aGUga2V5IGV4aXN0IGFuZCBpcyBpdHMgdmFsdWUgYW4gb2JqZWN0P1xyXG4gICAgICAgICAgICAvLyBZZXM6IHRoZW4gZm9sbG93IHRoYXQgcGF0aFxyXG4gICAgICAgICAgICA/IGFbY11cclxuICAgICAgICAgICAgLy8gTm86IGNyZWF0ZSB0aGUga2V5LiBJcyB0aGUgbmV4dCBrZXkgYSBwb3RlbnRpYWwgYXJyYXktaW5kZXg/XHJcbiAgICAgICAgICAgIDogYVtjXSA9IE1hdGguYWJzKHBhdGhbaSArIDFdKSA+PiAwID09PSArcGF0aFtpICsgMV1cclxuICAgICAgICAgICAgICAgID8gW10gLy8gWWVzOiBhc3NpZ24gYSBuZXcgYXJyYXkgb2JqZWN0XHJcbiAgICAgICAgICAgICAgICA6IHt9LCAvLyBObzogYXNzaWduIGEgbmV3IHBsYWluIG9iamVjdFxyXG4gICAgICAgIG9iailbcGF0aFtwYXRoLmxlbmd0aCAtIDFdXSA9IHZhbHVlOyAvLyBGaW5hbGx5IGFzc2lnbiB0aGUgdmFsdWUgdG8gdGhlIGxhc3Qga2V5XHJcbiAgICByZXR1cm4gb2JqOyAvLyBSZXR1cm4gdGhlIHRvcC1sZXZlbCBvYmplY3QgdG8gYWxsb3cgY2hhaW5pbmdcclxufVxyXG5cclxuXHJcbiJdfQ==
@@ -1,21 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { Subject } from 'rxjs';
4
- import { AXHtmlUtil } from '../html/html-util';
5
- let AXOnDemandPreloadService = class AXOnDemandPreloadService {
6
- constructor() {
7
- this.subject = new Subject();
8
- this.tmp = AXHtmlUtil.getUID();
9
- }
10
- startPreload(routePath) {
11
- const slices = [];
12
- this.subject.next(routePath);
13
- //console.log('ss', this.tmp);
14
- }
15
- };
16
- AXOnDemandPreloadService = __decorate([
17
- Injectable(),
18
- __metadata("design:paramtypes", [])
19
- ], AXOnDemandPreloadService);
20
- export { AXOnDemandPreloadService };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24tZGVtYW5kLXByZWxvYWQtc3RyYXRlZ3kuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9yZW5kZXIvb24tZGVtYW5kLXByZWxvYWQtc3RyYXRlZ3kuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFrQixNQUFNLE1BQU0sQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFNL0MsSUFBYSx3QkFBd0IsR0FBckMsTUFBYSx3QkFBd0I7SUFJbkM7UUFIQSxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUk5QixJQUFJLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztRQUc1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3Qiw4QkFBOEI7SUFDaEMsQ0FBQztDQUNGLENBQUE7QUFmWSx3QkFBd0I7SUFEcEMsVUFBVSxFQUFFOztHQUNBLHdCQUF3QixDQWVwQztTQWZZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByZWxvYWRpbmdTdHJhdGVneSwgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBWEh0bWxVdGlsIH0gZnJvbSAnLi4vaHRtbC9odG1sLXV0aWwnO1xyXG5cclxuXHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlIHtcclxuICBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIHRtcDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMudG1wID0gQVhIdG1sVXRpbC5nZXRVSUQoKTtcclxuICB9XHJcblxyXG4gIHN0YXJ0UHJlbG9hZChyb3V0ZVBhdGg6IHN0cmluZykge1xyXG4gICAgY29uc3Qgc2xpY2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICBcclxuXHJcbiAgICB0aGlzLnN1YmplY3QubmV4dChyb3V0ZVBhdGgpO1xyXG4gICAgLy9jb25zb2xlLmxvZygnc3MnLCB0aGlzLnRtcCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==