@smartsoft001/crud-shell-angular 1.1.639 → 1.1.644

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.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@ngrx/store'), require('@angular/core'), require('@smartsoft001/angular'), require('rxjs/operators'), require('@smartsoft001/models'), require('moment'), require('lodash-decorators'), require('@ionic/angular'), require('rxjs'), require('lodash'), require('@angular/forms'), require('@angular/common'), require('@angular/common/http'), require('reflect-metadata'), require('@angular/router'), require('@ngx-translate/core')) :
3
3
  typeof define === 'function' && define.amd ? define('@smartsoft001/crud-shell-angular', ['exports', '@ngrx/store', '@angular/core', '@smartsoft001/angular', 'rxjs/operators', '@smartsoft001/models', 'moment', 'lodash-decorators', '@ionic/angular', 'rxjs', 'lodash', '@angular/forms', '@angular/common', '@angular/common/http', 'reflect-metadata', '@angular/router', '@ngx-translate/core'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.smartsoft001 = global.smartsoft001 || {}, global.smartsoft001["crud-shell-angular"] = {}), global.store, global.ng.core, global.angular, global.rxjs.operators, global.models, global.moment, global.lodashDecorators, global.angular$1, global.rxjs, global._, global.ng.forms, global.ng.common, global.ng.common.http, null, global.ng.router, global.core$1));
5
- })(this, (function (exports, store, core, angular, operators, models, moment, lodashDecorators, angular$1, rxjs, _, forms, common, http, reflectMetadata, router, core$1) { 'use strict';
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.smartsoft001 = global.smartsoft001 || {}, global.smartsoft001["crud-shell-angular"] = {}), global.store, global.ng.core, global.angular, global.rxjs.operators, global.models, global.moment, global.lodashDecorators, global.angular$1, global.rxjs, global._, global.ng.forms, global.ng.common, global.ng.common.http, null, global.ng.router, global.core));
5
+ })(this, (function (exports, store, i0, angular, operators, models, moment, lodashDecorators, angular$1, rxjs, _, forms, common, http, reflectMetadata, router, core) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -22,6 +22,7 @@
22
22
  return Object.freeze(n);
23
23
  }
24
24
 
25
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
25
26
  var moment__namespace = /*#__PURE__*/_interopNamespace(moment);
26
27
  var ___namespace = /*#__PURE__*/_interopNamespace(_);
27
28
 
@@ -354,7 +355,7 @@
354
355
  }());
355
356
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
356
357
  CrudConfig.decorators = [
357
- { type: core.Injectable }
358
+ { type: i0.Injectable }
358
359
  ];
359
360
  var CrudFullConfig = /** @class */ (function (_super) {
360
361
  __extends(CrudFullConfig, _super);
@@ -365,7 +366,7 @@
365
366
  }(CrudConfig));
366
367
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
367
368
  CrudFullConfig.decorators = [
368
- { type: core.Injectable }
369
+ { type: i0.Injectable }
369
370
  ];
370
371
 
371
372
  /*
@@ -662,7 +663,7 @@
662
663
  }());
663
664
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
664
665
  CrudFacade.decorators = [
665
- { type: core.Injectable }
666
+ { type: i0.Injectable }
666
667
  ];
667
668
  /**
668
669
  * @type {function(): !Array<(null|{
@@ -712,7 +713,7 @@
712
713
  }(angular.BaseComponent));
713
714
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
714
715
  ExportComponent.decorators = [
715
- { type: core.Component, args: [{
716
+ { type: i0.Component, args: [{
716
717
  selector: 'smart-crud-export',
717
718
  template: "<div class=\"smart-content\">\n <p>\n <smart-button [options]=\"buttonExportCsvOptions\">CSV</smart-button>\n </p>\n <p>\n <smart-button [options]=\"buttonExportXlsxOptions\">XLSX</smart-button>\n </p>\n</div>",
718
719
  styles: [".smart-content{padding:1.2rem}.smart-content p{margin:.6rem 0}.smart-content smart-button{width:100%;display:block}\n"]
@@ -729,7 +730,7 @@
729
730
  { type: CrudFacade },
730
731
  { type: angular.PopoverService },
731
732
  { type: angular.StyleService },
732
- { type: core.ElementRef }
733
+ { type: i0.ElementRef }
733
734
  ]; };
734
735
 
735
736
  var FilterComponent = /** @class */ (function () {
@@ -741,7 +742,7 @@
741
742
  }());
