@bnsights/bbsf-controls 1.0.34 → 1.0.35

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 (80) hide show
  1. package/README.md +10 -0
  2. package/bnsights-bbsf-controls-1.0.35.tgz +0 -0
  3. package/bnsights-bbsf-controls.metadata.json +1 -1
  4. package/bundles/bnsights-bbsf-controls.umd.js +381 -245
  5. package/bundles/bnsights-bbsf-controls.umd.js.map +1 -1
  6. package/esm2015/lib/Shared/Models/AutocompleteOptions.js +5 -10
  7. package/esm2015/lib/Shared/Models/CalendarOptions.js +4 -2
  8. package/esm2015/lib/Shared/Models/CheckBoxOptions.js +4 -5
  9. package/esm2015/lib/Shared/Models/ControlOptionsBase.js +9 -0
  10. package/esm2015/lib/Shared/Models/DropdownOptions.js +4 -6
  11. package/esm2015/lib/Shared/Models/FileUploadOptions.js +4 -7
  12. package/esm2015/lib/Shared/Models/HtmlEditorOptions.js +4 -7
  13. package/esm2015/lib/Shared/Models/ImageUploadOptions.js +4 -7
  14. package/esm2015/lib/Shared/Models/MapAutoCompleteOptions.js +3 -9
  15. package/esm2015/lib/Shared/Models/MultiLingualHtmlEditorOptions.js +4 -12
  16. package/esm2015/lib/Shared/Models/MultiLingualTextAreaOptions.js +4 -12
  17. package/esm2015/lib/Shared/Models/MultilingualControlOptionsBase.js +14 -0
  18. package/esm2015/lib/Shared/Models/MultilingualTextBoxOptions.js +4 -12
  19. package/esm2015/lib/Shared/Models/PhoneOptions.js +4 -11
  20. package/esm2015/lib/Shared/Models/ProfileImageUploadOptions.js +4 -7
  21. package/esm2015/lib/Shared/Models/RadioButtonOptions.js +3 -8
  22. package/esm2015/lib/Shared/Models/TagsInputOptions.js +4 -9
  23. package/esm2015/lib/Shared/Models/TextAreaOptions.js +4 -7
  24. package/esm2015/lib/Shared/Models/TextBoxOptions.js +4 -7
  25. package/esm2015/lib/Shared/Models/ToggleslideOptions.js +4 -3
  26. package/esm2015/lib/Shared/Models/datePickerOptions.js +4 -8
  27. package/esm2015/lib/Shared/Pipes/bbsf-date-time.pipe.js +20 -0
  28. package/esm2015/lib/Shared/Pipes/bbsf-date.pipe.js +20 -0
  29. package/esm2015/lib/Shared/services/ControlUtility.js +17 -4
  30. package/esm2015/lib/controls/AutocompleteTextBox/AutocompleteTextBox.component.js +6 -2
  31. package/esm2015/lib/controls/CheckBox/CheckBox.component.js +5 -1
  32. package/esm2015/lib/controls/DateTimePicker/DateTimePicker.component.js +6 -2
  33. package/esm2015/lib/controls/DropdownList/DropdownList.component.js +6 -2
  34. package/esm2015/lib/controls/FileUplaod/FileUplaod.component.js +6 -2
  35. package/esm2015/lib/controls/HtmlEditor/HtmlEditor.component.js +6 -2
  36. package/esm2015/lib/controls/ImageUpload/ImageUpload.component.js +6 -2
  37. package/esm2015/lib/controls/MapAutoComplete/MapAutoComplete.component.js +5 -1
  38. package/esm2015/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.js +14 -4
  39. package/esm2015/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.js +12 -4
  40. package/esm2015/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.js +11 -3
  41. package/esm2015/lib/controls/Phone/Phone.component.js +6 -2
  42. package/esm2015/lib/controls/ProfileImageUploader/ProfileImageUploader.component.js +6 -2
  43. package/esm2015/lib/controls/RadioButton/RadioButton.component.js +6 -2
  44. package/esm2015/lib/controls/TagsInput/TagsInput.component.js +6 -2
  45. package/esm2015/lib/controls/TextArea/TextArea.component.js +6 -3
  46. package/esm2015/lib/controls/TextBox/TextBox.component.js +14 -6
  47. package/esm2015/lib/controls/Toggleslide/toggleslide.component.js +14 -3
  48. package/esm2015/lib/controls/bbsf-controls.module.js +14 -4
  49. package/esm2015/public-api.js +5 -1
  50. package/fesm2015/bnsights-bbsf-controls.js +245 -159
  51. package/fesm2015/bnsights-bbsf-controls.js.map +1 -1
  52. package/lib/Shared/Models/AutocompleteOptions.d.ts +3 -40
  53. package/lib/Shared/Models/CalendarOptions.d.ts +2 -8
  54. package/lib/Shared/Models/CheckBoxOptions.d.ts +2 -33
  55. package/lib/Shared/Models/ControlOptionsBase.d.ts +40 -0
  56. package/lib/Shared/Models/DropdownOptions.d.ts +2 -39
  57. package/lib/Shared/Models/FileUploadOptions.d.ts +2 -39
  58. package/lib/Shared/Models/HtmlEditorOptions.d.ts +2 -37
  59. package/lib/Shared/Models/ImageUploadOptions.d.ts +2 -38
  60. package/lib/Shared/Models/MapAutoCompleteOptions.d.ts +2 -40
  61. package/lib/Shared/Models/MultiLingualHtmlEditorOptions.d.ts +2 -77
  62. package/lib/Shared/Models/MultiLingualTextAreaOptions.d.ts +2 -76
  63. package/lib/Shared/Models/MultilingualControlOptionsBase.d.ts +71 -0
  64. package/lib/Shared/Models/MultilingualTextBoxOptions.d.ts +2 -76
  65. package/lib/Shared/Models/PhoneOptions.d.ts +2 -38
  66. package/lib/Shared/Models/ProfileImageUploadOptions.d.ts +2 -38
  67. package/lib/Shared/Models/RadioButtonOptions.d.ts +3 -39
  68. package/lib/Shared/Models/TagsInputOptions.d.ts +4 -43
  69. package/lib/Shared/Models/TextAreaOptions.d.ts +4 -42
  70. package/lib/Shared/Models/TextBoxOptions.d.ts +3 -41
  71. package/lib/Shared/Models/ToggleslideOptions.d.ts +3 -30
  72. package/lib/Shared/Models/datePickerOptions.d.ts +2 -40
  73. package/lib/Shared/Pipes/bbsf-date-time.pipe.d.ts +7 -0
  74. package/lib/Shared/Pipes/bbsf-date.pipe.d.ts +7 -0
  75. package/lib/Shared/services/ControlUtility.d.ts +4 -2
  76. package/lib/controls/Toggleslide/toggleslide.component.d.ts +3 -1
  77. package/package.json +3 -2
  78. package/public-api.d.ts +4 -0
  79. package/src/lib/assets/Style.css +2 -2
  80. package/bnsights-bbsf-controls-1.0.34.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('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('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', '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.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, 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
 
@@ -177,9 +177,10 @@
177
177
  })(exports.InputType || (exports.InputType = {}));
178
178
 
179
179
  var ControlUtility = /** @class */ (function () {
180
- function ControlUtility(ErrorHandler, controlValidationService) {
180
+ function ControlUtility(ErrorHandler, controlValidationService, utilityService) {
181
181
  this.ErrorHandler = ErrorHandler;
182
182
  this.controlValidationService = controlValidationService;
183
+ this.utilityService = utilityService;
183
184
  }
184
185
  ControlUtility.prototype.getErrorValidation = function (Errorsitem, CustomValidation) {
185
186
  var _this = this;
@@ -212,8 +213,20 @@
212
213
  return valid ? null : error;
213
214
  };
214
215
  };
216
+ ControlUtility.prototype.patchControlValue = function (originalValue, PatchFunction, PatchPath) {
217
+ var _this = this;
218
+ var patchOp = [{
219
+ op: "replace",
220
+ path: PatchPath,
221
+ value: originalValue
222
+ }];
223
+ var patchService = PatchFunction.call(null, patchOp);
224
+ patchService.subscribe(function (r) { return console.log(r); }, function (erorr) { return _this.utilityService.notifyErrorMessage(erorr); });
225
+ };
215
226
  ControlUtility.prototype.arabicValidator = function (error) {
216
227
  return function (control) {
228
+ if (!control.value)
229
+ return null;
217
230
  if (control.value.match('[\u0600-\u06FF]')) {
218
231
  if (control.value.match('[A-Za-z]') != null) {
219
232
  //FOUND ENGLISH CHARS
@@ -321,7 +334,8 @@
321
334
  ];
322
335
  ControlUtility.ctorParameters = function () { return [
323
336
  { type: ErrorMassageValidation },
324
- { type: bbsfUtilities.ControlValidationService }
337
+ { type: bbsfUtilities.ControlValidationService },
338
+ { type: bbsfUtilities.UtilityService }
325
339
  ]; };
326
340
 
327
341
  exports.PickerType = void 0;
@@ -517,7 +531,11 @@
517
531
  }
518
532
  this.DatePickerFormControl.setValue(DateValue);
519
533
  this.onChangeService.ChangeValue(this.options.Name);
520
- this.OnChange.emit(DateValue);
534
+ var originalValue = DateValue;
535
+ if (this.options.PatchFunction && this.options.PatchPath && this.group.get(this.options.Name).valid) {
536
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
537
+ }
538
+ this.OnChange.emit(originalValue);
521
539
  };
522
540
  DateInputComponent.prototype.subscribeDateChanges = function () {
523
541
  var _this = this;
@@ -860,7 +878,11 @@
860
878
  _this.group.get(_this.options.Name).setValue(_this.multipleFileUploadModel);
861
879
  }
862
880
  };
863
- this_1.OnChange.emit(this_1.group.get(this_1.options.Name).value);
881
+ var originalValue = this_1.group.get(this_1.options.Name).value;
882
+ if (this_1.options.PatchFunction && this_1.options.PatchPath && this_1.group.get(this_1.options.Name).valid) {
883
+ this_1.controlUtility.patchControlValue(originalValue, this_1.options.PatchFunction, this_1.options.PatchPath);
884
+ }
885
+ this_1.OnChange.emit(originalValue);
864
886
  }
865
887
  };
