@smartsoft001/crud-shell-angular 1.1.542 → 1.1.546

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 (71) hide show
  1. package/bundles/smartsoft001-crud-shell-angular.umd.js +162 -27
  2. package/bundles/smartsoft001-crud-shell-angular.umd.js.map +1 -1
  3. package/esm2015/lib/+state/crud.effects.js +8 -1
  4. package/esm2015/lib/+state/crud.effects.js.map +1 -1
  5. package/esm2015/lib/+state/crud.facade.js +8 -1
  6. package/esm2015/lib/+state/crud.facade.js.map +1 -1
  7. package/esm2015/lib/components/components.module.js +1 -0
  8. package/esm2015/lib/components/components.module.js.map +1 -1
  9. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  10. package/esm2015/lib/components/export/export.component.js +9 -2
  11. package/esm2015/lib/components/export/export.component.js.map +1 -1
  12. package/esm2015/lib/components/export/export.component.metadata.json +1 -1
  13. package/esm2015/lib/components/filter/base/base.component.js +9 -1
  14. package/esm2015/lib/components/filter/base/base.component.js.map +1 -1
  15. package/esm2015/lib/components/filter/check/check.component.js +2 -1
  16. package/esm2015/lib/components/filter/check/check.component.js.map +1 -1
  17. package/esm2015/lib/components/filter/check/check.component.metadata.json +1 -1
  18. package/esm2015/lib/components/filter/date/date.component.js +2 -1
  19. package/esm2015/lib/components/filter/date/date.component.js.map +1 -1
  20. package/esm2015/lib/components/filter/date/date.component.metadata.json +1 -1
  21. package/esm2015/lib/components/filter/date-with-edit/date-with-edit.component.js +3 -1
  22. package/esm2015/lib/components/filter/date-with-edit/date-with-edit.component.js.map +1 -1
  23. package/esm2015/lib/components/filter/date-with-edit/date-with-edit.component.metadata.json +1 -1
  24. package/esm2015/lib/components/filter/filter.component.js +9 -1
  25. package/esm2015/lib/components/filter/filter.component.js.map +1 -1
  26. package/esm2015/lib/components/filter/flag/flag.component.js +2 -1
  27. package/esm2015/lib/components/filter/flag/flag.component.js.map +1 -1
  28. package/esm2015/lib/components/filter/flag/flag.component.metadata.json +1 -1
  29. package/esm2015/lib/components/filter/radio/radio.component.js +2 -1
  30. package/esm2015/lib/components/filter/radio/radio.component.js.map +1 -1
  31. package/esm2015/lib/components/filter/radio/radio.component.metadata.json +1 -1
  32. package/esm2015/lib/components/filter/text/text.component.js +2 -1
  33. package/esm2015/lib/components/filter/text/text.component.js.map +1 -1
  34. package/esm2015/lib/components/filter/text/text.component.metadata.json +1 -1
  35. package/esm2015/lib/components/filters/filters.component.js +10 -2
  36. package/esm2015/lib/components/filters/filters.component.js.map +1 -1
  37. package/esm2015/lib/components/filters/filters.component.metadata.json +1 -1
  38. package/esm2015/lib/components/filters-config/filters-config.component.js +9 -2
  39. package/esm2015/lib/components/filters-config/filters-config.component.js.map +1 -1
  40. package/esm2015/lib/components/filters-config/filters-config.component.metadata.json +1 -1
  41. package/esm2015/lib/components/multiselect/multiselect.component.js +9 -2
  42. package/esm2015/lib/components/multiselect/multiselect.component.js.map +1 -1
  43. package/esm2015/lib/components/multiselect/multiselect.component.metadata.json +1 -1
  44. package/esm2015/lib/crud-full.module.js +8 -1
  45. package/esm2015/lib/crud-full.module.js.map +1 -1
  46. package/esm2015/lib/crud-full.module.ngfactory.js.map +1 -1
  47. package/esm2015/lib/crud.config.js +2 -0
  48. package/esm2015/lib/crud.config.js.map +1 -1
  49. package/esm2015/lib/crud.module.js +9 -1
  50. package/esm2015/lib/crud.module.js.map +1 -1
  51. package/esm2015/lib/crud.module.ngfactory.js.map +1 -1
  52. package/esm2015/lib/factories/list-pagination/list-pagination.factory.js +8 -1
  53. package/esm2015/lib/factories/list-pagination/list-pagination.factory.js.map +1 -1
  54. package/esm2015/lib/pages/base/base.component.js +8 -1
  55. package/esm2015/lib/pages/base/base.component.js.map +1 -1
  56. package/esm2015/lib/pages/item/item.component.js +9 -1
  57. package/esm2015/lib/pages/item/item.component.js.map +1 -1
  58. package/esm2015/lib/pages/list/list.component.js +8 -1
  59. package/esm2015/lib/pages/list/list.component.js.map +1 -1
  60. package/esm2015/lib/pipes/form-options/form-options.pipe.js +8 -1
  61. package/esm2015/lib/pipes/form-options/form-options.pipe.js.map +1 -1
  62. package/esm2015/lib/pipes/pipes.module.js +1 -0
  63. package/esm2015/lib/pipes/pipes.module.js.map +1 -1
  64. package/esm2015/lib/services/crud/crud.service.js +8 -1
  65. package/esm2015/lib/services/crud/crud.service.js.map +1 -1
  66. package/esm2015/lib/services/socket/socket.service.js +8 -1
  67. package/esm2015/lib/services/socket/socket.service.js.map +1 -1
  68. package/fesm2015/smartsoft001-crud-shell-angular.js +162 -27
  69. package/fesm2015/smartsoft001-crud-shell-angular.js.map +1 -1
  70. package/package.json +17 -17
  71. package/smartsoft001-crud-shell-angular.metadata.json +1 -1
