@fundamental-ngx/platform 0.43.16 → 0.43.18

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 (95) hide show
  1. package/esm2020/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +1 -1
  2. package/esm2020/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +1 -1
  3. package/esm2020/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +1 -1
  4. package/esm2020/form/combobox/combobox/combobox.component.mjs +7 -7
  5. package/esm2020/form/combobox/commons/base-combobox.mjs +33 -6
  6. package/esm2020/form/multi-combobox/commons/base-multi-combobox.mjs +5 -2
  7. package/esm2020/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +33 -34
  8. package/esm2020/form/multi-combobox/multi-combobox.module.mjs +3 -2
  9. package/esm2020/form/multi-input/base-multi-input.mjs +5 -1
  10. package/esm2020/form/multi-input/multi-input.component.mjs +9 -8
  11. package/esm2020/form/multi-input/multi-input.module.mjs +3 -2
  12. package/esm2020/form/select/commons/base-select.mjs +16 -7
  13. package/esm2020/form/select/select/select.component.mjs +3 -3
  14. package/esm2020/list/list.component.mjs +11 -3
  15. package/esm2020/search-field/search-field.component.mjs +3 -3
  16. package/esm2020/shared/domain/data-source.mjs +3 -2
  17. package/esm2020/shared/form/base.input.mjs +13 -9
  18. package/esm2020/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +1 -1
  19. package/esm2020/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +1 -1
  20. package/esm2020/table/components/table-header-cell-content/table-header-cell-content.component.mjs +3 -3
  21. package/esm2020/table/components/table-header-row/table-header-row.component.mjs +7 -4
  22. package/esm2020/table/components/table-p13-dialog/columns/columns.component.mjs +3 -3
  23. package/esm2020/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +1 -1
  24. package/esm2020/table/components/table-p13-dialog/grouping/grouping.component.mjs +1 -1
  25. package/esm2020/table/components/table-p13-dialog/sorting/sorting.component.mjs +2 -2
  26. package/esm2020/table/components/table-row/table-row.component.mjs +13 -21
  27. package/esm2020/table/table.component.mjs +36 -13
  28. package/esm2020/table-helpers/pipes/column-sorting-direction.pipe.mjs +27 -0
  29. package/esm2020/table-helpers/pipes/index.mjs +2 -1
  30. package/esm2020/table-helpers/table-helpers.module.mjs +9 -6
  31. package/esm2020/upload-collection/upload-collection/upload-collection.component.mjs +1 -1
  32. package/esm2020/value-help-dialog/components/define-tab/define-tab.component.mjs +1 -1
  33. package/esm2020/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +1 -1
  34. package/fesm2015/fundamental-ngx-platform-approval-flow.mjs +3 -3
  35. package/fesm2015/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  36. package/fesm2015/fundamental-ngx-platform-form.mjs +172 -131
  37. package/fesm2015/fundamental-ngx-platform-form.mjs.map +1 -1
  38. package/fesm2015/fundamental-ngx-platform-list.mjs +9 -2
  39. package/fesm2015/fundamental-ngx-platform-list.mjs.map +1 -1
  40. package/fesm2015/fundamental-ngx-platform-search-field.mjs +2 -2
  41. package/fesm2015/fundamental-ngx-platform-search-field.mjs.map +1 -1
  42. package/fesm2015/fundamental-ngx-platform-shared.mjs +12 -7
  43. package/fesm2015/fundamental-ngx-platform-shared.mjs.map +1 -1
  44. package/fesm2015/fundamental-ngx-platform-smart-filter-bar.mjs +1 -1
  45. package/fesm2015/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  46. package/fesm2015/fundamental-ngx-platform-table-helpers.mjs +32 -4
  47. package/fesm2015/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  48. package/fesm2015/fundamental-ngx-platform-table.mjs +59 -41
  49. package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
  50. package/fesm2015/fundamental-ngx-platform-upload-collection.mjs +1 -1
  51. package/fesm2015/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
  52. package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs +1 -1
  53. package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  54. package/fesm2015/fundamental-ngx-platform-variant-management.mjs +1 -1
  55. package/fesm2015/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  56. package/fesm2020/fundamental-ngx-platform-approval-flow.mjs +3 -3
  57. package/fesm2020/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  58. package/fesm2020/fundamental-ngx-platform-form.mjs +177 -134
  59. package/fesm2020/fundamental-ngx-platform-form.mjs.map +1 -1
  60. package/fesm2020/fundamental-ngx-platform-list.mjs +10 -2
  61. package/fesm2020/fundamental-ngx-platform-list.mjs.map +1 -1
  62. package/fesm2020/fundamental-ngx-platform-search-field.mjs +2 -2
  63. package/fesm2020/fundamental-ngx-platform-search-field.mjs.map +1 -1
  64. package/fesm2020/fundamental-ngx-platform-shared.mjs +12 -7
  65. package/fesm2020/fundamental-ngx-platform-shared.mjs.map +1 -1
  66. package/fesm2020/fundamental-ngx-platform-smart-filter-bar.mjs +1 -1
  67. package/fesm2020/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  68. package/fesm2020/fundamental-ngx-platform-table-helpers.mjs +32 -4
  69. package/fesm2020/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  70. package/fesm2020/fundamental-ngx-platform-table.mjs +59 -41
  71. package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
  72. package/fesm2020/fundamental-ngx-platform-upload-collection.mjs +1 -1
  73. package/fesm2020/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
  74. package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs +1 -1
  75. package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  76. package/fesm2020/fundamental-ngx-platform-variant-management.mjs +1 -1
  77. package/fesm2020/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  78. package/form/combobox/combobox/combobox.component.d.ts +2 -2
  79. package/form/combobox/commons/base-combobox.d.ts +12 -3
  80. package/form/multi-combobox/multi-combobox/multi-combobox.component.d.ts +7 -7
  81. package/form/multi-combobox/multi-combobox.module.d.ts +2 -1
  82. package/form/multi-input/multi-input.module.d.ts +2 -1
  83. package/form/select/commons/base-select.d.ts +14 -7
  84. package/fundamental-ngx-platform-v0.43.18.tgz +0 -0
  85. package/list/list.component.d.ts +3 -1
  86. package/package.json +4 -4
  87. package/schematics/ng-add/index.js +1 -1
  88. package/shared/form/base.input.d.ts +5 -4
  89. package/table/components/table-header-row/table-header-row.component.d.ts +3 -1
  90. package/table/components/table-row/table-row.component.d.ts +2 -2
  91. package/table/table.component.d.ts +11 -4
  92. package/table-helpers/pipes/column-sorting-direction.pipe.d.ts +12 -0
  93. package/table-helpers/pipes/index.d.ts +1 -0
  94. package/table-helpers/table-helpers.module.d.ts +2 -1
  95. package/fundamental-ngx-platform-v0.43.16.tgz +0 -0
@@ -122,7 +122,7 @@ class ManageVariantsDialogComponent {
122
122
  }
123
123
  }
