@bnsights/bbsf-controls 1.0.27 → 1.0.30
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 +7 -18
- package/bnsights-bbsf-controls-1.0.30.tgz +0 -0
- package/bnsights-bbsf-controls.metadata.json +1 -1
- package/bundles/bnsights-bbsf-controls.umd.js +555 -382
- package/bundles/bnsights-bbsf-controls.umd.js.map +1 -1
- package/esm2015/lib/Shared/Enums/LanguageValidation.js +6 -0
- package/esm2015/lib/Shared/Models/RepeaterField.js +1 -1
- package/esm2015/lib/Shared/Models/RepeaterOptions.js +2 -1
- package/esm2015/lib/Shared/Models/TextBoxOptions.js +3 -1
- package/esm2015/lib/Shared/services/validationErrorMassage.service.js +12 -12
- package/esm2015/lib/controls/ConfirmationModal/ConfirmationModal.component.js +2 -2
- package/esm2015/lib/controls/DateTimePicker/DateTimePicker.component.js +8 -3
- package/esm2015/lib/controls/ImageUpload/ImageUpload.component.js +4 -4
- package/esm2015/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.js +3 -3
- package/esm2015/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.js +3 -3
- package/esm2015/lib/controls/Repeater/repeater/repeater.component.js +15 -9
- package/esm2015/lib/controls/Repeater/repeater-field-builder/repeater-field-builder.component.js +376 -336
- package/esm2015/lib/controls/Repeater/repeater-table/repeater-table.component.js +105 -0
- package/esm2015/lib/controls/TextArea/TextArea.component.js +2 -2
- package/esm2015/lib/controls/TextBox/TextBox.component.js +15 -14
- package/esm2015/lib/controls/bbsf-controls.module.js +4 -1
- package/esm2015/public-api.js +3 -1
- package/fesm2015/bnsights-bbsf-controls.js +543 -380
- package/fesm2015/bnsights-bbsf-controls.js.map +1 -1
- package/lib/Shared/Enums/LanguageValidation.d.ts +4 -0
- package/lib/Shared/Models/RepeaterField.d.ts +1 -0
- package/lib/Shared/Models/RepeaterOptions.d.ts +3 -0
- package/lib/Shared/Models/TextBoxOptions.d.ts +3 -0
- package/lib/controls/DateTimePicker/DateTimePicker.component.d.ts +3 -1
- package/lib/controls/ImageUpload/ImageUpload.component.d.ts +1 -1
- package/lib/controls/Repeater/repeater/repeater.component.d.ts +2 -1
- package/lib/controls/Repeater/repeater-field-builder/repeater-field-builder.component.d.ts +3 -0
- package/lib/controls/Repeater/repeater-table/repeater-table.component.d.ts +16 -0
- package/package.json +2 -2
- package/public-api.d.ts +2 -0
- package/src/lib/assets/Style.css +0 -9
- package/bnsights-bbsf-controls-1.0.27.tgz +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@fullcalendar/angular'), require('@fullcalendar/daygrid'), require('@fullcalendar/timegrid'), require('@fullcalendar/list'), require('@fullcalendar/interaction'), require('@angular/core'), require('ng-block-ui'), require('@angular/forms'), require('@angular/http'), require('@angular/router'), require('ngx-toastr'), require('ngx-permissions'), require('@angular/cdk/overlay'), require('@ngrx/store-devtools'), require('@angular/common'), require('ngx-intl-tel-input'), require('@bnsights/bbsf-utilities'), require('ngx-bootstrap/datepicker'), require('rxjs'), require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@bnsights/bbsf-controls', ['exports', '@fullcalendar/angular', '@fullcalendar/daygrid', '@fullcalendar/timegrid', '@fullcalendar/list', '@fullcalendar/interaction', '@angular/core', 'ng-block-ui', '@angular/forms', '@angular/http', '@angular/router', 'ngx-toastr', 'ngx-permissions', '@angular/cdk/overlay', '@ngrx/store-devtools', '@angular/common', 'ngx-intl-tel-input', '@bnsights/bbsf-utilities', 'ngx-bootstrap/datepicker', 'rxjs', 'ng2-file-upload', 'class-transformer', 'ng-
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.bnsights = global.bnsights || {}, global.bnsights["bbsf-controls"] = {}), global.angular, global.dayGridPlugin, global.timeGridPlugin, global.listPlugin, global.interactionPlugin, global.ng.core, global.ngBlockUi, global.ng.forms, global.ng.http, global.ng.router, global.ngxToastr, global.ngxPermissions, global.ng.cdk.overlay, global.storeDevtools, global.ng.common, global.ngxIntlTelInput, global.bbsfUtilities, global.datepicker, global.rxjs, global.
|
|
5
|
-
})(this, (function (exports, angular, dayGridPlugin, timeGridPlugin, listPlugin, interactionPlugin, i0, ngBlockUi, forms, http, router, ngxToastr, ngxPermissions, overlay, storeDevtools, common, ngxIntlTelInput, bbsfUtilities, datepicker, rxjs, ng2FileUpload, classTransformer,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@fullcalendar/angular'), require('@fullcalendar/daygrid'), require('@fullcalendar/timegrid'), require('@fullcalendar/list'), require('@fullcalendar/interaction'), require('@angular/core'), require('ng-block-ui'), require('@angular/forms'), require('@angular/http'), require('@angular/router'), require('ngx-toastr'), require('ngx-permissions'), require('@angular/cdk/overlay'), require('@ngrx/store-devtools'), require('@angular/common'), require('ngx-intl-tel-input'), require('@bnsights/bbsf-utilities'), require('ngx-bootstrap/datepicker'), require('rxjs'), require('ng-pick-datetime'), require('ng2-file-upload'), require('class-transformer'), require('ng-multiselect-dropdown'), require('angular2-multiselect-dropdown'), require('ngx-summernote'), require('ngx-mask'), require('@syncfusion/ej2-angular-popups'), require('ngx-dropzone'), require('angular-cropperjs'), require('ngx-image-cropper'), require('@ng-bootstrap/ng-bootstrap'), require('@ngx-translate/core'), require('@angular/common/http'), require('ngx-typeahead'), require('rxjs/operators'), require('ngx-tags-input'), require('@ng-select/ng-select'), require('ngx-infinite-scroll'), require('@agm/core'), require('@angular-material-extensions/google-maps-autocomplete'), require('@fullcalendar/core/locales/en-gb'), require('@fullcalendar/core/locales/ar'), require('ngx-bootstrap/typeahead'), require('@angular/material/slide-toggle'), require('@kolkov/angular-editor'), require('angular-ng-autocomplete'), require('ng-inline-svg'), require('sweetalert2'), require('@sweetalert2/ngx-sweetalert2')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@bnsights/bbsf-controls', ['exports', '@fullcalendar/angular', '@fullcalendar/daygrid', '@fullcalendar/timegrid', '@fullcalendar/list', '@fullcalendar/interaction', '@angular/core', 'ng-block-ui', '@angular/forms', '@angular/http', '@angular/router', 'ngx-toastr', 'ngx-permissions', '@angular/cdk/overlay', '@ngrx/store-devtools', '@angular/common', 'ngx-intl-tel-input', '@bnsights/bbsf-utilities', 'ngx-bootstrap/datepicker', 'rxjs', 'ng-pick-datetime', 'ng2-file-upload', 'class-transformer', 'ng-multiselect-dropdown', 'angular2-multiselect-dropdown', 'ngx-summernote', 'ngx-mask', '@syncfusion/ej2-angular-popups', 'ngx-dropzone', 'angular-cropperjs', 'ngx-image-cropper', '@ng-bootstrap/ng-bootstrap', '@ngx-translate/core', '@angular/common/http', 'ngx-typeahead', 'rxjs/operators', 'ngx-tags-input', '@ng-select/ng-select', 'ngx-infinite-scroll', '@agm/core', '@angular-material-extensions/google-maps-autocomplete', '@fullcalendar/core/locales/en-gb', '@fullcalendar/core/locales/ar', 'ngx-bootstrap/typeahead', '@angular/material/slide-toggle', '@kolkov/angular-editor', 'angular-ng-autocomplete', 'ng-inline-svg', 'sweetalert2', '@sweetalert2/ngx-sweetalert2'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.bnsights = global.bnsights || {}, global.bnsights["bbsf-controls"] = {}), global.angular, global.dayGridPlugin, global.timeGridPlugin, global.listPlugin, global.interactionPlugin, global.ng.core, global.ngBlockUi, global.ng.forms, global.ng.http, global.ng.router, global.ngxToastr, global.ngxPermissions, global.ng.cdk.overlay, global.storeDevtools, global.ng.common, global.ngxIntlTelInput, global.bbsfUtilities, global.datepicker, global.rxjs, global.ngPickDatetime, global.ng2FileUpload, global.classTransformer, global.ngMultiselectDropdown, global.angular2MultiselectDropdown, global.ngxSummernote, global.ngxMask, global.ej2AngularPopups, global.ngxDropzone, global.angularCropperjs, global.ngxImageCropper, global.ngBootstrap, global.core$1, global.ng.common.http, global.ngxTypeahead, global.rxjs.operators, global.ngxTagsInput, global.ngSelect, global.ngxInfiniteScroll, global.core, global.googleMapsAutocomplete, global.enGbLocale, global.ArLocale, global.typeahead, global.ng.material.slideToggle, global.angularEditor, global.angularNgAutocomplete, global.ngInlineSvg, global.Swal, global.ngxSweetalert2));
|
|
5
|
+
})(this, (function (exports, angular, dayGridPlugin, timeGridPlugin, listPlugin, interactionPlugin, i0, ngBlockUi, forms, http, router, ngxToastr, ngxPermissions, overlay, storeDevtools, common, ngxIntlTelInput, bbsfUtilities, datepicker, rxjs, ngPickDatetime, ng2FileUpload, classTransformer, ngMultiselectDropdown, angular2MultiselectDropdown, ngxSummernote, ngxMask, ej2AngularPopups, ngxDropzone, angularCropperjs, ngxImageCropper, ngBootstrap, core$1, http$1, ngxTypeahead, operators, ngxTagsInput, ngSelect, ngxInfiniteScroll, core, googleMapsAutocomplete, enGbLocale, ArLocale, typeahead, slideToggle, angularEditor, angularNgAutocomplete, ngInlineSvg, Swal, ngxSweetalert2) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -79,22 +79,22 @@
|
|
|
79
79
|
result = this.utilityService.getResourceValue("NumberValidationKey");
|
|
80
80
|
break;
|
|
81
81
|
case "maxlength":
|
|
82
|
-
result = this.utilityService.getResourceValue("MaxLenghtValidationKey") + error.value.requiredLength;
|
|
82
|
+
result = this.utilityService.getResourceValue("MaxLenghtValidationKey") + " " + error.value.requiredLength;
|
|
83
83
|
break;
|
|
84
84
|
case "minlength":
|
|
85
|
-
result = this.utilityService.getResourceValue("MinLenghtValidationKey") + error.value.requiredLength;
|
|
85
|
+
result = this.utilityService.getResourceValue("MinLenghtValidationKey") + " " + error.value.requiredLength;
|
|
86
86
|
break;
|
|
87
87
|
case "min":
|
|
88
|
-
result = this.utilityService.getResourceValue("MinValueValidationKey") + error.value.min;
|
|
88
|
+
result = this.utilityService.getResourceValue("MinValueValidationKey") + " " + error.value.min;
|
|
89
89
|
break;
|
|
90
90
|
case "max":
|
|
91
|
-
result = this.utilityService.getResourceValue("MaxValueValidationKey") + error.value.max;
|
|
91
|
+
result = this.utilityService.getResourceValue("MaxValueValidationKey") + " " + error.value.max;
|
|
92
92
|
break;
|
|
93
93
|
case "validatePhoneNumber":
|
|
94
94
|
result = this.utilityService.getResourceValue("PhoneNumberValidationKey");
|
|
95
95
|
break;
|
|
96
96
|
case "mask":
|
|
97
|
-
result = this.utilityService.getResourceValue("MaskValidationKey") + error.value.requiredMask;
|
|
97
|
+
result = this.utilityService.getResourceValue("MaskValidationKey") + " " + error.value.requiredMask;
|
|
98
98
|
break;
|
|
99
99
|
case "PasswordComplexityHasNumber":
|
|
100
100
|
result = this.utilityService.getResourceValue("PasswordComplexityHasNumber");
|
|
@@ -115,25 +115,25 @@
|
|
|
115
115
|
result = this.utilityService.getResourceValue("PasswordComplexityHasSpecialLetter");
|
|
116
116
|
break;
|
|
117
117
|
case "MaxWordCountValidationKey":
|
|
118
|
-
result = this.utilityService.getResourceValue("MaxWordCountValidationKey") + error.value;
|
|
118
|
+
result = this.utilityService.getResourceValue("MaxWordCountValidationKey") + " " + error.value;
|
|
119
119
|
break;
|
|
120
120
|
case "NewSelectionValidationKey":
|
|
121
121
|
result = this.utilityService.getResourceValue("NewSelectionValidationKey");
|
|
122
122
|
break;
|
|
123
123
|
case "MaxFileCountValidationKey":
|
|
124
|
-
result = this.utilityService.getResourceValue("MaxFileCountValidationKey") + error.value;
|
|
124
|
+
result = this.utilityService.getResourceValue("MaxFileCountValidationKey") + " " + error.value;
|
|
125
125
|
break;
|
|
126
126
|
case "MinFileCountValidationKey":
|
|
127
|
-
result = this.utilityService.getResourceValue("MinFileCountValidationKey") + error.value;
|
|
127
|
+
result = this.utilityService.getResourceValue("MinFileCountValidationKey") + " " + error.value;
|
|
128
128
|
break;
|
|
129
129
|
case "MaxSizeForAllFilesInMB":
|
|
130
|
-
result = this.utilityService.getResourceValue("MaxSizeForAllFilesInMB") + error.value;
|
|
130
|
+
result = this.utilityService.getResourceValue("MaxSizeForAllFilesInMB") + " " + error.value;
|
|
131
131
|
break;
|
|
132
132
|
case "FileMaxSizeInMB":
|
|
133
|
-
result = this.utilityService.getResourceValue("FileMaxSizeInMB") + error.value;
|
|
133
|
+
result = this.utilityService.getResourceValue("FileMaxSizeInMB") + " " + error.value;
|
|
134
134
|
break;
|
|
135
135
|
case "ToolTipTypeError":
|
|
136
|
-
result = this.utilityService.getResourceValue("ToolTipTypeError") + error.value;
|
|
136
|
+
result = this.utilityService.getResourceValue("ToolTipTypeError") + " " + error.value;
|
|
137
137
|
break;
|
|
138
138
|
default:
|
|
139
139
|
break;
|
|
@@ -328,7 +328,7 @@
|
|
|
328
328
|
|
|
329
329
|
var DateInputComponent = /** @class */ (function () {
|
|
330
330
|
// tslint:disable-next-line: max-line-length
|
|
331
|
-
function DateInputComponent(datepipe, onChangeService, ErrorHandler, controlUtility, controlContainer, DateInputControlHost, UtilityService, translate, controlValidationService) {
|
|
331
|
+
function DateInputComponent(datepipe, onChangeService, ErrorHandler, controlUtility, controlContainer, DateInputControlHost, UtilityService, translate, controlValidationService, dateTimeAdapter) {
|
|
332
332
|
var _this = this;
|
|
333
333
|
this.datepipe = datepipe;
|
|
334
334
|
this.onChangeService = onChangeService;
|
|
@@ -339,6 +339,7 @@
|
|
|
339
339
|
this.UtilityService = UtilityService;
|
|
340
340
|
this.translate = translate;
|
|
341
341
|
this.controlValidationService = controlValidationService;
|
|
342
|
+
this.dateTimeAdapter = dateTimeAdapter;
|
|
342
343
|
this.OnChange = new i0.EventEmitter();
|
|
343
344
|
this.markAllAsTouched = false;
|
|
344
345
|
this.validationRules = [];
|
|
@@ -370,6 +371,8 @@
|
|
|
370
371
|
}
|
|
371
372
|
DateInputComponent.prototype.ngOnInit = function () {
|
|
372
373
|
var _this = this;
|
|
374
|
+
// Update the DateTimeAdapter Language with the current thread langauge
|
|
375
|
+
this.dateTimeAdapter.setLocale(this.UtilityService.getCurrentLanguage() == "ar" ? "ar" : "en-UK");
|
|
373
376
|
this.controlValidationService.isCreatedBefor = false;
|
|
374
377
|
this.group.addControl(this.options.Name, new forms.FormControl(''));
|
|
375
378
|
this.DatePickerFormControl = this.group.controls[this.options.Name]; // new FormControl('',validationRules);
|
|
@@ -463,7 +466,8 @@
|
|
|
463
466
|
{ type: forms.FormGroupDirective },
|
|
464
467
|
{ type: bbsfUtilities.UtilityService },
|
|
465
468
|
{ type: bbsfUtilities.BBSFTranslateService },
|
|
466
|
-
{ type: bbsfUtilities.ControlValidationService }
|
|
469
|
+
{ type: bbsfUtilities.ControlValidationService },
|
|
470
|
+
{ type: ngPickDatetime.DateTimeAdapter }
|
|
467
471
|
]; };
|
|
468
472
|
DateInputComponent.propDecorators = {
|
|
469
473
|
group: [{ type: i0.Input }],
|
|
@@ -1293,7 +1297,7 @@
|
|
|
1293
1297
|
}
|
|
1294
1298
|
this.showInputUsingLanguageMode();
|
|
1295
1299
|
this.ArabicValidationRules.push(forms.Validators.compose([
|
|
1296
|
-
this.controlUtility.patternValidator(
|
|
1300
|
+
this.controlUtility.patternValidator(/^[^A-Za-z]*$/, { ArabicLetterOnly: this.ArabicLetterOnly }),
|
|
1297
1301
|
]));
|
|
1298
1302
|
this.EnglishValidationRules.push(forms.Validators.compose([
|
|
1299
1303
|
this.controlUtility.patternValidator(/^[\x00-\x7F]*$/, { EnglishLetterOnly: this.EnglishLetterOnly }),
|
|
@@ -1494,7 +1498,7 @@
|
|
|
1494
1498
|
MultiLingualTextBoxComponent.decorators = [
|
|
1495
1499
|
{ type: i0.Component, args: [{
|
|
1496
1500
|
selector: 'BBSF-MultiLingualTextBox',
|
|
1497
|
-
template: "<div class=\"b-control b-multilangual-textbox\">\r\n
|
|
1501
|
+
template: "<div class=\"b-control b-multilangual-textbox\">\r\n <div class=\"form-group validate is-invalid\" [formGroup]=\"group\">\r\n\r\n <div class=\"form-group row\" [formGroup]=\"MultiLanguagegroup\">\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\">\r\n <div class=\"row\" *ngIf=\"ShowEnglishTextBox\">\r\n <label class=\"b-label col-form-label col-sm-12\"\r\n [ngClass]=\"(options.ViewType==1)?'col-md-9':'col-md-3'\" [hidden]=\"options.IsHideEnglishLabel\">\r\n {{(options.EnglishLabelValue!=null&&options.EnglishLabelValue!=\"\")?options.EnglishLabelValue:options.LabelValue}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\"\r\n class=\"text-danger Required-text\" aria-required=\"true\">*</span>\r\n </label>\r\n\r\n <div class=\"col-sm-12\" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\">\r\n <div class=\"input-group align-items-center\">\r\n <div class=\"svg svg-icon-grey\" [ngClass]=\"(options.IconPositionEN==1)?'left-icon':'right-icon'\" *ngIf=\"options.Icon!=null\">\r\n <span [inlineSVG]=\"options.Icon\"></span>\r\n </div>\r\n <input class=\"form-control bnsights-control\"\r\n (focus)=\"showEnglishWordCount(true)\" (focusout)=\"showEnglishWordCount(false)\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\" formControlName=\"English\"\r\n [hidden]=\"options.IsHideEnglishFields\" maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\"\r\n [class.is-invalid]=\"EnglishFormControl.invalid && EnglishFormControl.touched\"\r\n placeholder=\"{{options.EnglishPlaceholder}}\" (change)=\"trimControlValue('En')\"\r\n (keyup)=\"onTextChange()\"\r\n (keydown)=\"EnglishWordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #userinputEnglish>\r\n <div class=\"input-group-append\" [hidden]=\"options.IsHideEnglishFields\" *ngIf=\"options.EnableCopyToClipboard\">\r\n <span class=\"input-group-text\" (click)=\"copyInputMessage(userinputEnglish)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"text-muted font-weight-500 word-count float-end\" *ngIf=\"options.MaxWordCount>0&&IsShowEnglishWordCount\">{{EnglishWordCount}}/{{options.MaxWordCount}}</div>\r\n <div class=\"text-danger Required-text\" *ngIf=\"(EnglishFormControl.invalid && EnglishFormControl.touched)\">\r\n {{getErrorValidation(EnglishFormControl.errors|keyvalue)}}\r\n </div>\r\n\r\n <div class=\"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 <!-- <div *ngIf=\"EnglishFormControl.valid\">{{resetError()}}</div> -->\r\n <div *ngIf=\"group.valid\">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\">\r\n <div class=\"row\" *ngIf=\"ShowArabicTextBox\">\r\n <label class=\"b-label col-form-label col-sm-12\"\r\n [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\" [hidden]=\"options.IsHideArabicLabel\">\r\n {{(options.ArabicLabelValue!=null&&options.ArabicLabelValue!=\"\")?options.ArabicLabelValue:options.LabelValue}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger Required-text\" aria-required=\"true\">*</span>\r\n </label>\r\n <div class=\" col-sm-12\" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\">\r\n <div class=\"input-group align-items-center\">\r\n <div class=\"svg svg-icon-grey\" [ngClass]=\"(options.IconPositionEN==1)?'right-icon':'left-icon'\" *ngIf=\"options.Icon!=null\">\r\n <span [inlineSVG]=\"options.Icon\"></span>\r\n </div>\r\n <input class=\"form-control bnsights-control\" dir=\"rtl\"\r\n (focus)=\"showArabicWordCount(true)\" (focusout)=\"showArabicWordCount(false)\"\r\n [hidden]=\"options.IsHideArabicFields\" aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"Arabic\" maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\"\r\n [class.is-invalid]=\"ArabicFormControl.invalid && ArabicFormControl.touched\"\r\n placeholder=\"{{options.ArabicPlaceholder}}\" (keyup)=\"onTextChange()\"\r\n (keydown)=\"ArabicWordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n (change)=\"trimControlValue('Ar')\" #userinputArabic>\r\n\r\n <div class=\"input-group-append\" [hidden]=\"options.IsHideArabicFields\" *ngIf=\"options.EnableCopyToClipboard\">\r\n <span class=\"input-group-text\" (click)=\"copyInputMessage(userinputArabic)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"text-muted font-weight-500 float-end word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowArabicWordCount\">{{ArabicWordCount}}/{{options.MaxWordCount}}</div>\r\n <div class=\"text-danger Required-text\" *ngIf=\"(ArabicFormControl.invalid && ArabicFormControl.touched)\">\r\n {{getErrorValidation(ArabicFormControl.errors|keyvalue)}}\r\n </div>\r\n <div class=\"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 <!-- <div *ngIf=\"ArabicFormControl.valid\">{{resetError()}}</div> -->\r\n <div *ngIf=\"group.valid\">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n",
|
|
1498
1502
|
styles: [".example-form{min-width:150px;max-width:500px;width:100%}.example-full-width{width:100%}\n"]
|
|
1499
1503
|
},] }
|
|
1500
1504
|
];
|
|
@@ -1643,7 +1647,7 @@
|
|
|
1643
1647
|
TextAreaComponent.decorators = [
|
|
1644
1648
|
{ type: i0.Component, args: [{
|
|
1645
1649
|
selector: 'BBSF-TextArea',
|
|
1646
|
-
template: "<div class=\"b-control b-textarea\">\r\n <div class=\"form-group row validate is-invalid\" [formGroup]=\"group\">\r\n <label class=\"b-label col-form-label col-sm-12 \" [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\"\r\n *ngIf=\"!options.HideLabel\">\r\n {{options.LabelValue}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger Required-text\"\r\n aria-required=\"true\">*</span>\r\n </label>\r\n\r\n <div class=\"col-sm-12\" [ngClass]=\"(options.ViewType==1)?'': ((options.HideLabel)?'col-md-12':'col-md-9')\">\r\n <div class=\"input-group\">\r\n <textarea class=\"form-control bnsights-control {{options.ExtraClasses}}\"\r\n (focus)=\"showWordCount(true)\" (focusout)=\"showWordCount(false)\"\r\n dir=\"{{options.ForceDirection==2?'rtl':''}}\"
|
|
1650
|
+
template: "<div class=\"b-control b-textarea\">\r\n <div class=\"form-group row validate is-invalid\" [formGroup]=\"group\">\r\n <label class=\"b-label col-form-label col-sm-12 \" [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\"\r\n *ngIf=\"!options.HideLabel\">\r\n {{options.LabelValue}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger Required-text\"\r\n aria-required=\"true\">*</span>\r\n </label>\r\n\r\n <div class=\"col-sm-12\" [ngClass]=\"(options.ViewType==1)?'': ((options.HideLabel)?'col-md-12':'col-md-9')\">\r\n <div class=\"input-group\">\r\n <textarea class=\"form-control bnsights-control {{options.ExtraClasses}}\"\r\n (focus)=\"showWordCount(true)\" (focusout)=\"showWordCount(false)\"\r\n dir=\"{{options.ForceDirection==2?'rtl':''}}\" 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}}\"\r\n (keydown)=\"WordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #TextAreainput></textarea>\r\n <div class=\"input-group-append\" *ngIf=\"options.EnableCopyToClipboard\">\r\n <span class=\"input-group-text\" (click)=\"copyInputMessage(TextAreainput)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </span>\r\n </div>\r\n <div class=\"text-muted font-weight-500 word-count float-end\" *ngIf=\"options.MaxWordCount>0&&IsShowWordCount\">{{WordCount}}/{{options.MaxWordCount}} words</div>\r\n </div>\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(TextAreaFormControl.invalid && TextAreaFormControl.touched)\">\r\n {{getErrorValidation(TextAreaFormControl.errors|keyvalue)}}\r\n </div>\r\n <div class=\"control-desc text-dark\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <!-- <div *ngIf=\"TextAreaFormControl.valid\">{{resetError()}}</div> -->\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
1647
1651
|
styles: [".example-form{min-width:150px;max-width:500px;width:100%}.example-full-width{width:100%}.flip_V{transform:scaleY(-1)}\n"]
|
|
1648
1652
|
},] }
|
|
1649
1653
|
];
|
|
@@ -1786,7 +1790,7 @@
|
|
|
1786
1790
|
}
|
|
1787
1791
|
this.showInputUsingLanguageMode();
|
|
1788
1792
|
this.ArabicValidationRules.push(forms.Validators.compose([
|
|
1789
|
-
this.controlUtility.patternValidator(
|
|
1793
|
+
this.controlUtility.patternValidator(/^[^A-Za-z]*$/, { ArabicLetterOnly: this.ArabicLetterOnly }),
|
|
1790
1794
|
]));
|
|
1791
1795
|
this.EnglishValidationRules.push(forms.Validators.compose([
|
|
1792
1796
|
this.controlUtility.patternValidator(/^[\x00-\x7F]*$/, { EnglishLetterOnly: this.EnglishLetterOnly }),
|
|
@@ -1976,7 +1980,7 @@
|
|
|
1976
1980
|
MultiLingualTextAreaComponent.decorators = [
|
|
1977
1981
|
{ type: i0.Component, args: [{
|
|
1978
1982
|
selector: 'BBSF-MultiLingualTextArea',
|
|
1979
|
-
template: "<div class=\"b-control b-multilangual-textarea\">\r\n
|
|
1983
|
+
template: "<div class=\"b-control b-multilangual-textarea\">\r\n <div class=\"form-group validate is-invalid\" [formGroup]=\"group\">\r\n\r\n <div class=\"form-group row\" [formGroup]=\"MultiLanguageTextAreagroup\">\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\">\r\n <div class=\"row\" *ngIf=\"ShowEngishTextArea\">\r\n <label class=\"b-label col-form-label col-sm-12 \"\r\n [ngClass]=\"(options.ViewType==1)?'col-md-9':'col-md-3'\" [hidden]=\"options.IsHideEnglishLabel\">\r\n {{(options.EnglishLabelValue!=null&&options.EnglishLabelValue!=\"\")?options.EnglishLabelValue:options.LabelValue+\"in English\"}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\"\r\n class=\"text-danger Required-text\" aria-required=\"true\">*</span>\r\n </label>\r\n\r\n <div class=\"col-sm-12\" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\">\r\n <div class=\"input-group\">\r\n <textarea class=\"form-control bnsights-control\" rows=\"{{options.Rows}}\" cols=\"{{options.Cols}}\"\r\n (focus)=\"showEnglishWordCount(true)\" (focusout)=\"showEnglishWordCount(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 \r\n (keyup)=\"onTextChange()\"\r\n (keydown)=\"EnglishWordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #userinputTextAreaEnglish>\r\n </textarea>\r\n <div class=\"input-group-append\" [hidden]=\"options.IsHideEnglishFields\" *ngIf=\"options.EnableCopyToClipboard\">\r\n <span class=\"input-group-text\" (click)=\"copyInputMessage(userinputTextAreaEnglish)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </span>\r\n </div>\r\n\r\n\r\n </div>\r\n <div class=\"text-muted font-weight-500 float-end word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowEnglishWordCount\">{{EnglishWordCount}}/{{options.MaxWordCount}}</div>\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(EnglishTextAreaFormControl.invalid && EnglishTextAreaFormControl.touched)\">\r\n {{getErrorValidation(EnglishTextAreaFormControl.errors|keyvalue)}}\r\n </div>\r\n <div class=\"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\r\n <!-- <div *ngIf=\"EnglishTextAreaFormControl.valid\">{{resetError()}}</div> -->\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\">\r\n <div class=\"row\" *ngIf=\"ShowArabicTextArea\">\r\n\r\n <label class=\"b-label col-form-label col-sm-12 \"\r\n [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\" [hidden]=\"options.IsHideArabicLable\">\r\n {{(options.ArabicLabelValue!=null&&options.ArabicLabelValue!=\"\")?options.ArabicLabelValue:options.LabelValue+\"in Arabic\"}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\"\r\n class=\"text-danger Required-text\" aria-required=\"true\">*</span>\r\n </label>\r\n <div class=\" col-sm-12\" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\">\r\n <div class=\"input-group\">\r\n <textarea class=\"form-control bnsights-control\" dir=\"rtl\" rows=\"{{options.Rows}}\" cols=\"{{options.Cols}}\"\r\n (focus)=\"showArabicWordCount(true)\" (focusout)=\"showArabicWordCount(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()\"\r\n (keydown)=\"ArabicWordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #userinputTextAreaArabic>\r\n </textarea>\r\n <div class=\"input-group-append\" [hidden]=\"options.IsHideArabicFields\" *ngIf=\"options.EnableCopyToClipboard\">\r\n <span class=\"input-group-text\" (click)=\"copyInputMessage(userinputTextAreaArabic)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"text-muted font-weight-500 float-end word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowArabicWordCount\">{{ArabicWordCount}}/{{options.MaxWordCount}}</div>\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(ArabicTextAreaFormControl.invalid && ArabicTextAreaFormControl.touched)\">\r\n {{getErrorValidation(ArabicTextAreaFormControl.errors|keyvalue)}}\r\n </div>\r\n <div class=\"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 <!-- <div *ngIf=\"ArabicTextAreaFormControl.valid\">{{resetError()}}</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",
|
|
1980
1984
|
styles: [".example-form{min-width:150px;max-width:500px;width:100%}.example-full-width{width:100%}\n"]
|
|
1981
1985
|
},] }
|
|
1982
1986
|
];
|
|
@@ -3182,10 +3186,10 @@
|
|
|
3182
3186
|
var TypeToolTipe = element.split('/')[1];
|
|
3183
3187
|
this.ToolTipTypeArray.push(TypeToolTipe);
|
|
3184
3188
|
}
|
|
3185
|
-
this.ValidationMessage = this.ValidationMessage + ("
|
|
3189
|
+
this.ValidationMessage = this.ValidationMessage + this.UtilityService.getResourceValue("AllowedTypes") + (" (" + this.ToolTipTypeArray + ") ");
|
|
3186
3190
|
}
|
|
3187
3191
|
if (this.options.FileMaxSizeInMB > 0) {
|
|
3188
|
-
this.ValidationMessage = this.ValidationMessage + (" <br />
|
|
3192
|
+
this.ValidationMessage = this.ValidationMessage + (" <br /> " + this.UtilityService.getResourceValue("FileMaxSizeInMB") + " " + this.options.FileMaxSizeInMB);
|
|
3189
3193
|
}
|
|
3190
3194
|
if (this.options.FileUploadAcceptsTypes != null && this.options.FileUploadAcceptsTypes.length > 0) {
|
|
3191
3195
|
}
|
|
@@ -3373,7 +3377,7 @@
|
|
|
3373
3377
|
ImageUploaderComponent.decorators = [
|
|
3374
3378
|
{ type: i0.Component, args: [{
|
|
3375
3379
|
selector: 'BBSF-ImageUpload',
|
|
3376
|
-
template: "<div class=\"b-control b-image-upload\">\r\n <div class=\"form-group row validate is-invalid\" [formGroup]=\"group\">\r\n <label class=\"b-label col-form-label col-sm-12 \" [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\" [hidden]=\"options.HideLabel\">\r\n {{options.LabelValue}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger Required-text\" aria-required=\"true\"
|
|
3380
|
+
template: "<div class=\"b-control b-image-upload\">\r\n <div class=\"form-group row validate is-invalid\" [formGroup]=\"group\">\r\n <label class=\"b-label col-form-label col-sm-12 \" [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\" [hidden]=\"options.HideLabel\">\r\n {{options.LabelValue}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger Required-text\" aria-required=\"true\">* </span>\r\n\r\n <ejs-tooltip id=\"tooltip\" content='{{ValidationMessage}}' tipPointerPosition='Middle'>\r\n <i class=\"fa fa-info-circle\" data-plugin=\"tooltip\" data-html=\"true\">\r\n </i>\r\n </ejs-tooltip>\r\n </label>\r\n\r\n <div class=\"col-sm-12\" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\">\r\n\r\n <div *ngIf=\"options.AllowDropZone\" style=\"max-width:200px !important; max-height: 200px !important;\" class=\"d-inline-flex h-auto w-auto overflow-hidden m-0 {{options.ExtraClasses}}\" ngx-dropzone [disabled]=\"options.IsDisabled\" [accept]=\"AcceptedType\" [multiple]=\"options.IsMultiple\"\r\n (change)=\"onFileChange($event)\" aria-describedby=\"email-error\" aria-invalid=\"true\" ngDefaultControl formControlName=\"{{options.Name}}\" [maxFileSize]=\"options.FileMaxSizeInMB\"\r\n id=\"{{options.Name}}\" [class.is-invalid]=\"ImageUploadFormControl.invalid && ImageUploadFormControl.touched\">\r\n <ngx-dropzone-label class=\"h-100 m-0\" style=\"max-width: 200px !important;\">\r\n <div class=\"h-100\">\r\n <img [src]=\"ImageSource\" class=\"h-100 w-100\" />\r\n </div>\r\n </ngx-dropzone-label>\r\n\r\n\r\n <ngx-dropzone-image-preview style=\"max-width:200px !important; max-height: 200px !important;\" *ngFor=\"let f of files\" [file]=\"f\" [removable]=\"true\" (removed)=\"removeFromControlValue(f)\"\r\n ngProjectAs=\"ngx-dropzone-preview\" class=\"b-img-preview w-100 h-100 m-0\">\r\n </ngx-dropzone-image-preview>\r\n </div>\r\n\r\n <div class=\"ImageUploadClassSelector\" *ngIf=\"!options.AllowDropZone\">\r\n <ngx-dropzone-label class=\"h-100 m-0\" *ngIf=\"files.length==0\">\r\n <div style=\"max-width:200px !important; max-height: 200px !important;\" class=\"h-100 file-fake-input\" #element (click)=\"showImageUploader(element)\">\r\n <img [src]=\"ImageSource\" class=\"h-100 w-100\" />\r\n </div>\r\n </ngx-dropzone-label>\r\n\r\n <div style=\"border: none !important; max-width:200px !important; max-height: 200px !important;\" class=\" fileSelector customImageUploadPlacment d-inline-flex h-auto w-auto overflow-hidden m-0 {{options.ExtraClasses}}\" ngx-dropzone [disabled]=\"options.IsDisabled\" [accept]=\"AcceptedType\" [multiple]=\"options.IsMultiple\"\r\n (change)=\"onFileChange($event)\" aria-describedby=\"email-error\" aria-invalid=\"true\" ngDefaultControl formControlName=\"{{options.Name}}\" [maxFileSize]=\"options.FileMaxSizeInMB\"\r\n id=\"{{options.Name}}\" [class.is-invalid]=\"ImageUploadFormControl.invalid && ImageUploadFormControl.touched\">\r\n\r\n\r\n\r\n <ngx-dropzone-image-preview style=\"max-width:200px !important; max-height: 200px !important;\" *ngFor=\"let f of files\" [file]=\"f\" [removable]=\"true\" (removed)=\"removeFromControlValue(f)\"\r\n ngProjectAs=\"ngx-dropzone-preview\" class=\"b-img-preview w-100 h-100 m-0\">\r\n </ngx-dropzone-image-preview>\r\n </div>\r\n </div>\r\n\r\n\r\n <div id=\"mdlSample\" class=\"modal fade\" role=\"dialog\" style=\"z-index: 11 !important ;\"\r\n [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\" aria-hidden=\"true\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"openModal(false)\"></button>\r\n </div>\r\n <div class=\"modal-body py-5\">\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 style=\"text-align:center;\">\r\n <div class=\"btn-group\">\r\n <button type=\"button\" (click)=\"zoomImage(0.1)\" class=\"btn btn-default\" data-method=\"zoom\" data-option=\"0.1\" title=\"Zoom In\">\r\n <span class=\"docs-tooltip\" data-toggle=\"tooltip\" title=\"\" data-original-title=\"cropper.zoom(0.1)\">\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\" data-method=\"zoom\" data-option=\"-0.1\" title=\"Zoom Out\">\r\n <span class=\"docs-tooltip\" data-toggle=\"tooltip\" title=\"\" data-original-title=\"cropper.zoom(-0.1)\">\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\" data-method=\"move\" data-option=\"-10\" data-second-option=\"0\" title=\"Move Left\">\r\n <span class=\"docs-tooltip\" data-toggle=\"tooltip\" title=\"\" data-original-title=\"cropper.move(-10, 0)\" aria-describedby=\"tooltip631939\">\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\" data-method=\"move\" data-option=\"10\" data-second-option=\"0\" title=\"Move Right\">\r\n <span class=\"docs-tooltip\" data-toggle=\"tooltip\" title=\"\" data-original-title=\"cropper.move(10, 0)\">\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\" data-method=\"move\" data-option=\"0\" data-second-option=\"-10\" title=\"Move Up\">\r\n <span class=\"docs-tooltip\" data-toggle=\"tooltip\" title=\"\" data-original-title=\"cropper.move(0, -10)\">\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\" data-method=\"move\" data-option=\"0\" data-second-option=\"10\" title=\"Move Down\">\r\n <span class=\"docs-tooltip\" data-toggle=\"tooltip\" title=\"\" data-original-title=\"cropper.move(0, 10)\">\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\" data-method=\"rotate\" data-option=\"-45\" title=\"Rotate Left\">\r\n <span class=\"docs-tooltip\" data-toggle=\"tooltip\" title=\"\" data-original-title=\"cropper.rotate(-45)\" aria-describedby=\"tooltip236044\">\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\" data-method=\"rotate\" data-option=\"45\" title=\"Rotate Right\">\r\n <span class=\"docs-tooltip\" data-toggle=\"tooltip\" title=\"\" data-original-title=\"cropper.rotate(45)\">\r\n <span class=\"fa fa-redo-alt\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\" align=\"right\">\r\n <button type=\"button\" id=\"btnClose\" class=\"btn btn-default\" (click)=\"openModal(false)\">\r\n <i class=\"fa fa-times fa-fw\"></i> {{UtilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"button\" (click)=\"cropImage()\" id=\"btnOK\" class=\"btn btn-success\">\r\n <i class=\"fa fa-check fa-fw\"></i>\r\n {{UtilityService.getResourceValue(\"Crop\")}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"text-danger Required-text\" *ngIf=\"(ImageUploadFormControl.invalid && ImageUploadFormControl.touched)\">\r\n {{getErrorValidation(ImageUploadFormControl.errors|keyvalue)}}\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"control-desc text-dark\">{{options.LabelDescription}}</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</div>\r\n",
|
|
3377
3381
|
styles: [".e-tip-content{background-color:#afafaf;color:#fff;padding-left:10px;padding-right:10px;padding-top:2px}.my-drop-zone{border:dotted 3px lightgray}.nv-file-over{border:dotted 3px red}.another-file-over-class{border:dotted 3px green}html,body{height:100%}.modal{display:none;position:fixed;z-index:1;padding-top:100px;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:#0006}.modal-content{position:relative;background-color:#fefefe;margin:auto;padding:0;border:1px solid #888;width:80%;box-shadow:0 4px 8px #0003,0 6px 20px #00000030;-webkit-animation-name:animatetop;-webkit-animation-duration:.4s;animation-name:animatetop;animation-duration:.4s}@keyframes animatetop{0%{top:-300px;opacity:0}to{top:0;opacity:1}}.close{color:#fff;float:right;font-size:28px;font-weight:bold}.ImageUploadClassSelector img{cursor:pointer}.d-inline-flex.h-auto.m-0.overflow-hidden.w-auto.ng-untouched.ng-pristine.ng-valid{border-radius:40px;border-color:#c7c7c7}\n"]
|
|
3378
3382
|
},] }
|
|
3379
3383
|
];
|
|
@@ -4672,6 +4676,12 @@
|
|
|
4672
4676
|
OnChange: [{ type: i0.Output }]
|
|
4673
4677
|
};
|
|
4674
4678
|
|
|
4679
|
+
exports.LanguageValidation = void 0;
|
|
4680
|
+
(function (LanguageValidation) {
|
|
4681
|
+
LanguageValidation[LanguageValidation["English"] = 1] = "English";
|
|
4682
|
+
LanguageValidation[LanguageValidation["Arabic"] = 2] = "Arabic";
|
|
4683
|
+
})(exports.LanguageValidation || (exports.LanguageValidation = {}));
|
|
4684
|
+
|
|
4675
4685
|
var TextboxComponent = /** @class */ (function () {
|
|
4676
4686
|
// tslint:disable-next-line: max-line-length
|
|
4677
4687
|
function TextboxComponent(controlUtility, controlContainer, TextControlHost, UtilityService, controlValidationService, globalSettings) {
|
|
@@ -4773,18 +4783,18 @@
|
|
|
4773
4783
|
}
|
|
4774
4784
|
break;
|
|
4775
4785
|
}
|
|
4776
|
-
|
|
4777
|
-
|
|
4778
|
-
|
|
4779
|
-
|
|
4780
|
-
|
|
4781
|
-
|
|
4782
|
-
|
|
4783
|
-
|
|
4784
|
-
|
|
4785
|
-
|
|
4786
|
-
|
|
4787
|
-
|
|
4786
|
+
if (this.options.LanguageValidation) {
|
|
4787
|
+
if (this.options.LanguageValidation == exports.LanguageValidation.Arabic) {
|
|
4788
|
+
this.validationRules.push(forms.Validators.compose([
|
|
4789
|
+
this.controlUtility.patternValidator(/^[^A-Za-z]*$/, { ArabicLetterOnly: this.ArabicLetterOnly }),
|
|
4790
|
+
]));
|
|
4791
|
+
}
|
|
4792
|
+
else if (this.options.LanguageValidation == exports.LanguageValidation.English) {
|
|
4793
|
+
this.validationRules.push(forms.Validators.compose([
|
|
4794
|
+
this.controlUtility.patternValidator(/^[\x00-\x7F]*$/, { EnglishLetterOnly: this.EnglishLetterOnly }),
|
|
4795
|
+
]));
|
|
4796
|
+
}
|
|
4797
|
+
}
|
|
4788
4798
|
if (this.options.CustomValidation.length > 0) {
|
|
4789
4799
|
var Validations = this.options.CustomValidation;
|
|
4790
4800
|
for (var index = 0; index < Validations.length; index++) {
|
|
@@ -4875,7 +4885,7 @@
|
|
|
4875
4885
|
TextboxComponent.decorators = [
|
|
4876
4886
|
{ type: i0.Component, args: [{
|
|
4877
4887
|
selector: 'BBSF-TextBox',
|
|
4878
|
-
template: "<div class=\"b-control b-textbox\">\r\n
|
|
4888
|
+
template: "<div class=\"b-control b-textbox\">\r\n <div class=\"form-group row validate is-invalid\" [formGroup]=\"group\" [ngClass]=\"(options.NoMargin==true)?'':'NoMargin'\">\r\n <label class=\"b-label col-form-label col-sm-12 \" [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\" *ngIf=\"!options.HideLabel\">\r\n {{options.LabelValue}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger Required-text\"\r\n aria-required=\"true\">*</span>\r\n </label>\r\n\r\n <div class=\"col-sm-12\" [ngClass]=\"(options.ViewType==1)?'': ((options.HideLabel)?'col-md-12':'col-md-9')\">\r\n <div class=\"input-group align-items-center\" *ngIf=\"MaskPattern!=null&&MaskPattern!=''\">\r\n <div class=\"svg svg-icon-grey\" [ngClass]=\"(options.IconPosition==1)?'left-icon':'right-icon'\" *ngIf=\"options.Icon!=null\">\r\n <span [inlineSVG]=\"options.Icon\"></span>\r\n </div>\r\n <input [mask]=\"MaskPattern\" placeHolderCharacter=\" \" [showMaskTyped]=\"true\" [validation]=\"true\"\r\n class=\"form-control bnsights-control {{options.ExtraClasses}}\"\r\n dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\" formControlName=\"{{options.Name}}\"\r\n type=\"{{getInputType(options.Type)}}\"\r\n [class.is-invalid]=\"TextBoxFormControl.invalid && TextBoxFormControl.touched\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" autocomplete=\"{{options.AutoComplete}}\"\r\n (change)=\"trimControlValue()\" (keyup)=\"onTextChange()\"\r\n (keydown)=\"WordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #userinput>\r\n <div class=\"input-group-append\">\r\n <span class=\"input-group-text\" *ngIf=\"options.EnableCopyToClipboard\" (click)=\"copyInputMessage(userinput)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </span>\r\n </div>\r\n <div class=\"text-muted font-weight-500 word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowWordCount\">{{WordCount}}/{{options.MaxWordCount}} Words</div>\r\n </div>\r\n\r\n <div class=\"input-group align-items-center\" *ngIf=\"MaskPattern==null||MaskPattern==''\">\r\n <div class=\"svg svg-icon-grey\" [ngClass]=\"(options.IconPosition==1)?'left-icon':'right-icon'\" *ngIf=\"options.Icon!=null\">\r\n <span [inlineSVG]=\"options.Icon\"></span>\r\n </div>\r\n <input class=\"form-control bnsights-control {{options.ExtraClasses}} \"\r\n dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n (focus)=\"showWordCount(true)\" (focusout)=\"showWordCount(false)\"\r\n maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\"\r\n aria-describedby=\"email-error\"\r\n aria-invalid=\"true\" formControlName=\"{{options.Name}}\" type=\"{{getInputType(options.Type)}}\"\r\n [class.is-invalid]=\"TextBoxFormControl.invalid && TextBoxFormControl.touched\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" autocomplete=\"{{options.AutoComplete}}\"\r\n (change)=\"trimControlValue()\" (keyup)=\"onTextChange()\"\r\n (keydown)=\"WordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #userinput>\r\n <div class=\"input-group-append\" *ngIf=\"options.EnableCopyToClipboard\">\r\n <span class=\"input-group-text\" (click)=\"copyInputMessage(userinput)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </span>\r\n </div>\r\n <div class=\"text-muted font-weight-500 word-count float-end\" *ngIf=\"options.MaxWordCount>0&&IsShowWordCount\">{{WordCount}}/{{options.MaxWordCount}} Words</div>\r\n </div>\r\n <div class=\"text-danger Required-text\" dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n *ngIf=\"(TextBoxFormControl.invalid && TextBoxFormControl.touched)\">\r\n {{getErrorValidation(TextBoxFormControl.errors|keyvalue)}}\r\n </div>\r\n <div class=\"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 </div>\r\n</div>\r\n",
|
|
4879
4889
|
styles: [".example-form{min-width:150px;max-width:500px;width:100%}.example-full-width{width:100%}.flip_V{transform:scaleY(-1)}\n"]
|
|
4880
4890
|
},] }
|
|
4881
4891
|
];
|
|
@@ -5523,7 +5533,7 @@
|
|
|
5523
5533
|
showCancelButton: true,
|
|
5524
5534
|
confirmButtonColor: this.btnColor,
|
|
5525
5535
|
cancelButtonColor: '#f5f8fa',
|
|
5526
|
-
cancelButtonText: this.utilityService.getResourceValue("
|
|
5536
|
+
cancelButtonText: this.utilityService.getResourceValue("CancelLabel"),
|
|
5527
5537
|
confirmButtonText: this.options.SubmitButtonText,
|
|
5528
5538
|
showCloseButton: true,
|
|
5529
5539
|
}).then(function (result) {
|
|
@@ -5634,6 +5644,7 @@
|
|
|
5634
5644
|
function RepeaterComponent() {
|
|
5635
5645
|
this.templateRefs = [];
|
|
5636
5646
|
this.items = [];
|
|
5647
|
+
this.originalItems = [];
|
|
5637
5648
|
this.repeaterContext = { index: 0, delete: null, elements: null };
|
|
5638
5649
|
}
|
|
5639
5650
|
RepeaterComponent.prototype.ngOnInit = function () {
|
|
@@ -5641,10 +5652,16 @@
|
|
|
5641
5652
|
this.currentTemplate = this.initialTemplate;
|
|
5642
5653
|
this.repeaterGroup = new forms.FormGroup({});
|
|
5643
5654
|
this.group.addControl(this.options.Name, this.repeaterGroup);
|
|
5644
|
-
|
|
5645
|
-
|
|
5646
|
-
this.
|
|
5655
|
+
if (this.options.RepeaterValue.length > 0) {
|
|
5656
|
+
this.originalItems = this.options.RepeaterValue;
|
|
5657
|
+
for (var index = 0; index < this.options.RepeaterValue.length; index++) {
|
|
5658
|
+
this.items.push(index + 1);
|
|
5659
|
+
}
|
|
5647
5660
|
}
|
|
5661
|
+
else
|
|
5662
|
+
for (var index = 0; index < this.options.MinRequiredItems; index++) {
|
|
5663
|
+
this.items.push(index);
|
|
5664
|
+
}
|
|
5648
5665
|
this.repeaterGroup.valueChanges.subscribe(function (res) {
|
|
5649
5666
|
var _a, _b;
|
|
5650
5667
|
var result = [];
|
|
@@ -5689,6 +5706,7 @@
|
|
|
5689
5706
|
};
|
|
5690
5707
|
RepeaterComponent.prototype.deleteItem = function (Index) {
|
|
5691
5708
|
var _a;
|
|
5709
|
+
var _this = this;
|
|
5692
5710
|
if (this.items.length == this.options.MinRequiredItems && this.options.IsRequired)
|
|
5693
5711
|
return;
|
|
5694
5712
|
var deletedControls = [];
|
|
@@ -5713,11 +5731,10 @@
|
|
|
5713
5731
|
}
|
|
5714
5732
|
}
|
|
5715
5733
|
}
|
|
5716
|
-
|
|
5717
|
-
this.items = this.items.filter(function (res) { return res != item; });
|
|
5734
|
+
this.items = this.items.filter(function (res) { return res != _this.items[Index]; });
|
|
5718
5735
|
};
|
|
5719
|
-
RepeaterComponent.prototype.
|
|
5720
|
-
this.items.push(this.items.length + 1);
|
|
5736
|
+
RepeaterComponent.prototype.addItem = function () {
|
|
5737
|
+
this.items.push(this.items[this.items.length - 1] + 1);
|
|
5721
5738
|
};
|
|
5722
5739
|
RepeaterComponent.prototype.ngAfterViewInit = function () {
|
|
5723
5740
|
var templateRefs = this._templates["_results"].map(function (item) { return item["template"]; });
|
|
@@ -5733,7 +5750,7 @@
|
|
|
5733
5750
|
RepeaterComponent.decorators = [
|
|
5734
5751
|
{ type: i0.Component, args: [{
|
|
5735
5752
|
selector: 'BBSF-repeater',
|
|
5736
|
-
template: "<
|
|
5753
|
+
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\"> <span\r\n [innerHTML]=\"options.DeleteButtonText\"></span></button>\r\n</ng-template>\r\n\r\n<ng-template #add>\r\n <button class=\"{{options.AddButtonExtraClasses}}\" type=\"button\" (click)=\"addItem()\"><span\r\n [innerHTML]=\"options.AddButtonText\"></span></button>\r\n</ng-template>\r\n\r\n\r\n\r\n\r\n\r\n<!-- <ng-template adHost></ng-template> -->\r\n",
|
|
5737
5754
|
styles: [""]
|
|
5738
5755
|
},] }
|
|
5739
5756
|
];
|
|
@@ -5958,6 +5975,8 @@
|
|
|
5958
5975
|
this.CustomValidation = [];
|
|
5959
5976
|
/** to set Direction of textbox if textbox is Arabic or English */
|
|
5960
5977
|
this.ForceDirection = null;
|
|
5978
|
+
/** to set Language of textbox if textbox language is Arabic or English */
|
|
5979
|
+
this.LanguageValidation = null;
|
|
5961
5980
|
/** Set Type of TextBox ("text","password","email","number") */
|
|
5962
5981
|
this.Type = exports.InputType.Text;
|
|
5963
5982
|
this.IconPosition = exports.IconPosition.left;
|
|
@@ -5998,12 +6017,24 @@
|
|
|
5998
6017
|
function RepeaterFieldBuilderComponent(renderComponentService, TextControlHost) {
|
|
5999
6018
|
this.renderComponentService = renderComponentService;
|
|
6000
6019
|
this.TextControlHost = TextControlHost;
|
|
6020
|
+
this.itemsValue = [];
|
|
6021
|
+
this.itemValue = null;
|
|
6001
6022
|
}
|
|
6002
6023
|
RepeaterFieldBuilderComponent.prototype.ngOnInit = function () {
|
|
6003
6024
|
};
|
|
6004
6025
|
RepeaterFieldBuilderComponent.prototype.ngAfterViewInit = function () {
|
|
6005
6026
|
var _this = this;
|
|
6006
6027
|
setTimeout(function () {
|
|
6028
|
+
if (_this.itemsValue.length > 0)
|
|
6029
|
+
_this.itemValue = _this.itemsValue[_this.itemNumber];
|
|
6030
|
+
if (_this.itemValue) {
|
|
6031
|
+
for (var key in _this.itemValue) {
|
|
6032
|
+
if (Object.prototype.hasOwnProperty.call(_this.itemValue, key) && key == _this.RepeaterField.ControlOptions.Name) {
|
|
6033
|
+
var element = _this.itemValue[key];
|
|
6034
|
+
_this.value = element;
|
|
6035
|
+
}
|
|
6036
|
+
}
|
|
6037
|
+
}
|
|
6007
6038
|
_this.Item.clear();
|
|
6008
6039
|
switch (_this.RepeaterField.ControlType) {
|
|
6009
6040
|
///TextBox
|
|
@@ -6016,10 +6047,12 @@
|
|
|
6016
6047
|
Text.ViewType = _this.RepeaterField.ControlOptions.ViewType;
|
|
6017
6048
|
Text.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6018
6049
|
Text.Type = exports.InputType.Text;
|
|
6050
|
+
Text.LanguageValidation = _this.RepeaterField.ControlOptions.LanguageValidation;
|
|
6019
6051
|
if (_this.RepeaterField.ControlOptions.maxLength)
|
|
6020
6052
|
Text.MaxLength = _this.RepeaterField.ControlOptions.maxLength;
|
|
6021
6053
|
if (_this.RepeaterField.ControlOptions.minLength)
|
|
6022
6054
|
Text.MinLength = _this.RepeaterField.ControlOptions.minLength;
|
|
6055
|
+
Text.Value = _this.value;
|
|
6023
6056
|
_this.renderComponentService.renderDynamicComponent(_this.Item, TextboxComponent, _this.group, Text);
|
|
6024
6057
|
break;
|
|
6025
6058
|
case exports.DataType.Name:
|
|
@@ -6029,12 +6062,14 @@
|
|
|
6029
6062
|
Name.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
|
|
6030
6063
|
Name.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
|
|
6031
6064
|
Name.ViewType = _this.RepeaterField.ControlOptions.ViewType;
|
|
6065
|
+
Name.LanguageValidation = _this.RepeaterField.ControlOptions.LanguageValidation;
|
|
6032
6066
|
Name.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6033
6067
|
if (_this.RepeaterField.ControlOptions.maxLength)
|
|
6034
6068
|
Name.MaxLength = _this.RepeaterField.ControlOptions.maxLength;
|
|
6035
6069
|
if (_this.RepeaterField.ControlOptions.minLength)
|
|
6036
6070
|
Name.MinLength = _this.RepeaterField.ControlOptions.minLength;
|
|
6037
6071
|
Name.Type = exports.InputType.Text;
|
|
6072
|
+
Name.Value = _this.value;
|
|
6038
6073
|
_this.renderComponentService.renderDynamicComponent(_this.Item, TextboxComponent, _this.group, Name);
|
|
6039
6074
|
break;
|
|
6040
6075
|
case exports.DataType.Email:
|
|
@@ -6044,8 +6079,10 @@
|
|
|
6044
6079
|
Email.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
|
|
6045
6080
|
Email.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
|
|
6046
6081
|
Email.ViewType = _this.RepeaterField.ControlOptions.ViewType;
|
|
6082
|
+
Email.LanguageValidation = _this.RepeaterField.ControlOptions.LanguageValidation;
|
|
6047
6083
|
Email.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6048
6084
|
Email.Type = exports.InputType.Email;
|
|
6085
|
+
Email.Value = _this.value;
|
|
6049
6086
|
_this.renderComponentService.renderDynamicComponent(_this.Item, TextboxComponent, _this.group, Email);
|
|
6050
6087
|
break;
|
|
6051
6088
|
case exports.DataType.Number:
|
|
@@ -6055,12 +6092,14 @@
|
|
|
6055
6092
|
Number.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
|
|
6056
6093
|
Number.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
|
|
6057
6094
|
Number.ViewType = _this.RepeaterField.ControlOptions.ViewType;
|
|
6095
|
+
Number.LanguageValidation = _this.RepeaterField.ControlOptions.LanguageValidation;
|
|
6058
6096
|
Number.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6059
6097
|
Number.Type = exports.InputType.Number;
|
|
6060
6098
|
var rangeNumber = new RangeNumber();
|
|
6061
6099
|
rangeNumber.To = _this.RepeaterField.ControlOptions.maxLength;
|
|
6062
6100
|
rangeNumber.From = _this.RepeaterField.ControlOptions.minLength;
|
|
6063
6101
|
Number.NumberRange = rangeNumber;
|
|
6102
|
+
Number.Value = _this.value;
|
|
6064
6103
|
_this.renderComponentService.renderDynamicComponent(_this.Item, TextboxComponent, _this.group, Number);
|
|
6065
6104
|
break;
|
|
6066
6105
|
///DateTime
|
|
@@ -6075,6 +6114,7 @@
|
|
|
6075
6114
|
Date.PickerType = exports.PickerType.Calendar;
|
|
6076
6115
|
Date.SelectMode = exports.SelectMode.Single;
|
|
6077
6116
|
Date.StartView = exports.StartView.Month;
|
|
6117
|
+
Date.Value = _this.value;
|
|
6078
6118
|
_this.renderComponentService.renderDynamicComponent(_this.Item, DateInputComponent, _this.group, Date);
|
|
6079
6119
|
break;
|
|
6080
6120
|
case exports.DataType.DateTime:
|
|
@@ -6088,6 +6128,7 @@
|
|
|
6088
6128
|
DateTime.PickerType = exports.PickerType.Both;
|
|
6089
6129
|
DateTime.SelectMode = exports.SelectMode.Single;
|
|
6090
6130
|
DateTime.StartView = exports.StartView.Month;
|
|
6131
|
+
DateTime.Value = _this.value;
|
|
6091
6132
|
_this.renderComponentService.renderDynamicComponent(_this.Item, DateInputComponent, _this.group, DateTime);
|
|
6092
6133
|
break;
|
|
6093
6134
|
case exports.DataType.Time:
|
|
@@ -6101,6 +6142,7 @@
|
|
|
6101
6142
|
Time.PickerType = exports.PickerType.Timer;
|
|
6102
6143
|
Time.SelectMode = exports.SelectMode.Single;
|
|
6103
6144
|
Time.StartView = exports.StartView.Month;
|
|
6145
|
+
Time.Value = _this.value;
|
|
6104
6146
|
_this.renderComponentService.renderDynamicComponent(_this.Item, DateInputComponent, _this.group, Time);
|
|
6105
6147
|
break;
|
|
6106
6148
|
//Dropdown
|
|
@@ -6116,6 +6158,7 @@
|
|
|
6116
6158
|
SingleSelect.SingleSelection = true;
|
|
6117
6159
|
SingleSelect.ShowCheckbox = false;
|
|
6118
6160
|
SingleSelect.AllowSearchFilter = _this.RepeaterField.ControlOptions.hasSearch;
|
|
6161
|
+
SingleSelect.SelectedItems = _this.value;
|
|
6119
6162
|
_this.renderComponentService.renderDynamicComponent(_this.Item, DropdownListComponent, _this.group, SingleSelect);
|
|
6120
6163
|
break;
|
|
6121
6164
|
case exports.DataType.MulipleSelect:
|
|
@@ -6130,6 +6173,7 @@
|
|
|
6130
6173
|
MulipleSelect.SingleSelection = false;
|
|
6131
6174
|
MulipleSelect.ShowCheckbox = false;
|
|
6132
6175
|
MulipleSelect.AllowSearchFilter = _this.RepeaterField.ControlOptions.hasSearch;
|
|
6176
|
+
MulipleSelect.SelectedItems = _this.value;
|
|
6133
6177
|
_this.renderComponentService.renderDynamicComponent(_this.Item, DropdownListComponent, _this.group, MulipleSelect);
|
|
6134
6178
|
break;
|
|
6135
6179
|
case exports.DataType.Goal:
|
|
@@ -6144,6 +6188,7 @@
|
|
|
6144
6188
|
Goal.SingleSelection = !_this.RepeaterField.ControlOptions.isMultiple;
|
|
6145
6189
|
Goal.ShowCheckbox = false;
|
|
6146
6190
|
Goal.AllowSearchFilter = _this.RepeaterField.ControlOptions.hasSearch;
|
|
6191
|
+
Goal.SelectedItems = _this.value;
|
|
6147
6192
|
_this.renderComponentService.renderDynamicComponent(_this.Item, DropdownListComponent, _this.group, Goal);
|
|
6148
6193
|
break;
|
|
6149
6194
|
case exports.DataType.Challenge:
|
|
@@ -6159,6 +6204,7 @@
|
|
|
6159
6204
|
Challenge.SingleSelection = !_this.RepeaterField.ControlOptions.isMultiple;
|
|
6160
6205
|
Challenge.ShowCheckbox = false;
|
|
6161
6206
|
Challenge.AllowSearchFilter = _this.RepeaterField.ControlOptions.hasSearch;
|
|
6207
|
+
Challenge.SelectedItems = _this.value;
|
|
6162
6208
|
_this.renderComponentService.renderDynamicComponent(_this.Item, DropdownListComponent, _this.group, Challenge);
|
|
6163
6209
|
break;
|
|
6164
6210
|
case exports.DataType.InnovationLab:
|
|
@@ -6173,6 +6219,7 @@
|
|
|
6173
6219
|
InnovationLab.SingleSelection = !_this.RepeaterField.ControlOptions.isMultiple;
|
|
6174
6220
|
InnovationLab.ShowCheckbox = false;
|
|
6175
6221
|
InnovationLab.AllowSearchFilter = _this.RepeaterField.ControlOptions.hasSearch;
|
|
6222
|
+
InnovationLab.SelectedItems = _this.value;
|
|
6176
6223
|
_this.renderComponentService.renderDynamicComponent(_this.Item, DropdownListComponent, _this.group, InnovationLab);
|
|
6177
6224
|
break;
|
|
6178
6225
|
case exports.DataType.Country:
|
|
@@ -6187,6 +6234,7 @@
|
|
|
6187
6234
|
Country.SingleSelection = !_this.RepeaterField.ControlOptions.isMultiple;
|
|
6188
6235
|
Country.ShowCheckbox = false;
|
|
6189
6236
|
Country.AllowSearchFilter = _this.RepeaterField.ControlOptions.hasSearch;
|
|
6237
|
+
Country.SelectedItems = _this.value;
|
|
6190
6238
|
_this.renderComponentService.renderDynamicComponent(_this.Item, DropdownListComponent, _this.group, Country);
|
|
6191
6239
|
break;
|
|
6192
6240
|
//FileUpload
|
|
@@ -6199,6 +6247,7 @@
|
|
|
6199
6247
|
File.ViewType = _this.RepeaterField.ControlOptions.ViewType;
|
|
6200
6248
|
File.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6201
6249
|
File.FileMaxSizeInMB = _this.RepeaterField.ControlOptions.maxFileSizeInMB;
|
|
6250
|
+
File.Value = _this.value;
|
|
6202
6251
|
_this.renderComponentService.renderDynamicComponent(_this.Item, FileUploadComponent, _this.group, File);
|
|
6203
6252
|
break;
|
|
6204
6253
|
case exports.DataType.MultiFile:
|
|
@@ -6212,6 +6261,7 @@
|
|
|
6212
6261
|
MultiFile.MaxSizeForAllFilesInMB = _this.RepeaterField.ControlOptions.maxFileSizeInMB;
|
|
6213
6262
|
MultiFile.MaxNoOfFiles = _this.RepeaterField.ControlOptions.maxFileCount;
|
|
6214
6263
|
MultiFile.IsMultipleFile = true;
|
|
6264
|
+
MultiFile.Value = _this.value;
|
|
6215
6265
|
_this.renderComponentService.renderDynamicComponent(_this.Item, FileUploadComponent, _this.group, MultiFile);
|
|
6216
6266
|
break;
|
|
6217
6267
|
//ImageUpload
|
|
@@ -6225,6 +6275,7 @@
|
|
|
6225
6275
|
Image.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6226
6276
|
if (_this.RepeaterField.ControlOptions.maxFileSizeInMB)
|
|
6227
6277
|
Image.FileMaxSizeInMB = _this.RepeaterField.ControlOptions.maxFileSizeInMB;
|
|
6278
|
+
Image.Value = _this.value;
|
|
6228
6279
|
_this.renderComponentService.renderDynamicComponent(_this.Item, ImageUploaderComponent, _this.group, Image);
|
|
6229
6280
|
break;
|
|
6230
6281
|
case exports.DataType.CoverPhoto:
|
|
@@ -6237,6 +6288,7 @@
|
|
|
6237
6288
|
CoverPhoto.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6238
6289
|
if (_this.RepeaterField.ControlOptions.maxFileSizeInMB)
|
|
6239
6290
|
CoverPhoto.FileMaxSizeInMB = _this.RepeaterField.ControlOptions.maxFileSizeInMB;
|
|
6291
|
+
CoverPhoto.Value = _this.value;
|
|
6240
6292
|
_this.renderComponentService.renderDynamicComponent(_this.Item, ImageUploaderComponent, _this.group, CoverPhoto);
|
|
6241
6293
|
break;
|
|
6242
6294
|
//Mobile
|
|
@@ -6252,6 +6304,7 @@
|
|
|
6252
6304
|
Mobile.PhoneValidation = true;
|
|
6253
6305
|
Mobile.SelectFirstCountry = true;
|
|
6254
6306
|
Mobile.EnablePlaceholder = true;
|
|
6307
|
+
Mobile.Value = _this.value;
|
|
6255
6308
|
_this.renderComponentService.renderDynamicComponent(_this.Item, PhoneComponent, _this.group, Mobile);
|
|
6256
6309
|
break;
|
|
6257
6310
|
//MultilineText
|
|
@@ -6269,6 +6322,7 @@
|
|
|
6269
6322
|
MultilineText.MinLength = _this.RepeaterField.ControlOptions.minLength;
|
|
6270
6323
|
MultilineText.Rows = _this.RepeaterField.ControlOptions.rows;
|
|
6271
6324
|
MultilineText.ForceDirection = _this.RepeaterField.ControlOptions.ForceDirection;
|
|
6325
|
+
MultilineText.Value = _this.value;
|
|
6272
6326
|
_this.renderComponentService.renderDynamicComponent(_this.Item, TextAreaComponent, _this.group, MultilineText);
|
|
6273
6327
|
break;
|
|
6274
6328
|
//HTML
|
|
@@ -6286,6 +6340,7 @@
|
|
|
6286
6340
|
HTML.MinLength = _this.RepeaterField.ControlOptions.minLength;
|
|
6287
6341
|
HTML.Height = _this.RepeaterField.ControlOptions.rows;
|
|
6288
6342
|
HTML.ForceDirection = _this.RepeaterField.ControlOptions.ForceDirection;
|
|
6343
|
+
HTML.Value = _this.value;
|
|
6289
6344
|
_this.renderComponentService.renderDynamicComponent(_this.Item, HtmlEditorComponent, _this.group, HTML);
|
|
6290
6345
|
break;
|
|
6291
6346
|
//Boolean
|
|
@@ -6295,6 +6350,7 @@
|
|
|
6295
6350
|
Boolean.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
|
|
6296
6351
|
Boolean.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
|
|
6297
6352
|
Boolean.ViewType = _this.RepeaterField.ControlOptions.ViewType;
|
|
6353
|
+
Boolean.Value = _this.value;
|
|
6298
6354
|
Boolean.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6299
6355
|
_this.renderComponentService.renderDynamicComponent(_this.Item, ToggleslideComponent, _this.group, Boolean);
|
|
6300
6356
|
break;
|
|
@@ -6306,6 +6362,7 @@
|
|
|
6306
6362
|
Location.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
|
|
6307
6363
|
Location.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
|
|
6308
6364
|
Location.ViewType = _this.RepeaterField.ControlOptions.ViewType;
|
|
6365
|
+
Location.Value = _this.value;
|
|
6309
6366
|
Location.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6310
6367
|
_this.renderComponentService.renderDynamicComponent(_this.Item, MapAutoCompleteComponent, _this.group, Location);
|
|
6311
6368
|
break;
|
|
@@ -6315,341 +6372,342 @@
|
|
|
6315
6372
|
}, 0);
|
|
6316
6373
|
};
|
|
6317
6374
|
RepeaterFieldBuilderComponent.prototype.ngOnChanges = function (changes) {
|
|
6318
|
-
if (changes.itemNumber
|
|
6319
|
-
|
|
6320
|
-
|
|
6321
|
-
|
|
6322
|
-
|
|
6323
|
-
|
|
6324
|
-
|
|
6325
|
-
|
|
6326
|
-
|
|
6327
|
-
|
|
6328
|
-
|
|
6329
|
-
|
|
6330
|
-
|
|
6331
|
-
|
|
6332
|
-
|
|
6333
|
-
|
|
6334
|
-
|
|
6335
|
-
|
|
6336
|
-
|
|
6337
|
-
|
|
6338
|
-
|
|
6339
|
-
|
|
6340
|
-
|
|
6341
|
-
|
|
6342
|
-
|
|
6343
|
-
|
|
6344
|
-
|
|
6345
|
-
|
|
6346
|
-
|
|
6347
|
-
|
|
6348
|
-
|
|
6349
|
-
|
|
6350
|
-
|
|
6351
|
-
|
|
6352
|
-
|
|
6353
|
-
|
|
6354
|
-
|
|
6355
|
-
|
|
6356
|
-
|
|
6357
|
-
|
|
6358
|
-
|
|
6359
|
-
|
|
6360
|
-
|
|
6361
|
-
|
|
6362
|
-
|
|
6363
|
-
|
|
6364
|
-
|
|
6365
|
-
|
|
6366
|
-
|
|
6367
|
-
|
|
6368
|
-
|
|
6369
|
-
|
|
6370
|
-
|
|
6371
|
-
|
|
6372
|
-
|
|
6373
|
-
|
|
6374
|
-
|
|
6375
|
-
|
|
6376
|
-
|
|
6377
|
-
|
|
6378
|
-
|
|
6379
|
-
|
|
6380
|
-
|
|
6381
|
-
|
|
6382
|
-
|
|
6383
|
-
|
|
6384
|
-
|
|
6385
|
-
|
|
6386
|
-
|
|
6387
|
-
|
|
6388
|
-
|
|
6389
|
-
|
|
6390
|
-
|
|
6391
|
-
|
|
6392
|
-
|
|
6393
|
-
|
|
6394
|
-
|
|
6395
|
-
|
|
6396
|
-
|
|
6397
|
-
|
|
6398
|
-
|
|
6399
|
-
|
|
6400
|
-
|
|
6401
|
-
|
|
6402
|
-
|
|
6403
|
-
|
|
6404
|
-
|
|
6405
|
-
|
|
6406
|
-
|
|
6407
|
-
|
|
6408
|
-
|
|
6409
|
-
|
|
6410
|
-
|
|
6411
|
-
|
|
6412
|
-
|
|
6413
|
-
|
|
6414
|
-
|
|
6415
|
-
|
|
6416
|
-
|
|
6417
|
-
|
|
6418
|
-
|
|
6419
|
-
|
|
6420
|
-
|
|
6421
|
-
|
|
6422
|
-
|
|
6423
|
-
|
|
6424
|
-
|
|
6425
|
-
|
|
6426
|
-
|
|
6427
|
-
|
|
6428
|
-
|
|
6429
|
-
|
|
6430
|
-
|
|
6431
|
-
|
|
6432
|
-
|
|
6433
|
-
|
|
6434
|
-
|
|
6435
|
-
|
|
6436
|
-
|
|
6437
|
-
|
|
6438
|
-
|
|
6439
|
-
|
|
6440
|
-
|
|
6441
|
-
|
|
6442
|
-
|
|
6443
|
-
|
|
6444
|
-
|
|
6445
|
-
|
|
6446
|
-
|
|
6447
|
-
|
|
6448
|
-
|
|
6449
|
-
|
|
6450
|
-
|
|
6451
|
-
|
|
6452
|
-
|
|
6453
|
-
|
|
6454
|
-
|
|
6455
|
-
|
|
6456
|
-
|
|
6457
|
-
|
|
6458
|
-
|
|
6459
|
-
|
|
6460
|
-
|
|
6461
|
-
|
|
6462
|
-
|
|
6463
|
-
|
|
6464
|
-
|
|
6465
|
-
|
|
6466
|
-
|
|
6467
|
-
|
|
6468
|
-
|
|
6469
|
-
|
|
6470
|
-
|
|
6471
|
-
|
|
6472
|
-
|
|
6473
|
-
|
|
6474
|
-
|
|
6475
|
-
|
|
6476
|
-
|
|
6477
|
-
|
|
6478
|
-
|
|
6479
|
-
|
|
6480
|
-
|
|
6481
|
-
|
|
6482
|
-
|
|
6483
|
-
|
|
6484
|
-
|
|
6485
|
-
|
|
6486
|
-
|
|
6487
|
-
|
|
6488
|
-
|
|
6489
|
-
|
|
6490
|
-
|
|
6491
|
-
|
|
6492
|
-
|
|
6493
|
-
|
|
6494
|
-
|
|
6495
|
-
|
|
6496
|
-
|
|
6497
|
-
|
|
6498
|
-
|
|
6499
|
-
|
|
6500
|
-
|
|
6501
|
-
|
|
6502
|
-
|
|
6503
|
-
|
|
6504
|
-
|
|
6505
|
-
|
|
6506
|
-
|
|
6507
|
-
|
|
6508
|
-
|
|
6509
|
-
|
|
6510
|
-
|
|
6511
|
-
|
|
6512
|
-
|
|
6513
|
-
|
|
6514
|
-
|
|
6515
|
-
|
|
6516
|
-
|
|
6517
|
-
|
|
6518
|
-
|
|
6519
|
-
|
|
6520
|
-
|
|
6521
|
-
|
|
6522
|
-
|
|
6523
|
-
|
|
6524
|
-
|
|
6525
|
-
|
|
6526
|
-
|
|
6527
|
-
|
|
6528
|
-
|
|
6529
|
-
|
|
6530
|
-
|
|
6531
|
-
|
|
6532
|
-
|
|
6533
|
-
|
|
6534
|
-
|
|
6535
|
-
|
|
6536
|
-
|
|
6537
|
-
|
|
6538
|
-
|
|
6539
|
-
|
|
6540
|
-
|
|
6541
|
-
|
|
6542
|
-
|
|
6543
|
-
|
|
6544
|
-
|
|
6545
|
-
|
|
6546
|
-
|
|
6547
|
-
|
|
6548
|
-
|
|
6549
|
-
|
|
6550
|
-
|
|
6551
|
-
|
|
6552
|
-
|
|
6553
|
-
|
|
6554
|
-
|
|
6555
|
-
|
|
6556
|
-
|
|
6557
|
-
|
|
6558
|
-
|
|
6559
|
-
|
|
6560
|
-
|
|
6561
|
-
|
|
6562
|
-
|
|
6563
|
-
|
|
6564
|
-
|
|
6565
|
-
|
|
6566
|
-
|
|
6567
|
-
|
|
6568
|
-
|
|
6569
|
-
|
|
6570
|
-
|
|
6571
|
-
|
|
6572
|
-
|
|
6573
|
-
|
|
6574
|
-
|
|
6575
|
-
|
|
6576
|
-
|
|
6577
|
-
|
|
6578
|
-
|
|
6579
|
-
|
|
6580
|
-
|
|
6581
|
-
|
|
6582
|
-
|
|
6583
|
-
|
|
6584
|
-
|
|
6585
|
-
|
|
6586
|
-
|
|
6587
|
-
|
|
6588
|
-
|
|
6589
|
-
|
|
6590
|
-
|
|
6591
|
-
|
|
6592
|
-
|
|
6593
|
-
|
|
6594
|
-
|
|
6595
|
-
|
|
6596
|
-
|
|
6597
|
-
|
|
6598
|
-
|
|
6599
|
-
|
|
6600
|
-
|
|
6601
|
-
|
|
6602
|
-
|
|
6603
|
-
|
|
6604
|
-
|
|
6605
|
-
|
|
6606
|
-
|
|
6607
|
-
|
|
6608
|
-
|
|
6609
|
-
|
|
6610
|
-
|
|
6611
|
-
|
|
6612
|
-
|
|
6613
|
-
|
|
6614
|
-
|
|
6615
|
-
|
|
6616
|
-
|
|
6617
|
-
|
|
6618
|
-
|
|
6619
|
-
|
|
6620
|
-
|
|
6621
|
-
|
|
6622
|
-
|
|
6623
|
-
|
|
6624
|
-
|
|
6625
|
-
|
|
6626
|
-
|
|
6627
|
-
|
|
6628
|
-
|
|
6629
|
-
|
|
6630
|
-
|
|
6631
|
-
|
|
6632
|
-
|
|
6633
|
-
|
|
6634
|
-
|
|
6635
|
-
|
|
6636
|
-
|
|
6637
|
-
|
|
6638
|
-
|
|
6639
|
-
|
|
6640
|
-
|
|
6641
|
-
|
|
6642
|
-
|
|
6643
|
-
|
|
6644
|
-
|
|
6645
|
-
|
|
6646
|
-
|
|
6647
|
-
|
|
6648
|
-
|
|
6649
|
-
|
|
6650
|
-
|
|
6375
|
+
if (changes.itemNumber)
|
|
6376
|
+
if (changes.itemNumber.previousValue) {
|
|
6377
|
+
var name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.previousValue.toString() + "." + this.controlNumber.toString();
|
|
6378
|
+
var value = this.group.controls[name].value;
|
|
6379
|
+
this.Item.clear();
|
|
6380
|
+
this.group.removeControl(name);
|
|
6381
|
+
switch (this.RepeaterField.ControlType) {
|
|
6382
|
+
///TextBox
|
|
6383
|
+
case exports.DataType.Text:
|
|
6384
|
+
var Text = new TextBoxOptions();
|
|
6385
|
+
Text.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6386
|
+
Text.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6387
|
+
Text.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6388
|
+
Text.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6389
|
+
Text.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6390
|
+
Text.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6391
|
+
Text.Type = exports.InputType.Text;
|
|
6392
|
+
if (this.RepeaterField.ControlOptions.maxLength)
|
|
6393
|
+
Text.MaxLength = this.RepeaterField.ControlOptions.maxLength;
|
|
6394
|
+
if (this.RepeaterField.ControlOptions.minLength)
|
|
6395
|
+
Text.MinLength = this.RepeaterField.ControlOptions.minLength;
|
|
6396
|
+
Text.Value = value;
|
|
6397
|
+
this.renderComponentService.renderDynamicComponent(this.Item, TextboxComponent, this.group, Text);
|
|
6398
|
+
break;
|
|
6399
|
+
case exports.DataType.Name:
|
|
6400
|
+
var Name = new TextBoxOptions();
|
|
6401
|
+
Name.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6402
|
+
Name.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6403
|
+
Name.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6404
|
+
Name.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6405
|
+
Name.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6406
|
+
Name.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6407
|
+
if (this.RepeaterField.ControlOptions.maxLength)
|
|
6408
|
+
Name.MaxLength = this.RepeaterField.ControlOptions.maxLength;
|
|
6409
|
+
if (this.RepeaterField.ControlOptions.minLength)
|
|
6410
|
+
Name.MinLength = this.RepeaterField.ControlOptions.minLength;
|
|
6411
|
+
Name.Type = exports.InputType.Text;
|
|
6412
|
+
Name.Value = value;
|
|
6413
|
+
this.renderComponentService.renderDynamicComponent(this.Item, TextboxComponent, this.group, Name);
|
|
6414
|
+
break;
|
|
6415
|
+
case exports.DataType.Email:
|
|
6416
|
+
var Email = new TextBoxOptions();
|
|
6417
|
+
Email.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6418
|
+
Email.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6419
|
+
Email.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6420
|
+
Email.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6421
|
+
Email.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6422
|
+
Email.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6423
|
+
Email.Type = exports.InputType.Email;
|
|
6424
|
+
Email.Value = value;
|
|
6425
|
+
this.renderComponentService.renderDynamicComponent(this.Item, TextboxComponent, this.group, Email);
|
|
6426
|
+
break;
|
|
6427
|
+
case exports.DataType.Number:
|
|
6428
|
+
var Number = new TextBoxOptions();
|
|
6429
|
+
Number.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6430
|
+
Number.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6431
|
+
Number.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6432
|
+
Number.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6433
|
+
Number.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6434
|
+
Number.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6435
|
+
Number.Type = exports.InputType.Number;
|
|
6436
|
+
var rangeNumber = new RangeNumber();
|
|
6437
|
+
rangeNumber.To = this.RepeaterField.ControlOptions.maxLength;
|
|
6438
|
+
rangeNumber.From = this.RepeaterField.ControlOptions.minLength;
|
|
6439
|
+
Number.NumberRange = rangeNumber;
|
|
6440
|
+
Number.Value = value;
|
|
6441
|
+
this.renderComponentService.renderDynamicComponent(this.Item, TextboxComponent, this.group, Number);
|
|
6442
|
+
break;
|
|
6443
|
+
///DateTime
|
|
6444
|
+
case exports.DataType.Date:
|
|
6445
|
+
var Date = new DatePickerOptions();
|
|
6446
|
+
Date.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6447
|
+
Date.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6448
|
+
Date.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6449
|
+
Date.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6450
|
+
Date.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6451
|
+
Date.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6452
|
+
Date.PickerType = exports.PickerType.Calendar;
|
|
6453
|
+
Date.SelectMode = exports.SelectMode.Single;
|
|
6454
|
+
Date.StartView = exports.StartView.Month;
|
|
6455
|
+
Date.Value = value;
|
|
6456
|
+
this.renderComponentService.renderDynamicComponent(this.Item, DateInputComponent, this.group, Date);
|
|
6457
|
+
break;
|
|
6458
|
+
case exports.DataType.DateTime:
|
|
6459
|
+
var DateTime = new DatePickerOptions();
|
|
6460
|
+
DateTime.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6461
|
+
DateTime.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6462
|
+
DateTime.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6463
|
+
DateTime.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6464
|
+
DateTime.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6465
|
+
DateTime.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6466
|
+
DateTime.PickerType = exports.PickerType.Both;
|
|
6467
|
+
DateTime.SelectMode = exports.SelectMode.Single;
|
|
6468
|
+
DateTime.StartView = exports.StartView.Month;
|
|
6469
|
+
DateTime.Value = value;
|
|
6470
|
+
this.renderComponentService.renderDynamicComponent(this.Item, DateInputComponent, this.group, DateTime);
|
|
6471
|
+
break;
|
|
6472
|
+
case exports.DataType.Time:
|
|
6473
|
+
var Time = new DatePickerOptions();
|
|
6474
|
+
Time.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6475
|
+
Time.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6476
|
+
Time.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6477
|
+
Time.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6478
|
+
Time.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6479
|
+
Time.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6480
|
+
Time.PickerType = exports.PickerType.Timer;
|
|
6481
|
+
Time.SelectMode = exports.SelectMode.Single;
|
|
6482
|
+
Time.StartView = exports.StartView.Month;
|
|
6483
|
+
Time.Value = value;
|
|
6484
|
+
this.renderComponentService.renderDynamicComponent(this.Item, DateInputComponent, this.group, Time);
|
|
6485
|
+
break;
|
|
6486
|
+
//Dropdown
|
|
6487
|
+
case exports.DataType.SingleSelect:
|
|
6488
|
+
var SingleSelect = new DropdownOptions();
|
|
6489
|
+
SingleSelect.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6490
|
+
SingleSelect.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6491
|
+
SingleSelect.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6492
|
+
SingleSelect.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6493
|
+
SingleSelect.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6494
|
+
SingleSelect.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6495
|
+
SingleSelect.DataSource = this.RepeaterField.ControlOptions.dataSource;
|
|
6496
|
+
SingleSelect.SingleSelection = true;
|
|
6497
|
+
SingleSelect.ShowCheckbox = false;
|
|
6498
|
+
SingleSelect.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
|
|
6499
|
+
SingleSelect.SelectedItems = value;
|
|
6500
|
+
this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, SingleSelect);
|
|
6501
|
+
break;
|
|
6502
|
+
case exports.DataType.MulipleSelect:
|
|
6503
|
+
var MulipleSelect = new DropdownOptions();
|
|
6504
|
+
MulipleSelect.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6505
|
+
MulipleSelect.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6506
|
+
MulipleSelect.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6507
|
+
MulipleSelect.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6508
|
+
MulipleSelect.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6509
|
+
MulipleSelect.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6510
|
+
MulipleSelect.DataSource = this.RepeaterField.ControlOptions.dataSource;
|
|
6511
|
+
MulipleSelect.SingleSelection = false;
|
|
6512
|
+
MulipleSelect.ShowCheckbox = false;
|
|
6513
|
+
MulipleSelect.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
|
|
6514
|
+
MulipleSelect.SelectedItems = value;
|
|
6515
|
+
this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, MulipleSelect);
|
|
6516
|
+
break;
|
|
6517
|
+
case exports.DataType.Goal:
|
|
6518
|
+
var Goal = new DropdownOptions();
|
|
6519
|
+
Goal.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6520
|
+
Goal.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6521
|
+
Goal.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6522
|
+
Goal.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6523
|
+
Goal.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6524
|
+
Goal.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6525
|
+
Goal.DataSource = this.RepeaterField.ControlOptions.dataSource;
|
|
6526
|
+
Goal.SingleSelection = !this.RepeaterField.ControlOptions.isMultiple;
|
|
6527
|
+
Goal.ShowCheckbox = false;
|
|
6528
|
+
Goal.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
|
|
6529
|
+
Goal.SelectedItems = value;
|
|
6530
|
+
this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, Goal);
|
|
6531
|
+
break;
|
|
6532
|
+
case exports.DataType.Challenge:
|
|
6533
|
+
var Challenge = new DropdownOptions();
|
|
6534
|
+
Challenge.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6535
|
+
Challenge.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6536
|
+
Challenge.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6537
|
+
Challenge.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6538
|
+
Challenge.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6539
|
+
Challenge.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6540
|
+
Challenge.DataSource = this.RepeaterField.ControlOptions.dataSource;
|
|
6541
|
+
Challenge.DataSource = this.RepeaterField.ControlOptions.dataSource;
|
|
6542
|
+
Challenge.SingleSelection = !this.RepeaterField.ControlOptions.isMultiple;
|
|
6543
|
+
Challenge.ShowCheckbox = false;
|
|
6544
|
+
Challenge.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
|
|
6545
|
+
Challenge.SelectedItems = value;
|
|
6546
|
+
this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, Challenge);
|
|
6547
|
+
break;
|
|
6548
|
+
case exports.DataType.InnovationLab:
|
|
6549
|
+
var InnovationLab = new DropdownOptions();
|
|
6550
|
+
InnovationLab.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6551
|
+
InnovationLab.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6552
|
+
InnovationLab.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6553
|
+
InnovationLab.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6554
|
+
InnovationLab.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6555
|
+
InnovationLab.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6556
|
+
InnovationLab.DataSource = this.RepeaterField.ControlOptions.dataSource;
|
|
6557
|
+
InnovationLab.SingleSelection = !this.RepeaterField.ControlOptions.isMultiple;
|
|
6558
|
+
InnovationLab.ShowCheckbox = false;
|
|
6559
|
+
InnovationLab.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
|
|
6560
|
+
InnovationLab.SelectedItems = value;
|
|
6561
|
+
this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, InnovationLab);
|
|
6562
|
+
break;
|
|
6563
|
+
case exports.DataType.Country:
|
|
6564
|
+
var Country = new DropdownOptions();
|
|
6565
|
+
Country.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6566
|
+
Country.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6567
|
+
Country.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6568
|
+
Country.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6569
|
+
Country.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6570
|
+
Country.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6571
|
+
Country.DataSource = this.RepeaterField.ControlOptions.dataSource;
|
|
6572
|
+
Country.SingleSelection = !this.RepeaterField.ControlOptions.isMultiple;
|
|
6573
|
+
Country.ShowCheckbox = false;
|
|
6574
|
+
Country.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
|
|
6575
|
+
Country.SelectedItems = value;
|
|
6576
|
+
this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, Country);
|
|
6577
|
+
break;
|
|
6578
|
+
//FileUpload
|
|
6579
|
+
case exports.DataType.File:
|
|
6580
|
+
var File = new FileUploadOptions();
|
|
6581
|
+
File.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6582
|
+
File.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6583
|
+
File.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6584
|
+
File.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6585
|
+
File.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6586
|
+
File.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6587
|
+
File.FileMaxSizeInMB = this.RepeaterField.ControlOptions.maxFileSizeInMB;
|
|
6588
|
+
File.Value = value;
|
|
6589
|
+
this.renderComponentService.renderDynamicComponent(this.Item, FileUploadComponent, this.group, File);
|
|
6590
|
+
break;
|
|
6591
|
+
case exports.DataType.MultiFile:
|
|
6592
|
+
var MultiFile = new FileUploadOptions();
|
|
6593
|
+
File.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6594
|
+
File.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6595
|
+
File.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6596
|
+
File.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6597
|
+
File.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6598
|
+
File.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6599
|
+
MultiFile.MaxSizeForAllFilesInMB = this.RepeaterField.ControlOptions.maxFileSizeInMB;
|
|
6600
|
+
MultiFile.MaxNoOfFiles = this.RepeaterField.ControlOptions.maxFileCount;
|
|
6601
|
+
MultiFile.IsMultipleFile = true;
|
|
6602
|
+
MultiFile.Value = value;
|
|
6603
|
+
this.renderComponentService.renderDynamicComponent(this.Item, FileUploadComponent, this.group, MultiFile);
|
|
6604
|
+
break;
|
|
6605
|
+
//ImageUpload
|
|
6606
|
+
case exports.DataType.Image:
|
|
6607
|
+
var Image = new ImageUploadOptions();
|
|
6608
|
+
Image.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6609
|
+
Image.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6610
|
+
Image.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6611
|
+
Image.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6612
|
+
Image.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6613
|
+
Image.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6614
|
+
if (this.RepeaterField.ControlOptions.maxFileSizeInMB)
|
|
6615
|
+
Image.FileMaxSizeInMB = this.RepeaterField.ControlOptions.maxFileSizeInMB;
|
|
6616
|
+
Image.Value = value;
|
|
6617
|
+
this.renderComponentService.renderDynamicComponent(this.Item, ImageUploaderComponent, this.group, Image);
|
|
6618
|
+
break;
|
|
6619
|
+
case exports.DataType.CoverPhoto:
|
|
6620
|
+
var CoverPhoto = new ImageUploadOptions();
|
|
6621
|
+
CoverPhoto.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6622
|
+
CoverPhoto.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6623
|
+
CoverPhoto.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6624
|
+
CoverPhoto.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6625
|
+
CoverPhoto.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6626
|
+
CoverPhoto.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6627
|
+
if (this.RepeaterField.ControlOptions.maxFileSizeInMB)
|
|
6628
|
+
CoverPhoto.FileMaxSizeInMB = this.RepeaterField.ControlOptions.maxFileSizeInMB;
|
|
6629
|
+
CoverPhoto.Value = value;
|
|
6630
|
+
this.renderComponentService.renderDynamicComponent(this.Item, ImageUploaderComponent, this.group, CoverPhoto);
|
|
6631
|
+
break;
|
|
6632
|
+
//Mobile
|
|
6633
|
+
case exports.DataType.Mobile:
|
|
6634
|
+
var Mobile = new PhoneOptions();
|
|
6635
|
+
Mobile.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6636
|
+
Mobile.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6637
|
+
Mobile.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6638
|
+
Mobile.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6639
|
+
Mobile.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6640
|
+
Mobile.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6641
|
+
Mobile.AllowSearch = true;
|
|
6642
|
+
Mobile.PhoneValidation = true;
|
|
6643
|
+
Mobile.SelectFirstCountry = true;
|
|
6644
|
+
Mobile.EnablePlaceholder = true;
|
|
6645
|
+
Mobile.Value = value;
|
|
6646
|
+
this.renderComponentService.renderDynamicComponent(this.Item, PhoneComponent, this.group, Mobile);
|
|
6647
|
+
break;
|
|
6648
|
+
//MultilineText
|
|
6649
|
+
case exports.DataType.MultilineText:
|
|
6650
|
+
var MultilineText = new TextAreaOptions();
|
|
6651
|
+
MultilineText.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6652
|
+
MultilineText.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6653
|
+
MultilineText.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6654
|
+
MultilineText.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6655
|
+
MultilineText.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6656
|
+
MultilineText.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6657
|
+
if (this.RepeaterField.ControlOptions.maxLength)
|
|
6658
|
+
MultilineText.MaxLength = this.RepeaterField.ControlOptions.maxLength;
|
|
6659
|
+
if (this.RepeaterField.ControlOptions.minLength)
|
|
6660
|
+
MultilineText.MinLength = this.RepeaterField.ControlOptions.minLength;
|
|
6661
|
+
MultilineText.Rows = this.RepeaterField.ControlOptions.rows;
|
|
6662
|
+
MultilineText.ForceDirection = this.RepeaterField.ControlOptions.ForceDirection;
|
|
6663
|
+
MultilineText.Value = value;
|
|
6664
|
+
this.renderComponentService.renderDynamicComponent(this.Item, TextAreaComponent, this.group, MultilineText);
|
|
6665
|
+
break;
|
|
6666
|
+
//HTML
|
|
6667
|
+
case exports.DataType.HTML:
|
|
6668
|
+
var HTML = new HtmlEditorOptions();
|
|
6669
|
+
HTML.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6670
|
+
HTML.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6671
|
+
HTML.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6672
|
+
HTML.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6673
|
+
HTML.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6674
|
+
HTML.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6675
|
+
if (this.RepeaterField.ControlOptions.maxLength)
|
|
6676
|
+
HTML.MaxLength = this.RepeaterField.ControlOptions.maxLength;
|
|
6677
|
+
if (this.RepeaterField.ControlOptions.minLength)
|
|
6678
|
+
HTML.MinLength = this.RepeaterField.ControlOptions.minLength;
|
|
6679
|
+
HTML.Height = this.RepeaterField.ControlOptions.rows;
|
|
6680
|
+
HTML.ForceDirection = this.RepeaterField.ControlOptions.ForceDirection;
|
|
6681
|
+
HTML.Value = value;
|
|
6682
|
+
this.renderComponentService.renderDynamicComponent(this.Item, HtmlEditorComponent, this.group, HTML);
|
|
6683
|
+
break;
|
|
6684
|
+
//Boolean
|
|
6685
|
+
case exports.DataType.Boolean:
|
|
6686
|
+
var Boolean = new ToggleSlideOptions();
|
|
6687
|
+
Boolean.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6688
|
+
Boolean.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6689
|
+
Boolean.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6690
|
+
Boolean.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6691
|
+
Boolean.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6692
|
+
Boolean.Value = value;
|
|
6693
|
+
this.renderComponentService.renderDynamicComponent(this.Item, ToggleslideComponent, this.group, Boolean);
|
|
6694
|
+
break;
|
|
6695
|
+
//Location
|
|
6696
|
+
case exports.DataType.Location:
|
|
6697
|
+
var Location = new MapAutoCompleteOptions();
|
|
6698
|
+
Location.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
6699
|
+
Location.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
|
|
6700
|
+
Location.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
|
|
6701
|
+
Location.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
|
|
6702
|
+
Location.ViewType = this.RepeaterField.ControlOptions.ViewType;
|
|
6703
|
+
Location.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
|
|
6704
|
+
Location.Value = value;
|
|
6705
|
+
this.renderComponentService.renderDynamicComponent(this.Item, MapAutoCompleteComponent, this.group, Location);
|
|
6706
|
+
break;
|
|
6707
|
+
default:
|
|
6708
|
+
break;
|
|
6709
|
+
}
|
|
6651
6710
|
}
|
|
6652
|
-
}
|
|
6653
6711
|
};
|
|
6654
6712
|
return RepeaterFieldBuilderComponent;
|
|
6655
6713
|
}());
|
|
@@ -6668,7 +6726,8 @@
|
|
|
6668
6726
|
group: [{ type: i0.Input }],
|
|
6669
6727
|
itemNumber: [{ type: i0.Input }],
|
|
6670
6728
|
controlNumber: [{ type: i0.Input }],
|
|
6671
|
-
RepeaterField: [{ type: i0.Input }]
|
|
6729
|
+
RepeaterField: [{ type: i0.Input }],
|
|
6730
|
+
itemsValue: [{ type: i0.Input }]
|
|
6672
6731
|
};
|
|
6673
6732
|
|
|
6674
6733
|
var RepeaterItemFieldComponent = /** @class */ (function () {
|
|
@@ -6692,6 +6751,116 @@
|
|
|
6692
6751
|
itemIndex: [{ type: i0.Input }]
|
|
6693
6752
|
};
|
|
6694
6753
|
|
|
6754
|
+
var RepeaterTableComponent = /** @class */ (function () {
|
|
6755
|
+
function RepeaterTableComponent(utilityService) {
|
|
6756
|
+
this.utilityService = utilityService;
|
|
6757
|
+
this.items = [];
|
|
6758
|
+
this.originalItems = [];
|
|
6759
|
+
}
|
|
6760
|
+
RepeaterTableComponent.prototype.ngOnInit = function () {
|
|
6761
|
+
var _this = this;
|
|
6762
|
+
this.repeaterGroup = new forms.FormGroup({});
|
|
6763
|
+
this.group.addControl(this.options.Name, this.repeaterGroup);
|
|
6764
|
+
if (this.options.RepeaterValue.length > 0) {
|
|
6765
|
+
this.originalItems = this.options.RepeaterValue;
|
|
6766
|
+
for (var index = 0; index < this.options.RepeaterValue.length; index++) {
|
|
6767
|
+
this.items.push(index + 1);
|
|
6768
|
+
}
|
|
6769
|
+
}
|
|
6770
|
+
else
|
|
6771
|
+
for (var index = 0; index < this.options.MinRequiredItems; index++) {
|
|
6772
|
+
this.items.push(index);
|
|
6773
|
+
}
|
|
6774
|
+
this.repeaterGroup.valueChanges.subscribe(function (res) {
|
|
6775
|
+
var _a, _b;
|
|
6776
|
+
var result = [];
|
|
6777
|
+
var rowNumber = [];
|
|
6778
|
+
var addItems = [];
|
|
6779
|
+
for (var key in _this.repeaterGroup.controls) {
|
|
6780
|
+
if (Object.prototype.hasOwnProperty.call(_this.repeaterGroup.controls, key)) {
|
|
6781
|
+
var keySplitArr = key.split('.');
|
|
6782
|
+
var item = (_a = {},
|
|
6783
|
+
_a[keySplitArr[1]] = (_b = {}, _b[keySplitArr[0]] = _this.group.controls[_this.options.Name].value[key], _b),
|
|
6784
|
+
_a);
|
|
6785
|
+
addItems.push(item);
|
|
6786
|
+
if (!rowNumber.includes(keySplitArr[1]))
|
|
6787
|
+
rowNumber.push(keySplitArr[1]);
|
|
6788
|
+
}
|
|
6789
|
+
}
|
|
6790
|
+
var _loop_1 = function (index) {
|
|
6791
|
+
var row = rowNumber[index];
|
|
6792
|
+
var addObject = {};
|
|
6793
|
+
var filteredElements = addItems.filter(function (item) { return item[row]; });
|
|
6794
|
+
for (var index_1 = 0; index_1 < filteredElements.length; index_1++) {
|
|
6795
|
+
var filteredElement = filteredElements[index_1];
|
|
6796
|
+
for (var key in filteredElement) {
|
|
6797
|
+
if (Object.prototype.hasOwnProperty.call(filteredElement, key)) {
|
|
6798
|
+
var element = filteredElement[key];
|
|
6799
|
+
for (var key_1 in element) {
|
|
6800
|
+
if (Object.prototype.hasOwnProperty.call(element, key_1)) {
|
|
6801
|
+
var value = element[key_1];
|
|
6802
|
+
addObject[key_1] = value;
|
|
6803
|
+
}
|
|
6804
|
+
}
|
|
6805
|
+
}
|
|
6806
|
+
}
|
|
6807
|
+
}
|
|
6808
|
+
result.push(addObject);
|
|
6809
|
+
};
|
|
6810
|
+
for (var index = 0; index < rowNumber.length; index++) {
|
|
6811
|
+
_loop_1(index);
|
|
6812
|
+
}
|
|
6813
|
+
_this.options.RepeaterValue = result;
|
|
6814
|
+
});
|
|
6815
|
+
};
|
|
6816
|
+
RepeaterTableComponent.prototype.deleteItem = function (Index) {
|
|
6817
|
+
var _a;
|
|
6818
|
+
var _this = this;
|
|
6819
|
+
if (this.items.length == this.options.MinRequiredItems && this.options.IsRequired)
|
|
6820
|
+
return;
|
|
6821
|
+
var deletedControls = [];
|
|
6822
|
+
var controlNames = this.options.RepeaterStructure.map(function (e) { return e.ControlOptions.Name; });
|
|
6823
|
+
for (var key in this.repeaterGroup.controls) {
|
|
6824
|
+
if (Object.prototype.hasOwnProperty.call(this.repeaterGroup.controls, key)) {
|
|
6825
|
+
for (var index = 0; index < controlNames.length; index++) {
|
|
6826
|
+
var element = controlNames[index];
|
|
6827
|
+
var keySplitArr = key.split('.');
|
|
6828
|
+
if (keySplitArr[0] + keySplitArr[1] == "" + element + Index) {
|
|
6829
|
+
var element_1 = this.repeaterGroup.controls[key];
|
|
6830
|
+
deletedControls.push((_a = {}, _a[key] = element_1, _a));
|
|
6831
|
+
}
|
|
6832
|
+
}
|
|
6833
|
+
}
|
|
6834
|
+
}
|
|
6835
|
+
for (var index = 0; index < deletedControls.length; index++) {
|
|
6836
|
+
var element = deletedControls[index];
|
|
6837
|
+
for (var key in element) {
|
|
6838
|
+
if (Object.prototype.hasOwnProperty.call(element, key)) {
|
|
6839
|
+
this.repeaterGroup.removeControl(key);
|
|
6840
|
+
}
|
|
6841
|
+
}
|
|
6842
|
+
}
|
|
6843
|
+
this.items = this.items.filter(function (res) { return res != _this.items[Index]; });
|
|
6844
|
+
};
|
|
6845
|
+
RepeaterTableComponent.prototype.addItem = function () {
|
|
6846
|
+
this.items.push(this.items[this.items.length - 1] + 1);
|
|
6847
|
+
};
|
|
6848
|
+
return RepeaterTableComponent;
|
|
6849
|
+
}());
|
|
6850
|
+
RepeaterTableComponent.decorators = [
|
|
6851
|
+
{ type: i0.Component, args: [{
|
|
6852
|
+
selector: 'BBSF-repeater-table',
|
|
6853
|
+
template: "<div class=\"b-control b-repeater-table\">\r\n <table class=\"{{options.RepeaterTableExtraClasses}}\">\r\n <thead>\r\n <tr class=\"{{options.RepeaterTableRowExtraClasses}}\">\r\n <th *ngFor=\"let item of options.RepeaterStructure\" class=\"min-w-150px\">{{item.HeaderTitle}}</th>\r\n <th>{{utilityService.getResourceValue(options.ActionLabelKey)}}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let item of items ; index as i\">\r\n <td *ngFor=\"let RepeaterField of options.RepeaterStructure ; index as r\">\r\n <repeater-field-builder [RepeaterField]=\"RepeaterField\" [itemNumber]=\"i\"\r\n [itemsValue]=\"originalItems\" [controlNumber]=\"r\" [group]=\"repeaterGroup\">\r\n </repeater-field-builder>\r\n </td>\r\n <td>\r\n <button class=\"{{options.DeleteButtonExtraClasses}}\" type=\"button\" (click)=\"deleteItem(i)\"\r\n [disabled]=\"(items.length ==options.MinRequiredItems&&options.IsRequired) ||(originalItems.length-1>=i)\">\r\n <span [innerHTML]=\"options.DeleteButtonText\"></span></button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n <tfoot>\r\n <tr>\r\n <td colspan=\"3\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12 d-grid gap-2\"> \r\n <button class=\"{{options.AddButtonExtraClasses}}\" type=\"button\" (click)=\"addItem()\"><span\r\n [innerHTML]=\"options.AddButtonText\"></span></button>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </tfoot>\r\n </table>\r\n</div>"
|
|
6854
|
+
},] }
|
|
6855
|
+
];
|
|
6856
|
+
RepeaterTableComponent.ctorParameters = function () { return [
|
|
6857
|
+
{ type: bbsfUtilities.UtilityService }
|
|
6858
|
+
]; };
|
|
6859
|
+
RepeaterTableComponent.propDecorators = {
|
|
6860
|
+
group: [{ type: i0.Input }],
|
|
6861
|
+
options: [{ type: i0.Input }]
|
|
6862
|
+
};
|
|
6863
|
+
|
|
6695
6864
|
var options;
|
|
6696
6865
|
exports.AppInjector = void 0;
|
|
6697
6866
|
angular.FullCalendarModule.registerPlugins([
|
|
@@ -6740,6 +6909,7 @@
|
|
|
6740
6909
|
RepeaterFieldBuilderComponent,
|
|
6741
6910
|
NgTemplateNameDirective,
|
|
6742
6911
|
RepeaterItemFieldComponent,
|
|
6912
|
+
RepeaterTableComponent
|
|
6743
6913
|
],
|
|
6744
6914
|
imports: [
|
|
6745
6915
|
common.CommonModule,
|
|
@@ -6834,6 +7004,7 @@
|
|
|
6834
7004
|
RepeaterFieldBuilderComponent,
|
|
6835
7005
|
NgTemplateNameDirective,
|
|
6836
7006
|
RepeaterItemFieldComponent,
|
|
7007
|
+
RepeaterTableComponent
|
|
6837
7008
|
]
|
|
6838
7009
|
},] }
|
|
6839
7010
|
];
|
|
@@ -7239,6 +7410,7 @@
|
|
|
7239
7410
|
var RepeaterOptions = /** @class */ (function () {
|
|
7240
7411
|
function RepeaterOptions() {
|
|
7241
7412
|
this.MinRequiredItems = 1;
|
|
7413
|
+
this.ActionLabelKey = "";
|
|
7242
7414
|
this.AddButtonText = "Add";
|
|
7243
7415
|
this.DeleteButtonText = "Delete";
|
|
7244
7416
|
this.RepeaterValue = [];
|
|
@@ -7636,6 +7808,7 @@
|
|
|
7636
7808
|
exports.RepeaterFieldBuilderComponent = RepeaterFieldBuilderComponent;
|
|
7637
7809
|
exports.RepeaterItemFieldComponent = RepeaterItemFieldComponent;
|
|
7638
7810
|
exports.RepeaterOptions = RepeaterOptions;
|
|
7811
|
+
exports.RepeaterTableComponent = RepeaterTableComponent;
|
|
7639
7812
|
exports.SaveDTO = SaveDTO;
|
|
7640
7813
|
exports.TagsInputComponent = TagsInputComponent;
|
|
7641
7814
|
exports.TagsInputDTO = TagsInputDTO;
|