@@ -29,11 +29,13 @@ const getCrudError = (entity) => createSelector(getCrudState(entity), (state) =>
29
29
 
30
30
  class CrudConfig {
31
31
  }
32
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
32
33
  CrudConfig.decorators = [
33
34
  { type: Injectable }
34
35
  ];
35
36
  class CrudFullConfig extends CrudConfig {
36
37
  }
38
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
37
39
  CrudFullConfig.decorators = [
38
40
  { type: Injectable }
39
41
  ];
@@ -323,10 +325,17 @@ class CrudFacade {
323
325
  return this.store;
324
326
  }
325
327
  }
328
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
326
329
  CrudFacade.decorators = [
327
330
  { type: Injectable }
328
331
  ];
329
- /** @nocollapse */
332
+ /**
333
+ * @type {function(): !Array<(null|{
334
+ * type: ?,
335
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
336
+ * })>}
337
+ * @nocollapse
338
+ */
330
339
  CrudFacade.ctorParameters = () => [
331
340
  { type: Store },
332
341
  { type: CrudConfig }
@@ -362,14 +371,21 @@ class ExportComponent extends BaseComponent$1 {
362
371
  };
363
372
  }
364
373
  }
374
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
365
375
  ExportComponent.decorators = [
366
376
  { type: Component, args: [{
367
377
  selector: 'smart-crud-export',
368
378
  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>",
369
- styles: [".smart-content{padding:1.2rem}.smart-content p{margin:.6rem 0}.smart-content smart-button{width:100%;display:block}"]
379
+ styles: [".smart-content{padding:1.2rem}.smart-content p{margin:.6rem 0}.smart-content smart-button{width:100%;display:block}\n"]
370
380
  },] }
371
381
  ];
372
- /** @nocollapse */
382
+ /**
383
+ * @type {function(): !Array<(null|{
384
+ * type: ?,
385
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
386
+ * })>}
387
+ * @nocollapse
388
+ */
373
389
  ExportComponent.ctorParameters = () => [
374
390
  { type: CrudFacade },
375
391
  { type: PopoverService },
@@ -383,6 +399,7 @@ class FilterComponent {
383
399
  }
384
400
  ngOnInit() { }
385
401
  }
