@bnsights/bbsf-controls 1.0.25 → 1.0.28

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.
Files changed (41) hide show
  1. package/README.md +7 -18
  2. package/bnsights-bbsf-controls-1.0.28.tgz +0 -0
  3. package/bnsights-bbsf-controls.metadata.json +1 -1
  4. package/bundles/bnsights-bbsf-controls.umd.js +1152 -222
  5. package/bundles/bnsights-bbsf-controls.umd.js.map +1 -1
  6. package/esm2015/lib/Shared/Directives/template-name.directive.js +18 -0
  7. package/esm2015/lib/Shared/Enums/Enums.js +45 -0
  8. package/esm2015/lib/Shared/Models/RepeaterField.js +3 -0
  9. package/esm2015/lib/Shared/Models/RepeaterOptions.js +10 -0
  10. package/esm2015/lib/Shared/services/render-component-service.service.js +19 -0
  11. package/esm2015/lib/Shared/services/validationErrorMassage.service.js +12 -12
  12. package/esm2015/lib/controls/ConfirmationModal/ConfirmationModal.component.js +2 -2
  13. package/esm2015/lib/controls/DateTimePicker/DateTimePicker.component.js +8 -3
  14. package/esm2015/lib/controls/DropdownList/DropdownList.component.js +2 -2
  15. package/esm2015/lib/controls/ImageUpload/ImageUpload.component.js +8 -5
  16. package/esm2015/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.js +3 -3
  17. package/esm2015/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.js +3 -3
  18. package/esm2015/lib/controls/Paging/Paging.component.js +2 -2
  19. package/esm2015/lib/controls/Repeater/repeater/repeater.component.js +112 -0
  20. package/esm2015/lib/controls/Repeater/repeater-field-builder/repeater-field-builder.component.js +704 -0
  21. package/esm2015/lib/controls/Repeater/repeater-item-field/repeater-item-field.component.js +20 -0
  22. package/esm2015/lib/controls/TextArea/TextArea.component.js +2 -2
  23. package/esm2015/lib/controls/TextBox/TextBox.component.js +2 -2
  24. package/esm2015/lib/controls/bbsf-controls.module.js +17 -9
  25. package/esm2015/public-api.js +9 -1
  26. package/fesm2015/bnsights-bbsf-controls.js +1114 -208
  27. package/fesm2015/bnsights-bbsf-controls.js.map +1 -1
  28. package/lib/Shared/Directives/template-name.directive.d.ts +6 -0
  29. package/lib/Shared/Enums/Enums.d.ts +40 -0
  30. package/lib/Shared/Models/RepeaterField.d.ts +5 -0
  31. package/lib/Shared/Models/RepeaterOptions.d.ts +13 -0
  32. package/lib/Shared/services/render-component-service.service.d.ts +7 -0
  33. package/lib/controls/DateTimePicker/DateTimePicker.component.d.ts +3 -1
  34. package/lib/controls/ImageUpload/ImageUpload.component.d.ts +1 -1
  35. package/lib/controls/Repeater/repeater/repeater.component.d.ts +25 -0
  36. package/lib/controls/Repeater/repeater-field-builder/repeater-field-builder.component.d.ts +17 -0
  37. package/lib/controls/Repeater/repeater-item-field/repeater-item-field.component.d.ts +8 -0
  38. package/package.json +2 -2
  39. package/public-api.d.ts +8 -0
  40. package/src/lib/assets/Style.css +0 -9
  41. package/bnsights-bbsf-controls-1.0.25.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('ng2-file-upload'), require('class-transformer'), require('ng-pick-datetime'), 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', 'ng2-file-upload', 'class-transformer', 'ng-pick-datetime', '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.ng2FileUpload, global.classTransformer, global.ngPickDatetime, 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, ng2FileUpload, classTransformer, ngPickDatetime, 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';
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(/[\u0621-\u064A]+/, { ArabicLetterOnly: this.ArabicLetterOnly }),
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 <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 maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\" formControlName=\"English\"\r\n [hidden]=\"options.IsHideEnglishFields\"\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\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 class=\"text-muted font-weight-500 word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowEnglishWordCount\">{{EnglishWordCount}}/{{options.MaxWordCount}} words</div>\r\n </div>\r\n\r\n <div class=\"text-danger Required-text\"\r\n *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 \r\n\r\n <!-- <div *ngIf=\"EnglishFormControl.valid\">{{resetError()}}</div> -->\r\n <div *ngIf=\"group.valid\">{{resetError()}}</div>\r\n\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\">\r\n\r\n <div class=\"row\" *ngIf=\"ShowArabicTextBox\">\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.IsHideArabicLabel\">\r\n {{(options.ArabicLabelValue!=null&&options.ArabicLabelValue!=\"\")?options.ArabicLabelValue: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\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)?'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\"\r\n 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 class=\"text-muted font-weight-500 word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowArabicWordCount\">{{ArabicWordCount}}/{{options.MaxWordCount}} Words</div>\r\n\r\n </div>\r\n\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(ArabicFormControl.invalid && ArabicFormControl.touched)\">\r\n {{getErrorValidation(ArabicFormControl.errors|keyvalue)}}\r\n </div>\r\n\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 \r\n \r\n\r\n <!-- <div *ngIf=\"ArabicFormControl.valid\">{{resetError()}}</div> -->\r\n \r\n <div *ngIf=\"group.valid\">{{resetError()}}</div>\r\n\r\n </div>\r\n \r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>\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':''}}\"\r\n maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\" 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 (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\" *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",
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(/[\u0621-\u064A]+/, { ArabicLetterOnly: this.ArabicLetterOnly }),
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 <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 (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 <div class=\"text-muted font-weight-500 word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowEnglishWordCount\">{{EnglishWordCount}}/{{options.MaxWordCount}} Words</div>\r\n\r\n </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\" maxlength=\"{{options.MaxLength}}\"\r\n minlength=\"{{options.MinLength}}\" aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"Arabic\" rows=\"{{options.Rows}}\"\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 class=\"text-muted font-weight-500 word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowArabicWordCount\">{{ArabicWordCount}}/{{options.MaxWordCount}}Words</div>\r\n\r\n </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\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\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\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
  ];
@@ -2256,7 +2260,7 @@
2256
2260
  { type: i0.Component, args: [{
2257
2261
  // tslint:disable-next-line: component-selector
2258
2262
  selector: 'BBSF-DropdownList',
2259
- template: "<div class=\"b-control b-dropdown-list\">\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 [hidden]=\"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)?'':'col-md-9'\">\r\n <ng-select *ngIf=\"options.DisableBootstrapSelect==false\" dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n [bindValue]=\"options.ItemTempletkey\" [bindLabel]=\"options.ItemTempletvalue\" [items]=\"options.DataSource\"\r\n [notFoundText]=\"'No data found.'\" [maxSelectedItems]=\"options.LimitSelection\"\r\n [searchable]=\"options.AllowSearchFilter\" [multiple]=\"!options.SingleSelection\" [readonly]=\"options.IsDisabled\"\r\n [searchable]=\"true\" [clearable]=\"true\" placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\"\r\n [selectableGroup]=\"true\" [selectableGroupAsModel]=\"false\" formControlName=\"{{options.Name}}\"\r\n [(ngModel)]=\"SelectedList\" (change)=\"onItemSelect($event[options.ItemTempletkey])\" (clear)=\"Clear()\"\r\n [class.is-invalid]=\"DropdownListFormControl.invalid && DropdownListFormControl.touched\"\r\n [closeOnSelect]=\"options.SingleSelection ? true : false\">\r\n\r\n <ng-template *ngIf=\"options.ShowCheckbox\" ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\r\n <div class=\"ks-cboxtags\">\r\n <input id=\"item-{{index}}\" type=\"checkbox\" [ngModelOptions]=\"{standalone: true}\" [ngModel]=\"item$.selected\"\r\n class=\" \" /> <label class=\"ng-option-label mb-0\" id={{item.key}}>{{item.value}}</label>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!options.ShowCheckbox\" ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\r\n <label class=\"ng-option-label mb-0\" id={{item.key}}>{{item.value}}</label>\r\n </ng-template>\r\n\r\n </ng-select>\r\n\r\n <select *ngIf=\"options.DisableBootstrapSelect\" class=\"form-control bnsights-control\"\r\n dir=\"{{options.ForceDirection==2?'rtl':''}}\" (change)=\"onItemSelect($event.target.value)\"\r\n [disabled]=\"options.IsDisabled\" formControlName=\"{{options.Name}}\">\r\n <option value=\"\" disabled>--select--</option>\r\n <option *ngFor=\"let item of options.DataSource\" value=\"{{item.key}}\" [ngValue]=\"item.key\">\r\n {{item.value}}\r\n </option>\r\n </select>\r\n\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(DropdownListFormControl.invalid && DropdownListFormControl.touched)\">\r\n {{getErrorValidation(DropdownListFormControl.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\">{{options.LabelDescription}}</div>\r\n </div>\r\n\r\n <!-- <div *ngIf=\"DropdownListFormControl.valid\">{{resetError()}}</div> -->\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">\r\n {{resetError()}}</div>\r\n\r\n\r\n </div>\r\n </div>\r\n</div>",
2263
+ template: "<div class=\"b-control b-dropdown-list\">\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 [hidden]=\"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)?'':'col-md-9'\">\r\n <ng-select *ngIf=\"options.DisableBootstrapSelect==false\" dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n [bindValue]=\"options.ItemTempletkey\" [bindLabel]=\"options.ItemTempletvalue\" [items]=\"options.DataSource\"\r\n [notFoundText]=\"'No data found.'\" [maxSelectedItems]=\"options.LimitSelection\"\r\n [searchable]=\"options.AllowSearchFilter\" [multiple]=\"!options.SingleSelection\" [readonly]=\"options.IsDisabled\"\r\n [clearable]=\"true\" placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\"\r\n [selectableGroup]=\"true\" [selectableGroupAsModel]=\"false\" formControlName=\"{{options.Name}}\"\r\n [(ngModel)]=\"options.SelectedItems\" (change)=\"onItemSelect($event[options.ItemTempletkey])\" (clear)=\"Clear()\"\r\n [class.is-invalid]=\"DropdownListFormControl.invalid && DropdownListFormControl.touched\"\r\n [closeOnSelect]=\"options.SingleSelection ? true : false\">\r\n\r\n <ng-template *ngIf=\"options.ShowCheckbox\" ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\r\n <div class=\"ks-cboxtags\">\r\n <input id=\"item-{{index}}\" type=\"checkbox\" [ngModelOptions]=\"{standalone: true}\" [ngModel]=\"item$.selected\"\r\n class=\" \" /> <label class=\"ng-option-label mb-0\" id={{item.key}}>{{item.value}}</label>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!options.ShowCheckbox\" ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\r\n <label class=\"ng-option-label mb-0\" id={{item.key}}>{{item.value}}</label>\r\n </ng-template>\r\n\r\n </ng-select>\r\n\r\n <select *ngIf=\"options.DisableBootstrapSelect\" class=\"form-control bnsights-control\"\r\n dir=\"{{options.ForceDirection==2?'rtl':''}}\" (change)=\"onItemSelect($event.target.value)\"\r\n [disabled]=\"options.IsDisabled\" formControlName=\"{{options.Name}}\">\r\n <option value=\"\" disabled>--select--</option>\r\n <option *ngFor=\"let item of options.DataSource\" value=\"{{item.key}}\" [ngValue]=\"item.key\">\r\n {{item.value}}\r\n </option>\r\n </select>\r\n\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(DropdownListFormControl.invalid && DropdownListFormControl.touched)\">\r\n {{getErrorValidation(DropdownListFormControl.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\">{{options.LabelDescription}}</div>\r\n </div>\r\n\r\n <!-- <div *ngIf=\"DropdownListFormControl.valid\">{{resetError()}}</div> -->\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">\r\n {{resetError()}}</div>\r\n\r\n\r\n </div>\r\n </div>\r\n</div>\r\n",
2260
2264
  styles: [".cuppa-dropdown{background-color:#fff}.arrow-up,.arrow-down{border-left:none!important;border-right:none!important}.dropdown-list{padding-top:0!important}.c-token{background-color:#6495ed}.pure-checkbox .selected-item{background-color:#6495ed;color:#fff}\n"]
2261
2265
  },] }