866
888
  var this_1 = this;
@@ -1539,13 +1561,21 @@
1539
1561
  MultiLingualTextBoxComponent.prototype.trimControlValue = function (type) {
1540
1562
  var whitespace = ' ';
1541
1563
  if (type == "En") {
1564
+ var originalValue = this.EnglishFormControl.value;
1565
+ if (this.options.PatchFunction && this.options.PatchPath && this.EnglishFormControl.valid) {
1566
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
1567
+ }
1542
1568
  if (this.EnglishFormControl.value.startsWith(whitespace) || this.EnglishFormControl.value.endsWith(whitespace)) {
1543
- this.EnglishFormControl.patchValue(this.EnglishFormControl.value.trim());
1569
+ this.EnglishFormControl.patchValue(originalValue);
1544
1570
  }
1545
1571
  }
1546
1572
  if (type == "Ar") {
1573
+ var originalValue = this.ArabicFormControl.value;
1574
+ if (this.options.PatchFunction && this.options.PatchPath && this.ArabicFormControl.valid) {
1575
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
1576
+ }
1547
1577
  if (this.ArabicFormControl.value.startsWith(whitespace) || this.ArabicFormControl.value.endsWith(whitespace)) {
1548
- this.ArabicFormControl.patchValue(this.ArabicFormControl.value.trim());
1578
+ this.ArabicFormControl.patchValue(originalValue);
1549
1579
  }
1550
1580
  }
1551
1581
  };
@@ -1776,8 +1806,11 @@
1776
1806
  return this.controlUtility.getInputType(type);
1777
1807
  };
1778
1808
  TextAreaComponent.prototype.trimControlValue = function () {
1779
- var OrignalValue = this.controlUtility.trimControlValue(this.TextAreaFormControl.value);
1780
- this.TextAreaFormControl.patchValue(OrignalValue);
1809
+ var originalValue = this.controlUtility.trimControlValue(this.TextAreaFormControl.value);
1810
+ this.TextAreaFormControl.patchValue(originalValue);
1811
+ if (this.options.PatchFunction && this.options.PatchPath && this.TextAreaFormControl.valid) {
1812
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
1813
+ }
1781
1814
  };
1782
1815
  TextAreaComponent.prototype.copyInputMessage = function (inputElement) {
1783
1816
  this.controlUtility.CopyInputMessage(inputElement);
@@ -2131,13 +2164,21 @@
2131
2164
  MultiLingualTextAreaComponent.prototype.trimControlValue = function (type) {
2132
2165
  var whitespace = ' ';
2133
2166
  if (type == "En") {
2167
+ var originalValue = this.EnglishTextAreaFormControl.value;
2168
+ if (this.options.PatchFunction && this.options.PatchPath && this.EnglishTextAreaFormControl.valid) {
2169
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
2170
+ }
2134
2171
  if (this.EnglishTextAreaFormControl.value.startsWith(whitespace) || this.EnglishTextAreaFormControl.value.endsWith(whitespace)) {
2135
- this.EnglishTextAreaFormControl.patchValue(this.EnglishTextAreaFormControl.value.trim());
2172
+ this.EnglishTextAreaFormControl.patchValue(originalValue);
2136
2173
  }
2137
2174
  }
2138
2175
  if (type == "Ar") {
2176
+ var originalValue = this.ArabicTextAreaFormControl.value;
2177
+ if (this.options.PatchFunction && this.options.PatchPath && this.ArabicTextAreaFormControl.valid) {
2178
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
2179
+ }
2139
2180
  if (this.ArabicTextAreaFormControl.value.startsWith(whitespace) || this.ArabicTextAreaFormControl.value.endsWith(whitespace)) {
2140
- this.ArabicTextAreaFormControl.patchValue(this.ArabicTextAreaFormControl.value.trim());
2181
+ this.ArabicTextAreaFormControl.patchValue(originalValue);
2141
2182
  }
2142
2183
  }
2143
2184
  };
@@ -2244,7 +2285,7 @@
2244
2285
  MultiLingualTextAreaComponent.decorators = [
2245
2286
  { type: i0.Component, args: [{
2246
2287
  selector: 'BBSF-MultiLingualTextArea',
2247
- 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)=\"onEnglishFocus(true)\" (focusout)=\"onEnglishFocus(false)\"\r\n maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"English\" [hidden]=\"options.IsHideEnglishFields\"\r\n [class.is-invalid]=\"EnglishTextAreaFormControl.invalid && EnglishTextAreaFormControl.touched\"\r\n placeholder=\"{{options.EnglishPlaceholder}}\" (change)=\"trimControlValue('En')\"\r\n (keyup)=\"onTextChange()\"\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 *ngIf=\"showEnglishCharsLimitMsg\">\r\n <span class=\"badge b-character-warning float-end\" [ngClass]=\"{'badge-light-warning': englishCharsLimitMsgClass === 'warning', 'badge-light-danger' : englishCharsLimitMsgClass === 'danger' }\">\r\n {{englishMaxLimitWarningMsg}}\r\n </span>\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)=\"onArabicFocus(true)\" (focusout)=\"onArabicFocus(false)\"\r\n [hidden]=\"options.IsHideArabicFields\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"Arabic\" rows=\"{{options.Rows}}\"\r\n maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\"\r\n [class.is-invalid]=\"ArabicTextAreaFormControl.invalid && ArabicTextAreaFormControl.touched\"\r\n placeholder=\"{{options.ArabicPlaceholder}}\" (change)=\"trimControlValue('Ar')\"\r\n (keyup)=\"onTextChange()\"\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 *ngIf=\"showArabicCharsLimitMsg\">\r\n <span class=\"badge b-character-warning float-end\" [ngClass]=\"{'badge-light-warning': arabicCharsLimitMsgClass === 'warning', 'badge-light-danger' : arabicCharsLimitMsgClass === 'danger' }\">\r\n {{arabicMaxLimitWarningMsg}}\r\n </span>\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",
2288
+ 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)=\"onEnglishFocus(true)\" (focusout)=\"onEnglishFocus(false)\"\r\n maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"English\" [hidden]=\"options.IsHideEnglishFields\"\r\n [class.is-invalid]=\"EnglishTextAreaFormControl.invalid && EnglishTextAreaFormControl.touched\"\r\n placeholder=\"{{options.EnglishPlaceholder}}\" (change)=\"trimControlValue('En')\"\r\n (keyup)=\"onTextChange()\"\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 *ngIf=\"showEnglishCharsLimitMsg\">\r\n <span class=\"badge b-character-warning float-end\" [ngClass]=\"{'badge-light-warning': englishCharsLimitMsgClass === 'warning', 'badge-light-danger' : englishCharsLimitMsgClass === 'danger' }\">\r\n {{englishMaxLimitWarningMsg}}\r\n </span>\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.IsHideArabicLabel\">\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)=\"onArabicFocus(true)\" (focusout)=\"onArabicFocus(false)\"\r\n [hidden]=\"options.IsHideArabicFields\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"Arabic\" rows=\"{{options.Rows}}\"\r\n maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\"\r\n [class.is-invalid]=\"ArabicTextAreaFormControl.invalid && ArabicTextAreaFormControl.touched\"\r\n placeholder=\"{{options.ArabicPlaceholder}}\" (change)=\"trimControlValue('Ar')\"\r\n (keyup)=\"onTextChange()\"\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 *ngIf=\"showArabicCharsLimitMsg\">\r\n <span class=\"badge b-character-warning float-end\" [ngClass]=\"{'badge-light-warning': arabicCharsLimitMsgClass === 'warning', 'badge-light-danger' : arabicCharsLimitMsgClass === 'danger' }\">\r\n {{arabicMaxLimitWarningMsg}}\r\n </span>\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",
2248
2289
  styles: [".example-form{min-width:150px;max-width:500px;width:100%}.example-full-width{width:100%}\n"]
2249
2290
  },] }
2250
2291
  ];
@@ -2346,6 +2387,10 @@
2346
2387
  };
2347
2388
  CheckBoxComponent.prototype.onValueChanged = function () {
2348
2389
  this.OnChange.emit(this.CheckBoxFormControl.value);
2390
+ var originalValue = this.CheckBoxFormControl.value;
2391
+ if (this.options.PatchFunction && this.options.PatchPath && this.group.get(this.options.Name).valid) {
2392
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
2393
+ }
2349
2394
  };
2350
2395
  return CheckBoxComponent;
2351
2396
  }());
@@ -2484,7 +2529,11 @@
2484
2529
  };
2485
2530
  DropdownListComponent.prototype.onItemSelect = function (item) {
2486
2531
  this.onChangeService.ChangeValue(this.options.Name);
2487
- this.OnChange.emit(item);
2532
+ var originalValue = item;
2533
+ if (this.options.PatchFunction && this.options.PatchPath && this.group.get(this.options.Name).valid) {
2534
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
2535
+ }
2536
+ this.OnChange.emit(originalValue);
2488
2537
  //console.log(this.DropdownListFormControl.value)
2489
2538
  };
2490
2539
  DropdownListComponent.prototype.Clear = function () {
@@ -2631,7 +2680,11 @@
2631
2680
  };
