@bnsights/bbsf-controls 1.0.94 → 1.0.96
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/README.md +10 -1
- package/bnsights-bbsf-controls-1.0.96.tgz +0 -0
- package/bnsights-bbsf-controls.d.ts +1 -1
- package/bnsights-bbsf-controls.metadata.json +1 -1
- package/bundles/bnsights-bbsf-controls.umd.js +531 -417
- package/bundles/bnsights-bbsf-controls.umd.js.map +1 -1
- package/esm2015/bnsights-bbsf-controls.js +2 -2
- package/esm2015/lib/Shared/{components → Components}/ng-tag-input.js +1 -1
- package/esm2015/lib/Shared/Enums/InputType.js +2 -1
- package/esm2015/lib/Shared/Models/MultilingualControlOptionsBase.js +4 -2
- package/esm2015/lib/Shared/Models/RepeaterOptions.js +2 -1
- package/esm2015/lib/Shared/services/validationErrorMassage.service.js +123 -88
- package/esm2015/lib/controls/AutocompleteTextBox/AutocompleteTextBox.component.js +4 -2
- package/esm2015/lib/controls/CheckBox/CheckBox.component.js +2 -2
- package/esm2015/lib/controls/ConfirmationModal/ConfirmationModal.component.js +3 -3
- package/esm2015/lib/controls/DateTimePicker/DateTimePicker.component.js +5 -2
- package/esm2015/lib/controls/DropdownList/DropdownList.component.js +12 -2
- package/esm2015/lib/controls/FileUplaod/FileUplaod.component.js +2 -2
- package/esm2015/lib/controls/HtmlEditor/HtmlEditor.component.js +2 -2
- package/esm2015/lib/controls/ImageUpload/ImageUpload.component.js +2 -2
- package/esm2015/lib/controls/MapAutoComplete/MapAutoComplete.component.js +2 -2
- package/esm2015/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.js +2 -2
- package/esm2015/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.js +6 -2
- package/esm2015/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.js +6 -2
- package/esm2015/lib/controls/Phone/Phone.component.js +9 -7
- package/esm2015/lib/controls/ProfileImageUploader/ProfileImageUploader.component.js +2 -2
- package/esm2015/lib/controls/RadioButton/RadioButton.component.js +5 -2
- package/esm2015/lib/controls/Repeater/repeater/repeater.component.js +2 -2
- package/esm2015/lib/controls/TagsInput/TagsInput.component.js +8 -2
- package/esm2015/lib/controls/TextArea/TextArea.component.js +4 -2
- package/esm2015/lib/controls/TextBox/TextBox.component.js +78 -40
- package/esm2015/lib/controls/Toggleslide/toggleslide.component.js +5 -2
- package/esm2015/lib/controls/bbsf-controls.module.js +9 -8
- package/fesm2015/bnsights-bbsf-controls.js +527 -414
- package/fesm2015/bnsights-bbsf-controls.js.map +1 -1
- package/lib/Shared/Enums/InputType.d.ts +2 -1
- package/lib/Shared/Models/MultilingualControlOptionsBase.d.ts +11 -9
- package/lib/Shared/Models/RepeaterOptions.d.ts +1 -0
- package/lib/controls/ConfirmationModal/ConfirmationModal.component.d.ts +2 -2
- package/lib/controls/DateTimePicker/DateTimePicker.component.d.ts +1 -0
- package/lib/controls/DropdownList/DropdownList.component.d.ts +1 -0
- package/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.d.ts +1 -1
- package/lib/controls/Phone/Phone.component.d.ts +6 -6
- package/lib/controls/RadioButton/RadioButton.component.d.ts +1 -0
- package/lib/controls/TagsInput/TagsInput.component.d.ts +1 -0
- package/lib/controls/TextBox/TextBox.component.d.ts +3 -0
- package/lib/controls/Toggleslide/toggleslide.component.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/assets/sass/base.scss +7 -0
- package/bnsights-bbsf-controls-1.0.94.tgz +0 -0
- /package/esm2015/lib/Shared/{components → Components}/app-base-component.js +0 -0
- /package/lib/Shared/{components → Components}/app-base-component.d.ts +0 -0
- /package/lib/Shared/{components → Components}/ng-tag-input.d.ts +0 -0
|
@@ -45,14 +45,14 @@
|
|
|
45
45
|
}
|
|
46
46
|
// tslint:disable-next-line: deprecation
|
|
47
47
|
ErrorMassageValidation.showerror = function (FormControlName) {
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
var form = ErrorMassageValidation.controlContainerstatic
|
|
49
|
+
.control;
|
|
50
50
|
var control = form.get(FormControlName);
|
|
51
51
|
//console.log(control)
|
|
52
|
-
control.setErrors({
|
|
52
|
+
control.setErrors({ minlength: true });
|
|
53
53
|
control.markAsTouched();
|
|
54
54
|
};
|
|
55
|
-
// isEmailRegisterd(Email: string)
|
|
55
|
+
// isEmailRegisterd(Email: string)
|
|
56
56
|
// {
|
|
57
57
|
// let resource:object={
|
|
58
58
|
// email:Email
|
|
@@ -64,92 +64,127 @@
|
|
|
64
64
|
// .pipe(map(response => response.json()))
|
|
65
65
|
// }
|
|
66
66
|
ErrorMassageValidation.prototype.getErrorMassageValidation = function (error) {
|
|
67
|
-
;
|
|
68
|
-
var result = "";
|
|
67
|
+
var result = '';
|
|
69
68
|
switch (error.key) {
|
|
70
|
-
case
|
|
71
|
-
result = this.utilityService.getResourceValue(
|
|
69
|
+
case 'required':
|
|
70
|
+
result = this.utilityService.getResourceValue('RequiredValidationKey');
|
|
71
|
+
break;
|
|
72
|
+
case 'email':
|
|
73
|
+
result = this.utilityService.getResourceValue('EmailValidationKey');
|
|
72
74
|
break;
|
|
73
|
-
case
|
|
74
|
-
result = this.utilityService.getResourceValue(
|
|
75
|
+
case 'EmailValidationKey':
|
|
76
|
+
result = this.utilityService.getResourceValue('EmailValidationKey');
|
|
75
77
|
break;
|
|
76
|
-
case
|
|
77
|
-
result = this.utilityService.getResourceValue(
|
|
78
|
+
case 'URLValidationKey':
|
|
79
|
+
result = this.utilityService.getResourceValue('urlValidationError');
|
|
78
80
|
break;
|
|
79
|
-
case
|
|
80
|
-
result = this.utilityService.getResourceValue(
|
|
81
|
+
case 'pattern':
|
|
82
|
+
result = this.utilityService.getResourceValue('NumberValidationKey');
|
|
81
83
|
break;
|
|
82
|
-
case
|
|
83
|
-
result =
|
|
84
|
+
case 'maxlength':
|
|
85
|
+
result =
|
|
86
|
+
this.utilityService.getResourceValue('MaxLenghtValidationKey') +
|
|
87
|
+
' ' +
|
|
88
|
+
error.value.requiredLength;
|
|
84
89
|
break;
|
|
85
|
-
case
|
|
86
|
-
result =
|
|
90
|
+
case 'minlength':
|
|
91
|
+
result =
|
|
92
|
+
this.utilityService.getResourceValue('MinLenghtValidationKey') +
|
|
93
|
+
' ' +
|
|
94
|
+
error.value.requiredLength;
|
|
87
95
|
break;
|
|
88
|
-
case
|
|
89
|
-
result =
|
|
96
|
+
case 'min':
|
|
97
|
+
result =
|
|
98
|
+
this.utilityService.getResourceValue('MinValueValidationKey') +
|
|
99
|
+
' ' +
|
|
100
|
+
error.value.min;
|
|
90
101
|
break;
|
|
91
|
-
case
|
|
92
|
-
result =
|
|
102
|
+
case 'max':
|
|
103
|
+
result =
|
|
104
|
+
this.utilityService.getResourceValue('MaxValueValidationKey') +
|
|
105
|
+
' ' +
|
|
106
|
+
error.value.max;
|
|
93
107
|
break;
|
|
94
|
-
case
|
|
95
|
-
result = this.utilityService.getResourceValue(
|
|
108
|
+
case 'IntegerNumberValidationKey':
|
|
109
|
+
result = this.utilityService.getResourceValue('IntegerNumberValidationKey');
|
|
96
110
|
break;
|
|
97
|
-
case
|
|
98
|
-
result = this.utilityService.getResourceValue(
|
|
111
|
+
case 'PositiveNumberValidationKey':
|
|
112
|
+
result = this.utilityService.getResourceValue('PositiveNumberValidationKey');
|
|
99
113
|
break;
|
|
100
|
-
case
|
|
101
|
-
result = this.utilityService.getResourceValue(
|
|
114
|
+
case 'validatePhoneNumber':
|
|
115
|
+
result = this.utilityService.getResourceValue('PhoneNumberValidationKey');
|
|
102
116
|
break;
|
|
103
|
-
case
|
|
104
|
-
result =
|
|
117
|
+
case 'mask':
|
|
118
|
+
result =
|
|
119
|
+
this.utilityService.getResourceValue('MaskValidationKey') +
|
|
120
|
+
' ' +
|
|
121
|
+
error.value.requiredMask;
|
|
105
122
|
break;
|
|
106
|
-
case
|
|
107
|
-
result = this.utilityService.getResourceValue(
|
|
123
|
+
case 'PasswordComplexityHasNumber':
|
|
124
|
+
result = this.utilityService.getResourceValue('PasswordComplexityHasNumber');
|
|
108
125
|
break;
|
|
109
|
-
case
|
|
110
|
-
result = this.utilityService.getResourceValue(
|
|
126
|
+
case 'ArabicLetterOnly':
|
|
127
|
+
result = this.utilityService.getResourceValue('ArabicLetterOnly');
|
|
111
128
|
break;
|
|
112
|
-
case
|
|
113
|
-
result = this.utilityService.getResourceValue(
|
|
129
|
+
case 'EnglishLetterOnly':
|
|
130
|
+
result = this.utilityService.getResourceValue('EnglishLetterOnly');
|
|
114
131
|
break;
|
|
115
|
-
case
|
|
116
|
-
result = this.utilityService.getResourceValue(
|
|
132
|
+
case 'ArabicIsRequiredAndOnly50CharactersEnglish':
|
|
133
|
+
result = this.utilityService.getResourceValue('ArabicIsRequiredAndOnly50CharactersEnglish');
|
|
117
134
|
break;
|
|
118
|
-
case
|
|
119
|
-
result = this.utilityService.getResourceValue(
|
|
135
|
+
case 'PasswordComplexityHasCapitalLetter':
|
|
136
|
+
result = this.utilityService.getResourceValue('PasswordComplexityHasCapitalLetter');
|
|
120
137
|
break;
|
|
121
|
-
case
|
|
122
|
-
result = this.utilityService.getResourceValue(
|
|
138
|
+
case 'PasswordComplexityHasSmallLetter':
|
|
139
|
+
result = this.utilityService.getResourceValue('PasswordComplexityHasSmallLetter');
|
|
123
140
|
break;
|
|
124
|
-
case
|
|
125
|
-
result = this.utilityService.getResourceValue(
|
|
141
|
+
case 'PasswordComplexityHasSpecialLetter':
|
|
142
|
+
result = this.utilityService.getResourceValue('PasswordComplexityHasSpecialLetter');
|
|
126
143
|
break;
|
|
127
|
-
case
|
|
128
|
-
result =
|
|
144
|
+
case 'MaxWordCountValidationKey':
|
|
145
|
+
result =
|
|
146
|
+
this.utilityService.getResourceValue('MaxWordCountValidationKey') +
|
|
147
|
+
' ' +
|
|
148
|
+
error.value;
|
|
129
149
|
break;
|
|
130
|
-
case
|
|
131
|
-
result = this.utilityService.getResourceValue(
|
|
150
|
+
case 'NewSelectionValidationKey':
|
|
151
|
+
result = this.utilityService.getResourceValue('NewSelectionValidationKey');
|
|
132
152
|
break;
|
|
133
|
-
case
|
|
134
|
-
result =
|
|
153
|
+
case 'MaxFileCountValidationKey':
|
|
154
|
+
result =
|
|
155
|
+
this.utilityService.getResourceValue('MaxFileCountValidationKey') +
|
|
156
|
+
' ' +
|
|
157
|
+
error.value;
|
|
135
158
|
break;
|
|
136
|
-
case
|
|
137
|
-
result =
|
|
159
|
+
case 'MinFileCountValidationKey':
|
|
160
|
+
result =
|
|
161
|
+
this.utilityService.getResourceValue('MinFileCountValidationKey') +
|
|
162
|
+
' ' +
|
|
163
|
+
error.value;
|
|
138
164
|
break;
|
|
139
|
-
case
|
|
140
|
-
result =
|
|
165
|
+
case 'MaxSizeForAllFilesInMB':
|
|
166
|
+
result =
|
|
167
|
+
this.utilityService.getResourceValue('MaxSizeForAllFilesInMB') +
|
|
168
|
+
' ' +
|
|
169
|
+
error.value;
|
|
141
170
|
break;
|
|
142
|
-
case
|
|
143
|
-
result =
|
|
171
|
+
case 'FileMaxSizeInMB':
|
|
172
|
+
result =
|
|
173
|
+
this.utilityService.getResourceValue('FileMaxSizeInMB') +
|
|
174
|
+
' ' +
|
|
175
|
+
error.value;
|
|
144
176
|
break;
|
|
145
|
-
case
|
|
146
|
-
result =
|
|
177
|
+
case 'ToolTipTypeError':
|
|
178
|
+
result =
|
|
179
|
+
this.utilityService.getResourceValue('ToolTipTypeError') +
|
|
180
|
+
' ' +
|
|
181
|
+
error.value;
|
|
147
182
|
break;
|
|
148
|
-
case
|
|
149
|
-
result = this.utilityService.getResourceValue(
|
|
183
|
+
case 'InvalidEndDate':
|
|
184
|
+
result = this.utilityService.getResourceValue('InvalidEndDate');
|
|
150
185
|
break;
|
|
151
|
-
case
|
|
152
|
-
result = this.utilityService.getResourceValue(
|
|
186
|
+
case 'InvalidStartDate':
|
|
187
|
+
result = this.utilityService.getResourceValue('InvalidStartDate');
|
|
153
188
|
break;
|
|
154
189
|
default:
|
|
155
190
|
break;
|
|
@@ -175,6 +210,7 @@
|
|
|
175
210
|
InputType[InputType["Email"] = 3] = "Email";
|
|
176
211
|
InputType[InputType["Number"] = 4] = "Number";
|
|
177
212
|
InputType[InputType["EID"] = 5] = "EID";
|
|
213
|
+
InputType[InputType["URL"] = 6] = "URL";
|
|
178
214
|
})(exports.InputType || (exports.InputType = {}));
|
|
179
215
|
|
|
180
216
|
var ControlUtility = /** @class */ (function () {
|
|
@@ -911,13 +947,16 @@
|
|
|
911
947
|
_this.DatePickerFormControl.updateValueAndValidity();
|
|
912
948
|
});
|
|
913
949
|
};
|
|
950
|
+
DateInputComponent.prototype.getDateValue = function () {
|
|
951
|
+
return this.options.Value ? this.datepipe.transform(this.options.Value, 'MMM d, y, h:mm a') : this.UtilityService.getResourceValue('NA');
|
|
952
|
+
};
|
|
914
953
|
return DateInputComponent;
|
|
915
954
|
}());
|
|
916
955
|
DateInputComponent.controlContainerstatic = null;
|
|
917
956
|
DateInputComponent.decorators = [
|
|
918
957
|
{ type: i0.Component, args: [{
|
|
919
958
|
selector: 'BBSF-DateTimePicker',
|
|
920
|
-
template: "
|
|
959
|
+
template: "<div class=\"form-group bbsf-control bbsf-datetime-picker\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label\r\n {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n </label>\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&!options.IsReadonly\" class=\"text-danger\"\r\n aria-required=\"true\">*</span>\r\n <div *ngIf=\"!options.IsReadonly\" class=\"bbsf-input-container\">\r\n <!--input-->\r\n <input autocomplete=\"off\" (dateTimeChange)=\"onDateSelect($event)\" [dir]=\"textDir\" class=\"form-control bnsights-control\r\n {{options.ExtraClasses}} \" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\" aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"{{options.Name}}\" [owlDateTime]=\"dt1\" [owlDateTimeTrigger]=\"dt1\" [class.is-invalid]=\"DatePickerFormControl.invalid &&\r\n DatePickerFormControl.touched\" [min]=\"options.StartDate\" [max]=\"options.EndDate\" [hour12Timer]=\"options.Hour12Timer\"\r\n [selectMode]=\"getSelectMode(options.SelectMode)\" placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" #Dateinput>\r\n\r\n <owl-date-time [pickerType]=\"getPickerType(options.PickerType)\" [startView]=\"startView\" [firstDayOfWeek]=\"options.FirstDayOfWeek\"\r\n [hour12Timer]=\"options.Hour12Timer\" #dt1></owl-date-time>\r\n <!--icon-->\r\n <span class=\"copy-clipboard\" [owlDateTimeTrigger]=\"dt1\">\r\n <span class=\"svg-icon\">\r\n <svg id=\"Group_356\" data-name=\"Group 356\" xmlns=\"http://www.w3.org/2000/svg\" width=\"15\" height=\"15\" viewBox=\"0\r\n 0 48 48\">\r\n <path id=\"Path_6737\" data-name=\"Path 6737\" d=\"M11.583,1a1,1,0,0,0-2,0V5.7h2Z\" style=\"\"></path>\r\n <path id=\"Path_6738\" data-name=\"Path 6738\" d=\"M38.417,1a1,1,0,0,0-2,0V5.7h2Z\"></path>\r\n <path id=\"Path_6739\" data-name=\"Path 6739\" d=\"M0,43.146C0,45.822,1.826,48,4.07,48H43.928C46.174,48,48,45.822,48,43.146V17.121H0Z\"\r\n fill=\"#d5d5d5\"></path>\r\n <path id=\"Path_6740\" data-name=\"Path 6740\"\r\n d=\"M43.929,5.7H38.417v5.512a1,1,0,1,1-2,0V5.7H11.583v5.512a1,1,0,1,1-2,0V5.7H4.07C1.826,5.7,0,7.877,0,10.555v4.566H48V10.555C48,7.877,46.174,5.7,43.929,5.7Z\"\r\n fill=\"#595959\"></path>\r\n </svg>\r\n </span>\r\n </span>\r\n </div>\r\n <!-- readonly -->\r\n <div *ngIf=\"options.IsReadonly\">\r\n <span class=\"readonly-view\">{{getDateValue()}}</span>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\" *ngIf=\"!options.IsReadonly\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(DatePickerFormControl.invalid &&\r\n DatePickerFormControl.touched)\">\r\n {{getErrorValidation(DatePickerFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched\r\n )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n</div>",
|
|
921
960
|
providers: [
|
|
922
961
|
{ provide: ngPickDatetime.OwlDateTimeIntl, useClass: DefaultIntl }
|
|
923
962
|
]
|
|
@@ -1436,7 +1475,7 @@
|
|
|
1436
1475
|
FileUploadComponent.decorators = [
|
|
1437
1476
|
{ type: i0.Component, args: [{
|
|
1438
1477
|
selector: 'BBSF-FileUplaod',
|
|
1439
|
-
template: "<div class=\"form-group bbsf-control bbsf-file-upload\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label [hidden]=\"options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger\">*</span>\r\n </label>\r\n <!--Allow dropZone-->\r\n <div ng2FileDrop class=\"bbsf-input-container {{options.ExtraClasses}}\"\r\n
|
|
1478
|
+
template: "<div class=\"form-group bbsf-control bbsf-file-upload\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label [hidden]=\"options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&!options.IsReadonly\" class=\"text-danger\">*</span>\r\n </label>\r\n <!--Allow dropZone-->\r\n <div ng2FileDrop class=\"bbsf-input-container {{options.ExtraClasses}}\"\r\n *ngIf=\"(options.IsDropZone)&&(!((options.IsMultipleFile==false)&&(uploader.queue.length)>0))&&!options.IsReadonly\"\r\n [ngClass]=\"{'another-file-over-class': hasAnotherDropZoneOver}\" (onFileDrop)=\"onFileChange()\" (fileOver)=\"fileOverAnother($event)\"\r\n [uploader]=\"uploader\" [accept]=\"AcceptedType\" (change)=\"onFileChange()\" id=\"{{options.Name}}\"\r\n multiple=\"{{options.IsMultipleFile?'multiple':''}}\" aria-describedby=\"email-error\" aria-invalid=\"true\" type=\"file\"\r\n formControlName=\"{{options.Name}}\" #fileInput [class.is-invalid]=\"fileUploadFormControl.invalid && fileUploadFormControl.touched\">\r\n <div class=\"dropzone-label\">\r\n <div class=\"svg-and-validation\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" style=\"width: 50px; height: 50px;\">\r\n <path opacity=\"0.3\"\r\n d=\"M5 16C3.3 16 2 14.7 2 13C2 11.3 3.3 10 5 10H5.1C5 9.7 5 9.3 5 9C5 6.2 7.2 4 10 4C11.9 4 13.5 5 14.3 6.5C14.8 6.2 15.4 6 16 6C17.7 6 19 7.3 19 9C19 9.4 18.9 9.7 18.8 10C18.9 10 18.9 10 19 10C20.7 10 22 11.3 22 13C22 14.7 20.7 16 19 16H5ZM8 13.6H16L12.7 10.3C12.3 9.89999 11.7 9.89999 11.3 10.3L8 13.6Z\"\r\n fill=\"currentColor\" style=\"fill: #a1a1a1;\"></path>\r\n <path d=\"M11 13.6V19C11 19.6 11.4 20 12 20C12.6 20 13 19.6 13 19V13.6H11Z\" fill=\"currentColor\" style=\"fill: #989898;\"></path>\r\n </svg>\r\n <!--Validation text-->\r\n <div class=\"bbsf-validation-msg text-center\">{{UtilityService.getResourceValue(\"DragAndDropHere\")}} </div>\r\n <div class=\"bbsf-validation-msg text-center\" *ngIf=\"ValidationMessage\" [innerHTML]=\"ValidationMessage\"></div>\r\n <div class=\"bbsf-validation-msg ng-star-inserted text-center text-danger\"\r\n *ngIf=\"ValidationCountMessage &&options.IsMultipleFile &&options.MaxNoOfFiles>0\" [innerHTML]=\"ValidationCountMessage\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <!--Not allowed dropZone-->\r\n <div class=\"bbsf-input-container\" *ngIf=\"(!options.IsDropZone)&&!(isHideInput())&&!options.IsReadonly\" (click)=\"fileInput.click();\">\r\n <div class=\"dropzone-label\">\r\n <div class=\"svg-and-validation\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" style=\"width: 50px; height: 50px;\">\r\n <path opacity=\"0.3\"\r\n d=\"M5 16C3.3 16 2 14.7 2 13C2 11.3 3.3 10 5 10H5.1C5 9.7 5 9.3 5 9C5 6.2 7.2 4 10 4C11.9 4 13.5 5 14.3 6.5C14.8 6.2 15.4 6 16 6C17.7 6 19 7.3 19 9C19 9.4 18.9 9.7 18.8 10C18.9 10 18.9 10 19 10C20.7 10 22 11.3 22 13C22 14.7 20.7 16 19 16H5ZM8 13.6H16L12.7 10.3C12.3 9.89999 11.7 9.89999 11.3 10.3L8 13.6Z\"\r\n fill=\"currentColor\" style=\"fill: #a1a1a1;\"></path>\r\n <path d=\"M11 13.6V19C11 19.6 11.4 20 12 20C12.6 20 13 19.6 13 19V13.6H11Z\" fill=\"currentColor\" style=\"fill: #989898;\"></path>\r\n </svg>\r\n <!--Validation text-->\r\n <div class=\"bbsf-validation-msg text-center\">{{UtilityService.getResourceValue(\"Upload\")}} </div>\r\n <div class=\"bbsf-validation-msg text-center\" *ngIf=\"ValidationMessage\" [innerHTML]=\"ValidationMessage\"></div>\r\n <div class=\"bbsf-validation-msg ng-star-inserted text-center text-danger\"\r\n *ngIf=\"ValidationCountMessage &&options.IsMultipleFile &&options.MaxNoOfFiles>0\" [innerHTML]=\"ValidationCountMessage\"></div>\r\n </div>\r\n </div>\r\n <input ng2FileSelect [uploader]=\"uploader\" [accept]=\"AcceptedType\"\r\n class=\"fileSelector customFileUploadPlacment hidden v-required-multiplefiles d-none\" multiple=\"{{options.IsMultipleFile?'multiple':''}}\"\r\n name=\"file\" type=\"file\" value=\"\" autocomplete=\"off\" (change)=\"onFileChange()\" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\"\r\n id=\"{{options.Name}}\" aria-describedby=\"email-error\" aria-invalid=\"true\" formControlName=\"{{options.Name}}\" #fileInput\r\n [class.is-invalid]=\"fileUploadFormControl.invalid && fileUploadFormControl.touched\">\r\n </div>\r\n <!-- readonly -->\r\n <div *ngIf=\"options.IsReadonly && !options.Value\">\r\n <span class=\"readonly-view\">{{UtilityService.getResourceValue('NA')}}</span>\r\n </div>\r\n </div>\r\n <!--items uploaded-->\r\n <div class=\"uploaded-items\">\r\n <div class=\"btn-group\" *ngFor=\"let item of uploader.queue\">\r\n <a href=\"{{ item?.file?.rawFile?.url }}\" class=\"btn btn-download-file btn-sm\" download>\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M21 22H3C2.4 22 2 21.6 2 21C2 20.4 2.4 20 3 20H21C21.6 20 22 20.4 22 21C22 21.6 21.6 22 21 22ZM13 13.4V3C13 2.4 12.6 2 12 2C11.4 2 11 2.4 11 3V13.4H13Z\"\r\n fill=\"currentColor\"></path>\r\n <path opacity=\"0.3\" d=\"M7 13.4H17L12.7 17.7C12.3 18.1 11.7 18.1 11.3 17.7L7 13.4Z\" fill=\"currentColor\"></path>\r\n </svg>\r\n <span class=\"file-name\">{{ item?.file?.name }}</span>\r\n </a>\r\n <button *ngIf=\"!options.IsReadonly\" class=\"btn btn-download-file btn-sm btn-danger\" (click)=\"item.remove();removeFromControlValue(item)\">\r\n <i class=\"fa fa-times px-0\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\" *ngIf=\"!options.IsReadonly\">\r\n <!-- required text-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(fileUploadFormControl.invalid && fileUploadFormControl.touched)\">\r\n {{getErrorValidation(fileUploadFormControl.errors|keyvalue)}}\r\n </div>\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\"> {{options.LabelDescription}}</div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n </div>\r\n\r\n</div>"
|
|
1440
1479
|
},] }
|
|
1441
1480
|
];
|
|
1442
1481
|
FileUploadComponent.ctorParameters = function () { return [
|
|
@@ -1613,6 +1652,10 @@
|
|
|
1613
1652
|
}
|
|
1614
1653
|
this.ArabicFormControl.setValue(this.options.Value.Arabic);
|
|
1615
1654
|
this.EnglishFormControl.setValue(this.options.Value.English);
|
|
1655
|
+
if (this.options.IsReadonly && !this.options.Value) {
|
|
1656
|
+
this.options.Value.Arabic = this.UtilityService.getResourceValue('NA');
|
|
1657
|
+
this.options.Value.English = this.UtilityService.getResourceValue('NA');
|
|
1658
|
+
}
|
|
1616
1659
|
this.MultiLingualTextBoxFormControlHost.ngSubmit.subscribe(function (value) {
|
|
1617
1660
|
_this.group.markAllAsTouched();
|
|
1618
1661
|
_this.markAllAsTouched = true;
|
|
@@ -1881,7 +1924,7 @@
|
|
|
1881
1924
|
MultiLingualTextBoxComponent.decorators = [
|
|
1882
1925
|
{ type: i0.Component, args: [{
|
|
1883
1926
|
selector: 'BBSF-MultiLingualTextBox',
|
|
1884
|
-
template: "\r\n<div [formGroup]=\"group\">\r\n <div class=\"bbsf-control bbsf-multilang-textbox form-group mb-0\"
|
|
1927
|
+
template: "\r\n<div [formGroup]=\"group\">\r\n <div class=\"bbsf-control bbsf-multilang-textbox form-group mb-0\"\r\n [formGroup]=\"MultiLanguagegroup\">\r\n <div class=\"row\">\r\n <!--English textbox-->\r\n <div\r\n [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\"\r\n *ngIf=\"ShowEnglishTextBox\" class=\"bbsf-multilang-form-group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label class=\"bbsf-label {{options.LabelExtraClasses}}\"\r\n [hidden]=\"options.IsHideEnglishLabel\">\r\n {{(options.EnglishLabelValue!=null&&options.EnglishLabelValue!=\"\")?options.EnglishLabelValue:options.LabelValue}}\r\n <!--Asterisk-->\r\n <span\r\n *ngIf=\"(((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)&&IsShowAsteriskInEnglish))&&!options.IsReadonly\"\r\n class=\"text-danger\">*</span>\r\n </label>\r\n <div *ngIf=\"!options.IsReadonly\" class=\"bbsf-input-container\"\r\n [ngClass]=\"options.EnableCopyToClipboard? 'p-40px' : '' \">\r\n <!--Icon-->\r\n <div class=\"svg svg-icon-grey bbsf-icon\"\r\n [ngClass]=\"(options.IconPositionEN==1)?'left-icon':'right-icon'\"\r\n *ngIf=\"options.Icon!=null\">\r\n <span [inlineSVG]=\"options.Icon\"></span>\r\n </div>\r\n <!--input-->\r\n <input class=\"form-control\" dir=\"ltr\"\r\n (focus)=\"onEnglishFocus(true)\" (focusout)=\"onEnglishFocus(false)\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"English\"\r\n [hidden]=\"options.IsHideEnglishFields\"\r\n maxlength=\"{{options.MaxLength}}\"\r\n minlength=\"{{options.MinLength}}\"\r\n [class.is-invalid]=\"EnglishFormControl.invalid && EnglishFormControl.touched\"\r\n placeholder=\"{{options.EnglishPlaceholder}}\"\r\n (change)=\"trimControlValue('En')\"\r\n (keyup)=\"onTextChange()\"\r\n (keydown)=\"EnglishWordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n autocomplete=\"{{options.AutoComplete}}\"\r\n id=\"{{options.Name}}.English\" [(ngModel)]=\"options.Value.English\"\r\n #userinputEnglish>\r\n <!--CopyToClipboard-->\r\n <div class=\"copy-clipboard\" [hidden]=\"options.IsHideEnglishFields\"\r\n *ngIf=\"options.EnableCopyToClipboard\"\r\n (click)=\"copyInputMessage(userinputEnglish)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </div>\r\n </div>\r\n <div *ngIf=\"options.IsReadonly\"><span class=\"readonly-view\"\r\n [innerHTML]=\"options.Value.English\"></span>\r\n\r\n </div>\r\n <div class=\"subtext-container\" *ngIf=\"!options.IsReadonly\">\r\n <!--wordCount-->\r\n <div class=\"bbsf-word-count\"\r\n *ngIf=\"options.MaxWordCount>0&&IsShowEnglishWordCount\">{{EnglishWordCount}}/{{options.MaxWordCount}}\r\n Words</div>\r\n <!-- CharsLimitMsg-->\r\n <div class=\"bbsf-character-count\" *ngIf=\"showEnglishCharsLimitMsg\"\r\n [ngClass]=\"{'badge-light-warning': englishCharsLimitMsgClass === 'warning', 'badge-light-danger' : englishCharsLimitMsgClass === 'danger' }\">\r\n {{englishMaxLimitWarningMsg}}\r\n </div>\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\"\r\n *ngIf=\"(options.LabelDescription!=null&&options.LabelDescription!='') ||(options.EnglishLabelDescription!=null&&options.EnglishLabelDescription!='')\">\r\n {{(options.EnglishLabelDescription!=null&&options.EnglishLabelDescription!=\"\")?options.EnglishLabelDescription:options.LabelDescription}}\r\n </div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\"\r\n *ngIf=\"(EnglishFormControl.invalid && EnglishFormControl.touched)\">\r\n {{getErrorValidation(EnglishFormControl.errors|keyvalue)}}\r\n </div>\r\n <div *ngIf=\"group.valid\">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <!--Arabic textbox-->\r\n <div\r\n [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\"\r\n *ngIf=\"ShowArabicTextBox\" class=\"bbsf-multilang-form-group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label class=\"bbsf-label {{options.LabelExtraClasses}}\"\r\n [hidden]=\"options.IsHideArabicLabel\">\r\n {{(options.ArabicLabelValue!=null&&options.ArabicLabelValue!=\"\")?options.ArabicLabelValue:options.LabelValue}}\r\n <!--Asterisk-->\r\n <span\r\n *ngIf=\"(((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&IsShowAsteriskInArabic)&&!options.IsReadonly\"\r\n class=\"text-danger\">*</span>\r\n </label>\r\n <div *ngIf=\"!options.IsReadonly\" class=\"bbsf-input-container\"\r\n [ngClass]=\"options.EnableCopyToClipboard? 'p-40px' : '' \">\r\n <!--Icon-->\r\n <div *ngIf=\"options.Icon!=null\" class=\"svg svg-icon-grey bbsf-icon\"\r\n [ngClass]=\"(options.IconPositionEN==1)?'right-icon':'left-icon'\">\r\n <span [inlineSVG]=\"options.Icon\"></span>\r\n </div>\r\n <!--input-->\r\n <input class=\"form-control\" dir=\"rtl\"\r\n (focus)=\"onArabicFocus(true)\" (focusout)=\"onArabicFocus(false)\"\r\n [hidden]=\"options.IsHideArabicFields\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"Arabic\" maxlength=\"{{options.MaxLength}}\"\r\n minlength=\"{{options.MinLength}}\"\r\n [class.is-invalid]=\"ArabicFormControl.invalid && ArabicFormControl.touched\"\r\n placeholder=\"{{options.ArabicPlaceholder}}\"\r\n (keyup)=\"onTextChange()\"\r\n (keydown)=\"ArabicWordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n autocomplete=\"{{options.AutoComplete}}\"\r\n id=\"{{options.Name}}.Arabic\"\r\n (change)=\"trimControlValue('Ar')\" #userinputArabic>\r\n <!--CopyToClipboard-->\r\n <div class=\"copy-clipboard\" [hidden]=\"options.IsHideArabicFields\"\r\n *ngIf=\"options.EnableCopyToClipboard\"\r\n (click)=\"copyInputMessage(userinputArabic)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </div>\r\n </div>\r\n <div *ngIf=\"options.IsReadonly\"><span class=\"readonly-view\"\r\n [innerHTML]=\"options.Value.Arabic\"></span>\r\n\r\n </div>\r\n <div class=\"subtext-container\" *ngIf=\"!options.IsReadonly\">\r\n <!--wordCount-->\r\n <div class=\"bbsf-word-count\"\r\n *ngIf=\"options.MaxWordCount>0&&IsShowArabicWordCount\">{{ArabicWordCount}}/{{options.MaxWordCount}}\r\n Words</div>\r\n <!-- CharsLimitMsg-->\r\n <div class=\"bbsf-character-count\" *ngIf=\"showArabicCharsLimitMsg\"\r\n [ngClass]=\"{'badge-light-warning': arabicCharsLimitMsgClass === 'warning', 'badge-light-danger' : arabicCharsLimitMsgClass === 'danger' }\">\r\n {{arabicMaxLimitWarningMsg}}\r\n </div>\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\"\r\n *ngIf=\"(options.LabelDescription!=null&&options.LabelDescription!='')||(options.ArabicLabelDescription!=null&&options.ArabicLabelDescription!='')\">\r\n {{(options.ArabicLabelDescription!=null&&options.ArabicLabelDescription!=\"\")?options.ArabicLabelDescription:options.LabelDescription}}\r\n </div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\"\r\n *ngIf=\"(ArabicFormControl.invalid && ArabicFormControl.touched)\">\r\n {{getErrorValidation(ArabicFormControl.errors|keyvalue)}}\r\n </div>\r\n <div *ngIf=\"group.valid\">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n"
|
|
1885
1928
|
},] }
|
|
1886
1929
|
];
|
|
1887
1930
|
MultiLingualTextBoxComponent.ctorParameters = function () { return [
|
|
@@ -1948,6 +1991,8 @@
|
|
|
1948
1991
|
}
|
|
1949
1992
|
TextAreaComponent.prototype.ngOnInit = function () {
|
|
1950
1993
|
var _this = this;
|
|
1994
|
+
if (this.options.IsReadonly && !this.options.Value)
|
|
1995
|
+
this.options.Value = this.UtilityService.getResourceValue('NA');
|
|
1951
1996
|
if (this.options.ForceDirection)
|
|
1952
1997
|
this.textDir = this.options.ForceDirection == 2 ? 'rtl' : 'ltr';
|
|
1953
1998
|
else
|
|
@@ -2075,7 +2120,7 @@
|
|
|
2075
2120
|
TextAreaComponent.decorators = [
|
|
2076
2121
|
{ type: i0.Component, args: [{
|
|
2077
2122
|
selector: 'BBSF-TextArea',
|
|
2078
|
-
template: "<div class=\"form-group bbsf-control bbsf-textarea\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"bbsf-input-container\" [ngClass]=\"options.EnableCopyToClipboard? 'p-40px' : '' \">\r\n <!--input-->\r\n <textarea class=\"form-control {{options.ExtraClasses}}\"\r\n (focus)=\"onFocus(true)\" (focusout)=\"onFocus(false)\"\r\n [dir]=\"textDir\" aria-describedby=\"email-error\"\r\n aria-invalid=\"true\" formControlName=\"{{options.Name}}\"\r\n [class.is-invalid]=\"TextAreaFormControl.invalid && TextAreaFormControl.touched\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" autocomplete=\"{{options.AutoComplete}}\"\r\n (change)=\"trimControlValue()\" rows=\"{{options.Rows}}\" (keyup)=\"onTextChange()\" cols=\"{{options.Cols}}\"\r\n maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\" [(ngModel)]=\"options.Value\"\r\n (keydown)=\"WordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #TextAreainput></textarea>\r\n <!--CopyToClipboard-->\r\n <div class=\"copy-clipboard\" *ngIf=\"options.EnableCopyToClipboard\" (click)=\"copyInputMessage(TextAreainput)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!--wordCount-->\r\n <div class=\"bbsf-word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowWordCount\">{{WordCount}}/{{options.MaxWordCount}} Words</div>\r\n <!-- CharsLimitMsg-->\r\n <div class=\"bbsf-character-count\" *ngIf=\"showCharsLimitMsg\" [ngClass]=\"{'badge-light-warning': charsLimitMsgClass === 'warning', 'badge-light-danger' : charsLimitMsgClass === 'danger' }\">\r\n {{maxLimitWarningMsg}}\r\n </div>\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" [dir]=\"textDir\"\r\n *ngIf=\"(TextAreaFormControl.invalid && TextAreaFormControl.touched)\">\r\n {{getErrorValidation(TextAreaFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n</div>\r\n"
|
|
2123
|
+
template: "<div class=\"form-group bbsf-control bbsf-textarea\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&!options.IsReadonly\" class=\"text-danger\">*</span>\r\n </label>\r\n <div *ngIf=\"!options.IsReadonly\" class=\"bbsf-input-container\" [ngClass]=\"options.EnableCopyToClipboard? 'p-40px' : '' \">\r\n <!--input-->\r\n <textarea class=\"form-control {{options.ExtraClasses}}\"\r\n (focus)=\"onFocus(true)\" (focusout)=\"onFocus(false)\"\r\n [dir]=\"textDir\" aria-describedby=\"email-error\"\r\n aria-invalid=\"true\" formControlName=\"{{options.Name}}\"\r\n [class.is-invalid]=\"TextAreaFormControl.invalid && TextAreaFormControl.touched\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" autocomplete=\"{{options.AutoComplete}}\"\r\n (change)=\"trimControlValue()\" rows=\"{{options.Rows}}\" (keyup)=\"onTextChange()\" cols=\"{{options.Cols}}\"\r\n maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\" [(ngModel)]=\"options.Value\"\r\n (keydown)=\"WordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #TextAreainput></textarea>\r\n <!--CopyToClipboard-->\r\n <div class=\"copy-clipboard\" *ngIf=\"options.EnableCopyToClipboard\" (click)=\"copyInputMessage(TextAreainput)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </div>\r\n </div>\r\n <!-- readonly -->\r\n <div *ngIf=\"options.IsReadonly\"><span class=\"readonly-view\" >{{options.Value}}</span>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!--wordCount-->\r\n <div class=\"bbsf-word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowWordCount\">{{WordCount}}/{{options.MaxWordCount}} Words</div>\r\n <!-- CharsLimitMsg-->\r\n <div class=\"bbsf-character-count\" *ngIf=\"showCharsLimitMsg\" [ngClass]=\"{'badge-light-warning': charsLimitMsgClass === 'warning', 'badge-light-danger' : charsLimitMsgClass === 'danger' }\">\r\n {{maxLimitWarningMsg}}\r\n </div>\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" [dir]=\"textDir\"\r\n *ngIf=\"(TextAreaFormControl.invalid && TextAreaFormControl.touched)\">\r\n {{getErrorValidation(TextAreaFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n</div>\r\n"
|
|
2079
2124
|
},] }
|
|
2080
2125
|
];
|
|
2081
2126
|
TextAreaComponent.ctorParameters = function () { return [
|
|
@@ -2257,6 +2302,10 @@
|
|
|
2257
2302
|
_this.group.markAllAsTouched();
|
|
2258
2303
|
_this.markAllAsTouched = true;
|
|
2259
2304
|
});
|
|
2305
|
+
if (this.options.IsReadonly && !this.options.Value) {
|
|
2306
|
+
this.options.Value.Arabic = this.UtilityService.getResourceValue('NA');
|
|
2307
|
+
this.options.Value.English = this.UtilityService.getResourceValue('NA');
|
|
2308
|
+
}
|
|
2260
2309
|
return [2 /*return*/];
|
|
2261
2310
|
}
|
|
2262
2311
|
});
|
|
@@ -2508,7 +2557,7 @@
|
|
|
2508
2557
|
MultiLingualTextAreaComponent.decorators = [
|
|
2509
2558
|
{ type: i0.Component, args: [{
|
|
2510
2559
|
selector: 'BBSF-MultiLingualTextArea',
|
|
2511
|
-
template: "<div [formGroup]=\"group\">\r\n <div class=\"bbsf-control bbsf-multilang-textarea form-group mb-0\" [formGroup]=\"MultiLanguageTextAreagroup\">\r\n <div class=\"row\">\r\n <!--English textarea-->\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\" *ngIf=\"ShowEngishTextArea\" class=\"bbsf-multilang-form-group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label class=\"bbsf-label {{options.LabelExtraClasses}}\" [hidden]=\"options.IsHideEnglishLabel\">\r\n {{(options.EnglishLabelValue!=null&&options.EnglishLabelValue!=\"\")?options.EnglishLabelValue:options.LabelValue+\"in English\"}} <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&IsShowAsteriskInEnglish\" class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"bbsf-input-container\" [ngClass]=\"options.EnableCopyToClipboard? 'p-40px' : '' \">\r\n <!--input-->\r\n <textarea class=\"form-control\" dir=\"ltr\" rows=\"{{options.Rows}}\" cols=\"{{options.Cols}}\"\r\n (focus)=\"onEnglishFocus(true)\" (focusout)=\"onEnglishFocus(false)\"\r\n maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"English\" [hidden]=\"options.IsHideEnglishFields\"\r\n [class.is-invalid]=\"EnglishTextAreaFormControl.invalid && EnglishTextAreaFormControl.touched\"\r\n placeholder=\"{{options.EnglishPlaceholder}}\" (change)=\"trimControlValue('En')\"\r\n (keyup)=\"onTextChange()\" [(ngModel)]=\"options.Value.English\"\r\n (keydown)=\"EnglishWordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #userinputTextAreaEnglish>\r\n </textarea>\r\n <!--CopyToClipboard-->\r\n <div class=\"copy-clipboard\" [hidden]=\"options.IsHideEnglishFields\" *ngIf=\"options.EnableCopyToClipboard\" (click)=\"copyInputMessage(userinputTextAreaEnglish)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!--wordCount-->\r\n <div class=\"bbsf-word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowEnglishWordCount\">{{EnglishWordCount}}/{{options.MaxWordCount}} Words</div>\r\n <!-- CharsLimitMsg-->\r\n <div class=\"bbsf-character-count\" *ngIf=\"showEnglishCharsLimitMsg\" [ngClass]=\"{'badge-light-warning': englishCharsLimitMsgClass === 'warning', 'badge-light-danger' : englishCharsLimitMsgClass === 'danger' }\">\r\n {{englishMaxLimitWarningMsg}}\r\n </div>\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"(options.LabelDescription!=null&&options.LabelDescription!='') ||(options.EnglishLabelDescription!=null&&options.EnglishLabelDescription!='')\">\r\n {{(options.EnglishLabelDescription!=null&&options.EnglishLabelDescription!=\"\")?options.EnglishLabelDescription:options.LabelDescription}}\r\n </div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(EnglishTextAreaFormControl.invalid && EnglishTextAreaFormControl.touched)\">\r\n {{getErrorValidation(EnglishTextAreaFormControl.errors|keyvalue)}}\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n <!--Arabic textbox-->\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\" *ngIf=\"ShowArabicTextArea\" class=\"bbsf-multilang-form-group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label class=\"bbsf-label {{options.LabelExtraClasses}}\" [hidden]=\"options.IsHideArabicLabel\">\r\n {{(options.ArabicLabelValue!=null&&options.ArabicLabelValue!=\"\")?options.ArabicLabelValue:options.LabelValue+\"in Arabic\"}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&IsShowAsteriskInArabic\" class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"bbsf-input-container\" [ngClass]=\"options.EnableCopyToClipboard? 'p-40px' : '' \">\r\n <!--input-->\r\n <textarea class=\"form-control bnsights-control\" dir=\"rtl\" rows=\"{{options.Rows}}\" cols=\"{{options.Cols}}\"\r\n (focus)=\"onArabicFocus(true)\" (focusout)=\"onArabicFocus(false)\"\r\n [hidden]=\"options.IsHideArabicFields\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"Arabic\" rows=\"{{options.Rows}}\"\r\n maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\"\r\n [class.is-invalid]=\"ArabicTextAreaFormControl.invalid && ArabicTextAreaFormControl.touched\"\r\n placeholder=\"{{options.ArabicPlaceholder}}\" (change)=\"trimControlValue('Ar')\"\r\n (keyup)=\"onTextChange()\" [(ngModel)]=\"options.Value.Arabic\"\r\n (keydown)=\"ArabicWordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #userinputTextAreaArabic>\r\n </textarea>\r\n <!--CopyToClipboard-->\r\n <div class=\"copy-clipboard\" [hidden]=\"options.IsHideArabicFields\" *ngIf=\"options.EnableCopyToClipboard\" (click)=\"copyInputMessage(userinputTextAreaArabic)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!--wordCount-->\r\n <div class=\"bbsf-word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowArabicWordCount\">{{ArabicWordCount}}/{{options.MaxWordCount}} Words</div>\r\n <!-- CharsLimitMsg-->\r\n <div class=\"bbsf-character-count\" *ngIf=\"showArabicCharsLimitMsg\" [ngClass]=\"{'badge-light-warning': arabicCharsLimitMsgClass === 'warning', 'badge-light-danger' : arabicCharsLimitMsgClass === 'danger' }\">\r\n {{arabicMaxLimitWarningMsg}}\r\n </div>\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"(options.LabelDescription!=null&&options.LabelDescription!='')||(options.ArabicLabelDescription!=null&&options.ArabicLabelDescription!='')\">\r\n {{(options.ArabicLabelDescription!=null&&options.ArabicLabelDescription!=\"\")?options.ArabicLabelDescription:options.LabelDescription}}\r\n </div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(ArabicTextAreaFormControl.invalid && ArabicTextAreaFormControl.touched)\">\r\n {{getErrorValidation(ArabicTextAreaFormControl.errors|keyvalue)}}\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n"
|
|
2560
|
+
template: "<div [formGroup]=\"group\">\r\n <div class=\"bbsf-control bbsf-multilang-textarea form-group mb-0\" [formGroup]=\"MultiLanguageTextAreagroup\">\r\n <div class=\"row\">\r\n <!--English textarea-->\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\" *ngIf=\"ShowEngishTextArea\" class=\"bbsf-multilang-form-group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label class=\"bbsf-label {{options.LabelExtraClasses}}\" [hidden]=\"options.IsHideEnglishLabel\">\r\n {{(options.EnglishLabelValue!=null&&options.EnglishLabelValue!=\"\")?options.EnglishLabelValue:options.LabelValue+\"in English\"}} <!--Asterisk-->\r\n <span *ngIf=\"(((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&IsShowAsteriskInEnglish)&&!options.IsReadonly\" class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"bbsf-input-container\" *ngIf=\"!options.IsReadonly\" [ngClass]=\"options.EnableCopyToClipboard? 'p-40px' : '' \">\r\n <!--input-->\r\n <textarea class=\"form-control\" dir=\"ltr\" rows=\"{{options.Rows}}\" cols=\"{{options.Cols}}\"\r\n (focus)=\"onEnglishFocus(true)\" (focusout)=\"onEnglishFocus(false)\"\r\n maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"English\" [hidden]=\"options.IsHideEnglishFields\"\r\n [class.is-invalid]=\"EnglishTextAreaFormControl.invalid && EnglishTextAreaFormControl.touched\"\r\n placeholder=\"{{options.EnglishPlaceholder}}\" (change)=\"trimControlValue('En')\"\r\n (keyup)=\"onTextChange()\" [(ngModel)]=\"options.Value.English\"\r\n (keydown)=\"EnglishWordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #userinputTextAreaEnglish>\r\n </textarea>\r\n <!--CopyToClipboard-->\r\n <div class=\"copy-clipboard\" [hidden]=\"options.IsHideEnglishFields\" *ngIf=\"options.EnableCopyToClipboard\" (click)=\"copyInputMessage(userinputTextAreaEnglish)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"options.IsReadonly\"><span class=\"readonly-view\" [innerHTML]=\"options.Value.English\" ></span>\r\n\r\n </div>\r\n <div class=\"subtext-container\" *ngIf=\"!options.IsReadonly\">\r\n <!--wordCount-->\r\n <div class=\"bbsf-word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowEnglishWordCount\">{{EnglishWordCount}}/{{options.MaxWordCount}} Words</div>\r\n <!-- CharsLimitMsg-->\r\n <div class=\"bbsf-character-count\" *ngIf=\"showEnglishCharsLimitMsg\" [ngClass]=\"{'badge-light-warning': englishCharsLimitMsgClass === 'warning', 'badge-light-danger' : englishCharsLimitMsgClass === 'danger' }\">\r\n {{englishMaxLimitWarningMsg}}\r\n </div>\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"(options.LabelDescription!=null&&options.LabelDescription!='') ||(options.EnglishLabelDescription!=null&&options.EnglishLabelDescription!='')\">\r\n {{(options.EnglishLabelDescription!=null&&options.EnglishLabelDescription!=\"\")?options.EnglishLabelDescription:options.LabelDescription}}\r\n </div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(EnglishTextAreaFormControl.invalid && EnglishTextAreaFormControl.touched)\">\r\n {{getErrorValidation(EnglishTextAreaFormControl.errors|keyvalue)}}\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <!--Arabic textbox-->\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\" *ngIf=\"ShowArabicTextArea\" class=\"bbsf-multilang-form-group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label class=\"bbsf-label {{options.LabelExtraClasses}}\" [hidden]=\"options.IsHideArabicLabel\">\r\n {{(options.ArabicLabelValue!=null&&options.ArabicLabelValue!=\"\")?options.ArabicLabelValue:options.LabelValue+\"in Arabic\"}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&IsShowAsteriskInArabic)&&!options.IsReadonly\" class=\"text-danger\">*</span>\r\n </label>\r\n <div *ngIf=\"!options.IsReadonly\" class=\"bbsf-input-container\" [ngClass]=\"options.EnableCopyToClipboard? 'p-40px' : '' \">\r\n <!--input-->\r\n <textarea class=\"form-control bnsights-control\" dir=\"rtl\" rows=\"{{options.Rows}}\" cols=\"{{options.Cols}}\"\r\n (focus)=\"onArabicFocus(true)\" (focusout)=\"onArabicFocus(false)\"\r\n [hidden]=\"options.IsHideArabicFields\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"Arabic\" rows=\"{{options.Rows}}\"\r\n maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\"\r\n [class.is-invalid]=\"ArabicTextAreaFormControl.invalid && ArabicTextAreaFormControl.touched\"\r\n placeholder=\"{{options.ArabicPlaceholder}}\" (change)=\"trimControlValue('Ar')\"\r\n (keyup)=\"onTextChange()\" [(ngModel)]=\"options.Value.Arabic\"\r\n (keydown)=\"ArabicWordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #userinputTextAreaArabic>\r\n </textarea>\r\n <!--CopyToClipboard-->\r\n <div class=\"copy-clipboard\" [hidden]=\"options.IsHideArabicFields\" *ngIf=\"options.EnableCopyToClipboard\" (click)=\"copyInputMessage(userinputTextAreaArabic)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </div>\r\n </div>\r\n <div *ngIf=\"options.IsReadonly\"><span class=\"readonly-view\" [innerHTML]=\"options.Value.Arabic\" ></span>\r\n\r\n </div>\r\n <div class=\"subtext-container\" *ngIf=\"!options.IsReadonly\">\r\n <!--wordCount-->\r\n <div class=\"bbsf-word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowArabicWordCount\">{{ArabicWordCount}}/{{options.MaxWordCount}} Words</div>\r\n <!-- CharsLimitMsg-->\r\n <div class=\"bbsf-character-count\" *ngIf=\"showArabicCharsLimitMsg\" [ngClass]=\"{'badge-light-warning': arabicCharsLimitMsgClass === 'warning', 'badge-light-danger' : arabicCharsLimitMsgClass === 'danger' }\">\r\n {{arabicMaxLimitWarningMsg}}\r\n </div>\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"(options.LabelDescription!=null&&options.LabelDescription!='')||(options.ArabicLabelDescription!=null&&options.ArabicLabelDescription!='')\">\r\n {{(options.ArabicLabelDescription!=null&&options.ArabicLabelDescription!=\"\")?options.ArabicLabelDescription:options.LabelDescription}}\r\n </div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(ArabicTextAreaFormControl.invalid && ArabicTextAreaFormControl.touched)\">\r\n {{getErrorValidation(ArabicTextAreaFormControl.errors|keyvalue)}}\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n"
|
|
2512
2561
|
},] }
|
|
2513
2562
|
];
|
|
2514
2563
|
MultiLingualTextAreaComponent.ctorParameters = function () { return [
|
|
@@ -2625,7 +2674,7 @@
|
|
|
2625
2674
|
{ type: i0.Component, args: [{
|
|
2626
2675
|
// tslint:disable-next-line: component-selector
|
|
2627
2676
|
selector: 'BBSF-CheckBox',
|
|
2628
|
-
template: "<div class=\"form-group bbsf-control bbsf-checkbox\" [formGroup]=\"group\">\r\n <div class=\"bbsf-input-container\">\r\n <!--input-->\r\n <input class=\"bbsf-checkbox-input {{options.ExtraClasses}}\" [dir]=\"textDir\" [checked]=\"options.Value==true?true:null\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\" formControlName=\"{{options.Name}}\"\r\n (change)=\"onValueChanged()\"\r\n [class.is-invalid]=\"CheckBoxFormControl.invalid && CheckBoxFormControl.touched\"\r\n id=\"{{options.Name}}\" type=\"checkbox\" value=\"options.Value==true?true:null\">\r\n\r\n <div class=\"label-subtext-container\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(CheckBoxFormControl.invalid && CheckBoxFormControl.touched)\">\r\n {{getErrorValidation(CheckBoxFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n</div>\r\n"
|
|
2677
|
+
template: "<div class=\"form-group bbsf-control bbsf-checkbox\" [formGroup]=\"group\">\r\n <div class=\"bbsf-input-container\">\r\n <!--input-->\r\n <input *ngIf=\"!options.IsReadonly\" class=\"bbsf-checkbox-input {{options.ExtraClasses}}\" [dir]=\"textDir\" [checked]=\"options.Value==true?true:null\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\" formControlName=\"{{options.Name}}\"\r\n (change)=\"onValueChanged()\"\r\n [class.is-invalid]=\"CheckBoxFormControl.invalid && CheckBoxFormControl.touched\"\r\n id=\"{{options.Name}}\" type=\"checkbox\" value=\"options.Value==true?true:null\">\r\n\r\n <div class=\"label-subtext-container\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&!options.IsReadonly\" class=\"text-danger\">*</span>\r\n </label>\r\n <!-- readonly -->\r\n <div *ngIf=\"options.IsReadonly\"><span class=\"readonly-view\">{{options.Value}}</span>\r\n </div>\r\n <div class=\"subtext-container\" *ngIf=\"!options.IsReadonly\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(CheckBoxFormControl.invalid && CheckBoxFormControl.touched)\">\r\n {{getErrorValidation(CheckBoxFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n</div>\r\n"
|
|
2629
2678
|
},] }
|
|
2630
2679
|
];
|
|
2631
2680
|
CheckBoxComponent.ctorParameters = function () { return [
|
|
@@ -2756,6 +2805,17 @@
|
|
|
2756
2805
|
}
|
|
2757
2806
|
return this.controlUtility.getErrorValidationMassage(ErrorList, this.group, this.options);
|
|
2758
2807
|
};
|
|
2808
|
+
DropdownListComponent.prototype.getSelectedItemValue = function () {
|
|
2809
|
+
var _this = this;
|
|
2810
|
+
if (this.options.SelectedItems) {
|
|
2811
|
+
if (this.options.SingleSelection)
|
|
2812
|
+
return this.options.DataSource.filter(function (item) { return item[_this.options.ItemTempletkey] == _this.options.SelectedItems; })[0][this.options.ItemTempletvalue];
|
|
2813
|
+
else
|
|
2814
|
+
return this.options.DataSource.filter(function (item) { return _this.options.SelectedItems.includes(item[_this.options.ItemTempletkey]); }).map(function (item) { return item[_this.options.ItemTempletvalue]; });
|
|
2815
|
+
}
|
|
2816
|
+
else
|
|
2817
|
+
return this.UtilityService.getResourceValue('NA');
|
|
2818
|
+
};
|
|
2759
2819
|
DropdownListComponent.prototype.onItemSelect = function () {
|
|
2760
2820
|
this.onChangeService.ChangeValue(this.options.Name);
|
|
2761
2821
|
var originalValue = this.options.SelectedItems;
|
|
@@ -2802,7 +2862,7 @@
|
|
|
2802
2862
|
{ type: i0.Component, args: [{
|
|
2803
2863
|
// tslint:disable-next-line: component-selector
|
|
2804
2864
|
selector: 'BBSF-DropdownList',
|
|
2805
|
-
template: "<div class=\"form-group bbsf-control bbsf-dropdown\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger\"\r\n
|
|
2865
|
+
template: "<div class=\"form-group bbsf-control bbsf-dropdown\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&!options.IsReadonly\" class=\"text-danger\"\r\n aria-required=\"true\">*</span>\r\n </label>\r\n <div class=\"bbsf-input-container\">\r\n <!--input enabled bootstrap select-->\r\n <ng-select class=\"form-control\" *ngIf=\"options.DisableBootstrapSelect==false&&!options.IsReadonly\" dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n [bindValue]=\"options.ItemTempletkey\" [bindLabel]=\"options.ItemTempletvalue\" [items]=\"options.DataSource\" [notFoundText]=\"options.NotFoundText\"\r\n [maxSelectedItems]=\"options.LimitSelection\" [searchable]=\"options.AllowSearchFilter\" [multiple]=\"!options.SingleSelection\"\r\n [readonly]=\"options.IsDisabled\" [clearable]=\"true\" placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" [selectableGroup]=\"true\"\r\n [selectableGroupAsModel]=\"false\" formControlName=\"{{options.Name}}\" [(ngModel)]=\"options.SelectedItems\" (change)=\"onItemSelect()\"\r\n (clear)=\"Clear()\" [class.is-invalid]=\"DropdownListFormControl.invalid && DropdownListFormControl.touched\"\r\n [closeOnSelect]=\"options.SingleSelection ? true : false\">\r\n <!--No checkbox-->\r\n <ng-template *ngIf=\"!options.ShowCheckbox\" ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\r\n <label class=\"bbsf-label\" title=\"{{item.disabled ? options.DisabledItemsTooltipValue : ''}}\" id={{item.key}}>{{item.value}}</label>\r\n </ng-template>\r\n <!--checkbox-->\r\n <ng-template *ngIf=\"options.ShowCheckbox\" ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\r\n <div class=\" bbsf-checkbox\">\r\n <div class=\"bbsf-input-container align-items-center\">\r\n <input class=\"bbsf-checkbox-input\" id=\"item-{{index}}\" type=\"checkbox\" [ngModelOptions]=\"{standalone: true}\"\r\n [ngModel]=\"item$.selected\" />\r\n <div class=\"label-subtext-container\">\r\n <label class=\"bbsf-label\" id={{item.key}}>{{item.value}}</label>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-select>\r\n <!--input disabled bootstrap select-->\r\n <select *ngIf=\"options.DisableBootstrapSelect&&!options.IsReadonly\" class=\"form-control\" dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n (change)=\"onItemSelect()\" [(ngModel)]=\"options.SelectedItems\" [disabled]=\"options.IsDisabled\" formControlName=\"{{options.Name}}\">\r\n <option value=\"\" disabled>--{{UtilityService.getResourceValue(\"select\")}}--</option>\r\n <option *ngFor=\"let item of options.DataSource\" value=\"{{item.key}}\" [ngValue]=\"item.key\">\r\n {{item.value}}\r\n </option>\r\n </select>\r\n <!-- readonly -->\r\n <div *ngIf=\"options.IsReadonly\">\r\n <span class=\"readonly-view\">{{getSelectedItemValue()}}</span>\r\n </div>\r\n <div class=\"subtext-container\" *ngIf=\"!options.IsReadonly\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(DropdownListFormControl.invalid && DropdownListFormControl.touched)\">\r\n {{getErrorValidation(DropdownListFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n</div>"
|
|
2806
2866
|
},] }
|
|
2807
2867
|
];
|
|
2808
2868
|
DropdownListComponent.ctorParameters = function () { return [
|
|
@@ -2865,6 +2925,8 @@
|
|
|
2865
2925
|
}
|
|
2866
2926
|
PhoneComponent.prototype.ngOnInit = function () {
|
|
2867
2927
|
var _this = this;
|
|
2928
|
+
if (this.options.IsReadonly && !this.options.Value)
|
|
2929
|
+
this.options.Value = this.UtilityService.getResourceValue('NA');
|
|
2868
2930
|
if (this.options.ForceDirection)
|
|
2869
2931
|
this.textDir = this.options.ForceDirection == 2 ? 'rtl' : 'ltr';
|
|
2870
2932
|
else
|
|
@@ -2892,7 +2954,7 @@
|
|
|
2892
2954
|
if (this.options.IsDisabled) {
|
|
2893
2955
|
this.PhoneFormControl.disable();
|
|
2894
2956
|
}
|
|
2895
|
-
this.PhoneControlHost.ngSubmit.subscribe(function (
|
|
2957
|
+
this.PhoneControlHost.ngSubmit.subscribe(function () {
|
|
2896
2958
|
_this.group.markAllAsTouched();
|
|
2897
2959
|
_this.markAllAsTouched = true;
|
|
2898
2960
|
});
|
|
@@ -2928,7 +2990,7 @@
|
|
|
2928
2990
|
PhoneComponent.decorators = [
|
|
2929
2991
|
{ type: i0.Component, args: [{
|
|
2930
2992
|
selector: 'BBSF-Phone',
|
|
2931
|
-
template: "\r\n<div class=\"form-group bbsf-control bbsf-phone\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label\r\n {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span\r\n *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\"\r\n class=\"text-danger\">*</span>\r\n </label>\r\n <!--input-->\r\n <div class=\"bbsf-input-container\">\r\n <!--input-->\r\n <ngx-intl-tel-input dir=\"{{options.ForceDirection==2?'rtl':'ltr'}}\"\r\n [cssClass]=\"options.ExtraClasses\"\r\n [preferredCountries]=\"options.PreferredCountries\"\r\n [onlyCountries]=\"options.OnlyCountries\"\r\n [enableAutoCountrySelect]=\"true\"\r\n [enablePlaceholder]=\"options.EnablePlaceholder\"\r\n [searchCountryFlag]=\"options.AllowSearch\"\r\n [searchCountryField]=\"[SearchCountryField.Iso2,\r\n SearchCountryField.Name]\"\r\n [selectFirstCountry]=\"options.SelectFirstCountry\"\r\n [selectedCountryISO]=\"getSelectedCountry(options.SelectedCountryISO)\"\r\n [separateDialCode]=\"separateDialCode\"\r\n maxlength=\"15\" [(ngModel)]=\"options.Value\"\r\n [phoneValidation]=\"options.PhoneValidation\" [id]=\"options.Name\"\r\n name=\"{{options.Name}}\" formControlName=\"{{options.Name}}\"\r\n (change)=\"onValueChanged()\"\r\n [class.is-invalid]=\"PhoneFormControl.invalid &&\r\n PhoneFormControl.touched\" aria-invalid=\"true\"\r\n class=\"form-control\">\r\n </ngx-intl-tel-input>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(PhoneFormControl.invalid &&\r\n PhoneFormControl.touched)\">\r\n {{getErrorValidation(PhoneFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched\r\n )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n</div>\r\n"
|
|
2993
|
+
template: "\r\n<div class=\"form-group bbsf-control bbsf-phone\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label\r\n {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span\r\n *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&!options.IsReadonly\"\r\n class=\"text-danger\">*</span>\r\n </label>\r\n <!--input-->\r\n <div *ngIf=\"!options.IsReadonly\" class=\"bbsf-input-container\">\r\n <!--input-->\r\n <ngx-intl-tel-input dir=\"{{options.ForceDirection==2?'rtl':'ltr'}}\"\r\n [cssClass]=\"options.ExtraClasses\"\r\n [preferredCountries]=\"options.PreferredCountries\"\r\n [onlyCountries]=\"options.OnlyCountries\"\r\n [enableAutoCountrySelect]=\"true\"\r\n [enablePlaceholder]=\"options.EnablePlaceholder\"\r\n [searchCountryFlag]=\"options.AllowSearch\"\r\n [searchCountryField]=\"[SearchCountryField.Iso2,\r\n SearchCountryField.Name]\"\r\n [selectFirstCountry]=\"options.SelectFirstCountry\"\r\n [selectedCountryISO]=\"getSelectedCountry(options.SelectedCountryISO)\"\r\n [separateDialCode]=\"separateDialCode\"\r\n maxlength=\"15\" [(ngModel)]=\"options.Value\"\r\n [phoneValidation]=\"options.PhoneValidation\" [id]=\"options.Name\"\r\n name=\"{{options.Name}}\" formControlName=\"{{options.Name}}\"\r\n (change)=\"onValueChanged()\"\r\n [class.is-invalid]=\"PhoneFormControl.invalid &&\r\n PhoneFormControl.touched\" aria-invalid=\"true\"\r\n class=\"form-control\">\r\n </ngx-intl-tel-input>\r\n </div>\r\n <!-- readonly -->\r\n <div *ngIf=\"options.IsReadonly\"><a href=\"tel:{{options.Value}}\">{{options.Value}}</a>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!options.IsReadonly\" class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(PhoneFormControl.invalid &&\r\n PhoneFormControl.touched)\">\r\n {{getErrorValidation(PhoneFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched\r\n )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n</div>\r\n"
|
|
2932
2994
|
},] }
|
|
2933
2995
|
];
|
|
2934
2996
|
PhoneComponent.ctorParameters = function () { return [
|
|
@@ -2945,89 +3007,6 @@
|
|
|
2945
3007
|
OnChange: [{ type: i0.Output }]
|
|
2946
3008
|
};
|
|
2947
3009
|
|
|
2948
|
-
var ToggleslideComponent = /** @class */ (function () {
|
|
2949
|
-
// tslint:disable-next-line: max-line-length
|
|
2950
|
-
function ToggleslideComponent(controlUtility, controlContainer, ToggleslideControlHost, TextControlHost, UtilityService, controlValidationService, globalSettings) {
|
|
2951
|
-
this.controlUtility = controlUtility;
|
|
2952
|
-
this.controlContainer = controlContainer;
|
|
2953
|
-
this.ToggleslideControlHost = ToggleslideControlHost;
|
|
2954
|
-
this.TextControlHost = TextControlHost;
|
|
2955
|
-
this.UtilityService = UtilityService;
|
|
2956
|
-
this.controlValidationService = controlValidationService;
|
|
2957
|
-
this.globalSettings = globalSettings;
|
|
2958
|
-
this.OnChange = new i0.EventEmitter();
|
|
2959
|
-
this.SlideValue = false;
|
|
2960
|
-
this.markAllAsTouched = false;
|
|
2961
|
-
ToggleslideComponent.controlContainerstatic = this.controlContainer;
|
|
2962
|
-
}
|
|
2963
|
-
ToggleslideComponent.prototype.ngOnInit = function () {
|
|
2964
|
-
if (this.options.ForceDirection)
|
|
2965
|
-
this.textDir = this.options.ForceDirection == 2 ? 'rtl' : 'ltr';
|
|
2966
|
-
else
|
|
2967
|
-
this.textDir = localStorage.getItem('language') == 'ar' ? 'rtl' : 'ltr';
|
|
2968
|
-
this.group.addControl(this.options.Name, new forms.FormControl(''));
|
|
2969
|
-
this.ToggleslideFormControl = this.group.controls[this.options.Name]; // new FormControl('',validationRules);
|
|
2970
|
-
var validationRules = [];
|
|
2971
|
-
var validationRulesasync = [];
|
|
2972
|
-
this.SlideValue = this.options.Value == undefined ? false : this.options.Value;
|
|
2973
|
-
if (!this.options.ViewType)
|
|
2974
|
-
this.options.ViewType = this.globalSettings.ViewType;
|
|
2975
|
-
if (this.options.LabelKey != null && this.options.LabelKey != "")
|
|
2976
|
-
this.options.LabelValue = this.UtilityService.getResourceValue(this.options.LabelKey);
|
|
2977
|
-
};
|
|
2978
|
-
ToggleslideComponent.prototype.ngAfterViewInit = function () {
|
|
2979
|
-
if (this.options.AttributeList != null) {
|
|
2980
|
-
var element = document.getElementById(this.options.Name);
|
|
2981
|
-
for (var index = 0; index < this.options.AttributeList.length; index++) {
|
|
2982
|
-
element.setAttribute(this.options.AttributeList[index].Key, this.options.AttributeList[index].value);
|
|
2983
|
-
}
|
|
2984
|
-
}
|
|
2985
|
-
};
|
|
2986
|
-
ToggleslideComponent.prototype.resetError = function () {
|
|
2987
|
-
this.controlValidationService.RemoveGlobalError();
|
|
2988
|
-
};
|
|
2989
|
-
ToggleslideComponent.prototype.showGlobalError = function () {
|
|
2990
|
-
this.controlUtility.showGlobalError();
|
|
2991
|
-
};
|
|
2992
|
-
ToggleslideComponent.prototype.getErrorValidation = function (ErrorList) {
|
|
2993
|
-
if (this.markAllAsTouched && this.group.invalid) {
|
|
2994
|
-
this.showGlobalError();
|
|
2995
|
-
this.markAllAsTouched = false;
|
|
2996
|
-
}
|
|
2997
|
-
return this.controlUtility.getErrorValidationMassage(ErrorList, this.group, this.options);
|
|
2998
|
-
};
|
|
2999
|
-
ToggleslideComponent.prototype.changeValueToggle = function () {
|
|
3000
|
-
this.OnChange.emit(this.SlideValue);
|
|
3001
|
-
this.options.Value = this.SlideValue;
|
|
3002
|
-
this.ToggleslideFormControl.setValue(this.SlideValue);
|
|
3003
|
-
if (this.options.PatchFunction && this.options.PatchPath && this.ToggleslideFormControl.valid) {
|
|
3004
|
-
this.controlUtility.patchControlValue(this.SlideValue, this.options.PatchFunction, this.options.PatchPath);
|
|
3005
|
-
}
|
|
3006
|
-
};
|
|
3007
|
-
return ToggleslideComponent;
|
|
3008
|
-
}());
|
|
3009
|
-
ToggleslideComponent.controlContainerstatic = null;
|
|
3010
|
-
ToggleslideComponent.decorators = [
|
|
3011
|
-
{ type: i0.Component, args: [{
|
|
3012
|
-
selector: 'BBSF-Toggleslide',
|
|
3013
|
-
template: "<div class=\"form-group bbsf-control bbsf-toggleslide\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label [hidden]=\"options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n </label>\r\n <div class=\"bbsf-input-container\">\r\n <!--input-->\r\n <mat-slide-toggle [(ngModel)]=\"SlideValue\" [dir]=\"textDir\" [cssClass]=\"(options.ViewType==1)?'':'col-md-9'\"\r\n formControlName=\"{{options.Name}}\" disableRipple=\"true\" [disabled]=\"options.IsDisabled\" (change)=\"changeValueToggle()\">\r\n </mat-slide-toggle>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n </div>\r\n</div>\r\n"
|
|
3014
|
-
},] }
|
|
3015
|
-
];
|
|
3016
|
-
ToggleslideComponent.ctorParameters = function () { return [
|
|
3017
|
-
{ type: ControlUtility },
|
|
3018
|
-
{ type: forms.ControlContainer, decorators: [{ type: i0.Optional }] },
|
|
3019
|
-
{ type: forms.FormGroupDirective },
|
|
3020
|
-
{ type: forms.FormGroupDirective },
|
|
3021
|
-
{ type: bbsfUtilities.UtilityService },
|
|
3022
|
-
{ type: bbsfUtilities.ControlValidationService },
|
|
3023
|
-
{ type: GlobalSettings }
|
|
3024
|
-
]; };
|
|
3025
|
-
ToggleslideComponent.propDecorators = {
|
|
3026
|
-
group: [{ type: i0.Input }],
|
|
3027
|
-
options: [{ type: i0.Input }],
|
|
3028
|
-
OnChange: [{ type: i0.Output }]
|
|
3029
|
-
};
|
|
3030
|
-
|
|
3031
3010
|
var HtmlEditorComponent = /** @class */ (function () {
|
|
3032
3011
|
function HtmlEditorComponent(zone, controlUtility, controlContainer, HtmlEditorControlHost, UtilityService, controlValidationService, globalSettings) {
|
|
3033
3012
|
var _this = this;
|
|
@@ -3234,7 +3213,7 @@
|
|
|
3234
3213
|
HtmlEditorComponent.decorators = [
|
|
3235
3214
|
{ type: i0.Component, args: [{
|
|
3236
3215
|
selector: 'BBSF-HtmlEditor',
|
|
3237
|
-
template: "\r\n<div class=\"form-group bbsf-control bbsf-htmleditor\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"bbsf-input-container\">\r\n <angular-editor\r\n (change)=\"onValueChanged()\"\r\n id=\"{{options.Name}}\"\r\n [class.is-invalid]=\"HtmlEditorFormControl.invalid && HtmlEditorFormControl.touched\"\r\n class=\"{{options.ExtraClasses}}\"\r\n [dir]=\"textDir\" formControlName=\"{{options.Name}}\"\r\n [config]=\"editorConfig\"></angular-editor>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(HtmlEditorFormControl.invalid && HtmlEditorFormControl.touched)\">\r\n {{getErrorValidation(HtmlEditorFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n</div>\r\n"
|
|
3216
|
+
template: "\r\n<div class=\"form-group bbsf-control bbsf-htmleditor\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&!options.IsReadonly\" class=\"text-danger\">*</span>\r\n </label>\r\n <div *ngIf=\"!options.IsReadonly\" class=\"bbsf-input-container\">\r\n <angular-editor\r\n (change)=\"onValueChanged()\"\r\n id=\"{{options.Name}}\"\r\n [class.is-invalid]=\"HtmlEditorFormControl.invalid && HtmlEditorFormControl.touched\"\r\n class=\"{{options.ExtraClasses}}\"\r\n [dir]=\"textDir\" formControlName=\"{{options.Name}}\"\r\n [config]=\"editorConfig\"></angular-editor>\r\n </div>\r\n\r\n <div *ngIf=\"options.IsReadonly\"><span class=\"readonly-view\" [innerHTML]=\"options.Value\"></span>\r\n\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(HtmlEditorFormControl.invalid && HtmlEditorFormControl.touched)\">\r\n {{getErrorValidation(HtmlEditorFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n</div>\r\n"
|
|
3238
3217
|
},] }
|
|
3239
3218
|
];
|
|
3240
3219
|
HtmlEditorComponent.ctorParameters = function () { return [
|
|
@@ -3668,7 +3647,7 @@
|
|
|
3668
3647
|
MultiLingualHtmlEditorComponent.decorators = [
|
|
3669
3648
|
{ type: i0.Component, args: [{
|
|
3670
3649
|
selector: 'BBSF-MultiLingualHtmlEditor',
|
|
3671
|
-
template: "\r\n<div [formGroup]=\"group\">\r\n <div class=\"bbsf-control form-group bbsf-multilang-htmleditor mb-0\" [formGroup]=\"MultilingualHtmlEditorgroup\">\r\n <div class=\"row\">\r\n <!--English htmleditor-->\r\n <div [ngClass] =\"ShowArabicHtmlEditor? 'col-md-6' : 'col-md-12'\" *ngIf=\"ShowEnglishHtmlEditor\" class=\" bbsf-multilang-form-group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label class=\"bbsf-label {{options.LabelExtraClasses}}\" [hidden]=\"options.IsHideEnglishLabel\">\r\n {{(options.EnglishLabelValue!=null&&options.EnglishLabelValue!=\"\")?options.EnglishLabelValue:options.LabelValue+\"in English\"}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)&&IsShowAsteriskInEnglish)\" class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"bbsf-input-container\">\r\n <!--input-->\r\n <angular-editor class=\"{{options.ExtraClasses_EN}}\" (change)=\"onTextChange('en')\" [class.is-invalid]=\"EnglishHtmlEditorFormControl.invalid && EnglishHtmlEditorFormControl.touched\"\r\n formControlName=\"English\" [config]=\"editorEnglishConfig\"></angular-editor>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"(options.LabelDescription!=null&&options.LabelDescription!='') ||(options.EnglishLabelDescription!=null&&options.EnglishLabelDescription!='')\">\r\n {{(options.EnglishLabelDescription!=null&&options.EnglishLabelDescription!=\"\")?options.EnglishLabelDescription:options.LabelDescription}}\r\n </div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(EnglishHtmlEditorFormControl.invalid && EnglishHtmlEditorFormControl.touched)\">\r\n {{getErrorValidation(EnglishHtmlEditorFormControl.errors|keyvalue)}}\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n
|
|
3650
|
+
template: "\r\n<div [formGroup]=\"group\">\r\n <div class=\"bbsf-control form-group bbsf-multilang-htmleditor mb-0\" [formGroup]=\"MultilingualHtmlEditorgroup\">\r\n <div class=\"row\">\r\n <!--English htmleditor-->\r\n <div [ngClass] =\"ShowArabicHtmlEditor? 'col-md-6' : 'col-md-12'\" *ngIf=\"ShowEnglishHtmlEditor\" class=\" bbsf-multilang-form-group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label class=\"bbsf-label {{options.LabelExtraClasses}}\" [hidden]=\"options.IsHideEnglishLabel\">\r\n {{(options.EnglishLabelValue!=null&&options.EnglishLabelValue!=\"\")?options.EnglishLabelValue:options.LabelValue+\"in English\"}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)&&IsShowAsteriskInEnglish))&&!options.IsReadonly\" class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"bbsf-input-container\" *ngIf=\"!options.IsReadonly\">\r\n <!--input-->\r\n <angular-editor class=\"{{options.ExtraClasses_EN}}\" (change)=\"onTextChange('en')\" [class.is-invalid]=\"EnglishHtmlEditorFormControl.invalid && EnglishHtmlEditorFormControl.touched\"\r\n formControlName=\"English\" [config]=\"editorEnglishConfig\"></angular-editor>\r\n </div>\r\n <div *ngIf=\"options.IsReadonly\"><span class=\"readonly-view\" [innerHTML]=\"options.Value.English\" ></span>\r\n\r\n </div>\r\n <div class=\"subtext-container\" *ngIf=\"!options.IsReadonly\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"(options.LabelDescription!=null&&options.LabelDescription!='') ||(options.EnglishLabelDescription!=null&&options.EnglishLabelDescription!='')\">\r\n {{(options.EnglishLabelDescription!=null&&options.EnglishLabelDescription!=\"\")?options.EnglishLabelDescription:options.LabelDescription}}\r\n </div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(EnglishHtmlEditorFormControl.invalid && EnglishHtmlEditorFormControl.touched)\">\r\n {{getErrorValidation(EnglishHtmlEditorFormControl.errors|keyvalue)}}\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n</div>\r\n <!--Arabic htmleditor-->\r\n <div *ngIf=\"ShowArabicHtmlEditor\" [ngClass] =\"ShowEnglishHtmlEditor? 'col-md-6' : 'col-md-12'\" class=\"bbsf-multilang-form-group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label class=\"bbsf-label {{options.LabelExtraClasses}}\" [hidden]=\"options.IsHideArabicLabel\">\r\n {{(options.ArabicLabelValue!=null&&options.ArabicLabelValue!=\"\")?options.ArabicLabelValue:options.LabelValue+\"in Arabic\"}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&IsShowAsteriskInArabic)&&!options.IsReadonly\" class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"bbsf-input-container\" *ngIf=\"!options.IsReadonly\">\r\n <!--input-->\r\n <angular-editor dir=\"rtl\" class=\"{{options.ExtraClasses_AR}} \" (change)=\"onTextChange('ar')\" [class.is-invalid]=\"ArabicHtmlEditorFormControl.invalid && ArabicHtmlEditorFormControl.touched\"\r\n formControlName=\"Arabic\" [config]=\"editorArabicConfig\"></angular-editor>\r\n </div>\r\n <div *ngIf=\"options.IsReadonly\"><span class=\"readonly-view\" [innerHTML]=\"options.Value.Arabic\" ></span>\r\n\r\n </div>\r\n <div class=\"subtext-container\" *ngIf=\"!options.IsReadonly\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"(options.LabelDescription!=null&&options.LabelDescription!='')||(options.ArabicLabelDescription!=null&&options.ArabicLabelDescription!='')\">\r\n {{(options.ArabicLabelDescription!=null&&options.ArabicLabelDescription!=\"\")?options.ArabicLabelDescription:options.LabelDescription}}\r\n </div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(ArabicHtmlEditorFormControl.invalid && ArabicHtmlEditorFormControl.touched)\">\r\n {{getErrorValidation(ArabicHtmlEditorFormControl.errors|keyvalue)}}\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n"
|
|
3672
3651
|
},] }
|
|
3673
3652
|
];
|
|
3674
3653
|
MultiLingualHtmlEditorComponent.ctorParameters = function () { return [
|
|
@@ -4017,7 +3996,7 @@
|
|
|
4017
3996
|
ImageUploaderComponent.decorators = [
|
|
4018
3997
|
{ type: i0.Component, args: [{
|
|
4019
3998
|
selector: 'BBSF-ImageUpload',
|
|
4020
|
-
template: "<div class=\"form-group bbsf-control bbsf-image-upload\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label [hidden]=\"options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger\">*</span>\r\n </label>\r\n <!--Allow dropZone-->\r\n <div *ngIf=\"options.AllowDropZone\" class=\"bbsf-input-container {{options.ExtraClasses}}\"
|
|
3999
|
+
template: "<div class=\"form-group bbsf-control bbsf-image-upload\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label [hidden]=\"options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&!options.IsReadonly\" class=\"text-danger\">*</span>\r\n </label>\r\n <!--Allow dropZone-->\r\n <div *ngIf=\"options.AllowDropZone&&!options.IsReadonly\" class=\"bbsf-input-container {{options.ExtraClasses}}\" ngx-dropzone\r\n [disabled]=\"options.IsDisabled\" [accept]=\"AcceptedType\" [multiple]=\"options.IsMultiple\" (change)=\"onFileChange($event)\" ngDefaultControl\r\n formControlName=\"{{options.Name}}\" [maxFileSize]=\"maxFileSize\" id=\"{{options.Name}}\"\r\n [class.is-invalid]=\"ImageUploadFormControl.invalid && ImageUploadFormControl.touched\">\r\n <ngx-dropzone-label class=\"dropzone-label\">\r\n <img *ngIf=\"ImageSource\" [src]=\"ImageSource\"\r\n style=\"align-items: center;border-radius: 5px;display: flex;height: 100px;justify-content: center;margin: 10px;max-width: 180px;min-height: 100px;min-width: 180px;padding: 0px 20px;position: relative;\" />\r\n <div class=\"svg-and-validation\" *ngIf=\"!ImageSource\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" style=\"width: 50px; height: 50px;\">\r\n <path opacity=\"0.3\"\r\n d=\"M5 16C3.3 16 2 14.7 2 13C2 11.3 3.3 10 5 10H5.1C5 9.7 5 9.3 5 9C5 6.2 7.2 4 10 4C11.9 4 13.5 5 14.3 6.5C14.8 6.2 15.4 6 16 6C17.7 6 19 7.3 19 9C19 9.4 18.9 9.7 18.8 10C18.9 10 18.9 10 19 10C20.7 10 22 11.3 22 13C22 14.7 20.7 16 19 16H5ZM8 13.6H16L12.7 10.3C12.3 9.89999 11.7 9.89999 11.3 10.3L8 13.6Z\"\r\n fill=\"currentColor\" style=\"fill: #a1a1a1;\"></path>\r\n <path d=\"M11 13.6V19C11 19.6 11.4 20 12 20C12.6 20 13 19.6 13 19V13.6H11Z\" fill=\"currentColor\" style=\"fill: #989898;\"></path>\r\n </svg>\r\n <!--Validation text-->\r\n <div class=\"bbsf-validation-msg\" *ngIf=\"ValidationMessage\" [innerHTML]=\"ValidationMessage\"></div>\r\n </div>\r\n </ngx-dropzone-label>\r\n <ngx-dropzone-image-preview class=\"dropzone-preview\" *ngFor=\"let f of files\" [file]=\"f\" [removable]=\"true\" (removed)=\"removeFromControlValue(f)\"\r\n ngProjectAs=\"ngx-dropzone-preview\">\r\n </ngx-dropzone-image-preview>\r\n </div>\r\n <!--Not allowed dropZone-->\r\n <div *ngIf=\"!options.AllowDropZone&&!options.IsReadonly\">\r\n <ngx-dropzone-label *ngIf=\"files.length==0\">\r\n <div #element (click)=\"showImageUploader(element)\">\r\n <img [src]=\"ImageSource\" />\r\n </div>\r\n </ngx-dropzone-label>\r\n <div class=\"d-none {{options.ExtraClasses}}\" ngx-dropzone [disabled]=\"options.IsDisabled\" [accept]=\"AcceptedType\"\r\n [multiple]=\"options.IsMultiple\" (change)=\"onFileChange($event)\" ngDefaultControl formControlName=\"{{options.Name}}\"\r\n [maxFileSize]=\"maxFileSize\" id=\"{{options.Name}}\" [class.is-invalid]=\"ImageUploadFormControl.invalid && ImageUploadFormControl.touched\">\r\n </div>\r\n <ngx-dropzone-image-preview *ngFor=\"let f of files\" [file]=\"f\" [removable]=\"true\" (removed)=\"removeFromControlValue(f)\"\r\n ngProjectAs=\"ngx-dropzone-preview\">\r\n </ngx-dropzone-image-preview>\r\n <!--Validation text-->\r\n <div class=\"bbsf-validation-msg\" *ngIf=\"ValidationMessage\" [innerHTML]=\"ValidationMessage\"></div>\r\n </div>\r\n\r\n <ngx-dropzone-label *ngIf=\"files.length==0&&options.IsReadonly\">\r\n <div *ngIf=\"ImageSource\" #element>\r\n <img [src]=\"ImageSource\" />\r\n </div>\r\n <div *ngIf=\"!ImageSource\">\r\n <span class=\"readonly-view\">{{UtilityService.getResourceValue('NA')}}</span>\r\n </div>\r\n </ngx-dropzone-label>\r\n </div>\r\n <div class=\"subtext-container\" *ngIf=\"!options.IsReadonly\">\r\n <!-- required text-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(ImageUploadFormControl.invalid && ImageUploadFormControl.touched)\">\r\n {{getErrorValidation(ImageUploadFormControl.errors|keyvalue)}}\r\n </div>\r\n\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n </div>\r\n <!-- image cropper modal-->\r\n <div id=\"mdlSample\" class=\"modal bbsf-cropper-modal\" role=\"dialog\" [ngStyle]=\"{'display': mdlSampleIsOpen ? 'block' : 'none', 'opacity': 1}\">\r\n <div class=\"modal-dialog modal-lg\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title\">\r\n {{UtilityService.getResourceValue(\"CropImage\")}}\r\n </h4>\r\n <button type=\"button\" class=\"btn-close\" data-dismiss=\"modal\" (click)=\"openModal(false)\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div *ngIf=\"imageUrl\">\r\n <angular-cropper #angularCropper [cropperOptions]=\"config\" [imageUrl]=\"imageUrl\">\r\n </angular-cropper>\r\n <img [src]=\"imgwUrl\" />\r\n </div>\r\n <div class=\"cropper-btns\">\r\n <div class=\"btn-group\">\r\n <button type=\"button\" (click)=\"zoomImage(0.1)\" class=\"btn btn-default\" ngbTooltip='{{UtilityService.getResourceValue(\"ZoomIn\")}}'>\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-search-plus\"></span>\r\n </span>\r\n </button>\r\n <button type=\"button\" (click)=\"zoomImage(-0.1)\" class=\"btn btn-default\" ngbTooltip='{{UtilityService.getResourceValue(\"ZoomOut\")}}'>\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-search-minus\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"btn-group\">\r\n <button type=\"button\" (click)=\"moveImage(-10,0)\" class=\"btn btn-default\" ngbTooltip='{{UtilityService.getResourceValue(\"MoveLeft\")}}'>\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-arrow-left\"></span>\r\n </span>\r\n </button>\r\n <button type=\"button\" (click)=\"moveImage(10,0)\" class=\"btn btn-default\" ngbTooltip='{{UtilityService.getResourceValue(\"MoveRight\")}}'>\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-arrow-right\"></span>\r\n </span>\r\n </button>\r\n <button type=\"button\" (click)=\"moveImage(0,-10)\" class=\"btn btn-default\" ngbTooltip='{{UtilityService.getResourceValue(\"MoveUp\")}}'>\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-arrow-up\"></span>\r\n </span>\r\n </button>\r\n <button type=\"button\" (click)=\"moveImage(0,10)\" class=\"btn btn-default\" ngbTooltip='{{UtilityService.getResourceValue(\"MoveDown\")}}'>\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-arrow-down\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"btn-group\">\r\n <button type=\"button\" (click)=\"rotateImage(-45)\" class=\"btn btn-default\" ngbTooltip='{{UtilityService.getResourceValue(\"RotateLeft\")}}'>\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-undo-alt\"></span>\r\n </span>\r\n </button>\r\n <button type=\"button\" (click)=\"rotateImage(45)\" class=\"btn btn-default\" ngbTooltip='{{UtilityService.getResourceValue(\"RotateRight\")}}'>\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-redo-alt\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\" align=\"right\">\r\n <button type=\"button\" id=\"btnClose\" class=\"btn btn-sm btn-light\" (click)=\"openModal(false)\">\r\n {{UtilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"button\" (click)=\"cropImage()\" id=\"btnOK\" class=\"btn btn-sm btn-brand\">\r\n {{UtilityService.getResourceValue(\"Crop\")}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- readonly -->\r\n\r\n\r\n</div>"
|
|
4021
4000
|
},] }
|
|
4022
4001
|
];
|
|
4023
4002
|
ImageUploaderComponent.ctorParameters = function () { return [
|
|
@@ -4400,7 +4379,7 @@
|
|
|
4400
4379
|
ProfileImageUploaderComponent.decorators = [
|
|
4401
4380
|
{ type: i0.Component, args: [{
|
|
4402
4381
|
selector: 'BBSF-ProfileImageUploader',
|
|
4403
|
-
template: "<div class=\"form-group bbsf-control bbsf-profile-image-upload\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label [hidden]=\"options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger\">*</span>\r\n </label>\r\n <!--Allow dropZone-->\r\n <div *ngIf=\"options.AllowDropZone\" class=\"bbsf-input-container {{options.ExtraClasses}}\"\r\n ngx-dropzone\r\n [disabled]=\"options.IsDisabled\"\r\n [accept]=\"AcceptedType\"\r\n (change)=\"onFileChange($event)\"\r\n aria-describedby=\"email-error\"\r\n aria-invalid=\"true\"\r\n ngDefaultControl formControlName=\"{{options.Name}}\"\r\n id=\"{{options.Name}}\"\r\n [class.is-invalid]=\"ProfileImageUploadFormControl.invalid && ProfileImageUploadFormControl.touched\">\r\n <ngx-dropzone-label class=\"dropzone-label\">\r\n <div class=\"svg-and-validation\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" style=\"width: 50px; height: 50px;\">\r\n <path opacity=\"0.3\" d=\"M5 16C3.3 16 2 14.7 2 13C2 11.3 3.3 10 5 10H5.1C5 9.7 5 9.3 5 9C5 6.2 7.2 4 10 4C11.9 4 13.5 5 14.3 6.5C14.8 6.2 15.4 6 16 6C17.7 6 19 7.3 19 9C19 9.4 18.9 9.7 18.8 10C18.9 10 18.9 10 19 10C20.7 10 22 11.3 22 13C22 14.7 20.7 16 19 16H5ZM8 13.6H16L12.7 10.3C12.3 9.89999 11.7 9.89999 11.3 10.3L8 13.6Z\" fill=\"currentColor\" style=\"fill: #a1a1a1;\"></path>\r\n <path d=\"M11 13.6V19C11 19.6 11.4 20 12 20C12.6 20 13 19.6 13 19V13.6H11Z\" fill=\"currentColor\" style=\"fill: #989898;\"></path>\r\n </svg>\r\n <!--Validation text-->\r\n <div class=\"bbsf-validation-msg\" *ngIf=\"ValidationMessage\" [innerHTML]=\"ValidationMessage\"></div>\r\n </div>\r\n </ngx-dropzone-label>\r\n <ngx-dropzone-image-preview class=\"dropzone-preview\" *ngFor=\"let f of files\" [file]=\"f\" [removable]=\"true\" (removed)=\"removeFromControlValue(f)\" ngProjectAs=\"ngx-dropzone-preview\">\r\n </ngx-dropzone-image-preview>\r\n </div>\r\n <!--Not allowed dropZone-->\r\n <div *ngIf=\"!options.AllowDropZone\" style=\"width:fit-content\">\r\n <ngx-dropzone-label *ngIf=\"files.length==0\">\r\n <div #element (click)=\"showImageUploader(element)\">\r\n <img [src]=\"ImageSource\" class=\"profile-upload-img\" />\r\n </div>\r\n </ngx-dropzone-label>\r\n <div class=\"d-none {{options.ExtraClasses}}\"\r\n ngx-dropzone\r\n [disabled]=\"options.IsDisabled\"\r\n [accept]=\"AcceptedType\"\r\n (change)=\"onFileChange($event)\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n ngDefaultControl formControlName=\"{{options.Name}}\"\r\n id=\"{{options.Name}}\"\r\n [class.is-invalid]=\"ProfileImageUploadFormControl.invalid && ProfileImageUploadFormControl.touched\">\r\n </div>\r\n <ngx-dropzone-image-preview *ngFor=\"let f of files\" [file]=\"f\" [removable]=\"true\" (removed)=\"removeFromControlValue(f)\" ngProjectAs=\"ngx-dropzone-preview\">\r\n </ngx-dropzone-image-preview>\r\n <!--Validation text-->\r\n <div class=\"bbsf-validation-msg\" *ngIf=\"ValidationMessage\" [innerHTML]=\"ValidationMessage\"></div>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!-- required text-->\r\n <div class=\"bbsf-validation\"\r\n *ngIf=\"(ProfileImageUploadFormControl.invalid && ProfileImageUploadFormControl.touched)\">\r\n {{getErrorValidation(ProfileImageUploadFormControl.errors|keyvalue)}}\r\n </div>\r\n\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n </div>\r\n <!-- image cropper modal-->\r\n <div id=\"mdlSample\" class=\"modal bbsf-cropper-modal\" role=\"dialog\" [ngStyle]=\"{'display': mdlSampleIsOpen ? 'block' : 'none', 'opacity': 1}\">\r\n <div class=\"modal-dialog modal-lg\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title\">\r\n {{UtilityService.getResourceValue(\"CropImage\")}}\r\n </h4>\r\n <button type=\"button\" class=\"btn-close\" data-dismiss=\"modal\" (click)=\"openModal(false)\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div *ngIf=\"imageUrl\">\r\n <angular-cropper #angularCropper [cropperOptions]=\"config\" [imageUrl]=\"imageUrl\">\r\n </angular-cropper>\r\n <img [src]=\"imgwUrl\" />\r\n </div>\r\n <div class=\"cropper-btns\">\r\n <div class=\"btn-group\">\r\n <button type=\"button\" (click)=\"zoomImage(0.1)\" class=\"btn btn-default\" ngbTooltip=\"Zoom in\">\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-search-plus\"></span>\r\n </span>\r\n </button>\r\n <button type=\"button\" (click)=\"zoomImage(-0.1)\" class=\"btn btn-default\" ngbTooltip=\"Zoom out\">\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-search-minus\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"btn-group\">\r\n <button type=\"button\" (click)=\"moveImage(-10,0)\" class=\"btn btn-default\" ngbTooltip=\"Move left\">\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-arrow-left\"></span>\r\n </span>\r\n </button>\r\n <button type=\"button\" (click)=\"moveImage(10,0)\" class=\"btn btn-default\" ngbTooltip=\"Move right\">\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-arrow-right\"></span>\r\n </span>\r\n </button>\r\n <button type=\"button\" (click)=\"moveImage(0,-10)\" class=\"btn btn-default\" ngbTooltip=\"Move up\">\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-arrow-up\"></span>\r\n </span>\r\n </button>\r\n <button type=\"button\" (click)=\"moveImage(0,10)\" class=\"btn btn-default\" ngbTooltip=\"Move down\">\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-arrow-down\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"btn-group\">\r\n <button type=\"button\" (click)=\"rotateImage(-45)\" class=\"btn btn-default\" ngbTooltip=\"Rotate left\">\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-undo-alt\"></span>\r\n </span>\r\n </button>\r\n <button type=\"button\" (click)=\"rotateImage(45)\" class=\"btn btn-default\" ngbTooltip=\"Rotate right\">\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-redo-alt\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\" align=\"right\">\r\n <button type=\"button\" id=\"btnClose\" class=\"btn btn-sm btn-light\" (click)=\"openModal(false)\">\r\n {{UtilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"button\" (click)=\"cropImage()\" id=\"btnOK\" class=\"btn btn-sm btn-brand\">\r\n {{UtilityService.getResourceValue(\"Crop\")}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n"
|
|
4382
|
+
template: "<div class=\"form-group bbsf-control bbsf-profile-image-upload\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label [hidden]=\"options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&!options.IsReadonly\" class=\"text-danger\">*</span>\r\n </label>\r\n <!--Allow dropZone-->\r\n <div *ngIf=\"options.AllowDropZone&&!options.IsReadonly\" class=\"bbsf-input-container {{options.ExtraClasses}}\"\r\n ngx-dropzone\r\n [disabled]=\"options.IsDisabled\"\r\n [accept]=\"AcceptedType\"\r\n (change)=\"onFileChange($event)\"\r\n aria-describedby=\"email-error\"\r\n aria-invalid=\"true\"\r\n ngDefaultControl formControlName=\"{{options.Name}}\"\r\n id=\"{{options.Name}}\"\r\n [class.is-invalid]=\"ProfileImageUploadFormControl.invalid && ProfileImageUploadFormControl.touched\">\r\n <ngx-dropzone-label class=\"dropzone-label\">\r\n <div class=\"svg-and-validation\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" style=\"width: 50px; height: 50px;\">\r\n <path opacity=\"0.3\" d=\"M5 16C3.3 16 2 14.7 2 13C2 11.3 3.3 10 5 10H5.1C5 9.7 5 9.3 5 9C5 6.2 7.2 4 10 4C11.9 4 13.5 5 14.3 6.5C14.8 6.2 15.4 6 16 6C17.7 6 19 7.3 19 9C19 9.4 18.9 9.7 18.8 10C18.9 10 18.9 10 19 10C20.7 10 22 11.3 22 13C22 14.7 20.7 16 19 16H5ZM8 13.6H16L12.7 10.3C12.3 9.89999 11.7 9.89999 11.3 10.3L8 13.6Z\" fill=\"currentColor\" style=\"fill: #a1a1a1;\"></path>\r\n <path d=\"M11 13.6V19C11 19.6 11.4 20 12 20C12.6 20 13 19.6 13 19V13.6H11Z\" fill=\"currentColor\" style=\"fill: #989898;\"></path>\r\n </svg>\r\n <!--Validation text-->\r\n <div class=\"bbsf-validation-msg\" *ngIf=\"ValidationMessage\" [innerHTML]=\"ValidationMessage\"></div>\r\n </div>\r\n </ngx-dropzone-label>\r\n <ngx-dropzone-image-preview class=\"dropzone-preview\" *ngFor=\"let f of files\" [file]=\"f\" [removable]=\"true\" (removed)=\"removeFromControlValue(f)\" ngProjectAs=\"ngx-dropzone-preview\">\r\n </ngx-dropzone-image-preview>\r\n </div>\r\n <!--Not allowed dropZone-->\r\n <div *ngIf=\"!options.AllowDropZone&&!options.IsReadonly\" style=\"width:fit-content\">\r\n <ngx-dropzone-label *ngIf=\"files.length==0\">\r\n <div #element (click)=\"showImageUploader(element)\">\r\n <img [src]=\"ImageSource\" class=\"profile-upload-img\" />\r\n </div>\r\n </ngx-dropzone-label>\r\n <div class=\"d-none {{options.ExtraClasses}}\"\r\n ngx-dropzone\r\n [disabled]=\"options.IsDisabled\"\r\n [accept]=\"AcceptedType\"\r\n (change)=\"onFileChange($event)\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n ngDefaultControl formControlName=\"{{options.Name}}\"\r\n id=\"{{options.Name}}\"\r\n [class.is-invalid]=\"ProfileImageUploadFormControl.invalid && ProfileImageUploadFormControl.touched\">\r\n </div>\r\n <ngx-dropzone-image-preview *ngFor=\"let f of files\" [file]=\"f\" [removable]=\"true\" (removed)=\"removeFromControlValue(f)\" ngProjectAs=\"ngx-dropzone-preview\">\r\n </ngx-dropzone-image-preview>\r\n <!--Validation text-->\r\n <div class=\"bbsf-validation-msg\" *ngIf=\"ValidationMessage\" [innerHTML]=\"ValidationMessage\"></div>\r\n </div>\r\n\r\n <ngx-dropzone-label *ngIf=\"files.length==0&&options.IsReadonly\">\r\n <div #element >\r\n <img [src]=\"ImageSource\" />\r\n </div>\r\n </ngx-dropzone-label>\r\n </div>\r\n <div class=\"subtext-container\" *ngIf=\"!options.IsReadonly\">\r\n <!-- required text-->\r\n <div class=\"bbsf-validation\"\r\n *ngIf=\"(ProfileImageUploadFormControl.invalid && ProfileImageUploadFormControl.touched)\">\r\n {{getErrorValidation(ProfileImageUploadFormControl.errors|keyvalue)}}\r\n </div>\r\n\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n </div>\r\n <!-- image cropper modal-->\r\n <div id=\"mdlSample\" class=\"modal bbsf-cropper-modal\" role=\"dialog\" [ngStyle]=\"{'display': mdlSampleIsOpen ? 'block' : 'none', 'opacity': 1}\">\r\n <div class=\"modal-dialog modal-lg\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title\">\r\n {{UtilityService.getResourceValue(\"CropImage\")}}\r\n </h4>\r\n <button type=\"button\" class=\"btn-close\" data-dismiss=\"modal\" (click)=\"openModal(false)\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div *ngIf=\"imageUrl\">\r\n <angular-cropper #angularCropper [cropperOptions]=\"config\" [imageUrl]=\"imageUrl\">\r\n </angular-cropper>\r\n <img [src]=\"imgwUrl\" />\r\n </div>\r\n <div class=\"cropper-btns\">\r\n <div class=\"btn-group\">\r\n <button type=\"button\" (click)=\"zoomImage(0.1)\" class=\"btn btn-default\" ngbTooltip=\"Zoom in\">\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-search-plus\"></span>\r\n </span>\r\n </button>\r\n <button type=\"button\" (click)=\"zoomImage(-0.1)\" class=\"btn btn-default\" ngbTooltip=\"Zoom out\">\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-search-minus\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"btn-group\">\r\n <button type=\"button\" (click)=\"moveImage(-10,0)\" class=\"btn btn-default\" ngbTooltip=\"Move left\">\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-arrow-left\"></span>\r\n </span>\r\n </button>\r\n <button type=\"button\" (click)=\"moveImage(10,0)\" class=\"btn btn-default\" ngbTooltip=\"Move right\">\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-arrow-right\"></span>\r\n </span>\r\n </button>\r\n <button type=\"button\" (click)=\"moveImage(0,-10)\" class=\"btn btn-default\" ngbTooltip=\"Move up\">\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-arrow-up\"></span>\r\n </span>\r\n </button>\r\n <button type=\"button\" (click)=\"moveImage(0,10)\" class=\"btn btn-default\" ngbTooltip=\"Move down\">\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-arrow-down\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"btn-group\">\r\n <button type=\"button\" (click)=\"rotateImage(-45)\" class=\"btn btn-default\" ngbTooltip=\"Rotate left\">\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-undo-alt\"></span>\r\n </span>\r\n </button>\r\n <button type=\"button\" (click)=\"rotateImage(45)\" class=\"btn btn-default\" ngbTooltip=\"Rotate right\">\r\n <span class=\"docs-tooltip\">\r\n <span class=\"fa fa-redo-alt\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\" align=\"right\">\r\n <button type=\"button\" id=\"btnClose\" class=\"btn btn-sm btn-light\" (click)=\"openModal(false)\">\r\n {{UtilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"button\" (click)=\"cropImage()\" id=\"btnOK\" class=\"btn btn-sm btn-brand\">\r\n {{UtilityService.getResourceValue(\"Crop\")}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n"
|
|
4404
4383
|
},] }
|
|
4405
4384
|
];
|
|
4406
4385
|
ProfileImageUploaderComponent.ctorParameters = function () { return [
|
|
@@ -4514,6 +4493,8 @@
|
|
|
4514
4493
|
}
|
|
4515
4494
|
AutocompleteTextBoxComponent.prototype.ngOnInit = function () {
|
|
4516
4495
|
var _this = this;
|
|
4496
|
+
if (this.options.IsReadonly && !this.options.Value)
|
|
4497
|
+
this.options.Value = this.UtilityService.getResourceValue('NA');
|
|
4517
4498
|
if (this.options.ForceDirection)
|
|
4518
4499
|
this.textDir = this.options.ForceDirection == 2 ? 'rtl' : 'ltr';
|
|
4519
4500
|
else
|
|
@@ -4662,7 +4643,7 @@
|
|
|
4662
4643
|
{ type: i0.Component, args: [{
|
|
4663
4644
|
// tslint:disable-next-line: component-selector
|
|
4664
4645
|
selector: 'BBSF-AutocompleteTextBox',
|
|
4665
|
-
template: "\r\n<div class=\"form-group bbsf-control bbsf-autocomplete-textbox\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger\">*</span>\r\n </label>\r\n <!--Input container-->\r\n <div class=\"bbsf-input-container\">\r\n <!--input-->\r\n <ng-autocomplete class=\"form-control {{options.ExtraClasses}}\" *ngIf=\"!options.AllowNewSelection\" [data]=\"dataList\" [initialValue]=\"SelectedValue\"\r\n [searchKeyword]=\"keyword\" placeholder=\"{{options.Placeholder}}\" (selected)='selectEvent($event)'\r\n (inputChanged)='onChangeSearch($event)' historyIdentifier=\"dataList\" [itemTemplate]=\"itemTemplate\"\r\n [dir]=\"textDir\"\r\n formControlName=\"{{options.Name}}\"\r\n aria-describedby=\"email-error\"\r\n aria-invalid=\"true\"\r\n [class.is-invalid]=\"AutocompleteTextBoxControl.invalid && AutocompleteTextBoxControl.touched\">\r\n </ng-autocomplete>\r\n\r\n <ng-autocomplete class=\"form-control {{options.ExtraClasses}}\" *ngIf=\"options.AllowNewSelection\" [data]=\"dataList\" [initialValue]=\"SelectedValue\"\r\n [searchKeyword]=\"keyword\" placeholder=\"{{options.Placeholder}}\" (selected)='selectEvent($event)'\r\n (inputChanged)='onChangeSearch($event)' historyIdentifier=\"dataList\" [itemTemplate]=\"itemTemplate\"\r\n [dir]=\"textDir\"\r\n formControlName=\"{{options.Name}}\" aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n [class.is-invalid]=\"AutocompleteTextBoxControl.invalid && AutocompleteTextBoxControl.touched\">\r\n </ng-autocomplete>\r\n\r\n <ng-template #itemTemplate let-item>\r\n <img *ngIf=\"options.ItemWithImage\" src=\"{{(item.image?item.image:avatarImage)}}\" />\r\n <a [innerHTML]=\"item.value\"></a>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(AutocompleteTextBoxControl.invalid && AutocompleteTextBoxControl.touched)\">\r\n {{getErrorValidation(AutocompleteTextBoxControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty)\"> {{resetError()}} </div>\r\n</div>\r\n\r\n"
|
|
4646
|
+
template: "\r\n<div class=\"form-group bbsf-control bbsf-autocomplete-textbox\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&!options.IsReadonly\" class=\"text-danger\">*</span>\r\n </label>\r\n <!--Input container-->\r\n <div class=\"bbsf-input-container\" *ngIf=\"!options.IsReadonly\">\r\n <!--input-->\r\n <ng-autocomplete class=\"form-control {{options.ExtraClasses}}\" *ngIf=\"!options.AllowNewSelection\" [data]=\"dataList\" [initialValue]=\"SelectedValue\"\r\n [searchKeyword]=\"keyword\" placeholder=\"{{options.Placeholder}}\" (selected)='selectEvent($event)'\r\n (inputChanged)='onChangeSearch($event)' historyIdentifier=\"dataList\" [itemTemplate]=\"itemTemplate\"\r\n [dir]=\"textDir\"\r\n formControlName=\"{{options.Name}}\"\r\n aria-describedby=\"email-error\"\r\n aria-invalid=\"true\"\r\n [class.is-invalid]=\"AutocompleteTextBoxControl.invalid && AutocompleteTextBoxControl.touched\">\r\n </ng-autocomplete>\r\n\r\n <ng-autocomplete class=\"form-control {{options.ExtraClasses}}\" *ngIf=\"options.AllowNewSelection\" [data]=\"dataList\" [initialValue]=\"SelectedValue\"\r\n [searchKeyword]=\"keyword\" placeholder=\"{{options.Placeholder}}\" (selected)='selectEvent($event)'\r\n (inputChanged)='onChangeSearch($event)' historyIdentifier=\"dataList\" [itemTemplate]=\"itemTemplate\"\r\n [dir]=\"textDir\"\r\n formControlName=\"{{options.Name}}\" aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n [class.is-invalid]=\"AutocompleteTextBoxControl.invalid && AutocompleteTextBoxControl.touched\">\r\n </ng-autocomplete>\r\n\r\n <ng-template #itemTemplate let-item>\r\n <img *ngIf=\"options.ItemWithImage\" src=\"{{(item.image?item.image:avatarImage)}}\" />\r\n <a [innerHTML]=\"item.value\"></a>\r\n </ng-template>\r\n </div>\r\n <!-- readonly -->\r\n <div *ngIf=\"options.IsReadonly\"><span class=\"readonly-view\">{{AutocompleteTextBoxControl.value.value}}</span>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\" *ngIf=\"!options.IsReadonly\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(AutocompleteTextBoxControl.invalid && AutocompleteTextBoxControl.touched)\">\r\n {{getErrorValidation(AutocompleteTextBoxControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty)\"> {{resetError()}} </div>\r\n</div>\r\n\r\n"
|
|
4666
4647
|
},] }
|
|
4667
4648
|
];
|
|
4668
4649
|
AutocompleteTextBoxComponent.ctorParameters = function () { return [
|
|
@@ -4758,6 +4739,8 @@
|
|
|
4758
4739
|
};
|
|
4759
4740
|
TagsInputComponent.prototype.ngOnInit = function () {
|
|
4760
4741
|
var _this = this;
|
|
4742
|
+
if (this.options.IsReadonly && !this.options.Value)
|
|
4743
|
+
this.options.Value = this.UtilityService.getResourceValue('NA');
|
|
4761
4744
|
if (this.options.ForceDirection)
|
|
4762
4745
|
this.textDir = this.options.ForceDirection == 2 ? 'rtl' : 'ltr';
|
|
4763
4746
|
else
|
|
@@ -4934,6 +4917,10 @@
|
|
|
4934
4917
|
this.tags.pop();
|
|
4935
4918
|
}
|
|
4936
4919
|
};
|
|
4920
|
+
TagsInputComponent.prototype.getTagsValue = function () {
|
|
4921
|
+
if (this.tags.length > 0)
|
|
4922
|
+
return this.tags.map(function (item) { return item.name; });
|
|
4923
|
+
};
|
|
4937
4924
|
return TagsInputComponent;
|
|
4938
4925
|
}());
|
|
4939
4926
|
TagsInputComponent.controlContainerstatic = null;
|
|
@@ -4941,7 +4928,7 @@
|
|
|
4941
4928
|
{ type: i0.Component, args: [{
|
|
4942
4929
|
// tslint:disable-next-line: component-selector
|
|
4943
4930
|
selector: 'BBSF-TagsInput',
|
|
4944
|
-
template: "\r\n<div [formGroup]=\"group\">\r\n <div class=\"form-group bbsf-control bbsf-tags-input\" [formGroup]=\"TagsFormGroup\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger\">*</span>\r\n </label>\r\n <!--input-->\r\n <div class=\"bbsf-input-container\">\r\n <b-tags-input type=\"text\" class=\"form-control {{options.ExtraClasses}}\"\r\n [dir]=\"textDir\" [disabled]=\"options.IsDisabled\" aria-describedby=\"email-error\"\r\n aria-invalid=\"true\" formControlName=\"tags\"\r\n [class.is-invalid]=\"TagsFormControl.invalid && TagsFormControl.touched\" placeholder=\"{{options.Placeholder}}\"\r\n id=\"{{options.Name}}\" (onTagsChanged)=\"onTagsChanged($event)\" [(ngModel)]=\"tags\"\r\n [removeLastOnBackspace]=\"options.RemoveLastOnBackspace\" (onNoOptionsMatch)=\"onNoOptionsMatch($event)\"\r\n [options]=\"searchFunctionFactory(SearchKey.selected)\" #SearchKey\r\n [scrollableOptions]=\"options.ScrollableOptions\" [scrollableOptionsInView]=\"options.MaxSearchResultsCount\"\r\n (keydown)=\"AddTag($event,SearchKey)\" [ViewMode]=\"options.TagInputMode\"\r\n [maxTags]=\"options.MaxNumberTags\" [minLengthBeforeOptions]=\"options.MinSearchLength\"\r\n [showDescription]=\"options.ShowDescription\" [defaultImageURL]=\"options.DefaultImgUrl\" name=\"tags\"\r\n (onBlurInput)=\"onTagsInputBlur(SearchKey)\">\r\n </b-tags-input>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(TagsFormControl.invalid && TagsFormControl.touched)\">\r\n {{getErrorValidation(TagsFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty)\">{{resetError()}}</div>\r\n </div>\r\n\r\n</div>\r\n"
|
|
4931
|
+
template: "\r\n<div [formGroup]=\"group\">\r\n <div class=\"form-group bbsf-control bbsf-tags-input\" [formGroup]=\"TagsFormGroup\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&!options.IsReadonly\" class=\"text-danger\">*</span>\r\n </label>\r\n <!--input-->\r\n <div class=\"bbsf-input-container\" *ngIf=\"!options.IsReadonly\">\r\n <b-tags-input type=\"text\" class=\"form-control {{options.ExtraClasses}}\"\r\n [dir]=\"textDir\" [disabled]=\"options.IsDisabled\" aria-describedby=\"email-error\"\r\n aria-invalid=\"true\" formControlName=\"tags\"\r\n [class.is-invalid]=\"TagsFormControl.invalid && TagsFormControl.touched\" placeholder=\"{{options.Placeholder}}\"\r\n id=\"{{options.Name}}\" (onTagsChanged)=\"onTagsChanged($event)\" [(ngModel)]=\"tags\"\r\n [removeLastOnBackspace]=\"options.RemoveLastOnBackspace\" (onNoOptionsMatch)=\"onNoOptionsMatch($event)\"\r\n [options]=\"searchFunctionFactory(SearchKey.selected)\" #SearchKey\r\n [scrollableOptions]=\"options.ScrollableOptions\" [scrollableOptionsInView]=\"options.MaxSearchResultsCount\"\r\n (keydown)=\"AddTag($event,SearchKey)\" [ViewMode]=\"options.TagInputMode\"\r\n [maxTags]=\"options.MaxNumberTags\" [minLengthBeforeOptions]=\"options.MinSearchLength\"\r\n [showDescription]=\"options.ShowDescription\" [defaultImageURL]=\"options.DefaultImgUrl\" name=\"tags\"\r\n (onBlurInput)=\"onTagsInputBlur(SearchKey)\">\r\n </b-tags-input>\r\n </div>\r\n <!-- readonly -->\r\n <div *ngIf=\"options.IsReadonly\"><span class=\"readonly-view\">{{getTagsValue()}}</span>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\" *ngIf=\"!options.IsReadonly\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(TagsFormControl.invalid && TagsFormControl.touched)\">\r\n {{getErrorValidation(TagsFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty)\">{{resetError()}}</div>\r\n </div>\r\n\r\n</div>\r\n"
|
|
4945
4932
|
},] }
|
|
4946
4933
|
];
|
|
4947
4934
|
TagsInputComponent.ctorParameters = function () { return [
|
|
@@ -5488,6 +5475,9 @@
|
|
|
5488
5475
|
this.options.Value = originalValue;
|
|
5489
5476
|
this.OnChange.emit(originalValue);
|
|
5490
5477
|
};
|
|
5478
|
+
RadioButtonComponent.prototype.getSelectedItemValue = function (value) {
|
|
5479
|
+
return this.options.Items.filter(function (item) { return item.Value == value; })[0].Text;
|
|
5480
|
+
};
|
|
5491
5481
|
return RadioButtonComponent;
|
|
5492
5482
|
}());
|
|
5493
5483
|
RadioButtonComponent.controlContainerstatic = null;
|
|
@@ -5495,7 +5485,7 @@
|
|
|
5495
5485
|
{ type: i0.Component, args: [{
|
|
5496
5486
|
// tslint:disable-next-line: component-selector
|
|
5497
5487
|
selector: 'BBSF-RadioButton',
|
|
5498
|
-
template: "<div class=\"form-group bbsf-control bbsf-radio-button\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label [hidden]=\"options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"bbsf-input-container\">\r\n <!--input-->\r\n <div class=\"radio-container\" *ngFor=\"let item of options.Items\">\r\n <input type=\"radio\" id=\"{{options.Name}}{{item.Value}}\"\r\n class=\"{{options.ExtraClasses}}\"\r\n [value]=\"item.Value\" checked=\"{{(options.Value!=null)&&(options.Value.Value == item.Value)}}\"\r\n (change)=\"onValueChanged()\"\r\n aria-describedby=\"email-error\"\r\n aria-invalid=\"true\" [(ngModel)]=\"options.Value\"\r\n formControlName=\"{{options.Name}}\">\r\n <label class=\"radio-input-label\" for=\"{{options.Name}}{{item.Value}}\">{{item.Text}}</label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(RadioButtonFormControl.invalid && RadioButtonFormControl.touched)\">\r\n {{getErrorValidation(RadioButtonFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n</div>\r\n\r\n"
|
|
5488
|
+
template: "<div class=\"form-group bbsf-control bbsf-radio-button\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label [hidden]=\"options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&!options.IsReadonly\" class=\"text-danger\">*</span>\r\n </label>\r\n <div *ngIf=\"!options.IsReadonly\" class=\"bbsf-input-container\">\r\n <!--input-->\r\n <div class=\"radio-container\" *ngFor=\"let item of options.Items\">\r\n <input type=\"radio\" id=\"{{options.Name}}{{item.Value}}\"\r\n class=\"{{options.ExtraClasses}}\"\r\n [value]=\"item.Value\" checked=\"{{(options.Value!=null)&&(options.Value.Value == item.Value)}}\"\r\n (change)=\"onValueChanged()\"\r\n aria-describedby=\"email-error\"\r\n aria-invalid=\"true\" [(ngModel)]=\"options.Value\"\r\n formControlName=\"{{options.Name}}\">\r\n <label class=\"radio-input-label\" for=\"{{options.Name}}{{item.Value}}\">{{item.Text}}</label>\r\n </div>\r\n </div>\r\n <!-- readonly -->\r\n <div *ngIf=\"options.IsReadonly\"><span class=\"readonly-view\">{{getSelectedItemValue(options.Value)}}</span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!options.IsReadonly\" class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(RadioButtonFormControl.invalid && RadioButtonFormControl.touched)\">\r\n {{getErrorValidation(RadioButtonFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n</div>\r\n\r\n"
|
|
5499
5489
|
},] }
|
|
5500
5490
|
];
|
|
5501
5491
|
RadioButtonComponent.ctorParameters = function () { return [
|
|
@@ -5529,6 +5519,7 @@
|
|
|
5529
5519
|
this.controlValidationService = controlValidationService;
|
|
5530
5520
|
this.globalSettings = globalSettings;
|
|
5531
5521
|
this.OnChange = new i0.EventEmitter();
|
|
5522
|
+
this.inputType = exports.InputType;
|
|
5532
5523
|
this.MaskPattern = '';
|
|
5533
5524
|
this.WordCount = 0;
|
|
5534
5525
|
this.WordCountArray = 0;
|
|
@@ -5541,7 +5532,7 @@
|
|
|
5541
5532
|
this.showCharsLimitMsg = false;
|
|
5542
5533
|
this.hasCharsLimitValidationError = false;
|
|
5543
5534
|
this.minCharsLimit = -1; //To disable chars limit feature by default
|
|
5544
|
-
this.maxLimitWarningMsg =
|
|
5535
|
+
this.maxLimitWarningMsg = '';
|
|
5545
5536
|
this.resetError = function () {
|
|
5546
5537
|
_this.controlValidationService.RemoveGlobalError();
|
|
5547
5538
|
};
|
|
@@ -5569,6 +5560,9 @@
|
|
|
5569
5560
|
}
|
|
5570
5561
|
TextboxComponent.prototype.ngOnInit = function () {
|
|
5571
5562
|
var _this = this;
|
|
5563
|
+
if (this.options.IsReadonly && !this.options.Value) {
|
|
5564
|
+
this.options.Value = this.UtilityService.getResourceValue('NA');
|
|
5565
|
+
}
|
|
5572
5566
|
if (this.options.ForceDirection)
|
|
5573
5567
|
this.textDir = this.options.ForceDirection == 2 ? 'rtl' : 'ltr';
|
|
5574
5568
|
else
|
|
@@ -5578,14 +5572,14 @@
|
|
|
5578
5572
|
this.options.MaxLength = this.globalSettings.MaxLengthTextBox;
|
|
5579
5573
|
if (!this.options.ViewType)
|
|
5580
5574
|
this.options.ViewType = this.globalSettings.ViewType;
|
|
5581
|
-
if (this.options.MaskPattern != null && this.options.MaskPattern !=
|
|
5575
|
+
if (this.options.MaskPattern != null && this.options.MaskPattern != '') {
|
|
5582
5576
|
this.MaskPattern = this.options.MaskPattern;
|
|
5583
5577
|
this.options.Placeholder = this.MaskPattern;
|
|
5584
5578
|
}
|
|
5585
5579
|
this.group.addControl(this.options.Name, new forms.FormControl(''));
|
|
5586
5580
|
this.TextBoxFormControl = this.group.controls[this.options.Name]; // new FormControl('',validationRules);
|
|
5587
5581
|
this.TextBoxFormControl.setValue(this.options.Value);
|
|
5588
|
-
if (this.options.LabelKey != null && this.options.LabelKey !=
|
|
5582
|
+
if (this.options.LabelKey != null && this.options.LabelKey != '')
|
|
5589
5583
|
this.options.LabelValue = this.UtilityService.getResourceValue(this.options.LabelKey);
|
|
5590
5584
|
this.getCustomErrorsMassages();
|
|
5591
5585
|
if (this.options.IsRequired) {
|
|
@@ -5597,17 +5591,27 @@
|
|
|
5597
5591
|
this.controlUtility.patternValidator(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, { EmailValidationKey: this.EmailValidationKey }),
|
|
5598
5592
|
]));
|
|
5599
5593
|
break;
|
|
5594
|
+
case exports.InputType.URL:
|
|
5595
|
+
var pattern = new RegExp("(https:\/\/www\.|http:\/\/www\.|https:\/\/|http:\/\/)?[a-zA-Z0-9]{2,}(\.[a-zA-Z0-9]{2,})(\.[a-zA-Z0-9]{2,})?");
|
|
5596
|
+
this.validationRules.push(forms.Validators.compose([
|
|
5597
|
+
this.controlUtility.patternValidator(pattern, { URLValidationKey: this.URLValidationKey }),
|
|
5598
|
+
]));
|
|
5599
|
+
break;
|
|
5600
5600
|
case exports.InputType.EID:
|
|
5601
5601
|
this.MaskPattern = '000-0000-0000000-0';
|
|
5602
5602
|
this.options.Placeholder = this.MaskPattern;
|
|
5603
5603
|
break;
|
|
5604
5604
|
case exports.InputType.Number:
|
|
5605
|
-
this.
|
|
5606
|
-
this.
|
|
5607
|
-
|
|
5608
|
-
|
|
5609
|
-
|
|
5610
|
-
|
|
5605
|
+
if (this.options.CustomValidation.length == 0) {
|
|
5606
|
+
this.validationRules.push(forms.Validators.compose([
|
|
5607
|
+
this.controlUtility.patternValidator(/^[0-9]*$/, {
|
|
5608
|
+
IntegerNumberValidationKey: '',
|
|
5609
|
+
}),
|
|
5610
|
+
]));
|
|
5611
|
+
this.validationRules.push(forms.Validators.compose([
|
|
5612
|
+
this.controlUtility.patternValidator(/^[+]?([.]\d+|\d+[.]?\d*)$/, { PositiveNumberValidationKey: '' }),
|
|
5613
|
+
]));
|
|
5614
|
+
}
|
|
5611
5615
|
if (this.options.NumberRange != null) {
|
|
5612
5616
|
this.validationRules.push(forms.Validators.min(this.options.NumberRange.From));
|
|
5613
5617
|
this.validationRules.push(forms.Validators.max(this.options.NumberRange.To));
|
|
@@ -5616,10 +5620,18 @@
|
|
|
5616
5620
|
case exports.InputType.Password:
|
|
5617
5621
|
if (!this.options.RemoveDefaultPasswordValidation) {
|
|
5618
5622
|
this.validationRules.push(forms.Validators.compose([
|
|
5619
|
-
this.controlUtility.patternValidator(/\d/, {
|
|
5620
|
-
|
|
5621
|
-
|
|
5622
|
-
this.controlUtility.patternValidator(/[
|
|
5623
|
+
this.controlUtility.patternValidator(/\d/, {
|
|
5624
|
+
PasswordComplexityHasNumber: this.PasswordComplexityHasNumber,
|
|
5625
|
+
}),
|
|
5626
|
+
this.controlUtility.patternValidator(/[A-Z]/, {
|
|
5627
|
+
PasswordComplexityHasCapitalLetter: this.PasswordComplexityHasCapitalLetter,
|
|
5628
|
+
}),
|
|
5629
|
+
this.controlUtility.patternValidator(/[a-z]/, {
|
|
5630
|
+
PasswordComplexityHasSmallLetter: this.PasswordComplexityHasSmallLetter,
|
|
5631
|
+
}),
|
|
5632
|
+
this.controlUtility.patternValidator(/[!@#$%^&*(),.?":{}|<>]/, {
|
|
5633
|
+
PasswordComplexityHasSpecialLetter: this.PasswordComplexityHasSpecialLetter,
|
|
5634
|
+
}),
|
|
5623
5635
|
forms.Validators.minLength(8),
|
|
5624
5636
|
]));
|
|
5625
5637
|
}
|
|
@@ -5628,7 +5640,9 @@
|
|
|
5628
5640
|
if (this.options.LanguageValidation) {
|
|
5629
5641
|
if (this.options.LanguageValidation == exports.LanguageValidation.Arabic) {
|
|
5630
5642
|
this.validationRules.push(forms.Validators.compose([
|
|
5631
|
-
this.controlUtility.patternValidator(/^[^A-Za-z]*$/, {
|
|
5643
|
+
this.controlUtility.patternValidator(/^[^A-Za-z]*$/, {
|
|
5644
|
+
ArabicLetterOnly: this.ArabicLetterOnly,
|
|
5645
|
+
}),
|
|
5632
5646
|
]));
|
|
5633
5647
|
}
|
|
5634
5648
|
else if (this.options.LanguageValidation == exports.LanguageValidation.English) {
|
|
@@ -5650,8 +5664,10 @@
|
|
|
5650
5664
|
if (this.options.MaxLength > 0) {
|
|
5651
5665
|
this.validationRules.push(forms.Validators.maxLength(this.options.MaxLength));
|
|
5652
5666
|
if (!this.options.MaxLengthWarningLimit)
|
|
5653
|
-
this.options.MaxLengthWarningLimit =
|
|
5654
|
-
|
|
5667
|
+
this.options.MaxLengthWarningLimit =
|
|
5668
|
+
this.globalSettings.MaxLengthWarningLimit;
|
|
5669
|
+
this.minCharsLimit =
|
|
5670
|
+
this.options.MaxLength - this.options.MaxLengthWarningLimit;
|
|
5655
5671
|
}
|
|
5656
5672
|
this.TextBoxFormControl.setValidators(this.validationRules);
|
|
5657
5673
|
this.TextBoxFormControl.setAsyncValidators(this.validationRulesasync);
|
|
@@ -5683,7 +5699,9 @@
|
|
|
5683
5699
|
TextboxComponent.prototype.trimControlValue = function () {
|
|
5684
5700
|
var originalValue = this.controlUtility.trimControlValue(this.TextBoxFormControl.value);
|
|
5685
5701
|
this.TextBoxFormControl.patchValue(originalValue);
|
|
5686
|
-
if (this.options.PatchFunction &&
|
|
5702
|
+
if (this.options.PatchFunction &&
|
|
5703
|
+
this.options.PatchPath &&
|
|
5704
|
+
this.TextBoxFormControl.valid) {
|
|
5687
5705
|
this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
|
|
5688
5706
|
}
|
|
5689
5707
|
};
|
|
@@ -5691,31 +5709,40 @@
|
|
|
5691
5709
|
this.controlUtility.CopyInputMessage(inputElement);
|
|
5692
5710
|
};
|
|
5693
5711
|
TextboxComponent.prototype.getCustomErrorsMassages = function () {
|
|
5694
|
-
this.EmailValidationKey =
|
|
5695
|
-
|
|
5696
|
-
this.
|
|
5697
|
-
|
|
5698
|
-
this.
|
|
5699
|
-
|
|
5700
|
-
this.
|
|
5701
|
-
this.
|
|
5712
|
+
this.EmailValidationKey =
|
|
5713
|
+
this.UtilityService.getResourceValue('EmailValidationKey');
|
|
5714
|
+
this.URLValidationKey =
|
|
5715
|
+
this.UtilityService.getResourceValue('urlValidationError');
|
|
5716
|
+
this.PasswordComplexityHasCapitalLetter =
|
|
5717
|
+
this.UtilityService.getResourceValue('PasswordComplexityHasCapitalLetter');
|
|
5718
|
+
this.PasswordComplexityHasNumber = this.UtilityService.getResourceValue('PasswordComplexityHasNumber');
|
|
5719
|
+
this.PasswordComplexityHasSmallLetter =
|
|
5720
|
+
this.UtilityService.getResourceValue('PasswordComplexityHasSmallLetter');
|
|
5721
|
+
this.PasswordComplexityHasSpecialLetter =
|
|
5722
|
+
this.UtilityService.getResourceValue('PasswordComplexityHasSpecialLetter');
|
|
5723
|
+
this.MaxWordCountValidationKey = this.UtilityService.getResourceValue('MaxWordCountValidationKey');
|
|
5724
|
+
this.ArabicLetterOnly = this.UtilityService.getResourceValue('ArabicIsRequiredAndOnly50CharactersEnglish');
|
|
5725
|
+
this.EnglishLetterOnly =
|
|
5726
|
+
this.UtilityService.getResourceValue('EnglishLetterOnly');
|
|
5702
5727
|
};
|
|
5703
5728
|
TextboxComponent.prototype.onTextChange = function () {
|
|
5704
5729
|
if (this.options.Type == exports.InputType.Number)
|
|
5705
5730
|
if (!this.TextBoxFormControl.value) {
|
|
5706
|
-
this.TextBoxFormControl.setErrors({ IntegerNumberValidationKey:
|
|
5731
|
+
this.TextBoxFormControl.setErrors({ IntegerNumberValidationKey: '' });
|
|
5707
5732
|
return;
|
|
5708
5733
|
}
|
|
5709
|
-
if (this.TextBoxFormControl.value ==
|
|
5734
|
+
if (this.TextBoxFormControl.value == '') {
|
|
5710
5735
|
this.WordCountArray = 0;
|
|
5711
5736
|
this.WordCount = 0;
|
|
5712
5737
|
}
|
|
5713
5738
|
else {
|
|
5714
|
-
this.WordCountArray = this.TextBoxFormControl.value.split(
|
|
5739
|
+
this.WordCountArray = this.TextBoxFormControl.value.split(' ').length;
|
|
5715
5740
|
if (this.WordCountArray > 0) {
|
|
5716
5741
|
if (this.WordCountArray > this.options.MaxWordCount) {
|
|
5717
5742
|
this.WordCount = this.options.MaxWordCount;
|
|
5718
|
-
this.TextBoxFormControl.setErrors({
|
|
5743
|
+
this.TextBoxFormControl.setErrors({
|
|
5744
|
+
MaxWordCountValidationKey: this.options.MaxWordCount,
|
|
5745
|
+
});
|
|
5719
5746
|
this.TextBoxFormControl.markAsTouched();
|
|
5720
5747
|
this.TextBoxFormControl.invalid;
|
|
5721
5748
|
}
|
|
@@ -5731,9 +5758,9 @@
|
|
|
5731
5758
|
this.showCharsLimitMsg = true;
|
|
5732
5759
|
this.hasCharsLimitValidationError = true;
|
|
5733
5760
|
if (this.currentCharsCount == this.options.MaxLength)
|
|
5734
|
-
this.charsLimitMsgClass =
|
|
5761
|
+
this.charsLimitMsgClass = 'danger';
|
|
5735
5762
|
else
|
|
5736
|
-
this.charsLimitMsgClass =
|
|
5763
|
+
this.charsLimitMsgClass = 'warning';
|
|
5737
5764
|
}
|
|
5738
5765
|
else {
|
|
5739
5766
|
this.showCharsLimitMsg = false;
|
|
@@ -5741,7 +5768,7 @@
|
|
|
5741
5768
|
}
|
|
5742
5769
|
var max = this.options.MaxLength;
|
|
5743
5770
|
var current = this.currentCharsCount;
|
|
5744
|
-
var resource = this.UtilityService.getResourceValue(
|
|
5771
|
+
var resource = this.UtilityService.getResourceValue('MaxLengthLimitWarning');
|
|
5745
5772
|
this.maxLimitWarningMsg = eval('`' + resource + '`');
|
|
5746
5773
|
}
|
|
5747
5774
|
}
|
|
@@ -5751,10 +5778,11 @@
|
|
|
5751
5778
|
this.IsShowWordCount = isFocus;
|
|
5752
5779
|
//onFocus
|
|
5753
5780
|
if (isFocus) {
|
|
5754
|
-
if (this.hasCharsLimitValidationError)
|
|
5781
|
+
if (this.hasCharsLimitValidationError)
|
|
5782
|
+
//check if there was previous validation error
|
|
5755
5783
|
this.showCharsLimitMsg = true;
|
|
5756
|
-
}
|
|
5757
|
-
else
|
|
5784
|
+
} //onFocusOut
|
|
5785
|
+
else
|
|
5758
5786
|
this.showCharsLimitMsg = false;
|
|
5759
5787
|
};
|
|
5760
5788
|
return TextboxComponent;
|
|
@@ -5763,7 +5791,7 @@
|
|
|
5763
5791
|
TextboxComponent.decorators = [
|
|
5764
5792
|
{ type: i0.Component, args: [{
|
|
5765
5793
|
selector: 'BBSF-TextBox',
|
|
5766
|
-
template: "<div class=\"form-group bbsf-control bbsf-textbox\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger\">*</span>\r\n </label>\r\n <!--MaskPattern-->\r\n <div *ngIf=\"MaskPattern!=null&&MaskPattern!=''\" class=\"bbsf-input-container\"
|
|
5794
|
+
template: "<div class=\"form-group bbsf-control bbsf-textbox\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&!options.IsReadonly\" class=\"text-danger\">*</span>\r\n </label>\r\n <!--MaskPattern-->\r\n <div *ngIf=\"MaskPattern!=null&&MaskPattern!=''&&!options.IsReadonly\" class=\"bbsf-input-container\"\r\n [ngClass]=\"options.EnableCopyToClipboard? 'p-40px' : '' \">\r\n <!--Icon-->\r\n <div *ngIf=\"options.Icon!=null\" class=\"svg svg-icon-grey bbsf-icon\" [ngClass]=\"(options.IconPosition==1)?'bbsf-left-icon':'bbsf-right-icon'\">\r\n <span [inlineSVG]=\"options.Icon\"></span>\r\n </div>\r\n <!--input-->\r\n <input class=\"form-control {{options.ExtraClasses}}\" [mask]=\"MaskPattern\" placeHolderCharacter=\" \" [showMaskTyped]=\"true\" [validation]=\"true\"\r\n [dir]=\"textDir\" aria-describedby=\"email-error\" aria-invalid=\"true\" formControlName=\"{{options.Name}}\" type=\"{{getInputType(options.Type)}}\"\r\n [(ngModel)]=\"options.Value\" [class.is-invalid]=\"TextBoxFormControl.invalid && TextBoxFormControl.touched\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" autocomplete=\"{{options.AutoComplete}}\" (change)=\"trimControlValue()\"\r\n (keyup)=\"onTextChange()\" [readonly]=\"options.IsReadonly\"\r\n (keydown)=\"WordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\" #userinput>\r\n <!--CopyToClipboard-->\r\n <span class=\"copy-clipboard\" ngbTooltip=\"Copied!\" *ngIf=\"options.EnableCopyToClipboard\" (click)=\"copyInputMessage(userinput)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </span>\r\n </div>\r\n <!--NoMaskPattern-->\r\n <div *ngIf=\"MaskPattern==null||MaskPattern==''&&!options.IsReadonly\" class=\"bbsf-input-container\"\r\n [ngClass]=\"options.EnableCopyToClipboard? 'p-40px' : '' \">\r\n <!--Icon-->\r\n <div class=\"svg svg-icon-grey bbsf-icon\" [ngClass]=\"(options.IconPosition==1)?'bbsf-left-icon':'bbsf-right-icon'\" *ngIf=\"options.Icon!=null\">\r\n <span [inlineSVG]=\"options.Icon\"></span>\r\n </div>\r\n <!--input-->\r\n <input class=\"form-control {{options.ExtraClasses}} \" [dir]=\"textDir\" (focus)=\"onFocus(true)\" (focusout)=\"onFocus(false)\"\r\n maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\" aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"{{options.Name}}\" type=\"{{getInputType(options.Type)}}\"\r\n [class.is-invalid]=\"TextBoxFormControl.invalid && TextBoxFormControl.touched\" placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\"\r\n autocomplete=\"{{options.AutoComplete}}\" (change)=\"trimControlValue()\" (keyup)=\"onTextChange()\" [(ngModel)]=\"options.Value\"\r\n (keydown)=\"WordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\" [readonly]=\"options.IsReadonly\" #userinput>\r\n <!--CopyToClipboard-->\r\n <span class=\"copy-clipboard\" ngbTooltip=\"Copied!\" triggers=\"click:blur\" *ngIf=\"options.EnableCopyToClipboard\"\r\n (click)=\"copyInputMessage(userinput)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </span>\r\n </div>\r\n <!-- readonly -->\r\n <div *ngIf=\"options.IsReadonly\">\r\n <a *ngIf=\"options.Type==inputType.Email\" href=\"mailto: {{options.Value}}\">{{options.Value}}</a>\r\n <a *ngIf=\"options.Type==inputType.URL\" href=\"{{options.Value}}\" target=\"_blank\">{{options.Value}}</a>\r\n <span *ngIf=\"options.Type!=inputType.URL&&options.Type!=inputType.Email\" class=\"readonly-view\">{{options.Value}}</span>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!--wordCount-->\r\n <div class=\"bbsf-word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowWordCount\">{{WordCount}}/{{options.MaxWordCount}}\r\n Words</div>\r\n <!-- CharsLimitMsg-->\r\n <div class=\"bbsf-character-count\" *ngIf=\"showCharsLimitMsg\"\r\n [ngClass]=\"{'badge-light-warning': charsLimitMsgClass === 'warning', 'badge-light-danger' : charsLimitMsgClass === 'danger' }\">\r\n {{maxLimitWarningMsg}}\r\n </div>\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" [dir]=\"textDir\" *ngIf=\"(TextBoxFormControl.invalid && TextBoxFormControl.touched)\">\r\n {{getErrorValidation(TextBoxFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty)\">{{resetError()}}</div>\r\n</div>"
|
|
5767
5795
|
},] }
|
|
5768
5796
|
];
|
|
5769
5797
|
TextboxComponent.ctorParameters = function () { return [
|
|
@@ -6093,7 +6121,7 @@
|
|
|
6093
6121
|
MapAutoCompleteComponent.decorators = [
|
|
6094
6122
|
{ type: i0.Component, args: [{
|
|
6095
6123
|
selector: 'BBSF-MapAutoComplete',
|
|
6096
|
-
template: "\r\n<div class=\"form-group bbsf-control bbsf-maps\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger\">*</span>\r\n </label>\r\n <!--input-->\r\n <div class=\"bbsf-input-container\">\r\n <input class=\"form-control{{options.ExtraClasses}}\"\r\n [value]=\"MapAutoCompleteModel.Text\"\r\n [address]=\"MapAutoCompleteModel.Text\"\r\n value=\"{{MapAutoCompleteModel.Text}}\"\r\n aria-describedby=\"email-error\"\r\n aria-invalid=\"true\"\r\n [class.is-invalid]=\"MapAutoCompleteFormControl.invalid && MapAutoCompleteFormControl.touched\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" (keyup)=\"GermanAddressMapped($event)\"\r\n matGoogleMapsAutocomplete #search (onAutocompleteSelected)=\"AutocompleteSelected($event)\"\r\n (onLocationSelected)=\"LocationSelected($event)\" (onGermanAddressMapped)=\"GermanAddressMapped($event)\" />\r\n\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\"\r\n *ngIf=\"(MapAutoCompleteFormControl.invalid && MapAutoCompleteFormControl.touched)\">\r\n {{getErrorValidation(MapAutoCompleteFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty)\">{{resetError()}} </div>\r\n</div>\r\n"
|
|
6124
|
+
template: "\r\n<div class=\"form-group bbsf-control bbsf-maps\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&!options.IsReadonly\" class=\"text-danger\">*</span>\r\n </label>\r\n <!--input-->\r\n <div class=\"bbsf-input-container\" *ngIf=\"!options.IsReadonly\">\r\n <input class=\"form-control{{options.ExtraClasses}}\"\r\n [value]=\"MapAutoCompleteModel.Text\"\r\n [address]=\"MapAutoCompleteModel.Text\"\r\n value=\"{{MapAutoCompleteModel.Text}}\"\r\n aria-describedby=\"email-error\"\r\n aria-invalid=\"true\"\r\n [class.is-invalid]=\"MapAutoCompleteFormControl.invalid && MapAutoCompleteFormControl.touched\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" (keyup)=\"GermanAddressMapped($event)\"\r\n matGoogleMapsAutocomplete #search (onAutocompleteSelected)=\"AutocompleteSelected($event)\"\r\n (onLocationSelected)=\"LocationSelected($event)\" (onGermanAddressMapped)=\"GermanAddressMapped($event)\" />\r\n\r\n </div>\r\n <!-- readonly -->\r\n <div *ngIf=\"options.IsReadonly\"><span class=\"readonly-view\">{{MapAutoCompleteModel.Text}}</span>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\" *ngIf=\"!options.IsReadonly\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\"\r\n *ngIf=\"(MapAutoCompleteFormControl.invalid && MapAutoCompleteFormControl.touched)\">\r\n {{getErrorValidation(MapAutoCompleteFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty)\">{{resetError()}} </div>\r\n</div>\r\n"
|
|
6097
6125
|
},] }
|
|
6098
6126
|
];
|
|
6099
6127
|
MapAutoCompleteComponent.ctorParameters = function () { return [
|
|
@@ -6404,6 +6432,13 @@
|
|
|
6404
6432
|
options: [{ type: i0.Input }]
|
|
6405
6433
|
};
|
|
6406
6434
|
|
|
6435
|
+
exports.StyleConfirmationMode = void 0;
|
|
6436
|
+
(function (StyleConfirmationMode) {
|
|
6437
|
+
StyleConfirmationMode[StyleConfirmationMode["Danger"] = 0] = "Danger";
|
|
6438
|
+
StyleConfirmationMode[StyleConfirmationMode["Warning"] = 1] = "Warning";
|
|
6439
|
+
StyleConfirmationMode[StyleConfirmationMode["Success"] = 2] = "Success";
|
|
6440
|
+
})(exports.StyleConfirmationMode || (exports.StyleConfirmationMode = {}));
|
|
6441
|
+
|
|
6407
6442
|
var ConfirmationModalComponent = /** @class */ (function () {
|
|
6408
6443
|
function ConfirmationModalComponent(utilityService, modalService, router) {
|
|
6409
6444
|
this.utilityService = utilityService;
|
|
@@ -6667,7 +6702,7 @@
|
|
|
6667
6702
|
RepeaterComponent.decorators = [
|
|
6668
6703
|
{ type: i0.Component, args: [{
|
|
6669
6704
|
selector: 'BBSF-repeater',
|
|
6670
|
-
template: "<ng-container *ngFor='let item of items ; index as i'>\r\n {{setCurrentIndex(i)}}\r\n <ng-container *ngTemplateOutlet=\"currentTemplate; context: repeaterContext\">\r\n </ng-container>\r\n\r\n</ng-container>\r\n\r\n<ng-container *ngTemplateOutlet=\"add\">\r\n</ng-container>\r\n\r\n<ng-template *ngFor=\"let RepeaterField of options.RepeaterStructure ; index as i\" name=\"R{{i}}\" let-Index=\"itemIndex\"\r\n let-control=\"controlIndex\">\r\n <repeater-field-builder *ngIf=\"RepeaterField\" [RepeaterField]=\"RepeaterField\" [itemNumber]=\"Index\"\r\n [itemsValue]=\"originalItems\" [controlNumber]=\"control\" [group]=\"repeaterGroup\">\r\n </repeater-field-builder>\r\n</ng-template>\r\n\r\n<ng-template #delete let-item=\"itemIndex\">\r\n <button class=\"{{options.DeleteButtonExtraClasses}}\" type=\"button\" (click)=\"deleteItem(item)\"\r\n [disabled]=\"items.length ==options.MinRequiredItems&&options.IsRequired\">\r\n <span [innerHTML]=\"options.DeleteButtonText\"></span>\r\n </button>\r\n</ng-template>\r\n\r\n<ng-template #add>\r\n <button class=\"{{options.AddButtonExtraClasses}}\" type=\"button\" (click)=\"addItem()\">\r\n <span [innerHTML]=\"options.AddButtonText\"></span>\r\n </button>\r\n</ng-template>\r\n\r\n"
|
|
6705
|
+
template: "<ng-container *ngFor='let item of items ; index as i'>\r\n {{setCurrentIndex(i)}}\r\n <ng-container *ngTemplateOutlet=\"currentTemplate; context: repeaterContext\">\r\n </ng-container>\r\n\r\n</ng-container>\r\n\r\n<ng-container *ngTemplateOutlet=\"add\" >\r\n</ng-container>\r\n\r\n<ng-template *ngFor=\"let RepeaterField of options.RepeaterStructure ; index as i\" name=\"R{{i}}\" let-Index=\"itemIndex\"\r\n let-control=\"controlIndex\">\r\n <repeater-field-builder *ngIf=\"RepeaterField\" [RepeaterField]=\"RepeaterField\" [itemNumber]=\"Index\"\r\n [itemsValue]=\"originalItems\" [controlNumber]=\"control\" [group]=\"repeaterGroup\">\r\n </repeater-field-builder>\r\n</ng-template>\r\n\r\n<ng-template #delete let-item=\"itemIndex\">\r\n <button *ngIf=\"!options.IsReadonly\" class=\"{{options.DeleteButtonExtraClasses}}\" type=\"button\" (click)=\"deleteItem(item)\"\r\n [disabled]=\"items.length ==options.MinRequiredItems&&options.IsRequired\">\r\n <span [innerHTML]=\"options.DeleteButtonText\"></span>\r\n </button>\r\n</ng-template>\r\n\r\n<ng-template #add >\r\n <button *ngIf=\"!options.IsReadonly\" class=\"{{options.AddButtonExtraClasses}}\" type=\"button\" (click)=\"addItem()\">\r\n <span [innerHTML]=\"options.AddButtonText\"></span>\r\n </button>\r\n</ng-template>\r\n\r\n"
|
|
6671
6706
|
},] }
|
|
6672
6707
|
];
|
|
6673
6708
|
RepeaterComponent.ctorParameters = function () { return []; };
|
|
@@ -6927,6 +6962,92 @@
|
|
|
6927
6962
|
{ type: i0.ComponentFactoryResolver }
|
|
6928
6963
|
]; };
|
|
6929
6964
|
|
|
6965
|
+
var ToggleslideComponent = /** @class */ (function () {
|
|
6966
|
+
// tslint:disable-next-line: max-line-length
|
|
6967
|
+
function ToggleslideComponent(controlUtility, controlContainer, ToggleslideControlHost, TextControlHost, UtilityService, controlValidationService, globalSettings) {
|
|
6968
|
+
this.controlUtility = controlUtility;
|
|
6969
|
+
this.controlContainer = controlContainer;
|
|
6970
|
+
this.ToggleslideControlHost = ToggleslideControlHost;
|
|
6971
|
+
this.TextControlHost = TextControlHost;
|
|
6972
|
+
this.UtilityService = UtilityService;
|
|
6973
|
+
this.controlValidationService = controlValidationService;
|
|
6974
|
+
this.globalSettings = globalSettings;
|
|
6975
|
+
this.OnChange = new i0.EventEmitter();
|
|
6976
|
+
this.SlideValue = false;
|
|
6977
|
+
this.markAllAsTouched = false;
|
|
6978
|
+
ToggleslideComponent.controlContainerstatic = this.controlContainer;
|
|
6979
|
+
}
|
|
6980
|
+
ToggleslideComponent.prototype.ngOnInit = function () {
|
|
6981
|
+
if (this.options.ForceDirection)
|
|
6982
|
+
this.textDir = this.options.ForceDirection == 2 ? 'rtl' : 'ltr';
|
|
6983
|
+
else
|
|
6984
|
+
this.textDir = localStorage.getItem('language') == 'ar' ? 'rtl' : 'ltr';
|
|
6985
|
+
this.group.addControl(this.options.Name, new forms.FormControl(''));
|
|
6986
|
+
this.ToggleslideFormControl = this.group.controls[this.options.Name]; // new FormControl('',validationRules);
|
|
6987
|
+
var validationRules = [];
|
|
6988
|
+
var validationRulesasync = [];
|
|
6989
|
+
this.SlideValue = this.options.Value == undefined ? false : this.options.Value;
|
|
6990
|
+
if (!this.options.ViewType)
|
|
6991
|
+
this.options.ViewType = this.globalSettings.ViewType;
|
|
6992
|
+
if (this.options.IsDisabled || this.options.IsReadonly) {
|
|
6993
|
+
this.ToggleslideFormControl.disable();
|
|
6994
|
+
}
|
|
6995
|
+
if (this.options.LabelKey != null && this.options.LabelKey != "")
|
|
6996
|
+
this.options.LabelValue = this.UtilityService.getResourceValue(this.options.LabelKey);
|
|
6997
|
+
};
|
|
6998
|
+
ToggleslideComponent.prototype.ngAfterViewInit = function () {
|
|
6999
|
+
if (this.options.AttributeList != null) {
|
|
7000
|
+
var element = document.getElementById(this.options.Name);
|
|
7001
|
+
for (var index = 0; index < this.options.AttributeList.length; index++) {
|
|
7002
|
+
element.setAttribute(this.options.AttributeList[index].Key, this.options.AttributeList[index].value);
|
|
7003
|
+
}
|
|
7004
|
+
}
|
|
7005
|
+
};
|
|
7006
|
+
ToggleslideComponent.prototype.resetError = function () {
|
|
7007
|
+
this.controlValidationService.RemoveGlobalError();
|
|
7008
|
+
};
|
|
7009
|
+
ToggleslideComponent.prototype.showGlobalError = function () {
|
|
7010
|
+
this.controlUtility.showGlobalError();
|
|
7011
|
+
};
|
|
7012
|
+
ToggleslideComponent.prototype.getErrorValidation = function (ErrorList) {
|
|
7013
|
+
if (this.markAllAsTouched && this.group.invalid) {
|
|
7014
|
+
this.showGlobalError();
|
|
7015
|
+
this.markAllAsTouched = false;
|
|
7016
|
+
}
|
|
7017
|
+
return this.controlUtility.getErrorValidationMassage(ErrorList, this.group, this.options);
|
|
7018
|
+
};
|
|
7019
|
+
ToggleslideComponent.prototype.changeValueToggle = function () {
|
|
7020
|
+
this.OnChange.emit(this.SlideValue);
|
|
7021
|
+
this.options.Value = this.SlideValue;
|
|
7022
|
+
this.ToggleslideFormControl.setValue(this.SlideValue);
|
|
7023
|
+
if (this.options.PatchFunction && this.options.PatchPath && this.ToggleslideFormControl.valid) {
|
|
7024
|
+
this.controlUtility.patchControlValue(this.SlideValue, this.options.PatchFunction, this.options.PatchPath);
|
|
7025
|
+
}
|
|
7026
|
+
};
|
|
7027
|
+
return ToggleslideComponent;
|
|
7028
|
+
}());
|
|
7029
|
+
ToggleslideComponent.controlContainerstatic = null;
|
|
7030
|
+
ToggleslideComponent.decorators = [
|
|
7031
|
+
{ type: i0.Component, args: [{
|
|
7032
|
+
selector: 'BBSF-Toggleslide',
|
|
7033
|
+
template: "<div class=\"form-group bbsf-control bbsf-toggleslide\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label [hidden]=\"options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n </label>\r\n <div *ngIf=\"!options.IsReadonly\"class=\"bbsf-input-container\">\r\n <!--input-->\r\n <mat-slide-toggle [(ngModel)]=\"SlideValue\" [dir]=\"textDir\" [cssClass]=\"(options.ViewType==1)?'':'col-md-9'\"\r\n formControlName=\"{{options.Name}}\" disableRipple=\"true\" [disabled]=\"options.IsDisabled\" (change)=\"changeValueToggle()\">\r\n </mat-slide-toggle>\r\n </div>\r\n <!-- readonly -->\r\n <div *ngIf=\"options.IsReadonly\">\r\n <span class=\"readonly-view\" *ngIf=\"options.Value\">{{UtilityService.getResourceValue(\"Yes\")}}</span>\r\n <span class=\"readonly-view\" *ngIf=\"!options.Value\">{{UtilityService.getResourceValue(\"No\")}}</span>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n </div>\r\n</div>\r\n"
|
|
7034
|
+
},] }
|
|
7035
|
+
];
|
|
7036
|
+
ToggleslideComponent.ctorParameters = function () { return [
|
|
7037
|
+
{ type: ControlUtility },
|
|
7038
|
+
{ type: forms.ControlContainer, decorators: [{ type: i0.Optional }] },
|
|
7039
|
+
{ type: forms.FormGroupDirective },
|
|
7040
|
+
{ type: forms.FormGroupDirective },
|
|
7041
|
+
{ type: bbsfUtilities.UtilityService },
|
|
7042
|
+
{ type: bbsfUtilities.ControlValidationService },
|
|
7043
|
+
{ type: GlobalSettings }
|
|
7044
|
+
]; };
|
|
7045
|
+
ToggleslideComponent.propDecorators = {
|
|
7046
|
+
group: [{ type: i0.Input }],
|
|
7047
|
+
options: [{ type: i0.Input }],
|
|
7048
|
+
OnChange: [{ type: i0.Output }]
|
|
7049
|
+
};
|
|
7050
|
+
|
|
6930
7051
|
var RepeaterFieldBuilderComponent = /** @class */ (function () {
|
|
6931
7052
|
function RepeaterFieldBuilderComponent(renderComponentService, TextControlHost) {
|
|
6932
7053
|
this.renderComponentService = renderComponentService;
|
|
@@ -7781,43 +7902,217 @@
|
|
|
7781
7902
|
options: [{ type: i0.Input }]
|
|
7782
7903
|
};
|
|
7783
7904
|
|
|
7784
|
-
var
|
|
7785
|
-
function
|
|
7786
|
-
this.
|
|
7905
|
+
var RecaptchaModel = /** @class */ (function () {
|
|
7906
|
+
function RecaptchaModel() {
|
|
7907
|
+
this.ImageJpeg = [];
|
|
7787
7908
|
}
|
|
7788
|
-
|
|
7789
|
-
|
|
7790
|
-
return latest_date;
|
|
7791
|
-
};
|
|
7792
|
-
return BBSFDateTimePipe;
|
|
7793
|
-
}());
|
|
7794
|
-
BBSFDateTimePipe.decorators = [
|
|
7795
|
-
{ type: i0.Pipe, args: [{
|
|
7796
|
-
name: 'bbsfDateTime'
|
|
7797
|
-
},] }
|
|
7798
|
-
];
|
|
7799
|
-
BBSFDateTimePipe.ctorParameters = function () { return [
|
|
7800
|
-
{ type: common.DatePipe }
|
|
7801
|
-
]; };
|
|
7909
|
+
return RecaptchaModel;
|
|
7910
|
+
}());
|
|
7802
7911
|
|
|
7803
|
-
var
|
|
7804
|
-
function
|
|
7805
|
-
this.datePipe = datePipe;
|
|
7912
|
+
var CaptchaStyle = /** @class */ (function () {
|
|
7913
|
+
function CaptchaStyle() {
|
|
7806
7914
|
}
|
|
7807
|
-
|
|
7808
|
-
|
|
7809
|
-
|
|
7810
|
-
|
|
7811
|
-
|
|
7812
|
-
|
|
7813
|
-
|
|
7814
|
-
|
|
7815
|
-
|
|
7816
|
-
|
|
7817
|
-
|
|
7818
|
-
|
|
7819
|
-
|
|
7820
|
-
|
|
7915
|
+
return CaptchaStyle;
|
|
7916
|
+
}());
|
|
7917
|
+
|
|
7918
|
+
var RecaptchaComponent = /** @class */ (function () {
|
|
7919
|
+
function RecaptchaComponent(controlUtility, requestHandlerService, recaptchaControlHost, UtilityService, controlValidationService, globalSettings) {
|
|
7920
|
+
var _this = this;
|
|
7921
|
+
this.controlUtility = controlUtility;
|
|
7922
|
+
this.requestHandlerService = requestHandlerService;
|
|
7923
|
+
this.recaptchaControlHost = recaptchaControlHost;
|
|
7924
|
+
this.UtilityService = UtilityService;
|
|
7925
|
+
this.controlValidationService = controlValidationService;
|
|
7926
|
+
this.globalSettings = globalSettings;
|
|
7927
|
+
this.OnChange = new i0.EventEmitter();
|
|
7928
|
+
this.validationRules = [];
|
|
7929
|
+
this.validationRulesAsync = [];
|
|
7930
|
+
this.recaptchaModel = new RecaptchaModel();
|
|
7931
|
+
this.resetError = function () {
|
|
7932
|
+
_this.controlValidationService.RemoveGlobalError();
|
|
7933
|
+
};
|
|
7934
|
+
//External Method
|
|
7935
|
+
this.RemoveRequiredValidation = function () {
|
|
7936
|
+
_this.controlUtility.RemoveRequiredValidation(_this.ReCaptchaFormControl, _this.validationRules, _this.options);
|
|
7937
|
+
};
|
|
7938
|
+
//External Method
|
|
7939
|
+
this.AddRequiredValidation = function () {
|
|
7940
|
+
_this.controlUtility.AddRequiredValidation(_this.ReCaptchaFormControl, _this.validationRules, _this.options);
|
|
7941
|
+
};
|
|
7942
|
+
//External Method
|
|
7943
|
+
this.RemoveCustomValidation = function (CustomValidation) {
|
|
7944
|
+
_this.controlUtility.RemoveCustomValidation(_this.ReCaptchaFormControl, _this.validationRules, CustomValidation);
|
|
7945
|
+
};
|
|
7946
|
+
//External Method
|
|
7947
|
+
this.AddCustomValidation = function (CustomValidation) {
|
|
7948
|
+
_this.controlUtility.AddCustomValidation(_this.ReCaptchaFormControl, _this.validationRules, CustomValidation);
|
|
7949
|
+
};
|
|
7950
|
+
//External Method
|
|
7951
|
+
this.IsValid = function () {
|
|
7952
|
+
_this.controlUtility.IsValid(_this.ReCaptchaFormControl);
|
|
7953
|
+
};
|
|
7954
|
+
}
|
|
7955
|
+
RecaptchaComponent.prototype.ngOnInit = function () {
|
|
7956
|
+
var _this = this;
|
|
7957
|
+
if (this.options.ForceDirection)
|
|
7958
|
+
this.textDir = this.options.ForceDirection == 2 ? 'rtl' : 'ltr';
|
|
7959
|
+
else
|
|
7960
|
+
this.textDir = localStorage.getItem('language') == 'ar' ? 'rtl' : 'ltr';
|
|
7961
|
+
this.controlValidationService.isCreatedBefor = false;
|
|
7962
|
+
this.loadImage();
|
|
7963
|
+
if (!this.options.ViewType)
|
|
7964
|
+
this.options.ViewType = this.globalSettings.ViewType;
|
|
7965
|
+
this.group.addControl(this.options.Name, new forms.FormControl(''));
|
|
7966
|
+
this.ReCaptchaFormControl = this.group.controls[this.options.Name]; // new FormControl('',validationRules);
|
|
7967
|
+
if (this.options.LabelKey != null && this.options.LabelKey != "")
|
|
7968
|
+
this.options.LabelValue = this.UtilityService.getResourceValue(this.options.LabelKey);
|
|
7969
|
+
if (this.options.IsRequired) {
|
|
7970
|
+
this.validationRules.push(forms.Validators.required);
|
|
7971
|
+
}
|
|
7972
|
+
if (this.options.CustomValidation.length > 0) {
|
|
7973
|
+
var Validations = this.options.CustomValidation;
|
|
7974
|
+
for (var index = 0; index < Validations.length; index++) {
|
|
7975
|
+
var Validation = Validations[index];
|
|
7976
|
+
this.validationRules.push(Validation.functionBody);
|
|
7977
|
+
}
|
|
7978
|
+
}
|
|
7979
|
+
this.ReCaptchaFormControl.setValidators(this.validationRules);
|
|
7980
|
+
this.ReCaptchaFormControl.setAsyncValidators(this.validationRulesAsync);
|
|
7981
|
+
if (this.options.IsDisabled) {
|
|
7982
|
+
this.ReCaptchaFormControl.disable();
|
|
7983
|
+
}
|
|
7984
|
+
this.recaptchaControlHost.ngSubmit.subscribe(function (value) {
|
|
7985
|
+
_this.group.markAllAsTouched();
|
|
7986
|
+
_this.markAllAsTouched = true;
|
|
7987
|
+
});
|
|
7988
|
+
};
|
|
7989
|
+
RecaptchaComponent.prototype.loadImage = function () {
|
|
7990
|
+
var _this = this;
|
|
7991
|
+
var style = new CaptchaStyle();
|
|
7992
|
+
style.BackgroundColorPrimary = this.options.BackgroundColorPrimary;
|
|
7993
|
+
style.BackgroundColorSecondary = this.options.BackgroundColorSecondary;
|
|
7994
|
+
style.TextColorPrimary = this.options.TextColorPrimary;
|
|
7995
|
+
style.TextColorSecondary = this.options.TextColorSecondary;
|
|
7996
|
+
style.FontSize = this.options.FontSize;
|
|
7997
|
+
var requestOptionsModel = new bbsfUtilities.RequestOptionsModel();
|
|
7998
|
+
requestOptionsModel.disableBlockUI = true;
|
|
7999
|
+
requestOptionsModel.disableSuccessNotification = true;
|
|
8000
|
+
this.requestHandlerService.post(this.options.ActionURL, style, null, null, requestOptionsModel).subscribe(function (res) {
|
|
8001
|
+
var model = res;
|
|
8002
|
+
_this.recaptchaModel.ID = model.id;
|
|
8003
|
+
_this.recaptchaModel.EncryptedText = model.encryptedText;
|
|
8004
|
+
_this.recaptchaModel.ImageJpeg = model.imageJpeg;
|
|
8005
|
+
_this.image = 'data:image/jpeg;base64,' + _this.recaptchaModel.ImageJpeg;
|
|
8006
|
+
});
|
|
8007
|
+
};
|
|
8008
|
+
RecaptchaComponent.prototype.ngAfterViewInit = function () {
|
|
8009
|
+
this.controlUtility.setAttributeForControl(this.options);
|
|
8010
|
+
};
|
|
8011
|
+
RecaptchaComponent.prototype.showGlobalError = function () {
|
|
8012
|
+
this.controlUtility.showGlobalError();
|
|
8013
|
+
};
|
|
8014
|
+
RecaptchaComponent.prototype.getErrorValidation = function (ErrorList) {
|
|
8015
|
+
if (this.markAllAsTouched && this.group.invalid) {
|
|
8016
|
+
this.showGlobalError();
|
|
8017
|
+
this.markAllAsTouched = false;
|
|
8018
|
+
}
|
|
8019
|
+
return this.controlUtility.getErrorValidationMassage(ErrorList, this.group, this.options);
|
|
8020
|
+
};
|
|
8021
|
+
RecaptchaComponent.prototype.onTextChange = function (valueText) {
|
|
8022
|
+
var value = valueText.target.value;
|
|
8023
|
+
this.recaptchaModel.Text = value;
|
|
8024
|
+
this.group.get(this.options.Name).setValue(this.recaptchaModel);
|
|
8025
|
+
this.options.Value = this.recaptchaModel;
|
|
8026
|
+
this.OnChange.emit(this.ReCaptchaFormControl.value);
|
|
8027
|
+
};
|
|
8028
|
+
return RecaptchaComponent;
|
|
8029
|
+
}());
|
|
8030
|
+
RecaptchaComponent.decorators = [
|
|
8031
|
+
{ type: i0.Component, args: [{
|
|
8032
|
+
selector: 'BBSF-Recaptcha',
|
|
8033
|
+
template: "<div class=\"form-group bbsf-control bbsf-recaptcha\" [formGroup]=\"group\">\r\n <img class=\"h-100 w-100\" [src]=\"image\" />\r\n <button class=\"btn btn-sm btn-icon\" type=\"button\" ngbTooltip=\"{{UtilityService.getResourceValue('ReloadCaptcha')}}\"\r\n (click)=\"loadImage()\">\r\n <i class=\"fas fa-refresh\"></i>\r\n </button>\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger\">*</span>\r\n </label>\r\n <!--input-->\r\n <div class=\"bbsf-input-container\">\r\n <input class=\"form-control {{options.ExtraClasses}}\"\r\n [dir]=\"textDir\"\r\n aria-describedby=\"email-error\" value=\"{{options.Value.Text}}\"\r\n aria-invalid=\"true\" formControlName=\"{{options.Name}}\" type=\"text\"\r\n [class.is-invalid]=\"ReCaptchaFormControl.invalid && ReCaptchaFormControl.touched\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" autocomplete=\"{{options.AutoComplete}}\"\r\n (change)=\"onTextChange($event)\" [readonly]=\"options.IsReadonly\" />\r\n\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\"\r\n [dir]=\"textDir\"\r\n *ngIf=\"(ReCaptchaFormControl.invalid && ReCaptchaFormControl.touched)\">\r\n {{getErrorValidation(ReCaptchaFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n</div>\r\n"
|
|
8034
|
+
},] }
|
|
8035
|
+
];
|
|
8036
|
+
RecaptchaComponent.ctorParameters = function () { return [
|
|
8037
|
+
{ type: ControlUtility },
|
|
8038
|
+
{ type: bbsfUtilities.RequestHandlerService },
|
|
8039
|
+
{ type: forms.FormGroupDirective },
|
|
8040
|
+
{ type: bbsfUtilities.UtilityService },
|
|
8041
|
+
{ type: bbsfUtilities.ControlValidationService },
|
|
8042
|
+
{ type: GlobalSettings }
|
|
8043
|
+
]; };
|
|
8044
|
+
RecaptchaComponent.propDecorators = {
|
|
8045
|
+
group: [{ type: i0.Input }],
|
|
8046
|
+
options: [{ type: i0.Input }],
|
|
8047
|
+
OnChange: [{ type: i0.Output }]
|
|
8048
|
+
};
|
|
8049
|
+
|
|
8050
|
+
var PageHeaderComponentComponent = /** @class */ (function () {
|
|
8051
|
+
function PageHeaderComponentComponent(router, utilityService) {
|
|
8052
|
+
this.router = router;
|
|
8053
|
+
this.utilityService = utilityService;
|
|
8054
|
+
this.DataTypeEnum = exports.DataType;
|
|
8055
|
+
}
|
|
8056
|
+
PageHeaderComponentComponent.prototype.translate = function (key) {
|
|
8057
|
+
return this.utilityService.getResourceValue(key);
|
|
8058
|
+
};
|
|
8059
|
+
PageHeaderComponentComponent.prototype.ngOnInit = function () {
|
|
8060
|
+
this.EN = this.utilityService.isCurrentLanguageEnglish();
|
|
8061
|
+
};
|
|
8062
|
+
return PageHeaderComponentComponent;
|
|
8063
|
+
}());
|
|
8064
|
+
PageHeaderComponentComponent.decorators = [
|
|
8065
|
+
{ type: i0.Component, args: [{
|
|
8066
|
+
selector: 'bbsf-page-header-component',
|
|
8067
|
+
template: "<!--toolbar-->\r\n<div class=\"toolbar\" style=\"overflow:hidden;position:relative;\">\r\n <img class=\"pattern\" src=\"./src/assets/images/Bg-pattern.png\"/>\r\n <div class=\"container-xxl\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"page-title w-100\" [ngClass]=\"!options.Listing? 'mb-0' : ''\">\r\n <h3 *ngIf=\"options.TitleKey||options.TitleValue\">{{options.TitleValue == null ? translate(options.TitleKey) : options.TitleValue }}</h3>\r\n <p class=\"sub-title\" *ngIf=\"options.Listing\">\r\n {{translate(options.SubTitleKey)}}\r\n </p>\r\n <div class=\"d-flex justify-content-between align-items-end\">\r\n <ul class=\"breadcrumb breadcrumb-dot\" *ngIf=\"options.BreadCrumb.Active\">\r\n <ng-container *ngFor=\"let item of options.BreadCrumb.BreadCrumbItems\">\r\n <li class=\"breadcrumb-item\" *ngIf=\"!item.active\">\r\n <a *ngIf=\"item.route\" [routerLink]=\"item.route\">{{ item.label }}</a>\r\n <a *ngIf=\"!item.route\" href=\"javascript: void(0);\">{{ item.label }}</a>\r\n </li>\r\n <li class=\"breadcrumb-item active\" *ngIf=\"item.active\">\r\n <span>{{ item.label }}</span>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <div class=\"page-subheader\" *ngIf=\"options.DropDownActions.Active\">\r\n <button [routerLink]=\"item.RouterLink\" (click)='item.Function?item.Function():\"\"' class=\"btn btn-light btn-sm subheader-btn export-btn\" *ngFor=\"let item of options.DropDownActions.DropdownActionItems\">\r\n <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"item.SVG\"></span>\r\n {{item.Text}}\r\n </button>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"page-subheader\">\r\n <BBSF-TextBox *ngIf=\"options.SearchTextBox.Active\" [options]=\"options.SearchTextBox.TextSearchBoxOptions\"\r\n [group]=\"group\">\r\n </BBSF-TextBox>\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"subheader-btn list-grid\" *ngIf=\"options.GridView.Active\">\r\n <div class=\"list-grid-item\" [ngClass]=\"options.GridView.ShowGridViewByDefault? 'list-grid-item-active' : ''\"\r\n (click)=\"options.GridView.ToggleFunction()\">\r\n <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/Listing.svg'\">\r\n </span>\r\n </div>\r\n <div class=\"list-grid-item\" [ngClass]=\"!options.GridView.ShowGridViewByDefault? 'list-grid-item-active' : ''\"\r\n (click)=\"options.GridView.ToggleFunction()\">\r\n <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/Grid.svg'\">\r\n </span>\r\n </div>\r\n </div>\r\n <button type=\"button\" *ngIf=\"options.ExportButton.Active\" (click)=\"options.ExportButton.Function()\"\r\n class=\"btn btn-light btn-sm subheader-btn export-btn\">\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"'/assets/images/export.svg'\"></span>\r\n {{translate(options.ExportButton.ButtonTextKey)}}\r\n </button>\r\n\r\n\r\n <div *ngIf=\"options.FiltersButton.Active\" ngbDropdown container=\"body\" [placement]=\"EN ? 'bottom-right' : 'bottom-left'\" \r\n #dropdown=\"ngbDropdown\" class=\"subheader-btn\">\r\n <button href=\"javascript:;\" (click)=\"options.FiltersButton.Function()\" ngbDropdownToggle\r\n class=\"btn btn-light btn-sm filters-btn\">\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"'/assets/images/arrowdropdown.svg'\"></span>\r\n {{translate(options.FiltersButton.ButtonTextKey)}}\r\n </button>\r\n <div ngbDropdownMenu class=\"dropdown-menu-custom filters-dropdown\">\r\n\r\n <div [hidden]=\"options.Filters.ShowLoadingInFiltersBox\">\r\n <div class=\"filter-select\">\r\n <span *ngFor=\"let control of options.Filters.ControlsOptions\">\r\n <span [ngSwitch]=\"control.key\">\r\n <span *ngSwitchCase=\"DataTypeEnum.SingleSelect\">\r\n <BBSF-DropdownList [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DropdownList>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.MulipleSelect\">\r\n <BBSF-DropdownList [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DropdownList>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Date\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.DateTime\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Time\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Boolean\">\r\n <BBSF-Toggleslide [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-Toggleslide>\r\n </span>\r\n <span *ngSwitchDefault>\r\n <BBSF-TagsInput [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-TagsInput>\r\n </span>\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"dropdown-menu-buttons\">\r\n <button class=\"btn btn-sm btn-light\"\r\n (click)=\"options.Filters.RestFunction(dropdown)\">\r\n {{translate(\"Reset\")}}\r\n </button>\r\n <button class=\"btn btn-brand btn-sm\"\r\n (click)=\"options.Filters.ApplyFunction(dropdown)\">\r\n {{translate(\"Apply\")}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.AddButton.Active\" (click)=\"options.AddButton.Function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.AddButton.ButtonTextKey)}}\r\n </button>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.EditButton.Active\" (click)=\"options.EditButton.Function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.EditButton.ButtonTextKey)}}\r\n </button>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.DeleteButton.Active\" (click)=\"options.DeleteButton.Function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.DeleteButton.ButtonTextKey)}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--End toolbar-->\r\n"
|
|
8068
|
+
},] }
|
|
8069
|
+
];
|
|
8070
|
+
PageHeaderComponentComponent.ctorParameters = function () { return [
|
|
8071
|
+
{ type: router.Router },
|
|
8072
|
+
{ type: bbsfUtilities.UtilityService }
|
|
8073
|
+
]; };
|
|
8074
|
+
PageHeaderComponentComponent.propDecorators = {
|
|
8075
|
+
group: [{ type: i0.Input }],
|
|
8076
|
+
options: [{ type: i0.Input }]
|
|
8077
|
+
};
|
|
8078
|
+
|
|
8079
|
+
var BBSFDateTimePipe = /** @class */ (function () {
|
|
8080
|
+
function BBSFDateTimePipe(datePipe) {
|
|
8081
|
+
this.datePipe = datePipe;
|
|
8082
|
+
}
|
|
8083
|
+
BBSFDateTimePipe.prototype.transform = function (value) {
|
|
8084
|
+
var latest_date = this.datePipe.transform(value, 'dd/MM/yyyy hh:mm a');
|
|
8085
|
+
return latest_date;
|
|
8086
|
+
};
|
|
8087
|
+
return BBSFDateTimePipe;
|
|
8088
|
+
}());
|
|
8089
|
+
BBSFDateTimePipe.decorators = [
|
|
8090
|
+
{ type: i0.Pipe, args: [{
|
|
8091
|
+
name: 'bbsfDateTime'
|
|
8092
|
+
},] }
|
|
8093
|
+
];
|
|
8094
|
+
BBSFDateTimePipe.ctorParameters = function () { return [
|
|
8095
|
+
{ type: common.DatePipe }
|
|
8096
|
+
]; };
|
|
8097
|
+
|
|
8098
|
+
var BBSFDatePipe = /** @class */ (function () {
|
|
8099
|
+
function BBSFDatePipe(datePipe) {
|
|
8100
|
+
this.datePipe = datePipe;
|
|
8101
|
+
}
|
|
8102
|
+
BBSFDatePipe.prototype.transform = function (value) {
|
|
8103
|
+
var latest_date = this.datePipe.transform(value, 'dd/MM/yyyy');
|
|
8104
|
+
return latest_date;
|
|
8105
|
+
};
|
|
8106
|
+
return BBSFDatePipe;
|
|
8107
|
+
}());
|
|
8108
|
+
BBSFDatePipe.decorators = [
|
|
8109
|
+
{ type: i0.Pipe, args: [{
|
|
8110
|
+
name: 'bbsfDate'
|
|
8111
|
+
},] }
|
|
8112
|
+
];
|
|
8113
|
+
BBSFDatePipe.ctorParameters = function () { return [
|
|
8114
|
+
{ type: common.DatePipe }
|
|
8115
|
+
]; };
|
|
7821
8116
|
|
|
7822
8117
|
exports.TagInputView = void 0;
|
|
7823
8118
|
(function (TagInputView) {
|
|
@@ -7993,180 +8288,6 @@
|
|
|
7993
8288
|
onBlurInput: [{ type: i0.Output }]
|
|
7994
8289
|
};
|
|
7995
8290
|
|
|
7996
|
-
var RecaptchaModel = /** @class */ (function () {
|
|
7997
|
-
function RecaptchaModel() {
|
|
7998
|
-
this.ImageJpeg = [];
|
|
7999
|
-
}
|
|
8000
|
-
return RecaptchaModel;
|
|
8001
|
-
}());
|
|
8002
|
-
|
|
8003
|
-
var CaptchaStyle = /** @class */ (function () {
|
|
8004
|
-
function CaptchaStyle() {
|
|
8005
|
-
}
|
|
8006
|
-
return CaptchaStyle;
|
|
8007
|
-
}());
|
|
8008
|
-
|
|
8009
|
-
var RecaptchaComponent = /** @class */ (function () {
|
|
8010
|
-
function RecaptchaComponent(controlUtility, requestHandlerService, recaptchaControlHost, UtilityService, controlValidationService, globalSettings) {
|
|
8011
|
-
var _this = this;
|
|
8012
|
-
this.controlUtility = controlUtility;
|
|
8013
|
-
this.requestHandlerService = requestHandlerService;
|
|
8014
|
-
this.recaptchaControlHost = recaptchaControlHost;
|
|
8015
|
-
this.UtilityService = UtilityService;
|
|
8016
|
-
this.controlValidationService = controlValidationService;
|
|
8017
|
-
this.globalSettings = globalSettings;
|
|
8018
|
-
this.OnChange = new i0.EventEmitter();
|
|
8019
|
-
this.validationRules = [];
|
|
8020
|
-
this.validationRulesAsync = [];
|
|
8021
|
-
this.recaptchaModel = new RecaptchaModel();
|
|
8022
|
-
this.resetError = function () {
|
|
8023
|
-
_this.controlValidationService.RemoveGlobalError();
|
|
8024
|
-
};
|
|
8025
|
-
//External Method
|
|
8026
|
-
this.RemoveRequiredValidation = function () {
|
|
8027
|
-
_this.controlUtility.RemoveRequiredValidation(_this.ReCaptchaFormControl, _this.validationRules, _this.options);
|
|
8028
|
-
};
|
|
8029
|
-
//External Method
|
|
8030
|
-
this.AddRequiredValidation = function () {
|
|
8031
|
-
_this.controlUtility.AddRequiredValidation(_this.ReCaptchaFormControl, _this.validationRules, _this.options);
|
|
8032
|
-
};
|
|
8033
|
-
//External Method
|
|
8034
|
-
this.RemoveCustomValidation = function (CustomValidation) {
|
|
8035
|
-
_this.controlUtility.RemoveCustomValidation(_this.ReCaptchaFormControl, _this.validationRules, CustomValidation);
|
|
8036
|
-
};
|
|
8037
|
-
//External Method
|
|
8038
|
-
this.AddCustomValidation = function (CustomValidation) {
|
|
8039
|
-
_this.controlUtility.AddCustomValidation(_this.ReCaptchaFormControl, _this.validationRules, CustomValidation);
|
|
8040
|
-
};
|
|
8041
|
-
//External Method
|
|
8042
|
-
this.IsValid = function () {
|
|
8043
|
-
_this.controlUtility.IsValid(_this.ReCaptchaFormControl);
|
|
8044
|
-
};
|
|
8045
|
-
}
|
|
8046
|
-
RecaptchaComponent.prototype.ngOnInit = function () {
|
|
8047
|
-
var _this = this;
|
|
8048
|
-
if (this.options.ForceDirection)
|
|
8049
|
-
this.textDir = this.options.ForceDirection == 2 ? 'rtl' : 'ltr';
|
|
8050
|
-
else
|
|
8051
|
-
this.textDir = localStorage.getItem('language') == 'ar' ? 'rtl' : 'ltr';
|
|
8052
|
-
this.controlValidationService.isCreatedBefor = false;
|
|
8053
|
-
this.loadImage();
|
|
8054
|
-
if (!this.options.ViewType)
|
|
8055
|
-
this.options.ViewType = this.globalSettings.ViewType;
|
|
8056
|
-
this.group.addControl(this.options.Name, new forms.FormControl(''));
|
|
8057
|
-
this.ReCaptchaFormControl = this.group.controls[this.options.Name]; // new FormControl('',validationRules);
|
|
8058
|
-
if (this.options.LabelKey != null && this.options.LabelKey != "")
|
|
8059
|
-
this.options.LabelValue = this.UtilityService.getResourceValue(this.options.LabelKey);
|
|
8060
|
-
if (this.options.IsRequired) {
|
|
8061
|
-
this.validationRules.push(forms.Validators.required);
|
|
8062
|
-
}
|
|
8063
|
-
if (this.options.CustomValidation.length > 0) {
|
|
8064
|
-
var Validations = this.options.CustomValidation;
|
|
8065
|
-
for (var index = 0; index < Validations.length; index++) {
|
|
8066
|
-
var Validation = Validations[index];
|
|
8067
|
-
this.validationRules.push(Validation.functionBody);
|
|
8068
|
-
}
|
|
8069
|
-
}
|
|
8070
|
-
this.ReCaptchaFormControl.setValidators(this.validationRules);
|
|
8071
|
-
this.ReCaptchaFormControl.setAsyncValidators(this.validationRulesAsync);
|
|
8072
|
-
if (this.options.IsDisabled) {
|
|
8073
|
-
this.ReCaptchaFormControl.disable();
|
|
8074
|
-
}
|
|
8075
|
-
this.recaptchaControlHost.ngSubmit.subscribe(function (value) {
|
|
8076
|
-
_this.group.markAllAsTouched();
|
|
8077
|
-
_this.markAllAsTouched = true;
|
|
8078
|
-
});
|
|
8079
|
-
};
|
|
8080
|
-
RecaptchaComponent.prototype.loadImage = function () {
|
|
8081
|
-
var _this = this;
|
|
8082
|
-
var style = new CaptchaStyle();
|
|
8083
|
-
style.BackgroundColorPrimary = this.options.BackgroundColorPrimary;
|
|
8084
|
-
style.BackgroundColorSecondary = this.options.BackgroundColorSecondary;
|
|
8085
|
-
style.TextColorPrimary = this.options.TextColorPrimary;
|
|
8086
|
-
style.TextColorSecondary = this.options.TextColorSecondary;
|
|
8087
|
-
style.FontSize = this.options.FontSize;
|
|
8088
|
-
var requestOptionsModel = new bbsfUtilities.RequestOptionsModel();
|
|
8089
|
-
requestOptionsModel.disableBlockUI = true;
|
|
8090
|
-
requestOptionsModel.disableSuccessNotification = true;
|
|
8091
|
-
this.requestHandlerService.post(this.options.ActionURL, style, null, null, requestOptionsModel).subscribe(function (res) {
|
|
8092
|
-
var model = res;
|
|
8093
|
-
_this.recaptchaModel.ID = model.id;
|
|
8094
|
-
_this.recaptchaModel.EncryptedText = model.encryptedText;
|
|
8095
|
-
_this.recaptchaModel.ImageJpeg = model.imageJpeg;
|
|
8096
|
-
_this.image = 'data:image/jpeg;base64,' + _this.recaptchaModel.ImageJpeg;
|
|
8097
|
-
});
|
|
8098
|
-
};
|
|
8099
|
-
RecaptchaComponent.prototype.ngAfterViewInit = function () {
|
|
8100
|
-
this.controlUtility.setAttributeForControl(this.options);
|
|
8101
|
-
};
|
|
8102
|
-
RecaptchaComponent.prototype.showGlobalError = function () {
|
|
8103
|
-
this.controlUtility.showGlobalError();
|
|
8104
|
-
};
|
|
8105
|
-
RecaptchaComponent.prototype.getErrorValidation = function (ErrorList) {
|
|
8106
|
-
if (this.markAllAsTouched && this.group.invalid) {
|
|
8107
|
-
this.showGlobalError();
|
|
8108
|
-
this.markAllAsTouched = false;
|
|
8109
|
-
}
|
|
8110
|
-
return this.controlUtility.getErrorValidationMassage(ErrorList, this.group, this.options);
|
|
8111
|
-
};
|
|
8112
|
-
RecaptchaComponent.prototype.onTextChange = function (valueText) {
|
|
8113
|
-
var value = valueText.target.value;
|
|
8114
|
-
this.recaptchaModel.Text = value;
|
|
8115
|
-
this.group.get(this.options.Name).setValue(this.recaptchaModel);
|
|
8116
|
-
this.options.Value = this.recaptchaModel;
|
|
8117
|
-
this.OnChange.emit(this.ReCaptchaFormControl.value);
|
|
8118
|
-
};
|
|
8119
|
-
return RecaptchaComponent;
|
|
8120
|
-
}());
|
|
8121
|
-
RecaptchaComponent.decorators = [
|
|
8122
|
-
{ type: i0.Component, args: [{
|
|
8123
|
-
selector: 'BBSF-Recaptcha',
|
|
8124
|
-
template: "<div class=\"form-group bbsf-control bbsf-recaptcha\" [formGroup]=\"group\">\r\n <img class=\"h-100 w-100\" [src]=\"image\" />\r\n <button class=\"btn btn-sm btn-icon\" type=\"button\" ngbTooltip=\"{{UtilityService.getResourceValue('ReloadCaptcha')}}\"\r\n (click)=\"loadImage()\">\r\n <i class=\"fas fa-refresh\"></i>\r\n </button>\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger\">*</span>\r\n </label>\r\n <!--input-->\r\n <div class=\"bbsf-input-container\">\r\n <input class=\"form-control {{options.ExtraClasses}}\"\r\n [dir]=\"textDir\"\r\n aria-describedby=\"email-error\" value=\"{{options.Value.Text}}\"\r\n aria-invalid=\"true\" formControlName=\"{{options.Name}}\" type=\"text\"\r\n [class.is-invalid]=\"ReCaptchaFormControl.invalid && ReCaptchaFormControl.touched\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" autocomplete=\"{{options.AutoComplete}}\"\r\n (change)=\"onTextChange($event)\" [readonly]=\"options.IsReadonly\" />\r\n\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\"\r\n [dir]=\"textDir\"\r\n *ngIf=\"(ReCaptchaFormControl.invalid && ReCaptchaFormControl.touched)\">\r\n {{getErrorValidation(ReCaptchaFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n</div>\r\n"
|
|
8125
|
-
},] }
|
|
8126
|
-
];
|
|
8127
|
-
RecaptchaComponent.ctorParameters = function () { return [
|
|
8128
|
-
{ type: ControlUtility },
|
|
8129
|
-
{ type: bbsfUtilities.RequestHandlerService },
|
|
8130
|
-
{ type: forms.FormGroupDirective },
|
|
8131
|
-
{ type: bbsfUtilities.UtilityService },
|
|
8132
|
-
{ type: bbsfUtilities.ControlValidationService },
|
|
8133
|
-
{ type: GlobalSettings }
|
|
8134
|
-
]; };
|
|
8135
|
-
RecaptchaComponent.propDecorators = {
|
|
8136
|
-
group: [{ type: i0.Input }],
|
|
8137
|
-
options: [{ type: i0.Input }],
|
|
8138
|
-
OnChange: [{ type: i0.Output }]
|
|
8139
|
-
};
|
|
8140
|
-
|
|
8141
|
-
var PageHeaderComponentComponent = /** @class */ (function () {
|
|
8142
|
-
function PageHeaderComponentComponent(router, utilityService) {
|
|
8143
|
-
this.router = router;
|
|
8144
|
-
this.utilityService = utilityService;
|
|
8145
|
-
this.DataTypeEnum = exports.DataType;
|
|
8146
|
-
}
|
|
8147
|
-
PageHeaderComponentComponent.prototype.translate = function (key) {
|
|
8148
|
-
return this.utilityService.getResourceValue(key);
|
|
8149
|
-
};
|
|
8150
|
-
PageHeaderComponentComponent.prototype.ngOnInit = function () {
|
|
8151
|
-
this.EN = this.utilityService.isCurrentLanguageEnglish();
|
|
8152
|
-
};
|
|
8153
|
-
return PageHeaderComponentComponent;
|
|
8154
|
-
}());
|
|
8155
|
-
PageHeaderComponentComponent.decorators = [
|
|
8156
|
-
{ type: i0.Component, args: [{
|
|
8157
|
-
selector: 'bbsf-page-header-component',
|
|
8158
|
-
template: "<!--toolbar-->\r\n<div class=\"toolbar\" style=\"overflow:hidden;position:relative;\">\r\n <img class=\"pattern\" src=\"./src/assets/images/Bg-pattern.png\"/>\r\n <div class=\"container-xxl\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"page-title w-100\" [ngClass]=\"!options.Listing? 'mb-0' : ''\">\r\n <h3 *ngIf=\"options.TitleKey||options.TitleValue\">{{options.TitleValue == null ? translate(options.TitleKey) : options.TitleValue }}</h3>\r\n <p class=\"sub-title\" *ngIf=\"options.Listing\">\r\n {{translate(options.SubTitleKey)}}\r\n </p>\r\n <div class=\"d-flex justify-content-between align-items-end\">\r\n <ul class=\"breadcrumb breadcrumb-dot\" *ngIf=\"options.BreadCrumb.Active\">\r\n <ng-container *ngFor=\"let item of options.BreadCrumb.BreadCrumbItems\">\r\n <li class=\"breadcrumb-item\" *ngIf=\"!item.active\">\r\n <a *ngIf=\"item.route\" [routerLink]=\"item.route\">{{ item.label }}</a>\r\n <a *ngIf=\"!item.route\" href=\"javascript: void(0);\">{{ item.label }}</a>\r\n </li>\r\n <li class=\"breadcrumb-item active\" *ngIf=\"item.active\">\r\n <span>{{ item.label }}</span>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <div class=\"page-subheader\" *ngIf=\"options.DropDownActions.Active\">\r\n <button [routerLink]=\"item.RouterLink\" (click)='item.Function?item.Function():\"\"' class=\"btn btn-light btn-sm subheader-btn export-btn\" *ngFor=\"let item of options.DropDownActions.DropdownActionItems\">\r\n <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"item.SVG\"></span>\r\n {{item.Text}}\r\n </button>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"page-subheader\">\r\n <BBSF-TextBox *ngIf=\"options.SearchTextBox.Active\" [options]=\"options.SearchTextBox.TextSearchBoxOptions\"\r\n [group]=\"group\">\r\n </BBSF-TextBox>\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"subheader-btn list-grid\" *ngIf=\"options.GridView.Active\">\r\n <div class=\"list-grid-item\" [ngClass]=\"options.GridView.ShowGridViewByDefault? 'list-grid-item-active' : ''\"\r\n (click)=\"options.GridView.ToggleFunction()\">\r\n <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/Listing.svg'\">\r\n </span>\r\n </div>\r\n <div class=\"list-grid-item\" [ngClass]=\"!options.GridView.ShowGridViewByDefault? 'list-grid-item-active' : ''\"\r\n (click)=\"options.GridView.ToggleFunction()\">\r\n <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/Grid.svg'\">\r\n </span>\r\n </div>\r\n </div>\r\n <button type=\"button\" *ngIf=\"options.ExportButton.Active\" (click)=\"options.ExportButton.Function()\"\r\n class=\"btn btn-light btn-sm subheader-btn export-btn\">\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"'/assets/images/export.svg'\"></span>\r\n {{translate(options.ExportButton.ButtonTextKey)}}\r\n </button>\r\n\r\n\r\n <div *ngIf=\"options.FiltersButton.Active\" ngbDropdown container=\"body\" [placement]=\"EN ? 'bottom-right' : 'bottom-left'\" \r\n #dropdown=\"ngbDropdown\" class=\"subheader-btn\">\r\n <button href=\"javascript:;\" (click)=\"options.FiltersButton.Function()\" ngbDropdownToggle\r\n class=\"btn btn-light btn-sm filters-btn\">\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"'/assets/images/arrowdropdown.svg'\"></span>\r\n {{translate(options.FiltersButton.ButtonTextKey)}}\r\n </button>\r\n <div ngbDropdownMenu class=\"dropdown-menu-custom filters-dropdown\">\r\n\r\n <div [hidden]=\"options.Filters.ShowLoadingInFiltersBox\">\r\n <div class=\"filter-select\">\r\n <span *ngFor=\"let control of options.Filters.ControlsOptions\">\r\n <span [ngSwitch]=\"control.key\">\r\n <span *ngSwitchCase=\"DataTypeEnum.SingleSelect\">\r\n <BBSF-DropdownList [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DropdownList>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.MulipleSelect\">\r\n <BBSF-DropdownList [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DropdownList>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Date\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.DateTime\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Time\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Boolean\">\r\n <BBSF-Toggleslide [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-Toggleslide>\r\n </span>\r\n <span *ngSwitchDefault>\r\n <BBSF-TagsInput [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-TagsInput>\r\n </span>\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"dropdown-menu-buttons\">\r\n <button class=\"btn btn-sm btn-light\"\r\n (click)=\"options.Filters.RestFunction(dropdown)\">\r\n {{translate(\"Reset\")}}\r\n </button>\r\n <button class=\"btn btn-brand btn-sm\"\r\n (click)=\"options.Filters.ApplyFunction(dropdown)\">\r\n {{translate(\"Apply\")}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.AddButton.Active\" (click)=\"options.AddButton.Function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.AddButton.ButtonTextKey)}}\r\n </button>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.EditButton.Active\" (click)=\"options.EditButton.Function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.EditButton.ButtonTextKey)}}\r\n </button>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.DeleteButton.Active\" (click)=\"options.DeleteButton.Function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.DeleteButton.ButtonTextKey)}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--End toolbar-->\r\n"
|
|
8159
|
-
},] }
|
|
8160
|
-
];
|
|
8161
|
-
PageHeaderComponentComponent.ctorParameters = function () { return [
|
|
8162
|
-
{ type: router.Router },
|
|
8163
|
-
{ type: bbsfUtilities.UtilityService }
|
|
8164
|
-
]; };
|
|
8165
|
-
PageHeaderComponentComponent.propDecorators = {
|
|
8166
|
-
group: [{ type: i0.Input }],
|
|
8167
|
-
options: [{ type: i0.Input }]
|
|
8168
|
-
};
|
|
8169
|
-
|
|
8170
8291
|
var options;
|
|
8171
8292
|
exports.AppInjector = void 0;
|
|
8172
8293
|
var ɵ0 = ControlUtility.getLocal();
|
|
@@ -8260,10 +8381,7 @@
|
|
|
8260
8381
|
overlay.OverlayModule,
|
|
8261
8382
|
storeDevtools.StoreDevtoolsModule.instrument(),
|
|
8262
8383
|
forms.FormsModule,
|
|
8263
|
-
ngxIntlTelInput.NgxIntlTelInputModule,
|
|
8264
|
-
ngxIntlTelInput.NgxIntlTelInputModule,
|
|
8265
8384
|
datepicker.BsDatepickerModule.forRoot(),
|
|
8266
|
-
angular.FullCalendarModule,
|
|
8267
8385
|
typeahead.TypeaheadModule.forRoot(),
|
|
8268
8386
|
angularEditor.AngularEditorModule,
|
|
8269
8387
|
angularNgAutocomplete.AutocompleteLibModule,
|
|
@@ -8591,6 +8709,8 @@
|
|
|
8591
8709
|
this.LanguageMode = null;
|
|
8592
8710
|
/** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage */
|
|
8593
8711
|
this.CustomValidation = [];
|
|
8712
|
+
/** Sets an attribute readonly */
|
|
8713
|
+
this.IsReadonly = false;
|
|
8594
8714
|
}
|
|
8595
8715
|
return MultilingualControlOptionsBase;
|
|
8596
8716
|
}());
|
|
@@ -8895,13 +9015,6 @@
|
|
|
8895
9015
|
return FormOptions;
|
|
8896
9016
|
}());
|
|
8897
9017
|
|
|
8898
|
-
exports.StyleConfirmationMode = void 0;
|
|
8899
|
-
(function (StyleConfirmationMode) {
|
|
8900
|
-
StyleConfirmationMode[StyleConfirmationMode["Danger"] = 0] = "Danger";
|
|
8901
|
-
StyleConfirmationMode[StyleConfirmationMode["Warning"] = 1] = "Warning";
|
|
8902
|
-
StyleConfirmationMode[StyleConfirmationMode["Success"] = 2] = "Success";
|
|
8903
|
-
})(exports.StyleConfirmationMode || (exports.StyleConfirmationMode = {}));
|
|
8904
|
-
|
|
8905
9018
|
var ConfirmationModalOptions = /** @class */ (function () {
|
|
8906
9019
|
function ConfirmationModalOptions() {
|
|
8907
9020
|
//Represents confirmation modal title
|
|
@@ -8955,6 +9068,7 @@
|
|
|
8955
9068
|
this.RepeaterStructure = [];
|
|
8956
9069
|
this.DisableAddButton = false;
|
|
8957
9070
|
this.DisableDeleteButton = false;
|
|
9071
|
+
this.IsReadonly = false;
|
|
8958
9072
|
}
|
|
8959
9073
|
return RepeaterOptions;
|
|
8960
9074
|
}());
|