402
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
386
403
  FilterComponent.decorators = [
387
404
  { type: Component, args: [{
388
405
  selector: "smart-crud-filter",
@@ -390,8 +407,15 @@ FilterComponent.decorators = [
390
407
  styles: [""]
391
408
  },] }
392
409
  ];
393
- /** @nocollapse */
410
+ /**
411
+ * @type {function(): !Array<(null|{
412
+ * type: ?,
413
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
414
+ * })>}
415
+ * @nocollapse
416
+ */
394
417
  FilterComponent.ctorParameters = () => [];
418
+ /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
395
419
  FilterComponent.propDecorators = {
396
420
  item: [{ type: Input }],
397
421
  filter: [{ type: Input }]
@@ -490,15 +514,23 @@ class BaseComponent {
490
514
  this.facade.read(this.filter);
491
515
  }
492
516
  }
517
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
493
518
  BaseComponent.decorators = [
494
519
  { type: Directive }
495
520
  ];
496
- /** @nocollapse */
521
+ /**
522
+ * @type {function(): !Array<(null|{
523
+ * type: ?,
524
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
525
+ * })>}
526
+ * @nocollapse
527
+ */
497
528
  BaseComponent.ctorParameters = () => [
498
529
  { type: CrudFacade },
499
530
  { type: CrudConfig },
500
531
  { type: ICrudModelPossibilitiesProvider, decorators: [{ type: Optional }, { type: Inject, args: [CRUD_MODEL_POSSIBILITIES_PROVIDER,] }] }
501
532
  ];
533
+ /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
502
534
  BaseComponent.propDecorators = {
503
535
  item: [{ type: Input }],
504
536
  filter: [{ type: Input }]
@@ -520,11 +552,12 @@ class FilterDateComponent extends BaseComponent {
520
552
  return this.value;
521
553
  }
522
554
  }
555
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
523
556
  FilterDateComponent.decorators = [
524
557
  { type: Component, args: [{
525
558
  selector: 'smart-crud-filter-date',
526
559
  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>",
527
- styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}"]
560
+ styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"]
528
561
  },] }
529
562
  ];
530
563
 
@@ -553,44 +586,49 @@ class FilterDateWithEditComponent extends FilterDateComponent {
553
586
  }
554
587
  }
555
588
  }
589
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
556
590
  FilterDateWithEditComponent.decorators = [
557
591
  { type: Component, args: [{
558
592
  selector: 'smart-crud-filter-date-with-edit',
559
593
  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>",
560
- styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}"]
594
+ styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"]
561
595
  },] }
562
596
  ];
597
+ /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
563
598
  FilterDateWithEditComponent.propDecorators = {
564
599
  dateTimePicker: [{ type: ViewChild, args: [IonDatetime, { read: IonDatetime, static: false },] }]
565
600
  };
566
601
 
567
602
  class FilterRadioComponent extends BaseComponent {
568
603
  }
604
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
569
605
  FilterRadioComponent.decorators = [
570
606
  { type: Component, args: [{
571
607
  selector: 'smart-crud-filter-radio',
572
608
  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>",
573
- 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}"]
609
+ 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"]
574
610
  },] }
575
611
  ];
576
612
 
577
613
  class FilterTextComponent extends BaseComponent {
578
614
  }
615
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
579
616
  FilterTextComponent.decorators = [
580
617
  { type: Component, args: [{
581
618
  selector: 'smart-crud-filter-text',
582
619
  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>",
583
- styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}"]
620
+ styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"]
584
621
  },] }
585
622
  ];
586
623
 
587
624
  class FilterFlagComponent extends BaseComponent {
588
625
  }
626
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
589
627
  FilterFlagComponent.decorators = [
590
628
  { type: Component, args: [{
591
629
  selector: 'smart-crud-filter-flag',
592
630
  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>",
593
- 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}"]
631
+ 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"]
594
632
  },] }
595
633
  ];
596
634
 