2632
2681
  PhoneComponent.prototype.onValueChanged = function () {
2633
2682
  var Number = this.PhoneFormControl.value.internationalNumber;
2634
- this.OnChange.emit(Number.trim());
2683
+ var originalValue = this.controlUtility.trimControlValue(Number);
2684
+ if (this.options.PatchFunction && this.options.PatchPath && this.group.get(this.options.Name).valid) {
2685
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
2686
+ }
2687
+ this.OnChange.emit(originalValue);
2635
2688
  };
2636
2689
  return PhoneComponent;
2637
2690
  }());
@@ -2669,6 +2722,7 @@
2669
2722
  this.globalSettings = globalSettings;
2670
2723
  this.OnChange = new i0.EventEmitter();
2671
2724
  this.SlideValue = false;
2725
+ this.markAllAsTouched = false;
2672
2726
  ToggleslideComponent.controlContainerstatic = this.controlContainer;
2673
2727
  }
2674
2728
  ToggleslideComponent.prototype.ngOnInit = function () {
@@ -2696,12 +2750,22 @@
2696
2750
  ToggleslideComponent.prototype.resetError = function () {
2697
2751
  this.controlValidationService.RemoveGlobalError();
2698
2752
  };
2699
- ToggleslideComponent.prototype.getErrorValidation = function (Errorsitem) {
2700
- return this.controlUtility.getErrorValidation(Errorsitem, this.options.CustomValidation);
2753
+ ToggleslideComponent.prototype.showGlobalError = function () {
2754
+ this.controlUtility.showGlobalError();
2755
+ };
2756
+ ToggleslideComponent.prototype.getErrorValidation = function (ErrorList) {
2757
+ if (this.markAllAsTouched && this.group.invalid) {
2758
+ this.showGlobalError();
2759
+ this.markAllAsTouched = false;
2760
+ }
2761
+ return this.controlUtility.getErrorValidationMassage(ErrorList, this.group, this.options);
2701
2762
  };
2702
2763
  ToggleslideComponent.prototype.changeValueToggle = function () {
2703
2764
  this.OnChange.emit(this.SlideValue);
2704
2765
  this.ToggleslideFormControl.setValue(this.SlideValue);
2766
+ if (this.options.PatchFunction && this.options.PatchPath && this.ToggleslideFormControl.valid) {
2767
+ this.controlUtility.patchControlValue(this.SlideValue, this.options.PatchFunction, this.options.PatchPath);
2768
+ }
2705
2769
  };
2706
2770
  return ToggleslideComponent;
2707
2771
  }());
@@ -2908,7 +2972,11 @@
2908
2972
  };
2909
2973
  HtmlEditorComponent.prototype.onValueChanged = function () {
2910
2974
  this.HtmlEditorFormControl.setValue(this.HtmlEditorFormControl.value.trim());
2911
- this.OnChange.emit(this.HtmlEditorFormControl.value);
2975
+ var originalValue = this.controlUtility.trimControlValue(this.HtmlEditorFormControl.value);
2976
+ if (this.options.PatchFunction && this.options.PatchPath && this.HtmlEditorFormControl.valid) {
2977
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
2978
+ }
2979
+ this.OnChange.emit(originalValue);
2912
2980
  };
2913
2981
  return HtmlEditorComponent;
2914
2982
  }());
@@ -3206,8 +3274,13 @@
3206
3274
  if (type == "en") {
3207
3275
  this.MultilingualHtmlEditorgroup.controls["English"].setValue(this.MultilingualHtmlEditorgroup.controls["English"].value.trim());
3208
3276
  this.englishValue = this.MultilingualHtmlEditorgroup.controls["English"].value == null ? "" : this.MultilingualHtmlEditorgroup.controls["English"].value;
3209
- if (this.englishValue)
3277
+ if (this.englishValue) {
3210
3278
  this.EnglishHtmlEditorFormControl.setValue(this.englishValue);
3279
+ var originalValue = this.englishValue;
3280
+ if (this.options.PatchFunction && this.options.PatchPath && this.EnglishHtmlEditorFormControl.valid) {
3281
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
3282
+ }
3283
+ }
3211
3284
  var EngliswordCountArray = this.EnglishHtmlEditorFormControl.value.split(" ").length;
3212
3285
  if (EngliswordCountArray > 0) {
3213
3286
  if (EngliswordCountArray > this.options.MaxWordCount)
@@ -3219,8 +3292,13 @@
3219
3292
  if (type == "ar") {
3220
3293
  this.MultilingualHtmlEditorgroup.controls["Arabic"].setValue(this.MultilingualHtmlEditorgroup.controls["Arabic"].value.trim());
3221
3294
  this.arabicValue = this.MultilingualHtmlEditorgroup.controls["Arabic"].value == null ? "" : this.MultilingualHtmlEditorgroup.controls["Arabic"].value;
3222
- if (this.arabicValue)
3295
+ if (this.arabicValue) {
3223
3296
  this.ArabicHtmlEditorFormControl.setValue(this.arabicValue);
3297
+ var originalValue = this.arabicValue;
3298
+ if (this.options.PatchFunction && this.options.PatchPath && this.ArabicHtmlEditorFormControl.valid) {
3299
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
3300
+ }
3301
+ }
3224
3302
  var ArabicwordCountArray = this.ArabicHtmlEditorFormControl.value.split(" ").length;
3225
3303
  if (ArabicwordCountArray > 0) {
3226
3304
  if (ArabicwordCountArray > this.options.MaxWordCount)
@@ -3326,7 +3404,7 @@
3326
3404
  MultiLingualHtmlEditorComponent.decorators = [
3327
3405
  { type: i0.Component, args: [{
3328
3406
  selector: 'BBSF-MultiLingualHtmlEditor',
3329
- template: "<div class=\"b-control b-multilangual-html-editor\">\r\n <div class=\"form-group validate is-invalid\" [formGroup]=\"group\">\r\n\r\n <div class=\"form-group row\" [formGroup]=\"MultilingualHtmlEditorgroup\">\r\n <div class=\"col-lg-6\">\r\n <div class=\"row\" *ngIf=\"ShowEnglishHtmlEditor\">\r\n <label class=\"b-label col-form-label col-sm-12 \" \r\n [ngClass]=\"(options.ViewType==1)?'col-md-9':'col-md-3'\"\r\n [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 \r\n <angular-editor class=\"form-control bnsights-control {{options.ExtraClasses_EN}} \" (change)=\"onTextChange('en')\" [class.is-invalid]=\"EnglishHtmlEditorFormControl.invalid && EnglishHtmlEditorFormControl.touched\"\r\n formControlName=\"English\" [config]=\"editorEnglishConfig\"></angular-editor>\r\n\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(EnglishHtmlEditorFormControl.invalid && EnglishHtmlEditorFormControl.touched)\">\r\n {{getErrorValidation(EnglishHtmlEditorFormControl.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\">\r\n {{(options.EnglishLabelDescription!=null&&options.EnglishLabelDescription!=\"\")?options.EnglishLabelDescription:options.LabelDescription}}\r\n </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 </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div class=\"row\" *ngIf=\"ShowArabicHtmlEditor\">\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'\"\r\n [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 \r\n\r\n <angular-editor dir=\"rtl\" class=\"form-control bnsights-control {{options.ExtraClasses_AR}} \" (change)=\"onTextChange('ar')\" [class.is-invalid]=\"ArabicHtmlEditorFormControl.invalid && ArabicHtmlEditorFormControl.touched\"\r\n formControlName=\"Arabic\" [config]=\"editorArabicConfig\"></angular-editor>\r\n\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(ArabicHtmlEditorFormControl.invalid && ArabicHtmlEditorFormControl.touched)\">\r\n {{getErrorValidation(ArabicHtmlEditorFormControl.errors|keyvalue)}}\r\n </div>\r\n\r\n \r\n\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"control-desc text-dark\">\r\n {{(options.ArabicLabelDescription!=null&&options.ArabicLabelDescription!=\"\")?options.ArabicLabelDescription:options.LabelDescription}}\r\n </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 </div>\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n</div>\r\n",
3407
+ template: "<div class=\"b-control b-multilangual-html-editor\">\r\n <div class=\"form-group validate is-invalid\" [formGroup]=\"group\">\r\n\r\n <div class=\"form-group row\" [formGroup]=\"MultilingualHtmlEditorgroup\">\r\n <div class=\"col-lg-6\">\r\n <div class=\"row\" *ngIf=\"ShowEnglishHtmlEditor\">\r\n <label class=\"b-label col-form-label col-sm-12 \" \r\n [ngClass]=\"(options.ViewType==1)?'col-md-9':'col-md-3'\"\r\n [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 \r\n <angular-editor class=\"form-control bnsights-control {{options.ExtraClasses_EN}} \" (change)=\"onTextChange('en')\" [class.is-invalid]=\"EnglishHtmlEditorFormControl.invalid && EnglishHtmlEditorFormControl.touched\"\r\n formControlName=\"English\" [config]=\"editorEnglishConfig\"></angular-editor>\r\n\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(EnglishHtmlEditorFormControl.invalid && EnglishHtmlEditorFormControl.touched)\">\r\n {{getErrorValidation(EnglishHtmlEditorFormControl.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\">\r\n {{(options.EnglishLabelDescription!=null&&options.EnglishLabelDescription!=\"\")?options.EnglishLabelDescription:options.LabelDescription}}\r\n </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 </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div class=\"row\" *ngIf=\"ShowArabicHtmlEditor\">\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'\"\r\n [hidden]=\"options.IsHideArabicLabel\">\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 \r\n\r\n <angular-editor dir=\"rtl\" class=\"form-control bnsights-control {{options.ExtraClasses_AR}} \" (change)=\"onTextChange('ar')\" [class.is-invalid]=\"ArabicHtmlEditorFormControl.invalid && ArabicHtmlEditorFormControl.touched\"\r\n formControlName=\"Arabic\" [config]=\"editorArabicConfig\"></angular-editor>\r\n\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(ArabicHtmlEditorFormControl.invalid && ArabicHtmlEditorFormControl.touched)\">\r\n {{getErrorValidation(ArabicHtmlEditorFormControl.errors|keyvalue)}}\r\n </div>\r\n\r\n \r\n\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"control-desc text-dark\">\r\n {{(options.ArabicLabelDescription!=null&&options.ArabicLabelDescription!=\"\")?options.ArabicLabelDescription:options.LabelDescription}}\r\n </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 </div>\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n</div>\r\n",
3330
3408
  styles: [".example-form{min-width:150px;max-width:500px;width:100%}.example-full-width{width:100%}\n"]
3331
3409
  },] }
3332
3410
  ];
@@ -3564,7 +3642,11 @@
3564
3642
  _this.files = [];
3565
3643
  (_a = _this.files).push.apply(_a, __spreadArray([], __read(event.addedFiles)));
3566
3644
  }
3567
- _this.OnChange.emit(_this.ImageUploadFormControl.value);
3645
+ var originalValue = _this.ImageUploadFormControl.value;
3646
+ if (_this.options.PatchFunction && _this.options.PatchPath && _this.ImageUploadFormControl.valid) {
3647
+ _this.controlUtility.patchControlValue(originalValue, _this.options.PatchFunction, _this.options.PatchPath);
3648
+ }
3649
+ _this.OnChange.emit(originalValue);
3568
3650
  };
3569
3651
  }
3570
3652
  };
