@atscript/vue-table 0.1.138 → 0.1.140
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/dist/as-action-form-dialog.cjs +1 -1
- package/dist/as-action-form-dialog.mjs +1 -1
- package/dist/{as-action-menu-content-D8f60mY-.cjs → as-action-menu-content-B5RFt7Hc.cjs} +1 -1
- package/dist/{as-action-menu-content-CVlExEpl.mjs → as-action-menu-content-KNJr1EkO.mjs} +1 -1
- package/dist/{as-cell-array-BWHkJX3I.mjs → as-cell-array-Bgc4GYZf.mjs} +1 -1
- package/dist/{as-cell-array-D-8Pqlgo.cjs → as-cell-array-CCZ0Ajj9.cjs} +1 -1
- package/dist/as-cell-array.cjs +1 -1
- package/dist/as-cell-array.d.mts +1 -1
- package/dist/as-cell-array.mjs +1 -1
- package/dist/{as-cell-date-mGlnDeLP.mjs → as-cell-date-B9mu0OOD.mjs} +1 -1
- package/dist/{as-cell-date-DviMJEqs.cjs → as-cell-date-RU5JPJhI.cjs} +1 -1
- package/dist/as-cell-date.cjs +1 -1
- package/dist/as-cell-date.d.mts +1 -1
- package/dist/as-cell-date.mjs +1 -1
- package/dist/{as-cell-json-2I081xnO.mjs → as-cell-json-ByEGYRST.mjs} +1 -1
- package/dist/{as-cell-json-CaVB6e7V.cjs → as-cell-json-w5YJxNuF.cjs} +1 -1
- package/dist/as-cell-json.cjs +1 -1
- package/dist/as-cell-json.d.mts +1 -1
- package/dist/as-cell-json.mjs +1 -1
- package/dist/{as-cell-number-CP2AZI9g.mjs → as-cell-number-CNDT6gfw.mjs} +1 -1
- package/dist/{as-cell-number-BnYbxOiG.cjs → as-cell-number-DGJCTXDf.cjs} +1 -1
- package/dist/as-cell-number.cjs +1 -1
- package/dist/as-cell-number.d.mts +1 -1
- package/dist/as-cell-number.mjs +1 -1
- package/dist/{as-cell-union-NHpDCXty.mjs → as-cell-union-DMnoa7RM.mjs} +2 -2
- package/dist/{as-cell-union-BjMP91PS.cjs → as-cell-union-LOGvhPeK.cjs} +2 -2
- package/dist/as-cell-union.cjs +1 -1
- package/dist/as-cell-union.d.mts +1 -1
- package/dist/as-cell-union.mjs +1 -1
- package/dist/{as-column-menu-BMTS3DO2.mjs → as-column-menu-CBtUfYEE.mjs} +2 -2
- package/dist/{as-column-menu-D_8NxujZ.cjs → as-column-menu-ChB7hzmr.cjs} +1 -1
- package/dist/as-column-menu.cjs +1 -1
- package/dist/as-column-menu.d.cts +1 -1
- package/dist/as-column-menu.d.mts +1 -1
- package/dist/as-column-menu.mjs +1 -1
- package/dist/{as-column-menu.vue-SRkxrvo_.d.mts → as-column-menu.vue-DKQNY5gh.d.cts} +2 -2
- package/dist/{as-column-menu.vue-CgvDp7JK.d.cts → as-column-menu.vue-hOmuVcKf.d.mts} +2 -2
- package/dist/{as-config-dialog-BrVhIV_e.cjs → as-config-dialog-B1KJJSHE.cjs} +4 -4
- package/dist/{as-config-dialog-DHdpmRo9.mjs → as-config-dialog-JXNkCCrh.mjs} +5 -5
- package/dist/as-config-dialog.cjs +1 -1
- package/dist/as-config-dialog.d.mts +1 -1
- package/dist/as-config-dialog.mjs +1 -1
- package/dist/{as-confirm-dialog-BG5vlbvV.mjs → as-confirm-dialog-CC6U8nLZ.mjs} +1 -1
- package/dist/{as-confirm-dialog-iytk-urB.cjs → as-confirm-dialog-a736BLOm.cjs} +1 -1
- package/dist/as-confirm-dialog.cjs +1 -1
- package/dist/as-confirm-dialog.d.mts +1 -1
- package/dist/as-confirm-dialog.mjs +1 -1
- package/dist/{as-filter-dialog-Dis7tkN_.mjs → as-filter-dialog-C3wltqrN.mjs} +16 -16
- package/dist/{as-filter-dialog-CW8-zoag.cjs → as-filter-dialog-IflKkOd8.cjs} +15 -15
- package/dist/as-filter-dialog.cjs +1 -1
- package/dist/as-filter-dialog.d.mts +1 -1
- package/dist/as-filter-dialog.mjs +1 -1
- package/dist/{as-filter-field-BKoxTudl.mjs → as-filter-field-D_6DlFcp.mjs} +5 -6
- package/dist/{as-filter-field-bVIXoH3j.cjs → as-filter-field-pygBjA-K.cjs} +4 -5
- package/dist/as-filter-field.cjs +1 -1
- package/dist/as-filter-field.d.mts +1 -1
- package/dist/as-filter-field.mjs +1 -1
- package/dist/as-filter-input.cjs +1 -1
- package/dist/as-filter-input.d.mts +1 -1
- package/dist/as-filter-input.mjs +1 -1
- package/dist/{as-filters-CxVy00LQ.mjs → as-filters-BDzQ2SM_.mjs} +19 -4
- package/dist/{as-filters-Dx8WkGiA.cjs → as-filters-BIoEsPD0.cjs} +19 -4
- package/dist/as-filters.cjs +1 -1
- package/dist/as-filters.d.cts +1 -1
- package/dist/as-filters.d.mts +1 -1
- package/dist/as-filters.mjs +1 -1
- package/dist/{as-filters.vue-DcxDnWAU.d.cts → as-filters.vue-BSgUEh4D.d.mts} +23 -1
- package/dist/{as-filters.vue-BG_ysCkC.d.mts → as-filters.vue-DMXZhQW3.d.cts} +23 -1
- package/dist/{as-preset-dialog-D8o2ChtM.cjs → as-preset-dialog-BgZB8xyk.cjs} +2 -2
- package/dist/{as-preset-dialog-C0f_6VxJ.mjs → as-preset-dialog-D_w4cxKS.mjs} +2 -2
- package/dist/as-preset-dialog.cjs +1 -1
- package/dist/as-preset-dialog.d.mts +1 -1
- package/dist/as-preset-dialog.mjs +1 -1
- package/dist/{as-preset-picker-CDItDinB.mjs → as-preset-picker-B8d6l3U1.mjs} +12 -7
- package/dist/{as-preset-picker-DonMQ8Ia.cjs → as-preset-picker-XnGrqHyF.cjs} +12 -7
- package/dist/as-preset-picker.cjs +1 -1
- package/dist/as-preset-picker.d.mts +1 -1
- package/dist/as-preset-picker.mjs +1 -1
- package/dist/as-residual-filter-C65QsWxr.mjs +49 -0
- package/dist/as-residual-filter-ihvXCtpH.cjs +54 -0
- package/dist/as-residual-filter.cjs +2 -0
- package/dist/as-residual-filter.d.cts +2 -0
- package/dist/as-residual-filter.d.mts +2 -0
- package/dist/as-residual-filter.mjs +2 -0
- package/dist/as-residual-filter.vue-Dfw1l2wS.d.cts +21 -0
- package/dist/as-residual-filter.vue-N89YqlCz.d.mts +21 -0
- package/dist/{as-row-actions-CAiCfw8d.cjs → as-row-actions-C6N0lcZb.cjs} +2 -2
- package/dist/{as-row-actions-B8YANdb4.mjs → as-row-actions-xQ9M1PrO.mjs} +2 -2
- package/dist/as-row-actions.cjs +1 -1
- package/dist/as-row-actions.d.cts +1 -1
- package/dist/as-row-actions.d.mts +1 -1
- package/dist/as-row-actions.mjs +1 -1
- package/dist/{as-row-actions.vue-BCgHsU18.d.mts → as-row-actions.vue-B3XAxDAL.d.cts} +1 -1
- package/dist/{as-row-actions.vue-C49h8PpE.d.cts → as-row-actions.vue-C8vslg0n.d.mts} +1 -1
- package/dist/{as-table-BAoJ60tx.mjs → as-table-B49x0hDM.mjs} +3 -3
- package/dist/{as-table-actions-8yf2QIER.cjs → as-table-actions-B-jY3s6f.cjs} +2 -2
- package/dist/{as-table-actions-z5xUWtvK.mjs → as-table-actions-B2Hy3h7v.mjs} +2 -2
- package/dist/as-table-actions.cjs +1 -1
- package/dist/as-table-actions.d.cts +1 -1
- package/dist/as-table-actions.d.mts +1 -1
- package/dist/as-table-actions.mjs +1 -1
- package/dist/{as-table-actions.vue-BTGQnFH_.d.mts → as-table-actions.vue-BgTJuXEH.d.cts} +2 -2
- package/dist/{as-table-actions.vue-oxyikRAt.d.cts → as-table-actions.vue-BnLH2NqO.d.mts} +2 -2
- package/dist/{as-table-base-DA5T7x_K.mjs → as-table-base-DErJfFYz.mjs} +2 -2
- package/dist/{as-table-base-wPJuru7P.cjs → as-table-base-ceywcVRq.cjs} +2 -2
- package/dist/{as-table-cell-value-BAi5yadc.cjs → as-table-cell-value-COyZnwUj.cjs} +1 -1
- package/dist/{as-table-cell-value-BVcfhhCb.mjs → as-table-cell-value-DoH8Mieo.mjs} +1 -1
- package/dist/as-table-cell-value.cjs +1 -1
- package/dist/as-table-cell-value.d.cts +1 -1
- package/dist/as-table-cell-value.d.mts +1 -1
- package/dist/as-table-cell-value.mjs +1 -1
- package/dist/{as-table-header-cell-Cl8waY_g.mjs → as-table-header-cell-Ccf06b2_.mjs} +2 -2
- package/dist/{as-table-header-cell-CiRLNVJz.cjs → as-table-header-cell-ZCk3XD_d.cjs} +2 -2
- package/dist/as-table-header-cell.cjs +1 -1
- package/dist/as-table-header-cell.d.cts +1 -1
- package/dist/as-table-header-cell.d.mts +1 -1
- package/dist/as-table-header-cell.mjs +1 -1
- package/dist/{as-table-header-cell.vue-BjgxfKhi.d.cts → as-table-header-cell.vue-C7jNmdDh.d.mts} +2 -2
- package/dist/{as-table-header-cell.vue-zGeuzm3w.d.mts → as-table-header-cell.vue-DkClJBAT.d.cts} +2 -2
- package/dist/{as-table-QoXP-NZr.cjs → as-table-ouPxssqv.cjs} +3 -3
- package/dist/{as-table-root-Bza3ZGJZ.mjs → as-table-root-CG7bLzcQ.mjs} +18 -29
- package/dist/{as-table-root-C6a6iO6M.cjs → as-table-root-_58hdHAi.cjs} +19 -30
- package/dist/as-table-root.cjs +1 -1
- package/dist/as-table-root.d.cts +1 -1
- package/dist/as-table-root.d.mts +1 -1
- package/dist/as-table-root.mjs +1 -1
- package/dist/{as-table-root.vue-Dze91qga.d.cts → as-table-root.vue-D8hH1xGK.d.cts} +29 -5
- package/dist/{as-table-root.vue-DnOHVQtA.d.mts → as-table-root.vue-DpPRMy3v.d.mts} +29 -5
- package/dist/{as-table-status-aebsG7bR.mjs → as-table-status-2rA91OFT.mjs} +5 -5
- package/dist/{as-table-status-B2O3hLGg.cjs → as-table-status-UWTPJJUL.cjs} +5 -5
- package/dist/as-table.cjs +1 -1
- package/dist/as-table.d.cts +1 -1
- package/dist/as-table.d.mts +1 -1
- package/dist/as-table.mjs +1 -1
- package/dist/{as-table.vue-emq84QmP.d.mts → as-table.vue-Bv6sKnL5.d.cts} +3 -3
- package/dist/{as-table.vue-BSKifGzD.d.cts → as-table.vue-CudFoZTF.d.mts} +3 -3
- package/dist/{as-window-table-DS30wumm.cjs → as-window-table-C9YtzepV.cjs} +3 -3
- package/dist/{as-window-table-ByTXS8yA.mjs → as-window-table-KyS6YUpa.mjs} +3 -3
- package/dist/as-window-table.cjs +1 -1
- package/dist/as-window-table.d.cts +1 -1
- package/dist/as-window-table.d.mts +1 -1
- package/dist/as-window-table.mjs +1 -1
- package/dist/{as-window-table.vue-DJNJ-6dd.d.cts → as-window-table.vue-COVl3die.d.mts} +2 -2
- package/dist/{as-window-table.vue-DUJgZDXy.d.mts → as-window-table.vue-CRWdhOgC.d.cts} +2 -2
- package/dist/index.cjs +45 -71
- package/dist/index.d.cts +10 -10
- package/dist/index.d.mts +22 -22
- package/dist/index.mjs +46 -72
- package/dist/{types-CsgAGRfG.d.mts → types-BCixOa8x.d.cts} +41 -11
- package/dist/{types-DvWLY5zQ.d.cts → types-D7qVxU_y.d.mts} +41 -11
- package/dist/{use-table-DRN4nlZs.mjs → use-table-2xPxoNRX.mjs} +3 -2
- package/dist/{use-table-JU7BAX4e.cjs → use-table-B45WZLwg.cjs} +3 -2
- package/dist/{use-table-column-handlers-DGn4ZW9j.mjs → use-table-column-handlers-p_xK-l0e.mjs} +1 -1
- package/dist/{use-table-column-handlers-r47WDxEh.cjs → use-table-column-handlers-rqFo9HLz.cjs} +1 -1
- package/dist/{use-table-component-VUFlxIk-.mjs → use-table-component-BYO0zMQj.mjs} +1 -1
- package/dist/{use-table-component-DIWiP_Vs.cjs → use-table-component-XQ-Qt_sp.cjs} +1 -1
- package/dist/{use-table-nav-bridge-DT8oU-6r.mjs → use-table-nav-bridge-BDBnRc4C.mjs} +1 -1
- package/dist/{use-table-nav-bridge-BBtXE70x.cjs → use-table-nav-bridge-DvrsPanF.cjs} +1 -1
- package/dist/{use-table-state-CqU1N4Q9.mjs → use-table-state-BzjbnpBA.mjs} +100 -12
- package/dist/{use-table-state-CoVe_8NI.cjs → use-table-state-pF_9gnTG.cjs} +104 -10
- package/package.json +14 -7
- /package/dist/{as-cell-array.vue-D4vS7C_D.d.mts → as-cell-array.vue-ow34clSF.d.mts} +0 -0
- /package/dist/{as-cell-date.vue-Chs7WTZ9.d.mts → as-cell-date.vue-B4JCr1qP.d.mts} +0 -0
- /package/dist/{as-cell-json-popover-vty5vMjW.cjs → as-cell-json-popover-BM2QLgfk.cjs} +0 -0
- /package/dist/{as-cell-json-popover-CH5bAcLE.mjs → as-cell-json-popover-Dkdv5Y9E.mjs} +0 -0
- /package/dist/{as-cell-json.vue-C0_LDvQw.d.mts → as-cell-json.vue-B-T3TuFj.d.mts} +0 -0
- /package/dist/{as-cell-number.vue-BBF0OuU8.d.mts → as-cell-number.vue-CNH2fbCB.d.mts} +0 -0
- /package/dist/{as-cell-union.vue-CL-Lf-Rm.d.mts → as-cell-union.vue-CZwN81H4.d.mts} +0 -0
- /package/dist/{as-config-dialog.vue-BvFZZRuY.d.mts → as-config-dialog.vue-BKo2GpzN.d.mts} +0 -0
- /package/dist/{as-confirm-dialog.vue-Cz52-v6c.d.mts → as-confirm-dialog.vue-BN_yzu3h.d.mts} +0 -0
- /package/dist/{as-filter-dialog.vue-likNLqzF.d.mts → as-filter-dialog.vue-Bl8OIKOf.d.mts} +0 -0
- /package/dist/{as-filter-field.vue-BbXLhd6O.d.mts → as-filter-field.vue-DD0IZXS1.d.mts} +0 -0
- /package/dist/{as-filter-input-C8KmOus8.mjs → as-filter-input-BM23TNeh.mjs} +0 -0
- /package/dist/{as-filter-input-DUqpkTkg.cjs → as-filter-input-DJu2k9gO.cjs} +0 -0
- /package/dist/{as-filter-input.vue-B9ma2l9j.d.mts → as-filter-input.vue-CFZ33B--.d.mts} +0 -0
- /package/dist/{as-preset-dialog.vue-BRjjfPty.d.mts → as-preset-dialog.vue-ChM7H7B4.d.mts} +0 -0
- /package/dist/{as-preset-picker.vue-BPjsiaVt.d.mts → as-preset-picker.vue-OaAV2v9z.d.mts} +0 -0
- /package/dist/{as-table-cell-value.vue-BgFDv2JQ.d.cts → as-table-cell-value.vue-C0VR9GRK.d.cts} +0 -0
- /package/dist/{as-table-cell-value.vue-kfNgVhzn.d.mts → as-table-cell-value.vue-DphckGq-.d.mts} +0 -0
- /package/dist/{format-cell-Bx7wNc4X.mjs → format-cell-D1Ziv96Q.mjs} +0 -0
- /package/dist/{format-cell-DaxV6WIJ.cjs → format-cell-vCNTh4WZ.cjs} +0 -0
- /package/dist/{use-cell-locale-caG2Fzpc.cjs → use-cell-locale-BGBRQB7s.cjs} +0 -0
- /package/dist/{use-cell-locale-CxQOQsns.mjs → use-cell-locale-MQXoONh5.mjs} +0 -0
- /package/dist/{use-seed-on-open-DSh4XFyp.mjs → use-seed-on-open-DO3A1kIb.mjs} +0 -0
- /package/dist/{use-seed-on-open-9TSm1Vbv.cjs → use-seed-on-open-Dg9I89fU.cjs} +0 -0
package/dist/index.mjs
CHANGED
|
@@ -1,35 +1,37 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { O as ROW_ACTIONS_TYPE, a as useTableContext, n as createTableState, o as useTableContextOptional, r as provideTableContext, t as createStaticTableState, x as extractIdentifier } from "./use-table-state-BzjbnpBA.mjs";
|
|
2
2
|
import { t as getCellValue } from "./get-cell-value-Cb3X8nUn.mjs";
|
|
3
3
|
import { n as useTableSelection } from "./use-table-selection-ULbKT2xW.mjs";
|
|
4
|
-
import { a as useLocalDraft, i as usePresets, o as AS_PRESETS_APP, r as useTable, s as injectPresetsApp, t as clearTableCache } from "./use-table-
|
|
5
|
-
import { t as useTableNavBridge } from "./use-table-nav-bridge-
|
|
6
|
-
import { t as useTableComponent } from "./use-table-component-
|
|
7
|
-
import { t as
|
|
8
|
-
import { t as
|
|
9
|
-
import { t as
|
|
10
|
-
import {
|
|
11
|
-
import { t as
|
|
12
|
-
import { t as
|
|
13
|
-
import { t as
|
|
14
|
-
import { t as
|
|
15
|
-
import { t as
|
|
16
|
-
import { t as
|
|
17
|
-
import { t as
|
|
18
|
-
import { t as
|
|
19
|
-
import { t as
|
|
20
|
-
import { t as
|
|
21
|
-
import { t as
|
|
22
|
-
import { t as
|
|
23
|
-
import { t as as_filters_default } from "./as-filters-
|
|
24
|
-
import { t as as_preset_dialog_default } from "./as-preset-dialog-
|
|
25
|
-
import { t as as_row_actions_default } from "./as-row-actions-
|
|
26
|
-
import { t as as_table_cell_value_default } from "./as-table-cell-value-
|
|
27
|
-
import { t as
|
|
28
|
-
import { t as
|
|
29
|
-
import { t as
|
|
4
|
+
import { a as useLocalDraft, i as usePresets, o as AS_PRESETS_APP, r as useTable, s as injectPresetsApp, t as clearTableCache } from "./use-table-2xPxoNRX.mjs";
|
|
5
|
+
import { t as useTableNavBridge } from "./use-table-nav-bridge-BDBnRc4C.mjs";
|
|
6
|
+
import { t as useTableComponent } from "./use-table-component-BYO0zMQj.mjs";
|
|
7
|
+
import { t as as_cell_array_default } from "./as-cell-array-Bgc4GYZf.mjs";
|
|
8
|
+
import { t as as_cell_date_default } from "./as-cell-date-B9mu0OOD.mjs";
|
|
9
|
+
import { n as useCellLocale, t as provideCellLocale } from "./use-cell-locale-MQXoONh5.mjs";
|
|
10
|
+
import { t as as_cell_json_default } from "./as-cell-json-ByEGYRST.mjs";
|
|
11
|
+
import { t as as_cell_number_default } from "./as-cell-number-CNDT6gfw.mjs";
|
|
12
|
+
import { t as formatCellValue } from "./format-cell-D1Ziv96Q.mjs";
|
|
13
|
+
import { t as as_cell_union_default } from "./as-cell-union-DMnoa7RM.mjs";
|
|
14
|
+
import { t as as_column_menu_default } from "./as-column-menu-CBtUfYEE.mjs";
|
|
15
|
+
import { t as as_config_dialog_default } from "./as-config-dialog-JXNkCCrh.mjs";
|
|
16
|
+
import { t as as_confirm_dialog_default } from "./as-confirm-dialog-CC6U8nLZ.mjs";
|
|
17
|
+
import { t as as_filter_input_default } from "./as-filter-input-BM23TNeh.mjs";
|
|
18
|
+
import { t as as_filter_dialog_default } from "./as-filter-dialog-C3wltqrN.mjs";
|
|
19
|
+
import { t as as_table_header_cell_default } from "./as-table-header-cell-Ccf06b2_.mjs";
|
|
20
|
+
import { t as as_window_table_default } from "./as-window-table-KyS6YUpa.mjs";
|
|
21
|
+
import { t as as_filter_field_default } from "./as-filter-field-D_6DlFcp.mjs";
|
|
22
|
+
import { t as as_residual_filter_default } from "./as-residual-filter-C65QsWxr.mjs";
|
|
23
|
+
import { t as as_filters_default } from "./as-filters-BDzQ2SM_.mjs";
|
|
24
|
+
import { t as as_preset_dialog_default } from "./as-preset-dialog-D_w4cxKS.mjs";
|
|
25
|
+
import { t as as_row_actions_default } from "./as-row-actions-xQ9M1PrO.mjs";
|
|
26
|
+
import { t as as_table_cell_value_default } from "./as-table-cell-value-DoH8Mieo.mjs";
|
|
27
|
+
import { t as as_table_root_default } from "./as-table-root-CG7bLzcQ.mjs";
|
|
28
|
+
import { t as as_table_default } from "./as-table-B49x0hDM.mjs";
|
|
29
|
+
import { t as as_table_actions_default } from "./as-table-actions-B2Hy3h7v.mjs";
|
|
30
|
+
import { t as as_preset_picker_default } from "./as-preset-picker-B8d6l3U1.mjs";
|
|
30
31
|
import { getDefaultClientFactory, resetDefaultClientFactory, setDefaultClientFactory } from "@atscript/ui";
|
|
31
32
|
import { computed, effectScope, ref, shallowRef } from "vue";
|
|
32
|
-
import { AppPrefsClient, ExportAbortError, PRESET_ASPECTS, STANDARD_PRESET_ID, SYSTEM_PRESET_PREFIX, collectExportRows,
|
|
33
|
+
import { AppPrefsClient, ExportAbortError, PRESET_ASPECTS, STANDARD_PRESET_ID, SYSTEM_PRESET_PREFIX, collectExportRows, columnDefaultCondition, columnFilterConditions, columnFilterType, isFilled, isSystemPresetId, isUnavailableError, resolveExportValue, resolveSystemPresets, toCsv, urlQueryConsumesKey, withStableOrder } from "@atscript/ui-table";
|
|
34
|
+
import { splitUrlSegments } from "@uniqu/url";
|
|
33
35
|
import { StorageSerializers, useEventBus, useStorage } from "@vueuse/core";
|
|
34
36
|
//#region src/composables/use-table-export.ts
|
|
35
37
|
/**
|
|
@@ -197,8 +199,8 @@ function rawColumn(path) {
|
|
|
197
199
|
*/
|
|
198
200
|
function useTableFilter(column, state) {
|
|
199
201
|
const filterType = columnFilterType(column.type);
|
|
200
|
-
const availableConditions =
|
|
201
|
-
const defCondition =
|
|
202
|
+
const availableConditions = columnFilterConditions(column);
|
|
203
|
+
const defCondition = columnDefaultCondition(column);
|
|
202
204
|
function cloneConditions() {
|
|
203
205
|
const existing = state.filters.value[column.path];
|
|
204
206
|
if (existing && existing.length > 0) return existing.map((c) => ({
|
|
@@ -292,35 +294,6 @@ function useTableActions() {
|
|
|
292
294
|
}
|
|
293
295
|
//#endregion
|
|
294
296
|
//#region src/composables/use-table-url-query.ts
|
|
295
|
-
/**
|
|
296
|
-
* Split a uniqu URL string on top-level `&` separators, respecting
|
|
297
|
-
* single-quoted string literals (`name='foo&bar'` is one segment, not two).
|
|
298
|
-
* Within a quote, `\'` escapes a literal apostrophe per @uniqu/url's encoder.
|
|
299
|
-
* Empty segments (from leading/trailing/double `&`) are dropped.
|
|
300
|
-
*/
|
|
301
|
-
function splitSegments(urlString) {
|
|
302
|
-
if (!urlString) return [];
|
|
303
|
-
const out = [];
|
|
304
|
-
let start = 0;
|
|
305
|
-
let inQuote = false;
|
|
306
|
-
const push = (end) => {
|
|
307
|
-
if (end > start) out.push(urlString.slice(start, end));
|
|
308
|
-
};
|
|
309
|
-
for (let i = 0; i < urlString.length; i++) {
|
|
310
|
-
const c = urlString[i];
|
|
311
|
-
if (c === "\\" && inQuote) {
|
|
312
|
-
i++;
|
|
313
|
-
continue;
|
|
314
|
-
}
|
|
315
|
-
if (c === "'") inQuote = !inQuote;
|
|
316
|
-
else if (c === "&" && !inQuote) {
|
|
317
|
-
push(i);
|
|
318
|
-
start = i + 1;
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
push(urlString.length);
|
|
322
|
-
return out;
|
|
323
|
-
}
|
|
324
297
|
const KEY_CHAR = /[A-Za-z0-9_.$-]/;
|
|
325
298
|
/**
|
|
326
299
|
* Index of `=` if every char before it is URL-key-safe. Returns -1 when any
|
|
@@ -348,7 +321,8 @@ function findCleanEq(segment) {
|
|
|
348
321
|
* write therefore agree in both directions: a key the parser ignores (a host
|
|
349
322
|
* flag, an unrecognised `$control`) is never removed, and a key the parser
|
|
350
323
|
* reads is the bridge's to remove. Every write merges into the current
|
|
351
|
-
* `route.query
|
|
324
|
+
* `route.query`: foreign keys stay where they are, the table's own keys are
|
|
325
|
+
* written as one block in the table's order.
|
|
352
326
|
*
|
|
353
327
|
* Without a `prefix` the bridge cannot tell a plain `field=value` filter from
|
|
354
328
|
* a page-owned flag of the same shape, so a plain key that was already in the
|
|
@@ -395,24 +369,23 @@ function useTableUrlQuery(route, router, opts = {}) {
|
|
|
395
369
|
},
|
|
396
370
|
set: (urlString) => {
|
|
397
371
|
const serialized = /* @__PURE__ */ new Map();
|
|
398
|
-
for (const segment of
|
|
372
|
+
for (const segment of splitUrlSegments(urlString)) {
|
|
373
|
+
if (!segment) continue;
|
|
399
374
|
const eqIdx = findCleanEq(segment);
|
|
400
375
|
const key = eqIdx > 0 ? `${prefix}${segment.slice(0, eqIdx)}` : `${prefix}${segment}`;
|
|
401
376
|
serialized.set(key, eqIdx > 0 ? segment.slice(eqIdx + 1) : null);
|
|
402
377
|
written.add(key);
|
|
403
378
|
}
|
|
404
379
|
const query = {};
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
}
|
|
415
|
-
for (const [key, value] of serialized) query[key] = value;
|
|
380
|
+
let placed = false;
|
|
381
|
+
const place = () => {
|
|
382
|
+
if (placed) return;
|
|
383
|
+
placed = true;
|
|
384
|
+
for (const [key, value] of serialized) query[key] = value;
|
|
385
|
+
};
|
|
386
|
+
for (const key in route.query) if (isOwn(key)) place();
|
|
387
|
+
else query[key] = route.query[key];
|
|
388
|
+
place();
|
|
416
389
|
navigate({ query });
|
|
417
390
|
}
|
|
418
391
|
});
|
|
@@ -638,6 +611,7 @@ function createDefaultControls() {
|
|
|
638
611
|
filterDialog: as_filter_dialog_default,
|
|
639
612
|
filterInput: as_filter_input_default,
|
|
640
613
|
filterField: as_filter_field_default,
|
|
614
|
+
residualFilter: as_residual_filter_default,
|
|
641
615
|
configDialog: as_config_dialog_default,
|
|
642
616
|
confirmDialog: as_confirm_dialog_default
|
|
643
617
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ColumnDef, PaginationControl, SortControl, TableDef } from "@atscript/ui";
|
|
2
1
|
import { Component, ComputedRef, MaybeRefOrGetter, Ref, ShallowRef } from "vue";
|
|
3
|
-
import { AsPresetEntryRow, AspectMask, ColumnWidthsMap, ConfigTab, FieldFilters, PresetAspect, PresetCapabilities, PresetSnapshot, SelectionMode, SystemPreset, SystemPresetInput, TableStateMethods } from "@atscript/ui-table";
|
|
4
2
|
import { ClientError, PageResult, TDbActionInfo, TDbActionProcessor, TDbDeleteResult } from "@atscript/db-client";
|
|
5
|
-
import { Uniquery } from "@uniqu/core";
|
|
3
|
+
import { FilterExpr, Uniquery } from "@uniqu/core";
|
|
4
|
+
import { ColumnDef, PaginationControl, SortControl, TableDef } from "@atscript/ui";
|
|
5
|
+
import { AsPresetEntryRow, AspectMask, ColumnWidthsMap, ConfigTab, FieldFilters, PresetAspect, PresetCapabilities, PresetSnapshot, SelectionMode, SystemPreset, SystemPresetInput, TableStateMethods } from "@atscript/ui-table";
|
|
6
6
|
|
|
7
7
|
//#region src/composables/state/intent-scope.d.ts
|
|
8
8
|
interface ActionBuckets {
|
|
@@ -369,6 +369,11 @@ interface TAsTableControls {
|
|
|
369
369
|
filterDialog?: Component;
|
|
370
370
|
filterField?: Component;
|
|
371
371
|
filterValueHelp?: Component;
|
|
372
|
+
/**
|
|
373
|
+
* One residual filter condition's chip in `<AsFilters>` — receives
|
|
374
|
+
* `expr` and `index`. Default `AsResidualFilter`. Since 0.1.140.
|
|
375
|
+
*/
|
|
376
|
+
residualFilter?: Component;
|
|
372
377
|
configDialog?: Component;
|
|
373
378
|
fieldsSelector?: Component;
|
|
374
379
|
sortersConfig?: Component;
|
|
@@ -413,7 +418,10 @@ type TAsCellTypeComponents = {
|
|
|
413
418
|
* @since 0.1.137
|
|
414
419
|
*/
|
|
415
420
|
interface ApplyUrlQueryOptions {
|
|
416
|
-
/**
|
|
421
|
+
/**
|
|
422
|
+
* Overrides what the URL itself decides (see `applyUrlQuery`): `"merge"`
|
|
423
|
+
* falls back to the table's starting values, `"replace"` clears them.
|
|
424
|
+
*/
|
|
417
425
|
mode?: "merge" | "replace";
|
|
418
426
|
}
|
|
419
427
|
/**
|
|
@@ -439,6 +447,15 @@ interface ReactiveTableState extends TableStateMethods {
|
|
|
439
447
|
columnWidths: Ref<ColumnWidthsMap>;
|
|
440
448
|
filterFields: ShallowRef<string[]>;
|
|
441
449
|
filters: ShallowRef<FieldFilters>;
|
|
450
|
+
/**
|
|
451
|
+
* Residual filter conditions — AND-ed Uniquery conjuncts the field-filter
|
|
452
|
+
* model cannot hold (a cross-field `$or`, a second range on one field, …).
|
|
453
|
+
* AND'd after `filters` into every query, carried through the URL, shown
|
|
454
|
+
* as "custom filter" chips by `<AsFilters>`. Replace wholesale (or use
|
|
455
|
+
* `setResidualFilters` / `removeResidualFilter`); `resetFilters()`
|
|
456
|
+
* clears them. Not saved in presets. Since 0.1.140.
|
|
457
|
+
*/
|
|
458
|
+
residualFilters: ShallowRef<FilterExpr[]>;
|
|
442
459
|
sorters: ShallowRef<SortControl[]>;
|
|
443
460
|
results: ShallowRef<Record<string, unknown>[]>;
|
|
444
461
|
/** Absolute index where `results[0]` sits. */
|
|
@@ -668,13 +685,26 @@ interface ReactiveTableState extends TableStateMethods {
|
|
|
668
685
|
* bridge's own emissions. Does NOT call `query()` — root watchers refetch in
|
|
669
686
|
* reaction to the writes.
|
|
670
687
|
*
|
|
671
|
-
*
|
|
672
|
-
*
|
|
673
|
-
*
|
|
674
|
-
*
|
|
675
|
-
* -
|
|
676
|
-
*
|
|
677
|
-
*
|
|
688
|
+
* The URL decides what happens to filters and sorters it does NOT mention,
|
|
689
|
+
* within whatever the `urlQuerySync` gates serialize (search and pagination
|
|
690
|
+
* always take the URL's value; columns and other presentation state are
|
|
691
|
+
* never touched):
|
|
692
|
+
* - A URL carrying the `$snapshot` marker (`URL_SNAPSHOT_KEY` — every URL
|
|
693
|
+
* the table writes) replaces: they are cleared, an empty `$sort`
|
|
694
|
+
* included, so a reload or a shared link reproduces the table exactly.
|
|
695
|
+
* - Any other URL (an app deep link) merges: they fall back to the table's
|
|
696
|
+
* boot baseline — the owned filters and sorters it had before the first
|
|
697
|
+
* URL was applied (preset, persisted drafts, props). Every merge starts
|
|
698
|
+
* from that baseline, not from the current state, so Back to a deep link
|
|
699
|
+
* restores it as first opened. A preset switched to later does not move
|
|
700
|
+
* the baseline.
|
|
701
|
+
*
|
|
702
|
+
* `opts.mode` overrides the marker either way. Since 0.1.139.
|
|
703
|
+
*
|
|
704
|
+
* Filter pieces the field-filter model cannot hold are restored as
|
|
705
|
+
* `residualFilters` (since 0.1.140). A URL owns every path it mentions —
|
|
706
|
+
* in a field filter or inside such a condition — so on merge the
|
|
707
|
+
* baseline's filters and residual conditions on those paths give way.
|
|
678
708
|
*/
|
|
679
709
|
applyUrlQuery: (urlString: string, opts?: ApplyUrlQueryOptions) => void;
|
|
680
710
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Component, ComputedRef, MaybeRefOrGetter, Ref, ShallowRef } from "vue";
|
|
2
|
-
import { ClientError, PageResult, TDbActionInfo, TDbActionProcessor, TDbDeleteResult } from "@atscript/db-client";
|
|
3
|
-
import { Uniquery } from "@uniqu/core";
|
|
4
1
|
import { ColumnDef, PaginationControl, SortControl, TableDef } from "@atscript/ui";
|
|
2
|
+
import { Component, ComputedRef, MaybeRefOrGetter, Ref, ShallowRef } from "vue";
|
|
5
3
|
import { AsPresetEntryRow, AspectMask, ColumnWidthsMap, ConfigTab, FieldFilters, PresetAspect, PresetCapabilities, PresetSnapshot, SelectionMode, SystemPreset, SystemPresetInput, TableStateMethods } from "@atscript/ui-table";
|
|
4
|
+
import { ClientError, PageResult, TDbActionInfo, TDbActionProcessor, TDbDeleteResult } from "@atscript/db-client";
|
|
5
|
+
import { FilterExpr, Uniquery } from "@uniqu/core";
|
|
6
6
|
|
|
7
7
|
//#region src/composables/state/intent-scope.d.ts
|
|
8
8
|
interface ActionBuckets {
|
|
@@ -369,6 +369,11 @@ interface TAsTableControls {
|
|
|
369
369
|
filterDialog?: Component;
|
|
370
370
|
filterField?: Component;
|
|
371
371
|
filterValueHelp?: Component;
|
|
372
|
+
/**
|
|
373
|
+
* One residual filter condition's chip in `<AsFilters>` — receives
|
|
374
|
+
* `expr` and `index`. Default `AsResidualFilter`. Since 0.1.140.
|
|
375
|
+
*/
|
|
376
|
+
residualFilter?: Component;
|
|
372
377
|
configDialog?: Component;
|
|
373
378
|
fieldsSelector?: Component;
|
|
374
379
|
sortersConfig?: Component;
|
|
@@ -413,7 +418,10 @@ type TAsCellTypeComponents = {
|
|
|
413
418
|
* @since 0.1.137
|
|
414
419
|
*/
|
|
415
420
|
interface ApplyUrlQueryOptions {
|
|
416
|
-
/**
|
|
421
|
+
/**
|
|
422
|
+
* Overrides what the URL itself decides (see `applyUrlQuery`): `"merge"`
|
|
423
|
+
* falls back to the table's starting values, `"replace"` clears them.
|
|
424
|
+
*/
|
|
417
425
|
mode?: "merge" | "replace";
|
|
418
426
|
}
|
|
419
427
|
/**
|
|
@@ -439,6 +447,15 @@ interface ReactiveTableState extends TableStateMethods {
|
|
|
439
447
|
columnWidths: Ref<ColumnWidthsMap>;
|
|
440
448
|
filterFields: ShallowRef<string[]>;
|
|
441
449
|
filters: ShallowRef<FieldFilters>;
|
|
450
|
+
/**
|
|
451
|
+
* Residual filter conditions — AND-ed Uniquery conjuncts the field-filter
|
|
452
|
+
* model cannot hold (a cross-field `$or`, a second range on one field, …).
|
|
453
|
+
* AND'd after `filters` into every query, carried through the URL, shown
|
|
454
|
+
* as "custom filter" chips by `<AsFilters>`. Replace wholesale (or use
|
|
455
|
+
* `setResidualFilters` / `removeResidualFilter`); `resetFilters()`
|
|
456
|
+
* clears them. Not saved in presets. Since 0.1.140.
|
|
457
|
+
*/
|
|
458
|
+
residualFilters: ShallowRef<FilterExpr[]>;
|
|
442
459
|
sorters: ShallowRef<SortControl[]>;
|
|
443
460
|
results: ShallowRef<Record<string, unknown>[]>;
|
|
444
461
|
/** Absolute index where `results[0]` sits. */
|
|
@@ -668,13 +685,26 @@ interface ReactiveTableState extends TableStateMethods {
|
|
|
668
685
|
* bridge's own emissions. Does NOT call `query()` — root watchers refetch in
|
|
669
686
|
* reaction to the writes.
|
|
670
687
|
*
|
|
671
|
-
*
|
|
672
|
-
*
|
|
673
|
-
*
|
|
674
|
-
*
|
|
675
|
-
* -
|
|
676
|
-
*
|
|
677
|
-
*
|
|
688
|
+
* The URL decides what happens to filters and sorters it does NOT mention,
|
|
689
|
+
* within whatever the `urlQuerySync` gates serialize (search and pagination
|
|
690
|
+
* always take the URL's value; columns and other presentation state are
|
|
691
|
+
* never touched):
|
|
692
|
+
* - A URL carrying the `$snapshot` marker (`URL_SNAPSHOT_KEY` — every URL
|
|
693
|
+
* the table writes) replaces: they are cleared, an empty `$sort`
|
|
694
|
+
* included, so a reload or a shared link reproduces the table exactly.
|
|
695
|
+
* - Any other URL (an app deep link) merges: they fall back to the table's
|
|
696
|
+
* boot baseline — the owned filters and sorters it had before the first
|
|
697
|
+
* URL was applied (preset, persisted drafts, props). Every merge starts
|
|
698
|
+
* from that baseline, not from the current state, so Back to a deep link
|
|
699
|
+
* restores it as first opened. A preset switched to later does not move
|
|
700
|
+
* the baseline.
|
|
701
|
+
*
|
|
702
|
+
* `opts.mode` overrides the marker either way. Since 0.1.139.
|
|
703
|
+
*
|
|
704
|
+
* Filter pieces the field-filter model cannot hold are restored as
|
|
705
|
+
* `residualFilters` (since 0.1.140). A URL owns every path it mentions —
|
|
706
|
+
* in a field filter or inside such a condition — so on merge the
|
|
707
|
+
* baseline's filters and residual conditions on those paths give way.
|
|
678
708
|
*/
|
|
679
709
|
applyUrlQuery: (urlString: string, opts?: ApplyUrlQueryOptions) => void;
|
|
680
710
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as DEFAULT_AVAILABLE_ASPECTS, n as createTableState, r as provideTableContext } from "./use-table-state-BzjbnpBA.mjs";
|
|
2
2
|
import { n as useTableSelection } from "./use-table-selection-ULbKT2xW.mjs";
|
|
3
3
|
import { createTableDef, getMetaEntry, resetMetaCache } from "@atscript/ui";
|
|
4
4
|
import { computed, inject, isRef, ref, shallowRef, toValue, watch } from "vue";
|
|
@@ -434,7 +434,8 @@ function useTable(url, opts) {
|
|
|
434
434
|
ignoreSortersWhenSearched: typeof opts?.ignoreSortersWhenSearched === "boolean" ? opts.ignoreSortersWhenSearched : void 0,
|
|
435
435
|
urlQueryReady: opts?.urlQueryReady,
|
|
436
436
|
onUrlQueryChange: opts?.onUrlQueryChange,
|
|
437
|
-
urlQuerySync: opts?.urlQuerySync
|
|
437
|
+
urlQuerySync: opts?.urlQuerySync,
|
|
438
|
+
onUnsupportedFilter: opts?.onUnsupportedFilter
|
|
438
439
|
},
|
|
439
440
|
window: {
|
|
440
441
|
blockSize: opts?.blockSize,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_use_table_state = require("./use-table-state-
|
|
1
|
+
const require_use_table_state = require("./use-table-state-pF_9gnTG.cjs");
|
|
2
2
|
const require_use_table_selection = require("./use-table-selection-DtCV3rhu.cjs");
|
|
3
3
|
let _atscript_ui = require("@atscript/ui");
|
|
4
4
|
let vue = require("vue");
|
|
@@ -434,7 +434,8 @@ function useTable(url, opts) {
|
|
|
434
434
|
ignoreSortersWhenSearched: typeof opts?.ignoreSortersWhenSearched === "boolean" ? opts.ignoreSortersWhenSearched : void 0,
|
|
435
435
|
urlQueryReady: opts?.urlQueryReady,
|
|
436
436
|
onUrlQueryChange: opts?.onUrlQueryChange,
|
|
437
|
-
urlQuerySync: opts?.urlQuerySync
|
|
437
|
+
urlQuerySync: opts?.urlQuerySync,
|
|
438
|
+
onUnsupportedFilter: opts?.onUnsupportedFilter
|
|
438
439
|
},
|
|
439
440
|
window: {
|
|
440
441
|
blockSize: opts?.blockSize,
|
package/dist/{use-table-column-handlers-DGn4ZW9j.mjs → use-table-column-handlers-p_xK-l0e.mjs}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as
|
|
1
|
+
import { D as ROW_ACTIONS_PATH, O as ROW_ACTIONS_TYPE } from "./use-table-state-BzjbnpBA.mjs";
|
|
2
2
|
import { computed, watch } from "vue";
|
|
3
3
|
import { reorderColumnNames } from "@atscript/ui-table";
|
|
4
4
|
//#region src/composables/use-row-actions-column.ts
|
package/dist/{use-table-column-handlers-r47WDxEh.cjs → use-table-column-handlers-rqFo9HLz.cjs}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_use_table_state = require("./use-table-state-
|
|
1
|
+
const require_use_table_state = require("./use-table-state-pF_9gnTG.cjs");
|
|
2
2
|
let vue = require("vue");
|
|
3
3
|
let _atscript_ui_table = require("@atscript/ui-table");
|
|
4
4
|
//#region src/composables/use-row-actions-column.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as useTableContextOptional } from "./use-table-state-
|
|
1
|
+
import { o as useTableContextOptional } from "./use-table-state-BzjbnpBA.mjs";
|
|
2
2
|
//#region src/composables/use-table-component.ts
|
|
3
3
|
/**
|
|
4
4
|
* Resolve a single skin-slot component from the injected `controls` map,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_use_table_state = require("./use-table-state-
|
|
1
|
+
const require_use_table_state = require("./use-table-state-pF_9gnTG.cjs");
|
|
2
2
|
//#region src/composables/use-table-component.ts
|
|
3
3
|
/**
|
|
4
4
|
* Resolve a single skin-slot component from the injected `controls` map,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as useTableContextOptional } from "./use-table-state-
|
|
1
|
+
import { o as useTableContextOptional } from "./use-table-state-BzjbnpBA.mjs";
|
|
2
2
|
//#region src/composables/use-table-nav-bridge.ts
|
|
3
3
|
function isPassthroughKey(event) {
|
|
4
4
|
const key = event.key;
|