@acorex/core 1.3.90
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/acorex-core.d.ts +4 -0
- package/acorex-core.metadata.json +1 -0
- package/bundles/acorex-core.umd.js +2539 -0
- package/bundles/acorex-core.umd.js.map +1 -0
- package/bundles/acorex-core.umd.min.js +17 -0
- package/bundles/acorex-core.umd.min.js.map +1 -0
- package/esm2015/acorex-core.js +5 -0
- package/esm2015/lib/classes/base-page.class.js +21 -0
- package/esm2015/lib/classes/color.class.js +49 -0
- package/esm2015/lib/classes/datetime.class.js +314 -0
- package/esm2015/lib/classes/menu.class.js +27 -0
- package/esm2015/lib/classes/navigator.class.js +1 -0
- package/esm2015/lib/classes/popup.class.js +1 -0
- package/esm2015/lib/classes/promise.class.js +19 -0
- package/esm2015/lib/classes/sectionlist.class.js +1 -0
- package/esm2015/lib/classes/select.class.js +3 -0
- package/esm2015/lib/core.module.js +24 -0
- package/esm2015/lib/error/error.class.js +1 -0
- package/esm2015/lib/error/error.module.js +16 -0
- package/esm2015/lib/error/error.service.js +25 -0
- package/esm2015/lib/events/keyboard.js +1 -0
- package/esm2015/lib/http/http-error.class.js +1 -0
- package/esm2015/lib/http/http-events.interceptor.js +3 -0
- package/esm2015/lib/http/http-request.class.js +1 -0
- package/esm2015/lib/http/http-result.class.js +21 -0
- package/esm2015/lib/http/http.module.js +29 -0
- package/esm2015/lib/http/http.service.js +149 -0
- package/esm2015/lib/locale/en.json +249 -0
- package/esm2015/lib/locale/fa.json +238 -0
- package/esm2015/lib/pipe/datetime.pipe.js +24 -0
- package/esm2015/lib/pipe/htmlToText.pipe.js +23 -0
- package/esm2015/lib/services/config.js +29 -0
- package/esm2015/lib/services/event.service.js +36 -0
- package/esm2015/lib/services/navigator.service.js +9 -0
- package/esm2015/lib/services/storage.service.js +15 -0
- package/esm2015/lib/translator/translator.js +26 -0
- package/esm2015/lib/translator/translator.module.js +23 -0
- package/esm2015/lib/translator/translator.pipe.js +23 -0
- package/esm2015/lib/translator/translator.service.js +21 -0
- package/esm2015/lib/utils/array/array-util.js +133 -0
- package/esm2015/lib/utils/html/html-util.js +192 -0
- package/esm2015/lib/utils/html/html.module.js +16 -0
- package/esm2015/lib/utils/math/math-util.js +6 -0
- package/esm2015/lib/utils/object/object-util.js +83 -0
- package/esm2015/lib/utils/render/on-demand-preload-strategy.service.js +21 -0
- package/esm2015/lib/utils/render/render.service.js +112 -0
- package/esm2015/lib/utils/render/rendering.module.js +26 -0
- package/esm2015/lib/utils/scroll/scroll.directive.js +66 -0
- package/esm2015/lib/utils/scroll/scroll.module.js +16 -0
- package/esm2015/lib/utils/separator/separator.module.js +16 -0
- package/esm2015/lib/utils/separator/separator.pipe.js +22 -0
- package/esm2015/public-api.js +36 -0
- package/esm5/acorex-core.js +5 -0
- package/esm5/lib/classes/base-page.class.js +23 -0
- package/esm5/lib/classes/color.class.js +54 -0
- package/esm5/lib/classes/datetime.class.js +390 -0
- package/esm5/lib/classes/menu.class.js +42 -0
- package/esm5/lib/classes/navigator.class.js +1 -0
- package/esm5/lib/classes/popup.class.js +1 -0
- package/esm5/lib/classes/promise.class.js +22 -0
- package/esm5/lib/classes/sectionlist.class.js +1 -0
- package/esm5/lib/classes/select.class.js +7 -0
- package/esm5/lib/core.module.js +27 -0
- package/esm5/lib/error/error.class.js +1 -0
- package/esm5/lib/error/error.module.js +19 -0
- package/esm5/lib/error/error.service.js +26 -0
- package/esm5/lib/events/keyboard.js +1 -0
- package/esm5/lib/http/http-error.class.js +1 -0
- package/esm5/lib/http/http-events.interceptor.js +3 -0
- package/esm5/lib/http/http-request.class.js +1 -0
- package/esm5/lib/http/http-result.class.js +24 -0
- package/esm5/lib/http/http.module.js +33 -0
- package/esm5/lib/http/http.service.js +157 -0
- package/esm5/lib/locale/en.json +249 -0
- package/esm5/lib/locale/fa.json +238 -0
- package/esm5/lib/pipe/datetime.pipe.js +26 -0
- package/esm5/lib/pipe/htmlToText.pipe.js +26 -0
- package/esm5/lib/services/config.js +37 -0
- package/esm5/lib/services/event.service.js +37 -0
- package/esm5/lib/services/navigator.service.js +12 -0
- package/esm5/lib/services/storage.service.js +18 -0
- package/esm5/lib/translator/translator.js +34 -0
- package/esm5/lib/translator/translator.module.js +24 -0
- package/esm5/lib/translator/translator.pipe.js +25 -0
- package/esm5/lib/translator/translator.service.js +24 -0
- package/esm5/lib/utils/array/array-util.js +147 -0
- package/esm5/lib/utils/html/html-util.js +224 -0
- package/esm5/lib/utils/html/html.module.js +19 -0
- package/esm5/lib/utils/math/math-util.js +10 -0
- package/esm5/lib/utils/object/object-util.js +88 -0
- package/esm5/lib/utils/render/on-demand-preload-strategy.service.js +22 -0
- package/esm5/lib/utils/render/render.service.js +117 -0
- package/esm5/lib/utils/render/rendering.module.js +29 -0
- package/esm5/lib/utils/scroll/scroll.directive.js +68 -0
- package/esm5/lib/utils/scroll/scroll.module.js +19 -0
- package/esm5/lib/utils/separator/separator.module.js +19 -0
- package/esm5/lib/utils/separator/separator.pipe.js +25 -0
- package/esm5/public-api.js +36 -0
- package/fesm2015/acorex-core.js +2057 -0
- package/fesm2015/acorex-core.js.map +1 -0
- package/fesm5/acorex-core.js +2274 -0
- package/fesm5/acorex-core.js.map +1 -0
- package/lib/classes/base-page.class.d.ts +10 -0
- package/lib/classes/color.class.d.ts +17 -0
- package/lib/classes/datetime.class.d.ts +63 -0
- package/lib/classes/menu.class.d.ts +33 -0
- package/lib/classes/navigator.class.d.ts +5 -0
- package/lib/classes/popup.class.d.ts +12 -0
- package/lib/classes/promise.class.d.ts +7 -0
- package/lib/classes/sectionlist.class.d.ts +8 -0
- package/lib/classes/select.class.d.ts +7 -0
- package/lib/core.module.d.ts +2 -0
- package/lib/error/error.class.d.ts +4 -0
- package/lib/error/error.module.d.ts +2 -0
- package/lib/error/error.service.d.ts +10 -0
- package/lib/events/keyboard.d.ts +2 -0
- package/lib/http/http-error.class.d.ts +7 -0
- package/lib/http/http-events.interceptor.d.ts +10 -0
- package/lib/http/http-request.class.d.ts +14 -0
- package/lib/http/http-result.class.d.ts +11 -0
- package/lib/http/http.module.d.ts +4 -0
- package/lib/http/http.service.d.ts +20 -0
- package/lib/pipe/datetime.pipe.d.ts +5 -0
- package/lib/pipe/htmlToText.pipe.d.ts +4 -0
- package/lib/services/config.d.ts +9 -0
- package/lib/services/event.service.d.ts +6 -0
- package/lib/services/navigator.service.d.ts +5 -0
- package/lib/services/storage.service.d.ts +4 -0
- package/lib/translator/translator.d.ts +9 -0
- package/lib/translator/translator.module.d.ts +3 -0
- package/lib/translator/translator.pipe.d.ts +5 -0
- package/lib/translator/translator.service.d.ts +5 -0
- package/lib/utils/array/array-util.d.ts +6 -0
- package/lib/utils/html/html-util.d.ts +62 -0
- package/lib/utils/html/html.module.d.ts +2 -0
- package/lib/utils/math/math-util.d.ts +3 -0
- package/lib/utils/object/object-util.d.ts +7 -0
- package/lib/utils/render/on-demand-preload-strategy.service.d.ts +7 -0
- package/lib/utils/render/render.service.d.ts +14 -0
- package/lib/utils/render/rendering.module.d.ts +4 -0
- package/lib/utils/scroll/scroll.directive.d.ts +13 -0
- package/lib/utils/scroll/scroll.module.d.ts +2 -0
- package/lib/utils/separator/separator.module.d.ts +2 -0
- package/lib/utils/separator/separator.pipe.d.ts +4 -0
- package/package.json +23 -0
- package/public-api.d.ts +42 -0
|
@@ -0,0 +1,192 @@
|
|
|
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
|
|
@@ -0,0 +1,16 @@
|
|
|
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=
|
|
@@ -0,0 +1,6 @@
|
|
|
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
|
|
@@ -0,0 +1,83 @@
|
|
|
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==
|
|
@@ -0,0 +1,21 @@
|
|
|
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==
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { ApplicationRef, ComponentFactoryResolver, ComponentRef, Injectable, Injector, EmbeddedViewRef, Type } from '@angular/core';
|
|
3
|
+
import { Router, Route } from '@angular/router';
|
|
4
|
+
import { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
import * as i2 from "./on-demand-preload-strategy.service";
|
|
8
|
+
let AXRenderService = class AXRenderService {
|
|
9
|
+
constructor(appRef, router, componentFactoryResolver, modulePreloadService, injector) {
|
|
10
|
+
this.appRef = appRef;
|
|
11
|
+
this.router = router;
|
|
12
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
13
|
+
this.modulePreloadService = modulePreloadService;
|
|
14
|
+
this.injector = injector;
|
|
15
|
+
}
|
|
16
|
+
appendComponent(componentClass, options = {}, location) {
|
|
17
|
+
const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentClass);
|
|
18
|
+
const componentRef = componentFactory.create(this.injector);
|
|
19
|
+
this.appRef.attachView(componentRef.hostView);
|
|
20
|
+
Object.assign(componentRef.instance, options);
|
|
21
|
+
//
|
|
22
|
+
const domElem = componentRef.hostView.rootNodes[0];
|
|
23
|
+
componentRef.onDestroy(() => {
|
|
24
|
+
this.appRef.detachView(componentRef.hostView);
|
|
25
|
+
});
|
|
26
|
+
if (location) {
|
|
27
|
+
location.appendChild(domElem);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
document.body.appendChild(domElem);
|
|
31
|
+
}
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
componentRef.changeDetectorRef.detectChanges();
|
|
34
|
+
}, 0);
|
|
35
|
+
return componentRef;
|
|
36
|
+
}
|
|
37
|
+
findLoadedComponentByRoute(path, timeoutTime = 10) {
|
|
38
|
+
const delay = 200;
|
|
39
|
+
const loop = timeoutTime * 1000 / delay;
|
|
40
|
+
return new Promise((resolve, reject) => {
|
|
41
|
+
let found = null;
|
|
42
|
+
let preload = false;
|
|
43
|
+
const theLoop = (i) => {
|
|
44
|
+
setTimeout(() => {
|
|
45
|
+
found = this._findLoadedComponentByRoute(path);
|
|
46
|
+
if (--i && found == null) {
|
|
47
|
+
if (!preload) {
|
|
48
|
+
this.modulePreloadService.startPreload(path);
|
|
49
|
+
preload = true;
|
|
50
|
+
}
|
|
51
|
+
theLoop(i);
|
|
52
|
+
}
|
|
53
|
+
else if (found) {
|
|
54
|
+
resolve(found);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
reject();
|
|
58
|
+
}
|
|
59
|
+
}, delay);
|
|
60
|
+
};
|
|
61
|
+
theLoop(loop);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
_findLoadedComponentByRoute(search) {
|
|
65
|
+
let found = null;
|
|
66
|
+
const f = (list, path) => {
|
|
67
|
+
for (const p in list) {
|
|
68
|
+
if (list.hasOwnProperty(p)) {
|
|
69
|
+
const route = list[p];
|
|
70
|
+
const pp = (route.path != '' && route.path != null) ? path + '/' + route.path : path;
|
|
71
|
+
if (pp == search && !route._loadedConfig && route.component) {
|
|
72
|
+
found = route;
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
else if (route._loadedConfig) {
|
|
76
|
+
f(route._loadedConfig.routes, pp);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
for (const p in this.router.config) {
|
|
82
|
+
if (this.router.config.hasOwnProperty(p)) {
|
|
83
|
+
const route = this.router.config[p];
|
|
84
|
+
if (route.path === search && route.component) {
|
|
85
|
+
found = route;
|
|
86
|
+
}
|
|
87
|
+
else if (route['_loadedConfig']) {
|
|
88
|
+
f(route['_loadedConfig'].routes, route.path);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return found;
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
AXRenderService.ctorParameters = () => [
|
|
96
|
+
{ type: ApplicationRef },
|
|
97
|
+
{ type: Router },
|
|
98
|
+
{ type: ComponentFactoryResolver },
|
|
99
|
+
{ type: AXOnDemandPreloadService },
|
|
100
|
+
{ type: Injector }
|
|
101
|
+
];
|
|
102
|
+
AXRenderService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AXRenderService_Factory() { return new AXRenderService(i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i2.AXOnDemandPreloadService), i0.ɵɵinject(i0.INJECTOR)); }, token: AXRenderService, providedIn: "root" });
|
|
103
|
+
AXRenderService = __decorate([
|
|
104
|
+
Injectable({ providedIn: 'root' }),
|
|
105
|
+
__metadata("design:paramtypes", [ApplicationRef,
|
|
106
|
+
Router,
|
|
107
|
+
ComponentFactoryResolver,
|
|
108
|
+
AXOnDemandPreloadService,
|
|
109
|
+
Injector])
|
|
110
|
+
], AXRenderService);
|
|
111
|
+
export { AXRenderService };
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvcmV4L2NvcmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvcmVuZGVyL3JlbmRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsY0FBYyxFQUFFLHdCQUF3QixFQUFFLFlBQVksRUFBRSxVQUFVLEVBQ2xFLFFBQVEsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUNsQyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBS2hGLElBQWEsZUFBZSxHQUE1QixNQUFhLGVBQWU7SUFDeEIsWUFDWSxNQUFzQixFQUN0QixNQUFjLEVBQ2Qsd0JBQWtELEVBQ2xELG9CQUE4QyxFQUM5QyxRQUFrQjtRQUpsQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTBCO1FBQzlDLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDOUIsQ0FBQztJQUlELGVBQWUsQ0FDWCxjQUF1QixFQUN2QixVQUFlLEVBQUUsRUFDakIsUUFBa0I7UUFFbEIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0YsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLE9B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LENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO3FCQUNyQztpQkFDSjthQUNKO1FBQ0wsQ0FBQyxDQUFDO1FBRUYsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNoQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtvQkFDMUMsS0FBSyxHQUFHLEtBQUssQ0FBQztpQkFDakI7cUJBQ0ksSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQUU7b0JBQzdCLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDaEQ7YUFFSjtTQUNKO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUVKLENBQUE7O1lBOUZ1QixjQUFjO1lBQ2QsTUFBTTtZQUNZLHdCQUF3QjtZQUM1Qix3QkFBd0I7WUFDcEMsUUFBUTs7O0FBTnJCLGVBQWU7SUFEM0IsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO3FDQUdYLGNBQWM7UUFDZCxNQUFNO1FBQ1ksd0JBQXdCO1FBQzVCLHdCQUF3QjtRQUNwQyxRQUFRO0dBTnJCLGVBQWUsQ0FnRzNCO1NBaEdZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQXBwbGljYXRpb25SZWYsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLFxyXG4gICAgSW5qZWN0b3IsIEVtYmVkZGVkVmlld1JlZiwgVHlwZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlIH0gZnJvbSAnLi9vbi1kZW1hbmQtcHJlbG9hZC1zdHJhdGVneS5zZXJ2aWNlJztcclxuXHJcblxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEFYUmVuZGVyU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgIHByaXZhdGUgbW9kdWxlUHJlbG9hZFNlcnZpY2U6IEFYT25EZW1hbmRQcmVsb2FkU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgYXBwZW5kQ29tcG9uZW50PFQ+KFxyXG4gICAgICAgIGNvbXBvbmVudENsYXNzOiBUeXBlPFQ+LFxyXG4gICAgICAgIG9wdGlvbnM6IGFueSA9IHt9LFxyXG4gICAgICAgIGxvY2F0aW9uPzogRWxlbWVudCk6IENvbXBvbmVudFJlZjxhbnk+IHtcclxuXHJcbiAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudENsYXNzKTtcclxuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcclxuICAgICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIG9wdGlvbnMpO1xyXG4gICAgICAgIC8vXHJcbiAgICAgICAgY29uc3QgZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICBjb21wb25lbnRSZWYub25EZXN0cm95KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmIChsb2NhdGlvbikge1xyXG4gICAgICAgICAgICBsb2NhdGlvbi5hcHBlbmRDaGlsZChkb21FbGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LCAwKTtcclxuICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xyXG4gICAgfVxyXG5cclxuICAgIGZpbmRMb2FkZWRDb21wb25lbnRCeVJvdXRlKHBhdGg6IHN0cmluZywgdGltZW91dFRpbWU6IG51bWJlciA9IDEwKTogUHJvbWlzZTxSb3V0ZT4ge1xyXG4gICAgICAgIGNvbnN0IGRlbGF5ID0gMjAwO1xyXG4gICAgICAgIGNvbnN0IGxvb3AgPSB0aW1lb3V0VGltZSAqIDEwMDAgLyBkZWxheTtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZm91bmQ6IFJvdXRlID0gbnVsbDtcclxuICAgICAgICAgICAgbGV0IHByZWxvYWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgY29uc3QgdGhlTG9vcCA9IChpKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRoaXMuX2ZpbmRMb2FkZWRDb21wb25lbnRCeVJvdXRlKHBhdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICgtLWkgJiYgZm91bmQgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZWxvYWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW9kdWxlUHJlbG9hZFNlcnZpY2Uuc3RhcnRQcmVsb2FkKHBhdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlbG9hZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhlTG9vcChpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZm91bmQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShmb3VuZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LCBkZWxheSk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoZUxvb3AobG9vcCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZmluZExvYWRlZENvbXBvbmVudEJ5Um91dGUoc2VhcmNoKSB7XHJcbiAgICAgICAgbGV0IGZvdW5kOiBSb3V0ZSA9IG51bGw7XHJcbiAgICAgICAgY29uc3QgZiA9IChsaXN0LCBwYXRoKSA9PiB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgcCBpbiBsaXN0KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobGlzdC5oYXNPd25Qcm9wZXJ0eShwKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvdXRlID0gbGlzdFtwXTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcCA9IChyb3V0ZS5wYXRoICE9ICcnICYmIHJvdXRlLnBhdGggIT0gbnVsbCkgPyBwYXRoICsgJy8nICsgcm91dGUucGF0aCA6IHBhdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBwID09IHNlYXJjaCAmJiAhcm91dGUuX2xvYWRlZENvbmZpZyAmJiByb3V0ZS5jb21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm91bmQgPSByb3V0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyb3V0ZS5fbG9hZGVkQ29uZmlnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGYocm91dGUuX2xvYWRlZENvbmZpZy5yb3V0ZXMsIHBwKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IHAgaW4gdGhpcy5yb3V0ZXIuY29uZmlnKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnJvdXRlci5jb25maWcuaGFzT3duUHJvcGVydHkocCkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJvdXRlID0gdGhpcy5yb3V0ZXIuY29uZmlnW3BdO1xyXG4gICAgICAgICAgICAgICAgaWYgKHJvdXRlLnBhdGggPT09IHNlYXJjaCAmJiByb3V0ZS5jb21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHJvdXRlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocm91dGVbJ19sb2FkZWRDb25maWcnXSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGYocm91dGVbJ19sb2FkZWRDb25maWcnXS5yb3V0ZXMsIHJvdXRlLnBhdGgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZm91bmQ7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { AXRenderService } from './render.service';
|
|
4
|
+
import { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';
|
|
5
|
+
// @dynamic
|
|
6
|
+
export function getOnDemandPreloadServiceFactory() {
|
|
7
|
+
return new AXOnDemandPreloadService();
|
|
8
|
+
}
|
|
9
|
+
let AXRenderingModule = class AXRenderingModule {
|
|
10
|
+
};
|
|
11
|
+
AXRenderingModule = __decorate([
|
|
12
|
+
NgModule({
|
|
13
|
+
imports: [],
|
|
14
|
+
exports: [],
|
|
15
|
+
declarations: [],
|
|
16
|
+
providers: [
|
|
17
|
+
{
|
|
18
|
+
provide: AXOnDemandPreloadService,
|
|
19
|
+
useFactory: getOnDemandPreloadServiceFactory
|
|
20
|
+
},
|
|
21
|
+
AXRenderService
|
|
22
|
+
],
|
|
23
|
+
})
|
|
24
|
+
], AXRenderingModule);
|
|
25
|
+
export { AXRenderingModule };
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9yZW5kZXIvcmVuZGVyaW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHaEYsV0FBVztBQUNYLE1BQU0sVUFBVSxnQ0FBZ0M7SUFDNUMsT0FBTyxJQUFJLHdCQUF3QixFQUFFLENBQUM7QUFDMUMsQ0FBQztBQWNELElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWlCO0NBRTdCLENBQUE7QUFGWSxpQkFBaUI7SUFaN0IsUUFBUSxDQUFDO1FBQ04sT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsRUFBRTtRQUNYLFlBQVksRUFBRSxFQUFFO1FBQ2hCLFNBQVMsRUFBRTtZQUNQO2dCQUNJLE9BQU8sRUFBRSx3QkFBd0I7Z0JBQ2pDLFVBQVUsRUFBRSxnQ0FBZ0M7YUFDL0M7WUFDRCxlQUFlO1NBQ2xCO0tBQ0osQ0FBQztHQUNXLGlCQUFpQixDQUU3QjtTQUZZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYUmVuZGVyU2VydmljZSB9IGZyb20gJy4vcmVuZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWE9uRGVtYW5kUHJlbG9hZFNlcnZpY2UgfSBmcm9tICcuL29uLWRlbWFuZC1wcmVsb2FkLXN0cmF0ZWd5LnNlcnZpY2UnO1xyXG5cclxuXHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRPbkRlbWFuZFByZWxvYWRTZXJ2aWNlRmFjdG9yeSgpIHtcclxuICAgIHJldHVybiBuZXcgQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlKCk7XHJcbn1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXSxcclxuICAgIGV4cG9ydHM6IFtdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlLFxyXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBnZXRPbkRlbWFuZFByZWxvYWRTZXJ2aWNlRmFjdG9yeVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgQVhSZW5kZXJTZXJ2aWNlXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhSZW5kZXJpbmdNb2R1bGUge1xyXG5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Directive, HostListener, Input } from '@angular/core';
|
|
3
|
+
import { ElementRef } from '@angular/core';
|
|
4
|
+
let AXHorizontalScrollDirective = class AXHorizontalScrollDirective {
|
|
5
|
+
constructor(el) {
|
|
6
|
+
this.el = el;
|
|
7
|
+
this.scrollValue = 40;
|
|
8
|
+
}
|
|
9
|
+
onMouseWheel(e) {
|
|
10
|
+
const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));
|
|
11
|
+
this.el.nativeElement.scrollLeft -= delta * this.scrollValue;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
AXHorizontalScrollDirective.ctorParameters = () => [
|
|
15
|
+
{ type: ElementRef }
|
|
16
|
+
];
|
|
17
|
+
__decorate([
|
|
18
|
+
Input('horizontalScroll'),
|
|
19
|
+
__metadata("design:type", Object)
|
|
20
|
+
], AXHorizontalScrollDirective.prototype, "scrollValue", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
HostListener('wheel', ['$event']),
|
|
23
|
+
__metadata("design:type", Function),
|
|
24
|
+
__metadata("design:paramtypes", [Object]),
|
|
25
|
+
__metadata("design:returntype", void 0)
|
|
26
|
+
], AXHorizontalScrollDirective.prototype, "onMouseWheel", null);
|
|
27
|
+
AXHorizontalScrollDirective = __decorate([
|
|
28
|
+
Directive({
|
|
29
|
+
// tslint:disable-next-line: directive-selector
|
|
30
|
+
selector: '[horizontalScroll]'
|
|
31
|
+
}),
|
|
32
|
+
__metadata("design:paramtypes", [ElementRef])
|
|
33
|
+
], AXHorizontalScrollDirective);
|
|
34
|
+
export { AXHorizontalScrollDirective };
|
|
35
|
+
let AXVerticalScrollDirective = class AXVerticalScrollDirective {
|
|
36
|
+
constructor(el) {
|
|
37
|
+
this.el = el;
|
|
38
|
+
this.scrollValue = 40;
|
|
39
|
+
}
|
|
40
|
+
onMouseWheel(e) {
|
|
41
|
+
const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));
|
|
42
|
+
this.el.nativeElement.scrollTop -= delta * this.scrollValue;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
AXVerticalScrollDirective.ctorParameters = () => [
|
|
46
|
+
{ type: ElementRef }
|
|
47
|
+
];
|
|
48
|
+
__decorate([
|
|
49
|
+
Input('verticalScroll'),
|
|
50
|
+
__metadata("design:type", Object)
|
|
51
|
+
], AXVerticalScrollDirective.prototype, "scrollValue", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
HostListener('wheel', ['$event']),
|
|
54
|
+
__metadata("design:type", Function),
|
|
55
|
+
__metadata("design:paramtypes", [Object]),
|
|
56
|
+
__metadata("design:returntype", void 0)
|
|
57
|
+
], AXVerticalScrollDirective.prototype, "onMouseWheel", null);
|
|
58
|
+
AXVerticalScrollDirective = __decorate([
|
|
59
|
+
Directive({
|
|
60
|
+
// tslint:disable-next-line: directive-selector
|
|
61
|
+
selector: '[verticalScroll]'
|
|
62
|
+
}),
|
|
63
|
+
__metadata("design:paramtypes", [ElementRef])
|
|
64
|
+
], AXVerticalScrollDirective);
|
|
65
|
+
export { AXVerticalScrollDirective };
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9zY3JvbGwvc2Nyb2xsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNM0MsSUFBYSwyQkFBMkIsR0FBeEMsTUFBYSwyQkFBMkI7SUFDdEMsWUFBb0IsRUFBMkI7UUFBM0IsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFHL0MsZ0JBQVcsR0FBRyxFQUFFLENBQUM7SUFIa0MsQ0FBQztJQU1wRCxZQUFZLENBQUMsQ0FBQztRQUNaLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMvRCxDQUFDO0NBQ0YsQ0FBQTs7WUFWeUIsVUFBVTs7QUFHbEM7SUFEQyxLQUFLLENBQUMsa0JBQWtCLENBQUM7O2dFQUNUO0FBR2pCO0lBREMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzs7OytEQUlqQztBQVZVLDJCQUEyQjtJQUp2QyxTQUFTLENBQUM7UUFDVCwrQ0FBK0M7UUFDL0MsUUFBUSxFQUFFLG9CQUFvQjtLQUMvQixDQUFDO3FDQUV3QixVQUFVO0dBRHZCLDJCQUEyQixDQVd2QztTQVhZLDJCQUEyQjtBQWdCeEMsSUFBYSx5QkFBeUIsR0FBdEMsTUFBYSx5QkFBeUI7SUFDcEMsWUFBb0IsRUFBMkI7UUFBM0IsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFHL0MsZ0JBQVcsR0FBRyxFQUFFLENBQUM7SUFIa0MsQ0FBQztJQU1wRCxZQUFZLENBQUMsQ0FBQztRQUNaLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM5RCxDQUFDO0NBQ0YsQ0FBQTs7WUFWeUIsVUFBVTs7QUFHbEM7SUFEQyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7OzhEQUNQO0FBR2pCO0lBREMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzs7OzZEQUlqQztBQVZVLHlCQUF5QjtJQUpyQyxTQUFTLENBQUM7UUFDVCwrQ0FBK0M7UUFDL0MsUUFBUSxFQUFFLGtCQUFrQjtLQUM3QixDQUFDO3FDQUV3QixVQUFVO0dBRHZCLHlCQUF5QixDQVdyQztTQVhZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnW2hvcml6b250YWxTY3JvbGxdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhIb3Jpem9udGFsU2Nyb2xsRGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PikgeyB9XHJcblxyXG4gIEBJbnB1dCgnaG9yaXpvbnRhbFNjcm9sbCcpXHJcbiAgc2Nyb2xsVmFsdWUgPSA0MDtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2hlZWwnLCBbJyRldmVudCddKVxyXG4gIG9uTW91c2VXaGVlbChlKSB7XHJcbiAgICBjb25zdCBkZWx0YSA9IE1hdGgubWF4KC0xLCBNYXRoLm1pbigxLCBlLndoZWVsRGVsdGEgfHwgLWUuZGV0YWlsKSk7XHJcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAtPSBkZWx0YSAqIHRoaXMuc2Nyb2xsVmFsdWU7XHJcbiAgfVxyXG59XHJcbkBEaXJlY3RpdmUoe1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGlyZWN0aXZlLXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdbdmVydGljYWxTY3JvbGxdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhWZXJ0aWNhbFNjcm9sbERpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHsgfVxyXG5cclxuICBASW5wdXQoJ3ZlcnRpY2FsU2Nyb2xsJylcclxuICBzY3JvbGxWYWx1ZSA9IDQwO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aGVlbCcsIFsnJGV2ZW50J10pXHJcbiAgb25Nb3VzZVdoZWVsKGUpIHtcclxuICAgIGNvbnN0IGRlbHRhID0gTWF0aC5tYXgoLTEsIE1hdGgubWluKDEsIGUud2hlZWxEZWx0YSB8fCAtZS5kZXRhaWwpKTtcclxuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgLT0gZGVsdGEgKiB0aGlzLnNjcm9sbFZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { AXHorizontalScrollDirective, AXVerticalScrollDirective } from './scroll.directive';
|
|
5
|
+
let AXScrollModule = class AXScrollModule {
|
|
6
|
+
};
|
|
7
|
+
AXScrollModule = __decorate([
|
|
8
|
+
NgModule({
|
|
9
|
+
declarations: [AXHorizontalScrollDirective, AXVerticalScrollDirective],
|
|
10
|
+
imports: [CommonModule],
|
|
11
|
+
exports: [AXHorizontalScrollDirective, AXVerticalScrollDirective],
|
|
12
|
+
providers: []
|
|
13
|
+
})
|
|
14
|
+
], AXScrollModule);
|
|
15
|
+
export { AXScrollModule };
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9zY3JvbGwvc2Nyb2xsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFRNUYsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBYztDQUFJLENBQUE7QUFBbEIsY0FBYztJQU4xQixRQUFRLENBQUM7UUFDUixZQUFZLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSx5QkFBeUIsQ0FBQztRQUN0RSxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7UUFDdkIsT0FBTyxFQUFFLENBQUMsMkJBQTJCLEVBQUUseUJBQXlCLENBQUM7UUFDakUsU0FBUyxFQUFFLEVBQUU7S0FDZCxDQUFDO0dBQ1csY0FBYyxDQUFJO1NBQWxCLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBWEhvcml6b250YWxTY3JvbGxEaXJlY3RpdmUsIEFYVmVydGljYWxTY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuL3Njcm9sbC5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtBWEhvcml6b250YWxTY3JvbGxEaXJlY3RpdmUsIEFYVmVydGljYWxTY3JvbGxEaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtBWEhvcml6b250YWxTY3JvbGxEaXJlY3RpdmUsIEFYVmVydGljYWxTY3JvbGxEaXJlY3RpdmVdLFxyXG4gIHByb3ZpZGVyczogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYU2Nyb2xsTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { AXSeparatorPipe } from './separator.pipe';
|
|
5
|
+
let AXSeparatorModule = class AXSeparatorModule {
|
|
6
|
+
};
|
|
7
|
+
AXSeparatorModule = __decorate([
|
|
8
|
+
NgModule({
|
|
9
|
+
declarations: [AXSeparatorPipe],
|
|
10
|
+
imports: [CommonModule],
|
|
11
|
+
exports: [AXSeparatorPipe],
|
|
12
|
+
providers: []
|
|
13
|
+
})
|
|
14
|
+
], AXSeparatorModule);
|
|
15
|
+
export { AXSeparatorModule };
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwYXJhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9zZXBhcmF0b3Ivc2VwYXJhdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBUW5ELElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWlCO0NBQUksQ0FBQTtBQUFyQixpQkFBaUI7SUFON0IsUUFBUSxDQUFDO1FBQ1IsWUFBWSxFQUFFLENBQUMsZUFBZSxDQUFDO1FBQy9CLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztRQUN2QixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7UUFDMUIsU0FBUyxFQUFFLEVBQUU7S0FDZCxDQUFDO0dBQ1csaUJBQWlCLENBQUk7U0FBckIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQVhTZXBhcmF0b3JQaXBlIH0gZnJvbSAnLi9zZXBhcmF0b3IucGlwZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0FYU2VwYXJhdG9yUGlwZV0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgZXhwb3J0czogW0FYU2VwYXJhdG9yUGlwZV0sXHJcbiAgcHJvdmlkZXJzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhTZXBhcmF0b3JNb2R1bGUgeyB9XHJcbiJdfQ==
|