@@ -3857,7 +3939,11 @@
3857
3939
  reader_1.onload = function () {
3858
3940
  _this.imageUrl = reader_1.result.toString();
3859
3941
  _this.openModal(true);
3860
- _this.OnChange.emit(_this.group.get(_this.options.Name).value);
3942
+ var originalValue = _this.group.get(_this.options.Name).value;
3943
+ if (_this.options.PatchFunction && _this.options.PatchPath && _this.group.get(_this.options.Name).valid) {
3944
+ _this.controlUtility.patchControlValue(originalValue, _this.options.PatchFunction, _this.options.PatchPath);
3945
+ }
3946
+ _this.OnChange.emit(originalValue);
3861
3947
  };
3862
3948
  }
3863
3949
  };
@@ -4199,6 +4285,10 @@
4199
4285
  else {
4200
4286
  this.AutocompleteTextBoxControl.setValue(item);
4201
4287
  this.AutocompleteTextBoxControl.updateValueAndValidity();
4288
+ var originalValue = this.AutocompleteTextBoxControl.value;
4289
+ if (this.options.PatchFunction && this.options.PatchPath && this.group.get(this.options.Name).valid) {
4290
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
4291
+ }
4202
4292
  this.OnChange.emit(this.AutocompleteTextBoxControl.value);
4203
4293
  }
4204
4294
  }
@@ -4238,7 +4328,7 @@
4238
4328
  { type: i0.Component, args: [{
4239
4329
  // tslint:disable-next-line: component-selector
4240
4330
  selector: 'BBSF-AutocompleteTextBox',
4241
- template: "<div class=\"b-control b-auto-complete-textbox\">\r\n <div class=\"form-group row validate is-invalid\" [formGroup]=\"group\">\r\n\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 \r\n <!-- <input \r\n[(ngModel)]=\"Search\"\r\n value=\"{{Search}}\" \r\n autocomplete=\"off\"\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 [class.is-invalid]=\"AutocompleteTextBoxControl.invalid && AutocompleteTextBoxControl.touched\"\r\n typeaheadOptionField=\"{{Value}}\"\r\n [typeahead]=\"suggestions$\"\r\n [typeaheadAsync]=\"true\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" (typeaheadOnSelect)=\"handleResultSelected($event)\" (blur)=\"onBlur($event.target.value)\" /> -->\r\n<!-- \r\n <input ngxTypeahead autocomplete=\"off\"\r\n value=\"{{Search}}\"\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 [class.is-invalid]=\"AutocompleteTextBoxControl.invalid && AutocompleteTextBoxControl.touched\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" [taUrl]=\"options.ActionURL\"\r\n [taParams]=\"options.Params\" taQueryParam=\"{{QueryParam}}\" taApi=\"{{Api}}\" taListItemLabel=\"{{Value}}\" (taSelected)=\"handleResultSelected($event)\"> -->\r\n\r\n\r\n \r\n <ng-autocomplete\r\n *ngIf=\"!options.AllowNewSelection\"\r\n [data]=\"dataList\"\r\n [initialValue]=\"SelectedValue\"\r\n [searchKeyword]=\"keyword\"\r\n placeholder=\"{{options.Placeholder}}\"\r\n (selected)='selectEvent($event)'\r\n (inputChanged)='onChangeSearch($event)'\r\n historyIdentifier=\"dataList\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [notFoundTemplate]=\"notFoundTemplate\"\r\n class=\"form-control bnsights-control {{options.ExtraClasses}}\"\r\n dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n formControlName=\"{{options.Name}}\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n [class.is-invalid]=\"AutocompleteTextBoxControl.invalid && AutocompleteTextBoxControl.touched\"\r\n >\r\n </ng-autocomplete>\r\n <ng-autocomplete\r\n *ngIf=\"options.AllowNewSelection\"\r\n [data]=\"dataList\"\r\n [initialValue]=\"SelectedValue\"\r\n [searchKeyword]=\"keyword\"\r\n placeholder=\"{{options.Placeholder}}\"\r\n (selected)='selectEvent($event)'\r\n (inputChanged)='onChangeSearch($event)'\r\n historyIdentifier=\"dataList\"\r\n [itemTemplate]=\"itemTemplate\"\r\n class=\"form-control bnsights-control {{options.ExtraClasses}}\"\r\n dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n formControlName=\"{{options.Name}}\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n [class.is-invalid]=\"AutocompleteTextBoxControl.invalid && AutocompleteTextBoxControl.touched\"\r\n >\r\n </ng-autocomplete>\r\n\r\n \r\n \r\n <ng-template #itemTemplate let-item>\r\n <a [innerHTML]=\"item.value\"></a>\r\n </ng-template>\r\n \r\n <ng-template #notFoundTemplate let-notFound >\r\n <div [innerHTML]=\"notFound\"></div>\r\n </ng-template>\r\n\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(AutocompleteTextBoxControl.invalid && AutocompleteTextBoxControl.touched)\">\r\n {{getErrorValidation(AutocompleteTextBoxControl.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 </div>\r\n</div>\r\n",
4331
+ template: "<div class=\"b-control b-auto-complete-textbox\">\r\n <div class=\"form-group row validate is-invalid\" [formGroup]=\"group\">\r\n\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\r\n <!-- <input \r\n[(ngModel)]=\"Search\"\r\n value=\"{{Search}}\" \r\n autocomplete=\"off\"\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 [class.is-invalid]=\"AutocompleteTextBoxControl.invalid && AutocompleteTextBoxControl.touched\"\r\n typeaheadOptionField=\"{{Value}}\"\r\n [typeahead]=\"suggestions$\"\r\n [typeaheadAsync]=\"true\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" (typeaheadOnSelect)=\"handleResultSelected($event)\" (blur)=\"onBlur($event.target.value)\" /> -->\r\n <!-- \r\n <input ngxTypeahead autocomplete=\"off\"\r\n value=\"{{Search}}\"\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 [class.is-invalid]=\"AutocompleteTextBoxControl.invalid && AutocompleteTextBoxControl.touched\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" [taUrl]=\"options.ActionURL\"\r\n [taParams]=\"options.Params\" taQueryParam=\"{{QueryParam}}\" taApi=\"{{Api}}\" taListItemLabel=\"{{Value}}\" (taSelected)=\"handleResultSelected($event)\"> -->\r\n\r\n\r\n\r\n <ng-autocomplete *ngIf=\"!options.AllowNewSelection\" [data]=\"dataList\" [initialValue]=\"SelectedValue\"\r\n [searchKeyword]=\"keyword\" placeholder=\"{{options.Placeholder}}\" (selected)='selectEvent($event)'\r\n (inputChanged)='onChangeSearch($event)' historyIdentifier=\"dataList\" [itemTemplate]=\"itemTemplate\"\r\n [notFoundTemplate]=\"notFoundTemplate\" class=\"form-control bnsights-control {{options.ExtraClasses}}\"\r\n dir=\"{{options.ForceDirection==2?'rtl':''}}\" formControlName=\"{{options.Name}}\" aria-describedby=\"email-error\"\r\n aria-invalid=\"true\"\r\n [class.is-invalid]=\"AutocompleteTextBoxControl.invalid && AutocompleteTextBoxControl.touched\">\r\n </ng-autocomplete>\r\n\r\n <ng-autocomplete *ngIf=\"options.AllowNewSelection\" [data]=\"dataList\" [initialValue]=\"SelectedValue\"\r\n [searchKeyword]=\"keyword\" placeholder=\"{{options.Placeholder}}\" (selected)='selectEvent($event)'\r\n (inputChanged)='onChangeSearch($event)' historyIdentifier=\"dataList\" [itemTemplate]=\"itemTemplate\"\r\n class=\"form-control bnsights-control {{options.ExtraClasses}}\" dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n formControlName=\"{{options.Name}}\" aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n [class.is-invalid]=\"AutocompleteTextBoxControl.invalid && AutocompleteTextBoxControl.touched\">\r\n </ng-autocomplete>\r\n\r\n\r\n\r\n <ng-template #itemTemplate let-item>\r\n <a [innerHTML]=\"item.value\"></a>\r\n </ng-template>\r\n\r\n <ng-template #notFoundTemplate let-notFound>\r\n <div [innerHTML]=\"notFound\"></div>\r\n </ng-template>\r\n\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(AutocompleteTextBoxControl.invalid && AutocompleteTextBoxControl.touched)\">\r\n {{getErrorValidation(AutocompleteTextBoxControl.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) \">\r\n {{resetError()}}</div>\r\n\r\n </div>\r\n </div>\r\n</div>",
4242
4332
  styles: [""]
4243
4333
  },] }
