ng-ipa-library 6.2.30 → 7.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ng-ipa-library.mjs +116 -244
- package/fesm2022/ng-ipa-library.mjs.map +1 -1
- package/index.d.ts +568 -5
- package/package.json +8 -13
- package/src/lib/assets/ngIPAStyle.scss +1 -52
- package/lib/core/components/loading/loading.component.d.ts +0 -13
- package/lib/core/interceptors/error.interceptor.d.ts +0 -12
- package/lib/core/interceptors/loading.interceptor.d.ts +0 -14
- package/lib/core/interceptors/myIPAToken.interceptor.d.ts +0 -14
- package/lib/core/interceptors/token.interceptor.d.ts +0 -19
- package/lib/core/services/auth.service.d.ts +0 -18
- package/lib/core/services/error.service.d.ts +0 -19
- package/lib/core/services/loader.service.d.ts +0 -12
- package/lib/core/services/token.service.d.ts +0 -10
- package/lib/generate-form/generate-form.component.d.ts +0 -35
- package/lib/ipa-form/datepicker/datepicker.component.d.ts +0 -46
- package/lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component.d.ts +0 -7
- package/lib/ipa-form/datepicker/gregorian-datepicker/gregorian18n.d.ts +0 -10
- package/lib/ipa-form/datepicker/hijri-datepicker/IslamicI18n.d.ts +0 -10
- package/lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component.d.ts +0 -7
- package/lib/ipa-form/dropdown-input/dropdown-input.component.d.ts +0 -42
- package/lib/ipa-form/file-upload/file-upload.component.d.ts +0 -48
- package/lib/ipa-form/file-upload/models/files.d.ts +0 -4
- package/lib/ipa-form/ipa-form.service.d.ts +0 -52
- package/lib/ipa-form/recaptcha/recaptcha.component.d.ts +0 -22
- package/lib/ipa-form/text-input/text-input.component.d.ts +0 -36
- package/lib/ipa-form/textarea-input/textarea-input.component.d.ts +0 -33
- package/lib/models/apiException.d.ts +0 -5
- package/lib/models/apiResponse.d.ts +0 -5
- package/lib/models/breadcrumbs.model.d.ts +0 -4
- package/lib/models/decodedToken.model.d.ts +0 -6
- package/lib/models/exceptionUrl.model.d.ts +0 -4
- package/lib/models/generateForm.model.d.ts +0 -31
- package/lib/models/pagedResult.d.ts +0 -4
- package/lib/models/user.model.d.ts +0 -7
- package/lib/ng-ipa-library.module.d.ts +0 -25
- package/lib/pipes/hijri-date.pipe.d.ts +0 -7
- package/lib/pipes/pipes.module.d.ts +0 -7
- package/lib/services/breadcrumbs.service.d.ts +0 -18
- package/lib/services/breadcrumbsV2.service.d.ts +0 -19
- package/lib/services/common.service.d.ts +0 -11
- package/lib/share-button/share-button.component.d.ts +0 -19
- package/lib/share-button/share-button.module.d.ts +0 -13
- package/public-api.d.ts +0 -33
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as i3 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { Pipe, NgModule, Injectable, Input, ViewChild, Self, Component, ElementRef, EventEmitter, Output } from '@angular/core';
|
|
@@ -7,27 +7,18 @@ import { UntypedFormControl, Validators, UntypedFormArray, UntypedFormGroup, For
|
|
|
7
7
|
import * as i1 from 'ngx-toastr';
|
|
8
8
|
import { ToastrModule } from 'ngx-toastr';
|
|
9
9
|
export * from 'ngx-toastr';
|
|
10
|
-
import * as i3 from 'ngx-dropzone-wrapper';
|
|
10
|
+
import * as i3$1 from 'ngx-dropzone-wrapper';
|
|
11
11
|
import { DropzoneDirective, DropzoneModule } from 'ngx-dropzone-wrapper';
|
|
12
|
-
import * as i2$
|
|
12
|
+
import * as i2$2 from 'ngx-captcha';
|
|
13
13
|
import { NgxCaptchaModule } from 'ngx-captcha';
|
|
14
14
|
import momentHijri from 'moment-hijri';
|
|
15
15
|
import * as i2 from '@ng-bootstrap/ng-bootstrap';
|
|
16
16
|
import { NgbDatepickerI18n, NgbCalendarIslamicUmalqura, NgbCalendar, NgbCalendarGregorian, NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';
|
|
17
17
|
export * from '@ng-bootstrap/ng-bootstrap';
|
|
18
|
-
import * as i5 from '@ng-select/ng-select';
|
|
19
18
|
import { NgSelectModule } from '@ng-select/ng-select';
|
|
20
19
|
export * from '@ng-select/ng-select';
|
|
21
|
-
import * as i4 from '@angular/cdk/overlay';
|
|
22
|
-
import { OverlayModule } from '@angular/cdk/overlay';
|
|
23
20
|
import { BehaviorSubject, Observable, throwError } from 'rxjs';
|
|
24
|
-
import * as
|
|
25
|
-
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
26
|
-
import { fas } from '@fortawesome/free-solid-svg-icons';
|
|
27
|
-
import { ShareIconsModule } from 'ngx-sharebuttons/icons';
|
|
28
|
-
import * as i2$4 from 'ngx-sharebuttons/popup';
|
|
29
|
-
import { ShareButtonsPopupModule } from 'ngx-sharebuttons/popup';
|
|
30
|
-
import * as i2$5 from '@angular/common/http';
|
|
21
|
+
import * as i2$3 from '@angular/common/http';
|
|
31
22
|
import { HttpResponse } from '@angular/common/http';
|
|
32
23
|
import { catchError } from 'rxjs/operators';
|
|
33
24
|
|
|
@@ -36,10 +27,10 @@ class HijriDatePipe {
|
|
|
36
27
|
momentHijri.locale(lang);
|
|
37
28
|
return momentHijri(date).format(format);
|
|
38
29
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HijriDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
31
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: HijriDatePipe, isStandalone: false, name: "hijriDate" }); }
|
|
41
32
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HijriDatePipe, decorators: [{
|
|
43
34
|
type: Pipe,
|
|
44
35
|
args: [{
|
|
45
36
|
name: 'hijriDate',
|
|
@@ -48,11 +39,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
48
39
|
}] });
|
|
49
40
|
|
|
50
41
|
class PipesModule {
|
|
51
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
52
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
53
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
43
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: PipesModule, declarations: [HijriDatePipe], exports: [HijriDatePipe] }); }
|
|
44
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PipesModule }); }
|
|
54
45
|
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PipesModule, decorators: [{
|
|
56
47
|
type: NgModule,
|
|
57
48
|
args: [{
|
|
58
49
|
declarations: [HijriDatePipe],
|
|
@@ -340,10 +331,10 @@ class IPAFormService {
|
|
|
340
331
|
return false;
|
|
341
332
|
}
|
|
342
333
|
}
|
|
343
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
344
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
334
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IPAFormService, deps: [{ token: i2.NgbDateParserFormatter }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
335
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IPAFormService, providedIn: 'root' }); }
|
|
345
336
|
}
|
|
346
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
337
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IPAFormService, decorators: [{
|
|
347
338
|
type: Injectable,
|
|
348
339
|
args: [{
|
|
349
340
|
providedIn: 'root',
|
|
@@ -355,7 +346,6 @@ class TextInputComponent {
|
|
|
355
346
|
this.validationService = validationService;
|
|
356
347
|
this.controlDir = controlDir;
|
|
357
348
|
this.cd = cd;
|
|
358
|
-
this.isPlatformCodeDesignSystem = false;
|
|
359
349
|
this.type = 'text';
|
|
360
350
|
this.required = false;
|
|
361
351
|
this.onlyNumber = false;
|
|
@@ -403,19 +393,17 @@ class TextInputComponent {
|
|
|
403
393
|
this.errorMsg = this.validationService.getErrorMessage(this.formControl, this.patternErrorMsg, this.isArabicForm);
|
|
404
394
|
return this.errorMsg;
|
|
405
395
|
}
|
|
406
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
407
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
396
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TextInputComponent, deps: [{ token: IPAFormService }, { token: i2$1.NgControl, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
397
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: TextInputComponent, isStandalone: false, selector: "ipa-text-input", inputs: { id: "id", type: "type", label: "label", placeholder: "placeholder", required: "required", patternErrorMsg: "patternErrorMsg", onlyNumber: "onlyNumber", pattern: "pattern", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<!-- platform code design system -->\n<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}}</label>\n <input #input id=\"{{id}}\" class=\"form-control p-2 {{classes}}\" [type]=\"type\" [required]=\"required\" pattern=\"{{pattern}}\"\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\n (blur)=\"onTouched()\" (input)=\"checkIsNumber($event)\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n </div>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
408
398
|
}
|
|
409
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
399
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TextInputComponent, decorators: [{
|
|
410
400
|
type: Component,
|
|
411
|
-
args: [{ selector: 'ipa-text-input', standalone: false, template: "<!--
|
|
401
|
+
args: [{ selector: 'ipa-text-input', standalone: false, template: "<!-- platform code design system -->\n<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}}</label>\n <input #input id=\"{{id}}\" class=\"form-control p-2 {{classes}}\" [type]=\"type\" [required]=\"required\" pattern=\"{{pattern}}\"\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\n (blur)=\"onTouched()\" (input)=\"checkIsNumber($event)\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n </div>" }]
|
|
412
402
|
}], ctorParameters: () => [{ type: IPAFormService }, { type: i2$1.NgControl, decorators: [{
|
|
413
403
|
type: Self
|
|
414
404
|
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { input: [{
|
|
415
405
|
type: ViewChild,
|
|
416
406
|
args: ['input', { static: true }]
|
|
417
|
-
}], isPlatformCodeDesignSystem: [{
|
|
418
|
-
type: Input
|
|
419
407
|
}], id: [{
|
|
420
408
|
type: Input
|
|
421
409
|
}], type: [{
|
|
@@ -447,7 +435,6 @@ class TextareaInputComponent {
|
|
|
447
435
|
this.controlDir = controlDir;
|
|
448
436
|
this.cd = cd;
|
|
449
437
|
this.input = new ElementRef(null);
|
|
450
|
-
this.isPlatformCodeDesignSystem = false;
|
|
451
438
|
this.required = false;
|
|
452
439
|
this.isArabicForm = true;
|
|
453
440
|
this.formControl = new UntypedFormControl('');
|
|
@@ -481,19 +468,17 @@ class TextareaInputComponent {
|
|
|
481
468
|
this.errorMsg = this.validationService.getErrorMessage(this.formControl, this.patternErrorMsg, this.isArabicForm);
|
|
482
469
|
return this.errorMsg;
|
|
483
470
|
}
|
|
484
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
485
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
471
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TextareaInputComponent, deps: [{ token: IPAFormService }, { token: i2$1.NgControl, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
472
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: TextareaInputComponent, isStandalone: false, selector: "ipa-textarea-input", inputs: { id: "id", label: "label", placeholder: "placeholder", required: "required", patternErrorMsg: "patternErrorMsg", pattern: "pattern", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<!-- platform code design system -->\n<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}}</label>\n <textarea #input id=\"{{id}}\" class=\"form-control {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\n (blur)=\"onTouched()\" style=\"height: 135px;\"\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\r\n </textarea>\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n</div>", styles: [".form-floating label{min-width:100%}.form-floating label:before{content:\"\";position:absolute;top:.9em;z-index:-1;width:110%;height:2em;background-color:#fff;box-shadow:0 -1px #fff}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.95;color:gray}@media(max-width:1699px){.form-floating label:before{width:107%!important}}@media(max-width:770px){.form-floating label:before{width:97%!important}}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
486
473
|
}
|
|
487
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
474
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TextareaInputComponent, decorators: [{
|
|
488
475
|
type: Component,
|
|
489
|
-
args: [{ selector: 'ipa-textarea-input', standalone: false, template: "<!--
|
|
476
|
+
args: [{ selector: 'ipa-textarea-input', standalone: false, template: "<!-- platform code design system -->\n<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}}</label>\n <textarea #input id=\"{{id}}\" class=\"form-control {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\n (blur)=\"onTouched()\" style=\"height: 135px;\"\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\r\n </textarea>\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n</div>", styles: [".form-floating label{min-width:100%}.form-floating label:before{content:\"\";position:absolute;top:.9em;z-index:-1;width:110%;height:2em;background-color:#fff;box-shadow:0 -1px #fff}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.95;color:gray}@media(max-width:1699px){.form-floating label:before{width:107%!important}}@media(max-width:770px){.form-floating label:before{width:97%!important}}\n"] }]
|
|
490
477
|
}], ctorParameters: () => [{ type: IPAFormService }, { type: i2$1.NgControl, decorators: [{
|
|
491
478
|
type: Self
|
|
492
479
|
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { input: [{
|
|
493
480
|
type: ViewChild,
|
|
494
481
|
args: ['input', { static: true }]
|
|
495
|
-
}], isPlatformCodeDesignSystem: [{
|
|
496
|
-
type: Input
|
|
497
482
|
}], id: [{
|
|
498
483
|
type: Input
|
|
499
484
|
}], label: [{
|
|
@@ -518,7 +503,6 @@ class DropdownInputComponent {
|
|
|
518
503
|
constructor(validationService, controlDir) {
|
|
519
504
|
this.validationService = validationService;
|
|
520
505
|
this.controlDir = controlDir;
|
|
521
|
-
this.isPlatformCodeDesignSystem = false;
|
|
522
506
|
this.items = [];
|
|
523
507
|
this.required = false;
|
|
524
508
|
this.searchable = false;
|
|
@@ -536,8 +520,7 @@ class DropdownInputComponent {
|
|
|
536
520
|
this.formControl = control;
|
|
537
521
|
}
|
|
538
522
|
ngAfterContentChecked() {
|
|
539
|
-
|
|
540
|
-
this.initCustomDropdowns();
|
|
523
|
+
this.initCustomDropdowns();
|
|
541
524
|
}
|
|
542
525
|
onChange(event) { }
|
|
543
526
|
onTouched() { }
|
|
@@ -607,12 +590,12 @@ class DropdownInputComponent {
|
|
|
607
590
|
}
|
|
608
591
|
});
|
|
609
592
|
}
|
|
610
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
611
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
593
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DropdownInputComponent, deps: [{ token: IPAFormService }, { token: i2$1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
594
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: DropdownInputComponent, isStandalone: false, selector: "ipa-dropdown-input", inputs: { id: "id", label: "label", items: "items", textField: "textField", valueField: "valueField", required: "required", firstItemLabel: "firstItemLabel", searchable: "searchable", notFoundText: "notFoundText", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm", fromGenerateForm: "fromGenerateForm" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["select"], descendants: true, static: true }], ngImport: i0, template: "<!-- platform code design system -->\n<div class=\"form-group w-100 position-relative {{containerClasses}}\">\n <div class=\"d-flex gap-1 mb-2\">\n <label for=\"select{{id}}\" class=\"form-label mb-0\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}}</label>\n </div>\n <!-- Standard hidden select -->\n <select #select id=\"select{{id}}\" class=\"form-select d-none\" [required]=\"required\" [formControl]=\"formControl\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n @if (firstItemLabel) {\n <option value=\"\">{{firstItemLabel}}</option>\n }\n @for (item of items; track item) {\n <option\n [value]=\"valueField ? fromGenerateForm ? item[textField] : item[valueField] : item\">\n {{textField ? item[textField] : item}}\n </option>\n }\n </select>\n <!-- Custom Dropdown Wrapper -->\n <div class=\"dropdown custom-dropdown-wrapper-{{id}} {{containerClasses}}\">\n <button\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center {{classes}}\"\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n <span class=\"selected-text\">{{label}}</span>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-end w-100\" style=\"max-height: 500px; overflow-y: auto;\">\n @if (firstItemLabel) {\n <li>\n <span (click)=\"dropdownItemClicked(-1)\" class=\"dropdown-item active first-item-{{id}}\" href=\"javascript:void(0);\"\n [attr.data-value]=\"''\">{{firstItemLabel}}\n </span>\n </li>\n }\n @for (item of items; track item; let i = $index) {\n <li>\n <span (click)=\"dropdownItemClicked(i)\" class=\"dropdown-item\" href=\"javascript:void(0);\"\n [attr.data-value]=\"valueField ? fromGenerateForm ? item[textField] : item[valueField] : item\">\n {{textField ? item[textField] : item}}</span>\n </li>\n }\n </ul>\n </div>\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback ms-3\">\n {{errorMsg}}\n </div>\n }\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
612
595
|
}
|
|
613
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
596
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DropdownInputComponent, decorators: [{
|
|
614
597
|
type: Component,
|
|
615
|
-
args: [{ selector: 'ipa-dropdown-input', standalone: false, template: "<!--
|
|
598
|
+
args: [{ selector: 'ipa-dropdown-input', standalone: false, template: "<!-- platform code design system -->\n<div class=\"form-group w-100 position-relative {{containerClasses}}\">\n <div class=\"d-flex gap-1 mb-2\">\n <label for=\"select{{id}}\" class=\"form-label mb-0\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}}</label>\n </div>\n <!-- Standard hidden select -->\n <select #select id=\"select{{id}}\" class=\"form-select d-none\" [required]=\"required\" [formControl]=\"formControl\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n @if (firstItemLabel) {\n <option value=\"\">{{firstItemLabel}}</option>\n }\n @for (item of items; track item) {\n <option\n [value]=\"valueField ? fromGenerateForm ? item[textField] : item[valueField] : item\">\n {{textField ? item[textField] : item}}\n </option>\n }\n </select>\n <!-- Custom Dropdown Wrapper -->\n <div class=\"dropdown custom-dropdown-wrapper-{{id}} {{containerClasses}}\">\n <button\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center {{classes}}\"\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n <span class=\"selected-text\">{{label}}</span>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-end w-100\" style=\"max-height: 500px; overflow-y: auto;\">\n @if (firstItemLabel) {\n <li>\n <span (click)=\"dropdownItemClicked(-1)\" class=\"dropdown-item active first-item-{{id}}\" href=\"javascript:void(0);\"\n [attr.data-value]=\"''\">{{firstItemLabel}}\n </span>\n </li>\n }\n @for (item of items; track item; let i = $index) {\n <li>\n <span (click)=\"dropdownItemClicked(i)\" class=\"dropdown-item\" href=\"javascript:void(0);\"\n [attr.data-value]=\"valueField ? fromGenerateForm ? item[textField] : item[valueField] : item\">\n {{textField ? item[textField] : item}}</span>\n </li>\n }\n </ul>\n </div>\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback ms-3\">\n {{errorMsg}}\n </div>\n }\n</div>" }]
|
|
616
599
|
}], ctorParameters: () => [{ type: IPAFormService }, { type: i2$1.NgControl, decorators: [{
|
|
617
600
|
type: Self
|
|
618
601
|
}] }], propDecorators: { input: [{
|
|
@@ -621,8 +604,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
621
604
|
}], id: [{
|
|
622
605
|
type: Input,
|
|
623
606
|
args: [{ required: true }]
|
|
624
|
-
}], isPlatformCodeDesignSystem: [{
|
|
625
|
-
type: Input
|
|
626
607
|
}], label: [{
|
|
627
608
|
type: Input,
|
|
628
609
|
args: [{ required: true }]
|
|
@@ -662,10 +643,10 @@ class LoaderService {
|
|
|
662
643
|
addExceptionUrl(url) {
|
|
663
644
|
this.urls.push(url);
|
|
664
645
|
}
|
|
665
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
666
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
646
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
647
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LoaderService, providedIn: 'root' }); }
|
|
667
648
|
}
|
|
668
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
649
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LoaderService, decorators: [{
|
|
669
650
|
type: Injectable,
|
|
670
651
|
args: [{
|
|
671
652
|
providedIn: 'root',
|
|
@@ -695,12 +676,12 @@ class LoaderComponent {
|
|
|
695
676
|
this.cdr.detectChanges();
|
|
696
677
|
});
|
|
697
678
|
}
|
|
698
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
699
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
679
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LoaderComponent, deps: [{ token: LoaderService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
680
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: LoaderComponent, isStandalone: false, selector: "ipa-loader", inputs: { isLocal: "isLocal" }, ngImport: i0, template: "@if (loading && isLocal) {\n <div id=\"cover-spin\">\n <div class=\"spinner\"></div>\n </div>\n}\n", styles: ["#cover-spin{display:flex}\n"] }); }
|
|
700
681
|
}
|
|
701
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
682
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LoaderComponent, decorators: [{
|
|
702
683
|
type: Component,
|
|
703
|
-
args: [{ selector: 'ipa-loader', standalone: false, template: "<div id=\"cover-spin\"
|
|
684
|
+
args: [{ selector: 'ipa-loader', standalone: false, template: "@if (loading && isLocal) {\n <div id=\"cover-spin\">\n <div class=\"spinner\"></div>\n </div>\n}\n", styles: ["#cover-spin{display:flex}\n"] }]
|
|
704
685
|
}], ctorParameters: () => [{ type: LoaderService }, { type: i0.ChangeDetectorRef }], propDecorators: { isLocal: [{
|
|
705
686
|
type: Input
|
|
706
687
|
}] } });
|
|
@@ -842,12 +823,12 @@ class FileUploadComponent {
|
|
|
842
823
|
dictRemoveFile: '',
|
|
843
824
|
};
|
|
844
825
|
}
|
|
845
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
846
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
826
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1.ToastrService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
827
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: FileUploadComponent, isStandalone: false, selector: "ipa-file-upload", inputs: { isArabicForm: "isArabicForm", label: "label", required: "required", acceptedFiles: "acceptedFiles", multiple: "multiple", maxFileSize: "maxFileSize", method: "method", autoUpload: "autoUpload", apiUrl: "apiUrl", authorization: "authorization", disabled: "disabled" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, viewQueries: [{ propertyName: "dropzoneDir", first: true, predicate: DropzoneDirective, descendants: true }], ngImport: i0, template: "@if(multiple === 1) {\n <div class=\"file-upload-label\"> {{label}}</div>\n <div class=\"file-upload-description\">\n {{fileMessage}}\n </div>\n <div class=\"single-file-upload\" [ngClass]=\"{'disabled': disabled}\" [disabled]=\"disabled\" [dropzone]=\"config\"\n (error)=\"onUploadError($event)\" tabindex=\"0\" (keydown.enter)=\"onEnterKey($event)\"\n (keydown.space)=\"onEnterKey($event)\" (queueComplete)=\"operationCompleted($event)\"\n (success)=\"onUploadSuccess($event)\" (sending)=\"sending($event)\" (reset)=\"reset($event)\"\n (addedFile)=\"fileWasAdded($event)\" (maxFilesExceeded)=\"maxFilesExceeded($event)\">\n {{isArabicForm ? '\u062A\u0635\u0641\u062D \u0627\u0644\u0645\u0644\u0641\u0627\u062A' : 'Browse Files'}}\n </div>\n <br><br>\n @if (currentFiles.length > 0) {\n @for (file of currentFiles; track file) {\n <div class=\"uploaded-file \" [ngClass]=\"{'uploaded-file-error': file.error}\">\n <img [src]=\"file.error ? fileIconError : fileIconDone\"> {{ file.file.name }}\n <div style=\"margin-right: auto;\" (click)=\"deleteFile(file.file)\" title=\"\u062D\u0630\u0641 \u0627\u0644\u0645\u0644\u0641\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/upload-close.svg\">\n </div>\n @if (file.error) {\n @if (file.error) {\n <div class=\"flex-wrap-newline\"></div>\n }\n <div class=\"uploaded-helper\">{{file.error}}</div>\n }\n </div><br><br>\n }\n }\n }@else{\n <div class=\"file-upload-label form-label\"> {{label}}</div>\n <div class=\"multiple-file-upload text-center d-flex flex-column align-items-center \"\n [ngClass]=\"{'multiple-disabled': disabled}\" [disabled]=\"disabled\" [dropzone]=\"config\"\n (error)=\"onUploadError($event)\" tabindex=\"0\" (keydown.enter)=\"onEnterKey($event)\"\n (keydown.space)=\"onEnterKey($event)\" (queueComplete)=\"operationCompleted($event)\"\n (success)=\"onUploadSuccess($event)\" (dragenter)=\"dragEnter = true\" (dragLeave)=\"dragEnter = false\"\n (drop)=\"dragEnter = false\" (dragEnd)=\"dragEnter = false\" [class.multiple-drag-hover]=\"dragEnter\"\n (sending)=\"sending($event)\" (reset)=\"reset($event)\" (addedFile)=\"fileWasAdded($event)\"\n (maxFilesExceeded)=\"maxFilesExceeded($event)\">\n <div>\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/file-upload.svg\">\n </div>\n <div class=\"multiple-file-upload-text\">\n {{isArabicForm ? '\u0627\u0633\u062D\u0628 \u0648 \u0623\u0641\u0644\u062A \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0647\u0646\u0627 \u0644\u0644\u0631\u0641\u0639' : 'Drag and drop files here to upload'}}\n </div>\n <div class=\"multiple-file-upload-description\">\n {{fileMessage}}\n </div>\n <div class=\"tp-link\">\n {{isArabicForm ? '\u062A\u0635\u0641\u062D \u0627\u0644\u0645\u0644\u0641\u0627\u062A' : 'Browse Files'}}\n </div>\n </div>\n <br>\n @if (currentFiles.length > 0) {\n @for (file of currentFiles; track file) {\n <div class=\"uploaded-file \" [ngClass]=\"{'uploaded-file-error': file.error}\">\n <img [src]=\"file.error ? fileIconError : fileIconDone\"> {{ file.file.name }}\n <div style=\"margin-right: auto;\" (click)=\"deleteFile(file.file)\" title=\"\u062D\u0630\u0641 \u0627\u0644\u0645\u0644\u0641\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/upload-close.svg\">\n </div>\n @if (file.error) {\n @if (file.error) {\n <div class=\"flex-wrap-newline\"></div>\n }\n <div class=\"uploaded-helper\">{{file.error}}</div>\n }\n </div><br>\n }\n }\n }", styles: [".subtitle{border-bottom:none;display:block;line-height:2}.file-upload{border:dashed 1px #ccc;display:block;min-height:150px;border-radius:15px;width:350px;cursor:pointer;position:relative;margin:auto}.upload-overlay{position:absolute;width:100%;height:100%}.upload-btn-wrapper{text-align:center}.upload-icon{margin-right:5px}.list-unstyled{margin:10px!important;padding:14px!important;list-style:none}.allowed-extensions{color:#4d7297}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.DropzoneDirective, selector: "[dropzone]", inputs: ["disabled", "dropzone"], outputs: ["init", "error", "success", "sending", "canceled", "complete", "processing", "drop", "dragStart", "dragEnd", "dragEnter", "dragOver", "dragLeave", "thumbnail", "addedFile", "addedFiles", "removedFile", "uploadProgress", "maxFilesReached", "maxFilesExceeded", "errorMultiple", "successMultiple", "sendingMultiple", "canceledMultiple", "completeMultiple", "processingMultiple", "reset", "queueComplete", "totalUploadProgress"], exportAs: ["ngxDropzone"] }] }); }
|
|
847
828
|
}
|
|
848
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
829
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FileUploadComponent, decorators: [{
|
|
849
830
|
type: Component,
|
|
850
|
-
args: [{ selector: 'ipa-file-upload', standalone: false, template: "
|
|
831
|
+
args: [{ selector: 'ipa-file-upload', standalone: false, template: "@if(multiple === 1) {\n <div class=\"file-upload-label\"> {{label}}</div>\n <div class=\"file-upload-description\">\n {{fileMessage}}\n </div>\n <div class=\"single-file-upload\" [ngClass]=\"{'disabled': disabled}\" [disabled]=\"disabled\" [dropzone]=\"config\"\n (error)=\"onUploadError($event)\" tabindex=\"0\" (keydown.enter)=\"onEnterKey($event)\"\n (keydown.space)=\"onEnterKey($event)\" (queueComplete)=\"operationCompleted($event)\"\n (success)=\"onUploadSuccess($event)\" (sending)=\"sending($event)\" (reset)=\"reset($event)\"\n (addedFile)=\"fileWasAdded($event)\" (maxFilesExceeded)=\"maxFilesExceeded($event)\">\n {{isArabicForm ? '\u062A\u0635\u0641\u062D \u0627\u0644\u0645\u0644\u0641\u0627\u062A' : 'Browse Files'}}\n </div>\n <br><br>\n @if (currentFiles.length > 0) {\n @for (file of currentFiles; track file) {\n <div class=\"uploaded-file \" [ngClass]=\"{'uploaded-file-error': file.error}\">\n <img [src]=\"file.error ? fileIconError : fileIconDone\"> {{ file.file.name }}\n <div style=\"margin-right: auto;\" (click)=\"deleteFile(file.file)\" title=\"\u062D\u0630\u0641 \u0627\u0644\u0645\u0644\u0641\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/upload-close.svg\">\n </div>\n @if (file.error) {\n @if (file.error) {\n <div class=\"flex-wrap-newline\"></div>\n }\n <div class=\"uploaded-helper\">{{file.error}}</div>\n }\n </div><br><br>\n }\n }\n }@else{\n <div class=\"file-upload-label form-label\"> {{label}}</div>\n <div class=\"multiple-file-upload text-center d-flex flex-column align-items-center \"\n [ngClass]=\"{'multiple-disabled': disabled}\" [disabled]=\"disabled\" [dropzone]=\"config\"\n (error)=\"onUploadError($event)\" tabindex=\"0\" (keydown.enter)=\"onEnterKey($event)\"\n (keydown.space)=\"onEnterKey($event)\" (queueComplete)=\"operationCompleted($event)\"\n (success)=\"onUploadSuccess($event)\" (dragenter)=\"dragEnter = true\" (dragLeave)=\"dragEnter = false\"\n (drop)=\"dragEnter = false\" (dragEnd)=\"dragEnter = false\" [class.multiple-drag-hover]=\"dragEnter\"\n (sending)=\"sending($event)\" (reset)=\"reset($event)\" (addedFile)=\"fileWasAdded($event)\"\n (maxFilesExceeded)=\"maxFilesExceeded($event)\">\n <div>\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/file-upload.svg\">\n </div>\n <div class=\"multiple-file-upload-text\">\n {{isArabicForm ? '\u0627\u0633\u062D\u0628 \u0648 \u0623\u0641\u0644\u062A \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0647\u0646\u0627 \u0644\u0644\u0631\u0641\u0639' : 'Drag and drop files here to upload'}}\n </div>\n <div class=\"multiple-file-upload-description\">\n {{fileMessage}}\n </div>\n <div class=\"tp-link\">\n {{isArabicForm ? '\u062A\u0635\u0641\u062D \u0627\u0644\u0645\u0644\u0641\u0627\u062A' : 'Browse Files'}}\n </div>\n </div>\n <br>\n @if (currentFiles.length > 0) {\n @for (file of currentFiles; track file) {\n <div class=\"uploaded-file \" [ngClass]=\"{'uploaded-file-error': file.error}\">\n <img [src]=\"file.error ? fileIconError : fileIconDone\"> {{ file.file.name }}\n <div style=\"margin-right: auto;\" (click)=\"deleteFile(file.file)\" title=\"\u062D\u0630\u0641 \u0627\u0644\u0645\u0644\u0641\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/upload-close.svg\">\n </div>\n @if (file.error) {\n @if (file.error) {\n <div class=\"flex-wrap-newline\"></div>\n }\n <div class=\"uploaded-helper\">{{file.error}}</div>\n }\n </div><br>\n }\n }\n }", styles: [".subtitle{border-bottom:none;display:block;line-height:2}.file-upload{border:dashed 1px #ccc;display:block;min-height:150px;border-radius:15px;width:350px;cursor:pointer;position:relative;margin:auto}.upload-overlay{position:absolute;width:100%;height:100%}.upload-btn-wrapper{text-align:center}.upload-icon{margin-right:5px}.list-unstyled{margin:10px!important;padding:14px!important;list-style:none}.allowed-extensions{color:#4d7297}\n"] }]
|
|
851
832
|
}], ctorParameters: () => [{ type: i1.ToastrService }], propDecorators: { dropzoneDir: [{
|
|
852
833
|
type: ViewChild,
|
|
853
834
|
args: [DropzoneDirective, { static: false }]
|
|
@@ -911,10 +892,10 @@ class RecaptchaComponent {
|
|
|
911
892
|
registerOnTouched(fn) {
|
|
912
893
|
this.onTouched = fn;
|
|
913
894
|
}
|
|
914
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
915
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
895
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: RecaptchaComponent, deps: [{ token: i2$1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
896
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: RecaptchaComponent, isStandalone: false, selector: "ipa-recaptcha", inputs: { siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain" }, viewQueries: [{ propertyName: "recaptcha", first: true, predicate: ["recaptcha"], descendants: true }], ngImport: i0, template: "<ngx-recaptcha2 #recaptcha [siteKey]=\"siteKey\" [size]=\"recaptchaSize\" [hl]=\"lang\" [theme]=\"theme\" [type]=\"recaptchaType\"\n [useGlobalDomain]=\"useGlobalDomain\" (success)=\"onChange($event)\"\n (error)=\"onChange(null)\" (expire)=\"onChange(null)\">\n</ngx-recaptcha2>", styles: [""], dependencies: [{ kind: "component", type: i2$2.ReCaptcha2Component, selector: "ngx-recaptcha2", inputs: ["theme", "size"] }] }); }
|
|
916
897
|
}
|
|
917
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
898
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: RecaptchaComponent, decorators: [{
|
|
918
899
|
type: Component,
|
|
919
900
|
args: [{ selector: 'ipa-recaptcha', standalone: false, template: "<ngx-recaptcha2 #recaptcha [siteKey]=\"siteKey\" [size]=\"recaptchaSize\" [hl]=\"lang\" [theme]=\"theme\" [type]=\"recaptchaType\"\n [useGlobalDomain]=\"useGlobalDomain\" (success)=\"onChange($event)\"\n (error)=\"onChange(null)\" (expire)=\"onChange(null)\">\n</ngx-recaptcha2>" }]
|
|
920
901
|
}], ctorParameters: () => [{ type: i2$1.NgControl, decorators: [{
|
|
@@ -940,7 +921,6 @@ class GenerateFormComponent {
|
|
|
940
921
|
constructor(validationService) {
|
|
941
922
|
this.validationService = validationService;
|
|
942
923
|
this.isArabicForm = true;
|
|
943
|
-
this.isPlatformCodeDesignSystem = false;
|
|
944
924
|
this.recaptchaSize = 'normal';
|
|
945
925
|
this.lang = 'ar';
|
|
946
926
|
this.recaptchaType = 'image';
|
|
@@ -1046,20 +1026,18 @@ class GenerateFormComponent {
|
|
|
1046
1026
|
let selectedItems = items.filter((item) => item.checkbox);
|
|
1047
1027
|
return selectedItems.length > 0 ? selectedItems : null;
|
|
1048
1028
|
}
|
|
1049
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1050
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: GenerateFormComponent, isStandalone: false, selector: "ipa-generate-form", inputs: { generateForm: "generateForm", form: "form", isArabicForm: "isArabicForm", isPlatformCodeDesignSystem: "isPlatformCodeDesignSystem", siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, ngImport: i0, template: "<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [isPlatformCodeDesignSystem]=\"isPlatformCodeDesignSystem\"\r\n [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\r\n [placeholder]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\r\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\">\r\n </ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [isPlatformCodeDesignSystem]=\"isPlatformCodeDesignSystem\"\r\n [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [items]=\"column.data!\"\r\n [valueField]=\"column.valueField!\" [textField]=\"column.textField!\" [required]=\"column.required\"\r\n [searchable]=\"column.searchable!\" [notFoundText]=\"column.notFoundText!\" [classes]=\"column.inputClasses!\"\r\n [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\" [fromGenerateForm]=\"true\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\" [class]=\"column.containerClasses\">\r\n <label>\r\n <span *ngIf=\"column.required\" class=\"text-danger\">*</span>\r\n {{isArabicForm? column.arabicLabel : column.englishLabel}}\r\n </label>\r\n <ng-container [formArrayName]=\"'items'+ column.formControlName\"\r\n *ngFor=\"let control of getFormControls(column.formControlName).controls; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\" [formGroupName]=\"i\">\r\n <input [id]=\"column.formControlName+control.value[column.valueField!]\" class=\"form-check-input\"\r\n type=\"checkbox\" formControlName=\"checkbox\">\r\n <label class=\"form-check-label\" [for]=\"column.formControlName+control.value[column.valueField!]\">\r\n {{control.value[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\" [class]=\"column.containerClasses\">\r\n <label>\r\n <span *ngIf=\"column.required\" class=\"text-danger\">*</span>\r\n {{isArabicForm? column.arabicLabel : column.englishLabel}}\r\n </label>\r\n <ng-container *ngFor=\"let item of column.data; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\">\r\n <input [id]=\"column.formControlName+item[column.valueField!]\" class=\"form-check-input\" type=\"radio\"\r\n [formControlName]=\"column.formControlName\" [value]=\"item[column.textField!]\">\r\n <label class=\"form-check-label\" [for]=\"column.formControlName+item[column.valueField!]\">\r\n {{item[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\" [class]=\"column.containerClasses\">\r\n <ipa-file-upload [isArabicForm]=\"isArabicForm\" [required]=\"column.required\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [acceptedFiles]=\"column.acceptedFiles!\"\r\n [multiple]=\"column.multipleFile!\" [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\"\r\n [autoUpload]=\"column.autoUploadFile!\" [apiUrl]=\"column.apiUrl?? 'apiUrl' \"\r\n [authorization]=\"column.authorization!\" ngDefaultControl [formControlName]=\"column.formControlName\"\r\n (successUpload)=\"SuccessUpload($event)\" (fileAdded)=\"FileAdded($event, column.formControlName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.formControlName)\">\r\n </ipa-file-upload>\r\n </div>\r\n\r\n <!-- recaptcha -->\r\n <div *ngSwitchCase=\"'recaptcha'\" [class]=\"column.containerClasses\">\r\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"isArabicForm? 'ar':'en'\" [theme]=\"theme\"\r\n [recaptchaType]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\"\r\n formControlName=\"{{column.formControlName}}\">\r\n </ipa-recaptcha>\r\n </div>\r\n\r\n <!-- DEFAULT -->\r\n <div *ngSwitchDefault>\r\n <ipa-text-input [isPlatformCodeDesignSystem]=\"isPlatformCodeDesignSystem\"\r\n [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\" [type]=\"column.type\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\r\n [placeholder]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\r\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\">\r\n </ipa-text-input>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i2$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: TextInputComponent, selector: "ipa-text-input", inputs: ["isPlatformCodeDesignSystem", "id", "type", "label", "placeholder", "required", "patternErrorMsg", "onlyNumber", "pattern", "classes", "containerClasses", "isArabicForm"] }, { kind: "component", type: TextareaInputComponent, selector: "ipa-textarea-input", inputs: ["isPlatformCodeDesignSystem", "id", "label", "placeholder", "required", "patternErrorMsg", "pattern", "classes", "containerClasses", "isArabicForm"] }, { kind: "component", type: DropdownInputComponent, selector: "ipa-dropdown-input", inputs: ["id", "isPlatformCodeDesignSystem", "label", "items", "textField", "valueField", "required", "firstItemLabel", "searchable", "notFoundText", "classes", "containerClasses", "isArabicForm", "fromGenerateForm"] }, { kind: "component", type: FileUploadComponent, selector: "ipa-file-upload", inputs: ["isArabicForm", "label", "required", "acceptedFiles", "multiple", "maxFileSize", "method", "autoUpload", "apiUrl", "authorization", "disabled"], outputs: ["successUpload", "fileAdded", "fileDeleted"] }, { kind: "component", type: RecaptchaComponent, selector: "ipa-recaptcha", inputs: ["siteKey", "recaptchaSize", "lang", "recaptchaType", "theme", "useGlobalDomain"] }] }); }
|
|
1029
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: GenerateFormComponent, deps: [{ token: IPAFormService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1030
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: GenerateFormComponent, isStandalone: false, selector: "ipa-generate-form", inputs: { generateForm: "generateForm", form: "form", isArabicForm: "isArabicForm", siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, ngImport: i0, template: "<form [formGroup]=\"generateForm\">\n @for (column of form.columns; track column) {\n <div>\n @switch (column.type) {\n <!-- TEXTAREA -->\n @case ('textArea') {\n <div>\n <ipa-textarea-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\n [placeholder]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\">\n </ipa-textarea-input>\n </div>\n }\n <!-- DROP DOWN LIST -->\n @case ('select') {\n <div>\n <ipa-dropdown-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [items]=\"column.data!\"\n [valueField]=\"column.valueField!\" [textField]=\"column.textField!\" [required]=\"column.required\"\n [searchable]=\"column.searchable!\" [notFoundText]=\"column.notFoundText!\" [classes]=\"column.inputClasses!\"\n [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\" [fromGenerateForm]=\"true\">\n </ipa-dropdown-input>\n </div>\n }\n <!-- CHECKBOX -->\n @case ('checkbox') {\n <div [class]=\"column.containerClasses\">\n <label>\n @if (column.required) {\n <span class=\"text-danger\">*</span>\n }\n {{isArabicForm? column.arabicLabel : column.englishLabel}}\n </label>\n @for (control of getFormControls(column.formControlName).controls; track control; let i = $index) {\n <ng-container [formArrayName]=\"'items'+ column.formControlName\">\n <div class=\"form-check {{column.inputClasses}}\" [formGroupName]=\"i\">\n <input [id]=\"column.formControlName+control.value[column.valueField!]\" class=\"form-check-input\"\n type=\"checkbox\" formControlName=\"checkbox\">\n <label class=\"form-check-label\" [for]=\"column.formControlName+control.value[column.valueField!]\">\n {{control.value[column.textField!]}}\n </label>\n </div>\n </ng-container>\n }\n @if (getErrorMessage(column.formControlName) !== null) {\n <div class=\"invalid-feedback\" style=\"display: block !important;\">\n {{errorMsg}}\n </div>\n }\n </div>\n }\n <!-- RADIO -->\n @case ('radio') {\n <div [class]=\"column.containerClasses\">\n <label>\n @if (column.required) {\n <span class=\"text-danger\">*</span>\n }\n {{isArabicForm? column.arabicLabel : column.englishLabel}}\n </label>\n @for (item of column.data; track item; let i = $index) {\n <div class=\"form-check {{column.inputClasses}}\">\n <input [id]=\"column.formControlName+item[column.valueField!]\" class=\"form-check-input\" type=\"radio\"\n [formControlName]=\"column.formControlName\" [value]=\"item[column.textField!]\">\n <label class=\"form-check-label\" [for]=\"column.formControlName+item[column.valueField!]\">\n {{item[column.textField!]}}\n </label>\n </div>\n }\n @if (getErrorMessage(column.formControlName) !== null) {\n <div class=\"invalid-feedback\" style=\"display: block !important;\">\n {{errorMsg}}\n </div>\n }\n </div>\n }\n <!-- FILE UPLOAD -->\n @case ('file') {\n <div [class]=\"column.containerClasses\">\n <ipa-file-upload [isArabicForm]=\"isArabicForm\" [required]=\"column.required\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [acceptedFiles]=\"column.acceptedFiles!\"\n [multiple]=\"column.multipleFile!\" [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\"\n [autoUpload]=\"column.autoUploadFile!\" [apiUrl]=\"column.apiUrl?? 'apiUrl' \"\n [authorization]=\"column.authorization!\" ngDefaultControl [formControlName]=\"column.formControlName\"\n (successUpload)=\"SuccessUpload($event)\" (fileAdded)=\"FileAdded($event, column.formControlName)\"\n (fileDeleted)=\"FileDeleted($event, column.formControlName)\">\n </ipa-file-upload>\n </div>\n }\n <!-- recaptcha -->\n @case ('recaptcha') {\n <div [class]=\"column.containerClasses\">\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"isArabicForm? 'ar':'en'\" [theme]=\"theme\"\n [recaptchaType]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\"\n formControlName=\"{{column.formControlName}}\">\n </ipa-recaptcha>\n </div>\n }\n <!-- DEFAULT -->\n @default {\n <div>\n <ipa-text-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\" [type]=\"column.type\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\n [placeholder]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\">\n </ipa-text-input>\n </div>\n }\n }\n </div>\n }\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i2$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: TextInputComponent, selector: "ipa-text-input", inputs: ["id", "type", "label", "placeholder", "required", "patternErrorMsg", "onlyNumber", "pattern", "classes", "containerClasses", "isArabicForm"] }, { kind: "component", type: TextareaInputComponent, selector: "ipa-textarea-input", inputs: ["id", "label", "placeholder", "required", "patternErrorMsg", "pattern", "classes", "containerClasses", "isArabicForm"] }, { kind: "component", type: DropdownInputComponent, selector: "ipa-dropdown-input", inputs: ["id", "label", "items", "textField", "valueField", "required", "firstItemLabel", "searchable", "notFoundText", "classes", "containerClasses", "isArabicForm", "fromGenerateForm"] }, { kind: "component", type: FileUploadComponent, selector: "ipa-file-upload", inputs: ["isArabicForm", "label", "required", "acceptedFiles", "multiple", "maxFileSize", "method", "autoUpload", "apiUrl", "authorization", "disabled"], outputs: ["successUpload", "fileAdded", "fileDeleted"] }, { kind: "component", type: RecaptchaComponent, selector: "ipa-recaptcha", inputs: ["siteKey", "recaptchaSize", "lang", "recaptchaType", "theme", "useGlobalDomain"] }] }); }
|
|
1051
1031
|
}
|
|
1052
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1032
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: GenerateFormComponent, decorators: [{
|
|
1053
1033
|
type: Component,
|
|
1054
|
-
args: [{ selector: 'ipa-generate-form', standalone: false, template: "<form [formGroup]=\"generateForm\">\
|
|
1034
|
+
args: [{ selector: 'ipa-generate-form', standalone: false, template: "<form [formGroup]=\"generateForm\">\n @for (column of form.columns; track column) {\n <div>\n @switch (column.type) {\n <!-- TEXTAREA -->\n @case ('textArea') {\n <div>\n <ipa-textarea-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\n [placeholder]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\">\n </ipa-textarea-input>\n </div>\n }\n <!-- DROP DOWN LIST -->\n @case ('select') {\n <div>\n <ipa-dropdown-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [items]=\"column.data!\"\n [valueField]=\"column.valueField!\" [textField]=\"column.textField!\" [required]=\"column.required\"\n [searchable]=\"column.searchable!\" [notFoundText]=\"column.notFoundText!\" [classes]=\"column.inputClasses!\"\n [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\" [fromGenerateForm]=\"true\">\n </ipa-dropdown-input>\n </div>\n }\n <!-- CHECKBOX -->\n @case ('checkbox') {\n <div [class]=\"column.containerClasses\">\n <label>\n @if (column.required) {\n <span class=\"text-danger\">*</span>\n }\n {{isArabicForm? column.arabicLabel : column.englishLabel}}\n </label>\n @for (control of getFormControls(column.formControlName).controls; track control; let i = $index) {\n <ng-container [formArrayName]=\"'items'+ column.formControlName\">\n <div class=\"form-check {{column.inputClasses}}\" [formGroupName]=\"i\">\n <input [id]=\"column.formControlName+control.value[column.valueField!]\" class=\"form-check-input\"\n type=\"checkbox\" formControlName=\"checkbox\">\n <label class=\"form-check-label\" [for]=\"column.formControlName+control.value[column.valueField!]\">\n {{control.value[column.textField!]}}\n </label>\n </div>\n </ng-container>\n }\n @if (getErrorMessage(column.formControlName) !== null) {\n <div class=\"invalid-feedback\" style=\"display: block !important;\">\n {{errorMsg}}\n </div>\n }\n </div>\n }\n <!-- RADIO -->\n @case ('radio') {\n <div [class]=\"column.containerClasses\">\n <label>\n @if (column.required) {\n <span class=\"text-danger\">*</span>\n }\n {{isArabicForm? column.arabicLabel : column.englishLabel}}\n </label>\n @for (item of column.data; track item; let i = $index) {\n <div class=\"form-check {{column.inputClasses}}\">\n <input [id]=\"column.formControlName+item[column.valueField!]\" class=\"form-check-input\" type=\"radio\"\n [formControlName]=\"column.formControlName\" [value]=\"item[column.textField!]\">\n <label class=\"form-check-label\" [for]=\"column.formControlName+item[column.valueField!]\">\n {{item[column.textField!]}}\n </label>\n </div>\n }\n @if (getErrorMessage(column.formControlName) !== null) {\n <div class=\"invalid-feedback\" style=\"display: block !important;\">\n {{errorMsg}}\n </div>\n }\n </div>\n }\n <!-- FILE UPLOAD -->\n @case ('file') {\n <div [class]=\"column.containerClasses\">\n <ipa-file-upload [isArabicForm]=\"isArabicForm\" [required]=\"column.required\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [acceptedFiles]=\"column.acceptedFiles!\"\n [multiple]=\"column.multipleFile!\" [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\"\n [autoUpload]=\"column.autoUploadFile!\" [apiUrl]=\"column.apiUrl?? 'apiUrl' \"\n [authorization]=\"column.authorization!\" ngDefaultControl [formControlName]=\"column.formControlName\"\n (successUpload)=\"SuccessUpload($event)\" (fileAdded)=\"FileAdded($event, column.formControlName)\"\n (fileDeleted)=\"FileDeleted($event, column.formControlName)\">\n </ipa-file-upload>\n </div>\n }\n <!-- recaptcha -->\n @case ('recaptcha') {\n <div [class]=\"column.containerClasses\">\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"isArabicForm? 'ar':'en'\" [theme]=\"theme\"\n [recaptchaType]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\"\n formControlName=\"{{column.formControlName}}\">\n </ipa-recaptcha>\n </div>\n }\n <!-- DEFAULT -->\n @default {\n <div>\n <ipa-text-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\" [type]=\"column.type\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\n [placeholder]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\">\n </ipa-text-input>\n </div>\n }\n }\n </div>\n }\n</form>" }]
|
|
1055
1035
|
}], ctorParameters: () => [{ type: IPAFormService }], propDecorators: { generateForm: [{
|
|
1056
1036
|
type: Input
|
|
1057
1037
|
}], form: [{
|
|
1058
1038
|
type: Input
|
|
1059
1039
|
}], isArabicForm: [{
|
|
1060
1040
|
type: Input
|
|
1061
|
-
}], isPlatformCodeDesignSystem: [{
|
|
1062
|
-
type: Input
|
|
1063
1041
|
}], siteKey: [{
|
|
1064
1042
|
type: Input
|
|
1065
1043
|
}], recaptchaSize: [{
|
|
@@ -1086,7 +1064,6 @@ class DatepickerComponent {
|
|
|
1086
1064
|
this.calendar = calendar;
|
|
1087
1065
|
this.controlDir = controlDir;
|
|
1088
1066
|
this.cd = cd;
|
|
1089
|
-
this.isPlatformCodeDesignSystem = false;
|
|
1090
1067
|
this.label = 'datepicker';
|
|
1091
1068
|
this.patternErrorMsg = 'invalid pattern';
|
|
1092
1069
|
this.required = false;
|
|
@@ -1100,9 +1077,7 @@ class DatepickerComponent {
|
|
|
1100
1077
|
}
|
|
1101
1078
|
ngAfterContentChecked() {
|
|
1102
1079
|
this.cd.detectChanges();
|
|
1103
|
-
|
|
1104
|
-
this.initCustomDropdowns();
|
|
1105
|
-
}
|
|
1080
|
+
this.initCustomDropdowns();
|
|
1106
1081
|
}
|
|
1107
1082
|
ngOnInit() {
|
|
1108
1083
|
const control = this.controlDir.control;
|
|
@@ -1112,10 +1087,8 @@ class DatepickerComponent {
|
|
|
1112
1087
|
control?.setValidators(validators);
|
|
1113
1088
|
control?.updateValueAndValidity();
|
|
1114
1089
|
this.formControl = control;
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
this.generateYearsRange();
|
|
1118
|
-
}
|
|
1090
|
+
this.years = [];
|
|
1091
|
+
this.generateYearsRange();
|
|
1119
1092
|
}
|
|
1120
1093
|
onChange(event) { }
|
|
1121
1094
|
onTouched() { }
|
|
@@ -1128,11 +1101,6 @@ class DatepickerComponent {
|
|
|
1128
1101
|
}
|
|
1129
1102
|
openDatepicker(event) {
|
|
1130
1103
|
if (!this.datepicker.isOpen()) {
|
|
1131
|
-
setTimeout(() => {
|
|
1132
|
-
if (!this.isPlatformCodeDesignSystem) {
|
|
1133
|
-
this.changeDatepickerTitles();
|
|
1134
|
-
}
|
|
1135
|
-
}, 100);
|
|
1136
1104
|
this.datepicker.toggle();
|
|
1137
1105
|
event.preventDefault();
|
|
1138
1106
|
return;
|
|
@@ -1153,39 +1121,6 @@ class DatepickerComponent {
|
|
|
1153
1121
|
datepicker.navigateTo(newDate);
|
|
1154
1122
|
this.generateYearsRange(year);
|
|
1155
1123
|
}
|
|
1156
|
-
changeDatepickerTitles() {
|
|
1157
|
-
// change pervious month button title
|
|
1158
|
-
const arrowPre = document
|
|
1159
|
-
.getElementsByClassName('ngb-dp-arrow-prev')
|
|
1160
|
-
.item(0);
|
|
1161
|
-
const buttonPrev = arrowPre.getElementsByTagName('button').item(0);
|
|
1162
|
-
if (this.isArabicForm)
|
|
1163
|
-
buttonPrev.title = 'الشهر السابق';
|
|
1164
|
-
else
|
|
1165
|
-
buttonPrev.title = 'Pervious month';
|
|
1166
|
-
// change next month button title
|
|
1167
|
-
const arrowNext = document
|
|
1168
|
-
.getElementsByClassName('ngb-dp-arrow-next')
|
|
1169
|
-
.item(0);
|
|
1170
|
-
const buttonNext = arrowNext.getElementsByTagName('button').item(0);
|
|
1171
|
-
if (this.isArabicForm)
|
|
1172
|
-
buttonNext.title = 'الشهر التالي';
|
|
1173
|
-
else
|
|
1174
|
-
buttonNext.title = 'Next month';
|
|
1175
|
-
// change month list title
|
|
1176
|
-
const divList = document
|
|
1177
|
-
.getElementsByClassName('ngb-dp-navigation-select')
|
|
1178
|
-
.item(0);
|
|
1179
|
-
const selectList = divList.getElementsByTagName('select');
|
|
1180
|
-
if (this.isArabicForm) {
|
|
1181
|
-
selectList.item(0).title = 'اختر الشهر';
|
|
1182
|
-
selectList.item(1).title = 'اختر السنة';
|
|
1183
|
-
}
|
|
1184
|
-
else {
|
|
1185
|
-
selectList.item(0).title = 'Select month';
|
|
1186
|
-
selectList.item(1).title = 'Select year';
|
|
1187
|
-
}
|
|
1188
|
-
}
|
|
1189
1124
|
generateYearsRange(setYear = this.formControl.value?.year
|
|
1190
1125
|
? this.formControl.value.year
|
|
1191
1126
|
: this.isHijriDatepicker
|
|
@@ -1231,19 +1166,17 @@ class DatepickerComponent {
|
|
|
1231
1166
|
});
|
|
1232
1167
|
});
|
|
1233
1168
|
}
|
|
1234
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1235
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1169
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DatepickerComponent, deps: [{ token: IPAFormService }, { token: i2.NgbCalendar }, { token: i2$1.NgControl, self: true }, { token: i2.NgbInputDatepickerConfig }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1170
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: DatepickerComponent, isStandalone: false, selector: "ipa-datepicker", inputs: { id: "id", label: "label", patternErrorMsg: "patternErrorMsg", required: "required", maxDate: "maxDate", minDate: "minDate", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm" }, viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["d"], descendants: true }], ngImport: i0, template: "<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}} </label>\n <input id=\"{{id}}\" class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [required]=\"required\"\n style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\" placeholder=\"{{label}}\"\n (click)=\"openDatepicker($event)\" [contentTemplate]=\"contentTemplate\" [navigation]=\"'none'\"\n [placement]=\"'bottom-end'\" [autoClose]=\"true\" [dayTemplate]=\"dayTemplate\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n <ng-template #dayTemplate let-date let-currentMonth=\"currentMonth\" let-selected=\"selected\" let-disabled=\"disabled\"\n let-focused=\"focused\">\n <div ngbdatepickerdayview [class.bg-primary]=\"selected\" [class.outside]=\"date.month !== currentMonth\">\n {{ date.day }}\n </div>\n </ng-template>\n <ng-template #contentTemplate let-dp>\n <div class=\"p-2\">\n <div class=\"custom-month-grid\">\n @for (month of dp.state.months; track month.month) {\n <div class=\"d-flex justify-content-between\" style=\"height: 40px;\">\n <div class=\"d-inline-flex\">\n <span class=\"align-content-center me-2\">{{ dp.i18n.getMonthShortName(month.month) }}</span>\n <div class=\"dropdown custom-dropdown-wrapper-{{id}}\">\n <button\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center\"\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\n <span class=\"selected-text\">{{dp.state.focusedDate.year}}</span>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-end w-50\" style=\"max-height: 360px; overflow-y: auto;\">\n @for (year of years; track year; let i = $index) {\n <li (click)=\"navigateYear(dp, year);\">\n <span class=\"dropdown-item\" href=\"javascript:void(0);\" [attr.data-value]=\"year\"\n [ngClass]=\"{'active': dp.state.focusedDate.year === year}\">\n {{year}}\n </span>\n </li>\n }\n </ul>\n </div>\n </div>\n <div>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, -1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year <= minYear) && (minDate?.month && (+dp.state.focusedDate.month <= minDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\"\n style=\"transform: rotate(-180deg);\" />\n </button>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, 1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year >= maxYear) && (maxDate?.month && (+dp.state.focusedDate.month >= maxDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\" />\n </button>\n </div>\n </div>\n <ngb-datepicker-month [month]=\"month\"></ngb-datepicker-month>\n }\n </div>\n </div>\n </ng-template>\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "component", type: i2.NgbDatepickerMonth, selector: "ngb-datepicker-month", inputs: ["month"] }] }); }
|
|
1236
1171
|
}
|
|
1237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DatepickerComponent, decorators: [{
|
|
1238
1173
|
type: Component,
|
|
1239
|
-
args: [{ selector: 'ipa-datepicker', standalone: false, template: "<div class=\"
|
|
1174
|
+
args: [{ selector: 'ipa-datepicker', standalone: false, template: "<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}} </label>\n <input id=\"{{id}}\" class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [required]=\"required\"\n style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\" placeholder=\"{{label}}\"\n (click)=\"openDatepicker($event)\" [contentTemplate]=\"contentTemplate\" [navigation]=\"'none'\"\n [placement]=\"'bottom-end'\" [autoClose]=\"true\" [dayTemplate]=\"dayTemplate\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n <ng-template #dayTemplate let-date let-currentMonth=\"currentMonth\" let-selected=\"selected\" let-disabled=\"disabled\"\n let-focused=\"focused\">\n <div ngbdatepickerdayview [class.bg-primary]=\"selected\" [class.outside]=\"date.month !== currentMonth\">\n {{ date.day }}\n </div>\n </ng-template>\n <ng-template #contentTemplate let-dp>\n <div class=\"p-2\">\n <div class=\"custom-month-grid\">\n @for (month of dp.state.months; track month.month) {\n <div class=\"d-flex justify-content-between\" style=\"height: 40px;\">\n <div class=\"d-inline-flex\">\n <span class=\"align-content-center me-2\">{{ dp.i18n.getMonthShortName(month.month) }}</span>\n <div class=\"dropdown custom-dropdown-wrapper-{{id}}\">\n <button\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center\"\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\n <span class=\"selected-text\">{{dp.state.focusedDate.year}}</span>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-end w-50\" style=\"max-height: 360px; overflow-y: auto;\">\n @for (year of years; track year; let i = $index) {\n <li (click)=\"navigateYear(dp, year);\">\n <span class=\"dropdown-item\" href=\"javascript:void(0);\" [attr.data-value]=\"year\"\n [ngClass]=\"{'active': dp.state.focusedDate.year === year}\">\n {{year}}\n </span>\n </li>\n }\n </ul>\n </div>\n </div>\n <div>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, -1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year <= minYear) && (minDate?.month && (+dp.state.focusedDate.month <= minDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\"\n style=\"transform: rotate(-180deg);\" />\n </button>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, 1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year >= maxYear) && (maxDate?.month && (+dp.state.focusedDate.month >= maxDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\" />\n </button>\n </div>\n </div>\n <ngb-datepicker-month [month]=\"month\"></ngb-datepicker-month>\n }\n </div>\n </div>\n </ng-template>\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"] }]
|
|
1240
1175
|
}], ctorParameters: () => [{ type: IPAFormService }, { type: i2.NgbCalendar }, { type: i2$1.NgControl, decorators: [{
|
|
1241
1176
|
type: Self
|
|
1242
1177
|
}] }, { type: i2.NgbInputDatepickerConfig }, { type: i0.ChangeDetectorRef }], propDecorators: { datepicker: [{
|
|
1243
1178
|
type: ViewChild,
|
|
1244
1179
|
args: ['d']
|
|
1245
|
-
}], isPlatformCodeDesignSystem: [{
|
|
1246
|
-
type: Input
|
|
1247
1180
|
}], id: [{
|
|
1248
1181
|
type: Input
|
|
1249
1182
|
}], label: [{
|
|
@@ -1292,10 +1225,10 @@ class IslamicI18n extends NgbDatepickerI18n {
|
|
|
1292
1225
|
getDayAriaLabel(date) {
|
|
1293
1226
|
return `${date.day}-${date.month}-${date.year}`;
|
|
1294
1227
|
}
|
|
1295
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1296
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1228
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IslamicI18n, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1229
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IslamicI18n }); }
|
|
1297
1230
|
}
|
|
1298
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1231
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IslamicI18n, decorators: [{
|
|
1299
1232
|
type: Injectable
|
|
1300
1233
|
}] });
|
|
1301
1234
|
|
|
@@ -1304,18 +1237,18 @@ class HijriDatepickerComponent extends DatepickerComponent {
|
|
|
1304
1237
|
super(...arguments);
|
|
1305
1238
|
this.isHijriDatepicker = true;
|
|
1306
1239
|
}
|
|
1307
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1308
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1240
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HijriDatepickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1241
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: HijriDatepickerComponent, isStandalone: false, selector: "ipa-hijri-datepicker", providers: [
|
|
1309
1242
|
{ provide: NgbCalendar, useClass: NgbCalendarIslamicUmalqura },
|
|
1310
1243
|
{ provide: NgbDatepickerI18n, useClass: IslamicI18n },
|
|
1311
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"
|
|
1244
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}} </label>\n <input id=\"{{id}}\" class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [required]=\"required\"\n style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\" placeholder=\"{{label}}\"\n (click)=\"openDatepicker($event)\" [contentTemplate]=\"contentTemplate\" [navigation]=\"'none'\"\n [placement]=\"'bottom-end'\" [autoClose]=\"true\" [dayTemplate]=\"dayTemplate\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n <ng-template #dayTemplate let-date let-currentMonth=\"currentMonth\" let-selected=\"selected\" let-disabled=\"disabled\"\n let-focused=\"focused\">\n <div ngbdatepickerdayview [class.bg-primary]=\"selected\" [class.outside]=\"date.month !== currentMonth\">\n {{ date.day }}\n </div>\n </ng-template>\n <ng-template #contentTemplate let-dp>\n <div class=\"p-2\">\n <div class=\"custom-month-grid\">\n @for (month of dp.state.months; track month.month) {\n <div class=\"d-flex justify-content-between\" style=\"height: 40px;\">\n <div class=\"d-inline-flex\">\n <span class=\"align-content-center me-2\">{{ dp.i18n.getMonthShortName(month.month) }}</span>\n <div class=\"dropdown custom-dropdown-wrapper-{{id}}\">\n <button\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center\"\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\n <span class=\"selected-text\">{{dp.state.focusedDate.year}}</span>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-end w-50\" style=\"max-height: 360px; overflow-y: auto;\">\n @for (year of years; track year; let i = $index) {\n <li (click)=\"navigateYear(dp, year);\">\n <span class=\"dropdown-item\" href=\"javascript:void(0);\" [attr.data-value]=\"year\"\n [ngClass]=\"{'active': dp.state.focusedDate.year === year}\">\n {{year}}\n </span>\n </li>\n }\n </ul>\n </div>\n </div>\n <div>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, -1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year <= minYear) && (minDate?.month && (+dp.state.focusedDate.month <= minDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\"\n style=\"transform: rotate(-180deg);\" />\n </button>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, 1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year >= maxYear) && (maxDate?.month && (+dp.state.focusedDate.month >= maxDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\" />\n </button>\n </div>\n </div>\n <ngb-datepicker-month [month]=\"month\"></ngb-datepicker-month>\n }\n </div>\n </div>\n </ng-template>\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "component", type: i2.NgbDatepickerMonth, selector: "ngb-datepicker-month", inputs: ["month"] }] }); }
|
|
1312
1245
|
}
|
|
1313
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1246
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HijriDatepickerComponent, decorators: [{
|
|
1314
1247
|
type: Component,
|
|
1315
1248
|
args: [{ selector: 'ipa-hijri-datepicker', providers: [
|
|
1316
1249
|
{ provide: NgbCalendar, useClass: NgbCalendarIslamicUmalqura },
|
|
1317
1250
|
{ provide: NgbDatepickerI18n, useClass: IslamicI18n },
|
|
1318
|
-
], standalone: false, template: "<div class=\"
|
|
1251
|
+
], standalone: false, template: "<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}} </label>\n <input id=\"{{id}}\" class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [required]=\"required\"\n style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\" placeholder=\"{{label}}\"\n (click)=\"openDatepicker($event)\" [contentTemplate]=\"contentTemplate\" [navigation]=\"'none'\"\n [placement]=\"'bottom-end'\" [autoClose]=\"true\" [dayTemplate]=\"dayTemplate\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n <ng-template #dayTemplate let-date let-currentMonth=\"currentMonth\" let-selected=\"selected\" let-disabled=\"disabled\"\n let-focused=\"focused\">\n <div ngbdatepickerdayview [class.bg-primary]=\"selected\" [class.outside]=\"date.month !== currentMonth\">\n {{ date.day }}\n </div>\n </ng-template>\n <ng-template #contentTemplate let-dp>\n <div class=\"p-2\">\n <div class=\"custom-month-grid\">\n @for (month of dp.state.months; track month.month) {\n <div class=\"d-flex justify-content-between\" style=\"height: 40px;\">\n <div class=\"d-inline-flex\">\n <span class=\"align-content-center me-2\">{{ dp.i18n.getMonthShortName(month.month) }}</span>\n <div class=\"dropdown custom-dropdown-wrapper-{{id}}\">\n <button\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center\"\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\n <span class=\"selected-text\">{{dp.state.focusedDate.year}}</span>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-end w-50\" style=\"max-height: 360px; overflow-y: auto;\">\n @for (year of years; track year; let i = $index) {\n <li (click)=\"navigateYear(dp, year);\">\n <span class=\"dropdown-item\" href=\"javascript:void(0);\" [attr.data-value]=\"year\"\n [ngClass]=\"{'active': dp.state.focusedDate.year === year}\">\n {{year}}\n </span>\n </li>\n }\n </ul>\n </div>\n </div>\n <div>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, -1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year <= minYear) && (minDate?.month && (+dp.state.focusedDate.month <= minDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\"\n style=\"transform: rotate(-180deg);\" />\n </button>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, 1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year >= maxYear) && (maxDate?.month && (+dp.state.focusedDate.month >= maxDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\" />\n </button>\n </div>\n </div>\n <ngb-datepicker-month [month]=\"month\"></ngb-datepicker-month>\n }\n </div>\n </div>\n </ng-template>\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"] }]
|
|
1319
1252
|
}] });
|
|
1320
1253
|
|
|
1321
1254
|
const WEEKDAYS = ['أثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت', 'أحد'];
|
|
@@ -1346,10 +1279,10 @@ class Gregorian18n extends NgbDatepickerI18n {
|
|
|
1346
1279
|
getDayAriaLabel(date) {
|
|
1347
1280
|
return `${date.day}-${date.month}-${date.year}`;
|
|
1348
1281
|
}
|
|
1349
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1350
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1282
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: Gregorian18n, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1283
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: Gregorian18n }); }
|
|
1351
1284
|
}
|
|
1352
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1285
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: Gregorian18n, decorators: [{
|
|
1353
1286
|
type: Injectable
|
|
1354
1287
|
}] });
|
|
1355
1288
|
|
|
@@ -1358,18 +1291,18 @@ class GregorianDatepickerComponent extends DatepickerComponent {
|
|
|
1358
1291
|
super(...arguments);
|
|
1359
1292
|
this.isHijriDatepicker = false;
|
|
1360
1293
|
}
|
|
1361
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1362
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1294
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: GregorianDatepickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1295
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: GregorianDatepickerComponent, isStandalone: false, selector: "ipa-gregorian-datepicker", providers: [
|
|
1363
1296
|
{ provide: NgbCalendar, useClass: NgbCalendarGregorian },
|
|
1364
1297
|
{ provide: NgbDatepickerI18n, useClass: Gregorian18n },
|
|
1365
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"
|
|
1298
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}} </label>\n <input id=\"{{id}}\" class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [required]=\"required\"\n style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\" placeholder=\"{{label}}\"\n (click)=\"openDatepicker($event)\" [contentTemplate]=\"contentTemplate\" [navigation]=\"'none'\"\n [placement]=\"'bottom-end'\" [autoClose]=\"true\" [dayTemplate]=\"dayTemplate\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n <ng-template #dayTemplate let-date let-currentMonth=\"currentMonth\" let-selected=\"selected\" let-disabled=\"disabled\"\n let-focused=\"focused\">\n <div ngbdatepickerdayview [class.bg-primary]=\"selected\" [class.outside]=\"date.month !== currentMonth\">\n {{ date.day }}\n </div>\n </ng-template>\n <ng-template #contentTemplate let-dp>\n <div class=\"p-2\">\n <div class=\"custom-month-grid\">\n @for (month of dp.state.months; track month.month) {\n <div class=\"d-flex justify-content-between\" style=\"height: 40px;\">\n <div class=\"d-inline-flex\">\n <span class=\"align-content-center me-2\">{{ dp.i18n.getMonthShortName(month.month) }}</span>\n <div class=\"dropdown custom-dropdown-wrapper-{{id}}\">\n <button\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center\"\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\n <span class=\"selected-text\">{{dp.state.focusedDate.year}}</span>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-end w-50\" style=\"max-height: 360px; overflow-y: auto;\">\n @for (year of years; track year; let i = $index) {\n <li (click)=\"navigateYear(dp, year);\">\n <span class=\"dropdown-item\" href=\"javascript:void(0);\" [attr.data-value]=\"year\"\n [ngClass]=\"{'active': dp.state.focusedDate.year === year}\">\n {{year}}\n </span>\n </li>\n }\n </ul>\n </div>\n </div>\n <div>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, -1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year <= minYear) && (minDate?.month && (+dp.state.focusedDate.month <= minDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\"\n style=\"transform: rotate(-180deg);\" />\n </button>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, 1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year >= maxYear) && (maxDate?.month && (+dp.state.focusedDate.month >= maxDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\" />\n </button>\n </div>\n </div>\n <ngb-datepicker-month [month]=\"month\"></ngb-datepicker-month>\n }\n </div>\n </div>\n </ng-template>\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "component", type: i2.NgbDatepickerMonth, selector: "ngb-datepicker-month", inputs: ["month"] }] }); }
|
|
1366
1299
|
}
|
|
1367
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1300
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: GregorianDatepickerComponent, decorators: [{
|
|
1368
1301
|
type: Component,
|
|
1369
1302
|
args: [{ selector: 'ipa-gregorian-datepicker', providers: [
|
|
1370
1303
|
{ provide: NgbCalendar, useClass: NgbCalendarGregorian },
|
|
1371
1304
|
{ provide: NgbDatepickerI18n, useClass: Gregorian18n },
|
|
1372
|
-
], standalone: false, template: "<div class=\"
|
|
1305
|
+
], standalone: false, template: "<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}} </label>\n <input id=\"{{id}}\" class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [required]=\"required\"\n style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\" placeholder=\"{{label}}\"\n (click)=\"openDatepicker($event)\" [contentTemplate]=\"contentTemplate\" [navigation]=\"'none'\"\n [placement]=\"'bottom-end'\" [autoClose]=\"true\" [dayTemplate]=\"dayTemplate\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n <ng-template #dayTemplate let-date let-currentMonth=\"currentMonth\" let-selected=\"selected\" let-disabled=\"disabled\"\n let-focused=\"focused\">\n <div ngbdatepickerdayview [class.bg-primary]=\"selected\" [class.outside]=\"date.month !== currentMonth\">\n {{ date.day }}\n </div>\n </ng-template>\n <ng-template #contentTemplate let-dp>\n <div class=\"p-2\">\n <div class=\"custom-month-grid\">\n @for (month of dp.state.months; track month.month) {\n <div class=\"d-flex justify-content-between\" style=\"height: 40px;\">\n <div class=\"d-inline-flex\">\n <span class=\"align-content-center me-2\">{{ dp.i18n.getMonthShortName(month.month) }}</span>\n <div class=\"dropdown custom-dropdown-wrapper-{{id}}\">\n <button\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center\"\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\n <span class=\"selected-text\">{{dp.state.focusedDate.year}}</span>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-end w-50\" style=\"max-height: 360px; overflow-y: auto;\">\n @for (year of years; track year; let i = $index) {\n <li (click)=\"navigateYear(dp, year);\">\n <span class=\"dropdown-item\" href=\"javascript:void(0);\" [attr.data-value]=\"year\"\n [ngClass]=\"{'active': dp.state.focusedDate.year === year}\">\n {{year}}\n </span>\n </li>\n }\n </ul>\n </div>\n </div>\n <div>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, -1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year <= minYear) && (minDate?.month && (+dp.state.focusedDate.month <= minDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\"\n style=\"transform: rotate(-180deg);\" />\n </button>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, 1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year >= maxYear) && (maxDate?.month && (+dp.state.focusedDate.month >= maxDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\" />\n </button>\n </div>\n </div>\n <ngb-datepicker-month [month]=\"month\"></ngb-datepicker-month>\n }\n </div>\n </div>\n </ng-template>\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"] }]
|
|
1373
1306
|
}] });
|
|
1374
1307
|
|
|
1375
1308
|
class ShareButtonComponent {
|
|
@@ -1380,25 +1313,9 @@ class ShareButtonComponent {
|
|
|
1380
1313
|
this.containerClasses = '';
|
|
1381
1314
|
this.description = '';
|
|
1382
1315
|
this.btnLabel = '';
|
|
1383
|
-
this.isPlatformCodeDesignSystem = false;
|
|
1384
1316
|
}
|
|
1385
1317
|
ngOnChanges() {
|
|
1386
|
-
|
|
1387
|
-
this.addShareStyleAndScript();
|
|
1388
|
-
}
|
|
1389
|
-
ngAfterViewInit() {
|
|
1390
|
-
const button = document.getElementsByClassName('sb-show-icon')[0];
|
|
1391
|
-
if (!this.isPlatformCodeDesignSystem) {
|
|
1392
|
-
if (!button.getAttribute('id')) {
|
|
1393
|
-
button.setAttribute('type', 'button');
|
|
1394
|
-
button.setAttribute('id', 'IPAShareBtn');
|
|
1395
|
-
const label = document.createElement('label');
|
|
1396
|
-
label.innerHTML = this.btnLabel;
|
|
1397
|
-
label.classList.add('sm-share-title');
|
|
1398
|
-
label.classList.add('me-1');
|
|
1399
|
-
button.before(label);
|
|
1400
|
-
}
|
|
1401
|
-
}
|
|
1318
|
+
this.addShareStyleAndScript();
|
|
1402
1319
|
}
|
|
1403
1320
|
alertSuccessCopy() {
|
|
1404
1321
|
this.toastrService.success('تم نسخ الرابط إلى الحافظة');
|
|
@@ -1415,12 +1332,12 @@ class ShareButtonComponent {
|
|
|
1415
1332
|
script.setAttribute('init', '');
|
|
1416
1333
|
document.body.appendChild(script);
|
|
1417
1334
|
}
|
|
1418
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1419
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1335
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ShareButtonComponent, deps: [{ token: i1.ToastrService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1336
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: ShareButtonComponent, isStandalone: false, selector: "ipa-share-button", inputs: { title: "title", tooltip: "tooltip", containerClasses: "containerClasses", description: "description", btnLabel: "btnLabel" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"dropdown {{containerClasses}}\">\r\n <button class=\"tp-link \" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" [title]=\"tooltip\">\r\n {{btnLabel}}\r\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/share-08.svg\">\r\n </button>\r\n <div id=\"share\" class=\"dropdown-menu shareon\" style=\"width: max-content\" [attr.data-text]=\"description\">\r\n <a class=\"twitter\" [attr.data-title]=\"title\"></a>\r\n <a class=\"whatsapp\" [attr.data-title]=\"title\"></a>\r\n <a class=\"facebook\" [attr.data-title]=\"title\"></a>\r\n <a class=\"linkedin\" [attr.data-title]=\"title\"></a>\r\n <a class=\"telegram\" [attr.data-title]=\"title\"></a>\r\n <a class=\"copy-url\" (click)=\"alertSuccessCopy()\"></a>\r\n </div>\r\n</div>", styles: [""] }); }
|
|
1420
1337
|
}
|
|
1421
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1338
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ShareButtonComponent, decorators: [{
|
|
1422
1339
|
type: Component,
|
|
1423
|
-
args: [{ selector: 'ipa-share-button', standalone: false, template: "
|
|
1340
|
+
args: [{ selector: 'ipa-share-button', standalone: false, template: "<div class=\"dropdown {{containerClasses}}\">\r\n <button class=\"tp-link \" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" [title]=\"tooltip\">\r\n {{btnLabel}}\r\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/share-08.svg\">\r\n </button>\r\n <div id=\"share\" class=\"dropdown-menu shareon\" style=\"width: max-content\" [attr.data-text]=\"description\">\r\n <a class=\"twitter\" [attr.data-title]=\"title\"></a>\r\n <a class=\"whatsapp\" [attr.data-title]=\"title\"></a>\r\n <a class=\"facebook\" [attr.data-title]=\"title\"></a>\r\n <a class=\"linkedin\" [attr.data-title]=\"title\"></a>\r\n <a class=\"telegram\" [attr.data-title]=\"title\"></a>\r\n <a class=\"copy-url\" (click)=\"alertSuccessCopy()\"></a>\r\n </div>\r\n</div>" }]
|
|
1424
1341
|
}], ctorParameters: () => [{ type: i1.ToastrService }], propDecorators: { title: [{
|
|
1425
1342
|
type: Input
|
|
1426
1343
|
}], tooltip: [{
|
|
@@ -1431,54 +1348,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
1431
1348
|
type: Input
|
|
1432
1349
|
}], btnLabel: [{
|
|
1433
1350
|
type: Input
|
|
1434
|
-
}], isPlatformCodeDesignSystem: [{
|
|
1435
|
-
type: Input
|
|
1436
1351
|
}] } });
|
|
1437
1352
|
|
|
1438
|
-
class ShareButtonModule {
|
|
1439
|
-
constructor(library) {
|
|
1440
|
-
library.addIconPacks(fas);
|
|
1441
|
-
}
|
|
1442
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ShareButtonModule, deps: [{ token: i1$1.FaIconLibrary }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1443
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: ShareButtonModule, declarations: [ShareButtonComponent], imports: [ShareIconsModule,
|
|
1444
|
-
ShareButtonsPopupModule,
|
|
1445
|
-
OverlayModule,
|
|
1446
|
-
FontAwesomeModule], exports: [ShareButtonComponent,
|
|
1447
|
-
ShareIconsModule,
|
|
1448
|
-
ShareButtonsPopupModule,
|
|
1449
|
-
OverlayModule,
|
|
1450
|
-
FontAwesomeModule] }); }
|
|
1451
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ShareButtonModule, imports: [ShareIconsModule,
|
|
1452
|
-
ShareButtonsPopupModule,
|
|
1453
|
-
OverlayModule,
|
|
1454
|
-
FontAwesomeModule, ShareIconsModule,
|
|
1455
|
-
ShareButtonsPopupModule,
|
|
1456
|
-
OverlayModule,
|
|
1457
|
-
FontAwesomeModule] }); }
|
|
1458
|
-
}
|
|
1459
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ShareButtonModule, decorators: [{
|
|
1460
|
-
type: NgModule,
|
|
1461
|
-
args: [{
|
|
1462
|
-
declarations: [ShareButtonComponent],
|
|
1463
|
-
imports: [
|
|
1464
|
-
ShareIconsModule,
|
|
1465
|
-
ShareButtonsPopupModule,
|
|
1466
|
-
OverlayModule,
|
|
1467
|
-
FontAwesomeModule,
|
|
1468
|
-
],
|
|
1469
|
-
exports: [
|
|
1470
|
-
ShareButtonComponent,
|
|
1471
|
-
ShareIconsModule,
|
|
1472
|
-
ShareButtonsPopupModule,
|
|
1473
|
-
OverlayModule,
|
|
1474
|
-
FontAwesomeModule,
|
|
1475
|
-
]
|
|
1476
|
-
}]
|
|
1477
|
-
}], ctorParameters: () => [{ type: i1$1.FaIconLibrary }] });
|
|
1478
|
-
|
|
1479
1353
|
class NgIPALibraryModule {
|
|
1480
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1481
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1354
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NgIPALibraryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1355
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: NgIPALibraryModule, declarations: [TextInputComponent,
|
|
1482
1356
|
TextareaInputComponent,
|
|
1483
1357
|
DropdownInputComponent,
|
|
1484
1358
|
LoaderComponent,
|
|
@@ -1487,7 +1361,8 @@ class NgIPALibraryModule {
|
|
|
1487
1361
|
DatepickerComponent,
|
|
1488
1362
|
HijriDatepickerComponent,
|
|
1489
1363
|
GregorianDatepickerComponent,
|
|
1490
|
-
RecaptchaComponent
|
|
1364
|
+
RecaptchaComponent,
|
|
1365
|
+
ShareButtonComponent], imports: [CommonModule,
|
|
1491
1366
|
FormsModule,
|
|
1492
1367
|
ReactiveFormsModule,
|
|
1493
1368
|
ToastrModule,
|
|
@@ -1495,7 +1370,6 @@ class NgIPALibraryModule {
|
|
|
1495
1370
|
NgxCaptchaModule,
|
|
1496
1371
|
PipesModule,
|
|
1497
1372
|
NgbDatepickerModule,
|
|
1498
|
-
ShareButtonModule,
|
|
1499
1373
|
NgSelectModule], exports: [TextInputComponent,
|
|
1500
1374
|
TextareaInputComponent,
|
|
1501
1375
|
DropdownInputComponent,
|
|
@@ -1505,9 +1379,9 @@ class NgIPALibraryModule {
|
|
|
1505
1379
|
PipesModule,
|
|
1506
1380
|
HijriDatepickerComponent,
|
|
1507
1381
|
GregorianDatepickerComponent,
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
1382
|
+
RecaptchaComponent,
|
|
1383
|
+
ShareButtonComponent] }); }
|
|
1384
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NgIPALibraryModule, imports: [CommonModule,
|
|
1511
1385
|
FormsModule,
|
|
1512
1386
|
ReactiveFormsModule,
|
|
1513
1387
|
ToastrModule,
|
|
@@ -1515,11 +1389,9 @@ class NgIPALibraryModule {
|
|
|
1515
1389
|
NgxCaptchaModule,
|
|
1516
1390
|
PipesModule,
|
|
1517
1391
|
NgbDatepickerModule,
|
|
1518
|
-
|
|
1519
|
-
NgSelectModule, PipesModule,
|
|
1520
|
-
ShareButtonModule] }); }
|
|
1392
|
+
NgSelectModule, PipesModule] }); }
|
|
1521
1393
|
}
|
|
1522
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1394
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NgIPALibraryModule, decorators: [{
|
|
1523
1395
|
type: NgModule,
|
|
1524
1396
|
args: [{
|
|
1525
1397
|
declarations: [
|
|
@@ -1533,6 +1405,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
1533
1405
|
HijriDatepickerComponent,
|
|
1534
1406
|
GregorianDatepickerComponent,
|
|
1535
1407
|
RecaptchaComponent,
|
|
1408
|
+
ShareButtonComponent
|
|
1536
1409
|
],
|
|
1537
1410
|
imports: [
|
|
1538
1411
|
CommonModule,
|
|
@@ -1543,7 +1416,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
1543
1416
|
NgxCaptchaModule,
|
|
1544
1417
|
PipesModule,
|
|
1545
1418
|
NgbDatepickerModule,
|
|
1546
|
-
ShareButtonModule,
|
|
1547
1419
|
NgSelectModule,
|
|
1548
1420
|
],
|
|
1549
1421
|
exports: [
|
|
@@ -1556,8 +1428,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
1556
1428
|
PipesModule,
|
|
1557
1429
|
HijriDatepickerComponent,
|
|
1558
1430
|
GregorianDatepickerComponent,
|
|
1559
|
-
ShareButtonModule,
|
|
1560
1431
|
RecaptchaComponent,
|
|
1432
|
+
ShareButtonComponent
|
|
1561
1433
|
],
|
|
1562
1434
|
}]
|
|
1563
1435
|
}] });
|
|
@@ -1608,10 +1480,10 @@ class LoadingInterceptor {
|
|
|
1608
1480
|
}
|
|
1609
1481
|
return false;
|
|
1610
1482
|
}
|
|
1611
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1612
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1483
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LoadingInterceptor, deps: [{ token: LoaderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1484
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LoadingInterceptor }); }
|
|
1613
1485
|
}
|
|
1614
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1486
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LoadingInterceptor, decorators: [{
|
|
1615
1487
|
type: Injectable
|
|
1616
1488
|
}], ctorParameters: () => [{ type: LoaderService }] });
|
|
1617
1489
|
|
|
@@ -1676,10 +1548,10 @@ class CommonService {
|
|
|
1676
1548
|
}
|
|
1677
1549
|
return html.join('\r\n');
|
|
1678
1550
|
}
|
|
1679
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1680
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1551
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CommonService, deps: [{ token: i1.ToastrService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1552
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CommonService, providedIn: 'root' }); }
|
|
1681
1553
|
}
|
|
1682
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1554
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CommonService, decorators: [{
|
|
1683
1555
|
type: Injectable,
|
|
1684
1556
|
args: [{
|
|
1685
1557
|
providedIn: 'root',
|
|
@@ -1727,10 +1599,10 @@ class ErrorService {
|
|
|
1727
1599
|
});
|
|
1728
1600
|
messageToast.appendChild(icon);
|
|
1729
1601
|
}
|
|
1730
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1731
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1602
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ErrorService, deps: [{ token: i1.ToastrService }, { token: CommonService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1603
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ErrorService, providedIn: 'root' }); }
|
|
1732
1604
|
}
|
|
1733
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1605
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ErrorService, decorators: [{
|
|
1734
1606
|
type: Injectable,
|
|
1735
1607
|
args: [{
|
|
1736
1608
|
providedIn: 'root',
|
|
@@ -1771,10 +1643,10 @@ class ErrorInterceptor {
|
|
|
1771
1643
|
}
|
|
1772
1644
|
return false;
|
|
1773
1645
|
}
|
|
1774
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1775
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1646
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ErrorInterceptor, deps: [{ token: ErrorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1647
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ErrorInterceptor }); }
|
|
1776
1648
|
}
|
|
1777
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1649
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ErrorInterceptor, decorators: [{
|
|
1778
1650
|
type: Injectable
|
|
1779
1651
|
}], ctorParameters: () => [{ type: ErrorService }] });
|
|
1780
1652
|
|
|
@@ -1838,10 +1710,10 @@ class AuthService {
|
|
|
1838
1710
|
.join(''));
|
|
1839
1711
|
return JSON.parse(jsonPayload);
|
|
1840
1712
|
}
|
|
1841
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1842
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1713
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1714
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AuthService, providedIn: 'root' }); }
|
|
1843
1715
|
}
|
|
1844
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1716
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AuthService, decorators: [{
|
|
1845
1717
|
type: Injectable,
|
|
1846
1718
|
args: [{
|
|
1847
1719
|
providedIn: 'root',
|
|
@@ -1858,10 +1730,10 @@ class TokenService {
|
|
|
1858
1730
|
addExceptionUrl(url) {
|
|
1859
1731
|
this.urls.push(url);
|
|
1860
1732
|
}
|
|
1861
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1862
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1733
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TokenService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1734
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TokenService, providedIn: 'root' }); }
|
|
1863
1735
|
}
|
|
1864
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1736
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TokenService, decorators: [{
|
|
1865
1737
|
type: Injectable,
|
|
1866
1738
|
args: [{
|
|
1867
1739
|
providedIn: 'root',
|
|
@@ -1936,12 +1808,12 @@ class TokenInterceptor {
|
|
|
1936
1808
|
}
|
|
1937
1809
|
return false;
|
|
1938
1810
|
}
|
|
1939
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1940
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1811
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TokenInterceptor, deps: [{ token: AuthService }, { token: i2$3.HttpClient }, { token: LoaderService }, { token: TokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1812
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TokenInterceptor }); }
|
|
1941
1813
|
}
|
|
1942
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1814
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TokenInterceptor, decorators: [{
|
|
1943
1815
|
type: Injectable
|
|
1944
|
-
}], ctorParameters: () => [{ type: AuthService }, { type: i2$
|
|
1816
|
+
}], ctorParameters: () => [{ type: AuthService }, { type: i2$3.HttpClient }, { type: LoaderService }, { type: TokenService }] });
|
|
1945
1817
|
|
|
1946
1818
|
class myIPATokenInterceptor {
|
|
1947
1819
|
constructor(authService, tokenService) {
|
|
@@ -1970,10 +1842,10 @@ class myIPATokenInterceptor {
|
|
|
1970
1842
|
}
|
|
1971
1843
|
return false;
|
|
1972
1844
|
}
|
|
1973
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1974
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1845
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: myIPATokenInterceptor, deps: [{ token: AuthService }, { token: TokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1846
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: myIPATokenInterceptor }); }
|
|
1975
1847
|
}
|
|
1976
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1848
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: myIPATokenInterceptor, decorators: [{
|
|
1977
1849
|
type: Injectable
|
|
1978
1850
|
}], ctorParameters: () => [{ type: AuthService }, { type: TokenService }] });
|
|
1979
1851
|
|
|
@@ -2114,10 +1986,10 @@ class BreadcrumbsService {
|
|
|
2114
1986
|
lastSpan?.classList.add(...['bc-current']);
|
|
2115
1987
|
lastSpan.innerHTML = lastSpanLink.innerHTML;
|
|
2116
1988
|
}
|
|
2117
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2118
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1989
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BreadcrumbsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1990
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BreadcrumbsService, providedIn: 'root' }); }
|
|
2119
1991
|
}
|
|
2120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1992
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BreadcrumbsService, decorators: [{
|
|
2121
1993
|
type: Injectable,
|
|
2122
1994
|
args: [{
|
|
2123
1995
|
providedIn: 'root',
|
|
@@ -2281,10 +2153,10 @@ class BreadcrumbsV2Service {
|
|
|
2281
2153
|
const span = this.createSpan(lastSpan.innerHTML);
|
|
2282
2154
|
lastSpan.replaceWith(span);
|
|
2283
2155
|
}
|
|
2284
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2285
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2156
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BreadcrumbsV2Service, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2157
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BreadcrumbsV2Service, providedIn: 'root' }); }
|
|
2286
2158
|
}
|
|
2287
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BreadcrumbsV2Service, decorators: [{
|
|
2288
2160
|
type: Injectable,
|
|
2289
2161
|
args: [{
|
|
2290
2162
|
providedIn: 'root',
|
|
@@ -2300,5 +2172,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
2300
2172
|
* Generated bundle index. Do not edit.
|
|
2301
2173
|
*/
|
|
2302
2174
|
|
|
2303
|
-
export { AuthService, BreadcrumbsService, BreadcrumbsV2Service, CommonService, DropdownInputComponent, ErrorInterceptor, ErrorService, FileUploadComponent, GenerateFormComponent, GregorianDatepickerComponent, HijriDatePipe, HijriDatepickerComponent, IPAFormService, LoaderComponent, LoaderService, LoadingInterceptor, NgIPALibraryModule, PipesModule, RecaptchaComponent, ShareButtonComponent,
|
|
2175
|
+
export { AuthService, BreadcrumbsService, BreadcrumbsV2Service, CommonService, DropdownInputComponent, ErrorInterceptor, ErrorService, FileUploadComponent, GenerateFormComponent, GregorianDatepickerComponent, HijriDatePipe, HijriDatepickerComponent, IPAFormService, LoaderComponent, LoaderService, LoadingInterceptor, NgIPALibraryModule, PipesModule, RecaptchaComponent, ShareButtonComponent, TextInputComponent, TextareaInputComponent, TokenInterceptor, TokenService, myIPATokenInterceptor };
|
|
2304
2176
|
//# sourceMappingURL=ng-ipa-library.mjs.map
|