2262
2266
  ];
@@ -3167,7 +3171,7 @@
3167
3171
  this.FileLikeObject = new ng2FileUpload.FileLikeObject({
3168
3172
  name: element.FileName,
3169
3173
  size: element.FileSizeInMB * 1000 * 1000,
3170
- type: element.FileType
3174
+ type: element.FileType,
3171
3175
  });
3172
3176
  this.uploader.addToQueue([this.FileLikeObject]);
3173
3177
  }
@@ -3182,15 +3186,17 @@
3182
3186
  var TypeToolTipe = element.split('/')[1];
3183
3187
  this.ToolTipTypeArray.push(TypeToolTipe);
3184
3188
  }
3185
- this.ValidationMessage = this.ValidationMessage + (" Allowed extenstions (" + this.ToolTipTypeArray + ") ");
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 />Max File Size " + this.options.FileMaxSizeInMB + " MB");
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
  }
3192
3196
  this.group.addControl(this.options.Name, new forms.FormControl(''));
3193
3197
  this.ImageUploadFormControl = this.group.controls[this.options.Name]; // new FormControl('',validationRules);
3198
+ if (this.options.Value != null)
3199
+ this.group.get(this.options.Name).setValue(this.options.Value);
3194
3200
  if (this.options.LabelKey != null && this.options.LabelKey != "")
3195
3201
  this.options.LabelValue = this.UtilityService.getResourceValue(this.options.LabelKey);
3196
3202
  if (this.options.CustomValidation.length > 0) {
@@ -3343,6 +3349,7 @@
3343
3349
  FileType: _this.EventFile.type,
3344
3350
  FileBase64: reader.result.toString().split(',')[1],
3345
3351
  FileSizeInMB: ((BlobFile.size / 1000) / 1000),
3352
+ NameWithExtension: _this.EventFile.name
3346
3353
  };
3347
3354
  BlobFile.name = _this.EventFile.name;
3348
3355
  FilesArray.push(FileObject);
@@ -3370,7 +3377,7 @@
3370
3377
  ImageUploaderComponent.decorators = [
3371
3378
  { type: i0.Component, args: [{
3372
3379
  selector: 'BBSF-ImageUpload',
3373
- 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 Crop Image\r\n </h4>\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> Cancel\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 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\"\r\n *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\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\r\n </div>\r\n</div>\r\n",
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",
3374
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"]
3375
3382
  },] }
3376
3383
  ];
@@ -4442,7 +4449,7 @@
4442
4449
  PagingComponent.decorators = [
4443
4450
  { type: i0.Component, args: [{
4444
4451
  selector: 'BBSF-Paging',
4445
- template: "<div class=\"b-control b-paging\" *ngIf=\"(result.length > 0)\">\r\n <div class=\"d-flex justify-content-between align-items-center\" *ngIf=\"!options.IsLoadMoreControl\">\r\n <div class=\"b-pagination\">\r\n <jw-pagination [items]=\"items\" *ngIf=\"!((Pages==1)&&options.HidePaginationWhenPageSizeEqualOne)\"\r\n (changePage)=\"onChangePage($event)\" [pageSize]=\"options.PageSize\" [ShowFirstAndLast]=\"options.ShowFirstAndLast\"\r\n [initialPage]=\"1\" [maxPages]=\"10\"></jw-pagination>\r\n </div>\r\n <div class=\"b-pages d-flex\" *ngIf=\"!((Pages==1)&&options.HidePaginationWhenPageSizeEqualOne)\" >\r\n <select (change)=\"changePageSize($event)\" *ngIf=\"options.ShowPageSizeOption\">\r\n <option>10</option>\r\n <option>20</option>\r\n <option>50</option>\r\n <option>100</option>\r\n <option>200</option>\r\n </select>\r\n <div class=\"b-items ml-3\">\r\n <strong>{{totalRow}}</strong> {{utilityService.getResourceValue(\"ItemsIn\")}} <strong> {{Pages}}</strong> {{utilityService.getResourceValue(\"Pages\")}}\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"row\" style=\"align-self:center; align-items: center; text-align: center;\" *ngIf=\"options.IsLoadMoreControl\">\r\n <div class=\"search-results\" infinite-scroll [infiniteScrollDistance]=\"ScrollDistance\"\r\n [infiniteScrollUpDistance]=\"ScrollUpDistance\" [infiniteScrollThrottle]=\"Throttle\" (scrolled)=\"options.IsInfiniteScroll==true?onScrollDown():null\"\r\n [scrollWindow]=\"options.ScrollWindow\" [infiniteScrollContainer]=\"options.InfiniteScrollContainer\">\r\n </div>\r\n <button class=\"btn btn-primary\" (click)=\"onScrollDown()\" *ngIf=\"!(result.length==totalRow)\"> Load More </button>\r\n </div>\r\n</div>\r\n",
4452
+ template: "<div class=\"b-control b-paging\" *ngIf=\"(result.length > 0)\">\r\n <div class=\"d-flex justify-content-between align-items-center\" *ngIf=\"!options.IsLoadMoreControl\">\r\n <div class=\"b-pagination\">\r\n <jw-pagination [items]=\"items\" *ngIf=\"!((Pages==1)&&options.HidePaginationWhenPageSizeEqualOne)\"\r\n (changePage)=\"onChangePage($event)\" [pageSize]=\"options.PageSize\" [ShowFirstAndLast]=\"options.ShowFirstAndLast\"\r\n [initialPage]=\"1\" [maxPages]=\"10\"></jw-pagination>\r\n </div>\r\n <div class=\"b-pages d-flex\" *ngIf=\"!((Pages==1)&&options.HidePaginationWhenPageSizeEqualOne)\" >\r\n <select (change)=\"changePageSize($event)\" *ngIf=\"options.ShowPageSizeOption\">\r\n <option>10</option>\r\n <option>20</option>\r\n <option>50</option>\r\n <option>100</option>\r\n <option>200</option>\r\n </select>\r\n <div class=\"b-items ml-3\">\r\n <strong>{{totalRow}}</strong> {{utilityService.getResourceValue(\"ItemsIn\")}} <strong> {{Pages}}</strong> {{utilityService.getResourceValue(\"Pages\")}}\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"row\" style=\"align-self:center; align-items: center; text-align: center;\" *ngIf=\"options.IsLoadMoreControl\">\r\n <div class=\"search-results\" infinite-scroll [infiniteScrollDistance]=\"ScrollDistance\"\r\n [infiniteScrollUpDistance]=\"ScrollUpDistance\" [infiniteScrollThrottle]=\"Throttle\" (scrolled)=\"options.IsInfiniteScroll==true?onScrollDown():null\"\r\n [scrollWindow]=\"options.ScrollWindow\" [infiniteScrollContainer]=\"options.InfiniteScrollContainer\">\r\n </div>\r\n <button class=\"btn btn-info\" (click)=\"onScrollDown()\" *ngIf=\"!(result.length==totalRow)\">{{utilityService.getResourceValue(\"LoadMore\")}}</button>\r\n </div>\r\n</div>\r\n",
4446
4453
  styles: [".ngx-pager-container{text-align:center;padding:25px 0 0}.ngx-pager-container li{display:inline-block;margin:0 4px}.ngx-pager-container li a{display:block;width:26px;height:26px;border:1px solid #707070;text-align:center;color:#3e4e59;font-size:14px;line-height:24px;border-radius:5px;text-decoration:none}.ngx-pager-container li a:hover{color:#fff;background:#0a0e03}.ngx-pager-container li.invisible{display:none}.ngx-pager-container li.active{background:#0a0e03;border-radius:5px}.ngx-pager-container li.active a{border:none;color:#fff}\n"]
4447
4454
  },] }
4448
4455
  ];
@@ -4872,7 +4879,7 @@
4872
4879
  TextboxComponent.decorators = [
4873
4880
  { type: i0.Component, args: [{
4874
4881
  selector: 'BBSF-TextBox',
4875
- 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}}\" 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\" *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\r\n\r\n </div>\r\n </div>\r\n</div>\r\n",
4882
+ 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",
4876
4883
  styles: [".example-form{min-width:150px;max-width:500px;width:100%}.example-full-width{width:100%}.flip_V{transform:scaleY(-1)}\n"]
4877
4884
  },] }
4878
4885
  ];
@@ -5520,7 +5527,7 @@
5520
5527
  showCancelButton: true,
5521
5528
  confirmButtonColor: this.btnColor,
5522
5529
  cancelButtonColor: '#f5f8fa',
5523
- cancelButtonText: this.utilityService.getResourceValue("Cancel"),
5530
+ cancelButtonText: this.utilityService.getResourceValue("CancelLabel"),
5524
5531
  confirmButtonText: this.options.SubmitButtonText,
5525
5532
  showCloseButton: true,
