ng-ipa-library 0.5.1 → 0.5.5
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 +295 -130
- 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 +14 -7
- package/esm2015/lib/share-button/share-button.module.js +5 -5
- package/fesm2015/ng-ipa-library.js +284 -114
- 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/lib/share-button/share-button.component.d.ts +3 -1
- package/package.json +4 -4
- package/src/lib/assets/ngIPAStyle.scss +28 -2
|
@@ -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=\"form-floating {{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)}\"\r\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" (click)=\"d.toggle()\" [firstDayOfWeek]=\"7\"\r\n ngbDatepicker #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\" style=\"outline: unset;\" autocomplete=\"off\" (blur)=\"onTouched()\">\r\n <label for=\"{{id}}\">{{label}}</label>\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: [""], 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=\"form-floating {{containerClasses}}\">\n <input id=\"{{id}}\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) &&
|
|
774
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
936
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"form-floating {{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)}\"\r\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" (click)=\"d.toggle()\" [firstDayOfWeek]=\"7\"\r\n ngbDatepicker #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\" style=\"outline: unset;\" autocomplete=\"off\" (blur)=\"onTouched()\">\r\n <label for=\"{{id}}\">{{label}}</label>\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: [""], 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=\"form-floating {{containerClasses}}\">\n <input id=\"{{id}}\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) &&
|
|
829
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
991
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"form-floating {{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)}\"\r\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" (click)=\"d.toggle()\" [firstDayOfWeek]=\"7\"\r\n ngbDatepicker #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\" style=\"outline: unset;\" autocomplete=\"off\" (blur)=\"onTouched()\">\r\n <label for=\"{{id}}\">{{label}}</label>\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: [""], 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',
|
|
@@ -840,30 +1003,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
|
|
|
840
1003
|
}] });
|
|
841
1004
|
|
|
842
1005
|
class ShareButtonComponent {
|
|
843
|
-
constructor() {
|
|
1006
|
+
constructor() {
|
|
1007
|
+
this.title = '';
|
|
1008
|
+
this.description = '';
|
|
1009
|
+
}
|
|
844
1010
|
ngAfterViewInit() {
|
|
845
1011
|
const elements = document.getElementsByClassName('sb-show-icon');
|
|
846
1012
|
elements[0].setAttribute('type', 'button');
|
|
847
1013
|
}
|
|
848
1014
|
}
|
|
849
|
-
ShareButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
850
|
-
ShareButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
851
|
-
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: [{
|
|
852
1018
|
type: Component,
|
|
853
1019
|
args: [{
|
|
854
1020
|
selector: 'ipa-share-button',
|
|
855
1021
|
templateUrl: './share-button.component.html',
|
|
856
1022
|
styleUrls: ['./share-button.component.scss'],
|
|
857
1023
|
}]
|
|
858
|
-
}], ctorParameters: function () { return []; }
|
|
1024
|
+
}], ctorParameters: function () { return []; }, propDecorators: { title: [{
|
|
1025
|
+
type: Input
|
|
1026
|
+
}], description: [{
|
|
1027
|
+
type: Input
|
|
1028
|
+
}] } });
|
|
859
1029
|
|
|
860
1030
|
class ShareButtonModule {
|
|
861
1031
|
constructor(library) {
|
|
862
1032
|
library.addIconPacks(fas);
|
|
863
1033
|
}
|
|
864
1034
|
}
|
|
865
|
-
ShareButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
866
|
-
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,
|
|
867
1037
|
ShareButtonsPopupModule,
|
|
868
1038
|
OverlayModule,
|
|
869
1039
|
FontAwesomeModule], exports: [ShareButtonComponent,
|
|
@@ -871,7 +1041,7 @@ ShareButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
|
|
|
871
1041
|
ShareButtonsPopupModule,
|
|
872
1042
|
OverlayModule,
|
|
873
1043
|
FontAwesomeModule] });
|
|
874
|
-
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: [[
|
|
875
1045
|
ShareIconsModule,
|
|
876
1046
|
ShareButtonsPopupModule,
|
|
877
1047
|
OverlayModule,
|
|
@@ -880,7 +1050,7 @@ ShareButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versi
|
|
|
880
1050
|
ShareButtonsPopupModule,
|
|
881
1051
|
OverlayModule,
|
|
882
1052
|
FontAwesomeModule] });
|
|
883
|
-
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: [{
|
|
884
1054
|
type: NgModule,
|
|
885
1055
|
args: [{
|
|
886
1056
|
declarations: [ShareButtonComponent],
|
|
@@ -902,8 +1072,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
|
|
|
902
1072
|
|
|
903
1073
|
class NgIPALibraryModule {
|
|
904
1074
|
}
|
|
905
|
-
NgIPALibraryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
906
|
-
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,
|
|
907
1077
|
TextareaInputComponent,
|
|
908
1078
|
DropdownInputComponent,
|
|
909
1079
|
LoaderComponent,
|
|
@@ -929,7 +1099,7 @@ NgIPALibraryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
|
|
|
929
1099
|
HijriDatepickerComponent,
|
|
930
1100
|
GregorianDatepickerComponent,
|
|
931
1101
|
ShareButtonModule] });
|
|
932
|
-
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: [[
|
|
933
1103
|
CommonModule,
|
|
934
1104
|
FormsModule,
|
|
935
1105
|
ReactiveFormsModule,
|
|
@@ -941,7 +1111,7 @@ NgIPALibraryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", vers
|
|
|
941
1111
|
ShareButtonModule,
|
|
942
1112
|
], PipesModule,
|
|
943
1113
|
ShareButtonModule] });
|
|
944
|
-
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: [{
|
|
945
1115
|
type: NgModule,
|
|
946
1116
|
args: [{
|
|
947
1117
|
declarations: [
|
|
@@ -1028,9 +1198,9 @@ class LoadingInterceptor {
|
|
|
1028
1198
|
return false;
|
|
1029
1199
|
}
|
|
1030
1200
|
}
|
|
1031
|
-
LoadingInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1032
|
-
LoadingInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1033
|
-
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: [{
|
|
1034
1204
|
type: Injectable
|
|
1035
1205
|
}], ctorParameters: function () { return [{ type: LoaderService }]; } });
|
|
1036
1206
|
|
|
@@ -1045,9 +1215,9 @@ class ErrorService {
|
|
|
1045
1215
|
this.urls.push(url);
|
|
1046
1216
|
}
|
|
1047
1217
|
}
|
|
1048
|
-
ErrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1049
|
-
ErrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1050
|
-
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: [{
|
|
1051
1221
|
type: Injectable,
|
|
1052
1222
|
args: [{
|
|
1053
1223
|
providedIn: 'root'
|
|
@@ -1088,9 +1258,9 @@ class ErrorInterceptor {
|
|
|
1088
1258
|
return false;
|
|
1089
1259
|
}
|
|
1090
1260
|
}
|
|
1091
|
-
ErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1092
|
-
ErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1093
|
-
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: [{
|
|
1094
1264
|
type: Injectable
|
|
1095
1265
|
}], ctorParameters: function () { return [{ type: ErrorService }, { type: i1.ToastrService }]; } });
|
|
1096
1266
|
|
|
@@ -1130,9 +1300,9 @@ class AuthService {
|
|
|
1130
1300
|
return JSON.parse(jsonPayload);
|
|
1131
1301
|
}
|
|
1132
1302
|
}
|
|
1133
|
-
AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1134
|
-
AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1135
|
-
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: [{
|
|
1136
1306
|
type: Injectable,
|
|
1137
1307
|
args: [{
|
|
1138
1308
|
providedIn: 'root',
|
|
@@ -1198,9 +1368,9 @@ class TokenInterceptor {
|
|
|
1198
1368
|
return false;
|
|
1199
1369
|
}
|
|
1200
1370
|
}
|
|
1201
|
-
TokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1202
|
-
TokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1203
|
-
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: [{
|
|
1204
1374
|
type: Injectable
|
|
1205
1375
|
}], ctorParameters: function () { return [{ type: AuthService }, { type: i2$3.HttpClient }]; } });
|
|
1206
1376
|
|
|
@@ -1338,9 +1508,9 @@ class BreadcrumbsService {
|
|
|
1338
1508
|
lastSpan.innerHTML = lastSpanLink.innerHTML;
|
|
1339
1509
|
}
|
|
1340
1510
|
}
|
|
1341
|
-
BreadcrumbsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1342
|
-
BreadcrumbsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1343
|
-
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: [{
|
|
1344
1514
|
type: Injectable,
|
|
1345
1515
|
args: [{
|
|
1346
1516
|
providedIn: 'root',
|
|
@@ -1402,9 +1572,9 @@ class CommonService {
|
|
|
1402
1572
|
return html.join('\r\n');
|
|
1403
1573
|
}
|
|
1404
1574
|
}
|
|
1405
|
-
CommonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1406
|
-
CommonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1407
|
-
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: [{
|
|
1408
1578
|
type: Injectable,
|
|
1409
1579
|
args: [{
|
|
1410
1580
|
providedIn: 'root',
|