@stemy/ngx-utils 19.2.10 → 19.2.12
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/fesm2022/stemy-ngx-utils.mjs +398 -18
- package/fesm2022/stemy-ngx-utils.mjs.map +1 -1
- package/ngx-utils/common-types.d.ts +7 -1
- package/ngx-utils/components/dynamic-table/dynamic-table.component.d.ts +2 -2
- package/ngx-utils/directives/dropdown-toggle.directive.d.ts +15 -0
- package/ngx-utils/directives/dropdown.directive.d.ts +27 -0
- package/ngx-utils/directives/dynamic-table-template.directive.d.ts +1 -1
- package/ngx-utils/ngx-utils.imports.d.ts +5 -2
- package/ngx-utils/ngx-utils.module.d.ts +12 -10
- package/ngx-utils/services/socket.service.d.ts +24 -0
- package/ngx-utils/utils/socket-client.d.ts +32 -0
- package/package.json +1 -1
- package/public_api.d.ts +4 -0
|
@@ -391,6 +391,8 @@ var StorageMode;
|
|
|
391
391
|
})(StorageMode || (StorageMode = {}));
|
|
392
392
|
const TOASTER_SERVICE = new InjectionToken("toaster-service");
|
|
393
393
|
const DIALOG_SERVICE = new InjectionToken("dialog-service");
|
|
394
|
+
// --- Socket service ---
|
|
395
|
+
const SOCKET_IO_PATH = new InjectionToken("socket-io-path");
|
|
394
396
|
const PROMISE_SERVICE = new InjectionToken("promise-service");
|
|
395
397
|
const WASI_IMPLEMENTATION = new InjectionToken("wasi-implementation");
|
|
396
398
|
// --- Reflect utils ---
|
|
@@ -784,23 +786,20 @@ class StateService {
|
|
|
784
786
|
}), filter(e => e instanceof NavigationEnd))
|
|
785
787
|
.subscribe(() => {
|
|
786
788
|
const routerStateSnapshot = this.router.routerState.snapshot;
|
|
787
|
-
let snapshot = routerStateSnapshot.root;
|
|
788
789
|
let context = this.contexts?.getContext("primary");
|
|
789
|
-
let segments =
|
|
790
|
+
let segments = [];
|
|
790
791
|
const components = [];
|
|
791
792
|
const snapshots = [];
|
|
792
|
-
while (
|
|
793
|
+
while (context) {
|
|
794
|
+
const snapshot = context.route.snapshot;
|
|
793
795
|
snapshots.push(snapshot);
|
|
794
796
|
segments = segments.concat(snapshot.url);
|
|
795
|
-
if (context)
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
context = context.children.getContext("primary");
|
|
799
|
-
}
|
|
800
|
-
snapshot = snapshot.firstChild;
|
|
797
|
+
if (context.outlet && context.outlet.component)
|
|
798
|
+
components.push(context.outlet.component);
|
|
799
|
+
context = context.children.getContext("primary");
|
|
801
800
|
}
|
|
802
801
|
this.stateInfo = {
|
|
803
|
-
url:
|
|
802
|
+
url: segments.map(s => s.url).join("/"),
|
|
804
803
|
segments: segments,
|
|
805
804
|
components: components
|
|
806
805
|
};
|
|
@@ -2197,6 +2196,129 @@ class SetUtils {
|
|
|
2197
2196
|
}
|
|
2198
2197
|
}
|
|
2199
2198
|
|
|
2199
|
+
function uuid() {
|
|
2200
|
+
if (typeof window !== "undefined" && typeof window.crypto !== "undefined" && typeof window.crypto.getRandomValues !== "undefined") {
|
|
2201
|
+
const buf = new Uint16Array(8);
|
|
2202
|
+
window.crypto.getRandomValues(buf);
|
|
2203
|
+
return Array.from(buf).map(pad4).join("");
|
|
2204
|
+
}
|
|
2205
|
+
return new Array(8).fill(0).map(random4).join("");
|
|
2206
|
+
}
|
|
2207
|
+
function pad4(num, index) {
|
|
2208
|
+
const prefix = 1 < index && index < 6 ? "-" : "";
|
|
2209
|
+
let ret = num.toString(16);
|
|
2210
|
+
while (ret.length < 4) {
|
|
2211
|
+
ret = "0" + ret;
|
|
2212
|
+
}
|
|
2213
|
+
return prefix + ret;
|
|
2214
|
+
}
|
|
2215
|
+
function random4(_, index) {
|
|
2216
|
+
const prefix = 1 < index && index < 6 ? "-" : "";
|
|
2217
|
+
return prefix + Math.floor((1 + Math.random()) * 0x10000)
|
|
2218
|
+
.toString(16)
|
|
2219
|
+
.substring(1);
|
|
2220
|
+
}
|
|
2221
|
+
class SocketClient {
|
|
2222
|
+
get id() {
|
|
2223
|
+
return this.open ? this.sid : null;
|
|
2224
|
+
}
|
|
2225
|
+
constructor(url, ioLoader) {
|
|
2226
|
+
this.url = url;
|
|
2227
|
+
this.ioLoader = ioLoader;
|
|
2228
|
+
this.status = new BehaviorSubject(false);
|
|
2229
|
+
this.channels = new Map([
|
|
2230
|
+
["connect", new Subject()],
|
|
2231
|
+
["disconnect", new Subject()],
|
|
2232
|
+
["error", new Subject()]
|
|
2233
|
+
]);
|
|
2234
|
+
this.responseHandlers = new Map();
|
|
2235
|
+
this.sid = null;
|
|
2236
|
+
this.open = false;
|
|
2237
|
+
}
|
|
2238
|
+
connect(extraHeaders = {}) {
|
|
2239
|
+
if (this.ws)
|
|
2240
|
+
return;
|
|
2241
|
+
const url = new URL(this.url);
|
|
2242
|
+
this.factory = this.factory || this.ioLoader();
|
|
2243
|
+
this.ws = new Promise((resolve, reject) => {
|
|
2244
|
+
this.factory.then(io => {
|
|
2245
|
+
const protocol = url.protocol.replace("http", "ws");
|
|
2246
|
+
const ws = io(`${protocol}//${url.host}`, {
|
|
2247
|
+
extraHeaders,
|
|
2248
|
+
timeout: 5000,
|
|
2249
|
+
path: url.pathname
|
|
2250
|
+
});
|
|
2251
|
+
console.log(`socket connecting to: ${protocol}//${url.host}`, url.pathname);
|
|
2252
|
+
ws.on(`connect`, () => {
|
|
2253
|
+
console.log(`socket connected`);
|
|
2254
|
+
this.open = true;
|
|
2255
|
+
this.sid = ws.id;
|
|
2256
|
+
this.status.next(true);
|
|
2257
|
+
});
|
|
2258
|
+
ws.on(`disconnect`, () => {
|
|
2259
|
+
this.open = false;
|
|
2260
|
+
this.status.next(false);
|
|
2261
|
+
});
|
|
2262
|
+
Object.keys(this.channels).map(event => {
|
|
2263
|
+
ws.on(event, (data) => {
|
|
2264
|
+
this.handleResponse(event, data);
|
|
2265
|
+
this.channels[event].next(data);
|
|
2266
|
+
});
|
|
2267
|
+
});
|
|
2268
|
+
resolve(ws);
|
|
2269
|
+
}, reject);
|
|
2270
|
+
});
|
|
2271
|
+
}
|
|
2272
|
+
disconnect() {
|
|
2273
|
+
if (!this.ws)
|
|
2274
|
+
return;
|
|
2275
|
+
this.ws.then(ws => ws.disconnect());
|
|
2276
|
+
this.ws = null;
|
|
2277
|
+
}
|
|
2278
|
+
subscribe(event, cb) {
|
|
2279
|
+
if (!this.channels[event]) {
|
|
2280
|
+
this.channels[event] = new Subject();
|
|
2281
|
+
this.ws?.then(ws => {
|
|
2282
|
+
ws.on(event, (data) => {
|
|
2283
|
+
this.handleResponse(event, data);
|
|
2284
|
+
this.channels[event].next(data);
|
|
2285
|
+
});
|
|
2286
|
+
});
|
|
2287
|
+
}
|
|
2288
|
+
return this.channels[event].subscribe(cb);
|
|
2289
|
+
}
|
|
2290
|
+
emit(event, content) {
|
|
2291
|
+
this.ws.then(ws => ws.emit(event, content));
|
|
2292
|
+
}
|
|
2293
|
+
async request(event, content) {
|
|
2294
|
+
const id = uuid();
|
|
2295
|
+
const ws = await this.ws;
|
|
2296
|
+
const promise = new Promise((resolve, reject) => {
|
|
2297
|
+
this.responseHandlers.set(id, { resolve, reject });
|
|
2298
|
+
setTimeout(() => {
|
|
2299
|
+
this.responseHandlers.delete(id);
|
|
2300
|
+
reject(`Timeout for ${event} request ${JSON.stringify(content)}`);
|
|
2301
|
+
}, 5000);
|
|
2302
|
+
});
|
|
2303
|
+
ws.emit(event, { ...content, immediate_response_id: id });
|
|
2304
|
+
return promise;
|
|
2305
|
+
}
|
|
2306
|
+
handleResponse(event, content) {
|
|
2307
|
+
if (typeof content !== "object" || Array.isArray(content) || content instanceof Date)
|
|
2308
|
+
return;
|
|
2309
|
+
const id = content.immediate_response_id;
|
|
2310
|
+
const handler = this.responseHandlers.get(id);
|
|
2311
|
+
if (!handler)
|
|
2312
|
+
return;
|
|
2313
|
+
this.responseHandlers.delete(id);
|
|
2314
|
+
if (event === "error") {
|
|
2315
|
+
handler.reject(content);
|
|
2316
|
+
return;
|
|
2317
|
+
}
|
|
2318
|
+
handler.resolve(content);
|
|
2319
|
+
}
|
|
2320
|
+
}
|
|
2321
|
+
|
|
2200
2322
|
class UniqueUtils {
|
|
2201
2323
|
static uuid() {
|
|
2202
2324
|
if (typeof window !== "undefined" && typeof window.crypto !== "undefined" && typeof window.crypto.getRandomValues !== "undefined") {
|
|
@@ -3852,6 +3974,86 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
3852
3974
|
args: [NgZone]
|
|
3853
3975
|
}] }] });
|
|
3854
3976
|
|
|
3977
|
+
class SocketService {
|
|
3978
|
+
get status() {
|
|
3979
|
+
return this.client.status;
|
|
3980
|
+
}
|
|
3981
|
+
get id() {
|
|
3982
|
+
return this.client.id;
|
|
3983
|
+
}
|
|
3984
|
+
constructor(auth, api, ioPath) {
|
|
3985
|
+
this.auth = auth;
|
|
3986
|
+
this.api = api;
|
|
3987
|
+
this.ioPath = ioPath;
|
|
3988
|
+
const url = this.api.url(this.ioPath);
|
|
3989
|
+
this.client = new SocketClient(url, async () => {
|
|
3990
|
+
let script = null;
|
|
3991
|
+
try {
|
|
3992
|
+
script = await LoaderUtils.loadScript(`${url}/socket.io.js`);
|
|
3993
|
+
}
|
|
3994
|
+
catch (e) {
|
|
3995
|
+
script?.remove();
|
|
3996
|
+
await LoaderUtils.loadScript(`https://cdn.socket.io/4.7.4/socket.io.min.js`);
|
|
3997
|
+
}
|
|
3998
|
+
return window["io"];
|
|
3999
|
+
});
|
|
4000
|
+
}
|
|
4001
|
+
withAuth(extraHeaders = {}) {
|
|
4002
|
+
this.authSub = this.auth.userChanged.subscribe(user => {
|
|
4003
|
+
if (user) {
|
|
4004
|
+
this.connect(extraHeaders);
|
|
4005
|
+
return;
|
|
4006
|
+
}
|
|
4007
|
+
this.disconnect();
|
|
4008
|
+
});
|
|
4009
|
+
if (this.auth.isAuthenticated) {
|
|
4010
|
+
this.connect(extraHeaders);
|
|
4011
|
+
}
|
|
4012
|
+
}
|
|
4013
|
+
ngOnDestroy() {
|
|
4014
|
+
this.authSub?.unsubscribe();
|
|
4015
|
+
this.disconnect();
|
|
4016
|
+
}
|
|
4017
|
+
connect(extraHeaders = {}) {
|
|
4018
|
+
if (this.authSub && this.auth.isAuthenticated) {
|
|
4019
|
+
extraHeaders = {
|
|
4020
|
+
...(extraHeaders || {}),
|
|
4021
|
+
...Object.entries(this.api.client.requestHeaders || {}).reduce((res, entry) => {
|
|
4022
|
+
res[entry[0]] = Array.isArray(entry[1]) ? entry[1].join(", ") : entry[1];
|
|
4023
|
+
return res;
|
|
4024
|
+
}, {})
|
|
4025
|
+
};
|
|
4026
|
+
}
|
|
4027
|
+
this.client.connect(extraHeaders);
|
|
4028
|
+
}
|
|
4029
|
+
disconnect() {
|
|
4030
|
+
this.client.disconnect();
|
|
4031
|
+
}
|
|
4032
|
+
subscribe(event, cb) {
|
|
4033
|
+
return this.client.subscribe(event, cb);
|
|
4034
|
+
}
|
|
4035
|
+
emit(event, content) {
|
|
4036
|
+
this.client.emit(event, content);
|
|
4037
|
+
}
|
|
4038
|
+
request(event, content) {
|
|
4039
|
+
return this.client.request(event, content);
|
|
4040
|
+
}
|
|
4041
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SocketService, deps: [{ token: AUTH_SERVICE }, { token: API_SERVICE }, { token: SOCKET_IO_PATH }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4042
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SocketService }); }
|
|
4043
|
+
}
|
|
4044
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SocketService, decorators: [{
|
|
4045
|
+
type: Injectable
|
|
4046
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
4047
|
+
type: Inject,
|
|
4048
|
+
args: [AUTH_SERVICE]
|
|
4049
|
+
}] }, { type: undefined, decorators: [{
|
|
4050
|
+
type: Inject,
|
|
4051
|
+
args: [API_SERVICE]
|
|
4052
|
+
}] }, { type: undefined, decorators: [{
|
|
4053
|
+
type: Inject,
|
|
4054
|
+
args: [SOCKET_IO_PATH]
|
|
4055
|
+
}] }] });
|
|
4056
|
+
|
|
3855
4057
|
class DragDropHandler {
|
|
3856
4058
|
static get(el) {
|
|
3857
4059
|
if (DragDropHandler.handlers?.has(el)) {
|
|
@@ -5132,7 +5334,7 @@ class PaginationDirective {
|
|
|
5132
5334
|
refresh(time) {
|
|
5133
5335
|
time = isNaN(time) || time <= 0 ? this.updateTime : time;
|
|
5134
5336
|
this.updateTimer.time = isNaN(time) || time <= 0 ? 100 : time;
|
|
5135
|
-
this.waitFor.then(() => {
|
|
5337
|
+
Promise.resolve(this.waitFor).then(() => {
|
|
5136
5338
|
this.updateTimer.run();
|
|
5137
5339
|
});
|
|
5138
5340
|
}
|
|
@@ -5345,6 +5547,177 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
5345
5547
|
type: Input
|
|
5346
5548
|
}] } });
|
|
5347
5549
|
|
|
5550
|
+
class DropdownDirective {
|
|
5551
|
+
static { this.active = null; }
|
|
5552
|
+
get nativeElement() {
|
|
5553
|
+
return this.element.nativeElement;
|
|
5554
|
+
}
|
|
5555
|
+
get isOpened() {
|
|
5556
|
+
return this.opened;
|
|
5557
|
+
}
|
|
5558
|
+
get getDisabled() {
|
|
5559
|
+
return this.disabled;
|
|
5560
|
+
}
|
|
5561
|
+
set isDisabled(value) {
|
|
5562
|
+
this.disabled = value;
|
|
5563
|
+
if (!value)
|
|
5564
|
+
return;
|
|
5565
|
+
this.hide();
|
|
5566
|
+
}
|
|
5567
|
+
constructor(element) {
|
|
5568
|
+
this.element = element;
|
|
5569
|
+
this.opened = false;
|
|
5570
|
+
this.disabled = false;
|
|
5571
|
+
this.closeInside = true;
|
|
5572
|
+
this.keyboardHandler = true;
|
|
5573
|
+
this.onShown = new EventEmitter();
|
|
5574
|
+
this.onHidden = new EventEmitter();
|
|
5575
|
+
this.onKeyboard = new EventEmitter();
|
|
5576
|
+
this.onTap = (event) => {
|
|
5577
|
+
const target = event.target;
|
|
5578
|
+
if (event["button"])
|
|
5579
|
+
return;
|
|
5580
|
+
if (this.nativeElement && this.nativeElement.contains(target) && !this.closeInside) {
|
|
5581
|
+
return;
|
|
5582
|
+
}
|
|
5583
|
+
setTimeout(() => this.hide(), event.type == "touchend" ? 250 : 100);
|
|
5584
|
+
};
|
|
5585
|
+
this.onKeyDown = (event) => {
|
|
5586
|
+
const input = event.target;
|
|
5587
|
+
const notInput = input && input.tagName !== "INPUT" && input.tagName !== "TEXTAREA";
|
|
5588
|
+
if ("Tab" === event.key || !input || notInput) {
|
|
5589
|
+
event.stopPropagation();
|
|
5590
|
+
event.preventDefault();
|
|
5591
|
+
}
|
|
5592
|
+
if ("Esc" === event.key || "Escape" === event.key) {
|
|
5593
|
+
this.hide();
|
|
5594
|
+
return;
|
|
5595
|
+
}
|
|
5596
|
+
this.onKeyboard.emit(event);
|
|
5597
|
+
};
|
|
5598
|
+
}
|
|
5599
|
+
ngOnDestroy() {
|
|
5600
|
+
if (DropdownDirective.active === this) {
|
|
5601
|
+
DropdownDirective.active = null;
|
|
5602
|
+
this.onHidden.emit(this);
|
|
5603
|
+
}
|
|
5604
|
+
}
|
|
5605
|
+
showEvent() {
|
|
5606
|
+
this.onShown.emit(this);
|
|
5607
|
+
}
|
|
5608
|
+
hideEvent() {
|
|
5609
|
+
this.onHidden.emit(this);
|
|
5610
|
+
}
|
|
5611
|
+
show($event) {
|
|
5612
|
+
if (this.opened)
|
|
5613
|
+
return;
|
|
5614
|
+
if ($event) {
|
|
5615
|
+
if (!this.keyboardHandler)
|
|
5616
|
+
return;
|
|
5617
|
+
$event.stopPropagation();
|
|
5618
|
+
$event.preventDefault();
|
|
5619
|
+
}
|
|
5620
|
+
if (this.disabled)
|
|
5621
|
+
return;
|
|
5622
|
+
this.opened = true;
|
|
5623
|
+
this.showEvent();
|
|
5624
|
+
DropdownDirective.active = this;
|
|
5625
|
+
// Prevent toggle from selecting an item right after it is shown
|
|
5626
|
+
setTimeout(() => {
|
|
5627
|
+
if (!this.opened)
|
|
5628
|
+
return;
|
|
5629
|
+
document.addEventListener("touchend", this.onTap);
|
|
5630
|
+
document.addEventListener("mouseup", this.onTap);
|
|
5631
|
+
document.addEventListener("keydown", this.onKeyDown);
|
|
5632
|
+
}, 10);
|
|
5633
|
+
}
|
|
5634
|
+
hide() {
|
|
5635
|
+
if (!this.opened)
|
|
5636
|
+
return;
|
|
5637
|
+
this.opened = false;
|
|
5638
|
+
this.hideEvent();
|
|
5639
|
+
document.removeEventListener("touchend", this.onTap);
|
|
5640
|
+
document.removeEventListener("mouseup", this.onTap);
|
|
5641
|
+
document.removeEventListener("keydown", this.onKeyDown);
|
|
5642
|
+
// Prevent toggle from refocus itself after it is hidden because of another toggle
|
|
5643
|
+
setTimeout(() => {
|
|
5644
|
+
if (DropdownDirective.active === this) {
|
|
5645
|
+
DropdownDirective.active = null;
|
|
5646
|
+
this.nativeElement?.focus();
|
|
5647
|
+
}
|
|
5648
|
+
}, 10);
|
|
5649
|
+
}
|
|
5650
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DropdownDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5651
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: DropdownDirective, isStandalone: false, selector: "[dd],[drop-down]", inputs: { closeInside: "closeInside", keyboardHandler: "keyboardHandler", isDisabled: "isDisabled" }, outputs: { onShown: "onShown", onHidden: "onHidden", onKeyboard: "onKeyboard" }, host: { listeners: { "keydown.enter": "show($event)", "keydown.space": "show($event)" }, properties: { "class.open": "this.isOpened", "class.disabled": "this.getDisabled" } }, exportAs: ["dropdown"], ngImport: i0 }); }
|
|
5652
|
+
}
|
|
5653
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DropdownDirective, decorators: [{
|
|
5654
|
+
type: Directive,
|
|
5655
|
+
args: [{
|
|
5656
|
+
standalone: false,
|
|
5657
|
+
selector: "[dd],[drop-down]",
|
|
5658
|
+
exportAs: "dropdown"
|
|
5659
|
+
}]
|
|
5660
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { closeInside: [{
|
|
5661
|
+
type: Input
|
|
5662
|
+
}], keyboardHandler: [{
|
|
5663
|
+
type: Input
|
|
5664
|
+
}], onShown: [{
|
|
5665
|
+
type: Output
|
|
5666
|
+
}], onHidden: [{
|
|
5667
|
+
type: Output
|
|
5668
|
+
}], onKeyboard: [{
|
|
5669
|
+
type: Output
|
|
5670
|
+
}], isOpened: [{
|
|
5671
|
+
type: HostBinding,
|
|
5672
|
+
args: ["class.open"]
|
|
5673
|
+
}], getDisabled: [{
|
|
5674
|
+
type: HostBinding,
|
|
5675
|
+
args: ["class.disabled"]
|
|
5676
|
+
}], isDisabled: [{
|
|
5677
|
+
type: Input
|
|
5678
|
+
}], show: [{
|
|
5679
|
+
type: HostListener,
|
|
5680
|
+
args: ["keydown.enter", ["$event"]]
|
|
5681
|
+
}, {
|
|
5682
|
+
type: HostListener,
|
|
5683
|
+
args: ["keydown.space", ["$event"]]
|
|
5684
|
+
}] } });
|
|
5685
|
+
|
|
5686
|
+
class DropdownToggleDirective extends AsyncMethodBase {
|
|
5687
|
+
constructor(element, dropdown, toaster, cdr) {
|
|
5688
|
+
super(toaster, cdr);
|
|
5689
|
+
this.element = element;
|
|
5690
|
+
this.dropdown = dropdown;
|
|
5691
|
+
}
|
|
5692
|
+
getMethod() {
|
|
5693
|
+
return this.beforeOpen;
|
|
5694
|
+
}
|
|
5695
|
+
callMethod() {
|
|
5696
|
+
if (this.dropdown.isOpened) {
|
|
5697
|
+
this.dropdown.hide();
|
|
5698
|
+
}
|
|
5699
|
+
else if (!super.callMethod()) {
|
|
5700
|
+
this.dropdown.show();
|
|
5701
|
+
}
|
|
5702
|
+
return true;
|
|
5703
|
+
}
|
|
5704
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DropdownToggleDirective, deps: [{ token: i0.ElementRef }, { token: DropdownDirective }, { token: TOASTER_SERVICE }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5705
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: DropdownToggleDirective, isStandalone: false, selector: "[dropdownToggle]", inputs: { beforeOpen: "beforeOpen" }, exportAs: ["dropdown-toggle"], usesInheritance: true, ngImport: i0 }); }
|
|
5706
|
+
}
|
|
5707
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DropdownToggleDirective, decorators: [{
|
|
5708
|
+
type: Directive,
|
|
5709
|
+
args: [{
|
|
5710
|
+
standalone: false,
|
|
5711
|
+
selector: "[dropdownToggle]",
|
|
5712
|
+
exportAs: "dropdown-toggle",
|
|
5713
|
+
}]
|
|
5714
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: DropdownDirective }, { type: undefined, decorators: [{
|
|
5715
|
+
type: Inject,
|
|
5716
|
+
args: [TOASTER_SERVICE]
|
|
5717
|
+
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { beforeOpen: [{
|
|
5718
|
+
type: Input
|
|
5719
|
+
}] } });
|
|
5720
|
+
|
|
5348
5721
|
class UnorderedListItemDirective {
|
|
5349
5722
|
get elem() {
|
|
5350
5723
|
return this.elementRef.nativeElement;
|
|
@@ -5785,8 +6158,8 @@ class DynamicTableComponent {
|
|
|
5785
6158
|
}
|
|
5786
6159
|
setSorting(column, toggle) {
|
|
5787
6160
|
if (toggle) {
|
|
5788
|
-
|
|
5789
|
-
return;
|
|
6161
|
+
toggle.show();
|
|
6162
|
+
return false;
|
|
5790
6163
|
}
|
|
5791
6164
|
this.orderDescending = column == this.orderBy && !this.orderDescending;
|
|
5792
6165
|
this.orderBy = column;
|
|
@@ -5838,11 +6211,11 @@ class DynamicTableComponent {
|
|
|
5838
6211
|
});
|
|
5839
6212
|
}
|
|
5840
6213
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5841
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DynamicTableComponent, isStandalone: false, selector: "dynamic-table", inputs: { label: "label", placeholder: "placeholder", dataLoader: "dataLoader", data: "data", selected: "selected", page: "page", urlParam: "urlParam", parallelData: "parallelData", columns: "columns", showFilter: "showFilter", itemsPerPage: "itemsPerPage", updateTime: "updateTime", filterTime: "filterTime", maxPages: "maxPages", directionLinks: "directionLinks", boundaryLinks: "boundaryLinks", orderBy: "orderBy", orderDescending: "orderDescending", testId: "testId", titlePrefix: "titlePrefix", dragStartFn: "dragStartFn", dragEnterFn: "dragEnterFn", dropFn: "dropFn" }, queries: [{ propertyName: "rowTemplate", first: true, predicate: ["rowTemplate"], descendants: true, static: true }, { propertyName: "wrapperTemplate", first: true, predicate: ["wrapperTemplate"], descendants: true, static: true }, { propertyName: "filterTemplate", first: true, predicate: ["filterTemplate"], descendants: true, static: true }, { propertyName: "templateDirectives", predicate: DynamicTableTemplateDirective }], viewQueries: [{ propertyName: "columnsTemplate", first: true, predicate: ["columnsTemplate"], descendants: true, static: true }, { propertyName: "defaultRowTemplate", first: true, predicate: ["defaultRowTemplate"], descendants: true, static: true }, { propertyName: "defaultWrapperTemplate", first: true, predicate: ["defaultWrapperTemplate"], descendants: true, static: true }, { propertyName: "defaultFilterTemplate", first: true, predicate: ["defaultFilterTemplate"], descendants: true, static: true }, { propertyName: "pagination", first: true, predicate: ["pagination"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"dynamic-table\" #pagination=\"pagination\" [pagination]=\"loadData\" [page]=\"page\" [itemsPerPage]=\"itemsPerPage\" [updateTime]=\"updateTime\">\r\n <ng-template #defaultFilterTemplate let-table>\r\n <div class=\"table-filter\">\r\n <ng-container *ngIf=\"table.showFilter\">\r\n <label *ngIf=\"label\" [attr.for]=\"tableId\">\r\n {{ label | translate }}\r\n </label>\r\n <input type=\"text\"\r\n class=\"form-control\"\r\n [attr.id]=\"tableId\"\r\n [attr.data-testid]=\"testId + '-filter-input'\"\r\n [placeholder]=\"placeholder | translate\"\r\n [ngModel]=\"table.filter\"\r\n (ngModelChange)=\"table.setFilter($event)\"/>\r\n </ng-container>\r\n <ng-content select=\"[table-filter]\"></ng-content>\r\n </div>\r\n </ng-template>\r\n <ng-container [ngxTemplateOutlet]=\"filterTemplate || defaultFilterTemplate\" [context]=\"this\"></ng-container>\r\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\" [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\r\n <div class=\"table-responsive\">\r\n <ng-template #columnTemplate let-context let-column=\"column\" let-template=\"template\">\r\n <ng-template #defaultTemplate let-column=\"column\" let-item=\"item\">\r\n <span>{{ item[column] == undefined || item[column] == null ? '-' : item[column] }}</span>\r\n </ng-template>\r\n <ng-template #pureTemplate>\r\n <ng-container [ngxTemplateOutlet]=\"template.ref\" [context]=\"context\"></ng-container>\r\n </ng-template>\r\n <td [ngClass]=\"'column-' + column\"\r\n [attr.data-testid]=\"testId + '-' + column + '-' + context.rowIndex\" *ngIf=\"!template || !template.pure; else pureTemplate\">\r\n <ng-container [ngxTemplateOutlet]=\"!template ? defaultTemplate : template.ref\" [context]=\"context\"></ng-container>\r\n </td>\r\n </ng-template>\r\n\r\n <ng-template #columnsTemplate let-context>\r\n <ng-container *ngFor=\"let column of cols\"\r\n [ngxTemplateOutlet]=\"columnTemplate\"\r\n [context]=\"context\"\r\n [additionalContext]=\"{\r\n template: templates[column],\r\n column: column\r\n }\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template #defaultRowTemplate let-context>\r\n <tr draggable=\"true\"\r\n #elem\r\n [ngClass]=\"{active: selected === context.item}\"\r\n (dragstart)=\"onDragStart($event, elem, context.item)\"\r\n (dragenter)=\"onDragEnter($event, elem, context.item)\"\r\n (dragleave)=\"onDragLeave($event, elem)\"\r\n (drop)=\"onDrop($event, elem, context.item)\">\r\n <ng-container [ngxTemplateOutlet]=\"columnsTemplate\" [context]=\"context\"></ng-container>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template #headerTemplate let-column=\"column\" let-toggle=\"toggle\">\r\n <ng-template #defaultCol>\r\n <span>{{ realColumns[column].title | translate }}</span>\r\n </ng-template>\r\n <a *ngIf=\"realColumns[column].sort; else defaultCol\"\r\n [ngClass]=\"orderBy !== column ? 'sort' : (orderDescending ? 'sort-desc' : 'sort-asc')\"\r\n (click)=\"setSorting(column, toggle)\">\r\n <span>{{ realColumns[column].title | translate }}</span>\r\n <i *ngIf=\"orderBy == column\"\r\n [icon]=\"orderBy !== column ? 'sort' : (orderDescending ? 'sort-desc' : 'sort-asc')\"></i>\r\n </a>\r\n </ng-template>\r\n\r\n <ng-template #defaultWrapperTemplate>\r\n <div class=\"sort-toggle\" *ngIf=\"orderBy\">\r\n <div class=\"sort-toggle-content\">\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{column: orderBy, toggle: true}\"></ng-container>\r\n </div>\r\n </div>\r\n <table class=\"table table-striped\">\r\n <thead>\r\n <tr [ngClass]=\"{'header': true, 'sort-open': sortOpen}\">\r\n <th *ngFor=\"let column of cols\" [ngClass]=\"'header-column column-' + column\">\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{column: column, toggle: false}\"></ng-container>\r\n </th>\r\n </tr>\r\n <tr *ngIf=\"hasQuery\">\r\n <th *ngFor=\"let column of cols\" [ngClass]=\"['column-' + column, 'filter-column']\">\r\n <ng-container *ngIf=\"realColumns[column].filter\">\r\n <input class=\"form-control\"\r\n [attr.data-testid]=\"testId + '-filter-' + column\"\r\n [type]=\"realColumns[column].filterType || 'text'\"\r\n [placeholder]=\"realColumns[column].title | translate\"\r\n [ngModel]=\"query[column]\"\r\n (ngModelChange)=\"updateQuery(column, $event)\"/>\r\n </ng-container>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *paginationItem=\"let context\"\r\n [ngxTemplateOutlet]=\"rowTemplate\"\r\n [context]=\"context\"\r\n [additionalContext]=\"this\"></ng-container>\r\n </tbody>\r\n </table>\r\n </ng-template>\r\n\r\n <div class=\"table-wrapper\">\r\n <ng-content select=\"[table-top]\"></ng-content>\r\n <ng-container [ngxTemplateOutlet]=\"wrapperTemplate || defaultWrapperTemplate\"\r\n [context]=\"this\"></ng-container>\r\n <ng-content select=\"[table-bottom]\"></ng-content>\r\n </div>\r\n </div>\r\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\" [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\r\n</div>\r\n", styles: [".dynamic-table{--table-bg: transparent;--table-stripe-bg: rgba(210, 210, 210, .35)}.dynamic-table .sort-toggle{display:none}.dynamic-table .table-responsive{overflow:hidden;overflow-x:auto}.dynamic-table .table-filter:not(:empty){display:flex;gap:10px;margin-bottom:20px}.dynamic-table .table-filter:not(:empty)>input{max-width:400px}.dynamic-table .table-wrapper{position:relative}.dynamic-table table.table{border-collapse:collapse;width:100%;font-family:inherit;font-size:inherit}.dynamic-table table.table th{text-align:left}.dynamic-table table.table td,.dynamic-table table.table th{text-align:left;padding:6px 12px;border:1px solid var(--border-color);vertical-align:middle}.dynamic-table table.table-sm th,.dynamic-table table.table-sm td{font-size:var(--font-size-sm);padding:4px 6px}.dynamic-table table.table thead th{font-weight:500}.dynamic-table table.table thead th a{color:var(--text-color);cursor:pointer}.dynamic-table table.table thead th span{display:inline-block;vertical-align:middle}.dynamic-table table.table thead th .svg-icon{float:right}.dynamic-table table.table thead th .svg-icon svg{width:20px;height:20px}.dynamic-table table.table tbody tr td{background-color:var(--table-bg)}.dynamic-table .table-striped>tbody>tr:nth-of-type(odd) td{background-color:var(--table-stripe-bg)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: IconDirective, selector: "[icon]", inputs: ["icon", "activeIcon", "active"], outputs: ["activeChange"] }, { kind: "directive", type: NgxTemplateOutletDirective, selector: "[ngxTemplateOutlet]", inputs: ["context", "additionalContext", "ngxTemplateOutlet"] }, { kind: "directive", type: PaginationDirective, selector: "[pagination]", inputs: ["pagination", "page", "itemsPerPage", "updateTime", "waitFor"], outputs: ["pageChange", "onRefresh"], exportAs: ["pagination"] }, { kind: "directive", type: PaginationItemDirective, selector: "[paginationItem]" }, { kind: "component", type: PaginationMenuComponent, selector: "pagination-menu", inputs: ["maxSize", "urlParam", "directionLinks", "boundaryLinks"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
6214
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DynamicTableComponent, isStandalone: false, selector: "dynamic-table", inputs: { label: "label", placeholder: "placeholder", dataLoader: "dataLoader", data: "data", selected: "selected", page: "page", urlParam: "urlParam", parallelData: "parallelData", columns: "columns", showFilter: "showFilter", itemsPerPage: "itemsPerPage", updateTime: "updateTime", filterTime: "filterTime", maxPages: "maxPages", directionLinks: "directionLinks", boundaryLinks: "boundaryLinks", orderBy: "orderBy", orderDescending: "orderDescending", testId: "testId", titlePrefix: "titlePrefix", dragStartFn: "dragStartFn", dragEnterFn: "dragEnterFn", dropFn: "dropFn" }, queries: [{ propertyName: "rowTemplate", first: true, predicate: ["rowTemplate"], descendants: true, static: true }, { propertyName: "wrapperTemplate", first: true, predicate: ["wrapperTemplate"], descendants: true, static: true }, { propertyName: "filterTemplate", first: true, predicate: ["filterTemplate"], descendants: true, static: true }, { propertyName: "templateDirectives", predicate: DynamicTableTemplateDirective }], viewQueries: [{ propertyName: "columnsTemplate", first: true, predicate: ["columnsTemplate"], descendants: true, static: true }, { propertyName: "defaultRowTemplate", first: true, predicate: ["defaultRowTemplate"], descendants: true, static: true }, { propertyName: "defaultWrapperTemplate", first: true, predicate: ["defaultWrapperTemplate"], descendants: true, static: true }, { propertyName: "defaultFilterTemplate", first: true, predicate: ["defaultFilterTemplate"], descendants: true, static: true }, { propertyName: "pagination", first: true, predicate: ["pagination"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #columnTemplate let-context let-column=\"column\" let-template=\"template\">\r\n <ng-template #defaultTemplate let-column=\"column\" let-item=\"item\">\r\n <span>{{ item[column] == undefined || item[column] == null ? '-' : item[column] }}</span>\r\n </ng-template>\r\n <ng-template #pureTemplate>\r\n <ng-container [ngxTemplateOutlet]=\"template.ref\" [context]=\"context\"></ng-container>\r\n </ng-template>\r\n <td [ngClass]=\"'column-' + column\"\r\n [attr.data-testid]=\"testId + '-' + column + '-' + context.rowIndex\" *ngIf=\"!template || !template.pure; else pureTemplate\">\r\n <ng-container [ngxTemplateOutlet]=\"!template ? defaultTemplate : template.ref\" [context]=\"context\"></ng-container>\r\n </td>\r\n</ng-template>\r\n\r\n<ng-template #columnsTemplate let-context>\r\n <ng-container *ngFor=\"let column of cols\"\r\n [ngxTemplateOutlet]=\"columnTemplate\"\r\n [context]=\"context\"\r\n [additionalContext]=\"{\r\n template: templates[column],\r\n column: column\r\n }\"></ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultRowTemplate let-context>\r\n <tr draggable=\"true\"\r\n #elem\r\n [ngClass]=\"{active: selected === context.item}\"\r\n (dragstart)=\"onDragStart($event, elem, context.item)\"\r\n (dragenter)=\"onDragEnter($event, elem, context.item)\"\r\n (dragleave)=\"onDragLeave($event, elem)\"\r\n (drop)=\"onDrop($event, elem, context.item)\">\r\n <ng-container [ngxTemplateOutlet]=\"columnsTemplate\" [context]=\"context\"></ng-container>\r\n </tr>\r\n</ng-template>\r\n\r\n<ng-template #headerTemplate let-column=\"column\" let-toggle=\"toggle\">\r\n <ng-template #defaultCol>\r\n <span>{{ realColumns[column].title | translate }}</span>\r\n </ng-template>\r\n <a *ngIf=\"realColumns[column].sort; else defaultCol\"\r\n [ngClass]=\"orderBy !== column ? 'sort' : (orderDescending ? 'sort-desc' : 'sort-asc')\"\r\n (click)=\"setSorting(column, toggle)\">\r\n <span>{{ realColumns[column].title | translate }}</span>\r\n <i *ngIf=\"orderBy == column\"\r\n [icon]=\"orderBy !== column ? 'sort' : (orderDescending ? 'sort-desc' : 'sort-asc')\"></i>\r\n </a>\r\n</ng-template>\r\n\r\n<div class=\"dynamic-table\" #pagination=\"pagination\" [pagination]=\"loadData\" [page]=\"page\" [itemsPerPage]=\"itemsPerPage\" [updateTime]=\"updateTime\">\r\n <ng-template #defaultFilterTemplate let-table>\r\n <div class=\"table-filter\">\r\n <ng-container *ngIf=\"table.showFilter\">\r\n <label *ngIf=\"label\" [attr.for]=\"tableId\">\r\n {{ label | translate }}\r\n </label>\r\n <input type=\"text\"\r\n class=\"form-control\"\r\n [attr.id]=\"tableId\"\r\n [attr.data-testid]=\"testId + '-filter-input'\"\r\n [placeholder]=\"placeholder | translate\"\r\n [ngModel]=\"table.filter\"\r\n (ngModelChange)=\"table.setFilter($event)\"/>\r\n </ng-container>\r\n <ng-content select=\"[table-filter]\"></ng-content>\r\n </div>\r\n </ng-template>\r\n <ng-container [ngxTemplateOutlet]=\"filterTemplate || defaultFilterTemplate\" [context]=\"this\"></ng-container>\r\n <div class=\"sort-toggle\" dd #sortDd=\"dropdown\" *ngIf=\"orderBy\">\r\n <div class=\"sort-toggle-content\">\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{column: orderBy, toggle: sortDd}\"></ng-container>\r\n </div>\r\n <ul>\r\n <li *ngFor=\"let column of cols\" [ngClass]=\"'header-column column-' + column\">\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{column: column}\"></ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\" [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\r\n <div class=\"table-responsive\">\r\n <ng-template #defaultWrapperTemplate>\r\n <table class=\"table table-striped\">\r\n <thead>\r\n <tr class=\"header\">\r\n <th *ngFor=\"let column of cols\" [ngClass]=\"'header-column column-' + column\">\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{column: column}\"></ng-container>\r\n </th>\r\n </tr>\r\n <tr *ngIf=\"hasQuery\">\r\n <th *ngFor=\"let column of cols\" [ngClass]=\"['column-' + column, 'filter-column']\">\r\n <ng-container *ngIf=\"realColumns[column].filter\">\r\n <input class=\"form-control\"\r\n [attr.data-testid]=\"testId + '-filter-' + column\"\r\n [type]=\"realColumns[column].filterType || 'text'\"\r\n [placeholder]=\"realColumns[column].title | translate\"\r\n [ngModel]=\"query[column]\"\r\n (ngModelChange)=\"updateQuery(column, $event)\"/>\r\n </ng-container>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *paginationItem=\"let context\"\r\n [ngxTemplateOutlet]=\"rowTemplate\"\r\n [context]=\"context\"\r\n [additionalContext]=\"this\"></ng-container>\r\n </tbody>\r\n </table>\r\n </ng-template>\r\n\r\n <div class=\"table-wrapper\">\r\n <ng-content select=\"[table-top]\"></ng-content>\r\n <ng-container [ngxTemplateOutlet]=\"wrapperTemplate || defaultWrapperTemplate\"\r\n [context]=\"this\"></ng-container>\r\n <ng-content select=\"[table-bottom]\"></ng-content>\r\n </div>\r\n </div>\r\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\" [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\r\n</div>\r\n", styles: [".dynamic-table{--table-bg: transparent;--table-stripe-bg: rgba(210, 210, 210, .35);--border-size: 2px;--bg-color: #FFFFFF;--text-color: #151515;--highlight-color: var(--primary-color, #888888)}.dynamic-table .sort-toggle{display:none;position:relative;margin:10px}.dynamic-table .sort-toggle .svg-icon{pointer-events:none}.dynamic-table .sort-toggle .sort-toggle-content{background:var(--bg-color);color:var(--text-color);border:var(--border-size) solid var(--highlight-color);border-radius:5px;cursor:pointer;padding-right:8px}.dynamic-table .sort-toggle a{padding:8px 12px}.dynamic-table .sort-toggle ul{margin:-2px 0 0;padding:0;list-style:none;position:absolute;z-index:1;width:100%;min-height:fit-content;border:var(--border-size) solid var(--highlight-color);border-radius:0 0 5px 5px;overflow:hidden;display:none}.dynamic-table .sort-toggle li{background:var(--bg-color);color:var(--text-color);cursor:pointer;padding-right:8px}.dynamic-table .sort-toggle .sort-toggle-content:hover,.dynamic-table .sort-toggle li:hover,.dynamic-table .sort-toggle li.active{background-color:var(--highlight-color);color:#fff}.dynamic-table .sort-toggle.open ul{display:block}.dynamic-table .table-responsive{overflow:hidden;overflow-x:auto}.dynamic-table .table-filter:not(:empty){display:flex;gap:10px;margin-bottom:20px}.dynamic-table .table-filter:not(:empty)>input{max-width:400px}.dynamic-table .table-wrapper{position:relative}.dynamic-table table.table{border-collapse:collapse;width:100%;font-family:inherit;font-size:inherit}.dynamic-table table.table th{text-align:left}.dynamic-table table.table td,.dynamic-table table.table th{text-align:left;padding:6px 12px;border:1px solid var(--border-color);vertical-align:middle}.dynamic-table table.table-sm th,.dynamic-table table.table-sm td{font-size:var(--font-size-sm);padding:4px 6px}.dynamic-table table.table thead th{font-weight:500}.dynamic-table table.table thead th a{color:var(--text-color);cursor:pointer}.dynamic-table table.table thead th span{display:inline-block;vertical-align:middle}.dynamic-table table.table thead th .svg-icon{float:right}.dynamic-table table.table thead th .svg-icon svg{width:20px;height:20px}.dynamic-table table.table tbody tr td{background-color:var(--table-bg)}.dynamic-table table.table tbody tr.active td{background-color:var(--highlight-color)}.dynamic-table .table-striped>tbody>tr:nth-of-type(odd) td{background-color:var(--table-stripe-bg)}.dynamic-table .table-striped>tbody>tr:nth-of-type(odd).active td{background-color:var(--highlight-color)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: IconDirective, selector: "[icon]", inputs: ["icon", "activeIcon", "active"], outputs: ["activeChange"] }, { kind: "directive", type: NgxTemplateOutletDirective, selector: "[ngxTemplateOutlet]", inputs: ["context", "additionalContext", "ngxTemplateOutlet"] }, { kind: "directive", type: PaginationDirective, selector: "[pagination]", inputs: ["pagination", "page", "itemsPerPage", "updateTime", "waitFor"], outputs: ["pageChange", "onRefresh"], exportAs: ["pagination"] }, { kind: "directive", type: PaginationItemDirective, selector: "[paginationItem]" }, { kind: "directive", type: DropdownDirective, selector: "[dd],[drop-down]", inputs: ["closeInside", "keyboardHandler", "isDisabled"], outputs: ["onShown", "onHidden", "onKeyboard"], exportAs: ["dropdown"] }, { kind: "component", type: PaginationMenuComponent, selector: "pagination-menu", inputs: ["maxSize", "urlParam", "directionLinks", "boundaryLinks"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
5842
6215
|
}
|
|
5843
6216
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicTableComponent, decorators: [{
|
|
5844
6217
|
type: Component,
|
|
5845
|
-
args: [{ standalone: false, encapsulation: ViewEncapsulation.None, selector: "dynamic-table", template: "<
|
|
6218
|
+
args: [{ standalone: false, encapsulation: ViewEncapsulation.None, selector: "dynamic-table", template: "<ng-template #columnTemplate let-context let-column=\"column\" let-template=\"template\">\r\n <ng-template #defaultTemplate let-column=\"column\" let-item=\"item\">\r\n <span>{{ item[column] == undefined || item[column] == null ? '-' : item[column] }}</span>\r\n </ng-template>\r\n <ng-template #pureTemplate>\r\n <ng-container [ngxTemplateOutlet]=\"template.ref\" [context]=\"context\"></ng-container>\r\n </ng-template>\r\n <td [ngClass]=\"'column-' + column\"\r\n [attr.data-testid]=\"testId + '-' + column + '-' + context.rowIndex\" *ngIf=\"!template || !template.pure; else pureTemplate\">\r\n <ng-container [ngxTemplateOutlet]=\"!template ? defaultTemplate : template.ref\" [context]=\"context\"></ng-container>\r\n </td>\r\n</ng-template>\r\n\r\n<ng-template #columnsTemplate let-context>\r\n <ng-container *ngFor=\"let column of cols\"\r\n [ngxTemplateOutlet]=\"columnTemplate\"\r\n [context]=\"context\"\r\n [additionalContext]=\"{\r\n template: templates[column],\r\n column: column\r\n }\"></ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultRowTemplate let-context>\r\n <tr draggable=\"true\"\r\n #elem\r\n [ngClass]=\"{active: selected === context.item}\"\r\n (dragstart)=\"onDragStart($event, elem, context.item)\"\r\n (dragenter)=\"onDragEnter($event, elem, context.item)\"\r\n (dragleave)=\"onDragLeave($event, elem)\"\r\n (drop)=\"onDrop($event, elem, context.item)\">\r\n <ng-container [ngxTemplateOutlet]=\"columnsTemplate\" [context]=\"context\"></ng-container>\r\n </tr>\r\n</ng-template>\r\n\r\n<ng-template #headerTemplate let-column=\"column\" let-toggle=\"toggle\">\r\n <ng-template #defaultCol>\r\n <span>{{ realColumns[column].title | translate }}</span>\r\n </ng-template>\r\n <a *ngIf=\"realColumns[column].sort; else defaultCol\"\r\n [ngClass]=\"orderBy !== column ? 'sort' : (orderDescending ? 'sort-desc' : 'sort-asc')\"\r\n (click)=\"setSorting(column, toggle)\">\r\n <span>{{ realColumns[column].title | translate }}</span>\r\n <i *ngIf=\"orderBy == column\"\r\n [icon]=\"orderBy !== column ? 'sort' : (orderDescending ? 'sort-desc' : 'sort-asc')\"></i>\r\n </a>\r\n</ng-template>\r\n\r\n<div class=\"dynamic-table\" #pagination=\"pagination\" [pagination]=\"loadData\" [page]=\"page\" [itemsPerPage]=\"itemsPerPage\" [updateTime]=\"updateTime\">\r\n <ng-template #defaultFilterTemplate let-table>\r\n <div class=\"table-filter\">\r\n <ng-container *ngIf=\"table.showFilter\">\r\n <label *ngIf=\"label\" [attr.for]=\"tableId\">\r\n {{ label | translate }}\r\n </label>\r\n <input type=\"text\"\r\n class=\"form-control\"\r\n [attr.id]=\"tableId\"\r\n [attr.data-testid]=\"testId + '-filter-input'\"\r\n [placeholder]=\"placeholder | translate\"\r\n [ngModel]=\"table.filter\"\r\n (ngModelChange)=\"table.setFilter($event)\"/>\r\n </ng-container>\r\n <ng-content select=\"[table-filter]\"></ng-content>\r\n </div>\r\n </ng-template>\r\n <ng-container [ngxTemplateOutlet]=\"filterTemplate || defaultFilterTemplate\" [context]=\"this\"></ng-container>\r\n <div class=\"sort-toggle\" dd #sortDd=\"dropdown\" *ngIf=\"orderBy\">\r\n <div class=\"sort-toggle-content\">\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{column: orderBy, toggle: sortDd}\"></ng-container>\r\n </div>\r\n <ul>\r\n <li *ngFor=\"let column of cols\" [ngClass]=\"'header-column column-' + column\">\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{column: column}\"></ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\" [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\r\n <div class=\"table-responsive\">\r\n <ng-template #defaultWrapperTemplate>\r\n <table class=\"table table-striped\">\r\n <thead>\r\n <tr class=\"header\">\r\n <th *ngFor=\"let column of cols\" [ngClass]=\"'header-column column-' + column\">\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{column: column}\"></ng-container>\r\n </th>\r\n </tr>\r\n <tr *ngIf=\"hasQuery\">\r\n <th *ngFor=\"let column of cols\" [ngClass]=\"['column-' + column, 'filter-column']\">\r\n <ng-container *ngIf=\"realColumns[column].filter\">\r\n <input class=\"form-control\"\r\n [attr.data-testid]=\"testId + '-filter-' + column\"\r\n [type]=\"realColumns[column].filterType || 'text'\"\r\n [placeholder]=\"realColumns[column].title | translate\"\r\n [ngModel]=\"query[column]\"\r\n (ngModelChange)=\"updateQuery(column, $event)\"/>\r\n </ng-container>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *paginationItem=\"let context\"\r\n [ngxTemplateOutlet]=\"rowTemplate\"\r\n [context]=\"context\"\r\n [additionalContext]=\"this\"></ng-container>\r\n </tbody>\r\n </table>\r\n </ng-template>\r\n\r\n <div class=\"table-wrapper\">\r\n <ng-content select=\"[table-top]\"></ng-content>\r\n <ng-container [ngxTemplateOutlet]=\"wrapperTemplate || defaultWrapperTemplate\"\r\n [context]=\"this\"></ng-container>\r\n <ng-content select=\"[table-bottom]\"></ng-content>\r\n </div>\r\n </div>\r\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\" [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\r\n</div>\r\n", styles: [".dynamic-table{--table-bg: transparent;--table-stripe-bg: rgba(210, 210, 210, .35);--border-size: 2px;--bg-color: #FFFFFF;--text-color: #151515;--highlight-color: var(--primary-color, #888888)}.dynamic-table .sort-toggle{display:none;position:relative;margin:10px}.dynamic-table .sort-toggle .svg-icon{pointer-events:none}.dynamic-table .sort-toggle .sort-toggle-content{background:var(--bg-color);color:var(--text-color);border:var(--border-size) solid var(--highlight-color);border-radius:5px;cursor:pointer;padding-right:8px}.dynamic-table .sort-toggle a{padding:8px 12px}.dynamic-table .sort-toggle ul{margin:-2px 0 0;padding:0;list-style:none;position:absolute;z-index:1;width:100%;min-height:fit-content;border:var(--border-size) solid var(--highlight-color);border-radius:0 0 5px 5px;overflow:hidden;display:none}.dynamic-table .sort-toggle li{background:var(--bg-color);color:var(--text-color);cursor:pointer;padding-right:8px}.dynamic-table .sort-toggle .sort-toggle-content:hover,.dynamic-table .sort-toggle li:hover,.dynamic-table .sort-toggle li.active{background-color:var(--highlight-color);color:#fff}.dynamic-table .sort-toggle.open ul{display:block}.dynamic-table .table-responsive{overflow:hidden;overflow-x:auto}.dynamic-table .table-filter:not(:empty){display:flex;gap:10px;margin-bottom:20px}.dynamic-table .table-filter:not(:empty)>input{max-width:400px}.dynamic-table .table-wrapper{position:relative}.dynamic-table table.table{border-collapse:collapse;width:100%;font-family:inherit;font-size:inherit}.dynamic-table table.table th{text-align:left}.dynamic-table table.table td,.dynamic-table table.table th{text-align:left;padding:6px 12px;border:1px solid var(--border-color);vertical-align:middle}.dynamic-table table.table-sm th,.dynamic-table table.table-sm td{font-size:var(--font-size-sm);padding:4px 6px}.dynamic-table table.table thead th{font-weight:500}.dynamic-table table.table thead th a{color:var(--text-color);cursor:pointer}.dynamic-table table.table thead th span{display:inline-block;vertical-align:middle}.dynamic-table table.table thead th .svg-icon{float:right}.dynamic-table table.table thead th .svg-icon svg{width:20px;height:20px}.dynamic-table table.table tbody tr td{background-color:var(--table-bg)}.dynamic-table table.table tbody tr.active td{background-color:var(--highlight-color)}.dynamic-table .table-striped>tbody>tr:nth-of-type(odd) td{background-color:var(--table-stripe-bg)}.dynamic-table .table-striped>tbody>tr:nth-of-type(odd).active td{background-color:var(--highlight-color)}\n"] }]
|
|
5846
6219
|
}], ctorParameters: () => [], propDecorators: { label: [{
|
|
5847
6220
|
type: Input
|
|
5848
6221
|
}], placeholder: [{
|
|
@@ -6252,6 +6625,8 @@ const directives = [
|
|
|
6252
6625
|
ResourceIfDirective,
|
|
6253
6626
|
StickyDirective,
|
|
6254
6627
|
StickyClassDirective,
|
|
6628
|
+
DropdownDirective,
|
|
6629
|
+
DropdownToggleDirective,
|
|
6255
6630
|
UnorderedListItemDirective,
|
|
6256
6631
|
UnorderedListTemplateDirective
|
|
6257
6632
|
];
|
|
@@ -6282,6 +6657,7 @@ const providers = [
|
|
|
6282
6657
|
LocalHttpService,
|
|
6283
6658
|
OpenApiService,
|
|
6284
6659
|
PromiseService,
|
|
6660
|
+
SocketService,
|
|
6285
6661
|
StateService,
|
|
6286
6662
|
StaticLanguageService,
|
|
6287
6663
|
StorageService,
|
|
@@ -6573,6 +6949,10 @@ class NgxUtilsModule {
|
|
|
6573
6949
|
provide: RESIZE_STRATEGY,
|
|
6574
6950
|
useValue: (!config ? null : config.resizeStrategy) ?? "object",
|
|
6575
6951
|
},
|
|
6952
|
+
{
|
|
6953
|
+
provide: SOCKET_IO_PATH,
|
|
6954
|
+
useValue: (!config ? null : config.socketPath) ?? "/socket",
|
|
6955
|
+
},
|
|
6576
6956
|
{
|
|
6577
6957
|
provide: APP_INITIALIZER,
|
|
6578
6958
|
useFactory: (!config ? null : config.initializeApp) || loadConfig,
|
|
@@ -6598,8 +6978,8 @@ class NgxUtilsModule {
|
|
|
6598
6978
|
constructor() {
|
|
6599
6979
|
}
|
|
6600
6980
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxUtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6601
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxUtilsModule, declarations: [ChunkPipe, EntriesPipe, ExtraItemPropertiesPipe, FilterPipe, FindPipe, FormatNumberPipe, GetOffsetPipe, GetTypePipe, GetValuePipe, GlobalTemplatePipe, GroupByPipe, IsTypePipe, JoinPipe, KeysPipe, MapPipe, MaxPipe, MinPipe, PopPipe, ReducePipe, RemapPipe, ReplacePipe, ReversePipe, RoundPipe, SafeHtmlPipe, ShiftPipe, SplitPipe, TranslatePipe, ValuesPipe, AsyncMethodBase, AsyncMethodDirective, BackgroundDirective, DynamicTableTemplateDirective, GlobalTemplateDirective, IconDirective, NgxTemplateOutletDirective, PaginationDirective, PaginationItemDirective, ResourceIfDirective, StickyDirective, StickyClassDirective, UnorderedListItemDirective, UnorderedListTemplateDirective, DropListComponent, DynamicTableComponent, PaginationMenuComponent, UnorderedListComponent, UploadComponent], imports: [CommonModule,
|
|
6602
|
-
FormsModule], exports: [ChunkPipe, EntriesPipe, ExtraItemPropertiesPipe, FilterPipe, FindPipe, FormatNumberPipe, GetOffsetPipe, GetTypePipe, GetValuePipe, GlobalTemplatePipe, GroupByPipe, IsTypePipe, JoinPipe, KeysPipe, MapPipe, MaxPipe, MinPipe, PopPipe, ReducePipe, RemapPipe, ReplacePipe, ReversePipe, RoundPipe, SafeHtmlPipe, ShiftPipe, SplitPipe, TranslatePipe, ValuesPipe, AsyncMethodBase, AsyncMethodDirective, BackgroundDirective, DynamicTableTemplateDirective, GlobalTemplateDirective, IconDirective, NgxTemplateOutletDirective, PaginationDirective, PaginationItemDirective, ResourceIfDirective, StickyDirective, StickyClassDirective, UnorderedListItemDirective, UnorderedListTemplateDirective, DropListComponent, DynamicTableComponent, PaginationMenuComponent, UnorderedListComponent, UploadComponent, FormsModule] }); }
|
|
6981
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxUtilsModule, declarations: [ChunkPipe, EntriesPipe, ExtraItemPropertiesPipe, FilterPipe, FindPipe, FormatNumberPipe, GetOffsetPipe, GetTypePipe, GetValuePipe, GlobalTemplatePipe, GroupByPipe, IsTypePipe, JoinPipe, KeysPipe, MapPipe, MaxPipe, MinPipe, PopPipe, ReducePipe, RemapPipe, ReplacePipe, ReversePipe, RoundPipe, SafeHtmlPipe, ShiftPipe, SplitPipe, TranslatePipe, ValuesPipe, AsyncMethodBase, AsyncMethodDirective, BackgroundDirective, DynamicTableTemplateDirective, GlobalTemplateDirective, IconDirective, NgxTemplateOutletDirective, PaginationDirective, PaginationItemDirective, ResourceIfDirective, StickyDirective, StickyClassDirective, DropdownDirective, DropdownToggleDirective, UnorderedListItemDirective, UnorderedListTemplateDirective, DropListComponent, DynamicTableComponent, PaginationMenuComponent, UnorderedListComponent, UploadComponent], imports: [CommonModule,
|
|
6982
|
+
FormsModule], exports: [ChunkPipe, EntriesPipe, ExtraItemPropertiesPipe, FilterPipe, FindPipe, FormatNumberPipe, GetOffsetPipe, GetTypePipe, GetValuePipe, GlobalTemplatePipe, GroupByPipe, IsTypePipe, JoinPipe, KeysPipe, MapPipe, MaxPipe, MinPipe, PopPipe, ReducePipe, RemapPipe, ReplacePipe, ReversePipe, RoundPipe, SafeHtmlPipe, ShiftPipe, SplitPipe, TranslatePipe, ValuesPipe, AsyncMethodBase, AsyncMethodDirective, BackgroundDirective, DynamicTableTemplateDirective, GlobalTemplateDirective, IconDirective, NgxTemplateOutletDirective, PaginationDirective, PaginationItemDirective, ResourceIfDirective, StickyDirective, StickyClassDirective, DropdownDirective, DropdownToggleDirective, UnorderedListItemDirective, UnorderedListTemplateDirective, DropListComponent, DynamicTableComponent, PaginationMenuComponent, UnorderedListComponent, UploadComponent, FormsModule] }); }
|
|
6603
6983
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxUtilsModule, providers: pipes, imports: [CommonModule,
|
|
6604
6984
|
FormsModule, FormsModule] }); }
|
|
6605
6985
|
}
|
|
@@ -6629,5 +7009,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
6629
7009
|
* Generated bundle index. Do not edit.
|
|
6630
7010
|
*/
|
|
6631
7011
|
|
|
6632
|
-
export { API_SERVICE, APP_BASE_URL, AUTH_SERVICE, AclService, AjaxRequestHandler, ApiService, ArrayUtils, AsyncMethodBase, AsyncMethodDirective, AuthGuard, BASE_CONFIG, BackgroundDirective, BaseDialogService, BaseHttpClient, BaseHttpService, BaseToasterService, CONFIG_SERVICE, CanvasColor, CanvasUtils, ChunkPipe, Circle, ConfigService, DIALOG_SERVICE, DateUtils, DragDropEventPlugin, DropListComponent, DynamicTableComponent, DynamicTableTemplateDirective, ERROR_HANDLER, EXPRESS_REQUEST, EntriesPipe, ErrorHandlerService, EventsService, ExtraItemPropertiesPipe, FactoryDependencies, FileSystemEntry, FileUtils, FilterPipe, FindPipe, FormatNumberPipe, FormatterService, GenericValue, GetOffsetPipe, GetTypePipe, GetValuePipe, GlobalTemplateDirective, GlobalTemplatePipe, GlobalTemplateService, GroupByPipe, HttpPromise, ICON_SERVICE, IConfiguration, IconDirective, IconService, Initializer, IsTypePipe, JSONfn, JoinPipe, KeysPipe, LANGUAGE_SERVICE, LanguageService, LoaderUtils, LocalHttpService, MapPipe, MathUtils, MaxPipe, MinPipe, NgxTemplateOutletDirective, NgxUtilsModule, OPTIONS_TOKEN, ObjectType, ObjectUtils, ObservableUtils, OpenApiService, PROMISE_SERVICE, PaginationDirective, PaginationItemContext, PaginationItemDirective, PaginationMenuComponent, Point, PopPipe, PromiseService, RESIZE_DELAY, RESIZE_STRATEGY, ROOT_ELEMENT, Rect, ReducePipe, ReflectUtils, RemapPipe, ReplacePipe, ResizeEventPlugin, ResourceIfContext, ResourceIfDirective, ReversePipe, RoundPipe, SCRIPT_PARAMS, SafeHtmlPipe, ScrollEventPlugin, SetUtils, ShiftPipe, SplitPipe, StateService, StaticAuthService, StaticLanguageService, StickyClassDirective, StickyDirective, StorageMode, StorageService, StringUtils, TOASTER_SERVICE, TimerUtils, TranslatePipe, TranslatedUrlSerializer, UniqueUtils, UniversalService, UnorderedListComponent, UnorderedListItemDirective, UnorderedListTemplateDirective, UploadComponent, ValuedPromise, ValuesPipe, Vector, WASI_IMPLEMENTATION, WasmService, cachedFactory, cancelablePromise, checkTransitions, impatientPromise, provideWithOptions };
|
|
7012
|
+
export { API_SERVICE, APP_BASE_URL, AUTH_SERVICE, AclService, AjaxRequestHandler, ApiService, ArrayUtils, AsyncMethodBase, AsyncMethodDirective, AuthGuard, BASE_CONFIG, BackgroundDirective, BaseDialogService, BaseHttpClient, BaseHttpService, BaseToasterService, CONFIG_SERVICE, CanvasColor, CanvasUtils, ChunkPipe, Circle, ConfigService, DIALOG_SERVICE, DateUtils, DragDropEventPlugin, DropListComponent, DropdownDirective, DropdownToggleDirective, DynamicTableComponent, DynamicTableTemplateDirective, ERROR_HANDLER, EXPRESS_REQUEST, EntriesPipe, ErrorHandlerService, EventsService, ExtraItemPropertiesPipe, FactoryDependencies, FileSystemEntry, FileUtils, FilterPipe, FindPipe, FormatNumberPipe, FormatterService, GenericValue, GetOffsetPipe, GetTypePipe, GetValuePipe, GlobalTemplateDirective, GlobalTemplatePipe, GlobalTemplateService, GroupByPipe, HttpPromise, ICON_SERVICE, IConfiguration, IconDirective, IconService, Initializer, IsTypePipe, JSONfn, JoinPipe, KeysPipe, LANGUAGE_SERVICE, LanguageService, LoaderUtils, LocalHttpService, MapPipe, MathUtils, MaxPipe, MinPipe, NgxTemplateOutletDirective, NgxUtilsModule, OPTIONS_TOKEN, ObjectType, ObjectUtils, ObservableUtils, OpenApiService, PROMISE_SERVICE, PaginationDirective, PaginationItemContext, PaginationItemDirective, PaginationMenuComponent, Point, PopPipe, PromiseService, RESIZE_DELAY, RESIZE_STRATEGY, ROOT_ELEMENT, Rect, ReducePipe, ReflectUtils, RemapPipe, ReplacePipe, ResizeEventPlugin, ResourceIfContext, ResourceIfDirective, ReversePipe, RoundPipe, SCRIPT_PARAMS, SafeHtmlPipe, ScrollEventPlugin, SetUtils, ShiftPipe, SocketClient, SocketService, SplitPipe, StateService, StaticAuthService, StaticLanguageService, StickyClassDirective, StickyDirective, StorageMode, StorageService, StringUtils, TOASTER_SERVICE, TimerUtils, TranslatePipe, TranslatedUrlSerializer, UniqueUtils, UniversalService, UnorderedListComponent, UnorderedListItemDirective, UnorderedListTemplateDirective, UploadComponent, ValuedPromise, ValuesPipe, Vector, WASI_IMPLEMENTATION, WasmService, cachedFactory, cancelablePromise, checkTransitions, impatientPromise, provideWithOptions };
|
|
6633
7013
|
//# sourceMappingURL=stemy-ngx-utils.mjs.map
|