@smartbit4all/ng-client 3.1.78 → 3.1.80

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 (94) hide show
  1. package/esm2020/lib/smart-client/smart-component-api-client.mjs +63 -25
  2. package/esm2020/lib/smart-client/smart.component.mjs +26 -5
  3. package/esm2020/lib/smart-client/smart.service.mjs +25 -4
  4. package/esm2020/lib/smart-filter-editor/api/api/filter.service.mjs +1 -1
  5. package/esm2020/lib/smart-filter-editor/api/configuration.mjs +1 -1
  6. package/esm2020/lib/smart-filter-editor/api/encoder.mjs +1 -1
  7. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.mjs +1 -1
  8. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderApiConfig.mjs +1 -1
  9. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderField.mjs +1 -1
  10. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.mjs +1 -1
  11. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderModel.mjs +1 -1
  12. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.mjs +1 -1
  13. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionData.mjs +1 -1
  14. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionDataType.mjs +1 -1
  15. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionField.mjs +1 -1
  16. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.mjs +1 -1
  17. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +1 -1
  18. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.mjs +1 -1
  19. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionList.mjs +1 -1
  20. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionOperandData.mjs +1 -1
  21. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionOperation.mjs +1 -1
  22. package/esm2020/lib/smart-filter-editor/api/param.mjs +1 -1
  23. package/esm2020/lib/smart-filter-editor/api/variables.mjs +1 -1
  24. package/esm2020/lib/smart-form/api/api/api.mjs +1 -1
  25. package/esm2020/lib/smart-form/api/api/default.service.mjs +1 -1
  26. package/esm2020/lib/smart-form/api/api.module.mjs +1 -1
  27. package/esm2020/lib/smart-form/api/configuration.mjs +1 -1
  28. package/esm2020/lib/smart-form/api/encoder.mjs +1 -1
  29. package/esm2020/lib/smart-form/api/index.mjs +1 -1
  30. package/esm2020/lib/smart-form/api/model/models.mjs +1 -1
  31. package/esm2020/lib/smart-form/api/model/propertyMapping.mjs +1 -1
  32. package/esm2020/lib/smart-form/api/model/selectionDefinition.mjs +1 -1
  33. package/esm2020/lib/smart-form/api/model/smartLayoutDefinition.mjs +1 -1
  34. package/esm2020/lib/smart-form/api/model/smartMatrixModel.mjs +1 -1
  35. package/esm2020/lib/smart-form/api/model/smartWidgetDefinition.mjs +1 -1
  36. package/esm2020/lib/smart-form/api/param.mjs +1 -1
  37. package/esm2020/lib/smart-form/api/variables.mjs +1 -1
  38. package/esm2020/lib/smart-grid/api/grid-api/api/api.mjs +1 -1
  39. package/esm2020/lib/smart-grid/api/grid-api/api/grid.service.mjs +1 -1
  40. package/esm2020/lib/smart-grid/api/grid-api/api.module.mjs +1 -1
  41. package/esm2020/lib/smart-grid/api/grid-api/configuration.mjs +1 -1
  42. package/esm2020/lib/smart-grid/api/grid-api/encoder.mjs +1 -1
  43. package/esm2020/lib/smart-grid/api/grid-api/index.mjs +1 -1
  44. package/esm2020/lib/smart-grid/api/grid-api/model/gridColumnContentType.mjs +1 -1
  45. package/esm2020/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +1 -1
  46. package/esm2020/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +1 -1
  47. package/esm2020/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
  48. package/esm2020/lib/smart-grid/api/grid-api/model/gridPage.mjs +1 -1
  49. package/esm2020/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +1 -1
  50. package/esm2020/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +1 -1
  51. package/esm2020/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +1 -1
  52. package/esm2020/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +1 -1
  53. package/esm2020/lib/smart-grid/api/grid-api/model/gridView.mjs +1 -1
  54. package/esm2020/lib/smart-grid/api/grid-api/model/models.mjs +1 -1
  55. package/esm2020/lib/smart-grid/api/grid-api/param.mjs +1 -1
  56. package/esm2020/lib/smart-grid/api/grid-api/variables.mjs +1 -1
  57. package/esm2020/lib/smart-grid/smart-grid.component.mjs +3 -3
  58. package/esm2020/lib/view-context/api/api/view.service.mjs +1 -1
  59. package/esm2020/lib/view-context/api/model/uploadedFile.mjs +1 -1
  60. package/esm2020/lib/view-context/api/model/viewEventHandler.mjs +1 -1
  61. package/esm2020/lib/view-context/smart-ui-action/ui-action.service.mjs +2 -2
  62. package/esm2020/lib/view-context/value-api/api/api.mjs +1 -1
  63. package/esm2020/lib/view-context/value-api/api/value.service.mjs +1 -1
  64. package/esm2020/lib/view-context/value-api/api.module.mjs +1 -1
  65. package/esm2020/lib/view-context/value-api/configuration.mjs +1 -1
  66. package/esm2020/lib/view-context/value-api/encoder.mjs +1 -1
  67. package/esm2020/lib/view-context/value-api/index.mjs +1 -1
  68. package/esm2020/lib/view-context/value-api/model/genericValue.mjs +1 -1
  69. package/esm2020/lib/view-context/value-api/model/models.mjs +1 -1
  70. package/esm2020/lib/view-context/value-api/model/value.mjs +1 -1
  71. package/esm2020/lib/view-context/value-api/model/valueSetData.mjs +1 -1
  72. package/esm2020/lib/view-context/value-api/model/valueSetDefinition.mjs +1 -1
  73. package/esm2020/lib/view-context/value-api/model/valueSetDefinitionData.mjs +1 -1
  74. package/esm2020/lib/view-context/value-api/model/valueSetDefinitionIdentifier.mjs +1 -1
  75. package/esm2020/lib/view-context/value-api/model/valueSetDefinitionKind.mjs +1 -1
  76. package/esm2020/lib/view-context/value-api/model/valueSetExpression.mjs +1 -1
  77. package/esm2020/lib/view-context/value-api/model/valueSetOperand.mjs +1 -1
  78. package/esm2020/lib/view-context/value-api/model/valueSetOperation.mjs +1 -1
  79. package/esm2020/lib/view-context/value-api/param.mjs +1 -1
  80. package/esm2020/lib/view-context/value-api/variables.mjs +1 -1
  81. package/fesm2015/smartbit4all-ng-client.mjs +107 -32
  82. package/fesm2015/smartbit4all-ng-client.mjs.map +1 -1
  83. package/fesm2020/smartbit4all-ng-client.mjs +104 -30
  84. package/fesm2020/smartbit4all-ng-client.mjs.map +1 -1
  85. package/lib/smart-client/smart-component-api-client.d.ts +7 -1
  86. package/lib/smart-client/smart.component.d.ts +10 -1
  87. package/lib/smart-client/smart.service.d.ts +10 -1
  88. package/package.json +1 -1
  89. package/smartbit4all-ng-client-3.1.80.tgz +0 -0
  90. package/src/lib/smart-filter-editor/api/README.md +226 -226
  91. package/src/lib/smart-form/api/README.md +226 -226
  92. package/src/lib/smart-grid/api/grid-api/README.md +226 -226
  93. package/src/lib/view-context/value-api/README.md +226 -226
  94. package/smartbit4all-ng-client-3.1.78.tgz +0 -0
