@bnsights/bbsf-controls 1.0.51 → 1.0.54

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 (28) hide show
  1. package/README.md +15 -0
  2. package/bnsights-bbsf-controls-1.0.54.tgz +0 -0
  3. package/bnsights-bbsf-controls.metadata.json +1 -1
  4. package/bundles/bnsights-bbsf-controls.umd.js +72 -30
  5. package/bundles/bnsights-bbsf-controls.umd.js.map +1 -1
  6. package/esm2015/lib/Shared/Enums/FileType.js +2 -2
  7. package/esm2015/lib/Shared/Models/ConfirmationModalOptions.js +3 -1
  8. package/esm2015/lib/Shared/Models/DropdownOptions.js +1 -1
  9. package/esm2015/lib/Shared/Models/MapAutocompleteDTO.js +4 -1
  10. package/esm2015/lib/Shared/Models/MultilingualControlOptionsBase.js +1 -1
  11. package/esm2015/lib/Shared/default_intl.js +5 -1
  12. package/esm2015/lib/controls/ConfirmationModal/ConfirmationModal.component.js +3 -4
  13. package/esm2015/lib/controls/DropdownList/DropdownList.component.js +2 -2
  14. package/esm2015/lib/controls/MapAutoComplete/MapAutoComplete.component.js +9 -2
  15. package/esm2015/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.js +11 -5
  16. package/esm2015/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.js +11 -5
  17. package/esm2015/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.js +11 -5
  18. package/esm2015/lib/controls/Repeater/repeater/repeater.component.js +2 -2
  19. package/esm2015/lib/controls/TagsInput/TagsInput.component.js +23 -12
  20. package/fesm2015/bnsights-bbsf-controls.js +74 -30
  21. package/fesm2015/bnsights-bbsf-controls.js.map +1 -1
  22. package/lib/Shared/Enums/FileType.d.ts +1 -1
  23. package/lib/Shared/Models/ConfirmationModalOptions.d.ts +1 -0
  24. package/lib/Shared/Models/DropdownOptions.d.ts +2 -0
  25. package/lib/Shared/Models/MultilingualControlOptionsBase.d.ts +2 -0
  26. package/lib/Shared/default_intl.d.ts +4 -0
  27. package/package.json +2 -2
  28. package/bnsights-bbsf-controls-1.0.51.tgz +0 -0
@@ -399,6 +399,10 @@ class DefaultIntl extends OwlDateTimeIntl {
399
399
  this.rangeFromLabel = this.utilityService.getResourceValue("From");
400
400
  /** A label for the range 'to' in picker info */
401
401
  this.rangeToLabel = this.utilityService.getResourceValue("To");
402
+ /** A label for the cancel button */
403
+ this.cancelBtnLabel = this.utilityService.getResourceValue("Cancel");
404
+ /** A label for the set button */
405
+ this.setBtnLabel = this.utilityService.getResourceValue("Set");
402
406
  }
403
407
  }
