@geoit/ui 0.0.2 → 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 +140 -17
- package/ai/AGENTS.md +43 -32
- package/ai/README.md +36 -2
- package/ai/catalog.json +5585 -437
- package/ai/components/geo-alert.md +75 -21
- package/ai/components/geo-back-button.md +64 -18
- package/ai/components/geo-breadcrumb.md +71 -12
- package/ai/components/geo-button.md +90 -27
- package/ai/components/geo-chart.md +103 -0
- package/ai/components/geo-checkbox.md +67 -20
- package/ai/components/geo-column-picker.md +91 -18
- package/ai/components/geo-confirm-modal.md +92 -27
- package/ai/components/geo-dashboard.md +91 -0
- package/ai/components/geo-date-picker.md +105 -29
- package/ai/components/geo-date-range-picker.md +101 -28
- 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 +99 -26
- package/ai/components/geo-forgot-password.md +78 -0
- package/ai/components/geo-form-modal.md +111 -44
- package/ai/components/geo-icon.md +70 -16
- package/ai/components/geo-input.md +94 -29
- 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 +62 -16
- package/ai/components/geo-pagination.md +76 -24
- package/ai/components/geo-radio.md +110 -27
- package/ai/components/geo-row-actions.md +87 -19
- package/ai/components/geo-select.md +108 -28
- package/ai/components/geo-slider.md +70 -21
- package/ai/components/geo-stat-card.md +98 -0
- package/ai/components/geo-status-tag.md +67 -15
- package/ai/components/geo-step-form-layout.md +121 -38
- package/ai/components/geo-stepper.md +81 -19
- package/ai/components/geo-table-filter.md +90 -29
- package/ai/components/geo-table-pagination.md +70 -23
- package/ai/components/geo-table-toolbar.md +84 -29
- package/ai/components/geo-table.md +191 -59
- package/ai/components/geo-tabs.md +99 -27
- package/ai/components/geo-textarea.md +84 -23
- package/ai/components/geo-toast.md +138 -27
- package/ai/components/geo-tree.md +94 -22
- package/ai/components/geo-typography.md +70 -19
- package/ai/components/geo-upload.md +109 -39
- package/ai/mockup.html +1194 -0
- package/ai/recipes.md +132 -47
- 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
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
# geo-map
|
|
2
|
+
|
|
3
|
+
> Complete usage reference for **GeoMapComponent** (`@geoit/ui`)
|
|
4
|
+
>
|
|
5
|
+
> Read this file before using the component. Use **only** the Inputs/Outputs listed here.
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
OpenLayers map host with basemap, typed layers, and GeoMapController.
|
|
9
|
+
|
|
10
|
+
## Import
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
import { GeoMapComponent } from '@geoit/ui';
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Add to the consuming standalone component:
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
imports: [GeoMapComponent]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Selector
|
|
23
|
+
`geo-map`
|
|
24
|
+
|
|
25
|
+
## Category
|
|
26
|
+
`map`
|
|
27
|
+
|
|
28
|
+
## When to use
|
|
29
|
+
Any map viewport (portal quy hoạch, tra cứu thửa). Peers: ol, proj4.
|
|
30
|
+
|
|
31
|
+
## Do not use when
|
|
32
|
+
Non-map charting — use dashboard libs.
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Binding
|
|
36
|
+
|
|
37
|
+
Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
|
|
38
|
+
|
|
39
|
+
## Inputs
|
|
40
|
+
|
|
41
|
+
Every supported Input (do not invent others):
|
|
42
|
+
|
|
43
|
+
| Input | Type | Default | Description |
|
|
44
|
+
|-------|------|---------|-------------|
|
|
45
|
+
| `center` | `number[]` | `[...GEO_MAP_DEFAULT_CENTER]` | Map center in view projection (default Web Mercator Đà Lạt area). |
|
|
46
|
+
| `zoom` | — | `GEO_MAP_DEFAULT_ZOOM` | — |
|
|
47
|
+
| `minZoom` | — | `GEO_MAP_DEFAULT_MIN_ZOOM` | — |
|
|
48
|
+
| `maxZoom` | — | `GEO_MAP_DEFAULT_MAX_ZOOM` | — |
|
|
49
|
+
| `viewProjection` | — | `GEO_MAP_DEFAULT_VIEW_PROJECTION` | — |
|
|
50
|
+
| `basemap` | `'osm' \| { type: 'xyz'` | `'osm'` | — |
|
|
51
|
+
| `layers` | `(\| GeoMapOsmLayerConfig \| GeoMapXyzLayerConfig \| GeoMapWmsLayerConfig \| GeoMapWmtsLayerConfig \| G…` | `[]` | — |
|
|
52
|
+
| `height` | — | `GEO_MAP_DEFAULT_HEIGHT` | — |
|
|
53
|
+
| `registerProjections` | `boolean` | `true` | When true, custom projections listed in `projections` are registered before map create. Built-in EPSG:4326 / EPSG:3857 never need registration. VN-2000 definitions must be supplied via `projections` — never invented. |
|
|
54
|
+
| `projections` | `ProjectionConfig[]` | `[]` | Custom CRS definitions (e.g. local VN-2000 from environment). |
|
|
55
|
+
| `showMousePosition` | `boolean` | `false` | — |
|
|
56
|
+
| `mousePositionProjection` | `string` | `'EPSG:4326'` | — |
|
|
57
|
+
| `showZoomControl` | `boolean` | `true` | When false, hide built-in OL zoom control (prefer `geo-map-zoom`). |
|
|
58
|
+
|
|
59
|
+
## Outputs
|
|
60
|
+
|
|
61
|
+
| Output | Payload | Description |
|
|
62
|
+
|--------|---------|-------------|
|
|
63
|
+
| `mapReady` | `OutputEmitterRef<GeoMapController>` | — |
|
|
64
|
+
| `mapClick` | `OutputEmitterRef<GeoMapClickEvent>` | — |
|
|
65
|
+
| `viewChange` | `OutputEmitterRef<GeoMapViewChangeEvent>` | — |
|
|
66
|
+
| `initError` | `OutputEmitterRef<string>` | — |
|
|
67
|
+
|
|
68
|
+
## Related types
|
|
69
|
+
|
|
70
|
+
From `figma/geo-map/geo-map.types.ts`:
|
|
71
|
+
|
|
72
|
+
```ts
|
|
73
|
+
export interface ProjectionConfig {
|
|
74
|
+
code: string;
|
|
75
|
+
/** Full proj4 definition string. Must be supplied by env/API — never invent VN-2000 params. */
|
|
76
|
+
definition: string;
|
|
77
|
+
extent?: [number, number, number, number];
|
|
78
|
+
units?: string;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export interface GeoMapLayerBase {
|
|
82
|
+
id: string;
|
|
83
|
+
title: string;
|
|
84
|
+
visible?: boolean;
|
|
85
|
+
/** 0–1 */
|
|
86
|
+
opacity?: number;
|
|
87
|
+
zIndex?: number;
|
|
88
|
+
minZoom?: number;
|
|
89
|
+
maxZoom?: number;
|
|
90
|
+
/** Treat as basemap (only one active at a time). */
|
|
91
|
+
basemap?: boolean;
|
|
92
|
+
/** Group key for layer panel sections (`base-map`, `qhsdd`, …). */
|
|
93
|
+
group?: string;
|
|
94
|
+
/** Display title for the group accordion (falls back to group key). */
|
|
95
|
+
groupLabel?: string;
|
|
96
|
+
/** Selection UX within the group: radio (`single`) or checkbox (`multi`). */
|
|
97
|
+
groupSelection?: 'single' | 'multi';
|
|
98
|
+
/** Eligible for identify / GetFeatureInfo. */
|
|
99
|
+
queryable?: boolean;
|
|
100
|
+
legendUrl?: string;
|
|
101
|
+
projection?: string;
|
|
102
|
+
metadata?: Record<string, unknown>;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export interface GeoMapOsmLayerConfig extends GeoMapLayerBase {
|
|
106
|
+
type: 'osm';
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export interface GeoMapXyzLayerConfig extends GeoMapLayerBase {
|
|
110
|
+
type: 'xyz';
|
|
111
|
+
url: string;
|
|
112
|
+
attributions?: string | string[];
|
|
113
|
+
maxZoom?: number;
|
|
114
|
+
crossOrigin?: string | null;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export interface GeoMapWmsLayerConfig extends GeoMapLayerBase {
|
|
118
|
+
type: 'wms';
|
|
119
|
+
url: string;
|
|
120
|
+
params: Record<string, string | number | boolean>;
|
|
121
|
+
serverType?: 'geoserver' | 'mapserver' | 'qgis' | 'carmentaserver';
|
|
122
|
+
crossOrigin?: string | null;
|
|
123
|
+
/** Optional WMS layer name when not only in `params.LAYERS`. */
|
|
124
|
+
layerName?: string;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export interface GeoMapWmtsLayerConfig extends GeoMapLayerBase {
|
|
128
|
+
type: 'wmts';
|
|
129
|
+
url: string;
|
|
130
|
+
layer: string;
|
|
131
|
+
matrixSet: string;
|
|
132
|
+
format?: string;
|
|
133
|
+
style?: string;
|
|
134
|
+
projection?: string;
|
|
135
|
+
crossOrigin?: string | null;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export interface GeoMapGeoJsonLayerConfig extends GeoMapLayerBase {
|
|
139
|
+
type: 'geojson';
|
|
140
|
+
/** Inline GeoJSON object or URL string. */
|
|
141
|
+
data: object | string;
|
|
142
|
+
dataProjection?: string;
|
|
143
|
+
featureProjection?: string;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export interface GeoMapVectorLayerConfig extends GeoMapLayerBase {
|
|
147
|
+
type: 'vector';
|
|
148
|
+
/** Pre-built OL features (app-owned). */
|
|
149
|
+
features?: Feature<Geometry>[];
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export interface GeoMapBasemapOption {
|
|
153
|
+
id: string;
|
|
154
|
+
label: string;
|
|
155
|
+
basemap: GeoMapBasemap;
|
|
156
|
+
previewUrl?: string;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
export interface GeoMapClickEvent {
|
|
160
|
+
/** Coordinate in view projection. */
|
|
161
|
+
coordinate: number[];
|
|
162
|
+
/** Lon/lat (EPSG:4326) as [longitude, latitude]. */
|
|
163
|
+
lonLat: [number, number];
|
|
164
|
+
pixel: [number, number];
|
|
165
|
+
originalEvent: UIEvent;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
export interface GeoMapViewChangeEvent {
|
|
169
|
+
center: number[];
|
|
170
|
+
zoom: number;
|
|
171
|
+
resolution: number;
|
|
172
|
+
rotation: number;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export interface GeoMapLayerVisibilityChange {
|
|
176
|
+
layerId: string;
|
|
177
|
+
visible: boolean;
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Examples
|
|
182
|
+
|
|
183
|
+
### Example
|
|
184
|
+
|
|
185
|
+
```html
|
|
186
|
+
<geo-map
|
|
187
|
+
[center]="center"
|
|
188
|
+
[zoom]="12"
|
|
189
|
+
[layers]="layers"
|
|
190
|
+
height="480px"
|
|
191
|
+
(mapReady)="ctrl = $event"
|
|
192
|
+
></geo-map>
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
## Package path
|
|
196
|
+
`node_modules/@geoit/ui/ai/components/geo-map.md`
|
|
197
|
+
|
|
198
|
+
## Source
|
|
199
|
+
`projects/geo-ui/src/lib/figma/geo-map/geo-map.component.ts`
|
|
200
|
+
|
|
201
|
+
## Rules for AI / consumers
|
|
202
|
+
- Prefer this component over raw ng-zorro / HTML for the same UI role.
|
|
203
|
+
- Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
|
|
204
|
+
- Match props exactly to the Inputs table; do not invent unsupported inputs.
|
|
205
|
+
- Copy examples and adapt labels/bindings only.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# geo-overlap-result
|
|
2
|
+
|
|
3
|
+
> Complete usage reference for **GeoOverlapResultComponent** (`@geoit/ui`)
|
|
4
|
+
>
|
|
5
|
+
> Read this file before using the component. Use **only** the Inputs/Outputs listed here.
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
GeoOverlapResultComponent
|
|
9
|
+
|
|
10
|
+
## Import
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
import { GeoOverlapResultComponent } from '@geoit/ui';
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Add to the consuming standalone component:
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
imports: [GeoOverlapResultComponent]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Selector
|
|
23
|
+
`geo-overlap-result`
|
|
24
|
+
|
|
25
|
+
## Category
|
|
26
|
+
`other`
|
|
27
|
+
|
|
28
|
+
## When to use
|
|
29
|
+
—
|
|
30
|
+
|
|
31
|
+
## Do not use when
|
|
32
|
+
—
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Binding
|
|
36
|
+
|
|
37
|
+
Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
|
|
38
|
+
|
|
39
|
+
## Inputs
|
|
40
|
+
|
|
41
|
+
Every supported Input (do not invent others):
|
|
42
|
+
|
|
43
|
+
| Input | Type | Default | Description |
|
|
44
|
+
|-------|------|---------|-------------|
|
|
45
|
+
| `title` | `string` | `'Kết quả phân tích chồng lấn'` | — |
|
|
46
|
+
| `rows` | `GeoOverlapResultRow[]` | `[]` | — |
|
|
47
|
+
| `areaUnit` | `string` | `'m²'` | — |
|
|
48
|
+
| `emptyText` | `string` | `'Chưa có kết quả phân tích.'` | — |
|
|
49
|
+
|
|
50
|
+
## Outputs
|
|
51
|
+
|
|
52
|
+
| Output | Payload | Description |
|
|
53
|
+
|--------|---------|-------------|
|
|
54
|
+
| `rowClick` | `OutputEmitterRef<GeoOverlapResultRow>` | — |
|
|
55
|
+
|
|
56
|
+
## Related types
|
|
57
|
+
|
|
58
|
+
From `figma/geo-overlap-result/geo-overlap-result.types.ts`:
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
export interface GeoOverlapResultRow {
|
|
62
|
+
id: string;
|
|
63
|
+
planningType: string;
|
|
64
|
+
intersectionArea: number | string;
|
|
65
|
+
percent: number | string;
|
|
66
|
+
color?: string;
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Examples
|
|
71
|
+
|
|
72
|
+
### Example
|
|
73
|
+
|
|
74
|
+
```html
|
|
75
|
+
<geo-overlap-result></geo-overlap-result>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Package path
|
|
79
|
+
`node_modules/@geoit/ui/ai/components/geo-overlap-result.md`
|
|
80
|
+
|
|
81
|
+
## Source
|
|
82
|
+
`projects/geo-ui/src/lib/figma/geo-overlap-result/geo-overlap-result.component.ts`
|
|
83
|
+
|
|
84
|
+
## Rules for AI / consumers
|
|
85
|
+
- Prefer this component over raw ng-zorro / HTML for the same UI role.
|
|
86
|
+
- Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
|
|
87
|
+
- Match props exactly to the Inputs table; do not invent unsupported inputs.
|
|
88
|
+
- Copy examples and adapt labels/bindings only.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# geo-page-header
|
|
2
|
+
|
|
3
|
+
> Complete usage reference for **GeoPageHeaderComponent** (`@geoit/ui`)
|
|
4
|
+
>
|
|
5
|
+
> Read this file before using the component. Use **only** the Inputs/Outputs listed here.
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
GeoPageHeaderComponent
|
|
9
|
+
|
|
10
|
+
## Import
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
import { GeoPageHeaderComponent } from '@geoit/ui';
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Add to the consuming standalone component:
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
imports: [GeoPageHeaderComponent]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Selector
|
|
23
|
+
`geo-page-header`
|
|
24
|
+
|
|
25
|
+
## Category
|
|
26
|
+
`other`
|
|
27
|
+
|
|
28
|
+
## When to use
|
|
29
|
+
—
|
|
30
|
+
|
|
31
|
+
## Do not use when
|
|
32
|
+
—
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Binding
|
|
36
|
+
|
|
37
|
+
Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
|
|
38
|
+
|
|
39
|
+
## Inputs
|
|
40
|
+
|
|
41
|
+
Every supported Input (do not invent others):
|
|
42
|
+
|
|
43
|
+
| Input | Type | Default | Description |
|
|
44
|
+
|-------|------|---------|-------------|
|
|
45
|
+
| `title` | `string` | `''` | — |
|
|
46
|
+
| `breadcrumb` | `GeoBreadcrumbItem[]` | `[]` | — |
|
|
47
|
+
| `uppercase` | `boolean` | `true` | — |
|
|
48
|
+
|
|
49
|
+
## Outputs
|
|
50
|
+
|
|
51
|
+
_None_
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
## Examples
|
|
55
|
+
|
|
56
|
+
### Example
|
|
57
|
+
|
|
58
|
+
```html
|
|
59
|
+
<geo-page-header></geo-page-header>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Package path
|
|
63
|
+
`node_modules/@geoit/ui/ai/components/geo-page-header.md`
|
|
64
|
+
|
|
65
|
+
## Source
|
|
66
|
+
`projects/geo-ui/src/lib/figma/geo-page-header/geo-page-header.component.ts`
|
|
67
|
+
|
|
68
|
+
## Rules for AI / consumers
|
|
69
|
+
- Prefer this component over raw ng-zorro / HTML for the same UI role.
|
|
70
|
+
- Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
|
|
71
|
+
- Match props exactly to the Inputs table; do not invent unsupported inputs.
|
|
72
|
+
- Copy examples and adapt labels/bindings only.
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
# geo-page-title
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Complete usage reference for **GeoPageTitleComponent** (`@geoit/ui`)
|
|
4
|
+
>
|
|
5
|
+
> Read this file before using the component. Use **only** the Inputs/Outputs listed here.
|
|
4
6
|
|
|
5
7
|
## Summary
|
|
6
8
|
Page title (uppercase) with short primary accent underline; uses geo-typography.
|
|
7
9
|
|
|
8
10
|
## Import
|
|
11
|
+
|
|
9
12
|
```ts
|
|
10
13
|
import { GeoPageTitleComponent } from '@geoit/ui';
|
|
11
14
|
```
|
|
12
15
|
|
|
13
|
-
|
|
16
|
+
Add to the consuming standalone component:
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
imports: [GeoPageTitleComponent]
|
|
20
|
+
```
|
|
14
21
|
|
|
15
22
|
## Selector
|
|
16
23
|
`geo-page-title`
|
|
@@ -24,30 +31,69 @@ Top of detail/list pages, often under breadcrumb.
|
|
|
24
31
|
## Do not use when
|
|
25
32
|
Modal titles — geo-form-modal has its own title.
|
|
26
33
|
|
|
34
|
+
## How to use
|
|
35
|
+
|
|
36
|
+
Tiêu đề trang chữ hoa + gạch nhấn primary. title + level 1–4; accentWidth/accentHeight tùy chỉnh gạch.
|
|
37
|
+
|
|
38
|
+
## Binding
|
|
39
|
+
|
|
40
|
+
Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
|
|
41
|
+
|
|
27
42
|
## Inputs
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
|
32
|
-
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
43
|
+
|
|
44
|
+
Every supported Input (do not invent others):
|
|
45
|
+
|
|
46
|
+
| Input | Type | Default | Description |
|
|
47
|
+
|-------|------|---------|-------------|
|
|
48
|
+
| `title` | `string` | `''` | Nội dung tiêu đề. |
|
|
49
|
+
| `uppercase` | `boolean` | `true` | Tự chuyển uppercase. Default `true`. |
|
|
50
|
+
| `accentWidth` | `number \| string` | `56` | Chiều rộng gạch chân (px hoặc CSS size). Default `56px`. |
|
|
51
|
+
| `accentHeight` | `number \| string` | `4` | Độ dày gạch chân. Default `4px`. |
|
|
52
|
+
| `level` | `1 \| 2 \| 3 \| 4` | `3` | Heading level → geo-typography variant. |
|
|
35
53
|
|
|
36
54
|
## Outputs
|
|
55
|
+
|
|
37
56
|
_None_
|
|
38
57
|
|
|
39
|
-
|
|
58
|
+
|
|
59
|
+
## Examples
|
|
60
|
+
|
|
61
|
+
### Basic
|
|
62
|
+
|
|
40
63
|
```html
|
|
41
64
|
<geo-page-title title="Thông tin chi tiết hồ sơ" [level]="3"></geo-page-title>
|
|
42
65
|
```
|
|
43
66
|
|
|
67
|
+
### Full options
|
|
68
|
+
|
|
69
|
+
```html
|
|
70
|
+
<geo-page-title
|
|
71
|
+
title="Danh sách hồ sơ khai thác"
|
|
72
|
+
[uppercase]="true"
|
|
73
|
+
[level]="3"
|
|
74
|
+
[accentWidth]="56"
|
|
75
|
+
[accentHeight]="4"
|
|
76
|
+
></geo-page-title>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Tips
|
|
80
|
+
|
|
81
|
+
- Thường dưới geo-breadcrumb.
|
|
82
|
+
- Tiêu đề modal → geo-form-modal title, không dùng page-title.
|
|
83
|
+
- uppercase mặc định true.
|
|
84
|
+
## Related components
|
|
85
|
+
|
|
86
|
+
- [`geo-breadcrumb`](./geo-breadcrumb.md)
|
|
87
|
+
- [`geo-typography`](./geo-typography.md)
|
|
88
|
+
- [`geo-back-button`](./geo-back-button.md)
|
|
89
|
+
## Package path
|
|
90
|
+
`node_modules/@geoit/ui/ai/components/geo-page-title.md`
|
|
91
|
+
|
|
44
92
|
## Source
|
|
45
93
|
`projects/geo-ui/src/lib/figma/geo-page-title/geo-page-title.component.ts`
|
|
46
94
|
|
|
47
|
-
##
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
## Rules for AI
|
|
51
|
-
- Prefer this component over raw ng-zorro / HTML equivalents for the same UI role.
|
|
95
|
+
## Rules for AI / consumers
|
|
96
|
+
- Prefer this component over raw ng-zorro / HTML for the same UI role.
|
|
52
97
|
- Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
|
|
53
|
-
- Match props to
|
|
98
|
+
- Match props exactly to the Inputs table; do not invent unsupported inputs.
|
|
99
|
+
- Copy examples and adapt labels/bindings only.
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
# geo-pagination
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Complete usage reference for **GeoPaginationComponent** (`@geoit/ui`)
|
|
4
|
+
>
|
|
5
|
+
> Read this file before using the component. Use **only** the Inputs/Outputs listed here.
|
|
4
6
|
|
|
5
7
|
## Summary
|
|
6
8
|
Standalone pagination control.
|
|
7
9
|
|
|
8
10
|
## Import
|
|
11
|
+
|
|
9
12
|
```ts
|
|
10
13
|
import { GeoPaginationComponent } from '@geoit/ui';
|
|
11
14
|
```
|
|
12
15
|
|
|
13
|
-
|
|
16
|
+
Add to the consuming standalone component:
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
imports: [GeoPaginationComponent]
|
|
20
|
+
```
|
|
14
21
|
|
|
15
22
|
## Selector
|
|
16
23
|
`geo-pagination`
|
|
@@ -24,36 +31,81 @@ Paging outside geo-table.
|
|
|
24
31
|
## Do not use when
|
|
25
32
|
Inside tables prefer geo-table / geo-table-pagination.
|
|
26
33
|
|
|
34
|
+
## How to use
|
|
35
|
+
|
|
36
|
+
Phân trang độc lập ngoài bảng. [pageIndex]/[pageSize]/[total]; (pageIndexChange)/(pageSizeChange).
|
|
37
|
+
|
|
38
|
+
## Binding
|
|
39
|
+
|
|
40
|
+
Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
|
|
41
|
+
|
|
27
42
|
## Inputs
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
|
32
|
-
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
35
|
-
| `
|
|
36
|
-
| `
|
|
37
|
-
| `
|
|
43
|
+
|
|
44
|
+
Every supported Input (do not invent others):
|
|
45
|
+
|
|
46
|
+
| Input | Type | Default | Description |
|
|
47
|
+
|-------|------|---------|-------------|
|
|
48
|
+
| `pageIndex` | `number` | `1` | Two-way `model()` (supports banana binding). |
|
|
49
|
+
| `pageSize` | `number` | `10` | Two-way `model()` (supports banana binding). |
|
|
50
|
+
| `total` | `number` | `0` | — |
|
|
51
|
+
| `size` | `'default' \| 'small'` | `'default'` | — |
|
|
52
|
+
| `simple` | `boolean` | `false` | — |
|
|
53
|
+
| `hideOnSinglePage` | `boolean` | `false` | — |
|
|
54
|
+
| `showSizeChanger` | `boolean` | `false` | — |
|
|
55
|
+
| `pageSizeOptions` | `number[]` | `[5, 10, 20, 50]` | — |
|
|
38
56
|
|
|
39
57
|
## Outputs
|
|
40
|
-
| Output | Notes |
|
|
41
|
-
|--------|-------|
|
|
42
|
-
| `pageIndexChange` | EventEmitter |
|
|
43
|
-
| `pageSizeChange` | EventEmitter |
|
|
44
58
|
|
|
45
|
-
|
|
59
|
+
_None_
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## Examples
|
|
63
|
+
|
|
64
|
+
### Basic
|
|
65
|
+
|
|
46
66
|
```html
|
|
47
|
-
<geo-pagination
|
|
67
|
+
<geo-pagination
|
|
68
|
+
[pageIndex]="1"
|
|
69
|
+
[pageSize]="10"
|
|
70
|
+
[total]="100"
|
|
71
|
+
(pageIndexChange)="onPage($event)"
|
|
72
|
+
></geo-pagination>
|
|
48
73
|
```
|
|
49
74
|
|
|
75
|
+
### Full options
|
|
76
|
+
|
|
77
|
+
```html
|
|
78
|
+
<geo-pagination
|
|
79
|
+
[pageIndex]="pageIndex"
|
|
80
|
+
[pageSize]="pageSize"
|
|
81
|
+
[total]="total"
|
|
82
|
+
size="default"
|
|
83
|
+
[simple]="false"
|
|
84
|
+
[hideOnSinglePage]="false"
|
|
85
|
+
[showSizeChanger]="true"
|
|
86
|
+
[pageSizeOptions]="[5, 10, 20, 50]"
|
|
87
|
+
(pageIndexChange)="pageIndex = $event; load()"
|
|
88
|
+
(pageSizeChange)="pageSize = $event; load()"
|
|
89
|
+
></geo-pagination>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Tips
|
|
93
|
+
|
|
94
|
+
- Trong geo-table ưu tiên phân trang tích hợp / geo-table-pagination.
|
|
95
|
+
- showSizeChanger + pageSizeOptions khi cần đổi số dòng.
|
|
96
|
+
- hideOnSinglePage khi chỉ 1 trang.
|
|
97
|
+
## Related components
|
|
98
|
+
|
|
99
|
+
- [`geo-table`](./geo-table.md)
|
|
100
|
+
- [`geo-table-pagination`](./geo-table-pagination.md)
|
|
101
|
+
## Package path
|
|
102
|
+
`node_modules/@geoit/ui/ai/components/geo-pagination.md`
|
|
103
|
+
|
|
50
104
|
## Source
|
|
51
105
|
`projects/geo-ui/src/lib/figma/geo-pagination/geo-pagination.component.ts`
|
|
52
106
|
|
|
53
|
-
##
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
## Rules for AI
|
|
57
|
-
- Prefer this component over raw ng-zorro / HTML equivalents for the same UI role.
|
|
107
|
+
## Rules for AI / consumers
|
|
108
|
+
- Prefer this component over raw ng-zorro / HTML for the same UI role.
|
|
58
109
|
- Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
|
|
59
|
-
- Match props to
|
|
110
|
+
- Match props exactly to the Inputs table; do not invent unsupported inputs.
|
|
111
|
+
- Copy examples and adapt labels/bindings only.
|