5526
5533
  }).then(function (result) {
@@ -5609,6 +5616,1086 @@
5609
5616
  confirmationModal: [{ type: i0.ViewChild, args: ['confirmationModal', { static: false },] }]
5610
5617
  };
5611
5618
 
5619
+ var NgTemplateNameDirective = /** @class */ (function () {
5620
+ function NgTemplateNameDirective(template) {
5621
+ this.template = template;
5622
+ }
5623
+ return NgTemplateNameDirective;
5624
+ }());
5625
+ NgTemplateNameDirective.decorators = [
5626
+ { type: i0.Directive, args: [{
5627
+ selector: 'ng-template[name]'
5628
+ },] }
5629
+ ];
5630
+ NgTemplateNameDirective.ctorParameters = function () { return [
5631
+ { type: i0.TemplateRef }
5632
+ ]; };
5633
+ NgTemplateNameDirective.propDecorators = {
5634
+ name: [{ type: i0.Input }]
5635
+ };
5636
+
5637
+ var RepeaterComponent = /** @class */ (function () {
5638
+ function RepeaterComponent() {
5639
+ this.templateRefs = [];
5640
+ this.items = [];
5641
+ this.repeaterContext = { index: 0, delete: null, elements: null };
5642
+ }
5643
+ RepeaterComponent.prototype.ngOnInit = function () {
5644
+ var _this = this;
5645
+ this.currentTemplate = this.initialTemplate;
5646
+ this.repeaterGroup = new forms.FormGroup({});
5647
+ this.group.addControl(this.options.Name, this.repeaterGroup);
5648
+ this.group.get(this.options.Name).setValue(this.options.RepeaterValue);
5649
+ for (var index = 0; index < this.options.MinRequiredItems; index++) {
5650
+ this.items.push(index);
5651
+ }
5652
+ this.repeaterGroup.valueChanges.subscribe(function (res) {
5653
+ var _a, _b;
5654
+ var result = [];
5655
+ var rowNumber = [];
5656
+ var addItems = [];
5657
+ for (var key in _this.repeaterGroup.controls) {
5658
+ if (Object.prototype.hasOwnProperty.call(_this.repeaterGroup.controls, key)) {
5659
+ var keySplitArr = key.split('.');
5660
+ var item = (_a = {},
5661
+ _a[keySplitArr[1]] = (_b = {}, _b[keySplitArr[0]] = _this.group.controls[_this.options.Name].value[key], _b),
5662
+ _a);
5663
+ addItems.push(item);
5664
+ if (!rowNumber.includes(keySplitArr[1]))
5665
+ rowNumber.push(keySplitArr[1]);
5666
+ }
5667
+ }
5668
+ var _loop_1 = function (index) {
5669
+ var row = rowNumber[index];
5670
+ var addObject = {};
5671
+ var filteredElements = addItems.filter(function (item) { return item[row]; });
5672
+ for (var index_1 = 0; index_1 < filteredElements.length; index_1++) {
5673
+ var filteredElement = filteredElements[index_1];
5674
+ for (var key in filteredElement) {
5675
+ if (Object.prototype.hasOwnProperty.call(filteredElement, key)) {
5676
+ var element = filteredElement[key];
5677
+ for (var key_1 in element) {
5678
+ if (Object.prototype.hasOwnProperty.call(element, key_1)) {
5679
+ var value = element[key_1];
5680
+ addObject[key_1] = value;
5681
+ }
5682
+ }
5683
+ }
5684
+ }
5685
+ }
5686
+ result.push(addObject);
5687
+ };
5688
+ for (var index = 0; index < rowNumber.length; index++) {
5689
+ _loop_1(index);
5690
+ }
5691
+ _this.options.RepeaterValue = result;
5692
+ });
5693
+ };
5694
+ RepeaterComponent.prototype.deleteItem = function (Index) {
5695
+ var _a;
5696
+ if (this.items.length == this.options.MinRequiredItems && this.options.IsRequired)
5697
+ return;
5698
+ var deletedControls = [];
5699
+ var controlNames = this.options.RepeaterStructure.map(function (e) { return e.ControlOptions.Name; });
5700
+ for (var key in this.repeaterGroup.controls) {
5701
+ if (Object.prototype.hasOwnProperty.call(this.repeaterGroup.controls, key)) {
5702
+ for (var index = 0; index < controlNames.length; index++) {
5703
+ var element = controlNames[index];
5704
+ var keySplitArr = key.split('.');
5705
+ if (keySplitArr[0] + keySplitArr[1] == "" + element + Index) {
5706
+ var element_1 = this.repeaterGroup.controls[key];
5707
+ deletedControls.push((_a = {}, _a[key] = element_1, _a));
5708
+ }
5709
+ }
5710
+ }
5711
+ }
5712
+ for (var index = 0; index < deletedControls.length; index++) {
5713
+ var element = deletedControls[index];
5714
+ for (var key in element) {
5715
+ if (Object.prototype.hasOwnProperty.call(element, key)) {
5716
+ this.repeaterGroup.removeControl(key);
5717
+ }
5718
+ }
5719
+ }
5720
+ var item = this.items[Index];
5721
+ this.items = this.items.filter(function (res) { return res != item; });
5722
+ };
5723
+ RepeaterComponent.prototype.AddItem = function () {
5724
+ this.items.push(this.items.length + 1);
5725
+ };
5726
+ RepeaterComponent.prototype.ngAfterViewInit = function () {
5727
+ var templateRefs = this._templates["_results"].map(function (item) { return item["template"]; });
5728
+ this.templateRefs = templateRefs;
5729
+ this.repeaterContext.elements = this.templateRefs;
5730
+ this.repeaterContext.delete = this.delete;
5731
+ };
5732
+ RepeaterComponent.prototype.setCurrentIndex = function (i) {
5733
+ this.repeaterContext.index = i;
5734
+ };
5735
+ return RepeaterComponent;
5736
+ }());
5737
+ RepeaterComponent.decorators = [
5738
+ { type: i0.Component, args: [{
5739
+ selector: 'BBSF-repeater',
5740
+ template: "<div *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</div>\r\n\r\n<div>\r\n <ng-container *ngTemplateOutlet=\"add\">\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template *ngFor=\"let RepeaterField of options.RepeaterStructure ; index as i\" name=\"R{{i}}\" \r\n let-Index=\"itemIndex\" let-control=\"controlIndex\">\r\n <repeater-field-builder *ngIf=\"RepeaterField\" [RepeaterField]=\"RepeaterField\" [itemNumber]=\"Index\" [controlNumber]=\"control\"\r\n [group]=\"repeaterGroup\"></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 [innerHTML]=\"options.DeleteButtonText\"></span></button>\r\n</ng-template>\r\n\r\n<ng-template #add>\r\n <button class=\"{{options.AddButtonExtraClasses}}\" type=\"button\"\r\n (click)=\"AddItem()\"><span [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> -->",
5741
+ styles: [""]
5742
+ },] }
5743
+ ];
5744
+ RepeaterComponent.ctorParameters = function () { return []; };
5745
+ RepeaterComponent.propDecorators = {
5746
+ group: [{ type: i0.Input }],
5747
+ options: [{ type: i0.Input }],
5748
+ initialTemplate: [{ type: i0.Input }],
5749
+ _templates: [{ type: i0.ViewChildren, args: [NgTemplateNameDirective,] }],
5750
+ delete: [{ type: i0.ViewChild, args: ['delete', { static: false },] }]
5751
+ };
5752
+
5753
+ exports.PermissionSets = void 0;
5754
+ (function (PermissionSets) {
5755
+ PermissionSets[PermissionSets["Admin"] = 1] = "Admin";
5756
+ PermissionSets[PermissionSets["BusinessAdmin"] = 2] = "BusinessAdmin";
5757
+ PermissionSets[PermissionSets["Customer"] = 3] = "Customer";
5758
+ })(exports.PermissionSets || (exports.PermissionSets = {}));
5759
+ exports.PropertyLocation = void 0;
5760
+ (function (PropertyLocation) {
5761
+ PropertyLocation[PropertyLocation["InternalIdeas"] = 53001] = "InternalIdeas";
5762
+ PropertyLocation[PropertyLocation["EvaluationRequest"] = 53002] = "EvaluationRequest";
5763
+ PropertyLocation[PropertyLocation["IMOBusiness"] = 53003] = "IMOBusiness";
5764
+ PropertyLocation[PropertyLocation["PublicIdeas"] = 53004] = "PublicIdeas";
5765
+ })(exports.PropertyLocation || (exports.PropertyLocation = {}));
5766
+ exports.LanguageType = void 0;
5767
+ (function (LanguageType) {
5768
+ LanguageType[LanguageType["English"] = 54001] = "English";
5769
+ LanguageType[LanguageType["Arabic"] = 54002] = "Arabic";
5770
+ LanguageType[LanguageType["Any"] = 54003] = "Any";
5771
+ })(exports.LanguageType || (exports.LanguageType = {}));
5772
+ exports.DataType = void 0;
5773
+ (function (DataType) {
5774
+ DataType[DataType["Text"] = 52001] = "Text";
5775
+ DataType[DataType["Email"] = 52002] = "Email";
5776
+ DataType[DataType["Number"] = 52005] = "Number";
5777
+ DataType[DataType["Name"] = 52003] = "Name";
5778
+ DataType[DataType["Mobile"] = 52004] = "Mobile";
5779
+ DataType[DataType["MultilineText"] = 52006] = "MultilineText";
5780
+ DataType[DataType["HTML"] = 52007] = "HTML";
5781
+ DataType[DataType["Image"] = 52010] = "Image";
5782
+ DataType[DataType["File"] = 52011] = "File";
5783
+ DataType[DataType["MultiFile"] = 52012] = "MultiFile";
5784
+ DataType[DataType["Boolean"] = 52013] = "Boolean";
5785
+ DataType[DataType["Date"] = 52014] = "Date";
5786
+ DataType[DataType["DateTime"] = 52015] = "DateTime";
5787
+ DataType[DataType["Time"] = 52016] = "Time";
5788
+ DataType[DataType["Location"] = 52017] = "Location";
5789
+ DataType[DataType["SingleSelect"] = 52008] = "SingleSelect";
5790
+ DataType[DataType["MulipleSelect"] = 52009] = "MulipleSelect";
5791
+ DataType[DataType["Goal"] = 52018] = "Goal";
5792
+ DataType[DataType["Challenge"] = 52019] = "Challenge";
5793
+ DataType[DataType["CoverPhoto"] = 52020] = "CoverPhoto";
5794
+ DataType[DataType["InnovationLab"] = 52021] = "InnovationLab";
5795
+ DataType[DataType["Country"] = 52022] = "Country";
5796
+ })(exports.DataType || (exports.DataType = {}));
5797
+
5798
+ exports.ForceDirection = void 0;
5799
+ (function (ForceDirection) {
5800
+ ForceDirection[ForceDirection["English"] = 1] = "English";
5801
+ ForceDirection[ForceDirection["Arabic"] = 2] = "Arabic";
5802
+ })(exports.ForceDirection || (exports.ForceDirection = {}));
5803
+
5804
+ var DatePickerOptions = /** @class */ (function () {
5805
+ function DatePickerOptions() {
5806
+ /** to set type of view if DatePicker is Vertical or Horizontal */
5807
+ this.ViewType = exports.ControlLayout.Vertical;
5808
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5809
+ */
5810
+ this.CustomValidation = [];
5811
+ /**To set First Day Of Week to DatePicker */
5812
+ this.FirstDayOfWeek = 1;
5813
+ /**To set PickerType to DatePicker is Calendar or Timer Or Both */
5814
+ this.PickerType = exports.PickerType.Calendar;
5815
+ /**To set StartView to DatePicker is Year or Month Or Multi-Year */
5816
+ this.StartView = exports.StartView.Month;
5817
+ /**To set SelectMode to DatePicker is Single or Range */
5818
+ this.SelectMode = exports.SelectMode.Single;
5819
+ this.ForceDirection = exports.ForceDirection.English;
5820
+ }
5821
+ return DatePickerOptions;
5822
+ }());
5823
+
5824
+ var DropdownOptions = /** @class */ (function () {
5825
+ function DropdownOptions() {
5826
+ /** Disable Bootstrap DropdownList */
5827
+ this.DisableBootstrapSelect = false;
5828
+ /** to set type of view if DropdownList is Vertical or Horizontal */
5829
+ this.ViewType = null;
5830
+ /** To Set Custom Validation*/
5831
+ this.CustomValidation = [];
5832
+ /** Set key for item in DropdownList */
5833
+ this.ItemTempletkey = "key";
5834
+ /** Set value for item in DropdownList */
5835
+ this.ItemTempletvalue = "value";
5836
+ this.ForceDirection = exports.ForceDirection.English;
5837
+ }
5838
+ return DropdownOptions;
5839
+ }());
5840
+
5841
+ var FileUploadOptions = /** @class */ (function () {
5842
+ function FileUploadOptions() {
5843
+ /** Ability to set FileInput required */
5844
+ this.IsMultipleFile = false;
5845
+ /** Sets boolean Value to Show IsDropZone Or Not */
5846
+ this.IsDropZone = false;
5847
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5848
+ */
5849
+ this.CustomValidation = [];
5850
+ /** to set type of view if textbox is Vertical or Horizontal */
5851
+ this.ViewType = null;
5852
+ }
5853
+ return FileUploadOptions;
5854
+ }());
5855
+
5856
+ var HtmlEditorOptions = /** @class */ (function () {
5857
+ function HtmlEditorOptions() {
5858
+ /** to set type of view if textbox is Vertical or Horizontal */
5859
+ this.ViewType = null;
5860
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5861
+ */
5862
+ this.CustomValidation = [];
5863
+ /** to set Direction of HtmlEditor if HtmlEditor is Arabic or English */
5864
+ this.ForceDirection = exports.ForceDirection.English;
5865
+ /** Set Height For */
5866
+ this.Height = 150;
5867
+ }
5868
+ return HtmlEditorOptions;
5869
+ }());
5870
+
5871
+ exports.ImageType = void 0;
5872
+ (function (ImageType) {
5873
+ ImageType["ImageTypes"] = "image/png,image/bmp,image/jpeg";
5874
+ ImageType["PNG"] = "image/png";
5875
+ ImageType["JPG"] = "image/jpeg";
5876
+ ImageType["JPEG"] = "image/jpeg";
5877
+ ImageType["SVG"] = "image/svg+xml";
5878
+ ImageType["None"] = "";
5879
+ })(exports.ImageType || (exports.ImageType = {}));
5880
+
5881
+ var ImageUploadOptions = /** @class */ (function () {
5882
+ function ImageUploadOptions() {
5883
+ /** Allow to Upload Multiple File */
5884
+ this.IsMultiple = false;
5885
+ /** Allow to Use Drop Zone */
5886
+ this.AllowDropZone = false;
5887
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5888
+ */
5889
+ this.CustomValidation = [];
5890
+ /** to set type of view if FileInput is Vertical or Horizontal */
5891
+ this.ViewType = null;
5892
+ /** Set List of Custom Attribute to FileInput */
5893
+ this.FileUploadAcceptsTypes = [exports.ImageType.ImageTypes];
5894
+ }
5895
+ return ImageUploadOptions;
5896
+ }());
5897
+
5898
+ var MapAutoCompleteOptions = /** @class */ (function () {
5899
+ function MapAutoCompleteOptions() {
5900
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5901
+ */
5902
+ this.CustomValidation = [];
5903
+ /** to set type of view if MapAutoComplete is Vertical or Horizontal */
5904
+ this.ViewType = null;
5905
+ }
5906
+ return MapAutoCompleteOptions;
5907
+ }());
5908
+
5909
+ var PhoneOptions = /** @class */ (function () {
5910
+ function PhoneOptions() {
5911
+ /**
5912
+ * Represent Css classes to Phonebox
5913
+ */
5914
+ this.ExtraClasses = "form-control bnsights-control";
5915
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5916
+ */
5917
+ this.CustomValidation = [];
5918
+ /**Set List Of Countries As Preferred Countries*/
5919
+ this.PreferredCountries = [];
5920
+ /** to set type of view if Phonebox is Vertical or Horizontal */
5921
+ this.ViewType = null;
5922
+ this.ForceDirection = exports.ForceDirection.English;
5923
+ }
5924
+ return PhoneOptions;
5925
+ }());
5926
+
5927
+ var RangeNumber = /** @class */ (function () {
5928
+ function RangeNumber() {
5929
+ }
5930
+ return RangeNumber;
5931
+ }());
5932
+
5933
+ var TextAreaOptions = /** @class */ (function () {
5934
+ function TextAreaOptions() {
5935
+ /** to set type of view if TextArea is Vertical or Horizontal */
5936
+ this.ViewType = null;
5937
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5938
+ */
5939
+ this.CustomValidation = [];
5940
+ /** to set Direction of TextArea if TextArea is Arabic or English */
5941
+ this.ForceDirection = exports.ForceDirection.English;
5942
+ }
5943
+ return TextAreaOptions;
5944
+ }());
5945
+
5946
+ exports.IconPosition = void 0;
5947
+ (function (IconPosition) {
5948
+ IconPosition[IconPosition["left"] = 1] = "left";
5949
+ IconPosition[IconPosition["right"] = 2] = "right";
5950
+ })(exports.IconPosition || (exports.IconPosition = {}));
5951
+
5952
+ var TextBoxOptions = /** @class */ (function () {
5953
+ function TextBoxOptions() {
5954
+ /** set Range Number to Textbox with type number with From-Value and To-value*/
5955
+ this.NumberRange = new RangeNumber();
5956
+ /**Prevent AutoComplete of textbox*/
5957
+ this.AutoComplete = "off";
5958
+ /** to set type of view if textbox is Vertical or Horizontal */
5959
+ this.ViewType = null;
5960
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5961
+ */
5962
+ this.CustomValidation = [];
5963
+ /** to set Direction of textbox if textbox is Arabic or English */
5964
+ this.ForceDirection = null;
5965
+ /** Set Type of TextBox ("text","password","email","number") */
5966
+ this.Type = exports.InputType.Text;
5967
+ this.IconPosition = exports.IconPosition.left;
5968
+ this.NoMargin = false;
5969
+ this.ValidationRules = [];
5970
+ }
5971
+ return TextBoxOptions;
5972
+ }());
5973
+
5974
+ var ToggleSlideOptions = /** @class */ (function () {
5975
+ function ToggleSlideOptions() {
5976
+ this.ViewType = null;
5977
+ this.ForceDirection = exports.ForceDirection.English;
5978
+ }
5979
+ return ToggleSlideOptions;
5980
+ }());
5981
+
5982
+ var RenderComponentService = /** @class */ (function () {
5983
+ function RenderComponentService(componentFactoryResolver) {
5984
+ this.componentFactoryResolver = componentFactoryResolver;
5985
+ }
5986
+ RenderComponentService.prototype.renderDynamicComponent = function (viewContainerRef, component, group, options) {
5987
+ var factory = this.componentFactoryResolver.resolveComponentFactory(component);
5988
+ var componentRef = viewContainerRef.createComponent(factory);
5989
+ componentRef.instance.group = group;
5990
+ componentRef.instance.options = options;
5991
+ };
5992
+ return RenderComponentService;
5993
+ }());
5994
+ RenderComponentService.decorators = [
5995
+ { type: i0.Injectable }
5996
+ ];
5997
+ RenderComponentService.ctorParameters = function () { return [
5998
+ { type: i0.ComponentFactoryResolver }
5999
+ ]; };
6000
+
6001
+ var RepeaterFieldBuilderComponent = /** @class */ (function () {
6002
+ function RepeaterFieldBuilderComponent(renderComponentService, TextControlHost) {
6003
+ this.renderComponentService = renderComponentService;
6004
+ this.TextControlHost = TextControlHost;
6005
+ }
6006
+ RepeaterFieldBuilderComponent.prototype.ngOnInit = function () {
6007
+ };
6008
+ RepeaterFieldBuilderComponent.prototype.ngAfterViewInit = function () {
6009
+ var _this = this;
6010
+ setTimeout(function () {
6011
+ _this.Item.clear();
6012
+ switch (_this.RepeaterField.ControlType) {
6013
+ ///TextBox
6014
+ case exports.DataType.Text:
6015
+ var Text = new TextBoxOptions();
6016
+ Text.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6017
+ Text.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6018
+ Text.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6019
+ Text.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6020
+ Text.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6021
+ Text.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6022
+ Text.Type = exports.InputType.Text;
6023
+ if (_this.RepeaterField.ControlOptions.maxLength)
6024
+ Text.MaxLength = _this.RepeaterField.ControlOptions.maxLength;
6025
+ if (_this.RepeaterField.ControlOptions.minLength)
6026
+ Text.MinLength = _this.RepeaterField.ControlOptions.minLength;
6027
+ _this.renderComponentService.renderDynamicComponent(_this.Item, TextboxComponent, _this.group, Text);
6028
+ break;
6029
+ case exports.DataType.Name:
6030
+ var Name = new TextBoxOptions();
6031
+ Name.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6032
+ Name.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6033
+ Name.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6034
+ Name.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6035
+ Name.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6036
+ Name.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6037
+ if (_this.RepeaterField.ControlOptions.maxLength)
6038
+ Name.MaxLength = _this.RepeaterField.ControlOptions.maxLength;
6039
+ if (_this.RepeaterField.ControlOptions.minLength)
6040
+ Name.MinLength = _this.RepeaterField.ControlOptions.minLength;
6041
+ Name.Type = exports.InputType.Text;
6042
+ _this.renderComponentService.renderDynamicComponent(_this.Item, TextboxComponent, _this.group, Name);
6043
+ break;
6044
+ case exports.DataType.Email:
6045
+ var Email = new TextBoxOptions();
6046
+ Email.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6047
+ Email.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6048
+ Email.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6049
+ Email.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6050
+ Email.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6051
+ Email.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6052
+ Email.Type = exports.InputType.Email;
6053
+ _this.renderComponentService.renderDynamicComponent(_this.Item, TextboxComponent, _this.group, Email);
6054
+ break;
6055
+ case exports.DataType.Number:
6056
+ var Number = new TextBoxOptions();
6057
+ Number.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6058
+ Number.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6059
+ Number.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6060
+ Number.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6061
+ Number.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6062
+ Number.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6063
+ Number.Type = exports.InputType.Number;
6064
+ var rangeNumber = new RangeNumber();
6065
+ rangeNumber.To = _this.RepeaterField.ControlOptions.maxLength;
6066
+ rangeNumber.From = _this.RepeaterField.ControlOptions.minLength;
6067
+ Number.NumberRange = rangeNumber;
6068
+ _this.renderComponentService.renderDynamicComponent(_this.Item, TextboxComponent, _this.group, Number);
6069
+ break;
6070
+ ///DateTime
6071
+ case exports.DataType.Date:
6072
+ var Date = new DatePickerOptions();
6073
+ Date.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6074
+ Date.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6075
+ Date.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6076
+ Date.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6077
+ Date.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6078
+ Date.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6079
+ Date.PickerType = exports.PickerType.Calendar;
6080
+ Date.SelectMode = exports.SelectMode.Single;
6081
+ Date.StartView = exports.StartView.Month;
6082
+ _this.renderComponentService.renderDynamicComponent(_this.Item, DateInputComponent, _this.group, Date);
6083
+ break;
6084
+ case exports.DataType.DateTime:
6085
+ var DateTime = new DatePickerOptions();
6086
+ DateTime.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6087
+ DateTime.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6088
+ DateTime.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6089
+ DateTime.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6090
+ DateTime.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6091
+ DateTime.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6092
+ DateTime.PickerType = exports.PickerType.Both;
6093
+ DateTime.SelectMode = exports.SelectMode.Single;
6094
+ DateTime.StartView = exports.StartView.Month;
6095
+ _this.renderComponentService.renderDynamicComponent(_this.Item, DateInputComponent, _this.group, DateTime);
6096
+ break;
6097
+ case exports.DataType.Time:
6098
+ var Time = new DatePickerOptions();
6099
+ Time.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6100
+ Time.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6101
+ Time.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6102
+ Time.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6103
+ Time.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6104
+ Time.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6105
+ Time.PickerType = exports.PickerType.Timer;
6106
+ Time.SelectMode = exports.SelectMode.Single;
6107
+ Time.StartView = exports.StartView.Month;
6108
+ _this.renderComponentService.renderDynamicComponent(_this.Item, DateInputComponent, _this.group, Time);
6109
+ break;
6110
+ //Dropdown
6111
+ case exports.DataType.SingleSelect:
6112
+ var SingleSelect = new DropdownOptions();
6113
+ SingleSelect.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6114
+ SingleSelect.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6115
+ SingleSelect.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6116
+ SingleSelect.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6117
+ SingleSelect.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6118
+ SingleSelect.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6119
+ SingleSelect.DataSource = _this.RepeaterField.ControlOptions.dataSource;
6120
+ SingleSelect.SingleSelection = true;
6121
+ SingleSelect.ShowCheckbox = false;
6122
+ SingleSelect.AllowSearchFilter = _this.RepeaterField.ControlOptions.hasSearch;
6123
+ _this.renderComponentService.renderDynamicComponent(_this.Item, DropdownListComponent, _this.group, SingleSelect);
6124
+ break;
6125
+ case exports.DataType.MulipleSelect:
6126
+ var MulipleSelect = new DropdownOptions();
6127
+ MulipleSelect.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6128
+ MulipleSelect.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6129
+ MulipleSelect.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6130
+ MulipleSelect.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6131
+ MulipleSelect.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6132
+ MulipleSelect.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6133
+ MulipleSelect.DataSource = _this.RepeaterField.ControlOptions.dataSource;
6134
+ MulipleSelect.SingleSelection = false;
6135
+ MulipleSelect.ShowCheckbox = false;
6136
+ MulipleSelect.AllowSearchFilter = _this.RepeaterField.ControlOptions.hasSearch;
6137
+ _this.renderComponentService.renderDynamicComponent(_this.Item, DropdownListComponent, _this.group, MulipleSelect);
6138
+ break;
6139
+ case exports.DataType.Goal:
6140
+ var Goal = new DropdownOptions();
6141
+ Goal.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6142
+ Goal.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6143
+ Goal.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6144
+ Goal.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6145
+ Goal.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6146
+ Goal.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6147
+ Goal.DataSource = _this.RepeaterField.ControlOptions.dataSource;
6148
+ Goal.SingleSelection = !_this.RepeaterField.ControlOptions.isMultiple;
6149
+ Goal.ShowCheckbox = false;
6150
+ Goal.AllowSearchFilter = _this.RepeaterField.ControlOptions.hasSearch;
6151
+ _this.renderComponentService.renderDynamicComponent(_this.Item, DropdownListComponent, _this.group, Goal);
6152
+ break;
6153
+ case exports.DataType.Challenge:
6154
+ var Challenge = new DropdownOptions();
6155
+ Challenge.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6156
+ Challenge.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6157
+ Challenge.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6158
+ Challenge.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6159
+ Challenge.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6160
+ Challenge.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6161
+ Challenge.DataSource = _this.RepeaterField.ControlOptions.dataSource;
6162
+ Challenge.DataSource = _this.RepeaterField.ControlOptions.dataSource;
6163
+ Challenge.SingleSelection = !_this.RepeaterField.ControlOptions.isMultiple;
6164
+ Challenge.ShowCheckbox = false;
6165
+ Challenge.AllowSearchFilter = _this.RepeaterField.ControlOptions.hasSearch;
6166
+ _this.renderComponentService.renderDynamicComponent(_this.Item, DropdownListComponent, _this.group, Challenge);
6167
+ break;
6168
+ case exports.DataType.InnovationLab:
6169
+ var InnovationLab = new DropdownOptions();
6170
+ InnovationLab.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6171
+ InnovationLab.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6172
+ InnovationLab.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6173
+ InnovationLab.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6174
+ InnovationLab.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6175
+ InnovationLab.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6176
+ InnovationLab.DataSource = _this.RepeaterField.ControlOptions.dataSource;
6177
+ InnovationLab.SingleSelection = !_this.RepeaterField.ControlOptions.isMultiple;
6178
+ InnovationLab.ShowCheckbox = false;
6179
+ InnovationLab.AllowSearchFilter = _this.RepeaterField.ControlOptions.hasSearch;
6180
+ _this.renderComponentService.renderDynamicComponent(_this.Item, DropdownListComponent, _this.group, InnovationLab);
6181
+ break;
6182
+ case exports.DataType.Country:
6183
+ var Country = new DropdownOptions();
6184
+ Country.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6185
+ Country.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6186
+ Country.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6187
+ Country.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6188
+ Country.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6189
+ Country.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6190
+ Country.DataSource = _this.RepeaterField.ControlOptions.dataSource;
6191
+ Country.SingleSelection = !_this.RepeaterField.ControlOptions.isMultiple;
6192
+ Country.ShowCheckbox = false;
6193
+ Country.AllowSearchFilter = _this.RepeaterField.ControlOptions.hasSearch;
6194
+ _this.renderComponentService.renderDynamicComponent(_this.Item, DropdownListComponent, _this.group, Country);
6195
+ break;
6196
+ //FileUpload
6197
+ case exports.DataType.File:
6198
+ var File = new FileUploadOptions();
6199
+ File.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6200
+ File.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6201
+ File.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6202
+ File.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6203
+ File.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6204
+ File.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6205
+ File.FileMaxSizeInMB = _this.RepeaterField.ControlOptions.maxFileSizeInMB;
6206
+ _this.renderComponentService.renderDynamicComponent(_this.Item, FileUploadComponent, _this.group, File);
6207
+ break;
6208
+ case exports.DataType.MultiFile:
6209
+ var MultiFile = new FileUploadOptions();
6210
+ File.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6211
+ File.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6212
+ File.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6213
+ File.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6214
+ File.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6215
+ File.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6216
+ MultiFile.MaxSizeForAllFilesInMB = _this.RepeaterField.ControlOptions.maxFileSizeInMB;
6217
+ MultiFile.MaxNoOfFiles = _this.RepeaterField.ControlOptions.maxFileCount;
6218
+ MultiFile.IsMultipleFile = true;
6219
+ _this.renderComponentService.renderDynamicComponent(_this.Item, FileUploadComponent, _this.group, MultiFile);
6220
+ break;
6221
+ //ImageUpload
6222
+ case exports.DataType.Image:
6223
+ var Image = new ImageUploadOptions();
6224
+ Image.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6225
+ Image.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6226
+ Image.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6227
+ Image.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6228
+ Image.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6229
+ Image.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6230
+ if (_this.RepeaterField.ControlOptions.maxFileSizeInMB)
6231
+ Image.FileMaxSizeInMB = _this.RepeaterField.ControlOptions.maxFileSizeInMB;
6232
+ _this.renderComponentService.renderDynamicComponent(_this.Item, ImageUploaderComponent, _this.group, Image);
6233
+ break;
6234
+ case exports.DataType.CoverPhoto:
6235
+ var CoverPhoto = new ImageUploadOptions();
6236
+ CoverPhoto.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6237
+ CoverPhoto.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6238
+ CoverPhoto.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6239
+ CoverPhoto.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6240
+ CoverPhoto.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6241
+ CoverPhoto.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6242
+ if (_this.RepeaterField.ControlOptions.maxFileSizeInMB)
6243
+ CoverPhoto.FileMaxSizeInMB = _this.RepeaterField.ControlOptions.maxFileSizeInMB;
6244
+ _this.renderComponentService.renderDynamicComponent(_this.Item, ImageUploaderComponent, _this.group, CoverPhoto);
6245
+ break;
6246
+ //Mobile
6247
+ case exports.DataType.Mobile:
6248
+ var Mobile = new PhoneOptions();
6249
+ Mobile.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6250
+ Mobile.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6251
+ Mobile.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6252
+ Mobile.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6253
+ Mobile.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6254
+ Mobile.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6255
+ Mobile.AllowSearch = true;
6256
+ Mobile.PhoneValidation = true;
6257
+ Mobile.SelectFirstCountry = true;
6258
+ Mobile.EnablePlaceholder = true;
6259
+ _this.renderComponentService.renderDynamicComponent(_this.Item, PhoneComponent, _this.group, Mobile);
6260
+ break;
6261
+ //MultilineText
6262
+ case exports.DataType.MultilineText:
6263
+ var MultilineText = new TextAreaOptions();
6264
+ MultilineText.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6265
+ MultilineText.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6266
+ MultilineText.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6267
+ MultilineText.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6268
+ MultilineText.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6269
+ MultilineText.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6270
+ if (_this.RepeaterField.ControlOptions.maxLength)
6271
+ MultilineText.MaxLength = _this.RepeaterField.ControlOptions.maxLength;
6272
+ if (_this.RepeaterField.ControlOptions.minLength)
6273
+ MultilineText.MinLength = _this.RepeaterField.ControlOptions.minLength;
6274
+ MultilineText.Rows = _this.RepeaterField.ControlOptions.rows;
6275
+ MultilineText.ForceDirection = _this.RepeaterField.ControlOptions.ForceDirection;
6276
+ _this.renderComponentService.renderDynamicComponent(_this.Item, TextAreaComponent, _this.group, MultilineText);
6277
+ break;
6278
+ //HTML
6279
+ case exports.DataType.HTML:
6280
+ var HTML = new HtmlEditorOptions();
6281
+ HTML.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6282
+ HTML.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6283
+ HTML.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6284
+ HTML.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6285
+ HTML.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6286
+ HTML.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6287
+ if (_this.RepeaterField.ControlOptions.maxLength)
6288
+ HTML.MaxLength = _this.RepeaterField.ControlOptions.maxLength;
6289
+ if (_this.RepeaterField.ControlOptions.minLength)
6290
+ HTML.MinLength = _this.RepeaterField.ControlOptions.minLength;
6291
+ HTML.Height = _this.RepeaterField.ControlOptions.rows;
6292
+ HTML.ForceDirection = _this.RepeaterField.ControlOptions.ForceDirection;
6293
+ _this.renderComponentService.renderDynamicComponent(_this.Item, HtmlEditorComponent, _this.group, HTML);
6294
+ break;
6295
+ //Boolean
6296
+ case exports.DataType.Boolean:
6297
+ var Boolean = new ToggleSlideOptions();
6298
+ Boolean.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6299
+ Boolean.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6300
+ Boolean.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6301
+ Boolean.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6302
+ Boolean.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6303
+ _this.renderComponentService.renderDynamicComponent(_this.Item, ToggleslideComponent, _this.group, Boolean);
6304
+ break;
6305
+ //Location
6306
+ case exports.DataType.Location:
6307
+ var Location = new MapAutoCompleteOptions();
6308
+ Location.Name = _this.RepeaterField.ControlOptions.Name + "." + _this.itemNumber.toString() + "." + _this.controlNumber.toString();
6309
+ Location.HideLabel = _this.RepeaterField.ControlOptions.HideLabel;
6310
+ Location.LabelKey = _this.RepeaterField.ControlOptions.LabelKey;
6311
+ Location.IsRequired = _this.RepeaterField.ControlOptions.IsRequired;
6312
+ Location.ViewType = _this.RepeaterField.ControlOptions.ViewType;
6313
+ Location.LabelDescription = _this.RepeaterField.ControlOptions.LabelDescription ? _this.RepeaterField.ControlOptions.LabelDescription : "";
6314
+ _this.renderComponentService.renderDynamicComponent(_this.Item, MapAutoCompleteComponent, _this.group, Location);
6315
+ break;
6316
+ default:
6317
+ break;
6318
+ }
6319
+ }, 0);
6320
+ };
6321
+ RepeaterFieldBuilderComponent.prototype.ngOnChanges = function (changes) {
6322
+ if (changes.itemNumber.previousValue) {
6323
+ var name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.previousValue.toString() + "." + this.controlNumber.toString();
6324
+ var value = this.group.controls[name].value;
6325
+ this.Item.clear();
6326
+ this.group.removeControl(name);
6327
+ switch (this.RepeaterField.ControlType) {
6328
+ ///TextBox
6329
+ case exports.DataType.Text:
6330
+ var Text = new TextBoxOptions();
6331
+ Text.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6332
+ Text.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6333
+ Text.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6334
+ Text.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6335
+ Text.ViewType = this.RepeaterField.ControlOptions.ViewType;
6336
+ Text.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6337
+ Text.Type = exports.InputType.Text;
6338
+ if (this.RepeaterField.ControlOptions.maxLength)
6339
+ Text.MaxLength = this.RepeaterField.ControlOptions.maxLength;
6340
+ if (this.RepeaterField.ControlOptions.minLength)
6341
+ Text.MinLength = this.RepeaterField.ControlOptions.minLength;
6342
+ Text.Value = value;
6343
+ this.renderComponentService.renderDynamicComponent(this.Item, TextboxComponent, this.group, Text);
6344
+ break;
6345
+ case exports.DataType.Name:
6346
+ var Name = new TextBoxOptions();
6347
+ Name.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6348
+ Name.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6349
+ Name.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6350
+ Name.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6351
+ Name.ViewType = this.RepeaterField.ControlOptions.ViewType;
6352
+ Name.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6353
+ if (this.RepeaterField.ControlOptions.maxLength)
6354
+ Name.MaxLength = this.RepeaterField.ControlOptions.maxLength;
6355
+ if (this.RepeaterField.ControlOptions.minLength)
6356
+ Name.MinLength = this.RepeaterField.ControlOptions.minLength;
6357
+ Name.Type = exports.InputType.Text;
6358
+ Name.Value = value;
6359
+ this.renderComponentService.renderDynamicComponent(this.Item, TextboxComponent, this.group, Name);
6360
+ break;
6361
+ case exports.DataType.Email:
6362
+ var Email = new TextBoxOptions();
6363
+ Email.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6364
+ Email.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6365
+ Email.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6366
+ Email.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6367
+ Email.ViewType = this.RepeaterField.ControlOptions.ViewType;
6368
+ Email.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6369
+ Email.Type = exports.InputType.Email;
6370
+ Email.Value = value;
6371
+ this.renderComponentService.renderDynamicComponent(this.Item, TextboxComponent, this.group, Email);
6372
+ break;
6373
+ case exports.DataType.Number:
6374
+ var Number = new TextBoxOptions();
6375
+ Number.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6376
+ Number.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6377
+ Number.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6378
+ Number.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6379
+ Number.ViewType = this.RepeaterField.ControlOptions.ViewType;
6380
+ Number.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6381
+ Number.Type = exports.InputType.Number;
6382
+ var rangeNumber = new RangeNumber();
6383
+ rangeNumber.To = this.RepeaterField.ControlOptions.maxLength;
6384
+ rangeNumber.From = this.RepeaterField.ControlOptions.minLength;
6385
+ Number.NumberRange = rangeNumber;
6386
+ Number.Value = value;
6387
+ this.renderComponentService.renderDynamicComponent(this.Item, TextboxComponent, this.group, Number);
6388
+ break;
6389
+ ///DateTime
6390
+ case exports.DataType.Date:
6391
+ var Date = new DatePickerOptions();
6392
+ Date.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6393
+ Date.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6394
+ Date.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6395
+ Date.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6396
+ Date.ViewType = this.RepeaterField.ControlOptions.ViewType;
6397
+ Date.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6398
+ Date.PickerType = exports.PickerType.Calendar;
6399
+ Date.SelectMode = exports.SelectMode.Single;
6400
+ Date.StartView = exports.StartView.Month;
6401
+ Date.Value = value;
6402
+ this.renderComponentService.renderDynamicComponent(this.Item, DateInputComponent, this.group, Date);
6403
+ break;
6404
+ case exports.DataType.DateTime:
6405
+ var DateTime = new DatePickerOptions();
6406
+ DateTime.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6407
+ DateTime.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6408
+ DateTime.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6409
+ DateTime.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6410
+ DateTime.ViewType = this.RepeaterField.ControlOptions.ViewType;
6411
+ DateTime.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6412
+ DateTime.PickerType = exports.PickerType.Both;
6413
+ DateTime.SelectMode = exports.SelectMode.Single;
6414
+ DateTime.StartView = exports.StartView.Month;
6415
+ DateTime.Value = value;
6416
+ this.renderComponentService.renderDynamicComponent(this.Item, DateInputComponent, this.group, DateTime);
6417
+ break;
6418
+ case exports.DataType.Time:
6419
+ var Time = new DatePickerOptions();
6420
+ Time.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6421
+ Time.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6422
+ Time.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6423
+ Time.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6424
+ Time.ViewType = this.RepeaterField.ControlOptions.ViewType;
6425
+ Time.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6426
+ Time.PickerType = exports.PickerType.Timer;
6427
+ Time.SelectMode = exports.SelectMode.Single;
6428
+ Time.StartView = exports.StartView.Month;
6429
+ Time.Value = value;
6430
+ this.renderComponentService.renderDynamicComponent(this.Item, DateInputComponent, this.group, Time);
6431
+ break;
6432
+ //Dropdown
6433
+ case exports.DataType.SingleSelect:
6434
+ var SingleSelect = new DropdownOptions();
6435
+ SingleSelect.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6436
+ SingleSelect.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6437
+ SingleSelect.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6438
+ SingleSelect.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6439
+ SingleSelect.ViewType = this.RepeaterField.ControlOptions.ViewType;
6440
+ SingleSelect.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6441
+ SingleSelect.DataSource = this.RepeaterField.ControlOptions.dataSource;
6442
+ SingleSelect.SingleSelection = true;
6443
+ SingleSelect.ShowCheckbox = false;
6444
+ SingleSelect.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
6445
+ SingleSelect.SelectedItems = value;
6446
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, SingleSelect);
6447
+ break;
6448
+ case exports.DataType.MulipleSelect:
6449
+ var MulipleSelect = new DropdownOptions();
6450
+ MulipleSelect.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6451
+ MulipleSelect.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6452
+ MulipleSelect.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6453
+ MulipleSelect.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6454
+ MulipleSelect.ViewType = this.RepeaterField.ControlOptions.ViewType;
6455
+ MulipleSelect.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6456
+ MulipleSelect.DataSource = this.RepeaterField.ControlOptions.dataSource;
6457
+ MulipleSelect.SingleSelection = false;
6458
+ MulipleSelect.ShowCheckbox = false;
6459
+ MulipleSelect.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
6460
+ MulipleSelect.SelectedItems = value;
6461
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, MulipleSelect);
6462
+ break;
6463
+ case exports.DataType.Goal:
6464
+ var Goal = new DropdownOptions();
6465
+ Goal.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6466
+ Goal.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6467
+ Goal.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6468
+ Goal.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6469
+ Goal.ViewType = this.RepeaterField.ControlOptions.ViewType;
6470
+ Goal.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6471
+ Goal.DataSource = this.RepeaterField.ControlOptions.dataSource;
6472
+ Goal.SingleSelection = !this.RepeaterField.ControlOptions.isMultiple;
6473
+ Goal.ShowCheckbox = false;
6474
+ Goal.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
6475
+ Goal.SelectedItems = value;
6476
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, Goal);
6477
+ break;
6478
+ case exports.DataType.Challenge:
6479
+ var Challenge = new DropdownOptions();
6480
+ Challenge.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6481
+ Challenge.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6482
+ Challenge.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6483
+ Challenge.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6484
+ Challenge.ViewType = this.RepeaterField.ControlOptions.ViewType;
6485
+ Challenge.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6486
+ Challenge.DataSource = this.RepeaterField.ControlOptions.dataSource;
6487
+ Challenge.DataSource = this.RepeaterField.ControlOptions.dataSource;
6488
+ Challenge.SingleSelection = !this.RepeaterField.ControlOptions.isMultiple;
6489
+ Challenge.ShowCheckbox = false;
6490
+ Challenge.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
6491
+ Challenge.SelectedItems = value;
6492
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, Challenge);
6493
+ break;
6494
+ case exports.DataType.InnovationLab:
6495
+ var InnovationLab = new DropdownOptions();
6496
+ InnovationLab.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6497
+ InnovationLab.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6498
+ InnovationLab.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6499
+ InnovationLab.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6500
+ InnovationLab.ViewType = this.RepeaterField.ControlOptions.ViewType;
6501
+ InnovationLab.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6502
+ InnovationLab.DataSource = this.RepeaterField.ControlOptions.dataSource;
6503
+ InnovationLab.SingleSelection = !this.RepeaterField.ControlOptions.isMultiple;
6504
+ InnovationLab.ShowCheckbox = false;
6505
+ InnovationLab.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
6506
+ InnovationLab.SelectedItems = value;
6507
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, InnovationLab);
6508
+ break;
6509
+ case exports.DataType.Country:
6510
+ var Country = new DropdownOptions();
6511
+ Country.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6512
+ Country.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6513
+ Country.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6514
+ Country.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6515
+ Country.ViewType = this.RepeaterField.ControlOptions.ViewType;
6516
+ Country.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6517
+ Country.DataSource = this.RepeaterField.ControlOptions.dataSource;
6518
+ Country.SingleSelection = !this.RepeaterField.ControlOptions.isMultiple;
6519
+ Country.ShowCheckbox = false;
6520
+ Country.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
6521
+ Country.SelectedItems = value;
6522
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, Country);
6523
+ break;
6524
+ //FileUpload
6525
+ case exports.DataType.File:
6526
+ var File = new FileUploadOptions();
6527
+ File.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6528
+ File.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6529
+ File.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6530
+ File.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6531
+ File.ViewType = this.RepeaterField.ControlOptions.ViewType;
6532
+ File.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6533
+ File.FileMaxSizeInMB = this.RepeaterField.ControlOptions.maxFileSizeInMB;
6534
+ File.Value = value;
6535
+ this.renderComponentService.renderDynamicComponent(this.Item, FileUploadComponent, this.group, File);
6536
+ break;
6537
+ case exports.DataType.MultiFile:
6538
+ var MultiFile = new FileUploadOptions();
6539
+ File.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6540
+ File.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6541
+ File.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6542
+ File.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6543
+ File.ViewType = this.RepeaterField.ControlOptions.ViewType;
6544
+ File.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6545
+ MultiFile.MaxSizeForAllFilesInMB = this.RepeaterField.ControlOptions.maxFileSizeInMB;
6546
+ MultiFile.MaxNoOfFiles = this.RepeaterField.ControlOptions.maxFileCount;
6547
+ MultiFile.IsMultipleFile = true;
6548
+ MultiFile.Value = value;
6549
+ this.renderComponentService.renderDynamicComponent(this.Item, FileUploadComponent, this.group, MultiFile);
6550
+ break;
6551
+ //ImageUpload
6552
+ case exports.DataType.Image:
6553
+ var Image = new ImageUploadOptions();
6554
+ Image.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6555
+ Image.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6556
+ Image.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6557
+ Image.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6558
+ Image.ViewType = this.RepeaterField.ControlOptions.ViewType;
6559
+ Image.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6560
+ if (this.RepeaterField.ControlOptions.maxFileSizeInMB)
6561
+ Image.FileMaxSizeInMB = this.RepeaterField.ControlOptions.maxFileSizeInMB;
6562
+ Image.Value = value;
6563
+ this.renderComponentService.renderDynamicComponent(this.Item, ImageUploaderComponent, this.group, Image);
6564
+ break;
6565
+ case exports.DataType.CoverPhoto:
6566
+ var CoverPhoto = new ImageUploadOptions();
6567
+ CoverPhoto.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6568
+ CoverPhoto.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6569
+ CoverPhoto.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6570
+ CoverPhoto.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6571
+ CoverPhoto.ViewType = this.RepeaterField.ControlOptions.ViewType;
6572
+ CoverPhoto.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6573
+ if (this.RepeaterField.ControlOptions.maxFileSizeInMB)
6574
+ CoverPhoto.FileMaxSizeInMB = this.RepeaterField.ControlOptions.maxFileSizeInMB;
6575
+ CoverPhoto.Value = value;
6576
+ this.renderComponentService.renderDynamicComponent(this.Item, ImageUploaderComponent, this.group, CoverPhoto);
6577
+ break;
6578
+ //Mobile
6579
+ case exports.DataType.Mobile:
6580
+ var Mobile = new PhoneOptions();
6581
+ Mobile.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6582
+ Mobile.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6583
+ Mobile.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6584
+ Mobile.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6585
+ Mobile.ViewType = this.RepeaterField.ControlOptions.ViewType;
6586
+ Mobile.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6587
+ Mobile.AllowSearch = true;
6588
+ Mobile.PhoneValidation = true;
6589
+ Mobile.SelectFirstCountry = true;
6590
+ Mobile.EnablePlaceholder = true;
6591
+ Mobile.Value = value;
6592
+ this.renderComponentService.renderDynamicComponent(this.Item, PhoneComponent, this.group, Mobile);
6593
+ break;
6594
+ //MultilineText
6595
+ case exports.DataType.MultilineText:
6596
+ var MultilineText = new TextAreaOptions();
6597
+ MultilineText.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6598
+ MultilineText.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6599
+ MultilineText.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6600
+ MultilineText.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6601
+ MultilineText.ViewType = this.RepeaterField.ControlOptions.ViewType;
6602
+ MultilineText.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6603
+ if (this.RepeaterField.ControlOptions.maxLength)
6604
+ MultilineText.MaxLength = this.RepeaterField.ControlOptions.maxLength;
6605
+ if (this.RepeaterField.ControlOptions.minLength)
6606
+ MultilineText.MinLength = this.RepeaterField.ControlOptions.minLength;
6607
+ MultilineText.Rows = this.RepeaterField.ControlOptions.rows;
6608
+ MultilineText.ForceDirection = this.RepeaterField.ControlOptions.ForceDirection;
6609
+ MultilineText.Value = value;
6610
+ this.renderComponentService.renderDynamicComponent(this.Item, TextAreaComponent, this.group, MultilineText);
6611
+ break;
6612
+ //HTML
6613
+ case exports.DataType.HTML:
6614
+ var HTML = new HtmlEditorOptions();
6615
+ HTML.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6616
+ HTML.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6617
+ HTML.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6618
+ HTML.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6619
+ HTML.ViewType = this.RepeaterField.ControlOptions.ViewType;
6620
+ HTML.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6621
+ if (this.RepeaterField.ControlOptions.maxLength)
6622
+ HTML.MaxLength = this.RepeaterField.ControlOptions.maxLength;
6623
+ if (this.RepeaterField.ControlOptions.minLength)
6624
+ HTML.MinLength = this.RepeaterField.ControlOptions.minLength;
6625
+ HTML.Height = this.RepeaterField.ControlOptions.rows;
6626
+ HTML.ForceDirection = this.RepeaterField.ControlOptions.ForceDirection;
6627
+ HTML.Value = value;
6628
+ this.renderComponentService.renderDynamicComponent(this.Item, HtmlEditorComponent, this.group, HTML);
6629
+ break;
6630
+ //Boolean
6631
+ case exports.DataType.Boolean:
6632
+ var Boolean = new ToggleSlideOptions();
6633
+ Boolean.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6634
+ Boolean.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6635
+ Boolean.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6636
+ Boolean.ViewType = this.RepeaterField.ControlOptions.ViewType;
6637
+ Boolean.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6638
+ Boolean.Value = value;
6639
+ this.renderComponentService.renderDynamicComponent(this.Item, ToggleslideComponent, this.group, Boolean);
6640
+ break;
6641
+ //Location
6642
+ case exports.DataType.Location:
6643
+ var Location = new MapAutoCompleteOptions();
6644
+ Location.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6645
+ Location.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6646
+ Location.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6647
+ Location.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6648
+ Location.ViewType = this.RepeaterField.ControlOptions.ViewType;
6649
+ Location.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6650
+ Location.Value = value;
6651
+ this.renderComponentService.renderDynamicComponent(this.Item, MapAutoCompleteComponent, this.group, Location);
6652
+ break;
6653
+ default:
6654
+ break;
6655
+ }
6656
+ }
6657
+ };
6658
+ return RepeaterFieldBuilderComponent;
6659
+ }());
6660
+ RepeaterFieldBuilderComponent.decorators = [
6661
+ { type: i0.Component, args: [{
6662
+ selector: 'repeater-field-builder',
6663
+ template: "<ng-container #Item></ng-container>\r\n"
6664
+ },] }
6665
+ ];
6666
+ RepeaterFieldBuilderComponent.ctorParameters = function () { return [
6667
+ { type: RenderComponentService },
6668
+ { type: forms.FormGroupDirective }
6669
+ ]; };
6670
+ RepeaterFieldBuilderComponent.propDecorators = {
6671
+ Item: [{ type: i0.ViewChild, args: ["Item", { read: i0.ViewContainerRef },] }],
6672
+ group: [{ type: i0.Input }],
6673
+ itemNumber: [{ type: i0.Input }],
6674
+ controlNumber: [{ type: i0.Input }],
6675
+ RepeaterField: [{ type: i0.Input }]
6676
+ };
6677
+
6678
+ var RepeaterItemFieldComponent = /** @class */ (function () {
6679
+ function RepeaterItemFieldComponent() {
6680
+ }
6681
+ RepeaterItemFieldComponent.prototype.ngOnInit = function () {
6682
+ };
6683
+ return RepeaterItemFieldComponent;
6684
+ }());
6685
+ RepeaterItemFieldComponent.decorators = [
6686
+ { type: i0.Component, args: [{
6687
+ selector: 'repeater-item-field',
6688
+ template: "<ng-container *ngFor=\"let template of templates ; index as i\">\r\n <ng-container *ngIf=\"i==filedIndex\" [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext] ={itemIndex:itemIndex,controlIndex:i}></ng-container>\r\n </ng-container>",
6689
+ styles: [""]
6690
+ },] }
6691
+ ];
6692
+ RepeaterItemFieldComponent.ctorParameters = function () { return []; };
6693
+ RepeaterItemFieldComponent.propDecorators = {
6694
+ templates: [{ type: i0.Input }],
6695
+ filedIndex: [{ type: i0.Input }],
6696
+ itemIndex: [{ type: i0.Input }]
6697
+ };
6698
+
5612
6699
  var options;