4244
4334
  ];
@@ -4434,7 +4524,11 @@
4434
4524
  this.TagsFormControl.invalid;
4435
4525
  }
4436
4526
  }
4437
- this.OnChange.emit(this.TagsFormControl.value);
4527
+ var originalValue = this.TagsFormControl.value;
4528
+ if (this.options.PatchFunction && this.options.PatchPath && this.TagsFormControl.valid) {
4529
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
4530
+ }
4531
+ this.OnChange.emit(originalValue);
4438
4532
  };
4439
4533
  TagsInputComponent.prototype.onNoOptionsMatch = function (event) {
4440
4534
  this.IsNoMatch = event;
@@ -4913,7 +5007,11 @@
4913
5007
  return this.controlUtility.getErrorValidationMassage(ErrorList, this.group, this.options);
4914
5008
  };
4915
5009
  RadioButtonComponent.prototype.onValueChanged = function () {
4916
- this.OnChange.emit(this.RadioButtonFormControl.value);
5010
+ var originalValue = this.RadioButtonFormControl.value;
5011
+ if (this.options.PatchFunction && this.options.PatchPath && this.RadioButtonFormControl.valid) {
5012
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
5013
+ }
5014
+ this.OnChange.emit(originalValue);
4917
5015
  };
4918
5016
  return RadioButtonComponent;
4919
5017
  }());
@@ -5012,6 +5110,9 @@
5012
5110
  if (this.options.LabelKey != null && this.options.LabelKey != "")
5013
5111
  this.options.LabelValue = this.UtilityService.getResourceValue(this.options.LabelKey);
5014
5112
  this.getCustomErrorsMassages();
