zek 17.3.32 → 17.3.36
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/esm2022/lib/components/base.component.mjs +1 -1
- package/esm2022/lib/components/core-ui.component.mjs +5 -5
- package/esm2022/lib/components/core.component.mjs +1 -1
- package/esm2022/lib/components/edit-base.component.mjs +17 -17
- package/esm2022/lib/components/list-base.component.mjs +18 -18
- package/esm2022/lib/modules/age/age.pipe.mjs +2 -2
- package/esm2022/lib/modules/alert/toast/toast.mjs +3 -3
- package/esm2022/lib/modules/bb/bb.component.mjs +2 -2
- package/esm2022/lib/modules/card/card/card.mjs +1 -1
- package/esm2022/lib/modules/date-ago/date-ago.pipe.mjs +5 -5
- package/esm2022/lib/modules/datepicker/date-value-accessor.mjs +6 -6
- package/esm2022/lib/modules/file-viewer/file-viewer.mjs +2 -2
- package/esm2022/lib/modules/google-login-button/google-login-button.mjs +2 -2
- package/esm2022/lib/modules/google-login-button/loader.mjs +1 -1
- package/esm2022/lib/modules/modal/modal/modal.component.mjs +64 -48
- package/esm2022/lib/modules/numeric/numeric.directive.mjs +6 -6
- package/esm2022/lib/modules/pager/pager/pager.mjs +1 -1
- package/esm2022/lib/modules/progress/progress.mjs +3 -3
- package/esm2022/lib/modules/radio/radio.mjs +2 -2
- package/esm2022/lib/modules/recaptcha/loader.mjs +3 -3
- package/esm2022/lib/modules/select/select.mjs +5 -5
- package/esm2022/lib/modules/select2/select2.mjs +2 -2
- package/esm2022/lib/modules/select2-multiple/select2-multiple.mjs +3 -3
- package/esm2022/lib/modules/validators/validator.mjs +4 -4
- package/esm2022/lib/modules/wizard/wizard/wizard.mjs +2 -2
- package/esm2022/lib/services/alert.service.mjs +2 -2
- package/esm2022/lib/services/auth-guard.service.mjs +17 -2
- package/esm2022/lib/services/auth.service.mjs +10 -10
- package/esm2022/lib/services/http-error-handler.service.mjs +3 -3
- package/esm2022/lib/services/web.api.mjs +2 -2
- package/esm2022/lib/utils/array-helper.mjs +8 -8
- package/esm2022/lib/utils/bootstrap.helper.mjs +1 -1
- package/esm2022/lib/utils/convert.mjs +2 -2
- package/esm2022/lib/utils/css-helper.mjs +6 -6
- package/esm2022/lib/utils/date-helper.mjs +32 -47
- package/esm2022/lib/utils/error-helper.mjs +3 -3
- package/esm2022/lib/utils/excel-helper.mjs +13 -0
- package/esm2022/lib/utils/file.helper.mjs +4 -4
- package/esm2022/lib/utils/filter-helper.mjs +2 -2
- package/esm2022/lib/utils/handler.mjs +5 -5
- package/esm2022/lib/utils/html-helper.mjs +4 -4
- package/esm2022/lib/utils/index.mjs +2 -1
- package/esm2022/lib/utils/jwt-helper.mjs +4 -4
- package/esm2022/lib/utils/math-helper.mjs +1 -3
- package/esm2022/lib/utils/object-helper.mjs +3 -5
- package/esm2022/lib/utils/overlap-helper.mjs +4 -4
- package/esm2022/lib/utils/storage-helper.mjs +3 -3
- package/esm2022/lib/utils/string-helper.mjs +6 -5
- package/esm2022/lib/utils/thenBy.mjs +9 -9
- package/esm2022/lib/utils/time-helper.mjs +12 -13
- package/esm2022/lib/utils/tmp-helper.mjs +2 -2
- package/esm2022/lib/utils/url-helper.mjs +6 -6
- package/fesm2022/zek.mjs +313 -291
- package/fesm2022/zek.mjs.map +1 -1
- package/lib/modules/date-ago/date-ago.pipe.d.ts +3 -3
- package/lib/modules/modal/modal/modal.component.d.ts +22 -7
- package/lib/services/alert.service.d.ts +2 -2
- package/lib/services/auth-guard.service.d.ts +2 -1
- package/lib/utils/bootstrap.helper.d.ts +1 -1
- package/lib/utils/excel-helper.d.ts +3 -0
- package/lib/utils/handler.d.ts +1 -1
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/thenBy.d.ts +1 -1
- package/package.json +1 -1
package/fesm2022/zek.mjs
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, InjectionToken, Inject, Directive,
|
|
2
|
+
import { Injectable, inject, InjectionToken, Inject, Directive, Input, EventEmitter, Output, ViewChild, Pipe, Component, forwardRef, NgModule, HostListener, ViewEncapsulation, ChangeDetectionStrategy, Optional } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/router';
|
|
4
|
-
import { NavigationStart, ActivatedRoute,
|
|
4
|
+
import { Router, NavigationStart, ActivatedRoute, RouterModule } from '@angular/router';
|
|
5
5
|
import { BehaviorSubject, Subject, catchError, of, firstValueFrom, timer } from 'rxjs';
|
|
6
|
-
import * as
|
|
6
|
+
import * as i2 from '@ngx-translate/core';
|
|
7
7
|
import { TranslateService, TranslateModule } from '@ngx-translate/core';
|
|
8
|
-
import * as i1$
|
|
8
|
+
import * as i1$1 from '@angular/common/http';
|
|
9
9
|
import { HttpParams, HttpHeaders, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
10
|
-
import * as i1$
|
|
10
|
+
import * as i1$2 from '@angular/common';
|
|
11
11
|
import { CommonModule, DatePipe } from '@angular/common';
|
|
12
|
-
import * as i1$
|
|
12
|
+
import * as i1$4 from '@angular/forms';
|
|
13
13
|
import { NG_VALUE_ACCESSOR, FormsModule, NG_VALIDATORS } from '@angular/forms';
|
|
14
|
-
import * as i1$
|
|
14
|
+
import * as i1$3 from '@angular/platform-browser';
|
|
15
15
|
import { finalize, map, takeWhile } from 'rxjs/operators';
|
|
16
16
|
|
|
17
17
|
var PrintType;
|
|
@@ -26,15 +26,13 @@ class ArrayHelper {
|
|
|
26
26
|
static insert(value, index, v) {
|
|
27
27
|
value.splice(index, 0, v);
|
|
28
28
|
}
|
|
29
|
-
;
|
|
30
29
|
static contains(value, v) {
|
|
31
|
-
for (
|
|
30
|
+
for (let i = 0; i < value.length; i++) {
|
|
32
31
|
if (value[i] === v)
|
|
33
32
|
return true;
|
|
34
33
|
}
|
|
35
34
|
return false;
|
|
36
35
|
}
|
|
37
|
-
;
|
|
38
36
|
static isArray(arg) {
|
|
39
37
|
return Array.isArray(arg) && arg.length > 0;
|
|
40
38
|
}
|
|
@@ -49,9 +47,11 @@ class ArrayHelper {
|
|
|
49
47
|
// return arr;
|
|
50
48
|
// }
|
|
51
49
|
static distinct(source) {
|
|
52
|
-
|
|
50
|
+
const length = source.length;
|
|
51
|
+
const result = [];
|
|
52
|
+
const seen = new Set();
|
|
53
53
|
for (let index = 0; index < length; index++) {
|
|
54
|
-
|
|
54
|
+
const value = source[index];
|
|
55
55
|
if (seen.has(value))
|
|
56
56
|
continue;
|
|
57
57
|
seen.add(value);
|
|
@@ -118,12 +118,12 @@ class ArrayHelper {
|
|
|
118
118
|
static enumToKeyPairBaseArray(value) {
|
|
119
119
|
const keys = Object.keys(value);
|
|
120
120
|
const slice = keys.length / 2;
|
|
121
|
-
|
|
121
|
+
const result = [];
|
|
122
122
|
// for (let i = 0; i < slice; i++) {
|
|
123
123
|
// result.push({ key: +keys[i], value: keys[i + slice] } as T);
|
|
124
124
|
// }
|
|
125
125
|
for (let i = slice; i < keys.length; i++) {
|
|
126
|
-
|
|
126
|
+
const name = keys[i];
|
|
127
127
|
result.push({ key: +value[name], value: name });
|
|
128
128
|
}
|
|
129
129
|
return result;
|
|
@@ -314,7 +314,7 @@ class Convert {
|
|
|
314
314
|
static parseNumber(value) {
|
|
315
315
|
if (typeof value === 'undefined' || value == null || (typeof value === 'string' && value.length === 0))
|
|
316
316
|
return null;
|
|
317
|
-
|
|
317
|
+
const n = Number(value);
|
|
318
318
|
return !isNaN(n) ? n : null;
|
|
319
319
|
}
|
|
320
320
|
static toNumber(value, defaultValue = 0) {
|
|
@@ -336,7 +336,7 @@ class CssHelper {
|
|
|
336
336
|
if (!addClasses || addClasses === '') {
|
|
337
337
|
return clazz;
|
|
338
338
|
}
|
|
339
|
-
|
|
339
|
+
const arr = ArrayHelper.distinct(this.parseClassNames(clazz).concat(this.parseClassNames(addClasses)));
|
|
340
340
|
return Array.isArray(clazz) ? arr : arr.join(' ');
|
|
341
341
|
}
|
|
342
342
|
static removeClass(clazz, removeClasses) {
|
|
@@ -346,11 +346,11 @@ class CssHelper {
|
|
|
346
346
|
if (!removeClasses || removeClasses === '' || removeClasses.length === 0) {
|
|
347
347
|
return clazz;
|
|
348
348
|
}
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
349
|
+
const arrClasses = this.parseClassNames(clazz);
|
|
350
|
+
const arrRemove = this.parseClassNames(removeClasses);
|
|
351
|
+
const arr = [];
|
|
352
352
|
for (var i = 0; i < arrClasses.length; i++) {
|
|
353
|
-
|
|
353
|
+
const val = arrClasses[i];
|
|
354
354
|
if (!ArrayHelper.contains(arrRemove, val)) {
|
|
355
355
|
arr.push(val);
|
|
356
356
|
}
|
|
@@ -407,8 +407,8 @@ class OverlapHelper {
|
|
|
407
407
|
}
|
|
408
408
|
return end2 == end1 ? PeriodRelation.EnclosingEndTouching : PeriodRelation.Enclosing;
|
|
409
409
|
}
|
|
410
|
-
|
|
411
|
-
|
|
410
|
+
const periodContainsMyStart = this.hasInside(start2, end2, start1);
|
|
411
|
+
const periodContainsMyEnd = this.hasInside(start2, end2, end1);
|
|
412
412
|
if (periodContainsMyStart && periodContainsMyEnd) {
|
|
413
413
|
if (start2 == start1) {
|
|
414
414
|
return PeriodRelation.InsideStartTouching;
|
|
@@ -433,7 +433,7 @@ class OverlapHelper {
|
|
|
433
433
|
return this.hasInside(start1, end1, start2) || this.hasInside(start1, end1, end2) || (start2 < start1 && end2 > end1);
|
|
434
434
|
}
|
|
435
435
|
static overlaps(start1, end1, start2, end2) {
|
|
436
|
-
|
|
436
|
+
const relation = this.getRelation(start1, end1, start2, end2);
|
|
437
437
|
return relation != PeriodRelation.After &&
|
|
438
438
|
relation != PeriodRelation.StartTouching &&
|
|
439
439
|
relation != PeriodRelation.EndTouching &&
|
|
@@ -462,27 +462,26 @@ class TimeHelper {
|
|
|
462
462
|
return '';
|
|
463
463
|
}
|
|
464
464
|
static toDate(time) {
|
|
465
|
-
|
|
466
|
-
|
|
465
|
+
const date = new Date(0);
|
|
466
|
+
const tmp = this.parseTime(time);
|
|
467
467
|
if (!tmp)
|
|
468
468
|
return date;
|
|
469
|
-
|
|
469
|
+
const timeDate = new Date('1970-01-01T' + time + 'Z');
|
|
470
470
|
date.setTime(date.getTime() + timeDate.getTime());
|
|
471
471
|
return date;
|
|
472
472
|
}
|
|
473
|
-
;
|
|
474
473
|
static intersects(start1, end1, start2, end2) {
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
474
|
+
const startDate1 = this.toDate(start1);
|
|
475
|
+
const endDate1 = this.toDate(end1);
|
|
476
|
+
const startDate2 = this.toDate(start2);
|
|
477
|
+
const endDate2 = this.toDate(end2);
|
|
479
478
|
return OverlapHelper.intersects(startDate1, endDate1, startDate2, endDate2);
|
|
480
479
|
}
|
|
481
480
|
static overlaps(start1, end1, start2, end2) {
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
481
|
+
const startDate1 = this.toDate(start1);
|
|
482
|
+
const endDate1 = this.toDate(end1);
|
|
483
|
+
const startDate2 = this.toDate(start2);
|
|
484
|
+
const endDate2 = this.toDate(end2);
|
|
486
485
|
return OverlapHelper.overlaps(startDate1, endDate1, startDate2, endDate2);
|
|
487
486
|
}
|
|
488
487
|
}
|
|
@@ -491,10 +490,9 @@ class DateHelper {
|
|
|
491
490
|
static minDate() {
|
|
492
491
|
return new Date(0);
|
|
493
492
|
}
|
|
494
|
-
;
|
|
495
493
|
static equals(value1, value2) {
|
|
496
|
-
|
|
497
|
-
|
|
494
|
+
const val1 = (value1 === undefined || value1 === null) ? null : value1;
|
|
495
|
+
const val2 = (value2 === undefined || value2 === null) ? null : value2;
|
|
498
496
|
if (val1 === val2) {
|
|
499
497
|
return true;
|
|
500
498
|
}
|
|
@@ -504,8 +502,8 @@ class DateHelper {
|
|
|
504
502
|
return val1.getTime() === val2.getTime();
|
|
505
503
|
}
|
|
506
504
|
static getDates(start, end) {
|
|
507
|
-
|
|
508
|
-
|
|
505
|
+
const dates = new Array();
|
|
506
|
+
let date = new Date(start.valueOf());
|
|
509
507
|
while (date <= end) {
|
|
510
508
|
dates.push(new Date(date));
|
|
511
509
|
date = this.addDays(date, 1);
|
|
@@ -513,24 +511,24 @@ class DateHelper {
|
|
|
513
511
|
return dates;
|
|
514
512
|
}
|
|
515
513
|
static dateOnly(value) {
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
514
|
+
const year = value.getFullYear();
|
|
515
|
+
const month = value.getMonth();
|
|
516
|
+
const day = value.getDate();
|
|
517
|
+
const date = new Date(Date.UTC(year, month, day));
|
|
520
518
|
return date;
|
|
521
519
|
}
|
|
522
520
|
static today() {
|
|
523
521
|
return this.dateOnly(new Date());
|
|
524
522
|
}
|
|
525
523
|
static toISODateString(value) {
|
|
526
|
-
|
|
524
|
+
const date = this.parseDate(value);
|
|
527
525
|
if (!date)
|
|
528
526
|
return null;
|
|
529
|
-
|
|
527
|
+
const year = date.getFullYear();
|
|
530
528
|
// Add +1 to month since 0 is January
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
529
|
+
const month = date.getMonth() + 1;
|
|
530
|
+
const day = date.getDate();
|
|
531
|
+
const str = `${year}-${month < 10 ? '0' : ''}${month}-${day < 10 ? '0' : ''}${day}`;
|
|
534
532
|
return str;
|
|
535
533
|
}
|
|
536
534
|
//** Offes seconds ( offsetmin * 60sec * 1000ms) */
|
|
@@ -542,42 +540,39 @@ class DateHelper {
|
|
|
542
540
|
return new Date(utc.getTime() - this._utcDiff);
|
|
543
541
|
}
|
|
544
542
|
static addTime(value, time) {
|
|
545
|
-
|
|
543
|
+
const tmp = TimeHelper.parseTime(time);
|
|
546
544
|
if (!tmp)
|
|
547
545
|
return value;
|
|
548
|
-
|
|
549
|
-
|
|
546
|
+
const timeDate = new Date('1970-01-01T' + time + 'Z');
|
|
547
|
+
const date = value;
|
|
550
548
|
date.setTime(date.getTime() + timeDate.getTime());
|
|
551
549
|
return date;
|
|
552
550
|
}
|
|
553
|
-
;
|
|
554
551
|
static addYears(v, years) {
|
|
555
552
|
if (!years)
|
|
556
553
|
return v;
|
|
557
|
-
|
|
554
|
+
const date = v;
|
|
558
555
|
date.setFullYear(v.getFullYear() + years);
|
|
559
556
|
return date;
|
|
560
557
|
}
|
|
561
558
|
static addMonths(v, months) {
|
|
562
559
|
if (!months)
|
|
563
560
|
return v;
|
|
564
|
-
|
|
561
|
+
const date = v;
|
|
565
562
|
date.setMonth(date.getMonth() + months);
|
|
566
563
|
return date;
|
|
567
564
|
}
|
|
568
|
-
;
|
|
569
565
|
static addDays(v, days) {
|
|
570
566
|
if (!days)
|
|
571
567
|
return v;
|
|
572
|
-
|
|
568
|
+
const date = v;
|
|
573
569
|
date.setDate(date.getDate() + days);
|
|
574
570
|
return date;
|
|
575
571
|
}
|
|
576
|
-
;
|
|
577
572
|
static addHours(v, hours) {
|
|
578
573
|
if (!hours)
|
|
579
574
|
return v;
|
|
580
|
-
|
|
575
|
+
const date = new Date(v);
|
|
581
576
|
//todo need to check if this line needs --> date = new Date(date.getTime());
|
|
582
577
|
date.setHours(date.getHours() + hours);
|
|
583
578
|
return date;
|
|
@@ -585,7 +580,7 @@ class DateHelper {
|
|
|
585
580
|
static addMinutes(v, minutes) {
|
|
586
581
|
if (!minutes)
|
|
587
582
|
return v;
|
|
588
|
-
|
|
583
|
+
const date = new Date(v);
|
|
589
584
|
//todo need to check if this line needs --> date = new Date(date.getTime());
|
|
590
585
|
date.setMinutes(date.getMinutes() + minutes);
|
|
591
586
|
return date;
|
|
@@ -593,76 +588,65 @@ class DateHelper {
|
|
|
593
588
|
static addSeconds(v, seconds) {
|
|
594
589
|
if (!seconds)
|
|
595
590
|
return v;
|
|
596
|
-
|
|
591
|
+
const date = v;
|
|
597
592
|
date.setSeconds(date.getSeconds() + seconds);
|
|
598
593
|
return date;
|
|
599
594
|
}
|
|
600
|
-
;
|
|
601
595
|
static isToday(date) {
|
|
602
|
-
|
|
596
|
+
const today = new Date();
|
|
603
597
|
return this.isSameDate(date, today);
|
|
604
598
|
}
|
|
605
|
-
;
|
|
606
599
|
static clone(date) {
|
|
607
600
|
return new Date(+date);
|
|
608
601
|
}
|
|
609
|
-
;
|
|
610
602
|
static isAnotherMonth(a, b) {
|
|
611
603
|
return b && a.getMonth() !== b.getMonth();
|
|
612
604
|
}
|
|
613
|
-
;
|
|
614
605
|
static isWeekend(v) {
|
|
615
606
|
return v.getDay() === 0 || v.getDay() === 6;
|
|
616
607
|
}
|
|
617
|
-
;
|
|
618
608
|
static isSameDate(a, b) {
|
|
619
609
|
return b && a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
|
|
620
610
|
}
|
|
621
|
-
;
|
|
622
611
|
static getAge(value, now) {
|
|
623
612
|
if (value === undefined || value === null || value === '' || value !== value)
|
|
624
613
|
return null;
|
|
625
614
|
const date = this.toDate(value);
|
|
626
|
-
|
|
627
|
-
|
|
615
|
+
const nowTime = now ? now.getTime() : Date.now();
|
|
616
|
+
const timeDiff = nowTime - date.getTime();
|
|
628
617
|
return Math.floor((timeDiff / 86400000) / 365.25); //86400000 = (1000 * 60 * 60 * 24) = 1000 millisecond * 60second * 60minute * 24hour
|
|
629
618
|
}
|
|
630
|
-
;
|
|
631
619
|
static subtractMonths(endDate, starDate) {
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
620
|
+
const start = starDate <= endDate ? starDate : endDate;
|
|
621
|
+
const end = starDate <= endDate ? endDate : starDate;
|
|
622
|
+
const plus = starDate <= endDate ? 1 : -1;
|
|
635
623
|
let months = (end.getFullYear() - start.getFullYear()) * 12;
|
|
636
624
|
months -= start.getMonth();
|
|
637
625
|
months += end.getMonth();
|
|
638
626
|
return months * plus;
|
|
639
627
|
}
|
|
640
|
-
;
|
|
641
628
|
static subtractDays(value, date) {
|
|
642
629
|
if (!date)
|
|
643
630
|
return null;
|
|
644
631
|
date = this.toDate(date);
|
|
645
|
-
|
|
632
|
+
const timeDiff = date.getTime() - value.getTime();
|
|
646
633
|
return Math.floor(timeDiff / 86400000); //86400000 = (1000 * 60 * 60 * 24) = 1000 millisecond * 60second * 60minute * 24hour
|
|
647
634
|
}
|
|
648
|
-
;
|
|
649
635
|
static subtractHours(value, date) {
|
|
650
636
|
if (!date)
|
|
651
637
|
return null;
|
|
652
638
|
date = this.toDate(date);
|
|
653
|
-
|
|
639
|
+
const timeDiff = date.getTime() - value.getTime();
|
|
654
640
|
return Math.floor((timeDiff % 86400000) / 3600000);
|
|
655
641
|
}
|
|
656
|
-
;
|
|
657
642
|
static subtractMinutes(value, date) {
|
|
658
643
|
if (!date)
|
|
659
644
|
return null;
|
|
660
645
|
date = this.toDate(date);
|
|
661
|
-
|
|
646
|
+
const timeDiff = date.getTime() - value.getTime();
|
|
662
647
|
//
|
|
663
648
|
return Math.floor(((timeDiff % 86400000) % 3600000) / 60000);
|
|
664
649
|
}
|
|
665
|
-
;
|
|
666
650
|
static { this.ISO8601_DATE_REGEX = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/; }
|
|
667
651
|
// 1 2 3 4 5 6 7 8 9 10 11
|
|
668
652
|
static parseDate(value) {
|
|
@@ -767,10 +751,10 @@ class ErrorHelper {
|
|
|
767
751
|
: error;
|
|
768
752
|
const result = [];
|
|
769
753
|
const properties = Object.keys(errors);
|
|
770
|
-
for (
|
|
754
|
+
for (const property of properties) {
|
|
771
755
|
const messages = errors[property];
|
|
772
756
|
if (messages instanceof Array) {
|
|
773
|
-
for (
|
|
757
|
+
for (const message of messages) {
|
|
774
758
|
result.push({ key: property, value: message });
|
|
775
759
|
}
|
|
776
760
|
}
|
|
@@ -781,6 +765,19 @@ class ErrorHelper {
|
|
|
781
765
|
}
|
|
782
766
|
}
|
|
783
767
|
|
|
768
|
+
class ExcelHelper {
|
|
769
|
+
static getColumnName(columnNumber) {
|
|
770
|
+
let dividend = columnNumber;
|
|
771
|
+
let columnName = '';
|
|
772
|
+
while (dividend > 0) {
|
|
773
|
+
const modulo = Math.floor((dividend - 1) % 26);
|
|
774
|
+
columnName = String.fromCharCode(65 + modulo) + columnName;
|
|
775
|
+
dividend = Math.floor((dividend - modulo) / 26);
|
|
776
|
+
}
|
|
777
|
+
return columnName;
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
|
|
784
781
|
class FileHelper {
|
|
785
782
|
static getExtension(path) {
|
|
786
783
|
if (path === undefined || path == null)
|
|
@@ -791,9 +788,9 @@ class FileHelper {
|
|
|
791
788
|
const directorySeparatorChar = '\\';
|
|
792
789
|
const altDirectorySeparatorChar = '/';
|
|
793
790
|
const volumeSeparatorChar = ':';
|
|
794
|
-
|
|
791
|
+
const length = path.length;
|
|
795
792
|
for (let i = length; --i >= 0;) {
|
|
796
|
-
|
|
793
|
+
const ch = path[i];
|
|
797
794
|
if (ch === '.') {
|
|
798
795
|
if (i !== length - 1)
|
|
799
796
|
return path.substring(i, length);
|
|
@@ -813,7 +810,7 @@ class FileHelper {
|
|
|
813
810
|
nav.msSaveOrOpenBlob(blob, fileName);
|
|
814
811
|
}
|
|
815
812
|
else {
|
|
816
|
-
|
|
813
|
+
const a = document.createElement('a');
|
|
817
814
|
a.href = URL.createObjectURL(blob);
|
|
818
815
|
a.download = fileName;
|
|
819
816
|
a.target = '_blank';
|
|
@@ -844,8 +841,8 @@ class ObjectHelper {
|
|
|
844
841
|
return true;
|
|
845
842
|
// if (typeof obj === 'undefined' || obj === null)
|
|
846
843
|
// return true;
|
|
847
|
-
for (
|
|
848
|
-
|
|
844
|
+
for (const prop in obj) {
|
|
845
|
+
const v = obj[prop];
|
|
849
846
|
if (!this.isEmptyValue(v))
|
|
850
847
|
return false;
|
|
851
848
|
// if (typeof (obj[prop]) !== undefined && obj[prop] !== null && obj[prop] !== '') {
|
|
@@ -860,7 +857,6 @@ class ObjectHelper {
|
|
|
860
857
|
static deleteNullKeys(val) {
|
|
861
858
|
this.deleteNullFields(val);
|
|
862
859
|
}
|
|
863
|
-
;
|
|
864
860
|
static deleteNullFields(val) {
|
|
865
861
|
if (!val)
|
|
866
862
|
return;
|
|
@@ -872,7 +868,6 @@ class ObjectHelper {
|
|
|
872
868
|
}
|
|
873
869
|
return val;
|
|
874
870
|
}
|
|
875
|
-
;
|
|
876
871
|
static assignFields(target, source) {
|
|
877
872
|
let t = target;
|
|
878
873
|
let s = source;
|
|
@@ -910,7 +905,7 @@ class FilterHelper {
|
|
|
910
905
|
static isEmpty(obj) {
|
|
911
906
|
if (typeof obj === 'undefined' || obj === null)
|
|
912
907
|
return true;
|
|
913
|
-
|
|
908
|
+
const tmp = Object.assign({}, obj);
|
|
914
909
|
delete tmp.page;
|
|
915
910
|
delete tmp.pageSize;
|
|
916
911
|
delete tmp.sort;
|
|
@@ -918,9 +913,9 @@ class FilterHelper {
|
|
|
918
913
|
}
|
|
919
914
|
}
|
|
920
915
|
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
916
|
+
const handler = (function () {
|
|
917
|
+
let i = 1;
|
|
918
|
+
const listeners = {};
|
|
924
919
|
return {
|
|
925
920
|
addListener: function (element, event, handler, options) {
|
|
926
921
|
element.addEventListener(event, handler, options);
|
|
@@ -934,7 +929,7 @@ var handler = (function () {
|
|
|
934
929
|
},
|
|
935
930
|
removeListener: function (id) {
|
|
936
931
|
if (id in listeners) {
|
|
937
|
-
|
|
932
|
+
const h = listeners[id];
|
|
938
933
|
h.element.removeEventListener(h.event, h.handler, h.options);
|
|
939
934
|
delete listeners[id];
|
|
940
935
|
}
|
|
@@ -955,7 +950,7 @@ class HtmlHelper {
|
|
|
955
950
|
.replace(/>/g, '>');
|
|
956
951
|
}
|
|
957
952
|
static addInput(type, name, id = name, force = false) {
|
|
958
|
-
|
|
953
|
+
const node = document.createElement('input');
|
|
959
954
|
node.type = type;
|
|
960
955
|
node.name = name;
|
|
961
956
|
node.id = id;
|
|
@@ -980,13 +975,13 @@ class HtmlHelper {
|
|
|
980
975
|
//2022-02-24 document.getElementsByTagName('head')[0].appendChild(script);
|
|
981
976
|
}
|
|
982
977
|
static loadScripts(...scripts) {
|
|
983
|
-
|
|
978
|
+
const promises = [];
|
|
984
979
|
scripts.forEach((script) => promises.push(this.internalLoadScript(script)));
|
|
985
980
|
return Promise.all(promises);
|
|
986
981
|
}
|
|
987
982
|
static internalLoadScript(src) {
|
|
988
983
|
return new Promise((resolve, reject) => {
|
|
989
|
-
|
|
984
|
+
const script = document.createElement('script');
|
|
990
985
|
script.src = src;
|
|
991
986
|
script.type = 'text/javascript';
|
|
992
987
|
if (script.readyState) { //IE
|
|
@@ -1010,9 +1005,9 @@ class HtmlHelper {
|
|
|
1010
1005
|
|
|
1011
1006
|
class JwtHelper {
|
|
1012
1007
|
static decode(token) {
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1008
|
+
const base64Url = token.split('.')[1];
|
|
1009
|
+
const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
|
|
1010
|
+
const jsonPayload = decodeURIComponent(atob(base64).split('').map(function (c) {
|
|
1016
1011
|
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
|
|
1017
1012
|
}).join(''));
|
|
1018
1013
|
return JSON.parse(jsonPayload);
|
|
@@ -1023,13 +1018,11 @@ class MathHelper {
|
|
|
1023
1018
|
static round(value, decimals = 0) {
|
|
1024
1019
|
return Math.round(Number(value) * Math.pow(10, decimals)) / (Math.pow(10, decimals));
|
|
1025
1020
|
}
|
|
1026
|
-
;
|
|
1027
1021
|
static clamp(v, min, max) {
|
|
1028
1022
|
return Math.max(min, Math.min(max, v));
|
|
1029
1023
|
}
|
|
1030
1024
|
static sum(...values) {
|
|
1031
1025
|
return values.reduce((acc, cur) => acc + cur, 0);
|
|
1032
|
-
;
|
|
1033
1026
|
}
|
|
1034
1027
|
}
|
|
1035
1028
|
|
|
@@ -1127,13 +1120,13 @@ class StorageHelper {
|
|
|
1127
1120
|
localStorage.setItem(key, value);
|
|
1128
1121
|
}
|
|
1129
1122
|
static get(key) {
|
|
1130
|
-
|
|
1123
|
+
const str = localStorage.getItem(key);
|
|
1131
1124
|
if (!str) {
|
|
1132
1125
|
return null;
|
|
1133
1126
|
}
|
|
1134
1127
|
// assume it is an object that has been stringified
|
|
1135
1128
|
if (str[0] === '{') {
|
|
1136
|
-
|
|
1129
|
+
const v = JSON.parse(str);
|
|
1137
1130
|
return v;
|
|
1138
1131
|
}
|
|
1139
1132
|
return str;
|
|
@@ -1172,7 +1165,7 @@ class StringHelper {
|
|
|
1172
1165
|
static trim(val, ch) {
|
|
1173
1166
|
if (!val || !ch)
|
|
1174
1167
|
return val;
|
|
1175
|
-
|
|
1168
|
+
let start = 0, end = val.length;
|
|
1176
1169
|
while (start < end && val[start] === ch)
|
|
1177
1170
|
++start;
|
|
1178
1171
|
while (end > start && val[end - 1] === ch)
|
|
@@ -1182,7 +1175,8 @@ class StringHelper {
|
|
|
1182
1175
|
static trimStart(val, ch) {
|
|
1183
1176
|
if (!val || !ch)
|
|
1184
1177
|
return val;
|
|
1185
|
-
|
|
1178
|
+
let start = 0;
|
|
1179
|
+
const end = val.length;
|
|
1186
1180
|
while (start < end && val[start] === ch)
|
|
1187
1181
|
++start;
|
|
1188
1182
|
return (start > 0) ? val.substring(start, end) : val;
|
|
@@ -1190,7 +1184,7 @@ class StringHelper {
|
|
|
1190
1184
|
static trimEnd(val, ch) {
|
|
1191
1185
|
if (!val || !ch)
|
|
1192
1186
|
return val;
|
|
1193
|
-
|
|
1187
|
+
let start = 0, end = val.length;
|
|
1194
1188
|
while (end > start && val[end - 1] === ch)
|
|
1195
1189
|
--end;
|
|
1196
1190
|
return (end < val.length) ? val.substring(start, end) : val;
|
|
@@ -1204,7 +1198,7 @@ class StringHelper {
|
|
|
1204
1198
|
static trimAny(val, chars) {
|
|
1205
1199
|
if (!val || !chars)
|
|
1206
1200
|
return val;
|
|
1207
|
-
|
|
1201
|
+
let start = 0, end = val.length;
|
|
1208
1202
|
while (start < end && chars.indexOf(val[start]) >= 0)
|
|
1209
1203
|
++start;
|
|
1210
1204
|
while (end > start && chars.indexOf(val[end - 1]) >= 0)
|
|
@@ -1213,21 +1207,21 @@ class StringHelper {
|
|
|
1213
1207
|
}
|
|
1214
1208
|
}
|
|
1215
1209
|
|
|
1216
|
-
|
|
1210
|
+
const firstBy = (function () {
|
|
1217
1211
|
function identity(v) { return v; }
|
|
1218
1212
|
function ignoreCase(v) { return typeof (v) === "string" ? v.toLowerCase() : v; }
|
|
1219
1213
|
function makeCompareFunction(f, opt) {
|
|
1220
1214
|
opt = typeof (opt) === "number" ? { direction: opt } : opt || {};
|
|
1221
1215
|
if (typeof (f) != "function") {
|
|
1222
|
-
|
|
1216
|
+
const prop = f;
|
|
1223
1217
|
// make unary function
|
|
1224
1218
|
f = function (v1) { return !!v1[prop] ? v1[prop] : ""; };
|
|
1225
1219
|
}
|
|
1226
1220
|
if (f.length === 1) {
|
|
1227
1221
|
// f is a unary function mapping a single item to its sort score
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1222
|
+
const uf = f;
|
|
1223
|
+
const preprocess = opt.ignoreCase ? ignoreCase : identity;
|
|
1224
|
+
const cmp = opt.cmp || function (v1, v2) { return v1 < v2 ? -1 : v1 > v2 ? 1 : 0; };
|
|
1231
1225
|
f = function (v1, v2) { return cmp(preprocess(uf(v1)), preprocess(uf(v2))); };
|
|
1232
1226
|
}
|
|
1233
1227
|
if (opt.direction === -1)
|
|
@@ -1241,9 +1235,9 @@ var firstBy = (function () {
|
|
|
1241
1235
|
/* should get value false for the first call. This can be done by calling the
|
|
1242
1236
|
exported function, or the firstBy property on it (for es6 module compatibility)
|
|
1243
1237
|
*/
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1238
|
+
const x = (typeof (this) == "function" && !this.firstBy) ? this : false;
|
|
1239
|
+
const y = makeCompareFunction(func, opt);
|
|
1240
|
+
const f = x ? function (a, b) {
|
|
1247
1241
|
return x(a, b) || y(a, b);
|
|
1248
1242
|
}
|
|
1249
1243
|
: y;
|
|
@@ -1259,7 +1253,7 @@ class TmpHelper {
|
|
|
1259
1253
|
static get(key, remove = true) {
|
|
1260
1254
|
if (!key)
|
|
1261
1255
|
return;
|
|
1262
|
-
|
|
1256
|
+
const v = this._obj[key];
|
|
1263
1257
|
if (remove)
|
|
1264
1258
|
this.remove(key);
|
|
1265
1259
|
return v;
|
|
@@ -1284,16 +1278,16 @@ class UrlHelper {
|
|
|
1284
1278
|
return url.substring(0, url.lastIndexOf('/') + 1);
|
|
1285
1279
|
}
|
|
1286
1280
|
static getAction(url) {
|
|
1287
|
-
|
|
1288
|
-
|
|
1281
|
+
const action = url.substring(url.lastIndexOf('/') + 1);
|
|
1282
|
+
const i = action.indexOf(';');
|
|
1289
1283
|
return i === -1 ? action : action.substring(0, i);
|
|
1290
1284
|
}
|
|
1291
1285
|
static getNoParam(url) {
|
|
1292
|
-
|
|
1293
|
-
|
|
1286
|
+
const i1 = url.indexOf('?');
|
|
1287
|
+
const i2 = url.indexOf(';');
|
|
1294
1288
|
if (i1 !== -1) {
|
|
1295
1289
|
if (i2 !== -1) {
|
|
1296
|
-
|
|
1290
|
+
const min = i1 < i2 ? i1 : i2;
|
|
1297
1291
|
return url.substring(0, min);
|
|
1298
1292
|
}
|
|
1299
1293
|
return url.substring(0, i1);
|
|
@@ -1340,7 +1334,7 @@ class AuthService {
|
|
|
1340
1334
|
}
|
|
1341
1335
|
get user() {
|
|
1342
1336
|
if (!this._isInitialized) {
|
|
1343
|
-
|
|
1337
|
+
const user = StorageHelper.get('login');
|
|
1344
1338
|
if (user) {
|
|
1345
1339
|
user.id = ObjectHelper.isDefined(user.id) ? Convert.parseNumber(user.id) : user.id;
|
|
1346
1340
|
user.expired = ObjectHelper.isDefined(user.expired) ? DateHelper.parseDate(user.expired) : user.expired;
|
|
@@ -1357,7 +1351,7 @@ class AuthService {
|
|
|
1357
1351
|
}
|
|
1358
1352
|
_starRefreshTokenTimer() {
|
|
1359
1353
|
this._stopRefreshTokenTimer();
|
|
1360
|
-
|
|
1354
|
+
const user = this._user;
|
|
1361
1355
|
if (user && user.refreshTokenTime) {
|
|
1362
1356
|
let timeout = user.refreshTokenTime.getTime() - Date.now(); // - (60 * 1000);
|
|
1363
1357
|
if (timeout < 0) {
|
|
@@ -1383,7 +1377,7 @@ class AuthService {
|
|
|
1383
1377
|
}
|
|
1384
1378
|
}
|
|
1385
1379
|
isAuthenticated() {
|
|
1386
|
-
|
|
1380
|
+
const expired = this.getExpired() || new Date(0); // if getExpired is null return min JS date
|
|
1387
1381
|
const newValue = new Date() < expired;
|
|
1388
1382
|
if (this._oldValue !== newValue) {
|
|
1389
1383
|
this._oldValue = newValue;
|
|
@@ -1441,14 +1435,14 @@ class AuthService {
|
|
|
1441
1435
|
this.login(null);
|
|
1442
1436
|
}
|
|
1443
1437
|
getExpired() {
|
|
1444
|
-
|
|
1438
|
+
const user = this.user;
|
|
1445
1439
|
if (user) {
|
|
1446
1440
|
return user.expired;
|
|
1447
1441
|
}
|
|
1448
1442
|
return null;
|
|
1449
1443
|
}
|
|
1450
1444
|
getRefreshTokenExpired() {
|
|
1451
|
-
|
|
1445
|
+
const user = this.user;
|
|
1452
1446
|
if (user) {
|
|
1453
1447
|
return user.refreshTokenTime;
|
|
1454
1448
|
}
|
|
@@ -1496,9 +1490,9 @@ class AuthService {
|
|
|
1496
1490
|
if (value) {
|
|
1497
1491
|
for (let i = 0; i < permissions.length; i++) {
|
|
1498
1492
|
const p = permissions[i];
|
|
1499
|
-
|
|
1493
|
+
const found = userPermissions[p];
|
|
1500
1494
|
if (found) {
|
|
1501
|
-
|
|
1495
|
+
const hasPermission = BitwiseHelper.hasFlag(found, value);
|
|
1502
1496
|
if (hasPermission)
|
|
1503
1497
|
return true;
|
|
1504
1498
|
}
|
|
@@ -1507,7 +1501,7 @@ class AuthService {
|
|
|
1507
1501
|
else {
|
|
1508
1502
|
for (let i = 0; i < permissions.length; i++) {
|
|
1509
1503
|
const p = permissions[i];
|
|
1510
|
-
|
|
1504
|
+
const found = userPermissions[p];
|
|
1511
1505
|
if (found)
|
|
1512
1506
|
return true;
|
|
1513
1507
|
}
|
|
@@ -1519,7 +1513,7 @@ class AuthService {
|
|
|
1519
1513
|
// const allowedRoles = data.roles;
|
|
1520
1514
|
// let isInRole = this.isInRole(allowedRoles);
|
|
1521
1515
|
const permission = data.permission;
|
|
1522
|
-
|
|
1516
|
+
const hasPermission = this.hasPermission(permission);
|
|
1523
1517
|
// return isInRole && hasPermission;
|
|
1524
1518
|
return hasPermission;
|
|
1525
1519
|
}
|
|
@@ -1530,6 +1524,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
1530
1524
|
type: Injectable
|
|
1531
1525
|
}] });
|
|
1532
1526
|
|
|
1527
|
+
const canActivate = (route, state) => {
|
|
1528
|
+
const authService = inject(AuthService);
|
|
1529
|
+
const router = inject(Router);
|
|
1530
|
+
if (!authService.isAuthenticated()) {
|
|
1531
|
+
router.navigate(['/login'], { queryParams: { returnUrl: state.url } });
|
|
1532
|
+
return false;
|
|
1533
|
+
}
|
|
1534
|
+
return authService.hasDataPermission(route.data);
|
|
1535
|
+
};
|
|
1536
|
+
/**
|
|
1537
|
+
* @deprecated Please use canActivate
|
|
1538
|
+
* @see {@link canActivate}
|
|
1539
|
+
*/
|
|
1533
1540
|
class AuthGuardService {
|
|
1534
1541
|
constructor(authService, router) {
|
|
1535
1542
|
this.authService = authService;
|
|
@@ -1633,7 +1640,7 @@ class AlertService {
|
|
|
1633
1640
|
});
|
|
1634
1641
|
}
|
|
1635
1642
|
add(alertType, message, keepAfterRouteChange = false) {
|
|
1636
|
-
|
|
1643
|
+
const messages = [];
|
|
1637
1644
|
messages.push(message);
|
|
1638
1645
|
this.addRange(alertType, messages, keepAfterRouteChange);
|
|
1639
1646
|
}
|
|
@@ -1754,10 +1761,10 @@ class HttpErrorHandler {
|
|
|
1754
1761
|
: error;
|
|
1755
1762
|
const errorMessages = [];
|
|
1756
1763
|
const properties = Object.getOwnPropertyNames(errors);
|
|
1757
|
-
for (
|
|
1764
|
+
for (const property of properties) {
|
|
1758
1765
|
const messages = errors[property];
|
|
1759
1766
|
if (messages instanceof Array) {
|
|
1760
|
-
for (
|
|
1767
|
+
for (const message of messages) {
|
|
1761
1768
|
const messageKey = `Validation.${message}`;
|
|
1762
1769
|
let translatedMessage = this.translate.instant(messageKey);
|
|
1763
1770
|
// if translation not found then use message
|
|
@@ -1802,12 +1809,12 @@ class HttpErrorHandler {
|
|
|
1802
1809
|
break;
|
|
1803
1810
|
}
|
|
1804
1811
|
}
|
|
1805
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: HttpErrorHandler, deps: [{ token: AlertService }, { token:
|
|
1812
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: HttpErrorHandler, deps: [{ token: AlertService }, { token: i2.TranslateService }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1806
1813
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: HttpErrorHandler }); }
|
|
1807
1814
|
}
|
|
1808
1815
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: HttpErrorHandler, decorators: [{
|
|
1809
1816
|
type: Injectable
|
|
1810
|
-
}], ctorParameters: () => [{ type: AlertService }, { type:
|
|
1817
|
+
}], ctorParameters: () => [{ type: AlertService }, { type: i2.TranslateService }, { type: i1.Router }] });
|
|
1811
1818
|
|
|
1812
1819
|
const API_BASE_URL = new InjectionToken('API_BASE_URL');
|
|
1813
1820
|
const DATE_FORMAT = new InjectionToken('DATE_FORMAT');
|
|
@@ -1854,7 +1861,7 @@ class WebApiClient {
|
|
|
1854
1861
|
const field = obj[key];
|
|
1855
1862
|
if (field === undefined || field === null || (typeof field === 'string' && field.length === 0))
|
|
1856
1863
|
continue;
|
|
1857
|
-
|
|
1864
|
+
const value = field;
|
|
1858
1865
|
// if (typeof field === 'string' && field.length > 0) {
|
|
1859
1866
|
// value = field.replace(/\+/gi, '%2B');
|
|
1860
1867
|
// }
|
|
@@ -1917,12 +1924,12 @@ class WebApiClient {
|
|
|
1917
1924
|
httpHeaders = httpHeaders.set('Authorization', token);
|
|
1918
1925
|
return httpHeaders;
|
|
1919
1926
|
}
|
|
1920
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: WebApiClient, deps: [{ token: i1$
|
|
1927
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: WebApiClient, deps: [{ token: i1$1.HttpClient }, { token: AuthService }, { token: API_BASE_URL }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1921
1928
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: WebApiClient }); }
|
|
1922
1929
|
}
|
|
1923
1930
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: WebApiClient, decorators: [{
|
|
1924
1931
|
type: Injectable
|
|
1925
|
-
}], ctorParameters: () => [{ type: i1$
|
|
1932
|
+
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: AuthService }, { type: undefined, decorators: [{
|
|
1926
1933
|
type: Inject,
|
|
1927
1934
|
args: [API_BASE_URL]
|
|
1928
1935
|
}] }] });
|
|
@@ -2106,7 +2113,7 @@ class CoreUiComponent extends CoreComponent {
|
|
|
2106
2113
|
}
|
|
2107
2114
|
set value(newValue) {
|
|
2108
2115
|
if (this._value !== newValue) {
|
|
2109
|
-
|
|
2116
|
+
const cancelEventArgs = {
|
|
2110
2117
|
oldValue: this._value,
|
|
2111
2118
|
newValue: newValue
|
|
2112
2119
|
};
|
|
@@ -2140,7 +2147,7 @@ class CoreUiComponent extends CoreComponent {
|
|
|
2140
2147
|
return this._readonly;
|
|
2141
2148
|
}
|
|
2142
2149
|
set readonly(value) {
|
|
2143
|
-
|
|
2150
|
+
const v = Convert.toBooleanProperty(value);
|
|
2144
2151
|
if (this._readonly !== v) {
|
|
2145
2152
|
this._readonly = v;
|
|
2146
2153
|
this.onReadOnlyChanged();
|
|
@@ -2152,7 +2159,7 @@ class CoreUiComponent extends CoreComponent {
|
|
|
2152
2159
|
return this._disabled;
|
|
2153
2160
|
}
|
|
2154
2161
|
set disabled(value) {
|
|
2155
|
-
|
|
2162
|
+
const v = Convert.toBooleanProperty(value);
|
|
2156
2163
|
if (this._disabled !== v) {
|
|
2157
2164
|
this._disabled = v;
|
|
2158
2165
|
this.onDisabledChanged();
|
|
@@ -2164,7 +2171,7 @@ class CoreUiComponent extends CoreComponent {
|
|
|
2164
2171
|
return this._required;
|
|
2165
2172
|
}
|
|
2166
2173
|
set required(value) {
|
|
2167
|
-
|
|
2174
|
+
const v = Convert.toBooleanProperty(value);
|
|
2168
2175
|
if (this._required !== v) {
|
|
2169
2176
|
this._required = v;
|
|
2170
2177
|
this.onRequiredChanged();
|
|
@@ -2299,7 +2306,7 @@ class EditFormComponent extends BaseComponent {
|
|
|
2299
2306
|
async approve() {
|
|
2300
2307
|
if (this.id) {
|
|
2301
2308
|
this.approveModel.ids = [this.id];
|
|
2302
|
-
|
|
2309
|
+
const approved = await this.internalApprove(this.approveModel);
|
|
2303
2310
|
if (approved) {
|
|
2304
2311
|
this.load();
|
|
2305
2312
|
}
|
|
@@ -2320,7 +2327,7 @@ class EditFormComponent extends BaseComponent {
|
|
|
2320
2327
|
async disapprove() {
|
|
2321
2328
|
if (this.id) {
|
|
2322
2329
|
this.approveModel.ids = [this.id];
|
|
2323
|
-
|
|
2330
|
+
const disapproved = await this.internalDisapprove(this.approveModel);
|
|
2324
2331
|
if (disapproved) {
|
|
2325
2332
|
this.load();
|
|
2326
2333
|
}
|
|
@@ -2353,7 +2360,7 @@ class EditBaseComponent extends EditFormComponent {
|
|
|
2353
2360
|
}
|
|
2354
2361
|
async internalSave(navigateToReturnUrl) {
|
|
2355
2362
|
this.alert.clear();
|
|
2356
|
-
|
|
2363
|
+
const data = await firstValueFrom(this.service.save(this.model));
|
|
2357
2364
|
let success = false;
|
|
2358
2365
|
if (typeof data === 'number' && data > 0) {
|
|
2359
2366
|
success = true;
|
|
@@ -2363,7 +2370,7 @@ class EditBaseComponent extends EditFormComponent {
|
|
|
2363
2370
|
success = true;
|
|
2364
2371
|
}
|
|
2365
2372
|
if (success) {
|
|
2366
|
-
|
|
2373
|
+
const message = await firstValueFrom(this.translate.get('Alert.SaveSuccess'));
|
|
2367
2374
|
this.alert.success(message, null, 'fa-solid fa-floppy-disk');
|
|
2368
2375
|
if (navigateToReturnUrl === true) {
|
|
2369
2376
|
this.navigateReturnUrl();
|
|
@@ -2376,46 +2383,46 @@ class EditBaseComponent extends EditFormComponent {
|
|
|
2376
2383
|
// }
|
|
2377
2384
|
}
|
|
2378
2385
|
else {
|
|
2379
|
-
|
|
2386
|
+
const message = await firstValueFrom(this.translate.get('Alert.SaveError'));
|
|
2380
2387
|
this.alert.error(message, null, 'fa-solid fa-floppy-disk');
|
|
2381
2388
|
return false;
|
|
2382
2389
|
}
|
|
2383
2390
|
}
|
|
2384
2391
|
async internalApprove(model) {
|
|
2385
|
-
|
|
2392
|
+
const data = await firstValueFrom(this.service.approve(model));
|
|
2386
2393
|
if (data && data.length > 0) {
|
|
2387
|
-
|
|
2394
|
+
const message = await firstValueFrom(this.translate.get('Alert.Approved'));
|
|
2388
2395
|
this.alert.success(message, null, 'fa-solid fa-floppy-disk');
|
|
2389
2396
|
return true;
|
|
2390
2397
|
}
|
|
2391
2398
|
else {
|
|
2392
|
-
|
|
2399
|
+
const message = await firstValueFrom(this.translate.get('Alert.ApproveError'));
|
|
2393
2400
|
this.alert.error(message, null, 'fa-solid fa-floppy-disk');
|
|
2394
2401
|
return false;
|
|
2395
2402
|
}
|
|
2396
2403
|
}
|
|
2397
2404
|
async internalDisapprove(model) {
|
|
2398
|
-
|
|
2405
|
+
const data = await firstValueFrom(this.service.disapprove(model));
|
|
2399
2406
|
if (data && data.length > 0) {
|
|
2400
|
-
|
|
2407
|
+
const message = await firstValueFrom(this.translate.get('Alert.Disapproved'));
|
|
2401
2408
|
this.alert.success(message, null, 'fa-solid fa-floppy-disk');
|
|
2402
2409
|
return true;
|
|
2403
2410
|
}
|
|
2404
2411
|
else {
|
|
2405
|
-
|
|
2412
|
+
const message = await firstValueFrom(this.translate.get('Alert.DisapproveError'));
|
|
2406
2413
|
this.alert.error(message, null, 'fa-solid fa-floppy-disk');
|
|
2407
2414
|
return false;
|
|
2408
2415
|
}
|
|
2409
2416
|
}
|
|
2410
2417
|
async internalSubmit(model) {
|
|
2411
|
-
|
|
2418
|
+
const data = await firstValueFrom(this.service.approve(model));
|
|
2412
2419
|
if (data && data.length > 0) {
|
|
2413
|
-
|
|
2420
|
+
const message = await firstValueFrom(this.translate.get('Alert.Submitted'));
|
|
2414
2421
|
this.alert.success(message, null, 'fa-solid fa-floppy-disk');
|
|
2415
2422
|
return true;
|
|
2416
2423
|
}
|
|
2417
2424
|
else {
|
|
2418
|
-
|
|
2425
|
+
const message = await firstValueFrom(this.translate.get('Alert.SubmitError'));
|
|
2419
2426
|
this.alert.error(message, null, 'fa-solid fa-floppy-disk');
|
|
2420
2427
|
return false;
|
|
2421
2428
|
}
|
|
@@ -2433,9 +2440,9 @@ class EditBaseComponent extends EditFormComponent {
|
|
|
2433
2440
|
super.print(this.id, printType);
|
|
2434
2441
|
}
|
|
2435
2442
|
async restore() {
|
|
2436
|
-
|
|
2443
|
+
const data = await firstValueFrom(this.service.restore(this.id));
|
|
2437
2444
|
if (data?.success) {
|
|
2438
|
-
|
|
2445
|
+
const message = await firstValueFrom(this.translate.get('Alert.Restored'));
|
|
2439
2446
|
this.alert.success(message);
|
|
2440
2447
|
this.load();
|
|
2441
2448
|
}
|
|
@@ -2627,7 +2634,7 @@ class ListBaseComponent extends BaseComponent {
|
|
|
2627
2634
|
initDefaultFilter() {
|
|
2628
2635
|
}
|
|
2629
2636
|
initStoredFilter() {
|
|
2630
|
-
|
|
2637
|
+
const filterParam = this.getQueryParam('filter') || this.getParam('filter');
|
|
2631
2638
|
if (filterParam) {
|
|
2632
2639
|
const tmp = StorageHelper.get('filter');
|
|
2633
2640
|
if (tmp && tmp.url && tmp.url === this.url && tmp.filter) {
|
|
@@ -2690,18 +2697,18 @@ class ListBaseComponent extends BaseComponent {
|
|
|
2690
2697
|
}
|
|
2691
2698
|
async delete(id) {
|
|
2692
2699
|
this.alert.clear();
|
|
2693
|
-
|
|
2700
|
+
const data = await firstValueFrom(this.service.delete(id));
|
|
2694
2701
|
if (data?.success) {
|
|
2695
|
-
|
|
2702
|
+
const message = await firstValueFrom(this.translate.get('Alert.Deleted'));
|
|
2696
2703
|
this.alert.error(message, null, 'fa-solid fa-trash');
|
|
2697
2704
|
this.refresh();
|
|
2698
2705
|
}
|
|
2699
2706
|
}
|
|
2700
2707
|
async delete2(id, id2) {
|
|
2701
2708
|
this.alert.clear();
|
|
2702
|
-
|
|
2709
|
+
const data = await firstValueFrom(this.service.delete2(id, id2));
|
|
2703
2710
|
if (data?.success) {
|
|
2704
|
-
|
|
2711
|
+
const message = await firstValueFrom(this.translate.get('Alert.Deleted'));
|
|
2705
2712
|
this.alert.error(message, null, 'fa-solid fa-trash');
|
|
2706
2713
|
this.refresh();
|
|
2707
2714
|
}
|
|
@@ -2718,7 +2725,7 @@ class ListBaseComponent extends BaseComponent {
|
|
|
2718
2725
|
}
|
|
2719
2726
|
select(item) {
|
|
2720
2727
|
item.selected = !item.selected;
|
|
2721
|
-
|
|
2728
|
+
const id = item.id;
|
|
2722
2729
|
if (id) {
|
|
2723
2730
|
if (item.selected) {
|
|
2724
2731
|
this.selectedIds.push(id);
|
|
@@ -2731,12 +2738,12 @@ class ListBaseComponent extends BaseComponent {
|
|
|
2731
2738
|
showApproveModal(id) {
|
|
2732
2739
|
if (!id || !this.approveModal)
|
|
2733
2740
|
return;
|
|
2734
|
-
|
|
2741
|
+
const tmp = { ids: [id] };
|
|
2735
2742
|
this.approveModel = {};
|
|
2736
2743
|
this.approveModal.show(tmp);
|
|
2737
2744
|
}
|
|
2738
2745
|
showApproveSelectedModal() {
|
|
2739
|
-
|
|
2746
|
+
const tmp = { ids: this.getSelectedIds() };
|
|
2740
2747
|
if (!tmp.ids || tmp.ids.length === 0 || !this.approveModal)
|
|
2741
2748
|
return;
|
|
2742
2749
|
this.approveModel = {};
|
|
@@ -2746,22 +2753,22 @@ class ListBaseComponent extends BaseComponent {
|
|
|
2746
2753
|
if (!m)
|
|
2747
2754
|
return;
|
|
2748
2755
|
this.alert.clear();
|
|
2749
|
-
|
|
2756
|
+
const data = await firstValueFrom(this.service.approve(m));
|
|
2750
2757
|
if (!data || data.length === 0)
|
|
2751
2758
|
return;
|
|
2752
|
-
|
|
2759
|
+
const message = await firstValueFrom(this.translate.get(this.approvedMesage));
|
|
2753
2760
|
this.alert.success(message, null, 'fa-solid fa-thumbs-up');
|
|
2754
2761
|
this.refresh();
|
|
2755
2762
|
}
|
|
2756
2763
|
showDisapproveModal(id) {
|
|
2757
2764
|
if (!id || !this.disapproveModal)
|
|
2758
2765
|
return;
|
|
2759
|
-
|
|
2766
|
+
const tmp = { ids: [id] };
|
|
2760
2767
|
this.approveModel = {};
|
|
2761
2768
|
this.disapproveModal.show(tmp);
|
|
2762
2769
|
}
|
|
2763
2770
|
showDisapproveSelectedModal() {
|
|
2764
|
-
|
|
2771
|
+
const tmp = { ids: this.getSelectedIds() };
|
|
2765
2772
|
if (!tmp.ids || tmp.ids.length === 0 || !this.disapproveModal)
|
|
2766
2773
|
return;
|
|
2767
2774
|
this.approveModel = {};
|
|
@@ -2777,10 +2784,10 @@ class ListBaseComponent extends BaseComponent {
|
|
|
2777
2784
|
delete m.comment;
|
|
2778
2785
|
}
|
|
2779
2786
|
this.alert.clear();
|
|
2780
|
-
|
|
2787
|
+
const data = await firstValueFrom(this.service.disapprove(m));
|
|
2781
2788
|
if (!data || data.length === 0)
|
|
2782
2789
|
return;
|
|
2783
|
-
|
|
2790
|
+
const message = await firstValueFrom(this.translate.get(this.disapprovedMesage));
|
|
2784
2791
|
this.alert.success(message, null, 'fa-solid fa-thumbs-down');
|
|
2785
2792
|
this.refresh();
|
|
2786
2793
|
}
|
|
@@ -2797,13 +2804,13 @@ class ListBaseComponent extends BaseComponent {
|
|
|
2797
2804
|
showSum() { }
|
|
2798
2805
|
async sum() {
|
|
2799
2806
|
this.sumModel = null;
|
|
2800
|
-
|
|
2807
|
+
const data = await firstValueFrom(this.service.sum(this.internalFilter));
|
|
2801
2808
|
if (data) {
|
|
2802
2809
|
this.sumModel = data;
|
|
2803
2810
|
this.showSum();
|
|
2804
2811
|
}
|
|
2805
2812
|
else {
|
|
2806
|
-
|
|
2813
|
+
const message = await firstValueFrom(this.translate.get('Alert.SumError'));
|
|
2807
2814
|
this.alert.error(message);
|
|
2808
2815
|
}
|
|
2809
2816
|
}
|
|
@@ -2815,7 +2822,7 @@ class ListBaseComponent extends BaseComponent {
|
|
|
2815
2822
|
print(printType) {
|
|
2816
2823
|
if (!this.model || !this.model.items)
|
|
2817
2824
|
return;
|
|
2818
|
-
|
|
2825
|
+
const ids = this.getSelectedIds();
|
|
2819
2826
|
for (const id of ids) {
|
|
2820
2827
|
super.print(id, printType);
|
|
2821
2828
|
}
|
|
@@ -2841,7 +2848,7 @@ class AgePipe {
|
|
|
2841
2848
|
if (typeof value === 'undefined' || value === null || value === '' || value !== value)
|
|
2842
2849
|
return null;
|
|
2843
2850
|
const date = DateHelper.toDate(value);
|
|
2844
|
-
|
|
2851
|
+
const timeDiff = (now ? DateHelper.toDate(now).getTime() : Date.now()) - date.getTime();
|
|
2845
2852
|
return Math.floor((timeDiff / (1000 * 3600 * 24)) / 365.25);
|
|
2846
2853
|
}
|
|
2847
2854
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: AgePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
@@ -2883,7 +2890,7 @@ class ZekAlert extends CoreComponent {
|
|
|
2883
2890
|
this.cssIcon = BootstrapHelper.cssAlertIcon(this._type);
|
|
2884
2891
|
}
|
|
2885
2892
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekAlert, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2886
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekAlert, isStandalone: true, selector: "zek-alert", inputs: { type: "type", showClose: "showClose", title: "title" }, usesInheritance: true, ngImport: i0, template: "<div class=\"alert {{cssAlert}} alert-dismissible fade show\" role=\"alert\">\r\n <button *ngIf=\"_showClose\" type=\"button\" class=\"btn-close\" data-bs-dismiss=\"alert\" aria-label=\"Close\"></button>\r\n <div class=\"row\">\r\n <div class=\"col-auto pe-1\" *ngIf=\"cssIcon\">\r\n <span class=\"flex-shrink-0\"><i class=\"{{cssIcon}}\"></i></span>\r\n </div>\r\n <div class=\"col-auto\">\r\n <div *ngIf=\"title\">\r\n <h5 class=\"alert-heading\">{{title}}</h5>\r\n </div>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
2893
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekAlert, isStandalone: true, selector: "zek-alert", inputs: { type: "type", showClose: "showClose", title: "title" }, usesInheritance: true, ngImport: i0, template: "<div class=\"alert {{cssAlert}} alert-dismissible fade show\" role=\"alert\">\r\n <button *ngIf=\"_showClose\" type=\"button\" class=\"btn-close\" data-bs-dismiss=\"alert\" aria-label=\"Close\"></button>\r\n <div class=\"row\">\r\n <div class=\"col-auto pe-1\" *ngIf=\"cssIcon\">\r\n <span class=\"flex-shrink-0\"><i class=\"{{cssIcon}}\"></i></span>\r\n </div>\r\n <div class=\"col-auto\">\r\n <div *ngIf=\"title\">\r\n <h5 class=\"alert-heading\">{{title}}</h5>\r\n </div>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
2887
2894
|
}
|
|
2888
2895
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekAlert, decorators: [{
|
|
2889
2896
|
type: Component,
|
|
@@ -2904,7 +2911,7 @@ class ZekToast {
|
|
|
2904
2911
|
return this._delay;
|
|
2905
2912
|
}
|
|
2906
2913
|
set delay(v) {
|
|
2907
|
-
|
|
2914
|
+
const tmp = clamp$1(Convert.toNumber(v) || 0);
|
|
2908
2915
|
if (this._delay !== tmp) {
|
|
2909
2916
|
this._delay = tmp;
|
|
2910
2917
|
}
|
|
@@ -2964,7 +2971,7 @@ class ZekToast {
|
|
|
2964
2971
|
if (this.icon && !toast.icon) {
|
|
2965
2972
|
toast.icon = BootstrapHelper.cssAlertIcon(toast.type);
|
|
2966
2973
|
}
|
|
2967
|
-
|
|
2974
|
+
let v = toast;
|
|
2968
2975
|
switch (toast.type) {
|
|
2969
2976
|
case 'primary':
|
|
2970
2977
|
v.css = 'bg-primary text-white';
|
|
@@ -3001,7 +3008,7 @@ class ZekToast {
|
|
|
3001
3008
|
}
|
|
3002
3009
|
}
|
|
3003
3010
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekToast, deps: [{ token: AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3004
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekToast, isStandalone: true, selector: "zek-toast", inputs: { delay: "delay", icon: "icon" }, ngImport: i0, template: "<div class=\"toast-container position-fixed top-0 end-0 p-3\">\r\n <div *ngFor=\"let toast of toasts\" class=\"toast fade show border-0 {{ toast.css }}\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" [attr.data-bs-delay]=\"_delay\">\r\n <div class=\"toast-header\">\r\n <span class=\"me-1\" *ngIf=\"icon && toast.icon\"><i class=\"{{ toast.icon }}\"></i></span>\r\n <strong class=\"me-auto\" *ngIf=\"toast.title\">{{ toast.title }}</strong>\r\n <button type=\"button\" class=\"btn-close ms-auto me-2\" data-bs-dismiss=\"toast\" aria-label=\"Close\" (click)=\"remove(toast)\"></button>\r\n </div>\r\n <div class=\"toast-body\">\r\n {{ toast.message }}\r\n </div>\r\n </div>\r\n <!-- <div *ngFor=\"let toast of toasts\" class=\"toast fade show\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" data-bs-delay=\"3000\">\r\n <div class=\"toast-body\">\r\n <div class=\"row\">\r\n <div class=\"col-auto pe-1 border-start border-8 {{toast.borderColor}}\">\r\n <span *ngIf=\"toast.icon\" class=\"icon flex-shrink-0 {{toast.iconColor}}\"><i class=\"{{toast.icon}}\"></i></span>\r\n </div>\r\n <div class=\"col\">\r\n <div *ngIf=\"toast.title\"><h5>{{toast.title}}</h5></div>\r\n {{ toast.message }}\r\n </div>\r\n <div class=\"col-auto p-0\">\r\n <button type=\"button\" class=\"btn-close ms-auto me-2\" data-bs-dismiss=\"toast\" aria-label=\"Close\" (click)=\"remove(toast)\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n</div>", styles: [":host>.toast-container{z-index:999999;opacity:.9}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
3011
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekToast, isStandalone: true, selector: "zek-toast", inputs: { delay: "delay", icon: "icon" }, ngImport: i0, template: "<div class=\"toast-container position-fixed top-0 end-0 p-3\">\r\n <div *ngFor=\"let toast of toasts\" class=\"toast fade show border-0 {{ toast.css }}\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" [attr.data-bs-delay]=\"_delay\">\r\n <div class=\"toast-header\">\r\n <span class=\"me-1\" *ngIf=\"icon && toast.icon\"><i class=\"{{ toast.icon }}\"></i></span>\r\n <strong class=\"me-auto\" *ngIf=\"toast.title\">{{ toast.title }}</strong>\r\n <button type=\"button\" class=\"btn-close ms-auto me-2\" data-bs-dismiss=\"toast\" aria-label=\"Close\" (click)=\"remove(toast)\"></button>\r\n </div>\r\n <div class=\"toast-body\">\r\n {{ toast.message }}\r\n </div>\r\n </div>\r\n <!-- <div *ngFor=\"let toast of toasts\" class=\"toast fade show\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" data-bs-delay=\"3000\">\r\n <div class=\"toast-body\">\r\n <div class=\"row\">\r\n <div class=\"col-auto pe-1 border-start border-8 {{toast.borderColor}}\">\r\n <span *ngIf=\"toast.icon\" class=\"icon flex-shrink-0 {{toast.iconColor}}\"><i class=\"{{toast.icon}}\"></i></span>\r\n </div>\r\n <div class=\"col\">\r\n <div *ngIf=\"toast.title\"><h5>{{toast.title}}</h5></div>\r\n {{ toast.message }}\r\n </div>\r\n <div class=\"col-auto p-0\">\r\n <button type=\"button\" class=\"btn-close ms-auto me-2\" data-bs-dismiss=\"toast\" aria-label=\"Close\" (click)=\"remove(toast)\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n</div>", styles: [":host>.toast-container{z-index:999999;opacity:.9}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
3005
3012
|
}
|
|
3006
3013
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekToast, decorators: [{
|
|
3007
3014
|
type: Component,
|
|
@@ -3055,7 +3062,7 @@ class ZekValidation {
|
|
|
3055
3062
|
return BootstrapHelper.cssAlert(alert.type);
|
|
3056
3063
|
}
|
|
3057
3064
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekValidation, deps: [{ token: AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3058
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekValidation, isStandalone: true, selector: "zek-validation", ngImport: i0, template: "<div *ngFor=\"let alert of alerts\" class=\"alert {{ cssAlert(alert) }} alert-dismissible fade show mt-3\" role=\"alert\">\r\n <button (click)=\"remove(alert)\" type=\"button\" class=\"btn-close\" aria-label=\"Close\"></button>\r\n <div *ngFor=\"let message of alert.messages\">\r\n <i *ngIf=\"cssIcon(alert)\" class=\"{{ cssIcon(alert) }}\"></i>\r\n {{message}}\r\n </div>\r\n <ng-content></ng-content>\r\n</div>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
3065
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekValidation, isStandalone: true, selector: "zek-validation", ngImport: i0, template: "<div *ngFor=\"let alert of alerts\" class=\"alert {{ cssAlert(alert) }} alert-dismissible fade show mt-3\" role=\"alert\">\r\n <button (click)=\"remove(alert)\" type=\"button\" class=\"btn-close\" aria-label=\"Close\"></button>\r\n <div *ngFor=\"let message of alert.messages\">\r\n <i *ngIf=\"cssIcon(alert)\" class=\"{{ cssIcon(alert) }}\"></i>\r\n {{message}}\r\n </div>\r\n <ng-content></ng-content>\r\n</div>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
3059
3066
|
}
|
|
3060
3067
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekValidation, decorators: [{
|
|
3061
3068
|
type: Component,
|
|
@@ -3172,7 +3179,7 @@ class ZekButtonBrowse extends CoreUiComponent {
|
|
|
3172
3179
|
}
|
|
3173
3180
|
get modal() {
|
|
3174
3181
|
if (!this._modal) {
|
|
3175
|
-
|
|
3182
|
+
const modalEl = document.getElementById(this.modalId);
|
|
3176
3183
|
this._modal = new bootstrap.Modal(modalEl, { backdrop: false });
|
|
3177
3184
|
}
|
|
3178
3185
|
return this._modal;
|
|
@@ -3247,7 +3254,7 @@ class ZekButtonBrowse extends CoreUiComponent {
|
|
|
3247
3254
|
this.onBindText.emit();
|
|
3248
3255
|
}
|
|
3249
3256
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekButtonBrowse, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
3250
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekButtonBrowse, selector: "zek-bb", inputs: { id: "id", type: "type", text: "text", readOnly: "readOnly", hide: "hide", showInput: "showInput", multiSelect: "multiSelect", size: "size", scrollable: "scrollable", fullscreen: "fullscreen", showHeader: "showHeader" }, outputs: { onShowModal: "onShowModal", onChooseAll: "onChooseAll", onKeyPairChange: "onKeyPairChange", onBindText: "onBindText" }, providers: [ZEK_BB_CONTROL_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"!hide && showInput\" class=\"input-group\">\r\n <input type=\"text\" class=\"form-control\" [ngClass]=\"{ 'ng-valid required': !required || value, 'ng-invalid': required && !value }\" (keyup)=\"_onKey($event)\" title=\"ID = {{value}}\" [value]=\"text\" [attr.readonly]=\"true\">\r\n <button type=\"button\" [disabled]=\"disabled || readOnly\" class=\"btn btn-outline-secondary\" (click)=\"showModal()\">\r\n <i class=\"fa-solid fa-ellipsis\"></i>\r\n </button>\r\n <button type=\"button\" [disabled]=\"disabled || readOnly\" class=\"btn btn-outline-secondary dropdown-toggle dropdown-toggle-split\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <span class=\"visually-hidden\">Toggle Dropdown</span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li><a class=\"dropdown-item\" (click)=\"delete()\" href=\"javascript:void(0)\"> <i class=\"fa-solid fa-trash\"></i> Delete <kbd>delete</kbd> </a></li>\r\n </ul>\r\n</div>\r\n<div *ngIf=\"!hide || disabled || readOnly\" class=\"modal fade\" [id]=\"modalId\" tabindex=\"-1\" aria-labelledby=\"bb-modal-label\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <h5 class=\"modal-title\" id=\"{{modalId}}-label\">{{'Action.Choose' | translate }}</h5>\r\n <button type=\"button\" (click)=\"close()\" class=\"btn-close\" data-bs-dismiss2=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$
|
|
3257
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekButtonBrowse, selector: "zek-bb", inputs: { id: "id", type: "type", text: "text", readOnly: "readOnly", hide: "hide", showInput: "showInput", multiSelect: "multiSelect", size: "size", scrollable: "scrollable", fullscreen: "fullscreen", showHeader: "showHeader" }, outputs: { onShowModal: "onShowModal", onChooseAll: "onChooseAll", onKeyPairChange: "onKeyPairChange", onBindText: "onBindText" }, providers: [ZEK_BB_CONTROL_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"!hide && showInput\" class=\"input-group\">\r\n <input type=\"text\" class=\"form-control\" [ngClass]=\"{ 'ng-valid required': !required || value, 'ng-invalid': required && !value }\" (keyup)=\"_onKey($event)\" title=\"ID = {{value}}\" [value]=\"text\" [attr.readonly]=\"true\">\r\n <button type=\"button\" [disabled]=\"disabled || readOnly\" class=\"btn btn-outline-secondary\" (click)=\"showModal()\">\r\n <i class=\"fa-solid fa-ellipsis\"></i>\r\n </button>\r\n <button type=\"button\" [disabled]=\"disabled || readOnly\" class=\"btn btn-outline-secondary dropdown-toggle dropdown-toggle-split\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <span class=\"visually-hidden\">Toggle Dropdown</span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li><a class=\"dropdown-item\" (click)=\"delete()\" href=\"javascript:void(0)\"> <i class=\"fa-solid fa-trash\"></i> Delete <kbd>delete</kbd> </a></li>\r\n </ul>\r\n</div>\r\n<div *ngIf=\"!hide || disabled || readOnly\" class=\"modal fade\" [id]=\"modalId\" tabindex=\"-1\" aria-labelledby=\"bb-modal-label\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <h5 class=\"modal-title\" id=\"{{modalId}}-label\">{{'Action.Choose' | translate }}</h5>\r\n <button type=\"button\" (click)=\"close()\" class=\"btn-close\" data-bs-dismiss2=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
3251
3258
|
}
|
|
3252
3259
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekButtonBrowse, decorators: [{
|
|
3253
3260
|
type: Component,
|
|
@@ -3309,7 +3316,7 @@ class ZekButtonBrowseModalToolbar {
|
|
|
3309
3316
|
this.onChooseAll.emit();
|
|
3310
3317
|
}
|
|
3311
3318
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekButtonBrowseModalToolbar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3312
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekButtonBrowseModalToolbar, selector: "zek-bb-modal-toolbar", inputs: { multiSelect: "multiSelect" }, outputs: { onSearch: "onSearch", onReset: "onReset", onChooseAll: "onChooseAll" }, ngImport: i0, template: "<ng-content select=\"[left]\"></ng-content>\r\n<button type=\"button\" (click)=\"search()\" class=\"btn btn-primary me-2\" id=\"bb-filter-button\" title=\"Filter\">\r\n <i class=\"fa-solid fa-filter\" aria-hidden=\"true\"></i>\r\n</button>\r\n<button type=\"button\" (click)=\"reset()\" class=\"btn btn-secondary me-2\" title=\"Reset\">\r\n <i class=\"fa-solid fa-xmark\" aria-hidden=\"true\"></i>\r\n</button>\r\n<button *ngIf=\"multiSelect\" type=\"button\" (click)=\"chooseAll()\" class=\"btn btn-secondary me-2\" title=\"Choose All\">\r\n <i class=\"fa-solid fa-hand-point-up\" aria-hidden=\"true\"></i>\r\n</button>\r\n<ng-content></ng-content>", dependencies: [{ kind: "directive", type: i1$
|
|
3319
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekButtonBrowseModalToolbar, selector: "zek-bb-modal-toolbar", inputs: { multiSelect: "multiSelect" }, outputs: { onSearch: "onSearch", onReset: "onReset", onChooseAll: "onChooseAll" }, ngImport: i0, template: "<ng-content select=\"[left]\"></ng-content>\r\n<button type=\"button\" (click)=\"search()\" class=\"btn btn-primary me-2\" id=\"bb-filter-button\" title=\"Filter\">\r\n <i class=\"fa-solid fa-filter\" aria-hidden=\"true\"></i>\r\n</button>\r\n<button type=\"button\" (click)=\"reset()\" class=\"btn btn-secondary me-2\" title=\"Reset\">\r\n <i class=\"fa-solid fa-xmark\" aria-hidden=\"true\"></i>\r\n</button>\r\n<button *ngIf=\"multiSelect\" type=\"button\" (click)=\"chooseAll()\" class=\"btn btn-secondary me-2\" title=\"Choose All\">\r\n <i class=\"fa-solid fa-hand-point-up\" aria-hidden=\"true\"></i>\r\n</button>\r\n<ng-content></ng-content>", dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
3313
3320
|
}
|
|
3314
3321
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekButtonBrowseModalToolbar, decorators: [{
|
|
3315
3322
|
type: Component,
|
|
@@ -3450,7 +3457,7 @@ class ZekCard {
|
|
|
3450
3457
|
this.cdRef.detectChanges();
|
|
3451
3458
|
}
|
|
3452
3459
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekCard, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3453
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekCard, isStandalone: true, selector: "zek-card", inputs: { css: "css" }, viewQueries: [{ propertyName: "headerWrapper", first: true, predicate: ["headerRef"], descendants: true }, { propertyName: "bodyRef", first: true, predicate: ["bodyRef"], descendants: true }, { propertyName: "footerRef", first: true, predicate: ["footerRef"], descendants: true }], ngImport: i0, template: "<div class=\"card {{css}}\">\r\n <div class=\"card-header\" #headerRef *ngIf=\"showHeader\">\r\n <ng-content select=\"[card-header]\"></ng-content>\r\n </div>\r\n <div class=\"card-body\" #bodyRef *ngIf=\"showBody\">\r\n <ng-content select=\"[card-body]\"></ng-content>\r\n </div>\r\n <ng-content></ng-content>\r\n <div class=\"card-footer\" #footerRef *ngIf=\"showFooter\">\r\n <ng-content select=\"[card-footer]\"></ng-content>\r\n </div>\r\n</div>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
3460
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekCard, isStandalone: true, selector: "zek-card", inputs: { css: "css" }, viewQueries: [{ propertyName: "headerWrapper", first: true, predicate: ["headerRef"], descendants: true }, { propertyName: "bodyRef", first: true, predicate: ["bodyRef"], descendants: true }, { propertyName: "footerRef", first: true, predicate: ["footerRef"], descendants: true }], ngImport: i0, template: "<div class=\"card {{css}}\">\r\n <div class=\"card-header\" #headerRef *ngIf=\"showHeader\">\r\n <ng-content select=\"[card-header]\"></ng-content>\r\n </div>\r\n <div class=\"card-body\" #bodyRef *ngIf=\"showBody\">\r\n <ng-content select=\"[card-body]\"></ng-content>\r\n </div>\r\n <ng-content></ng-content>\r\n <div class=\"card-footer\" #footerRef *ngIf=\"showFooter\">\r\n <ng-content select=\"[card-footer]\"></ng-content>\r\n </div>\r\n</div>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
3454
3461
|
}
|
|
3455
3462
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekCard, decorators: [{
|
|
3456
3463
|
type: Component,
|
|
@@ -3489,7 +3496,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
3489
3496
|
}]
|
|
3490
3497
|
}] });
|
|
3491
3498
|
|
|
3492
|
-
class
|
|
3499
|
+
class ZekDateAgoPipe {
|
|
3493
3500
|
transform(value, args) {
|
|
3494
3501
|
if (value === undefined || value === null || value === '' || value !== value)
|
|
3495
3502
|
return null;
|
|
@@ -3519,10 +3526,10 @@ class DateAgoPipe {
|
|
|
3519
3526
|
}
|
|
3520
3527
|
return date;
|
|
3521
3528
|
}
|
|
3522
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type:
|
|
3523
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type:
|
|
3529
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekDateAgoPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3530
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ZekDateAgoPipe, isStandalone: true, name: "dateAgo" }); }
|
|
3524
3531
|
}
|
|
3525
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type:
|
|
3532
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekDateAgoPipe, decorators: [{
|
|
3526
3533
|
type: Pipe,
|
|
3527
3534
|
args: [{
|
|
3528
3535
|
standalone: true,
|
|
@@ -3586,10 +3593,10 @@ class DateValueAccessor {
|
|
|
3586
3593
|
this.onChangeDate(e); //execude
|
|
3587
3594
|
});
|
|
3588
3595
|
setTimeout(() => {
|
|
3589
|
-
|
|
3590
|
-
|
|
3591
|
-
|
|
3592
|
-
|
|
3596
|
+
const min = this.el.nativeElement.getAttribute('min');
|
|
3597
|
+
const max = this.el.nativeElement.getAttribute('max');
|
|
3598
|
+
const minDate = min ? DateHelper.toDate(min) : null;
|
|
3599
|
+
const maxDate = max ? DateHelper.toDate(max) : null;
|
|
3593
3600
|
this.datepicker.setOptions({
|
|
3594
3601
|
minDate: minDate, //String|Date|Number
|
|
3595
3602
|
maxDate: maxDate, //String|Date|Number
|
|
@@ -3667,7 +3674,7 @@ class DateValueAccessor {
|
|
|
3667
3674
|
}
|
|
3668
3675
|
//write from model to el.nativeElement
|
|
3669
3676
|
writeValue(value) {
|
|
3670
|
-
|
|
3677
|
+
const date = DateHelper.parseDate(value);
|
|
3671
3678
|
this.oldValue = date;
|
|
3672
3679
|
if (date) {
|
|
3673
3680
|
this.datepicker.setDate(date, { clear: true }); //to display in input
|
|
@@ -3802,7 +3809,7 @@ class ZekEditToolbar {
|
|
|
3802
3809
|
this.onExport.emit(1);
|
|
3803
3810
|
}
|
|
3804
3811
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekEditToolbar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3805
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekEditToolbar, isStandalone: true, selector: "zek-edit-toolbar", inputs: { showSave: "showSave", showCancel: "showCancel", showExport: "showExport", showPrint: "showPrint", readOnly: "readOnly" }, outputs: { onSave: "onSave", onCancel: "onCancel", onPrint: "onPrint", onExport: "onExport" }, ngImport: i0, template: "<div class=\"btn-toolbar\" role=\"toolbar\" aria-label=\"Action toolbar\">\r\n <ng-content select=\"[left]\"></ng-content>\r\n <div *ngIf=\"showSave\" class=\"btn-group me-2\" role=\"group\" aria-label=\"Save group\">\r\n <button type=\"submit\" class=\"btn btn-primary\" [disabled]=\"readOnly\"><i class=\"fa-solid fa-floppy-disk\"></i> {{ 'Action.Save' | translate }}</button>\r\n </div>\r\n <div *ngIf=\"showCancel\" class=\"btn-group me-2\" role=\"group\" aria-label=\"Cancel group\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\"><i class=\"fa-solid fa-ban\"></i> {{ 'Action.Close' | translate }}</button>\r\n </div>\r\n <div *ngIf=\"showPrint\" class=\"btn-group me-2\" role=\"group\" aria-label=\"Print group\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"print(printType.Pdf)\"><i class=\"fa-solid fa-print\"></i> {{ 'Action.Print' | translate }}</button>\r\n <div class=\"btn-group\" role=\"group\">\r\n <button type=\"button\" class=\"btn btn-secondary dropdown-toggle\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <!-- dropdown-toggle-split -->\r\n <span class=\"visually-hidden\">Toggle Dropend</span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li><button type=\"button\" class=\"dropdown-item\" (click)=\"print(printType.Show)\"><i class=\"fa-solid fa-print\"></i> {{ 'Action.Print' | translate }}</button></li>\r\n <li><button type=\"button\" class=\"dropdown-item\" (click)=\"print(printType.Pdf)\"><i class=\"fa-solid fa-file-pdf\"></i> {{ 'Action.Print' | translate }} PDF</button></li>\r\n <ng-content select=\"[print]\"></ng-content>\r\n </ul>\r\n </div>\r\n </div>\r\n <div *ngIf=\"showExport\" class=\"btn-group\" role=\"group\" aria-label=\"Filter / Export group\">\r\n <div class=\"btn-group\" role=\"group\">\r\n <button id=\"btnGroupExport\" type=\"button\" class=\"btn btn-secondary dropdown-toggle\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\"><i class=\"fa-solid fa-download\"></i> {{ 'Action.Export' | translate }}</button>\r\n <ul class=\"dropdown-menu\" aria-labelledby=\"btnGroupExport\">\r\n <li><a class=\"dropdown-item\" href=\"javascript:void(0)\" (click)=\"exportExcel()\"><i class=\"fa-solid fa-file-excel\"></i> Excel</a></li>\r\n <ng-content select=\"[export]\"></ng-content>\r\n </ul>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
3812
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekEditToolbar, isStandalone: true, selector: "zek-edit-toolbar", inputs: { showSave: "showSave", showCancel: "showCancel", showExport: "showExport", showPrint: "showPrint", readOnly: "readOnly" }, outputs: { onSave: "onSave", onCancel: "onCancel", onPrint: "onPrint", onExport: "onExport" }, ngImport: i0, template: "<div class=\"btn-toolbar\" role=\"toolbar\" aria-label=\"Action toolbar\">\r\n <ng-content select=\"[left]\"></ng-content>\r\n <div *ngIf=\"showSave\" class=\"btn-group me-2\" role=\"group\" aria-label=\"Save group\">\r\n <button type=\"submit\" class=\"btn btn-primary\" [disabled]=\"readOnly\"><i class=\"fa-solid fa-floppy-disk\"></i> {{ 'Action.Save' | translate }}</button>\r\n </div>\r\n <div *ngIf=\"showCancel\" class=\"btn-group me-2\" role=\"group\" aria-label=\"Cancel group\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\"><i class=\"fa-solid fa-ban\"></i> {{ 'Action.Close' | translate }}</button>\r\n </div>\r\n <div *ngIf=\"showPrint\" class=\"btn-group me-2\" role=\"group\" aria-label=\"Print group\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"print(printType.Pdf)\"><i class=\"fa-solid fa-print\"></i> {{ 'Action.Print' | translate }}</button>\r\n <div class=\"btn-group\" role=\"group\">\r\n <button type=\"button\" class=\"btn btn-secondary dropdown-toggle\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <!-- dropdown-toggle-split -->\r\n <span class=\"visually-hidden\">Toggle Dropend</span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li><button type=\"button\" class=\"dropdown-item\" (click)=\"print(printType.Show)\"><i class=\"fa-solid fa-print\"></i> {{ 'Action.Print' | translate }}</button></li>\r\n <li><button type=\"button\" class=\"dropdown-item\" (click)=\"print(printType.Pdf)\"><i class=\"fa-solid fa-file-pdf\"></i> {{ 'Action.Print' | translate }} PDF</button></li>\r\n <ng-content select=\"[print]\"></ng-content>\r\n </ul>\r\n </div>\r\n </div>\r\n <div *ngIf=\"showExport\" class=\"btn-group\" role=\"group\" aria-label=\"Filter / Export group\">\r\n <div class=\"btn-group\" role=\"group\">\r\n <button id=\"btnGroupExport\" type=\"button\" class=\"btn btn-secondary dropdown-toggle\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\"><i class=\"fa-solid fa-download\"></i> {{ 'Action.Export' | translate }}</button>\r\n <ul class=\"dropdown-menu\" aria-labelledby=\"btnGroupExport\">\r\n <li><a class=\"dropdown-item\" href=\"javascript:void(0)\" (click)=\"exportExcel()\"><i class=\"fa-solid fa-file-excel\"></i> Excel</a></li>\r\n <ng-content select=\"[export]\"></ng-content>\r\n </ul>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
3806
3813
|
}
|
|
3807
3814
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekEditToolbar, decorators: [{
|
|
3808
3815
|
type: Component,
|
|
@@ -3877,9 +3884,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
3877
3884
|
|
|
3878
3885
|
let uniqueId$3 = 0;
|
|
3879
3886
|
class ZekModal extends CoreComponent {
|
|
3880
|
-
constructor(
|
|
3887
|
+
constructor() {
|
|
3881
3888
|
super();
|
|
3882
|
-
this.translate =
|
|
3889
|
+
this.translate = inject(TranslateService);
|
|
3883
3890
|
this._uniqueId = `zek-modal-${++uniqueId$3}`;
|
|
3884
3891
|
/** The unique ID for the radio button. */
|
|
3885
3892
|
this.id = this._uniqueId;
|
|
@@ -3922,7 +3929,7 @@ class ZekModal extends CoreComponent {
|
|
|
3922
3929
|
});
|
|
3923
3930
|
}
|
|
3924
3931
|
setTimeout(() => {
|
|
3925
|
-
|
|
3932
|
+
const modalEl = this.getModalElement();
|
|
3926
3933
|
if (modalEl) {
|
|
3927
3934
|
this.shownHandler = handler.addListener(modalEl, 'shown.bs.modal', () => {
|
|
3928
3935
|
this.onShown.emit();
|
|
@@ -4018,7 +4025,7 @@ class ZekModal extends CoreComponent {
|
|
|
4018
4025
|
return document.getElementById(this.modalId);
|
|
4019
4026
|
}
|
|
4020
4027
|
getModal() {
|
|
4021
|
-
|
|
4028
|
+
const modalEl = this.getModalElement();
|
|
4022
4029
|
return new bootstrap.Modal(modalEl, { backdrop: 'static' });
|
|
4023
4030
|
}
|
|
4024
4031
|
cssButton() {
|
|
@@ -4051,14 +4058,14 @@ class ZekModal extends CoreComponent {
|
|
|
4051
4058
|
this._modal.hide();
|
|
4052
4059
|
}
|
|
4053
4060
|
else {
|
|
4054
|
-
|
|
4061
|
+
const btn = document.getElementById(this.cancelButtonId);
|
|
4055
4062
|
if (btn) {
|
|
4056
4063
|
btn.click();
|
|
4057
4064
|
}
|
|
4058
4065
|
}
|
|
4059
4066
|
}
|
|
4060
4067
|
ok() {
|
|
4061
|
-
|
|
4068
|
+
const event = new ValidEventArgs();
|
|
4062
4069
|
this.onValidating.emit(event);
|
|
4063
4070
|
if (!event.valid)
|
|
4064
4071
|
return;
|
|
@@ -4070,13 +4077,13 @@ class ZekModal extends CoreComponent {
|
|
|
4070
4077
|
e.preventDefault();
|
|
4071
4078
|
this.ok();
|
|
4072
4079
|
}
|
|
4073
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekModal, deps: [
|
|
4074
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekModal, selector: "zek-modal", inputs: { id: "id", model: "model", showOk: "showOk", disabledOk: "disabledOk", showCancel: "showCancel", autoHide: "autoHide", title: "title", text: "text", icon: "icon", okButtonText: "okButtonText", componentType: "componentType", size: "size", large: "large", xl: "xl", scrollable: "scrollable", fullscreen: "fullscreen", showHeader: "showHeader", showFooter: "showFooter" }, outputs: { onShown: "onShown", onHidden: "onHidden", onOk: "onOk", onValidating: "onValidating" }, usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$
|
|
4080
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4081
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekModal, selector: "zek-modal", inputs: { id: "id", model: "model", showOk: "showOk", disabledOk: "disabledOk", showCancel: "showCancel", autoHide: "autoHide", title: "title", text: "text", icon: "icon", okButtonText: "okButtonText", componentType: "componentType", size: "size", large: "large", xl: "xl", scrollable: "scrollable", fullscreen: "fullscreen", showHeader: "showHeader", showFooter: "showFooter" }, outputs: { onShown: "onShown", onHidden: "onHidden", onOk: "onOk", onValidating: "onValidating" }, usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
4075
4082
|
}
|
|
4076
4083
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekModal, decorators: [{
|
|
4077
4084
|
type: Component,
|
|
4078
4085
|
args: [{ selector: 'zek-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
4079
|
-
}], ctorParameters: () => [
|
|
4086
|
+
}], ctorParameters: () => [], propDecorators: { id: [{
|
|
4080
4087
|
type: Input
|
|
4081
4088
|
}], model: [{
|
|
4082
4089
|
type: Input
|
|
@@ -4121,81 +4128,96 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
4121
4128
|
}], onValidating: [{
|
|
4122
4129
|
type: Output
|
|
4123
4130
|
}] } });
|
|
4131
|
+
/**
|
|
4132
|
+
* @deprecated Please use ZekModal
|
|
4133
|
+
*/
|
|
4124
4134
|
class ZekDeleteModal extends ZekModal {
|
|
4125
|
-
constructor(
|
|
4126
|
-
super(
|
|
4135
|
+
constructor() {
|
|
4136
|
+
super();
|
|
4127
4137
|
this.icon = 'fa-solid fa-trash';
|
|
4128
|
-
translate.get('Action.Delete').subscribe((res) => this.title = res);
|
|
4129
|
-
translate.get('Alert.DeleteQuestion').subscribe((res) => this.text = res);
|
|
4138
|
+
this.translate.get('Action.Delete').subscribe((res) => this.title = res);
|
|
4139
|
+
this.translate.get('Alert.DeleteQuestion').subscribe((res) => this.text = res);
|
|
4130
4140
|
this.componentType = ComponentType.Delete;
|
|
4131
4141
|
}
|
|
4132
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekDeleteModal, deps: [
|
|
4133
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekDeleteModal, selector: "zek-delete-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$
|
|
4142
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekDeleteModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4143
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekDeleteModal, selector: "zek-delete-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
4134
4144
|
}
|
|
4135
4145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekDeleteModal, decorators: [{
|
|
4136
4146
|
type: Component,
|
|
4137
4147
|
args: [{ selector: 'zek-delete-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
4138
|
-
}], ctorParameters: () => [
|
|
4148
|
+
}], ctorParameters: () => [] });
|
|
4149
|
+
/**
|
|
4150
|
+
* @deprecated Please use ZekModal
|
|
4151
|
+
*/
|
|
4139
4152
|
class ZekApproveModal extends ZekModal {
|
|
4140
|
-
constructor(
|
|
4141
|
-
super(
|
|
4153
|
+
constructor() {
|
|
4154
|
+
super();
|
|
4142
4155
|
this.icon = 'fa-solid fa-thumbs-up';
|
|
4143
|
-
translate.get('Action.Approve').subscribe((res) => this.title = res);
|
|
4144
|
-
translate.get('Alert.ApproveQuestion').subscribe((res) => this.text = res);
|
|
4156
|
+
this.translate.get('Action.Approve').subscribe((res) => this.title = res);
|
|
4157
|
+
this.translate.get('Alert.ApproveQuestion').subscribe((res) => this.text = res);
|
|
4145
4158
|
this.componentType = ComponentType.Success;
|
|
4146
4159
|
}
|
|
4147
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekApproveModal, deps: [
|
|
4148
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekApproveModal, selector: "zek-approve-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$
|
|
4160
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekApproveModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4161
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekApproveModal, selector: "zek-approve-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
4149
4162
|
}
|
|
4150
4163
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekApproveModal, decorators: [{
|
|
4151
4164
|
type: Component,
|
|
4152
4165
|
args: [{ selector: 'zek-approve-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
4153
|
-
}], ctorParameters: () => [
|
|
4166
|
+
}], ctorParameters: () => [] });
|
|
4167
|
+
/**
|
|
4168
|
+
* @deprecated Please use ZekModal
|
|
4169
|
+
*/
|
|
4154
4170
|
class ZekSubmitModal extends ZekModal {
|
|
4155
|
-
constructor(
|
|
4156
|
-
super(
|
|
4171
|
+
constructor() {
|
|
4172
|
+
super();
|
|
4157
4173
|
this.icon = 'fa-solid fa-thumbs-up';
|
|
4158
|
-
translate.get('Action.Submit').subscribe((res) => this.title = res);
|
|
4159
|
-
translate.get('Alert.SubmitQuestion').subscribe((res) => this.text = res);
|
|
4174
|
+
this.translate.get('Action.Submit').subscribe((res) => this.title = res);
|
|
4175
|
+
this.translate.get('Alert.SubmitQuestion').subscribe((res) => this.text = res);
|
|
4160
4176
|
this.componentType = ComponentType.Success;
|
|
4161
4177
|
}
|
|
4162
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSubmitModal, deps: [
|
|
4163
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSubmitModal, selector: "zek-submit-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$
|
|
4178
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSubmitModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4179
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSubmitModal, selector: "zek-submit-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
4164
4180
|
}
|
|
4165
4181
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSubmitModal, decorators: [{
|
|
4166
4182
|
type: Component,
|
|
4167
4183
|
args: [{ selector: 'zek-submit-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
4168
|
-
}], ctorParameters: () => [
|
|
4184
|
+
}], ctorParameters: () => [] });
|
|
4185
|
+
/**
|
|
4186
|
+
* @deprecated Please use ZekModal
|
|
4187
|
+
*/
|
|
4169
4188
|
class ZekDisapproveModal extends ZekModal {
|
|
4170
|
-
constructor(
|
|
4171
|
-
super(
|
|
4189
|
+
constructor() {
|
|
4190
|
+
super();
|
|
4172
4191
|
this.icon = 'fa-solid fa-thumbs-down';
|
|
4173
|
-
translate.get('Action.Disapprove').subscribe((res) => this.title = res);
|
|
4174
|
-
translate.get('Alert.DisapproveQuestion').subscribe((res) => this.text = res);
|
|
4192
|
+
this.translate.get('Action.Disapprove').subscribe((res) => this.title = res);
|
|
4193
|
+
this.translate.get('Alert.DisapproveQuestion').subscribe((res) => this.text = res);
|
|
4175
4194
|
this.componentType = ComponentType.Delete;
|
|
4176
4195
|
}
|
|
4177
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekDisapproveModal, deps: [
|
|
4178
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekDisapproveModal, selector: "zek-disapprove-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$
|
|
4196
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekDisapproveModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4197
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekDisapproveModal, selector: "zek-disapprove-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
4179
4198
|
}
|
|
4180
4199
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekDisapproveModal, decorators: [{
|
|
4181
4200
|
type: Component,
|
|
4182
4201
|
args: [{ selector: 'zek-disapprove-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
4183
|
-
}], ctorParameters: () => [
|
|
4202
|
+
}], ctorParameters: () => [] });
|
|
4203
|
+
/**
|
|
4204
|
+
* @deprecated Please use ZekModal
|
|
4205
|
+
*/
|
|
4184
4206
|
class ZekRestoreModal extends ZekModal {
|
|
4185
|
-
constructor(
|
|
4186
|
-
super(
|
|
4207
|
+
constructor() {
|
|
4208
|
+
super();
|
|
4187
4209
|
this.icon = 'fa-solid fa-rotate-right';
|
|
4188
|
-
translate.get('Action.Restore').subscribe((res) => this.title = res);
|
|
4189
|
-
translate.get('Action.RestoreQuestion').subscribe((res) => this.text = res);
|
|
4210
|
+
this.translate.get('Action.Restore').subscribe((res) => this.title = res);
|
|
4211
|
+
this.translate.get('Action.RestoreQuestion').subscribe((res) => this.text = res);
|
|
4190
4212
|
this.componentType = ComponentType.Success;
|
|
4191
4213
|
}
|
|
4192
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekRestoreModal, deps: [
|
|
4193
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekRestoreModal, selector: "zek-restore-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$
|
|
4214
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekRestoreModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4215
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekRestoreModal, selector: "zek-restore-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
4194
4216
|
}
|
|
4195
4217
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekRestoreModal, decorators: [{
|
|
4196
4218
|
type: Component,
|
|
4197
4219
|
args: [{ selector: 'zek-restore-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
4198
|
-
}], ctorParameters: () => [
|
|
4220
|
+
}], ctorParameters: () => [] });
|
|
4199
4221
|
|
|
4200
4222
|
class ZekFilterModal extends ZekModal {
|
|
4201
4223
|
constructor() {
|
|
@@ -4206,7 +4228,7 @@ class ZekFilterModal extends ZekModal {
|
|
|
4206
4228
|
this.onReset.emit();
|
|
4207
4229
|
}
|
|
4208
4230
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekFilterModal, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
4209
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekFilterModal, selector: "zek-filter-modal", outputs: { onReset: "onReset" }, usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{ 'Action.Filter' | translate }}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"ok()\"><i class=\"fa-solid fa-filter\"></i> {{ 'Action.Filter' | translate }}</button>\r\n <button *ngIf=\"showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"modal-cancel-button-{{elementId}}\" data-bs-dismiss=\"modal\"><i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}</button>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"reset()\"><i class=\"fa-solid fa-xmark\"></i> {{ 'Action.Reset' | translate }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$
|
|
4231
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekFilterModal, selector: "zek-filter-modal", outputs: { onReset: "onReset" }, usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{ 'Action.Filter' | translate }}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"ok()\"><i class=\"fa-solid fa-filter\"></i> {{ 'Action.Filter' | translate }}</button>\r\n <button *ngIf=\"showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"modal-cancel-button-{{elementId}}\" data-bs-dismiss=\"modal\"><i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}</button>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"reset()\"><i class=\"fa-solid fa-xmark\"></i> {{ 'Action.Reset' | translate }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
4210
4232
|
}
|
|
4211
4233
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekFilterModal, decorators: [{
|
|
4212
4234
|
type: Component,
|
|
@@ -4225,7 +4247,7 @@ class ZekSumModal {
|
|
|
4225
4247
|
}
|
|
4226
4248
|
}
|
|
4227
4249
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSumModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4228
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSumModal, selector: "zek-sum-modal", inputs: { model: "model" }, viewQueries: [{ propertyName: "modal", first: true, predicate: ["sumModal"], descendants: true }], ngImport: i0, template: "<zek-modal #sumModal [showCancel]=\"false\" [title]=\"'Action.Sum' | translate\">\r\n <table class=\"table table-striped table-borderless table-hover\">\r\n <tbody>\r\n <tr *ngFor=\"let item of model\">\r\n <td class=\"w-75\">{{item.key}}</td>\r\n <td class=\"w-25\">\r\n <ng-container *ngIf=\"item.key != 'Count'; else elseBlock\">{{item.value | number:'1.2' }}</ng-container>\r\n <ng-template #elseBlock>{{item.value}}</ng-template>\r\n </td>\r\n <tr>\r\n </tbody>\r\n </table>\r\n</zek-modal>", dependencies: [{ kind: "directive", type: i1$
|
|
4250
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSumModal, selector: "zek-sum-modal", inputs: { model: "model" }, viewQueries: [{ propertyName: "modal", first: true, predicate: ["sumModal"], descendants: true }], ngImport: i0, template: "<zek-modal #sumModal [showCancel]=\"false\" [title]=\"'Action.Sum' | translate\">\r\n <table class=\"table table-striped table-borderless table-hover\">\r\n <tbody>\r\n <tr *ngFor=\"let item of model\">\r\n <td class=\"w-75\">{{item.key}}</td>\r\n <td class=\"w-25\">\r\n <ng-container *ngIf=\"item.key != 'Count'; else elseBlock\">{{item.value | number:'1.2' }}</ng-container>\r\n <ng-template #elseBlock>{{item.value}}</ng-template>\r\n </td>\r\n <tr>\r\n </tbody>\r\n </table>\r\n</zek-modal>", dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ZekModal, selector: "zek-modal", inputs: ["id", "model", "showOk", "disabledOk", "showCancel", "autoHide", "title", "text", "icon", "okButtonText", "componentType", "size", "large", "xl", "scrollable", "fullscreen", "showHeader", "showFooter"], outputs: ["onShown", "onHidden", "onOk", "onValidating"] }, { kind: "pipe", type: i1$2.DecimalPipe, name: "number" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
4229
4251
|
}
|
|
4230
4252
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSumModal, decorators: [{
|
|
4231
4253
|
type: Component,
|
|
@@ -4317,7 +4339,7 @@ class ZekSafePipe {
|
|
|
4317
4339
|
return this.sanitizer.bypassSecurityTrustHtml(value);
|
|
4318
4340
|
}
|
|
4319
4341
|
}
|
|
4320
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSafePipe, deps: [{ token: i1$
|
|
4342
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSafePipe, deps: [{ token: i1$3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
4321
4343
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ZekSafePipe, isStandalone: true, name: "safe" }); }
|
|
4322
4344
|
}
|
|
4323
4345
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSafePipe, decorators: [{
|
|
@@ -4326,11 +4348,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
4326
4348
|
standalone: true,
|
|
4327
4349
|
name: 'safe'
|
|
4328
4350
|
}]
|
|
4329
|
-
}], ctorParameters: () => [{ type: i1$
|
|
4351
|
+
}], ctorParameters: () => [{ type: i1$3.DomSanitizer }] });
|
|
4330
4352
|
|
|
4331
4353
|
class ZekFileViewer extends CoreComponent {
|
|
4332
4354
|
show(url, extension) {
|
|
4333
|
-
|
|
4355
|
+
const ext = extension || FileHelper.getExtension(url);
|
|
4334
4356
|
switch (ext) {
|
|
4335
4357
|
case '.docx':
|
|
4336
4358
|
case '.doc':
|
|
@@ -4362,7 +4384,7 @@ class ZekFileViewer extends CoreComponent {
|
|
|
4362
4384
|
}
|
|
4363
4385
|
}
|
|
4364
4386
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekFileViewer, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
4365
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekFileViewer, isStandalone: true, selector: "zek-file-viewer", providers: [], viewQueries: [{ propertyName: "viewModal", first: true, predicate: ["viewModal"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<zek-modal #viewModal [fullscreen]=\"true\" [showHeader]=\"true\" [showFooter]=\"false\">\r\n <ng-container *ngIf=\"src\">\r\n <iframe id=\"office\" width=\"100%\" height=\"99%\" frameborder=\"0\" marginheight=\"0\" marginwidth=\"0\" scrolling=\"no\" allowfullscreen=\"allowfullscreen\"\r\n [src]=\"src | safe:'resourceUrl'\">\r\n </iframe>\r\n </ng-container>\r\n</zek-modal>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
4387
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekFileViewer, isStandalone: true, selector: "zek-file-viewer", providers: [], viewQueries: [{ propertyName: "viewModal", first: true, predicate: ["viewModal"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<zek-modal #viewModal [fullscreen]=\"true\" [showHeader]=\"true\" [showFooter]=\"false\">\r\n <ng-container *ngIf=\"src\">\r\n <iframe id=\"office\" width=\"100%\" height=\"99%\" frameborder=\"0\" marginheight=\"0\" marginwidth=\"0\" scrolling=\"no\" allowfullscreen=\"allowfullscreen\"\r\n [src]=\"src | safe:'resourceUrl'\">\r\n </iframe>\r\n </ng-container>\r\n</zek-modal>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ZekModalModule }, { kind: "component", type: ZekModal, selector: "zek-modal", inputs: ["id", "model", "showOk", "disabledOk", "showCancel", "autoHide", "title", "text", "icon", "okButtonText", "componentType", "size", "large", "xl", "scrollable", "fullscreen", "showHeader", "showFooter"], outputs: ["onShown", "onHidden", "onOk", "onValidating"] }, { kind: "pipe", type: ZekSafePipe, name: "safe" }] }); }
|
|
4366
4388
|
}
|
|
4367
4389
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekFileViewer, decorators: [{
|
|
4368
4390
|
type: Component,
|
|
@@ -4454,7 +4476,7 @@ class ZekGoogleLoginButton extends CoreComponent {
|
|
|
4454
4476
|
});
|
|
4455
4477
|
}
|
|
4456
4478
|
renderButton() {
|
|
4457
|
-
|
|
4479
|
+
const options = { theme: "outline", size: "large" };
|
|
4458
4480
|
if (this._width)
|
|
4459
4481
|
options.width = this._width;
|
|
4460
4482
|
if (this._text)
|
|
@@ -4643,7 +4665,7 @@ class ZekGridToolbar {
|
|
|
4643
4665
|
this.onRestore.emit(this.model);
|
|
4644
4666
|
}
|
|
4645
4667
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekGridToolbar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4646
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekGridToolbar, isStandalone: true, selector: "zek-grid-toolbar", inputs: { model: "model", showEdit: "showEdit", editEnabled: "editEnabled", showDelete: "showDelete", deleteEnabled: "deleteEnabled", showRestore: "showRestore", restoreEnabled: "restoreEnabled", approveText: "approveText", showApprove: "showApprove", approveEnabled: "approveEnabled", disapproveText: "disapproveText", showDisapprove: "showDisapprove", disapproveEnabled: "disapproveEnabled" }, outputs: { onEdit: "onEdit", onDelete: "onDelete", onApprove: "onApprove", onDisapprove: "onDisapprove", onRestore: "onRestore" }, ngImport: i0, template: "<div class=\"btn-group btn-group-sm\" role=\"group\" aria-label=\"Table action group\">\r\n <button *ngIf=\"showEdit\" (click)=\"edit()\" type=\"button\" class=\"btn btn-secondary\" title=\"{{ 'Action.Edit' | translate }}\" [disabled]=\"!editEnabled\">\r\n <i class=\"fa-solid fa-pencil\"></i>\r\n </button>\r\n <button *ngIf=\"showApprove\" (click)=\"approve()\" type=\"button\" class=\"btn btn-success\" title=\"{{ approveText | translate }}\" [disabled]=\"!approveEnabled\">\r\n <i class=\"fa-solid fa-thumbs-up\"></i>\r\n </button>\r\n <button *ngIf=\"showDisapprove\" (click)=\"disapprove()\" type=\"button\" class=\"btn btn-danger\" title=\"{{ disapproveText | translate }}\" [disabled]=\"!disapproveEnabled\">\r\n <i class=\"fa-solid fa-thumbs-down\"></i>\r\n </button>\r\n <button *ngIf=\"showDelete\" (click)=\"delete()\" type=\"button\" class=\"btn btn-danger\" title=\"{{ 'Action.Delete' | translate }}\" [disabled]=\"!deleteEnabled\">\r\n <i class=\"fa-solid fa-trash\"></i>\r\n </button>\r\n <button *ngIf=\"showRestore\" (click)=\"restore()\" type=\"button\" class=\"btn btn-success\" title=\"{{ 'Action.Restore' | translate }}\" [disabled]=\"!restoreEnabled\">\r\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\r\n </button>\r\n <ng-content></ng-content>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
4668
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekGridToolbar, isStandalone: true, selector: "zek-grid-toolbar", inputs: { model: "model", showEdit: "showEdit", editEnabled: "editEnabled", showDelete: "showDelete", deleteEnabled: "deleteEnabled", showRestore: "showRestore", restoreEnabled: "restoreEnabled", approveText: "approveText", showApprove: "showApprove", approveEnabled: "approveEnabled", disapproveText: "disapproveText", showDisapprove: "showDisapprove", disapproveEnabled: "disapproveEnabled" }, outputs: { onEdit: "onEdit", onDelete: "onDelete", onApprove: "onApprove", onDisapprove: "onDisapprove", onRestore: "onRestore" }, ngImport: i0, template: "<div class=\"btn-group btn-group-sm\" role=\"group\" aria-label=\"Table action group\">\r\n <button *ngIf=\"showEdit\" (click)=\"edit()\" type=\"button\" class=\"btn btn-secondary\" title=\"{{ 'Action.Edit' | translate }}\" [disabled]=\"!editEnabled\">\r\n <i class=\"fa-solid fa-pencil\"></i>\r\n </button>\r\n <button *ngIf=\"showApprove\" (click)=\"approve()\" type=\"button\" class=\"btn btn-success\" title=\"{{ approveText | translate }}\" [disabled]=\"!approveEnabled\">\r\n <i class=\"fa-solid fa-thumbs-up\"></i>\r\n </button>\r\n <button *ngIf=\"showDisapprove\" (click)=\"disapprove()\" type=\"button\" class=\"btn btn-danger\" title=\"{{ disapproveText | translate }}\" [disabled]=\"!disapproveEnabled\">\r\n <i class=\"fa-solid fa-thumbs-down\"></i>\r\n </button>\r\n <button *ngIf=\"showDelete\" (click)=\"delete()\" type=\"button\" class=\"btn btn-danger\" title=\"{{ 'Action.Delete' | translate }}\" [disabled]=\"!deleteEnabled\">\r\n <i class=\"fa-solid fa-trash\"></i>\r\n </button>\r\n <button *ngIf=\"showRestore\" (click)=\"restore()\" type=\"button\" class=\"btn btn-success\" title=\"{{ 'Action.Restore' | translate }}\" [disabled]=\"!restoreEnabled\">\r\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\r\n </button>\r\n <ng-content></ng-content>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
4647
4669
|
}
|
|
4648
4670
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekGridToolbar, decorators: [{
|
|
4649
4671
|
type: Component,
|
|
@@ -4688,7 +4710,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
4688
4710
|
|
|
4689
4711
|
class ZekGridToolbarBar extends ZekGridToolbar {
|
|
4690
4712
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekGridToolbarBar, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
4691
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekGridToolbarBar, isStandalone: true, selector: "zek-grid-toolbar-bar", usesInheritance: true, ngImport: i0, template: "<button type=\"button\" class=\"btn btn-light btn-sm\" data-bs-toggle=\"dropdown\">\r\n <i class=\"fa-solid fa-ellipsis\"></i>\r\n</button>\r\n<ul class=\"dropdown-menu\">\r\n <li><button *ngIf=\"showEdit\" (click)=\"edit()\" type=\"button\" class=\"dropdown-item\" [disabled]=\"!editEnabled\">\r\n <i class=\"fa-solid fa-pencil\"></i> {{ 'Action.Edit' | translate }}\r\n </button></li>\r\n <li><button *ngIf=\"showApprove\" (click)=\"approve()\" type=\"button\" class=\"dropdown-item\" [disabled]=\"!approveEnabled\">\r\n <i class=\"fa-solid fa-thumbs-up\"></i> {{ approveText | translate }}\r\n </button></li>\r\n <li><button *ngIf=\"showDisapprove\" (click)=\"disapprove()\" type=\"button\" class=\"dropdown-item\" [disabled]=\"!disapproveEnabled\">\r\n <i class=\"fa-solid fa-thumbs-down\"></i> {{ disapproveText | translate }}\r\n </button></li>\r\n <li><button *ngIf=\"showDelete\" (click)=\"delete()\" type=\"button\" class=\"dropdown-item\" [disabled]=\"!deleteEnabled\">\r\n <i class=\"fa-solid fa-trash\"></i> {{ 'Action.Delete' | translate }}\r\n </button></li>\r\n <li><button *ngIf=\"showRestore\" (click)=\"restore()\" type=\"button\" class=\"dropdown-item\" [disabled]=\"!restoreEnabled\">\r\n <i class=\"fa-solid fa-clock-rotate-left\"></i> {{ 'Action.Restore' | translate }}\r\n </button></li>\r\n <ng-content></ng-content>\r\n</ul>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
4713
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekGridToolbarBar, isStandalone: true, selector: "zek-grid-toolbar-bar", usesInheritance: true, ngImport: i0, template: "<button type=\"button\" class=\"btn btn-light btn-sm\" data-bs-toggle=\"dropdown\">\r\n <i class=\"fa-solid fa-ellipsis\"></i>\r\n</button>\r\n<ul class=\"dropdown-menu\">\r\n <li><button *ngIf=\"showEdit\" (click)=\"edit()\" type=\"button\" class=\"dropdown-item\" [disabled]=\"!editEnabled\">\r\n <i class=\"fa-solid fa-pencil\"></i> {{ 'Action.Edit' | translate }}\r\n </button></li>\r\n <li><button *ngIf=\"showApprove\" (click)=\"approve()\" type=\"button\" class=\"dropdown-item\" [disabled]=\"!approveEnabled\">\r\n <i class=\"fa-solid fa-thumbs-up\"></i> {{ approveText | translate }}\r\n </button></li>\r\n <li><button *ngIf=\"showDisapprove\" (click)=\"disapprove()\" type=\"button\" class=\"dropdown-item\" [disabled]=\"!disapproveEnabled\">\r\n <i class=\"fa-solid fa-thumbs-down\"></i> {{ disapproveText | translate }}\r\n </button></li>\r\n <li><button *ngIf=\"showDelete\" (click)=\"delete()\" type=\"button\" class=\"dropdown-item\" [disabled]=\"!deleteEnabled\">\r\n <i class=\"fa-solid fa-trash\"></i> {{ 'Action.Delete' | translate }}\r\n </button></li>\r\n <li><button *ngIf=\"showRestore\" (click)=\"restore()\" type=\"button\" class=\"dropdown-item\" [disabled]=\"!restoreEnabled\">\r\n <i class=\"fa-solid fa-clock-rotate-left\"></i> {{ 'Action.Restore' | translate }}\r\n </button></li>\r\n <ng-content></ng-content>\r\n</ul>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
4692
4714
|
}
|
|
4693
4715
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekGridToolbarBar, decorators: [{
|
|
4694
4716
|
type: Component,
|
|
@@ -4768,7 +4790,7 @@ class ZekListToolbar {
|
|
|
4768
4790
|
this.onExport.emit(1);
|
|
4769
4791
|
}
|
|
4770
4792
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekListToolbar, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4771
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekListToolbar, isStandalone: true, selector: "zek-list-toolbar", inputs: { isFiltered: "isFiltered", showCreate: "showCreate", showFilter: "showFilter", showPrint: "showPrint", showSum: "showSum", showExport: "showExport" }, outputs: { onRefresh: "onRefresh", onFilter: "onFilter", onPrint: "onPrint", onSum: "onSum", onExport: "onExport" }, ngImport: i0, template: "<div class=\"btn-toolbar\" role=\"toolbar\" aria-label=\"Toolbar\">\r\n <div class=\"btn-group me-2\" role=\"group\" aria-label=\"Action group\">\r\n <button *ngIf=\"showCreate\" type=\"button\" class=\"btn btn-primary\" (click)=\"create()\"><i class=\"fa-solid fa-plus\"></i> {{ 'Action.Create' | translate }}</button>\r\n </div>\r\n <div class=\"btn-group me-2\" role=\"group\" aria-label=\"Filter group\">\r\n <button *ngIf=\"showFilter\" type=\"button\" class=\"btn btn-secondary\" [ngClass]=\"{'btn-outline-success': isFiltered, 'btn-secondary': !isFiltered }\" (click)=\"filter()\" data-bs-toggle0=\"modal\" data-bs-backdrop0=\"static\" data-bs-target0=\"#filter-modal\"><i class=\"fa-solid fa-filter\"></i> {{ 'Action.Filter' | translate }}</button>\r\n <button type=\"button\" class=\"btn btn-secondary\" title=\"{{ 'Action.Refresh' | translate }}\" (click)=\"refresh()\"><i class=\"fa-solid fa-rotate\"></i></button>\r\n </div>\r\n <div *ngIf=\"showPrint\" class=\"btn-group me-2\" role=\"group\" aria-label=\"Print group\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"print(printType.Pdf)\"><i class=\"fa-solid fa-print\"></i> {{ 'Action.Print' | translate }}</button>\r\n <div class=\"btn-group\" role=\"group\">\r\n <button type=\"button\" class=\"btn btn-secondary dropdown-toggle dropdown-toggle-split\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <span class=\"visually-hidden\">Toggle Dropdown</span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li><button type=\"button\" class=\"dropdown-item\" (click)=\"print(printType.Show)\"><i class=\"fa-solid fa-print\"></i> {{ 'Action.Print' | translate }}</button></li>\r\n <li><button type=\"button\" class=\"dropdown-item\" (click)=\"print(printType.Pdf)\"><i class=\"fa-solid fa-file-pdf\"></i> {{ 'Action.Print' | translate }} PDF</button></li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div *ngIf=\"showSum\" class=\"btn-group me-2\" role=\"group\" aria-label=\"Sum group\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"sum()\"><i class=\"fa-solid fa-sigma\"></i> {{ 'Action.Sum' | translate }}</button>\r\n </div>\r\n <div *ngIf=\"showExport\" class=\"btn-group me-2\" role=\"group\" aria-label=\"Export group\">\r\n <div class=\"btn-group\" role=\"group\">\r\n <button id=\"btn-group-export\" type=\"button\" class=\"btn btn-secondary dropdown-toggle\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\"><i class=\"fa-solid fa-download\"></i> {{ 'Action.Export' | translate }}</button>\r\n <ul class=\"dropdown-menu\" aria-labelledby=\"btn-group-export\">\r\n <li><a class=\"dropdown-item\" href=\"javascript:void(0)\" (click)=\"exportExcel()\"><i class=\"fa-solid fa-file-excel\"></i> Excel</a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
4793
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekListToolbar, isStandalone: true, selector: "zek-list-toolbar", inputs: { isFiltered: "isFiltered", showCreate: "showCreate", showFilter: "showFilter", showPrint: "showPrint", showSum: "showSum", showExport: "showExport" }, outputs: { onRefresh: "onRefresh", onFilter: "onFilter", onPrint: "onPrint", onSum: "onSum", onExport: "onExport" }, ngImport: i0, template: "<div class=\"btn-toolbar\" role=\"toolbar\" aria-label=\"Toolbar\">\r\n <div class=\"btn-group me-2\" role=\"group\" aria-label=\"Action group\">\r\n <button *ngIf=\"showCreate\" type=\"button\" class=\"btn btn-primary\" (click)=\"create()\"><i class=\"fa-solid fa-plus\"></i> {{ 'Action.Create' | translate }}</button>\r\n </div>\r\n <div class=\"btn-group me-2\" role=\"group\" aria-label=\"Filter group\">\r\n <button *ngIf=\"showFilter\" type=\"button\" class=\"btn btn-secondary\" [ngClass]=\"{'btn-outline-success': isFiltered, 'btn-secondary': !isFiltered }\" (click)=\"filter()\" data-bs-toggle0=\"modal\" data-bs-backdrop0=\"static\" data-bs-target0=\"#filter-modal\"><i class=\"fa-solid fa-filter\"></i> {{ 'Action.Filter' | translate }}</button>\r\n <button type=\"button\" class=\"btn btn-secondary\" title=\"{{ 'Action.Refresh' | translate }}\" (click)=\"refresh()\"><i class=\"fa-solid fa-rotate\"></i></button>\r\n </div>\r\n <div *ngIf=\"showPrint\" class=\"btn-group me-2\" role=\"group\" aria-label=\"Print group\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"print(printType.Pdf)\"><i class=\"fa-solid fa-print\"></i> {{ 'Action.Print' | translate }}</button>\r\n <div class=\"btn-group\" role=\"group\">\r\n <button type=\"button\" class=\"btn btn-secondary dropdown-toggle dropdown-toggle-split\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <span class=\"visually-hidden\">Toggle Dropdown</span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li><button type=\"button\" class=\"dropdown-item\" (click)=\"print(printType.Show)\"><i class=\"fa-solid fa-print\"></i> {{ 'Action.Print' | translate }}</button></li>\r\n <li><button type=\"button\" class=\"dropdown-item\" (click)=\"print(printType.Pdf)\"><i class=\"fa-solid fa-file-pdf\"></i> {{ 'Action.Print' | translate }} PDF</button></li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div *ngIf=\"showSum\" class=\"btn-group me-2\" role=\"group\" aria-label=\"Sum group\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"sum()\"><i class=\"fa-solid fa-sigma\"></i> {{ 'Action.Sum' | translate }}</button>\r\n </div>\r\n <div *ngIf=\"showExport\" class=\"btn-group me-2\" role=\"group\" aria-label=\"Export group\">\r\n <div class=\"btn-group\" role=\"group\">\r\n <button id=\"btn-group-export\" type=\"button\" class=\"btn btn-secondary dropdown-toggle\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\"><i class=\"fa-solid fa-download\"></i> {{ 'Action.Export' | translate }}</button>\r\n <ul class=\"dropdown-menu\" aria-labelledby=\"btn-group-export\">\r\n <li><a class=\"dropdown-item\" href=\"javascript:void(0)\" (click)=\"exportExcel()\"><i class=\"fa-solid fa-file-excel\"></i> Excel</a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
4772
4794
|
}
|
|
4773
4795
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekListToolbar, decorators: [{
|
|
4774
4796
|
type: Component,
|
|
@@ -4869,7 +4891,7 @@ class ZekLoading {
|
|
|
4869
4891
|
<div *ngIf="show" id="loading" class="progress">
|
|
4870
4892
|
<div class="progress-bar progress-bar-striped progress-bar-animated bg-danger" role="progressbar" style="width:100%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div>
|
|
4871
4893
|
</div>
|
|
4872
|
-
`, isInline: true, styles: ["#loading{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:fixed;inset:0;z-index:10000;background-color:#00000080;outline:0;height:3px}#loading>.progress-bar{-webkit-transition:none!important;transition:none!important}\n"], dependencies: [{ kind: "directive", type: i1$
|
|
4894
|
+
`, isInline: true, styles: ["#loading{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:fixed;inset:0;z-index:10000;background-color:#00000080;outline:0;height:3px}#loading>.progress-bar{-webkit-transition:none!important;transition:none!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
4873
4895
|
}
|
|
4874
4896
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekLoading, decorators: [{
|
|
4875
4897
|
type: Component,
|
|
@@ -4914,7 +4936,7 @@ class NumericDirective {
|
|
|
4914
4936
|
return this._digits;
|
|
4915
4937
|
}
|
|
4916
4938
|
set digits(v) {
|
|
4917
|
-
|
|
4939
|
+
const tmp = MathHelper.clamp(Convert.toNumber(v) || 0, 0, 29);
|
|
4918
4940
|
this._digits = tmp;
|
|
4919
4941
|
}
|
|
4920
4942
|
get negative() {
|
|
@@ -4928,7 +4950,7 @@ class NumericDirective {
|
|
|
4928
4950
|
return String(value).match(new RegExp(/^-?\d+$/));
|
|
4929
4951
|
}
|
|
4930
4952
|
else {
|
|
4931
|
-
|
|
4953
|
+
const regExpString = "^-?\\s*((\\d+(\\.\\d{0," +
|
|
4932
4954
|
this._digits +
|
|
4933
4955
|
"})?)|((\\d*(\\.\\d{1," +
|
|
4934
4956
|
this._digits +
|
|
@@ -4941,7 +4963,7 @@ class NumericDirective {
|
|
|
4941
4963
|
return String(value).match(new RegExp(/^\d+$/));
|
|
4942
4964
|
}
|
|
4943
4965
|
else {
|
|
4944
|
-
|
|
4966
|
+
const regExpString = "^\\s*((\\d+(\\.\\d{0," +
|
|
4945
4967
|
this._digits +
|
|
4946
4968
|
"})?)|((\\d*(\\.\\d{1," +
|
|
4947
4969
|
this._digits +
|
|
@@ -4951,8 +4973,8 @@ class NumericDirective {
|
|
|
4951
4973
|
}
|
|
4952
4974
|
run(oldValue) {
|
|
4953
4975
|
setTimeout(() => {
|
|
4954
|
-
|
|
4955
|
-
|
|
4976
|
+
const currentValue = this.el.nativeElement.value;
|
|
4977
|
+
const allowNegative = this._negative;
|
|
4956
4978
|
if (allowNegative) {
|
|
4957
4979
|
if (!["", "-"].includes(currentValue) &&
|
|
4958
4980
|
!this.checkAllowNegative(currentValue)) {
|
|
@@ -5009,7 +5031,7 @@ class ZekPageTitle {
|
|
|
5009
5031
|
this._isEditPage = Convert.toBooleanProperty(v);
|
|
5010
5032
|
}
|
|
5011
5033
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekPageTitle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5012
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekPageTitle, isStandalone: true, selector: "zek-page-title", inputs: { icon: "icon", title: "title", isEditPage: "isEditPage", modelId: "modelId" }, ngImport: i0, template: "<h1 class=\"h2 pt-3 pb-2 mb-3 border-bottom\">\r\n <i *ngIf=\"icon\" class=\"{{icon}}\"></i><ng-container *ngIf=\"icon\"> </ng-container>{{ title }} <ng-container *ngIf=\"isEditPage\">\r\n <small class=\"text-muted\" *ngIf=\"modelId && modelId > 0 else elseBlock\">[<ng-container>{{ 'Action.Edit' | translate }}</ng-container>]</small>\r\n <ng-template #elseBlock>\r\n <small class=\"text-muted\">[<ng-container>{{ 'Action.Create' | translate }}</ng-container>]</small>\r\n </ng-template>\r\n </ng-container>\r\n</h1>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
5034
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekPageTitle, isStandalone: true, selector: "zek-page-title", inputs: { icon: "icon", title: "title", isEditPage: "isEditPage", modelId: "modelId" }, ngImport: i0, template: "<h1 class=\"h2 pt-3 pb-2 mb-3 border-bottom\">\r\n <i *ngIf=\"icon\" class=\"{{icon}}\"></i><ng-container *ngIf=\"icon\"> </ng-container>{{ title }} <ng-container *ngIf=\"isEditPage\">\r\n <small class=\"text-muted\" *ngIf=\"modelId && modelId > 0 else elseBlock\">[<ng-container>{{ 'Action.Edit' | translate }}</ng-container>]</small>\r\n <ng-template #elseBlock>\r\n <small class=\"text-muted\">[<ng-container>{{ 'Action.Create' | translate }}</ng-container>]</small>\r\n </ng-template>\r\n </ng-container>\r\n</h1>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
5013
5035
|
}
|
|
5014
5036
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekPageTitle, decorators: [{
|
|
5015
5037
|
type: Component,
|
|
@@ -5051,7 +5073,7 @@ class ZekPager {
|
|
|
5051
5073
|
this.onPageSizeChange.emit(pageSize);
|
|
5052
5074
|
}
|
|
5053
5075
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekPager, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5054
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekPager, isStandalone: true, selector: "zek-pager", inputs: { pager: "pager", showPageSize: "showPageSize", pagerAlign: "pagerAlign" }, outputs: { onPageChange: "onPageChange", onPageSizeChange: "onPageSizeChange" }, ngImport: i0, template: "<div *ngIf=\"pager\" class=\"row\">\r\n <div [ngClass]=\"{ 'col-sm-8': showPageSize, 'col-sm-12': !showPageSize}\">\r\n <nav aria-label=\"Pagination\">\r\n <ul class=\"pagination\" [ngClass]=\"{ 'justify-content-center': pagerAlign === 'center', 'justify-content-end': pagerAlign === 'end'}\">\r\n <li [class.disabled]=\"pager.isFirstPage\" class=\"page-item\">\r\n <a class=\"page-link\" (click)=\"setPage(1)\" href=\"javascript:void(0)\" [attr.aria-disabled]=\"pager.isFirstPage ? 'true' : null\" aria-label=\"First\">\r\n <span aria-hidden=\"true\">««</span>\r\n </a>\r\n </li>\r\n <li [class.disabled]=\"!pager.hasPreviousPage\" class=\"page-item\">\r\n <a class=\"page-link\" (click)=\"setPage(pager.pageNumber - 1)\" href=\"javascript:void(0)\" [attr.aria-disabled]=\"!pager.hasPreviousPage ? 'true' : null\" aria-label=\"Previous\">\r\n <span aria-hidden=\"true\">«</span>\r\n </a>\r\n </li>\r\n <li *ngFor=\"let page of pager.pages\" [class.active]=\"page === pager.pageNumber\" class=\"page-item\"><a class=\"page-link\" (click)=\"setPage(page)\" href=\"javascript:void(0)\">{{page}}</a></li>\r\n <li [class.disabled]=\"!pager.hasNextPage\" class=\"page-item\">\r\n <a class=\"page-link\" (click)=\"setPage(pager.pageNumber + 1)\" href=\"javascript:void(0)\" [attr.aria-disabled]=\"!pager.hasNextPage ? 'true' : null\" aria-label=\"Next\">\r\n <span aria-hidden=\"true\">»</span>\r\n </a>\r\n </li>\r\n <li [class.disabled]=\"pager.isLastPage\" class=\"page-item\">\r\n <a class=\"page-link\" (click)=\"setPage(pager.pageCount)\" href=\"javascript:void(0)\" [attr.aria-disabled]=\"pager.isLastPage ? 'true' : null\" aria-label=\"Last\">\r\n <span aria-hidden=\"true\">»»</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"col-sm-4\" *ngIf=\"showPageSize\">\r\n <div class=\"float-end\">\r\n <div class=\"dropdown\">\r\n <button class=\"btn btn-secondary dropdown-toggle\" type=\"button\" id=\"page-size-button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n {{pager.pageSize}}\r\n </button>\r\n <ul class=\"dropdown-menu dropdown-menu-end\" aria-labelledby=\"page-size-button\">\r\n <li><h6 class=\"dropdown-header\">{{ 'Pagination.PageSize' | translate }}</h6></li>\r\n <li><a class=\"dropdown-item\" [class.active]=\"pager.pageSize === 10\" (click)=\"setPageSize(10)\" href=\"javascript:void(0)\">10</a></li>\r\n <li><a class=\"dropdown-item\" [class.active]=\"pager.pageSize === 20\" (click)=\"setPageSize(20)\" href=\"javascript:void(0)\">20</a></li>\r\n <li><a class=\"dropdown-item\" [class.active]=\"pager.pageSize === 50\" (click)=\"setPageSize(50)\" href=\"javascript:void(0)\">50</a></li>\r\n <li><a class=\"dropdown-item\" [class.active]=\"pager.pageSize === 100\" (click)=\"setPageSize(100)\" href=\"javascript:void(0)\">100</a></li>\r\n <li><a class=\"dropdown-item\" [class.active]=\"pager.pageSize === 500\" (click)=\"setPageSize(500)\" href=\"javascript:void(0)\">500</a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"float-end mt-2\">\r\n {{pager.firstItemOnPage}} - {{pager.lastItemOnPage}} of {{pager.totalItemCount}} \r\n </div>\r\n </div>\r\n</div>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
5076
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekPager, isStandalone: true, selector: "zek-pager", inputs: { pager: "pager", showPageSize: "showPageSize", pagerAlign: "pagerAlign" }, outputs: { onPageChange: "onPageChange", onPageSizeChange: "onPageSizeChange" }, ngImport: i0, template: "<div *ngIf=\"pager\" class=\"row\">\r\n <div [ngClass]=\"{ 'col-sm-8': showPageSize, 'col-sm-12': !showPageSize}\">\r\n <nav aria-label=\"Pagination\">\r\n <ul class=\"pagination\" [ngClass]=\"{ 'justify-content-center': pagerAlign === 'center', 'justify-content-end': pagerAlign === 'end'}\">\r\n <li [class.disabled]=\"pager.isFirstPage\" class=\"page-item\">\r\n <a class=\"page-link\" (click)=\"setPage(1)\" href=\"javascript:void(0)\" [attr.aria-disabled]=\"pager.isFirstPage ? 'true' : null\" aria-label=\"First\">\r\n <span aria-hidden=\"true\">««</span>\r\n </a>\r\n </li>\r\n <li [class.disabled]=\"!pager.hasPreviousPage\" class=\"page-item\">\r\n <a class=\"page-link\" (click)=\"setPage(pager.pageNumber - 1)\" href=\"javascript:void(0)\" [attr.aria-disabled]=\"!pager.hasPreviousPage ? 'true' : null\" aria-label=\"Previous\">\r\n <span aria-hidden=\"true\">«</span>\r\n </a>\r\n </li>\r\n <li *ngFor=\"let page of pager.pages\" [class.active]=\"page === pager.pageNumber\" class=\"page-item\"><a class=\"page-link\" (click)=\"setPage(page)\" href=\"javascript:void(0)\">{{page}}</a></li>\r\n <li [class.disabled]=\"!pager.hasNextPage\" class=\"page-item\">\r\n <a class=\"page-link\" (click)=\"setPage(pager.pageNumber + 1)\" href=\"javascript:void(0)\" [attr.aria-disabled]=\"!pager.hasNextPage ? 'true' : null\" aria-label=\"Next\">\r\n <span aria-hidden=\"true\">»</span>\r\n </a>\r\n </li>\r\n <li [class.disabled]=\"pager.isLastPage\" class=\"page-item\">\r\n <a class=\"page-link\" (click)=\"setPage(pager.pageCount)\" href=\"javascript:void(0)\" [attr.aria-disabled]=\"pager.isLastPage ? 'true' : null\" aria-label=\"Last\">\r\n <span aria-hidden=\"true\">»»</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"col-sm-4\" *ngIf=\"showPageSize\">\r\n <div class=\"float-end\">\r\n <div class=\"dropdown\">\r\n <button class=\"btn btn-secondary dropdown-toggle\" type=\"button\" id=\"page-size-button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n {{pager.pageSize}}\r\n </button>\r\n <ul class=\"dropdown-menu dropdown-menu-end\" aria-labelledby=\"page-size-button\">\r\n <li><h6 class=\"dropdown-header\">{{ 'Pagination.PageSize' | translate }}</h6></li>\r\n <li><a class=\"dropdown-item\" [class.active]=\"pager.pageSize === 10\" (click)=\"setPageSize(10)\" href=\"javascript:void(0)\">10</a></li>\r\n <li><a class=\"dropdown-item\" [class.active]=\"pager.pageSize === 20\" (click)=\"setPageSize(20)\" href=\"javascript:void(0)\">20</a></li>\r\n <li><a class=\"dropdown-item\" [class.active]=\"pager.pageSize === 50\" (click)=\"setPageSize(50)\" href=\"javascript:void(0)\">50</a></li>\r\n <li><a class=\"dropdown-item\" [class.active]=\"pager.pageSize === 100\" (click)=\"setPageSize(100)\" href=\"javascript:void(0)\">100</a></li>\r\n <li><a class=\"dropdown-item\" [class.active]=\"pager.pageSize === 500\" (click)=\"setPageSize(500)\" href=\"javascript:void(0)\">500</a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"float-end mt-2\">\r\n {{pager.firstItemOnPage}} - {{pager.lastItemOnPage}} of {{pager.totalItemCount}} \r\n </div>\r\n </div>\r\n</div>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
5055
5077
|
}
|
|
5056
5078
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekPager, decorators: [{
|
|
5057
5079
|
type: Component,
|
|
@@ -5070,7 +5092,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
5070
5092
|
|
|
5071
5093
|
class ZekFieldValidator {
|
|
5072
5094
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekFieldValidator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5073
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekFieldValidator, isStandalone: true, selector: "zek-field-validator, [zek-field-validator]", inputs: { field: "field" }, host: { properties: { "class": "\"invalid-tooltip\"" } }, ngImport: i0, template: "<ng-container *ngIf=\"field && field.invalid && field.errors && (field.dirty || field.touched || field.formDirective?.submitted)\">\r\n <ng-container *ngIf=\"field.errors.required\">{{ 'Validation.Required' | translate }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.minlength\">{{ 'Validation.MinLengthFormat' | translate:{ value: field.errors.minlength.requiredLength } }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.maxlength\">{{ 'Validation.MaxLengthFormat' | translate:{ value: field.errors.maxlength.requiredLength } }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.min\">{{ 'Validation.Min' | translate:{ value: field.errors.min.min } }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.max\">{{ 'Validation.Max' | translate:{ value: field.errors.min.max } }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.email\">{{ 'Validation.Pattern' | translate }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.pattern\">{{ 'Validation.Pattern' | translate }}</ng-container><!-- {{ field.errors.pattern.requiredPattern }} -->\r\n <ng-container *ngIf=\"field.errors.mismatch\">{{ 'Validation.Mismatch' | translate }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.server\">{{field.errors.server}}</ng-container>\r\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
5095
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekFieldValidator, isStandalone: true, selector: "zek-field-validator, [zek-field-validator]", inputs: { field: "field" }, host: { properties: { "class": "\"invalid-tooltip\"" } }, ngImport: i0, template: "<ng-container *ngIf=\"field && field.invalid && field.errors && (field.dirty || field.touched || field.formDirective?.submitted)\">\r\n <ng-container *ngIf=\"field.errors.required\">{{ 'Validation.Required' | translate }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.minlength\">{{ 'Validation.MinLengthFormat' | translate:{ value: field.errors.minlength.requiredLength } }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.maxlength\">{{ 'Validation.MaxLengthFormat' | translate:{ value: field.errors.maxlength.requiredLength } }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.min\">{{ 'Validation.Min' | translate:{ value: field.errors.min.min } }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.max\">{{ 'Validation.Max' | translate:{ value: field.errors.min.max } }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.email\">{{ 'Validation.Pattern' | translate }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.pattern\">{{ 'Validation.Pattern' | translate }}</ng-container><!-- {{ field.errors.pattern.requiredPattern }} -->\r\n <ng-container *ngIf=\"field.errors.mismatch\">{{ 'Validation.Mismatch' | translate }}</ng-container>\r\n <ng-container *ngIf=\"field.errors.server\">{{field.errors.server}}</ng-container>\r\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
5074
5096
|
}
|
|
5075
5097
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekFieldValidator, decorators: [{
|
|
5076
5098
|
type: Component,
|
|
@@ -5101,7 +5123,7 @@ class ZekPassword {
|
|
|
5101
5123
|
this._type = this._type === 'password' ? 'text' : 'password';
|
|
5102
5124
|
}
|
|
5103
5125
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekPassword, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5104
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekPassword, isStandalone: true, selector: "zek-password", inputs: { name: "name", required: "required", minlength: "minlength", maxlength: "maxlength", model: "model" }, outputs: { onChange: "modelChange" }, ngImport: i0, template: "<div class=\"input-group has-validation\">\r\n <input type=\"{{type}}\" class=\"form-control\" name=\"{{name}}\" id=\"{{name}}\" [attr.aria-describedby]=\"name+'-show'\"\r\n [required]=\"required\" [minlength]=\"minlength\" [maxlength]=\"maxlength\"\r\n [ngModel]=\"model\" (ngModelChange)=\"onChange.emit($event)\"\r\n #password=\"ngModel\"\r\n >\r\n <button class=\"btn btn-outline-secondary\" type=\"button\" id=\"{{name}}-show\" (click)=\"showHide()\"><i class=\"fa-solid fa-eye\"></i></button>\r\n <div zek-field-validator [field]=\"password\"></div>\r\n</div>", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$
|
|
5126
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekPassword, isStandalone: true, selector: "zek-password", inputs: { name: "name", required: "required", minlength: "minlength", maxlength: "maxlength", model: "model" }, outputs: { onChange: "modelChange" }, ngImport: i0, template: "<div class=\"input-group has-validation\">\r\n <input type=\"{{type}}\" class=\"form-control\" name=\"{{name}}\" id=\"{{name}}\" [attr.aria-describedby]=\"name+'-show'\"\r\n [required]=\"required\" [minlength]=\"minlength\" [maxlength]=\"maxlength\"\r\n [ngModel]=\"model\" (ngModelChange)=\"onChange.emit($event)\"\r\n #password=\"ngModel\"\r\n >\r\n <button class=\"btn btn-outline-secondary\" type=\"button\" id=\"{{name}}-show\" (click)=\"showHide()\"><i class=\"fa-solid fa-eye\"></i></button>\r\n <div zek-field-validator [field]=\"password\"></div>\r\n</div>", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.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: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ZekFieldValidator, selector: "zek-field-validator, [zek-field-validator]", inputs: ["field"] }] }); }
|
|
5105
5127
|
}
|
|
5106
5128
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekPassword, decorators: [{
|
|
5107
5129
|
type: Component,
|
|
@@ -5139,7 +5161,7 @@ class ZekProgress {
|
|
|
5139
5161
|
return this._value;
|
|
5140
5162
|
}
|
|
5141
5163
|
set value(v) {
|
|
5142
|
-
|
|
5164
|
+
const tmp = clamp(Convert.toNumber(v) || 0);
|
|
5143
5165
|
if (this._value !== tmp) {
|
|
5144
5166
|
this._value = tmp;
|
|
5145
5167
|
}
|
|
@@ -5181,7 +5203,7 @@ class ZekProgress {
|
|
|
5181
5203
|
return this._height;
|
|
5182
5204
|
}
|
|
5183
5205
|
set height(v) {
|
|
5184
|
-
|
|
5206
|
+
const tmp = Convert.toNumber(v) || 0;
|
|
5185
5207
|
this._height = tmp > 0 ? tmp : null;
|
|
5186
5208
|
}
|
|
5187
5209
|
get background() {
|
|
@@ -5191,7 +5213,7 @@ class ZekProgress {
|
|
|
5191
5213
|
this._background = v;
|
|
5192
5214
|
}
|
|
5193
5215
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekProgress, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5194
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekProgress, isStandalone: true, selector: "zek-progress", inputs: { value: "value", showValue: "showValue", showTitle: "showTitle", striped: "striped", animated: "animated", label: "label", height: "height", background: "background" }, ngImport: i0, template: "<div class=\"progress\" [style.height.px]=\"height\" [title]=\"_title\" >\r\n <div class=\"progress-bar bg-{{background}}\" role=\"progressbar\"\r\n [class.progress-bar-striped]=\"striped || animated\"\r\n [class.progress-bar-animated]=\"animated\"\r\n [style.width.%]=\"value\"\r\n [attr.aria-valuenow]=\"value\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\">\r\n <ng-container *ngIf=\"showValue\">{{value}}%</ng-container>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
5216
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekProgress, isStandalone: true, selector: "zek-progress", inputs: { value: "value", showValue: "showValue", showTitle: "showTitle", striped: "striped", animated: "animated", label: "label", height: "height", background: "background" }, ngImport: i0, template: "<div class=\"progress\" [style.height.px]=\"height\" [title]=\"_title\" >\r\n <div class=\"progress-bar bg-{{background}}\" role=\"progressbar\"\r\n [class.progress-bar-striped]=\"striped || animated\"\r\n [class.progress-bar-animated]=\"animated\"\r\n [style.width.%]=\"value\"\r\n [attr.aria-valuenow]=\"value\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\">\r\n <ng-container *ngIf=\"showValue\">{{value}}%</ng-container>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
5195
5217
|
}
|
|
5196
5218
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekProgress, decorators: [{
|
|
5197
5219
|
type: Component,
|
|
@@ -5241,7 +5263,7 @@ class ZekRadio extends CoreUiComponent {
|
|
|
5241
5263
|
return this._inline;
|
|
5242
5264
|
}
|
|
5243
5265
|
set inline(v) {
|
|
5244
|
-
|
|
5266
|
+
const newValue = Convert.toBooleanProperty(v);
|
|
5245
5267
|
if (this._inline !== newValue) {
|
|
5246
5268
|
this._inline = newValue;
|
|
5247
5269
|
this.onInlineChanged();
|
|
@@ -5374,8 +5396,8 @@ urlParams, url, nonce) {
|
|
|
5374
5396
|
onLoaded(grecaptcha);
|
|
5375
5397
|
};
|
|
5376
5398
|
const baseUrl = url || "https://www.google.com/recaptcha/api.js";
|
|
5377
|
-
|
|
5378
|
-
|
|
5399
|
+
const params = urlParams || '';
|
|
5400
|
+
const src = `${baseUrl}?render=${siteKey}&onload=recaptchaloaded${params}`;
|
|
5379
5401
|
HtmlHelper.loadScript(src, nonce, true, true);
|
|
5380
5402
|
}
|
|
5381
5403
|
const loader = { loadScript };
|
|
@@ -5619,13 +5641,13 @@ class ZekSelectMultiple extends CoreUiComponent {
|
|
|
5619
5641
|
let notUnique = [];
|
|
5620
5642
|
if (this.valueField) {
|
|
5621
5643
|
for (const currentValue of value) {
|
|
5622
|
-
|
|
5644
|
+
const items = ArrayHelper.filterByKey(currentValue, this.valueField, this._data);
|
|
5623
5645
|
notUnique = notUnique.concat(items);
|
|
5624
5646
|
}
|
|
5625
5647
|
}
|
|
5626
5648
|
else {
|
|
5627
5649
|
for (const currentValue of value) {
|
|
5628
|
-
|
|
5650
|
+
const items = this._data.filter(x => x === currentValue);
|
|
5629
5651
|
notUnique = notUnique.concat(items);
|
|
5630
5652
|
}
|
|
5631
5653
|
}
|
|
@@ -5652,7 +5674,7 @@ class ZekSelectMultiple extends CoreUiComponent {
|
|
|
5652
5674
|
if (!v.checked) {
|
|
5653
5675
|
v.checked = true;
|
|
5654
5676
|
if (this.multiple) {
|
|
5655
|
-
|
|
5677
|
+
const tmp = [];
|
|
5656
5678
|
for (const item of this.normalized) {
|
|
5657
5679
|
if (item.checked) {
|
|
5658
5680
|
tmp.push(item.key);
|
|
@@ -5680,7 +5702,7 @@ class ZekSelectMultiple extends CoreUiComponent {
|
|
|
5680
5702
|
}
|
|
5681
5703
|
}
|
|
5682
5704
|
_initText() {
|
|
5683
|
-
|
|
5705
|
+
const field = this.checkedTextField || this.textField || '';
|
|
5684
5706
|
if (field) {
|
|
5685
5707
|
this._text = this._selected.filter(x => x !== undefined && x !== null).map(x => x[field]).join(', ');
|
|
5686
5708
|
}
|
|
@@ -5689,7 +5711,7 @@ class ZekSelectMultiple extends CoreUiComponent {
|
|
|
5689
5711
|
}
|
|
5690
5712
|
}
|
|
5691
5713
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSelectMultiple, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5692
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSelectMultiple, isStandalone: true, selector: "zek-select,[zek-select]", inputs: { id: "id", valueField: "valueField", textField: "textField", checkedTextField: "checkedTextField", css: "css", placeholder: "placeholder", label: "label", multiple: "multiple", data: "data" }, providers: [ZEK_SELECT_MULTIPLE_CONTROL_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "<div class=\"dropdown\" id=\"dropdown-{{id}}\">\r\n <button class=\"btn btn-{{css}} dropdown-toggle\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n {{label}} <ng-container *ngIf=\"!_text\">{{placeholder}}</ng-container> {{_text}}\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <ng-container *ngIf=\"normalized\">\r\n <li><a class=\"dropdown-item\" href=\"javascript:void(0)\" *ngFor=\"let item of normalized\" (click)=\"toggleChecked(item)\">\r\n <span *ngIf=\"item.checked\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.checked\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item.value}}\r\n </a></li>\r\n </ng-container>\r\n </ul>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
5714
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSelectMultiple, isStandalone: true, selector: "zek-select,[zek-select]", inputs: { id: "id", valueField: "valueField", textField: "textField", checkedTextField: "checkedTextField", css: "css", placeholder: "placeholder", label: "label", multiple: "multiple", data: "data" }, providers: [ZEK_SELECT_MULTIPLE_CONTROL_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "<div class=\"dropdown\" id=\"dropdown-{{id}}\">\r\n <button class=\"btn btn-{{css}} dropdown-toggle\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n {{label}} <ng-container *ngIf=\"!_text\">{{placeholder}}</ng-container> {{_text}}\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <ng-container *ngIf=\"normalized\">\r\n <li><a class=\"dropdown-item\" href=\"javascript:void(0)\" *ngFor=\"let item of normalized\" (click)=\"toggleChecked(item)\">\r\n <span *ngIf=\"item.checked\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.checked\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item.value}}\r\n </a></li>\r\n </ng-container>\r\n </ul>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }] }); }
|
|
5693
5715
|
}
|
|
5694
5716
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSelectMultiple, decorators: [{
|
|
5695
5717
|
type: Component,
|
|
@@ -5782,7 +5804,7 @@ class ZekSelect2 {
|
|
|
5782
5804
|
}
|
|
5783
5805
|
filterData() {
|
|
5784
5806
|
if (this.filter && this.filter !== '') {
|
|
5785
|
-
|
|
5807
|
+
const searchString = this.filter;
|
|
5786
5808
|
if (this.textField === undefined || this.textField === null) {
|
|
5787
5809
|
this.filteredData = this.data.filter(item => item.toLowerCase().indexOf(searchString.toLowerCase()) !== -1);
|
|
5788
5810
|
}
|
|
@@ -5861,7 +5883,7 @@ class ZekSelect2 {
|
|
|
5861
5883
|
}
|
|
5862
5884
|
}
|
|
5863
5885
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSelect2, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5864
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSelect2, isStandalone: true, selector: "zek-select2,[zek-select2]", inputs: { data: "data", textField: "textField", valueField: "valueField", placeholder: "placeholder", value: "value" }, outputs: { selectedItemChange: "selectedItemChange", valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let entry of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(entry)\" class=\"dropdown-item\">{{entry[textField]}}</a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let entry of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(entry)\" class=\"dropdown-item\">{{textField}}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>\r\n<!-- <kendo-autocomplete\r\n [data]=\"data\"\r\n [filterable]=\"true\"\r\n (valueChange)=\"valueChange($event)\"\r\n (filterChange)=\"filterChange($event)\"\r\n (open)=\"open()\"\r\n (close)=\"close()\"\r\n (focus)=\"focus()\"\r\n (blur)=\"blur()\">\r\n</kendo-autocomplete> -->", styles: [".scrollable-menu{max-height:400px;overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
5886
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSelect2, isStandalone: true, selector: "zek-select2,[zek-select2]", inputs: { data: "data", textField: "textField", valueField: "valueField", placeholder: "placeholder", value: "value" }, outputs: { selectedItemChange: "selectedItemChange", valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let entry of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(entry)\" class=\"dropdown-item\">{{entry[textField]}}</a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let entry of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(entry)\" class=\"dropdown-item\">{{textField}}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>\r\n<!-- <kendo-autocomplete\r\n [data]=\"data\"\r\n [filterable]=\"true\"\r\n (valueChange)=\"valueChange($event)\"\r\n (filterChange)=\"filterChange($event)\"\r\n (open)=\"open()\"\r\n (close)=\"close()\"\r\n (focus)=\"focus()\"\r\n (blur)=\"blur()\">\r\n</kendo-autocomplete> -->", styles: [".scrollable-menu{max-height:400px;overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.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: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
5865
5887
|
}
|
|
5866
5888
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSelect2, decorators: [{
|
|
5867
5889
|
type: Component,
|
|
@@ -5939,7 +5961,7 @@ class ZekSelect2Multiple {
|
|
|
5939
5961
|
}
|
|
5940
5962
|
filterData() {
|
|
5941
5963
|
if (this.filter && this.filter !== '') {
|
|
5942
|
-
|
|
5964
|
+
const searchString = this.filter;
|
|
5943
5965
|
if (typeof this.textField === 'undefined' || this.textField === null) {
|
|
5944
5966
|
this.filteredData = this.data.filter(item => item.toLowerCase().indexOf(searchString.toLowerCase()) !== -1);
|
|
5945
5967
|
}
|
|
@@ -5960,7 +5982,7 @@ class ZekSelect2Multiple {
|
|
|
5960
5982
|
this.setText();
|
|
5961
5983
|
}
|
|
5962
5984
|
setText() {
|
|
5963
|
-
|
|
5985
|
+
const fieldName = this.selectedField || this.textField;
|
|
5964
5986
|
if (StringHelper.isNullOrEmpty((fieldName))) {
|
|
5965
5987
|
this.text = this._selectedItems.join(', ');
|
|
5966
5988
|
}
|
|
@@ -5989,7 +6011,7 @@ class ZekSelect2Multiple {
|
|
|
5989
6011
|
this.valueChange.emit(v);
|
|
5990
6012
|
}
|
|
5991
6013
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSelect2Multiple, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5992
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSelect2Multiple, isStandalone: true, selector: "zek-select2-multiple,[zek-select2-multiple]", inputs: { data: "data", textField: "textField", selectedField: "selectedField", valueField: "valueField", placeholder: "placeholder", value: "value" }, outputs: { selectedItemChange: "selectedItemChange", valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item[textField]}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
6014
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSelect2Multiple, isStandalone: true, selector: "zek-select2-multiple,[zek-select2-multiple]", inputs: { data: "data", textField: "textField", selectedField: "selectedField", valueField: "valueField", placeholder: "placeholder", value: "value" }, outputs: { selectedItemChange: "selectedItemChange", valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item[textField]}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.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: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
5993
6015
|
}
|
|
5994
6016
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSelect2Multiple, decorators: [{
|
|
5995
6017
|
type: Component,
|
|
@@ -6185,7 +6207,7 @@ class ZekSortButtonGroup {
|
|
|
6185
6207
|
this.onChange.emit();
|
|
6186
6208
|
}
|
|
6187
6209
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSortButtonGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6188
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSortButtonGroup, isStandalone: true, selector: "zek-sort-button-group", inputs: { sort: "sort", asc: "asc", sortFields: "sortFields" }, outputs: { sortChange: "sortChange", ascChange: "ascChange", onChange: "onChange" }, ngImport: i0, template: "<div class=\"btn-group me-3\" role=\"group\" aria-label=\"Sort group\">\r\n <button type=\"button\" class=\"btn btn-light\" (click)=\"ascDescClick()\">\r\n <span *ngIf=\"asc === undefined || asc === null\"><i class=\"fa-solid fa-sort fa-fw\"></i></span>\r\n <span *ngIf=\"asc === true\"><i class=\"fa-solid fa-arrow-down-z-a fa-fw\"></i></span>\r\n <span *ngIf=\"asc === false\"><i class=\"fa-solid fa-arrow-up-z-a fa-fw\"></i></span>\r\n </button>\r\n <button *ngIf=\"sortFields && sortFields.length > 0\" class=\"btn btn-light dropdown-toggle\" type=\"button\" id=\"{{elementName}}\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <ng-container *ngIf=\"sortField; else elseFieldBlock\">{{ sortField.value | translate }}</ng-container>\r\n <ng-template #elseFieldBlock>{{ 'Action.Sort' | translate }}</ng-template>\r\n </button>\r\n <ul *ngIf=\"sortFields && sortFields.length > 0\" class=\"dropdown-menu\" [attr.aria-labelledby]=\"elementName\">\r\n <li><a *ngFor=\"let item of sortFields\" class=\"dropdown-item\" href=\"javascript:void(0)\" (click)=\"sortFieldClick(item)\">{{ (item.value) | translate }}</a></li>\r\n </ul>\r\n</div><i class=\"\"></i>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
6210
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSortButtonGroup, isStandalone: true, selector: "zek-sort-button-group", inputs: { sort: "sort", asc: "asc", sortFields: "sortFields" }, outputs: { sortChange: "sortChange", ascChange: "ascChange", onChange: "onChange" }, ngImport: i0, template: "<div class=\"btn-group me-3\" role=\"group\" aria-label=\"Sort group\">\r\n <button type=\"button\" class=\"btn btn-light\" (click)=\"ascDescClick()\">\r\n <span *ngIf=\"asc === undefined || asc === null\"><i class=\"fa-solid fa-sort fa-fw\"></i></span>\r\n <span *ngIf=\"asc === true\"><i class=\"fa-solid fa-arrow-down-z-a fa-fw\"></i></span>\r\n <span *ngIf=\"asc === false\"><i class=\"fa-solid fa-arrow-up-z-a fa-fw\"></i></span>\r\n </button>\r\n <button *ngIf=\"sortFields && sortFields.length > 0\" class=\"btn btn-light dropdown-toggle\" type=\"button\" id=\"{{elementName}}\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <ng-container *ngIf=\"sortField; else elseFieldBlock\">{{ sortField.value | translate }}</ng-container>\r\n <ng-template #elseFieldBlock>{{ 'Action.Sort' | translate }}</ng-template>\r\n </button>\r\n <ul *ngIf=\"sortFields && sortFields.length > 0\" class=\"dropdown-menu\" [attr.aria-labelledby]=\"elementName\">\r\n <li><a *ngFor=\"let item of sortFields\" class=\"dropdown-item\" href=\"javascript:void(0)\" (click)=\"sortFieldClick(item)\">{{ (item.value) | translate }}</a></li>\r\n </ul>\r\n</div><i class=\"\"></i>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
6189
6211
|
}
|
|
6190
6212
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSortButtonGroup, decorators: [{
|
|
6191
6213
|
type: Component,
|
|
@@ -6231,7 +6253,7 @@ class TimePipe {
|
|
|
6231
6253
|
isValidDate(d) {
|
|
6232
6254
|
return d instanceof Date && !isNaN(d.getTime());
|
|
6233
6255
|
}
|
|
6234
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TimePipe, deps: [{ token: i1$
|
|
6256
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TimePipe, deps: [{ token: i1$2.DatePipe }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
6235
6257
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: TimePipe, name: "time" }); }
|
|
6236
6258
|
}
|
|
6237
6259
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TimePipe, decorators: [{
|
|
@@ -6239,7 +6261,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
6239
6261
|
args: [{
|
|
6240
6262
|
name: 'time'
|
|
6241
6263
|
}]
|
|
6242
|
-
}], ctorParameters: () => [{ type: i1$
|
|
6264
|
+
}], ctorParameters: () => [{ type: i1$2.DatePipe }] });
|
|
6243
6265
|
|
|
6244
6266
|
class TimeModule {
|
|
6245
6267
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -6382,7 +6404,7 @@ class ZekLocalToUtcPipe {
|
|
|
6382
6404
|
const date = DateHelper.localToUtc(DateHelper.toDate(value));
|
|
6383
6405
|
return this._datePipe.transform(date, format);
|
|
6384
6406
|
}
|
|
6385
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekLocalToUtcPipe, deps: [{ token: i1$
|
|
6407
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekLocalToUtcPipe, deps: [{ token: i1$2.DatePipe }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
6386
6408
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ZekLocalToUtcPipe, name: "localToUtc" }); }
|
|
6387
6409
|
}
|
|
6388
6410
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekLocalToUtcPipe, decorators: [{
|
|
@@ -6391,7 +6413,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
6391
6413
|
name: 'localToUtc',
|
|
6392
6414
|
pure: true
|
|
6393
6415
|
}]
|
|
6394
|
-
}], ctorParameters: () => [{ type: i1$
|
|
6416
|
+
}], ctorParameters: () => [{ type: i1$2.DatePipe }] });
|
|
6395
6417
|
class ZekLocalToUtcModule {
|
|
6396
6418
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekLocalToUtcModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6397
6419
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ZekLocalToUtcModule, declarations: [ZekLocalToUtcPipe], exports: [ZekLocalToUtcPipe] }); }
|
|
@@ -6416,7 +6438,7 @@ class ZekUtcToLocalPipe {
|
|
|
6416
6438
|
const date = DateHelper.utcToLocal(DateHelper.toDate(value));
|
|
6417
6439
|
return this._datePipe.transform(date, format);
|
|
6418
6440
|
}
|
|
6419
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekUtcToLocalPipe, deps: [{ token: i1$
|
|
6441
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekUtcToLocalPipe, deps: [{ token: i1$2.DatePipe }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
6420
6442
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ZekUtcToLocalPipe, name: "utcToLocal" }); }
|
|
6421
6443
|
}
|
|
6422
6444
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekUtcToLocalPipe, decorators: [{
|
|
@@ -6425,7 +6447,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
6425
6447
|
name: 'utcToLocal',
|
|
6426
6448
|
pure: true
|
|
6427
6449
|
}]
|
|
6428
|
-
}], ctorParameters: () => [{ type: i1$
|
|
6450
|
+
}], ctorParameters: () => [{ type: i1$2.DatePipe }] });
|
|
6429
6451
|
class ZekUtcToLocalModule {
|
|
6430
6452
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekUtcToLocalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6431
6453
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ZekUtcToLocalModule, declarations: [ZekUtcToLocalPipe], exports: [ZekUtcToLocalPipe] }); }
|
|
@@ -6525,8 +6547,8 @@ function rangeValidator(range) {
|
|
|
6525
6547
|
return null; // don't validate empty values to allow optional controls
|
|
6526
6548
|
}
|
|
6527
6549
|
const value = parseFloat(control.value);
|
|
6528
|
-
|
|
6529
|
-
|
|
6550
|
+
const max = range[0];
|
|
6551
|
+
const min = range[1];
|
|
6530
6552
|
if (!isNaN(value) && (value < min || value > max)) {
|
|
6531
6553
|
return { 'range': { 'min': min, 'max': max, 'actual': control.value } };
|
|
6532
6554
|
}
|
|
@@ -6541,7 +6563,7 @@ function matchValidator(input) {
|
|
|
6541
6563
|
const targetCtrl = control.get(input);
|
|
6542
6564
|
let targetValue;
|
|
6543
6565
|
if (!targetCtrl) {
|
|
6544
|
-
|
|
6566
|
+
const el = document.getElementById(input);
|
|
6545
6567
|
if (el) {
|
|
6546
6568
|
targetValue = el.value;
|
|
6547
6569
|
}
|
|
@@ -6716,7 +6738,7 @@ class ZekWizard {
|
|
|
6716
6738
|
v = this.steps;
|
|
6717
6739
|
if (this._step !== v) {
|
|
6718
6740
|
this._step = v;
|
|
6719
|
-
|
|
6741
|
+
const found = this.stepsArray.find(x => x.step === this._step);
|
|
6720
6742
|
if (found) {
|
|
6721
6743
|
this.progress = found.progress;
|
|
6722
6744
|
}
|
|
@@ -6736,7 +6758,7 @@ class ZekWizard {
|
|
|
6736
6758
|
this.step++;
|
|
6737
6759
|
}
|
|
6738
6760
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekWizard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6739
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekWizard, isStandalone: true, selector: "zek-wizard", inputs: { steps: "steps", step: "step" }, ngImport: i0, template: "<div class=\"position-relative m-4\">\r\n <div class=\"progress\" style=\"height: 1px;\">\r\n <div class=\"progress-bar\" role=\"progressbar\" [style.width.%]=\"progress\" [attr.aria-valuenow]=\"progress\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>\r\n </div>\r\n <!-- left: 33%!important -->\r\n <!-- [style.left.%]=\"item.progress\" -->\r\n <button *ngFor=\"let item of stepsArray\" [attr.style]=\"('width:2rem; height:2rem; left:' + item.progress + '%!important') | safe:'style'\" type=\"button\" class=\"position-absolute top-0 translate-middle btn btn-sm btn-primary rounded-pill\">{{ item.step }}</button>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
6761
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekWizard, isStandalone: true, selector: "zek-wizard", inputs: { steps: "steps", step: "step" }, ngImport: i0, template: "<div class=\"position-relative m-4\">\r\n <div class=\"progress\" style=\"height: 1px;\">\r\n <div class=\"progress-bar\" role=\"progressbar\" [style.width.%]=\"progress\" [attr.aria-valuenow]=\"progress\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>\r\n </div>\r\n <!-- left: 33%!important -->\r\n <!-- [style.left.%]=\"item.progress\" -->\r\n <button *ngFor=\"let item of stepsArray\" [attr.style]=\"('width:2rem; height:2rem; left:' + item.progress + '%!important') | safe:'style'\" type=\"button\" class=\"position-absolute top-0 translate-middle btn btn-sm btn-primary rounded-pill\">{{ item.step }}</button>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: ZekSafePipe, name: "safe" }] }); }
|
|
6740
6762
|
}
|
|
6741
6763
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekWizard, decorators: [{
|
|
6742
6764
|
type: Component,
|
|
@@ -6749,7 +6771,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
6749
6771
|
|
|
6750
6772
|
class ZekWizard2 extends ZekWizard {
|
|
6751
6773
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekWizard2, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
6752
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekWizard2, isStandalone: true, selector: "zek-wizard2", usesInheritance: true, ngImport: i0, template: "<div class=\"m-2\">\r\n <button *ngFor=\"let item of stepsArray\"\r\n [class.btn-outline-secondary]=\"item.step >= steps\"\r\n [class.btn-primary]=\"item.step < steps\"\r\n type=\"button\"\r\n class=\"btn btn-sm mr me-2\"></button>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
6774
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekWizard2, isStandalone: true, selector: "zek-wizard2", usesInheritance: true, ngImport: i0, template: "<div class=\"m-2\">\r\n <button *ngFor=\"let item of stepsArray\"\r\n [class.btn-outline-secondary]=\"item.step >= steps\"\r\n [class.btn-primary]=\"item.step < steps\"\r\n type=\"button\"\r\n class=\"btn btn-sm mr me-2\"></button>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
6753
6775
|
}
|
|
6754
6776
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekWizard2, decorators: [{
|
|
6755
6777
|
type: Component,
|
|
@@ -6790,5 +6812,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
6790
6812
|
* Generated bundle index. Do not edit.
|
|
6791
6813
|
*/
|
|
6792
6814
|
|
|
6793
|
-
export { API_BASE_URL, AgePipe, Alert, AlertService, ArrayHelper, AuthGuardService, AuthService, Base64Helper, BaseAlert, BaseComponent, BaseService, BitwiseHelper, BootstrapHelper, Color, ComponentType, Convert, CoreComponent, CoreUiComponent, CrudService, CssHelper, CustomHttpParamEncoder, DATE_FORMAT,
|
|
6815
|
+
export { API_BASE_URL, AgePipe, Alert, AlertService, ArrayHelper, AuthGuardService, AuthService, Base64Helper, BaseAlert, BaseComponent, BaseService, BitwiseHelper, BootstrapHelper, Color, ComponentType, Convert, CoreComponent, CoreUiComponent, CrudService, CssHelper, CustomHttpParamEncoder, DATE_FORMAT, DateHelper, DateValueAccessor, DatepickerModule, EditBase, EditBaseComponent, EditComponent, EditFormComponent, ErrorHelper, ExcelHelper, FileBase, FileBytes, FileHelper, FileString, FilterBase, FilterHelper, GOOGLE_CLIENT_ID, Gender, HtmlHelper, HttpErrorHandler, JwtHelper, KeyPair, KeyPairChecked, KeyPairEx, KeyPairRequired, LANGUAGE, ListBase, ListBaseComponent, MATCH_VALIDATOR, MatchValidator, MathHelper, Month, NumericDirective, ObjectHelper, OverlapHelper, PagedList, Pager, PagerHelper, PeriodRelation, PrintType, RANGE_VALIDATOR, RECAPTCHA_SITE_KEY, RandomHelper, RangeValidator, ReCaptchaService, RecaptchaModule, StorageHelper, StringHelper, TimeHelper, TimeModule, TimePipe, TimerService, TmpHelper, Toast, Tree, UrlHelper, ValidEventArgs, ValidationHelper, Validators, ValidatorsModule, WebApiClient, WebApiModule, ZekAlert, ZekApproveModal, ZekAutoComplete, ZekButtonBrowse, ZekButtonBrowseModalBase, ZekButtonBrowseModalToolbar, ZekButtonBrowseModule, ZekCallbackPipe, ZekCard, ZekDateAgoPipe, ZekDeleteModal, ZekDisapproveModal, ZekEditToolbar, ZekFieldValidator, ZekFileSizePipe, ZekFileViewer, ZekFilterModal, ZekGoogleLoginButton, ZekGoogleLoginModule, ZekGridToolbar, ZekGridToolbarBar, ZekListToolbar, ZekLoading, ZekLoadingModule, ZekLocalToUtcModule, ZekLocalToUtcPipe, ZekModal, ZekModalModule, ZekPageTitle, ZekPager, ZekPassword, ZekProgress, ZekRadio, ZekReadOnlyDirective, ZekRestoreModal, ZekSafePipe, ZekSelect2, ZekSelect2Multiple, ZekSelectMultiple, ZekSort, ZekSortButtonGroup, ZekSubmitModal, ZekSumModal, ZekToast, ZekTooltip, ZekUtcToLocalModule, ZekUtcToLocalPipe, ZekValidation, ZekWizard, ZekWizard2, canActivate, firstBy, handler, matchValidator, nullValidator, rangeValidator };
|
|
6794
6816
|
//# sourceMappingURL=zek.mjs.map
|