@bnsights/bbsf-controls 1.0.68 → 1.0.69
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 +8 -0
- package/bnsights-bbsf-controls-1.0.69.tgz +0 -0
- package/bnsights-bbsf-controls.metadata.json +1 -1
- package/bundles/bnsights-bbsf-controls.umd.js +355 -31
- package/bundles/bnsights-bbsf-controls.umd.js.map +1 -1
- package/esm2015/lib/Shared/Models/bread-crumb.js +8 -0
- package/esm2015/lib/Shared/Models/control-filter-Item.js +6 -0
- package/esm2015/lib/Shared/Models/filter-options.js +9 -0
- package/esm2015/lib/Shared/Models/page-header-options.js +78 -0
- package/esm2015/lib/Shared/components/app-base-component.js +168 -0
- package/esm2015/lib/controls/DateTimePicker/DateTimePicker.component.js +3 -4
- package/esm2015/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.js +2 -2
- package/esm2015/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.js +2 -2
- package/esm2015/lib/controls/bbsf-controls.module.js +6 -3
- package/esm2015/lib/controls/page-header-component/page-header-component.component.js +32 -0
- package/esm2015/public-api.js +7 -1
- package/fesm2015/bnsights-bbsf-controls.js +313 -23
- package/fesm2015/bnsights-bbsf-controls.js.map +1 -1
- package/lib/Shared/Models/bread-crumb.d.ts +6 -0
- package/lib/Shared/Models/control-filter-Item.d.ts +6 -0
- package/lib/Shared/Models/filter-options.d.ts +7 -0
- package/lib/Shared/Models/page-header-options.d.ts +71 -0
- package/lib/Shared/components/app-base-component.d.ts +47 -0
- package/lib/controls/page-header-component/page-header-component.component.d.ts +17 -0
- package/package.json +4 -3
- package/public-api.d.ts +6 -0
- package/src/lib/assets/Style-rtl.scss +51 -54
- package/src/lib/assets/Style.scss +4 -0
- package/src/lib/assets/images/Bg-pattern.png +0 -0
- package/src/lib/assets/sass/base.scss +5 -1
- package/src/lib/assets/sass/datetime-picker.scss +123 -0
- package/bnsights-bbsf-controls-1.0.68.tgz +0 -0
|
@@ -15,7 +15,7 @@ import { OverlayModule } from '@angular/cdk/overlay';
|
|
|
15
15
|
import { StoreDevtoolsModule } from '@ngrx/store-devtools';
|
|
16
16
|
import { DatePipe, CommonModule } from '@angular/common';
|
|
17
17
|
import { SearchCountryField, NgxIntlTelInputModule } from 'ngx-intl-tel-input';
|
|
18
|
-
import { UtilityService, ControlValidationService, BBSFTranslateService, RequestOptionsModel, RequestHandlerService, environment as environment$1, BBSFUtilitiesModule } from '@bnsights/bbsf-utilities';
|
|
18
|
+
import { UtilityService, ControlValidationService, BBSFTranslateService, RequestOptionsModel, RequestHandlerService, environment as environment$1, BBSFUtilitiesModule, ConfigurationService, EnvironmentService, AuthService } from '@bnsights/bbsf-utilities';
|
|
19
19
|
import { BsDatepickerModule } from 'ngx-bootstrap/datepicker';
|
|
20
20
|
import { Subject, Observable, noop as noop$1, of, EMPTY, Subscription } from 'rxjs';
|
|
21
21
|
import { OwlDateTimeIntl, DateTimeAdapter, OwlDateTimeModule, OwlNativeDateTimeModule, OWL_DATE_TIME_LOCALE } from 'ng-pick-datetime';
|
|
@@ -49,6 +49,8 @@ import { AutocompleteLibModule } from 'angular-ng-autocomplete';
|
|
|
49
49
|
import { InlineSVGModule } from 'ng-inline-svg';
|
|
50
50
|
import Swal from 'sweetalert2';
|
|
51
51
|
import { SweetAlert2Module } from '@sweetalert2/ngx-sweetalert2';
|
|
52
|
+
import { Title } from '@angular/platform-browser';
|
|
53
|
+
import * as saveAs from 'file-saver';
|
|
52
54
|
|
|
53
55
|
class ErrorMassageValidation {
|
|
54
56
|
// tslint:disable-next-line: deprecation
|
|
@@ -590,11 +592,10 @@ DateInputComponent.controlContainerstatic = null;
|
|
|
590
592
|
DateInputComponent.decorators = [
|
|
591
593
|
{ type: Component, args: [{
|
|
592
594
|
selector: 'BBSF-DateTimePicker',
|
|
593
|
-
template: "
|
|
595
|
+
template: "\r\n<div class=\"form-group bbsf-control bbsf-datetime-picker\" [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 </label>\r\n <div class=\"bbsf-input-container\" [ngClass]=\"options.EnableCopyToClipboard? 'p-40px' : '' \">\r\n <!--input-->\r\n <input autocomplete=\"off\" (dateTimeChange)=\"onDateSelect($event)\"\r\n dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n class=\"form-control bnsights-control {{options.ExtraClasses}} \"\r\n [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\" aria-describedby=\"email-error\" aria-invalid=\"true\"\r\n formControlName=\"{{options.Name}}\" [owlDateTime]=\"dt1\" [owlDateTimeTrigger]=\"dt1\"\r\n [class.is-invalid]=\"DatePickerFormControl.invalid && DatePickerFormControl.touched\"\r\n [min]=\"options.StartDate\" [max]=\"options.EndDate\" [hour12Timer]=\"options.Hour12Timer\" [selectMode]=\"getSelectMode(options.SelectMode)\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" #Dateinput>\r\n\r\n <owl-date-time [pickerType]=\"getPickerType(options.PickerType)\"\r\n [startView]=\"getStartView(options.StartView)\" [firstDayOfWeek]=\"options.FirstDayOfWeek\"\r\n [hour12Timer]=\"options.Hour12Timer\" #dt1></owl-date-time>\r\n <!--icon-->\r\n <span class=\"copy-clipboard\">\r\n <span class=\"svg-icon\">\r\n <svg id=\"Group_356\" data-name=\"Group 356\" xmlns=\"http://www.w3.org/2000/svg\" width=\"15\" height=\"15\" viewBox=\"0 0 48 48\">\r\n <path id=\"Path_6737\" data-name=\"Path 6737\" d=\"M11.583,1a1,1,0,0,0-2,0V5.7h2Z\" style=\"\"></path>\r\n <path id=\"Path_6738\" data-name=\"Path 6738\" d=\"M38.417,1a1,1,0,0,0-2,0V5.7h2Z\"></path>\r\n <path id=\"Path_6739\" data-name=\"Path 6739\" d=\"M0,43.146C0,45.822,1.826,48,4.07,48H43.928C46.174,48,48,45.822,48,43.146V17.121H0Z\" fill=\"#d5d5d5\"></path>\r\n <path id=\"Path_6740\" data-name=\"Path 6740\" d=\"M43.929,5.7H38.417v5.512a1,1,0,1,1-2,0V5.7H11.583v5.512a1,1,0,1,1-2,0V5.7H4.07C1.826,5.7,0,7.877,0,10.555v4.566H48V10.555C48,7.877,46.174,5.7,43.929,5.7Z\" fill=\"#595959\"></path>\r\n </svg>\r\n </span>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\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\" *ngIf=\"(DatePickerFormControl.invalid && DatePickerFormControl.touched)\">\r\n {{getErrorValidation(DatePickerFormControl.errors|keyvalue)}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n</div>\r\n",
|
|
594
596
|
providers: [
|
|
595
597
|
{ provide: OwlDateTimeIntl, useClass: DefaultIntl }
|
|
596
|
-
]
|
|
597
|
-
styles: [".example-form{min-width:150px;max-width:500px;width:100%}.example-full-width{width:100%}\n"]
|
|
598
|
+
]
|
|
598
599
|
},] }
|
|
599
600
|
];
|
|
600
601
|
DateInputComponent.ctorParameters = () => [
|
|
@@ -1416,7 +1417,7 @@ MultiLingualTextBoxComponent.controlContainerstatic = null;
|
|
|
1416
1417
|
MultiLingualTextBoxComponent.decorators = [
|
|
1417
1418
|
{ type: Component, args: [{
|
|
1418
1419
|
selector: 'BBSF-MultiLingualTextBox',
|
|
1419
|
-
template: "\r\n<div [formGroup]=\"group\">\r\n <div class=\"
|
|
1420
|
+
template: "\r\n<div [formGroup]=\"group\">\r\n <div class=\"bbsf-control bbsf-multilang-textbox\" [formGroup]=\"MultiLanguagegroup\">\r\n <div class=\"row\">\r\n <!--English textbox-->\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\" *ngIf=\"ShowEnglishTextBox\" class=\"bbsf-multilang-form-group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label class=\"bbsf-label {{options.LabelExtraClasses}}\" [hidden]=\"options.IsHideEnglishLabel\">\r\n {{(options.EnglishLabelValue!=null&&options.EnglishLabelValue!=\"\")?options.EnglishLabelValue:options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)&&IsShowAsteriskInEnglish)\" class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"bbsf-input-container\" [ngClass]=\"options.EnableCopyToClipboard? 'p-40px' : '' \">\r\n <!--Icon-->\r\n <div class=\"svg svg-icon-grey bbsf-icon\" [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-->\r\n <input class=\"form-control\" dir=\"ltr\"\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\" [(ngModel)]=\"options.Value.English\"\r\n #userinputEnglish>\r\n <!--CopyToClipboard-->\r\n <div class=\"copy-clipboard\" [hidden]=\"options.IsHideEnglishFields\" *ngIf=\"options.EnableCopyToClipboard\" (click)=\"copyInputMessage(userinputEnglish)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!--wordCount-->\r\n <div class=\"bbsf-word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowEnglishWordCount\">{{EnglishWordCount}}/{{options.MaxWordCount}} Words</div>\r\n <!-- CharsLimitMsg-->\r\n <div class=\"bbsf-character-count\" *ngIf=\"showEnglishCharsLimitMsg\" [ngClass]=\"{'badge-light-warning': englishCharsLimitMsgClass === 'warning', 'badge-light-danger' : englishCharsLimitMsgClass === 'danger' }\">\r\n {{englishMaxLimitWarningMsg}}\r\n </div>\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-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 <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(EnglishFormControl.invalid && EnglishFormControl.touched)\">\r\n {{getErrorValidation(EnglishFormControl.errors|keyvalue)}}\r\n </div>\r\n <div *ngIf=\"group.valid\">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n\r\n <!--Arabic textbox-->\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\" *ngIf=\"ShowArabicTextBox\" class=\"bbsf-multilang-form-group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label class=\"bbsf-label {{options.LabelExtraClasses}}\" [hidden]=\"options.IsHideArabicLabel\">\r\n {{(options.ArabicLabelValue!=null&&options.ArabicLabelValue!=\"\")?options.ArabicLabelValue:options.LabelValue}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&IsShowAsteriskInArabic\" class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"bbsf-input-container\" [ngClass]=\"options.EnableCopyToClipboard? 'p-40px' : '' \">\r\n <!--Icon-->\r\n <div *ngIf=\"options.Icon!=null\" class=\"svg svg-icon-grey bbsf-icon\" [ngClass]=\"(options.IconPositionEN==1)?'right-icon':'left-icon'\">\r\n <span [inlineSVG]=\"options.Icon\"></span>\r\n </div>\r\n <!--input-->\r\n <input class=\"form-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 <!--CopyToClipboard-->\r\n <div class=\"copy-clipboard\" [hidden]=\"options.IsHideArabicFields\" *ngIf=\"options.EnableCopyToClipboard\"(click)=\"copyInputMessage(userinputArabic)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!--wordCount-->\r\n <div class=\"bbsf-word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowArabicWordCount\">{{ArabicWordCount}}/{{options.MaxWordCount}} Words</div>\r\n <!-- CharsLimitMsg-->\r\n <div class=\"bbsf-character-count\" *ngIf=\"showArabicCharsLimitMsg\" [ngClass]=\"{'badge-light-warning': arabicCharsLimitMsgClass === 'warning', 'badge-light-danger' : arabicCharsLimitMsgClass === 'danger' }\">\r\n {{arabicMaxLimitWarningMsg}}\r\n </div>\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-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 <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(ArabicFormControl.invalid && ArabicFormControl.touched)\">\r\n {{getErrorValidation(ArabicFormControl.errors|keyvalue)}}\r\n </div>\r\n <div *ngIf=\"group.valid\">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n"
|
|
1420
1421
|
},] }
|
|
1421
1422
|
];
|
|
1422
1423
|
MultiLingualTextBoxComponent.ctorParameters = () => [
|
|
@@ -2023,7 +2024,7 @@ MultiLingualTextAreaComponent.controlContainerstatic = null;
|
|
|
2023
2024
|
MultiLingualTextAreaComponent.decorators = [
|
|
2024
2025
|
{ type: Component, args: [{
|
|
2025
2026
|
selector: 'BBSF-MultiLingualTextArea',
|
|
2026
|
-
template: "<div [formGroup]=\"group\">\r\n <div class=\"
|
|
2027
|
+
template: "<div [formGroup]=\"group\">\r\n <div class=\"bbsf-control bbsf-multilang-textarea\" [formGroup]=\"MultiLanguageTextAreagroup\">\r\n <div class=\"row\">\r\n <!--English textarea-->\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\" *ngIf=\"ShowEngishTextArea\" class=\"bbsf-multilang-form-group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label class=\"bbsf-label {{options.LabelExtraClasses}}\" [hidden]=\"options.IsHideEnglishLabel\">\r\n {{(options.EnglishLabelValue!=null&&options.EnglishLabelValue!=\"\")?options.EnglishLabelValue:options.LabelValue+\"in English\"}} <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&IsShowAsteriskInEnglish\" class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"bbsf-input-container\" [ngClass]=\"options.EnableCopyToClipboard? 'p-40px' : '' \">\r\n <!--input-->\r\n <textarea class=\"form-control\" dir=\"ltr\" 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()\" [(ngModel)]=\"options.Value.English\"\r\n (keydown)=\"EnglishWordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #userinputTextAreaEnglish>\r\n </textarea>\r\n <!--CopyToClipboard-->\r\n <div class=\"copy-clipboard\" [hidden]=\"options.IsHideEnglishFields\" *ngIf=\"options.EnableCopyToClipboard\" (click)=\"copyInputMessage(userinputTextAreaEnglish)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!--wordCount-->\r\n <div class=\"bbsf-word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowEnglishWordCount\">{{EnglishWordCount}}/{{options.MaxWordCount}} Words</div>\r\n <!-- CharsLimitMsg-->\r\n <div class=\"bbsf-character-count\" *ngIf=\"showEnglishCharsLimitMsg\" [ngClass]=\"{'badge-light-warning': englishCharsLimitMsgClass === 'warning', 'badge-light-danger' : englishCharsLimitMsgClass === 'danger' }\">\r\n {{englishMaxLimitWarningMsg}}\r\n </div>\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-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 <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(EnglishTextAreaFormControl.invalid && EnglishTextAreaFormControl.touched)\">\r\n {{getErrorValidation(EnglishTextAreaFormControl.errors|keyvalue)}}\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n <!--Arabic textbox-->\r\n <div [ngClass]=\"(options.MultiControlPlacementType==1)?'col-md-12':'col-md-6'\" *ngIf=\"ShowArabicTextArea\" class=\"bbsf-multilang-form-group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label class=\"bbsf-label {{options.LabelExtraClasses}}\" [hidden]=\"options.IsHideArabicLabel\">\r\n {{(options.ArabicLabelValue!=null&&options.ArabicLabelValue!=\"\")?options.ArabicLabelValue:options.LabelValue+\"in Arabic\"}}\r\n <!--Asterisk-->\r\n <span *ngIf=\"((options.ShowAsterisk&&options.IsRequired)||(options.IsRequired))&&IsShowAsteriskInArabic\" class=\"text-danger\">*</span>\r\n </label>\r\n <div class=\"bbsf-input-container\" [ngClass]=\"options.EnableCopyToClipboard? 'p-40px' : '' \">\r\n <!--input-->\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()\" [(ngModel)]=\"options.Value.Arabic\"\r\n (keydown)=\"ArabicWordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #userinputTextAreaArabic>\r\n </textarea>\r\n <!--CopyToClipboard-->\r\n <div class=\"copy-clipboard\" [hidden]=\"options.IsHideArabicFields\" *ngIf=\"options.EnableCopyToClipboard\" (click)=\"copyInputMessage(userinputTextAreaArabic)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!--wordCount-->\r\n <div class=\"bbsf-word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowArabicWordCount\">{{ArabicWordCount}}/{{options.MaxWordCount}} Words</div>\r\n <!-- CharsLimitMsg-->\r\n <div class=\"bbsf-character-count\" *ngIf=\"showArabicCharsLimitMsg\" [ngClass]=\"{'badge-light-warning': arabicCharsLimitMsgClass === 'warning', 'badge-light-danger' : arabicCharsLimitMsgClass === 'danger' }\">\r\n {{arabicMaxLimitWarningMsg}}\r\n </div>\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-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 <!-- requiredText-->\r\n <div class=\"bbsf-validation\" *ngIf=\"(ArabicTextAreaFormControl.invalid && ArabicTextAreaFormControl.touched)\">\r\n {{getErrorValidation(ArabicTextAreaFormControl.errors|keyvalue)}}\r\n </div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n"
|
|
2027
2028
|
},] }
|
|
2028
2029
|
];
|
|
2029
2030
|
MultiLingualTextAreaComponent.ctorParameters = () => [
|
|
@@ -7547,6 +7548,34 @@ RecaptchaComponent.propDecorators = {
|
|
|
7547
7548
|
OnChange: [{ type: Output }]
|
|
7548
7549
|
};
|
|
7549
7550
|
|
|
7551
|
+
class PageHeaderComponentComponent {
|
|
7552
|
+
constructor(router, utilityService) {
|
|
7553
|
+
this.router = router;
|
|
7554
|
+
this.utilityService = utilityService;
|
|
7555
|
+
this.DataTypeEnum = DataType;
|
|
7556
|
+
}
|
|
7557
|
+
translate(key) {
|
|
7558
|
+
return this.utilityService.getResourceValue(key);
|
|
7559
|
+
}
|
|
7560
|
+
ngOnInit() {
|
|
7561
|
+
this.EN = this.utilityService.isCurrentLanguageEnglish();
|
|
7562
|
+
}
|
|
7563
|
+
}
|
|
7564
|
+
PageHeaderComponentComponent.decorators = [
|
|
7565
|
+
{ type: Component, args: [{
|
|
7566
|
+
selector: 'bbsf-page-header-component',
|
|
7567
|
+
template: "<!--toolbar-->\r\n<div class=\"toolbar\" style=\"overflow:hidden;position:relative;\">\r\n <img class=\"pattern\" src=\"./src/assets/images/Bg-pattern.png\"/>\r\n <div class=\"container-xxl\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"page-title w-100\" [ngClass]=\"!options.Listing? 'mb-0' : ''\">\r\n <h3 *ngIf=\"options.TitleKey||options.TitleValue\">{{options.TitleValue == null ? translate(options.TitleKey) : options.TitleValue }}</h3>\r\n <p class=\"sub-title\" *ngIf=\"options.Listing\">\r\n {{translate(options.SubTitleKey)}}\r\n </p>\r\n <div class=\"d-flex justify-content-between align-items-end\">\r\n <ul class=\"breadcrumb breadcrumb-dot\" *ngIf=\"options.BreadCrumb.Active\">\r\n <ng-container *ngFor=\"let item of options.BreadCrumb.BreadCrumbItems\">\r\n <li class=\"breadcrumb-item\" *ngIf=\"!item.active\">\r\n <a *ngIf=\"item.route\" [routerLink]=\"item.route\">{{ item.label }}</a>\r\n <a *ngIf=\"!item.route\" href=\"javascript: void(0);\">{{ item.label }}</a>\r\n </li>\r\n <li class=\"breadcrumb-item active\" *ngIf=\"item.active\">\r\n <span>{{ item.label }}</span>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <div class=\"page-subheader\" *ngIf=\"options.DropDownActions.Active\">\r\n <button [routerLink]=\"item.RouterLink\" (click)='item.Function?item.Function():\"\"' class=\"btn btn-light btn-sm subheader-btn export-btn\" *ngFor=\"let item of options.DropDownActions.DropdownActionItems\">\r\n <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"item.SVG\"></span>\r\n {{item.Text}}\r\n </button>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"page-subheader\">\r\n <BBSF-TextBox *ngIf=\"options.SearchTextBox.Active\" [options]=\"options.SearchTextBox.TextSearchBoxOptions\"\r\n [group]=\"group\">\r\n </BBSF-TextBox>\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"subheader-btn list-grid\" *ngIf=\"options.GridView.Active\">\r\n <div class=\"list-grid-item\" [ngClass]=\"options.GridView.ShowGridViewByDefault? 'list-grid-item-active' : ''\"\r\n (click)=\"options.GridView.ToggleFunction()\">\r\n <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/Listing.svg'\">\r\n </span>\r\n </div>\r\n <div class=\"list-grid-item\" [ngClass]=\"!options.GridView.ShowGridViewByDefault? 'list-grid-item-active' : ''\"\r\n (click)=\"options.GridView.ToggleFunction()\">\r\n <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/Grid.svg'\">\r\n </span>\r\n </div>\r\n </div>\r\n <button type=\"button\" *ngIf=\"options.ExportButton.Active\" (click)=\"options.ExportButton.Function()\"\r\n class=\"btn btn-light btn-sm subheader-btn export-btn\">\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"'/assets/images/export.svg'\"></span>\r\n {{translate(options.ExportButton.ButtonTextKey)}}\r\n </button>\r\n\r\n\r\n <div *ngIf=\"options.FiltersButton.Active\" ngbDropdown container=\"body\" [placement]=\"EN ? 'bottom-right' : 'bottom-left'\" \r\n #dropdown=\"ngbDropdown\" class=\"subheader-btn\">\r\n <button href=\"javascript:;\" (click)=\"options.FiltersButton.Function()\" ngbDropdownToggle\r\n class=\"btn btn-light btn-sm filters-btn\">\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"'/assets/images/arrowdropdown.svg'\"></span>\r\n {{translate(options.FiltersButton.ButtonTextKey)}}\r\n </button>\r\n <div ngbDropdownMenu class=\"dropdown-menu-custom filters-dropdown\">\r\n\r\n <div [(hidden)]=\"options.Filters.ShowLoadingInFiltersBox\">\r\n <div class=\"filter-select\">\r\n <span *ngFor=\"let control of options.Filters.ControlsOptions\">\r\n <span [ngSwitch]=\"control.key\">\r\n <span *ngSwitchCase=\"DataTypeEnum.SingleSelect\">\r\n <BBSF-DropdownList [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DropdownList>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.MulipleSelect\">\r\n <BBSF-DropdownList [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DropdownList>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Date\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.DateTime\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Time\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Boolean\">\r\n <BBSF-Toggleslide [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-Toggleslide>\r\n </span>\r\n <span *ngSwitchDefault>\r\n <BBSF-TagsInput [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-TagsInput>\r\n </span>\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"dropdown-menu-buttons\">\r\n <button class=\"btn btn-sm btn-light\"\r\n (click)=\"options.Filters.RestFunction(dropdown)\">\r\n {{translate(\"Reset\")}}\r\n </button>\r\n <button class=\"btn btn-brand btn-sm\"\r\n (click)=\"options.Filters.ApplyFunction(dropdown)\">\r\n {{translate(\"Apply\")}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.AddButton.Active\" (click)=\"options.AddButton.Function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.AddButton.ButtonTextKey)}}\r\n </button>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.EditButton.Active\" (click)=\"options.EditButton.Function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.EditButton.ButtonTextKey)}}\r\n </button>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.DeleteButton.Active\" (click)=\"options.DeleteButton.Function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.DeleteButton.ButtonTextKey)}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--End toolbar-->\r\n"
|
|
7568
|
+
},] }
|
|
7569
|
+
];
|
|
7570
|
+
PageHeaderComponentComponent.ctorParameters = () => [
|
|
7571
|
+
{ type: Router },
|
|
7572
|
+
{ type: UtilityService }
|
|
7573
|
+
];
|
|
7574
|
+
PageHeaderComponentComponent.propDecorators = {
|
|
7575
|
+
group: [{ type: Input }],
|
|
7576
|
+
options: [{ type: Input }]
|
|
7577
|
+
};
|
|
7578
|
+
|
|
7550
7579
|
let options;
|
|
7551
7580
|
let AppInjector;
|
|
7552
7581
|
FullCalendarModule.registerPlugins([
|
|
@@ -7598,7 +7627,8 @@ BBSFControlsModule.decorators = [
|
|
|
7598
7627
|
BBSFDateTimePipe,
|
|
7599
7628
|
BBSFDatePipe,
|
|
7600
7629
|
BTagsInputComponent,
|
|
7601
|
-
RecaptchaComponent
|
|
7630
|
+
RecaptchaComponent,
|
|
7631
|
+
PageHeaderComponentComponent
|
|
7602
7632
|
],
|
|
7603
7633
|
imports: [
|
|
7604
7634
|
CommonModule,
|
|
@@ -7698,7 +7728,8 @@ BBSFControlsModule.decorators = [
|
|
|
7698
7728
|
RepeaterTableComponent,
|
|
7699
7729
|
BBSFDateTimePipe,
|
|
7700
7730
|
BBSFDatePipe,
|
|
7701
|
-
RecaptchaComponent
|
|
7731
|
+
RecaptchaComponent,
|
|
7732
|
+
PageHeaderComponentComponent
|
|
7702
7733
|
]
|
|
7703
7734
|
},] }
|
|
7704
7735
|
];
|
|
@@ -7707,6 +7738,180 @@ BBSFControlsModule.ctorParameters = () => [
|
|
|
7707
7738
|
{ type: TranslateService }
|
|
7708
7739
|
];
|
|
7709
7740
|
|
|
7741
|
+
class CustomValidation {
|
|
7742
|
+
}
|
|
7743
|
+
class CustomValidator {
|
|
7744
|
+
// Number only validation
|
|
7745
|
+
static numeric(control) {
|
|
7746
|
+
let val = control.value;
|
|
7747
|
+
if (val === null || val === '')
|
|
7748
|
+
return null;
|
|
7749
|
+
if (!val.toString().match(/^[0-9]+(\.?[0-9]+)?$/))
|
|
7750
|
+
return { 'invalidNumber': true };
|
|
7751
|
+
return null;
|
|
7752
|
+
}
|
|
7753
|
+
}
|
|
7754
|
+
|
|
7755
|
+
class AppBaseComponent {
|
|
7756
|
+
constructor(injector) {
|
|
7757
|
+
this.pageTitle = "";
|
|
7758
|
+
this.PageCount = 12;
|
|
7759
|
+
this.onSuccessAddHandler = (success) => {
|
|
7760
|
+
this.utilityService.notifySuccessMessage(this.l("RecordAdded"), null, null, false);
|
|
7761
|
+
};
|
|
7762
|
+
this.onSuccessEditHandler = (success) => {
|
|
7763
|
+
this.utilityService.notifySuccessMessage(this.l("RecordUpdated"), null, null, false);
|
|
7764
|
+
};
|
|
7765
|
+
this.onSuccessDeleteHandler = (success) => {
|
|
7766
|
+
this.utilityService.notifySuccessMessage(this.l("RecordDeleted"), null, null, false);
|
|
7767
|
+
};
|
|
7768
|
+
this.utilityService = injector.get(UtilityService);
|
|
7769
|
+
this.controlUtility = injector.get(ControlUtility);
|
|
7770
|
+
this.configurationService = injector.get(ConfigurationService);
|
|
7771
|
+
this.environmentService = injector.get(EnvironmentService);
|
|
7772
|
+
this.modalService = injector.get(NgbModal);
|
|
7773
|
+
this.titleService = injector.get(Title);
|
|
7774
|
+
this.auhService = injector.get(AuthService);
|
|
7775
|
+
this.exportLabel = this.utilityService.getResourceValue("Export");
|
|
7776
|
+
this.filtersLabel = this.utilityService.getResourceValue("Filters");
|
|
7777
|
+
this.addLabel = this.utilityService.getResourceValue("Add");
|
|
7778
|
+
this.userName = this.auhService.name();
|
|
7779
|
+
}
|
|
7780
|
+
updatePageTitle(title) {
|
|
7781
|
+
this.titleService.setTitle(this.calculatePageTitle(title));
|
|
7782
|
+
}
|
|
7783
|
+
l(key) {
|
|
7784
|
+
return this.utilityService.getResourceValue(key);
|
|
7785
|
+
}
|
|
7786
|
+
getConfigurationValue(key) {
|
|
7787
|
+
return this.configurationService.getConfigurationValue(key);
|
|
7788
|
+
}
|
|
7789
|
+
getLanguageModeValue() {
|
|
7790
|
+
return this.configurationService.getConfigurationValue("LanguageMode");
|
|
7791
|
+
}
|
|
7792
|
+
stopBlockUI() {
|
|
7793
|
+
this.utilityService.stopBlockUI();
|
|
7794
|
+
}
|
|
7795
|
+
startBlockUI() {
|
|
7796
|
+
this.utilityService.startBlockUI();
|
|
7797
|
+
}
|
|
7798
|
+
openModal(modal, size) {
|
|
7799
|
+
if (size)
|
|
7800
|
+
this.modalService.open(modal, { size: size, backdrop: 'static' });
|
|
7801
|
+
else
|
|
7802
|
+
this.modalService.open(modal, { backdrop: 'static' });
|
|
7803
|
+
}
|
|
7804
|
+
download(fileDTO, fileName) {
|
|
7805
|
+
/*let blob = new Blob([file]);*/
|
|
7806
|
+
let file = new Blob([fileDTO], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
|
|
7807
|
+
saveAs(file, fileName);
|
|
7808
|
+
}
|
|
7809
|
+
base64toBlob(base64Data, contentType) {
|
|
7810
|
+
contentType = contentType || '';
|
|
7811
|
+
var sliceSize = 1024;
|
|
7812
|
+
var byteCharacters = atob(base64Data);
|
|
7813
|
+
var bytesLength = byteCharacters.length;
|
|
7814
|
+
var slicesCount = Math.ceil(bytesLength / sliceSize);
|
|
7815
|
+
var byteArrays = new Array(slicesCount);
|
|
7816
|
+
for (var sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {
|
|
7817
|
+
var begin = sliceIndex * sliceSize;
|
|
7818
|
+
var end = Math.min(begin + sliceSize, bytesLength);
|
|
7819
|
+
var bytes = new Array(end - begin);
|
|
7820
|
+
for (var offset = begin, i = 0; offset < end; ++i, ++offset) {
|
|
7821
|
+
bytes[i] = byteCharacters[offset].charCodeAt(0);
|
|
7822
|
+
}
|
|
7823
|
+
byteArrays[sliceIndex] = new Uint8Array(bytes);
|
|
7824
|
+
}
|
|
7825
|
+
return new Blob(byteArrays, { type: contentType });
|
|
7826
|
+
}
|
|
7827
|
+
calculatePageTitle(title) {
|
|
7828
|
+
return title ? title.substring(0, 100) + ` | ${this.l("ApplicationName")}` : `${this.l("ApplicationName")}`;
|
|
7829
|
+
}
|
|
7830
|
+
getPagingFiltersValues(form, filters) {
|
|
7831
|
+
let model = new Object();
|
|
7832
|
+
for (var i = 0; i < filters.length; i++) {
|
|
7833
|
+
let filterItem = filters[i];
|
|
7834
|
+
if (form.controls[filterItem.FormControlName].value == undefined)
|
|
7835
|
+
continue;
|
|
7836
|
+
model[filterItem.ActionParameterName] = form.controls[filterItem.FormControlName].value == undefined ? '' : form.controls[filterItem.FormControlName].value;
|
|
7837
|
+
// params = params.append(filterItem.ActionParameterName, form.controls[filterItem.FormControlName].value == undefined ? '' : form.controls[filterItem.FormControlName].value);
|
|
7838
|
+
}
|
|
7839
|
+
return model;
|
|
7840
|
+
}
|
|
7841
|
+
removeControl(controlName, form) {
|
|
7842
|
+
form.removeControl(controlName);
|
|
7843
|
+
}
|
|
7844
|
+
copyToClipboard(val) {
|
|
7845
|
+
const selBox = document.createElement('textarea');
|
|
7846
|
+
selBox.style.position = 'fixed';
|
|
7847
|
+
selBox.style.left = '0';
|
|
7848
|
+
selBox.style.top = '0';
|
|
7849
|
+
selBox.style.opacity = '0';
|
|
7850
|
+
selBox.value = val;
|
|
7851
|
+
document.body.appendChild(selBox);
|
|
7852
|
+
selBox.focus();
|
|
7853
|
+
selBox.select();
|
|
7854
|
+
document.execCommand('copy');
|
|
7855
|
+
document.body.removeChild(selBox);
|
|
7856
|
+
this.utilityService.notifySuccessMessage(this.l("CopiedSuccessfully"));
|
|
7857
|
+
}
|
|
7858
|
+
addRequiredRule(control, controlOptions) {
|
|
7859
|
+
this.controlUtility.addRequiredToControl(control, controlOptions);
|
|
7860
|
+
}
|
|
7861
|
+
removeRequiredRule(control, controlOptions) {
|
|
7862
|
+
this.controlUtility.removeRequiredFromControl(control, controlOptions);
|
|
7863
|
+
}
|
|
7864
|
+
validateDates(form, fromDateControl, toDateControl, validationMessageKey) {
|
|
7865
|
+
var validator = new CustomValidation();
|
|
7866
|
+
validator.functionBody = (control) => {
|
|
7867
|
+
let fromDate = form.controls[fromDateControl].value;
|
|
7868
|
+
let toDate = form.controls[toDateControl].value;
|
|
7869
|
+
if (fromDate && toDate && toDate <= fromDate)
|
|
7870
|
+
return { 'customerError': true };
|
|
7871
|
+
return null;
|
|
7872
|
+
};
|
|
7873
|
+
validator.massage = this.l(validationMessageKey);
|
|
7874
|
+
return validator;
|
|
7875
|
+
}
|
|
7876
|
+
recalculatePageTitle() {
|
|
7877
|
+
this.titleService.setTitle(this.calculatePageTitle(""));
|
|
7878
|
+
}
|
|
7879
|
+
isEnglish() {
|
|
7880
|
+
return this.utilityService.isCurrentLanguageEnglish();
|
|
7881
|
+
}
|
|
7882
|
+
calculateInitials(name) {
|
|
7883
|
+
var _a;
|
|
7884
|
+
var fullName = name === null || name === void 0 ? void 0 : name.split(' ');
|
|
7885
|
+
if (!fullName)
|
|
7886
|
+
return null;
|
|
7887
|
+
var initials = fullName.shift().charAt(0) + ((_a = fullName.pop()) === null || _a === void 0 ? void 0 : _a.charAt(0));
|
|
7888
|
+
return initials.toUpperCase();
|
|
7889
|
+
}
|
|
7890
|
+
getCurrentUserInitials() {
|
|
7891
|
+
return this.calculateInitials(this.auhService.name());
|
|
7892
|
+
}
|
|
7893
|
+
getCurrentFailOver(val) {
|
|
7894
|
+
if (this.isEnglish()) {
|
|
7895
|
+
if (val.English)
|
|
7896
|
+
return val.English;
|
|
7897
|
+
else
|
|
7898
|
+
return val.Arabic;
|
|
7899
|
+
}
|
|
7900
|
+
else {
|
|
7901
|
+
if (val.Arabic)
|
|
7902
|
+
return val.Arabic;
|
|
7903
|
+
else
|
|
7904
|
+
return val.English;
|
|
7905
|
+
}
|
|
7906
|
+
}
|
|
7907
|
+
}
|
|
7908
|
+
AppBaseComponent.decorators = [
|
|
7909
|
+
{ type: Injectable }
|
|
7910
|
+
];
|
|
7911
|
+
AppBaseComponent.ctorParameters = () => [
|
|
7912
|
+
{ type: Injector }
|
|
7913
|
+
];
|
|
7914
|
+
|
|
7710
7915
|
// This file can be replaced during build by using the `fileReplacements` array.
|
|
7711
7916
|
// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.
|
|
7712
7917
|
// The list of file replacements can be found in `angular.json`.
|
|
@@ -7752,20 +7957,6 @@ class MultilingualControlOptionsBase {
|
|
|
7752
7957
|
}
|
|
7753
7958
|
}
|
|
7754
7959
|
|
|
7755
|
-
class CustomValidation {
|
|
7756
|
-
}
|
|
7757
|
-
class CustomValidator {
|
|
7758
|
-
// Number only validation
|
|
7759
|
-
static numeric(control) {
|
|
7760
|
-
let val = control.value;
|
|
7761
|
-
if (val === null || val === '')
|
|
7762
|
-
return null;
|
|
7763
|
-
if (!val.toString().match(/^[0-9]+(\.?[0-9]+)?$/))
|
|
7764
|
-
return { 'invalidNumber': true };
|
|
7765
|
-
return null;
|
|
7766
|
-
}
|
|
7767
|
-
}
|
|
7768
|
-
|
|
7769
7960
|
class MultiLingualTextBoxOptions extends MultilingualControlOptionsBase {
|
|
7770
7961
|
constructor() {
|
|
7771
7962
|
super(...arguments);
|
|
@@ -8074,6 +8265,105 @@ class RepeaterOptions {
|
|
|
8074
8265
|
}
|
|
8075
8266
|
}
|
|
8076
8267
|
|
|
8268
|
+
class FilterOptions {
|
|
8269
|
+
constructor() {
|
|
8270
|
+
this.ControlsOptions = [];
|
|
8271
|
+
this.ApplyFunction = null;
|
|
8272
|
+
this.RestFunction = null;
|
|
8273
|
+
this.ShowLoadingInFiltersBox = false;
|
|
8274
|
+
}
|
|
8275
|
+
}
|
|
8276
|
+
|
|
8277
|
+
class PageHeaderOptions {
|
|
8278
|
+
constructor() {
|
|
8279
|
+
this.BreadCrumb = new BreadCrumbModel();
|
|
8280
|
+
this.AddButton = new AddButton();
|
|
8281
|
+
this.EditButton = new EditButton();
|
|
8282
|
+
this.DeleteButton = new DeleteButton();
|
|
8283
|
+
this.ExportButton = new ExportButton();
|
|
8284
|
+
this.GridView = new GridViewModel();
|
|
8285
|
+
this.SearchTextBox = new TextBoxModel();
|
|
8286
|
+
this.FiltersButton = new FiltersButton();
|
|
8287
|
+
this.Filters = new FilterOptions();
|
|
8288
|
+
this.DropDownActions = new DropdownActions();
|
|
8289
|
+
}
|
|
8290
|
+
}
|
|
8291
|
+
class BreadCrumbModel {
|
|
8292
|
+
constructor() {
|
|
8293
|
+
this.BreadCrumbItems = [];
|
|
8294
|
+
}
|
|
8295
|
+
}
|
|
8296
|
+
class AddButton {
|
|
8297
|
+
constructor() {
|
|
8298
|
+
this.ButtonTextKey = "Add";
|
|
8299
|
+
this.Function = null;
|
|
8300
|
+
}
|
|
8301
|
+
}
|
|
8302
|
+
class EditButton {
|
|
8303
|
+
constructor() {
|
|
8304
|
+
this.ButtonTextKey = "Edit";
|
|
8305
|
+
this.Function = null;
|
|
8306
|
+
}
|
|
8307
|
+
}
|
|
8308
|
+
class DeleteButton {
|
|
8309
|
+
constructor() {
|
|
8310
|
+
this.ButtonTextKey = "Delete";
|
|
8311
|
+
this.Function = null;
|
|
8312
|
+
}
|
|
8313
|
+
}
|
|
8314
|
+
class FiltersButton {
|
|
8315
|
+
constructor() {
|
|
8316
|
+
this.ButtonTextKey = "Filter";
|
|
8317
|
+
this.Function = null;
|
|
8318
|
+
this.ShowLoadingInFiltersBox = true;
|
|
8319
|
+
this.ButtonTextKey = "Filter";
|
|
8320
|
+
}
|
|
8321
|
+
}
|
|
8322
|
+
class ExportButton {
|
|
8323
|
+
constructor() {
|
|
8324
|
+
this.ButtonTextKey = "Export";
|
|
8325
|
+
this.Function = null;
|
|
8326
|
+
}
|
|
8327
|
+
}
|
|
8328
|
+
class GridViewModel {
|
|
8329
|
+
constructor() {
|
|
8330
|
+
this.ToggleFunction = null;
|
|
8331
|
+
}
|
|
8332
|
+
}
|
|
8333
|
+
class TextBoxModel {
|
|
8334
|
+
constructor() {
|
|
8335
|
+
this.TextSearchBoxOptions = new TextBoxOptions();
|
|
8336
|
+
}
|
|
8337
|
+
}
|
|
8338
|
+
class DropdownActions {
|
|
8339
|
+
constructor() {
|
|
8340
|
+
this.DropdownActionItems = [];
|
|
8341
|
+
}
|
|
8342
|
+
}
|
|
8343
|
+
class DropdownActionItem {
|
|
8344
|
+
constructor(text, svg, functionName, routerLink = null) {
|
|
8345
|
+
this.Function = null;
|
|
8346
|
+
this.Text = text;
|
|
8347
|
+
this.SVG = svg;
|
|
8348
|
+
this.Function = functionName;
|
|
8349
|
+
this.RouterLink = routerLink;
|
|
8350
|
+
}
|
|
8351
|
+
}
|
|
8352
|
+
|
|
8353
|
+
class ControlFilterItem {
|
|
8354
|
+
constructor() {
|
|
8355
|
+
this.onChange = null;
|
|
8356
|
+
}
|
|
8357
|
+
}
|
|
8358
|
+
|
|
8359
|
+
class BreadCrumb {
|
|
8360
|
+
constructor(label, active, route = null) {
|
|
8361
|
+
this.label = label;
|
|
8362
|
+
this.active = active;
|
|
8363
|
+
this.route = route;
|
|
8364
|
+
}
|
|
8365
|
+
}
|
|
8366
|
+
|
|
8077
8367
|
var MenuListType;
|
|
8078
8368
|
(function (MenuListType) {
|
|
8079
8369
|
MenuListType[MenuListType["AdminType"] = 1] = "AdminType";
|
|
@@ -8397,5 +8687,5 @@ var FileType;
|
|
|
8397
8687
|
* Generated bundle index. Do not edit.
|
|
8398
8688
|
*/
|
|
8399
8689
|
|
|
8400
|
-
export { AppInjector, Attribute, AutocompleteDTO, AutocompleteOptions, AutocompleteTextBoxComponent, BBSFControlsModule, BBSFDatePipe, BBSFDateTimePipe, CalendarComponent, CalendarEventDTO, CalendarOptions, CalendarView, CancelDTO, CheckBoxComponent, CheckBoxOptions, ConfirmationModalComponent, ConfirmationModalOptions, ControlLayout, ControlOptionsBase, ControlUtility, Country, CustomValidation, CustomValidator, DataType, DateInputComponent, DatePickerOptions, DefaultIntl, DropdownListComponent, DropdownListItem, DropdownOptions, EditPersonalImage, EnglishArabicDTO, ErrorMassageValidation, FileType, FileUploadComponent, FileUploadModel, FileUploadOptions, FilterItem, FilterType, FontSize, ForceDirection, FormComponent, FormOptions, GlobalSettings, HtmlEditorComponent, HtmlEditorOptions, IconPosition, ImageType, ImageUploadOptions, ImageUploaderComponent, InputType, Insert, JwPaginationComponent, LanguageMode, LanguageValidation, MapAutoCompleteComponent, MapAutoCompleteOptions, MapAutocompleteDTO, MenuListType, Misc, MultiLingualHtmlEditorComponent, MultiLingualHtmlEditorOptions, MultiLingualTextAreaComponent, MultiLingualTextAreaOptions, MultiLingualTextBoxComponent, MultiLingualTextBoxOptions, MultilingualControlOptionsBase, MultipleFileUploadModel, NgTemplateNameDirective, OnPagingFiltersChangeService, PagingActionMode, PagingComponent, PagingDTO, PagingOptions, Para, PermissionSets, PhoneComponent, PhoneOptions, PickerType, ProfileImageUploadOptions, ProfileImageUploaderComponent, ProfilePictureDTO, RadioButtonComponent, RadioButtonItem, RadioButtonOptions, RangeNumber, RecaptchaComponent, RecaptchaModel, RecaptchaOptions, RenderComponentService, RepeaterComponent, RepeaterField, RepeaterFieldBuilderComponent, RepeaterItemFieldComponent, RepeaterOptions, RepeaterTableComponent, SaveDTO, SelectMode, StartView, Style, StyleConfirmationMode, TagInputView, TagsInputComponent, TagsInputDTO, TagsInputOptions, TextAreaComponent, TextAreaOptions, TextBoxOptions, TextboxComponent, ToggleSlideOptions, ToggleslideComponent, UploadPersonalImage, environment, options, ɵ0, BTagsInputComponent as ɵa };
|
|
8690
|
+
export { AddButton, AppBaseComponent, AppInjector, Attribute, AutocompleteDTO, AutocompleteOptions, AutocompleteTextBoxComponent, BBSFControlsModule, BBSFDatePipe, BBSFDateTimePipe, BreadCrumb, BreadCrumbModel, CalendarComponent, CalendarEventDTO, CalendarOptions, CalendarView, CancelDTO, CheckBoxComponent, CheckBoxOptions, ConfirmationModalComponent, ConfirmationModalOptions, ControlFilterItem, ControlLayout, ControlOptionsBase, ControlUtility, Country, CustomValidation, CustomValidator, DataType, DateInputComponent, DatePickerOptions, DefaultIntl, DeleteButton, DropdownActionItem, DropdownActions, DropdownListComponent, DropdownListItem, DropdownOptions, EditButton, EditPersonalImage, EnglishArabicDTO, ErrorMassageValidation, ExportButton, FileType, FileUploadComponent, FileUploadModel, FileUploadOptions, FilterItem, FilterOptions, FilterType, FiltersButton, FontSize, ForceDirection, FormComponent, FormOptions, GlobalSettings, GridViewModel, HtmlEditorComponent, HtmlEditorOptions, IconPosition, ImageType, ImageUploadOptions, ImageUploaderComponent, InputType, Insert, JwPaginationComponent, LanguageMode, LanguageValidation, MapAutoCompleteComponent, MapAutoCompleteOptions, MapAutocompleteDTO, MenuListType, Misc, MultiLingualHtmlEditorComponent, MultiLingualHtmlEditorOptions, MultiLingualTextAreaComponent, MultiLingualTextAreaOptions, MultiLingualTextBoxComponent, MultiLingualTextBoxOptions, MultilingualControlOptionsBase, MultipleFileUploadModel, NgTemplateNameDirective, OnPagingFiltersChangeService, PageHeaderComponentComponent, PageHeaderOptions, PagingActionMode, PagingComponent, PagingDTO, PagingOptions, Para, PermissionSets, PhoneComponent, PhoneOptions, PickerType, ProfileImageUploadOptions, ProfileImageUploaderComponent, ProfilePictureDTO, RadioButtonComponent, RadioButtonItem, RadioButtonOptions, RangeNumber, RecaptchaComponent, RecaptchaModel, RecaptchaOptions, RenderComponentService, RepeaterComponent, RepeaterField, RepeaterFieldBuilderComponent, RepeaterItemFieldComponent, RepeaterOptions, RepeaterTableComponent, SaveDTO, SelectMode, StartView, Style, StyleConfirmationMode, TagInputView, TagsInputComponent, TagsInputDTO, TagsInputOptions, TextAreaComponent, TextAreaOptions, TextBoxModel, TextBoxOptions, TextboxComponent, ToggleSlideOptions, ToggleslideComponent, UploadPersonalImage, environment, options, ɵ0, BTagsInputComponent as ɵa };
|
|
8401
8691
|
//# sourceMappingURL=bnsights-bbsf-controls.js.map
|