@3kles/kles-material-dynamicforms 1.0.5 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/3kles-kles-material-dynamicforms.metadata.json +1 -1
  2. package/bundles/3kles-kles-material-dynamicforms.umd.js +58 -13
  3. package/bundles/3kles-kles-material-dynamicforms.umd.js.map +1 -1
  4. package/bundles/3kles-kles-material-dynamicforms.umd.min.js +2 -2
  5. package/bundles/3kles-kles-material-dynamicforms.umd.min.js.map +1 -1
  6. package/esm2015/lib/directive/dynamic-field.directive.js +4 -2
  7. package/esm2015/lib/fields/button-toogle-group.component.js +37 -0
  8. package/esm2015/lib/fields/buttonchecker-form.component.js +3 -2
  9. package/esm2015/lib/fields/select.search.component.js +16 -4
  10. package/esm2015/lib/forms/buttonchecker-control.component.js +4 -2
  11. package/esm2015/lib/interfaces/field.config.interface.js +1 -1
  12. package/esm2015/lib/kles-material-dynamicforms.module.js +4 -2
  13. package/esm2015/lib/modules/material.module.js +6 -3
  14. package/esm2015/public-api.js +2 -1
  15. package/esm5/lib/directive/dynamic-field.directive.js +4 -2
  16. package/esm5/lib/fields/button-toogle-group.component.js +33 -0
  17. package/esm5/lib/fields/buttonchecker-form.component.js +2 -2
  18. package/esm5/lib/fields/select.search.component.js +16 -4
  19. package/esm5/lib/forms/buttonchecker-control.component.js +2 -2
  20. package/esm5/lib/interfaces/field.config.interface.js +1 -1
  21. package/esm5/lib/kles-material-dynamicforms.module.js +4 -2
  22. package/esm5/lib/modules/material.module.js +6 -3
  23. package/esm5/public-api.js +2 -1
  24. package/fesm2015/3kles-kles-material-dynamicforms.js +62 -10
  25. package/fesm2015/3kles-kles-material-dynamicforms.js.map +1 -1
  26. package/fesm5/3kles-kles-material-dynamicforms.js +55 -10
  27. package/fesm5/3kles-kles-material-dynamicforms.js.map +1 -1
  28. package/lib/fields/button-toogle-group.component.d.ts +7 -0
  29. package/lib/interfaces/field.config.interface.d.ts +1 -0
  30. package/package.json +1 -1
  31. package/public-api.d.ts +1 -0
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('@angular/cdk/scrolling'), require('@angular/material/core'), require('@angular/material/slider'), require('@angular/material/button'), require('@angular/material/toolbar'), require('@angular/material/icon'), require('@angular/material/sidenav'), require('@angular/material/badge'), require('@angular/material/list'), require('@angular/material/grid-list'), require('@angular/material/form-field'), require('@angular/material/datepicker'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/radio'), require('@angular/material/chips'), require('@angular/material/tooltip'), require('@angular/material/table'), require('@angular/material/paginator'), require('@angular/material/card'), require('@angular/material/menu'), require('@angular/cdk/table'), require('@angular/material/tabs'), require('@angular/material/progress-spinner'), require('@angular/material/checkbox'), require('@angular/material/dialog'), require('@angular/material/autocomplete'), require('@angular/material/progress-bar'), require('@angular/material/sort'), require('@angular/material/expansion'), require('@angular/material/snack-bar'), require('@angular/material/tree'), require('@angular/material/slide-toggle'), require('ngx-color-picker'), require('@angular/flex-layout'), require('@ngx-translate/core'), require('ngx-mat-select-search')) :
3
- typeof define === 'function' && define.amd ? define('@3kles/kles-material-dynamicforms', ['exports', '@angular/core', '@angular/common', '@angular/forms', 'rxjs', 'rxjs/operators', '@angular/cdk/scrolling', '@angular/material/core', '@angular/material/slider', '@angular/material/button', '@angular/material/toolbar', '@angular/material/icon', '@angular/material/sidenav', '@angular/material/badge', '@angular/material/list', '@angular/material/grid-list', '@angular/material/form-field', '@angular/material/datepicker', '@angular/material/input', '@angular/material/select', '@angular/material/radio', '@angular/material/chips', '@angular/material/tooltip', '@angular/material/table', '@angular/material/paginator', '@angular/material/card', '@angular/material/menu', '@angular/cdk/table', '@angular/material/tabs', '@angular/material/progress-spinner', '@angular/material/checkbox', '@angular/material/dialog', '@angular/material/autocomplete', '@angular/material/progress-bar', '@angular/material/sort', '@angular/material/expansion', '@angular/material/snack-bar', '@angular/material/tree', '@angular/material/slide-toggle', 'ngx-color-picker', '@angular/flex-layout', '@ngx-translate/core', 'ngx-mat-select-search'], factory) :
4
- (global = global || self, factory((global['3kles'] = global['3kles'] || {}, global['3kles']['kles-material-dynamicforms'] = {}), global.ng.core, global.ng.common, global.ng.forms, global.rxjs, global.rxjs.operators, global.ng.cdk.scrolling, global.ng.material.core, global.ng.material.slider, global.ng.material.button, global.ng.material.toolbar, global.ng.material.icon, global.ng.material.sidenav, global.ng.material.badge, global.ng.material.list, global.ng.material.gridList, global.ng.material.formField, global.ng.material.datepicker, global.ng.material.input, global.ng.material.select, global.ng.material.radio, global.ng.material.chips, global.ng.material.tooltip, global.ng.material.table, global.ng.material.paginator, global.ng.material.card, global.ng.material.menu, global.ng.cdk.table, global.ng.material.tabs, global.ng.material.progressSpinner, global.ng.material.checkbox, global.ng.material.dialog, global.ng.material.autocomplete, global.ng.material.progressBar, global.ng.material.sort, global.ng.material.expansion, global.ng.material.snackBar, global.ng.material.tree, global.ng.material.slideToggle, global.ngxColorPicker, global.ng.flexLayout, global.core$2, global.ngxMatSelectSearch));
5
- }(this, (function (exports, core, common, forms, rxjs, operators, scrolling, core$1, slider, button, toolbar, icon, sidenav, badge, list, gridList, formField, datepicker, input, select, radio, chips, tooltip, table, paginator, card, menu, table$1, tabs, progressSpinner, checkbox, dialog, autocomplete, progressBar, sort, expansion, snackBar, tree, slideToggle, ngxColorPicker, flexLayout, core$2, ngxMatSelectSearch) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('@angular/cdk/scrolling'), require('@angular/material/core'), require('@angular/material/slider'), require('@angular/material/button'), require('@angular/material/toolbar'), require('@angular/material/icon'), require('@angular/material/sidenav'), require('@angular/material/badge'), require('@angular/material/list'), require('@angular/material/grid-list'), require('@angular/material/form-field'), require('@angular/material/datepicker'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/radio'), require('@angular/material/chips'), require('@angular/material/tooltip'), require('@angular/material/table'), require('@angular/material/paginator'), require('@angular/material/card'), require('@angular/material/menu'), require('@angular/cdk/table'), require('@angular/material/tabs'), require('@angular/material/progress-spinner'), require('@angular/material/checkbox'), require('@angular/material/dialog'), require('@angular/material/autocomplete'), require('@angular/material/progress-bar'), require('@angular/material/sort'), require('@angular/material/expansion'), require('@angular/material/snack-bar'), require('@angular/material/tree'), require('@angular/material/slide-toggle'), require('ngx-color-picker'), require('@angular/material/button-toggle'), require('@angular/flex-layout'), require('@ngx-translate/core'), require('ngx-mat-select-search')) :
3
+ typeof define === 'function' && define.amd ? define('@3kles/kles-material-dynamicforms', ['exports', '@angular/core', '@angular/common', '@angular/forms', 'rxjs', 'rxjs/operators', '@angular/cdk/scrolling', '@angular/material/core', '@angular/material/slider', '@angular/material/button', '@angular/material/toolbar', '@angular/material/icon', '@angular/material/sidenav', '@angular/material/badge', '@angular/material/list', '@angular/material/grid-list', '@angular/material/form-field', '@angular/material/datepicker', '@angular/material/input', '@angular/material/select', '@angular/material/radio', '@angular/material/chips', '@angular/material/tooltip', '@angular/material/table', '@angular/material/paginator', '@angular/material/card', '@angular/material/menu', '@angular/cdk/table', '@angular/material/tabs', '@angular/material/progress-spinner', '@angular/material/checkbox', '@angular/material/dialog', '@angular/material/autocomplete', '@angular/material/progress-bar', '@angular/material/sort', '@angular/material/expansion', '@angular/material/snack-bar', '@angular/material/tree', '@angular/material/slide-toggle', 'ngx-color-picker', '@angular/material/button-toggle', '@angular/flex-layout', '@ngx-translate/core', 'ngx-mat-select-search'], factory) :
4
+ (global = global || self, factory((global['3kles'] = global['3kles'] || {}, global['3kles']['kles-material-dynamicforms'] = {}), global.ng.core, global.ng.common, global.ng.forms, global.rxjs, global.rxjs.operators, global.ng.cdk.scrolling, global.ng.material.core, global.ng.material.slider, global.ng.material.button, global.ng.material.toolbar, global.ng.material.icon, global.ng.material.sidenav, global.ng.material.badge, global.ng.material.list, global.ng.material.gridList, global.ng.material.formField, global.ng.material.datepicker, global.ng.material.input, global.ng.material.select, global.ng.material.radio, global.ng.material.chips, global.ng.material.tooltip, global.ng.material.table, global.ng.material.paginator, global.ng.material.card, global.ng.material.menu, global.ng.cdk.table, global.ng.material.tabs, global.ng.material.progressSpinner, global.ng.material.checkbox, global.ng.material.dialog, global.ng.material.autocomplete, global.ng.material.progressBar, global.ng.material.sort, global.ng.material.expansion, global.ng.material.snackBar, global.ng.material.tree, global.ng.material.slideToggle, global.ngxColorPicker, global.ng.material.buttonToggle, global.ng.flexLayout, global.core$2, global.ngxMatSelectSearch));
5
+ }(this, (function (exports, core, common, forms, rxjs, operators, scrolling, core$1, slider, button, toolbar, icon, sidenav, badge, list, gridList, formField, datepicker, input, select, radio, chips, tooltip, table, paginator, card, menu, table$1, tabs, progressSpinner, checkbox, dialog, autocomplete, progressBar, sort, expansion, snackBar, tree, slideToggle, ngxColorPicker, buttonToggle, flexLayout, core$2, ngxMatSelectSearch) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -901,8 +901,19 @@
901
901
  return _this.options$.pipe(operators.map(function (options) {
902
902
  return options
903
903
  .filter(function (option) {
904
- if (_this.field.property) {
905
- return option[_this.field.property].toString().toLowerCase().indexOf(search_1) > -1;
904
+ if (_this.field.searchKeys && _this.field.searchKeys.length) {
905
+ return _this.field.searchKeys.some(function (searchKey) {
906
+ if (option[searchKey]) {
907
+ return option[searchKey].toString().toLowerCase().indexOf(search_1) > -1;
908
+ }
909
+ return false;
910
+ }) || (_this.field.property ?
911
+ option[_this.field.property].toString().toLowerCase().indexOf(search_1) > -1 : false);
912
+ }
913
+ else {
914
+ if (_this.field.property) {
915
+ return option[_this.field.property].toString().toLowerCase().indexOf(search_1) > -1;
916
+ }
906
917
  }
907
918
  return option.toString().toLowerCase().indexOf(search_1) > -1;
908
919
  });
@@ -912,7 +923,8 @@
912
923
  return _this.options$;
913
924
  }
914
925
  })).subscribe(this.optionsFiltered$);
915
- this.group.controls[this.field.name].valueChanges.pipe(operators.takeUntil(this._onDestroy), operators.switchMap(function (selected) {
926
+ this.group.controls[this.field.name]
927
+ .valueChanges.pipe(operators.takeUntil(this._onDestroy), operators.startWith(this.group.controls[this.field.name].value), operators.switchMap(function (selected) {
916
928
  return _this.optionsFiltered$.pipe(operators.map(function (options) {
917
929
  if (!selected) {
918
930
  return false;
@@ -1025,6 +1037,34 @@
1025
1037
  return KlesFormSelectionListComponent;
1026
1038
  }(KlesFieldAbstract));
1027
1039
 
1040
+ var KlesFormButtonToogleGroupComponent = /** @class */ (function (_super) {
1041
+ __extends(KlesFormButtonToogleGroupComponent, _super);
1042
+ function KlesFormButtonToogleGroupComponent() {
1043
+ return _super !== null && _super.apply(this, arguments) || this;
1044
+ }
1045
+ KlesFormButtonToogleGroupComponent.prototype.ngOnInit = function () {
1046
+ _super.prototype.ngOnInit.call(this);
1047
+ if (!(this.field.options instanceof rxjs.Observable)) {
1048
+ this.options$ = rxjs.of(this.field.options);
1049
+ }
1050
+ else {
1051
+ this.options$ = this.field.options;
1052
+ }
1053
+ };
1054
+ KlesFormButtonToogleGroupComponent = __decorate([
1055
+ core.Component({
1056
+ selector: 'kles-form-button-toogle-group',
1057
+ template: "\n <div [formGroup]=\"group\" class=\"form-element\">\n <mat-button-toggle-group [formControlName]=\"field.name\" [multiple]=\"field.multiple\"\n [attr.id]=\"field.id\" [ngClass]=\"field.ngClass\">\n <mat-button-toggle *ngFor=\"let item of options$ | async\" [value]=\"item\">\n {{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n"
1058
+ })
1059
+ ], KlesFormButtonToogleGroupComponent);
1060
+ return KlesFormButtonToogleGroupComponent;
1061
+ }(KlesFieldAbstract));
1062
+ // <mat-button-toggle-group [formControlName]="field.name">
1063
+ // <mat-button-toggle value="bold">Bold</mat-button-toggle>
1064
+ // <mat-button-toggle value="italic">Italic</mat-button-toggle>
1065
+ // <mat-button-toggle value="underline">Underline</mat-button-toggle>
1066
+ // </mat-button-toggle-group>
1067
+
1028
1068
  var componentMapper = {
1029
1069
  label: KlesFormLabelComponent,
1030
1070
  input: KlesFormInputComponent,
@@ -1041,7 +1081,8 @@
1041
1081
  selectSearch: KlesFormSelectSearchComponent,
1042
1082
  lineBreak: KlesFormLineBreakComponent,
1043
1083
  link: KlesFormLinkComponent,
1044
- selectionList: KlesFormSelectionListComponent
1084
+ selectionList: KlesFormSelectionListComponent,
1085
+ buttonToogleGroup: KlesFormButtonToogleGroupComponent
1045
1086
  };
1046
1087
  var KlesDynamicFieldDirective = /** @class */ (function () {
1047
1088
  function KlesDynamicFieldDirective(resolver, container) {
@@ -1150,7 +1191,8 @@
1150
1191
  slider.MatSliderModule,
1151
1192
  button.MatButtonModule,
1152
1193
  slideToggle.MatSlideToggleModule,
1153
- ngxColorPicker.ColorPickerModule
1194
+ ngxColorPicker.ColorPickerModule,
1195
+ buttonToggle.MatButtonToggleModule
1154
1196
  ],
1155
1197
  exports: [
1156
1198
  button.MatButtonModule,
@@ -1188,7 +1230,8 @@
1188
1230
  slideToggle.MatSlideToggleModule,
1189
1231
  ngxColorPicker.ColorPickerModule,
1190
1232
  scrolling.ScrollingModule,
1191
- scrolling.CdkScrollable
1233
+ scrolling.CdkScrollable,
1234
+ buttonToggle.MatButtonToggleModule
1192
1235
  ],
1193
1236
  providers: [
1194
1237
  datepicker.MatDatepickerModule,
@@ -1326,7 +1369,7 @@
1326
1369
  KlesButtonCheckerComponent = KlesButtonCheckerComponent_1 = __decorate([
1327
1370
  core.Component({
1328
1371
  selector: 'kles-button-checker',
1329
- template: "\n <span *ngIf=\"value.error && !value.busy\">\n <kles-button \n [classButton]=\"classButton\" \n [name]=\"name\" [label]=\"label\" [color]=\"color\" \n [icon]=\"icon\" [iconSvg]=\"iconSvg\"\n [value]=\"value\" matBadge=\"{{countError()}}\" (click)=\"click($event)\">\n </kles-button>\n </span>\n <span style=\"text-align: center;\" *ngIf=\"value.busy||false\">\n <span style=\"text-align: center;margin-right: 10px\">\n <mat-spinner [diameter]=\"25\"></mat-spinner>\n </span>\n <span *ngIf=\"value.message\" style=\"margin-right: 10px\">\n {{value.message|translate}}...\n </span>\n </span>\n ",
1372
+ template: "\n <span *ngIf=\"value.error && !value.busy\">\n <kles-button \n [classButton]=\"classButton\" \n [name]=\"name\" [label]=\"label\" [color]=\"color\" \n [icon]=\"icon\" [iconSvg]=\"iconSvg\"\n [value]=\"value\" \n [tooltip]=\"tooltip\"\n matBadge=\"{{countError()}}\" (click)=\"click($event)\">\n </kles-button>\n </span>\n <span style=\"text-align: center;\" *ngIf=\"value.busy||false\">\n <span style=\"text-align: center;margin-right: 10px\">\n <mat-spinner [diameter]=\"25\"></mat-spinner>\n </span>\n <span *ngIf=\"value.message\" style=\"margin-right: 10px\">\n {{value.message|translate}}...\n </span>\n </span>\n ",
1330
1373
  providers: [
1331
1374
  {
1332
1375
  provide: forms.NG_VALUE_ACCESSOR,
@@ -1350,7 +1393,7 @@
1350
1393
  KlesFormButtonCheckerComponent = __decorate([
1351
1394
  core.Component({
1352
1395
  selector: 'kles-form-button-checker',
1353
- template: "\n <div [formGroup]=\"group\">\n <kles-button-checker\n [attr.id]=\"field.id\" [classButton]=\"field.ngClass\" \n [name]=\"field.name\" [label]=\"field.label\" [color]=\"field.color\" \n [icon]=\"field.icon\"\n [iconSvg]=\"field.iconSvg\"\n [value]=\"field.value\"\n [formControlName]=\"field.name\">\n </kles-button-checker>\n </div>\n "
1396
+ template: "\n <div [formGroup]=\"group\">\n <kles-button-checker\n [attr.id]=\"field.id\" [classButton]=\"field.ngClass\" \n [name]=\"field.name\" [label]=\"field.label\" [color]=\"field.color\" \n [icon]=\"field.icon\"\n [iconSvg]=\"field.iconSvg\"\n [value]=\"field.value\"\n [formControlName]=\"field.name\"\n [tooltip]=\"field.tooltip\">\n </kles-button-checker>\n </div>\n "
1354
1397
  })
1355
1398
  ], KlesFormButtonCheckerComponent);
1356
1399
  return KlesFormButtonCheckerComponent;
@@ -1646,7 +1689,8 @@
1646
1689
  KlesFormLineBreakComponent,
1647
1690
  KlesFormLinkComponent,
1648
1691
  KlesFormSlideToggleComponent,
1649
- KlesFormSelectionListComponent
1692
+ KlesFormSelectionListComponent,
1693
+ KlesFormButtonToogleGroupComponent
1650
1694
  ];
1651
1695
  var directives = [KlesDynamicFieldDirective, KlesComponentDirective];
1652
1696
  var pipes = [KlesTransformPipe, ArrayFormatPipe];
@@ -1724,6 +1768,7 @@
1724
1768
  exports.KlesFormButtonCheckerComponent = KlesFormButtonCheckerComponent;
1725
1769
  exports.KlesFormButtonComponent = KlesFormButtonComponent;
1726
1770
  exports.KlesFormButtonFileComponent = KlesFormButtonFileComponent;
1771
+ exports.KlesFormButtonToogleGroupComponent = KlesFormButtonToogleGroupComponent;
1727
1772
  exports.KlesFormCheckboxComponent = KlesFormCheckboxComponent;
1728
1773
  exports.KlesFormChipComponent = KlesFormChipComponent;
1729
1774
  exports.KlesFormColorComponent = KlesFormColorComponent;