ng-ipa-library 0.6.12 → 0.7.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.
@@ -1 +1 @@
1
- {"version":3,"file":"ng-ipa-library.umd.js","sources":["../../../projects/ng-ipa-library/src/lib/pipes/hijri-date.pipe.ts","../../../projects/ng-ipa-library/src/lib/pipes/pipes.module.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/ipa-form.service.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/text-input/text-input.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/text-input/text-input.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/textarea-input/textarea-input.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/textarea-input/textarea-input.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/dropdown-input/dropdown-input.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/dropdown-input/dropdown-input.component.html","../../../projects/ng-ipa-library/src/lib/core/services/loader.service.ts","../../../projects/ng-ipa-library/src/lib/core/components/loading/loading.component.ts","../../../projects/ng-ipa-library/src/lib/core/components/loading/loading.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/file-upload/file-upload.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/file-upload/file-upload.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/recaptcha/recaptcha.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/recaptcha/recaptcha.component.html","../../../projects/ng-ipa-library/src/lib/generate-form/generate-form.component.ts","../../../projects/ng-ipa-library/src/lib/generate-form/generate-form.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/datepicker.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/datepicker.component.html","../../../node_modules/tslib/tslib.es6.js","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/hijri-datepicker/IslamicI18n.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/gregorian-datepicker/gregorian18n.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component.ts","../../../projects/ng-ipa-library/src/lib/share-button/share-button.component.ts","../../../projects/ng-ipa-library/src/lib/share-button/share-button.component.html","../../../projects/ng-ipa-library/src/lib/share-button/share-button.module.ts","../../../projects/ng-ipa-library/src/lib/ng-ipa-library.module.ts","../../../projects/ng-ipa-library/src/lib/core/interceptors/loading.interceptor.ts","../../../projects/ng-ipa-library/src/lib/core/services/error.service.ts","../../../projects/ng-ipa-library/src/lib/core/interceptors/error.interceptor.ts","../../../projects/ng-ipa-library/src/lib/core/services/auth.service.ts","../../../projects/ng-ipa-library/src/lib/core/interceptors/token.interceptor.ts","../../../projects/ng-ipa-library/src/lib/services/breadcrumbs.service.ts","../../../projects/ng-ipa-library/src/lib/services/common.service.ts","../../../projects/ng-ipa-library/src/public-api.ts","../../../projects/ng-ipa-library/src/ng-ipa-library.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\nimport momentHijri from 'moment-hijri';\r\n@Pipe({\r\n name: 'hijriDate',\r\n})\r\nexport class HijriDatePipe implements PipeTransform {\r\n transform(\r\n date: string,\r\n format: string = 'iYYYY-iMM-iDD',\r\n lang: 'ar' | 'en' = 'en'\r\n ): string {\r\n momentHijri.locale(lang);\r\n return momentHijri(date).format(format);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { HijriDatePipe } from './hijri-date.pipe';\r\n\r\n@NgModule({\r\n declarations: [HijriDatePipe],\r\n exports: [HijriDatePipe],\r\n})\r\nexport class PipesModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { AbstractControl, FormControl, ValidationErrors } from '@angular/forms';\r\nimport momentHijri from 'moment-hijri';\r\nimport { Moment } from 'moment';\r\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class IPAFormService {\r\n constructor(private parserFormatter: NgbDateParserFormatter) {}\r\n\r\n /**\r\n * check link is valid.\r\n */\r\n static linkValidation(control: AbstractControl): ValidationErrors | null {\r\n const isValidLink =\r\n /^((https?:\\/\\/)[\\w-]+(\\.[a-z-]+)+\\.?(:\\d+)?(\\/\\S*)?)$/.test(\r\n control.value\r\n );\r\n return isValidLink || !control.value ? null : { link: true };\r\n }\r\n\r\n /**\r\n * check mp4 link is valid.\r\n */\r\n static mp4LinkValidation(control: AbstractControl): ValidationErrors | null {\r\n const isValidLink =\r\n /^((https?:\\/\\/)[\\w-]+(\\.[a-z-]+)+\\.?(:\\d+)?(\\/\\S*)?(\\/[\\w\\u0600-\\u06FF]+\\.mp4))$/.test(\r\n control.value\r\n );\r\n return isValidLink || !control.value ? null : { linkMP4: true };\r\n }\r\n\r\n /**\r\n * check mobile number is valid.\r\n */\r\n static mobileNo(control: AbstractControl): ValidationErrors | null {\r\n const isValidLink = /^05\\d{8}$/.test(control.value);\r\n return isValidLink || !control.value ? null : { mobileNo: true };\r\n }\r\n\r\n /**\r\n * check email is valid.\r\n */\r\n static email(control: AbstractControl): ValidationErrors | null {\r\n const isValidLink =\r\n /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/.test(\r\n control.value\r\n );\r\n return isValidLink || !control.value ? null : { Email: true };\r\n }\r\n\r\n /**\r\n * check national ID or iqama ID is valid.\r\n */\r\n static checkID(control: AbstractControl): ValidationErrors | null {\r\n let isValid = false;\r\n const value = control.value;\r\n if (\r\n IPAFormService.nationalIdValidate(value) ||\r\n IPAFormService.iqamaIdValidate(value)\r\n ) {\r\n isValid = true;\r\n } else {\r\n isValid = false;\r\n }\r\n return isValid || !value ? null : { checkId: true };\r\n }\r\n\r\n getErrorMessage(control: FormControl, patternErrorMsg = ''): string | null {\r\n for (const propertyName in control?.errors) {\r\n if (\r\n control?.errors.hasOwnProperty(propertyName) &&\r\n (control.touched || control.dirty)\r\n ) {\r\n return this.getValidatorErrorMessage(\r\n propertyName,\r\n control.errors[propertyName],\r\n patternErrorMsg\r\n );\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * convert gregorian date to hijri date (Based on Umm al-Qura calculations).\r\n * @param date: gregorian date\r\n * @param format: iDD => day: ١٥, iMM => month: ٠٤, iMMM => month: ربيع ٢,\r\n * iMMMM => ربيع الثاني, iYY => year: ٤٢, iYYYY => year: ١٤٤٢,\r\n * dd => ن, ddd => إثنين, dddd => الإثنين\r\n * @example 'iYYYY/iM/iDهـ الموافق YYYY/M/Dم'\r\n * '١٤٤٢/٠٤/١٥هـ الموافق ٢٠٢٠/١١/٣٠'\r\n */\r\n convertToHijriDate(\r\n date: string,\r\n format = 'iYYYY-iMM-iDD',\r\n lang = 'ar-SA'\r\n ): string {\r\n momentHijri.locale(lang);\r\n return momentHijri(date).format(format);\r\n }\r\n\r\n convertToGregorianDate(\r\n date: Moment,\r\n format = 'YYYY-MM-DD',\r\n lang = 'en'\r\n ): string {\r\n momentHijri.locale(lang);\r\n const m = momentHijri.iConvert.toGregorian(\r\n date.year(),\r\n date.month(),\r\n date.date()\r\n );\r\n return momentHijri(new Date(m.gy, m.gm, m.gd)).format(format);\r\n }\r\n\r\n getCurrentHijriDate() {\r\n momentHijri.locale('en');\r\n return momentHijri().format('iYYYY/iMM/iDD');\r\n }\r\n\r\n private getValidatorErrorMessage(\r\n validatorName: string,\r\n validatorValue: any,\r\n patternErrorMsg: string\r\n ): string {\r\n if (validatorName === 'pattern') {\r\n validatorValue = this.addPatternMsg(validatorValue, patternErrorMsg);\r\n }\r\n const config: any = {\r\n required: 'هذا الحقل مطلوب',\r\n pattern: `${validatorValue.message}`,\r\n Email: 'خطأ في البريد الالكتروني (example@ipa.edu.sa)',\r\n maxlength: `تجاوز عدد الحقل المسموح بها (${validatorValue.requiredLength}) حرف`,\r\n minlength: `على الأقل عدد ${validatorValue.requiredLength} حرف.`,\r\n min: `رقم اكبر من أو يساوي ${validatorValue.min}`,\r\n max: `رقم اصغر من أو يساوي ${validatorValue.max}`,\r\n ngbDate: this.getNgbDatepickerErrorMsg(validatorValue),\r\n checkId: 'رقم الهوية أو الاقامة غير صحيح',\r\n link: 'الرابط غير صحيح (http://google.com)',\r\n linkMP4: 'الرابط غير صحيح (http://example.com/a.mp4)',\r\n mobileNo: 'خطأ في رقم الجوال (05xxxxxxxx)',\r\n };\r\n return config[validatorName];\r\n }\r\n\r\n private addPatternMsg(validatorValue: any, patternErrorMsg: string) {\r\n let pattern = {\r\n ...validatorValue,\r\n message: patternErrorMsg,\r\n };\r\n return pattern;\r\n }\r\n\r\n private getNgbDatepickerErrorMsg(validatorValue: any): string {\r\n let msg = '';\r\n if (validatorValue.maxDate) {\r\n msg = `التاريخ المدخل \"${this.parserFormatter.format(\r\n validatorValue.maxDate.actual\r\n )}\" اكبر من تاريخ اليوم \"${this.parserFormatter.format(\r\n validatorValue.maxDate.maxDate\r\n )}\"`;\r\n } else if (validatorValue.minDate) {\r\n msg = `التاريخ المدخل \"${this.parserFormatter.format(\r\n validatorValue.minDate.actual\r\n )}\" يجب ان يكون اكبر من أو يساوي تاريخ البداية \"${this.parserFormatter.format(\r\n validatorValue.minDate.minDate\r\n )}\"`;\r\n } else if (validatorValue.invalid) {\r\n msg = `التاريخ المدخل غير صحيح ${validatorValue.invalid}.`;\r\n }\r\n return msg;\r\n }\r\n\r\n private static convertToEn(value: string) {\r\n let newValue = '';\r\n for (let i = 0; i < value.length; i++) {\r\n let ch = value.charCodeAt(i);\r\n if (ch >= 1584 && ch <= 1650) {\r\n let newChar = ch - 1584;\r\n newValue = newValue + String.fromCharCode(newChar);\r\n } else {\r\n newValue = newValue + String.fromCharCode(ch);\r\n }\r\n }\r\n return newValue;\r\n }\r\n\r\n private static nationalIdValidate(civilId: string): boolean {\r\n if (civilId) {\r\n let strID = this.convertToEn(civilId);\r\n let digits = '';\r\n let counter = 0;\r\n while (counter < 9) {\r\n if ((counter + 1) % 2 == 0) {\r\n digits = digits + strID.substring(counter, counter + 1);\r\n } else {\r\n digits =\r\n digits + (+strID.substring(counter, counter + 1) * 2).toString();\r\n }\r\n counter++;\r\n }\r\n let intSum = 0;\r\n let intSumTemp = 0;\r\n let strSum;\r\n let intOddSumDigit;\r\n let CheckDigit;\r\n counter = 0;\r\n while (counter < digits.length) {\r\n intSumTemp = +digits.charAt(counter) * 1;\r\n intSum += intSumTemp;\r\n counter++;\r\n }\r\n strSum = intSum.toString();\r\n if (strSum.length == 1) {\r\n intOddSumDigit = intSum;\r\n } else {\r\n intOddSumDigit = strSum.substring(strSum.length, strSum.length - 1);\r\n }\r\n if (intOddSumDigit == 0) {\r\n CheckDigit = 0;\r\n } else {\r\n CheckDigit = (10 - +intOddSumDigit).toString();\r\n }\r\n let PublicID = this.convertToEn(civilId);\r\n if (\r\n CheckDigit ==\r\n PublicID.substring(PublicID.length - 1, PublicID.length) &&\r\n strID.length == 10 &&\r\n strID.substring(0, 1) == '1'\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n private static iqamaIdValidate(civilId: string): boolean {\r\n if (civilId) {\r\n let strID = this.convertToEn(civilId);\r\n let digits = '';\r\n let counter = 0;\r\n while (counter < 9) {\r\n if ((counter + 1) % 2 == 0) {\r\n digits = digits + strID.substring(counter, counter + 1);\r\n } else {\r\n digits =\r\n digits + (+strID.substring(counter, counter + 1) * 2).toString();\r\n }\r\n counter++;\r\n }\r\n let intSum = 0;\r\n let intSumTemp = 0;\r\n let strSum;\r\n let intOddSumDigit;\r\n let CheckDigit;\r\n counter = 0;\r\n while (counter < digits.length) {\r\n intSumTemp = +digits.charAt(counter) * 1;\r\n intSum += intSumTemp;\r\n counter++;\r\n }\r\n strSum = intSum.toString();\r\n if (strSum.length == 1) {\r\n intOddSumDigit = intSum;\r\n } else {\r\n intOddSumDigit = strSum.substring(strSum.length, strSum.length - 1);\r\n }\r\n if (intOddSumDigit == 0) {\r\n CheckDigit = 0;\r\n } else {\r\n CheckDigit = (10 - +intOddSumDigit).toString();\r\n }\r\n let PublicID = this.convertToEn(civilId);\r\n if (\r\n CheckDigit ==\r\n PublicID.substring(PublicID.length - 1, PublicID.length) &&\r\n strID.length == 10 &&\r\n strID.substring(0, 1) == '2'\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n Self,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormControl, NgControl } from '@angular/forms';\r\nimport { IPAFormService } from '../ipa-form.service';\r\n\r\n@Component({\r\n selector: 'ipa-text-input',\r\n templateUrl: './text-input.component.html',\r\n styleUrls: ['./text-input.component.scss'],\r\n})\r\nexport class TextInputComponent implements OnInit {\r\n @ViewChild('input', { static: true }) input!: ElementRef;\r\n @Input() id!: string;\r\n @Input() type = 'text';\r\n @Input() placeholder = 'please enter text';\r\n @Input() label: string = 'text input';\r\n @Input() required = false;\r\n @Input() patternErrorMsg = 'invalid pattern';\r\n @Input() pattern = '';\r\n @Input() classes!: string;\r\n @Input() containerClasses!: string;\r\n formControl: FormControl = new FormControl('');\r\n errorMsg!: string | null;\r\n\r\n constructor(\r\n private validationService: IPAFormService,\r\n @Self() public controlDir: NgControl\r\n ) {\r\n this.controlDir.valueAccessor = this;\r\n }\r\n\r\n ngOnInit(): void {\r\n const control = this.controlDir.control;\r\n const validators = control?.validator ? [control.validator] : [];\r\n\r\n control?.setValidators(validators);\r\n control?.updateValueAndValidity();\r\n this.formControl = control as FormControl;\r\n }\r\n\r\n onChange(event: any): void {}\r\n\r\n onTouched(): void {}\r\n writeValue(obj: any): void {\r\n this.input.nativeElement.value = obj || '';\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n get errorMessage(): string | null {\r\n this.errorMsg = this.validationService.getErrorMessage(\r\n this.formControl,\r\n this.patternErrorMsg\r\n );\r\n return this.errorMsg;\r\n }\r\n}\r\n","<div class=\"form-floating {{containerClasses}}\">\r\n <input #input id=\"{{id}}\" class=\"form-control {{classes}}\" [type]=\"type\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\">\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>","import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n Self,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormControl, NgControl } from '@angular/forms';\r\nimport { IPAFormService } from '../ipa-form.service';\r\n\r\n@Component({\r\n selector: 'ipa-textarea-input',\r\n templateUrl: './textarea-input.component.html',\r\n styleUrls: ['./textarea-input.component.scss'],\r\n})\r\nexport class TextareaInputComponent implements OnInit {\r\n @ViewChild('input', { static: true }) input: ElementRef<any> =\r\n new ElementRef<any>(null);\r\n @Input() id!: string;\r\n @Input() placeholder = 'please enter text';\r\n @Input() label: string = 'textarea input';\r\n @Input() required = false;\r\n @Input() patternErrorMsg = 'invalid pattern';\r\n @Input() pattern!: string;\r\n @Input() classes!: string;\r\n @Input() containerClasses!: string;\r\n formControl: FormControl = new FormControl('');\r\n errorMsg!: string | null;\r\n\r\n constructor(\r\n private validationService: IPAFormService,\r\n @Self() public controlDir: NgControl\r\n ) {\r\n this.controlDir.valueAccessor = this;\r\n }\r\n\r\n ngOnInit(): void {\r\n const control = this.controlDir.control;\r\n const validators = control?.validator ? [control.validator] : [];\r\n\r\n control?.setValidators(validators);\r\n control?.updateValueAndValidity();\r\n this.formControl = control as FormControl;\r\n }\r\n\r\n onChange(event: any): void {}\r\n\r\n onTouched(): void {}\r\n writeValue(obj: any): void {\r\n this.input.nativeElement.value = obj || '';\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n get errorMessage(): string | null {\r\n this.errorMsg = this.validationService.getErrorMessage(\r\n this.formControl,\r\n this.patternErrorMsg\r\n );\r\n return this.errorMsg;\r\n }\r\n}\r\n","<div class=\"form-floating {{containerClasses}}\">\r\n <textarea #input id=\"{{id}}\" class=\"form-control {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\">\r\n </textarea>\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>","import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n Self,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormControl, NgControl } from '@angular/forms';\r\nimport { IPAFormService } from '../ipa-form.service';\r\n\r\n@Component({\r\n selector: 'ipa-dropdown-input',\r\n templateUrl: './dropdown-input.component.html',\r\n styleUrls: ['./dropdown-input.component.scss'],\r\n})\r\nexport class DropdownInputComponent implements OnInit {\r\n @ViewChild('select', { static: true }) input: ElementRef<any> =\r\n new ElementRef<any>(null);\r\n @Input() id!: string;\r\n @Input() label: string = 'text input';\r\n @Input() items: any[] = [];\r\n @Input() textField!: string;\r\n @Input() valueField!: string;\r\n @Input() required = true;\r\n @Input() disabled = false;\r\n @Input() patternErrorMsg = 'invalid pattern';\r\n @Input() pattern!: string;\r\n @Input() classes!: string;\r\n @Input() containerClasses!: string;\r\n formControl: FormControl = new FormControl('');\r\n errorMsg!: string | null;\r\n\r\n constructor(\r\n private validationService: IPAFormService,\r\n @Self() public controlDir: NgControl\r\n ) {\r\n this.controlDir.valueAccessor = this;\r\n }\r\n\r\n ngOnInit(): void {\r\n const control = this.controlDir.control;\r\n const validators = control?.validator ? [control.validator] : [];\r\n\r\n control?.setValidators(validators);\r\n control?.updateValueAndValidity();\r\n this.formControl = control as FormControl;\r\n }\r\n\r\n onChange(event: any): void {}\r\n\r\n onTouched(): void {}\r\n writeValue(obj: any): void {\r\n this.input.nativeElement.value = obj || '';\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n get errorMessage(): string | null {\r\n this.errorMsg = this.validationService.getErrorMessage(\r\n this.formControl,\r\n this.patternErrorMsg\r\n );\r\n return this.errorMsg;\r\n }\r\n}\r\n","<div class=\"form-floating {{containerClasses}}\"\r\n [ngClass]=\"{'was-validated': (controlDir.control?.dirty || controlDir.control?.touched) && required}\">\r\n <select #select id=\"{{id}}\" class=\"form-select {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n [formControl]=\"formControl\">\r\n <option *ngFor=\"let item of items\" [value]=\"valueField ? item[valueField] : item\">\r\n {{textField ? item[textField] : item}}</option>\r\n </select>\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>","import { HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ExceptionUrl } from '../../models/exceptionUrl.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoaderService {\r\n public isLoading = new BehaviorSubject(false);\r\n urls: ExceptionUrl[] = [];\r\n constructor() {}\r\n\r\n setExceptionUrls(urls: ExceptionUrl[]) {\r\n this.urls = urls;\r\n }\r\n\r\n addExceptionUrl(url: ExceptionUrl) {\r\n this.urls.push(url);\r\n }\r\n}\r\n","import { AfterViewInit, ChangeDetectorRef, Component } from '@angular/core';\r\nimport { LoaderService } from '../../services/loader.service';\r\n\r\n@Component({\r\n selector: 'ipa-loader',\r\n templateUrl: './loading.component.html',\r\n styleUrls: ['./loading.component.scss'],\r\n})\r\nexport class LoaderComponent implements AfterViewInit {\r\n loading!: boolean;\r\n\r\n constructor(\r\n private loaderService: LoaderService,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.loaderService.isLoading.subscribe((v) => {\r\n this.loading = v;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n}\r\n","<div id=\"cover-spin\" [class.d-none]=\"!loading\">\r\n <div class=\"spinner\"></div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DropzoneConfigInterface, DropzoneDirective } from 'ngx-dropzone-wrapper';\r\n\r\n@Component({\r\n selector: 'ipa-file-upload',\r\n templateUrl: './file-upload.component.html',\r\n styleUrls: ['./file-upload.component.scss']\r\n})\r\nexport class FileUploadComponent implements OnInit {\r\n @ViewChild(DropzoneDirective, { static: false })\r\n dropzoneDir!: DropzoneDirective;\r\n @Input() label = '';\r\n @Input() required = false;\r\n @Input() acceptedFiles = '';\r\n @Input() multiple = 1; // set maxFiles (NOT uploadMultiple)in the config object,\r\n @Input() maxFileSize = 2;\r\n @Input() method = 'POST';\r\n @Input() autoUpload = false;\r\n @Input() apiUrl = 'apiUrl';\r\n @Input() authorization!: string;\r\n @Output() successUpload = new EventEmitter();\r\n @Output() fileAdded = new EventEmitter();\r\n @Output() fileDeleted = new EventEmitter();\r\n dragEnter = false;\r\n errors: string[] = [];\r\n config!: DropzoneConfigInterface;\r\n filesAdded: File[] = [];\r\n currentFiles: File[] = [];\r\n\r\n constructor(\r\n // private authService: AuthService,\r\n private toastrService: ToastrService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.label = 'رفع ' + this.label;\r\n this.config = {\r\n url: this.apiUrl,\r\n method: this.method,\r\n headers: {\r\n Authorization: 'Bearer ' + this.authorization,\r\n },\r\n maxFilesize: this.maxFileSize,\r\n maxFiles: this.multiple,\r\n uploadMultiple: this.multiple > 1,\r\n dictInvalidFileType: 'صيغة الملف غير مسموح بها',\r\n dictFileTooBig: 'الحجم تجاوز الحد المسموح',\r\n dictMaxFilesExceeded:\r\n 'الرجاء حذف الملفات الموجودة حاليا لتتمكن من رفع هذا الملف',\r\n acceptedFiles: this.acceptedFiles,\r\n autoProcessQueue: this.autoUpload,\r\n previewTemplate: '<span></span>',\r\n };\r\n }\r\n\r\n operationCompleted(e: any): void {\r\n if (this.filesAdded.length > 0) {\r\n this.successUpload.emit(this.filesAdded);\r\n this.filesAdded = [];\r\n }\r\n this.dropzoneDir.reset();\r\n }\r\n\r\n onUploadSuccess(e: any): void {\r\n const file = e[0];\r\n if (file.status === 'success') {\r\n this.filesAdded.push(file);\r\n }\r\n\r\n this.toastrService.success('تم تحميل المرفقات بنجاح');\r\n }\r\n\r\n onUploadError(e: any): void {\r\n if (e[1]) {\r\n this.errors = [];\r\n this.errors.push(`${e[1]} (${e[0].name})`);\r\n }\r\n }\r\n\r\n fileWasAdded(e: File): void {\r\n const myDropzone = this.dropzoneDir.dropzone();\r\n if (this.multiple === 1) {\r\n this.currentFiles = [];\r\n this.filesAdded = [];\r\n this.errors = [];\r\n const files = myDropzone.files;\r\n if (files.length > 1) {\r\n myDropzone.removeFile(files[0]);\r\n }\r\n }\r\n this.currentFiles.push(e);\r\n this.fileAdded.emit(e);\r\n }\r\n\r\n sending(e: any): void {\r\n this.errors = [];\r\n }\r\n\r\n reset(e: any): void {}\r\n\r\n deleteFile(file: any): void {\r\n this.currentFiles = this.currentFiles.filter(\r\n (x) => x.name !== file.name && x.size !== file.size\r\n );\r\n this.errors = [];\r\n this.fileDeleted.emit();\r\n }\r\n}\r\n","<div class=\"file-upload\">\r\n <div class=\"upload-overlay\" [dropzone]=\"config\" (error)=\"onUploadError($event)\"\r\n (queueComplete)=\"operationCompleted($event)\" (success)=\"onUploadSuccess($event)\" (dragenter)=\"dragEnter = true\"\r\n (dragLeave)=\"dragEnter = false\" (drop)=\"dragEnter = false\" (dragEnd)=\"dragEnter = false\"\r\n [class.active-border]=\"dragEnter\" (sending)=\"sending($event)\" (reset)=\"reset($event)\"\r\n (addedFile)=\"fileWasAdded($event)\">\r\n </div>\r\n <div class=\"upload-btn-wrapper\">\r\n <div>\r\n <div class=\"subtitle mb-2\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"required\">*</span>\r\n </div>\r\n <hr>\r\n <span style=\"font-size: 12px;\">قم بسحب الملف أو اضغط هنا</span>\r\n <i class=\"fas fa-upload upload-icon mr-2\"></i>\r\n </div>\r\n <div *ngIf=\"acceptedFiles.length > 0\" class=\"allowed-extensions\">\r\n الصيغة المسموح بها:\r\n <span class=\"extensions\">{{ acceptedFiles }}</span>\r\n </div>\r\n <div class=\"allowed-extensions\">\r\n اقصى حجم للمرفق:\r\n <span class=\"extensions\">{{ maxFileSize }} MB</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"attachment-status\" style=\"text-align: center; margin-top:10px;\">\r\n <span style=\"font-size: 14px; margin: auto; font-weight:bold;\" *ngFor=\"let file of currentFiles\">\r\n {{ file.name }} <i (click)=\"deleteFile(file)\" class=\"fas fa-trash\"\r\n style=\"color:firebrick; cursor: pointer;\"></i>\r\n <br>\r\n </span>\r\n <ul class=\"list-unstyled\">\r\n <li class=\"text-danger\" style=\"font-size: 12px;\" *ngFor=\"let error of errors\">{{error}}</li>\r\n </ul>\r\n</div>","import { Component, Input, OnInit, Self } from '@angular/core';\nimport { FormControl, NgControl } from '@angular/forms';\n\n@Component({\n selector: 'ipa-recaptcha',\n templateUrl: './recaptcha.component.html',\n styleUrls: ['./recaptcha.component.scss'],\n})\nexport class RecaptchaComponent implements OnInit {\n @Input() siteKey = '6LefJQYdAAAAAIlxmfkjNlWidMk8VukIZcs6lO5e';\n @Input() recaptchaSize: 'compact' | 'normal' = 'normal';\n @Input() lang = 'ar';\n @Input() recaptchaType: 'image' | 'audio' = 'image';\n @Input() theme: 'light' | 'dark' = 'light';\n @Input() useGlobalDomain = true;\n formControl: FormControl = new FormControl('');\n constructor(@Self() public controlDir: NgControl) {\n this.controlDir.valueAccessor = this;\n }\n\n ngOnInit(): void {\n const control = this.controlDir.control;\n const validators = control?.validator ? [control.validator] : [];\n\n control?.setValidators(validators);\n control?.updateValueAndValidity();\n this.formControl = control as FormControl;\n }\n\n onChange(event: any): void {}\n\n onTouched(): void {}\n writeValue(obj: any): void {}\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n}\n","<ngx-recaptcha2 [siteKey]=\"siteKey\" [size]=\"recaptchaSize\" [hl]=\"lang\" [theme]=\"theme\" [type]=\"recaptchaType\"\n [useGlobalDomain]=\"useGlobalDomain\" [formControl]=\"formControl\">\n</ngx-recaptcha2>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport {\r\n FormArray,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { IPAFormService } from '../ipa-form/ipa-form.service';\r\nimport { Column, GenerateForm } from '../models/generateForm.model';\r\n\r\n@Component({\r\n selector: 'ipa-generate-form',\r\n templateUrl: './generate-form.component.html',\r\n styleUrls: ['./generate-form.component.scss'],\r\n})\r\nexport class GenerateFormComponent implements OnInit {\r\n @Input() generateForm!: FormGroup;\r\n @Input() form!: GenerateForm;\r\n\r\n // recaptcha inputs\r\n @Input() siteKey!: string;\r\n @Input() recaptchaSize: 'compact' | 'normal' = 'normal';\r\n @Input() lang = 'ar';\r\n @Input() recaptchaType: 'image' | 'audio' = 'image';\r\n @Input() theme: 'light' | 'dark' = 'light';\r\n @Input() useGlobalDomain = true;\r\n\r\n // file upload outputs\r\n @Output() successUpload = new EventEmitter();\r\n @Output() fileAdded = new EventEmitter();\r\n @Output() fileDeleted = new EventEmitter();\r\n\r\n errorMsg!: string | null;\r\n\r\n constructor(private validationService: IPAFormService) {}\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n }\r\n\r\n get formControls() {\r\n return this.generateForm.get('items') as FormArray;\r\n }\r\n\r\n getErrorMessage(formControlName: string): string | null {\r\n const formControl = this.generateForm.controls[\r\n formControlName\r\n ] as FormControl;\r\n this.errorMsg = this.validationService.getErrorMessage(formControl);\r\n return this.errorMsg;\r\n }\r\n\r\n SuccessUpload(event: any) {\r\n this.successUpload.emit(event);\r\n }\r\n\r\n FileAdded(file: any, formControlName: string) {\r\n this.generateForm.controls[formControlName].patchValue(file);\r\n this.fileAdded.emit(file);\r\n }\r\n\r\n FileDeleted(event: any, formControlName: string) {\r\n this.generateForm.controls[formControlName].patchValue(null);\r\n this.fileDeleted.emit(event);\r\n }\r\n\r\n private createForm() {\r\n this.form.columns.forEach((column) => {\r\n if (column.type === 'checkbox') {\r\n this.addCheckboxControl(column);\r\n } else {\r\n this.generateForm.addControl(\r\n column.englishName,\r\n new FormControl(null, [\r\n column.required ? Validators.required : Validators.nullValidator,\r\n Validators.maxLength(column.size!),\r\n column.type === 'number'\r\n ? Validators.min(1)\r\n : Validators.nullValidator,\r\n ])\r\n );\r\n }\r\n });\r\n }\r\n\r\n private addCheckboxControl(column: Column) {\r\n let checkboxGroup = new FormArray(\r\n column.data!.map((item) => {\r\n return new FormGroup({\r\n [column.valueField!]: new FormControl(item[column.valueField!]),\r\n [column.textField!]: new FormControl(item[column.textField!]),\r\n checkbox: new FormControl(false, Validators.required),\r\n });\r\n })\r\n );\r\n\r\n this.generateForm.addControl(\r\n column.englishName,\r\n new FormControl(\r\n null,\r\n column.required ? Validators.required : Validators.nullValidator\r\n )\r\n );\r\n this.generateForm.addControl('items', checkboxGroup);\r\n checkboxGroup.valueChanges.subscribe((value) => {\r\n if (this.getCheckboxSelectedValues(value)) {\r\n this.generateForm.controls[column.englishName].patchValue(value);\r\n } else {\r\n this.generateForm.controls[column.englishName].patchValue(null);\r\n this.generateForm.controls[column.englishName].markAsTouched();\r\n }\r\n });\r\n }\r\n\r\n private getCheckboxSelectedValues(items: any[]) {\r\n let selectedItems = items.filter((item) => item.checkbox);\r\n return selectedItems.length > 0 ? selectedItems : null;\r\n }\r\n}\r\n","<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 [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.validationPattern!\"\r\n [patternErrorMsg]=\"column.patternErrorMsg!\" [classes]=\"column.inputClasses!\"\r\n [containerClasses]=\"column.containerClasses!\"></ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [items]=\"column.data!\" [valueField]=\"column.valueField!\"\r\n [textField]=\"column.textField!\" [required]=\"column.required\" [pattern]=\"column.validationPattern!\"\r\n [patternErrorMsg]=\"column.patternErrorMsg!\" [classes]=\"column.inputClasses!\"\r\n [containerClasses]=\"column.containerClasses!\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div [formArrayName]=\"'items'\" *ngFor=\"let control of formControls.controls; let i = index\">\r\n <div [formGroupName]=\"i\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+control.value[column.valueField!]\" class=\"form-check-input\" type=\"checkbox\"\r\n formControlName=\"checkbox\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+control.value[column.valueField!]\">\r\n {{control.value[column.textField!]}}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div *ngFor=\"let item of column.data; let i = index\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+item[column.valueField!]\" class=\"form-check-input\" type=\"radio\"\r\n [formControlName]=\"column.englishName\" [value]=\"item[column.valueField!]\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+item[column.valueField!]\">\r\n {{item[column.textField!]}}\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\">\r\n <ipa-file-upload [label]=\"column.arabicLabel\" [acceptedFiles]=\"column.acceptedFiles!\"\r\n [multiple]=\"column.multipleFile!\" [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\"\r\n [autoUpload]=\"column.autoUploadFile!\" [apiUrl]=\"column.apiUrl?? 'apiUrl' \" [authorization]=\"column.authorization!\"\r\n ngDefaultControl [formControlName]=\"column.englishName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.englishName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.englishName)\"></ipa-file-upload>\r\n </div>\r\n\r\n <!-- recaptcha -->\r\n <div *ngSwitchCase=\"'recaptcha'\">\r\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"lang\" [theme]=\"theme\"\r\n [recaptchaType]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\"\r\n formControlName=\"{{column.englishName}}\"></ipa-recaptcha>\r\n </div>\r\n\r\n <!-- DEFAULT -->\r\n <div *ngSwitchDefault>\r\n <ipa-text-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\" [type]=\"column.type\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.validationPattern!\"\r\n [patternErrorMsg]=\"column.patternErrorMsg!\" [classes]=\"column.inputClasses!\"\r\n [containerClasses]=\"column.containerClasses!\"></ipa-text-input>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</form>","import { Component, Input, OnInit, Self } from '@angular/core';\r\nimport { FormControl, NgControl } from '@angular/forms';\r\nimport {\r\n NgbCalendar,\r\n NgbDateStruct,\r\n NgbInputDatepickerConfig,\r\n} from '@ng-bootstrap/ng-bootstrap';\r\nimport { IPAFormService } from '../ipa-form.service';\r\n\r\n@Component({\r\n selector: 'ipa-datepicker',\r\n templateUrl: './datepicker.component.html',\r\n styleUrls: ['./datepicker.component.scss'],\r\n})\r\nexport class DatepickerComponent implements OnInit {\r\n @Input() id!: string;\r\n @Input() label = 'datepicker';\r\n @Input() patternErrorMsg = 'invalid pattern';\r\n @Input() required = false;\r\n @Input() maxDate!: NgbDateStruct;\r\n @Input() minDate!: NgbDateStruct;\r\n @Input() classes!: string;\r\n @Input() containerClasses!: string;\r\n today = this.calendar.getToday();\r\n formControl: FormControl = new FormControl('');\r\n errorMsg!: string | null;\r\n\r\n constructor(\r\n private ipaFormService: IPAFormService,\r\n private calendar: NgbCalendar,\r\n @Self() public controlDir: NgControl,\r\n config: NgbInputDatepickerConfig\r\n ) {\r\n this.controlDir.valueAccessor = this;\r\n config.container = 'body';\r\n }\r\n\r\n ngOnInit(): void {\r\n const control = this.controlDir.control;\r\n const validators = control?.validator ? [control.validator] : [];\r\n\r\n control?.setValidators(validators);\r\n control?.updateValueAndValidity();\r\n this.formControl = control as FormControl;\r\n }\r\n\r\n onChange(event: any): void {}\r\n\r\n onTouched(): void {}\r\n writeValue(obj: any): void {}\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n get errorMessage(): string | null {\r\n this.errorMsg = this.ipaFormService.getErrorMessage(\r\n this.formControl,\r\n this.patternErrorMsg\r\n );\r\n return this.errorMsg;\r\n }\r\n}\r\n","<div class=\"form-floating input-group {{containerClasses}}\">\r\n <input id=\"{{id}}\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\"\r\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\r\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\" style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\" title=\"{{label}}\">\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <span class=\"input-group-text calenderBtn\" (click)=\"d.toggle()\">\r\n <i class=\"far fa-calendar-alt fa-lg\"></i>\r\n </span>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n <ng-template #footerTemplate style=\"text-align: center;\">\r\n <hr>\r\n <button type=\"button\" class=\"btn btn-primary btn-sm m-2 \" style=\"width: auto; float: right;\"\r\n (click)=\"formControl.patchValue(today);d.navigateTo(today);\">اليوم</button>\r\n <button type=\"button\" class=\"btn btn-secondary btn-sm m-2\" style=\"width: auto; float: left;\"\r\n (click)=\"formControl.patchValue(null);d.close()\">مسح</button>\r\n </ng-template>\r\n</div>","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { TranslationWidth } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { NgbDatepickerI18n, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nconst WEEKDAYS = ['ن', 'ث', 'ر', 'خ', 'ج', 'س', 'ح'];\r\nconst MONTHS = [\r\n 'محرم',\r\n 'صفر',\r\n 'ربيع الأول',\r\n 'ربيع الآخر',\r\n 'جمادى الأولى',\r\n 'جمادى الآخرة',\r\n 'رجب',\r\n 'شعبان',\r\n 'رمضان',\r\n 'شوال',\r\n 'ذو القعدة',\r\n 'ذو الحجة',\r\n];\r\n\r\n@Injectable()\r\nexport class IslamicI18n extends NgbDatepickerI18n {\r\n getMonthShortName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getMonthFullName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getWeekdayLabel(weekday: number, width?: TranslationWidth) {\r\n return WEEKDAYS[weekday - 1];\r\n }\r\n\r\n getDayAriaLabel(date: NgbDateStruct): string {\r\n return `${date.day}-${date.month}-${date.year}`;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { NgbCalendar, NgbCalendarIslamicUmalqura, NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DatepickerComponent } from '../datepicker.component';\r\nimport { IslamicI18n } from './IslamicI18n';\r\n@Component({\r\n selector: 'ipa-hijri-datepicker',\r\n templateUrl: '../datepicker.component.html',\r\n styleUrls: ['../datepicker.component.scss'],\r\n providers: [\r\n { provide: NgbCalendar, useClass: NgbCalendarIslamicUmalqura },\r\n { provide: NgbDatepickerI18n, useClass: IslamicI18n },\r\n ],\r\n})\r\nexport class HijriDatepickerComponent extends DatepickerComponent {}\r\n","import { TranslationWidth } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { NgbDatepickerI18n, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nconst WEEKDAYS = ['ن', 'ث', 'ر', 'خ', 'ج', 'س', 'ح'];\r\nconst MONTHS = [\r\n 'يناير',\r\n 'فبراير',\r\n 'مارس',\r\n 'أبريل',\r\n 'مايو',\r\n 'يونيو',\r\n 'يوليو',\r\n 'اغسطس',\r\n 'سبتمبر',\r\n 'أكتوبر',\r\n 'نوفمبر',\r\n 'ديسمبر',\r\n];\r\n\r\n@Injectable()\r\nexport class Gregorian18n extends NgbDatepickerI18n {\r\n getMonthShortName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getMonthFullName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getWeekdayLabel(weekday: number, width?: TranslationWidth) {\r\n return WEEKDAYS[weekday - 1];\r\n }\r\n\r\n getDayAriaLabel(date: NgbDateStruct): string {\r\n return `${date.day}-${date.month}-${date.year}`;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { NgbCalendar, NgbCalendarGregorian, NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DatepickerComponent } from '../datepicker.component';\r\nimport { Gregorian18n } from './gregorian18n';\r\n\r\n@Component({\r\n selector: 'ipa-gregorian-datepicker',\r\n templateUrl: '../datepicker.component.html',\r\n styleUrls: ['../datepicker.component.scss'],\r\n providers: [\r\n { provide: NgbCalendar, useClass: NgbCalendarGregorian},\r\n { provide: NgbDatepickerI18n, useClass: Gregorian18n },\r\n ],\r\n})\r\nexport class GregorianDatepickerComponent extends DatepickerComponent {}\r\n","import { Component, AfterViewInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ipa-share-button',\r\n templateUrl: './share-button.component.html',\r\n styleUrls: ['./share-button.component.scss'],\r\n})\r\nexport class ShareButtonComponent implements AfterViewInit {\r\n @Input() title = '';\r\n @Input() description = '';\r\n @Input() btnLabel = '';\r\n constructor() {}\r\n ngAfterViewInit(): void {\r\n const elements = document.getElementsByClassName('sb-show-icon');\r\n elements[0].setAttribute('type', 'button');\r\n elements[0].setAttribute('id', 'IPAShareBtn');\r\n const label = document.createElement('label');\r\n label.innerHTML = this.btnLabel;\r\n label.classList.add('sm-share-title');\r\n label.classList.add('me-1');\r\n elements[0].before(label);\r\n }\r\n}\r\n","<share-popup-button [title]=\"title\" [description]=\"description\" [icon]=\"'share-alt'\"\r\n [include]=\"['facebook','twitter','linkedin','telegram','whatsapp','email','copy']\">\r\n</share-popup-button>","import { OverlayModule } from '@angular/cdk/overlay';\r\nimport { NgModule } from '@angular/core';\r\nimport {\r\n FaIconLibrary,\r\n FontAwesomeModule,\r\n} from '@fortawesome/angular-fontawesome';\r\nimport { fas } from '@fortawesome/free-solid-svg-icons';\r\nimport { ShareIconsModule } from 'ngx-sharebuttons/icons';\r\nimport { ShareButtonsPopupModule } from 'ngx-sharebuttons/popup';\r\nimport { ShareButtonComponent } from './share-button.component';\r\n\r\n@NgModule({\r\n declarations: [ShareButtonComponent],\r\n imports: [\r\n ShareIconsModule,\r\n ShareButtonsPopupModule,\r\n OverlayModule,\r\n FontAwesomeModule,\r\n ],\r\n exports: [\r\n ShareButtonComponent,\r\n ShareIconsModule,\r\n ShareButtonsPopupModule,\r\n OverlayModule,\r\n FontAwesomeModule,\r\n ]\r\n})\r\nexport class ShareButtonModule {\r\n constructor(library: FaIconLibrary) {\r\n library.addIconPacks(fas);\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { DropzoneModule } from 'ngx-dropzone-wrapper';\r\nimport { NgxCaptchaModule } from 'ngx-captcha';\r\nimport { PipesModule } from './pipes/pipes.module';\r\nimport { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { TextInputComponent } from './ipa-form/text-input/text-input.component';\r\nimport { TextareaInputComponent } from './ipa-form/textarea-input/textarea-input.component';\r\nimport { DropdownInputComponent } from './ipa-form/dropdown-input/dropdown-input.component';\r\nimport { LoaderComponent } from './core/components/loading/loading.component';\r\nimport { GenerateFormComponent } from './generate-form/generate-form.component';\r\nimport { FileUploadComponent } from './ipa-form/file-upload/file-upload.component';\r\nimport { DatepickerComponent } from './ipa-form/datepicker/datepicker.component';\r\nimport { HijriDatepickerComponent } from './ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component';\r\nimport { GregorianDatepickerComponent } from './ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component';\r\nimport { ShareButtonModule } from './share-button/share-button.module';\r\nimport { RecaptchaComponent } from './ipa-form/recaptcha/recaptcha.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n TextInputComponent,\r\n TextareaInputComponent,\r\n DropdownInputComponent,\r\n LoaderComponent,\r\n GenerateFormComponent,\r\n FileUploadComponent,\r\n DatepickerComponent,\r\n HijriDatepickerComponent,\r\n GregorianDatepickerComponent,\r\n RecaptchaComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ToastrModule,\r\n DropzoneModule,\r\n NgxCaptchaModule,\r\n PipesModule,\r\n NgbDatepickerModule,\r\n ShareButtonModule,\r\n ],\r\n exports: [\r\n TextInputComponent,\r\n TextareaInputComponent,\r\n DropdownInputComponent,\r\n LoaderComponent,\r\n GenerateFormComponent,\r\n FileUploadComponent,\r\n PipesModule,\r\n HijriDatepickerComponent,\r\n GregorianDatepickerComponent,\r\n ShareButtonModule,\r\n RecaptchaComponent,\r\n ],\r\n})\r\nexport class NgIPALibraryModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { LoaderService } from '../services/loader.service';\r\n\r\n@Injectable()\r\nexport class LoadingInterceptor implements HttpInterceptor {\r\n private requests: HttpRequest<any>[] = [];\r\n\r\n constructor(private loaderService: LoaderService) {}\r\n\r\n removeRequest(req: HttpRequest<any>): void {\r\n const i = this.requests.indexOf(req);\r\n if (i >= 0) {\r\n this.requests.splice(i, 1);\r\n }\r\n this.loaderService.isLoading.next(this.requests.length > 0);\r\n }\r\n\r\n intercept(\r\n req: HttpRequest<unknown>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<unknown>> {\r\n if (this.isException(req)) {\r\n return next.handle(req);\r\n }\r\n this.requests.push(req);\r\n\r\n this.loaderService.isLoading.next(true);\r\n return new Observable((observer) => {\r\n const subscription = next.handle(req).subscribe(\r\n (event) => {\r\n if (event instanceof HttpResponse) {\r\n this.removeRequest(req);\r\n observer.next(event);\r\n }\r\n },\r\n (err) => {\r\n this.removeRequest(req);\r\n observer.error(err);\r\n },\r\n () => {\r\n this.removeRequest(req);\r\n observer.complete();\r\n }\r\n );\r\n // remove request from queue when cancelled\r\n return () => {\r\n this.removeRequest(req);\r\n subscription.unsubscribe();\r\n };\r\n });\r\n }\r\n\r\n isException(req: HttpRequest<any>): boolean {\r\n for (const url of this.loaderService.urls) {\r\n if (req.url.includes(url.path) && req.method === url.method) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","import { HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ExceptionUrl } from '../../models/exceptionUrl.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorService {\r\n urls: ExceptionUrl[] = [];\r\n constructor() {}\r\n\r\n setExceptionUrls(urls: ExceptionUrl[]) {\r\n this.urls = urls;\r\n }\r\n\r\n addExceptionUrl(url: ExceptionUrl) {\r\n this.urls.push(url);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ErrorService } from '../services/error.service';\r\nimport { ApiException } from '../../models/apiException';\r\nimport { IndividualConfig, ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(\r\n private errorService: ErrorService,\r\n private toastrService: ToastrService\r\n ) {}\r\n\r\n intercept(\r\n req: HttpRequest<unknown>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<unknown>> {\r\n if (this.isException(req)) {\r\n return next.handle(req);\r\n }\r\n\r\n return next.handle(req).pipe(\r\n catchError((error) => {\r\n const response = error.error as ApiException;\r\n const toastrConfig: Partial<IndividualConfig> = {\r\n disableTimeOut: true,\r\n };\r\n switch (response.statusCode) {\r\n case 500:\r\n this.toastrService.error(\r\n response?.innerException + ' ' + response?.stackTrace,\r\n response.message,\r\n toastrConfig\r\n );\r\n break;\r\n\r\n default:\r\n this.toastrService.error(response.message, '', toastrConfig);\r\n break;\r\n }\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n\r\n isException(req: HttpRequest<any>): boolean {\r\n for (const url of this.errorService.urls) {\r\n if (req.url.includes(url.path) && req.method === url.method) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { DecodedToken } from '../../models/decodedToken.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService {\r\n public currentUser = new BehaviorSubject<DecodedToken>({ exp: 0 });\r\n currentUserUrl = '';\r\n constructor() {}\r\n\r\n getToken(): string {\r\n return localStorage.getItem('token') ?? '';\r\n }\r\n\r\n getDecodedToken(): any {\r\n return this.decodeJwt(this.getToken());\r\n }\r\n\r\n setCurrentUser(): void {\r\n const decodedToken = this.getDecodedToken() as DecodedToken;\r\n this.currentUser.next({\r\n nameid: decodedToken.nameid,\r\n email: decodedToken.email,\r\n given_name: decodedToken.given_name,\r\n exp: decodedToken.exp,\r\n });\r\n }\r\n\r\n setCurrentUserUrl(url: string) {\r\n this.currentUserUrl = url;\r\n }\r\n\r\n private decodeJwt(token: string): any {\r\n const base64Url = token.split('.')[1];\r\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\r\n const jsonPayload = decodeURIComponent(\r\n atob(base64)\r\n .split('')\r\n .map((c) => {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n })\r\n .join('')\r\n );\r\n return JSON.parse(jsonPayload);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpClient,\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { DecodedToken } from '../../models/decodedToken.model';\r\nimport { User } from '../../models/user.model';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n refresh = false;\r\n constructor(private authService: AuthService, private http: HttpClient) {}\r\n\r\n intercept(\r\n request: HttpRequest<unknown>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<unknown>> {\r\n if (this.isException(request)) {\r\n return next.handle(request);\r\n }\r\n const token = this.authService.getToken();\r\n if (token) {\r\n this.isTokenExpired(token);\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n });\r\n }\r\n return next.handle(request);\r\n }\r\n\r\n private isTokenExpired(token: string) {\r\n const redirectPath = location.pathname;\r\n const decodedToken = this.authService.getDecodedToken() as DecodedToken;\r\n const expDate = new Date((decodedToken.exp ?? 0) * 1000);\r\n if (expDate < new Date()) {\r\n location.replace('/ar/login?redirect=' + redirectPath);\r\n return;\r\n } else {\r\n if (this.authService.currentUserUrl) {\r\n if (this.refresh) {\r\n this.http\r\n .get<User>(this.authService.currentUserUrl + `/api/users?refresh`, {\r\n headers: { Authorization: `Bearer ${token}` },\r\n })\r\n .subscribe((user) => {\r\n localStorage.setItem('token', user.token);\r\n this.refresh = false;\r\n setTimeout(() => {\r\n this.refresh = true;\r\n }, 25000);\r\n });\r\n }\r\n } else {\r\n throw new Error(\r\n \"provide current base user api url using this function authService.setCurrentUserUrl('https://...')\"\r\n );\r\n }\r\n }\r\n }\r\n\r\n private isException(request: HttpRequest<any>): boolean {\r\n if (\r\n request.url.includes('/api/users?refresh') &&\r\n request.method === 'GET'\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Breadcrumbs } from '../models/breadcrumbs.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BreadcrumbsService {\r\n constructor() {}\r\n\r\n setPageTitle(text: string) {\r\n const titleEl = document.querySelector('.sub-section-title');\r\n if (titleEl) {\r\n titleEl.textContent = text;\r\n }\r\n }\r\n\r\n setMainPageTitle(text: string, url: string) {\r\n const div = document.getElementsByClassName('main-section-title');\r\n if (div && div.length > 0) {\r\n div[0].innerHTML = `<a id=\"site-url\" href=\"${url}\">${text}</a>`;\r\n }\r\n }\r\n\r\n addBreadcrumb(\r\n nodeName: string,\r\n spanClasses = 'bc-current',\r\n linkClasses = 'bc-node'\r\n ) {\r\n const spans = document.getElementById('ctl00_path')?.children;\r\n //get last child\r\n const lastIndex = spans?.item(spans.length - 1) as HTMLSpanElement;\r\n const innerHTML = lastIndex.innerHTML;\r\n lastIndex.innerHTML = '';\r\n lastIndex.classList.remove(...['bc-current']);\r\n //add new link\r\n lastIndex.appendChild(\r\n this.createLink(innerHTML, location.pathname, linkClasses)\r\n );\r\n //add new span and empty span\r\n const newSpan = this.createSpan(nodeName, spanClasses);\r\n const emptySpan = document.createElement('span');\r\n lastIndex.after(...[emptySpan, newSpan]);\r\n }\r\n\r\n addBreadcrumbList(\r\n nodeList: Breadcrumbs[],\r\n spanClasses = 'bc-current',\r\n linkClasses = 'bc-node'\r\n ) {\r\n const spans = document.getElementById('ctl00_path')?.childNodes;\r\n //get last child\r\n const lastSpan = spans?.item(spans.length - 1) as HTMLSpanElement;\r\n const innerHTML = lastSpan.innerHTML;\r\n lastSpan.classList.remove(...[spanClasses]);\r\n lastSpan.innerHTML = '';\r\n //add new link\r\n lastSpan.appendChild(\r\n this.createLink(innerHTML, location.pathname, linkClasses)\r\n );\r\n\r\n for (let i = 0; i < nodeList.length; i++) {\r\n const lastIndex = spans?.item(spans.length - 1) as HTMLSpanElement;\r\n if (nodeList[i].nodeUrl) {\r\n const newSpan = document.createElement('span');\r\n newSpan.appendChild(\r\n this.createLink(\r\n nodeList[i].nodeName,\r\n nodeList[i].nodeUrl,\r\n linkClasses\r\n )\r\n );\r\n const emptySpan = document.createElement('span');\r\n lastIndex.after(...[emptySpan, newSpan]);\r\n } else {\r\n const newSpan = this.createSpan(nodeList[i].nodeName, spanClasses);\r\n const emptySpan = document.createElement('span');\r\n lastIndex.after(...[emptySpan, newSpan]);\r\n }\r\n }\r\n }\r\n\r\n createBreadcrumbs(\r\n nodeList: Breadcrumbs[],\r\n spanClasses = 'bc-current',\r\n linkClasses = 'bc-node'\r\n ) {\r\n const currentSpan = document.getElementById(\r\n 'ctl00_path'\r\n ) as HTMLSpanElement;\r\n currentSpan.innerHTML = '';\r\n const newSpan = document.createElement('span');\r\n currentSpan?.appendChild(newSpan);\r\n newSpan.appendChild(\r\n this.createLink(nodeList[0].nodeName, nodeList[0].nodeUrl, linkClasses)\r\n );\r\n const spans = currentSpan?.children;\r\n for (let i = 1; i < nodeList.length; i++) {\r\n const lastIndex = spans?.item(spans.length - 1) as HTMLSpanElement;\r\n if (nodeList[i].nodeUrl) {\r\n const newSpan = document.createElement('span');\r\n newSpan.appendChild(\r\n this.createLink(\r\n nodeList[i].nodeName,\r\n nodeList[i].nodeUrl,\r\n linkClasses\r\n )\r\n );\r\n const emptySpan = document.createElement('span');\r\n lastIndex?.after(...[emptySpan, newSpan]);\r\n } else {\r\n const newSpan = this.createSpan(nodeList[i].nodeName, spanClasses);\r\n const emptySpan = document.createElement('span');\r\n lastIndex.after(...[emptySpan, newSpan]);\r\n }\r\n }\r\n }\r\n\r\n removeLastBreadcrumb() {\r\n const spans = document.getElementById('ctl00_path')?.children;\r\n spans?.item(spans.length - 1)?.remove();\r\n spans?.item(spans.length - 1)?.remove();\r\n this.setCurrentNode(spans);\r\n }\r\n\r\n removeBreadcrumbByNodeName(nodeName: string) {\r\n const spans = document.getElementById('ctl00_path')\r\n ?.children as HTMLCollection;\r\n let index = -1;\r\n for (let i = 0; i < spans.length; i++) {\r\n const span = spans.item(i);\r\n if (span?.textContent?.trim() === nodeName) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n const lastNode = spans.length - 1 === index;\r\n if (index !== -1 && !lastNode) {\r\n spans?.item(index)?.remove();\r\n spans?.item(index)?.remove();\r\n } else {\r\n spans?.item(index)?.remove();\r\n spans?.item(index - 1)?.remove();\r\n }\r\n if (lastNode) {\r\n this.setCurrentNode(spans);\r\n }\r\n }\r\n\r\n removeLastBreadcrumbsByLength(length: number) {\r\n const spans = document.getElementById('ctl00_path')\r\n ?.children as HTMLCollection;\r\n while (length > 0) {\r\n spans?.item(spans.length - 1)?.remove();\r\n spans?.item(spans.length - 1)?.remove();\r\n length--;\r\n }\r\n if (spans.length > 0) {\r\n this.setCurrentNode(spans);\r\n }\r\n }\r\n\r\n private createLink(\r\n innerHTML: string,\r\n href: string | null,\r\n classes: string\r\n ): HTMLAnchorElement {\r\n const link = document.createElement('a');\r\n link.innerHTML = ' ' + innerHTML;\r\n link.href = href ?? '';\r\n link.classList.add(...[classes]);\r\n return link;\r\n }\r\n\r\n private createSpan(innerHTML: string, classes: string): HTMLSpanElement {\r\n const span = document.createElement('span');\r\n span.classList.add(...[classes]);\r\n span.innerHTML = ' ' + innerHTML;\r\n return span;\r\n }\r\n\r\n private setCurrentNode(spans?: HTMLCollection) {\r\n const lastSpan = spans?.item(spans.length - 1) as HTMLSpanElement;\r\n const lastSpanLink = spans\r\n ?.item(spans.length - 1)\r\n ?.children.item(0) as HTMLAnchorElement;\r\n lastSpan?.classList.add(...['bc-current']);\r\n lastSpan.innerHTML = lastSpanLink.innerHTML;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CommonService {\r\n constructor() {}\r\n\r\n print(element: string, title: string, classes?: string) {\r\n const styles = this.getElementTag('style');\r\n const linkes = this.getElementTag('link');\r\n const scripts = this.getElementTag('script');\r\n\r\n const printContents = document.getElementById(element)?.innerHTML;\r\n const popupWin = window.open('', '', 'top=0,left=0,height=100%,width=auto');\r\n const data = `\r\n <!DOCTYPE html>\r\n <head>\r\n <title> ${title} </title>\r\n <meta charset=\"utf-8\">\r\n ${linkes}\r\n ${styles}\r\n <style>\r\n @media print {\r\n .noPrint{\r\n display: none !important;\r\n }\r\n body {\r\n direction: rtl;\r\n }\r\n }\r\n </style>\r\n </head>\r\n <body class=\"${classes}\">\r\n ${printContents}\r\n ${scripts}\r\n </body>\r\n\r\n </html>`;\r\n popupWin?.document.open();\r\n popupWin?.document.write(data);\r\n popupWin?.document.close();\r\n popupWin?.focus();\r\n popupWin?.addEventListener('focus', () => {\r\n setTimeout(() => {\r\n if (popupWin.document.hasFocus()) {\r\n popupWin.print();\r\n popupWin.close();\r\n }\r\n }, 1000);\r\n });\r\n }\r\n\r\n private getElementTag(tag: keyof HTMLElementTagNameMap): string {\r\n const html: string[] = [];\r\n const elements = document.getElementsByTagName(tag);\r\n for (let index = 0; index < elements.length; index++) {\r\n html.push(elements[index].outerHTML);\r\n }\r\n\r\n return html.join('\\r\\n');\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ipa-library\r\n */\r\n// module\r\nexport * from './lib/ng-ipa-library.module';\r\nexport * from 'ngx-toastr';\r\nexport * from './lib/pipes/pipes.module';\r\nexport * from './lib/share-button/share-button.module';\r\n\r\n// core components\r\nexport * from './lib/core/components/loading/loading.component';\r\n\r\n// form components\r\nexport * from './lib/ipa-form/text-input/text-input.component';\r\nexport * from './lib/ipa-form/textarea-input/textarea-input.component';\r\nexport * from './lib/ipa-form/dropdown-input/dropdown-input.component';\r\nexport * from './lib/ipa-form/file-upload/file-upload.component';\r\nexport * from './lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component';\r\nexport * from './lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component';\r\nexport * from './lib/ipa-form/recaptcha/recaptcha.component';\r\nexport * from './lib/generate-form/generate-form.component';\r\nexport * from './lib/share-button/share-button.component';\r\n\r\n// interceptors\r\nexport * from './lib/core/interceptors/loading.interceptor';\r\nexport * from './lib/core/interceptors/error.interceptor';\r\nexport * from './lib/core/interceptors/token.interceptor';\r\n\r\n// services\r\nexport * from './lib/core/services/loader.service';\r\nexport * from './lib/core/services/auth.service';\r\nexport * from './lib/ipa-form/ipa-form.service';\r\nexport * from './lib/core/services/error.service';\r\nexport * from './lib/services/breadcrumbs.service';\r\nexport * from './lib/services/common.service';\r\n\r\n//pipes\r\nexport * from './lib/pipes/hijri-date.pipe';\r\n\r\n//models\r\nexport * from './lib/models/pagedResult';\r\nexport * from './lib/models/apiException';\r\nexport * from './lib/models/apiResponse';\r\nexport * from './lib/models/generateForm.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["momentHijri","Pipe","NgModule","Injectable","FormControl","Component","Self","ViewChild","Input","ElementRef","BehaviorSubject","EventEmitter","DropzoneDirective","Output","Validators","FormArray","FormGroup","WEEKDAYS","MONTHS","NgbDatepickerI18n","NgbCalendar","NgbCalendarIslamicUmalqura","NgbCalendarGregorian","fas","ShareIconsModule","ShareButtonsPopupModule","OverlayModule","FontAwesomeModule","CommonModule","FormsModule","ReactiveFormsModule","ToastrModule","DropzoneModule","NgxCaptchaModule","NgbDatepickerModule","Observable","HttpResponse","catchError","throwError"],"mappings":"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"}
1
+ {"version":3,"file":"ng-ipa-library.umd.js","sources":["../../../projects/ng-ipa-library/src/lib/pipes/hijri-date.pipe.ts","../../../projects/ng-ipa-library/src/lib/pipes/pipes.module.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/ipa-form.service.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/text-input/text-input.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/text-input/text-input.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/textarea-input/textarea-input.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/textarea-input/textarea-input.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/dropdown-input/dropdown-input.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/dropdown-input/dropdown-input.component.html","../../../projects/ng-ipa-library/src/lib/core/services/loader.service.ts","../../../projects/ng-ipa-library/src/lib/core/components/loading/loading.component.ts","../../../projects/ng-ipa-library/src/lib/core/components/loading/loading.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/file-upload/file-upload.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/file-upload/file-upload.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/recaptcha/recaptcha.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/recaptcha/recaptcha.component.html","../../../projects/ng-ipa-library/src/lib/generate-form/generate-form.component.ts","../../../projects/ng-ipa-library/src/lib/generate-form/generate-form.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/datepicker.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/datepicker.component.html","../../../node_modules/tslib/tslib.es6.js","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/hijri-datepicker/IslamicI18n.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/gregorian-datepicker/gregorian18n.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component.ts","../../../projects/ng-ipa-library/src/lib/share-button/share-button.component.ts","../../../projects/ng-ipa-library/src/lib/share-button/share-button.component.html","../../../projects/ng-ipa-library/src/lib/share-button/share-button.module.ts","../../../projects/ng-ipa-library/src/lib/ng-ipa-library.module.ts","../../../projects/ng-ipa-library/src/lib/core/interceptors/loading.interceptor.ts","../../../projects/ng-ipa-library/src/lib/core/services/error.service.ts","../../../projects/ng-ipa-library/src/lib/core/interceptors/error.interceptor.ts","../../../projects/ng-ipa-library/src/lib/core/services/auth.service.ts","../../../projects/ng-ipa-library/src/lib/core/interceptors/token.interceptor.ts","../../../projects/ng-ipa-library/src/lib/services/breadcrumbs.service.ts","../../../projects/ng-ipa-library/src/lib/services/common.service.ts","../../../projects/ng-ipa-library/src/public-api.ts","../../../projects/ng-ipa-library/src/ng-ipa-library.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\nimport momentHijri from 'moment-hijri';\r\n@Pipe({\r\n name: 'hijriDate',\r\n})\r\nexport class HijriDatePipe implements PipeTransform {\r\n transform(\r\n date: string,\r\n format: string = 'iYYYY-iMM-iDD',\r\n lang: 'ar' | 'en' = 'en'\r\n ): string {\r\n momentHijri.locale(lang);\r\n return momentHijri(date).format(format);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { HijriDatePipe } from './hijri-date.pipe';\r\n\r\n@NgModule({\r\n declarations: [HijriDatePipe],\r\n exports: [HijriDatePipe],\r\n})\r\nexport class PipesModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { AbstractControl, FormControl, ValidationErrors } from '@angular/forms';\r\nimport momentHijri from 'moment-hijri';\r\nimport { Moment } from 'moment';\r\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class IPAFormService {\r\n constructor(private parserFormatter: NgbDateParserFormatter) {}\r\n\r\n /**\r\n * check link is valid.\r\n */\r\n static linkValidation(control: AbstractControl): ValidationErrors | null {\r\n const isValidLink =\r\n /^((https?:\\/\\/)[\\w-]+(\\.[a-z-]+)+\\.?(:\\d+)?(\\/\\S*)?)$/.test(\r\n control.value\r\n );\r\n return isValidLink || !control.value ? null : { link: true };\r\n }\r\n\r\n /**\r\n * check mp4 link is valid.\r\n */\r\n static mp4LinkValidation(control: AbstractControl): ValidationErrors | null {\r\n const isValidLink =\r\n /^((https?:\\/\\/)[\\w-]+(\\.[a-z-]+)+\\.?(:\\d+)?(\\/\\S*)?(\\/[\\w\\u0600-\\u06FF]+\\.mp4))$/.test(\r\n control.value\r\n );\r\n return isValidLink || !control.value ? null : { linkMP4: true };\r\n }\r\n\r\n /**\r\n * check mobile number is valid.\r\n */\r\n static mobileNo(control: AbstractControl): ValidationErrors | null {\r\n const isValidLink = /^05\\d{8}$/.test(control.value);\r\n return isValidLink || !control.value ? null : { mobileNo: true };\r\n }\r\n\r\n /**\r\n * check email is valid.\r\n */\r\n static email(control: AbstractControl): ValidationErrors | null {\r\n const isValidLink =\r\n /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/.test(\r\n control.value\r\n );\r\n return isValidLink || !control.value ? null : { Email: true };\r\n }\r\n\r\n /**\r\n * check national ID or iqama ID is valid.\r\n */\r\n static checkID(control: AbstractControl): ValidationErrors | null {\r\n let isValid = false;\r\n const value = control.value;\r\n if (\r\n IPAFormService.nationalIdValidate(value) ||\r\n IPAFormService.iqamaIdValidate(value)\r\n ) {\r\n isValid = true;\r\n } else {\r\n isValid = false;\r\n }\r\n return isValid || !value ? null : { checkId: true };\r\n }\r\n\r\n getErrorMessage(control: FormControl, patternErrorMsg = ''): string | null {\r\n for (const propertyName in control?.errors) {\r\n if (\r\n control?.errors.hasOwnProperty(propertyName) &&\r\n (control.touched || control.dirty)\r\n ) {\r\n return this.getValidatorErrorMessage(\r\n propertyName,\r\n control.errors[propertyName],\r\n patternErrorMsg\r\n );\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * convert gregorian date to hijri date (Based on Umm al-Qura calculations).\r\n * @param date: gregorian date\r\n * @param format: iDD => day: ١٥, iMM => month: ٠٤, iMMM => month: ربيع ٢,\r\n * iMMMM => ربيع الثاني, iYY => year: ٤٢, iYYYY => year: ١٤٤٢,\r\n * dd => ن, ddd => إثنين, dddd => الإثنين\r\n * @example 'iYYYY/iM/iDهـ الموافق YYYY/M/Dم'\r\n * '١٤٤٢/٠٤/١٥هـ الموافق ٢٠٢٠/١١/٣٠'\r\n */\r\n convertToHijriDate(\r\n date: string,\r\n format = 'iYYYY-iMM-iDD',\r\n lang = 'ar-SA'\r\n ): string {\r\n momentHijri.locale(lang);\r\n return momentHijri(date).format(format);\r\n }\r\n\r\n convertToGregorianDate(\r\n date: Moment,\r\n format = 'YYYY-MM-DD',\r\n lang = 'en'\r\n ): string {\r\n momentHijri.locale(lang);\r\n const m = momentHijri.iConvert.toGregorian(\r\n date.year(),\r\n date.month(),\r\n date.date()\r\n );\r\n return momentHijri(new Date(m.gy, m.gm, m.gd)).format(format);\r\n }\r\n\r\n getCurrentHijriDate() {\r\n momentHijri.locale('en');\r\n return momentHijri().format('iYYYY/iMM/iDD');\r\n }\r\n\r\n private getValidatorErrorMessage(\r\n validatorName: string,\r\n validatorValue: any,\r\n patternErrorMsg: string\r\n ): string {\r\n if (validatorName === 'pattern') {\r\n validatorValue = this.addPatternMsg(validatorValue, patternErrorMsg);\r\n }\r\n const config: any = {\r\n required: 'هذا الحقل مطلوب',\r\n pattern: `${validatorValue.message}`,\r\n Email: 'خطأ في البريد الالكتروني (example@ipa.edu.sa)',\r\n maxlength: `تجاوز عدد الحقل المسموح بها (${validatorValue.requiredLength}) حرف`,\r\n minlength: `على الأقل عدد ${validatorValue.requiredLength} حرف.`,\r\n min: `رقم اكبر من أو يساوي ${validatorValue.min}`,\r\n max: `رقم اصغر من أو يساوي ${validatorValue.max}`,\r\n ngbDate: this.getNgbDatepickerErrorMsg(validatorValue),\r\n checkId: 'رقم الهوية أو الاقامة غير صحيح',\r\n link: 'الرابط غير صحيح (http://google.com)',\r\n linkMP4: 'الرابط غير صحيح (http://example.com/a.mp4)',\r\n mobileNo: 'خطأ في رقم الجوال (05xxxxxxxx)',\r\n };\r\n return config[validatorName];\r\n }\r\n\r\n private addPatternMsg(validatorValue: any, patternErrorMsg: string) {\r\n let pattern = {\r\n ...validatorValue,\r\n message: patternErrorMsg,\r\n };\r\n return pattern;\r\n }\r\n\r\n private getNgbDatepickerErrorMsg(validatorValue: any): string {\r\n let msg = '';\r\n if (validatorValue.maxDate) {\r\n msg = `التاريخ المدخل \"${this.parserFormatter.format(\r\n validatorValue.maxDate.actual\r\n )}\" اكبر من تاريخ اليوم \"${this.parserFormatter.format(\r\n validatorValue.maxDate.maxDate\r\n )}\"`;\r\n } else if (validatorValue.minDate) {\r\n msg = `التاريخ المدخل \"${this.parserFormatter.format(\r\n validatorValue.minDate.actual\r\n )}\" يجب ان يكون اكبر من أو يساوي تاريخ البداية \"${this.parserFormatter.format(\r\n validatorValue.minDate.minDate\r\n )}\"`;\r\n } else if (validatorValue.invalid) {\r\n msg = `التاريخ المدخل غير صحيح ${validatorValue.invalid}.`;\r\n }\r\n return msg;\r\n }\r\n\r\n private static convertToEn(value: string) {\r\n let newValue = '';\r\n for (let i = 0; i < value.length; i++) {\r\n let ch = value.charCodeAt(i);\r\n if (ch >= 1584 && ch <= 1650) {\r\n let newChar = ch - 1584;\r\n newValue = newValue + String.fromCharCode(newChar);\r\n } else {\r\n newValue = newValue + String.fromCharCode(ch);\r\n }\r\n }\r\n return newValue;\r\n }\r\n\r\n private static nationalIdValidate(civilId: string): boolean {\r\n if (civilId) {\r\n let strID = this.convertToEn(civilId);\r\n let digits = '';\r\n let counter = 0;\r\n while (counter < 9) {\r\n if ((counter + 1) % 2 == 0) {\r\n digits = digits + strID.substring(counter, counter + 1);\r\n } else {\r\n digits =\r\n digits + (+strID.substring(counter, counter + 1) * 2).toString();\r\n }\r\n counter++;\r\n }\r\n let intSum = 0;\r\n let intSumTemp = 0;\r\n let strSum;\r\n let intOddSumDigit;\r\n let CheckDigit;\r\n counter = 0;\r\n while (counter < digits.length) {\r\n intSumTemp = +digits.charAt(counter) * 1;\r\n intSum += intSumTemp;\r\n counter++;\r\n }\r\n strSum = intSum.toString();\r\n if (strSum.length == 1) {\r\n intOddSumDigit = intSum;\r\n } else {\r\n intOddSumDigit = strSum.substring(strSum.length, strSum.length - 1);\r\n }\r\n if (intOddSumDigit == 0) {\r\n CheckDigit = 0;\r\n } else {\r\n CheckDigit = (10 - +intOddSumDigit).toString();\r\n }\r\n let PublicID = this.convertToEn(civilId);\r\n if (\r\n CheckDigit ==\r\n PublicID.substring(PublicID.length - 1, PublicID.length) &&\r\n strID.length == 10 &&\r\n strID.substring(0, 1) == '1'\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n private static iqamaIdValidate(civilId: string): boolean {\r\n if (civilId) {\r\n let strID = this.convertToEn(civilId);\r\n let digits = '';\r\n let counter = 0;\r\n while (counter < 9) {\r\n if ((counter + 1) % 2 == 0) {\r\n digits = digits + strID.substring(counter, counter + 1);\r\n } else {\r\n digits =\r\n digits + (+strID.substring(counter, counter + 1) * 2).toString();\r\n }\r\n counter++;\r\n }\r\n let intSum = 0;\r\n let intSumTemp = 0;\r\n let strSum;\r\n let intOddSumDigit;\r\n let CheckDigit;\r\n counter = 0;\r\n while (counter < digits.length) {\r\n intSumTemp = +digits.charAt(counter) * 1;\r\n intSum += intSumTemp;\r\n counter++;\r\n }\r\n strSum = intSum.toString();\r\n if (strSum.length == 1) {\r\n intOddSumDigit = intSum;\r\n } else {\r\n intOddSumDigit = strSum.substring(strSum.length, strSum.length - 1);\r\n }\r\n if (intOddSumDigit == 0) {\r\n CheckDigit = 0;\r\n } else {\r\n CheckDigit = (10 - +intOddSumDigit).toString();\r\n }\r\n let PublicID = this.convertToEn(civilId);\r\n if (\r\n CheckDigit ==\r\n PublicID.substring(PublicID.length - 1, PublicID.length) &&\r\n strID.length == 10 &&\r\n strID.substring(0, 1) == '2'\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n Self,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormControl, NgControl } from '@angular/forms';\r\nimport { IPAFormService } from '../ipa-form.service';\r\n\r\n@Component({\r\n selector: 'ipa-text-input',\r\n templateUrl: './text-input.component.html',\r\n styleUrls: ['./text-input.component.scss'],\r\n})\r\nexport class TextInputComponent implements OnInit {\r\n @ViewChild('input', { static: true }) input!: ElementRef;\r\n @Input() id!: string;\r\n @Input() type = 'text';\r\n @Input() placeholder = 'please enter text';\r\n @Input() label: string = 'text input';\r\n @Input() required = false;\r\n @Input() patternErrorMsg = 'invalid pattern';\r\n @Input() pattern = '';\r\n @Input() classes!: string;\r\n @Input() containerClasses!: string;\r\n formControl: FormControl = new FormControl('');\r\n errorMsg!: string | null;\r\n\r\n constructor(\r\n private validationService: IPAFormService,\r\n @Self() public controlDir: NgControl\r\n ) {\r\n this.controlDir.valueAccessor = this;\r\n }\r\n\r\n ngOnInit(): void {\r\n const control = this.controlDir.control;\r\n const validators = control?.validator ? [control.validator] : [];\r\n\r\n control?.setValidators(validators);\r\n control?.updateValueAndValidity();\r\n this.formControl = control as FormControl;\r\n }\r\n\r\n onChange(event: any): void {}\r\n\r\n onTouched(): void {}\r\n writeValue(obj: any): void {\r\n this.input.nativeElement.value = obj || '';\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n get errorMessage(): string | null {\r\n this.errorMsg = this.validationService.getErrorMessage(\r\n this.formControl,\r\n this.patternErrorMsg\r\n );\r\n return this.errorMsg;\r\n }\r\n}\r\n","<div class=\"form-floating {{containerClasses}}\">\r\n <input #input id=\"{{id}}\" class=\"form-control {{classes}}\" [type]=\"type\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\">\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>","import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n Self,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormControl, NgControl } from '@angular/forms';\r\nimport { IPAFormService } from '../ipa-form.service';\r\n\r\n@Component({\r\n selector: 'ipa-textarea-input',\r\n templateUrl: './textarea-input.component.html',\r\n styleUrls: ['./textarea-input.component.scss'],\r\n})\r\nexport class TextareaInputComponent implements OnInit {\r\n @ViewChild('input', { static: true }) input: ElementRef<any> =\r\n new ElementRef<any>(null);\r\n @Input() id!: string;\r\n @Input() placeholder = 'please enter text';\r\n @Input() label: string = 'textarea input';\r\n @Input() required = false;\r\n @Input() patternErrorMsg = 'invalid pattern';\r\n @Input() pattern!: string;\r\n @Input() classes!: string;\r\n @Input() containerClasses!: string;\r\n formControl: FormControl = new FormControl('');\r\n errorMsg!: string | null;\r\n\r\n constructor(\r\n private validationService: IPAFormService,\r\n @Self() public controlDir: NgControl\r\n ) {\r\n this.controlDir.valueAccessor = this;\r\n }\r\n\r\n ngOnInit(): void {\r\n const control = this.controlDir.control;\r\n const validators = control?.validator ? [control.validator] : [];\r\n\r\n control?.setValidators(validators);\r\n control?.updateValueAndValidity();\r\n this.formControl = control as FormControl;\r\n }\r\n\r\n onChange(event: any): void {}\r\n\r\n onTouched(): void {}\r\n writeValue(obj: any): void {\r\n this.input.nativeElement.value = obj || '';\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n get errorMessage(): string | null {\r\n this.errorMsg = this.validationService.getErrorMessage(\r\n this.formControl,\r\n this.patternErrorMsg\r\n );\r\n return this.errorMsg;\r\n }\r\n}\r\n","<div class=\"form-floating {{containerClasses}}\">\r\n <textarea #input id=\"{{id}}\" class=\"form-control {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\">\r\n </textarea>\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>","import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n Self,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormControl, NgControl } from '@angular/forms';\r\nimport { IPAFormService } from '../ipa-form.service';\r\n\r\n@Component({\r\n selector: 'ipa-dropdown-input',\r\n templateUrl: './dropdown-input.component.html',\r\n styleUrls: ['./dropdown-input.component.scss'],\r\n})\r\nexport class DropdownInputComponent implements OnInit {\r\n @ViewChild('select', { static: true }) input!: HTMLSelectElement;\r\n @Input() id!: string;\r\n @Input() label: string = 'text input';\r\n @Input() items: any[] = [];\r\n @Input() textField!: string;\r\n @Input() valueField!: string;\r\n @Input() required = false;\r\n @Input() searchable = false;\r\n @Input() notFoundText = 'لا يوجد بيانات';\r\n @Input() classes!: string;\r\n @Input() containerClasses!: string;\r\n formControl: FormControl = new FormControl('');\r\n errorMsg!: string | null;\r\n\r\n constructor(\r\n private validationService: IPAFormService,\r\n @Self() public controlDir: NgControl\r\n ) {\r\n this.controlDir.valueAccessor = this;\r\n }\r\n\r\n ngOnInit(): void {\r\n const control = this.controlDir.control;\r\n const validators = control?.validator ? [control.validator] : [];\r\n\r\n control?.setValidators(validators);\r\n control?.updateValueAndValidity();\r\n this.formControl = control as FormControl;\r\n this.formControl.patchValue(null);\r\n }\r\n\r\n onChange(event: any): void {}\r\n\r\n onTouched(): void {}\r\n writeValue(obj: any): void {\r\n if (this.input) this.input.value = obj || '';\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n get errorMessage(): string | null {\r\n this.errorMsg = this.validationService.getErrorMessage(this.formControl);\r\n return this.errorMsg;\r\n }\r\n}\r\n","<div class=\"form-floating {{containerClasses}}\"\r\n [ngClass]=\"{'was-validated': (controlDir.control?.dirty || controlDir.control?.touched) && required}\">\r\n\r\n <!-- searchable is false -->\r\n <ng-container *ngIf=\"!searchable\">\r\n <select #select id=\"{{id}}\" class=\"form-select {{classes}}\" [required]=\"required\" [formControl]=\"formControl\">\r\n <option *ngFor=\"let item of items\" [value]=\"valueField ? item[valueField] : item\">\r\n {{textField ? item[textField] : item}}</option>\r\n </select>\r\n <label for=\"{{id}}\">{{label}}</label>\r\n </ng-container>\r\n\r\n <!-- searchable is true -->\r\n <ng-select *ngIf=\"searchable\" #select dir=\"rtl\" class=\"{{classes}}\" [formControl]=\"formControl\" [items]=\"items\"\r\n [placeholder]=\"label\" [notFoundText]=\"notFoundText\" [required]=\"required\" [bindValue]=\"valueField\"\r\n [bindLabel]=\"textField\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\">\r\n </ng-select>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>","import { HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ExceptionUrl } from '../../models/exceptionUrl.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoaderService {\r\n public isLoading = new BehaviorSubject(false);\r\n urls: ExceptionUrl[] = [];\r\n constructor() {}\r\n\r\n setExceptionUrls(urls: ExceptionUrl[]) {\r\n this.urls = urls;\r\n }\r\n\r\n addExceptionUrl(url: ExceptionUrl) {\r\n this.urls.push(url);\r\n }\r\n}\r\n","import { AfterViewInit, ChangeDetectorRef, Component } from '@angular/core';\r\nimport { LoaderService } from '../../services/loader.service';\r\n\r\n@Component({\r\n selector: 'ipa-loader',\r\n templateUrl: './loading.component.html',\r\n styleUrls: ['./loading.component.scss'],\r\n})\r\nexport class LoaderComponent implements AfterViewInit {\r\n loading!: boolean;\r\n\r\n constructor(\r\n private loaderService: LoaderService,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.loaderService.isLoading.subscribe((v) => {\r\n this.loading = v;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n}\r\n","<div id=\"cover-spin\" *ngIf=\"loading\">\r\n <div class=\"spinner\"></div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DropzoneConfigInterface, DropzoneDirective } from 'ngx-dropzone-wrapper';\r\n\r\n@Component({\r\n selector: 'ipa-file-upload',\r\n templateUrl: './file-upload.component.html',\r\n styleUrls: ['./file-upload.component.scss']\r\n})\r\nexport class FileUploadComponent implements OnInit {\r\n @ViewChild(DropzoneDirective, { static: false })\r\n dropzoneDir!: DropzoneDirective;\r\n @Input() label = '';\r\n @Input() required = false;\r\n @Input() acceptedFiles = '';\r\n @Input() multiple = 1; // set maxFiles (NOT uploadMultiple)in the config object,\r\n @Input() maxFileSize = 2;\r\n @Input() method = 'POST';\r\n @Input() autoUpload = false;\r\n @Input() apiUrl = 'apiUrl';\r\n @Input() authorization!: string;\r\n @Output() successUpload = new EventEmitter();\r\n @Output() fileAdded = new EventEmitter();\r\n @Output() fileDeleted = new EventEmitter();\r\n dragEnter = false;\r\n errors: string[] = [];\r\n config!: DropzoneConfigInterface;\r\n filesAdded: File[] = [];\r\n currentFiles: File[] = [];\r\n\r\n constructor(\r\n // private authService: AuthService,\r\n private toastrService: ToastrService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.label = 'رفع ' + this.label;\r\n this.config = {\r\n url: this.apiUrl,\r\n method: this.method,\r\n headers: {\r\n Authorization: 'Bearer ' + this.authorization,\r\n },\r\n maxFilesize: this.maxFileSize,\r\n maxFiles: this.multiple,\r\n uploadMultiple: this.multiple > 1,\r\n dictInvalidFileType: 'صيغة الملف غير مسموح بها',\r\n dictFileTooBig: 'الحجم تجاوز الحد المسموح',\r\n dictMaxFilesExceeded:\r\n 'الرجاء حذف الملفات الموجودة حاليا لتتمكن من رفع هذا الملف',\r\n acceptedFiles: this.acceptedFiles,\r\n autoProcessQueue: this.autoUpload,\r\n previewTemplate: '<span></span>',\r\n };\r\n }\r\n\r\n operationCompleted(e: any): void {\r\n if (this.filesAdded.length > 0) {\r\n this.successUpload.emit(this.filesAdded);\r\n this.filesAdded = [];\r\n }\r\n this.dropzoneDir.reset();\r\n }\r\n\r\n onUploadSuccess(e: any): void {\r\n const file = e[0];\r\n if (file.status === 'success') {\r\n this.filesAdded.push(file);\r\n }\r\n\r\n this.toastrService.success('تم تحميل المرفقات بنجاح');\r\n }\r\n\r\n onUploadError(e: any): void {\r\n if (e[1]) {\r\n this.errors = [];\r\n this.errors.push(`${e[1]} (${e[0].name})`);\r\n }\r\n }\r\n\r\n fileWasAdded(e: File): void {\r\n const myDropzone = this.dropzoneDir.dropzone();\r\n if (this.multiple === 1) {\r\n this.currentFiles = [];\r\n this.filesAdded = [];\r\n this.errors = [];\r\n const files = myDropzone.files;\r\n if (files.length > 1) {\r\n myDropzone.removeFile(files[0]);\r\n }\r\n }\r\n this.currentFiles.push(e);\r\n this.fileAdded.emit(e);\r\n }\r\n\r\n sending(e: any): void {\r\n this.errors = [];\r\n }\r\n\r\n reset(e: any): void {}\r\n\r\n deleteFile(file: any): void {\r\n this.currentFiles = this.currentFiles.filter(\r\n (x) => x.name !== file.name && x.size !== file.size\r\n );\r\n this.errors = [];\r\n this.fileDeleted.emit();\r\n }\r\n}\r\n","<div class=\"file-upload\">\r\n <div class=\"upload-overlay\" [dropzone]=\"config\" (error)=\"onUploadError($event)\"\r\n (queueComplete)=\"operationCompleted($event)\" (success)=\"onUploadSuccess($event)\" (dragenter)=\"dragEnter = true\"\r\n (dragLeave)=\"dragEnter = false\" (drop)=\"dragEnter = false\" (dragEnd)=\"dragEnter = false\"\r\n [class.active-border]=\"dragEnter\" (sending)=\"sending($event)\" (reset)=\"reset($event)\"\r\n (addedFile)=\"fileWasAdded($event)\">\r\n </div>\r\n <div class=\"upload-btn-wrapper\">\r\n <div>\r\n <div class=\"subtitle mb-2\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"required\">*</span>\r\n </div>\r\n <hr>\r\n <span style=\"font-size: 12px;\">قم بسحب الملف أو اضغط هنا</span>\r\n <i class=\"fas fa-upload upload-icon mr-2\"></i>\r\n </div>\r\n <div *ngIf=\"acceptedFiles.length > 0\" class=\"allowed-extensions\">\r\n الصيغة المسموح بها:\r\n <span class=\"extensions\">{{ acceptedFiles }}</span>\r\n </div>\r\n <div class=\"allowed-extensions\">\r\n اقصى حجم للمرفق:\r\n <span class=\"extensions\">{{ maxFileSize }} MB</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"attachment-status\" style=\"text-align: center; margin-top:10px;\">\r\n <span style=\"font-size: 14px; margin: auto; font-weight:bold;\" *ngFor=\"let file of currentFiles\">\r\n {{ file.name }} <i (click)=\"deleteFile(file)\" class=\"fas fa-trash\"\r\n style=\"color:firebrick; cursor: pointer;\"></i>\r\n <br>\r\n </span>\r\n <ul class=\"list-unstyled\">\r\n <li class=\"text-danger\" style=\"font-size: 12px;\" *ngFor=\"let error of errors\">{{error}}</li>\r\n </ul>\r\n</div>","import { Component, Input, OnInit, Self } from '@angular/core';\nimport { FormControl, NgControl } from '@angular/forms';\n\n@Component({\n selector: 'ipa-recaptcha',\n templateUrl: './recaptcha.component.html',\n styleUrls: ['./recaptcha.component.scss'],\n})\nexport class RecaptchaComponent implements OnInit {\n @Input() siteKey = '6LefJQYdAAAAAIlxmfkjNlWidMk8VukIZcs6lO5e';\n @Input() recaptchaSize: 'compact' | 'normal' = 'normal';\n @Input() lang = 'ar';\n @Input() recaptchaType: 'image' | 'audio' = 'image';\n @Input() theme: 'light' | 'dark' = 'light';\n @Input() useGlobalDomain = true;\n formControl: FormControl = new FormControl('');\n constructor(@Self() public controlDir: NgControl) {\n this.controlDir.valueAccessor = this;\n }\n\n ngOnInit(): void {\n const control = this.controlDir.control;\n const validators = control?.validator ? [control.validator] : [];\n\n control?.setValidators(validators);\n control?.updateValueAndValidity();\n this.formControl = control as FormControl;\n }\n\n onChange(event: any): void {}\n\n onTouched(): void {}\n writeValue(obj: any): void {}\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n}\n","<ngx-recaptcha2 [siteKey]=\"siteKey\" [size]=\"recaptchaSize\" [hl]=\"lang\" [theme]=\"theme\" [type]=\"recaptchaType\"\n [useGlobalDomain]=\"useGlobalDomain\" [formControl]=\"formControl\">\n</ngx-recaptcha2>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport {\r\n FormArray,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { IPAFormService } from '../ipa-form/ipa-form.service';\r\nimport { Column, GenerateForm } from '../models/generateForm.model';\r\n\r\n@Component({\r\n selector: 'ipa-generate-form',\r\n templateUrl: './generate-form.component.html',\r\n styleUrls: ['./generate-form.component.scss'],\r\n})\r\nexport class GenerateFormComponent implements OnInit {\r\n @Input() generateForm!: FormGroup;\r\n @Input() form!: GenerateForm;\r\n\r\n // recaptcha inputs\r\n @Input() siteKey!: string;\r\n @Input() recaptchaSize: 'compact' | 'normal' = 'normal';\r\n @Input() lang = 'ar';\r\n @Input() recaptchaType: 'image' | 'audio' = 'image';\r\n @Input() theme: 'light' | 'dark' = 'light';\r\n @Input() useGlobalDomain = true;\r\n\r\n // file upload outputs\r\n @Output() successUpload = new EventEmitter();\r\n @Output() fileAdded = new EventEmitter();\r\n @Output() fileDeleted = new EventEmitter();\r\n\r\n errorMsg!: string | null;\r\n\r\n constructor(private validationService: IPAFormService) {}\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n }\r\n\r\n get formControls() {\r\n return this.generateForm.get('items') as FormArray;\r\n }\r\n\r\n getErrorMessage(formControlName: string): string | null {\r\n const formControl = this.generateForm.controls[\r\n formControlName\r\n ] as FormControl;\r\n this.errorMsg = this.validationService.getErrorMessage(formControl);\r\n return this.errorMsg;\r\n }\r\n\r\n SuccessUpload(event: any) {\r\n this.successUpload.emit(event);\r\n }\r\n\r\n FileAdded(file: any, formControlName: string) {\r\n this.generateForm.controls[formControlName].patchValue(file);\r\n this.fileAdded.emit(file);\r\n }\r\n\r\n FileDeleted(event: any, formControlName: string) {\r\n this.generateForm.controls[formControlName].patchValue(null);\r\n this.fileDeleted.emit(event);\r\n }\r\n\r\n private createForm() {\r\n this.form.columns.forEach((column) => {\r\n if (column.type === 'checkbox') {\r\n this.addCheckboxControl(column);\r\n } else {\r\n this.generateForm.addControl(\r\n column.englishName,\r\n new FormControl(null, [\r\n column.required ? Validators.required : Validators.nullValidator,\r\n Validators.maxLength(column.size!),\r\n column.type === 'number'\r\n ? Validators.min(1)\r\n : Validators.nullValidator,\r\n ])\r\n );\r\n }\r\n });\r\n }\r\n\r\n private addCheckboxControl(column: Column) {\r\n let checkboxGroup = new FormArray(\r\n column.data!.map((item) => {\r\n return new FormGroup({\r\n [column.valueField!]: new FormControl(item[column.valueField!]),\r\n [column.textField!]: new FormControl(item[column.textField!]),\r\n checkbox: new FormControl(false, Validators.required),\r\n });\r\n })\r\n );\r\n\r\n this.generateForm.addControl(\r\n column.englishName,\r\n new FormControl(\r\n null,\r\n column.required ? Validators.required : Validators.nullValidator\r\n )\r\n );\r\n this.generateForm.addControl('items', checkboxGroup);\r\n checkboxGroup.valueChanges.subscribe((value) => {\r\n if (this.getCheckboxSelectedValues(value)) {\r\n this.generateForm.controls[column.englishName].patchValue(value);\r\n } else {\r\n this.generateForm.controls[column.englishName].patchValue(null);\r\n this.generateForm.controls[column.englishName].markAsTouched();\r\n }\r\n });\r\n }\r\n\r\n private getCheckboxSelectedValues(items: any[]) {\r\n let selectedItems = items.filter((item) => item.checkbox);\r\n return selectedItems.length > 0 ? selectedItems : null;\r\n }\r\n}\r\n","<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 [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.validationPattern!\"\r\n [patternErrorMsg]=\"column.patternErrorMsg!\" [classes]=\"column.inputClasses!\"\r\n [containerClasses]=\"column.containerClasses!\"></ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [items]=\"column.data!\" [valueField]=\"column.valueField!\"\r\n [textField]=\"column.textField!\" [required]=\"column.required\" [classes]=\"column.inputClasses!\"\r\n [containerClasses]=\"column.containerClasses!\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div [formArrayName]=\"'items'\" *ngFor=\"let control of formControls.controls; let i = index\">\r\n <div [formGroupName]=\"i\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+control.value[column.valueField!]\" class=\"form-check-input\" type=\"checkbox\"\r\n formControlName=\"checkbox\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+control.value[column.valueField!]\">\r\n {{control.value[column.textField!]}}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div *ngFor=\"let item of column.data; let i = index\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+item[column.valueField!]\" class=\"form-check-input\" type=\"radio\"\r\n [formControlName]=\"column.englishName\" [value]=\"item[column.valueField!]\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+item[column.valueField!]\">\r\n {{item[column.textField!]}}\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\">\r\n <ipa-file-upload [label]=\"column.arabicLabel\" [acceptedFiles]=\"column.acceptedFiles!\"\r\n [multiple]=\"column.multipleFile!\" [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\"\r\n [autoUpload]=\"column.autoUploadFile!\" [apiUrl]=\"column.apiUrl?? 'apiUrl' \" [authorization]=\"column.authorization!\"\r\n ngDefaultControl [formControlName]=\"column.englishName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.englishName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.englishName)\"></ipa-file-upload>\r\n </div>\r\n\r\n <!-- recaptcha -->\r\n <div *ngSwitchCase=\"'recaptcha'\">\r\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"lang\" [theme]=\"theme\"\r\n [recaptchaType]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\"\r\n formControlName=\"{{column.englishName}}\"></ipa-recaptcha>\r\n </div>\r\n\r\n <!-- DEFAULT -->\r\n <div *ngSwitchDefault>\r\n <ipa-text-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\" [type]=\"column.type\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.validationPattern!\"\r\n [patternErrorMsg]=\"column.patternErrorMsg!\" [classes]=\"column.inputClasses!\"\r\n [containerClasses]=\"column.containerClasses!\"></ipa-text-input>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</form>","import { Component, Input, OnInit, Self } from '@angular/core';\r\nimport { FormControl, NgControl } from '@angular/forms';\r\nimport {\r\n NgbCalendar,\r\n NgbDateStruct,\r\n NgbInputDatepickerConfig,\r\n} from '@ng-bootstrap/ng-bootstrap';\r\nimport { IPAFormService } from '../ipa-form.service';\r\n\r\n@Component({\r\n selector: 'ipa-datepicker',\r\n templateUrl: './datepicker.component.html',\r\n styleUrls: ['./datepicker.component.scss'],\r\n})\r\nexport class DatepickerComponent implements OnInit {\r\n @Input() id!: string;\r\n @Input() label = 'datepicker';\r\n @Input() patternErrorMsg = 'invalid pattern';\r\n @Input() required = false;\r\n @Input() maxDate!: NgbDateStruct;\r\n @Input() minDate!: NgbDateStruct;\r\n @Input() classes!: string;\r\n @Input() containerClasses!: string;\r\n today = this.calendar.getToday();\r\n formControl: FormControl = new FormControl('');\r\n errorMsg!: string | null;\r\n\r\n constructor(\r\n private ipaFormService: IPAFormService,\r\n private calendar: NgbCalendar,\r\n @Self() public controlDir: NgControl,\r\n config: NgbInputDatepickerConfig\r\n ) {\r\n this.controlDir.valueAccessor = this;\r\n config.container = 'body';\r\n }\r\n\r\n ngOnInit(): void {\r\n const control = this.controlDir.control;\r\n const validators = control?.validator ? [control.validator] : [];\r\n\r\n control?.setValidators(validators);\r\n control?.updateValueAndValidity();\r\n this.formControl = control as FormControl;\r\n }\r\n\r\n onChange(event: any): void {}\r\n\r\n onTouched(): void {}\r\n writeValue(obj: any): void {}\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n get errorMessage(): string | null {\r\n this.errorMsg = this.ipaFormService.getErrorMessage(\r\n this.formControl,\r\n this.patternErrorMsg\r\n );\r\n return this.errorMsg;\r\n }\r\n}\r\n","<div class=\"form-floating input-group {{containerClasses}}\">\r\n <input id=\"{{id}}\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\"\r\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\r\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\" style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\" title=\"{{label}}\">\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <span class=\"input-group-text calenderBtn\" (click)=\"d.toggle()\">\r\n <i class=\"far fa-calendar-alt fa-lg\"></i>\r\n </span>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n <ng-template #footerTemplate style=\"text-align: center;\">\r\n <hr>\r\n <button type=\"button\" class=\"btn btn-primary btn-sm m-2 \" style=\"width: auto; float: right;\"\r\n (click)=\"formControl.patchValue(today);d.navigateTo(today);\">اليوم</button>\r\n <button type=\"button\" class=\"btn btn-secondary btn-sm m-2\" style=\"width: auto; float: left;\"\r\n (click)=\"formControl.patchValue(null);d.close()\">مسح</button>\r\n </ng-template>\r\n</div>","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { TranslationWidth } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { NgbDatepickerI18n, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nconst WEEKDAYS = ['ن', 'ث', 'ر', 'خ', 'ج', 'س', 'ح'];\r\nconst MONTHS = [\r\n 'محرم',\r\n 'صفر',\r\n 'ربيع الأول',\r\n 'ربيع الآخر',\r\n 'جمادى الأولى',\r\n 'جمادى الآخرة',\r\n 'رجب',\r\n 'شعبان',\r\n 'رمضان',\r\n 'شوال',\r\n 'ذو القعدة',\r\n 'ذو الحجة',\r\n];\r\n\r\n@Injectable()\r\nexport class IslamicI18n extends NgbDatepickerI18n {\r\n getMonthShortName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getMonthFullName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getWeekdayLabel(weekday: number, width?: TranslationWidth) {\r\n return WEEKDAYS[weekday - 1];\r\n }\r\n\r\n getDayAriaLabel(date: NgbDateStruct): string {\r\n return `${date.day}-${date.month}-${date.year}`;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { NgbCalendar, NgbCalendarIslamicUmalqura, NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DatepickerComponent } from '../datepicker.component';\r\nimport { IslamicI18n } from './IslamicI18n';\r\n@Component({\r\n selector: 'ipa-hijri-datepicker',\r\n templateUrl: '../datepicker.component.html',\r\n styleUrls: ['../datepicker.component.scss'],\r\n providers: [\r\n { provide: NgbCalendar, useClass: NgbCalendarIslamicUmalqura },\r\n { provide: NgbDatepickerI18n, useClass: IslamicI18n },\r\n ],\r\n})\r\nexport class HijriDatepickerComponent extends DatepickerComponent {}\r\n","import { TranslationWidth } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { NgbDatepickerI18n, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nconst WEEKDAYS = ['ن', 'ث', 'ر', 'خ', 'ج', 'س', 'ح'];\r\nconst MONTHS = [\r\n 'يناير',\r\n 'فبراير',\r\n 'مارس',\r\n 'أبريل',\r\n 'مايو',\r\n 'يونيو',\r\n 'يوليو',\r\n 'اغسطس',\r\n 'سبتمبر',\r\n 'أكتوبر',\r\n 'نوفمبر',\r\n 'ديسمبر',\r\n];\r\n\r\n@Injectable()\r\nexport class Gregorian18n extends NgbDatepickerI18n {\r\n getMonthShortName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getMonthFullName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getWeekdayLabel(weekday: number, width?: TranslationWidth) {\r\n return WEEKDAYS[weekday - 1];\r\n }\r\n\r\n getDayAriaLabel(date: NgbDateStruct): string {\r\n return `${date.day}-${date.month}-${date.year}`;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { NgbCalendar, NgbCalendarGregorian, NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DatepickerComponent } from '../datepicker.component';\r\nimport { Gregorian18n } from './gregorian18n';\r\n\r\n@Component({\r\n selector: 'ipa-gregorian-datepicker',\r\n templateUrl: '../datepicker.component.html',\r\n styleUrls: ['../datepicker.component.scss'],\r\n providers: [\r\n { provide: NgbCalendar, useClass: NgbCalendarGregorian},\r\n { provide: NgbDatepickerI18n, useClass: Gregorian18n },\r\n ],\r\n})\r\nexport class GregorianDatepickerComponent extends DatepickerComponent {}\r\n","import { Component, AfterViewInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ipa-share-button',\r\n templateUrl: './share-button.component.html',\r\n styleUrls: ['./share-button.component.scss'],\r\n})\r\nexport class ShareButtonComponent implements AfterViewInit {\r\n @Input() title = '';\r\n @Input() description = '';\r\n @Input() btnLabel = '';\r\n constructor() {}\r\n ngAfterViewInit(): void {\r\n const elements = document.getElementsByClassName('sb-show-icon');\r\n elements[0].setAttribute('type', 'button');\r\n elements[0].setAttribute('id', 'IPAShareBtn');\r\n const label = document.createElement('label');\r\n label.innerHTML = this.btnLabel;\r\n label.classList.add('sm-share-title');\r\n label.classList.add('me-1');\r\n elements[0].before(label);\r\n }\r\n}\r\n","<share-popup-button [title]=\"title\" [description]=\"description\" [icon]=\"'share-alt'\"\r\n [include]=\"['facebook','twitter','linkedin','telegram','whatsapp','email','copy']\">\r\n</share-popup-button>","import { OverlayModule } from '@angular/cdk/overlay';\r\nimport { NgModule } from '@angular/core';\r\nimport {\r\n FaIconLibrary,\r\n FontAwesomeModule,\r\n} from '@fortawesome/angular-fontawesome';\r\nimport { fas } from '@fortawesome/free-solid-svg-icons';\r\nimport { ShareIconsModule } from 'ngx-sharebuttons/icons';\r\nimport { ShareButtonsPopupModule } from 'ngx-sharebuttons/popup';\r\nimport { ShareButtonComponent } from './share-button.component';\r\n\r\n@NgModule({\r\n declarations: [ShareButtonComponent],\r\n imports: [\r\n ShareIconsModule,\r\n ShareButtonsPopupModule,\r\n OverlayModule,\r\n FontAwesomeModule,\r\n ],\r\n exports: [\r\n ShareButtonComponent,\r\n ShareIconsModule,\r\n ShareButtonsPopupModule,\r\n OverlayModule,\r\n FontAwesomeModule,\r\n ]\r\n})\r\nexport class ShareButtonModule {\r\n constructor(library: FaIconLibrary) {\r\n library.addIconPacks(fas);\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { DropzoneModule } from 'ngx-dropzone-wrapper';\r\nimport { NgxCaptchaModule } from 'ngx-captcha';\r\nimport { PipesModule } from './pipes/pipes.module';\r\nimport { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\nimport { TextInputComponent } from './ipa-form/text-input/text-input.component';\r\nimport { TextareaInputComponent } from './ipa-form/textarea-input/textarea-input.component';\r\nimport { DropdownInputComponent } from './ipa-form/dropdown-input/dropdown-input.component';\r\nimport { LoaderComponent } from './core/components/loading/loading.component';\r\nimport { GenerateFormComponent } from './generate-form/generate-form.component';\r\nimport { FileUploadComponent } from './ipa-form/file-upload/file-upload.component';\r\nimport { DatepickerComponent } from './ipa-form/datepicker/datepicker.component';\r\nimport { HijriDatepickerComponent } from './ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component';\r\nimport { GregorianDatepickerComponent } from './ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component';\r\nimport { ShareButtonModule } from './share-button/share-button.module';\r\nimport { RecaptchaComponent } from './ipa-form/recaptcha/recaptcha.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n TextInputComponent,\r\n TextareaInputComponent,\r\n DropdownInputComponent,\r\n LoaderComponent,\r\n GenerateFormComponent,\r\n FileUploadComponent,\r\n DatepickerComponent,\r\n HijriDatepickerComponent,\r\n GregorianDatepickerComponent,\r\n RecaptchaComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ToastrModule,\r\n DropzoneModule,\r\n NgxCaptchaModule,\r\n PipesModule,\r\n NgbDatepickerModule,\r\n ShareButtonModule,\r\n NgSelectModule,\r\n ],\r\n exports: [\r\n TextInputComponent,\r\n TextareaInputComponent,\r\n DropdownInputComponent,\r\n LoaderComponent,\r\n GenerateFormComponent,\r\n FileUploadComponent,\r\n PipesModule,\r\n HijriDatepickerComponent,\r\n GregorianDatepickerComponent,\r\n ShareButtonModule,\r\n RecaptchaComponent,\r\n ],\r\n})\r\nexport class NgIPALibraryModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { LoaderService } from '../services/loader.service';\r\n\r\n@Injectable()\r\nexport class LoadingInterceptor implements HttpInterceptor {\r\n private requests: HttpRequest<any>[] = [];\r\n\r\n constructor(private loaderService: LoaderService) {}\r\n\r\n removeRequest(req: HttpRequest<any>): void {\r\n const i = this.requests.indexOf(req);\r\n if (i >= 0) {\r\n this.requests.splice(i, 1);\r\n }\r\n this.loaderService.isLoading.next(this.requests.length > 0);\r\n }\r\n\r\n intercept(\r\n req: HttpRequest<unknown>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<unknown>> {\r\n if (this.isException(req)) {\r\n return next.handle(req);\r\n }\r\n this.requests.push(req);\r\n\r\n this.loaderService.isLoading.next(true);\r\n return new Observable((observer) => {\r\n const subscription = next.handle(req).subscribe(\r\n (event) => {\r\n if (event instanceof HttpResponse) {\r\n this.removeRequest(req);\r\n observer.next(event);\r\n }\r\n },\r\n (err) => {\r\n this.removeRequest(req);\r\n observer.error(err);\r\n },\r\n () => {\r\n this.removeRequest(req);\r\n observer.complete();\r\n }\r\n );\r\n // remove request from queue when cancelled\r\n return () => {\r\n this.removeRequest(req);\r\n subscription.unsubscribe();\r\n };\r\n });\r\n }\r\n\r\n isException(req: HttpRequest<any>): boolean {\r\n for (const url of this.loaderService.urls) {\r\n if (req.url.includes(url.path) && req.method === url.method) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","import { HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ExceptionUrl } from '../../models/exceptionUrl.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorService {\r\n urls: ExceptionUrl[] = [];\r\n constructor() {}\r\n\r\n setExceptionUrls(urls: ExceptionUrl[]) {\r\n this.urls = urls;\r\n }\r\n\r\n addExceptionUrl(url: ExceptionUrl) {\r\n this.urls.push(url);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ErrorService } from '../services/error.service';\r\nimport { ApiException } from '../../models/apiException';\r\nimport { IndividualConfig, ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(\r\n private errorService: ErrorService,\r\n private toastrService: ToastrService\r\n ) {}\r\n\r\n intercept(\r\n req: HttpRequest<unknown>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<unknown>> {\r\n if (this.isException(req)) {\r\n return next.handle(req);\r\n }\r\n\r\n return next.handle(req).pipe(\r\n catchError((error) => {\r\n const response = error.error as ApiException;\r\n const toastrConfig: Partial<IndividualConfig> = {\r\n disableTimeOut: true,\r\n };\r\n switch (response.statusCode) {\r\n case 500:\r\n this.toastrService.error(\r\n response?.innerException + ' ' + response?.stackTrace,\r\n response.message,\r\n toastrConfig\r\n );\r\n break;\r\n\r\n default:\r\n this.toastrService.error(response.message, '', toastrConfig);\r\n break;\r\n }\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n\r\n isException(req: HttpRequest<any>): boolean {\r\n for (const url of this.errorService.urls) {\r\n if (req.url.includes(url.path) && req.method === url.method) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { DecodedToken } from '../../models/decodedToken.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService {\r\n public currentUser = new BehaviorSubject<DecodedToken>({ exp: 0 });\r\n currentUserUrl = '';\r\n constructor() {}\r\n\r\n getToken(): string {\r\n return localStorage.getItem('token') ?? '';\r\n }\r\n\r\n getDecodedToken(): any {\r\n return this.decodeJwt(this.getToken());\r\n }\r\n\r\n setCurrentUser(): void {\r\n const decodedToken = this.getDecodedToken() as DecodedToken;\r\n this.currentUser.next({\r\n nameid: decodedToken.nameid,\r\n email: decodedToken.email,\r\n given_name: decodedToken.given_name,\r\n exp: decodedToken.exp,\r\n });\r\n }\r\n\r\n setCurrentUserUrl(url: string) {\r\n this.currentUserUrl = url;\r\n }\r\n\r\n private decodeJwt(token: string): any {\r\n const base64Url = token.split('.')[1];\r\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\r\n const jsonPayload = decodeURIComponent(\r\n atob(base64)\r\n .split('')\r\n .map((c) => {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n })\r\n .join('')\r\n );\r\n return JSON.parse(jsonPayload);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpClient,\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { DecodedToken } from '../../models/decodedToken.model';\r\nimport { User } from '../../models/user.model';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n refresh = true;\r\n constructor(private authService: AuthService, private http: HttpClient) {}\r\n\r\n intercept(\r\n request: HttpRequest<unknown>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<unknown>> {\r\n if (this.isException(request)) {\r\n return next.handle(request);\r\n }\r\n const token = this.authService.getToken();\r\n if (token) {\r\n this.isTokenExpired(token);\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n });\r\n }\r\n return next.handle(request);\r\n }\r\n\r\n private isTokenExpired(token: string) {\r\n const redirectPath = location.pathname;\r\n const decodedToken = this.authService.getDecodedToken() as DecodedToken;\r\n const expDate = new Date((decodedToken.exp ?? 0) * 1000);\r\n if (expDate < new Date()) {\r\n location.replace('/ar/login?redirect=' + redirectPath);\r\n return;\r\n } else {\r\n if (this.authService.currentUserUrl) {\r\n if (this.refresh) {\r\n this.http\r\n .get<User>(this.authService.currentUserUrl + `/api/users?refresh`, {\r\n headers: { Authorization: `Bearer ${token}` },\r\n })\r\n .subscribe((user) => {\r\n localStorage.setItem('token', user.token);\r\n this.refresh = false;\r\n setTimeout(() => {\r\n this.refresh = true;\r\n }, 60 * 1000);\r\n });\r\n }\r\n } else {\r\n throw new Error(\r\n \"provide current base user api url using this function authService.setCurrentUserUrl('https://...')\"\r\n );\r\n }\r\n }\r\n }\r\n\r\n private isException(request: HttpRequest<any>): boolean {\r\n if (\r\n request.url.includes('/api/users?refresh') &&\r\n request.method === 'GET'\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Breadcrumbs } from '../models/breadcrumbs.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BreadcrumbsService {\r\n constructor() {}\r\n\r\n setPageTitle(text: string) {\r\n const titleEl = document.querySelector('.sub-section-title');\r\n if (titleEl) {\r\n titleEl.textContent = text;\r\n }\r\n }\r\n\r\n setMainPageTitle(text: string, url: string) {\r\n const div = document.getElementsByClassName('main-section-title');\r\n if (div && div.length > 0) {\r\n div[0].innerHTML = `<a id=\"site-url\" href=\"${url}\">${text}</a>`;\r\n }\r\n }\r\n\r\n addBreadcrumb(\r\n nodeName: string,\r\n spanClasses = 'bc-current',\r\n linkClasses = 'bc-node'\r\n ) {\r\n const spans = document.getElementById('ctl00_path')?.children;\r\n //get last child\r\n const lastIndex = spans?.item(spans.length - 1) as HTMLSpanElement;\r\n const innerHTML = lastIndex.innerHTML;\r\n lastIndex.innerHTML = '';\r\n lastIndex.classList.remove(...['bc-current']);\r\n //add new link\r\n lastIndex.appendChild(\r\n this.createLink(innerHTML, location.pathname, linkClasses)\r\n );\r\n //add new span and empty span\r\n const newSpan = this.createSpan(nodeName, spanClasses);\r\n const emptySpan = document.createElement('span');\r\n lastIndex.after(...[emptySpan, newSpan]);\r\n }\r\n\r\n addBreadcrumbList(\r\n nodeList: Breadcrumbs[],\r\n spanClasses = 'bc-current',\r\n linkClasses = 'bc-node'\r\n ) {\r\n const spans = document.getElementById('ctl00_path')?.childNodes;\r\n //get last child\r\n const lastSpan = spans?.item(spans.length - 1) as HTMLSpanElement;\r\n const innerHTML = lastSpan.innerHTML;\r\n lastSpan.classList.remove(...[spanClasses]);\r\n lastSpan.innerHTML = '';\r\n //add new link\r\n lastSpan.appendChild(\r\n this.createLink(innerHTML, location.pathname, linkClasses)\r\n );\r\n\r\n for (let i = 0; i < nodeList.length; i++) {\r\n const lastIndex = spans?.item(spans.length - 1) as HTMLSpanElement;\r\n if (nodeList[i].nodeUrl) {\r\n const newSpan = document.createElement('span');\r\n newSpan.appendChild(\r\n this.createLink(\r\n nodeList[i].nodeName,\r\n nodeList[i].nodeUrl,\r\n linkClasses\r\n )\r\n );\r\n const emptySpan = document.createElement('span');\r\n lastIndex.after(...[emptySpan, newSpan]);\r\n } else {\r\n const newSpan = this.createSpan(nodeList[i].nodeName, spanClasses);\r\n const emptySpan = document.createElement('span');\r\n lastIndex.after(...[emptySpan, newSpan]);\r\n }\r\n }\r\n }\r\n\r\n createBreadcrumbs(\r\n nodeList: Breadcrumbs[],\r\n spanClasses = 'bc-current',\r\n linkClasses = 'bc-node'\r\n ) {\r\n const currentSpan = document.getElementById(\r\n 'ctl00_path'\r\n ) as HTMLSpanElement;\r\n currentSpan.innerHTML = '';\r\n const newSpan = document.createElement('span');\r\n currentSpan?.appendChild(newSpan);\r\n newSpan.appendChild(\r\n this.createLink(nodeList[0].nodeName, nodeList[0].nodeUrl, linkClasses)\r\n );\r\n const spans = currentSpan?.children;\r\n for (let i = 1; i < nodeList.length; i++) {\r\n const lastIndex = spans?.item(spans.length - 1) as HTMLSpanElement;\r\n if (nodeList[i].nodeUrl) {\r\n const newSpan = document.createElement('span');\r\n newSpan.appendChild(\r\n this.createLink(\r\n nodeList[i].nodeName,\r\n nodeList[i].nodeUrl,\r\n linkClasses\r\n )\r\n );\r\n const emptySpan = document.createElement('span');\r\n lastIndex?.after(...[emptySpan, newSpan]);\r\n } else {\r\n const newSpan = this.createSpan(nodeList[i].nodeName, spanClasses);\r\n const emptySpan = document.createElement('span');\r\n lastIndex.after(...[emptySpan, newSpan]);\r\n }\r\n }\r\n }\r\n\r\n removeLastBreadcrumb() {\r\n const spans = document.getElementById('ctl00_path')?.children;\r\n spans?.item(spans.length - 1)?.remove();\r\n spans?.item(spans.length - 1)?.remove();\r\n this.setCurrentNode(spans);\r\n }\r\n\r\n removeBreadcrumbByNodeName(nodeName: string) {\r\n const spans = document.getElementById('ctl00_path')\r\n ?.children as HTMLCollection;\r\n let index = -1;\r\n for (let i = 0; i < spans.length; i++) {\r\n const span = spans.item(i);\r\n if (span?.textContent?.trim() === nodeName) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n const lastNode = spans.length - 1 === index;\r\n if (index !== -1 && !lastNode) {\r\n spans?.item(index)?.remove();\r\n spans?.item(index)?.remove();\r\n } else {\r\n spans?.item(index)?.remove();\r\n spans?.item(index - 1)?.remove();\r\n }\r\n if (lastNode) {\r\n this.setCurrentNode(spans);\r\n }\r\n }\r\n\r\n removeLastBreadcrumbsByLength(length: number) {\r\n const spans = document.getElementById('ctl00_path')\r\n ?.children as HTMLCollection;\r\n while (length > 0) {\r\n spans?.item(spans.length - 1)?.remove();\r\n spans?.item(spans.length - 1)?.remove();\r\n length--;\r\n }\r\n if (spans.length > 0) {\r\n this.setCurrentNode(spans);\r\n }\r\n }\r\n\r\n private createLink(\r\n innerHTML: string,\r\n href: string | null,\r\n classes: string\r\n ): HTMLAnchorElement {\r\n const link = document.createElement('a');\r\n link.innerHTML = ' ' + innerHTML;\r\n link.href = href ?? '';\r\n link.classList.add(...[classes]);\r\n return link;\r\n }\r\n\r\n private createSpan(innerHTML: string, classes: string): HTMLSpanElement {\r\n const span = document.createElement('span');\r\n span.classList.add(...[classes]);\r\n span.innerHTML = ' ' + innerHTML;\r\n return span;\r\n }\r\n\r\n private setCurrentNode(spans?: HTMLCollection) {\r\n const lastSpan = spans?.item(spans.length - 1) as HTMLSpanElement;\r\n const lastSpanLink = spans\r\n ?.item(spans.length - 1)\r\n ?.children.item(0) as HTMLAnchorElement;\r\n lastSpan?.classList.add(...['bc-current']);\r\n lastSpan.innerHTML = lastSpanLink.innerHTML;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CommonService {\r\n constructor() {}\r\n\r\n print(element: string, title: string, classes?: string) {\r\n const styles = this.getElementTag('style');\r\n const linkes = this.getElementTag('link');\r\n const scripts = this.getElementTag('script');\r\n\r\n const printContents = document.getElementById(element)?.innerHTML;\r\n const popupWin = window.open('', '', 'top=0,left=0,height=100%,width=auto');\r\n const data = `\r\n <!DOCTYPE html>\r\n <head>\r\n <title> ${title} </title>\r\n <meta charset=\"utf-8\">\r\n ${linkes}\r\n ${styles}\r\n <style>\r\n @media print {\r\n .noPrint{\r\n display: none !important;\r\n }\r\n body {\r\n direction: rtl;\r\n }\r\n }\r\n </style>\r\n </head>\r\n <body class=\"${classes}\">\r\n ${printContents}\r\n ${scripts}\r\n </body>\r\n\r\n </html>`;\r\n popupWin?.document.open();\r\n popupWin?.document.write(data);\r\n popupWin?.document.close();\r\n popupWin?.focus();\r\n popupWin?.addEventListener('focus', () => {\r\n setTimeout(() => {\r\n if (popupWin.document.hasFocus()) {\r\n popupWin.print();\r\n popupWin.close();\r\n }\r\n }, 1000);\r\n });\r\n }\r\n\r\n private getElementTag(tag: keyof HTMLElementTagNameMap): string {\r\n const html: string[] = [];\r\n const elements = document.getElementsByTagName(tag);\r\n for (let index = 0; index < elements.length; index++) {\r\n html.push(elements[index].outerHTML);\r\n }\r\n\r\n return html.join('\\r\\n');\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ipa-library\r\n */\r\n// module\r\nexport * from './lib/ng-ipa-library.module';\r\nexport * from 'ngx-toastr';\r\nexport * from '@ng-select/ng-select';\r\nexport * from './lib/pipes/pipes.module';\r\nexport * from './lib/share-button/share-button.module';\r\n\r\n// core components\r\nexport * from './lib/core/components/loading/loading.component';\r\n\r\n// form components\r\nexport * from './lib/ipa-form/text-input/text-input.component';\r\nexport * from './lib/ipa-form/textarea-input/textarea-input.component';\r\nexport * from './lib/ipa-form/dropdown-input/dropdown-input.component';\r\nexport * from './lib/ipa-form/file-upload/file-upload.component';\r\nexport * from './lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component';\r\nexport * from './lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component';\r\nexport * from './lib/ipa-form/recaptcha/recaptcha.component';\r\nexport * from './lib/generate-form/generate-form.component';\r\nexport * from './lib/share-button/share-button.component';\r\n\r\n// interceptors\r\nexport * from './lib/core/interceptors/loading.interceptor';\r\nexport * from './lib/core/interceptors/error.interceptor';\r\nexport * from './lib/core/interceptors/token.interceptor';\r\n\r\n// services\r\nexport * from './lib/core/services/loader.service';\r\nexport * from './lib/core/services/auth.service';\r\nexport * from './lib/ipa-form/ipa-form.service';\r\nexport * from './lib/core/services/error.service';\r\nexport * from './lib/services/breadcrumbs.service';\r\nexport * from './lib/services/common.service';\r\n\r\n//pipes\r\nexport * from './lib/pipes/hijri-date.pipe';\r\n\r\n//models\r\nexport * from './lib/models/pagedResult';\r\nexport * from './lib/models/apiException';\r\nexport * from './lib/models/apiResponse';\r\nexport * from './lib/models/generateForm.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["momentHijri","Pipe","NgModule","Injectable","FormControl","Component","Self","ViewChild","Input","ElementRef","BehaviorSubject","EventEmitter","DropzoneDirective","Output","Validators","FormArray","FormGroup","WEEKDAYS","MONTHS","NgbDatepickerI18n","NgbCalendar","NgbCalendarIslamicUmalqura","NgbCalendarGregorian","fas","ShareIconsModule","ShareButtonsPopupModule","OverlayModule","FontAwesomeModule","CommonModule","FormsModule","ReactiveFormsModule","ToastrModule","DropzoneModule","NgxCaptchaModule","NgbDatepickerModule","NgSelectModule","Observable","HttpResponse","catchError","throwError"],"mappings":"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"}