404
408
  DefaultIntl.decorators = [
@@ -1097,10 +1101,16 @@ class MultiLingualTextBoxComponent {
1097
1101
  this.options.MultiControlPlacementType = this.globalSettings.MultiControlPlacementType;
1098
1102
  if (!this.options.MaxLength)
1099
1103
  this.options.MaxLength = this.globalSettings.MaxLengthTextBox;
1100
- if (this.options.ArabicLabelKey != null && this.options.ArabicLabelKey != "")
1101
- this.options.ArabicLabelValue = this.UtilityService.getResourceValue(this.options.ArabicLabelKey);
1102
- if (this.options.EnglishLabelKey != null && this.options.EnglishLabelKey != "")
1103
- this.options.EnglishLabelValue = this.UtilityService.getResourceValue(this.options.EnglishLabelKey);
1104
+ if (this.options.LabelKey != null && this.options.LabelKey != "") {
1105
+ this.options.ArabicLabelValue = this.UtilityService.getResourceValue(this.options.LabelKey) + " " + this.UtilityService.getResourceValue("InArabic");
1106
+ this.options.EnglishLabelValue = this.UtilityService.getResourceValue(this.options.LabelKey) + " " + this.UtilityService.getResourceValue("InEnglish");
1107
+ }
1108
+ else {
1109
+ if (this.options.ArabicLabelKey != null && this.options.ArabicLabelKey != "")
1110
+ this.options.ArabicLabelValue = this.UtilityService.getResourceValue(this.options.ArabicLabelKey);
1111
+ if (this.options.EnglishLabelKey != null && this.options.EnglishLabelKey != "")
1112
+ this.options.EnglishLabelValue = this.UtilityService.getResourceValue(this.options.EnglishLabelKey);
1113
+ }
1104
1114
  if (this.options.CustomValidation.length > 0) {
1105
1115
  let Validations = this.options.CustomValidation;
1106
1116
  for (let index = 0; index < Validations.length; index++) {
@@ -1681,10 +1691,16 @@ class MultiLingualTextAreaComponent {
1681
1691
  this.options.MultiControlPlacementType = this.globalSettings.MultiControlPlacementType;
1682
1692
  if (!this.options.MaxLength)
1683
1693
  this.options.MaxLength = this.globalSettings.MaxLengthTextArea;
1684
- if (this.options.ArabicLabelKey != null && this.options.ArabicLabelKey != "")
1685
- this.options.ArabicLabelValue = this.UtilityService.getResourceValue(this.options.ArabicLabelKey);
1686
- if (this.options.EnglishLabelKey != null && this.options.EnglishLabelKey != "")
1687
- this.options.EnglishLabelValue = this.UtilityService.getResourceValue(this.options.EnglishLabelKey);
1694
+ if (this.options.LabelKey != null && this.options.LabelKey != "") {
1695
+ this.options.ArabicLabelValue = this.UtilityService.getResourceValue(this.options.LabelKey) + " " + this.UtilityService.getResourceValue("InArabic");
1696
+ this.options.EnglishLabelValue = this.UtilityService.getResourceValue(this.options.LabelKey) + " " + this.UtilityService.getResourceValue("InEnglish");
1697
+ }
1698
+ else {
1699
+ if (this.options.ArabicLabelKey != null && this.options.ArabicLabelKey != "")
1700
+ this.options.ArabicLabelValue = this.UtilityService.getResourceValue(this.options.ArabicLabelKey);
1701
+ if (this.options.EnglishLabelKey != null && this.options.EnglishLabelKey != "")
1702
+ this.options.EnglishLabelValue = this.UtilityService.getResourceValue(this.options.EnglishLabelKey);
1703
+ }
1688
1704
  this.MultiLanguageTextAreagroup = new FormGroup({});
1689
1705
  this.MultiLanguageTextAreagroup.addControl("Arabic", new FormControl(''));
1690
1706
  this.MultiLanguageTextAreagroup.addControl("English", new FormControl(''));
@@ -2267,7 +2283,7 @@ DropdownListComponent.decorators = [
2267
2283
  { type: Component, args: [{
2268
2284
  // tslint:disable-next-line: component-selector
2269
2285
  selector: 'BBSF-DropdownList',
2270
- template: "<div class=\"b-control b-dropdown-list\">\r\n <div class=\"form-group row validate is-invalid\" [formGroup]=\"group\">\r\n <label class=\"b-label col-form-label col-sm-12 \" [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\"\r\n [hidden]=\"options.HideLabel\">\r\n {{options.LabelValue}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger Required-text\"\r\n aria-required=\"true\">*</span>\r\n </label>\r\n\r\n <div class=\"col-sm-12\" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\">\r\n <ng-select *ngIf=\"options.DisableBootstrapSelect==false\" dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n [bindValue]=\"options.ItemTempletkey\" [bindLabel]=\"options.ItemTempletvalue\" [items]=\"options.DataSource\"\r\n [notFoundText]=\"options.NotFoundText\" [maxSelectedItems]=\"options.LimitSelection\"\r\n [searchable]=\"options.AllowSearchFilter\" [multiple]=\"!options.SingleSelection\" [readonly]=\"options.IsDisabled\"\r\n [clearable]=\"true\" placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\"\r\n [selectableGroup]=\"true\" [selectableGroupAsModel]=\"false\" formControlName=\"{{options.Name}}\"\r\n [(ngModel)]=\"options.SelectedItems\" (change)=\"onItemSelect()\" (clear)=\"Clear()\"\r\n [class.is-invalid]=\"DropdownListFormControl.invalid && DropdownListFormControl.touched\"\r\n [closeOnSelect]=\"options.SingleSelection ? true : false\">\r\n\r\n <ng-template *ngIf=\"options.ShowCheckbox\" ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\r\n <div class=\"ks-cboxtags\">\r\n <input id=\"item-{{index}}\" type=\"checkbox\" [ngModelOptions]=\"{standalone: true}\" [ngModel]=\"item$.selected\"\r\n class=\" \" /> <label class=\"ng-option-label mb-0\" id={{item.key}}>{{item.value}}</label>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!options.ShowCheckbox\" ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\r\n <label class=\"ng-option-label mb-0\" id={{item.key}}>{{item.value}}</label>\r\n </ng-template>\r\n\r\n </ng-select>\r\n\r\n <select *ngIf=\"options.DisableBootstrapSelect\" class=\"form-control bnsights-control\"\r\n dir=\"{{options.ForceDirection==2?'rtl':''}}\" (change)=\"onItemSelect()\" [(ngModel)]=\"options.SelectedItems\" [disabled]=\"options.IsDisabled\" formControlName=\"{{options.Name}}\">\r\n <option value=\"\" disabled>--{{UtilityService.getResourceValue(\"select\")}}--</option>\r\n <option *ngFor=\"let item of options.DataSource\" value=\"{{item.key}}\" [ngValue]=\"item.key\">\r\n {{item.value}}\r\n </option>\r\n </select>\r\n\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(DropdownListFormControl.invalid && DropdownListFormControl.touched)\">\r\n {{getErrorValidation(DropdownListFormControl.errors|keyvalue)}}\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"control-desc\">{{options.LabelDescription}}</div>\r\n </div>\r\n\r\n <!-- <div *ngIf=\"DropdownListFormControl.valid\">{{resetError()}}</div> -->\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">\r\n {{resetError()}}</div>\r\n\r\n\r\n </div>\r\n </div>\r\n</div>\r\n",
2286
+ template: "<div class=\"b-control b-dropdown-list\">\r\n <div class=\"form-group row validate is-invalid\" [formGroup]=\"group\">\r\n <label class=\"b-label col-form-label col-sm-12 \" [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\"\r\n [hidden]=\"options.HideLabel\">\r\n {{options.LabelValue}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger Required-text\"\r\n aria-required=\"true\">*</span>\r\n </label>\r\n\r\n <div class=\"col-sm-12\" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\">\r\n <ng-select *ngIf=\"options.DisableBootstrapSelect==false\" dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n [bindValue]=\"options.ItemTempletkey\" [bindLabel]=\"options.ItemTempletvalue\" [items]=\"options.DataSource\"\r\n [notFoundText]=\"options.NotFoundText\" [maxSelectedItems]=\"options.LimitSelection\"\r\n [searchable]=\"options.AllowSearchFilter\" [multiple]=\"!options.SingleSelection\" [readonly]=\"options.IsDisabled\"\r\n [clearable]=\"true\" placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\"\r\n [selectableGroup]=\"true\" [selectableGroupAsModel]=\"false\" formControlName=\"{{options.Name}}\"\r\n [(ngModel)]=\"options.SelectedItems\" (change)=\"onItemSelect()\" (clear)=\"Clear()\"\r\n [class.is-invalid]=\"DropdownListFormControl.invalid && DropdownListFormControl.touched\"\r\n [closeOnSelect]=\"options.SingleSelection ? true : false\">\r\n\r\n <ng-template *ngIf=\"options.ShowCheckbox\" ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\r\n <div class=\"ks-cboxtags\">\r\n <input id=\"item-{{index}}\" type=\"checkbox\" [ngModelOptions]=\"{standalone: true}\" [ngModel]=\"item$.selected\"\r\n class=\" \" /> <label class=\"ng-option-label mb-0\" id={{item.key}}>{{item.value}}</label>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!options.ShowCheckbox\" ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\r\n <div title=\"{{item.disabled ? options.DisabledItemsTooltipValue : ''}}\">\r\n <label class=\"ng-option-label mb-0\" id={{item.key}}>{{item.value}}</label>\r\n </div>\r\n </ng-template>\r\n\r\n </ng-select>\r\n\r\n <select *ngIf=\"options.DisableBootstrapSelect\" class=\"form-control bnsights-control\"\r\n dir=\"{{options.ForceDirection==2?'rtl':''}}\" (change)=\"onItemSelect()\" [(ngModel)]=\"options.SelectedItems\" [disabled]=\"options.IsDisabled\" formControlName=\"{{options.Name}}\">\r\n <option value=\"\" disabled>--{{UtilityService.getResourceValue(\"select\")}}--</option>\r\n <option *ngFor=\"let item of options.DataSource\" value=\"{{item.key}}\" [ngValue]=\"item.key\">\r\n {{item.value}}\r\n </option>\r\n </select>\r\n\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(DropdownListFormControl.invalid && DropdownListFormControl.touched)\">\r\n {{getErrorValidation(DropdownListFormControl.errors|keyvalue)}}\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"control-desc\">{{options.LabelDescription}}</div>\r\n </div>\r\n\r\n <!-- <div *ngIf=\"DropdownListFormControl.valid\">{{resetError()}}</div> -->\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">\r\n {{resetError()}}</div>\r\n\r\n\r\n </div>\r\n </div>\r\n</div>\r\n",
2271
2287
  styles: [".cuppa-dropdown{background-color:#fff}.arrow-up,.arrow-down{border-left:none!important;border-right:none!important}.dropdown-list{padding-top:0!important}.c-token{background-color:#6495ed}.pure-checkbox .selected-item{background-color:#6495ed;color:#fff}\n"]
2272
2288
  },] }
2273
2289
  ];
@@ -2906,10 +2922,16 @@ class MultiLingualHtmlEditorComponent {
2906
2922
  this.EnglishValidationRules.push(Validators.maxLength(this.options.MaxLength));
2907
2923
  this.ArabicValidationRules.push(Validators.maxLength(this.options.MaxLength));
2908
2924
  }
2909
- if (this.options.ArabicLabelKey != null && this.options.ArabicLabelKey != "")
2910
- this.options.ArabicLabelValue = this.UtilityService.getResourceValue(this.options.ArabicLabelKey);
2911
- if (this.options.EnglishLabelKey != null && this.options.EnglishLabelKey != "")
2912
- this.options.EnglishLabelValue = this.UtilityService.getResourceValue(this.options.EnglishLabelKey);
2925
+ if (this.options.LabelKey != null && this.options.LabelKey != "") {
2926
+ this.options.ArabicLabelValue = this.UtilityService.getResourceValue(this.options.LabelKey) + " " + this.UtilityService.getResourceValue("InArabic");
2927
+ this.options.EnglishLabelValue = this.UtilityService.getResourceValue(this.options.LabelKey) + " " + this.UtilityService.getResourceValue("InEnglish");
2928
+ }
2929
+ else {
2930
+ if (this.options.ArabicLabelKey != null && this.options.ArabicLabelKey != "")
2931
+ this.options.ArabicLabelValue = this.UtilityService.getResourceValue(this.options.ArabicLabelKey);
2932
+ if (this.options.EnglishLabelKey != null && this.options.EnglishLabelKey != "")
2933
+ this.options.EnglishLabelValue = this.UtilityService.getResourceValue(this.options.EnglishLabelKey);
2934
+ }
2913
2935
  this.showInputUsingLanguageMode();
2914
2936
  this.ArabicValidationRules.push(Validators.compose([
2915
2937
  this.controlUtility.patternValidator(/^[\u0621-\u064A\u0660-\u0669 ]+$/, { ArabicLetterOnly: this.ArabicLetterOnly }),
@@ -4066,6 +4088,9 @@ class TagsInputComponent {
4066
4088
  // this.group.addControl(this.options.Name, new FormControl(''));
4067
4089
  // this.TagInputControl = this.group.controls[this.options.Name]; // new FormControl('',validationRules);
4068
4090
  this.TagsFormControl.setValue(this.options.Value);
4091
+ if (this.options.IsRequired) {
4092
+ this.validationRules.push(Validators.required);
4093
+ }
4069
4094
  if (this.options.CustomValidation.length > 0) {
4070
4095
  let Validations = this.options.CustomValidation;
4071
4096
  for (let index = 0; index < Validations.length; index++) {
@@ -4073,9 +4098,6 @@ class TagsInputComponent {
4073
4098
  this.validationRules.push(Validation.functionBody);
4074
4099
  }
4075
4100
  }
4076
- if (this.options.IsRequired) {
4077
- this.validationRules.push(Validators.required);
4078
- }
4079
4101
  this.TagsFormControl.setValidators(this.validationRules);
4080
4102
  this.TagsFormControl.setAsyncValidators(this.validationRulesasync);
4081
4103
  if (this.options.IsDisabled) {
@@ -4084,7 +4106,7 @@ class TagsInputComponent {
4084
4106
  if (this.options.Value != undefined && this.options.Value != []) {
4085
4107
  for (let index = 0; index < this.options.Value.length; index++) {
4086
4108
  const element = this.options.Value[index];
4087
- this.SelectedId.push(element.key);
4109
+ this.SelectedId.push(element.id);
4088
4110
  }
4089
4111
  this.tags = this.options.Value;
4090
4112
  this.TagsFormControl.setValue(this.options.Value);
@@ -4118,7 +4140,7 @@ class TagsInputComponent {
4118
4140
  this.controlUtility.CopyInputMessage(inputElement);
4119
4141
  }
4120
4142
  searchFunctionFactory(Text) {
4121
- let Url = `${this.options.ActionURL}?${this.options.QueryParamName}=${Text}&${this.options.SelectedItemsParamName}=${this.SelectedId}`;
4143
+ let Url = `${this.options.ActionURL}?${this.options.QueryParamName}=${encodeURIComponent(Text)}&${this.options.SelectedItemsParamName}=${this.SelectedId}`;
4122
4144
  if (this.options.ExtraFilters)
4123
4145
  Url = Url + `&${this.options.ExtraFilters}`;
4124
4146
  let requestOptionsModel = new RequestOptionsModel();
@@ -4128,7 +4150,7 @@ class TagsInputComponent {
4128
4150
  return Model;
4129
4151
  }
4130
4152
  AddTag(event, key) {
4131
- if (this.IsNoMatch == true && this.options.AllowNewSelection == false && (key.selected != null || key.selected != "")) {
4153
+ if (this.IsNoMatch == true && this.options.AllowNewSelection == false && key.selected) {
4132
4154
  this.TagsFormControl.setErrors({ "errorMassage": this.options.NoResultText });
4133
4155
  this.TagsFormControl.markAsTouched();
4134
4156
  this.TagsFormControl.invalid;
@@ -4140,28 +4162,39 @@ class TagsInputComponent {
4140
4162
  }
4141
4163
  else if (this.IsNoMatch == true && event == "Enter" && this.options.AllowNewSelection && key.selected) {
4142
4164
  if (!(this.tags.length >= this.options.MaxNumberTags)) {
4143
- this.tags.push({ key: "", value: key.selected });
4144
- key.selected = null;
4165
+ this.tags.push({ name: key.selected });
4166
+ this.group.get(this.options.Name).setValue(this.tags);
4167
+ this.group.get(this.options.Name).markAllAsTouched();
4168
+ this.group.updateValueAndValidity();
4169
+ if (this.group.get(this.options.Name).valid) {
4170
+ key.selected = null;
4171
+ return;
4172
+ }
4173
+ else
4174
+ this.tags.pop();
4145
4175
  }
4146
4176
  }
4147
4177
  }
4148
4178
  onTagsChanged(result) {
4149
4179
  //console.log(this.tags)
4150
4180
  if (result["change"] == "add") {
4151
- this.SelectedId.push(result.tag.key);
4181
+ this.SelectedId.push(result.tag.id);
4152
4182
  }
4153
4183
  if (result["change"] == "remove") {
4154
- this.SelectedId = this.SelectedId.filter((item) => item != result.tag.key);
4184
+ this.SelectedId = this.SelectedId.filter((item) => item != result.tag.id);
4155
4185
  if (this.SelectedId.length == 0 && this.options.IsRequired == true) {
4156
4186
  this.TagsFormControl.setErrors({ required: "" });
4157
4187
  this.TagsFormControl.markAsTouched();
4158
4188
  this.TagsFormControl.invalid;
4159
4189
  }
4160
4190
  }
4161
- let originalValue = this.TagsFormControl.value.map(function (a) { return a.key; });
4191
+ let originalValue = this.TagsFormControl.value.map(function (a) { return a.id; });
4162
4192
  if (this.options.PatchFunction && this.options.PatchPath && this.TagsFormControl.valid) {
4163
4193
  this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
4164
4194
  }
4195
+ this.group.get(this.options.Name).setValue(this.tags);
4196
+ this.TagsFormControl.updateValueAndValidity();
4197
+ this.group.updateValueAndValidity();
4165
4198
  this.OnChange.emit(originalValue);
4166
4199
  }
4167
4200
  onNoOptionsMatch(event) {
@@ -5014,6 +5047,9 @@ TextboxComponent.propDecorators = {
5014
5047
  };
5015
5048
 
5016
5049
  class MapAutocompleteDTO {
5050
+ constructor() {
5051
+ this.Text = null;
5052
+ }
5017
5053
  }
5018
5054
 
5019
5055
  class MapAutoCompleteComponent {
@@ -5286,6 +5322,13 @@ class MapAutoCompleteComponent {
5286
5322
  }
5287
5323
  }
5288
5324
  GermanAddressMapped(result) {
5325
+ if (result.type) {
5326
+ if (result.target.value == "") {
5327
+ this.MapAutoCompleteFormControl.setValue(result);
5328
+ this.group.controls[this.options.Name].setValue(result);
5329
+ }
5330
+ return;
5331
+ }
5289
5332
  this.MapAutoCompleteModel == new MapAutocompleteDTO();
5290
5333
  this.MapAutoCompleteModel.Text = result.displayAddress;
5291
5334
  this.MapAutoCompleteModel.PlaceID = result.placeID;
@@ -5301,7 +5344,7 @@ MapAutoCompleteComponent.controlContainerstatic = null;
5301
5344
  MapAutoCompleteComponent.decorators = [
5302
5345
  { type: Component, args: [{
5303
5346
  selector: 'BBSF-MapAutoComplete',
5304
- template: "<div class=\"b-control b-map-auto-complete\">\r\n <div class=\"form-group row validate is-invalid\" [formGroup]=\"group\">\r\n <label class=\"b-label col-form-label col-sm-12 \" [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\" [hidden]=\"options.HideLabel\">\r\n {{options.LabelValue}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger Required-text\" aria-required=\"true\">*</span>\r\n </label>\r\n <div class=\"col-sm-12\" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\">\r\n <input class=\"form-control bnsights-control {{options.ExtraClasses}} \"\r\n [value]=\"MapAutoCompleteModel.Text\"\r\n [address]=\"MapAutoCompleteModel.Text\"\r\n value=\"{{MapAutoCompleteModel.Text}}\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n [class.is-invalid]=\"MapAutoCompleteFormControl.invalid && MapAutoCompleteFormControl.touched\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\"\r\n matGoogleMapsAutocomplete #search\r\n (onAutocompleteSelected)=\"AutocompleteSelected($event)\"\r\n (onLocationSelected)=\"LocationSelected($event)\"\r\n (onGermanAddressMapped)=\"GermanAddressMapped($event)\"/>\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(MapAutoCompleteFormControl.invalid && MapAutoCompleteFormControl.touched)\">\r\n {{getErrorValidation(MapAutoCompleteFormControl.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",
5347
+ template: "<div class=\"b-control b-map-auto-complete\">\r\n <div class=\"form-group row validate is-invalid\" [formGroup]=\"group\">\r\n <label class=\"b-label col-form-label col-sm-12 \" [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\"\r\n [hidden]=\"options.HideLabel\">\r\n {{options.LabelValue}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger Required-text\"\r\n aria-required=\"true\">*</span>\r\n </label>\r\n <div class=\"col-sm-12\" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\">\r\n <input class=\"form-control bnsights-control {{options.ExtraClasses}} \" [value]=\"MapAutoCompleteModel.Text\"\r\n [address]=\"MapAutoCompleteModel.Text\" value=\"{{MapAutoCompleteModel.Text}}\" aria-describedby=\"email-error\"\r\n aria-invalid=\"true\"\r\n [class.is-invalid]=\"MapAutoCompleteFormControl.invalid && MapAutoCompleteFormControl.touched\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" (keyup)=\"GermanAddressMapped($event)\"\r\n matGoogleMapsAutocomplete #search (onAutocompleteSelected)=\"AutocompleteSelected($event)\"\r\n (onLocationSelected)=\"LocationSelected($event)\" (onGermanAddressMapped)=\"GermanAddressMapped($event)\" />\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(MapAutoCompleteFormControl.invalid && MapAutoCompleteFormControl.touched)\">\r\n {{getErrorValidation(MapAutoCompleteFormControl.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>",
5305
5348
  styles: [".example-form{min-width:150px;max-width:500px;width:100%}.example-full-width{width:100%}.flip_V{transform:scaleY(-1)}\n"]
5306
5349
  },] }
5307
5350
  ];
@@ -5663,12 +5706,11 @@ class ConfirmationModalComponent {
5663
5706
  }
5664
5707
  //Modal confirmation submit function
5665
5708
  submit() {
5666
- console.log("options in submit function");
5667
- console.log(this.options);
5668
5709
  let submitModel = this.options.ServiceSubmitModel;
5669
5710
  let submittedService = this.options.ServiceSubmitFunction.apply(null, submitModel);
5670
5711
  submittedService.subscribe((result) => {
5671
- this.modalService.dismissAll();
5712
+ if (!this.options.DisableModalDismiss)
5713
+ this.modalService.dismissAll();
5672
5714
  if (!this.options.DisableSuccessNotification) {
5673
5715
  if (!this.options.SuccessNotificationMessage)
5674
5716
  this.options.SuccessNotificationMessage = this.utilityService.getResourceValue("DeletedSuccessfully");
@@ -5832,7 +5874,7 @@ class RepeaterComponent {
5832
5874
  this.items = this.items.filter((res) => res != this.items[Index]);
5833
5875
  }
5834
5876
  addItem() {
5835
- this.items.push(this.items[this.items.length - 1] + 1);
5877
+ this.items.push(this.items.length);
5836
5878
  }
5837
5879
  ngAfterViewInit() {
5838
5880
  let templateRefs = this._templates["_results"].map((item) => item["template"]);
@@ -7730,6 +7772,8 @@ class ConfirmationModalOptions {
7730
7772
  this.DisableSuccessNotification = false;
7731
7773
  //If ="true" disable notification after submission error
7732
7774
  this.DisableErrorNotification = false;
7775
+ //If ="true" disable prevent modal from dismiss automatically
7776
+ this.DisableModalDismiss = false;
7733
7777
  }
7734
7778
  }
7735
7779
 
@@ -8042,7 +8086,7 @@ var Style;
8042
8086
  var FileType;
8043
8087
  (function (FileType) {
8044
8088
  FileType["PDF"] = "application/pdf";
8045
- FileType["Word"] = "application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document ";
8089
+ FileType["Word"] = "application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document";
8046
8090
  FileType["Excel"] = "application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
8047
8091
  FileType["ImageTypes"] = "image/png,image/bmp,image/jpeg";
8048
8092
  FileType["PNG"] = "image/png";