@@ -615,11 +653,12 @@ class FilterCheckComponent extends BaseComponent {
615
653
  }
616
654
  }
617
655
  }
656
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
618
657
  FilterCheckComponent.decorators = [
619
658
  { type: Component, args: [{
620
659
  selector: 'smart-crud-filter-check',
621
660
  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>",
622
- 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}"]
661
+ 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"]
623
662
  },] }
624
663
  ];
625
664
 
@@ -713,14 +752,21 @@ class FiltersComponent {
713
752
  this.filter$ = this.facade.filter$;
714
753
  }
715
754
  }
755
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
716
756
  FiltersComponent.decorators = [
717
757
  { type: Component, args: [{
718
758
  selector: 'smart-crud-filters',
719
759
  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\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",
720
- 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}"]
760
+ 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}\n"]
721
761
  },] }
722
762
  ];
723
- /** @nocollapse */
763
+ /**
764
+ * @type {function(): !Array<(null|{
765
+ * type: ?,
766
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
767
+ * })>}
768
+ * @nocollapse
769
+ */
724
770
  FiltersComponent.ctorParameters = () => [
725
771
  { type: MenuService },
726
772
  { type: CrudConfig },
@@ -728,6 +774,7 @@ FiltersComponent.ctorParameters = () => [
728
774
  { type: StyleService },
729
775
  { type: ElementRef }
730
776
  ];
777
+ /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
731
778
  FiltersComponent.propDecorators = {
732
779
  hideMenu: [{ type: Input }]
733
780
  };
@@ -753,14 +800,21 @@ class FiltersConfigComponent {
753
800
  }));
754
801
  }
755
802
  }
803
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
756
804
  FiltersConfigComponent.decorators = [
757
805
  { type: Component, args: [{
758
806
  selector: 'smart-crud-filters-config',
759
807
  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>",
760
- styles: [":host ion-label{font-size:calc(var(--default-font-size) - 2px)}"]
808
+ styles: [":host ion-label{font-size:calc(var(--default-font-size) - 2px)}\n"]
761
809
  },] }
762
810
  ];
763
- /** @nocollapse */
811
+ /**
812
+ * @type {function(): !Array<(null|{
813
+ * type: ?,
814
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
815
+ * })>}
816
+ * @nocollapse
817
+ */
764
818
  FiltersConfigComponent.ctorParameters = () => [
765
819
  { type: CrudFacade },
766
820
  { type: StyleService },
@@ -812,14 +866,21 @@ class MultiselectComponent {
812
866
  ngOnInit() {
813
867
  }
814
868
  }
869
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
815
870
  MultiselectComponent.decorators = [
816
871
  { type: Component, args: [{
817
872
  selector: 'smart-crud-multiselect',
818
873
  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>",
819
- 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}"]
874
+ 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"]
820
875
  },] }
821
876
  ];
822
- /** @nocollapse */
877
+ /**
878
+ * @type {function(): !Array<(null|{
879
+ * type: ?,
880
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
881
+ * })>}
882
+ * @nocollapse
883
+ */
823
884
  MultiselectComponent.ctorParameters = () => [
824
885
  { type: CrudFacade },
825
886
  { type: CrudConfig },
@@ -838,10 +899,17 @@ class SocketService extends Socket {
838
899
  this.crudConfig = crudConfig;
839
900
  }
840
901
  }
902
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
841
903
  SocketService.decorators = [
842
904
  { type: Injectable }
843
905
  ];
844
- /** @nocollapse */
906
+ /**
907
+ * @type {function(): !Array<(null|{
908
+ * type: ?,
909
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
910
+ * })>}
911
+ * @nocollapse
912
+ */
845
913
  SocketService.ctorParameters = () => [
846
914
  { type: CrudConfig }
847
915
  ];
@@ -957,10 +1025,17 @@ class CrudService {
957
1025
  return query ? "?" + query.replace("&", "") : "";
958
1026
  }
959
1027
  }
1028
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
960
1029
  CrudService.decorators = [
961
1030
  { type: Injectable }
962
1031
  ];