5613
6700
  exports.AppInjector = void 0;
5614
6701
  angular.FullCalendarModule.registerPlugins([
@@ -5652,7 +6739,11 @@
5652
6739
  JwPaginationComponent,
5653
6740
  RadioButtonComponent,
5654
6741
  FormComponent,
5655
- ConfirmationModalComponent
6742
+ ConfirmationModalComponent,
6743
+ RepeaterComponent,
6744
+ RepeaterFieldBuilderComponent,
6745
+ NgTemplateNameDirective,
6746
+ RepeaterItemFieldComponent,
5656
6747
  ],
5657
6748
  imports: [
5658
6749
  common.CommonModule,
@@ -5707,17 +6798,12 @@
5707
6798
  ErrorMassageValidation,
5708
6799
  ControlUtility,
5709
6800
  OnPagingFiltersChangeService,
5710
- // EnvironmentService,
5711
- // AuthService,
5712
- // RequestHandlerService,
5713
- // UtilityService,
5714
6801
  core$1.TranslateService,
5715
- // BBSFTranslateService,
5716
- // ControlValidationService,
5717
6802
  forms.FormGroupDirective,
5718
6803
  ngBootstrap.NgbModal,
5719
6804
  ngBootstrap.NgbActiveModal,
5720
6805
  common.DatePipe,
6806
+ RenderComponentService,
5721
6807
  { provide: ngPickDatetime.OWL_DATE_TIME_LOCALE, useValue: ɵ0 },
5722
6808
  ],
5723
6809
  schemas: [
@@ -5747,7 +6833,11 @@
5747
6833
  RadioButtonComponent,
5748
6834
  FormComponent,
5749
6835
  PagingComponent,
5750
- ConfirmationModalComponent
6836
+ ConfirmationModalComponent,
6837
+ RepeaterComponent,
6838
+ RepeaterFieldBuilderComponent,
6839
+ NgTemplateNameDirective,
6840
+ RepeaterItemFieldComponent,
5751
6841
  ]
5752
6842
  },] }