5113
+ if (this.options.IsRequired) {
5114
+ this.validationRules.push(forms.Validators.required);
5115
+ }
5015
5116
  switch (this.options.Type) {
5016
5117
  case exports.InputType.Email:
5017
5118
  this.validationRules.push(forms.Validators.compose([
@@ -5074,9 +5175,6 @@
5074
5175
  this.options.MaxLengthWarningLimit = this.globalSettings.MaxLengthWarningLimit;
5075
5176
  this.minCharsLimit = this.options.MaxLength - this.options.MaxLengthWarningLimit;
5076
5177
  }
5077
- if (this.options.IsRequired) {
5078
- this.validationRules.push(forms.Validators.required);
5079
- }
5080
5178
  this.TextBoxFormControl.setValidators(this.validationRules);
5081
5179
  this.TextBoxFormControl.setAsyncValidators(this.validationRulesasync);
5082
5180
  if (this.options.IsDisabled) {
@@ -5105,8 +5203,11 @@
5105
5203
  return this.controlUtility.getInputType(type);
5106
5204
  };
5107
5205
  TextboxComponent.prototype.trimControlValue = function () {
5108
- var OrignalValue = this.controlUtility.trimControlValue(this.TextBoxFormControl.value);
5109
- this.TextBoxFormControl.patchValue(OrignalValue);
5206
+ var originalValue = this.controlUtility.trimControlValue(this.TextBoxFormControl.value);
5207
+ this.TextBoxFormControl.patchValue(originalValue);
5208
+ if (this.options.PatchFunction && this.options.PatchPath && this.TextBoxFormControl.valid) {
5209
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
5210
+ }
5110
5211
  };
5111
5212
  TextboxComponent.prototype.copyInputMessage = function (inputElement) {
5112
5213
  this.controlUtility.CopyInputMessage(inputElement);
@@ -5122,6 +5223,11 @@
5122
5223
  this.EnglishLetterOnly = this.UtilityService.getResourceValue("EnglishLetterOnly");
5123
5224
  };
5124
5225
  TextboxComponent.prototype.onTextChange = function () {
5226
+ if (this.options.Type == exports.InputType.Number)
5227
+ if (!this.TextBoxFormControl.value) {
5228
+ this.TextBoxFormControl.setErrors({ IntegerNumberValidationKey: "" });
5229
+ return;
5230
+ }
5125
5231
  if (this.TextBoxFormControl.value == "") {
5126
5232
  this.WordCountArray = 0;
5127
5233
  this.WordCount = 0;
@@ -5447,6 +5553,10 @@
5447
5553
  this.MapAutoCompleteModel.Longitude = location.longitude;
5448
5554
  this.MapAutoCompleteFormControl.setValue(null);
5449
5555
  this.MapAutoCompleteFormControl.setValue(this.MapAutoCompleteModel);
5556
+ var originalValue = this.MapAutoCompleteFormControl.value;
5557
+ if (this.options.PatchFunction && this.options.PatchPath && this.MapAutoCompleteFormControl.valid) {
5558
+ this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
5559
+ }
5450
5560
  };
5451
5561
  MapAutoCompleteComponent.prototype.GermanAddressMapped = function (result) {
5452
5562
  this.MapAutoCompleteModel == new MapAutocompleteDTO();
@@ -6092,74 +6202,77 @@
6092
6202
  ForceDirection[ForceDirection["Arabic"] = 2] = "Arabic";
6093
6203
  })(exports.ForceDirection || (exports.ForceDirection = {}));
6094
6204
 
6095
- var DatePickerOptions = /** @class */ (function () {
6096
- function DatePickerOptions() {
6097
- /** to set type of view if DatePicker is Vertical or Horizontal */
6098
- this.ViewType = exports.ControlLayout.Vertical;
6099
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
6100
- */
6205
+ var ControlOptionsBase = /** @class */ (function () {
6206
+ function ControlOptionsBase() {
6207
+ /** to set type of view if Control is Vertical or Horizontal */
6208
+ this.ViewType = null;
6209
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage */
6101
6210
  this.CustomValidation = [];
6211
+ }
6212
+ return ControlOptionsBase;
6213
+ }());
6214
+
6215
+ var DatePickerOptions = /** @class */ (function (_super) {
6216
+ __extends(DatePickerOptions, _super);
6217
+ function DatePickerOptions() {
6218
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
6102
6219
  /**To set First Day Of Week to DatePicker */
6103
- this.FirstDayOfWeek = 1;
6220
+ _this.FirstDayOfWeek = 1;
6104
6221
  /**To set PickerType to DatePicker is Calendar or Timer Or Both */
6105
- this.PickerType = exports.PickerType.Calendar;
6222
+ _this.PickerType = exports.PickerType.Calendar;
6106
6223
  /**To set StartView to DatePicker is Year or Month Or Multi-Year */
6107
- this.StartView = exports.StartView.Month;
6224
+ _this.StartView = exports.StartView.Month;
6108
6225
  /**To set SelectMode to DatePicker is Single or Range */
6109
- this.SelectMode = exports.SelectMode.Single;
6110
- this.ForceDirection = exports.ForceDirection.English;
6226
+ _this.SelectMode = exports.SelectMode.Single;
6227
+ _this.ForceDirection = exports.ForceDirection.English;
6111
6228
  /**Name of DatePicker control to compare value with it */
6112
- this.StartControlToCompareWith = null;
6229
+ _this.StartControlToCompareWith = null;
6230
+ return _this;
6113
6231
  }
6114
6232
  return DatePickerOptions;
6115
- }());
6233
+ }(ControlOptionsBase));
6116
6234
 
6117
- var DropdownOptions = /** @class */ (function () {
6235
+ var DropdownOptions = /** @class */ (function (_super) {
6236
+ __extends(DropdownOptions, _super);
6118
6237
  function DropdownOptions() {
6238
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
6119
6239
  /** Disable Bootstrap DropdownList */
6120
- this.DisableBootstrapSelect = false;
6121
- /** to set type of view if DropdownList is Vertical or Horizontal */
6122
- this.ViewType = null;
6123
- /** To Set Custom Validation*/
6124
- this.CustomValidation = [];
6240
+ _this.DisableBootstrapSelect = false;
6125
6241
  /** Set key for item in DropdownList */
6126
- this.ItemTempletkey = "key";
6242
+ _this.ItemTempletkey = "key";
6127
6243
  /** Set value for item in DropdownList */
6128
- this.ItemTempletvalue = "value";
6129
- this.ForceDirection = exports.ForceDirection.English;
6244
+ _this.ItemTempletvalue = "value";
6245
+ _this.ForceDirection = exports.ForceDirection.English;
6246
+ return _this;
6130
6247
  }
6131
6248
  return DropdownOptions;
6132
- }());
6249
+ }(ControlOptionsBase));
6133
6250
 
6134
- var FileUploadOptions = /** @class */ (function () {
6251
+ var FileUploadOptions = /** @class */ (function (_super) {
6252
+ __extends(FileUploadOptions, _super);
6135
6253
  function FileUploadOptions() {
6254
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
6136
6255
  /** Ability to set FileInput required */
6137
- this.IsMultipleFile = false;
6256
+ _this.IsMultipleFile = false;
6138
6257
  /** Sets boolean Value to Show IsDropZone Or Not */
6139
- this.IsDropZone = false;
6140
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
6141
- */
6142
- this.CustomValidation = [];
6143
- /** to set type of view if textbox is Vertical or Horizontal */
6144
- this.ViewType = null;
6258
+ _this.IsDropZone = false;
6259
+ return _this;
6145
6260
  }
6146
6261
  return FileUploadOptions;
6147
- }());
6262
+ }(ControlOptionsBase));
6148
6263
 
6149
- var HtmlEditorOptions = /** @class */ (function () {
6264
+ var HtmlEditorOptions = /** @class */ (function (_super) {
6265
+ __extends(HtmlEditorOptions, _super);
6150
6266
  function HtmlEditorOptions() {
6151
- /** to set type of view if textbox is Vertical or Horizontal */
6152
- this.ViewType = null;
6153
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
6154
- */
6155
- this.CustomValidation = [];
6267
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
6156
6268
  /** to set Direction of HtmlEditor if HtmlEditor is Arabic or English */
6157
- this.ForceDirection = exports.ForceDirection.English;
6269
+ _this.ForceDirection = exports.ForceDirection.English;
6158
6270
  /** Set Height For */
6159
- this.Height = 150;
6271
+ _this.Height = 150;
6272
+ return _this;
6160
6273
  }
6161
6274
  return HtmlEditorOptions;
6162
- }());
6275
+ }(ControlOptionsBase));
6163
6276
 
6164
6277
  exports.ImageType = void 0;
6165
6278
  (function (ImageType) {
@@ -6171,51 +6284,40 @@
6171
6284
  ImageType["None"] = "";
6172
6285
  })(exports.ImageType || (exports.ImageType = {}));
6173
6286
 
6174
- var ImageUploadOptions = /** @class */ (function () {
6287
+ var ImageUploadOptions = /** @class */ (function (_super) {
6288
+ __extends(ImageUploadOptions, _super);
6175
6289
  function ImageUploadOptions() {
6290
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
6176
6291
  /** Allow to Upload Multiple File */
6177
- this.IsMultiple = false;
6292
+ _this.IsMultiple = false;
6178
6293
  /** Allow to Use Drop Zone */
6179
- this.AllowDropZone = false;
6180
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
6181
- */
6182
- this.CustomValidation = [];
6183
- /** to set type of view if FileInput is Vertical or Horizontal */
6184
- this.ViewType = null;
6294
+ _this.AllowDropZone = false;
6185
6295
  /** Set List of Custom Attribute to FileInput */
6186
- this.FileUploadAcceptsTypes = [exports.ImageType.ImageTypes];
6296
+ _this.FileUploadAcceptsTypes = [exports.ImageType.ImageTypes];
6297
+ return _this;
6187
6298
  }
6188
6299
  return ImageUploadOptions;
6189
- }());
6300
+ }(ControlOptionsBase));
6190
6301
 
6191
- var MapAutoCompleteOptions = /** @class */ (function () {
6302
+ var MapAutoCompleteOptions = /** @class */ (function (_super) {
6303
+ __extends(MapAutoCompleteOptions, _super);
6192
6304
  function MapAutoCompleteOptions() {
6193
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
6194
- */
6195
- this.CustomValidation = [];
6196
- /** to set type of view if MapAutoComplete is Vertical or Horizontal */
6197
- this.ViewType = null;
6305
+ return _super !== null && _super.apply(this, arguments) || this;
6198
6306
  }
6199
6307
  return MapAutoCompleteOptions;
6200
- }());
6308
+ }(ControlOptionsBase));
6201
6309
 
6202
- var PhoneOptions = /** @class */ (function () {
6310
+ var PhoneOptions = /** @class */ (function (_super) {
6311
+ __extends(PhoneOptions, _super);
6203
6312
  function PhoneOptions() {
6204
- /**
6205
- * Represent Css classes to Phonebox
6206
- */
6207
- this.ExtraClasses = "form-control bnsights-control";
6208
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
6209
- */
6210
- this.CustomValidation = [];
6313
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
6211
6314
  /**Set List Of Countries As Preferred Countries*/
6212
- this.PreferredCountries = [];
6213
- /** to set type of view if Phonebox is Vertical or Horizontal */
6214
- this.ViewType = null;
6215
- this.ForceDirection = exports.ForceDirection.English;
6315
+ _this.PreferredCountries = [];
6316
+ _this.ForceDirection = exports.ForceDirection.English;
6317
+ return _this;
6216
6318
  }
6217
6319
  return PhoneOptions;
6218
- }());
6320
+ }(ControlOptionsBase));
6219
6321
 
6220
6322
  var RangeNumber = /** @class */ (function () {
6221
6323
  function RangeNumber() {
@@ -6223,18 +6325,16 @@
6223
6325
  return RangeNumber;
6224
6326
  }());
6225
6327
 
6226
- var TextAreaOptions = /** @class */ (function () {
6328
+ var TextAreaOptions = /** @class */ (function (_super) {
6329
+ __extends(TextAreaOptions, _super);
6227
6330
  function TextAreaOptions() {
6228
- /** to set type of view if TextArea is Vertical or Horizontal */
6229
- this.ViewType = null;
6230
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
6231
- */
6232
- this.CustomValidation = [];
6331
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
6233
6332
  /** to set Direction of TextArea if TextArea is Arabic or English */
6234
- this.ForceDirection = exports.ForceDirection.English;
6333
+ _this.ForceDirection = exports.ForceDirection.English;
6334
+ return _this;
6235
6335
  }
6236
6336
  return TextAreaOptions;
6237
- }());
6337
+ }(ControlOptionsBase));
6238
6338
 
6239
6339
  exports.IconPosition = void 0;
6240
6340
  (function (IconPosition) {
@@ -6242,37 +6342,37 @@
6242
6342
  IconPosition[IconPosition["right"] = 2] = "right";
6243
6343
  })(exports.IconPosition || (exports.IconPosition = {}));
6244
6344
 
6245
- var TextBoxOptions = /** @class */ (function () {
6345
+ var TextBoxOptions = /** @class */ (function (_super) {
6346
+ __extends(TextBoxOptions, _super);
6246
6347
  function TextBoxOptions() {
6348
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
6247
6349
  /** set Range Number to Textbox with type number with From-Value and To-value*/
6248
- this.NumberRange = new RangeNumber();
6350
+ _this.NumberRange = new RangeNumber();
6249
6351
  /**Prevent AutoComplete of textbox*/
6250
- this.AutoComplete = "off";
6251
- /** to set type of view if textbox is Vertical or Horizontal */
6252
- this.ViewType = null;
6253
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
6254
- */
6255
- this.CustomValidation = [];
6352
+ _this.AutoComplete = "off";
6256
6353
  /** to set Direction of textbox if textbox is Arabic or English */
6257
- this.ForceDirection = null;
6354
+ _this.ForceDirection = null;
6258
6355
  /** to set Language of textbox if textbox language is Arabic or English */
6259
- this.LanguageValidation = null;
6356
+ _this.LanguageValidation = null;
6260
6357
  /** Set Type of TextBox ("text","password","email","number") */
6261
- this.Type = exports.InputType.Text;
6262
- this.IconPosition = exports.IconPosition.left;
6263
- this.NoMargin = false;
6264
- this.ValidationRules = [];
6358
+ _this.Type = exports.InputType.Text;
6359
+ _this.IconPosition = exports.IconPosition.left;
6360
+ _this.NoMargin = false;
6361
+ _this.ValidationRules = [];
6362
+ return _this;
6265
6363
  }
6266
6364
  return TextBoxOptions;
6267
- }());
6365
+ }(ControlOptionsBase));
6268
6366
 
6269
- var ToggleSlideOptions = /** @class */ (function () {
6367
+ var ToggleSlideOptions = /** @class */ (function (_super) {
6368
+ __extends(ToggleSlideOptions, _super);
6270
6369
  function ToggleSlideOptions() {
6271
- this.ViewType = null;
6272
- this.ForceDirection = exports.ForceDirection.English;
6370
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
6371
+ _this.ForceDirection = exports.ForceDirection.English;
6372
+ return _this;
6273
6373
  }
6274
6374
  return ToggleSlideOptions;
6275
- }());
6375
+ }(ControlOptionsBase));
6276
6376
 
6277
6377
  var RenderComponentService = /** @class */ (function () {
6278
6378
  function RenderComponentService(componentFactoryResolver) {
@@ -7141,6 +7241,44 @@
7141
7241
  options: [{ type: i0.Input }]
7142
7242
  };
7143
7243
 
7244
+ var BBSFDateTimePipe = /** @class */ (function () {
7245
+ function BBSFDateTimePipe(datePipe) {
7246
+ this.datePipe = datePipe;
7247
+ }
7248
+ BBSFDateTimePipe.prototype.transform = function (value) {
7249
+ var latest_date = this.datePipe.transform(value, 'dd/MM/yyyy hh:mm a');
7250
+ return latest_date;
7251
+ };
7252
+ return BBSFDateTimePipe;
7253
+ }());
7254
+ BBSFDateTimePipe.decorators = [
7255
+ { type: i0.Pipe, args: [{
7256
+ name: 'bbsfDateTime'
7257
+ },] }
7258
+ ];
7259
+ BBSFDateTimePipe.ctorParameters = function () { return [
7260
+ { type: common.DatePipe }
7261
+ ]; };
7262
+
7263
+ var BBSFDatePipe = /** @class */ (function () {
7264
+ function BBSFDatePipe(datePipe) {
7265
+ this.datePipe = datePipe;
7266
+ }
7267
+ BBSFDatePipe.prototype.transform = function (value) {
7268
+ var latest_date = this.datePipe.transform(value, 'dd/MM/yyyy');
7269
+ return latest_date;
7270
+ };
7271
+ return BBSFDatePipe;
7272
+ }());
7273
+ BBSFDatePipe.decorators = [
7274
+ { type: i0.Pipe, args: [{
7275
+ name: 'bbsfDate'
7276
+ },] }
7277
+ ];
7278
+ BBSFDatePipe.ctorParameters = function () { return [
7279
+ { type: common.DatePipe }
7280
+ ]; };
7281
+
7144
7282
  var options;
7145
7283
  exports.AppInjector = void 0;
7146
7284
  angular.FullCalendarModule.registerPlugins([
@@ -7189,7 +7327,9 @@
7189
7327
  RepeaterFieldBuilderComponent,
7190
7328
  NgTemplateNameDirective,
7191
7329
  RepeaterItemFieldComponent,
7192
- RepeaterTableComponent
7330
+ RepeaterTableComponent,
7331
+ BBSFDateTimePipe,
7332
+ BBSFDatePipe
7193
7333
  ],
7194
7334
  imports: [
7195
7335
  common.CommonModule,
@@ -7235,9 +7375,10 @@
7235
7375
  angular.FullCalendarModule,
7236
7376
  typeahead.TypeaheadModule.forRoot(),
7237
7377
  angularEditor.AngularEditorModule,
7378
+ angularNgAutocomplete.AutocompleteLibModule,
7238
7379
  bbsfUtilities.BBSFUtilitiesModule,
7239
7380
  ngInlineSvg.InlineSVGModule.forRoot(),
7240
- ngxSweetalert2.SweetAlert2Module
7381
+ ngxSweetalert2.SweetAlert2Module,
7241
7382
  ],
7242
7383
  providers: [
7243
7384
  ErrorMassageValidation,
@@ -7248,6 +7389,8 @@
7248
7389
  ngBootstrap.NgbModal,
7249
7390
  ngBootstrap.NgbActiveModal,
7250
7391
  common.DatePipe,
7392
+ BBSFDateTimePipe,
7393
+ BBSFDatePipe,
7251
7394
  RenderComponentService,
7252
7395
  { provide: ngPickDatetime.OWL_DATE_TIME_LOCALE, useValue: ɵ0 },
7253
7396
  ],
@@ -7283,7 +7426,9 @@
7283
7426
  RepeaterFieldBuilderComponent,
7284
7427
  NgTemplateNameDirective,
7285
7428
  RepeaterItemFieldComponent,
7286
- RepeaterTableComponent
7429
+ RepeaterTableComponent,
7430
+ BBSFDateTimePipe,
7431
+ BBSFDatePipe
7287
7432
  ]
7288
7433
  },] }
7289
7434
  ];
@@ -7304,6 +7449,20 @@
7304
7449
  */
7305
7450
  // import 'zone.js/dist/zone-error'; // Included with Angular CLI.
7306
7451
 
7452
+ var MultilingualControlOptionsBase = /** @class */ (function () {
7453
+ function MultilingualControlOptionsBase() {
7454
+ /** to set type of view if MultipleLanguageText is Vertical or Horizontal */
7455
+ this.ViewType = null;
7456
+ /**To Set Value To MultipleLanguageText with Object From Type "EnglishArabicDTO" */
7457
+ this.Value = new EnglishArabicDTO();
7458
+ /**To Set LanguageMode To MultipleLanguageText */
7459
+ this.LanguageMode = null;
7460
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage */
7461
+ this.CustomValidation = [];
7462
+ }
7463
+ return MultilingualControlOptionsBase;
7464
+ }());
7465
+
7307
7466
  var CustomValidation = /** @class */ (function () {
7308
7467
  function CustomValidation() {
7309
7468
  }
@@ -7324,24 +7483,18 @@
7324
7483
  return CustomValidator;
7325
7484
  }());
7326
7485
 
7327
- var MultiLingualTextBoxOptions = /** @class */ (function () {
7486
+ var MultiLingualTextBoxOptions = /** @class */ (function (_super) {
7487
+ __extends(MultiLingualTextBoxOptions, _super);
7328
7488
  function MultiLingualTextBoxOptions() {
7329
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
7330
- */
7331
- this.CustomValidation = [];
7332
- /**To Set Value To MultipleLanguageText with Object From Type "EnglishArabicDTO" */
7333
- this.Value = new EnglishArabicDTO();
7334
- /** to set type of view if textbox is Vertical or Horizontal */
7335
- this.ViewType = null;
7336
- /**To Set LanguageMode To MultipleLanguageText */
7337
- this.LanguageMode = null;
7338
- this.IconPositionEN = exports.IconPosition.left;
7339
- this.IconPositionAR = exports.IconPosition.right;
7489
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
7490
+ _this.IconPositionEN = exports.IconPosition.left;
7491
+ _this.IconPositionAR = exports.IconPosition.right;
7340
7492
  /*multi control placement type*/
7341
- this.MultiControlPlacementType = null;
7493
+ _this.MultiControlPlacementType = null;
7494
+ return _this;
7342
7495
  }
7343
7496
  return MultiLingualTextBoxOptions;
7344
- }());
7497
+ }(MultilingualControlOptionsBase));
7345
7498
 
7346
7499
  var Attribute = /** @class */ (function () {
7347
7500
  function Attribute() {
@@ -7349,34 +7502,28 @@
7349
7502
  return Attribute;
7350
7503
  }());
7351
7504
 
7352
- var MultiLingualTextAreaOptions = /** @class */ (function () {
7505
+ var MultiLingualTextAreaOptions = /** @class */ (function (_super) {
7506
+ __extends(MultiLingualTextAreaOptions, _super);
7353
7507
  function MultiLingualTextAreaOptions() {
7354
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
7355
- */
7356
- this.CustomValidation = [];
7357
- /**To Set Value To MultipleLanguageText with Object From Type "EnglishArabicDTO" */
7358
- this.Value = new EnglishArabicDTO();
7359
- /** to set type of view if MultilingualTextArea is Vertical or Horizontal */
7360
- this.ViewType = null;
7361
- /**To Set LanguageMode To MultipleLanguageText */
7362
- this.LanguageMode = null;
7508
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
7363
7509
  /*multi control placement type*/
7364
- this.MultiControlPlacementType = null;
7510
+ _this.MultiControlPlacementType = null;
7511
+ return _this;
7365
7512
  }
7366
7513
  return MultiLingualTextAreaOptions;
7367
- }());
7514
+ }(MultilingualControlOptionsBase));
7368
7515
 
7369
- var CheckBoxOptions = /** @class */ (function () {
7516
+ var CheckBoxOptions = /** @class */ (function (_super) {
7517
+ __extends(CheckBoxOptions, _super);
7370
7518
  function CheckBoxOptions() {
7519
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
7371
7520
  /**To set value to CheckBox */
7372
- this.Value = null;
7373
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
7374
- */
7375
- this.CustomValidation = [];
7376
- this.ForceDirection = exports.ForceDirection.English;
7521
+ _this.Value = null;
7522
+ _this.ForceDirection = exports.ForceDirection.English;
7523
+ return _this;
7377
7524
  }
7378
7525
  return CheckBoxOptions;
7379
- }());
7526
+ }(ControlOptionsBase));
7380
7527
 
7381
7528
  var DropdownListItem = /** @class */ (function () {
7382
7529
  function DropdownListItem() {
@@ -7384,36 +7531,28 @@
7384
7531
  return DropdownListItem;
7385
7532
  }());
7386
7533
 
7387
- var MultiLingualHtmlEditorOptions = /** @class */ (function () {
7534
+ var MultiLingualHtmlEditorOptions = /** @class */ (function (_super) {
7535
+ __extends(MultiLingualHtmlEditorOptions, _super);
7388
7536
  function MultiLingualHtmlEditorOptions() {
7389
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
7390
- */
7391
- this.CustomValidation = [];
7392
- /**To Set Value To MultipleLanguageText with Object From Type "EnglishArabicDTO" */
7393
- this.Value = new EnglishArabicDTO();
7394
- /** to set type of view if MultipleLanguageText is Vertical or Horizontal */
7395
- this.ViewType = null;
7537
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
7396
7538
  /** Set Height For */
7397
- this.Height = 150;
7398
- /**To Set LanguageMode To MultipleLanguageText */
7399
- this.LanguageMode = null;
7539
+ _this.Height = 150;
7540
+ return _this;
7400
7541
  }
7401
7542
  return MultiLingualHtmlEditorOptions;
7402
- }());
7543
+ }(MultilingualControlOptionsBase));
7403
7544
 
7404
- var ProfileImageUploadOptions = /** @class */ (function () {
7545
+ var ProfileImageUploadOptions = /** @class */ (function (_super) {
7546
+ __extends(ProfileImageUploadOptions, _super);
7405
7547
  function ProfileImageUploadOptions() {
7406
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
7407
- */
7408
- this.AllowDropZone = false;
7409
- this.CustomValidation = [];
7410
- /** to set type of view if FileInput is Vertical or Horizontal */
7411
- this.ViewType = null;
7548
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
7549
+ _this.AllowDropZone = false;
7412
7550
  /** Set List of Custom Attribute to FileInput */
7413
- this.ImageUploadAcceptsTypes = [exports.ImageType.ImageTypes];
7551
+ _this.ImageUploadAcceptsTypes = [exports.ImageType.ImageTypes];
7552
+ return _this;
7414
7553
  }
7415
7554
  return ProfileImageUploadOptions;
7416
- }());
7555
+ }(ControlOptionsBase));
7417
7556
 
7418
7557
  var SaveDTO = /** @class */ (function () {
7419
7558
  function SaveDTO() {
@@ -7447,22 +7586,25 @@
7447
7586
  return UploadPersonalImage;
7448
7587
  }());
7449
7588
 
7450
- var CalendarOptions = /** @class */ (function () {
7589
+ var CalendarOptions = /** @class */ (function (_super) {
7590
+ __extends(CalendarOptions, _super);
7451
7591
  function CalendarOptions() {
7592
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
7452
7593
  /** Represent DefaultView Of Calendar*/
7453
- this.DefaultView = exports.CalendarView.Month;
7594
+ _this.DefaultView = exports.CalendarView.Month;
7454
7595
  /** Represent CalendarViews Of Calendar*/
7455
- this.CalendarViews = [exports.CalendarView.Agenda, exports.CalendarView.Daily, exports.CalendarView.Month, exports.CalendarView.Weekly];
7596
+ _this.CalendarViews = [exports.CalendarView.Agenda, exports.CalendarView.Daily, exports.CalendarView.Month, exports.CalendarView.Weekly];
7456
7597
  /** Set Calendar Visible Of Calendar*/
7457
- this.CalendarVisible = true;
7598
+ _this.CalendarVisible = true;
7458
7599
  /** Set DefaultDate Of Calendar*/
7459
- this.DefaultDate = new Date();
7460
- this.Eventeditable = false;
7461
- this.Eventselectable = false;
7462
- this.dayMaxEvents = false;
7600
+ _this.DefaultDate = new Date();
7601
+ _this.Eventeditable = false;
7602
+ _this.Eventselectable = false;
7603
+ _this.dayMaxEvents = false;
7604
+ return _this;
7463
7605
  }
7464
7606
  return CalendarOptions;
7465
- }());
7607
+ }(ControlOptionsBase));
7466
7608
 
7467
7609
  var CalendarEventDTO = /** @class */ (function () {
7468
7610
  function CalendarEventDTO() {
@@ -7470,32 +7612,28 @@
7470
7612
  return CalendarEventDTO;
7471
7613
  }());
7472
7614
 
7473
- var AutocompleteOptions = /** @class */ (function () {
7615
+ var AutocompleteOptions = /** @class */ (function (_super) {
7616
+ __extends(AutocompleteOptions, _super);
7474
7617
  function AutocompleteOptions() {
7475
- /**
7476
- * Represent classes to textbox that allow us to select the AutoComplete by jquery or javascript
7477
- */
7478
- this.ValidationToken = null;
7618
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
7619
+ /**Represent classes to textbox that allow us to select the AutoComplete by jquery or javascript */
7620
+ _this.ValidationToken = null;
7479
7621
  /**To set value to textbox */
7480
- this.Value = null;
7622
+ _this.Value = null;
7481
7623
  /** set Range Number to Textbox with type number with From-Value and To-value*/
7482
- this.NumberRange = new RangeNumber();
7483
- /** to set type of view if textbox is Vertical or Horizontal */
7484
- this.ViewType = null;
7485
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
7486
- */
7487
- this.CustomValidation = [];
7624
+ _this.NumberRange = new RangeNumber();
7488
7625
  /** to set Direction of textbox if textbox is Arabic or English */
7489
- this.ForceDirection = exports.ForceDirection.English;
7626
+ _this.ForceDirection = exports.ForceDirection.English;
7490
7627
  /** allow add value of AutoComplete dosn't exist in list*/
7491
- this.AllowNewSelection = false;
7628
+ _this.AllowNewSelection = false;
7492
7629
  // /**a {key,value} (json) object to include as params for the json call. Each api supports different structure.*/
7493
7630
  // Params: object={};
7494
- this.QueryParam = 'query';
7495
- this.SelectedValue = null;
7631
+ _this.QueryParam = 'query';
7632
+ _this.SelectedValue = null;
7633
+ return _this;
7496
7634
  }
7497
7635
  return AutocompleteOptions;
7498
- }());
7636
+ }(ControlOptionsBase));
7499
7637
 
7500
7638
  var TagsInputDTO = /** @class */ (function () {
7501
7639
  function TagsInputDTO() {
@@ -7503,49 +7641,45 @@
7503
7641
  return TagsInputDTO;
7504
7642
  }());
7505
7643
 
7506
- var TagsInputOptions = /** @class */ (function () {
7644
+ var TagsInputOptions = /** @class */ (function (_super) {
7645
+ __extends(TagsInputOptions, _super);
7507
7646
  function TagsInputOptions() {
7508
- /**To set value to tagsinput */
7509
- this.Value = null;
7510
- /** to set type of view if tagsinput is Vertical or Horizontal */
7511
- this.ViewType = null;
7512
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
7513
- */
7514
- this.CustomValidation = [];
7647
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
7515
7648
  /** to set Direction of tagsinput if tagsinput is Arabic or English */
7516
- this.ForceDirection = exports.ForceDirection.English;
7649
+ _this.ForceDirection = exports.ForceDirection.English;
7517
7650
  /**Remove Last When User Click On Backspace */
7518
- this.RemoveLastOnBackspace = false;
7651
+ _this.RemoveLastOnBackspace = false;
7519
7652
  /** Allow User To Delete Tags */
7520
- this.CanDeleteTags = true;
7653
+ _this.CanDeleteTags = true;
7521
7654
  /** Allow User To Add Tags */
7522
- this.CanAddTags = true;
7655
+ _this.CanAddTags = true;
7523
7656
  /** Set Max Number Of Tags That User Can Be Select */
7524
- this.MaxNumberTags = 100;
7657
+ _this.MaxNumberTags = 100;
7525
7658
  /** Set Min Length Of Char To Call Search Function */
7526
- this.MinSearchLength = 1;
7659
+ _this.MinSearchLength = 1;
7527
7660
  /**Allow Scrolle Option In Dropdown */
7528
- this.ScrollableOptions = true;
7661
+ _this.ScrollableOptions = true;
7529
7662
  /** Set Max Number Of Tags That will Be Appear ON Dropdown */
7530
- this.MaxSearchResultsCount = 5;
7663
+ _this.MaxSearchResultsCount = 5;
7531
7664
  /**Value Name Of Tag Option In Dropdown */
7532
- this.DatasourceItemValue = "key";
7665
+ _this.DatasourceItemValue = "key";
7533
7666
  /**Text Of Tag That Will Show In Dropdown */
7534
- this.DatasourceItemText = "value";
7667
+ _this.DatasourceItemText = "value";
7535
7668
  /**Text Show when none of the given options match the entered text */
7536
- this.NoResultText = "No Item Matches";
7669
+ _this.NoResultText = "No Item Matches";
7537
7670
  /**Set Query Param Name By Default It's 'query'*/
7538
- this.QueryParamName = "query";
7671
+ _this.QueryParamName = "query";
7539
7672
  /**Set Query Param Name By Default It's 'query'*/
7540
- this.SelectedItemsParamName = "SelectedItems";
7673
+ _this.SelectedItemsParamName = "SelectedItems";
7541
7674
  /**Set Filter Param Name By Default It's 'query'*/
7542
- this.FilterParamName = "";
7675
+ _this.FilterParamName = "";
7543
7676
  /** allow add value of TagInput dosn't exist in list*/
7544
- this.AllowNewSelection = false;
7545
- this.ValidationToken = null;
7677
+ _this.AllowNewSelection = false;
7678
+ _this.ValidationToken = null;
7679
+ return _this;
7546
7680
  }
7547
7681
  return TagsInputOptions;
7548
- }());
7682
+ }(ControlOptionsBase));
7549
7683
 
7550
7684
  var FilterItem = /** @class */ (function () {
7551
7685
  function FilterItem() {
@@ -7599,15 +7733,13 @@
7599
7733
  return PagingOptions;
7600
7734
  }());
7601
7735
 
7602
- var RadioButtonOptions = /** @class */ (function () {
7736
+ var RadioButtonOptions = /** @class */ (function (_super) {
7737
+ __extends(RadioButtonOptions, _super);
7603
7738
  function RadioButtonOptions() {
7604
- this.ViewType = null;
7605
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
7606
- */
7607
- this.CustomValidation = [];
7739
+ return _super !== null && _super.apply(this, arguments) || this;
7608
7740
  }
7609
7741
  return RadioButtonOptions;
7610
- }());
7742
+ }(ControlOptionsBase));
7611
7743
 
7612
7744
  var RadioButtonItem = /** @class */ (function () {
7613
7745
  function RadioButtonItem() {
@@ -8025,6 +8157,8 @@
8025
8157
  exports.AutocompleteOptions = AutocompleteOptions;
8026
8158
  exports.AutocompleteTextBoxComponent = AutocompleteTextBoxComponent;
8027
8159
  exports.BBSFControlsModule = BBSFControlsModule;
8160
+ exports.BBSFDatePipe = BBSFDatePipe;
8161
+ exports.BBSFDateTimePipe = BBSFDateTimePipe;
8028
8162
  exports.CalendarComponent = CalendarComponent;
8029
8163
  exports.CalendarEventDTO = CalendarEventDTO;
8030
8164
  exports.CalendarOptions = CalendarOptions;
@@ -8033,6 +8167,7 @@
8033
8167
  exports.CheckBoxOptions = CheckBoxOptions;
8034
8168
  exports.ConfirmationModalComponent = ConfirmationModalComponent;
8035
8169
  exports.ConfirmationModalOptions = ConfirmationModalOptions;
8170
+ exports.ControlOptionsBase = ControlOptionsBase;
8036
8171
  exports.ControlUtility = ControlUtility;
8037
8172
  exports.CustomValidation = CustomValidation;
8038
8173
  exports.CustomValidator = CustomValidator;
@@ -8065,6 +8200,7 @@
8065
8200
  exports.MultiLingualTextAreaOptions = MultiLingualTextAreaOptions;
8066
8201
  exports.MultiLingualTextBoxComponent = MultiLingualTextBoxComponent;
8067
8202
  exports.MultiLingualTextBoxOptions = MultiLingualTextBoxOptions;
8203
+ exports.MultilingualControlOptionsBase = MultilingualControlOptionsBase;
8068
8204
  exports.MultipleFileUploadModel = MultipleFileUploadModel;
8069
8205
  exports.NgTemplateNameDirective = NgTemplateNameDirective;
8070
8206
  exports.OnPagingFiltersChangeService = OnPagingFiltersChangeService;