@geoit/ui 0.0.4 → 0.0.5
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.
- package/AGENTS.md +12 -8
- package/README.md +49 -62
- package/ai/AGENTS.md +38 -28
- package/ai/README.md +35 -1
- package/ai/catalog.json +2796 -288
- package/ai/components/geo-alert.md +3 -3
- package/ai/components/geo-back-button.md +2 -2
- package/ai/components/geo-breadcrumb.md +1 -1
- package/ai/components/geo-button.md +3 -3
- package/ai/components/geo-chart.md +103 -0
- package/ai/components/geo-checkbox.md +4 -6
- package/ai/components/geo-column-picker.md +3 -3
- package/ai/components/geo-confirm-modal.md +4 -5
- package/ai/components/geo-dashboard.md +91 -0
- package/ai/components/geo-date-picker.md +5 -3
- package/ai/components/geo-date-range-picker.md +5 -3
- package/ai/components/geo-empty-state.md +75 -0
- package/ai/components/geo-feedback-form.md +97 -0
- package/ai/components/geo-file-picker.md +4 -2
- package/ai/components/geo-forgot-password.md +78 -0
- package/ai/components/geo-form-modal.md +9 -10
- package/ai/components/geo-icon.md +3 -3
- package/ai/components/geo-input.md +8 -6
- package/ai/components/geo-layout-footer.md +70 -0
- package/ai/components/geo-layout-header-actions.md +82 -0
- package/ai/components/geo-layout-header.md +89 -0
- package/ai/components/geo-layout-sidebar.md +86 -0
- package/ai/components/geo-layout.md +155 -0
- package/ai/components/geo-list-page.md +72 -0
- package/ai/components/geo-login.md +94 -0
- package/ai/components/geo-map-admin-filter.md +80 -0
- package/ai/components/geo-map-basemap-switcher.md +75 -0
- package/ai/components/geo-map-help.md +72 -0
- package/ai/components/geo-map-layer-card.md +73 -0
- package/ai/components/geo-map-layer-panel.md +75 -0
- package/ai/components/geo-map-layers-drawer.md +78 -0
- package/ai/components/geo-map-legend.md +74 -0
- package/ai/components/geo-map-locate.md +75 -0
- package/ai/components/geo-map-location-chip.md +71 -0
- package/ai/components/geo-map-measure.md +74 -0
- package/ai/components/geo-map-opacity.md +75 -0
- package/ai/components/geo-map-parcel-popup.md +79 -0
- package/ai/components/geo-map-search.md +83 -0
- package/ai/components/geo-map-shell.md +110 -0
- package/ai/components/geo-map-snapshot.md +75 -0
- package/ai/components/geo-map-swipe.md +73 -0
- package/ai/components/geo-map-toolbar.md +76 -0
- package/ai/components/geo-map-zoom.md +74 -0
- package/ai/components/geo-map.md +205 -0
- package/ai/components/geo-overlap-result.md +88 -0
- package/ai/components/geo-page-header.md +72 -0
- package/ai/components/geo-page-title.md +1 -1
- package/ai/components/geo-pagination.md +4 -7
- package/ai/components/geo-radio.md +3 -1
- package/ai/components/geo-row-actions.md +3 -3
- package/ai/components/geo-select.md +4 -2
- package/ai/components/geo-slider.md +5 -7
- package/ai/components/geo-stat-card.md +98 -0
- package/ai/components/geo-status-tag.md +2 -2
- package/ai/components/geo-step-form-layout.md +7 -8
- package/ai/components/geo-stepper.md +3 -4
- package/ai/components/geo-table-filter.md +4 -5
- package/ai/components/geo-table-pagination.md +4 -7
- package/ai/components/geo-table-toolbar.md +7 -7
- package/ai/components/geo-table.md +17 -20
- package/ai/components/geo-tabs.md +4 -6
- package/ai/components/geo-textarea.md +4 -2
- package/ai/components/geo-toast.md +4 -4
- package/ai/components/geo-tree.md +4 -6
- package/ai/components/geo-typography.md +1 -1
- package/ai/components/geo-upload.md +9 -10
- package/ai/mockup.html +1194 -0
- package/ai/recipes.md +98 -85
- package/esm2022/lib/figma/geo-alert/geo-alert.component.mjs +19 -36
- package/esm2022/lib/figma/geo-back-button/geo-back-button.component.mjs +14 -24
- package/esm2022/lib/figma/geo-breadcrumb/geo-breadcrumb.component.mjs +8 -11
- package/esm2022/lib/figma/geo-button/geo-button.component.mjs +30 -59
- package/esm2022/lib/figma/geo-chart/geo-chart.component.mjs +88 -0
- package/esm2022/lib/figma/geo-chart/geo-chart.types.mjs +2 -0
- package/esm2022/lib/figma/geo-checkbox/geo-checkbox.component.mjs +11 -22
- package/esm2022/lib/figma/geo-confirm-modal/geo-confirm-modal.component.mjs +22 -54
- package/esm2022/lib/figma/geo-dashboard/geo-dashboard.component.mjs +49 -0
- package/esm2022/lib/figma/geo-dashboard/geo-dashboard.types.mjs +2 -0
- package/esm2022/lib/figma/geo-date-picker/geo-date-picker.component.mjs +48 -78
- package/esm2022/lib/figma/geo-date-range-picker/geo-date-range-picker.component.mjs +47 -75
- package/esm2022/lib/figma/geo-empty-state/geo-empty-state.component.mjs +25 -0
- package/esm2022/lib/figma/geo-feedback-form/geo-feedback-form.component.mjs +75 -0
- package/esm2022/lib/figma/geo-feedback-form/geo-feedback-form.types.mjs +2 -0
- package/esm2022/lib/figma/geo-file-picker/geo-file-picker.component.mjs +59 -81
- package/esm2022/lib/figma/geo-forgot-password/geo-forgot-password.component.mjs +51 -0
- package/esm2022/lib/figma/geo-form-modal/geo-form-modal.component.mjs +45 -112
- package/esm2022/lib/figma/geo-icon/geo-icon.component.mjs +22 -32
- package/esm2022/lib/figma/geo-input/geo-input.component.mjs +41 -70
- package/esm2022/lib/figma/geo-layout/footer/geo-layout-footer.component.mjs +18 -0
- package/esm2022/lib/figma/geo-layout/geo-layout-actions.directive.mjs +15 -0
- package/esm2022/lib/figma/geo-layout/geo-layout.component.mjs +79 -0
- package/esm2022/lib/figma/geo-layout/geo-layout.types.mjs +42 -0
- package/esm2022/lib/figma/geo-layout/header/geo-layout-header.component.mjs +60 -0
- package/esm2022/lib/figma/geo-layout/header-actions/geo-layout-header-actions.component.mjs +70 -0
- package/esm2022/lib/figma/geo-layout/sidebar/geo-layout-sidebar.component.mjs +90 -0
- package/esm2022/lib/figma/geo-list-page/geo-list-page.component.mjs +22 -0
- package/esm2022/lib/figma/geo-login/geo-login.component.mjs +58 -0
- package/esm2022/lib/figma/geo-login/geo-login.types.mjs +2 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-admin-filter/geo-map-admin-filter.component.mjs +52 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-basemap-switcher/geo-map-basemap-switcher.component.mjs +61 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-help/geo-map-help.component.mjs +26 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-layer-card/geo-map-layer-card.component.mjs +24 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-layer-panel/geo-map-layer-panel.component.mjs +146 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-layers-drawer/geo-map-layers-drawer.component.mjs +37 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-legend/geo-map-legend.component.mjs +30 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-locate/geo-map-locate.component.mjs +72 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-location-chip/geo-map-location-chip.component.mjs +21 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-measure/geo-map-measure.component.mjs +375 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-opacity/geo-map-opacity.component.mjs +94 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-parcel-popup/geo-map-parcel-popup.component.mjs +136 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-search/geo-map-search.component.mjs +182 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-shell/geo-map-shell.component.mjs +577 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-snapshot/geo-map-snapshot.component.mjs +93 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-swipe/geo-map-swipe.component.mjs +129 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-toolbar/geo-map-toolbar.component.mjs +64 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-zoom/geo-map-zoom.component.mjs +295 -0
- package/esm2022/lib/figma/geo-map/geo-map-toolbar.icons.mjs +18 -0
- package/esm2022/lib/figma/geo-map/geo-map.component.mjs +144 -0
- package/esm2022/lib/figma/geo-map/geo-map.constants.mjs +497 -0
- package/esm2022/lib/figma/geo-map/geo-map.controller.mjs +71 -0
- package/esm2022/lib/figma/geo-map/geo-map.types.mjs +2 -0
- package/esm2022/lib/figma/geo-map/services/geo-map-layer.service.mjs +368 -0
- package/esm2022/lib/figma/geo-map/services/geo-map-projection.service.mjs +110 -0
- package/esm2022/lib/figma/geo-map/services/geo-map.service.mjs +540 -0
- package/esm2022/lib/figma/geo-map/utils/geo-map-fullscreen-overlay.util.mjs +47 -0
- package/esm2022/lib/figma/geo-map/utils/geo-map-interactions.util.mjs +30 -0
- package/esm2022/lib/figma/geo-overlap-result/geo-overlap-result.component.mjs +25 -0
- package/esm2022/lib/figma/geo-overlap-result/geo-overlap-result.types.mjs +2 -0
- package/esm2022/lib/figma/geo-page-header/geo-page-header.component.mjs +23 -0
- package/esm2022/lib/figma/geo-page-title/geo-page-title.component.mjs +20 -35
- package/esm2022/lib/figma/geo-pagination/geo-pagination.component.mjs +13 -43
- package/esm2022/lib/figma/geo-radio/geo-radio.component.mjs +32 -52
- package/esm2022/lib/figma/geo-select/geo-select.component.mjs +46 -72
- package/esm2022/lib/figma/geo-slider/geo-slider.component.mjs +12 -28
- package/esm2022/lib/figma/geo-stat-card/geo-stat-card.component.mjs +163 -0
- package/esm2022/lib/figma/geo-stat-card/geo-stat-card.types.mjs +2 -0
- package/esm2022/lib/figma/geo-status-tag/geo-status-tag.component.mjs +23 -27
- package/esm2022/lib/figma/geo-step-form-layout/geo-step-form-layout.component.mjs +39 -96
- package/esm2022/lib/figma/geo-stepper/geo-stepper.component.mjs +18 -33
- package/esm2022/lib/figma/geo-table/geo-column-picker/geo-column-picker.component.mjs +14 -24
- package/esm2022/lib/figma/geo-table/geo-row-actions/geo-row-actions.component.mjs +18 -36
- package/esm2022/lib/figma/geo-table/geo-table-filter/geo-table-filter.component.mjs +41 -98
- package/esm2022/lib/figma/geo-table/geo-table-pagination/geo-table-pagination.component.mjs +40 -73
- package/esm2022/lib/figma/geo-table/geo-table-toolbar/geo-table-toolbar.component.mjs +26 -56
- package/esm2022/lib/figma/geo-table/geo-table.component.mjs +110 -210
- package/esm2022/lib/figma/geo-tabs/geo-tabs.component.mjs +33 -63
- package/esm2022/lib/figma/geo-textarea/geo-textarea.component.mjs +28 -44
- package/esm2022/lib/figma/geo-toast/geo-toast.component.mjs +18 -39
- package/esm2022/lib/figma/geo-tree/geo-tree.component.mjs +12 -40
- package/esm2022/lib/figma/geo-typography/geo-typography.component.mjs +49 -64
- package/esm2022/lib/figma/geo-upload/geo-upload.component.mjs +50 -101
- package/esm2022/lib/figma/index.mjs +50 -1
- package/esm2022/lib/styles/tokens.mjs +56 -24
- package/fesm2022/geoit-ui.mjs +5981 -1825
- package/fesm2022/geoit-ui.mjs.map +1 -1
- package/lib/figma/geo-alert/geo-alert.component.d.ts +10 -11
- package/lib/figma/geo-back-button/geo-back-button.component.d.ts +6 -7
- package/lib/figma/geo-breadcrumb/geo-breadcrumb.component.d.ts +2 -2
- package/lib/figma/geo-button/geo-button.component.d.ts +21 -17
- package/lib/figma/geo-chart/geo-chart.component.d.ts +40 -0
- package/lib/figma/geo-chart/geo-chart.types.d.ts +13 -0
- package/lib/figma/geo-checkbox/geo-checkbox.component.d.ts +6 -7
- package/lib/figma/geo-confirm-modal/geo-confirm-modal.component.d.ts +15 -17
- package/lib/figma/geo-dashboard/geo-dashboard.component.d.ts +29 -0
- package/lib/figma/geo-dashboard/geo-dashboard.types.d.ts +7 -0
- package/lib/figma/geo-date-picker/geo-date-picker.component.d.ts +26 -21
- package/lib/figma/geo-date-range-picker/geo-date-range-picker.component.d.ts +25 -20
- package/lib/figma/geo-empty-state/geo-empty-state.component.d.ts +17 -0
- package/lib/figma/geo-feedback-form/geo-feedback-form.component.d.ts +36 -0
- package/lib/figma/geo-feedback-form/geo-feedback-form.types.d.ts +8 -0
- package/lib/figma/geo-file-picker/geo-file-picker.component.d.ts +23 -20
- package/lib/figma/geo-forgot-password/geo-forgot-password.component.d.ts +24 -0
- package/lib/figma/geo-form-modal/geo-form-modal.component.d.ts +33 -35
- package/lib/figma/geo-icon/geo-icon.component.d.ts +7 -7
- package/lib/figma/geo-input/geo-input.component.d.ts +23 -21
- package/lib/figma/geo-layout/footer/geo-layout-footer.component.d.ts +10 -0
- package/lib/figma/geo-layout/geo-layout-actions.directive.d.ts +6 -0
- package/lib/figma/geo-layout/geo-layout.component.d.ts +48 -0
- package/lib/figma/geo-layout/geo-layout.types.d.ts +44 -0
- package/lib/figma/geo-layout/header/geo-layout-header.component.d.ts +31 -0
- package/lib/figma/geo-layout/header-actions/geo-layout-header-actions.component.d.ts +32 -0
- package/lib/figma/geo-layout/sidebar/geo-layout-sidebar.component.d.ts +34 -0
- package/lib/figma/geo-list-page/geo-list-page.component.d.ts +16 -0
- package/lib/figma/geo-login/geo-login.component.d.ts +27 -0
- package/lib/figma/geo-login/geo-login.types.d.ts +6 -0
- package/lib/figma/geo-map/chrome/geo-map-admin-filter/geo-map-admin-filter.component.d.ts +28 -0
- package/lib/figma/geo-map/chrome/geo-map-basemap-switcher/geo-map-basemap-switcher.component.d.ts +26 -0
- package/lib/figma/geo-map/chrome/geo-map-help/geo-map-help.component.d.ts +20 -0
- package/lib/figma/geo-map/chrome/geo-map-layer-card/geo-map-layer-card.component.d.ts +15 -0
- package/lib/figma/geo-map/chrome/geo-map-layer-panel/geo-map-layer-panel.component.d.ts +40 -0
- package/lib/figma/geo-map/chrome/geo-map-layers-drawer/geo-map-layers-drawer.component.d.ts +25 -0
- package/lib/figma/geo-map/chrome/geo-map-legend/geo-map-legend.component.d.ts +18 -0
- package/lib/figma/geo-map/chrome/geo-map-locate/geo-map-locate.component.d.ts +24 -0
- package/lib/figma/geo-map/chrome/geo-map-location-chip/geo-map-location-chip.component.d.ts +14 -0
- package/lib/figma/geo-map/chrome/geo-map-measure/geo-map-measure.component.d.ts +49 -0
- package/lib/figma/geo-map/chrome/geo-map-opacity/geo-map-opacity.component.d.ts +30 -0
- package/lib/figma/geo-map/chrome/geo-map-parcel-popup/geo-map-parcel-popup.component.d.ts +44 -0
- package/lib/figma/geo-map/chrome/geo-map-search/geo-map-search.component.d.ts +56 -0
- package/lib/figma/geo-map/chrome/geo-map-shell/geo-map-shell.component.d.ts +103 -0
- package/lib/figma/geo-map/chrome/geo-map-snapshot/geo-map-snapshot.component.d.ts +21 -0
- package/lib/figma/geo-map/chrome/geo-map-swipe/geo-map-swipe.component.d.ts +33 -0
- package/lib/figma/geo-map/chrome/geo-map-toolbar/geo-map-toolbar.component.d.ts +30 -0
- package/lib/figma/geo-map/chrome/geo-map-zoom/geo-map-zoom.component.d.ts +67 -0
- package/lib/figma/geo-map/geo-map-toolbar.icons.d.ts +17 -0
- package/lib/figma/geo-map/geo-map.component.d.ts +53 -0
- package/lib/figma/geo-map/geo-map.constants.d.ts +73 -0
- package/lib/figma/geo-map/geo-map.controller.d.ts +49 -0
- package/lib/figma/geo-map/geo-map.types.d.ts +224 -0
- package/lib/figma/geo-map/services/geo-map-layer.service.d.ts +42 -0
- package/lib/figma/geo-map/services/geo-map-projection.service.d.ts +32 -0
- package/lib/figma/geo-map/services/geo-map.service.d.ts +99 -0
- package/lib/figma/geo-map/utils/geo-map-fullscreen-overlay.util.d.ts +13 -0
- package/lib/figma/geo-map/utils/geo-map-interactions.util.d.ts +9 -0
- package/lib/figma/geo-overlap-result/geo-overlap-result.component.d.ts +18 -0
- package/lib/figma/geo-overlap-result/geo-overlap-result.types.d.ts +7 -0
- package/lib/figma/geo-page-header/geo-page-header.component.d.ts +16 -0
- package/lib/figma/geo-page-title/geo-page-title.component.d.ts +9 -9
- package/lib/figma/geo-pagination/geo-pagination.component.d.ts +9 -14
- package/lib/figma/geo-radio/geo-radio.component.d.ts +17 -15
- package/lib/figma/geo-select/geo-select.component.d.ts +24 -19
- package/lib/figma/geo-slider/geo-slider.component.d.ts +7 -9
- package/lib/figma/geo-stat-card/geo-stat-card.component.d.ts +50 -0
- package/lib/figma/geo-stat-card/geo-stat-card.types.d.ts +11 -0
- package/lib/figma/geo-status-tag/geo-status-tag.component.d.ts +7 -7
- package/lib/figma/geo-step-form-layout/geo-step-form-layout.component.d.ts +27 -29
- package/lib/figma/geo-stepper/geo-stepper.component.d.ts +6 -8
- package/lib/figma/geo-table/geo-column-picker/geo-column-picker.component.d.ts +6 -7
- package/lib/figma/geo-table/geo-row-actions/geo-row-actions.component.d.ts +11 -12
- package/lib/figma/geo-table/geo-table-filter/geo-table-filter.component.d.ts +21 -28
- package/lib/figma/geo-table/geo-table-pagination/geo-table-pagination.component.d.ts +17 -20
- package/lib/figma/geo-table/geo-table-toolbar/geo-table-toolbar.component.d.ts +17 -18
- package/lib/figma/geo-table/geo-table.component.d.ts +58 -62
- package/lib/figma/geo-tabs/geo-tabs.component.d.ts +14 -17
- package/lib/figma/geo-textarea/geo-textarea.component.d.ts +15 -13
- package/lib/figma/geo-toast/geo-toast.component.d.ts +11 -12
- package/lib/figma/geo-tree/geo-tree.component.d.ts +8 -13
- package/lib/figma/geo-typography/geo-typography.component.d.ts +13 -13
- package/lib/figma/geo-upload/geo-upload.component.d.ts +26 -28
- package/lib/figma/index.d.ts +49 -0
- package/lib/styles/tokens.d.ts +56 -23
- package/package.json +4 -2
- package/src/lib/figma/geo-map/assets/toolbar/fullscreen.svg +8 -0
- package/src/lib/figma/geo-map/assets/toolbar/home.svg +3 -0
- package/src/lib/figma/geo-map/assets/toolbar/layers.svg +3 -0
- package/src/lib/figma/geo-map/assets/toolbar/measure-area.svg +12 -0
- package/src/lib/figma/geo-map/assets/toolbar/measure-distance.svg +5 -0
- package/src/lib/figma/geo-map/assets/toolbar/pan.svg +13 -0
- package/src/lib/figma/geo-map/assets/toolbar/search.svg +3 -0
- package/src/lib/figma/geo-map/assets/toolbar/zoom-in.svg +3 -0
- package/src/lib/figma/geo-map/assets/toolbar/zoom-out.svg +5 -0
- package/src/lib/styles/design-tokens.scss +108 -35
- package/src/lib/styles/scrollbar.scss +2 -2
- package/src/lib/styles/theme.scss +1 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';
|
|
3
2
|
import { NgZorroAntdModule } from '../../../ng-zorro/ng-zorro-antd.module';
|
|
4
3
|
import { GeoButtonComponent } from '../../geo-button/geo-button.component';
|
|
5
4
|
import { GeoCheckboxComponent } from '../../geo-checkbox/geo-checkbox.component';
|
|
@@ -10,12 +9,12 @@ import * as i2 from "ng-zorro-antd/core/transition-patch";
|
|
|
10
9
|
import * as i3 from "ng-zorro-antd/core/wave";
|
|
11
10
|
import * as i4 from "ng-zorro-antd/dropdown";
|
|
12
11
|
export class GeoColumnPickerComponent {
|
|
13
|
-
triggerLabel = 'Ẩn hiện cột';
|
|
14
|
-
hint = 'Chọn cột hiển thị trên bảng.';
|
|
15
|
-
items = [];
|
|
12
|
+
triggerLabel = input('Ẩn hiện cột');
|
|
13
|
+
hint = input('Chọn cột hiển thị trên bảng.');
|
|
14
|
+
items = input([]);
|
|
16
15
|
/** Lưu trạng thái ẩn/hiện cột theo session khi người dùng áp dụng */
|
|
17
|
-
storageKey;
|
|
18
|
-
apply =
|
|
16
|
+
storageKey = input(undefined);
|
|
17
|
+
apply = output();
|
|
19
18
|
dropdownVisible = false;
|
|
20
19
|
draftItems = [];
|
|
21
20
|
onDropdownVisibleChange(visible) {
|
|
@@ -34,8 +33,9 @@ export class GeoColumnPickerComponent {
|
|
|
34
33
|
/** `pinned` giữ empty để tương thích payload/storage cũ — không còn UI ghim/di chuyển cột. */
|
|
35
34
|
const payload = { visibility, pinned: {} };
|
|
36
35
|
this.apply.emit(payload);
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
const storageKey = this.storageKey();
|
|
37
|
+
if (storageKey) {
|
|
38
|
+
saveColumnPickerState(storageKey, payload);
|
|
39
39
|
}
|
|
40
40
|
this.dropdownVisible = false;
|
|
41
41
|
}
|
|
@@ -43,23 +43,13 @@ export class GeoColumnPickerComponent {
|
|
|
43
43
|
this.syncDraft();
|
|
44
44
|
}
|
|
45
45
|
syncDraft() {
|
|
46
|
-
this.draftItems = this.items.map((item) => ({ ...item }));
|
|
46
|
+
this.draftItems = this.items().map((item) => ({ ...item }));
|
|
47
47
|
}
|
|
48
48
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoColumnPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoColumnPickerComponent, isStandalone: true, selector: "geo-column-picker", inputs: { triggerLabel: "triggerLabel", hint: "hint", items: "items", storageKey: "storageKey" }, outputs: { apply: "apply" }, ngImport: i0, template: "<div\n class=\"geo-column-picker__trigger\"\n nz-dropdown\n [nzDropdownMenu]=\"menu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n [(nzVisible)]=\"dropdownVisible\"\n (nzVisibleChange)=\"onDropdownVisibleChange($event)\"\n>\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"eye-invisible\"\n [title]=\"triggerLabel\"\n >\n {{ triggerLabel }}\n </geo-button>\n</div>\n\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <div class=\"geo-column-picker__panel\" (click)=\"$event.stopPropagation()\">\n <p class=\"geo-column-picker__hint\">{{ hint }}</p>\n\n <div class=\"geo-column-picker__list\">\n @for (item of draftItems; track item.key) {\n <div class=\"geo-column-picker__row\">\n <geo-checkbox\n class=\"geo-column-picker__item\"\n [label]=\"item.title\"\n [checked]=\"item.visible\"\n [disabled]=\"item.locked ?? false\"\n (checkedChange)=\"onItemChange(item.key, $event)\"\n ></geo-checkbox>\n </div>\n }\n </div>\n\n <div class=\"geo-column-picker__actions\">\n <button nz-button nzType=\"default\" nzSize=\"small\" (click)=\"onReset()\">\u0110\u1EB7t l\u1EA1i</button>\n <button nz-button nzType=\"primary\" nzSize=\"small\" (click)=\"onApply()\">\u00C1p d\u1EE5ng</button>\n </div>\n </div>\n</nz-dropdown-menu>\n", styles: [":host{display:inline-block}.geo-column-picker__trigger{display:inline-flex}.geo-column-picker__panel{width:320px;padding:12px 16px 16px;background:var(--geo-color-neutral-white);border-radius:var(--geo-radius);box-shadow:0 6px 16px #00000014}.geo-column-picker__hint{margin:0 0 12px;color:var(--geo-color-neutral-500);font-size:13px;line-height:20px}.geo-column-picker__list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.geo-column-picker__row{display:flex;align-items:center;gap:8px}.geo-column-picker__item{display:flex;align-items:center;flex:1;min-width:0}.geo-column-picker__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--geo-color-neutral-100)}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
49
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoColumnPickerComponent, isStandalone: true, selector: "geo-column-picker", inputs: { triggerLabel: { classPropertyName: "triggerLabel", publicName: "triggerLabel", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, storageKey: { classPropertyName: "storageKey", publicName: "storageKey", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { apply: "apply" }, ngImport: i0, template: "<div\n class=\"geo-column-picker__trigger\"\n nz-dropdown\n [nzDropdownMenu]=\"menu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n [(nzVisible)]=\"dropdownVisible\"\n (nzVisibleChange)=\"onDropdownVisibleChange($event)\"\n>\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"eye-invisible\"\n [title]=\"triggerLabel()\"\n >\n {{ triggerLabel() }}\n </geo-button>\n</div>\n\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <div class=\"geo-column-picker__panel\" (click)=\"$event.stopPropagation()\">\n <p class=\"geo-column-picker__hint\">{{ hint() }}</p>\n\n <div class=\"geo-column-picker__list\">\n @for (item of draftItems; track item.key) {\n <div class=\"geo-column-picker__row\">\n <geo-checkbox\n class=\"geo-column-picker__item\"\n [label]=\"item.title\"\n [checked]=\"item.visible\"\n [disabled]=\"item.locked ?? false\"\n (checkedChange)=\"onItemChange(item.key, $event)\"\n ></geo-checkbox>\n </div>\n }\n </div>\n\n <div class=\"geo-column-picker__actions\">\n <button nz-button nzType=\"default\" nzSize=\"small\" (click)=\"onReset()\">\u0110\u1EB7t l\u1EA1i</button>\n <button nz-button nzType=\"primary\" nzSize=\"small\" (click)=\"onApply()\">\u00C1p d\u1EE5ng</button>\n </div>\n </div>\n</nz-dropdown-menu>\n", styles: [":host{display:inline-block}.geo-column-picker__trigger{display:inline-flex}.geo-column-picker__panel{width:320px;padding:12px 16px 16px;background:var(--geo-color-neutral-white);border-radius:var(--geo-radius);box-shadow:0 6px 16px #00000014}.geo-column-picker__hint{margin:0 0 12px;color:var(--geo-color-neutral-500);font-size:13px;line-height:20px}.geo-column-picker__list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.geo-column-picker__row{display:flex;align-items:center;gap:8px}.geo-column-picker__item{display:flex;align-items:center;flex:1;min-width:0}.geo-column-picker__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--geo-color-neutral-100)}\n"], dependencies: [{ kind: "ngmodule", type: NgZorroAntdModule }, { kind: "component", type: i1.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i2.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i3.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i4.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "component", type: i4.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "component", type: GeoButtonComponent, selector: "geo-button", inputs: ["appearance", "color", "icon", "iconTheme", "iconPlacement", "iconOnly", "type", "disabled", "tooltip", "tooltipPlacement", "active", "title"], outputs: ["clicked"] }, { kind: "component", type: GeoCheckboxComponent, selector: "geo-checkbox", inputs: ["label", "checked", "disabled", "indeterminate"], outputs: ["checkedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
50
50
|
}
|
|
51
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoColumnPickerComponent, decorators: [{
|
|
52
52
|
type: Component,
|
|
53
|
-
args: [{ selector: 'geo-column-picker', standalone: true, imports: [
|
|
54
|
-
}]
|
|
55
|
-
|
|
56
|
-
}], hint: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}], items: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}], storageKey: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}], apply: [{
|
|
63
|
-
type: Output
|
|
64
|
-
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLWNvbHVtbi1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXRhYmxlL2dlby1jb2x1bW4tcGlja2VyL2dlby1jb2x1bW4tcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby10YWJsZS9nZW8tY29sdW1uLXBpY2tlci9nZW8tY29sdW1uLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUVqRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7O0FBU3BFLE1BQU0sT0FBTyx3QkFBd0I7SUFDMUIsWUFBWSxHQUFHLGFBQWEsQ0FBQztJQUM3QixJQUFJLEdBQUcsOEJBQThCLENBQUM7SUFDdEMsS0FBSyxHQUEwQixFQUFFLENBQUM7SUFDM0MscUVBQXFFO0lBQzVELFVBQVUsQ0FBVTtJQUVuQixLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQStCLENBQUM7SUFFbEUsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixVQUFVLEdBQTBCLEVBQUUsQ0FBQztJQUV2Qyx1QkFBdUIsQ0FBQyxPQUFnQjtRQUN0QyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVcsRUFBRSxPQUFnQjtRQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDN0MsSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDL0MsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxVQUFVLEdBQTRCLEVBQUUsQ0FBQztRQUUvQyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNuQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEMsQ0FBQztRQUVELDhGQUE4RjtRQUM5RixNQUFNLE9BQU8sR0FBZ0MsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLHFCQUFxQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7d0dBaERVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLDRNQ2ZyQyxvM0NBMkNBLHV5QkRoQ1ksWUFBWSw4QkFBRSxpQkFBaUIsNGxDQUFFLGtCQUFrQixzT0FBRSxvQkFBb0I7OzRGQUl4RSx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsQ0FBQzs4QkFLM0UsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ1pvcnJvQW50ZE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL25nLXpvcnJvL25nLXpvcnJvLWFudGQubW9kdWxlJztcbmltcG9ydCB7IEdlb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2dlby1idXR0b24vZ2VvLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VvQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuLi8uLi9nZW8tY2hlY2tib3gvZ2VvLWNoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW9Db2x1bW5QaWNrZXJBcHBseVBheWxvYWQsIEdlb0NvbHVtblBpY2tlckl0ZW0gfSBmcm9tICcuL2dlby1jb2x1bW4tcGlja2VyLnR5cGVzJztcbmltcG9ydCB7IHNhdmVDb2x1bW5QaWNrZXJTdGF0ZSB9IGZyb20gJy4vZ2VvLWNvbHVtbi1waWNrZXIuc3RvcmFnZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby1jb2x1bW4tcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmdab3Jyb0FudGRNb2R1bGUsIEdlb0J1dHRvbkNvbXBvbmVudCwgR2VvQ2hlY2tib3hDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VvLWNvbHVtbi1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ2VvLWNvbHVtbi1waWNrZXIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBHZW9Db2x1bW5QaWNrZXJDb21wb25lbnQge1xuICBASW5wdXQoKSB0cmlnZ2VyTGFiZWwgPSAn4bqobiBoaeG7h24gY+G7mXQnO1xuICBASW5wdXQoKSBoaW50ID0gJ0No4buNbiBj4buZdCBoaeG7g24gdGjhu4sgdHLDqm4gYuG6o25nLic7XG4gIEBJbnB1dCgpIGl0ZW1zOiBHZW9Db2x1bW5QaWNrZXJJdGVtW10gPSBbXTtcbiAgLyoqIEzGsHUgdHLhuqFuZyB0aMOhaSDhuqluL2hp4buHbiBj4buZdCB0aGVvIHNlc3Npb24ga2hpIG5nxrDhu51pIGTDuW5nIMOhcCBk4bulbmcgKi9cbiAgQElucHV0KCkgc3RvcmFnZUtleT86IHN0cmluZztcblxuICBAT3V0cHV0KCkgYXBwbHkgPSBuZXcgRXZlbnRFbWl0dGVyPEdlb0NvbHVtblBpY2tlckFwcGx5UGF5bG9hZD4oKTtcblxuICBkcm9wZG93blZpc2libGUgPSBmYWxzZTtcbiAgZHJhZnRJdGVtczogR2VvQ29sdW1uUGlja2VySXRlbVtdID0gW107XG5cbiAgb25Ecm9wZG93blZpc2libGVDaGFuZ2UodmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh2aXNpYmxlKSB7XG4gICAgICB0aGlzLnN5bmNEcmFmdCgpO1xuICAgIH1cbiAgfVxuXG4gIG9uSXRlbUNoYW5nZShrZXk6IHN0cmluZywgdmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZHJhZnRJdGVtcyA9IHRoaXMuZHJhZnRJdGVtcy5tYXAoKGl0ZW0pID0+XG4gICAgICBpdGVtLmtleSA9PT0ga2V5ID8geyAuLi5pdGVtLCB2aXNpYmxlIH0gOiBpdGVtXG4gICAgKTtcbiAgfVxuXG4gIG9uQXBwbHkoKTogdm9pZCB7XG4gICAgY29uc3QgdmlzaWJpbGl0eTogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fTtcblxuICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLmRyYWZ0SXRlbXMpIHtcbiAgICAgIHZpc2liaWxpdHlbaXRlbS5rZXldID0gaXRlbS52aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKiBgcGlubmVkYCBnaeG7ryBlbXB0eSDEkeG7gyB0xrDGoW5nIHRow61jaCBwYXlsb2FkL3N0b3JhZ2UgY8WpIOKAlCBraMO0bmcgY8OybiBVSSBnaGltL2RpIGNodXnhu4NuIGPhu5l0LiAqL1xuICAgIGNvbnN0IHBheWxvYWQ6IEdlb0NvbHVtblBpY2tlckFwcGx5UGF5bG9hZCA9IHsgdmlzaWJpbGl0eSwgcGlubmVkOiB7fSB9O1xuICAgIHRoaXMuYXBwbHkuZW1pdChwYXlsb2FkKTtcblxuICAgIGlmICh0aGlzLnN0b3JhZ2VLZXkpIHtcbiAgICAgIHNhdmVDb2x1bW5QaWNrZXJTdGF0ZSh0aGlzLnN0b3JhZ2VLZXksIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHRoaXMuZHJvcGRvd25WaXNpYmxlID0gZmFsc2U7XG4gIH1cblxuICBvblJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuc3luY0RyYWZ0KCk7XG4gIH1cblxuICBwcml2YXRlIHN5bmNEcmFmdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRyYWZ0SXRlbXMgPSB0aGlzLml0ZW1zLm1hcCgoaXRlbSkgPT4gKHsgLi4uaXRlbSB9KSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJnZW8tY29sdW1uLXBpY2tlcl9fdHJpZ2dlclwiXG4gIG56LWRyb3Bkb3duXG4gIFtuekRyb3Bkb3duTWVudV09XCJtZW51XCJcbiAgbnpUcmlnZ2VyPVwiY2xpY2tcIlxuICBuelBsYWNlbWVudD1cImJvdHRvbVJpZ2h0XCJcbiAgWyhuelZpc2libGUpXT1cImRyb3Bkb3duVmlzaWJsZVwiXG4gIChuelZpc2libGVDaGFuZ2UpPVwib25Ecm9wZG93blZpc2libGVDaGFuZ2UoJGV2ZW50KVwiXG4+XG4gIDxnZW8tYnV0dG9uXG4gICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgY29sb3I9XCJicmFuZFwiXG4gICAgaWNvbj1cImV5ZS1pbnZpc2libGVcIlxuICAgIFt0aXRsZV09XCJ0cmlnZ2VyTGFiZWxcIlxuICA+XG4gICAge3sgdHJpZ2dlckxhYmVsIH19XG4gIDwvZ2VvLWJ1dHRvbj5cbjwvZGl2PlxuXG48bnotZHJvcGRvd24tbWVudSAjbWVudT1cIm56RHJvcGRvd25NZW51XCI+XG4gIDxkaXYgY2xhc3M9XCJnZW8tY29sdW1uLXBpY2tlcl9fcGFuZWxcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgPHAgY2xhc3M9XCJnZW8tY29sdW1uLXBpY2tlcl9faGludFwiPnt7IGhpbnQgfX08L3A+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ2VvLWNvbHVtbi1waWNrZXJfX2xpc3RcIj5cbiAgICAgIEBmb3IgKGl0ZW0gb2YgZHJhZnRJdGVtczsgdHJhY2sgaXRlbS5rZXkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImdlby1jb2x1bW4tcGlja2VyX19yb3dcIj5cbiAgICAgICAgICA8Z2VvLWNoZWNrYm94XG4gICAgICAgICAgICBjbGFzcz1cImdlby1jb2x1bW4tcGlja2VyX19pdGVtXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJpdGVtLnRpdGxlXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cIml0ZW0udmlzaWJsZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5sb2NrZWQgPz8gZmFsc2VcIlxuICAgICAgICAgICAgKGNoZWNrZWRDaGFuZ2UpPVwib25JdGVtQ2hhbmdlKGl0ZW0ua2V5LCAkZXZlbnQpXCJcbiAgICAgICAgICA+PC9nZW8tY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImdlby1jb2x1bW4tcGlja2VyX19hY3Rpb25zXCI+XG4gICAgICA8YnV0dG9uIG56LWJ1dHRvbiBuelR5cGU9XCJkZWZhdWx0XCIgbnpTaXplPVwic21hbGxcIiAoY2xpY2spPVwib25SZXNldCgpXCI+xJDhurd0IGzhuqFpPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG56LWJ1dHRvbiBuelR5cGU9XCJwcmltYXJ5XCIgbnpTaXplPVwic21hbGxcIiAoY2xpY2spPVwib25BcHBseSgpXCI+w4FwIGThu6VuZzwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbnotZHJvcGRvd24tbWVudT5cbiJdfQ==
|
|
53
|
+
args: [{ selector: 'geo-column-picker', standalone: true, imports: [NgZorroAntdModule, GeoButtonComponent, GeoCheckboxComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"geo-column-picker__trigger\"\n nz-dropdown\n [nzDropdownMenu]=\"menu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n [(nzVisible)]=\"dropdownVisible\"\n (nzVisibleChange)=\"onDropdownVisibleChange($event)\"\n>\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"eye-invisible\"\n [title]=\"triggerLabel()\"\n >\n {{ triggerLabel() }}\n </geo-button>\n</div>\n\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <div class=\"geo-column-picker__panel\" (click)=\"$event.stopPropagation()\">\n <p class=\"geo-column-picker__hint\">{{ hint() }}</p>\n\n <div class=\"geo-column-picker__list\">\n @for (item of draftItems; track item.key) {\n <div class=\"geo-column-picker__row\">\n <geo-checkbox\n class=\"geo-column-picker__item\"\n [label]=\"item.title\"\n [checked]=\"item.visible\"\n [disabled]=\"item.locked ?? false\"\n (checkedChange)=\"onItemChange(item.key, $event)\"\n ></geo-checkbox>\n </div>\n }\n </div>\n\n <div class=\"geo-column-picker__actions\">\n <button nz-button nzType=\"default\" nzSize=\"small\" (click)=\"onReset()\">\u0110\u1EB7t l\u1EA1i</button>\n <button nz-button nzType=\"primary\" nzSize=\"small\" (click)=\"onApply()\">\u00C1p d\u1EE5ng</button>\n </div>\n </div>\n</nz-dropdown-menu>\n", styles: [":host{display:inline-block}.geo-column-picker__trigger{display:inline-flex}.geo-column-picker__panel{width:320px;padding:12px 16px 16px;background:var(--geo-color-neutral-white);border-radius:var(--geo-radius);box-shadow:0 6px 16px #00000014}.geo-column-picker__hint{margin:0 0 12px;color:var(--geo-color-neutral-500);font-size:13px;line-height:20px}.geo-column-picker__list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.geo-column-picker__row{display:flex;align-items:center;gap:8px}.geo-column-picker__item{display:flex;align-items:center;flex:1;min-width:0}.geo-column-picker__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--geo-color-neutral-100)}\n"] }]
|
|
54
|
+
}] });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLWNvbHVtbi1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXRhYmxlL2dlby1jb2x1bW4tcGlja2VyL2dlby1jb2x1bW4tcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby10YWJsZS9nZW8tY29sdW1uLXBpY2tlci9nZW8tY29sdW1uLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFakYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7OztBQVVwRSxNQUFNLE9BQU8sd0JBQXdCO0lBQzFCLFlBQVksR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEMsSUFBSSxHQUFHLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQzdDLEtBQUssR0FBRyxLQUFLLENBQXdCLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELHFFQUFxRTtJQUM1RCxVQUFVLEdBQUcsS0FBSyxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUVsRCxLQUFLLEdBQUcsTUFBTSxFQUErQixDQUFDO0lBRXZELGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDeEIsVUFBVSxHQUEwQixFQUFFLENBQUM7SUFFdkMsdUJBQXVCLENBQUMsT0FBZ0I7UUFDdEMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFXLEVBQUUsT0FBZ0I7UUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQzdDLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQy9DLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTztRQUNMLE1BQU0sVUFBVSxHQUE0QixFQUFFLENBQUM7UUFFL0MsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbkMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3RDLENBQUM7UUFFRCw4RkFBOEY7UUFDOUYsTUFBTSxPQUFPLEdBQWdDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUN4RSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV6QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO3dHQWpEVSx3QkFBd0I7NEZBQXhCLHdCQUF3Qix1bkJDZnJDLDAzQ0EyQ0EsdXlCRGpDWSxpQkFBaUIsNGxDQUFFLGtCQUFrQixzT0FBRSxvQkFBb0I7OzRGQUsxRCx3QkFBd0I7a0JBUnBDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixDQUFDLG1CQUdyRCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdab3Jyb0FudGRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9uZy16b3Jyby9uZy16b3Jyby1hbnRkLm1vZHVsZSc7XG5pbXBvcnQgeyBHZW9CdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9nZW8tYnV0dG9uL2dlby1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEdlb0NoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZ2VvLWNoZWNrYm94L2dlby1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VvQ29sdW1uUGlja2VyQXBwbHlQYXlsb2FkLCBHZW9Db2x1bW5QaWNrZXJJdGVtIH0gZnJvbSAnLi9nZW8tY29sdW1uLXBpY2tlci50eXBlcyc7XG5pbXBvcnQgeyBzYXZlQ29sdW1uUGlja2VyU3RhdGUgfSBmcm9tICcuL2dlby1jb2x1bW4tcGlja2VyLnN0b3JhZ2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnZW8tY29sdW1uLXBpY2tlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ1pvcnJvQW50ZE1vZHVsZSwgR2VvQnV0dG9uQ29tcG9uZW50LCBHZW9DaGVja2JveENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tY29sdW1uLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9nZW8tY29sdW1uLXBpY2tlci5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHZW9Db2x1bW5QaWNrZXJDb21wb25lbnQge1xuICByZWFkb25seSB0cmlnZ2VyTGFiZWwgPSBpbnB1dCgn4bqobiBoaeG7h24gY+G7mXQnKTtcbiAgcmVhZG9ubHkgaGludCA9IGlucHV0KCdDaOG7jW4gY+G7mXQgaGnhu4NuIHRo4buLIHRyw6puIGLhuqNuZy4nKTtcbiAgcmVhZG9ubHkgaXRlbXMgPSBpbnB1dDxHZW9Db2x1bW5QaWNrZXJJdGVtW10+KFtdKTtcbiAgLyoqIEzGsHUgdHLhuqFuZyB0aMOhaSDhuqluL2hp4buHbiBj4buZdCB0aGVvIHNlc3Npb24ga2hpIG5nxrDhu51pIGTDuW5nIMOhcCBk4bulbmcgKi9cbiAgcmVhZG9ubHkgc3RvcmFnZUtleSA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICByZWFkb25seSBhcHBseSA9IG91dHB1dDxHZW9Db2x1bW5QaWNrZXJBcHBseVBheWxvYWQ+KCk7XG5cbiAgZHJvcGRvd25WaXNpYmxlID0gZmFsc2U7XG4gIGRyYWZ0SXRlbXM6IEdlb0NvbHVtblBpY2tlckl0ZW1bXSA9IFtdO1xuXG4gIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlKHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodmlzaWJsZSkge1xuICAgICAgdGhpcy5zeW5jRHJhZnQoKTtcbiAgICB9XG4gIH1cblxuICBvbkl0ZW1DaGFuZ2Uoa2V5OiBzdHJpbmcsIHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRyYWZ0SXRlbXMgPSB0aGlzLmRyYWZ0SXRlbXMubWFwKChpdGVtKSA9PlxuICAgICAgaXRlbS5rZXkgPT09IGtleSA/IHsgLi4uaXRlbSwgdmlzaWJsZSB9IDogaXRlbVxuICAgICk7XG4gIH1cblxuICBvbkFwcGx5KCk6IHZvaWQge1xuICAgIGNvbnN0IHZpc2liaWxpdHk6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XG5cbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5kcmFmdEl0ZW1zKSB7XG4gICAgICB2aXNpYmlsaXR5W2l0ZW0ua2V5XSA9IGl0ZW0udmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKiogYHBpbm5lZGAgZ2nhu68gZW1wdHkgxJHhu4MgdMawxqFuZyB0aMOtY2ggcGF5bG9hZC9zdG9yYWdlIGPFqSDigJQga2jDtG5nIGPDsm4gVUkgZ2hpbS9kaSBjaHV54buDbiBj4buZdC4gKi9cbiAgICBjb25zdCBwYXlsb2FkOiBHZW9Db2x1bW5QaWNrZXJBcHBseVBheWxvYWQgPSB7IHZpc2liaWxpdHksIHBpbm5lZDoge30gfTtcbiAgICB0aGlzLmFwcGx5LmVtaXQocGF5bG9hZCk7XG5cbiAgICBjb25zdCBzdG9yYWdlS2V5ID0gdGhpcy5zdG9yYWdlS2V5KCk7XG4gICAgaWYgKHN0b3JhZ2VLZXkpIHtcbiAgICAgIHNhdmVDb2x1bW5QaWNrZXJTdGF0ZShzdG9yYWdlS2V5LCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICB0aGlzLmRyb3Bkb3duVmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgb25SZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNEcmFmdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzeW5jRHJhZnQoKTogdm9pZCB7XG4gICAgdGhpcy5kcmFmdEl0ZW1zID0gdGhpcy5pdGVtcygpLm1hcCgoaXRlbSkgPT4gKHsgLi4uaXRlbSB9KSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJnZW8tY29sdW1uLXBpY2tlcl9fdHJpZ2dlclwiXG4gIG56LWRyb3Bkb3duXG4gIFtuekRyb3Bkb3duTWVudV09XCJtZW51XCJcbiAgbnpUcmlnZ2VyPVwiY2xpY2tcIlxuICBuelBsYWNlbWVudD1cImJvdHRvbVJpZ2h0XCJcbiAgWyhuelZpc2libGUpXT1cImRyb3Bkb3duVmlzaWJsZVwiXG4gIChuelZpc2libGVDaGFuZ2UpPVwib25Ecm9wZG93blZpc2libGVDaGFuZ2UoJGV2ZW50KVwiXG4+XG4gIDxnZW8tYnV0dG9uXG4gICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgY29sb3I9XCJicmFuZFwiXG4gICAgaWNvbj1cImV5ZS1pbnZpc2libGVcIlxuICAgIFt0aXRsZV09XCJ0cmlnZ2VyTGFiZWwoKVwiXG4gID5cbiAgICB7eyB0cmlnZ2VyTGFiZWwoKSB9fVxuICA8L2dlby1idXR0b24+XG48L2Rpdj5cblxuPG56LWRyb3Bkb3duLW1lbnUgI21lbnU9XCJuekRyb3Bkb3duTWVudVwiPlxuICA8ZGl2IGNsYXNzPVwiZ2VvLWNvbHVtbi1waWNrZXJfX3BhbmVsXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgIDxwIGNsYXNzPVwiZ2VvLWNvbHVtbi1waWNrZXJfX2hpbnRcIj57eyBoaW50KCkgfX08L3A+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ2VvLWNvbHVtbi1waWNrZXJfX2xpc3RcIj5cbiAgICAgIEBmb3IgKGl0ZW0gb2YgZHJhZnRJdGVtczsgdHJhY2sgaXRlbS5rZXkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImdlby1jb2x1bW4tcGlja2VyX19yb3dcIj5cbiAgICAgICAgICA8Z2VvLWNoZWNrYm94XG4gICAgICAgICAgICBjbGFzcz1cImdlby1jb2x1bW4tcGlja2VyX19pdGVtXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJpdGVtLnRpdGxlXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cIml0ZW0udmlzaWJsZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5sb2NrZWQgPz8gZmFsc2VcIlxuICAgICAgICAgICAgKGNoZWNrZWRDaGFuZ2UpPVwib25JdGVtQ2hhbmdlKGl0ZW0ua2V5LCAkZXZlbnQpXCJcbiAgICAgICAgICA+PC9nZW8tY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImdlby1jb2x1bW4tcGlja2VyX19hY3Rpb25zXCI+XG4gICAgICA8YnV0dG9uIG56LWJ1dHRvbiBuelR5cGU9XCJkZWZhdWx0XCIgbnpTaXplPVwic21hbGxcIiAoY2xpY2spPVwib25SZXNldCgpXCI+xJDhurd0IGzhuqFpPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG56LWJ1dHRvbiBuelR5cGU9XCJwcmltYXJ5XCIgbnpTaXplPVwic21hbGxcIiAoY2xpY2spPVwib25BcHBseSgpXCI+w4FwIGThu6VuZzwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbnotZHJvcGRvd24tbWVudT5cbiJdfQ==
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Component,
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';
|
|
3
2
|
import { NgZorroAntdModule } from '../../../ng-zorro/ng-zorro-antd.module';
|
|
4
3
|
import { DEFAULT_UI_ROW_ACTIONS, pickInlineRowActions, pickOverflowRowActions, } from './geo-row-actions.types';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
@@ -8,29 +7,22 @@ import * as i2 from "ng-zorro-antd/dropdown";
|
|
|
8
7
|
import * as i3 from "ng-zorro-antd/icon";
|
|
9
8
|
import * as i4 from "ng-zorro-antd/tooltip";
|
|
10
9
|
export class GeoRowActionsComponent {
|
|
11
|
-
actions = null;
|
|
10
|
+
actions = input(null);
|
|
12
11
|
/** Action ưu tiên hiển thị khi có > 2 thao tác (mặc định: edit) */
|
|
13
|
-
primaryActionKey = 'edit';
|
|
14
|
-
actionClick =
|
|
12
|
+
primaryActionKey = input('edit');
|
|
13
|
+
actionClick = output();
|
|
15
14
|
/** @deprecated Dùng `actionClick` với key `edit` */
|
|
16
|
-
edit =
|
|
15
|
+
edit = output();
|
|
17
16
|
/** @deprecated Dùng `actionClick` với key `more` */
|
|
18
|
-
more =
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
get overflowActions() {
|
|
29
|
-
return pickOverflowRowActions(this.enabledActions, this.primaryActionKey);
|
|
30
|
-
}
|
|
31
|
-
get hasOverflow() {
|
|
32
|
-
return this.overflowActions.length > 0;
|
|
33
|
-
}
|
|
17
|
+
more = output();
|
|
18
|
+
resolvedActions = computed(() => {
|
|
19
|
+
const actions = this.actions();
|
|
20
|
+
return actions?.length ? actions : DEFAULT_UI_ROW_ACTIONS;
|
|
21
|
+
});
|
|
22
|
+
enabledActions = computed(() => this.resolvedActions().filter((action) => !action.disabled));
|
|
23
|
+
inlineActions = computed(() => pickInlineRowActions(this.enabledActions(), this.primaryActionKey()));
|
|
24
|
+
overflowActions = computed(() => pickOverflowRowActions(this.enabledActions(), this.primaryActionKey()));
|
|
25
|
+
hasOverflow = computed(() => this.overflowActions().length > 0);
|
|
34
26
|
onActionClick(event, action) {
|
|
35
27
|
if (action.disabled) {
|
|
36
28
|
return;
|
|
@@ -45,20 +37,10 @@ export class GeoRowActionsComponent {
|
|
|
45
37
|
}
|
|
46
38
|
}
|
|
47
39
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoRowActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoRowActionsComponent, isStandalone: true, selector: "geo-row-actions", inputs: { actions: "actions", primaryActionKey: "primaryActionKey" }, outputs: { actionClick: "actionClick", edit: "edit", more: "more" }, ngImport: i0, template: "<div class=\"geo-row-actions\">\n @for (action of inlineActions; track action.key) {\n <button\n type=\"button\"\n class=\"geo-row-actions__btn\"\n [class.geo-row-actions__btn--danger]=\"action.danger\"\n [nz-tooltip]=\"action.title ?? action.label ?? ''\"\n [disabled]=\"action.disabled\"\n [attr.aria-label]=\"action.label ?? action.title ?? action.key\"\n (click)=\"onActionClick($event, action)\"\n >\n <span nz-icon [nzType]=\"action.icon\" [nzTheme]=\"action.iconTheme ?? 'outline'\"></span>\n </button>\n }\n\n @if (hasOverflow) {\n <button\n type=\"button\"\n class=\"geo-row-actions__btn\"\n nz-dropdown\n [nzDropdownMenu]=\"overflowMenu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n nz-tooltip=\"Th\u00EAm thao t\u00E1c\"\n aria-label=\"Th\u00EAm thao t\u00E1c\"\n (click)=\"$event.stopPropagation()\"\n >\n <span nz-icon nzType=\"more\" nzTheme=\"outline\"></span>\n </button>\n\n <nz-dropdown-menu #overflowMenu=\"nzDropdownMenu\">\n <div class=\"geo-row-actions__panel\" (click)=\"$event.stopPropagation()\">\n @for (action of overflowActions; track action.key) {\n <button\n type=\"button\"\n class=\"geo-row-actions__panel-item\"\n [class.geo-row-actions__panel-item--danger]=\"action.danger\"\n [attr.aria-label]=\"action.label ?? action.title ?? action.key\"\n (click)=\"onActionClick($event, action)\"\n >\n <span\n class=\"geo-row-actions__panel-icon\"\n nz-icon\n [nzType]=\"action.icon\"\n [nzTheme]=\"action.iconTheme ?? 'outline'\"\n ></span>\n <span class=\"geo-row-actions__panel-label\">\n {{ action.label ?? action.title ?? action.key }}\n </span>\n </button>\n }\n </div>\n </nz-dropdown-menu>\n }\n</div>\n", styles: [":host{display:inline-block}.geo-row-actions{display:inline-flex;align-items:center;justify-content:center;gap:10px}.geo-row-actions__btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--geo-radius);background:transparent;color:var(--geo-color-neutral-500);cursor:pointer;transition:color .15s ease,background-color .15s ease}.geo-row-actions__btn:hover:not(:disabled){color:var(--geo-color-primary-default);background:color-mix(in srgb,var(--geo-color-primary-default) 10%,transparent)}.geo-row-actions__btn:disabled{cursor:not-allowed;opacity:.45}.geo-row-actions__btn--danger:hover:not(:disabled){color:var(--geo-color-error-default);background:#ee003314}.geo-row-actions__btn :deep(.anticon){font-size:16px}.geo-row-actions__panel{min-width:168px;padding:8px;background:var(--geo-color-neutral-white);border-radius:var(--geo-radius);box-shadow:0 6px 16px #00000014;display:flex;flex-direction:column;gap:4px}.geo-row-actions__panel-item{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:8px 12px;border:none;border-radius:var(--geo-radius);background:transparent;color:var(--geo-color-neutral-900);font-size:14px;line-height:20px;cursor:pointer;text-align:left;transition:color .15s ease,background-color .15s ease}.geo-row-actions__panel-item:hover{color:var(--geo-color-primary-default);background:color-mix(in srgb,var(--geo-color-primary-default) 10%,transparent)}.geo-row-actions__panel-item--danger:hover{color:var(--geo-color-error-default);background:#ee003314}.geo-row-actions__panel-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;color:inherit}.geo-row-actions__panel-icon :deep(.anticon){font-size:16px;line-height:1}.geo-row-actions__panel-label{flex:1;line-height:20px}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
40
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoRowActionsComponent, isStandalone: true, selector: "geo-row-actions", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, primaryActionKey: { classPropertyName: "primaryActionKey", publicName: "primaryActionKey", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionClick: "actionClick", edit: "edit", more: "more" }, ngImport: i0, template: "<div class=\"geo-row-actions\">\n @for (action of inlineActions(); track action.key) {\n <button\n type=\"button\"\n class=\"geo-row-actions__btn\"\n [class.geo-row-actions__btn--danger]=\"action.danger\"\n [nz-tooltip]=\"action.title ?? action.label ?? ''\"\n [disabled]=\"action.disabled\"\n [attr.aria-label]=\"action.label ?? action.title ?? action.key\"\n (click)=\"onActionClick($event, action)\"\n >\n <span nz-icon [nzType]=\"action.icon\" [nzTheme]=\"action.iconTheme ?? 'outline'\"></span>\n </button>\n }\n\n @if (hasOverflow()) {\n <button\n type=\"button\"\n class=\"geo-row-actions__btn\"\n nz-dropdown\n [nzDropdownMenu]=\"overflowMenu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n nz-tooltip=\"Th\u00EAm thao t\u00E1c\"\n aria-label=\"Th\u00EAm thao t\u00E1c\"\n (click)=\"$event.stopPropagation()\"\n >\n <span nz-icon nzType=\"more\" nzTheme=\"outline\"></span>\n </button>\n\n <nz-dropdown-menu #overflowMenu=\"nzDropdownMenu\">\n <div class=\"geo-row-actions__panel\" (click)=\"$event.stopPropagation()\">\n @for (action of overflowActions(); track action.key) {\n <button\n type=\"button\"\n class=\"geo-row-actions__panel-item\"\n [class.geo-row-actions__panel-item--danger]=\"action.danger\"\n [attr.aria-label]=\"action.label ?? action.title ?? action.key\"\n (click)=\"onActionClick($event, action)\"\n >\n <span\n class=\"geo-row-actions__panel-icon\"\n nz-icon\n [nzType]=\"action.icon\"\n [nzTheme]=\"action.iconTheme ?? 'outline'\"\n ></span>\n <span class=\"geo-row-actions__panel-label\">\n {{ action.label ?? action.title ?? action.key }}\n </span>\n </button>\n }\n </div>\n </nz-dropdown-menu>\n }\n</div>\n", styles: [":host{display:inline-block}.geo-row-actions{display:inline-flex;align-items:center;justify-content:center;gap:10px}.geo-row-actions__btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--geo-radius);background:transparent;color:var(--geo-color-neutral-500);cursor:pointer;transition:color .15s ease,background-color .15s ease}.geo-row-actions__btn:hover:not(:disabled){color:var(--geo-color-primary-default);background:color-mix(in srgb,var(--geo-color-primary-default) 10%,transparent)}.geo-row-actions__btn:disabled{cursor:not-allowed;opacity:.45}.geo-row-actions__btn--danger:hover:not(:disabled){color:var(--geo-color-error-default);background:#ee003314}.geo-row-actions__btn :deep(.anticon){font-size:16px}.geo-row-actions__panel{min-width:168px;padding:8px;background:var(--geo-color-neutral-white);border-radius:var(--geo-radius);box-shadow:0 6px 16px #00000014;display:flex;flex-direction:column;gap:4px}.geo-row-actions__panel-item{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:8px 12px;border:none;border-radius:var(--geo-radius);background:transparent;color:var(--geo-color-neutral-900);font-size:14px;line-height:20px;cursor:pointer;text-align:left;transition:color .15s ease,background-color .15s ease}.geo-row-actions__panel-item:hover{color:var(--geo-color-primary-default);background:color-mix(in srgb,var(--geo-color-primary-default) 10%,transparent)}.geo-row-actions__panel-item--danger:hover{color:var(--geo-color-error-default);background:#ee003314}.geo-row-actions__panel-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;color:inherit}.geo-row-actions__panel-icon :deep(.anticon){font-size:16px;line-height:1}.geo-row-actions__panel-label{flex:1;line-height:20px}\n"], dependencies: [{ kind: "ngmodule", type: NgZorroAntdModule }, { kind: "directive", type: i1.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i2.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "component", type: i2.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "directive", type: i3.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i4.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
49
41
|
}
|
|
50
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoRowActionsComponent, decorators: [{
|
|
51
43
|
type: Component,
|
|
52
|
-
args: [{ selector: 'geo-row-actions', standalone: true, imports: [
|
|
53
|
-
}]
|
|
54
|
-
|
|
55
|
-
}], primaryActionKey: [{
|
|
56
|
-
type: Input
|
|
57
|
-
}], actionClick: [{
|
|
58
|
-
type: Output
|
|
59
|
-
}], edit: [{
|
|
60
|
-
type: Output
|
|
61
|
-
}], more: [{
|
|
62
|
-
type: Output
|
|
63
|
-
}] } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXJvdy1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby10YWJsZS9nZW8tcm93LWFjdGlvbnMvZ2VvLXJvdy1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby10YWJsZS9nZW8tcm93LWFjdGlvbnMvZ2VvLXJvdy1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsb0JBQW9CLEVBQ3BCLHNCQUFzQixHQUV2QixNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFTakMsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixPQUFPLEdBQTBCLElBQUksQ0FBQztJQUMvQyxtRUFBbUU7SUFDMUQsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0lBRXpCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQ25ELG9EQUFvRDtJQUMxQyxJQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUMxQyxvREFBb0Q7SUFDMUMsSUFBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFMUMsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sc0JBQXNCLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFZLEVBQUUsTUFBb0I7UUFDOUMsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsT0FBTztRQUNULENBQUM7UUFFRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWxDLElBQUksTUFBTSxDQUFDLEdBQUcsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxHQUFHLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQzt3R0E5Q1Usc0JBQXNCOzRGQUF0QixzQkFBc0Isc05DakJuQyw0N0RBdURBLGkzREQxQ1ksWUFBWSw4QkFBRSxpQkFBaUI7OzRGQUk5QixzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDOzhCQUtqQyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsSUFBSTtzQkFBYixNQUFNO2dCQUVHLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdab3Jyb0FudGRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9uZy16b3Jyby9uZy16b3Jyby1hbnRkLm1vZHVsZSc7XG5pbXBvcnQge1xuICBERUZBVUxUX1VJX1JPV19BQ1RJT05TLFxuICBwaWNrSW5saW5lUm93QWN0aW9ucyxcbiAgcGlja092ZXJmbG93Um93QWN0aW9ucyxcbiAgR2VvUm93QWN0aW9uLFxufSBmcm9tICcuL2dlby1yb3ctYWN0aW9ucy50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby1yb3ctYWN0aW9ucycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5nWm9ycm9BbnRkTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlby1yb3ctYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9nZW8tcm93LWFjdGlvbnMuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBHZW9Sb3dBY3Rpb25zQ29tcG9uZW50IHtcbiAgQElucHV0KCkgYWN0aW9uczogR2VvUm93QWN0aW9uW10gfCBudWxsID0gbnVsbDtcbiAgLyoqIEFjdGlvbiDGsHUgdGnDqm4gaGnhu4NuIHRo4buLIGtoaSBjw7MgPiAyIHRoYW8gdMOhYyAobeG6t2MgxJHhu4tuaDogZWRpdCkgKi9cbiAgQElucHV0KCkgcHJpbWFyeUFjdGlvbktleSA9ICdlZGl0JztcblxuICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgLyoqIEBkZXByZWNhdGVkIETDuW5nIGBhY3Rpb25DbGlja2AgduG7m2kga2V5IGBlZGl0YCAqL1xuICBAT3V0cHV0KCkgZWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgLyoqIEBkZXByZWNhdGVkIETDuW5nIGBhY3Rpb25DbGlja2AgduG7m2kga2V5IGBtb3JlYCAqL1xuICBAT3V0cHV0KCkgbW9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBnZXQgcmVzb2x2ZWRBY3Rpb25zKCk6IEdlb1Jvd0FjdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb25zPy5sZW5ndGggPyB0aGlzLmFjdGlvbnMgOiBERUZBVUxUX1VJX1JPV19BQ1RJT05TO1xuICB9XG5cbiAgZ2V0IGVuYWJsZWRBY3Rpb25zKCk6IEdlb1Jvd0FjdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZEFjdGlvbnMuZmlsdGVyKChhY3Rpb24pID0+ICFhY3Rpb24uZGlzYWJsZWQpO1xuICB9XG5cbiAgZ2V0IGlubGluZUFjdGlvbnMoKTogR2VvUm93QWN0aW9uW10ge1xuICAgIHJldHVybiBwaWNrSW5saW5lUm93QWN0aW9ucyh0aGlzLmVuYWJsZWRBY3Rpb25zLCB0aGlzLnByaW1hcnlBY3Rpb25LZXkpO1xuICB9XG5cbiAgZ2V0IG92ZXJmbG93QWN0aW9ucygpOiBHZW9Sb3dBY3Rpb25bXSB7XG4gICAgcmV0dXJuIHBpY2tPdmVyZmxvd1Jvd0FjdGlvbnModGhpcy5lbmFibGVkQWN0aW9ucywgdGhpcy5wcmltYXJ5QWN0aW9uS2V5KTtcbiAgfVxuXG4gIGdldCBoYXNPdmVyZmxvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vdmVyZmxvd0FjdGlvbnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIG9uQWN0aW9uQ2xpY2soZXZlbnQ6IEV2ZW50LCBhY3Rpb246IEdlb1Jvd0FjdGlvbik6IHZvaWQge1xuICAgIGlmIChhY3Rpb24uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoYWN0aW9uLmtleSk7XG5cbiAgICBpZiAoYWN0aW9uLmtleSA9PT0gJ2VkaXQnKSB7XG4gICAgICB0aGlzLmVkaXQuZW1pdCgpO1xuICAgIH1cblxuICAgIGlmIChhY3Rpb24ua2V5ID09PSAnbW9yZScpIHtcbiAgICAgIHRoaXMubW9yZS5lbWl0KCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ2VvLXJvdy1hY3Rpb25zXCI+XG4gIEBmb3IgKGFjdGlvbiBvZiBpbmxpbmVBY3Rpb25zOyB0cmFjayBhY3Rpb24ua2V5KSB7XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImdlby1yb3ctYWN0aW9uc19fYnRuXCJcbiAgICAgIFtjbGFzcy5nZW8tcm93LWFjdGlvbnNfX2J0bi0tZGFuZ2VyXT1cImFjdGlvbi5kYW5nZXJcIlxuICAgICAgW256LXRvb2x0aXBdPVwiYWN0aW9uLnRpdGxlID8/IGFjdGlvbi5sYWJlbCA/PyAnJ1wiXG4gICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLmRpc2FibGVkXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYWN0aW9uLmxhYmVsID8/IGFjdGlvbi50aXRsZSA/PyBhY3Rpb24ua2V5XCJcbiAgICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrKCRldmVudCwgYWN0aW9uKVwiXG4gICAgPlxuICAgICAgPHNwYW4gbnotaWNvbiBbbnpUeXBlXT1cImFjdGlvbi5pY29uXCIgW256VGhlbWVdPVwiYWN0aW9uLmljb25UaGVtZSA/PyAnb3V0bGluZSdcIj48L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIH1cblxuICBAaWYgKGhhc092ZXJmbG93KSB7XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImdlby1yb3ctYWN0aW9uc19fYnRuXCJcbiAgICAgIG56LWRyb3Bkb3duXG4gICAgICBbbnpEcm9wZG93bk1lbnVdPVwib3ZlcmZsb3dNZW51XCJcbiAgICAgIG56VHJpZ2dlcj1cImNsaWNrXCJcbiAgICAgIG56UGxhY2VtZW50PVwiYm90dG9tUmlnaHRcIlxuICAgICAgbnotdG9vbHRpcD1cIlRow6ptIHRoYW8gdMOhY1wiXG4gICAgICBhcmlhLWxhYmVsPVwiVGjDqm0gdGhhbyB0w6FjXCJcbiAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgID5cbiAgICAgIDxzcGFuIG56LWljb24gbnpUeXBlPVwibW9yZVwiIG56VGhlbWU9XCJvdXRsaW5lXCI+PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPG56LWRyb3Bkb3duLW1lbnUgI292ZXJmbG93TWVudT1cIm56RHJvcGRvd25NZW51XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ2VvLXJvdy1hY3Rpb25zX19wYW5lbFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgQGZvciAoYWN0aW9uIG9mIG92ZXJmbG93QWN0aW9uczsgdHJhY2sgYWN0aW9uLmtleSkge1xuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJnZW8tcm93LWFjdGlvbnNfX3BhbmVsLWl0ZW1cIlxuICAgICAgICAgICAgW2NsYXNzLmdlby1yb3ctYWN0aW9uc19fcGFuZWwtaXRlbS0tZGFuZ2VyXT1cImFjdGlvbi5kYW5nZXJcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhY3Rpb24ubGFiZWwgPz8gYWN0aW9uLnRpdGxlID8/IGFjdGlvbi5rZXlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uQ2xpY2soJGV2ZW50LCBhY3Rpb24pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cImdlby1yb3ctYWN0aW9uc19fcGFuZWwtaWNvblwiXG4gICAgICAgICAgICAgIG56LWljb25cbiAgICAgICAgICAgICAgW256VHlwZV09XCJhY3Rpb24uaWNvblwiXG4gICAgICAgICAgICAgIFtuelRoZW1lXT1cImFjdGlvbi5pY29uVGhlbWUgPz8gJ291dGxpbmUnXCJcbiAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdlby1yb3ctYWN0aW9uc19fcGFuZWwtbGFiZWxcIj5cbiAgICAgICAgICAgICAge3sgYWN0aW9uLmxhYmVsID8/IGFjdGlvbi50aXRsZSA/PyBhY3Rpb24ua2V5IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvbnotZHJvcGRvd24tbWVudT5cbiAgfVxuPC9kaXY+XG4iXX0=
|
|
44
|
+
args: [{ selector: 'geo-row-actions', standalone: true, imports: [NgZorroAntdModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"geo-row-actions\">\n @for (action of inlineActions(); track action.key) {\n <button\n type=\"button\"\n class=\"geo-row-actions__btn\"\n [class.geo-row-actions__btn--danger]=\"action.danger\"\n [nz-tooltip]=\"action.title ?? action.label ?? ''\"\n [disabled]=\"action.disabled\"\n [attr.aria-label]=\"action.label ?? action.title ?? action.key\"\n (click)=\"onActionClick($event, action)\"\n >\n <span nz-icon [nzType]=\"action.icon\" [nzTheme]=\"action.iconTheme ?? 'outline'\"></span>\n </button>\n }\n\n @if (hasOverflow()) {\n <button\n type=\"button\"\n class=\"geo-row-actions__btn\"\n nz-dropdown\n [nzDropdownMenu]=\"overflowMenu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n nz-tooltip=\"Th\u00EAm thao t\u00E1c\"\n aria-label=\"Th\u00EAm thao t\u00E1c\"\n (click)=\"$event.stopPropagation()\"\n >\n <span nz-icon nzType=\"more\" nzTheme=\"outline\"></span>\n </button>\n\n <nz-dropdown-menu #overflowMenu=\"nzDropdownMenu\">\n <div class=\"geo-row-actions__panel\" (click)=\"$event.stopPropagation()\">\n @for (action of overflowActions(); track action.key) {\n <button\n type=\"button\"\n class=\"geo-row-actions__panel-item\"\n [class.geo-row-actions__panel-item--danger]=\"action.danger\"\n [attr.aria-label]=\"action.label ?? action.title ?? action.key\"\n (click)=\"onActionClick($event, action)\"\n >\n <span\n class=\"geo-row-actions__panel-icon\"\n nz-icon\n [nzType]=\"action.icon\"\n [nzTheme]=\"action.iconTheme ?? 'outline'\"\n ></span>\n <span class=\"geo-row-actions__panel-label\">\n {{ action.label ?? action.title ?? action.key }}\n </span>\n </button>\n }\n </div>\n </nz-dropdown-menu>\n }\n</div>\n", styles: [":host{display:inline-block}.geo-row-actions{display:inline-flex;align-items:center;justify-content:center;gap:10px}.geo-row-actions__btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--geo-radius);background:transparent;color:var(--geo-color-neutral-500);cursor:pointer;transition:color .15s ease,background-color .15s ease}.geo-row-actions__btn:hover:not(:disabled){color:var(--geo-color-primary-default);background:color-mix(in srgb,var(--geo-color-primary-default) 10%,transparent)}.geo-row-actions__btn:disabled{cursor:not-allowed;opacity:.45}.geo-row-actions__btn--danger:hover:not(:disabled){color:var(--geo-color-error-default);background:#ee003314}.geo-row-actions__btn :deep(.anticon){font-size:16px}.geo-row-actions__panel{min-width:168px;padding:8px;background:var(--geo-color-neutral-white);border-radius:var(--geo-radius);box-shadow:0 6px 16px #00000014;display:flex;flex-direction:column;gap:4px}.geo-row-actions__panel-item{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:8px 12px;border:none;border-radius:var(--geo-radius);background:transparent;color:var(--geo-color-neutral-900);font-size:14px;line-height:20px;cursor:pointer;text-align:left;transition:color .15s ease,background-color .15s ease}.geo-row-actions__panel-item:hover{color:var(--geo-color-primary-default);background:color-mix(in srgb,var(--geo-color-primary-default) 10%,transparent)}.geo-row-actions__panel-item--danger:hover{color:var(--geo-color-error-default);background:#ee003314}.geo-row-actions__panel-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;color:inherit}.geo-row-actions__panel-icon :deep(.anticon){font-size:16px;line-height:1}.geo-row-actions__panel-label{flex:1;line-height:20px}\n"] }]
|
|
45
|
+
}] });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXJvdy1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby10YWJsZS9nZW8tcm93LWFjdGlvbnMvZ2VvLXJvdy1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby10YWJsZS9nZW8tcm93LWFjdGlvbnMvZ2VvLXJvdy1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIsc0JBQXNCLEdBRXZCLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQVVqQyxNQUFNLE9BQU8sc0JBQXNCO0lBQ3hCLE9BQU8sR0FBRyxLQUFLLENBQXdCLElBQUksQ0FBQyxDQUFDO0lBQ3RELG1FQUFtRTtJQUMxRCxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFakMsV0FBVyxHQUFHLE1BQU0sRUFBVSxDQUFDO0lBQ3hDLG9EQUFvRDtJQUMzQyxJQUFJLEdBQUcsTUFBTSxFQUFRLENBQUM7SUFDL0Isb0RBQW9EO0lBQzNDLElBQUksR0FBRyxNQUFNLEVBQVEsQ0FBQztJQUV0QixlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsT0FBTyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO0lBQzVELENBQUMsQ0FBQyxDQUFDO0lBRU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDdEMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQzVELENBQUM7SUFFTyxhQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNyQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FDckUsQ0FBQztJQUVPLGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ3ZDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUN2RSxDQUFDO0lBRU8sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRXpFLGFBQWEsQ0FBQyxLQUFZLEVBQUUsTUFBb0I7UUFDOUMsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsT0FBTztRQUNULENBQUM7UUFFRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWxDLElBQUksTUFBTSxDQUFDLEdBQUcsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxHQUFHLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQzt3R0E3Q1Usc0JBQXNCOzRGQUF0QixzQkFBc0IsbWJDakJuQyxrOERBdURBLGkzREQzQ1ksaUJBQWlCOzs0RkFLaEIsc0JBQXNCO2tCQVJsQyxTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLGlCQUFpQixDQUFDLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdab3Jyb0FudGRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9uZy16b3Jyby9uZy16b3Jyby1hbnRkLm1vZHVsZSc7XG5pbXBvcnQge1xuICBERUZBVUxUX1VJX1JPV19BQ1RJT05TLFxuICBwaWNrSW5saW5lUm93QWN0aW9ucyxcbiAgcGlja092ZXJmbG93Um93QWN0aW9ucyxcbiAgR2VvUm93QWN0aW9uLFxufSBmcm9tICcuL2dlby1yb3ctYWN0aW9ucy50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby1yb3ctYWN0aW9ucycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ1pvcnJvQW50ZE1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tcm93LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ2VvLXJvdy1hY3Rpb25zLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEdlb1Jvd0FjdGlvbnNDb21wb25lbnQge1xuICByZWFkb25seSBhY3Rpb25zID0gaW5wdXQ8R2VvUm93QWN0aW9uW10gfCBudWxsPihudWxsKTtcbiAgLyoqIEFjdGlvbiDGsHUgdGnDqm4gaGnhu4NuIHRo4buLIGtoaSBjw7MgPiAyIHRoYW8gdMOhYyAobeG6t2MgxJHhu4tuaDogZWRpdCkgKi9cbiAgcmVhZG9ubHkgcHJpbWFyeUFjdGlvbktleSA9IGlucHV0KCdlZGl0Jyk7XG5cbiAgcmVhZG9ubHkgYWN0aW9uQ2xpY2sgPSBvdXRwdXQ8c3RyaW5nPigpO1xuICAvKiogQGRlcHJlY2F0ZWQgRMO5bmcgYGFjdGlvbkNsaWNrYCB24bubaSBrZXkgYGVkaXRgICovXG4gIHJlYWRvbmx5IGVkaXQgPSBvdXRwdXQ8dm9pZD4oKTtcbiAgLyoqIEBkZXByZWNhdGVkIETDuW5nIGBhY3Rpb25DbGlja2AgduG7m2kga2V5IGBtb3JlYCAqL1xuICByZWFkb25seSBtb3JlID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgcmVzb2x2ZWRBY3Rpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGFjdGlvbnMgPSB0aGlzLmFjdGlvbnMoKTtcbiAgICByZXR1cm4gYWN0aW9ucz8ubGVuZ3RoID8gYWN0aW9ucyA6IERFRkFVTFRfVUlfUk9XX0FDVElPTlM7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGVuYWJsZWRBY3Rpb25zID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLnJlc29sdmVkQWN0aW9ucygpLmZpbHRlcigoYWN0aW9uKSA9PiAhYWN0aW9uLmRpc2FibGVkKVxuICApO1xuXG4gIHJlYWRvbmx5IGlubGluZUFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PlxuICAgIHBpY2tJbmxpbmVSb3dBY3Rpb25zKHRoaXMuZW5hYmxlZEFjdGlvbnMoKSwgdGhpcy5wcmltYXJ5QWN0aW9uS2V5KCkpXG4gICk7XG5cbiAgcmVhZG9ubHkgb3ZlcmZsb3dBY3Rpb25zID0gY29tcHV0ZWQoKCkgPT5cbiAgICBwaWNrT3ZlcmZsb3dSb3dBY3Rpb25zKHRoaXMuZW5hYmxlZEFjdGlvbnMoKSwgdGhpcy5wcmltYXJ5QWN0aW9uS2V5KCkpXG4gICk7XG5cbiAgcmVhZG9ubHkgaGFzT3ZlcmZsb3cgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm92ZXJmbG93QWN0aW9ucygpLmxlbmd0aCA+IDApO1xuXG4gIG9uQWN0aW9uQ2xpY2soZXZlbnQ6IEV2ZW50LCBhY3Rpb246IEdlb1Jvd0FjdGlvbik6IHZvaWQge1xuICAgIGlmIChhY3Rpb24uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoYWN0aW9uLmtleSk7XG5cbiAgICBpZiAoYWN0aW9uLmtleSA9PT0gJ2VkaXQnKSB7XG4gICAgICB0aGlzLmVkaXQuZW1pdCgpO1xuICAgIH1cblxuICAgIGlmIChhY3Rpb24ua2V5ID09PSAnbW9yZScpIHtcbiAgICAgIHRoaXMubW9yZS5lbWl0KCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ2VvLXJvdy1hY3Rpb25zXCI+XG4gIEBmb3IgKGFjdGlvbiBvZiBpbmxpbmVBY3Rpb25zKCk7IHRyYWNrIGFjdGlvbi5rZXkpIHtcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiZ2VvLXJvdy1hY3Rpb25zX19idG5cIlxuICAgICAgW2NsYXNzLmdlby1yb3ctYWN0aW9uc19fYnRuLS1kYW5nZXJdPVwiYWN0aW9uLmRhbmdlclwiXG4gICAgICBbbnotdG9vbHRpcF09XCJhY3Rpb24udGl0bGUgPz8gYWN0aW9uLmxhYmVsID8/ICcnXCJcbiAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb24uZGlzYWJsZWRcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhY3Rpb24ubGFiZWwgPz8gYWN0aW9uLnRpdGxlID8/IGFjdGlvbi5rZXlcIlxuICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uQ2xpY2soJGV2ZW50LCBhY3Rpb24pXCJcbiAgICA+XG4gICAgICA8c3BhbiBuei1pY29uIFtuelR5cGVdPVwiYWN0aW9uLmljb25cIiBbbnpUaGVtZV09XCJhY3Rpb24uaWNvblRoZW1lID8/ICdvdXRsaW5lJ1wiPjwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgfVxuXG4gIEBpZiAoaGFzT3ZlcmZsb3coKSkge1xuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJnZW8tcm93LWFjdGlvbnNfX2J0blwiXG4gICAgICBuei1kcm9wZG93blxuICAgICAgW256RHJvcGRvd25NZW51XT1cIm92ZXJmbG93TWVudVwiXG4gICAgICBuelRyaWdnZXI9XCJjbGlja1wiXG4gICAgICBuelBsYWNlbWVudD1cImJvdHRvbVJpZ2h0XCJcbiAgICAgIG56LXRvb2x0aXA9XCJUaMOqbSB0aGFvIHTDoWNcIlxuICAgICAgYXJpYS1sYWJlbD1cIlRow6ptIHRoYW8gdMOhY1wiXG4gICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICA+XG4gICAgICA8c3BhbiBuei1pY29uIG56VHlwZT1cIm1vcmVcIiBuelRoZW1lPVwib3V0bGluZVwiPjwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxuei1kcm9wZG93bi1tZW51ICNvdmVyZmxvd01lbnU9XCJuekRyb3Bkb3duTWVudVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImdlby1yb3ctYWN0aW9uc19fcGFuZWxcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgIEBmb3IgKGFjdGlvbiBvZiBvdmVyZmxvd0FjdGlvbnMoKTsgdHJhY2sgYWN0aW9uLmtleSkge1xuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJnZW8tcm93LWFjdGlvbnNfX3BhbmVsLWl0ZW1cIlxuICAgICAgICAgICAgW2NsYXNzLmdlby1yb3ctYWN0aW9uc19fcGFuZWwtaXRlbS0tZGFuZ2VyXT1cImFjdGlvbi5kYW5nZXJcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhY3Rpb24ubGFiZWwgPz8gYWN0aW9uLnRpdGxlID8/IGFjdGlvbi5rZXlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uQ2xpY2soJGV2ZW50LCBhY3Rpb24pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cImdlby1yb3ctYWN0aW9uc19fcGFuZWwtaWNvblwiXG4gICAgICAgICAgICAgIG56LWljb25cbiAgICAgICAgICAgICAgW256VHlwZV09XCJhY3Rpb24uaWNvblwiXG4gICAgICAgICAgICAgIFtuelRoZW1lXT1cImFjdGlvbi5pY29uVGhlbWUgPz8gJ291dGxpbmUnXCJcbiAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdlby1yb3ctYWN0aW9uc19fcGFuZWwtbGFiZWxcIj5cbiAgICAgICAgICAgICAge3sgYWN0aW9uLmxhYmVsID8/IGFjdGlvbi50aXRsZSA/PyBhY3Rpb24ua2V5IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvbnotZHJvcGRvd24tbWVudT5cbiAgfVxuPC9kaXY+XG4iXX0=
|