@bnsights/bbsf-controls 1.0.153 → 1.0.154
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 +3 -0
- package/bnsights-bbsf-controls-1.0.154.tgz +0 -0
- package/esm2022/lib/controls/Repeater/repeater-field-builder/repeater-field-builder.component.mjs +41 -41
- package/esm2022/lib/controls/TextArea/TextArea.component.mjs +9 -9
- package/fesm2022/bnsights-bbsf-controls.mjs +48 -48
- package/fesm2022/bnsights-bbsf-controls.mjs.map +1 -1
- package/package.json +1 -1
- package/bnsights-bbsf-controls-1.0.153.tgz +0 -0
|
@@ -7065,9 +7065,6 @@ class TextAreaComponent {
|
|
|
7065
7065
|
this.controlValidationService.isCreatedBefor = false;
|
|
7066
7066
|
this.group.addControl(this.options.name, new FormControl(''));
|
|
7067
7067
|
this.textAreaFormControl = this.group.controls[this.options.name]; // new FormControl('',validationRules);
|
|
7068
|
-
// Initialize language form control
|
|
7069
|
-
const languageControlName = this.options.name + 'Language';
|
|
7070
|
-
this.group.addControl(languageControlName, new FormControl(this.options.selectedSpeechLanguage || ''));
|
|
7071
7068
|
if (!this.options.maxLength)
|
|
7072
7069
|
this.options.maxLength = this.globalSettings.maxLengthTextArea;
|
|
7073
7070
|
if (!this.options.viewType)
|
|
@@ -7075,6 +7072,9 @@ class TextAreaComponent {
|
|
|
7075
7072
|
if (this.options.labelKey != null && this.options.labelKey != "")
|
|
7076
7073
|
this.options.labelValue = this.utilityService.getResourceValue(this.options.labelKey);
|
|
7077
7074
|
if (this.options.enableSpeechRecognition) {
|
|
7075
|
+
// Initialize language form control
|
|
7076
|
+
const languageControlName = 'Language_' + this.options.name;
|
|
7077
|
+
this.group.addControl(languageControlName, new FormControl(this.options.selectedSpeechLanguage || ''));
|
|
7078
7078
|
//Get all languages if not set
|
|
7079
7079
|
if (!this.options.speechLanguages) {
|
|
7080
7080
|
this.languageService.getLanguages().subscribe(result => {
|
|
@@ -7197,7 +7197,7 @@ class TextAreaComponent {
|
|
|
7197
7197
|
}
|
|
7198
7198
|
//region Speech Recognition
|
|
7199
7199
|
setSpeechLanguage() {
|
|
7200
|
-
const languageControlName = this.options.name
|
|
7200
|
+
const languageControlName = 'Language_' + this.options.name;
|
|
7201
7201
|
if (this.options.autoSaveSpeechLanguagetoLocalStorage) {
|
|
7202
7202
|
let savedLanguage = localStorage.getItem("speechLanguage");
|
|
7203
7203
|
if (savedLanguage) {
|
|
@@ -7280,7 +7280,7 @@ class TextAreaComponent {
|
|
|
7280
7280
|
let selectedLang_Dialect = event.target.value;
|
|
7281
7281
|
this.selectedSpeechLanguageDisplayText = this.options.speechLanguages.find(l => l.dialect == selectedLang_Dialect).prefix;
|
|
7282
7282
|
this.options.selectedSpeechLanguage = selectedLang_Dialect;
|
|
7283
|
-
const languageControlName = this.options.name
|
|
7283
|
+
const languageControlName = 'Language_' + this.options.name;
|
|
7284
7284
|
let select = this.group.get(languageControlName);
|
|
7285
7285
|
select.setValue(selectedLang_Dialect);
|
|
7286
7286
|
if (this.options.autoSaveSpeechLanguagetoLocalStorage) {
|
|
@@ -7288,7 +7288,7 @@ class TextAreaComponent {
|
|
|
7288
7288
|
}
|
|
7289
7289
|
}
|
|
7290
7290
|
enableOrDisableLanguageSelect(isEnabled = true) {
|
|
7291
|
-
const languageControlName = this.options.name
|
|
7291
|
+
const languageControlName = 'Language_' + this.options.name;
|
|
7292
7292
|
let select = this.group.get(languageControlName);
|
|
7293
7293
|
if (isEnabled) {
|
|
7294
7294
|
select.enable();
|
|
@@ -7298,11 +7298,11 @@ class TextAreaComponent {
|
|
|
7298
7298
|
}
|
|
7299
7299
|
}
|
|
7300
7300
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TextAreaComponent, deps: [{ token: ControlUtility }, { token: i2.ControlContainer, optional: true }, { token: i2.FormGroupDirective }, { token: i3.UtilityService }, { token: i3.ControlValidationService }, { token: GlobalSettings }, { token: i3.SpeechRecognitionService }, { token: i3.LanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7301
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: TextAreaComponent, selector: "BBSF-TextArea", inputs: { group: "group", options: "options" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<div class=\"form-group bbsf-control bbsf-textarea\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.viewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.hideLabel\" class=\"bbsf-label {{options.labelExtraClasses}}\">\r\n {{options.labelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.showAsterisk&&options.isRequired)||(options.isRequired))&&!options.isReadonly\"\r\n class=\"text-danger\">*</span>\r\n </label>\r\n <div *ngIf=\"!options.isReadonly\" class=\"bbsf-input-container\" [ngClass]=\"{\r\n 'p-120px': options.enableSpeechRecognition && options.enableCopyToClipboard,\r\n 'p-80px': options.enableSpeechRecognition && !options.enableCopyToClipboard,\r\n 'p-40px': !options.enableSpeechRecognition && options.enableCopyToClipboard\r\n }\">\r\n <!--input-->\r\n <textarea class=\"form-control {{options.extraClasses}}\" (focus)=\"onFocus(true)\" (focusout)=\"onFocus(false)\"\r\n [dir]=\"textDir\" aria-describedby=\"email-error\" aria-invalid=\"true\" formControlName=\"{{options.name}}\"\r\n [class.is-invalid]=\"textAreaFormControl.invalid && textAreaFormControl.touched\"\r\n placeholder=\"{{options.placeholder}}\" id=\"{{options.name}}\" autocomplete=\"{{options.autoComplete}}\"\r\n (change)=\"trimControlValue()\" rows=\"{{options.rows}}\" (keyup)=\"onTextChange()\" cols=\"{{options.cols}}\"\r\n maxlength=\"{{options.maxLength}}\" minlength=\"{{options.minLength}}\" [(ngModel)]=\"options.value\"\r\n (keydown)=\"wordCountArray>options.maxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #TextAreainput></textarea>\r\n <!--CopyToClipboard-->\r\n <div class=\"copy-clipboard\" *ngIf=\"options.enableCopyToClipboard\" (click)=\"copyInputMessage(TextAreainput)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </div>\r\n <div [ngClass]=\"{'expanded': isFocused}\" class=\"language-container {{options.extraClassMicLanguage}}\" *ngIf=\"options.enableSpeechRecognition\">\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"options.iconMic? options.iconMic : './src/assets/images/mic.svg'\" (click)=\"startSpeechRecognition()\"\r\n *ngIf=\"!isMicOn\">\r\n </span>\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"options.iconMicOff? options.iconMicOff : './src/assets/images/mic-off.svg'\" (click)=\"stopSpeechRecognition()\"\r\n *ngIf=\"isMicOn\">\r\n </span>\r\n <div>\r\n <span class=\"language-text\">{{ selectedSpeechLanguageDisplayText }}</span>\r\n <select class=\"language-select\" [formControlName]=\"options.name
|
|
7301
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: TextAreaComponent, selector: "BBSF-TextArea", inputs: { group: "group", options: "options" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<div class=\"form-group bbsf-control bbsf-textarea\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.viewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.hideLabel\" class=\"bbsf-label {{options.labelExtraClasses}}\">\r\n {{options.labelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.showAsterisk&&options.isRequired)||(options.isRequired))&&!options.isReadonly\"\r\n class=\"text-danger\">*</span>\r\n </label>\r\n <div *ngIf=\"!options.isReadonly\" class=\"bbsf-input-container\" [ngClass]=\"{\r\n 'p-120px': options.enableSpeechRecognition && options.enableCopyToClipboard,\r\n 'p-80px': options.enableSpeechRecognition && !options.enableCopyToClipboard,\r\n 'p-40px': !options.enableSpeechRecognition && options.enableCopyToClipboard\r\n }\">\r\n <!--input-->\r\n <textarea class=\"form-control {{options.extraClasses}}\" (focus)=\"onFocus(true)\" (focusout)=\"onFocus(false)\"\r\n [dir]=\"textDir\" aria-describedby=\"email-error\" aria-invalid=\"true\" formControlName=\"{{options.name}}\"\r\n [class.is-invalid]=\"textAreaFormControl.invalid && textAreaFormControl.touched\"\r\n placeholder=\"{{options.placeholder}}\" id=\"{{options.name}}\" autocomplete=\"{{options.autoComplete}}\"\r\n (change)=\"trimControlValue()\" rows=\"{{options.rows}}\" (keyup)=\"onTextChange()\" cols=\"{{options.cols}}\"\r\n maxlength=\"{{options.maxLength}}\" minlength=\"{{options.minLength}}\" [(ngModel)]=\"options.value\"\r\n (keydown)=\"wordCountArray>options.maxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #TextAreainput></textarea>\r\n <!--CopyToClipboard-->\r\n <div class=\"copy-clipboard\" *ngIf=\"options.enableCopyToClipboard\" (click)=\"copyInputMessage(TextAreainput)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </div>\r\n <div [ngClass]=\"{'expanded': isFocused}\" class=\"language-container {{options.extraClassMicLanguage}}\" *ngIf=\"options.enableSpeechRecognition\">\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"options.iconMic? options.iconMic : './src/assets/images/mic.svg'\" (click)=\"startSpeechRecognition()\"\r\n *ngIf=\"!isMicOn\">\r\n </span>\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"options.iconMicOff? options.iconMicOff : './src/assets/images/mic-off.svg'\" (click)=\"stopSpeechRecognition()\"\r\n *ngIf=\"isMicOn\">\r\n </span>\r\n <div>\r\n <span class=\"language-text\">{{ selectedSpeechLanguageDisplayText }}</span>\r\n <select class=\"language-select\" [formControlName]=\"'Language_'+options.name\" (change)=\"onSpeechLanguageChange($event)\">\r\n <option *ngFor=\"let language of options.speechLanguages\" [value]=\"language.dialect\">\r\n {{language.name}}\r\n </option>\r\n </select>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n <!-- readonly -->\r\n <div *ngIf=\"options.isReadonly\"><span class=\"readonly-view\">{{options.value}}</span>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!--wordCount-->\r\n <div class=\"bbsf-word-count\" *ngIf=\"options.maxWordCount>0&&isShowWordCount\">\r\n {{wordCount}}/{{options.maxWordCount}} Words</div>\r\n <!-- CharsLimitMsg-->\r\n <div class=\"bbsf-character-count\" *ngIf=\"showCharsLimitMsg\"\r\n [ngClass]=\"{'badge-light-warning': charsLimitMsgClass === 'warning', 'badge-light-danger' : charsLimitMsgClass === 'danger' }\">\r\n {{maxLimitWarningMsg}}\r\n </div>\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.labelDescription!=null\">{{options.labelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" [dir]=\"textDir\" *ngIf=\"(textAreaFormControl.invalid && textAreaFormControl.touched)\">\r\n {{getErrorValidation(textAreaFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">\r\n {{resetError()}}</div>\r\n </div>\r\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i7.NativeElementInjectorDirective, selector: "[ngModel], [formControl], [formControlName]" }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i8$3.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["inlineSVG", "resolveSVGUrl", "replaceContents", "prepend", "injectComponent", "cacheSVG", "setSVGAttributes", "removeSVGAttributes", "forceEvalStyles", "evalScripts", "fallbackImgUrl", "fallbackSVG", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }, { kind: "pipe", type: i5.KeyValuePipe, name: "keyvalue" }] }); }
|
|
7302
7302
|
}
|
|
7303
7303
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TextAreaComponent, decorators: [{
|
|
7304
7304
|
type: Component,
|
|
7305
|
-
args: [{ selector: 'BBSF-TextArea', template: "<div class=\"form-group bbsf-control bbsf-textarea\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.viewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.hideLabel\" class=\"bbsf-label {{options.labelExtraClasses}}\">\r\n {{options.labelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.showAsterisk&&options.isRequired)||(options.isRequired))&&!options.isReadonly\"\r\n class=\"text-danger\">*</span>\r\n </label>\r\n <div *ngIf=\"!options.isReadonly\" class=\"bbsf-input-container\" [ngClass]=\"{\r\n 'p-120px': options.enableSpeechRecognition && options.enableCopyToClipboard,\r\n 'p-80px': options.enableSpeechRecognition && !options.enableCopyToClipboard,\r\n 'p-40px': !options.enableSpeechRecognition && options.enableCopyToClipboard\r\n }\">\r\n <!--input-->\r\n <textarea class=\"form-control {{options.extraClasses}}\" (focus)=\"onFocus(true)\" (focusout)=\"onFocus(false)\"\r\n [dir]=\"textDir\" aria-describedby=\"email-error\" aria-invalid=\"true\" formControlName=\"{{options.name}}\"\r\n [class.is-invalid]=\"textAreaFormControl.invalid && textAreaFormControl.touched\"\r\n placeholder=\"{{options.placeholder}}\" id=\"{{options.name}}\" autocomplete=\"{{options.autoComplete}}\"\r\n (change)=\"trimControlValue()\" rows=\"{{options.rows}}\" (keyup)=\"onTextChange()\" cols=\"{{options.cols}}\"\r\n maxlength=\"{{options.maxLength}}\" minlength=\"{{options.minLength}}\" [(ngModel)]=\"options.value\"\r\n (keydown)=\"wordCountArray>options.maxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #TextAreainput></textarea>\r\n <!--CopyToClipboard-->\r\n <div class=\"copy-clipboard\" *ngIf=\"options.enableCopyToClipboard\" (click)=\"copyInputMessage(TextAreainput)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </div>\r\n <div [ngClass]=\"{'expanded': isFocused}\" class=\"language-container {{options.extraClassMicLanguage}}\" *ngIf=\"options.enableSpeechRecognition\">\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"options.iconMic? options.iconMic : './src/assets/images/mic.svg'\" (click)=\"startSpeechRecognition()\"\r\n *ngIf=\"!isMicOn\">\r\n </span>\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"options.iconMicOff? options.iconMicOff : './src/assets/images/mic-off.svg'\" (click)=\"stopSpeechRecognition()\"\r\n *ngIf=\"isMicOn\">\r\n </span>\r\n <div>\r\n <span class=\"language-text\">{{ selectedSpeechLanguageDisplayText }}</span>\r\n <select class=\"language-select\" [formControlName]=\"options.name
|
|
7305
|
+
args: [{ selector: 'BBSF-TextArea', template: "<div class=\"form-group bbsf-control bbsf-textarea\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.viewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label *ngIf=\"!options.hideLabel\" class=\"bbsf-label {{options.labelExtraClasses}}\">\r\n {{options.labelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.showAsterisk&&options.isRequired)||(options.isRequired))&&!options.isReadonly\"\r\n class=\"text-danger\">*</span>\r\n </label>\r\n <div *ngIf=\"!options.isReadonly\" class=\"bbsf-input-container\" [ngClass]=\"{\r\n 'p-120px': options.enableSpeechRecognition && options.enableCopyToClipboard,\r\n 'p-80px': options.enableSpeechRecognition && !options.enableCopyToClipboard,\r\n 'p-40px': !options.enableSpeechRecognition && options.enableCopyToClipboard\r\n }\">\r\n <!--input-->\r\n <textarea class=\"form-control {{options.extraClasses}}\" (focus)=\"onFocus(true)\" (focusout)=\"onFocus(false)\"\r\n [dir]=\"textDir\" aria-describedby=\"email-error\" aria-invalid=\"true\" formControlName=\"{{options.name}}\"\r\n [class.is-invalid]=\"textAreaFormControl.invalid && textAreaFormControl.touched\"\r\n placeholder=\"{{options.placeholder}}\" id=\"{{options.name}}\" autocomplete=\"{{options.autoComplete}}\"\r\n (change)=\"trimControlValue()\" rows=\"{{options.rows}}\" (keyup)=\"onTextChange()\" cols=\"{{options.cols}}\"\r\n maxlength=\"{{options.maxLength}}\" minlength=\"{{options.minLength}}\" [(ngModel)]=\"options.value\"\r\n (keydown)=\"wordCountArray>options.maxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #TextAreainput></textarea>\r\n <!--CopyToClipboard-->\r\n <div class=\"copy-clipboard\" *ngIf=\"options.enableCopyToClipboard\" (click)=\"copyInputMessage(TextAreainput)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </div>\r\n <div [ngClass]=\"{'expanded': isFocused}\" class=\"language-container {{options.extraClassMicLanguage}}\" *ngIf=\"options.enableSpeechRecognition\">\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"options.iconMic? options.iconMic : './src/assets/images/mic.svg'\" (click)=\"startSpeechRecognition()\"\r\n *ngIf=\"!isMicOn\">\r\n </span>\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"options.iconMicOff? options.iconMicOff : './src/assets/images/mic-off.svg'\" (click)=\"stopSpeechRecognition()\"\r\n *ngIf=\"isMicOn\">\r\n </span>\r\n <div>\r\n <span class=\"language-text\">{{ selectedSpeechLanguageDisplayText }}</span>\r\n <select class=\"language-select\" [formControlName]=\"'Language_'+options.name\" (change)=\"onSpeechLanguageChange($event)\">\r\n <option *ngFor=\"let language of options.speechLanguages\" [value]=\"language.dialect\">\r\n {{language.name}}\r\n </option>\r\n </select>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n <!-- readonly -->\r\n <div *ngIf=\"options.isReadonly\"><span class=\"readonly-view\">{{options.value}}</span>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!--wordCount-->\r\n <div class=\"bbsf-word-count\" *ngIf=\"options.maxWordCount>0&&isShowWordCount\">\r\n {{wordCount}}/{{options.maxWordCount}} Words</div>\r\n <!-- CharsLimitMsg-->\r\n <div class=\"bbsf-character-count\" *ngIf=\"showCharsLimitMsg\"\r\n [ngClass]=\"{'badge-light-warning': charsLimitMsgClass === 'warning', 'badge-light-danger' : charsLimitMsgClass === 'danger' }\">\r\n {{maxLimitWarningMsg}}\r\n </div>\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.labelDescription!=null\">{{options.labelDescription}}</div>\r\n <!-- requiredText-->\r\n <div class=\"bbsf-validation\" [dir]=\"textDir\" *ngIf=\"(textAreaFormControl.invalid && textAreaFormControl.touched)\">\r\n {{getErrorValidation(textAreaFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">\r\n {{resetError()}}</div>\r\n </div>\r\n" }]
|
|
7306
7306
|
}], ctorParameters: () => [{ type: ControlUtility }, { type: i2.ControlContainer, decorators: [{
|
|
7307
7307
|
type: Optional
|
|
7308
7308
|
}] }, { type: i2.FormGroupDirective }, { type: i3.UtilityService }, { type: i3.ControlValidationService }, { type: GlobalSettings }, { type: i3.SpeechRecognitionService }, { type: i3.LanguageService }], propDecorators: { group: [{
|
|
@@ -7434,7 +7434,7 @@ class RepeaterFieldBuilderComponent {
|
|
|
7434
7434
|
let dateTime = new DatePickerOptions();
|
|
7435
7435
|
dateTime.name = this.repeaterField.controlOptions.name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
|
|
7436
7436
|
dateTime.hideLabel = this.repeaterField.controlOptions.hideLabel;
|
|
7437
|
-
dateTime.labelKey = this.repeaterField.controlOptions.
|
|
7437
|
+
dateTime.labelKey = this.repeaterField.controlOptions.labelKey;
|
|
7438
7438
|
dateTime.isRequired = this.repeaterField.controlOptions.isRequired;
|
|
7439
7439
|
dateTime.viewType = this.repeaterField.controlOptions.viewType;
|
|
7440
7440
|
dateTime.labelDescription = this.repeaterField.controlOptions.labelDescription ? this.repeaterField.controlOptions.labelDescription : "";
|
|
@@ -7481,7 +7481,7 @@ class RepeaterFieldBuilderComponent {
|
|
|
7481
7481
|
mulipleSelect.hideLabel = this.repeaterField.controlOptions.hideLabel;
|
|
7482
7482
|
mulipleSelect.labelKey = this.repeaterField.controlOptions.labelKey;
|
|
7483
7483
|
mulipleSelect.isRequired = this.repeaterField.controlOptions.isRequired;
|
|
7484
|
-
mulipleSelect.viewType = this.repeaterField.controlOptions.
|
|
7484
|
+
mulipleSelect.viewType = this.repeaterField.controlOptions.viewType;
|
|
7485
7485
|
mulipleSelect.labelDescription = this.repeaterField.controlOptions.labelDescription ? this.repeaterField.controlOptions.labelDescription : "";
|
|
7486
7486
|
mulipleSelect.dataSource = this.repeaterField.controlOptions.dataSource;
|
|
7487
7487
|
mulipleSelect.singleSelection = false;
|
|
@@ -7540,7 +7540,7 @@ class RepeaterFieldBuilderComponent {
|
|
|
7540
7540
|
let country = new DropdownOptions();
|
|
7541
7541
|
country.name = this.repeaterField.controlOptions.name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
|
|
7542
7542
|
country.hideLabel = this.repeaterField.controlOptions.hideLabel;
|
|
7543
|
-
country.labelKey = this.repeaterField.controlOptions.
|
|
7543
|
+
country.labelKey = this.repeaterField.controlOptions.labelKey;
|
|
7544
7544
|
country.isRequired = this.repeaterField.controlOptions.isRequired;
|
|
7545
7545
|
country.viewType = this.repeaterField.controlOptions.viewType;
|
|
7546
7546
|
country.labelDescription = this.repeaterField.controlOptions.labelDescription ? this.repeaterField.controlOptions.labelDescription : "";
|
|
@@ -7560,7 +7560,7 @@ class RepeaterFieldBuilderComponent {
|
|
|
7560
7560
|
file.labelKey = this.repeaterField.controlOptions.labelKey;
|
|
7561
7561
|
file.isRequired = this.repeaterField.controlOptions.isRequired;
|
|
7562
7562
|
file.viewType = this.repeaterField.controlOptions.viewType;
|
|
7563
|
-
file.labelDescription = this.repeaterField.controlOptions.labelDescription ? this.repeaterField.controlOptions.
|
|
7563
|
+
file.labelDescription = this.repeaterField.controlOptions.labelDescription ? this.repeaterField.controlOptions.labelDescription : "";
|
|
7564
7564
|
file.fileMaxSizeInMB = this.repeaterField.controlOptions.maxFileSizeInMB;
|
|
7565
7565
|
file.value = this.value;
|
|
7566
7566
|
this.renderComponentService.renderDynamicComponent(this.item, FileUploadComponent, this.group, file);
|
|
@@ -7568,11 +7568,11 @@ class RepeaterFieldBuilderComponent {
|
|
|
7568
7568
|
case DataType.MultiFile:
|
|
7569
7569
|
let multiFile = new FileUploadOptions();
|
|
7570
7570
|
file.name = this.repeaterField.controlOptions.name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
|
|
7571
|
-
file.hideLabel = this.repeaterField.controlOptions.
|
|
7572
|
-
file.labelKey = this.repeaterField.controlOptions.
|
|
7573
|
-
file.isRequired = this.repeaterField.controlOptions.
|
|
7574
|
-
file.viewType = this.repeaterField.controlOptions.
|
|
7575
|
-
file.labelDescription = this.repeaterField.controlOptions.
|
|
7571
|
+
file.hideLabel = this.repeaterField.controlOptions.hideLabel;
|
|
7572
|
+
file.labelKey = this.repeaterField.controlOptions.labelKey;
|
|
7573
|
+
file.isRequired = this.repeaterField.controlOptions.isRequired;
|
|
7574
|
+
file.viewType = this.repeaterField.controlOptions.viewType;
|
|
7575
|
+
file.labelDescription = this.repeaterField.controlOptions.labelDescription ? this.repeaterField.controlOptions.labelDescription : "";
|
|
7576
7576
|
multiFile.maxSizeForAllFilesInMB = this.repeaterField.controlOptions.maxFileSizeInMB;
|
|
7577
7577
|
multiFile.maxNoOfFiles = this.repeaterField.controlOptions.maxFileCount;
|
|
7578
7578
|
multiFile.isMultipleFile = true;
|
|
@@ -7584,11 +7584,11 @@ class RepeaterFieldBuilderComponent {
|
|
|
7584
7584
|
case DataType.Image:
|
|
7585
7585
|
let image = new ImageUploadOptions();
|
|
7586
7586
|
image.name = this.repeaterField.controlOptions.name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
|
|
7587
|
-
image.hideLabel = this.repeaterField.controlOptions.
|
|
7588
|
-
image.labelKey = this.repeaterField.controlOptions.
|
|
7589
|
-
image.isRequired = this.repeaterField.controlOptions.
|
|
7590
|
-
image.viewType = this.repeaterField.controlOptions.
|
|
7591
|
-
image.labelDescription = this.repeaterField.controlOptions.
|
|
7587
|
+
image.hideLabel = this.repeaterField.controlOptions.hideLabel;
|
|
7588
|
+
image.labelKey = this.repeaterField.controlOptions.labelKey;
|
|
7589
|
+
image.isRequired = this.repeaterField.controlOptions.isRequired;
|
|
7590
|
+
image.viewType = this.repeaterField.controlOptions.viewType;
|
|
7591
|
+
image.labelDescription = this.repeaterField.controlOptions.labelDescription ? this.repeaterField.controlOptions.labelDescription : "";
|
|
7592
7592
|
if (this.repeaterField.controlOptions.maxFileSizeInMB)
|
|
7593
7593
|
image.fileMaxSizeInMB = this.repeaterField.controlOptions.maxFileSizeInMB;
|
|
7594
7594
|
image.value = this.value;
|
|
@@ -7597,11 +7597,11 @@ class RepeaterFieldBuilderComponent {
|
|
|
7597
7597
|
case DataType.CoverPhoto:
|
|
7598
7598
|
let coverPhoto = new ImageUploadOptions();
|
|
7599
7599
|
coverPhoto.name = this.repeaterField.controlOptions.name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
|
|
7600
|
-
coverPhoto.hideLabel = this.repeaterField.controlOptions.
|
|
7601
|
-
coverPhoto.labelKey = this.repeaterField.controlOptions.
|
|
7602
|
-
coverPhoto.isRequired = this.repeaterField.controlOptions.
|
|
7603
|
-
coverPhoto.viewType = this.repeaterField.controlOptions.
|
|
7604
|
-
coverPhoto.labelDescription = this.repeaterField.controlOptions.
|
|
7600
|
+
coverPhoto.hideLabel = this.repeaterField.controlOptions.hideLabel;
|
|
7601
|
+
coverPhoto.labelKey = this.repeaterField.controlOptions.labelKey;
|
|
7602
|
+
coverPhoto.isRequired = this.repeaterField.controlOptions.isRequired;
|
|
7603
|
+
coverPhoto.viewType = this.repeaterField.controlOptions.viewType;
|
|
7604
|
+
coverPhoto.labelDescription = this.repeaterField.controlOptions.labelDescription ? this.repeaterField.controlOptions.labelDescription : "";
|
|
7605
7605
|
if (this.repeaterField.controlOptions.maxFileSizeInMB)
|
|
7606
7606
|
coverPhoto.fileMaxSizeInMB = this.repeaterField.controlOptions.maxFileSizeInMB;
|
|
7607
7607
|
coverPhoto.value = this.value;
|
|
@@ -7612,11 +7612,11 @@ class RepeaterFieldBuilderComponent {
|
|
|
7612
7612
|
case DataType.Mobile:
|
|
7613
7613
|
let mobile = new PhoneOptions();
|
|
7614
7614
|
mobile.name = this.repeaterField.controlOptions.name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
|
|
7615
|
-
mobile.hideLabel = this.repeaterField.controlOptions.
|
|
7616
|
-
mobile.labelKey = this.repeaterField.controlOptions.
|
|
7617
|
-
mobile.isRequired = this.repeaterField.controlOptions.
|
|
7618
|
-
mobile.viewType = this.repeaterField.controlOptions.
|
|
7619
|
-
mobile.labelDescription = this.repeaterField.controlOptions.
|
|
7615
|
+
mobile.hideLabel = this.repeaterField.controlOptions.hideLabel;
|
|
7616
|
+
mobile.labelKey = this.repeaterField.controlOptions.labelKey;
|
|
7617
|
+
mobile.isRequired = this.repeaterField.controlOptions.isRequired;
|
|
7618
|
+
mobile.viewType = this.repeaterField.controlOptions.viewType;
|
|
7619
|
+
mobile.labelDescription = this.repeaterField.controlOptions.labelDescription ? this.repeaterField.controlOptions.labelDescription : "";
|
|
7620
7620
|
mobile.allowSearch = true;
|
|
7621
7621
|
mobile.phoneValidation = true;
|
|
7622
7622
|
mobile.selectFirstCountry = true;
|
|
@@ -7629,17 +7629,17 @@ class RepeaterFieldBuilderComponent {
|
|
|
7629
7629
|
case DataType.MultilineText:
|
|
7630
7630
|
let multilineText = new TextAreaOptions();
|
|
7631
7631
|
multilineText.name = this.repeaterField.controlOptions.name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
|
|
7632
|
-
multilineText.hideLabel = this.repeaterField.controlOptions.
|
|
7633
|
-
multilineText.labelKey = this.repeaterField.controlOptions.
|
|
7634
|
-
multilineText.isRequired = this.repeaterField.controlOptions.
|
|
7635
|
-
multilineText.viewType = this.repeaterField.controlOptions.
|
|
7636
|
-
multilineText.labelDescription = this.repeaterField.controlOptions.
|
|
7632
|
+
multilineText.hideLabel = this.repeaterField.controlOptions.hideLabel;
|
|
7633
|
+
multilineText.labelKey = this.repeaterField.controlOptions.labelKey;
|
|
7634
|
+
multilineText.isRequired = this.repeaterField.controlOptions.isRequired;
|
|
7635
|
+
multilineText.viewType = this.repeaterField.controlOptions.viewType;
|
|
7636
|
+
multilineText.labelDescription = this.repeaterField.controlOptions.labelDescription ? this.repeaterField.controlOptions.labelDescription : "";
|
|
7637
7637
|
if (this.repeaterField.controlOptions.maxLength)
|
|
7638
7638
|
multilineText.maxLength = this.repeaterField.controlOptions.maxLength;
|
|
7639
7639
|
if (this.repeaterField.controlOptions.minLength)
|
|
7640
7640
|
multilineText.minLength = this.repeaterField.controlOptions.minLength;
|
|
7641
7641
|
multilineText.rows = this.repeaterField.controlOptions.rows;
|
|
7642
|
-
multilineText.forceDirection = this.repeaterField.controlOptions.
|
|
7642
|
+
multilineText.forceDirection = this.repeaterField.controlOptions.forceDirection;
|
|
7643
7643
|
multilineText.value = this.value;
|
|
7644
7644
|
this.renderComponentService.renderDynamicComponent(this.item, TextAreaComponent, this.group, multilineText);
|
|
7645
7645
|
break;
|
|
@@ -7648,17 +7648,17 @@ class RepeaterFieldBuilderComponent {
|
|
|
7648
7648
|
case DataType.HTML:
|
|
7649
7649
|
let HTML = new HtmlEditorOptions();
|
|
7650
7650
|
HTML.name = this.repeaterField.controlOptions.name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
|
|
7651
|
-
HTML.hideLabel = this.repeaterField.controlOptions.
|
|
7652
|
-
HTML.labelKey = this.repeaterField.controlOptions.
|
|
7653
|
-
HTML.isRequired = this.repeaterField.controlOptions.
|
|
7654
|
-
HTML.viewType = this.repeaterField.controlOptions.
|
|
7655
|
-
HTML.labelDescription = this.repeaterField.controlOptions.
|
|
7651
|
+
HTML.hideLabel = this.repeaterField.controlOptions.hideLabel;
|
|
7652
|
+
HTML.labelKey = this.repeaterField.controlOptions.labelKey;
|
|
7653
|
+
HTML.isRequired = this.repeaterField.controlOptions.isRequired;
|
|
7654
|
+
HTML.viewType = this.repeaterField.controlOptions.viewType;
|
|
7655
|
+
HTML.labelDescription = this.repeaterField.controlOptions.labelDescription ? this.repeaterField.controlOptions.labelDescription : "";
|
|
7656
7656
|
if (this.repeaterField.controlOptions.maxLength)
|
|
7657
7657
|
HTML.maxLength = this.repeaterField.controlOptions.maxLength;
|
|
7658
7658
|
if (this.repeaterField.controlOptions.minLength)
|
|
7659
7659
|
HTML.minLength = this.repeaterField.controlOptions.minLength;
|
|
7660
7660
|
HTML.height = this.repeaterField.controlOptions.rows;
|
|
7661
|
-
HTML.forceDirection = this.repeaterField.controlOptions.
|
|
7661
|
+
HTML.forceDirection = this.repeaterField.controlOptions.forceDirection;
|
|
7662
7662
|
HTML.value = this.value;
|
|
7663
7663
|
this.renderComponentService.renderDynamicComponent(this.item, HtmlEditorComponent, this.group, HTML);
|
|
7664
7664
|
break;
|
|
@@ -7858,7 +7858,7 @@ class RepeaterFieldBuilderComponent {
|
|
|
7858
7858
|
Goal.labelKey = this.repeaterField.controlOptions.labelKey;
|
|
7859
7859
|
Goal.isRequired = this.repeaterField.controlOptions.isRequired;
|
|
7860
7860
|
Goal.viewType = this.repeaterField.controlOptions.viewType;
|
|
7861
|
-
Goal.labelDescription = this.repeaterField.controlOptions.
|
|
7861
|
+
Goal.labelDescription = this.repeaterField.controlOptions.labelDescription ? this.repeaterField.controlOptions.labelDescription : "";
|
|
7862
7862
|
Goal.dataSource = this.repeaterField.controlOptions.dataSource;
|
|
7863
7863
|
Goal.singleSelection = !this.repeaterField.controlOptions.isMultiple;
|
|
7864
7864
|
Goal.showCheckbox = false;
|
|
@@ -7991,7 +7991,7 @@ class RepeaterFieldBuilderComponent {
|
|
|
7991
7991
|
let multilineText = new TextAreaOptions();
|
|
7992
7992
|
multilineText.name = this.repeaterField.controlOptions.name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
|
|
7993
7993
|
multilineText.hideLabel = this.repeaterField.controlOptions.hideLabel;
|
|
7994
|
-
multilineText.labelKey = this.repeaterField.controlOptions.
|
|
7994
|
+
multilineText.labelKey = this.repeaterField.controlOptions.labelKey;
|
|
7995
7995
|
multilineText.isRequired = this.repeaterField.controlOptions.isRequired;
|
|
7996
7996
|
multilineText.viewType = this.repeaterField.controlOptions.viewType;
|
|
7997
7997
|
multilineText.labelDescription = this.repeaterField.controlOptions.labelDescription ? this.repeaterField.controlOptions.labelDescription : "";
|
|
@@ -8000,7 +8000,7 @@ class RepeaterFieldBuilderComponent {
|
|
|
8000
8000
|
if (this.repeaterField.controlOptions.minLength)
|
|
8001
8001
|
multilineText.minLength = this.repeaterField.controlOptions.minLength;
|
|
8002
8002
|
multilineText.rows = this.repeaterField.controlOptions.rows;
|
|
8003
|
-
multilineText.forceDirection = this.repeaterField.controlOptions.
|
|
8003
|
+
multilineText.forceDirection = this.repeaterField.controlOptions.forceDirection;
|
|
8004
8004
|
multilineText.value = value;
|
|
8005
8005
|
this.renderComponentService.renderDynamicComponent(this.item, TextAreaComponent, this.group, multilineText);
|
|
8006
8006
|
break;
|
|
@@ -8019,7 +8019,7 @@ class RepeaterFieldBuilderComponent {
|
|
|
8019
8019
|
if (this.repeaterField.controlOptions.minLength)
|
|
8020
8020
|
HTML.minLength = this.repeaterField.controlOptions.minLength;
|
|
8021
8021
|
HTML.height = this.repeaterField.controlOptions.rows;
|
|
8022
|
-
HTML.forceDirection = this.repeaterField.controlOptions.
|
|
8022
|
+
HTML.forceDirection = this.repeaterField.controlOptions.forceDirection;
|
|
8023
8023
|
HTML.value = value;
|
|
8024
8024
|
this.renderComponentService.renderDynamicComponent(this.item, HtmlEditorComponent, this.group, HTML);
|
|
8025
8025
|
break;
|