124
124
  ManageVariantsDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ManageVariantsDialogComponent, deps: [{ token: i1.DialogRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
125
- ManageVariantsDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ManageVariantsDialogComponent, selector: "fdp-manage-variants-dialog", ngImport: i0, template: "<fd-dialog>\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-1\" fd-title>\n {{ 'platformVariantManagement.manageViews' | fdTranslate }}\n </h1>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fdp-table [dataSource]=\"_source\" [noVerticalBorders]=\"true\" class=\"fd-variant-management__table\">\n <fdp-column name=\"favourite\" key=\"favourite\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fd-icon\n class=\"fd-variant-management__favourite-state\"\n [class.fd-variant-management__favourite-state--active]=\"item.favourite\"\n [ariaLabel]=\"'platformVariantManagement.markAsFavourite' | fdTranslate\"\n tabindex=\"0\"\n (click)=\"_markAsFavourite(item)\"\n glyph=\"favorite\"\n ></fd-icon>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column [label]=\"'platformVariantManagement.view' | fdTranslate\" name=\"name\" key=\"name\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-input *ngIf=\"!item.readonly\" [(ngModel)]=\"item.name\"></fdp-input>\n <ng-container *ngIf=\"item.readonly\">{{ item.name }}</ng-container>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column [label]=\"'platformVariantManagement.sharing' | fdTranslate\" name=\"access\" key=\"access\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n {{\n (item.access === 'public'\n ? 'platformVariantManagement.access.public'\n : 'platformVariantManagement.access.private'\n ) | fdTranslate\n }}\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.default' | fdTranslate\"\n name=\"isDefault\"\n key=\"isDefault\"\n align=\"center\"\n >\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fd-radio-button\n [value]=\"true\"\n [id]=\"'radio-' + item.id\"\n name=\"is-variant-default\"\n [(ngModel)]=\"item.isDefault\"\n ></fd-radio-button>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.applyAutomatically' | fdTranslate\"\n name=\"applyAutomatically\"\n key=\"applyAutomatically\"\n align=\"center\"\n >\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-checkbox\n class=\"fd-variant-management__centered-checkbox\"\n [standalone]=\"true\"\n name=\"applyAutomatically\"\n [(ngModel)]=\"item.applyAutomatically\"\n ></fdp-checkbox>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.createdBy' | fdTranslate\"\n name=\"createdBy\"\n key=\"createdBy\"\n ></fdp-column>\n <fdp-column name=\"actions\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-button\n *ngIf=\"!item.readonly\"\n buttonType=\"transparent\"\n glyph=\"decline\"\n [title]=\"'platformVariantManagement.removeVariant' | fdTranslate\"\n (click)=\"_removeVariant(item)\"\n ></fdp-button>\n </fdp-table-cell>\n </fdp-column>\n </fdp-table>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformVariantManagement.save' | fdTranslate\"\n (click)=\"_saveVariants()\"\n ariaLabel=\"Interested Emphasized\"\n ></fd-button-bar>\n\n <fd-button-bar\n [label]=\"'platformVariantManagement.cancel' | fdTranslate\"\n (click)=\"dialog.dismiss('Cancel')\"\n [ariaLabel]=\"'platformVariantManagement.cancel' | fdTranslate\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i4$1.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i5$1.ButtonComponent, selector: "fdp-button", inputs: ["glyphPosition", "label", "glyph", "buttonType", "toggled", "title", "ariaSelected", "ariaDisabled", "ariaExpanded", "ariaControlsId", "ariaPressed", "name", "type", "value"], outputs: ["buttonClicked"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.InputComponent, selector: "fdp-input", inputs: ["type", "required", "value"], outputs: ["focusChange"] }, { kind: "component", type: i5.CheckboxComponent, selector: "fdp-checkbox", inputs: ["title", "label", "tristate", "isBinary", "checked", "tristateSelectable", "value", "values", "standalone"], outputs: ["checkedChange", "change", "indeterminateChange"] }, { kind: "component", type: i8.TableComponent, selector: "fdp-table", inputs: ["name", "id", "enableDragResize", "fixed", "freezeColumnsTo", "freezeEndColumnsTo", "pageScrolling", "pageSize", "pageScrollingThreshold", "bodyHeight", "emptyTableMessage", "noVisibleColumnsMessage", "noHorizontalBorders", "noVerticalBorders", "noBorders", "noBodyBorders", "noOuterBorders", "noBorderX", "noBorderY", "relationKey", "expandedStateKey", "hasChildrenKey", "rowNavigatable", "highlightNavigatedRow", "rowsActivable", "selectedKey", "selectableKey", "trackBy", "rowComparator", "rowsClass", "editableRowSkeleton", "expandOnInit", "rowHeight", "loadPagesBefore", "selectionMode", "enableTristateMode", "semanticHighlighting", "forceCheckedAllState", "ariaLabelledBy", "loading"], outputs: ["presetChanged", "rowSelectionChange", "sortChange", "filterChange", "groupChange", "columnsChange", "pageChange", "columnFreeze", "rowToggleOpenState", "rowActivate", "rowNavigate", "emptyRowAdded", "save", "cancel", "tableScrolled", "tableRowsSet", "allRowsExpanded", "allRowsCollapsed"] }, { kind: "component", type: i8.TableColumnComponent, selector: "fdp-column", inputs: ["name", "key", "label", "align", "sortable", "filterable", "visible", "dataType", "groupable", "freezable", "endFreezable", "width", "noWrap", "applyText", "role"] }, { kind: "directive", type: i9.TableInitialStateDirective, selector: "[fdpTableInitialState], fdp-table", inputs: ["initialVisibleColumns", "initialSortBy", "initialFilterBy", "initialGroupBy", "initialPage", "state"] }, { kind: "directive", type: i9.FdpTableCell, selector: "fdp-table-cell" }, { kind: "directive", type: i9.FdpCellDef, selector: "[fdpCellDef]", inputs: ["fdpCellDefAs"] }, { kind: "component", type: i10.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i11.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "pipe", type: i6.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
125
+ ManageVariantsDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ManageVariantsDialogComponent, selector: "fdp-manage-variants-dialog", ngImport: i0, template: "<fd-dialog>\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-1\" fd-title>\n {{ 'platformVariantManagement.manageViews' | fdTranslate }}\n </h1>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fdp-table [dataSource]=\"_source\" [noVerticalBorders]=\"true\" class=\"fd-variant-management__table\">\n <fdp-column name=\"favourite\" key=\"favourite\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fd-icon\n class=\"fd-variant-management__favourite-state\"\n [class.fd-variant-management__favourite-state--active]=\"item.favourite\"\n [ariaLabel]=\"'platformVariantManagement.markAsFavourite' | fdTranslate\"\n tabindex=\"0\"\n (click)=\"_markAsFavourite(item)\"\n glyph=\"favorite\"\n ></fd-icon>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column [label]=\"'platformVariantManagement.view' | fdTranslate\" name=\"name\" key=\"name\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-input *ngIf=\"!item.readonly\" [(ngModel)]=\"item.name\"></fdp-input>\n <ng-container *ngIf=\"item.readonly\">{{ item.name }}</ng-container>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column [label]=\"'platformVariantManagement.sharing' | fdTranslate\" name=\"access\" key=\"access\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n {{\n (item.access === 'public'\n ? 'platformVariantManagement.access.public'\n : 'platformVariantManagement.access.private'\n ) | fdTranslate\n }}\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.default' | fdTranslate\"\n name=\"isDefault\"\n key=\"isDefault\"\n align=\"center\"\n >\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fd-radio-button\n [value]=\"true\"\n [id]=\"'radio-' + item.id\"\n name=\"is-variant-default\"\n [(ngModel)]=\"item.isDefault\"\n ></fd-radio-button>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.applyAutomatically' | fdTranslate\"\n name=\"applyAutomatically\"\n key=\"applyAutomatically\"\n align=\"center\"\n >\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-checkbox\n class=\"fd-variant-management__centered-checkbox\"\n [standalone]=\"true\"\n name=\"applyAutomatically\"\n [(ngModel)]=\"item.applyAutomatically\"\n ></fdp-checkbox>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.createdBy' | fdTranslate\"\n name=\"createdBy\"\n key=\"createdBy\"\n ></fdp-column>\n <fdp-column name=\"actions\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-button\n *ngIf=\"!item.readonly\"\n buttonType=\"transparent\"\n glyph=\"decline\"\n [title]=\"'platformVariantManagement.removeVariant' | fdTranslate\"\n (click)=\"_removeVariant(item)\"\n ></fdp-button>\n </fdp-table-cell>\n </fdp-column>\n </fdp-table>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformVariantManagement.save' | fdTranslate\"\n (click)=\"_saveVariants()\"\n ariaLabel=\"Interested Emphasized\"\n ></fd-button-bar>\n\n <fd-button-bar\n [label]=\"'platformVariantManagement.cancel' | fdTranslate\"\n (click)=\"dialog.dismiss('Cancel')\"\n [ariaLabel]=\"'platformVariantManagement.cancel' | fdTranslate\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i4$1.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i5$1.ButtonComponent, selector: "fdp-button", inputs: ["glyphPosition", "label", "glyph", "buttonType", "toggled", "title", "ariaSelected", "ariaDisabled", "ariaExpanded", "ariaControlsId", "ariaPressed", "name", "type", "value"], outputs: ["buttonClicked"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.InputComponent, selector: "fdp-input", inputs: ["type", "required", "value"], outputs: ["focusChange"] }, { kind: "component", type: i5.CheckboxComponent, selector: "fdp-checkbox", inputs: ["title", "label", "tristate", "isBinary", "checked", "tristateSelectable", "value", "values", "standalone"], outputs: ["checkedChange", "change", "indeterminateChange"] }, { kind: "component", type: i8.TableComponent, selector: "fdp-table", inputs: ["name", "id", "enableDragResize", "fixed", "freezeColumnsTo", "freezeEndColumnsTo", "pageScrolling", "pageSize", "pageScrollingThreshold", "bodyHeight", "emptyTableMessage", "noVisibleColumnsMessage", "noHorizontalBorders", "noVerticalBorders", "noBorders", "noBodyBorders", "noOuterBorders", "noBorderX", "noBorderY", "relationKey", "expandedStateKey", "hasChildrenKey", "rowNavigatable", "highlightNavigatedRow", "rowsActivable", "selectedKey", "selectableKey", "trackBy", "rowComparator", "rowsClass", "editableRowSkeleton", "expandOnInit", "rowHeight", "loadPagesBefore", "selectionMode", "enableTristateMode", "semanticHighlighting", "forceCheckedAllState", "ariaLabelledBy", "loading"], outputs: ["presetChanged", "rowSelectionChange", "sortChange", "filterChange", "groupChange", "columnsChange", "pageChange", "columnFreeze", "rowToggleOpenState", "rowActivate", "rowNavigate", "emptyRowAdded", "save", "cancel", "tableScrolled", "tableRowsSet", "allRowsExpanded", "allRowsCollapsed", "cellFocused"] }, { kind: "component", type: i8.TableColumnComponent, selector: "fdp-column", inputs: ["name", "key", "label", "align", "sortable", "filterable", "visible", "dataType", "groupable", "freezable", "endFreezable", "width", "noWrap", "applyText", "role"] }, { kind: "directive", type: i9.TableInitialStateDirective, selector: "[fdpTableInitialState], fdp-table", inputs: ["initialVisibleColumns", "initialSortBy", "initialFilterBy", "initialGroupBy", "initialPage", "state"] }, { kind: "directive", type: i9.FdpTableCell, selector: "fdp-table-cell" }, { kind: "directive", type: i9.FdpCellDef, selector: "[fdpCellDef]", inputs: ["fdpCellDefAs"] }, { kind: "component", type: i10.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i11.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "pipe", type: i6.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
126
126
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ManageVariantsDialogComponent, decorators: [{
127
127
  type: Component,
128
128
  args: [{ selector: 'fdp-manage-variants-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dialog>\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-1\" fd-title>\n {{ 'platformVariantManagement.manageViews' | fdTranslate }}\n </h1>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fdp-table [dataSource]=\"_source\" [noVerticalBorders]=\"true\" class=\"fd-variant-management__table\">\n <fdp-column name=\"favourite\" key=\"favourite\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fd-icon\n class=\"fd-variant-management__favourite-state\"\n [class.fd-variant-management__favourite-state--active]=\"item.favourite\"\n [ariaLabel]=\"'platformVariantManagement.markAsFavourite' | fdTranslate\"\n tabindex=\"0\"\n (click)=\"_markAsFavourite(item)\"\n glyph=\"favorite\"\n ></fd-icon>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column [label]=\"'platformVariantManagement.view' | fdTranslate\" name=\"name\" key=\"name\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-input *ngIf=\"!item.readonly\" [(ngModel)]=\"item.name\"></fdp-input>\n <ng-container *ngIf=\"item.readonly\">{{ item.name }}</ng-container>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column [label]=\"'platformVariantManagement.sharing' | fdTranslate\" name=\"access\" key=\"access\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n {{\n (item.access === 'public'\n ? 'platformVariantManagement.access.public'\n : 'platformVariantManagement.access.private'\n ) | fdTranslate\n }}\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.default' | fdTranslate\"\n name=\"isDefault\"\n key=\"isDefault\"\n align=\"center\"\n >\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fd-radio-button\n [value]=\"true\"\n [id]=\"'radio-' + item.id\"\n name=\"is-variant-default\"\n [(ngModel)]=\"item.isDefault\"\n ></fd-radio-button>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.applyAutomatically' | fdTranslate\"\n name=\"applyAutomatically\"\n key=\"applyAutomatically\"\n align=\"center\"\n >\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-checkbox\n class=\"fd-variant-management__centered-checkbox\"\n [standalone]=\"true\"\n name=\"applyAutomatically\"\n [(ngModel)]=\"item.applyAutomatically\"\n ></fdp-checkbox>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.createdBy' | fdTranslate\"\n name=\"createdBy\"\n key=\"createdBy\"\n ></fdp-column>\n <fdp-column name=\"actions\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-button\n *ngIf=\"!item.readonly\"\n buttonType=\"transparent\"\n glyph=\"decline\"\n [title]=\"'platformVariantManagement.removeVariant' | fdTranslate\"\n (click)=\"_removeVariant(item)\"\n ></fdp-button>\n </fdp-table-cell>\n </fdp-column>\n </fdp-table>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformVariantManagement.save' | fdTranslate\"\n (click)=\"_saveVariants()\"\n ariaLabel=\"Interested Emphasized\"\n ></fd-button-bar>\n\n <fd-button-bar\n [label]=\"'platformVariantManagement.cancel' | fdTranslate\"\n (click)=\"dialog.dismiss('Cancel')\"\n [ariaLabel]=\"'platformVariantManagement.cancel' | fdTranslate\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n" }]
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-platform-variant-management.mjs","sources":["../../../../libs/platform/src/lib/variant-management/components/manage-variant-item/manage-variant-item.component.ts","../../../../libs/platform/src/lib/variant-management/components/manage-variant-item/manage-variant-item.component.html","../../../../libs/platform/src/lib/variant-management/components/manage-variants-dialog/data-provider.ts","../../../../libs/platform/src/lib/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.ts","../../../../libs/platform/src/lib/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.html","../../../../libs/platform/src/lib/variant-management/directives/variant-management-dirty-label.directive.ts","../../../../libs/platform/src/lib/variant-management/tokens.ts","../../../../libs/platform/src/lib/variant-management/variant-item.class.ts","../../../../libs/platform/src/lib/variant-management/variant-management.component.ts","../../../../libs/platform/src/lib/variant-management/variant-management.component.html","../../../../libs/platform/src/lib/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.ts","../../../../libs/platform/src/lib/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.html","../../../../libs/platform/src/lib/variant-management/variant-management.module.ts","../../../../libs/platform/src/lib/variant-management/fundamental-ngx-platform-variant-management.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormBuilder, FormGroup, FormGroupDirective, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { DialogRef } from '@fundamental-ngx/core/dialog';\nimport { SaveDialogContext } from '../../models/save-dialog.model';\n\n@Component({\n selector: 'fdp-manage-variant-item',\n templateUrl: './manage-variant-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ManageVariantItemComponent {\n /** @Hidden */\n _form: FormGroup;\n\n /** @hidden */\n @ViewChild('formContainer', { read: FormGroupDirective })\n private readonly _formContainer: FormGroupDirective;\n /** @hidden */\n _nameValidator: ValidatorFn[];\n\n /** @hidden */\n private readonly _dialogConfig: SaveDialogContext;\n\n /** @hidden */\n constructor(public dialog: DialogRef<SaveDialogContext>, private readonly _formBuilder: FormBuilder) {\n this._dialogConfig = this.dialog.data;\n this._nameValidator = [this._variantNameValidator(this._dialogConfig)];\n this._form = this._formBuilder.group({\n name: [\n this._dialogConfig.currentVariantName,\n [Validators.required, this._variantNameValidator(this._dialogConfig)]\n ],\n isDefault: false,\n access: 'private',\n applyAutomatically: false,\n readonly: false,\n favourite: false\n });\n }\n /** @Hidden */\n _submitForm(): void {\n this._formContainer.onSubmit(new Event('submit'));\n\n if (!this._form.valid) {\n return;\n }\n\n this.dialog.close(this._form.value);\n }\n\n /** @hidden */\n private _variantNameValidator(data: SaveDialogContext): ValidatorFn {\n return (control): ValidationErrors | null =>\n data.existingVariantNames.includes(control.value) ? { nameTaken: true } : null;\n }\n}\n","<fd-dialog>\n <fd-dialog-header>\n <h1 fd-title>{{ 'platformVariantManagement.saveView' | fdTranslate }}</h1>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fdp-form-group #formContainer [formGroup]=\"_form\" [unifiedLayout]=\"false\" [useForm]=\"true\">\n <fdp-form-field\n id=\"name\"\n [label]=\"'platformVariantManagement.view' | fdTranslate\"\n [column]=\"1\"\n [rank]=\"1\"\n hintPlacement=\"left\"\n [required]=\"true\"\n [validators]=\"_nameValidator\"\n [labelColumnLayout]=\"{ S: 12 }\"\n [fieldColumnLayout]=\"{ S: 12 }\"\n [gapColumnLayout]=\"{ S: 12 }\"\n >\n <fdp-input name=\"name\" formControlName=\"name\"></fdp-input>\n </fdp-form-field>\n <fdp-form-field\n id=\"isDefault\"\n [noLabelLayout]=\"true\"\n [labelColumnLayout]=\"{ S: 12 }\"\n [fieldColumnLayout]=\"{ S: 12 }\"\n [gapColumnLayout]=\"{ S: 12 }\"\n >\n <fdp-checkbox\n name=\"isDefault\"\n formControlName=\"isDefault\"\n [label]=\"'platformVariantManagement.setAsDefault' | fdTranslate\"\n ></fdp-checkbox>\n </fdp-form-field>\n <fdp-form-field\n id=\"access\"\n [noLabelLayout]=\"true\"\n [labelColumnLayout]=\"{ S: 12 }\"\n [fieldColumnLayout]=\"{ S: 12 }\"\n [gapColumnLayout]=\"{ S: 12 }\"\n >\n <fdp-checkbox\n [values]=\"{ trueValue: 'public', falseValue: 'private' }\"\n name=\"access\"\n formControlName=\"access\"\n [label]=\"'platformVariantManagement.public' | fdTranslate\"\n ></fdp-checkbox>\n </fdp-form-field>\n <fdp-form-field\n id=\"applyAutomatically\"\n [noLabelLayout]=\"true\"\n [labelColumnLayout]=\"{ S: 12 }\"\n [fieldColumnLayout]=\"{ S: 12 }\"\n [gapColumnLayout]=\"{ S: 12 }\"\n >\n <fdp-checkbox\n name=\"applyAutomatically\"\n formControlName=\"applyAutomatically\"\n [label]=\"'platformVariantManagement.applyAutomatically' | fdTranslate\"\n ></fdp-checkbox>\n </fdp-form-field>\n <span *fdpFormFieldError=\"'required'\">\n {{ 'platformVariantManagement.requiredFieldError' | fdTranslate }}\n </span>\n <span *fdpFormFieldError=\"'nameTaken'\">\n {{ 'platformVariantManagement.nameTakenFieldError' | fdTranslate }}\n </span>\n </fdp-form-group>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformVariantManagement.save' | fdTranslate\"\n (click)=\"_submitForm()\"\n ariaLabel=\"Interested Emphasized\"\n ></fd-button-bar>\n\n <fd-button-bar\n [label]=\"'platformVariantManagement.cancel' | fdTranslate\"\n (click)=\"dialog.dismiss('Cancel')\"\n ariaLabel=\"Cancel\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n","import { ArrayTableDataProvider } from '@fundamental-ngx/platform/table';\nimport { VariantItem } from '../../variant-item.class';\n\nexport class VariantManagementDataProvider extends ArrayTableDataProvider<VariantItem> {\n /** @hidden */\n constructor(items: VariantItem[]) {\n super(items);\n }\n\n /** Updates items list. */\n update(items: VariantItem[]): void {\n this.items$.next(items);\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { DialogRef } from '@fundamental-ngx/core/dialog';\nimport { TableDataSource } from '@fundamental-ngx/platform/table';\nimport { VariantItem } from '../../variant-item.class';\nimport { VariantManagementDataProvider } from './data-provider';\n\n@Component({\n selector: 'fdp-manage-variants-dialog',\n templateUrl: './manage-variants-dialog.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ManageVariantsDialogComponent {\n /** @hidden */\n _source: TableDataSource<VariantItem>;\n\n /**\n * @hidden\n * Used to apply typings in template.\n */\n _variantModel!: VariantItem;\n\n /** @hidden */\n private readonly _variants: VariantItem[] = [];\n\n /** @hidden */\n private readonly _dataProvider: VariantManagementDataProvider;\n\n /** @hidden */\n constructor(public dialog: DialogRef<VariantItem[]>, private readonly _cdr: ChangeDetectorRef) {\n // We clone all variants, so we don't change original instances immediately.\n this._variants = this.dialog.data.map((oldVariant) => oldVariant.clone({}, false));\n this._dataProvider = new VariantManagementDataProvider(this._variants);\n this._source = new TableDataSource(this._dataProvider);\n }\n\n /** @Hidden */\n _markAsFavourite(item: VariantItem): void {\n item.favourite = !item.favourite;\n }\n\n /** @hidden */\n _removeVariant(item: VariantItem): void {\n this._variants.splice(\n this._variants.findIndex((variant) => item.id === variant.id),\n 1\n );\n this._dataProvider.update(this._variants);\n this._cdr.detectChanges();\n }\n\n /**\n * @hidden\n * Closes dialog with updated variants array.\n */\n _saveVariants(): void {\n this.dialog.close(this._variants);\n }\n}\n","<fd-dialog>\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-1\" fd-title>\n {{ 'platformVariantManagement.manageViews' | fdTranslate }}\n </h1>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fdp-table [dataSource]=\"_source\" [noVerticalBorders]=\"true\" class=\"fd-variant-management__table\">\n <fdp-column name=\"favourite\" key=\"favourite\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fd-icon\n class=\"fd-variant-management__favourite-state\"\n [class.fd-variant-management__favourite-state--active]=\"item.favourite\"\n [ariaLabel]=\"'platformVariantManagement.markAsFavourite' | fdTranslate\"\n tabindex=\"0\"\n (click)=\"_markAsFavourite(item)\"\n glyph=\"favorite\"\n ></fd-icon>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column [label]=\"'platformVariantManagement.view' | fdTranslate\" name=\"name\" key=\"name\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-input *ngIf=\"!item.readonly\" [(ngModel)]=\"item.name\"></fdp-input>\n <ng-container *ngIf=\"item.readonly\">{{ item.name }}</ng-container>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column [label]=\"'platformVariantManagement.sharing' | fdTranslate\" name=\"access\" key=\"access\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n {{\n (item.access === 'public'\n ? 'platformVariantManagement.access.public'\n : 'platformVariantManagement.access.private'\n ) | fdTranslate\n }}\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.default' | fdTranslate\"\n name=\"isDefault\"\n key=\"isDefault\"\n align=\"center\"\n >\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fd-radio-button\n [value]=\"true\"\n [id]=\"'radio-' + item.id\"\n name=\"is-variant-default\"\n [(ngModel)]=\"item.isDefault\"\n ></fd-radio-button>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.applyAutomatically' | fdTranslate\"\n name=\"applyAutomatically\"\n key=\"applyAutomatically\"\n align=\"center\"\n >\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-checkbox\n class=\"fd-variant-management__centered-checkbox\"\n [standalone]=\"true\"\n name=\"applyAutomatically\"\n [(ngModel)]=\"item.applyAutomatically\"\n ></fdp-checkbox>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.createdBy' | fdTranslate\"\n name=\"createdBy\"\n key=\"createdBy\"\n ></fdp-column>\n <fdp-column name=\"actions\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-button\n *ngIf=\"!item.readonly\"\n buttonType=\"transparent\"\n glyph=\"decline\"\n [title]=\"'platformVariantManagement.removeVariant' | fdTranslate\"\n (click)=\"_removeVariant(item)\"\n ></fdp-button>\n </fdp-table-cell>\n </fdp-column>\n </fdp-table>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformVariantManagement.save' | fdTranslate\"\n (click)=\"_saveVariants()\"\n ariaLabel=\"Interested Emphasized\"\n ></fd-button-bar>\n\n <fd-button-bar\n [label]=\"'platformVariantManagement.cancel' | fdTranslate\"\n (click)=\"dialog.dismiss('Cancel')\"\n [ariaLabel]=\"'platformVariantManagement.cancel' | fdTranslate\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n","import { Directive, TemplateRef } from '@angular/core';\n\n/**\n * Directive used to change dirty label of Variant Management component.\n *\n * Usage:\n *\n * ```\n * html\n * <fdp-variant-management>\n * <span *fdpVariantManagementDirtyLabel>I'm dirty</span>\n * </fdp-variant-management>\n * ```\n */\n@Directive({\n selector: '[fdpVariantManagementDirtyLabel]'\n})\nexport class VariantManagementDirtyLabelDirective {\n /** @hidden */\n constructor(public templateRef: TemplateRef<any>) {}\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FDP_VARIANT_MANAGEMENT_WRAPPER = new InjectionToken('FdpVariantManagementWrapper');\nexport const FDP_VARIANT_MANAGEMENT = new InjectionToken('FdpVariantManagement');\n","import { cloneDeep } from 'lodash-es';\nimport { NewVariant, Variant, VariantAccess } from './models/variant.interface';\n\nlet defaultVariantId = 0;\n\nexport class VariantItem<T = any> implements Variant<T> {\n /** Visibility of the variant. If public, available for everyone. */\n access: VariantAccess = 'public';\n /** Whether to automatically apply changes in preset managed component. */\n applyAutomatically? = false;\n /** Variant's author name. */\n createdBy: string;\n /** Variant data. Can contain any type of data. */\n data: T;\n /** Whether variant is marked as favourite. */\n favourite = false;\n /** Variant ID. */\n id = `variant-item-${++defaultVariantId}`;\n /** Whether to apply variant automatically. */\n isDefault = false;\n /** Variant name to be displayed in popover list. */\n name: string;\n /** Whether variant is editable. */\n readonly = false;\n\n /** @hidden */\n constructor(config: Partial<Variant>) {\n Object.keys(config).forEach((configKey) => {\n this[configKey] = config[configKey];\n });\n }\n\n /**\n * Clones current variant and applies new config on top of it.\n * @param newVariantData New config.\n * @param refreshId Whether to assign new ID to the new variant.\n */\n clone(newVariantData: NewVariant = {}, refreshId = true): VariantItem {\n const currentVariantData: Variant = Object.assign({}, this, newVariantData);\n\n currentVariantData.data = cloneDeep(currentVariantData.data);\n\n if (refreshId) {\n delete currentVariantData.id;\n }\n const newVariant = new VariantItem(currentVariantData);\n return newVariant;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DialogService } from '@fundamental-ngx/core/dialog';\nimport { PopoverComponent, TriggerConfig } from '@fundamental-ngx/core/popover';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { HeaderSizes } from '@fundamental-ngx/core/title';\nimport { SearchInput } from '@fundamental-ngx/platform/search-field';\nimport equal from 'fast-deep-equal';\nimport { BehaviorSubject } from 'rxjs';\nimport { ManageVariantItemComponent } from './components/manage-variant-item/manage-variant-item.component';\nimport { ManageVariantsDialogComponent } from './components/manage-variants-dialog/manage-variants-dialog.component';\nimport { VariantManagementDirtyLabelDirective } from './directives/variant-management-dirty-label.directive';\nimport { SaveDialogContext } from './models/save-dialog.model';\nimport { VariantManagement } from './models/variant-management';\nimport { NewVariant, Variant } from './models/variant.interface';\nimport { FDP_VARIANT_MANAGEMENT } from './tokens';\nimport { VariantItem } from './variant-item.class';\n\n@Component({\n selector: 'fdp-variant-management',\n templateUrl: './variant-management.component.html',\n styleUrls: ['./variant-management.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FDP_VARIANT_MANAGEMENT,\n useExisting: VariantManagementComponent\n }\n ]\n})\nexport class VariantManagementComponent<T = any> implements VariantManagement<T> {\n /** Initial variants array. */\n @Input()\n set variants(items: Variant<T>[]) {\n this._variants = this._transformVariants(items);\n\n let currentVariantIndex = this._variants.findIndex((variant) => variant.isDefault);\n currentVariantIndex = currentVariantIndex > -1 ? currentVariantIndex : 0;\n const currentVariant = this._variants[currentVariantIndex];\n this.selectVariant(currentVariant as VariantItem);\n }\n\n /** Header size. */\n @Input()\n headerSize: HeaderSizes = 4;\n\n /** Popover trigger events. */\n @Input()\n popoverTriggers: (string | TriggerConfig)[] = [\n { trigger: 'click', stopPropagation: true, closeAction: true, openAction: true }\n ];\n\n /** User's name which will be applied to all new variants user creates. */\n @Input()\n userName: string;\n\n /** Whether to display search field for variants list. */\n @Input()\n displaySearch = false;\n\n /** Event emitted when variants data has been updated. */\n @Output()\n variantsChange = new EventEmitter<Variant<T>[]>();\n\n /** Event emitted when new variant selected. */\n @Output()\n activeVariantChange = new EventEmitter<Variant<T>>();\n\n /**\n * Used internally for communicating with wrapper component.\n */\n activeVariantChangeSubject = new BehaviorSubject<Variant<T> | null>(null);\n\n /**\n * Custom dirty label directive.\n */\n @ContentChild(VariantManagementDirtyLabelDirective)\n dirtyLabel: VariantManagementDirtyLabelDirective;\n\n /** @hidden */\n @ViewChild('popover')\n _popover: PopoverComponent;\n\n /** @hidden */\n _variantChanged = false;\n\n /** Selected variant. */\n activeVariant!: VariantItem<T>;\n\n /** @hidden */\n _variants: VariantItem<T>[] = [];\n\n /** @Hidden */\n _filterPhrase: Nullable<string> = null;\n\n /** @hidden */\n @HostBinding('class')\n private readonly _initialClass = 'fd-variant-management';\n\n /** @Hidden */\n private _originalActiveVariant: VariantItem<T>;\n\n /** @hidden */\n constructor(private readonly _dialogService: DialogService, private readonly _cdr: ChangeDetectorRef) {}\n\n /**\n * Manually select variant.\n * @param variant Variant to select.\n */\n selectVariant(variant: VariantItem<T>): void {\n this._variantChanged = false;\n this.activeVariant = variant;\n this._originalActiveVariant = variant.clone({}, false);\n this.activeVariantChange.emit(variant);\n this.activeVariantChangeSubject.next(variant);\n }\n\n /** Returns original variant data. */\n getOriginalActiveVariantData(): Variant<T>['data'] {\n return this._originalActiveVariant.data;\n }\n\n /** Returns current active variant data with applied changes. */\n getActiveVariantData(): Variant<T>['data'] {\n return this.activeVariant.data;\n }\n\n /**\n * Saves current variant with its configuration.\n */\n saveCurrentVariant(): void {\n const currentVariantIndex = this._variants.findIndex((variant) => variant.id === this.activeVariant.id);\n this._variants[currentVariantIndex] = this.activeVariant;\n this._originalActiveVariant = this.activeVariant.clone({}, false);\n this._variantChanged = false;\n this.variantsChange.emit(this._variants);\n }\n\n /** @hidden */\n _openSaveDialog(): void {\n this._popover?.close(false);\n const dialogRef = this._dialogService.open<SaveDialogContext>(ManageVariantItemComponent, {\n data: {\n existingVariantNames: this._variants.map((variant) => variant.name),\n currentVariantName: this.activeVariant.name\n }\n });\n dialogRef.afterClosed.subscribe({\n next: (result: NewVariant) => {\n const newVariant = this.activeVariant.clone({ ...result, ...{ createdBy: this.userName } });\n this._variants.push(newVariant);\n this.variantsChange.emit(this._variants);\n this.activeVariant = newVariant;\n this._variantChanged = false;\n this._cdr.detectChanges();\n },\n error: () => {}\n });\n }\n\n /**\n * Updates current active preset with new configuration.\n * @param preset Preset configuration.\n * @param componentName component to which this preset belongs to.\n */\n updateActivePreset(preset: T, componentName: string): void {\n const activeVariantData = this._originalActiveVariant.data[componentName];\n this._variantChanged = activeVariantData && !equal(preset, activeVariantData);\n this.activeVariant.data[componentName] = preset;\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n _openManageDialog(): void {\n this._popover?.close(false);\n const dialogRef = this._dialogService.open<VariantItem[]>(ManageVariantsDialogComponent, {\n data: this._variants\n });\n\n dialogRef.afterClosed.subscribe({\n next: (variants: VariantItem[]) => {\n this._variants = variants;\n this.variantsChange.emit(this._variants);\n },\n error: () => {}\n });\n }\n\n /** @hidden */\n _onSearchSubmit(search: SearchInput): void {\n this._filterPhrase = search.text;\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n _cancelSearch(): void {\n this._filterPhrase = null;\n this._cdr.detectChanges();\n }\n\n /** @Hidden */\n _trackFn(index: number, item: VariantItem<T>): string {\n return item.id;\n }\n\n /** @hidden */\n private _transformVariants(items: Variant<T>[]): VariantItem[] {\n return items.map((variant) => new VariantItem(variant));\n }\n}\n","<fd-popover\n #popover\n *ngIf=\"activeVariant\"\n placement=\"bottom\"\n [noArrow]=\"false\"\n [focusAutoCapture]=\"true\"\n [focusTrapped]=\"true\"\n additionalBodyClass=\"fd-variant-management__popover-body\"\n [triggers]=\"popoverTriggers\"\n>\n <fd-popover-control>\n <div class=\"fd-variant-management__header\">\n <h4 fd-title class=\"fd-variant-management__title\" [headerSize]=\"headerSize\">\n {{ activeVariant.name }}\n </h4>\n <ng-container *ngIf=\"_variantChanged\">\n <span\n class=\"fd-variant-management__dirty-indicator\"\n [class.fd-variant-management__dirty-indicator--custom]=\"!!dirtyLabel\"\n >\n <ng-template #defaultDirtyIndicator>*</ng-template>\n <ng-template\n *ngTemplateOutlet=\"dirtyLabel ? dirtyLabel.templateRef : defaultDirtyIndicator\"\n ></ng-template>\n </span>\n </ng-container>\n <fdp-menu-button type=\"transparent\"> </fdp-menu-button>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <div fd-popover-body-header>\n <div fd-bar [barDesign]=\"displaySearch ? 'header-with-subheader' : 'header'\">\n <div fd-bar-left>\n <fd-bar-element>\n <h5 fd-title>{{ 'platformVariantManagement.myViews' | fdTranslate }}</h5>\n </fd-bar-element>\n </div>\n </div>\n <div fd-bar barDesign=\"header\" *ngIf=\"displaySearch\">\n <div fd-bar-left>\n <fd-bar-element>\n <fdp-search-field\n [placeholder]=\"'platformVariantManagement.search' | fdTranslate\"\n (searchSubmit)=\"_onSearchSubmit($event)\"\n (cancelSearch)=\"_cancelSearch()\"\n [disableRefresh]=\"true\"\n ></fdp-search-field>\n </fd-bar-element>\n </div>\n </div>\n </div>\n <ul fd-list>\n <ng-container\n *ngFor=\"\n let variant of _variants | fdFilterStrings : { searchTerm: _filterPhrase, key: 'name' };\n trackBy: _trackFn\n \"\n >\n <li fd-list-item (click)=\"selectVariant(variant)\">\n <span fd-list-link>\n <span fd-list-title>{{ variant.name }}</span>\n </span>\n </li>\n </ng-container>\n </ul>\n <div fd-popover-body-footer>\n <div fd-bar barDesign=\"footer\">\n <div fd-bar-right>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformVariantManagement.save' | fdTranslate\"\n *ngIf=\"!activeVariant.readonly && _variantChanged\"\n (click)=\"saveCurrentVariant()\"\n >\n </fd-button-bar>\n <fd-button-bar\n [fdType]=\"activeVariant.readonly || !_variantChanged ? 'emphasized' : 'transparent'\"\n [label]=\"'platformVariantManagement.saveAs' | fdTranslate\"\n (click)=\"_openSaveDialog()\"\n ></fd-button-bar>\n <fd-button-bar\n [label]=\"'platformVariantManagement.manage' | fdTranslate\"\n (click)=\"_openManageDialog()\"\n ></fd-button-bar>\n </div>\n </div>\n </div>\n </fd-popover-body>\n</fd-popover>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { DestroyedService } from '@fundamental-ngx/cdk/utils';\nimport { FDP_PRESET_MANAGED_COMPONENT, PresetManagedComponent } from '@fundamental-ngx/platform/shared';\nimport equal from 'fast-deep-equal';\nimport { filter, startWith, Subscription, takeUntil } from 'rxjs';\nimport { VariantManagement } from '../../models/variant-management';\nimport { FDP_VARIANT_MANAGEMENT, FDP_VARIANT_MANAGEMENT_WRAPPER } from '../../tokens';\n\n/**\n * Wrapper component used to wrap components that implement `PresetManagedComponent`.\n * It automatically bounds existing presets from `Variant Management` component to `PresetManagedComponent`.\n * Wrapper component supports two ways of providing Variant Management component.\n * First one is to pass reference via Input property.\n * Second one is to put Variant Management component inside wrapper component so it would be accessible via @ContentChild.\n * Usage example:\n *\n * ```html\n * Usage outside wrapper component:\n * <fdp-variant-management #variantManagement [variants]=\"...\"></fdp-variant-management>\n * <fdp-variant-management-wrapper [variantManager]=\"variantManagement\">\n * <fdp-smart-filter-bar>...</fdp-smart-filter-bar>\n * <fdp-table>...</fdp-table>\n * </fdp-variant-management-wrapper>\n *\n * Usage inside wrapper component:\n * <fdp-variant-management-wrapper>\n * <fdp-variant-management [variants]=\"...\"></fdp-variant-management>\n * <fdp-smart-filter-bar>...</fdp-smart-filter-bar>\n * <fdp-table>...</fdp-table>\n * </fdp-variant-management-wrapper>\n * ```\n */\n@Component({\n selector: 'fdp-variant-management-wrapper',\n templateUrl: './variant-management-wrapper.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n DestroyedService,\n {\n provide: FDP_VARIANT_MANAGEMENT_WRAPPER,\n useExisting: VariantManagementWrapperComponent\n }\n ]\n})\nexport class VariantManagementWrapperComponent implements AfterViewInit, OnDestroy {\n /** Variant management component. */\n @Input()\n variantManager: VariantManagement;\n\n /** @hidden */\n @ContentChildren(FDP_PRESET_MANAGED_COMPONENT, { descendants: true })\n private readonly _managedComponents: QueryList<PresetManagedComponent<any>>;\n\n /** @hidden */\n @ContentChild(FDP_VARIANT_MANAGEMENT, { descendants: true })\n private set _projectedVariantManager(variantManager: VariantManagement) {\n this._variantManager = variantManager;\n this._setPresets();\n }\n\n private get _projectedVariantManager(): VariantManagement {\n return this._variantManager;\n }\n\n /** @hidden */\n private get _variantManagement(): VariantManagement {\n return this._projectedVariantManager || this.variantManager;\n }\n\n /** @hidden */\n private _variantManager: VariantManagement;\n\n /** @hidden */\n private _activeVariantSubscription: Subscription;\n\n /** @hidden */\n private _componentsPresetChangeSubscription: Subscription;\n\n /** @hidden */\n constructor(private _destroy$: DestroyedService) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._setPresets();\n\n this._managedComponents?.changes\n .pipe(startWith(this._managedComponents), takeUntil(this._destroy$))\n .subscribe(() => {\n this._listenToPresetChanges();\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._activeVariantSubscription?.unsubscribe();\n this._componentsPresetChangeSubscription?.unsubscribe();\n }\n\n /**\n * @hidden\n * Listens to the preset change in Variant Management component and applies new configuration across projected components..\n */\n private _setPresets(): void {\n this._activeVariantSubscription?.unsubscribe();\n this._activeVariantSubscription = this._variantManagement?.activeVariantChangeSubject\n .pipe(\n filter((variant) => !!variant && !!this._managedComponents),\n takeUntil(this._destroy$)\n )\n .subscribe(() => {\n const components = this._managedComponents.toArray();\n\n components.forEach((component) => {\n const data = this._variantManagement.activeVariant.data[component.name];\n component.setPreset(data);\n });\n });\n }\n\n /**\n * @hidden\n * Listens to preset configuration changes in projected components and sends updated config to Variant Management component.\n */\n private _listenToPresetChanges(): void {\n this._componentsPresetChangeSubscription?.unsubscribe();\n this._componentsPresetChangeSubscription = new Subscription();\n const components = this._managedComponents.toArray();\n\n components.forEach((component) => {\n this._componentsPresetChangeSubscription.add(\n component.presetChanged\n .pipe(\n filter((preset) => {\n const prevPreset = this._getComponentPreset().get(component);\n return !equal(preset, prevPreset);\n }),\n takeUntil(this._destroy$)\n )\n .subscribe((preset) => {\n this._variantManagement?.updateActivePreset(preset, component.name);\n })\n );\n });\n }\n\n /** @hidden */\n private _getComponentPreset(): Map<PresetManagedComponent<any>, any> {\n const components = this._managedComponents.toArray();\n const data = this._variantManagement.getActiveVariantData();\n const componentsMap = new Map<PresetManagedComponent<any>, any>();\n\n components.forEach((component) => {\n componentsMap.set(component, data[component.name]);\n });\n\n return componentsMap;\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { DialogModule } from '@fundamental-ngx/core/dialog';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { LinkModule } from '@fundamental-ngx/core/link';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { TitleModule } from '@fundamental-ngx/core/title';\nimport { RadioModule } from '@fundamental-ngx/core/radio';\nimport { PipeModule } from '@fundamental-ngx/cdk/utils';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { PlatformButtonModule } from '@fundamental-ngx/platform/button';\nimport {\n FdpFormGroupModule,\n PlatformCheckboxGroupModule,\n PlatformCheckboxModule,\n PlatformInputModule\n} from '@fundamental-ngx/platform/form';\nimport { PlatformMenuButtonModule } from '@fundamental-ngx/platform/menu-button';\nimport { PlatformSearchFieldModule } from '@fundamental-ngx/platform/search-field';\nimport { PlatformTableModule } from '@fundamental-ngx/platform/table';\nimport { VariantManagementComponent } from './variant-management.component';\nimport { VariantManagementDirtyLabelDirective } from './directives/variant-management-dirty-label.directive';\nimport { ManageVariantItemComponent } from './components/manage-variant-item/manage-variant-item.component';\nimport { VariantManagementWrapperComponent } from './components/variant-management-wrapper/variant-management-wrapper.component';\nimport { ManageVariantsDialogComponent } from './components/manage-variants-dialog/manage-variants-dialog.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PopoverModule,\n DialogModule,\n PlatformButtonModule,\n PlatformMenuButtonModule,\n TitleModule,\n LinkModule,\n ListModule,\n FdpFormGroupModule,\n ReactiveFormsModule,\n FormsModule,\n PlatformInputModule,\n PlatformCheckboxGroupModule,\n PlatformCheckboxModule,\n PlatformTableModule,\n IconModule,\n RadioModule,\n I18nModule,\n PipeModule,\n PlatformSearchFieldModule\n ],\n exports: [\n VariantManagementComponent,\n VariantManagementDirtyLabelDirective,\n ManageVariantItemComponent,\n VariantManagementWrapperComponent,\n ManageVariantsDialogComponent\n ],\n declarations: [\n VariantManagementComponent,\n VariantManagementDirtyLabelDirective,\n ManageVariantItemComponent,\n VariantManagementWrapperComponent,\n ManageVariantsDialogComponent\n ]\n})\nexport class VariantManagementModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i4","i2","i5","i6","i7","i12","i8","i9","i10","i1"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-platform-variant-management.mjs","sources":["../../../../libs/platform/src/lib/variant-management/components/manage-variant-item/manage-variant-item.component.ts","../../../../libs/platform/src/lib/variant-management/components/manage-variant-item/manage-variant-item.component.html","../../../../libs/platform/src/lib/variant-management/components/manage-variants-dialog/data-provider.ts","../../../../libs/platform/src/lib/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.ts","../../../../libs/platform/src/lib/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.html","../../../../libs/platform/src/lib/variant-management/directives/variant-management-dirty-label.directive.ts","../../../../libs/platform/src/lib/variant-management/tokens.ts","../../../../libs/platform/src/lib/variant-management/variant-item.class.ts","../../../../libs/platform/src/lib/variant-management/variant-management.component.ts","../../../../libs/platform/src/lib/variant-management/variant-management.component.html","../../../../libs/platform/src/lib/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.ts","../../../../libs/platform/src/lib/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.html","../../../../libs/platform/src/lib/variant-management/variant-management.module.ts","../../../../libs/platform/src/lib/variant-management/fundamental-ngx-platform-variant-management.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormBuilder, FormGroup, FormGroupDirective, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { DialogRef } from '@fundamental-ngx/core/dialog';\nimport { SaveDialogContext } from '../../models/save-dialog.model';\n\n@Component({\n selector: 'fdp-manage-variant-item',\n templateUrl: './manage-variant-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ManageVariantItemComponent {\n /** @Hidden */\n _form: FormGroup;\n\n /** @hidden */\n @ViewChild('formContainer', { read: FormGroupDirective })\n private readonly _formContainer: FormGroupDirective;\n /** @hidden */\n _nameValidator: ValidatorFn[];\n\n /** @hidden */\n private readonly _dialogConfig: SaveDialogContext;\n\n /** @hidden */\n constructor(public dialog: DialogRef<SaveDialogContext>, private readonly _formBuilder: FormBuilder) {\n this._dialogConfig = this.dialog.data;\n this._nameValidator = [this._variantNameValidator(this._dialogConfig)];\n this._form = this._formBuilder.group({\n name: [\n this._dialogConfig.currentVariantName,\n [Validators.required, this._variantNameValidator(this._dialogConfig)]\n ],\n isDefault: false,\n access: 'private',\n applyAutomatically: false,\n readonly: false,\n favourite: false\n });\n }\n /** @Hidden */\n _submitForm(): void {\n this._formContainer.onSubmit(new Event('submit'));\n\n if (!this._form.valid) {\n return;\n }\n\n this.dialog.close(this._form.value);\n }\n\n /** @hidden */\n private _variantNameValidator(data: SaveDialogContext): ValidatorFn {\n return (control): ValidationErrors | null =>\n data.existingVariantNames.includes(control.value) ? { nameTaken: true } : null;\n }\n}\n","<fd-dialog>\n <fd-dialog-header>\n <h1 fd-title>{{ 'platformVariantManagement.saveView' | fdTranslate }}</h1>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fdp-form-group #formContainer [formGroup]=\"_form\" [unifiedLayout]=\"false\" [useForm]=\"true\">\n <fdp-form-field\n id=\"name\"\n [label]=\"'platformVariantManagement.view' | fdTranslate\"\n [column]=\"1\"\n [rank]=\"1\"\n hintPlacement=\"left\"\n [required]=\"true\"\n [validators]=\"_nameValidator\"\n [labelColumnLayout]=\"{ S: 12 }\"\n [fieldColumnLayout]=\"{ S: 12 }\"\n [gapColumnLayout]=\"{ S: 12 }\"\n >\n <fdp-input name=\"name\" formControlName=\"name\"></fdp-input>\n </fdp-form-field>\n <fdp-form-field\n id=\"isDefault\"\n [noLabelLayout]=\"true\"\n [labelColumnLayout]=\"{ S: 12 }\"\n [fieldColumnLayout]=\"{ S: 12 }\"\n [gapColumnLayout]=\"{ S: 12 }\"\n >\n <fdp-checkbox\n name=\"isDefault\"\n formControlName=\"isDefault\"\n [label]=\"'platformVariantManagement.setAsDefault' | fdTranslate\"\n ></fdp-checkbox>\n </fdp-form-field>\n <fdp-form-field\n id=\"access\"\n [noLabelLayout]=\"true\"\n [labelColumnLayout]=\"{ S: 12 }\"\n [fieldColumnLayout]=\"{ S: 12 }\"\n [gapColumnLayout]=\"{ S: 12 }\"\n >\n <fdp-checkbox\n [values]=\"{ trueValue: 'public', falseValue: 'private' }\"\n name=\"access\"\n formControlName=\"access\"\n [label]=\"'platformVariantManagement.public' | fdTranslate\"\n ></fdp-checkbox>\n </fdp-form-field>\n <fdp-form-field\n id=\"applyAutomatically\"\n [noLabelLayout]=\"true\"\n [labelColumnLayout]=\"{ S: 12 }\"\n [fieldColumnLayout]=\"{ S: 12 }\"\n [gapColumnLayout]=\"{ S: 12 }\"\n >\n <fdp-checkbox\n name=\"applyAutomatically\"\n formControlName=\"applyAutomatically\"\n [label]=\"'platformVariantManagement.applyAutomatically' | fdTranslate\"\n ></fdp-checkbox>\n </fdp-form-field>\n <span *fdpFormFieldError=\"'required'\">\n {{ 'platformVariantManagement.requiredFieldError' | fdTranslate }}\n </span>\n <span *fdpFormFieldError=\"'nameTaken'\">\n {{ 'platformVariantManagement.nameTakenFieldError' | fdTranslate }}\n </span>\n </fdp-form-group>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformVariantManagement.save' | fdTranslate\"\n (click)=\"_submitForm()\"\n ariaLabel=\"Interested Emphasized\"\n ></fd-button-bar>\n\n <fd-button-bar\n [label]=\"'platformVariantManagement.cancel' | fdTranslate\"\n (click)=\"dialog.dismiss('Cancel')\"\n ariaLabel=\"Cancel\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n","import { ArrayTableDataProvider } from '@fundamental-ngx/platform/table';\nimport { VariantItem } from '../../variant-item.class';\n\nexport class VariantManagementDataProvider extends ArrayTableDataProvider<VariantItem> {\n /** @hidden */\n constructor(items: VariantItem[]) {\n super(items);\n }\n\n /** Updates items list. */\n update(items: VariantItem[]): void {\n this.items$.next(items);\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { DialogRef } from '@fundamental-ngx/core/dialog';\nimport { TableDataSource } from '@fundamental-ngx/platform/table';\nimport { VariantItem } from '../../variant-item.class';\nimport { VariantManagementDataProvider } from './data-provider';\n\n@Component({\n selector: 'fdp-manage-variants-dialog',\n templateUrl: './manage-variants-dialog.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ManageVariantsDialogComponent {\n /** @hidden */\n _source: TableDataSource<VariantItem>;\n\n /**\n * @hidden\n * Used to apply typings in template.\n */\n _variantModel!: VariantItem;\n\n /** @hidden */\n private readonly _variants: VariantItem[] = [];\n\n /** @hidden */\n private readonly _dataProvider: VariantManagementDataProvider;\n\n /** @hidden */\n constructor(public dialog: DialogRef<VariantItem[]>, private readonly _cdr: ChangeDetectorRef) {\n // We clone all variants, so we don't change original instances immediately.\n this._variants = this.dialog.data.map((oldVariant) => oldVariant.clone({}, false));\n this._dataProvider = new VariantManagementDataProvider(this._variants);\n this._source = new TableDataSource(this._dataProvider);\n }\n\n /** @Hidden */\n _markAsFavourite(item: VariantItem): void {\n item.favourite = !item.favourite;\n }\n\n /** @hidden */\n _removeVariant(item: VariantItem): void {\n this._variants.splice(\n this._variants.findIndex((variant) => item.id === variant.id),\n 1\n );\n this._dataProvider.update(this._variants);\n this._cdr.detectChanges();\n }\n\n /**\n * @hidden\n * Closes dialog with updated variants array.\n */\n _saveVariants(): void {\n this.dialog.close(this._variants);\n }\n}\n","<fd-dialog>\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-1\" fd-title>\n {{ 'platformVariantManagement.manageViews' | fdTranslate }}\n </h1>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fdp-table [dataSource]=\"_source\" [noVerticalBorders]=\"true\" class=\"fd-variant-management__table\">\n <fdp-column name=\"favourite\" key=\"favourite\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fd-icon\n class=\"fd-variant-management__favourite-state\"\n [class.fd-variant-management__favourite-state--active]=\"item.favourite\"\n [ariaLabel]=\"'platformVariantManagement.markAsFavourite' | fdTranslate\"\n tabindex=\"0\"\n (click)=\"_markAsFavourite(item)\"\n glyph=\"favorite\"\n ></fd-icon>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column [label]=\"'platformVariantManagement.view' | fdTranslate\" name=\"name\" key=\"name\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-input *ngIf=\"!item.readonly\" [(ngModel)]=\"item.name\"></fdp-input>\n <ng-container *ngIf=\"item.readonly\">{{ item.name }}</ng-container>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column [label]=\"'platformVariantManagement.sharing' | fdTranslate\" name=\"access\" key=\"access\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n {{\n (item.access === 'public'\n ? 'platformVariantManagement.access.public'\n : 'platformVariantManagement.access.private'\n ) | fdTranslate\n }}\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.default' | fdTranslate\"\n name=\"isDefault\"\n key=\"isDefault\"\n align=\"center\"\n >\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fd-radio-button\n [value]=\"true\"\n [id]=\"'radio-' + item.id\"\n name=\"is-variant-default\"\n [(ngModel)]=\"item.isDefault\"\n ></fd-radio-button>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.applyAutomatically' | fdTranslate\"\n name=\"applyAutomatically\"\n key=\"applyAutomatically\"\n align=\"center\"\n >\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-checkbox\n class=\"fd-variant-management__centered-checkbox\"\n [standalone]=\"true\"\n name=\"applyAutomatically\"\n [(ngModel)]=\"item.applyAutomatically\"\n ></fdp-checkbox>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.createdBy' | fdTranslate\"\n name=\"createdBy\"\n key=\"createdBy\"\n ></fdp-column>\n <fdp-column name=\"actions\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-button\n *ngIf=\"!item.readonly\"\n buttonType=\"transparent\"\n glyph=\"decline\"\n [title]=\"'platformVariantManagement.removeVariant' | fdTranslate\"\n (click)=\"_removeVariant(item)\"\n ></fdp-button>\n </fdp-table-cell>\n </fdp-column>\n </fdp-table>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformVariantManagement.save' | fdTranslate\"\n (click)=\"_saveVariants()\"\n ariaLabel=\"Interested Emphasized\"\n ></fd-button-bar>\n\n <fd-button-bar\n [label]=\"'platformVariantManagement.cancel' | fdTranslate\"\n (click)=\"dialog.dismiss('Cancel')\"\n [ariaLabel]=\"'platformVariantManagement.cancel' | fdTranslate\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n","import { Directive, TemplateRef } from '@angular/core';\n\n/**\n * Directive used to change dirty label of Variant Management component.\n *\n * Usage:\n *\n * ```\n * html\n * <fdp-variant-management>\n * <span *fdpVariantManagementDirtyLabel>I'm dirty</span>\n * </fdp-variant-management>\n * ```\n */\n@Directive({\n selector: '[fdpVariantManagementDirtyLabel]'\n})\nexport class VariantManagementDirtyLabelDirective {\n /** @hidden */\n constructor(public templateRef: TemplateRef<any>) {}\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FDP_VARIANT_MANAGEMENT_WRAPPER = new InjectionToken('FdpVariantManagementWrapper');\nexport const FDP_VARIANT_MANAGEMENT = new InjectionToken('FdpVariantManagement');\n","import { cloneDeep } from 'lodash-es';\nimport { NewVariant, Variant, VariantAccess } from './models/variant.interface';\n\nlet defaultVariantId = 0;\n\nexport class VariantItem<T = any> implements Variant<T> {\n /** Visibility of the variant. If public, available for everyone. */\n access: VariantAccess = 'public';\n /** Whether to automatically apply changes in preset managed component. */\n applyAutomatically? = false;\n /** Variant's author name. */\n createdBy: string;\n /** Variant data. Can contain any type of data. */\n data: T;\n /** Whether variant is marked as favourite. */\n favourite = false;\n /** Variant ID. */\n id = `variant-item-${++defaultVariantId}`;\n /** Whether to apply variant automatically. */\n isDefault = false;\n /** Variant name to be displayed in popover list. */\n name: string;\n /** Whether variant is editable. */\n readonly = false;\n\n /** @hidden */\n constructor(config: Partial<Variant>) {\n Object.keys(config).forEach((configKey) => {\n this[configKey] = config[configKey];\n });\n }\n\n /**\n * Clones current variant and applies new config on top of it.\n * @param newVariantData New config.\n * @param refreshId Whether to assign new ID to the new variant.\n */\n clone(newVariantData: NewVariant = {}, refreshId = true): VariantItem {\n const currentVariantData: Variant = Object.assign({}, this, newVariantData);\n\n currentVariantData.data = cloneDeep(currentVariantData.data);\n\n if (refreshId) {\n delete currentVariantData.id;\n }\n const newVariant = new VariantItem(currentVariantData);\n return newVariant;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DialogService } from '@fundamental-ngx/core/dialog';\nimport { PopoverComponent, TriggerConfig } from '@fundamental-ngx/core/popover';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { HeaderSizes } from '@fundamental-ngx/core/title';\nimport { SearchInput } from '@fundamental-ngx/platform/search-field';\nimport equal from 'fast-deep-equal';\nimport { BehaviorSubject } from 'rxjs';\nimport { ManageVariantItemComponent } from './components/manage-variant-item/manage-variant-item.component';\nimport { ManageVariantsDialogComponent } from './components/manage-variants-dialog/manage-variants-dialog.component';\nimport { VariantManagementDirtyLabelDirective } from './directives/variant-management-dirty-label.directive';\nimport { SaveDialogContext } from './models/save-dialog.model';\nimport { VariantManagement } from './models/variant-management';\nimport { NewVariant, Variant } from './models/variant.interface';\nimport { FDP_VARIANT_MANAGEMENT } from './tokens';\nimport { VariantItem } from './variant-item.class';\n\n@Component({\n selector: 'fdp-variant-management',\n templateUrl: './variant-management.component.html',\n styleUrls: ['./variant-management.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FDP_VARIANT_MANAGEMENT,\n useExisting: VariantManagementComponent\n }\n ]\n})\nexport class VariantManagementComponent<T = any> implements VariantManagement<T> {\n /** Initial variants array. */\n @Input()\n set variants(items: Variant<T>[]) {\n this._variants = this._transformVariants(items);\n\n let currentVariantIndex = this._variants.findIndex((variant) => variant.isDefault);\n currentVariantIndex = currentVariantIndex > -1 ? currentVariantIndex : 0;\n const currentVariant = this._variants[currentVariantIndex];\n this.selectVariant(currentVariant as VariantItem);\n }\n\n /** Header size. */\n @Input()\n headerSize: HeaderSizes = 4;\n\n /** Popover trigger events. */\n @Input()\n popoverTriggers: (string | TriggerConfig)[] = [\n { trigger: 'click', stopPropagation: true, closeAction: true, openAction: true }\n ];\n\n /** User's name which will be applied to all new variants user creates. */\n @Input()\n userName: string;\n\n /** Whether to display search field for variants list. */\n @Input()\n displaySearch = false;\n\n /** Event emitted when variants data has been updated. */\n @Output()\n variantsChange = new EventEmitter<Variant<T>[]>();\n\n /** Event emitted when new variant selected. */\n @Output()\n activeVariantChange = new EventEmitter<Variant<T>>();\n\n /**\n * Used internally for communicating with wrapper component.\n */\n activeVariantChangeSubject = new BehaviorSubject<Variant<T> | null>(null);\n\n /**\n * Custom dirty label directive.\n */\n @ContentChild(VariantManagementDirtyLabelDirective)\n dirtyLabel: VariantManagementDirtyLabelDirective;\n\n /** @hidden */\n @ViewChild('popover')\n _popover: PopoverComponent;\n\n /** @hidden */\n _variantChanged = false;\n\n /** Selected variant. */\n activeVariant!: VariantItem<T>;\n\n /** @hidden */\n _variants: VariantItem<T>[] = [];\n\n /** @Hidden */\n _filterPhrase: Nullable<string> = null;\n\n /** @hidden */\n @HostBinding('class')\n private readonly _initialClass = 'fd-variant-management';\n\n /** @Hidden */\n private _originalActiveVariant: VariantItem<T>;\n\n /** @hidden */\n constructor(private readonly _dialogService: DialogService, private readonly _cdr: ChangeDetectorRef) {}\n\n /**\n * Manually select variant.\n * @param variant Variant to select.\n */\n selectVariant(variant: VariantItem<T>): void {\n this._variantChanged = false;\n this.activeVariant = variant;\n this._originalActiveVariant = variant.clone({}, false);\n this.activeVariantChange.emit(variant);\n this.activeVariantChangeSubject.next(variant);\n }\n\n /** Returns original variant data. */\n getOriginalActiveVariantData(): Variant<T>['data'] {\n return this._originalActiveVariant.data;\n }\n\n /** Returns current active variant data with applied changes. */\n getActiveVariantData(): Variant<T>['data'] {\n return this.activeVariant.data;\n }\n\n /**\n * Saves current variant with its configuration.\n */\n saveCurrentVariant(): void {\n const currentVariantIndex = this._variants.findIndex((variant) => variant.id === this.activeVariant.id);\n this._variants[currentVariantIndex] = this.activeVariant;\n this._originalActiveVariant = this.activeVariant.clone({}, false);\n this._variantChanged = false;\n this.variantsChange.emit(this._variants);\n }\n\n /** @hidden */\n _openSaveDialog(): void {\n this._popover?.close(false);\n const dialogRef = this._dialogService.open<SaveDialogContext>(ManageVariantItemComponent, {\n data: {\n existingVariantNames: this._variants.map((variant) => variant.name),\n currentVariantName: this.activeVariant.name\n }\n });\n dialogRef.afterClosed.subscribe({\n next: (result: NewVariant) => {\n const newVariant = this.activeVariant.clone({ ...result, ...{ createdBy: this.userName } });\n this._variants.push(newVariant);\n this.variantsChange.emit(this._variants);\n this.activeVariant = newVariant;\n this._variantChanged = false;\n this._cdr.detectChanges();\n },\n error: () => {}\n });\n }\n\n /**\n * Updates current active preset with new configuration.\n * @param preset Preset configuration.\n * @param componentName component to which this preset belongs to.\n */\n updateActivePreset(preset: T, componentName: string): void {\n const activeVariantData = this._originalActiveVariant.data[componentName];\n this._variantChanged = activeVariantData && !equal(preset, activeVariantData);\n this.activeVariant.data[componentName] = preset;\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n _openManageDialog(): void {\n this._popover?.close(false);\n const dialogRef = this._dialogService.open<VariantItem[]>(ManageVariantsDialogComponent, {\n data: this._variants\n });\n\n dialogRef.afterClosed.subscribe({\n next: (variants: VariantItem[]) => {\n this._variants = variants;\n this.variantsChange.emit(this._variants);\n },\n error: () => {}\n });\n }\n\n /** @hidden */\n _onSearchSubmit(search: SearchInput): void {\n this._filterPhrase = search.text;\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n _cancelSearch(): void {\n this._filterPhrase = null;\n this._cdr.detectChanges();\n }\n\n /** @Hidden */\n _trackFn(index: number, item: VariantItem<T>): string {\n return item.id;\n }\n\n /** @hidden */\n private _transformVariants(items: Variant<T>[]): VariantItem[] {\n return items.map((variant) => new VariantItem(variant));\n }\n}\n","<fd-popover\n #popover\n *ngIf=\"activeVariant\"\n placement=\"bottom\"\n [noArrow]=\"false\"\n [focusAutoCapture]=\"true\"\n [focusTrapped]=\"true\"\n additionalBodyClass=\"fd-variant-management__popover-body\"\n [triggers]=\"popoverTriggers\"\n>\n <fd-popover-control>\n <div class=\"fd-variant-management__header\">\n <h4 fd-title class=\"fd-variant-management__title\" [headerSize]=\"headerSize\">\n {{ activeVariant.name }}\n </h4>\n <ng-container *ngIf=\"_variantChanged\">\n <span\n class=\"fd-variant-management__dirty-indicator\"\n [class.fd-variant-management__dirty-indicator--custom]=\"!!dirtyLabel\"\n >\n <ng-template #defaultDirtyIndicator>*</ng-template>\n <ng-template\n *ngTemplateOutlet=\"dirtyLabel ? dirtyLabel.templateRef : defaultDirtyIndicator\"\n ></ng-template>\n </span>\n </ng-container>\n <fdp-menu-button type=\"transparent\"> </fdp-menu-button>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <div fd-popover-body-header>\n <div fd-bar [barDesign]=\"displaySearch ? 'header-with-subheader' : 'header'\">\n <div fd-bar-left>\n <fd-bar-element>\n <h5 fd-title>{{ 'platformVariantManagement.myViews' | fdTranslate }}</h5>\n </fd-bar-element>\n </div>\n </div>\n <div fd-bar barDesign=\"header\" *ngIf=\"displaySearch\">\n <div fd-bar-left>\n <fd-bar-element>\n <fdp-search-field\n [placeholder]=\"'platformVariantManagement.search' | fdTranslate\"\n (searchSubmit)=\"_onSearchSubmit($event)\"\n (cancelSearch)=\"_cancelSearch()\"\n [disableRefresh]=\"true\"\n ></fdp-search-field>\n </fd-bar-element>\n </div>\n </div>\n </div>\n <ul fd-list>\n <ng-container\n *ngFor=\"\n let variant of _variants | fdFilterStrings : { searchTerm: _filterPhrase, key: 'name' };\n trackBy: _trackFn\n \"\n >\n <li fd-list-item (click)=\"selectVariant(variant)\">\n <span fd-list-link>\n <span fd-list-title>{{ variant.name }}</span>\n </span>\n </li>\n </ng-container>\n </ul>\n <div fd-popover-body-footer>\n <div fd-bar barDesign=\"footer\">\n <div fd-bar-right>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformVariantManagement.save' | fdTranslate\"\n *ngIf=\"!activeVariant.readonly && _variantChanged\"\n (click)=\"saveCurrentVariant()\"\n >\n </fd-button-bar>\n <fd-button-bar\n [fdType]=\"activeVariant.readonly || !_variantChanged ? 'emphasized' : 'transparent'\"\n [label]=\"'platformVariantManagement.saveAs' | fdTranslate\"\n (click)=\"_openSaveDialog()\"\n ></fd-button-bar>\n <fd-button-bar\n [label]=\"'platformVariantManagement.manage' | fdTranslate\"\n (click)=\"_openManageDialog()\"\n ></fd-button-bar>\n </div>\n </div>\n </div>\n </fd-popover-body>\n</fd-popover>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { DestroyedService } from '@fundamental-ngx/cdk/utils';\nimport { FDP_PRESET_MANAGED_COMPONENT, PresetManagedComponent } from '@fundamental-ngx/platform/shared';\nimport equal from 'fast-deep-equal';\nimport { filter, startWith, Subscription, takeUntil } from 'rxjs';\nimport { VariantManagement } from '../../models/variant-management';\nimport { FDP_VARIANT_MANAGEMENT, FDP_VARIANT_MANAGEMENT_WRAPPER } from '../../tokens';\n\n/**\n * Wrapper component used to wrap components that implement `PresetManagedComponent`.\n * It automatically bounds existing presets from `Variant Management` component to `PresetManagedComponent`.\n * Wrapper component supports two ways of providing Variant Management component.\n * First one is to pass reference via Input property.\n * Second one is to put Variant Management component inside wrapper component so it would be accessible via @ContentChild.\n * Usage example:\n *\n * ```html\n * Usage outside wrapper component:\n * <fdp-variant-management #variantManagement [variants]=\"...\"></fdp-variant-management>\n * <fdp-variant-management-wrapper [variantManager]=\"variantManagement\">\n * <fdp-smart-filter-bar>...</fdp-smart-filter-bar>\n * <fdp-table>...</fdp-table>\n * </fdp-variant-management-wrapper>\n *\n * Usage inside wrapper component:\n * <fdp-variant-management-wrapper>\n * <fdp-variant-management [variants]=\"...\"></fdp-variant-management>\n * <fdp-smart-filter-bar>...</fdp-smart-filter-bar>\n * <fdp-table>...</fdp-table>\n * </fdp-variant-management-wrapper>\n * ```\n */\n@Component({\n selector: 'fdp-variant-management-wrapper',\n templateUrl: './variant-management-wrapper.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n DestroyedService,\n {\n provide: FDP_VARIANT_MANAGEMENT_WRAPPER,\n useExisting: VariantManagementWrapperComponent\n }\n ]\n})\nexport class VariantManagementWrapperComponent implements AfterViewInit, OnDestroy {\n /** Variant management component. */\n @Input()\n variantManager: VariantManagement;\n\n /** @hidden */\n @ContentChildren(FDP_PRESET_MANAGED_COMPONENT, { descendants: true })\n private readonly _managedComponents: QueryList<PresetManagedComponent<any>>;\n\n /** @hidden */\n @ContentChild(FDP_VARIANT_MANAGEMENT, { descendants: true })\n private set _projectedVariantManager(variantManager: VariantManagement) {\n this._variantManager = variantManager;\n this._setPresets();\n }\n\n private get _projectedVariantManager(): VariantManagement {\n return this._variantManager;\n }\n\n /** @hidden */\n private get _variantManagement(): VariantManagement {\n return this._projectedVariantManager || this.variantManager;\n }\n\n /** @hidden */\n private _variantManager: VariantManagement;\n\n /** @hidden */\n private _activeVariantSubscription: Subscription;\n\n /** @hidden */\n private _componentsPresetChangeSubscription: Subscription;\n\n /** @hidden */\n constructor(private _destroy$: DestroyedService) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._setPresets();\n\n this._managedComponents?.changes\n .pipe(startWith(this._managedComponents), takeUntil(this._destroy$))\n .subscribe(() => {\n this._listenToPresetChanges();\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._activeVariantSubscription?.unsubscribe();\n this._componentsPresetChangeSubscription?.unsubscribe();\n }\n\n /**\n * @hidden\n * Listens to the preset change in Variant Management component and applies new configuration across projected components..\n */\n private _setPresets(): void {\n this._activeVariantSubscription?.unsubscribe();\n this._activeVariantSubscription = this._variantManagement?.activeVariantChangeSubject\n .pipe(\n filter((variant) => !!variant && !!this._managedComponents),\n takeUntil(this._destroy$)\n )\n .subscribe(() => {\n const components = this._managedComponents.toArray();\n\n components.forEach((component) => {\n const data = this._variantManagement.activeVariant.data[component.name];\n component.setPreset(data);\n });\n });\n }\n\n /**\n * @hidden\n * Listens to preset configuration changes in projected components and sends updated config to Variant Management component.\n */\n private _listenToPresetChanges(): void {\n this._componentsPresetChangeSubscription?.unsubscribe();\n this._componentsPresetChangeSubscription = new Subscription();\n const components = this._managedComponents.toArray();\n\n components.forEach((component) => {\n this._componentsPresetChangeSubscription.add(\n component.presetChanged\n .pipe(\n filter((preset) => {\n const prevPreset = this._getComponentPreset().get(component);\n return !equal(preset, prevPreset);\n }),\n takeUntil(this._destroy$)\n )\n .subscribe((preset) => {\n this._variantManagement?.updateActivePreset(preset, component.name);\n })\n );\n });\n }\n\n /** @hidden */\n private _getComponentPreset(): Map<PresetManagedComponent<any>, any> {\n const components = this._managedComponents.toArray();\n const data = this._variantManagement.getActiveVariantData();\n const componentsMap = new Map<PresetManagedComponent<any>, any>();\n\n components.forEach((component) => {\n componentsMap.set(component, data[component.name]);\n });\n\n return componentsMap;\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { DialogModule } from '@fundamental-ngx/core/dialog';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { LinkModule } from '@fundamental-ngx/core/link';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { TitleModule } from '@fundamental-ngx/core/title';\nimport { RadioModule } from '@fundamental-ngx/core/radio';\nimport { PipeModule } from '@fundamental-ngx/cdk/utils';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { PlatformButtonModule } from '@fundamental-ngx/platform/button';\nimport {\n FdpFormGroupModule,\n PlatformCheckboxGroupModule,\n PlatformCheckboxModule,\n PlatformInputModule\n} from '@fundamental-ngx/platform/form';\nimport { PlatformMenuButtonModule } from '@fundamental-ngx/platform/menu-button';\nimport { PlatformSearchFieldModule } from '@fundamental-ngx/platform/search-field';\nimport { PlatformTableModule } from '@fundamental-ngx/platform/table';\nimport { VariantManagementComponent } from './variant-management.component';\nimport { VariantManagementDirtyLabelDirective } from './directives/variant-management-dirty-label.directive';\nimport { ManageVariantItemComponent } from './components/manage-variant-item/manage-variant-item.component';\nimport { VariantManagementWrapperComponent } from './components/variant-management-wrapper/variant-management-wrapper.component';\nimport { ManageVariantsDialogComponent } from './components/manage-variants-dialog/manage-variants-dialog.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PopoverModule,\n DialogModule,\n PlatformButtonModule,\n PlatformMenuButtonModule,\n TitleModule,\n LinkModule,\n ListModule,\n FdpFormGroupModule,\n ReactiveFormsModule,\n FormsModule,\n PlatformInputModule,\n PlatformCheckboxGroupModule,\n PlatformCheckboxModule,\n PlatformTableModule,\n IconModule,\n RadioModule,\n I18nModule,\n PipeModule,\n PlatformSearchFieldModule\n ],\n exports: [\n VariantManagementComponent,\n VariantManagementDirtyLabelDirective,\n ManageVariantItemComponent,\n VariantManagementWrapperComponent,\n ManageVariantsDialogComponent\n ],\n declarations: [\n VariantManagementComponent,\n VariantManagementDirtyLabelDirective,\n ManageVariantItemComponent,\n VariantManagementWrapperComponent,\n ManageVariantsDialogComponent\n ]\n})\nexport class VariantManagementModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i4","i2","i5","i6","i7","i12","i8","i9","i10","i1"],"mappings":"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"}
@@ -2,10 +2,10 @@ import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, Injector, O
2
2
  import { ControlContainer, NgControl, NgForm } from '@angular/forms';
3
3
  import { DynamicComponentService } from '@fundamental-ngx/cdk/utils';
4
4
  import { DialogConfig } from '@fundamental-ngx/core/dialog';
5
- import { DataProvider, PlatformFormFieldControl, OptionItem, PlatformFormField } from '@fundamental-ngx/platform/shared';
6
- import { BaseCombobox } from '../commons/base-combobox';
5
+ import { DataProvider, OptionItem, PlatformFormField, PlatformFormFieldControl } from '@fundamental-ngx/platform/shared';
7
6
  import { ComboboxConfig } from '../combobox.config';
8
7
  import { ComboboxInterface } from '../combobox.interface';
8
+ import { BaseCombobox } from '../commons/base-combobox';
9
9
  import * as i0 from "@angular/core";
10
10
  export declare class ComboboxSelectionChangeEvent {
11
11
  source: ComboboxComponent;
@@ -5,14 +5,15 @@ import { ContentDensity, FocusEscapeDirection, TemplateDirective } from '@fundam
5
5
  import { DialogConfig } from '@fundamental-ngx/core/dialog';
6
6
  import { ListComponent } from '@fundamental-ngx/core/list';
7
7
  import { MobileModeConfig } from '@fundamental-ngx/core/mobile-mode';
8
- import { CollectionBaseInput, ComboBoxDataSource, PlatformFormFieldControl, OptionItem, PlatformFormField } from '@fundamental-ngx/platform/shared';
9
8
  import { PopoverFillMode } from '@fundamental-ngx/core/shared';
9
+ import { CollectionBaseInput, ComboBoxDataSource, OptionItem, PlatformFormField, PlatformFormFieldControl } from '@fundamental-ngx/platform/shared';
10
+ import { SingleDropdownValueControl } from '@fundamental-ngx/cdk/forms';
10
11
  import { AutoCompleteEvent } from '../../auto-complete/auto-complete.directive';
11
12
  import { ComboboxConfig } from '../combobox.config';
12
13
  import * as i0 from "@angular/core";
13
14
  export type TextAlignment = 'left' | 'right';
14
15
  export type FdpComboBoxDataSource<T> = ComboBoxDataSource<T> | Observable<T[]> | T[];
15
- export declare abstract class BaseCombobox extends CollectionBaseInput implements AfterViewInit, OnDestroy {
16
+ export declare abstract class BaseCombobox extends CollectionBaseInput implements AfterViewInit, SingleDropdownValueControl, OnDestroy {
16
17
  readonly cd: ChangeDetectorRef;
17
18
  readonly ngControl: NgControl;
18
19
  readonly controlContainer: ControlContainer;
@@ -72,6 +73,12 @@ export declare abstract class BaseCombobox extends CollectionBaseInput implement
72
73
  closeOnOutsideClick: boolean;
73
74
  /** Whether list item options should be rendered as byline. */
74
75
  byline: boolean;
76
+ /**
77
+ * Action to perform when user shifts focus from the dropdown.
78
+ * - `close` will close the dropdown preserving previously selected value.
79
+ * - `closeAndSelect` will close the dropdown and select last focused dropdown item.
80
+ */
81
+ tabOutStrategy: 'close' | 'closeAndSelect';
75
82
  /** Event emitted when data loading is started. */
76
83
  onDataRequested: EventEmitter<void>;
77
84
  /** Event emitted when data loading is finished. */
@@ -179,6 +186,8 @@ export declare abstract class BaseCombobox extends CollectionBaseInput implement
179
186
  /** @hidden */
180
187
  toggleSelectionByInputText(text?: string): void;
181
188
  /** @hidden */
189
+ _close(): void;
190
+ /** @hidden */
182
191
  protected _getSelectItemByInputValue(displayValue: string): OptionItem | undefined;
183
192
  /** @hidden */
184
193
  protected get ds(): ComboBoxDataSource<any>;
@@ -234,5 +243,5 @@ export declare abstract class BaseCombobox extends CollectionBaseInput implement
234
243
  /** @hidden Assign custom templates */
235
244
  private _assignCustomTemplates;
236
245
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseCombobox, [null, null, { optional: true; self: true; }, { optional: true; skipSelf: true; }, { optional: true; self: true; }, { optional: true; }, null, { optional: true; host: true; skipSelf: true; }, { optional: true; host: true; skipSelf: true; }]>;
237
- static ɵdir: i0.ɵɵDirectiveDeclaration<BaseCombobox, never, never, { "maxHeight": "maxHeight"; "dataSource": "dataSource"; "autoComplete": "autoComplete"; "entityClass": "entityClass"; "mobile": "mobile"; "mobileConfig": "mobileConfig"; "group": "group"; "groupKey": "groupKey"; "secondaryKey": "secondaryKey"; "showSecondaryText": "showSecondaryText"; "secondaryTextAlignment": "secondaryTextAlignment"; "autoResize": "autoResize"; "value": "value"; "fillControlMode": "fillControlMode"; "buttonFocusable": "buttonFocusable"; "triggers": "triggers"; "closeOnOutsideClick": "closeOnOutsideClick"; "byline": "byline"; }, { "onDataRequested": "onDataRequested"; "onDataReceived": "onDataReceived"; }, ["customTemplates"], never, false, never>;
246
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseCombobox, never, never, { "maxHeight": "maxHeight"; "dataSource": "dataSource"; "autoComplete": "autoComplete"; "entityClass": "entityClass"; "mobile": "mobile"; "mobileConfig": "mobileConfig"; "group": "group"; "groupKey": "groupKey"; "secondaryKey": "secondaryKey"; "showSecondaryText": "showSecondaryText"; "secondaryTextAlignment": "secondaryTextAlignment"; "autoResize": "autoResize"; "value": "value"; "fillControlMode": "fillControlMode"; "buttonFocusable": "buttonFocusable"; "triggers": "triggers"; "closeOnOutsideClick": "closeOnOutsideClick"; "byline": "byline"; "tabOutStrategy": "tabOutStrategy"; }, { "onDataRequested": "onDataRequested"; "onDataReceived": "onDataReceived"; }, ["customTemplates"], never, false, never>;
238
247
  }
@@ -3,11 +3,11 @@ import { ControlContainer, NgControl, NgForm } from '@angular/forms';
3
3
  import { DynamicComponentService } from '@fundamental-ngx/cdk/utils';
4
4
  import { DialogConfig } from '@fundamental-ngx/core/dialog';
5
5
  import { DataProvider, OptionItem, PlatformFormField, PlatformFormFieldControl, SelectableOptionItem } from '@fundamental-ngx/platform/shared';
6
+ import { ContentDensityObserver } from '@fundamental-ngx/core/content-density';
7
+ import { TokenizerComponent } from '@fundamental-ngx/core/token';
8
+ import { AutoCompleteEvent } from '../../auto-complete/auto-complete.directive';
6
9
  import { BaseMultiCombobox } from '../commons/base-multi-combobox';
7
10
  import { MultiComboboxConfig } from '../multi-combobox.config';
8
- import { AutoCompleteEvent } from '../../auto-complete/auto-complete.directive';
9
- import { TokenizerComponent } from '@fundamental-ngx/core/token';
10
- import { ContentDensityObserver } from '@fundamental-ngx/core/content-density';
11
11
  import * as i0 from "@angular/core";
12
12
  /**
13
13
  * This component can work with both string primitives as well as with complex objects. In order
@@ -77,15 +77,15 @@ export declare class MultiComboboxComponent extends BaseMultiCombobox implements
77
77
  onOptionClicked(event: MouseEvent, index: number): void;
78
78
  /** @hidden */
79
79
  _addOnClicked(event: Event): void;
80
+ /** @hidden Handle dialog dismissing, closes popover and sets backup data. */
81
+ dialogDismiss(backup: SelectableOptionItem[]): void;
82
+ /** @hidden Handle dialog approval, closes popover and propagates data changes. */
83
+ dialogApprove(): void;
80
84
  /**
81
85
  * @hidden
82
86
  * applying range selection. Note, that this function will be invoked after combobox item's value has been changed
83
87
  */
84
88
  private _onListElementClicked;
85
- /** @hidden Handle dialog dismissing, closes popover and sets backup data. */
86
- dialogDismiss(backup: SelectableOptionItem[]): void;
87
- /** @hidden Handle dialog approval, closes popover and propagates data changes. */
88
- dialogApprove(): void;
89
89
  /** @hidden */
90
90
  private _getTokenIndexByIdlOrValue;
91
91
  /** @hidden */
@@ -15,8 +15,9 @@ import * as i13 from "../auto-complete/auto-complete.module";
15
15
  import * as i14 from "@fundamental-ngx/i18n";
16
16
  import * as i15 from "@fundamental-ngx/platform/shared";
17
17
  import * as i16 from "@fundamental-ngx/core/content-density";
18
+ import * as i17 from "@fundamental-ngx/core/multi-combobox";
18
19
  export declare class PlatformMultiComboboxModule {
19
20
  static ɵfac: i0.ɵɵFactoryDeclaration<PlatformMultiComboboxModule, never>;
20
- static ɵmod: i0.ɵɵNgModuleDeclaration<PlatformMultiComboboxModule, [typeof i1.MultiComboboxComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.CheckboxModule, typeof i5.InputGroupModule, typeof i6.PipeModule, typeof i7.TokenModule, typeof i8.ListModule, typeof i9.ButtonModule, typeof i10.FormModule, typeof i11.PopoverModule, typeof i12.PlatformListModule, typeof i12.StandardListItemModule, typeof i13.PlatformAutoCompleteModule, typeof i14.I18nModule, typeof i15.PlatformContentDensityDeprecationsModule, typeof i16.ContentDensityModule, typeof i6.MultiAnnouncerModule], [typeof i1.MultiComboboxComponent, typeof i6.TemplateModule, typeof i15.PlatformContentDensityDeprecationsModule, typeof i16.ContentDensityModule]>;
21
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PlatformMultiComboboxModule, [typeof i1.MultiComboboxComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.CheckboxModule, typeof i5.InputGroupModule, typeof i6.PipeModule, typeof i7.TokenModule, typeof i8.ListModule, typeof i9.ButtonModule, typeof i10.FormModule, typeof i11.PopoverModule, typeof i12.PlatformListModule, typeof i12.StandardListItemModule, typeof i13.PlatformAutoCompleteModule, typeof i14.I18nModule, typeof i15.PlatformContentDensityDeprecationsModule, typeof i16.ContentDensityModule, typeof i17.MultiAnnouncerModule], [typeof i1.MultiComboboxComponent, typeof i6.TemplateModule, typeof i15.PlatformContentDensityDeprecationsModule, typeof i16.ContentDensityModule]>;
21
22
  static ɵinj: i0.ɵɵInjectorDeclaration<PlatformMultiComboboxModule>;
22
23
  }
@@ -11,8 +11,9 @@ import * as i9 from "../auto-complete/auto-complete.module";
11
11
  import * as i10 from "@fundamental-ngx/core/form";
12
12
  import * as i11 from "@fundamental-ngx/platform/shared";
13
13
  import * as i12 from "@fundamental-ngx/core/content-density";
14
+ import * as i13 from "@fundamental-ngx/core/multi-combobox";
14
15
  export declare class PlatformMultiInputModule {
15
16
  static ɵfac: i0.ɵɵFactoryDeclaration<PlatformMultiInputModule, never>;
16
- static ɵmod: i0.ɵɵNgModuleDeclaration<PlatformMultiInputModule, [typeof i1.PlatformMultiInputComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.PlatformListModule, typeof i4.StandardListItemModule, typeof i5.TokenModule, typeof i6.PipeModule, typeof i7.PopoverModule, typeof i8.InputGroupModule, typeof i9.PlatformAutoCompleteModule, typeof i10.FormModule, typeof i11.PlatformContentDensityDeprecationsModule, typeof i12.ContentDensityModule, typeof i6.InitialFocusModule, typeof i6.MultiAnnouncerModule], [typeof i1.PlatformMultiInputComponent, typeof i11.PlatformContentDensityDeprecationsModule, typeof i12.ContentDensityModule]>;
17
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PlatformMultiInputModule, [typeof i1.PlatformMultiInputComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.PlatformListModule, typeof i4.StandardListItemModule, typeof i5.TokenModule, typeof i6.PipeModule, typeof i7.PopoverModule, typeof i8.InputGroupModule, typeof i9.PlatformAutoCompleteModule, typeof i10.FormModule, typeof i11.PlatformContentDensityDeprecationsModule, typeof i12.ContentDensityModule, typeof i6.InitialFocusModule, typeof i13.MultiAnnouncerModule], [typeof i1.PlatformMultiInputComponent, typeof i11.PlatformContentDensityDeprecationsModule, typeof i12.ContentDensityModule]>;
17
18
  static ɵinj: i0.ɵɵInjectorDeclaration<PlatformMultiInputModule>;
18
19
  }
@@ -1,13 +1,14 @@
1
1
  import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, QueryList, TemplateRef } from '@angular/core';
2
2
  import { ControlContainer, NgControl, NgForm } from '@angular/forms';
3
3
  import { Observable, Subscription } from 'rxjs';
4
- import { PopoverFillMode } from '@fundamental-ngx/core/shared';
5
- import { MobileModeConfig } from '@fundamental-ngx/core/mobile-mode';
6
- import { ListComponent } from '@fundamental-ngx/core/list';
4
+ import { SingleDropdownValueControl } from '@fundamental-ngx/cdk/forms';
7
5
  import { ContentDensityService, FocusEscapeDirection, TemplateDirective } from '@fundamental-ngx/cdk/utils';
8
- import { CollectionBaseInput, PlatformFormFieldControl, PlatformFormField } from '@fundamental-ngx/platform/shared';
9
- import { SelectConfig } from '../select.config';
6
+ import { ListComponent } from '@fundamental-ngx/core/list';
7
+ import { MobileModeConfig } from '@fundamental-ngx/core/mobile-mode';
8
+ import { PopoverFillMode } from '@fundamental-ngx/core/shared';
9
+ import { CollectionBaseInput, PlatformFormField, PlatformFormFieldControl } from '@fundamental-ngx/platform/shared';
10
10
  import { TextAlignment } from '../../combobox';
11
+ import { SelectConfig } from '../select.config';
11
12
  import { SelectOptionItem } from './../models/select.models';
12
13
  import * as i0 from "@angular/core";
13
14
  export type FdpSelectData<T> = SelectOptionItem[] | Observable<T[]> | T[];
@@ -23,7 +24,7 @@ export declare class FdpSelectionChangeEvent {
23
24
  */
24
25
  constructor(payload: any);
25
26
  }
26
- export declare abstract class BaseSelect extends CollectionBaseInput implements AfterViewInit, OnDestroy {
27
+ export declare abstract class BaseSelect extends CollectionBaseInput implements SingleDropdownValueControl, AfterViewInit, OnDestroy {
27
28
  readonly cd: ChangeDetectorRef;
28
29
  readonly ngControl: NgControl;
29
30
  readonly controlContainer: ControlContainer;
@@ -100,6 +101,12 @@ export declare abstract class BaseSelect extends CollectionBaseInput implements
100
101
  * Max width of list container
101
102
  * */
102
103
  maxWidth?: number;
104
+ /**
105
+ * Action to perform when user shifts focus from the dropdown.
106
+ * - `close` will close the dropdown preserving previously selected value.
107
+ * - `closeAndSelect` will close the dropdown and select last focused dropdown item.
108
+ */
109
+ tabOutStrategy: 'close' | 'closeAndSelect';
103
110
  /** Data for suggestion list */
104
111
  set list(value: any);
105
112
  get list(): any;
@@ -205,5 +212,5 @@ export declare abstract class BaseSelect extends CollectionBaseInput implements
205
212
  * */
206
213
  private _assignCustomTemplates;
207
214
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseSelect, [null, null, { optional: true; self: true; }, { optional: true; skipSelf: true; }, { optional: true; self: true; }, null, { optional: true; host: true; skipSelf: true; }, { optional: true; host: true; skipSelf: true; }]>;
208
- static ɵdir: i0.ɵɵDirectiveDeclaration<BaseSelect, never, never, { "maxHeight": "maxHeight"; "mobile": "mobile"; "group": "group"; "groupKey": "groupKey"; "secondaryKey": "secondaryKey"; "showSecondaryText": "showSecondaryText"; "glyph": "glyph"; "appendTo": "appendTo"; "triggerValue": "triggerValue"; "fillControlMode": "fillControlMode"; "secondaryTextAlignment": "secondaryTextAlignment"; "width": "width"; "readonly": "readonly"; "placeholder": "placeholder"; "closeOnOutsideClick": "closeOnOutsideClick"; "controlTemplate": "controlTemplate"; "ariaLabelledBy": "ariaLabelledBy"; "ariaLabel": "ariaLabel"; "mobileConfig": "mobileConfig"; "noValueLabel": "noValueLabel"; "noWrapText": "noWrapText"; "autoResize": "autoResize"; "firstColumnRatio": "firstColumnRatio"; "secondColumnRatio": "secondColumnRatio"; "minWidth": "minWidth"; "maxWidth": "maxWidth"; "list": "list"; }, { "selectionChange": "selectionChange"; }, ["customTemplates"], never, false, never>;
215
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseSelect, never, never, { "maxHeight": "maxHeight"; "mobile": "mobile"; "group": "group"; "groupKey": "groupKey"; "secondaryKey": "secondaryKey"; "showSecondaryText": "showSecondaryText"; "glyph": "glyph"; "appendTo": "appendTo"; "triggerValue": "triggerValue"; "fillControlMode": "fillControlMode"; "secondaryTextAlignment": "secondaryTextAlignment"; "width": "width"; "readonly": "readonly"; "placeholder": "placeholder"; "closeOnOutsideClick": "closeOnOutsideClick"; "controlTemplate": "controlTemplate"; "ariaLabelledBy": "ariaLabelledBy"; "ariaLabel": "ariaLabel"; "mobileConfig": "mobileConfig"; "noValueLabel": "noValueLabel"; "noWrapText": "noWrapText"; "autoResize": "autoResize"; "firstColumnRatio": "firstColumnRatio"; "secondColumnRatio": "secondColumnRatio"; "minWidth": "minWidth"; "maxWidth": "maxWidth"; "tabOutStrategy": "tabOutStrategy"; "list": "list"; }, { "selectionChange": "selectionChange"; }, ["customTemplates"], never, false, never>;
209
216
  }