742
743
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
743
744
  FilterComponent.decorators = [
744
- { type: core.Component, args: [{
745
+ { type: i0.Component, args: [{
745
746
  selector: "smart-crud-filter",
746
747
  template: "<ion-item [ngSwitch]=\"item.fieldType\">\n <smart-crud-filter-date\n *ngSwitchCase=\"FieldType.date\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-date>\n\n <smart-crud-filter-date-with-edit\n *ngSwitchCase=\"FieldType.dateWithEdit\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-date-with-edit>\n\n <smart-crud-filter-radio\n *ngSwitchCase=\"FieldType.radio\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-radio>\n\n <smart-crud-filter-check\n *ngSwitchCase=\"FieldType.check\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-check>\n\n <smart-crud-filter-flag\n *ngSwitchCase=\"FieldType.flag\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-flag>\n\n <smart-crud-filter-text\n *ngSwitchDefault\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-text>\n</ion-item>\n",
747
748
  styles: [""]
@@ -757,8 +758,8 @@
757
758
  FilterComponent.ctorParameters = function () { return []; };
758
759
  /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
759
760
  FilterComponent.propDecorators = {
760
- item: [{ type: core.Input }],
761
- filter: [{ type: core.Input }]
761
+ item: [{ type: i0.Input }],
762
+ filter: [{ type: i0.Input }]
762
763
  };
763
764
 
764
765
  /**
@@ -772,7 +773,7 @@
772
773
  /**
773
774
  * @deprecated - please, use MODEL_POSSIBILITIES_PROVIDER from @smartsoft001/angular
774
775
  */
775
- var CRUD_MODEL_POSSIBILITIES_PROVIDER = new core.InjectionToken("CRUD_MODEL_POSSIBILITIES_PROVIDER");
776
+ var CRUD_MODEL_POSSIBILITIES_PROVIDER = new i0.InjectionToken("CRUD_MODEL_POSSIBILITIES_PROVIDER");
776
777
 
777
778
  var BaseComponent = /** @class */ (function () {
778
779
  function BaseComponent(facade, config, modelPossibilitiesProvider) {
@@ -867,7 +868,7 @@
867
868
  }());
868
869
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
869
870
  BaseComponent.decorators = [
870
- { type: core.Directive }
871
+ { type: i0.Directive }
871
872
  ];
872
873
  /**
873
874
  * @type {function(): !Array<(null|{
@@ -879,12 +880,12 @@
879
880
  BaseComponent.ctorParameters = function () { return [
880
881
  { type: CrudFacade },
881
882
  { type: CrudConfig },
882
- { type: ICrudModelPossibilitiesProvider, decorators: [{ type: core.Optional }, { type: core.Inject, args: [CRUD_MODEL_POSSIBILITIES_PROVIDER,] }] }
883
+ { type: ICrudModelPossibilitiesProvider, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [CRUD_MODEL_POSSIBILITIES_PROVIDER,] }] }
883
884
  ]; };
884
885
  /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
885
886
  BaseComponent.propDecorators = {
886
- item: [{ type: core.Input }],
887
- filter: [{ type: core.Input }]
887
+ item: [{ type: i0.Input }],
888
+ filter: [{ type: i0.Input }]
888
889
  };
889
890
  __decorate([
890
891
  lodashDecorators.Debounce(500),
@@ -914,7 +915,7 @@
914
915
  }(BaseComponent));
915
916
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
916
917
  FilterDateComponent.decorators = [
917
- { type: core.Component, args: [{
918
+ { type: i0.Component, args: [{
918
919
  selector: 'smart-crud-filter-date',
919
920
  template: "<ion-row>\n <ion-col>\n <ion-label position=\"floating\">\n {{ item.label | translate }}\n </ion-label>\n <ion-datetime displayFormat=\"YYYY-MM-DD\"\n pickerFormat=\"YYYY-MM-DD\"\n [(ngModel)]=\"customValue\"></ion-datetime>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"value\">\n <ion-button color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n</ion-row>",
920
921
  styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"]
@@ -952,7 +953,7 @@
952
953
  }(FilterDateComponent));
953
954
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
954
955
  FilterDateWithEditComponent.decorators = [
955
- { type: core.Component, args: [{
956
+ { type: i0.Component, args: [{
956
957
  selector: 'smart-crud-filter-date-with-edit',
957
958
  template: "<ion-row>\n <ion-col>\n <ion-label position=\"floating\">\n {{ item.label | translate }}\n </ion-label>\n\n <ion-input placeholder=\"YYYY-MM-DD\"\n [(ngModel)]=\"customValue\"\n [pattern]=\"'([12]\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01]))'\"\n ></ion-input>\n <ion-datetime [hidden]=\"true\"\n displayFormat=\"YYYY-MM-DD\"\n pickerFormat=\"YYYY-MM-DD\"\n [(ngModel)]=\"customValue\"></ion-datetime>\n </ion-col>\n <ion-col size=\"auto\">\n <ion-button (click)=\"open()\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"calendar-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"value\">\n <ion-button color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n</ion-row>",
958
959
  styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"]
@@ -960,7 +961,7 @@
960
961
  ];
961
962
  /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
962
963
  FilterDateWithEditComponent.propDecorators = {
963
- dateTimePicker: [{ type: core.ViewChild, args: [angular$1.IonDatetime, { read: angular$1.IonDatetime, static: false },] }]
964
+ dateTimePicker: [{ type: i0.ViewChild, args: [angular$1.IonDatetime, { read: angular$1.IonDatetime, static: false },] }]
964
965
  };
965
966
 
966
967
  var FilterRadioComponent = /** @class */ (function (_super) {
@@ -972,7 +973,7 @@
972
973
  }(BaseComponent));
973
974
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
974
975
  FilterRadioComponent.decorators = [
975
- { type: core.Component, args: [{
976
+ { type: i0.Component, args: [{
976
977
  selector: 'smart-crud-filter-radio',
977
978
  template: "<ion-row>\n <ion-col>\n <ion-radio-group [(ngModel)]=\"value\">\n <ion-item-divider>\n <ion-icon slot=\"start\" name=\"filter-outline\"></ion-icon>\n <ion-label>\n {{ item.label | translate }}\n </ion-label>\n <ion-button *ngIf=\"value\" slot=\"end\" color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-item-divider>\n\n <ion-item *ngFor=\"let item of possibilities$ | async\">\n <ion-label>{{ item.text | translate }}</ion-label>\n <ion-radio [value]=\"item.id\"></ion-radio>\n </ion-item>\n </ion-radio-group>\n </ion-col>\n <!-- <ion-col size=\"auto\" *ngIf=\"value\">\n <ion-button color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col> -->\n</ion-row>",
978
979
  styles: [":host{width:100%;margin-bottom:1.2rem}:host ion-radio{margin-right:2.4rem}:host ion-item-divider{font-weight:300;--padding-end: .8rem;font-size:1.2rem;--ion-background-color: linear-gradient(90deg, transparent, var(--ion-color-light))}:host ion-item-divider ion-icon{margin-right:1.6rem;font-size:1.6rem;--color: var(--ion-color-primary)}:host ion-item-divider ion-label{--padding: var(--smart-button-padding-left)/2 var(--smart-button-padding-top)/2 var(--smart-button-padding-right)/2 var(--smart-button-padding-bottom)/2}:host ion-item-divider .squere-button{margin:0;font-size:18px;height:36px;width:36px;padding:0;--padding-start: .2em;--padding-end: .2em}:host ion-item-divider .squere-button ion-icon{margin:0;padding:0}\n"]
@@ -988,7 +989,7 @@
988
989
  }(BaseComponent));
989
990
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
990
991
  FilterTextComponent.decorators = [
991
- { type: core.Component, args: [{
992
+ { type: i0.Component, args: [{
992
993
  selector: 'smart-crud-filter-text',
993
994
  template: "<ion-row>\n <ion-col>\n <ion-label position=\"floating\">\n {{ item.label | translate }}\n </ion-label>\n <ion-input [(ngModel)]=\"value\"></ion-input>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"value\">\n <ion-button color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n</ion-row>",
994
995
  styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"]
@@ -1004,7 +1005,7 @@
1004
1005
  }(BaseComponent));
1005
1006
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1006
1007
  FilterFlagComponent.decorators = [
1007
- { type: core.Component, args: [{
1008
+ { type: i0.Component, args: [{
1008
1009
  selector: 'smart-crud-filter-flag',
1009
1010
  template: "<ion-row>\n <ion-col>\n <div class=\"flag-container\">\n <ion-label position=\"static\">\n {{ item.label | translate }}\n </ion-label>\n <ion-checkbox [(ngModel)]=\"value\" slot=\"end\"></ion-checkbox>\n </div>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"value\">\n <ion-button color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n</ion-row>",
1010
1011
  styles: [":host{width:100%}:host .flag-container{width:100%;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;padding:0 1.2rem 0 0}:host .flag-container ion-label{--color: var(--smart-color-dark);vertical-align:middle;padding:1.6rem 0}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"]
@@ -1040,7 +1041,7 @@
1040
1041
  }(BaseComponent));
1041
1042
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1042
1043
  FilterCheckComponent.decorators = [
1043
- { type: core.Component, args: [{
1044
+ { type: i0.Component, args: [{
1044
1045
  selector: 'smart-crud-filter-check',
1045
1046
  template: "<ion-row>\n <ion-col>\n <ion-item-divider>\n <ion-icon slot=\"start\" name=\"filter-outline\"></ion-icon>\n <ion-label>\n {{ item.label | translate }}\n </ion-label>\n <ion-button *ngIf=\"value && value.length\" slot=\"end\" color=\"danger\" (click)=\"refresh([])\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-item-divider>\n <ion-item *ngFor=\"let entry of list$ | async\">\n <ion-label>{{entry.value.text | translate}}</ion-label>\n <ion-checkbox slot=\"end\" [checked]=\"entry.isCheck\" (ionChange)=\"onCheckChange($event.detail.checked, entry)\"></ion-checkbox>\n </ion-item>\n </ion-col>\n <!-- <ion-col size=\"auto\" *ngIf=\"value\">\n <ion-button color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col> -->\n</ion-row>",
1046
1047
  styles: [":host{width:100%;margin-bottom:1.2rem}:host ion-radio{margin-right:2.4rem}:host ion-item-divider{font-weight:300;--padding-end: .8rem;font-size:1.2rem;--ion-background-color: linear-gradient(90deg, transparent, var(--ion-color-light))}:host ion-item-divider ion-icon{margin-right:1.6rem;font-size:1.6rem;--color: var(--ion-color-primary)}:host ion-item-divider ion-label{--padding: var(--smart-button-padding-left)/2 var(--smart-button-padding-top)/2 var(--smart-button-padding-right)/2 var(--smart-button-padding-bottom)/2}:host ion-item-divider .squere-button{margin:0;font-size:18px;height:36px;width:36px;padding:0;--padding-start: .2em;--padding-end: .2em}:host ion-item-divider .squere-button ion-icon{margin:0;padding:0}\n"]
@@ -1144,7 +1145,7 @@
1144
1145
  }());
1145
1146
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1146
1147
  FiltersComponent.decorators = [
1147
- { type: core.Component, args: [{
1148
+ { type: i0.Component, args: [{
1148
1149
  selector: 'smart-crud-filters',
1149
1150
  template: "<ion-header [hidden]=\"hideMenu\">\n <ion-toolbar>\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"onClose()\">\n <ion-icon slot=\"icon-only\" name=\"close\"> </ion-icon>\n </ion-button>\n </ion-buttons>\n <ion-title>{{ 'filters' | translate }}</ion-title>\n </ion-toolbar>\n</ion-header>\n<div class=\"filter-content\">\n <ng-container *ngIf=\"filter$ | async; let filter\">\n <ng-container *ngFor=\"let item of list\">\n <smart-crud-filter [item]=\"item\" [filter]=\"filter\"></smart-crud-filter>\n </ng-container>\n </ng-container>\n <div class=\"menu-bottom-space\">\n &nbsp;\n </div>\n</div>",
1150
1151
  styles: [":host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}ion-modal :host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){:host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}ion-modal :host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}}@media only screen and (max-width: 420px){:host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}ion-modal :host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}}:host ion-toolbar.ios{height:4.6rem;--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){:host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}:host ion-toolbar.ios ion-title{text-align:left;padding-left:5.2rem}:host ion-toolbar.ios ion-icon{color:var(--ion-color-light)}}@media only screen and (max-width: 420px){:host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}:host ion-toolbar.ios ion-title{text-align:left;padding-left:5.2rem}:host ion-toolbar.ios ion-icon{color:var(--ion-color-light)}}.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-title{text-align:left;padding-left:1.2rem}.modal-wrapper :host ion-toolbar.ios ion-icon{color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-buttons{margin:0}}@media only screen and (max-width: 420px){.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-title{text-align:left;padding-left:1.2rem}.modal-wrapper :host ion-toolbar.ios ion-icon{color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-buttons{margin:0}}:host ion-toolbar.ios.toolbar-searchbar ion-buttons{height:var(--smart-button-height);margin:.4rem}:host ion-toolbar ion-menu-button{color:var(--ion-color-light)}:host ion-toolbar ion-buttons.ios{height:var(--smart-button-height);margin:0}:host .filter-content{display:block;overflow:auto;overflow-x:hidden}:host .menu-bottom-space{height:75px}\n"]
@@ -1162,11 +1163,11 @@
1162
1163
  { type: CrudConfig },
1163
1164
  { type: CrudFacade },
1164
1165
  { type: angular.StyleService },
1165
- { type: core.ElementRef }
1166
+ { type: i0.ElementRef }
1166
1167
  ]; };
1167
1168
  /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
1168
1169
  FiltersComponent.propDecorators = {
1169
- hideMenu: [{ type: core.Input }]
1170
+ hideMenu: [{ type: i0.Input }]
1170
1171
  };
1171
1172
 
1172
1173
  var FiltersConfigComponent = /** @class */ (function () {
@@ -1193,7 +1194,7 @@
1193
1194
  }());
1194
1195
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1195
1196
  FiltersConfigComponent.decorators = [
1196
- { type: core.Component, args: [{
1197
+ { type: i0.Component, args: [{
1197
1198
  selector: 'smart-crud-filters-config',
1198
1199
  template: " <ng-container *ngIf=\"query$ | async; let query\">\n <ion-toolbar *ngIf=\"query?.length\">\n <ion-chip *ngFor=\"let item of query\" (click)=\"onRemoveQuery(item)\" color=\"medium\" outline=\"true\">\n <ion-icon name=\"filter-circle-outline\" color=\"primary\"></ion-icon>\n <ion-label>{{ 'MODEL.' + item.key | translate }} {{ item.type }} {{ item.value | translate }}</ion-label>\n <ion-icon name=\"close\" color=\"danger\"></ion-icon>\n </ion-chip>\n </ion-toolbar>\n</ng-container>",
1199
1200
  styles: [":host ion-label{font-size:calc(var(--default-font-size) - 2px)}\n"]
@@ -1209,7 +1210,7 @@
1209
1210
  FiltersConfigComponent.ctorParameters = function () { return [
1210
1211
  { type: CrudFacade },
1211
1212
  { type: angular.StyleService },
1212
- { type: core.ElementRef }
1213
+ { type: i0.ElementRef }
1213
1214
  ]; };
1214
1215
 
1215
1216
  var MultiselectComponent = /** @class */ (function () {
@@ -1279,7 +1280,7 @@
1279
1280
  }());
1280
1281
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1281
1282
  MultiselectComponent.decorators = [
1282
- { type: core.Component, args: [{
1283
+ { type: i0.Component, args: [{
1283
1284
  selector: 'smart-crud-multiselect',
1284
1285
  template: "<ng-container *ngIf=\"list$ | async; let list\">\n <ion-header>\n <ion-toolbar>\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"onClose()\">\n <ion-icon slot=\"icon-only\" name=\"close\"> </ion-icon>\n </ion-button>\n </ion-buttons>\n <ion-title>{{ 'selected' | translate }}: {{ list?.length }}</ion-title>\n </ion-toolbar>\n </ion-header>\n\n <div *ngIf=\"item\">\n <smart-form [options]=\"item | smartFormOptions : 'multiUpdate' : config.type\" (valuePartialChange)=\"onPartialChange($event, list)\" (validChange)=\"onValidChange($event)\"></smart-form>\n\n <smart-button style=\"float: right\" [disabled]=\"lock || !valid\" [options]=\"buttonOptions\">{{ 'change' | translate }}</smart-button>\n </div>\n</ng-container>",
1285
1286
  styles: [":host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){:host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}}@media only screen and (max-width: 420px){:host ion-toolbar{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}}:host ion-toolbar.ios{height:4.6rem;--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){:host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}:host ion-toolbar.ios ion-title{text-align:left;padding-left:5.2rem}:host ion-toolbar.ios ion-icon{color:var(--ion-color-light)}}@media only screen and (max-width: 420px){:host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-primary), var(--ion-color-tertiary));--color: var(--ion-color-light)}:host ion-toolbar.ios ion-title{text-align:left;padding-left:5.2rem}:host ion-toolbar.ios ion-icon{color:var(--ion-color-light)}}.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));--color: var(--ion-color-dark)}@media only screen and (max-width: 992px){.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-title{text-align:left;padding-left:1.2rem}.modal-wrapper :host ion-toolbar.ios ion-icon{color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-buttons{margin:0}}@media only screen and (max-width: 420px){.modal-wrapper :host ion-toolbar.ios{--background: linear-gradient(33deg, var(--ion-color-light), var(--ion-color-light-shade));color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-title{text-align:left;padding-left:1.2rem}.modal-wrapper :host ion-toolbar.ios ion-icon{color:var(--ion-color-dark)}.modal-wrapper :host ion-toolbar.ios ion-buttons{margin:0}}:host ion-toolbar ion-menu-button{color:var(--ion-color-light)}:host ion-toolbar ion-buttons.ios{height:var(--smart-button-height);margin:0}\n"]
@@ -1339,7 +1340,7 @@
1339
1340
  }(angular.BaseComponent));
1340
1341
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1341
1342
  GroupComponent.decorators = [
1342
- { type: core.Component, args: [{
1343
+ { type: i0.Component, args: [{
1343
1344
  selector: 'smart-crud-group',
1344
1345
  template: "<smart-accordion *ngFor=\"let item of groups\" [(show)]=\"item.show\" (showChange)=\"change($event, item)\">\n <smart-accordion-header [ngClass]=\"{ 'accordion-show': item.show }\">{{ item.text | translate }}</smart-accordion-header>\n <smart-accordion-body>\n <smart-list *ngIf=\"item.show && !item.children && listOptions\" [options]=\"listOptions\"></smart-list>\n <div *ngIf=\"item.children\" style=\"margin-left: 50px\">\n <smart-crud-group [groups]=\"item.children\" [listOptions]=\"listOptions\"></smart-crud-group>\n </div>\n </smart-accordion-body>\n</smart-accordion>\n<br/><br/><br/>",
1345
1346
  styles: [".accordion-show{font-weight:bolder}\n"]
@@ -1354,14 +1355,14 @@
1354
1355
  */
1355
1356
  GroupComponent.ctorParameters = function () { return [
1356
1357
  { type: angular.StyleService },
1357
- { type: core.ElementRef },
1358
+ { type: i0.ElementRef },
1358
1359
  { type: CrudFacade },
1359
- { type: core.ChangeDetectorRef }
1360
+ { type: i0.ChangeDetectorRef }
1360
1361
  ]; };
1361
1362
  /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
1362
1363
  GroupComponent.propDecorators = {
1363
- groups: [{ type: core.Input }],
1364
- listOptions: [{ type: core.Input }]
1364
+ groups: [{ type: i0.Input }],
1365
+ listOptions: [{ type: i0.Input }]
1365
1366
  };
1366
1367
 
1367
1368
  var SocketService = /** @class */ (function () {
@@ -1371,7 +1372,7 @@
1371
1372
  }());
1372
1373
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1373
1374
  SocketService.decorators = [
1374
- { type: core.Injectable }
1375
+ { type: i0.Injectable }
1375
1376
  ];
1376
1377
  var NotSocketService = /** @class */ (function () {
1377
1378
  function NotSocketService() {
@@ -1380,7 +1381,7 @@
1380
1381
  }());
1381
1382
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1382
1383
  NotSocketService.decorators = [
1383
- { type: core.Injectable }
1384
+ { type: i0.Injectable }
1384
1385
  ];
1385
1386
 
1386
1387
  var FormOptionsPipe = /** @class */ (function () {
@@ -1423,7 +1424,7 @@
1423
1424
  }());
1424
1425
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1425
1426
  FormOptionsPipe.decorators = [
1426
- { type: core.Pipe, args: [{
1427
+ { type: i0.Pipe, args: [{
1427
1428
  name: "smartFormOptions",
1428
1429
  },] }
1429
1430
  ];
@@ -1435,7 +1436,7 @@
1435
1436
  * @nocollapse
1436
1437
  */
1437
1438
  FormOptionsPipe.ctorParameters = function () { return [
1438
- { type: ICrudModelPossibilitiesProvider, decorators: [{ type: core.Optional }, { type: core.Inject, args: [CRUD_MODEL_POSSIBILITIES_PROVIDER,] }] }
1439
+ { type: ICrudModelPossibilitiesProvider, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [CRUD_MODEL_POSSIBILITIES_PROVIDER,] }] }
1439
1440
  ]; };
1440
1441
 
1441
1442
  var CrudPipesModule = /** @class */ (function () {
@@ -1445,7 +1446,7 @@
1445
1446
  }());
1446
1447
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1447
1448
  CrudPipesModule.decorators = [
1448
- { type: core.NgModule, args: [{
1449
+ { type: i0.NgModule, args: [{
1449
1450
  declarations: [
1450
1451
  FormOptionsPipe
1451
1452
  ],
@@ -1572,7 +1573,7 @@
1572
1573
  }());
1573
1574
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1574
1575
  CrudService.decorators = [
1575
- { type: core.Injectable }
1576
+ { type: i0.Injectable }
1576
1577
  ];
1577
1578
  /**
1578
1579
  * @type {function(): !Array<(null|{
@@ -1584,7 +1585,7 @@
1584
1585
  CrudService.ctorParameters = function () { return [
1585
1586
  { type: CrudConfig },
1586
1587
  { type: http.HttpClient },
1587
- { type: SocketService, decorators: [{ type: core.Optional }] }
1588
+ { type: SocketService, decorators: [{ type: i0.Optional }] }
1588
1589
  ]; };
1589
1590
 
1590
1591
  var CrudEffects = /** @class */ (function () {
@@ -1741,7 +1742,7 @@
1741
1742
  }());
1742
1743
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1743
1744
  CrudEffects.decorators = [
1744
- { type: core.Injectable }
1745
+ { type: i0.Injectable }
1745
1746
  ];
1746
1747
  /**
1747
1748
  * @type {function(): !Array<(null|{
@@ -1818,7 +1819,7 @@
1818
1819
  }());
1819
1820
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1820
1821
  CrudListPaginationFactory.decorators = [
1821
- { type: core.Injectable }
1822
+ { type: i0.Injectable }
1822
1823
  ];
1823
1824
  /**
1824
1825
  * @type {function(): !Array<(null|{
@@ -1852,7 +1853,7 @@
1852
1853
  }());
1853
1854
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1854
1855
  CrudComponentsModule.decorators = [
1855
- { type: core.NgModule, args: [{
1856
+ { type: i0.NgModule, args: [{
1856
1857
  declarations: __spreadArray([], __read(COMPONENTS)),
1857
1858
  entryComponents: __spreadArray([], __read(COMPONENTS)),
1858
1859
  imports: [
@@ -1995,7 +1996,7 @@
1995
1996
  }());
1996
1997
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1997
1998
  PageService.decorators = [
1998
- { type: core.Injectable }
1999
+ { type: i0.Injectable }
1999
2000
  ];
2000
2001
  /**
2001
2002
  * @type {function(): !Array<(null|{
@@ -2009,9 +2010,55 @@
2009
2010
  { type: CrudFullConfig }
2010
2011
  ]; };
2011
2012
 
2013
+ var CrudSearchService = /** @class */ (function () {
2014
+ function CrudSearchService() {
2015
+ this._filterSource = new rxjs.BehaviorSubject(null);
2016
+ this._enabledSource = new rxjs.BehaviorSubject(false);
2017
+ this.enabled$ = this._enabledSource.asObservable();
2018
+ this.filter$ = rxjs.combineLatest([
2019
+ this._filterSource.asObservable(), this.enabled$
2020
+ ]).pipe(operators.map(function (_a) {
2021
+ var _b = __read(_a, 2), filter = _b[0], enabled = _b[1];
2022
+ if (!enabled)
2023
+ return {};
2024
+ return filter;
2025
+ }));
2026
+ }
2027
+ Object.defineProperty(CrudSearchService.prototype, "filter", {
2028
+ get: function () {
2029
+ if (!this._enabledSource.value)
2030
+ return {};
2031
+ return this._filterSource.value;
2032
+ },
2033
+ enumerable: false,
2034
+ configurable: true
2035
+ });
2036
+ Object.defineProperty(CrudSearchService.prototype, "enabled", {
2037
+ get: function () {
2038
+ return this._enabledSource.value;
2039
+ },
2040
+ enumerable: false,
2041
+ configurable: true
2042
+ });
2043
+ CrudSearchService.prototype.setFilter = function (val) {
2044
+ this._filterSource.next(val);
2045
+ };
2046
+ CrudSearchService.prototype.setEnabled = function (val) {
2047
+ this._enabledSource.next(val);
2048
+ };
2049
+ return CrudSearchService;
2050
+ }());
2051
+ /** @nocollapse */ CrudSearchService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function CrudSearchService_Factory() { return new CrudSearchService(); }, token: CrudSearchService, providedIn: "root" });
2052
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
2053
+ CrudSearchService.decorators = [
2054
+ { type: i0.Injectable, args: [{
2055
+ providedIn: 'root'
2056
+ },] }
2057
+ ];
2058
+
2012
2059
  var ListComponent = /** @class */ (function (_super) {
2013
2060
  __extends(ListComponent, _super);
2014
- function ListComponent(facade, router, dynamicComponentLoader, injector, cd, menuService, hardwareService, paginationFacade, styleService, elementRef, pageService, config, moduleRef, componentFactoryResolver) {
2061
+ function ListComponent(facade, router, dynamicComponentLoader, injector, cd, menuService, hardwareService, paginationFacade, styleService, elementRef, pageService, config, searchService, moduleRef, componentFactoryResolver) {
2015
2062
  var _this = _super.call(this, cd, moduleRef, componentFactoryResolver) || this;
2016
2063
  _this.facade = facade;
2017
2064
  _this.router = router;
@@ -2025,12 +2072,13 @@
2025
2072
  _this.elementRef = elementRef;
2026
2073
  _this.pageService = pageService;
2027
2074
  _this.config = config;
2075
+ _this.searchService = searchService;
2028
2076
  _this.moduleRef = moduleRef;
2029
2077
  _this.componentFactoryResolver = componentFactoryResolver;
2030
2078
  _this.filter$ = _this.facade.filter$.pipe(operators.tap(function (filter) {
2031
2079
  _this.filter = filter;
2032
2080
  }));
2033
- _this.dynamicContents = new core.QueryList();
2081
+ _this.dynamicContents = new i0.QueryList();
2034
2082
  _this.facade.links$.pipe(_this.takeUntilDestroy).subscribe(function (links) {
2035
2083
  _this.links = links;
2036
2084
  });
@@ -2050,23 +2098,10 @@
2050
2098
  case 1:
2051
2099
  _h.sent();
2052
2100
  if (this.config.list.resetQuery === 'beforeInit') {
2053
- this.facade.read({
2054
- query: __spreadArray([], __read(this.config.baseQuery)),
2055
- paginationMode: this.config.list.paginationMode,
2056
- limit: this.config.pagination ? this.config.pagination.limit : null,
2057
- offset: this.config.pagination ? 0 : null,
2058
- sortBy: this.config.sort ? this.config.sort["default"] : null,
2059
- sortDesc: this.config.sort ? this.config.sort["defaultDesc"] : null,
2060
- });
2101
+ this.facade.read(Object.assign({ query: __spreadArray([], __read(this.config.baseQuery)), paginationMode: this.config.list.paginationMode, limit: this.config.pagination ? this.config.pagination.limit : null, offset: this.config.pagination ? 0 : null, sortBy: this.config.sort ? this.config.sort["default"] : null, sortDesc: this.config.sort ? this.config.sort["defaultDesc"] : null }, this.searchService.filter));
2061
2102
  }
2062
2103
  else {
2063
- this.facade.read({
2064
- paginationMode: this.config.list.paginationMode,
2065
- limit: this.config.pagination ? this.config.pagination.limit : null,
2066
- offset: this.config.pagination ? 0 : null,
2067
- sortBy: this.config.sort ? this.config.sort["default"] : null,
2068
- sortDesc: this.config.sort ? this.config.sort["defaultDesc"] : null,
2069
- });
2104
+ this.facade.read(Object.assign({ paginationMode: this.config.list.paginationMode, limit: this.config.pagination ? this.config.pagination.limit : null, offset: this.config.pagination ? 0 : null, sortBy: this.config.sort ? this.config.sort["default"] : null, sortDesc: this.config.sort ? this.config.sort["defaultDesc"] : null }, this.searchService.filter));
2070
2105
  }
2071
2106
  endButtons = this.getEndButtons();
2072
2107
  this.pageOptions = {
@@ -2324,7 +2359,7 @@
2324
2359
  }(angular.CreateDynamicComponent('crud-list-page')));
2325
2360
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
2326
2361
  ListComponent.decorators = [
2327
- { type: core.Component, args: [{
2362
+ { type: i0.Component, args: [{
2328
2363
  selector: "smart-crud-list-page",
2329
2364
  template: "\n <smart-page [options]=\"pageOptions\" *ngIf=\"filter$ | async\">\n <div #topTpl></div>\n <smart-crud-list-standard-page *ngIf=\"template === 'default'\" [listOptions]=\"listOptions\">\n <ng-container [ngTemplateOutlet]=\"contentTpl\"></ng-container>\n </smart-crud-list-standard-page>\n <ng-template #contentTpl>\n <ng-content></ng-content>\n </ng-template>\n <div class=\"dynamic-content\"></div>\n </smart-page>\n "
2330
2365
  },] }
@@ -2340,23 +2375,24 @@
2340
2375
  { type: CrudFacade },
2341
2376
  { type: router.Router },
2342
2377
  { type: angular.DynamicComponentLoader },
2343
- { type: core.Injector },
2344
- { type: core.ChangeDetectorRef },
2378
+ { type: i0.Injector },
2379
+ { type: i0.ChangeDetectorRef },
2345
2380
  { type: angular.MenuService },
2346
2381
  { type: angular.HardwareService },
2347
2382
  { type: CrudListPaginationFactory },
2348
2383
  { type: angular.StyleService },
2349
- { type: core.ElementRef },
2384
+ { type: i0.ElementRef },
2350
2385
  { type: PageService },
2351
2386
  { type: CrudFullConfig },
2352
- { type: core.NgModuleRef },
2353
- { type: core.ComponentFactoryResolver }
2387
+ { type: CrudSearchService },
2388
+ { type: i0.NgModuleRef },
2389
+ { type: i0.ComponentFactoryResolver }
2354
2390
  ]; };
2355
2391
  /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
2356
2392
  ListComponent.propDecorators = {
2357
- topTpl: [{ type: core.ViewChild, args: ["topTpl", { read: core.ViewContainerRef, static: false },] }],
2358
- contentTpl: [{ type: core.ViewChild, args: ["contentTpl", { read: core.TemplateRef, static: false },] }],
2359
- dynamicContents: [{ type: core.ViewChildren, args: [angular.DynamicContentDirective, { read: angular.DynamicContentDirective },] }]
2393
+ topTpl: [{ type: i0.ViewChild, args: ["topTpl", { read: i0.ViewContainerRef, static: false },] }],
2394
+ contentTpl: [{ type: i0.ViewChild, args: ["contentTpl", { read: i0.TemplateRef, static: false },] }],
2395
+ dynamicContents: [{ type: i0.ViewChildren, args: [angular.DynamicContentDirective, { read: angular.DynamicContentDirective },] }]
2360
2396
  };
2361
2397
 
2362
2398
  var CrudItemPageBaseComponent = /** @class */ (function (_super) {
@@ -2365,10 +2401,10 @@
2365
2401
  var _this = _super.call(this) || this;
2366
2402
  _this.config = config;
2367
2403
  _this.facade = facade;
2368
- _this.formComponents = new core.QueryList();
2369
- _this.onPartialChange = new core.EventEmitter();
2370
- _this.onChange = new core.EventEmitter();
2371
- _this.onValidChange = new core.EventEmitter();
2404
+ _this.formComponents = new i0.QueryList();
2405
+ _this.onPartialChange = new i0.EventEmitter();
2406
+ _this.onChange = new i0.EventEmitter();
2407
+ _this.onValidChange = new i0.EventEmitter();
2372
2408
  _this.selected$ = facade.selected$;
2373
2409
  return _this;
2374
2410
  }
@@ -2377,7 +2413,7 @@
2377
2413
  CrudItemPageBaseComponent.smartType = "crud-item-page";
2378
2414
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
2379
2415
  CrudItemPageBaseComponent.decorators = [
2380
- { type: core.Directive }
2416
+ { type: i0.Directive }
2381
2417
  ];
2382
2418
  /**
2383
2419
  * @type {function(): !Array<(null|{
@@ -2392,14 +2428,14 @@
2392
2428
  ]; };
2393
2429
  /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
2394
2430
  CrudItemPageBaseComponent.propDecorators = {
2395
- contentTpl: [{ type: core.ViewChild, args: ["contentTpl", { read: core.ViewContainerRef, static: true },] }],
2396
- formComponents: [{ type: core.ViewChildren, args: [angular.FormComponent, { read: angular.FormComponent },] }],
2397
- detailsOptions: [{ type: core.Input }],
2398
- mode: [{ type: core.Input }],
2399
- uniqueProvider: [{ type: core.Input }],
2400
- onPartialChange: [{ type: core.Output }],
2401
- onChange: [{ type: core.Output }],
2402
- onValidChange: [{ type: core.Output }]
2431
+ contentTpl: [{ type: i0.ViewChild, args: ["contentTpl", { read: i0.ViewContainerRef, static: true },] }],
2432
+ formComponents: [{ type: i0.ViewChildren, args: [angular.FormComponent, { read: angular.FormComponent },] }],
2433
+ detailsOptions: [{ type: i0.Input }],
2434
+ mode: [{ type: i0.Input }],
2435
+ uniqueProvider: [{ type: i0.Input }],
2436
+ onPartialChange: [{ type: i0.Output }],
2437
+ onChange: [{ type: i0.Output }],
2438
+ onValidChange: [{ type: i0.Output }]
2403
2439
  };
2404
2440
 
2405
2441
  var ItemStandardComponent = /** @class */ (function (_super) {
@@ -2411,7 +2447,7 @@
2411
2447
  }(CrudItemPageBaseComponent));
2412
2448
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
2413
2449
  ItemStandardComponent.decorators = [
2414
- { type: core.Component, args: [{
2450
+ { type: i0.Component, args: [{
2415
2451
  selector: "smart-crud-item-standard-page",
2416
2452
  template: "<ng-container *ngIf=\"mode === 'details'; else editTpl\">\n <smart-details *ngIf=\"detailsOptions\" [options]='detailsOptions'></smart-details>\n</ng-container>\n\n<ng-template #editTpl>\n <smart-form\n [options]=\"\n (selected$ | async)\n | smartFormOptions : mode:config?.type:uniqueProvider : config.inputComponents\n \"\n (valuePartialChange)=\"onPartialChange.emit($event)\"\n (valueChange)=\"onChange.emit($event)\"\n (validChange)=\"onValidChange.emit($event)\"\n ></smart-form>\n</ng-template>\n\n<br/><br/>",
2417
2453
  styles: [""]
@@ -2445,8 +2481,8 @@
2445
2481
  hideMenuButton: true,
2446
2482
  };
2447
2483
  _this.formValid = false;
2448
- _this.standardComponents = new core.QueryList();
2449
- _this.dynamicContents = new core.QueryList();
2484
+ _this.standardComponents = new i0.QueryList();
2485
+ _this.dynamicContents = new i0.QueryList();
2450
2486
  _this.selected$ = _this.facade.selected$;
2451
2487
  return _this;
2452
2488
  }
@@ -2713,7 +2749,7 @@
2713
2749
  }(angular.CreateDynamicComponent('crud-item-page')));
2714
2750
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
2715
2751
  ItemComponent.decorators = [
2716
- { type: core.Component, args: [{
2752
+ { type: i0.Component, args: [{
2717
2753
  selector: "smart-crud-item-page",
2718
2754
  template: "\n <smart-page [options]=\"pageOptions\">\n <div #topTpl></div>\n <smart-crud-item-standard-page *ngIf=\"template === 'default'\"\n [detailsOptions]=\"detailsOptions\"\n [mode]=\"mode\"\n [uniqueProvider]=\"uniqueProvider\"\n (onPartialChange)=\"onPartialChange($event)\"\n (onChange)=\"onChange($event)\"\n (onValidChange)=\"onValidChange($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"contentTpl\"></ng-container>\n </smart-crud-item-standard-page>\n <ng-template #contentTpl>\n <ng-content></ng-content>\n </ng-template>\n <div class=\"dynamic-content\"></div>\n </smart-page>\n "
2719
2755
  },] }
@@ -2732,25 +2768,25 @@
2732
2768
  { type: CrudService },
2733
2769
  { type: router.ActivatedRoute },
2734
2770
  { type: angular.DynamicComponentLoader },
2735
- { type: core$1.TranslateService },
2771
+ { type: core.TranslateService },
2736
2772
  { type: CrudFullConfig },
2737
2773
  { type: common.Location },
2738
- { type: core.ChangeDetectorRef },
2774
+ { type: i0.ChangeDetectorRef },
2739
2775
  { type: angular.AuthService },
2740
2776
  { type: angular.StyleService },
2741
- { type: core.ElementRef },
2777
+ { type: i0.ElementRef },
2742
2778
  { type: angular.ToastService },
2743
2779
  { type: PageService },
2744
- { type: core.NgModuleRef },
2745
- { type: core.ComponentFactoryResolver },
2780
+ { type: i0.NgModuleRef },
2781
+ { type: i0.ComponentFactoryResolver },
2746
2782
  { type: angular.DetailsService }
2747
2783
  ]; };
2748
2784
  /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
2749
2785
  ItemComponent.propDecorators = {
2750
- standardComponents: [{ type: core.ViewChildren, args: [ItemStandardComponent, { read: ItemStandardComponent },] }],
2751
- content: [{ type: core.ViewChild, args: [angular$1.IonContent, { static: true },] }],
2752
- contentTpl: [{ type: core.ViewChild, args: ["contentTpl", { read: core.TemplateRef, static: false },] }],
2753
- dynamicContents: [{ type: core.ViewChildren, args: [angular.DynamicContentDirective, { read: angular.DynamicContentDirective },] }]
2786
+ standardComponents: [{ type: i0.ViewChildren, args: [ItemStandardComponent, { read: ItemStandardComponent },] }],
2787
+ content: [{ type: i0.ViewChild, args: [angular$1.IonContent, { static: true },] }],
2788
+ contentTpl: [{ type: i0.ViewChild, args: ["contentTpl", { read: i0.TemplateRef, static: false },] }],
2789
+ dynamicContents: [{ type: i0.ViewChildren, args: [angular.DynamicContentDirective, { read: angular.DynamicContentDirective },] }]
2754
2790
  };
2755
2791
 
2756
2792
  var CrudListPageBaseComponent = /** @class */ (function (_super) {
@@ -2765,7 +2801,7 @@
2765
2801
  CrudListPageBaseComponent.smartType = "crud-list-page";
2766
2802
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
2767
2803
  CrudListPageBaseComponent.decorators = [
2768
- { type: core.Directive }
2804
+ { type: i0.Directive }
2769
2805
  ];
2770
2806
  /**
2771
2807
  * @type {function(): !Array<(null|{
@@ -2779,8 +2815,8 @@
2779
2815
  ]; };
2780
2816
  /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
2781
2817
  CrudListPageBaseComponent.propDecorators = {
2782
- contentTpl: [{ type: core.ViewChild, args: ["contentTpl", { read: core.ViewContainerRef, static: true },] }],
2783
- listOptions: [{ type: core.Input }]
2818
+ contentTpl: [{ type: i0.ViewChild, args: ["contentTpl", { read: i0.ViewContainerRef, static: true },] }],
2819
+ listOptions: [{ type: i0.Input }]
2784
2820
  };
2785
2821
 
2786
2822
  var ListStandardComponent = /** @class */ (function (_super) {
@@ -2792,7 +2828,7 @@
2792
2828
  }(CrudListPageBaseComponent));
2793
2829
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
2794
2830
  ListStandardComponent.decorators = [
2795
- { type: core.Component, args: [{
2831
+ { type: i0.Component, args: [{
2796
2832
  selector: "smart-crud-list-standard-page",
2797
2833
  template: "<smart-crud-filters-config></smart-crud-filters-config>\n<smart-list *ngIf=\"listOptions\" [hidden]=\"config.list?.groups\" [options]=\"listOptions\"></smart-list>\n<smart-crud-group *ngIf=\"config.list?.groups\" [groups]=\"config.list?.groups\" [listOptions]=\"listOptions\">\n</smart-crud-group>",
2798
2834
  styles: [""]
@@ -2816,7 +2852,7 @@
2816
2852
  }());
2817
2853
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
2818
2854
  CrudFullModule.decorators = [
2819
- { type: core.NgModule, args: [{
2855
+ { type: i0.NgModule, args: [{
2820
2856
  declarations: __spreadArray([], __read(PAGES)),
2821
2857
  entryComponents: __spreadArray([], __read(PAGES)),
2822
2858
  imports: [
@@ -2868,7 +2904,7 @@
2868
2904
  }());
2869
2905
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
2870
2906
  CrudCoreModule.decorators = [
2871
- { type: core.NgModule, args: [{
2907
+ { type: i0.NgModule, args: [{
2872
2908
  imports: [
2873
2909
  //AuthSharedModule,
2874
2910
  store.StoreModule,
@@ -2923,7 +2959,7 @@
2923
2959
  }());
2924
2960
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
2925
2961
  CrudModule.decorators = [
2926
- { type: core.NgModule, args: [{},] }
2962
+ { type: i0.NgModule, args: [{},] }
2927
2963
  ];
2928
2964
 
2929
2965
  /**
@@ -2943,6 +2979,7 @@
2943
2979
  exports.CrudListPaginationFactory = CrudListPaginationFactory;
2944
2980
  exports.CrudModule = CrudModule;
2945
2981
  exports.CrudPipesModule = CrudPipesModule;
2982
+ exports.CrudSearchService = CrudSearchService;
2946
2983
  exports.CrudService = CrudService;
2947
2984
  exports.ExportComponent = ExportComponent;
2948
2985
  exports.FilterCheckComponent = FilterCheckComponent;