@bnsights/bbsf-controls 1.0.50 → 1.0.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/bnsights-bbsf-controls-1.0.53.tgz +0 -0
- package/bnsights-bbsf-controls.metadata.json +1 -1
- package/bundles/bnsights-bbsf-controls.umd.js +84 -35
- package/bundles/bnsights-bbsf-controls.umd.js.map +1 -1
- package/esm2015/lib/Shared/Enums/LanguageMode.js +8 -8
- package/esm2015/lib/Shared/Models/ConfirmationModalOptions.js +3 -1
- package/esm2015/lib/Shared/Models/DropdownOptions.js +2 -1
- package/esm2015/lib/Shared/Models/HtmlEditorOptions.js +2 -2
- package/esm2015/lib/Shared/Models/MapAutocompleteDTO.js +4 -1
- package/esm2015/lib/controls/ConfirmationModal/ConfirmationModal.component.js +3 -4
- package/esm2015/lib/controls/DateTimePicker/DateTimePicker.component.js +3 -1
- package/esm2015/lib/controls/DropdownList/DropdownList.component.js +2 -2
- package/esm2015/lib/controls/HtmlEditor/HtmlEditor.component.js +3 -3
- package/esm2015/lib/controls/MapAutoComplete/MapAutoComplete.component.js +9 -2
- package/esm2015/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.js +10 -2
- package/esm2015/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.js +12 -4
- package/esm2015/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.js +14 -4
- package/esm2015/lib/controls/TagsInput/TagsInput.component.js +23 -12
- package/esm2015/lib/controls/TextArea/TextArea.component.js +2 -2
- package/esm2015/lib/controls/TextBox/TextBox.component.js +2 -2
- package/fesm2015/bnsights-bbsf-controls.js +86 -35
- package/fesm2015/bnsights-bbsf-controls.js.map +1 -1
- package/lib/Shared/Enums/LanguageMode.d.ts +7 -7
- package/lib/Shared/Models/ConfirmationModalOptions.d.ts +1 -0
- package/lib/Shared/Models/DropdownOptions.d.ts +1 -0
- package/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.d.ts +2 -0
- package/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.d.ts +2 -0
- package/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.d.ts +2 -0
- package/package.json +2 -2
- package/bnsights-bbsf-controls-1.0.50.tgz +0 -0
|
@@ -546,6 +546,8 @@ class DateInputComponent {
|
|
|
546
546
|
}
|
|
547
547
|
}
|
|
548
548
|
onDateSelect(item) {
|
|
549
|
+
if (!item)
|
|
550
|
+
return;
|
|
549
551
|
let DateValue;
|
|
550
552
|
var tzoffset = (new Date()).getTimezoneOffset() * 60000; //offset in milliseconds
|
|
551
553
|
if (this.options.SelectMode == 2) {
|
|
@@ -627,13 +629,13 @@ var ControlLayout;
|
|
|
627
629
|
|
|
628
630
|
var LanguageMode;
|
|
629
631
|
(function (LanguageMode) {
|
|
630
|
-
LanguageMode[
|
|
631
|
-
LanguageMode[
|
|
632
|
-
LanguageMode[
|
|
633
|
-
LanguageMode[
|
|
634
|
-
LanguageMode[
|
|
635
|
-
LanguageMode[
|
|
636
|
-
LanguageMode[
|
|
632
|
+
LanguageMode["Both_Languages_are_visible"] = "3c6dbffe-da7f-4108-b44d-4b216a22f701";
|
|
633
|
+
LanguageMode["English_Language_only_is_visible"] = "84cc1d57-1f07-42a1-a38f-1a376c12a367";
|
|
634
|
+
LanguageMode["Arabic_Language_only_is_visible"] = "6a3e59e0-9510-4b16-9080-9313f5c9f229";
|
|
635
|
+
LanguageMode["Both_Languages_but_only_English_is_required"] = "260c38bb-c90c-4aa7-895d-31aba9311a05";
|
|
636
|
+
LanguageMode["Both_Languages_but_only_Arabic_is_required"] = "a1f2e15f-2691-4118-975f-ac21caf8ad5a";
|
|
637
|
+
LanguageMode["Current_Language_only_is_visible_and_required"] = "e2ba1f44-68f3-4035-b84f-9f1b6c2b0c05";
|
|
638
|
+
LanguageMode["Both_Languages_are_visible_but_only_current_language_is_required"] = "b26431f2-b209-4c41-ab04-2d71361847c2";
|
|
637
639
|
})(LanguageMode || (LanguageMode = {}));
|
|
638
640
|
|
|
639
641
|
class GlobalSettings {
|
|
@@ -1024,6 +1026,8 @@ class MultiLingualTextBoxComponent {
|
|
|
1024
1026
|
this.EnglishValidationRulesasync = [];
|
|
1025
1027
|
this.IsShowArabicWordCount = false;
|
|
1026
1028
|
this.IsShowEnglishWordCount = false;
|
|
1029
|
+
this.IsShowAsteriskInArabic = false;
|
|
1030
|
+
this.IsShowAsteriskInEnglish = false;
|
|
1027
1031
|
this.markAllAsTouched = false;
|
|
1028
1032
|
this.ArabicLetterOnly = "";
|
|
1029
1033
|
this.EnglishLetterOnly = "";
|
|
@@ -1167,7 +1171,7 @@ class MultiLingualTextBoxComponent {
|
|
|
1167
1171
|
//MaxLength should be gretaer than or equals chars limit so that minCharsLimit would be >= 0
|
|
1168
1172
|
if (this.options.MaxLength && this.minCharsLimit >= 0) {
|
|
1169
1173
|
this.englishCurrentCharsCount = this.EnglishFormControl.value.length;
|
|
1170
|
-
if (this.englishCurrentCharsCount
|
|
1174
|
+
if (this.englishCurrentCharsCount > this.minCharsLimit) {
|
|
1171
1175
|
this.showEnglishCharsLimitMsg = true;
|
|
1172
1176
|
this.hasEnglishCharsLimitValidationError = true;
|
|
1173
1177
|
if (this.englishCurrentCharsCount == this.options.MaxLength)
|
|
@@ -1209,7 +1213,7 @@ class MultiLingualTextBoxComponent {
|
|
|
1209
1213
|
//MaxLength should be gretaer than or equals chars limit so that minCharsLimit would be >= 0
|
|
1210
1214
|
if (this.options.MaxLength && this.minCharsLimit >= 0) {
|
|
1211
1215
|
this.arabicCurrentCharsCount = this.ArabicFormControl.value.length;
|
|
1212
|
-
if (this.arabicCurrentCharsCount
|
|
1216
|
+
if (this.arabicCurrentCharsCount > this.minCharsLimit) {
|
|
1213
1217
|
this.showArabicCharsLimitMsg = true;
|
|
1214
1218
|
this.hasArabicCharsLimitValidationError = true;
|
|
1215
1219
|
if (this.arabicCurrentCharsCount == this.options.MaxLength)
|
|
@@ -1293,6 +1297,8 @@ class MultiLingualTextBoxComponent {
|
|
|
1293
1297
|
if (this.options.IsRequired == true) {
|
|
1294
1298
|
this.EnglishValidationRules.push(Validators.required);
|
|
1295
1299
|
this.ArabicValidationRules.push(Validators.required);
|
|
1300
|
+
this.IsShowAsteriskInArabic = true;
|
|
1301
|
+
this.IsShowAsteriskInEnglish = true;
|
|
1296
1302
|
}
|
|
1297
1303
|
break;
|
|
1298
1304
|
case LanguageMode.Arabic_Language_only_is_visible:
|
|
@@ -1307,11 +1313,13 @@ class MultiLingualTextBoxComponent {
|
|
|
1307
1313
|
if (this.CurrentLanguage == 'ar') {
|
|
1308
1314
|
if (this.options.IsRequired == true) {
|
|
1309
1315
|
this.ArabicValidationRules.push(Validators.required);
|
|
1316
|
+
this.IsShowAsteriskInArabic = true;
|
|
1310
1317
|
}
|
|
1311
1318
|
}
|
|
1312
1319
|
if (this.CurrentLanguage == 'en') {
|
|
1313
1320
|
if (this.options.IsRequired == true) {
|
|
1314
1321
|
this.EnglishValidationRules.push(Validators.required);
|
|
1322
|
+
this.IsShowAsteriskInEnglish = true;
|
|
1315
1323
|
}
|
|
1316
1324
|
}
|
|
1317
1325
|
break;
|
|
@@ -1320,6 +1328,7 @@ class MultiLingualTextBoxComponent {
|
|
|
1320
1328
|
this.ShowEnglishTextBox = true;
|
|
1321
1329
|
if (this.options.IsRequired == true) {
|
|
1322
1330
|
this.ArabicValidationRules.push(Validators.required);
|
|
1331
|
+
this.IsShowAsteriskInArabic = true;
|
|
1323
1332
|
}
|
|
1324
1333
|
break;
|
|
1325
1334
|
case LanguageMode.Both_Languages_but_only_English_is_required:
|
|
@@ -1327,6 +1336,7 @@ class MultiLingualTextBoxComponent {
|
|
|
1327
1336
|
this.ShowEnglishTextBox = true;
|
|
1328
1337
|
if (this.options.IsRequired == true) {
|
|
1329
1338
|
this.EnglishValidationRules.push(Validators.required);
|
|
1339
|
+
this.IsShowAsteriskInEnglish = true;
|
|
1330
1340
|
}
|
|
1331
1341
|
break;
|
|
1332
1342
|
case LanguageMode.Current_Language_only_is_visible_and_required:
|
|
@@ -1335,6 +1345,7 @@ class MultiLingualTextBoxComponent {
|
|
|
1335
1345
|
this.ShowEnglishTextBox = false;
|
|
1336
1346
|
if (this.options.IsRequired == true) {
|
|
1337
1347
|
this.ArabicValidationRules.push(Validators.required);
|
|
1348
|
+
this.IsShowAsteriskInArabic = true;
|
|
1338
1349
|
}
|
|
1339
1350
|
}
|
|
1340
1351
|
if (this.CurrentLanguage == 'en') {
|
|
@@ -1342,6 +1353,7 @@ class MultiLingualTextBoxComponent {
|
|
|
1342
1353
|
this.ShowEnglishTextBox = true;
|
|
1343
1354
|
if (this.options.IsRequired == true) {
|
|
1344
1355
|
this.EnglishValidationRules.push(Validators.required);
|
|
1356
|
+
this.IsShowAsteriskInEnglish = true;
|
|
1345
1357
|
}
|
|
1346
1358
|
}
|
|
1347
1359
|
break;
|
|
@@ -1378,7 +1390,7 @@ MultiLingualTextBoxComponent.controlContainerstatic = null;
|
|
|
1378
1390
|
MultiLingualTextBoxComponent.decorators = [
|
|
1379
1391
|
{ type: Component, args: [{
|
|
1380
1392
|
selector: 'BBSF-MultiLingualTextBox',
|
|
1381
|
-
template: "<div class=\"b-control b-multilangual-textbox\">\r\n <div class=\"form-group validate is-invalid\" [formGroup]=\"group\">\r\n\r\n <div class=\"form-group row\" [formGroup]=\"MultiLanguagegroup\">\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\">\r\n <div class=\"row\" *ngIf=\"ShowEnglishTextBox\">\r\n <label class=\"b-label col-form-label col-sm-12\"\r\n [ngClass]=\"(options.ViewType==1)?'col-md-9':'col-md-3'\" [hidden]=\"options.IsHideEnglishLabel\">\r\n {{(options.EnglishLabelValue!=null&&options.EnglishLabelValue!=\"\")?options.EnglishLabelValue:options.LabelValue}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\"\r\n class=\"text-danger Required-text\" aria-required=\"true\">*</span>\r\n </label>\r\n\r\n <div class=\"col-sm-12\" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\">\r\n <div class=\"input-group align-items-center\">\r\n <div class=\"svg svg-icon-grey\" [ngClass]=\"(options.IconPositionEN==1)?'left-icon':'right-icon'\" *ngIf=\"options.Icon!=null\">\r\n <span [inlineSVG]=\"options.Icon\"></span>\r\n </div>\r\n <input class=\"form-control bnsights-control\"\r\n (focus)=\"onEnglishFocus(true)\" (focusout)=\"onEnglishFocus(false)\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\" formControlName=\"English\"\r\n [hidden]=\"options.IsHideEnglishFields\" maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\"\r\n [class.is-invalid]=\"EnglishFormControl.invalid && EnglishFormControl.touched\"\r\n placeholder=\"{{options.EnglishPlaceholder}}\" (change)=\"trimControlValue('En')\"\r\n (keyup)=\"onTextChange()\"\r\n (keydown)=\"EnglishWordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n autocomplete=\"{{options.AutoComplete}}\"\r\n id=\"{{options.Name}}.English\"\r\n #userinputEnglish>\r\n <div class=\"input-group-append\" [hidden]=\"options.IsHideEnglishFields\" *ngIf=\"options.EnableCopyToClipboard\">\r\n <span class=\"input-group-text\" (click)=\"copyInputMessage(userinputEnglish)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"text-muted font-weight-500 word-count float-end\" *ngIf=\"options.MaxWordCount>0&&IsShowEnglishWordCount\">{{EnglishWordCount}}/{{options.MaxWordCount}}</div>\r\n <div class=\"text-danger Required-text\" *ngIf=\"(EnglishFormControl.invalid && EnglishFormControl.touched)\">\r\n {{getErrorValidation(EnglishFormControl.errors|keyvalue)}}\r\n </div>\r\n <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 <!-- <div *ngIf=\"EnglishFormControl.valid\">{{resetError()}}</div> -->\r\n <div *ngIf=\"group.valid\">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\">\r\n <div class=\"row\" *ngIf=\"ShowArabicTextBox\">\r\n <label class=\"b-label col-form-label col-sm-12\"\r\n [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\" [hidden]=\"options.IsHideArabicLabel\">\r\n {{(options.ArabicLabelValue!=null&&options.ArabicLabelValue!=\"\")?options.ArabicLabelValue:options.LabelValue}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger Required-text\" aria-required=\"true\">*</span>\r\n </label>\r\n <div class=\" col-sm-12\" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\">\r\n <div class=\"input-group align-items-center\">\r\n <div class=\"svg svg-icon-grey\" [ngClass]=\"(options.IconPositionEN==1)?'right-icon':'left-icon'\" *ngIf=\"options.Icon!=null\">\r\n <span [inlineSVG]=\"options.Icon\"></span>\r\n </div>\r\n <input class=\"form-control bnsights-control\" dir=\"rtl\"\r\n (focus)=\"onArabicFocus(true)\" (focusout)=\"onArabicFocus(false)\"\r\n [hidden]=\"options.IsHideArabicFields\" aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"Arabic\" maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\"\r\n [class.is-invalid]=\"ArabicFormControl.invalid && ArabicFormControl.touched\"\r\n placeholder=\"{{options.ArabicPlaceholder}}\" (keyup)=\"onTextChange()\"\r\n (keydown)=\"ArabicWordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n autocomplete=\"{{options.AutoComplete}}\"\r\n id=\"{{options.Name}}.Arabic\"\r\n (change)=\"trimControlValue('Ar')\" #userinputArabic>\r\n\r\n <div class=\"input-group-append\" [hidden]=\"options.IsHideArabicFields\" *ngIf=\"options.EnableCopyToClipboard\">\r\n <span class=\"input-group-text\" (click)=\"copyInputMessage(userinputArabic)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"text-muted font-weight-500 float-end word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowArabicWordCount\">{{ArabicWordCount}}/{{options.MaxWordCount}}</div>\r\n <div class=\"text-danger Required-text\" *ngIf=\"(ArabicFormControl.invalid && ArabicFormControl.touched)\">\r\n {{getErrorValidation(ArabicFormControl.errors|keyvalue)}}\r\n </div>\r\n <div *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=\"ArabicFormControl.valid\">{{resetError()}}</div> -->\r\n <div *ngIf=\"group.valid\">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n",
|
|
1393
|
+
template: "<div class=\"b-control b-multilangual-textbox\">\r\n <div class=\"form-group validate is-invalid\" [formGroup]=\"group\">\r\n\r\n <div class=\"form-group row\" [formGroup]=\"MultiLanguagegroup\">\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\">\r\n <div class=\"row\" *ngIf=\"ShowEnglishTextBox\">\r\n <label class=\"b-label col-form-label col-sm-12\"\r\n [ngClass]=\"(options.ViewType==1)?'col-md-9':'col-md-3'\" [hidden]=\"options.IsHideEnglishLabel\">\r\n {{(options.EnglishLabelValue!=null&&options.EnglishLabelValue!=\"\")?options.EnglishLabelValue:options.LabelValue}}\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)&&IsShowAsteriskInEnglish)\"\r\n class=\"text-danger Required-text\" aria-required=\"true\">*</span>\r\n </label>\r\n\r\n <div class=\"col-sm-12\" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\">\r\n <div class=\"input-group align-items-center\">\r\n <div class=\"svg svg-icon-grey\" [ngClass]=\"(options.IconPositionEN==1)?'left-icon':'right-icon'\" *ngIf=\"options.Icon!=null\">\r\n <span [inlineSVG]=\"options.Icon\"></span>\r\n </div>\r\n <input class=\"form-control bnsights-control\"\r\n (focus)=\"onEnglishFocus(true)\" (focusout)=\"onEnglishFocus(false)\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\" formControlName=\"English\"\r\n [hidden]=\"options.IsHideEnglishFields\" maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\"\r\n [class.is-invalid]=\"EnglishFormControl.invalid && EnglishFormControl.touched\"\r\n placeholder=\"{{options.EnglishPlaceholder}}\" (change)=\"trimControlValue('En')\"\r\n (keyup)=\"onTextChange()\"\r\n (keydown)=\"EnglishWordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n autocomplete=\"{{options.AutoComplete}}\"\r\n id=\"{{options.Name}}.English\"\r\n #userinputEnglish>\r\n <div class=\"input-group-append\" [hidden]=\"options.IsHideEnglishFields\" *ngIf=\"options.EnableCopyToClipboard\">\r\n <span class=\"input-group-text\" (click)=\"copyInputMessage(userinputEnglish)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"text-muted font-weight-500 word-count float-end\" *ngIf=\"options.MaxWordCount>0&&IsShowEnglishWordCount\">{{EnglishWordCount}}/{{options.MaxWordCount}}</div>\r\n <div class=\"text-danger Required-text\" *ngIf=\"(EnglishFormControl.invalid && EnglishFormControl.touched)\">\r\n {{getErrorValidation(EnglishFormControl.errors|keyvalue)}}\r\n </div>\r\n <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 <!-- <div *ngIf=\"EnglishFormControl.valid\">{{resetError()}}</div> -->\r\n <div *ngIf=\"group.valid\">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\">\r\n <div class=\"row\" *ngIf=\"ShowArabicTextBox\">\r\n <label class=\"b-label col-form-label col-sm-12\"\r\n [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\" [hidden]=\"options.IsHideArabicLabel\">\r\n {{(options.ArabicLabelValue!=null&&options.ArabicLabelValue!=\"\")?options.ArabicLabelValue:options.LabelValue}}\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&IsShowAsteriskInArabic\" class=\"text-danger Required-text\" aria-required=\"true\">*</span>\r\n </label>\r\n <div class=\" col-sm-12\" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\">\r\n <div class=\"input-group align-items-center\">\r\n <div class=\"svg svg-icon-grey\" [ngClass]=\"(options.IconPositionEN==1)?'right-icon':'left-icon'\" *ngIf=\"options.Icon!=null\">\r\n <span [inlineSVG]=\"options.Icon\"></span>\r\n </div>\r\n <input class=\"form-control bnsights-control\" dir=\"rtl\"\r\n (focus)=\"onArabicFocus(true)\" (focusout)=\"onArabicFocus(false)\"\r\n [hidden]=\"options.IsHideArabicFields\" aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"Arabic\" maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\"\r\n [class.is-invalid]=\"ArabicFormControl.invalid && ArabicFormControl.touched\"\r\n placeholder=\"{{options.ArabicPlaceholder}}\" (keyup)=\"onTextChange()\"\r\n (keydown)=\"ArabicWordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n autocomplete=\"{{options.AutoComplete}}\"\r\n id=\"{{options.Name}}.Arabic\"\r\n (change)=\"trimControlValue('Ar')\" #userinputArabic>\r\n\r\n <div class=\"input-group-append\" [hidden]=\"options.IsHideArabicFields\" *ngIf=\"options.EnableCopyToClipboard\">\r\n <span class=\"input-group-text\" (click)=\"copyInputMessage(userinputArabic)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"text-muted font-weight-500 float-end word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowArabicWordCount\">{{ArabicWordCount}}/{{options.MaxWordCount}}</div>\r\n <div class=\"text-danger Required-text\" *ngIf=\"(ArabicFormControl.invalid && ArabicFormControl.touched)\">\r\n {{getErrorValidation(ArabicFormControl.errors|keyvalue)}}\r\n </div>\r\n <div *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=\"ArabicFormControl.valid\">{{resetError()}}</div> -->\r\n <div *ngIf=\"group.valid\">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n",
|
|
1382
1394
|
styles: [".example-form{min-width:150px;max-width:500px;width:100%}.example-full-width{width:100%}\n"]
|
|
1383
1395
|
},] }
|
|
1384
1396
|
];
|
|
@@ -1532,7 +1544,7 @@ class TextAreaComponent {
|
|
|
1532
1544
|
//MaxLength should be gretaer than or equals chars limit so that minCharsLimit would be >= 0
|
|
1533
1545
|
if (this.options.MaxLength && this.minCharsLimit >= 0) {
|
|
1534
1546
|
this.currentCharsCount = this.TextAreaFormControl.value.length;
|
|
1535
|
-
if (this.currentCharsCount
|
|
1547
|
+
if (this.currentCharsCount > this.minCharsLimit) {
|
|
1536
1548
|
this.showCharsLimitMsg = true;
|
|
1537
1549
|
this.hasCharsLimitValidationError = true;
|
|
1538
1550
|
if (this.currentCharsCount == this.options.MaxLength)
|
|
@@ -1763,7 +1775,7 @@ class MultiLingualTextAreaComponent {
|
|
|
1763
1775
|
//MaxLength should be gretaer than or equals chars limit so that minCharsLimit would be >= 0
|
|
1764
1776
|
if (this.options.MaxLength && this.minCharsLimit >= 0) {
|
|
1765
1777
|
this.englishCurrentCharsCount = this.EnglishTextAreaFormControl.value.length;
|
|
1766
|
-
if (this.englishCurrentCharsCount
|
|
1778
|
+
if (this.englishCurrentCharsCount > this.minCharsLimit) {
|
|
1767
1779
|
this.showEnglishCharsLimitMsg = true;
|
|
1768
1780
|
this.hasEnglishCharsLimitValidationError = true;
|
|
1769
1781
|
if (this.englishCurrentCharsCount == this.options.MaxLength)
|
|
@@ -1805,7 +1817,7 @@ class MultiLingualTextAreaComponent {
|
|
|
1805
1817
|
//MaxLength should be gretaer than or equals chars limit so that minCharsLimit would be >= 0
|
|
1806
1818
|
if (this.options.MaxLength && this.minCharsLimit >= 0) {
|
|
1807
1819
|
this.arabicCurrentCharsCount = this.ArabicTextAreaFormControl.value.length;
|
|
1808
|
-
if (this.arabicCurrentCharsCount
|
|
1820
|
+
if (this.arabicCurrentCharsCount > this.minCharsLimit) {
|
|
1809
1821
|
this.showArabicCharsLimitMsg = true;
|
|
1810
1822
|
this.hasArabicCharsLimitValidationError = true;
|
|
1811
1823
|
if (this.arabicCurrentCharsCount == this.options.MaxLength)
|
|
@@ -1880,6 +1892,8 @@ class MultiLingualTextAreaComponent {
|
|
|
1880
1892
|
if (this.options.IsRequired == true) {
|
|
1881
1893
|
this.EnglishValidationRules.push(Validators.required);
|
|
1882
1894
|
this.ArabicValidationRules.push(Validators.required);
|
|
1895
|
+
this.IsShowAsteriskInArabic = true;
|
|
1896
|
+
this.IsShowAsteriskInEnglish = true;
|
|
1883
1897
|
}
|
|
1884
1898
|
break;
|
|
1885
1899
|
case LanguageMode.Arabic_Language_only_is_visible:
|
|
@@ -1894,11 +1908,13 @@ class MultiLingualTextAreaComponent {
|
|
|
1894
1908
|
if (this.CurrentLanguage == 'ar') {
|
|
1895
1909
|
if (this.options.IsRequired == true) {
|
|
1896
1910
|
this.ArabicValidationRules.push(Validators.required);
|
|
1911
|
+
this.IsShowAsteriskInArabic = true;
|
|
1897
1912
|
}
|
|
1898
1913
|
}
|
|
1899
1914
|
if (this.CurrentLanguage == 'en') {
|
|
1900
1915
|
if (this.options.IsRequired == true) {
|
|
1901
1916
|
this.EnglishValidationRules.push(Validators.required);
|
|
1917
|
+
this.IsShowAsteriskInEnglish = true;
|
|
1902
1918
|
}
|
|
1903
1919
|
}
|
|
1904
1920
|
break;
|
|
@@ -1907,6 +1923,7 @@ class MultiLingualTextAreaComponent {
|
|
|
1907
1923
|
this.ShowEngishTextArea = true;
|
|
1908
1924
|
if (this.options.IsRequired == true) {
|
|
1909
1925
|
this.ArabicValidationRules.push(Validators.required);
|
|
1926
|
+
this.IsShowAsteriskInArabic = true;
|
|
1910
1927
|
}
|
|
1911
1928
|
break;
|
|
1912
1929
|
case LanguageMode.Both_Languages_but_only_English_is_required:
|
|
@@ -1914,6 +1931,7 @@ class MultiLingualTextAreaComponent {
|
|
|
1914
1931
|
this.ShowEngishTextArea = true;
|
|
1915
1932
|
if (this.options.IsRequired == true) {
|
|
1916
1933
|
this.EnglishValidationRules.push(Validators.required);
|
|
1934
|
+
this.IsShowAsteriskInEnglish = true;
|
|
1917
1935
|
}
|
|
1918
1936
|
break;
|
|
1919
1937
|
case LanguageMode.Current_Language_only_is_visible_and_required:
|
|
@@ -1922,6 +1940,7 @@ class MultiLingualTextAreaComponent {
|
|
|
1922
1940
|
this.ShowEngishTextArea = false;
|
|
1923
1941
|
if (this.options.IsRequired == true) {
|
|
1924
1942
|
this.ArabicValidationRules.push(Validators.required);
|
|
1943
|
+
this.IsShowAsteriskInArabic = true;
|
|
1925
1944
|
}
|
|
1926
1945
|
}
|
|
1927
1946
|
if (this.CurrentLanguage == 'en') {
|
|
@@ -1929,6 +1948,7 @@ class MultiLingualTextAreaComponent {
|
|
|
1929
1948
|
this.ShowEngishTextArea = true;
|
|
1930
1949
|
if (this.options.IsRequired == true) {
|
|
1931
1950
|
this.EnglishValidationRules.push(Validators.required);
|
|
1951
|
+
this.IsShowAsteriskInEnglish = true;
|
|
1932
1952
|
}
|
|
1933
1953
|
}
|
|
1934
1954
|
break;
|
|
@@ -1965,7 +1985,7 @@ MultiLingualTextAreaComponent.controlContainerstatic = null;
|
|
|
1965
1985
|
MultiLingualTextAreaComponent.decorators = [
|
|
1966
1986
|
{ type: Component, args: [{
|
|
1967
1987
|
selector: 'BBSF-MultiLingualTextArea',
|
|
1968
|
-
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",
|
|
1988
|
+
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))&&IsShowAsteriskInEnglish\"\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))&&IsShowAsteriskInArabic\"\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",
|
|
1969
1989
|
styles: [".example-form{min-width:150px;max-width:500px;width:100%}.example-full-width{width:100%}\n"]
|
|
1970
1990
|
},] }
|
|
1971
1991
|
];
|
|
@@ -2247,7 +2267,7 @@ DropdownListComponent.decorators = [
|
|
|
2247
2267
|
{ type: Component, args: [{
|
|
2248
2268
|
// tslint:disable-next-line: component-selector
|
|
2249
2269
|
selector: 'BBSF-DropdownList',
|
|
2250
|
-
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]=\"
|
|
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",
|
|
2251
2271
|
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"]
|
|
2252
2272
|
},] }
|
|
2253
2273
|
];
|
|
@@ -2503,8 +2523,8 @@ class HtmlEditorComponent {
|
|
|
2503
2523
|
this.editorConfig = {
|
|
2504
2524
|
editable: !this.options.IsDisabled,
|
|
2505
2525
|
spellcheck: true,
|
|
2506
|
-
height: this.options.Height
|
|
2507
|
-
minHeight: this.options.Height
|
|
2526
|
+
height: `${this.options.Height}rem`,
|
|
2527
|
+
minHeight: `${this.options.Height}rem`,
|
|
2508
2528
|
maxHeight: 'auto',
|
|
2509
2529
|
width: 'auto',
|
|
2510
2530
|
minWidth: 'auto',
|
|
@@ -2990,6 +3010,8 @@ class MultiLingualHtmlEditorComponent {
|
|
|
2990
3010
|
if (this.options.IsRequired == true) {
|
|
2991
3011
|
this.EnglishValidationRules.push(Validators.required);
|
|
2992
3012
|
this.ArabicValidationRules.push(Validators.required);
|
|
3013
|
+
this.IsShowAsteriskInArabic = true;
|
|
3014
|
+
this.IsShowAsteriskInEnglish = true;
|
|
2993
3015
|
}
|
|
2994
3016
|
break;
|
|
2995
3017
|
case LanguageMode.Arabic_Language_only_is_visible:
|
|
@@ -3004,11 +3026,13 @@ class MultiLingualHtmlEditorComponent {
|
|
|
3004
3026
|
if (this.CurrentLanguage == 'ar') {
|
|
3005
3027
|
if (this.options.IsRequired == true) {
|
|
3006
3028
|
this.ArabicValidationRules.push(Validators.required);
|
|
3029
|
+
this.IsShowAsteriskInArabic = true;
|
|
3007
3030
|
}
|
|
3008
3031
|
}
|
|
3009
3032
|
if (this.CurrentLanguage == 'en') {
|
|
3010
3033
|
if (this.options.IsRequired == true) {
|
|
3011
3034
|
this.EnglishValidationRules.push(Validators.required);
|
|
3035
|
+
this.IsShowAsteriskInEnglish = true;
|
|
3012
3036
|
}
|
|
3013
3037
|
}
|
|
3014
3038
|
break;
|
|
@@ -3017,6 +3041,7 @@ class MultiLingualHtmlEditorComponent {
|
|
|
3017
3041
|
this.ShowEnglishHtmlEditor = true;
|
|
3018
3042
|
if (this.options.IsRequired == true) {
|
|
3019
3043
|
this.ArabicValidationRules.push(Validators.required);
|
|
3044
|
+
this.IsShowAsteriskInArabic = true;
|
|
3020
3045
|
}
|
|
3021
3046
|
break;
|
|
3022
3047
|
case LanguageMode.Both_Languages_but_only_English_is_required:
|
|
@@ -3024,6 +3049,7 @@ class MultiLingualHtmlEditorComponent {
|
|
|
3024
3049
|
this.ShowEnglishHtmlEditor = true;
|
|
3025
3050
|
if (this.options.IsRequired == true) {
|
|
3026
3051
|
this.EnglishValidationRules.push(Validators.required);
|
|
3052
|
+
this.IsShowAsteriskInEnglish = true;
|
|
3027
3053
|
}
|
|
3028
3054
|
break;
|
|
3029
3055
|
case LanguageMode.Current_Language_only_is_visible_and_required:
|
|
@@ -3032,6 +3058,7 @@ class MultiLingualHtmlEditorComponent {
|
|
|
3032
3058
|
this.ShowEnglishHtmlEditor = false;
|
|
3033
3059
|
if (this.options.IsRequired == true) {
|
|
3034
3060
|
this.ArabicValidationRules.push(Validators.required);
|
|
3061
|
+
this.IsShowAsteriskInArabic = true;
|
|
3035
3062
|
}
|
|
3036
3063
|
}
|
|
3037
3064
|
if (this.CurrentLanguage == 'en') {
|
|
@@ -3039,6 +3066,7 @@ class MultiLingualHtmlEditorComponent {
|
|
|
3039
3066
|
this.ShowEnglishHtmlEditor = true;
|
|
3040
3067
|
if (this.options.IsRequired == true) {
|
|
3041
3068
|
this.EnglishValidationRules.push(Validators.required);
|
|
3069
|
+
this.IsShowAsteriskInEnglish = true;
|
|
3042
3070
|
}
|
|
3043
3071
|
}
|
|
3044
3072
|
break;
|
|
@@ -3055,7 +3083,7 @@ MultiLingualHtmlEditorComponent.controlContainerstatic = null;
|
|
|
3055
3083
|
MultiLingualHtmlEditorComponent.decorators = [
|
|
3056
3084
|
{ type: Component, args: [{
|
|
3057
3085
|
selector: 'BBSF-MultiLingualHtmlEditor',
|
|
3058
|
-
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",
|
|
3086
|
+
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))&&IsShowAsteriskInEnglish\"\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))&&IsShowAsteriskInArabic\"\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",
|
|
3059
3087
|
styles: [".example-form{min-width:150px;max-width:500px;width:100%}.example-full-width{width:100%}\n"]
|
|
3060
3088
|
},] }
|
|
3061
3089
|
];
|
|
@@ -4038,6 +4066,9 @@ class TagsInputComponent {
|
|
|
4038
4066
|
// this.group.addControl(this.options.Name, new FormControl(''));
|
|
4039
4067
|
// this.TagInputControl = this.group.controls[this.options.Name]; // new FormControl('',validationRules);
|
|
4040
4068
|
this.TagsFormControl.setValue(this.options.Value);
|
|
4069
|
+
if (this.options.IsRequired) {
|
|
4070
|
+
this.validationRules.push(Validators.required);
|
|
4071
|
+
}
|
|
4041
4072
|
if (this.options.CustomValidation.length > 0) {
|
|
4042
4073
|
let Validations = this.options.CustomValidation;
|
|
4043
4074
|
for (let index = 0; index < Validations.length; index++) {
|
|
@@ -4045,9 +4076,6 @@ class TagsInputComponent {
|
|
|
4045
4076
|
this.validationRules.push(Validation.functionBody);
|
|
4046
4077
|
}
|
|
4047
4078
|
}
|
|
4048
|
-
if (this.options.IsRequired) {
|
|
4049
|
-
this.validationRules.push(Validators.required);
|
|
4050
|
-
}
|
|
4051
4079
|
this.TagsFormControl.setValidators(this.validationRules);
|
|
4052
4080
|
this.TagsFormControl.setAsyncValidators(this.validationRulesasync);
|
|
4053
4081
|
if (this.options.IsDisabled) {
|
|
@@ -4056,7 +4084,7 @@ class TagsInputComponent {
|
|
|
4056
4084
|
if (this.options.Value != undefined && this.options.Value != []) {
|
|
4057
4085
|
for (let index = 0; index < this.options.Value.length; index++) {
|
|
4058
4086
|
const element = this.options.Value[index];
|
|
4059
|
-
this.SelectedId.push(element.
|
|
4087
|
+
this.SelectedId.push(element.id);
|
|
4060
4088
|
}
|
|
4061
4089
|
this.tags = this.options.Value;
|
|
4062
4090
|
this.TagsFormControl.setValue(this.options.Value);
|
|
@@ -4090,7 +4118,7 @@ class TagsInputComponent {
|
|
|
4090
4118
|
this.controlUtility.CopyInputMessage(inputElement);
|
|
4091
4119
|
}
|
|
4092
4120
|
searchFunctionFactory(Text) {
|
|
4093
|
-
let Url = `${this.options.ActionURL}?${this.options.QueryParamName}=${Text}&${this.options.SelectedItemsParamName}=${this.SelectedId}`;
|
|
4121
|
+
let Url = `${this.options.ActionURL}?${this.options.QueryParamName}=${encodeURIComponent(Text)}&${this.options.SelectedItemsParamName}=${this.SelectedId}`;
|
|
4094
4122
|
if (this.options.ExtraFilters)
|
|
4095
4123
|
Url = Url + `&${this.options.ExtraFilters}`;
|
|
4096
4124
|
let requestOptionsModel = new RequestOptionsModel();
|
|
@@ -4100,7 +4128,7 @@ class TagsInputComponent {
|
|
|
4100
4128
|
return Model;
|
|
4101
4129
|
}
|
|
4102
4130
|
AddTag(event, key) {
|
|
4103
|
-
if (this.IsNoMatch == true && this.options.AllowNewSelection == false &&
|
|
4131
|
+
if (this.IsNoMatch == true && this.options.AllowNewSelection == false && key.selected) {
|
|
4104
4132
|
this.TagsFormControl.setErrors({ "errorMassage": this.options.NoResultText });
|
|
4105
4133
|
this.TagsFormControl.markAsTouched();
|
|
4106
4134
|
this.TagsFormControl.invalid;
|
|
@@ -4112,28 +4140,39 @@ class TagsInputComponent {
|
|
|
4112
4140
|
}
|
|
4113
4141
|
else if (this.IsNoMatch == true && event == "Enter" && this.options.AllowNewSelection && key.selected) {
|
|
4114
4142
|
if (!(this.tags.length >= this.options.MaxNumberTags)) {
|
|
4115
|
-
this.tags.push({
|
|
4116
|
-
|
|
4143
|
+
this.tags.push({ name: key.selected });
|
|
4144
|
+
this.group.get(this.options.Name).setValue(this.tags);
|
|
4145
|
+
this.group.get(this.options.Name).markAllAsTouched();
|
|
4146
|
+
this.group.updateValueAndValidity();
|
|
4147
|
+
if (this.group.get(this.options.Name).valid) {
|
|
4148
|
+
key.selected = null;
|
|
4149
|
+
return;
|
|
4150
|
+
}
|
|
4151
|
+
else
|
|
4152
|
+
this.tags.pop();
|
|
4117
4153
|
}
|
|
4118
4154
|
}
|
|
4119
4155
|
}
|
|
4120
4156
|
onTagsChanged(result) {
|
|
4121
4157
|
//console.log(this.tags)
|
|
4122
4158
|
if (result["change"] == "add") {
|
|
4123
|
-
this.SelectedId.push(result.tag.
|
|
4159
|
+
this.SelectedId.push(result.tag.id);
|
|
4124
4160
|
}
|
|
4125
4161
|
if (result["change"] == "remove") {
|
|
4126
|
-
this.SelectedId = this.SelectedId.filter((item) => item != result.tag.
|
|
4162
|
+
this.SelectedId = this.SelectedId.filter((item) => item != result.tag.id);
|
|
4127
4163
|
if (this.SelectedId.length == 0 && this.options.IsRequired == true) {
|
|
4128
4164
|
this.TagsFormControl.setErrors({ required: "" });
|
|
4129
4165
|
this.TagsFormControl.markAsTouched();
|
|
4130
4166
|
this.TagsFormControl.invalid;
|
|
4131
4167
|
}
|
|
4132
4168
|
}
|
|
4133
|
-
let originalValue = this.TagsFormControl.value.map(function (a) { return a.
|
|
4169
|
+
let originalValue = this.TagsFormControl.value.map(function (a) { return a.id; });
|
|
4134
4170
|
if (this.options.PatchFunction && this.options.PatchPath && this.TagsFormControl.valid) {
|
|
4135
4171
|
this.controlUtility.patchControlValue(originalValue, this.options.PatchFunction, this.options.PatchPath);
|
|
4136
4172
|
}
|
|
4173
|
+
this.group.get(this.options.Name).setValue(this.tags);
|
|
4174
|
+
this.TagsFormControl.updateValueAndValidity();
|
|
4175
|
+
this.group.updateValueAndValidity();
|
|
4137
4176
|
this.OnChange.emit(originalValue);
|
|
4138
4177
|
}
|
|
4139
4178
|
onNoOptionsMatch(event) {
|
|
@@ -4932,7 +4971,7 @@ class TextboxComponent {
|
|
|
4932
4971
|
//MaxLength should be gretaer than or equals chars limit so that minCharsLimit would be >= 0
|
|
4933
4972
|
if (this.options.MaxLength && this.minCharsLimit >= 0) {
|
|
4934
4973
|
this.currentCharsCount = this.TextBoxFormControl.value.length;
|
|
4935
|
-
if (this.currentCharsCount
|
|
4974
|
+
if (this.currentCharsCount > this.minCharsLimit) {
|
|
4936
4975
|
this.showCharsLimitMsg = true;
|
|
4937
4976
|
this.hasCharsLimitValidationError = true;
|
|
4938
4977
|
if (this.currentCharsCount == this.options.MaxLength)
|
|
@@ -4986,6 +5025,9 @@ TextboxComponent.propDecorators = {
|
|
|
4986
5025
|
};
|
|
4987
5026
|
|
|
4988
5027
|
class MapAutocompleteDTO {
|
|
5028
|
+
constructor() {
|
|
5029
|
+
this.Text = null;
|
|
5030
|
+
}
|
|
4989
5031
|
}
|
|
4990
5032
|
|
|
4991
5033
|
class MapAutoCompleteComponent {
|
|
@@ -5258,6 +5300,13 @@ class MapAutoCompleteComponent {
|
|
|
5258
5300
|
}
|
|
5259
5301
|
}
|
|
5260
5302
|
GermanAddressMapped(result) {
|
|
5303
|
+
if (result.type) {
|
|
5304
|
+
if (result.target.value == "") {
|
|
5305
|
+
this.MapAutoCompleteFormControl.setValue(result);
|
|
5306
|
+
this.group.controls[this.options.Name].setValue(result);
|
|
5307
|
+
}
|
|
5308
|
+
return;
|
|
5309
|
+
}
|
|
5261
5310
|
this.MapAutoCompleteModel == new MapAutocompleteDTO();
|
|
5262
5311
|
this.MapAutoCompleteModel.Text = result.displayAddress;
|
|
5263
5312
|
this.MapAutoCompleteModel.PlaceID = result.placeID;
|
|
@@ -5273,7 +5322,7 @@ MapAutoCompleteComponent.controlContainerstatic = null;
|
|
|
5273
5322
|
MapAutoCompleteComponent.decorators = [
|
|
5274
5323
|
{ type: Component, args: [{
|
|
5275
5324
|
selector: 'BBSF-MapAutoComplete',
|
|
5276
|
-
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'\"
|
|
5325
|
+
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>",
|
|
5277
5326
|
styles: [".example-form{min-width:150px;max-width:500px;width:100%}.example-full-width{width:100%}.flip_V{transform:scaleY(-1)}\n"]
|
|
5278
5327
|
},] }
|
|
5279
5328
|
];
|
|
@@ -5635,12 +5684,11 @@ class ConfirmationModalComponent {
|
|
|
5635
5684
|
}
|
|
5636
5685
|
//Modal confirmation submit function
|
|
5637
5686
|
submit() {
|
|
5638
|
-
console.log("options in submit function");
|
|
5639
|
-
console.log(this.options);
|
|
5640
5687
|
let submitModel = this.options.ServiceSubmitModel;
|
|
5641
5688
|
let submittedService = this.options.ServiceSubmitFunction.apply(null, submitModel);
|
|
5642
5689
|
submittedService.subscribe((result) => {
|
|
5643
|
-
this.
|
|
5690
|
+
if (!this.options.DisableModalDismiss)
|
|
5691
|
+
this.modalService.dismissAll();
|
|
5644
5692
|
if (!this.options.DisableSuccessNotification) {
|
|
5645
5693
|
if (!this.options.SuccessNotificationMessage)
|
|
5646
5694
|
this.options.SuccessNotificationMessage = this.utilityService.getResourceValue("DeletedSuccessfully");
|
|
@@ -5911,6 +5959,7 @@ class DropdownOptions extends ControlOptionsBase {
|
|
|
5911
5959
|
/** Set value for item in DropdownList */
|
|
5912
5960
|
this.ItemTempletvalue = "value";
|
|
5913
5961
|
this.ForceDirection = ForceDirection.English;
|
|
5962
|
+
this.NotFoundText = "";
|
|
5914
5963
|
}
|
|
5915
5964
|
}
|
|
5916
5965
|
|
|
@@ -5930,7 +5979,7 @@ class HtmlEditorOptions extends ControlOptionsBase {
|
|
|
5930
5979
|
/** to set Direction of HtmlEditor if HtmlEditor is Arabic or English */
|
|
5931
5980
|
this.ForceDirection = ForceDirection.English;
|
|
5932
5981
|
/** Set Height For */
|
|
5933
|
-
this.Height =
|
|
5982
|
+
this.Height = 5;
|
|
5934
5983
|
}
|
|
5935
5984
|
}
|
|
5936
5985
|
|
|
@@ -7701,6 +7750,8 @@ class ConfirmationModalOptions {
|
|
|
7701
7750
|
this.DisableSuccessNotification = false;
|
|
7702
7751
|
//If ="true" disable notification after submission error
|
|
7703
7752
|
this.DisableErrorNotification = false;
|
|
7753
|
+
//If ="true" disable prevent modal from dismiss automatically
|
|
7754
|
+
this.DisableModalDismiss = false;
|
|
7704
7755
|
}
|
|
7705
7756
|
}
|
|
7706
7757
|
|