963
- /** @nocollapse */
1032
+ /**
1033
+ * @type {function(): !Array<(null|{
1034
+ * type: ?,
1035
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
1036
+ * })>}
1037
+ * @nocollapse
1038
+ */
964
1039
  CrudService.ctorParameters = () => [
965
1040
  { type: CrudConfig },
966
1041
  { type: HttpClient },
@@ -1117,10 +1192,17 @@ class CrudEffects {
1117
1192
  });
1118
1193
  }
1119
1194
  }
1195
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1120
1196
  CrudEffects.decorators = [
1121
1197
  { type: Injectable }
1122
1198
  ];
1123
- /** @nocollapse */
1199
+ /**
1200
+ * @type {function(): !Array<(null|{
1201
+ * type: ?,
1202
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
1203
+ * })>}
1204
+ * @nocollapse
1205
+ */
1124
1206
  CrudEffects.ctorParameters = () => [
1125
1207
  { type: ActionsSubject },
1126
1208
  { type: CrudService },
@@ -1253,18 +1335,26 @@ class FormOptionsPipe {
1253
1335
  }
1254
1336
  }
1255
1337
  }
1338
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1256
1339
  FormOptionsPipe.decorators = [
1257
1340
  { type: Pipe, args: [{
1258
1341
  name: "smartFormOptions",
1259
1342
  },] }
1260
1343
  ];
1261
- /** @nocollapse */
1344
+ /**
1345
+ * @type {function(): !Array<(null|{
1346
+ * type: ?,
1347
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
1348
+ * })>}
1349
+ * @nocollapse
1350
+ */
1262
1351
  FormOptionsPipe.ctorParameters = () => [
1263
1352
  { type: ICrudModelPossibilitiesProvider, decorators: [{ type: Optional }, { type: Inject, args: [CRUD_MODEL_POSSIBILITIES_PROVIDER,] }] }
1264
1353
  ];
1265
1354
 
1266
1355
  class CrudPipesModule {
1267
1356
  }
1357
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1268
1358
  CrudPipesModule.decorators = [
1269
1359
  { type: NgModule, args: [{
1270
1360
  declarations: [
@@ -1309,10 +1399,17 @@ class PageBaseComponent extends BaseComponent$1 {
1309
1399
  }
1310
1400
  }
1311
1401
  }
1402
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1312
1403
  PageBaseComponent.decorators = [
1313
1404
  { type: Directive }
1314
1405
  ];
1315
- /** @nocollapse */
1406
+ /**
1407
+ * @type {function(): !Array<(null|{
1408
+ * type: ?,
1409
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
1410
+ * })>}
1411
+ * @nocollapse
1412
+ */
1316
1413
  PageBaseComponent.ctorParameters = () => [
1317
1414
  { type: AuthService },
1318
1415
  { type: CrudFullConfig }
@@ -1370,10 +1467,17 @@ class CrudListPaginationFactory {
1370
1467
  });
1371
1468
  }
1372
1469
  }
1470
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1373
1471
  CrudListPaginationFactory.decorators = [
1374
1472
  { type: Injectable }
1375
1473
  ];
1376
- /** @nocollapse */
1474
+ /**
1475
+ * @type {function(): !Array<(null|{
1476
+ * type: ?,
1477
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
1478
+ * })>}
1479
+ * @nocollapse
1480
+ */
1377
1481
  CrudListPaginationFactory.ctorParameters = () => [
1378
1482
  { type: CrudFacade }
1379
1483
  ];
@@ -1605,6 +1709,7 @@ class ListComponent extends PageBaseComponent {
1605
1709
  ];
1606
1710
  }
1607
1711
  }
