ng-ipa-library 0.5.2 → 0.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/ng-ipa-library.umd.js +288 -129
- package/bundles/ng-ipa-library.umd.js.map +1 -1
- package/esm2015/lib/core/components/loading/loading.component.js +3 -3
- package/esm2015/lib/core/interceptors/error.interceptor.js +3 -3
- package/esm2015/lib/core/interceptors/loading.interceptor.js +3 -3
- package/esm2015/lib/core/interceptors/token.interceptor.js +3 -3
- package/esm2015/lib/core/services/auth.service.js +4 -4
- package/esm2015/lib/core/services/error.service.js +3 -3
- package/esm2015/lib/core/services/loader.service.js +3 -3
- package/esm2015/lib/generate-form/generate-form.component.js +10 -6
- package/esm2015/lib/ipa-form/datepicker/datepicker.component.js +4 -4
- package/esm2015/lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component.js +5 -5
- package/esm2015/lib/ipa-form/datepicker/gregorian-datepicker/gregorian18n.js +3 -3
- package/esm2015/lib/ipa-form/datepicker/hijri-datepicker/IslamicI18n.js +3 -3
- package/esm2015/lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component.js +5 -5
- package/esm2015/lib/ipa-form/dropdown-input/dropdown-input.component.js +3 -3
- package/esm2015/lib/ipa-form/file-upload/file-upload.component.js +7 -4
- package/esm2015/lib/ipa-form/ipa-form.service.js +187 -31
- package/esm2015/lib/ipa-form/text-input/text-input.component.js +5 -5
- package/esm2015/lib/ipa-form/textarea-input/textarea-input.component.js +5 -5
- package/esm2015/lib/ng-ipa-library.module.js +4 -4
- package/esm2015/lib/pipes/hijri-date.pipe.js +4 -4
- package/esm2015/lib/pipes/pipes.module.js +5 -5
- package/esm2015/lib/services/breadcrumbs.service.js +4 -4
- package/esm2015/lib/services/common.service.js +3 -3
- package/esm2015/lib/share-button/share-button.component.js +4 -4
- package/esm2015/lib/share-button/share-button.module.js +5 -5
- package/fesm2015/ng-ipa-library.js +275 -112
- package/fesm2015/ng-ipa-library.js.map +1 -1
- package/lib/generate-form/generate-form.component.d.ts +2 -2
- package/lib/ipa-form/file-upload/file-upload.component.d.ts +2 -1
- package/lib/ipa-form/ipa-form.service.d.ts +27 -6
- package/package.json +4 -4
|
@@ -32,9 +32,9 @@ class HijriDatePipe {
|
|
|
32
32
|
return momentHijri(date).format(format);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
HijriDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
36
|
-
HijriDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
35
|
+
HijriDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: HijriDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
36
|
+
HijriDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: HijriDatePipe, name: "hijriDate" });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: HijriDatePipe, decorators: [{
|
|
38
38
|
type: Pipe,
|
|
39
39
|
args: [{
|
|
40
40
|
name: 'hijriDate',
|
|
@@ -43,10 +43,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
|
|
|
43
43
|
|
|
44
44
|
class PipesModule {
|
|
45
45
|
}
|
|
46
|
-
PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
47
|
-
PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
48
|
-
PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
46
|
+
PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
47
|
+
PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: PipesModule, declarations: [HijriDatePipe], exports: [HijriDatePipe] });
|
|
48
|
+
PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: PipesModule });
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: PipesModule, decorators: [{
|
|
50
50
|
type: NgModule,
|
|
51
51
|
args: [{
|
|
52
52
|
declarations: [HijriDatePipe],
|
|
@@ -58,17 +58,48 @@ class IPAFormService {
|
|
|
58
58
|
constructor(parserFormatter) {
|
|
59
59
|
this.parserFormatter = parserFormatter;
|
|
60
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* check link is valid.
|
|
63
|
+
*/
|
|
61
64
|
static linkValidation(control) {
|
|
62
65
|
const isValidLink = /^((https?:\/\/)[\w-]+(\.[a-z-]+)+\.?(:\d+)?(\/\S*)?)$/.test(control.value);
|
|
63
|
-
return isValidLink || !control.value
|
|
64
|
-
? { pattern: { required: false } }
|
|
65
|
-
: { pattern: { required: true } };
|
|
66
|
+
return isValidLink || !control.value ? null : { link: true };
|
|
66
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* check mp4 link is valid.
|
|
70
|
+
*/
|
|
67
71
|
static mp4LinkValidation(control) {
|
|
68
72
|
const isValidLink = /^((https?:\/\/)[\w-]+(\.[a-z-]+)+\.?(:\d+)?(\/\S*)?(\/[\w\u0600-\u06FF]+\.mp4))$/.test(control.value);
|
|
69
|
-
return isValidLink || !control.value
|
|
70
|
-
|
|
71
|
-
|
|
73
|
+
return isValidLink || !control.value ? null : { linkMP4: true };
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* check mobile number is valid.
|
|
77
|
+
*/
|
|
78
|
+
static mobileNo(control) {
|
|
79
|
+
const isValidLink = /^05\d{8}$/.test(control.value);
|
|
80
|
+
return isValidLink || !control.value ? null : { mobileNo: true };
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* check email is valid.
|
|
84
|
+
*/
|
|
85
|
+
static email(control) {
|
|
86
|
+
const isValidLink = /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/.test(control.value);
|
|
87
|
+
return isValidLink || !control.value ? null : { Email: true };
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* check national ID or iqama ID is valid.
|
|
91
|
+
*/
|
|
92
|
+
static checkID(control) {
|
|
93
|
+
let isValid = false;
|
|
94
|
+
const value = control.value;
|
|
95
|
+
if (IPAFormService.nationalIdValidate(value) ||
|
|
96
|
+
IPAFormService.iqamaIdValidate(value)) {
|
|
97
|
+
isValid = true;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
isValid = false;
|
|
101
|
+
}
|
|
102
|
+
return isValid || !value ? null : { checkId: true };
|
|
72
103
|
}
|
|
73
104
|
getErrorMessage(control, patternErrorMsg = '') {
|
|
74
105
|
for (const propertyName in control === null || control === void 0 ? void 0 : control.errors) {
|
|
@@ -79,6 +110,28 @@ class IPAFormService {
|
|
|
79
110
|
}
|
|
80
111
|
return null;
|
|
81
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* convert gregorian date to hijri date (Based on Umm al-Qura calculations).
|
|
115
|
+
* @param date: gregorian date
|
|
116
|
+
* @param format: iDD => day: ١٥, iMM => month: ٠٤, iMMM => month: ربيع ٢,
|
|
117
|
+
* iMMMM => ربيع الثاني, iYY => year: ٤٢, iYYYY => year: ١٤٤٢,
|
|
118
|
+
* dd => ن, ddd => إثنين, dddd => الإثنين
|
|
119
|
+
* @example 'iYYYY/iM/iDهـ الموافق YYYY/M/Dم'
|
|
120
|
+
* '١٤٤٢/٠٤/١٥هـ الموافق ٢٠٢٠/١١/٣٠'
|
|
121
|
+
*/
|
|
122
|
+
convertToHijriDate(date, format = 'iYYYY-iMM-iDD', lang = 'ar-SA') {
|
|
123
|
+
momentHijri.locale(lang);
|
|
124
|
+
return momentHijri(date).format(format);
|
|
125
|
+
}
|
|
126
|
+
convertToGregorianDate(date, format = 'YYYY-MM-DD', lang = 'en') {
|
|
127
|
+
momentHijri.locale(lang);
|
|
128
|
+
const m = momentHijri.iConvert.toGregorian(date.year(), date.month(), date.date());
|
|
129
|
+
return momentHijri(new Date(m.gy, m.gm, m.gd)).format(format);
|
|
130
|
+
}
|
|
131
|
+
getCurrentHijriDate() {
|
|
132
|
+
momentHijri.locale('en');
|
|
133
|
+
return momentHijri().format('iYYYY/iMM/iDD');
|
|
134
|
+
}
|
|
82
135
|
getValidatorErrorMessage(validatorName, validatorValue, patternErrorMsg) {
|
|
83
136
|
if (validatorName === 'pattern') {
|
|
84
137
|
validatorValue = this.addPatternMsg(validatorValue, patternErrorMsg);
|
|
@@ -86,14 +139,17 @@ class IPAFormService {
|
|
|
86
139
|
const config = {
|
|
87
140
|
required: 'هذا الحقل مطلوب',
|
|
88
141
|
pattern: `${validatorValue.message}`,
|
|
89
|
-
|
|
142
|
+
Email: 'خطأ في البريد الالكتروني (example@ipa.edu.sa)',
|
|
90
143
|
maxlength: `تجاوز عدد الحقل المسموح بها (${validatorValue.requiredLength}) حرف`,
|
|
91
144
|
minlength: `على الأقل عدد ${validatorValue.requiredLength} حرف.`,
|
|
92
145
|
min: `رقم اكبر من أو يساوي ${validatorValue.min}`,
|
|
93
146
|
max: `رقم اصغر من أو يساوي ${validatorValue.max}`,
|
|
94
147
|
ngbDate: this.getNgbDatepickerErrorMsg(validatorValue),
|
|
148
|
+
checkId: 'رقم الهوية أو الاقامة غير صحيح',
|
|
149
|
+
link: 'الرابط غير صحيح (http://google.com)',
|
|
150
|
+
linkMP4: 'الرابط غير صحيح (http://example.com/a.mp4)',
|
|
151
|
+
mobileNo: 'خطأ في رقم الجوال (05xxxxxxxx)',
|
|
95
152
|
};
|
|
96
|
-
console.log(validatorValue);
|
|
97
153
|
return config[validatorName];
|
|
98
154
|
}
|
|
99
155
|
addPatternMsg(validatorValue, patternErrorMsg) {
|
|
@@ -113,32 +169,132 @@ class IPAFormService {
|
|
|
113
169
|
}
|
|
114
170
|
return msg;
|
|
115
171
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
172
|
+
static convertToEn(value) {
|
|
173
|
+
let newValue = '';
|
|
174
|
+
for (let i = 0; i < value.length; i++) {
|
|
175
|
+
let ch = value.charCodeAt(i);
|
|
176
|
+
if (ch >= 1584 && ch <= 1650) {
|
|
177
|
+
let newChar = ch - 1584;
|
|
178
|
+
newValue = newValue + String.fromCharCode(newChar);
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
newValue = newValue + String.fromCharCode(ch);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return newValue;
|
|
185
|
+
}
|
|
186
|
+
static nationalIdValidate(civilId) {
|
|
187
|
+
if (civilId) {
|
|
188
|
+
let strID = this.convertToEn(civilId);
|
|
189
|
+
let digits = '';
|
|
190
|
+
let counter = 0;
|
|
191
|
+
while (counter < 9) {
|
|
192
|
+
if ((counter + 1) % 2 == 0) {
|
|
193
|
+
digits = digits + strID.substring(counter, counter + 1);
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
digits =
|
|
197
|
+
digits + (+strID.substring(counter, counter + 1) * 2).toString();
|
|
198
|
+
}
|
|
199
|
+
counter++;
|
|
200
|
+
}
|
|
201
|
+
let intSum = 0;
|
|
202
|
+
let intSumTemp = 0;
|
|
203
|
+
let strSum;
|
|
204
|
+
let intOddSumDigit;
|
|
205
|
+
let CheckDigit;
|
|
206
|
+
counter = 0;
|
|
207
|
+
while (counter < digits.length) {
|
|
208
|
+
intSumTemp = +digits.charAt(counter) * 1;
|
|
209
|
+
intSum += intSumTemp;
|
|
210
|
+
counter++;
|
|
211
|
+
}
|
|
212
|
+
strSum = intSum.toString();
|
|
213
|
+
if (strSum.length == 1) {
|
|
214
|
+
intOddSumDigit = intSum;
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
intOddSumDigit = strSum.substring(strSum.length, strSum.length - 1);
|
|
218
|
+
}
|
|
219
|
+
if (intOddSumDigit == 0) {
|
|
220
|
+
CheckDigit = 0;
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
CheckDigit = (10 - +intOddSumDigit).toString();
|
|
224
|
+
}
|
|
225
|
+
let PublicID = this.convertToEn(civilId);
|
|
226
|
+
if (CheckDigit ==
|
|
227
|
+
PublicID.substring(PublicID.length - 1, PublicID.length) &&
|
|
228
|
+
strID.length == 10 &&
|
|
229
|
+
strID.substring(0, 1) == '1') {
|
|
230
|
+
return true;
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
return false;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
return false;
|
|
238
|
+
}
|
|
133
239
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
240
|
+
static iqamaIdValidate(civilId) {
|
|
241
|
+
if (civilId) {
|
|
242
|
+
let strID = this.convertToEn(civilId);
|
|
243
|
+
let digits = '';
|
|
244
|
+
let counter = 0;
|
|
245
|
+
while (counter < 9) {
|
|
246
|
+
if ((counter + 1) % 2 == 0) {
|
|
247
|
+
digits = digits + strID.substring(counter, counter + 1);
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
digits =
|
|
251
|
+
digits + (+strID.substring(counter, counter + 1) * 2).toString();
|
|
252
|
+
}
|
|
253
|
+
counter++;
|
|
254
|
+
}
|
|
255
|
+
let intSum = 0;
|
|
256
|
+
let intSumTemp = 0;
|
|
257
|
+
let strSum;
|
|
258
|
+
let intOddSumDigit;
|
|
259
|
+
let CheckDigit;
|
|
260
|
+
counter = 0;
|
|
261
|
+
while (counter < digits.length) {
|
|
262
|
+
intSumTemp = +digits.charAt(counter) * 1;
|
|
263
|
+
intSum += intSumTemp;
|
|
264
|
+
counter++;
|
|
265
|
+
}
|
|
266
|
+
strSum = intSum.toString();
|
|
267
|
+
if (strSum.length == 1) {
|
|
268
|
+
intOddSumDigit = intSum;
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
intOddSumDigit = strSum.substring(strSum.length, strSum.length - 1);
|
|
272
|
+
}
|
|
273
|
+
if (intOddSumDigit == 0) {
|
|
274
|
+
CheckDigit = 0;
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
CheckDigit = (10 - +intOddSumDigit).toString();
|
|
278
|
+
}
|
|
279
|
+
let PublicID = this.convertToEn(civilId);
|
|
280
|
+
if (CheckDigit ==
|
|
281
|
+
PublicID.substring(PublicID.length - 1, PublicID.length) &&
|
|
282
|
+
strID.length == 10 &&
|
|
283
|
+
strID.substring(0, 1) == '2') {
|
|
284
|
+
return true;
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
return false;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
return false;
|
|
292
|
+
}
|
|
137
293
|
}
|
|
138
294
|
}
|
|
139
|
-
IPAFormService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
140
|
-
IPAFormService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
295
|
+
IPAFormService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: IPAFormService, deps: [{ token: i2.NgbDateParserFormatter }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
296
|
+
IPAFormService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: IPAFormService, providedIn: 'root' });
|
|
297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: IPAFormService, decorators: [{
|
|
142
298
|
type: Injectable,
|
|
143
299
|
args: [{
|
|
144
300
|
providedIn: 'root',
|
|
@@ -152,7 +308,7 @@ class TextInputComponent {
|
|
|
152
308
|
this.type = 'text';
|
|
153
309
|
this.placeholder = 'please enter text';
|
|
154
310
|
this.label = 'text input';
|
|
155
|
-
this.required =
|
|
311
|
+
this.required = false;
|
|
156
312
|
this.patternErrorMsg = 'invalid pattern';
|
|
157
313
|
this.pattern = '';
|
|
158
314
|
this.formControl = new FormControl('');
|
|
@@ -181,9 +337,9 @@ class TextInputComponent {
|
|
|
181
337
|
return this.errorMsg;
|
|
182
338
|
}
|
|
183
339
|
}
|
|
184
|
-
TextInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
185
|
-
TextInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
186
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
340
|
+
TextInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: TextInputComponent, deps: [{ token: IPAFormService }, { token: i2$1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
341
|
+
TextInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.9", type: TextInputComponent, selector: "ipa-text-input", inputs: { id: "id", type: "type", placeholder: "placeholder", label: "label", required: "required", patternErrorMsg: "patternErrorMsg", pattern: "pattern", classes: "classes", containerClasses: "containerClasses" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<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>", styles: [""], directives: [{ type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
342
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: TextInputComponent, decorators: [{
|
|
187
343
|
type: Component,
|
|
188
344
|
args: [{
|
|
189
345
|
selector: 'ipa-text-input',
|
|
@@ -222,7 +378,7 @@ class TextareaInputComponent {
|
|
|
222
378
|
this.input = new ElementRef(null);
|
|
223
379
|
this.placeholder = 'please enter text';
|
|
224
380
|
this.label = 'textarea input';
|
|
225
|
-
this.required =
|
|
381
|
+
this.required = false;
|
|
226
382
|
this.patternErrorMsg = 'invalid pattern';
|
|
227
383
|
this.formControl = new FormControl('');
|
|
228
384
|
this.controlDir.valueAccessor = this;
|
|
@@ -250,9 +406,9 @@ class TextareaInputComponent {
|
|
|
250
406
|
return this.errorMsg;
|
|
251
407
|
}
|
|
252
408
|
}
|
|
253
|
-
TextareaInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
254
|
-
TextareaInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
255
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
409
|
+
TextareaInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: TextareaInputComponent, deps: [{ token: IPAFormService }, { token: i2$1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
410
|
+
TextareaInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.9", type: TextareaInputComponent, selector: "ipa-textarea-input", inputs: { id: "id", placeholder: "placeholder", label: "label", required: "required", patternErrorMsg: "patternErrorMsg", pattern: "pattern", classes: "classes", containerClasses: "containerClasses" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<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>", styles: [""], directives: [{ type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
411
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: TextareaInputComponent, decorators: [{
|
|
256
412
|
type: Component,
|
|
257
413
|
args: [{
|
|
258
414
|
selector: 'ipa-textarea-input',
|
|
@@ -318,9 +474,9 @@ class DropdownInputComponent {
|
|
|
318
474
|
return this.errorMsg;
|
|
319
475
|
}
|
|
320
476
|
}
|
|
321
|
-
DropdownInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
322
|
-
DropdownInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
323
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
477
|
+
DropdownInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: DropdownInputComponent, deps: [{ token: IPAFormService }, { token: i2$1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
478
|
+
DropdownInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.9", type: DropdownInputComponent, selector: "ipa-dropdown-input", inputs: { id: "id", label: "label", items: "items", textField: "textField", valueField: "valueField", required: "required", disabled: "disabled", patternErrorMsg: "patternErrorMsg", pattern: "pattern", classes: "classes", containerClasses: "containerClasses" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["select"], descendants: true, static: true }], ngImport: i0, template: "<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>", styles: [""], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
479
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: DropdownInputComponent, decorators: [{
|
|
324
480
|
type: Component,
|
|
325
481
|
args: [{
|
|
326
482
|
selector: 'ipa-dropdown-input',
|
|
@@ -368,9 +524,9 @@ class LoaderService {
|
|
|
368
524
|
this.urls.push(url);
|
|
369
525
|
}
|
|
370
526
|
}
|
|
371
|
-
LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
372
|
-
LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
373
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
527
|
+
LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
528
|
+
LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: LoaderService, providedIn: 'root' });
|
|
529
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: LoaderService, decorators: [{
|
|
374
530
|
type: Injectable,
|
|
375
531
|
args: [{
|
|
376
532
|
providedIn: 'root',
|
|
@@ -389,9 +545,9 @@ class LoaderComponent {
|
|
|
389
545
|
});
|
|
390
546
|
}
|
|
391
547
|
}
|
|
392
|
-
LoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
393
|
-
LoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
394
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
548
|
+
LoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: LoaderComponent, deps: [{ token: LoaderService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
549
|
+
LoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.9", type: LoaderComponent, selector: "ipa-loader", ngImport: i0, template: "<div id=\"cover-spin\" [class.d-none]=\"!loading\">\r\n <div class=\"spinner\"></div>\r\n</div>\r\n", styles: ["#cover-spin{position:fixed;width:100%;left:0;height:100%;right:0;top:0;bottom:0;background-color:#fff;z-index:99999;display:flex;justify-content:center;align-items:center}#cover-spin:after{content:\"\";display:block;background-size:46px;position:absolute;left:48%;top:40%;width:46px;height:46px;-webkit-animation:spin .8s linear infinite;animation:spin .8s linear infinite}@-webkit-keyframes spin7{0%{transform:rotate(0)}to{transform:rotate(359deg)}}@keyframes spin7{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.spinner{display:block;position:fixed;top:50%;left:50%;height:80px;width:80px;margin-top:-50px;margin-left:-50px;border:2px solid transparent;border-top-color:#2d557e;border-radius:50%;-webkit-animation:spin7 1s ease infinite;animation:spin7 1s ease infinite}.spinner:before{content:\"\";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:2px solid transparent;border-radius:50%;border-top-color:#2aa7c5;-webkit-animation:spin7 3s linear infinite;animation:spin7 3s linear infinite}.spinner:after{content:\"\";position:absolute;top:15px;right:15px;bottom:15px;left:15px;border:2px solid transparent;border-radius:50%;border-top-color:#cfe79d;-webkit-animation:spin7 1.5s ease infinite;animation:spin7 1.5s ease infinite}\n"] });
|
|
550
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: LoaderComponent, decorators: [{
|
|
395
551
|
type: Component,
|
|
396
552
|
args: [{
|
|
397
553
|
selector: 'ipa-loader',
|
|
@@ -406,6 +562,7 @@ class FileUploadComponent {
|
|
|
406
562
|
toastrService) {
|
|
407
563
|
this.toastrService = toastrService;
|
|
408
564
|
this.label = '';
|
|
565
|
+
this.required = false;
|
|
409
566
|
this.acceptedFiles = '';
|
|
410
567
|
this.multiple = 1; // set maxFiles (NOT uploadMultiple)in the config object,
|
|
411
568
|
this.maxFileSize = 2;
|
|
@@ -483,9 +640,9 @@ class FileUploadComponent {
|
|
|
483
640
|
this.fileDeleted.emit();
|
|
484
641
|
}
|
|
485
642
|
}
|
|
486
|
-
FileUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
487
|
-
FileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
488
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
643
|
+
FileUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1.ToastrService }], target: i0.ɵɵFactoryTarget.Component });
|
|
644
|
+
FileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.9", type: FileUploadComponent, selector: "ipa-file-upload", inputs: { label: "label", required: "required", acceptedFiles: "acceptedFiles", multiple: "multiple", maxFileSize: "maxFileSize", method: "method", autoUpload: "autoUpload", apiUrl: "apiUrl", authorization: "authorization" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, viewQueries: [{ propertyName: "dropzoneDir", first: true, predicate: DropzoneDirective, descendants: true }], ngImport: i0, template: "<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;\">\u0642\u0645 \u0628\u0633\u062D\u0628 \u0627\u0644\u0645\u0644\u0641 \u0623\u0648 \u0627\u0636\u063A\u0637 \u0647\u0646\u0627</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 \u0627\u0644\u0635\u064A\u063A\u0629 \u0627\u0644\u0645\u0633\u0645\u0648\u062D \u0628\u0647\u0627:\r\n <span class=\"extensions\">{{ acceptedFiles }}</span>\r\n </div>\r\n <div class=\"allowed-extensions\">\r\n \u0627\u0642\u0635\u0649 \u062D\u062C\u0645 \u0644\u0644\u0645\u0631\u0641\u0642:\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>", styles: [".subtitle{border-bottom:none;display:block;line-height:2}.file-upload{border:dashed 1px #ccc;display:block;min-height:150px;border-radius:15px;width:350px;cursor:pointer;position:relative;margin:auto}.upload-overlay{position:absolute;width:100%;height:100%}.upload-btn-wrapper{text-align:center}.upload-icon{margin-right:5px}.list-unstyled{margin:10px!important;padding:14px!important;list-style:none}.allowed-extensions{color:#4d7297}.required{color:#dc3545;font-size:20px}\n"], directives: [{ type: i2$2.DropzoneDirective, selector: "[dropzone]", inputs: ["disabled", "dropzone"], outputs: ["init", "error", "success", "sending", "canceled", "complete", "processing", "drop", "dragStart", "dragEnd", "dragEnter", "dragOver", "dragLeave", "thumbnail", "addedFile", "addedFiles", "removedFile", "uploadProgress", "maxFilesReached", "maxFilesExceeded", "errorMultiple", "successMultiple", "sendingMultiple", "canceledMultiple", "completeMultiple", "processingMultiple", "reset", "queueComplete", "totalUploadProgress"], exportAs: ["ngxDropzone"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
645
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: FileUploadComponent, decorators: [{
|
|
489
646
|
type: Component,
|
|
490
647
|
args: [{
|
|
491
648
|
selector: 'ipa-file-upload',
|
|
@@ -497,6 +654,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
|
|
|
497
654
|
args: [DropzoneDirective, { static: false }]
|
|
498
655
|
}], label: [{
|
|
499
656
|
type: Input
|
|
657
|
+
}], required: [{
|
|
658
|
+
type: Input
|
|
500
659
|
}], acceptedFiles: [{
|
|
501
660
|
type: Input
|
|
502
661
|
}], multiple: [{
|
|
@@ -556,8 +715,12 @@ class GenerateFormComponent {
|
|
|
556
715
|
this.generateForm.controls[formControlName].patchValue(null);
|
|
557
716
|
this.fileDeleted.emit(event);
|
|
558
717
|
}
|
|
559
|
-
handleReset() {
|
|
560
|
-
|
|
718
|
+
handleReset(formControlName) {
|
|
719
|
+
this.generateForm.controls[formControlName].patchValue(null);
|
|
720
|
+
}
|
|
721
|
+
handleExpire(formControlName) {
|
|
722
|
+
this.generateForm.controls[formControlName].patchValue(null);
|
|
723
|
+
}
|
|
561
724
|
handleLoad() { }
|
|
562
725
|
handleSuccess(event, formControlName) {
|
|
563
726
|
this.generateForm.controls[formControlName].patchValue(event);
|
|
@@ -629,9 +792,9 @@ class GenerateFormComponent {
|
|
|
629
792
|
this.useGlobalDomain = (_c = col.useGlobalDomain) !== null && _c !== void 0 ? _c : this.useGlobalDomain;
|
|
630
793
|
}
|
|
631
794
|
}
|
|
632
|
-
GenerateFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
633
|
-
GenerateFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
634
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
795
|
+
GenerateFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: GenerateFormComponent, deps: [{ token: IPAFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
796
|
+
GenerateFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.9", type: GenerateFormComponent, selector: "ipa-generate-form", inputs: { generateForm: "generateForm", form: "form", siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain", authorization: "authorization" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted", recaptchaOutput: "recaptchaOutput" }, ngImport: i0, template: "<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\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.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\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.id\" class=\"form-check-input\" type=\"checkbox\"\r\n formControlName=\"checkbox\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+control.value.id\">\r\n {{control.value.description}}\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.id\" class=\"form-check-input\" type=\"radio\"\r\n [formControlName]=\"column.englishName\" [value]=\"item.id\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+item.id\">\r\n {{item.description}}\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\" [authorization]=\"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 <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'recaptcha'\">\r\n <ngx-recaptcha2 [siteKey]=\"siteKey\" [size]=\"recaptchaSize\" [hl]=\"lang\" [theme]=\"theme\"\r\n [type]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\" (reset)=\"handleReset(column.englishName)\"\r\n (expire)=\"handleExpire(column.englishName)\" (load)=\"handleLoad()\"\r\n (success)=\"handleSuccess($event, column.englishName)\" formControlName=\"{{column.englishName}}\">\r\n </ngx-recaptcha2>\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.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\"></ipa-text-input>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</form>", styles: [""], components: [{ type: TextareaInputComponent, selector: "ipa-textarea-input", inputs: ["id", "placeholder", "label", "required", "patternErrorMsg", "pattern", "classes", "containerClasses"] }, { type: DropdownInputComponent, selector: "ipa-dropdown-input", inputs: ["id", "label", "items", "textField", "valueField", "required", "disabled", "patternErrorMsg", "pattern", "classes", "containerClasses"] }, { type: FileUploadComponent, selector: "ipa-file-upload", inputs: ["label", "required", "acceptedFiles", "multiple", "maxFileSize", "method", "autoUpload", "apiUrl", "authorization"], outputs: ["successUpload", "fileAdded", "fileDeleted"] }, { type: i5.ReCaptcha2Component, selector: "ngx-recaptcha2", inputs: ["theme", "size", "hl"] }, { type: TextInputComponent, selector: "ipa-text-input", inputs: ["id", "type", "placeholder", "label", "required", "patternErrorMsg", "pattern", "classes", "containerClasses"] }], directives: [{ type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i2$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i2$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
|
|
797
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: GenerateFormComponent, decorators: [{
|
|
635
798
|
type: Component,
|
|
636
799
|
args: [{
|
|
637
800
|
selector: 'ipa-generate-form',
|
|
@@ -700,9 +863,9 @@ class DatepickerComponent {
|
|
|
700
863
|
return this.errorMsg;
|
|
701
864
|
}
|
|
702
865
|
}
|
|
703
|
-
DatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
704
|
-
DatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
705
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
866
|
+
DatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: DatepickerComponent, deps: [{ token: IPAFormService }, { token: i2.NgbCalendar }, { token: i2$1.NgControl, self: true }, { token: i2.NgbInputDatepickerConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
867
|
+
DatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.9", type: DatepickerComponent, selector: "ipa-datepicker", inputs: { id: "id", label: "label", patternErrorMsg: "patternErrorMsg", required: "required", maxDate: "maxDate", minDate: "minDate", classes: "classes", containerClasses: "containerClasses" }, ngImport: i0, template: "<div class=\"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;\" autocomplete=\"off\" (blur)=\"onTouched()\" title=\"{{label}}\" [placeholder]=\"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);\">\u0627\u0644\u064A\u0648\u0645</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()\">\u0645\u0633\u062D</button>\r\n </ng-template>\r\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"], directives: [{ type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
868
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: DatepickerComponent, decorators: [{
|
|
706
869
|
type: Component,
|
|
707
870
|
args: [{
|
|
708
871
|
selector: 'ipa-datepicker',
|
|
@@ -758,20 +921,20 @@ class IslamicI18n extends NgbDatepickerI18n {
|
|
|
758
921
|
return `${date.day}-${date.month}-${date.year}`;
|
|
759
922
|
}
|
|
760
923
|
}
|
|
761
|
-
IslamicI18n.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
762
|
-
IslamicI18n.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
763
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
924
|
+
IslamicI18n.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: IslamicI18n, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
925
|
+
IslamicI18n.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: IslamicI18n });
|
|
926
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: IslamicI18n, decorators: [{
|
|
764
927
|
type: Injectable
|
|
765
928
|
}] });
|
|
766
929
|
|
|
767
930
|
class HijriDatepickerComponent extends DatepickerComponent {
|
|
768
931
|
}
|
|
769
|
-
HijriDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
770
|
-
HijriDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
932
|
+
HijriDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: HijriDatepickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
933
|
+
HijriDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.9", type: HijriDatepickerComponent, selector: "ipa-hijri-datepicker", providers: [
|
|
771
934
|
{ provide: NgbCalendar, useClass: NgbCalendarIslamicUmalqura },
|
|
772
935
|
{ provide: NgbDatepickerI18n, useClass: IslamicI18n },
|
|
773
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"
|
|
774
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
936
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"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;\" autocomplete=\"off\" (blur)=\"onTouched()\" title=\"{{label}}\" [placeholder]=\"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);\">\u0627\u0644\u064A\u0648\u0645</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()\">\u0645\u0633\u062D</button>\r\n </ng-template>\r\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"], directives: [{ type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
937
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: HijriDatepickerComponent, decorators: [{
|
|
775
938
|
type: Component,
|
|
776
939
|
args: [{
|
|
777
940
|
selector: 'ipa-hijri-datepicker',
|
|
@@ -813,20 +976,20 @@ class Gregorian18n extends NgbDatepickerI18n {
|
|
|
813
976
|
return `${date.day}-${date.month}-${date.year}`;
|
|
814
977
|
}
|
|
815
978
|
}
|
|
816
|
-
Gregorian18n.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
817
|
-
Gregorian18n.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
818
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
979
|
+
Gregorian18n.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: Gregorian18n, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
980
|
+
Gregorian18n.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: Gregorian18n });
|
|
981
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: Gregorian18n, decorators: [{
|
|
819
982
|
type: Injectable
|
|
820
983
|
}] });
|
|
821
984
|
|
|
822
985
|
class GregorianDatepickerComponent extends DatepickerComponent {
|
|
823
986
|
}
|
|
824
|
-
GregorianDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
825
|
-
GregorianDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
987
|
+
GregorianDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: GregorianDatepickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
988
|
+
GregorianDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.9", type: GregorianDatepickerComponent, selector: "ipa-gregorian-datepicker", providers: [
|
|
826
989
|
{ provide: NgbCalendar, useClass: NgbCalendarGregorian },
|
|
827
990
|
{ provide: NgbDatepickerI18n, useClass: Gregorian18n },
|
|
828
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"
|
|
829
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
991
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"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;\" autocomplete=\"off\" (blur)=\"onTouched()\" title=\"{{label}}\" [placeholder]=\"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);\">\u0627\u0644\u064A\u0648\u0645</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()\">\u0645\u0633\u062D</button>\r\n </ng-template>\r\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"], directives: [{ type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
992
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: GregorianDatepickerComponent, decorators: [{
|
|
830
993
|
type: Component,
|
|
831
994
|
args: [{
|
|
832
995
|
selector: 'ipa-gregorian-datepicker',
|
|
@@ -849,9 +1012,9 @@ class ShareButtonComponent {
|
|
|
849
1012
|
elements[0].setAttribute('type', 'button');
|
|
850
1013
|
}
|
|
851
1014
|
}
|
|
852
|
-
ShareButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
853
|
-
ShareButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
854
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1015
|
+
ShareButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: ShareButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1016
|
+
ShareButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.9", type: ShareButtonComponent, selector: "ipa-share-button", inputs: { title: "title", description: "description" }, ngImport: i0, template: "<share-popup-button [title]=\"title\" [description]=\"description\" [icon]=\"'share'\"\r\n [include]=\"['facebook','twitter','linkedin','telegram','whatsapp','email','copy']\">\r\n</share-popup-button>", styles: [""], components: [{ type: i1$1.SharePopupComponent, selector: "share-popup-button", inputs: ["theme", "icon", "text", "include", "exclude", "closeIcon", "url", "title", "description", "image", "tags", "autoSetMeta", "show", "showIcon", "showText", "disabled", "hasBackdrop", "backdropClass"], outputs: ["opened", "closed", "popupClosed"] }] });
|
|
1017
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: ShareButtonComponent, decorators: [{
|
|
855
1018
|
type: Component,
|
|
856
1019
|
args: [{
|
|
857
1020
|
selector: 'ipa-share-button',
|
|
@@ -869,8 +1032,8 @@ class ShareButtonModule {
|
|
|
869
1032
|
library.addIconPacks(fas);
|
|
870
1033
|
}
|
|
871
1034
|
}
|
|
872
|
-
ShareButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
873
|
-
ShareButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
1035
|
+
ShareButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: ShareButtonModule, deps: [{ token: i1$2.FaIconLibrary }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1036
|
+
ShareButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: ShareButtonModule, declarations: [ShareButtonComponent], imports: [ShareIconsModule,
|
|
874
1037
|
ShareButtonsPopupModule,
|
|
875
1038
|
OverlayModule,
|
|
876
1039
|
FontAwesomeModule], exports: [ShareButtonComponent,
|
|
@@ -878,7 +1041,7 @@ ShareButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
|
|
|
878
1041
|
ShareButtonsPopupModule,
|
|
879
1042
|
OverlayModule,
|
|
880
1043
|
FontAwesomeModule] });
|
|
881
|
-
ShareButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
1044
|
+
ShareButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: ShareButtonModule, imports: [[
|
|
882
1045
|
ShareIconsModule,
|
|
883
1046
|
ShareButtonsPopupModule,
|
|
884
1047
|
OverlayModule,
|
|
@@ -887,7 +1050,7 @@ ShareButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versi
|
|
|
887
1050
|
ShareButtonsPopupModule,
|
|
888
1051
|
OverlayModule,
|
|
889
1052
|
FontAwesomeModule] });
|
|
890
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1053
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: ShareButtonModule, decorators: [{
|
|
891
1054
|
type: NgModule,
|
|
892
1055
|
args: [{
|
|
893
1056
|
declarations: [ShareButtonComponent],
|
|
@@ -909,8 +1072,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
|
|
|
909
1072
|
|
|
910
1073
|
class NgIPALibraryModule {
|
|
911
1074
|
}
|
|
912
|
-
NgIPALibraryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
913
|
-
NgIPALibraryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
1075
|
+
NgIPALibraryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: NgIPALibraryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1076
|
+
NgIPALibraryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: NgIPALibraryModule, declarations: [TextInputComponent,
|
|
914
1077
|
TextareaInputComponent,
|
|
915
1078
|
DropdownInputComponent,
|
|
916
1079
|
LoaderComponent,
|
|
@@ -936,7 +1099,7 @@ NgIPALibraryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
|
|
|
936
1099
|
HijriDatepickerComponent,
|
|
937
1100
|
GregorianDatepickerComponent,
|
|
938
1101
|
ShareButtonModule] });
|
|
939
|
-
NgIPALibraryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
1102
|
+
NgIPALibraryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: NgIPALibraryModule, imports: [[
|
|
940
1103
|
CommonModule,
|
|
941
1104
|
FormsModule,
|
|
942
1105
|
ReactiveFormsModule,
|
|
@@ -948,7 +1111,7 @@ NgIPALibraryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", vers
|
|
|
948
1111
|
ShareButtonModule,
|
|
949
1112
|
], PipesModule,
|
|
950
1113
|
ShareButtonModule] });
|
|
951
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: NgIPALibraryModule, decorators: [{
|
|
952
1115
|
type: NgModule,
|
|
953
1116
|
args: [{
|
|
954
1117
|
declarations: [
|
|
@@ -1035,9 +1198,9 @@ class LoadingInterceptor {
|
|
|
1035
1198
|
return false;
|
|
1036
1199
|
}
|
|
1037
1200
|
}
|
|
1038
|
-
LoadingInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1039
|
-
LoadingInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1040
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1201
|
+
LoadingInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: LoadingInterceptor, deps: [{ token: LoaderService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1202
|
+
LoadingInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: LoadingInterceptor });
|
|
1203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: LoadingInterceptor, decorators: [{
|
|
1041
1204
|
type: Injectable
|
|
1042
1205
|
}], ctorParameters: function () { return [{ type: LoaderService }]; } });
|
|
1043
1206
|
|
|
@@ -1052,9 +1215,9 @@ class ErrorService {
|
|
|
1052
1215
|
this.urls.push(url);
|
|
1053
1216
|
}
|
|
1054
1217
|
}
|
|
1055
|
-
ErrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1056
|
-
ErrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1057
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1218
|
+
ErrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: ErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1219
|
+
ErrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: ErrorService, providedIn: 'root' });
|
|
1220
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: ErrorService, decorators: [{
|
|
1058
1221
|
type: Injectable,
|
|
1059
1222
|
args: [{
|
|
1060
1223
|
providedIn: 'root'
|
|
@@ -1095,9 +1258,9 @@ class ErrorInterceptor {
|
|
|
1095
1258
|
return false;
|
|
1096
1259
|
}
|
|
1097
1260
|
}
|
|
1098
|
-
ErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1099
|
-
ErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1261
|
+
ErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: ErrorInterceptor, deps: [{ token: ErrorService }, { token: i1.ToastrService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1262
|
+
ErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: ErrorInterceptor });
|
|
1263
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: ErrorInterceptor, decorators: [{
|
|
1101
1264
|
type: Injectable
|
|
1102
1265
|
}], ctorParameters: function () { return [{ type: ErrorService }, { type: i1.ToastrService }]; } });
|
|
1103
1266
|
|
|
@@ -1137,9 +1300,9 @@ class AuthService {
|
|
|
1137
1300
|
return JSON.parse(jsonPayload);
|
|
1138
1301
|
}
|
|
1139
1302
|
}
|
|
1140
|
-
AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1141
|
-
AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1303
|
+
AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1304
|
+
AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
1305
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: AuthService, decorators: [{
|
|
1143
1306
|
type: Injectable,
|
|
1144
1307
|
args: [{
|
|
1145
1308
|
providedIn: 'root',
|
|
@@ -1205,9 +1368,9 @@ class TokenInterceptor {
|
|
|
1205
1368
|
return false;
|
|
1206
1369
|
}
|
|
1207
1370
|
}
|
|
1208
|
-
TokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1209
|
-
TokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1210
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1371
|
+
TokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: TokenInterceptor, deps: [{ token: AuthService }, { token: i2$3.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1372
|
+
TokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: TokenInterceptor });
|
|
1373
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: TokenInterceptor, decorators: [{
|
|
1211
1374
|
type: Injectable
|
|
1212
1375
|
}], ctorParameters: function () { return [{ type: AuthService }, { type: i2$3.HttpClient }]; } });
|
|
1213
1376
|
|
|
@@ -1345,9 +1508,9 @@ class BreadcrumbsService {
|
|
|
1345
1508
|
lastSpan.innerHTML = lastSpanLink.innerHTML;
|
|
1346
1509
|
}
|
|
1347
1510
|
}
|
|
1348
|
-
BreadcrumbsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1349
|
-
BreadcrumbsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1350
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1511
|
+
BreadcrumbsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: BreadcrumbsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1512
|
+
BreadcrumbsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: BreadcrumbsService, providedIn: 'root' });
|
|
1513
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: BreadcrumbsService, decorators: [{
|
|
1351
1514
|
type: Injectable,
|
|
1352
1515
|
args: [{
|
|
1353
1516
|
providedIn: 'root',
|
|
@@ -1409,9 +1572,9 @@ class CommonService {
|
|
|
1409
1572
|
return html.join('\r\n');
|
|
1410
1573
|
}
|
|
1411
1574
|
}
|
|
1412
|
-
CommonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1413
|
-
CommonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1414
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1575
|
+
CommonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: CommonService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1576
|
+
CommonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: CommonService, providedIn: 'root' });
|
|
1577
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: CommonService, decorators: [{
|
|
1415
1578
|
type: Injectable,
|
|
1416
1579
|
args: [{
|
|
1417
1580
|
providedIn: 'root',
|