@@ -7779,7 +7779,7 @@ class UiActionService {
7779
7779
  };
7780
7780
  if (uiAction.submit || uiAction.model) {
7781
7781
  // submit: with validation, model: without validation. both can be undefined
7782
- const validate = !uiAction.model;
7782
+ const validate = uiAction.submit || !uiAction.model;
7783
7783
  if ('reSubscribeToChange' in this.uiActionModel.serviceToUse) {
7784
7784
  if (!validate) {
7785
7785
  console.error(`Validate = false, but UseUiAction doesn't support it`);
@@ -11677,10 +11677,10 @@ class SmartGridComponent {
11677
11677
  }
11678
11678
  }
11679
11679
  SmartGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartGridComponent, deps: [{ token: SmartGridService }, { token: ComponentFactoryService }, { token: i1$2.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
11680
- SmartGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartGridComponent, selector: "smart-grid", inputs: { smartGrid: "smartGrid", uuid: "uuid", dev: "dev" }, providers: [SmartGridService], viewQueries: [{ propertyName: "vcRefTable", first: true, predicate: ["table"], descendants: true, read: ViewContainerRef }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"smartGrid\" class=\"smartGrid-container\">\r\n <div class=\"smart-grid-edit-button\" *ngIf=\"smartGrid.showEditColumns\">\r\n <button (click)=\"editColumns()\" mat-raised-button color=\"primary\">\r\n Oszlopok testreszab\u00E1sa\r\n </button>\r\n </div>\r\n <!-- <div [ngClass]=\"isBlocked ? 'blocked' : ''\"></div> -->\r\n <div class=\"smartGridContent\">\r\n <div>\r\n <div *ngIf=\"smartGrid.showResultCount\">\r\n <div class=\"smartGrid-data-number\">\r\n {{ smartGrid.gridModel.totalRowCount }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"smart-grid-table-container\">\r\n <ng-template #table></ng-template>\r\n </div>\r\n\r\n <div *ngIf=\"smartGrid.layoutDef === layoutDef().EXPANDABLE\">\r\n <smart-expandable-section\r\n #gridExpandableSection\r\n *ngFor=\"let expandableSection of expandableSections\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n </div>\r\n <div\r\n *ngIf=\"smartGrid.layoutDef === layoutDef().CARD\"\r\n class=\"cards-container\"\r\n [ngStyle]=\"{\r\n 'grid-template-columns':\r\n smartGrid.numberOfColumn !== undefined\r\n ? 'repeat(' + smartGrid.numberOfColumn + ', 1fr)'\r\n : ''\r\n }\"\r\n >\r\n <app-smart-grid-card\r\n class=\"smartGrid-card-container\"\r\n *ngFor=\"let task of smartGrid.gridModel.page.rows\"\r\n [item]=\"task\"\r\n [smartGrid]=\"smartGrid\"\r\n ></app-smart-grid-card>\r\n </div>\r\n <div\r\n *ngIf=\"smartGrid.layoutDef === layoutDef().TREE && treeControl\"\r\n class=\"tree-container\"\r\n [ngStyle]=\"{\r\n 'grid-template-columns':\r\n smartGrid.numberOfColumn !== undefined\r\n ? 'repeat(' + smartGrid.numberOfColumn + ', 1fr)'\r\n : ''\r\n }\"\r\n >\r\n <mat-tree [dataSource]=\"treeDataSource!\" [treeControl]=\"treeControl!\">\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n matTreeNodePaddingIndent=\"24\"\r\n >\r\n <button mat-icon-button disabled class=\"tree-button\"></button>\r\n <mat-checkbox\r\n class=\"checklist-leaf-node\"\r\n [checked]=\"treeChecklistSelection?.isSelected(node)\"\r\n (change)=\"treeNodeSelectionToggle(node)\"\r\n >{{ getTreeItem(node) }}</mat-checkbox\r\n >\r\n </mat-tree-node>\r\n\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodePadding\r\n matTreeNodePaddingIndent=\"24\"\r\n >\r\n <button\r\n mat-icon-button\r\n matTreeNodeToggle\r\n class=\"tree-button\"\r\n [attr.aria-label]=\"'Toggle ' + node.item\"\r\n >\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{ treeControl!.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n </mat-icon>\r\n </button>\r\n <mat-checkbox\r\n [checked]=\"treeChecklistSelection?.isSelected(node)\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"treeNodeSelectionToggle(node)\"\r\n >{{ getTreeItem(node) }}</mat-checkbox\r\n >\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n </div>\r\n\r\n <mat-paginator\r\n *ngIf=\"smartGrid.paginator\"\r\n #paginator\r\n [length]=\"length\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n (page)=\"onChangePage($event)\"\r\n ></mat-paginator>\r\n</div>\r\n", styles: [".smartGrid-container{position:relative;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.smartGrid-data-number{padding-bottom:1rem}.cards-container{display:grid;grid-gap:1rem;gap:1rem;padding:1rem}.smartGrid-card-container{height:auto;border:1px solid black;border-radius:8px}.smartGrid-container ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-underline{bottom:0}.smartGridContent{width:100%;flex:1;overflow:auto}.blocked{position:absolute;width:calc(100% - 3rem);height:calc(100% - 3rem);z-index:110;background-color:#0003}.smart-grid-table-container{display:flex;flex-direction:column;gap:1rem}.smart-grid-edit-button{display:flex;flex-direction:row;justify-content:flex-end}.tree-button{width:24px!important;height:24px!important}\n"], components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: ExpandableSectionComponent, selector: "smart-expandable-section", inputs: ["data", "index"] }, { type: SmartGridCardComponent, selector: "app-smart-grid-card", inputs: ["item", "smartGrid"] }, { type: i2$6.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { type: i10.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10$1.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2$6.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { type: i2$6.MatTreeNode, selector: "mat-tree-node", inputs: ["role", "disabled", "tabIndex"], exportAs: ["matTreeNode"] }, { type: i2$6.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { type: i2$6.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }] });
11680
+ SmartGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartGridComponent, selector: "smart-grid", inputs: { smartGrid: "smartGrid", uuid: "uuid", dev: "dev" }, providers: [SmartGridService], viewQueries: [{ propertyName: "vcRefTable", first: true, predicate: ["table"], descendants: true, read: ViewContainerRef }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"smartGrid\" class=\"smartGrid-container\">\r\n <div class=\"smart-grid-edit-button\" *ngIf=\"smartGrid.showEditColumns\">\r\n <button (click)=\"editColumns()\" mat-raised-button color=\"primary\">\r\n Oszlopok testreszab\u00E1sa\r\n </button>\r\n </div>\r\n <!-- <div [ngClass]=\"isBlocked ? 'blocked' : ''\"></div> -->\r\n <div class=\"smartGridContent\">\r\n <div>\r\n <div *ngIf=\"smartGrid.showResultCount\">\r\n <div class=\"smartGrid-data-number\">\r\n {{ smartGrid.gridModel.totalRowCount }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"smart-grid-table-container\">\r\n <ng-template #table></ng-template>\r\n </div>\r\n\r\n <div *ngIf=\"smartGrid.layoutDef === layoutDef().EXPANDABLE\">\r\n <smart-expandable-section\r\n #gridExpandableSection\r\n *ngFor=\"let expandableSection of expandableSections\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n </div>\r\n <div\r\n *ngIf=\"smartGrid.layoutDef === layoutDef().CARD\"\r\n class=\"cards-container\"\r\n [ngStyle]=\"{\r\n 'grid-template-columns':\r\n smartGrid.numberOfColumn !== undefined\r\n ? 'repeat(' + smartGrid.numberOfColumn + ', 1fr)'\r\n : ''\r\n }\"\r\n >\r\n <app-smart-grid-card\r\n class=\"smartGrid-card-container\"\r\n *ngFor=\"let task of smartGrid.gridModel.page.rows\"\r\n [item]=\"task\"\r\n [smartGrid]=\"smartGrid\"\r\n ></app-smart-grid-card>\r\n </div>\r\n <div\r\n *ngIf=\"smartGrid.layoutDef === layoutDef().TREE && treeControl\"\r\n class=\"tree-container\"\r\n [ngStyle]=\"{\r\n 'grid-template-columns':\r\n smartGrid.numberOfColumn !== undefined\r\n ? 'repeat(' + smartGrid.numberOfColumn + ', 1fr)'\r\n : ''\r\n }\"\r\n >\r\n <mat-tree [dataSource]=\"treeDataSource!\" [treeControl]=\"treeControl!\">\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n matTreeNodePaddingIndent=\"24\"\r\n >\r\n <button mat-icon-button disabled class=\"tree-button\"></button>\r\n <mat-checkbox\r\n class=\"checklist-leaf-node\"\r\n [checked]=\"treeChecklistSelection?.isSelected(node)\"\r\n (change)=\"treeNodeSelectionToggle(node)\"\r\n >{{ getTreeItem(node) }}</mat-checkbox\r\n >\r\n </mat-tree-node>\r\n\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodePadding\r\n matTreeNodePaddingIndent=\"24\"\r\n >\r\n <button\r\n mat-icon-button\r\n matTreeNodeToggle\r\n class=\"tree-button\"\r\n [attr.aria-label]=\"'Toggle ' + node.item\"\r\n >\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{ treeControl!.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n </mat-icon>\r\n </button>\r\n <mat-checkbox\r\n [checked]=\"treeChecklistSelection?.isSelected(node)\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"treeNodeSelectionToggle(node)\"\r\n >{{ getTreeItem(node) }}</mat-checkbox\r\n >\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n </div>\r\n\r\n <mat-paginator\r\n *ngIf=\"smartGrid.paginator && !treeControl\"\r\n #paginator\r\n [length]=\"length\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n (page)=\"onChangePage($event)\"\r\n ></mat-paginator>\r\n</div>\r\n", styles: [".smartGrid-container{position:relative;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.smartGrid-data-number{padding-bottom:1rem}.cards-container{display:grid;grid-gap:1rem;gap:1rem;padding:1rem}.smartGrid-card-container{height:auto;border:1px solid black;border-radius:8px}.smartGrid-container ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-underline{bottom:0}.smartGridContent{width:100%;flex:1;overflow:auto}.blocked{position:absolute;width:calc(100% - 3rem);height:calc(100% - 3rem);z-index:110;background-color:#0003}.smart-grid-table-container{display:flex;flex-direction:column;gap:1rem}.smart-grid-edit-button{display:flex;flex-direction:row;justify-content:flex-end}.tree-button{width:24px!important;height:24px!important}\n"], components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: ExpandableSectionComponent, selector: "smart-expandable-section", inputs: ["data", "index"] }, { type: SmartGridCardComponent, selector: "app-smart-grid-card", inputs: ["item", "smartGrid"] }, { type: i2$6.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { type: i10.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10$1.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2$6.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { type: i2$6.MatTreeNode, selector: "mat-tree-node", inputs: ["role", "disabled", "tabIndex"], exportAs: ["matTreeNode"] }, { type: i2$6.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { type: i2$6.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }] });
11681
11681
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartGridComponent, decorators: [{
11682
11682
  type: Component,
11683
- args: [{ selector: 'smart-grid', providers: [SmartGridService], template: "<div *ngIf=\"smartGrid\" class=\"smartGrid-container\">\r\n <div class=\"smart-grid-edit-button\" *ngIf=\"smartGrid.showEditColumns\">\r\n <button (click)=\"editColumns()\" mat-raised-button color=\"primary\">\r\n Oszlopok testreszab\u00E1sa\r\n </button>\r\n </div>\r\n <!-- <div [ngClass]=\"isBlocked ? 'blocked' : ''\"></div> -->\r\n <div class=\"smartGridContent\">\r\n <div>\r\n <div *ngIf=\"smartGrid.showResultCount\">\r\n <div class=\"smartGrid-data-number\">\r\n {{ smartGrid.gridModel.totalRowCount }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"smart-grid-table-container\">\r\n <ng-template #table></ng-template>\r\n </div>\r\n\r\n <div *ngIf=\"smartGrid.layoutDef === layoutDef().EXPANDABLE\">\r\n <smart-expandable-section\r\n #gridExpandableSection\r\n *ngFor=\"let expandableSection of expandableSections\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n </div>\r\n <div\r\n *ngIf=\"smartGrid.layoutDef === layoutDef().CARD\"\r\n class=\"cards-container\"\r\n [ngStyle]=\"{\r\n 'grid-template-columns':\r\n smartGrid.numberOfColumn !== undefined\r\n ? 'repeat(' + smartGrid.numberOfColumn + ', 1fr)'\r\n : ''\r\n }\"\r\n >\r\n <app-smart-grid-card\r\n class=\"smartGrid-card-container\"\r\n *ngFor=\"let task of smartGrid.gridModel.page.rows\"\r\n [item]=\"task\"\r\n [smartGrid]=\"smartGrid\"\r\n ></app-smart-grid-card>\r\n </div>\r\n <div\r\n *ngIf=\"smartGrid.layoutDef === layoutDef().TREE && treeControl\"\r\n class=\"tree-container\"\r\n [ngStyle]=\"{\r\n 'grid-template-columns':\r\n smartGrid.numberOfColumn !== undefined\r\n ? 'repeat(' + smartGrid.numberOfColumn + ', 1fr)'\r\n : ''\r\n }\"\r\n >\r\n <mat-tree [dataSource]=\"treeDataSource!\" [treeControl]=\"treeControl!\">\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n matTreeNodePaddingIndent=\"24\"\r\n >\r\n <button mat-icon-button disabled class=\"tree-button\"></button>\r\n <mat-checkbox\r\n class=\"checklist-leaf-node\"\r\n [checked]=\"treeChecklistSelection?.isSelected(node)\"\r\n (change)=\"treeNodeSelectionToggle(node)\"\r\n >{{ getTreeItem(node) }}</mat-checkbox\r\n >\r\n </mat-tree-node>\r\n\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodePadding\r\n matTreeNodePaddingIndent=\"24\"\r\n >\r\n <button\r\n mat-icon-button\r\n matTreeNodeToggle\r\n class=\"tree-button\"\r\n [attr.aria-label]=\"'Toggle ' + node.item\"\r\n >\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{ treeControl!.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n </mat-icon>\r\n </button>\r\n <mat-checkbox\r\n [checked]=\"treeChecklistSelection?.isSelected(node)\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"treeNodeSelectionToggle(node)\"\r\n >{{ getTreeItem(node) }}</mat-checkbox\r\n >\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n </div>\r\n\r\n <mat-paginator\r\n *ngIf=\"smartGrid.paginator\"\r\n #paginator\r\n [length]=\"length\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n (page)=\"onChangePage($event)\"\r\n ></mat-paginator>\r\n</div>\r\n", styles: [".smartGrid-container{position:relative;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.smartGrid-data-number{padding-bottom:1rem}.cards-container{display:grid;grid-gap:1rem;gap:1rem;padding:1rem}.smartGrid-card-container{height:auto;border:1px solid black;border-radius:8px}.smartGrid-container ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-underline{bottom:0}.smartGridContent{width:100%;flex:1;overflow:auto}.blocked{position:absolute;width:calc(100% - 3rem);height:calc(100% - 3rem);z-index:110;background-color:#0003}.smart-grid-table-container{display:flex;flex-direction:column;gap:1rem}.smart-grid-edit-button{display:flex;flex-direction:row;justify-content:flex-end}.tree-button{width:24px!important;height:24px!important}\n"] }]
11683
+ args: [{ selector: 'smart-grid', providers: [SmartGridService], template: "<div *ngIf=\"smartGrid\" class=\"smartGrid-container\">\r\n <div class=\"smart-grid-edit-button\" *ngIf=\"smartGrid.showEditColumns\">\r\n <button (click)=\"editColumns()\" mat-raised-button color=\"primary\">\r\n Oszlopok testreszab\u00E1sa\r\n </button>\r\n </div>\r\n <!-- <div [ngClass]=\"isBlocked ? 'blocked' : ''\"></div> -->\r\n <div class=\"smartGridContent\">\r\n <div>\r\n <div *ngIf=\"smartGrid.showResultCount\">\r\n <div class=\"smartGrid-data-number\">\r\n {{ smartGrid.gridModel.totalRowCount }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"smart-grid-table-container\">\r\n <ng-template #table></ng-template>\r\n </div>\r\n\r\n <div *ngIf=\"smartGrid.layoutDef === layoutDef().EXPANDABLE\">\r\n <smart-expandable-section\r\n #gridExpandableSection\r\n *ngFor=\"let expandableSection of expandableSections\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n </div>\r\n <div\r\n *ngIf=\"smartGrid.layoutDef === layoutDef().CARD\"\r\n class=\"cards-container\"\r\n [ngStyle]=\"{\r\n 'grid-template-columns':\r\n smartGrid.numberOfColumn !== undefined\r\n ? 'repeat(' + smartGrid.numberOfColumn + ', 1fr)'\r\n : ''\r\n }\"\r\n >\r\n <app-smart-grid-card\r\n class=\"smartGrid-card-container\"\r\n *ngFor=\"let task of smartGrid.gridModel.page.rows\"\r\n [item]=\"task\"\r\n [smartGrid]=\"smartGrid\"\r\n ></app-smart-grid-card>\r\n </div>\r\n <div\r\n *ngIf=\"smartGrid.layoutDef === layoutDef().TREE && treeControl\"\r\n class=\"tree-container\"\r\n [ngStyle]=\"{\r\n 'grid-template-columns':\r\n smartGrid.numberOfColumn !== undefined\r\n ? 'repeat(' + smartGrid.numberOfColumn + ', 1fr)'\r\n : ''\r\n }\"\r\n >\r\n <mat-tree [dataSource]=\"treeDataSource!\" [treeControl]=\"treeControl!\">\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n matTreeNodePaddingIndent=\"24\"\r\n >\r\n <button mat-icon-button disabled class=\"tree-button\"></button>\r\n <mat-checkbox\r\n class=\"checklist-leaf-node\"\r\n [checked]=\"treeChecklistSelection?.isSelected(node)\"\r\n (change)=\"treeNodeSelectionToggle(node)\"\r\n >{{ getTreeItem(node) }}</mat-checkbox\r\n >\r\n </mat-tree-node>\r\n\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodePadding\r\n matTreeNodePaddingIndent=\"24\"\r\n >\r\n <button\r\n mat-icon-button\r\n matTreeNodeToggle\r\n class=\"tree-button\"\r\n [attr.aria-label]=\"'Toggle ' + node.item\"\r\n >\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{ treeControl!.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n </mat-icon>\r\n </button>\r\n <mat-checkbox\r\n [checked]=\"treeChecklistSelection?.isSelected(node)\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"treeNodeSelectionToggle(node)\"\r\n >{{ getTreeItem(node) }}</mat-checkbox\r\n >\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n </div>\r\n\r\n <mat-paginator\r\n *ngIf=\"smartGrid.paginator && !treeControl\"\r\n #paginator\r\n [length]=\"length\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n (page)=\"onChangePage($event)\"\r\n ></mat-paginator>\r\n</div>\r\n", styles: [".smartGrid-container{position:relative;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.smartGrid-data-number{padding-bottom:1rem}.cards-container{display:grid;grid-gap:1rem;gap:1rem;padding:1rem}.smartGrid-card-container{height:auto;border:1px solid black;border-radius:8px}.smartGrid-container ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-underline{bottom:0}.smartGridContent{width:100%;flex:1;overflow:auto}.blocked{position:absolute;width:calc(100% - 3rem);height:calc(100% - 3rem);z-index:110;background-color:#0003}.smart-grid-table-container{display:flex;flex-direction:column;gap:1rem}.smart-grid-edit-button{display:flex;flex-direction:row;justify-content:flex-end}.tree-button{width:24px!important;height:24px!important}\n"] }]
11684
11684
  }], ctorParameters: function () { return [{ type: SmartGridService }, { type: ComponentFactoryService }, { type: i1$2.MatDialog }]; }, propDecorators: { smartGrid: [{
11685
11685
  type: Input
11686
11686
  }], uuid: [{
@@ -13515,6 +13515,7 @@ let SmartComponentApiClient = class SmartComponentApiClient {
13515
13515
  // Contained Widgets
13516
13516
  this.widgets = new WidgetMap();
13517
13517
  this.formWidgets = new WidgetMap();
13518
+ this.useQueryLists = false;
13518
13519
  this.detectChange.subscribe((change) => {
13519
13520
  this.handleChanges(change);
13520
13521
  });
@@ -13536,7 +13537,7 @@ let SmartComponentApiClient = class SmartComponentApiClient {
13536
13537
  }
13537
13538
  this._uuid = uuid;
13538
13539
  if (uuid) {
13539
- this.widgets.widgets.forEach((ref, key) => {
13540
+ this.getWidgets().widgets.forEach((ref, key) => {
13540
13541
  if (ref instanceof SmartGridComponent) {
13541
13542
  ref.uuid = uuid;
13542
13543
  }
@@ -13588,6 +13589,23 @@ let SmartComponentApiClient = class SmartComponentApiClient {
13588
13589
  this._destroy$.next();
13589
13590
  this._destroy$.complete();
13590
13591
  }
13592
+ getWidgets() {
13593
+ if (this.useQueryLists) {
13594
+ let widgets = new WidgetMap();
13595
+ if (this.getAllGridComponents()) {
13596
+ this.getAllGridComponents()
13597
+ .filter((grid) => { var _a; return (((_a = grid === null || grid === void 0 ? void 0 : grid.smartGrid) === null || _a === void 0 ? void 0 : _a.gridIdentifier) ? true : false); })
13598
+ .forEach((grid) => widgets.addWidget(grid.smartGrid.gridIdentifier, grid));
13599
+ }
13600
+ if (this.getAllTreeComponents()) {
13601
+ this.getAllTreeComponents()
13602
+ .filter((tree) => { var _a; return (((_a = tree === null || tree === void 0 ? void 0 : tree.smartTreeModel) === null || _a === void 0 ? void 0 : _a.identifier) ? true : false); })
13603
+ .forEach((tree) => widgets.addWidget(tree.smartTreeModel.identifier, tree));
13604
+ }
13605
+ return widgets;
13606
+ }
13607
+ return this.widgets;
13608
+ }
13591
13609
  initComponentByModel() {
13592
13610
  this.initData();
13593
13611
  this.initActions();
@@ -13637,20 +13655,26 @@ let SmartComponentApiClient = class SmartComponentApiClient {
13637
13655
  });
13638
13656
  }
13639
13657
  getInvalidFields() {
13640
- var _a;
13658
+ var _a, _b, _c;
13641
13659
  let aggregatedInvalidFields = {
13642
13660
  invalidFieldKeys: [],
13643
13661
  invalidFieldNames: [],
13644
13662
  };
13645
- for (let entry of this.formWidgets.widgets) {
13646
- let invalidFieldsOfForm = (_a = entry[1]) === null || _a === void 0 ? void 0 : _a.getInvalidFields();
13647
- if (invalidFieldsOfForm) {
13648
- invalidFieldsOfForm.invalidFieldKeys.forEach((key) => aggregatedInvalidFields.invalidFieldKeys.push(key));
13649
- invalidFieldsOfForm.invalidFieldNames.forEach((key) => aggregatedInvalidFields.invalidFieldNames.push(key));
13650
- }
13663
+ if (this.useQueryLists) {
13664
+ (_a = this.getAllFormComponents()) === null || _a === void 0 ? void 0 : _a.forEach((form) => this.validateForm(form, aggregatedInvalidFields));
13665
+ }
13666
+ else {
13667
+ (_c = (_b = this.formWidgets) === null || _b === void 0 ? void 0 : _b.widgets) === null || _c === void 0 ? void 0 : _c.forEach((form) => this.validateForm(form, aggregatedInvalidFields));
13651
13668
  }
13652
13669
  return aggregatedInvalidFields;
13653
13670
  }
13671
+ validateForm(form, aggregatedInvalidFields) {
13672
+ let invalidFieldsOfForm = form === null || form === void 0 ? void 0 : form.getInvalidFields();
13673
+ if (invalidFieldsOfForm) {
13674
+ invalidFieldsOfForm.invalidFieldKeys.forEach((key) => aggregatedInvalidFields.invalidFieldKeys.push(key));
13675
+ invalidFieldsOfForm.invalidFieldNames.forEach((key) => aggregatedInvalidFields.invalidFieldNames.push(key));
13676
+ }
13677
+ }
13654
13678
  //#region UseUiAction
13655
13679
  getAdditionalParams(uiAction) {
13656
13680
  return {
@@ -13711,10 +13735,13 @@ let SmartComponentApiClient = class SmartComponentApiClient {
13711
13735
  * Submits all the registered forms in the SmartComponent
13712
13736
  */
13713
13737
  submitForms(validate) {
13714
- var _a, _b;
13715
- (_b = (_a = this.formWidgets) === null || _a === void 0 ? void 0 : _a.widgets) === null || _b === void 0 ? void 0 : _b.forEach((form) => {
13716
- form === null || form === void 0 ? void 0 : form.submitForm(validate);
13717
- });
13738
+ var _a, _b, _c;
13739
+ if (this.useQueryLists) {
13740
+ (_a = this.getAllFormComponents()) === null || _a === void 0 ? void 0 : _a.forEach((form) => form === null || form === void 0 ? void 0 : form.submitForm(validate));
13741
+ }
13742
+ else {
13743
+ (_c = (_b = this.formWidgets) === null || _b === void 0 ? void 0 : _b.widgets) === null || _c === void 0 ? void 0 : _c.forEach((form) => form === null || form === void 0 ? void 0 : form.submitForm(validate));
13744
+ }
13718
13745
  }
13719
13746
  addGrid(smartGrid, options, useAsDefaultGrid, componentReference) {
13720
13747
  smartGrid.options = options;
@@ -13722,7 +13749,9 @@ let SmartComponentApiClient = class SmartComponentApiClient {
13722
13749
  smartGrid.uiActionDescriptorService = this.uiActionDescriptorService;
13723
13750
  smartGrid.serviceToUse = this;
13724
13751
  smartGrid.viewContextService = this.viewContext;
13725
- this.widgets.addWidget(smartGrid.gridIdentifier, componentReference);
13752
+ if (!this.useQueryLists) {
13753
+ this.widgets.addWidget(smartGrid.gridIdentifier, componentReference);
13754
+ }
13726
13755
  if (useAsDefaultGrid) {
13727
13756
  this.smartGrid = smartGrid;
13728
13757
  return this.smartGrid;
@@ -13730,7 +13759,9 @@ let SmartComponentApiClient = class SmartComponentApiClient {
13730
13759
  return smartGrid;
13731
13760
  }
13732
13761
  addForm(smartFormId, smartForm, componentReference) {
13733
- this.formWidgets.addWidget(smartFormId, componentReference);
13762
+ if (!this.useQueryLists) {
13763
+ this.formWidgets.addWidget(smartFormId, componentReference);
13764
+ }
13734
13765
  // if (this.sendDataChanges && componentReference) {
13735
13766
  // smartForm.useOnValueChangeEvent = true;
13736
13767
  // componentReference.sophisticatedValueChange
@@ -13742,12 +13773,13 @@ let SmartComponentApiClient = class SmartComponentApiClient {
13742
13773
  return smartForm;
13743
13774
  }
13744
13775
  setUpDefaultTree(treeId) {
13745
- this.smartTreeService = new SmarttreeGenericService(this.inject, this.pageName, treeId);
13746
- this.widgets.addWidget(treeId, this.smartTreeService);
13776
+ this.smartTreeService = this.createTreeService(treeId);
13747
13777
  }
13748
13778
  createTreeService(treeId) {
13749
13779
  const treeService = new SmarttreeGenericService(this.inject, this.pageName, treeId);
13750
- this.widgets.addWidget(treeId, treeService);
13780
+ if (!this.useQueryLists) {
13781
+ this.widgets.addWidget(treeId, treeService);
13782
+ }
13751
13783
  return treeService;
13752
13784
  }
13753
13785
  addFileUploader(uiActionCode, fileFormats, maxSizeMb, isMultiple) {
@@ -13827,8 +13859,9 @@ let SmartComponentApiClient = class SmartComponentApiClient {
13827
13859
  }
13828
13860
  }
13829
13861
  handleChangeWidgets(changedWidgets) {
13862
+ let widgets = this.getWidgets();
13830
13863
  changedWidgets.forEach((key) => {
13831
- const reference = this.widgets.get(key);
13864
+ const reference = widgets.get(key);
13832
13865
  if (reference instanceof SmartGridComponent) {
13833
13866
  reference.refresh();
13834
13867
  }
@@ -13863,15 +13896,21 @@ let SmartComponentApiClient = class SmartComponentApiClient {
13863
13896
  }
13864
13897
  }
13865
13898
  handleDataChange(changes, changeKey) {
13899
+ var _a;
13866
13900
  this.setValueDeeply(this.model, changeKey, changes[changeKey]);
13867
- this.formWidgets.widgets.forEach((formComponent, key) => {
13868
- if (formComponent === undefined) {
13869
- console.error(`Provided form reference for ${key} is undefined.`);
13870
- }
13871
- else {
13872
- formComponent.refresh();
13873
- }
13874
- });
13901
+ if (this.useQueryLists) {
13902
+ (_a = this.getAllFormComponents()) === null || _a === void 0 ? void 0 : _a.forEach((form) => form.refresh());
13903
+ }
13904
+ else {
13905
+ this.formWidgets.widgets.forEach((formComponent, key) => {
13906
+ if (formComponent === undefined) {
13907
+ console.error(`Provided form reference for ${key} is undefined.`);
13908
+ }
13909
+ else {
13910
+ formComponent.refresh();
13911
+ }
13912
+ });
13913
+ }
13875
13914
  }
13876
13915
  handleLayoutChange(changes, changeKey) {
13877
13916
  let layoutKey = changeKey.split('.')[1];
@@ -13931,9 +13970,18 @@ class SmartComponent extends SmartComponentApiClient {
13931
13970
  ngOnDestroy() {
13932
13971
  this._ngOnDestroy();
13933
13972
  }
13973
+ getAllFormComponents() {
13974
+ return this.formComponents;
13975
+ }
13976
+ getAllGridComponents() {
13977
+ return this.gridComponents;
13978
+ }
13979
+ getAllTreeComponents() {
13980
+ return this.treeComponents;
13981
+ }
13934
13982
  }
13935
13983
  SmartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartComponent, deps: [{ token: i0.Injector }, { token: SmartAuthService }, { token: 'pageName' }], target: i0.ɵɵFactoryTarget.Component });
13936
- SmartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
13984
+ SmartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartComponent, selector: "ng-component", viewQueries: [{ propertyName: "formComponents", predicate: SmartformComponent, descendants: true }, { propertyName: "gridComponents", predicate: SmartGridComponent, descendants: true }, { propertyName: "treeComponents", predicate: SmarttreeGenericService, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
13937
13985
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartComponent, decorators: [{
13938
13986
  type: Component,
13939
13987
  args: [{
@@ -13947,7 +13995,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
13947
13995
  type: Inject,
13948
13996
  args: ['pageName']
13949
13997
  }] }];
13950
- } });
13998
+ }, propDecorators: { formComponents: [{
13999
+ type: ViewChildren,
14000
+ args: [SmartformComponent]
14001
+ }], gridComponents: [{
14002
+ type: ViewChildren,
14003
+ args: [SmartGridComponent]
14004
+ }], treeComponents: [{
14005
+ type: ViewChildren,
14006
+ args: [SmarttreeGenericService]
14007
+ }] } });
13951
14008
 
13952
14009
  class SmartService extends SmartComponentApiClient {
13953
14010
  constructor(inject, auth, pageName) {
@@ -13959,6 +14016,15 @@ class SmartService extends SmartComponentApiClient {
13959
14016
  ngOnDestroy() {
13960
14017
  this._ngOnDestroy();
13961
14018
  }
14019
+ getAllFormComponents() {
14020
+ return this.formComponents;
14021
+ }
14022
+ getAllGridComponents() {
14023
+ return this.gridComponents;
14024
+ }
14025
+ getAllTreeComponents() {
14026
+ return this.treeComponents;
14027
+ }
13962
14028
  }
13963
14029
  SmartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartService, deps: [{ token: i0.Injector }, { token: SmartAuthService }, { token: 'pageName' }], target: i0.ɵɵFactoryTarget.Injectable });
13964
14030
  SmartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartService, providedIn: 'root' });
@@ -13975,7 +14041,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
13975
14041
  type: Inject,
13976
14042
  args: ['pageName']
13977
14043
  }] }];
13978
- } });
14044
+ }, propDecorators: { formComponents: [{
14045
+ type: ViewChildren,
14046
+ args: [SmartformComponent]
14047
+ }], gridComponents: [{
14048
+ type: ViewChildren,
14049
+ args: [SmartGridComponent]
14050
+ }], treeComponents: [{
14051
+ type: ViewChildren,
14052
+ args: [SmarttreeGenericService]
14053
+ }] } });
13979
14054
 
13980
14055
  class SmartComponentLayoutUtility {
13981
14056
  static setParent(layout, parent) {