1712
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1608
1713
  ListComponent.decorators = [
1609
1714
  { type: Component, args: [{
1610
1715
  selector: "smart-crud-list-page",
@@ -1612,7 +1717,13 @@ ListComponent.decorators = [
1612
1717
  styles: [""]
1613
1718
  },] }
1614
1719
  ];
1615
- /** @nocollapse */
1720
+ /**
1721
+ * @type {function(): !Array<(null|{
1722
+ * type: ?,
1723
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
1724
+ * })>}
1725
+ * @nocollapse
1726
+ */
1616
1727
  ListComponent.ctorParameters = () => [
1617
1728
  { type: CrudFacade },
1618
1729
  { type: Router },
@@ -1861,6 +1972,7 @@ class ItemComponent extends PageBaseComponent {
1861
1972
  }
1862
1973
  }
1863
1974
  }
1975
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1864
1976
  ItemComponent.decorators = [
1865
1977
  { type: Component, args: [{
1866
1978
  selector: "smart-crud-item-page",
@@ -1868,7 +1980,13 @@ ItemComponent.decorators = [
1868
1980
  styles: [""]
1869
1981
  },] }
1870
1982
  ];
1871
- /** @nocollapse */
1983
+ /**
1984
+ * @type {function(): !Array<(null|{
1985
+ * type: ?,
1986
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
1987
+ * })>}
1988
+ * @nocollapse
1989
+ */
1872
1990
  ItemComponent.ctorParameters = () => [
1873
1991
  { type: Router },
1874
1992
  { type: ActivatedRoute },
@@ -1885,6 +2003,7 @@ ItemComponent.ctorParameters = () => [
1885
2003
  { type: ElementRef },
1886
2004
  { type: ToastService }
1887
2005
  ];
2006
+ /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
1888
2007
  ItemComponent.propDecorators = {
1889
2008
  formComponents: [{ type: ViewChildren, args: [FormComponent, { read: FormComponent },] }],
1890
2009
  content: [{ type: ViewChild, args: [IonContent, { static: true },] }]
@@ -1905,6 +2024,7 @@ const COMPONENTS = [
1905
2024
  ];
1906
2025
  class CrudComponentsModule {
1907
2026
  }
2027
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1908
2028
  CrudComponentsModule.decorators = [
1909
2029
  { type: NgModule, args: [{
1910
2030
  declarations: [
@@ -1948,6 +2068,7 @@ class CrudFullModule {
1948
2068
  effects.init();
1949
2069
  }
1950
2070
  }
2071
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1951
2072
  CrudFullModule.decorators = [
1952
2073
  { type: NgModule, args: [{
1953
2074
  declarations: [
@@ -1981,7 +2102,13 @@ CrudFullModule.decorators = [
1981
2102
  ]
1982
2103
  },] }
1983
2104
  ];
1984
- /** @nocollapse */
2105
+ /**
2106
+ * @type {function(): !Array<(null|{
2107
+ * type: ?,
2108
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
2109
+ * })>}
2110
+ * @nocollapse
2111
+ */
1985
2112
  CrudFullModule.ctorParameters = () => [
1986
2113
  { type: Store },
1987
2114
  { type: CrudConfig },
@@ -1996,6 +2123,7 @@ class CrudCoreModule {
1996
2123
  effects.init();
1997
2124
  }
1998
2125
  }
2126
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1999
2127
  CrudCoreModule.decorators = [
2000
2128
  { type: NgModule, args: [{
2001
2129
  imports: [
@@ -2019,7 +2147,13 @@ CrudCoreModule.decorators = [
2019
2147
  ],
2020
2148
  },] }
2021
2149
  ];
2022
- /** @nocollapse */
2150
+ /**
2151
+ * @type {function(): !Array<(null|{
2152
+ * type: ?,
2153
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
2154
+ * })>}
2155
+ * @nocollapse
2156
+ */
2023
2157
  CrudCoreModule.ctorParameters = () => [
2024
2158
  { type: CrudConfig },
2025
2159
  { type: CrudEffects }
@@ -2040,6 +2174,7 @@ class CrudModule {
2040
2174
  };
2041
2175
  }
2042
2176
  }
2177
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
2043
2178
  CrudModule.decorators = [
2044
2179
  { type: NgModule, args: [{},] }
2045
2180
  ];