5753
6843
  ];
@@ -5788,81 +6878,6 @@
5788
6878
  return CustomValidator;
5789
6879
  }());
5790
6880
 
5791
- exports.ForceDirection = void 0;
5792
- (function (ForceDirection) {
5793
- ForceDirection[ForceDirection["English"] = 1] = "English";
5794
- ForceDirection[ForceDirection["Arabic"] = 2] = "Arabic";
5795
- })(exports.ForceDirection || (exports.ForceDirection = {}));
5796
-
5797
- var DatePickerOptions = /** @class */ (function () {
5798
- function DatePickerOptions() {
5799
- /** to set type of view if DatePicker is Vertical or Horizontal */
5800
- this.ViewType = exports.ControlLayout.Vertical;
5801
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5802
- */
5803
- this.CustomValidation = [];
5804
- /**To set First Day Of Week to DatePicker */
5805
- this.FirstDayOfWeek = 1;
5806
- /**To set PickerType to DatePicker is Calendar or Timer Or Both */
5807
- this.PickerType = exports.PickerType.Calendar;
5808
- /**To set StartView to DatePicker is Year or Month Or Multi-Year */
5809
- this.StartView = exports.StartView.Month;
5810
- /**To set SelectMode to DatePicker is Single or Range */
5811
- this.SelectMode = exports.SelectMode.Single;
5812
- this.ForceDirection = exports.ForceDirection.English;
5813
- }
5814
- return DatePickerOptions;
5815
- }());
5816
-
5817
- var RangeNumber = /** @class */ (function () {
5818
- function RangeNumber() {
5819
- }
5820
- return RangeNumber;
5821
- }());
5822
-
5823
- exports.IconPosition = void 0;
5824
- (function (IconPosition) {
5825
- IconPosition[IconPosition["left"] = 1] = "left";
5826
- IconPosition[IconPosition["right"] = 2] = "right";
5827
- })(exports.IconPosition || (exports.IconPosition = {}));
5828
-
5829
- var TextBoxOptions = /** @class */ (function () {
5830
- function TextBoxOptions() {
5831
- /** set Range Number to Textbox with type number with From-Value and To-value*/
5832
- this.NumberRange = new RangeNumber();
5833
- /**Prevent AutoComplete of textbox*/
5834
- this.AutoComplete = "off";
5835
- /** to set type of view if textbox is Vertical or Horizontal */
5836
- this.ViewType = null;
5837
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5838
- */
5839
- this.CustomValidation = [];
5840
- /** to set Direction of textbox if textbox is Arabic or English */
5841
- this.ForceDirection = null;
5842
- /** Set Type of TextBox ("text","password","email","number") */
5843
- this.Type = exports.InputType.Text;
5844
- this.IconPosition = exports.IconPosition.left;
5845
- this.NoMargin = false;
5846
- this.ValidationRules = [];
5847
- }
5848
- return TextBoxOptions;
5849
- }());
5850
-
5851
- var FileUploadOptions = /** @class */ (function () {
5852
- function FileUploadOptions() {
5853
- /** Ability to set FileInput required */
5854
- this.IsMultipleFile = false;
5855
- /** Sets boolean Value to Show IsDropZone Or Not */
5856
- this.IsDropZone = false;
5857
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5858
- */
5859
- this.CustomValidation = [];
5860
- /** to set type of view if textbox is Vertical or Horizontal */
5861
- this.ViewType = null;
5862
- }
5863
- return FileUploadOptions;
5864
- }());
5865
-
5866
6881
  var MultiLingualTextBoxOptions = /** @class */ (function () {
5867
6882
  function MultiLingualTextBoxOptions() {
5868
6883
  /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
@@ -5888,19 +6903,6 @@
5888
6903
  return Attribute;
5889
6904
  }());
5890
6905
 
5891
- var TextAreaOptions = /** @class */ (function () {
5892
- function TextAreaOptions() {
5893
- /** to set type of view if TextArea is Vertical or Horizontal */
5894
- this.ViewType = null;
5895
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5896
- */
5897
- this.CustomValidation = [];
5898
- /** to set Direction of TextArea if TextArea is Arabic or English */
5899
- this.ForceDirection = exports.ForceDirection.English;
5900
- }
5901
- return TextAreaOptions;
5902
- }());
5903
-
5904
6906
  var MultiLingualTextAreaOptions = /** @class */ (function () {
5905
6907
  function MultiLingualTextAreaOptions() {
5906
6908
  /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
@@ -5936,64 +6938,6 @@
5936
6938
  return DropdownListItem;
5937
6939
  }());
5938
6940
 
5939
- var DropdownOptions = /** @class */ (function () {
5940
- function DropdownOptions() {
5941
- /** Disable Bootstrap DropdownList */
5942
- this.DisableBootstrapSelect = false;
5943
- /** to set type of view if DropdownList is Vertical or Horizontal */
5944
- this.ViewType = null;
5945
- /** To Set Custom Validation*/
5946
- this.CustomValidation = [];
5947
- /** Set key for item in DropdownList */
5948
- this.ItemTempletkey = "key";
5949
- /** Set value for item in DropdownList */
5950
- this.ItemTempletvalue = "value";
5951
- this.ForceDirection = exports.ForceDirection.English;
5952
- }
5953
- return DropdownOptions;
5954
- }());
5955
-
5956
- var PhoneOptions = /** @class */ (function () {
5957
- function PhoneOptions() {
5958
- /**
5959
- * Represent Css classes to Phonebox
5960
- */
5961
- this.ExtraClasses = "form-control bnsights-control";
5962
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5963
- */
5964
- this.CustomValidation = [];
5965
- /**Set List Of Countries As Preferred Countries*/
5966
- this.PreferredCountries = [];
5967
- /** to set type of view if Phonebox is Vertical or Horizontal */
5968
- this.ViewType = null;
5969
- this.ForceDirection = exports.ForceDirection.English;
5970
- }
5971
- return PhoneOptions;
5972
- }());
5973
-
5974
- var ToggleSlideOptions = /** @class */ (function () {
5975
- function ToggleSlideOptions() {
5976
- this.ViewType = null;
5977
- this.ForceDirection = exports.ForceDirection.English;
5978
- }
5979
- return ToggleSlideOptions;
5980
- }());
5981
-
5982
- var HtmlEditorOptions = /** @class */ (function () {
5983
- function HtmlEditorOptions() {
5984
- /** to set type of view if textbox is Vertical or Horizontal */
5985
- this.ViewType = null;
5986
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5987
- */
5988
- this.CustomValidation = [];
5989
- /** to set Direction of HtmlEditor if HtmlEditor is Arabic or English */
5990
- this.ForceDirection = exports.ForceDirection.English;
5991
- /** Set Height For */
5992
- this.Height = 150;
5993
- }
5994
- return HtmlEditorOptions;
5995
- }());
5996
-
5997
6941
  var MultiLingualHtmlEditorOptions = /** @class */ (function () {
5998
6942
  function MultiLingualHtmlEditorOptions() {
5999
6943
  /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
@@ -6011,33 +6955,6 @@
6011
6955
  return MultiLingualHtmlEditorOptions;
6012
6956
  }());
6013
6957
 
6014
- exports.ImageType = void 0;
6015
- (function (ImageType) {
6016
- ImageType["ImageTypes"] = "image/png,image/bmp,image/jpeg";
6017
- ImageType["PNG"] = "image/png";
6018
- ImageType["JPG"] = "image/jpeg";
6019
- ImageType["JPEG"] = "image/jpeg";
6020
- ImageType["SVG"] = "image/svg+xml";
6021
- ImageType["None"] = "";
6022
- })(exports.ImageType || (exports.ImageType = {}));
6023
-
6024
- var ImageUploadOptions = /** @class */ (function () {
6025
- function ImageUploadOptions() {
6026
- /** Allow to Upload Multiple File */
6027
- this.IsMultiple = false;
6028
- /** Allow to Use Drop Zone */
6029
- this.AllowDropZone = false;
6030
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
6031
- */
6032
- this.CustomValidation = [];
6033
- /** to set type of view if FileInput is Vertical or Horizontal */
6034
- this.ViewType = null;
6035
- /** Set List of Custom Attribute to FileInput */
6036
- this.FileUploadAcceptsTypes = [exports.ImageType.ImageTypes];
6037
- }
6038
- return ImageUploadOptions;
6039
- }());
6040
-
6041
6958
  var ProfileImageUploadOptions = /** @class */ (function () {
6042
6959
  function ProfileImageUploadOptions() {
6043
6960
  /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
@@ -6107,17 +7024,6 @@
6107
7024
  return CalendarEventDTO;
6108
7025
  }());
6109
7026
 
6110
- var MapAutoCompleteOptions = /** @class */ (function () {
6111
- function MapAutoCompleteOptions() {
6112
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
6113
- */
6114
- this.CustomValidation = [];
6115
- /** to set type of view if MapAutoComplete is Vertical or Horizontal */
6116
- this.ViewType = null;
6117
- }
6118
- return MapAutoCompleteOptions;
6119
- }());
6120
-
6121
7027
  var AutocompleteOptions = /** @class */ (function () {
6122
7028
  function AutocompleteOptions() {
6123
7029
  /**
@@ -6328,6 +7234,23 @@
6328
7234
  return ConfirmationModalOptions;
6329
7235
  }());
6330
7236
 
7237
+ var RepeaterField = /** @class */ (function () {
7238
+ function RepeaterField() {
7239
+ }
7240
+ return RepeaterField;
7241
+ }());
7242
+
7243
+ var RepeaterOptions = /** @class */ (function () {
7244
+ function RepeaterOptions() {
7245
+ this.MinRequiredItems = 1;
7246
+ this.AddButtonText = "Add";
7247
+ this.DeleteButtonText = "Delete";
7248
+ this.RepeaterValue = [];
7249
+ this.RepeaterStructure = [];
7250
+ }
7251
+ return RepeaterOptions;
7252
+ }());
7253
+
6331
7254
  exports.MenuListType = void 0;
6332
7255
  (function (MenuListType) {
6333
7256
  MenuListType[MenuListType["AdminType"] = 1] = "AdminType";
@@ -6697,6 +7620,7 @@
6697
7620
  exports.MultiLingualTextBoxComponent = MultiLingualTextBoxComponent;
6698
7621
  exports.MultiLingualTextBoxOptions = MultiLingualTextBoxOptions;
6699
7622
  exports.MultipleFileUploadModel = MultipleFileUploadModel;
7623
+ exports.NgTemplateNameDirective = NgTemplateNameDirective;
6700
7624
  exports.OnPagingFiltersChangeService = OnPagingFiltersChangeService;
6701
7625
  exports.PagingComponent = PagingComponent;
6702
7626
  exports.PagingDTO = PagingDTO;
@@ -6710,6 +7634,12 @@
6710
7634
  exports.RadioButtonItem = RadioButtonItem;
6711
7635
  exports.RadioButtonOptions = RadioButtonOptions;
6712
7636
  exports.RangeNumber = RangeNumber;
7637
+ exports.RenderComponentService = RenderComponentService;
7638
+ exports.RepeaterComponent = RepeaterComponent;
7639
+ exports.RepeaterField = RepeaterField;
7640
+ exports.RepeaterFieldBuilderComponent = RepeaterFieldBuilderComponent;
7641
+ exports.RepeaterItemFieldComponent = RepeaterItemFieldComponent;
7642
+ exports.RepeaterOptions = RepeaterOptions;
6713
7643
  exports.SaveDTO = SaveDTO;
6714
7644
  exports.TagsInputComponent = TagsInputComponent;
6715
7645
  exports.TagsInputDTO = TagsInputDTO;