@agile-team/mach-table-vue 0.5.0 → 0.13.0
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/LICENSE +110 -21
- package/README.md +61 -6
- package/dist/MachTable-ESOIV4CZ.cjs +2 -0
- package/dist/MachTable-ESOIV4CZ.cjs.map +1 -0
- package/dist/MachTable-USYTNQV5.js +2 -0
- package/dist/async.cjs +1 -22
- package/dist/async.cjs.map +1 -1
- package/dist/async.d.cts +19 -6
- package/dist/async.d.ts +19 -6
- package/dist/async.js +1 -22
- package/dist/async.js.map +1 -1
- package/dist/chunk-7U5IML5K.js +2 -0
- package/dist/chunk-7U5IML5K.js.map +1 -0
- package/dist/chunk-BE4RGLUC.cjs +2 -0
- package/dist/chunk-BE4RGLUC.cjs.map +1 -0
- package/dist/chunk-E7KTBMM6.js +2 -0
- package/dist/chunk-E7KTBMM6.js.map +1 -0
- package/dist/chunk-ICHFPO5U.js +2 -0
- package/dist/chunk-ICHFPO5U.js.map +1 -0
- package/dist/chunk-MVK2O7FM.cjs +2 -0
- package/dist/chunk-MVK2O7FM.cjs.map +1 -0
- package/dist/chunk-Y6OAV3U4.cjs +2 -0
- package/dist/chunk-Y6OAV3U4.cjs.map +1 -0
- package/dist/chunk-Z6YS22CL.cjs +2 -0
- package/dist/chunk-Z6YS22CL.cjs.map +1 -0
- package/dist/chunk-ZUOKB5ID.js +2 -0
- package/dist/chunk-ZUOKB5ID.js.map +1 -0
- package/dist/editors.cjs +2 -0
- package/dist/editors.cjs.map +1 -0
- package/dist/editors.d.cts +34 -0
- package/dist/editors.d.ts +34 -0
- package/dist/editors.js +2 -0
- package/dist/editors.js.map +1 -0
- package/dist/globalRegistration-ySQgs7aA.d.cts +86 -0
- package/dist/globalRegistration-ySQgs7aA.d.ts +86 -0
- package/dist/index.cjs +1 -110
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +54 -12
- package/dist/index.d.ts +54 -12
- package/dist/index.js +1 -110
- package/dist/index.js.map +1 -1
- package/dist/mach-table.css +410 -3
- package/dist/workflows-Dg6KsN85.d.cts +111 -0
- package/dist/workflows-Dg6KsN85.d.ts +111 -0
- package/dist/workflows.cjs +2 -0
- package/dist/workflows.cjs.map +1 -0
- package/dist/workflows.d.cts +3 -0
- package/dist/workflows.d.ts +3 -0
- package/dist/workflows.js +2 -0
- package/dist/workflows.js.map +1 -0
- package/package.json +24 -4
- package/dist/RobotGrid-2KWWM4C4.js +0 -7
- package/dist/RobotGrid-LELHEO4W.cjs +0 -7
- package/dist/RobotGrid-LELHEO4W.cjs.map +0 -1
- package/dist/chunk-345ZEGIE.cjs +0 -21
- package/dist/chunk-345ZEGIE.cjs.map +0 -1
- package/dist/chunk-CHEQLQW4.js +0 -78
- package/dist/chunk-CHEQLQW4.js.map +0 -1
- package/dist/chunk-JJQDDIQU.js +0 -21
- package/dist/chunk-JJQDDIQU.js.map +0 -1
- package/dist/chunk-S3NR7DIG.cjs +0 -78
- package/dist/chunk-S3NR7DIG.cjs.map +0 -1
- package/dist/globalRegistration-CQ2dTNzy.d.cts +0 -25
- package/dist/globalRegistration-CQ2dTNzy.d.ts +0 -25
- /package/dist/{RobotGrid-2KWWM4C4.js.map → MachTable-USYTNQV5.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/useMachTableEditing.ts","../src/useMachTableQuery.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n ref,\n shallowRef,\n watch,\n type ComputedRef,\n type Ref,\n type ShallowRef\n} from \"vue\";\nimport type {\n GridChange,\n SaveChangesHandler\n} from \"@agile-team/mach-table\";\nimport type { UseMachTableReturn } from \"./useMachTable\";\n\nexport interface UseMachTableEditingOptions<TData = any> {\n /** Warn before closing/reloading a browser tab with unsaved changes. */\n guardBeforeUnload?: boolean;\n beforeUnloadMessage?: string;\n onSaveSuccess?(saved: readonly GridChange<TData>[]): void;\n onSaveError?(error: unknown): void;\n}\n\nexport interface UseMachTableEditingReturn<TData = any> {\n changes: ShallowRef<GridChange<TData>[]>;\n dirtyRowIds: Ref<string[]>;\n dirty: ComputedRef<boolean>;\n saving: Ref<boolean>;\n saveError: ShallowRef<unknown | null>;\n save(handler: SaveChangesHandler<TData>, rowIds?: readonly string[]): Promise<GridChange<TData>[]>;\n rollback(rowIds?: readonly string[]): boolean;\n markSaved(rowIds?: readonly string[]): void;\n /** Scrolls to a loaded changed row and optionally opens the failed cell editor. */\n reveal(rowId: string, colId?: string, edit?: boolean): boolean;\n refresh(): void;\n}\n\n/** Reactive dirty/save workflow layered over useMachTable(). */\nexport function useMachTableEditing<TData = any>(\n table: UseMachTableReturn<TData>,\n options: UseMachTableEditingOptions<TData> = {}\n): UseMachTableEditingReturn<TData> {\n const changes = shallowRef<GridChange<TData>[]>([]);\n const dirtyRowIds = ref<string[]>([]);\n const saving = ref(false);\n const saveError = shallowRef<unknown | null>(null);\n const dirty = computed(() => dirtyRowIds.value.length > 0);\n let removeDirtyListener: (() => void) | null = null;\n\n const refresh = (): void => {\n const api = table.api.value;\n if (!api || api.isDestroyed()) {\n dirtyRowIds.value = [];\n changes.value = [];\n return;\n }\n dirtyRowIds.value = api.getDirtyRowIds();\n changes.value = api.getChanges();\n };\n\n watch(table.api, (api) => {\n removeDirtyListener?.();\n removeDirtyListener = null;\n refresh();\n if (!api || api.isDestroyed()) return;\n removeDirtyListener = api.addEventListener(\"dirtyStateChanged\", refresh);\n }, { immediate: true });\n\n const save = async (\n handler: SaveChangesHandler<TData>,\n rowIds?: readonly string[]\n ): Promise<GridChange<TData>[]> => {\n const api = table.api.value;\n if (!api || api.isDestroyed()) throw new Error(\"[MachTable] Cannot save before the grid is ready.\");\n if (saving.value) throw new Error(\"[MachTable] A save operation is already in progress.\");\n saving.value = true;\n saveError.value = null;\n try {\n const saved = await api.saveChanges(handler, rowIds);\n refresh();\n options.onSaveSuccess?.(saved);\n return saved;\n } catch (error) {\n saveError.value = error;\n options.onSaveError?.(error);\n throw error;\n } finally {\n saving.value = false;\n }\n };\n\n const rollback = (rowIds?: readonly string[]): boolean => {\n const changed = table.api.value?.rollbackChanges(rowIds) ?? false;\n refresh();\n return changed;\n };\n const markSaved = (rowIds?: readonly string[]): void => {\n table.api.value?.markChangesSaved(rowIds);\n refresh();\n };\n const reveal = (rowId: string, colId?: string, edit = false): boolean => {\n const api = table.api.value;\n const node = api?.getNodeById(rowId);\n if (!api || !node || node.rowIndex < 0) return false;\n api.scrollToIndex(node.rowIndex, \"middle\");\n return colId && edit ? api.startEditingCell({ rowIndex: node.rowIndex, colId }) : true;\n };\n\n const onBeforeUnload = (event: BeforeUnloadEvent): string | undefined => {\n if (!dirty.value) return undefined;\n const message = options.beforeUnloadMessage ?? \"存在未保存的表格修改。\";\n event.preventDefault();\n event.returnValue = message;\n return message;\n };\n if (options.guardBeforeUnload && typeof window !== \"undefined\") {\n window.addEventListener(\"beforeunload\", onBeforeUnload);\n }\n\n onScopeDispose(() => {\n removeDirtyListener?.();\n removeDirtyListener = null;\n if (options.guardBeforeUnload && typeof window !== \"undefined\") {\n window.removeEventListener(\"beforeunload\", onBeforeUnload);\n }\n });\n\n return {\n changes,\n dirtyRowIds,\n dirty,\n saving,\n saveError,\n save,\n rollback,\n markSaved,\n reveal,\n refresh\n };\n}\n","import {\n computed,\n isRef,\n nextTick,\n onScopeDispose,\n ref,\n shallowRef,\n watch,\n type ComputedRef,\n type Ref,\n type ShallowRef\n} from \"vue\";\nimport {\n getByPath,\n type FilterChangedEvent,\n type FilterModel,\n type GridApi,\n type GridOptions,\n type OverlayContent,\n type OverlayTemplate,\n type PaginationChangedEvent,\n type SelectionChangedEvent,\n type SortChangedEvent,\n type SortModel\n} from \"@agile-team/mach-table\";\n\nexport type MachTableQuerySource<TQuery> =\n | TQuery\n | Readonly<Ref<TQuery>>\n | (() => TQuery);\n\nexport interface MachTablePageRequest<TQuery> {\n page: number;\n pageSize: number;\n query: TQuery;\n sortModel: SortModel;\n filterModel: FilterModel;\n quickFilterText: string | null;\n signal: AbortSignal;\n}\n\nexport interface MachTablePageResult<TData> {\n rows: readonly TData[];\n total: number;\n}\n\nexport type MachTableRemoteSelectionState =\n | { mode: \"explicit\"; selectedKeys: string[] }\n | { mode: \"allMatching\"; excludedKeys: string[] };\n\nexport interface UseMachTableQueryOptions<TData, TQuery = Record<string, unknown>> {\n request(params: MachTablePageRequest<TQuery>): Promise<MachTablePageResult<TData>>;\n query: MachTableQuerySource<TQuery>;\n /** Stable row key used for updates and cross-page selection. */\n rowKey: string | ((row: TData) => string | number);\n initialPage?: number;\n pageSize?: number;\n pageSizeOptions?: readonly number[];\n immediate?: boolean;\n debounceMs?: number;\n keepPreviousData?: boolean;\n /** `query` additionally enables compact select-all-matching rules. */\n selectionScope?: \"page\" | \"preserve\" | \"query\";\n /** Defaults true: a different business/filter query cannot inherit stale selections. */\n clearSelectionOnQueryChange?: boolean;\n quickFilterText?: Ref<string | null>;\n /** Replaces the no-rows layer while the latest request is in an error state. */\n errorOverlay?(context: { error: unknown; retry(): Promise<void> }): OverlayContent;\n emptyOverlay?: OverlayTemplate;\n onSuccess?(result: MachTablePageResult<TData>): void;\n onError?(error: unknown): void;\n}\n\nexport interface UseMachTableQueryReturn<TData> {\n rows: ShallowRef<TData[]>;\n loading: Ref<boolean>;\n error: ShallowRef<unknown | null>;\n page: Ref<number>;\n pageSize: Ref<number>;\n total: Ref<number>;\n sortModel: ShallowRef<SortModel>;\n filterModel: ShallowRef<FilterModel>;\n selectedKeys: Ref<string[]>;\n selectedRows: ShallowRef<TData[]>;\n selectionState: ComputedRef<MachTableRemoteSelectionState>;\n gridProps: ComputedRef<GridOptions<TData>>;\n bindings: ComputedRef<GridOptions<TData>>;\n reload(options?: { resetPage?: boolean }): Promise<void>;\n retry(): Promise<void>;\n reset(): Promise<void>;\n abort(): void;\n clearSelection(): void;\n /** Selects the complete server query without downloading every row ID. */\n selectAllMatching(): void;\n applySelectionState(state: MachTableRemoteSelectionState): void;\n}\n\nfunction readSource<T>(source: MachTableQuerySource<T>): T {\n if (typeof source === \"function\") return (source as () => T)();\n return isRef(source) ? source.value : source;\n}\n\nfunction normalizePositive(value: number | undefined, fallback: number): number {\n return typeof value === \"number\" && Number.isFinite(value) && value > 0\n ? Math.floor(value)\n : fallback;\n}\n\nfunction isAbortError(error: unknown): boolean {\n return error instanceof DOMException\n ? error.name === \"AbortError\"\n : typeof error === \"object\" && error != null && \"name\" in error && (error as { name?: unknown }).name === \"AbortError\";\n}\n\n/**\n * B-side remote-list controller: paging, sorting, filtering, cancellation,\n * stale-response protection and cross-page selection in one typed binding.\n */\nexport function useMachTableQuery<TData, TQuery = Record<string, unknown>>(\n options: UseMachTableQueryOptions<TData, TQuery>\n): UseMachTableQueryReturn<TData> {\n const rows = shallowRef<TData[]>([]);\n const loading = ref(false);\n const error = shallowRef<unknown | null>(null);\n const page = ref(normalizePositive(options.initialPage, 1));\n const pageSize = ref(normalizePositive(options.pageSize, 20));\n const total = ref(0);\n const sortModel = shallowRef<SortModel>([]);\n const filterModel = shallowRef<FilterModel>({});\n const selectedKeys = ref<string[]>([]);\n const selectedRows = shallowRef<TData[]>([]);\n const selectedIds = new Set<string>();\n const excludedIds = new Set<string>();\n const selectedById = new Map<string, TData>();\n const quickFilterText = options.quickFilterText ?? ref<string | null>(null);\n const selectionScope = options.selectionScope ?? \"preserve\";\n const allMatching = ref(false);\n const selectionRevision = ref(0);\n const pageSizes = [...new Set((options.pageSizeOptions ?? [10, 20, 50, 100]).map((value) => normalizePositive(value, 0)).filter(Boolean))];\n if (!pageSizes.includes(pageSize.value)) pageSizes.push(pageSize.value);\n pageSizes.sort((a, b) => a - b);\n\n let api: GridApi<TData> | null = null;\n let controller: AbortController | null = null;\n let generation = 0;\n let debounceTimer: ReturnType<typeof setTimeout> | null = null;\n let suppressGridEvents = false;\n let suppressSelectionEvents = false;\n let updatingSelectedRefs = false;\n\n const rowId = (row: TData): string => {\n const value = typeof options.rowKey === \"function\"\n ? options.rowKey(row)\n : getByPath(row, options.rowKey);\n if (value == null || String(value).length === 0) {\n throw new Error(`[MachTable] useMachTableQuery rowKey \\\"${String(options.rowKey)}\\\" returned an empty value.`);\n }\n return String(value);\n };\n\n const updateSelectedRefs = (): void => {\n updatingSelectedRefs = true;\n selectedKeys.value = allMatching.value ? [] : [...selectedIds];\n updatingSelectedRefs = false;\n const ids = allMatching.value ? [...selectedById.keys()] : [...selectedIds];\n selectedRows.value = ids.flatMap((id) => {\n const row = selectedById.get(id);\n return row === undefined || excludedIds.has(id) ? [] : [row];\n });\n selectionRevision.value++;\n };\n\n const isSelectedId = (id: string): boolean => allMatching.value\n ? !excludedIds.has(id)\n : selectedIds.has(id);\n\n const syncVisibleSelection = (): void => {\n if (!api || api.isDestroyed()) return;\n const selected = rows.value.filter((row) => isSelectedId(rowId(row)));\n suppressSelectionEvents = true;\n try {\n api.setSelection(selected, true);\n } finally {\n suppressSelectionEvents = false;\n }\n };\n\n const abort = (): void => {\n generation++;\n controller?.abort();\n controller = null;\n if (debounceTimer != null) clearTimeout(debounceTimer);\n debounceTimer = null;\n loading.value = false;\n };\n\n const isStaleRequest = (activeController: AbortController, requestGeneration: number): boolean =>\n activeController.signal.aborted || requestGeneration !== generation;\n\n const validatePageResult = (result: MachTablePageResult<TData>): void => {\n if (!result || !Array.isArray(result.rows) || !Number.isFinite(result.total) || result.total < 0) {\n throw new TypeError(\"[MachTable] Remote request must resolve to { rows: TData[], total: non-negative number }.\");\n }\n };\n\n const applyPageResult = async (\n result: MachTablePageResult<TData>,\n activeController: AbortController,\n requestGeneration: number\n ): Promise<void> => {\n if (isStaleRequest(activeController, requestGeneration)) return;\n validatePageResult(result);\n const nextRows = [...result.rows];\n for (const row of nextRows) rowId(row);\n rows.value = nextRows;\n total.value = Math.floor(result.total);\n for (const row of rows.value) {\n const id = rowId(row);\n if (isSelectedId(id)) selectedById.set(id, row);\n else selectedById.delete(id);\n }\n updateSelectedRefs();\n options.onSuccess?.(result);\n await nextTick();\n syncVisibleSelection();\n };\n\n const handleRequestError = (\n requestError: unknown,\n activeController: AbortController,\n requestGeneration: number\n ): void => {\n if (isStaleRequest(activeController, requestGeneration) || isAbortError(requestError)) return;\n error.value = requestError ?? new Error();\n options.onError?.(error.value);\n };\n\n const load = async (): Promise<void> => {\n if (debounceTimer != null) clearTimeout(debounceTimer);\n debounceTimer = null;\n controller?.abort();\n const activeController = new AbortController();\n controller = activeController;\n const requestGeneration = ++generation;\n loading.value = true;\n error.value = null;\n if (options.keepPreviousData === false) rows.value = [];\n\n try {\n const result = await options.request({\n page: page.value,\n pageSize: pageSize.value,\n query: readSource(options.query),\n sortModel: sortModel.value.map((item) => ({ ...item })),\n filterModel: { ...filterModel.value },\n quickFilterText: quickFilterText.value,\n signal: activeController.signal\n });\n await applyPageResult(result, activeController, requestGeneration);\n } catch (requestError) {\n handleRequestError(requestError, activeController, requestGeneration);\n } finally {\n if (requestGeneration === generation) {\n loading.value = false;\n if (controller === activeController) controller = null;\n }\n }\n };\n\n const scheduleLoad = (resetPage: boolean): void => {\n if (resetPage) page.value = 1;\n if (debounceTimer != null) clearTimeout(debounceTimer);\n if (controller) {\n generation++;\n controller.abort();\n controller = null;\n loading.value = false;\n }\n const delay = Math.max(0, options.debounceMs ?? 0);\n if (delay === 0) {\n void load();\n return;\n }\n debounceTimer = setTimeout(() => { void load(); }, delay);\n };\n\n const onGridReady = (event: { api: GridApi<TData> }): void => {\n api = event.api;\n void nextTick(syncVisibleSelection);\n };\n const onPaginationChanged = (event: PaginationChangedEvent<TData>): void => {\n if (suppressGridEvents) return;\n if (event.page === page.value && event.pageSize === pageSize.value) return;\n page.value = event.page;\n pageSize.value = event.pageSize;\n void load();\n };\n const onSortChanged = (event: SortChangedEvent<TData>): void => {\n if (suppressGridEvents) return;\n sortModel.value = event.sortModel.map((item) => ({ ...item }));\n scheduleLoad(true);\n };\n const onFilterChanged = (event: FilterChangedEvent<TData>): void => {\n if (suppressGridEvents) return;\n filterModel.value = { ...event.filterModel };\n if (options.clearSelectionOnQueryChange !== false) clearSelection();\n scheduleLoad(true);\n };\n const onSelectionChanged = (event: SelectionChangedEvent<TData>): void => {\n if (suppressSelectionEvents) return;\n const visibleIds = new Set(rows.value.map(rowId));\n const nextVisibleIds = new Set(event.selectedRows.map(rowId));\n if (allMatching.value) {\n for (const id of visibleIds) {\n if (nextVisibleIds.has(id)) excludedIds.delete(id);\n else {\n excludedIds.add(id);\n selectedById.delete(id);\n }\n }\n for (const row of event.selectedRows) selectedById.set(rowId(row), row);\n updateSelectedRefs();\n return;\n }\n if (selectionScope === \"page\") {\n selectedIds.clear();\n selectedById.clear();\n } else {\n for (const id of visibleIds) {\n selectedIds.delete(id);\n selectedById.delete(id);\n }\n }\n for (const row of event.selectedRows) {\n const id = rowId(row);\n selectedIds.add(id);\n selectedById.set(id, row);\n }\n updateSelectedRefs();\n };\n\n const gridProps = computed<GridOptions<TData>>(() => ({\n rowData: rows.value,\n loading: loading.value,\n getRowId: ({ data }) => rowId(data),\n manualSorting: true,\n manualFiltering: true,\n quickFilterText: quickFilterText.value,\n overlayNoRowsTemplate: error.value\n ? () => options.errorOverlay?.({ error: error.value, retry: load }) ?? \"Remote request failed. Please retry.\"\n : options.emptyOverlay,\n pagination: {\n mode: \"server\",\n page: page.value,\n pageSize: pageSize.value,\n pageSizeOptions: pageSizes,\n total: total.value,\n showTotal: true,\n showPageSizeSelector: true\n },\n onGridReady,\n onPaginationChanged,\n onSortChanged,\n onFilterChanged,\n onSelectionChanged\n }));\n\n const reload = async (reloadOptions: { resetPage?: boolean } = {}): Promise<void> => {\n if (reloadOptions.resetPage) page.value = 1;\n await load();\n };\n const reset = async (): Promise<void> => {\n page.value = 1;\n sortModel.value = [];\n filterModel.value = {};\n clearSelection();\n suppressGridEvents = true;\n try {\n api?.setSortModel(null);\n api?.setFilterModel(null);\n } finally {\n suppressGridEvents = false;\n }\n await load();\n };\n const clearSelection = (): void => {\n allMatching.value = false;\n selectedIds.clear();\n excludedIds.clear();\n selectedById.clear();\n updateSelectedRefs();\n suppressSelectionEvents = true;\n try { api?.deselectAll(); } finally { suppressSelectionEvents = false; }\n };\n const selectAllMatching = (): void => {\n allMatching.value = true;\n selectedIds.clear();\n excludedIds.clear();\n selectedById.clear();\n for (const row of rows.value) selectedById.set(rowId(row), row);\n updateSelectedRefs();\n syncVisibleSelection();\n };\n const applySelectionState = (state: MachTableRemoteSelectionState): void => {\n selectedIds.clear();\n excludedIds.clear();\n selectedById.clear();\n allMatching.value = state.mode === \"allMatching\";\n const ids = state.mode === \"allMatching\" ? state.excludedKeys : state.selectedKeys;\n for (const id of ids.map(String)) {\n if (state.mode === \"allMatching\") excludedIds.add(id);\n else selectedIds.add(id);\n }\n for (const row of rows.value) {\n const id = rowId(row);\n if (isSelectedId(id)) selectedById.set(id, row);\n }\n updateSelectedRefs();\n syncVisibleSelection();\n };\n\n const selectionState = computed<MachTableRemoteSelectionState>(() => {\n void selectionRevision.value;\n return allMatching.value\n ? { mode: \"allMatching\", excludedKeys: [...excludedIds] }\n : { mode: \"explicit\", selectedKeys: [...selectedIds] };\n });\n\n watch(\n () => readSource(options.query),\n () => {\n if (options.clearSelectionOnQueryChange !== false) clearSelection();\n scheduleLoad(true);\n },\n { deep: true, immediate: options.immediate !== false }\n );\n watch(quickFilterText, () => {\n if (options.clearSelectionOnQueryChange !== false) clearSelection();\n scheduleLoad(true);\n });\n watch(selectedKeys, (keys) => {\n if (updatingSelectedRefs) return;\n allMatching.value = false;\n excludedIds.clear();\n const wanted = new Set(keys.map(String));\n selectedIds.clear();\n for (const id of wanted) selectedIds.add(id);\n for (const id of [...selectedById.keys()]) {\n if (!wanted.has(id)) selectedById.delete(id);\n }\n for (const row of rows.value) {\n const id = rowId(row);\n if (wanted.has(id)) selectedById.set(id, row);\n }\n syncVisibleSelection();\n updateSelectedRefs();\n }, { deep: true, flush: \"sync\" });\n\n onScopeDispose(() => {\n abort();\n api = null;\n });\n\n return {\n rows,\n loading,\n error,\n page,\n pageSize,\n total,\n sortModel,\n filterModel,\n selectedKeys,\n selectedRows,\n selectionState,\n gridProps,\n bindings: gridProps,\n reload,\n retry: load,\n reset,\n abort,\n clearSelection,\n selectAllMatching,\n applySelectionState\n };\n}\n"],"mappings":"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","names":["computed","onScopeDispose","ref","shallowRef","watch","useMachTableEditing","table","options","changes","dirtyRowIds","saving","saveError","dirty","removeDirtyListener","refresh","api","save","handler","rowIds","saved","error","rollback","changed","markSaved","reveal","rowId","colId","edit","node","onBeforeUnload","event","message","computed","isRef","nextTick","onScopeDispose","ref","shallowRef","watch","getByPath","readSource","source","normalizePositive","value","fallback","isAbortError","error","useMachTableQuery","options","rows","loading","page","pageSize","total","sortModel","filterModel","selectedKeys","selectedRows","selectedIds","excludedIds","selectedById","quickFilterText","selectionScope","allMatching","selectionRevision","pageSizes","a","b","api","controller","generation","debounceTimer","suppressGridEvents","suppressSelectionEvents","updatingSelectedRefs","rowId","row","updateSelectedRefs","ids","id","isSelectedId","syncVisibleSelection","selected","abort","isStaleRequest","activeController","requestGeneration","validatePageResult","result","applyPageResult","nextRows","handleRequestError","requestError","load","item","scheduleLoad","resetPage","delay","onGridReady","event","onPaginationChanged","onSortChanged","onFilterChanged","clearSelection","onSelectionChanged","visibleIds","nextVisibleIds","gridProps","data","reload","reloadOptions","reset","selectAllMatching","applySelectionState","state","selectionState","keys","wanted"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createMachTablePreset as l}from"@agile-team/mach-table";function G(e){return e}function M(e){return e?(Array.isArray(e)?e:[e]).filter(n=>typeof n=="string"&&n.trim().length>0):[]}function p(e={}){return{defaults:l({columnTypes:e.columnTypes,components:e.components},e.defaults??{}),presets:Object.fromEntries(Object.entries(e.presets??{}).map(([n,t])=>[n,l(t)])),defaultPreset:e.defaultPreset??!1,...e.onConfigWarning?{onConfigWarning:e.onConfigWarning}:{}}}function b(e,n){let t=p(n),r={...e.presets};for(let[f,o]of Object.entries(n.presets??{}))r[f]=l(e.presets[f]??{},o);return{defaults:l(e.defaults,t.defaults),presets:r,defaultPreset:n.defaultPreset===void 0?e.defaultPreset:n.defaultPreset,...n.onConfigWarning??e.onConfigWarning?{onConfigWarning:n.onConfigWarning??e.onConfigWarning}:{}}}function x(e,n,t,r){let f=n===void 0?e.defaultPreset:n,o=[{name:"application defaults",options:e.defaults}];for(let a of M(f)){let i=e.presets[a];if(!i){let s={code:"UNKNOWN_PRESET",preset:a,message:`[MachTable] Unknown preset "${a}". Register it in mach-table.config.ts or remove the preset prop.`};r?r(s):e.onConfigWarning?e.onConfigWarning(s):console.warn(s.message);continue}o.push({name:`preset:${a}`,options:i})}o.push({name:"table props",options:t});let T=l(...o.map(a=>a.options));return{options:T,explain(a){let i=o.filter(c=>Object.prototype.hasOwnProperty.call(c.options,a)).map(c=>({name:c.name,value:c.options[a]})),s=i[i.length-1];return{key:a,value:T[a],source:s?.name??"MachTable built-in",layers:i}}}}import{computed as R,inject as d,isRef as m,provide as C,shallowRef as u}from"vue";var h=Symbol("mach-table-defaults"),g=Symbol("mach-table-config"),y=p();function O(e){return typeof e=="function"?e():m(e)?e.value:e}function E(e){return u(p(e))}function P(e){let n=d(g,u(y)),t=R(()=>b(n.value,O(e)));return C(g,t),C(h,t.value.defaults),t}function w(e){P(()=>({defaults:typeof e=="function"?e():m(e)?e.value:e}))}function N(){let e=d(g,null);return e?e.value.defaults:d(h,{})}function _(){return d(g,u(y))}export{G as a,p as b,b as c,x as d,h as e,g as f,E as g,P as h,w as i,N as j,_ as k};
|
|
2
|
+
//# sourceMappingURL=chunk-ICHFPO5U.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/configuration.ts","../src/defaults.ts"],"sourcesContent":["import {\n createMachTablePreset,\n type ColDef,\n type GridComponents,\n type GridOptions\n} from \"@agile-team/mach-table\";\n\nexport type MachTablePresetSelection = string | readonly string[] | false | null;\n\nexport interface MachTableConfigWarning {\n code: \"UNKNOWN_PRESET\";\n message: string;\n preset?: string;\n}\n\nexport interface MachTableRuntimeConfig {\n /** Defaults inherited by every table in this application or subtree. */\n defaults?: Partial<GridOptions<any>>;\n /** Application-wide semantic column types. Kept separate for config readability. */\n columnTypes?: Readonly<Record<string, Partial<ColDef<any>>>>;\n /** Application-wide renderer/editor registry. Per-table components can override it. */\n components?: GridComponents;\n /** Named, reusable behavior profiles such as `list`, `crud` or `picker`. */\n presets?: Readonly<Record<string, Partial<GridOptions<any>>>>;\n /** Preset used when a table does not declare its own `preset`. Set false to disable. */\n defaultPreset?: MachTablePresetSelection;\n /** Receives non-fatal configuration diagnostics. */\n onConfigWarning?: (warning: MachTableConfigWarning) => void;\n}\n\nexport interface ResolvedMachTableConfig {\n readonly defaults: Partial<GridOptions<any>>;\n readonly presets: Readonly<Record<string, Partial<GridOptions<any>>>>;\n readonly defaultPreset: MachTablePresetSelection;\n readonly onConfigWarning?: (warning: MachTableConfigWarning) => void;\n}\n\nexport interface MachTableOptionExplanation {\n readonly key: keyof GridOptions<any> | string;\n readonly value: unknown;\n /** The most specific layer that declared the option. */\n readonly source: string;\n readonly layers: readonly { name: string; value: unknown }[];\n}\n\nexport interface ResolvedMachTableGridOptions<TData = any> {\n readonly options: GridOptions<TData>;\n explain(key: keyof GridOptions<TData> | string): MachTableOptionExplanation;\n}\n\n/**\n * Type-checks an application configuration without adding runtime work.\n * Put the result in a dedicated `mach-table.config.ts` and pass it to app.use().\n */\nexport function defineMachTableConfig<const TConfig extends MachTableRuntimeConfig>(config: TConfig): TConfig {\n return config;\n}\n\nfunction presetNames(selection: MachTablePresetSelection | undefined): readonly string[] {\n if (!selection) return [];\n return (Array.isArray(selection) ? selection : [selection])\n .filter((name): name is string => typeof name === \"string\" && name.trim().length > 0);\n}\n\nexport function normalizeMachTableConfig(config: MachTableRuntimeConfig = {}): ResolvedMachTableConfig {\n return {\n defaults: createMachTablePreset(\n { columnTypes: config.columnTypes, components: config.components },\n config.defaults ?? {}\n ),\n presets: Object.fromEntries(\n Object.entries(config.presets ?? {}).map(([name, preset]) => [name, createMachTablePreset(preset)])\n ),\n defaultPreset: config.defaultPreset ?? false,\n ...(config.onConfigWarning ? { onConfigWarning: config.onConfigWarning } : {})\n };\n}\n\n/** Merges an app/route configuration while preserving parent preset definitions. */\nexport function mergeMachTableConfig(\n parent: ResolvedMachTableConfig,\n child: MachTableRuntimeConfig\n): ResolvedMachTableConfig {\n const normalizedChild = normalizeMachTableConfig(child);\n const presets: Record<string, Partial<GridOptions<any>>> = { ...parent.presets };\n for (const [name, preset] of Object.entries(child.presets ?? {})) {\n presets[name] = createMachTablePreset(parent.presets[name] ?? {}, preset);\n }\n return {\n defaults: createMachTablePreset(parent.defaults, normalizedChild.defaults),\n presets,\n defaultPreset: child.defaultPreset === undefined ? parent.defaultPreset : child.defaultPreset,\n ...(child.onConfigWarning ?? parent.onConfigWarning\n ? { onConfigWarning: child.onConfigWarning ?? parent.onConfigWarning }\n : {})\n };\n}\n\nexport function resolveMachTableGridOptions<TData>(\n config: ResolvedMachTableConfig,\n requestedPreset: MachTablePresetSelection | undefined,\n explicit: Partial<GridOptions<TData>>,\n reportWarning?: (warning: MachTableConfigWarning) => void\n): ResolvedMachTableGridOptions<TData> {\n const selected = requestedPreset === undefined ? config.defaultPreset : requestedPreset;\n const layers: { name: string; options: Partial<GridOptions<TData>> }[] = [\n { name: \"application defaults\", options: config.defaults as Partial<GridOptions<TData>> }\n ];\n for (const name of presetNames(selected)) {\n const preset = config.presets[name];\n if (!preset) {\n const warning: MachTableConfigWarning = {\n code: \"UNKNOWN_PRESET\",\n preset: name,\n message: `[MachTable] Unknown preset \\\"${name}\\\". Register it in mach-table.config.ts or remove the preset prop.`\n };\n if (reportWarning) reportWarning(warning);\n else if (config.onConfigWarning) config.onConfigWarning(warning);\n else console.warn(warning.message);\n continue;\n }\n layers.push({ name: `preset:${name}`, options: preset as Partial<GridOptions<TData>> });\n }\n layers.push({ name: \"table props\", options: explicit });\n const options = createMachTablePreset(...layers.map((layer) => layer.options));\n\n return {\n options,\n explain(key) {\n const declared = layers\n .filter((layer) => Object.prototype.hasOwnProperty.call(layer.options, key))\n .map((layer) => ({ name: layer.name, value: (layer.options as Record<string, unknown>)[key] }));\n const last = declared[declared.length - 1];\n return {\n key,\n value: (options as Record<string, unknown>)[key],\n source: last?.name ?? \"MachTable built-in\",\n layers: declared\n };\n }\n };\n}\n","import { computed, inject, isRef, provide, shallowRef, type InjectionKey, type Ref } from \"vue\";\nimport type { GridOptions } from \"@agile-team/mach-table\";\nimport {\n mergeMachTableConfig,\n normalizeMachTableConfig,\n type MachTableRuntimeConfig,\n type ResolvedMachTableConfig\n} from \"./configuration\";\n\nexport const MACH_TABLE_DEFAULTS_KEY: InjectionKey<Partial<GridOptions<any>>> = Symbol(\"mach-table-defaults\");\nexport const MACH_TABLE_CONFIG_KEY: InjectionKey<Readonly<Ref<ResolvedMachTableConfig>>> = Symbol(\"mach-table-config\");\n\nexport type MachTableConfigSource =\n | MachTableRuntimeConfig\n | Readonly<Ref<MachTableRuntimeConfig>>\n | (() => MachTableRuntimeConfig);\n\nconst EMPTY_CONFIG = normalizeMachTableConfig();\n\nfunction readSource(source: MachTableConfigSource): MachTableRuntimeConfig {\n if (typeof source === \"function\") return source();\n return isRef(source) ? source.value : source;\n}\n\nexport function createMachTableConfigRef(config: MachTableRuntimeConfig): Readonly<Ref<ResolvedMachTableConfig>> {\n return shallowRef(normalizeMachTableConfig(config));\n}\n\n/** Provides route/layout-scoped defaults, presets and diagnostics reactively. */\nexport function provideMachTableConfig(source: MachTableConfigSource): Readonly<Ref<ResolvedMachTableConfig>> {\n const parent = inject(MACH_TABLE_CONFIG_KEY, shallowRef(EMPTY_CONFIG));\n const resolved = computed(() => mergeMachTableConfig(parent.value, readSource(source)));\n provide(MACH_TABLE_CONFIG_KEY, resolved);\n // Keep the 0.x injection key available for consumers that injected it directly.\n provide(MACH_TABLE_DEFAULTS_KEY, resolved.value.defaults);\n return resolved;\n}\n\n/** Provides route/layout-scoped defaults. Per-table props always take precedence. */\nexport function provideMachTableDefaults<TData>(\n defaults: Partial<GridOptions<TData>> | Readonly<Ref<Partial<GridOptions<TData>>>> | (() => Partial<GridOptions<TData>>)\n): void {\n provideMachTableConfig(() => ({\n defaults: typeof defaults === \"function\" ? defaults() : isRef(defaults) ? defaults.value : defaults\n }));\n}\n\nexport function useMachTableDefaults<TData>(): Partial<GridOptions<TData>> {\n const config = inject(MACH_TABLE_CONFIG_KEY, null);\n if (config) return config.value.defaults as Partial<GridOptions<TData>>;\n return inject(MACH_TABLE_DEFAULTS_KEY, {}) as Partial<GridOptions<TData>>;\n}\n\nexport function useMachTableConfig(): Readonly<Ref<ResolvedMachTableConfig>> {\n return inject(MACH_TABLE_CONFIG_KEY, shallowRef(EMPTY_CONFIG));\n}\n"],"mappings":"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","names":["createMachTablePreset","defineMachTableConfig","config","presetNames","selection","name","normalizeMachTableConfig","preset","mergeMachTableConfig","parent","child","normalizedChild","presets","resolveMachTableGridOptions","requestedPreset","explicit","reportWarning","selected","layers","warning","options","layer","key","declared","last","computed","inject","isRef","provide","shallowRef","MACH_TABLE_DEFAULTS_KEY","MACH_TABLE_CONFIG_KEY","EMPTY_CONFIG","normalizeMachTableConfig","readSource","source","isRef","createMachTableConfigRef","config","shallowRef","provideMachTableConfig","parent","inject","resolved","computed","mergeMachTableConfig","provide","provideMachTableDefaults","defaults","useMachTableDefaults","useMachTableConfig"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _machtable = require('@agile-team/mach-table');function G(e){return e}function M(e){return e?(Array.isArray(e)?e:[e]).filter(n=>typeof n=="string"&&n.trim().length>0):[]}function p(e={}){return{defaults:_machtable.createMachTablePreset.call(void 0, {columnTypes:e.columnTypes,components:e.components},_nullishCoalesce(e.defaults, () => ({}))),presets:Object.fromEntries(Object.entries(_nullishCoalesce(e.presets, () => ({}))).map(([n,t])=>[n,_machtable.createMachTablePreset.call(void 0, t)])),defaultPreset:_nullishCoalesce(e.defaultPreset, () => (!1)),...e.onConfigWarning?{onConfigWarning:e.onConfigWarning}:{}}}function b(e,n){let t=p(n),r={...e.presets};for(let[f,o]of Object.entries(_nullishCoalesce(n.presets, () => ({}))))r[f]=_machtable.createMachTablePreset.call(void 0, _nullishCoalesce(e.presets[f], () => ({})),o);return{defaults:_machtable.createMachTablePreset.call(void 0, e.defaults,t.defaults),presets:r,defaultPreset:n.defaultPreset===void 0?e.defaultPreset:n.defaultPreset,..._nullishCoalesce(n.onConfigWarning, () => (e.onConfigWarning))?{onConfigWarning:_nullishCoalesce(n.onConfigWarning, () => (e.onConfigWarning))}:{}}}function x(e,n,t,r){let f=n===void 0?e.defaultPreset:n,o=[{name:"application defaults",options:e.defaults}];for(let a of M(f)){let i=e.presets[a];if(!i){let s={code:"UNKNOWN_PRESET",preset:a,message:`[MachTable] Unknown preset "${a}". Register it in mach-table.config.ts or remove the preset prop.`};r?r(s):e.onConfigWarning?e.onConfigWarning(s):console.warn(s.message);continue}o.push({name:`preset:${a}`,options:i})}o.push({name:"table props",options:t});let T=_machtable.createMachTablePreset.call(void 0, ...o.map(a=>a.options));return{options:T,explain(a){let i=o.filter(c=>Object.prototype.hasOwnProperty.call(c.options,a)).map(c=>({name:c.name,value:c.options[a]})),s=i[i.length-1];return{key:a,value:T[a],source:_nullishCoalesce(_optionalChain([s, 'optionalAccess', _2 => _2.name]), () => ("MachTable built-in")),layers:i}}}}var _vue = require('vue');var h=Symbol("mach-table-defaults"),g= exports.f =Symbol("mach-table-config"),y=p();function O(e){return typeof e=="function"?e():_vue.isRef.call(void 0, e)?e.value:e}function E(e){return _vue.shallowRef.call(void 0, p(e))}function P(e){let n=_vue.inject.call(void 0, g,_vue.shallowRef.call(void 0, y)),t=_vue.computed.call(void 0, ()=>b(n.value,O(e)));return _vue.provide.call(void 0, g,t),_vue.provide.call(void 0, h,t.value.defaults),t}function w(e){P(()=>({defaults:typeof e=="function"?e():_vue.isRef.call(void 0, e)?e.value:e}))}function N(){let e=_vue.inject.call(void 0, g,null);return e?e.value.defaults:_vue.inject.call(void 0, h,{})}function _(){return _vue.inject.call(void 0, g,_vue.shallowRef.call(void 0, y))}exports.a = G; exports.b = p; exports.c = b; exports.d = x; exports.e = h; exports.f = g; exports.g = E; exports.h = P; exports.i = w; exports.j = N; exports.k = _;
|
|
2
|
+
//# sourceMappingURL=chunk-MVK2O7FM.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["d:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\chunk-MVK2O7FM.cjs"],"names":[],"mappings":"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","file":"D:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\chunk-MVK2O7FM.cjs","sourcesContent":[null]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _vue = require('vue');function me(a,i={}){let m=_vue.shallowRef.call(void 0, []),v=_vue.ref.call(void 0, []),c=_vue.ref.call(void 0, !1),g=_vue.shallowRef.call(void 0, null),P=_vue.computed.call(void 0, ()=>v.value.length>0),T=null,y=()=>{let o=a.api.value;if(!o||o.isDestroyed()){v.value=[],m.value=[];return}v.value=o.getDirtyRowIds(),m.value=o.getChanges()};_vue.watch.call(void 0, a.api,o=>{_optionalChain([T, 'optionalCall', _2 => _2()]),T=null,y(),!(!o||o.isDestroyed())&&(T=o.addEventListener("dirtyStateChanged",y))},{immediate:!0});let x=async(o,p)=>{let u=a.api.value;if(!u||u.isDestroyed())throw new Error("[MachTable] Cannot save before the grid is ready.");if(c.value)throw new Error("[MachTable] A save operation is already in progress.");c.value=!0,g.value=null;try{let d=await u.saveChanges(o,p);return y(),_optionalChain([i, 'access', _3 => _3.onSaveSuccess, 'optionalCall', _4 => _4(d)]),d}catch(d){throw g.value=d,_optionalChain([i, 'access', _5 => _5.onSaveError, 'optionalCall', _6 => _6(d)]),d}finally{c.value=!1}},F=o=>{let p=_nullishCoalesce(_optionalChain([a, 'access', _7 => _7.api, 'access', _8 => _8.value, 'optionalAccess', _9 => _9.rollbackChanges, 'call', _10 => _10(o)]), () => (!1));return y(),p},s=o=>{_optionalChain([a, 'access', _11 => _11.api, 'access', _12 => _12.value, 'optionalAccess', _13 => _13.markChangesSaved, 'call', _14 => _14(o)]),y()},f=(o,p,u=!1)=>{let d=a.api.value,w=_optionalChain([d, 'optionalAccess', _15 => _15.getNodeById, 'call', _16 => _16(o)]);return!d||!w||w.rowIndex<0?!1:(d.scrollToIndex(w.rowIndex,"middle"),p&&u?d.startEditingCell({rowIndex:w.rowIndex,colId:p}):!0)},l=o=>{if(!P.value)return;let p=_nullishCoalesce(i.beforeUnloadMessage, () => ("\u5B58\u5728\u672A\u4FDD\u5B58\u7684\u8868\u683C\u4FEE\u6539\u3002"));return o.preventDefault(),o.returnValue=p,p};return i.guardBeforeUnload&&typeof window<"u"&&window.addEventListener("beforeunload",l),_vue.onScopeDispose.call(void 0, ()=>{_optionalChain([T, 'optionalCall', _17 => _17()]),T=null,i.guardBeforeUnload&&typeof window<"u"&&window.removeEventListener("beforeunload",l)}),{changes:m,dirtyRowIds:v,dirty:P,saving:c,saveError:g,save:x,rollback:F,markSaved:s,reveal:f,refresh:y}}var _machtable = require('@agile-team/mach-table');function X(a){return typeof a=="function"?a():_vue.isRef.call(void 0, a)?a.value:a}function L(a,i){return typeof a=="number"&&Number.isFinite(a)&&a>0?Math.floor(a):i}function pe(a){return(a instanceof DOMException||typeof a=="object"&&a!=null&&"name"in a)&&a.name==="AbortError"}function be(a){let i=_vue.shallowRef.call(void 0, []),m=_vue.ref.call(void 0, !1),v=_vue.shallowRef.call(void 0, null),c=_vue.ref.call(void 0, L(a.initialPage,1)),g=_vue.ref.call(void 0, L(a.pageSize,20)),P=_vue.ref.call(void 0, 0),T=_vue.shallowRef.call(void 0, []),y=_vue.shallowRef.call(void 0, {}),x=_vue.ref.call(void 0, []),F=_vue.shallowRef.call(void 0, []),s=new Set,f=new Set,l=new Map,o=_nullishCoalesce(a.quickFilterText, () => (_vue.ref.call(void 0, null))),p=_nullishCoalesce(a.selectionScope, () => ("preserve")),u=_vue.ref.call(void 0, !1),d=_vue.ref.call(void 0, 0),w=[...new Set((_nullishCoalesce(a.pageSizeOptions, () => ([10,20,50,100]))).map(e=>L(e,0)).filter(Boolean))];w.includes(g.value)||w.push(g.value),w.sort((e,t)=>e-t);let R=null,S=null,k=0,b=null,O=!1,Q=!1,G=!1,h=e=>{let t=typeof a.rowKey=="function"?a.rowKey(e):_machtable.getByPath.call(void 0, e,a.rowKey);if(t==null||String(t).length===0)throw new Error(`[MachTable] useMachTableQuery rowKey "${String(a.rowKey)}" returned an empty value.`);return String(t)},D=()=>{G=!0,x.value=u.value?[]:[...s],G=!1;let e=u.value?[...l.keys()]:[...s];F.value=e.flatMap(t=>{let r=l.get(t);return r===void 0||f.has(t)?[]:[r]}),d.value++},z=e=>u.value?!f.has(e):s.has(e),q=()=>{if(!R||R.isDestroyed())return;let e=i.value.filter(t=>z(h(t)));Q=!0;try{R.setSelection(e,!0)}finally{Q=!1}},N=()=>{k++,_optionalChain([S, 'optionalAccess', _18 => _18.abort, 'call', _19 => _19()]),S=null,b!=null&&clearTimeout(b),b=null,m.value=!1},H=(e,t)=>e.signal.aborted||t!==k,Y=e=>{if(!e||!Array.isArray(e.rows)||!Number.isFinite(e.total)||e.total<0)throw new TypeError("[MachTable] Remote request must resolve to { rows: TData[], total: non-negative number }.")},Z=async(e,t,r)=>{if(H(t,r))return;Y(e);let n=[...e.rows];for(let E of n)h(E);i.value=n,P.value=Math.floor(e.total);for(let E of i.value){let K=h(E);z(K)?l.set(K,E):l.delete(K)}D(),_optionalChain([a, 'access', _20 => _20.onSuccess, 'optionalCall', _21 => _21(e)]),await _vue.nextTick.call(void 0, ),q()},_=(e,t,r)=>{H(t,r)||pe(e)||(v.value=_nullishCoalesce(e, () => (new Error)),_optionalChain([a, 'access', _22 => _22.onError, 'optionalCall', _23 => _23(v.value)]))},C=async()=>{b!=null&&clearTimeout(b),b=null,_optionalChain([S, 'optionalAccess', _24 => _24.abort, 'call', _25 => _25()]);let e=new AbortController;S=e;let t=++k;m.value=!0,v.value=null,a.keepPreviousData===!1&&(i.value=[]);try{let r=await a.request({page:c.value,pageSize:g.value,query:X(a.query),sortModel:T.value.map(n=>({...n})),filterModel:{...y.value},quickFilterText:o.value,signal:e.signal});await Z(r,e,t)}catch(r){_(r,e,t)}finally{t===k&&(m.value=!1,S===e&&(S=null))}},U=e=>{e&&(c.value=1),b!=null&&clearTimeout(b),S&&(k++,S.abort(),S=null,m.value=!1);let t=Math.max(0,_nullishCoalesce(a.debounceMs, () => (0)));if(t===0){C();return}b=setTimeout(()=>{C()},t)},ee=e=>{R=e.api,_vue.nextTick.call(void 0, q)},ae=e=>{O||e.page===c.value&&e.pageSize===g.value||(c.value=e.page,g.value=e.pageSize,C())},te=e=>{O||(T.value=e.sortModel.map(t=>({...t})),U(!0))},re=e=>{O||(y.value={...e.filterModel},a.clearSelectionOnQueryChange!==!1&&I(),U(!0))},ne=e=>{if(Q)return;let t=new Set(i.value.map(h)),r=new Set(e.selectedRows.map(h));if(u.value){for(let n of t)r.has(n)?f.delete(n):(f.add(n),l.delete(n));for(let n of e.selectedRows)l.set(h(n),n);D();return}if(p==="page")s.clear(),l.clear();else for(let n of t)s.delete(n),l.delete(n);for(let n of e.selectedRows){let E=h(n);s.add(E),l.set(E,n)}D()},V=_vue.computed.call(void 0, ()=>({rowData:i.value,loading:m.value,getRowId:({data:e})=>h(e),manualSorting:!0,manualFiltering:!0,quickFilterText:o.value,overlayNoRowsTemplate:v.value?()=>_nullishCoalesce(_optionalChain([a, 'access', _26 => _26.errorOverlay, 'optionalCall', _27 => _27({error:v.value,retry:C})]), () => ("Remote request failed. Please retry.")):a.emptyOverlay,pagination:{mode:"server",page:c.value,pageSize:g.value,pageSizeOptions:w,total:P.value,showTotal:!0,showPageSizeSelector:!0},onGridReady:ee,onPaginationChanged:ae,onSortChanged:te,onFilterChanged:re,onSelectionChanged:ne})),oe=async(e={})=>{e.resetPage&&(c.value=1),await C()},le=async()=>{c.value=1,T.value=[],y.value={},I(),O=!0;try{_optionalChain([R, 'optionalAccess', _28 => _28.setSortModel, 'call', _29 => _29(null)]),_optionalChain([R, 'optionalAccess', _30 => _30.setFilterModel, 'call', _31 => _31(null)])}finally{O=!1}await C()},I=()=>{u.value=!1,s.clear(),f.clear(),l.clear(),D(),Q=!0;try{_optionalChain([R, 'optionalAccess', _32 => _32.deselectAll, 'call', _33 => _33()])}finally{Q=!1}},ie=()=>{u.value=!0,s.clear(),f.clear(),l.clear();for(let e of i.value)l.set(h(e),e);D(),q()},se=e=>{s.clear(),f.clear(),l.clear(),u.value=e.mode==="allMatching";let t=e.mode==="allMatching"?e.excludedKeys:e.selectedKeys;for(let r of t.map(String))e.mode==="allMatching"?f.add(r):s.add(r);for(let r of i.value){let n=h(r);z(n)&&l.set(n,r)}D(),q()},ue=_vue.computed.call(void 0, ()=>(d.value,u.value?{mode:"allMatching",excludedKeys:[...f]}:{mode:"explicit",selectedKeys:[...s]}));return _vue.watch.call(void 0, ()=>X(a.query),()=>{a.clearSelectionOnQueryChange!==!1&&I(),U(!0)},{deep:!0,immediate:a.immediate!==!1}),_vue.watch.call(void 0, o,()=>{a.clearSelectionOnQueryChange!==!1&&I(),U(!0)}),_vue.watch.call(void 0, x,e=>{if(G)return;u.value=!1,f.clear();let t=new Set(e.map(String));s.clear();for(let r of t)s.add(r);for(let r of[...l.keys()])t.has(r)||l.delete(r);for(let r of i.value){let n=h(r);t.has(n)&&l.set(n,r)}q(),D()},{deep:!0,flush:"sync"}),_vue.onScopeDispose.call(void 0, ()=>{N(),R=null}),{rows:i,loading:m,error:v,page:c,pageSize:g,total:P,sortModel:T,filterModel:y,selectedKeys:x,selectedRows:F,selectionState:ue,gridProps:V,bindings:V,reload:oe,retry:C,reset:le,abort:N,clearSelection:I,selectAllMatching:ie,applySelectionState:se}}exports.a = me; exports.b = be;
|
|
2
|
+
//# sourceMappingURL=chunk-Y6OAV3U4.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["d:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\chunk-Y6OAV3U4.cjs"],"names":[],"mappings":"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","file":"D:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\chunk-Y6OAV3U4.cjs","sourcesContent":[null]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkMVK2O7FMcjs = require('./chunk-MVK2O7FM.cjs');function p(e,n,o={}){let r=_nullishCoalesce(o.componentName, () => ("MachTable"));if(!r.trim())throw new Error("[MachTable] Global componentName must not be empty.");let i=new Set([r]),c=_chunkMVK2O7FMcjs.g.call(void 0, o);e.provide(_chunkMVK2O7FMcjs.f,c),e.provide(_chunkMVK2O7FMcjs.e,_nullishCoalesce(c.value.defaults, () => ({}))),o.registerRobotGridAlias!==!1&&i.add("RobotGrid");for(let t of i){let a=e.component(t);if(a&&a!==n)throw new Error(`[MachTable] Cannot register global component "${t}" because that name is already in use.`);a||e.component(t,n)}}exports.a = p;
|
|
2
|
+
//# sourceMappingURL=chunk-Z6YS22CL.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["d:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\chunk-Z6YS22CL.cjs"],"names":[],"mappings":"AAAA,qOAAsD,SAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAC,CAAC,CAAC,aAAa,SAAE,aAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAC,CAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAC,kBAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,SAAE,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,8CAA8C,EAAE,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc","file":"D:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\chunk-Z6YS22CL.cjs","sourcesContent":[null]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{e as l,f as m,g as b}from"./chunk-ICHFPO5U.js";function p(e,n,o={}){let r=o.componentName??"MachTable";if(!r.trim())throw new Error("[MachTable] Global componentName must not be empty.");let i=new Set([r]),c=b(o);e.provide(m,c),e.provide(l,c.value.defaults??{}),o.registerRobotGridAlias!==!1&&i.add("RobotGrid");for(let t of i){let a=e.component(t);if(a&&a!==n)throw new Error(`[MachTable] Cannot register global component "${t}" because that name is already in use.`);a||e.component(t,n)}}export{p as a};
|
|
2
|
+
//# sourceMappingURL=chunk-ZUOKB5ID.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/globalRegistration.ts"],"sourcesContent":["import type { App, Component } from \"vue\";\nimport type { MachTable } from \"./MachTable\";\nimport { createMachTableConfigRef, MACH_TABLE_CONFIG_KEY, MACH_TABLE_DEFAULTS_KEY } from \"./defaults\";\nimport type { MachTableRuntimeConfig } from \"./configuration\";\n\ndeclare module \"vue\" {\n export interface GlobalComponents {\n MachTable: typeof MachTable;\n RobotGrid: typeof MachTable;\n }\n}\n\nexport interface MachTablePluginOptions extends MachTableRuntimeConfig {\n /** Global component name. Defaults to `MachTable`. */\n componentName?: string;\n /** Also register the backwards-compatible `RobotGrid` name. Defaults to true. */\n registerRobotGridAlias?: boolean;\n}\n\nexport function registerGlobalMachTable(\n app: App,\n component: Component,\n options: MachTablePluginOptions = {}\n): void {\n const componentName = options.componentName ?? \"MachTable\";\n if (!componentName.trim()) {\n throw new Error(\"[MachTable] Global componentName must not be empty.\");\n }\n\n const names = new Set([componentName]);\n const config = createMachTableConfigRef(options);\n app.provide(MACH_TABLE_CONFIG_KEY, config);\n app.provide(MACH_TABLE_DEFAULTS_KEY, config.value.defaults ?? {});\n if (options.registerRobotGridAlias !== false) names.add(\"RobotGrid\");\n\n for (const name of names) {\n const existing = app.component(name);\n if (existing && existing !== component) {\n throw new Error(`[MachTable] Cannot register global component \\\"${name}\\\" because that name is already in use.`);\n }\n if (!existing) app.component(name, component);\n }\n}\n"],"mappings":"sDAmBO,SAASA,EACdC,EACAC,EACAC,EAAkC,CAAC,EAC7B,CACN,IAAMC,EAAgBD,EAAQ,eAAiB,YAC/C,GAAI,CAACC,EAAc,KAAK,EACtB,MAAM,IAAI,MAAM,qDAAqD,EAGvE,IAAMC,EAAQ,IAAI,IAAI,CAACD,CAAa,CAAC,EAC/BE,EAASC,EAAyBJ,CAAO,EAC/CF,EAAI,QAAQO,EAAuBF,CAAM,EACzCL,EAAI,QAAQQ,EAAyBH,EAAO,MAAM,UAAY,CAAC,CAAC,EAC5DH,EAAQ,yBAA2B,IAAOE,EAAM,IAAI,WAAW,EAEnE,QAAWK,KAAQL,EAAO,CACxB,IAAMM,EAAWV,EAAI,UAAUS,CAAI,EACnC,GAAIC,GAAYA,IAAaT,EAC3B,MAAM,IAAI,MAAM,iDAAkDQ,CAAI,wCAAyC,EAE5GC,GAAUV,EAAI,UAAUS,EAAMR,CAAS,CAC9C,CACF","names":["registerGlobalMachTable","app","component","options","componentName","names","config","createMachTableConfigRef","MACH_TABLE_CONFIG_KEY","MACH_TABLE_DEFAULTS_KEY","name","existing"]}
|
package/dist/editors.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _vue = require('vue');function V(t){if(t)return t;try{return _optionalChain([_vue.getCurrentInstance.call(void 0, ), 'optionalAccess', _ => _.appContext])}catch (e2){return}}function T(t,e,r){if(r){let a=_vue.h.call(void 0, t);return a.appContext=r,_vue.render.call(void 0, a,e),()=>_vue.render.call(void 0, null,e)}let l=_vue.createApp.call(void 0, t);return l.mount(e),()=>l.unmount()}function d(t,e={}){let r=V(e.appContext),l=_nullishCoalesce(e.valueProp, () => ("modelValue")),a=_nullishCoalesce(e.updateEvent, () => ("onUpdate:modelValue"));return i=>{let o=_vue.shallowReactive.call(void 0, {value:i.value}),n=document.createElement("div");n.className=`mach-cell-vue mach-cell-vue--editor${e.className?` ${e.className}`:""}`,n.style.width="100%";let C=T({name:"MachTableVueCellEditor",setup:()=>()=>{let u=typeof e.props=="function"?e.props(i):e.props,c=E=>{o.value=E};return _vue.h.call(void 0, t,{..._nullishCoalesce(u, () => ({})),[l]:o.value,[a]:c,style:[{width:"100%"},_optionalChain([u, 'optionalAccess', _2 => _2.style])]},e.children?()=>e.children({params:i,value:o.value,setValue:c}):void 0)}},n,r),p=!1;return{el:n,getValue:()=>o.value,focus:()=>{let u=_nullishCoalesce(e.focusSelector, () => ("input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex='-1'])"));_optionalChain([n, 'access', _3 => _3.querySelector, 'call', _4 => _4(u), 'optionalAccess', _5 => _5.focus, 'call', _6 => _6()])},destroy:()=>{p||(p=!0,C())}}}}function b(t,e={}){return{input:t.input?d(t.input,e.input):void 0,number:t.inputNumber?d(t.inputNumber,e.number):void 0,select:t.select?d(t.select,{props:{teleported:!0},...e.select}):void 0,date:t.datePicker?d(t.datePicker,{props:{teleported:!0,valueFormat:"YYYY-MM-DD"},...e.date}):void 0}}exports.createElementPlusEditors = b; exports.vueCellEditor = d;
|
|
2
|
+
//# sourceMappingURL=editors.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["d:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\editors.cjs"],"names":[],"mappings":"AAAA,2sBAA+F,SAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,uBAAO,qCAAC,CAAE,2BAAE,YAAU,CAAC,UAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,oBAAC,CAAE,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,yBAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,yBAAC,IAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,4BAAC,CAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAC,CAAC,CAAC,SAAS,SAAE,cAAY,CAAC,CAAC,kBAAC,CAAC,CAAC,WAAW,SAAE,uBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,kCAAC,CAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,mCAAmC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA","file":"D:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\editors.cjs","sourcesContent":[null]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Component, VNodeChild, AppContext } from 'vue';
|
|
2
|
+
import { CellEditorFactory, CellEditorParams } from '@agile-team/mach-table';
|
|
3
|
+
|
|
4
|
+
interface VueCellEditorOptions<TData = any, TValue = any> {
|
|
5
|
+
props?: Record<string, unknown> | ((params: CellEditorParams<TData, TValue>) => Record<string, unknown>);
|
|
6
|
+
valueProp?: string;
|
|
7
|
+
updateEvent?: string;
|
|
8
|
+
children?: (context: {
|
|
9
|
+
params: CellEditorParams<TData, TValue>;
|
|
10
|
+
value: TValue;
|
|
11
|
+
setValue(value: TValue): void;
|
|
12
|
+
}) => VNodeChild;
|
|
13
|
+
appContext?: AppContext;
|
|
14
|
+
focusSelector?: string;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
/** Adapts any Vue v-model component to MachTable's editor lifecycle. */
|
|
18
|
+
declare function vueCellEditor<TData = any, TValue = any>(component: Component, options?: VueCellEditorOptions<TData, TValue>): CellEditorFactory;
|
|
19
|
+
interface ElementPlusEditorComponents {
|
|
20
|
+
input?: Component;
|
|
21
|
+
inputNumber?: Component;
|
|
22
|
+
select?: Component;
|
|
23
|
+
datePicker?: Component;
|
|
24
|
+
}
|
|
25
|
+
interface ElementPlusEditors {
|
|
26
|
+
input?: CellEditorFactory;
|
|
27
|
+
number?: CellEditorFactory;
|
|
28
|
+
select?: CellEditorFactory;
|
|
29
|
+
date?: CellEditorFactory;
|
|
30
|
+
}
|
|
31
|
+
/** Optional Element Plus bridge; Element Plus remains owned by the host app. */
|
|
32
|
+
declare function createElementPlusEditors(components: ElementPlusEditorComponents, defaults?: Partial<Record<keyof ElementPlusEditors, VueCellEditorOptions>>): ElementPlusEditors;
|
|
33
|
+
|
|
34
|
+
export { type ElementPlusEditorComponents, type ElementPlusEditors, type VueCellEditorOptions, createElementPlusEditors, vueCellEditor };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Component, VNodeChild, AppContext } from 'vue';
|
|
2
|
+
import { CellEditorFactory, CellEditorParams } from '@agile-team/mach-table';
|
|
3
|
+
|
|
4
|
+
interface VueCellEditorOptions<TData = any, TValue = any> {
|
|
5
|
+
props?: Record<string, unknown> | ((params: CellEditorParams<TData, TValue>) => Record<string, unknown>);
|
|
6
|
+
valueProp?: string;
|
|
7
|
+
updateEvent?: string;
|
|
8
|
+
children?: (context: {
|
|
9
|
+
params: CellEditorParams<TData, TValue>;
|
|
10
|
+
value: TValue;
|
|
11
|
+
setValue(value: TValue): void;
|
|
12
|
+
}) => VNodeChild;
|
|
13
|
+
appContext?: AppContext;
|
|
14
|
+
focusSelector?: string;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
/** Adapts any Vue v-model component to MachTable's editor lifecycle. */
|
|
18
|
+
declare function vueCellEditor<TData = any, TValue = any>(component: Component, options?: VueCellEditorOptions<TData, TValue>): CellEditorFactory;
|
|
19
|
+
interface ElementPlusEditorComponents {
|
|
20
|
+
input?: Component;
|
|
21
|
+
inputNumber?: Component;
|
|
22
|
+
select?: Component;
|
|
23
|
+
datePicker?: Component;
|
|
24
|
+
}
|
|
25
|
+
interface ElementPlusEditors {
|
|
26
|
+
input?: CellEditorFactory;
|
|
27
|
+
number?: CellEditorFactory;
|
|
28
|
+
select?: CellEditorFactory;
|
|
29
|
+
date?: CellEditorFactory;
|
|
30
|
+
}
|
|
31
|
+
/** Optional Element Plus bridge; Element Plus remains owned by the host app. */
|
|
32
|
+
declare function createElementPlusEditors(components: ElementPlusEditorComponents, defaults?: Partial<Record<keyof ElementPlusEditors, VueCellEditorOptions>>): ElementPlusEditors;
|
|
33
|
+
|
|
34
|
+
export { type ElementPlusEditorComponents, type ElementPlusEditors, type VueCellEditorOptions, createElementPlusEditors, vueCellEditor };
|
package/dist/editors.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createApp as v,getCurrentInstance as f,h as m,render as s,shallowReactive as y}from"vue";function V(t){if(t)return t;try{return f()?.appContext}catch{return}}function T(t,e,r){if(r){let a=m(t);return a.appContext=r,s(a,e),()=>s(null,e)}let l=v(t);return l.mount(e),()=>l.unmount()}function d(t,e={}){let r=V(e.appContext),l=e.valueProp??"modelValue",a=e.updateEvent??"onUpdate:modelValue";return i=>{let o=y({value:i.value}),n=document.createElement("div");n.className=`mach-cell-vue mach-cell-vue--editor${e.className?` ${e.className}`:""}`,n.style.width="100%";let C=T({name:"MachTableVueCellEditor",setup:()=>()=>{let u=typeof e.props=="function"?e.props(i):e.props,c=E=>{o.value=E};return m(t,{...u??{},[l]:o.value,[a]:c,style:[{width:"100%"},u?.style]},e.children?()=>e.children({params:i,value:o.value,setValue:c}):void 0)}},n,r),p=!1;return{el:n,getValue:()=>o.value,focus:()=>{let u=e.focusSelector??"input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex='-1'])";n.querySelector(u)?.focus()},destroy:()=>{p||(p=!0,C())}}}}function b(t,e={}){return{input:t.input?d(t.input,e.input):void 0,number:t.inputNumber?d(t.inputNumber,e.number):void 0,select:t.select?d(t.select,{props:{teleported:!0},...e.select}):void 0,date:t.datePicker?d(t.datePicker,{props:{teleported:!0,valueFormat:"YYYY-MM-DD"},...e.date}):void 0}}export{b as createElementPlusEditors,d as vueCellEditor};
|
|
2
|
+
//# sourceMappingURL=editors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/editors.ts"],"sourcesContent":["import {\n createApp,\n getCurrentInstance,\n h,\n render,\n shallowReactive,\n type AppContext,\n type Component,\n type VNodeChild\n} from \"vue\";\nimport type { CellEditorFactory, CellEditorParams } from \"@agile-team/mach-table\";\n\nexport interface VueCellEditorOptions<TData = any, TValue = any> {\n props?: Record<string, unknown> | ((params: CellEditorParams<TData, TValue>) => Record<string, unknown>);\n valueProp?: string;\n updateEvent?: string;\n children?: (context: {\n params: CellEditorParams<TData, TValue>;\n value: TValue;\n setValue(value: TValue): void;\n }) => VNodeChild;\n appContext?: AppContext;\n focusSelector?: string;\n className?: string;\n}\n\nfunction currentAppContext(explicit?: AppContext): AppContext | undefined {\n if (explicit) return explicit;\n try { return getCurrentInstance()?.appContext; } catch { return undefined; }\n}\n\nfunction mountEditor(component: Component, host: HTMLElement, appContext?: AppContext): () => void {\n if (appContext) {\n const vnode = h(component);\n vnode.appContext = appContext;\n render(vnode, host);\n return () => render(null, host);\n }\n const app = createApp(component);\n app.mount(host);\n return () => app.unmount();\n}\n\n/** Adapts any Vue v-model component to MachTable's editor lifecycle. */\nexport function vueCellEditor<TData = any, TValue = any>(\n component: Component,\n options: VueCellEditorOptions<TData, TValue> = {}\n): CellEditorFactory {\n const appContext = currentAppContext(options.appContext);\n const valueProp = options.valueProp ?? \"modelValue\";\n const updateEvent = options.updateEvent ?? \"onUpdate:modelValue\";\n return (params: CellEditorParams<TData, TValue>) => {\n const state = shallowReactive<{ value: TValue }>({ value: params.value });\n const host = document.createElement(\"div\");\n host.className = `mach-cell-vue mach-cell-vue--editor${options.className ? ` ${options.className}` : \"\"}`;\n host.style.width = \"100%\";\n const Root = {\n name: \"MachTableVueCellEditor\",\n setup: () => () => {\n const suppliedProps = typeof options.props === \"function\" ? options.props(params) : options.props;\n const setValue = (value: TValue) => { state.value = value; };\n return h(component, {\n ...(suppliedProps ?? {}),\n [valueProp]: state.value,\n [updateEvent]: setValue,\n style: [{ width: \"100%\" }, suppliedProps?.style]\n }, options.children ? () => options.children!({ params, value: state.value, setValue }) : undefined);\n }\n };\n const unmount = mountEditor(Root, host, appContext);\n let destroyed = false;\n return {\n el: host,\n getValue: () => state.value,\n focus: () => {\n const selector = options.focusSelector ??\n \"input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex='-1'])\";\n host.querySelector<HTMLElement>(selector)?.focus();\n },\n destroy: () => {\n if (destroyed) return;\n destroyed = true;\n unmount();\n }\n };\n };\n}\n\nexport interface ElementPlusEditorComponents {\n input?: Component;\n inputNumber?: Component;\n select?: Component;\n datePicker?: Component;\n}\n\nexport interface ElementPlusEditors {\n input?: CellEditorFactory;\n number?: CellEditorFactory;\n select?: CellEditorFactory;\n date?: CellEditorFactory;\n}\n\n/** Optional Element Plus bridge; Element Plus remains owned by the host app. */\nexport function createElementPlusEditors(\n components: ElementPlusEditorComponents,\n defaults: Partial<Record<keyof ElementPlusEditors, VueCellEditorOptions>> = {}\n): ElementPlusEditors {\n return {\n input: components.input ? vueCellEditor(components.input, defaults.input) : undefined,\n number: components.inputNumber ? vueCellEditor(components.inputNumber, defaults.number) : undefined,\n select: components.select ? vueCellEditor(components.select, { props: { teleported: true }, ...defaults.select }) : undefined,\n date: components.datePicker ? vueCellEditor(components.datePicker, {\n props: { teleported: true, valueFormat: \"YYYY-MM-DD\" },\n ...defaults.date\n }) : undefined\n };\n}\n"],"mappings":"AAAA,OACE,aAAAA,EACA,sBAAAC,EACA,KAAAC,EACA,UAAAC,EACA,mBAAAC,MAIK,MAiBP,SAASC,EAAkBC,EAA+C,CACxE,GAAIA,EAAU,OAAOA,EACrB,GAAI,CAAE,OAAOL,EAAmB,GAAG,UAAY,MAAQ,CAAE,MAAkB,CAC7E,CAEA,SAASM,EAAYC,EAAsBC,EAAmBC,EAAqC,CACjG,GAAIA,EAAY,CACd,IAAMC,EAAQT,EAAEM,CAAS,EACzB,OAAAG,EAAM,WAAaD,EACnBP,EAAOQ,EAAOF,CAAI,EACX,IAAMN,EAAO,KAAMM,CAAI,CAChC,CACA,IAAMG,EAAMZ,EAAUQ,CAAS,EAC/B,OAAAI,EAAI,MAAMH,CAAI,EACP,IAAMG,EAAI,QAAQ,CAC3B,CAGO,SAASC,EACdL,EACAM,EAA+C,CAAC,EAC7B,CACnB,IAAMJ,EAAaL,EAAkBS,EAAQ,UAAU,EACjDC,EAAYD,EAAQ,WAAa,aACjCE,EAAcF,EAAQ,aAAe,sBAC3C,OAAQG,GAA4C,CAClD,IAAMC,EAAQd,EAAmC,CAAE,MAAOa,EAAO,KAAM,CAAC,EAClER,EAAO,SAAS,cAAc,KAAK,EACzCA,EAAK,UAAY,sCAAsCK,EAAQ,UAAY,IAAIA,EAAQ,SAAS,GAAK,EAAE,GACvGL,EAAK,MAAM,MAAQ,OAcnB,IAAMU,EAAUZ,EAbH,CACX,KAAM,yBACN,MAAO,IAAM,IAAM,CACjB,IAAMa,EAAgB,OAAON,EAAQ,OAAU,WAAaA,EAAQ,MAAMG,CAAM,EAAIH,EAAQ,MACtFO,EAAYC,GAAkB,CAAEJ,EAAM,MAAQI,CAAO,EAC3D,OAAOpB,EAAEM,EAAW,CAClB,GAAIY,GAAiB,CAAC,EACtB,CAACL,CAAS,EAAGG,EAAM,MACnB,CAACF,CAAW,EAAGK,EACf,MAAO,CAAC,CAAE,MAAO,MAAO,EAAGD,GAAe,KAAK,CACjD,EAAGN,EAAQ,SAAW,IAAMA,EAAQ,SAAU,CAAE,OAAAG,EAAQ,MAAOC,EAAM,MAAO,SAAAG,CAAS,CAAC,EAAI,MAAS,CACrG,CACF,EACkCZ,EAAMC,CAAU,EAC9Ca,EAAY,GAChB,MAAO,CACL,GAAId,EACJ,SAAU,IAAMS,EAAM,MACtB,MAAO,IAAM,CACX,IAAMM,EAAWV,EAAQ,eACvB,mIACFL,EAAK,cAA2Be,CAAQ,GAAG,MAAM,CACnD,EACA,QAAS,IAAM,CACTD,IACJA,EAAY,GACZJ,EAAQ,EACV,CACF,CACF,CACF,CAiBO,SAASM,EACdC,EACAC,EAA4E,CAAC,EACzD,CACpB,MAAO,CACL,MAAOD,EAAW,MAAQb,EAAca,EAAW,MAAOC,EAAS,KAAK,EAAI,OAC5E,OAAQD,EAAW,YAAcb,EAAca,EAAW,YAAaC,EAAS,MAAM,EAAI,OAC1F,OAAQD,EAAW,OAASb,EAAca,EAAW,OAAQ,CAAE,MAAO,CAAE,WAAY,EAAK,EAAG,GAAGC,EAAS,MAAO,CAAC,EAAI,OACpH,KAAMD,EAAW,WAAab,EAAca,EAAW,WAAY,CACjE,MAAO,CAAE,WAAY,GAAM,YAAa,YAAa,EACrD,GAAGC,EAAS,IACd,CAAC,EAAI,MACP,CACF","names":["createApp","getCurrentInstance","h","render","shallowReactive","currentAppContext","explicit","mountEditor","component","host","appContext","vnode","app","vueCellEditor","options","valueProp","updateEvent","params","state","unmount","suppliedProps","setValue","value","destroyed","selector","createElementPlusEditors","components","defaults"]}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { DefineComponent } from 'vue';
|
|
2
|
+
import { GridOptions, ColDef, GridComponents } from '@agile-team/mach-table';
|
|
3
|
+
|
|
4
|
+
type MachTablePresetSelection = string | readonly string[] | false | null;
|
|
5
|
+
interface MachTableConfigWarning {
|
|
6
|
+
code: "UNKNOWN_PRESET";
|
|
7
|
+
message: string;
|
|
8
|
+
preset?: string;
|
|
9
|
+
}
|
|
10
|
+
interface MachTableRuntimeConfig {
|
|
11
|
+
/** Defaults inherited by every table in this application or subtree. */
|
|
12
|
+
defaults?: Partial<GridOptions<any>>;
|
|
13
|
+
/** Application-wide semantic column types. Kept separate for config readability. */
|
|
14
|
+
columnTypes?: Readonly<Record<string, Partial<ColDef<any>>>>;
|
|
15
|
+
/** Application-wide renderer/editor registry. Per-table components can override it. */
|
|
16
|
+
components?: GridComponents;
|
|
17
|
+
/** Named, reusable behavior profiles such as `list`, `crud` or `picker`. */
|
|
18
|
+
presets?: Readonly<Record<string, Partial<GridOptions<any>>>>;
|
|
19
|
+
/** Preset used when a table does not declare its own `preset`. Set false to disable. */
|
|
20
|
+
defaultPreset?: MachTablePresetSelection;
|
|
21
|
+
/** Receives non-fatal configuration diagnostics. */
|
|
22
|
+
onConfigWarning?: (warning: MachTableConfigWarning) => void;
|
|
23
|
+
}
|
|
24
|
+
interface ResolvedMachTableConfig {
|
|
25
|
+
readonly defaults: Partial<GridOptions<any>>;
|
|
26
|
+
readonly presets: Readonly<Record<string, Partial<GridOptions<any>>>>;
|
|
27
|
+
readonly defaultPreset: MachTablePresetSelection;
|
|
28
|
+
readonly onConfigWarning?: (warning: MachTableConfigWarning) => void;
|
|
29
|
+
}
|
|
30
|
+
interface MachTableOptionExplanation {
|
|
31
|
+
readonly key: keyof GridOptions<any> | string;
|
|
32
|
+
readonly value: unknown;
|
|
33
|
+
/** The most specific layer that declared the option. */
|
|
34
|
+
readonly source: string;
|
|
35
|
+
readonly layers: readonly {
|
|
36
|
+
name: string;
|
|
37
|
+
value: unknown;
|
|
38
|
+
}[];
|
|
39
|
+
}
|
|
40
|
+
interface ResolvedMachTableGridOptions<TData = any> {
|
|
41
|
+
readonly options: GridOptions<TData>;
|
|
42
|
+
explain(key: keyof GridOptions<TData> | string): MachTableOptionExplanation;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Type-checks an application configuration without adding runtime work.
|
|
46
|
+
* Put the result in a dedicated `mach-table.config.ts` and pass it to app.use().
|
|
47
|
+
*/
|
|
48
|
+
declare function defineMachTableConfig<const TConfig extends MachTableRuntimeConfig>(config: TConfig): TConfig;
|
|
49
|
+
declare function normalizeMachTableConfig(config?: MachTableRuntimeConfig): ResolvedMachTableConfig;
|
|
50
|
+
/** Merges an app/route configuration while preserving parent preset definitions. */
|
|
51
|
+
declare function mergeMachTableConfig(parent: ResolvedMachTableConfig, child: MachTableRuntimeConfig): ResolvedMachTableConfig;
|
|
52
|
+
declare function resolveMachTableGridOptions<TData>(config: ResolvedMachTableConfig, requestedPreset: MachTablePresetSelection | undefined, explicit: Partial<GridOptions<TData>>, reportWarning?: (warning: MachTableConfigWarning) => void): ResolvedMachTableGridOptions<TData>;
|
|
53
|
+
|
|
54
|
+
type AdapterOnlyGridOption = "className" | "ariaLabel" | "ariaLabelledBy" | "ariaDescribedBy";
|
|
55
|
+
type MachTableVueProps<TData = any> = Omit<GridOptions<TData>, AdapterOnlyGridOption> & {
|
|
56
|
+
/** Named application preset(s). Explicit table props still win. */
|
|
57
|
+
preset?: MachTablePresetSelection;
|
|
58
|
+
/** CSS class applied to the Vue host element. */
|
|
59
|
+
className?: string;
|
|
60
|
+
/** CSS class forwarded to MachTable's inner grid root. */
|
|
61
|
+
gridClassName?: string;
|
|
62
|
+
/** Accessible name forwarded to MachTable's inner role=grid element. */
|
|
63
|
+
gridAriaLabel?: string;
|
|
64
|
+
gridAriaLabelledBy?: string;
|
|
65
|
+
gridAriaDescribedBy?: string;
|
|
66
|
+
};
|
|
67
|
+
declare const MachTable: DefineComponent<MachTableVueProps<any>>;
|
|
68
|
+
/** @deprecated Use MachTable. Kept as a source-compatible alias through 0.x. */
|
|
69
|
+
declare const RobotGrid: DefineComponent<MachTableVueProps<any>>;
|
|
70
|
+
/** @deprecated Use MachTableVueProps. */
|
|
71
|
+
type RobotGridVueProps<TData = any> = MachTableVueProps<TData>;
|
|
72
|
+
|
|
73
|
+
declare module "vue" {
|
|
74
|
+
interface GlobalComponents {
|
|
75
|
+
MachTable: typeof MachTable;
|
|
76
|
+
RobotGrid: typeof MachTable;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
interface MachTablePluginOptions extends MachTableRuntimeConfig {
|
|
80
|
+
/** Global component name. Defaults to `MachTable`. */
|
|
81
|
+
componentName?: string;
|
|
82
|
+
/** Also register the backwards-compatible `RobotGrid` name. Defaults to true. */
|
|
83
|
+
registerRobotGridAlias?: boolean;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export { type MachTableVueProps as M, type ResolvedMachTableConfig as R, type MachTablePluginOptions as a, type MachTableRuntimeConfig as b, MachTable as c, type MachTableConfigWarning as d, type MachTableOptionExplanation as e, type MachTablePresetSelection as f, type ResolvedMachTableGridOptions as g, RobotGrid as h, type RobotGridVueProps as i, defineMachTableConfig as j, mergeMachTableConfig as m, normalizeMachTableConfig as n, resolveMachTableGridOptions as r };
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { DefineComponent } from 'vue';
|
|
2
|
+
import { GridOptions, ColDef, GridComponents } from '@agile-team/mach-table';
|
|
3
|
+
|
|
4
|
+
type MachTablePresetSelection = string | readonly string[] | false | null;
|
|
5
|
+
interface MachTableConfigWarning {
|
|
6
|
+
code: "UNKNOWN_PRESET";
|
|
7
|
+
message: string;
|
|
8
|
+
preset?: string;
|
|
9
|
+
}
|
|
10
|
+
interface MachTableRuntimeConfig {
|
|
11
|
+
/** Defaults inherited by every table in this application or subtree. */
|
|
12
|
+
defaults?: Partial<GridOptions<any>>;
|
|
13
|
+
/** Application-wide semantic column types. Kept separate for config readability. */
|
|
14
|
+
columnTypes?: Readonly<Record<string, Partial<ColDef<any>>>>;
|
|
15
|
+
/** Application-wide renderer/editor registry. Per-table components can override it. */
|
|
16
|
+
components?: GridComponents;
|
|
17
|
+
/** Named, reusable behavior profiles such as `list`, `crud` or `picker`. */
|
|
18
|
+
presets?: Readonly<Record<string, Partial<GridOptions<any>>>>;
|
|
19
|
+
/** Preset used when a table does not declare its own `preset`. Set false to disable. */
|
|
20
|
+
defaultPreset?: MachTablePresetSelection;
|
|
21
|
+
/** Receives non-fatal configuration diagnostics. */
|
|
22
|
+
onConfigWarning?: (warning: MachTableConfigWarning) => void;
|
|
23
|
+
}
|
|
24
|
+
interface ResolvedMachTableConfig {
|
|
25
|
+
readonly defaults: Partial<GridOptions<any>>;
|
|
26
|
+
readonly presets: Readonly<Record<string, Partial<GridOptions<any>>>>;
|
|
27
|
+
readonly defaultPreset: MachTablePresetSelection;
|
|
28
|
+
readonly onConfigWarning?: (warning: MachTableConfigWarning) => void;
|
|
29
|
+
}
|
|
30
|
+
interface MachTableOptionExplanation {
|
|
31
|
+
readonly key: keyof GridOptions<any> | string;
|
|
32
|
+
readonly value: unknown;
|
|
33
|
+
/** The most specific layer that declared the option. */
|
|
34
|
+
readonly source: string;
|
|
35
|
+
readonly layers: readonly {
|
|
36
|
+
name: string;
|
|
37
|
+
value: unknown;
|
|
38
|
+
}[];
|
|
39
|
+
}
|
|
40
|
+
interface ResolvedMachTableGridOptions<TData = any> {
|
|
41
|
+
readonly options: GridOptions<TData>;
|
|
42
|
+
explain(key: keyof GridOptions<TData> | string): MachTableOptionExplanation;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Type-checks an application configuration without adding runtime work.
|
|
46
|
+
* Put the result in a dedicated `mach-table.config.ts` and pass it to app.use().
|
|
47
|
+
*/
|
|
48
|
+
declare function defineMachTableConfig<const TConfig extends MachTableRuntimeConfig>(config: TConfig): TConfig;
|
|
49
|
+
declare function normalizeMachTableConfig(config?: MachTableRuntimeConfig): ResolvedMachTableConfig;
|
|
50
|
+
/** Merges an app/route configuration while preserving parent preset definitions. */
|
|
51
|
+
declare function mergeMachTableConfig(parent: ResolvedMachTableConfig, child: MachTableRuntimeConfig): ResolvedMachTableConfig;
|
|
52
|
+
declare function resolveMachTableGridOptions<TData>(config: ResolvedMachTableConfig, requestedPreset: MachTablePresetSelection | undefined, explicit: Partial<GridOptions<TData>>, reportWarning?: (warning: MachTableConfigWarning) => void): ResolvedMachTableGridOptions<TData>;
|
|
53
|
+
|
|
54
|
+
type AdapterOnlyGridOption = "className" | "ariaLabel" | "ariaLabelledBy" | "ariaDescribedBy";
|
|
55
|
+
type MachTableVueProps<TData = any> = Omit<GridOptions<TData>, AdapterOnlyGridOption> & {
|
|
56
|
+
/** Named application preset(s). Explicit table props still win. */
|
|
57
|
+
preset?: MachTablePresetSelection;
|
|
58
|
+
/** CSS class applied to the Vue host element. */
|
|
59
|
+
className?: string;
|
|
60
|
+
/** CSS class forwarded to MachTable's inner grid root. */
|
|
61
|
+
gridClassName?: string;
|
|
62
|
+
/** Accessible name forwarded to MachTable's inner role=grid element. */
|
|
63
|
+
gridAriaLabel?: string;
|
|
64
|
+
gridAriaLabelledBy?: string;
|
|
65
|
+
gridAriaDescribedBy?: string;
|
|
66
|
+
};
|
|
67
|
+
declare const MachTable: DefineComponent<MachTableVueProps<any>>;
|
|
68
|
+
/** @deprecated Use MachTable. Kept as a source-compatible alias through 0.x. */
|
|
69
|
+
declare const RobotGrid: DefineComponent<MachTableVueProps<any>>;
|
|
70
|
+
/** @deprecated Use MachTableVueProps. */
|
|
71
|
+
type RobotGridVueProps<TData = any> = MachTableVueProps<TData>;
|
|
72
|
+
|
|
73
|
+
declare module "vue" {
|
|
74
|
+
interface GlobalComponents {
|
|
75
|
+
MachTable: typeof MachTable;
|
|
76
|
+
RobotGrid: typeof MachTable;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
interface MachTablePluginOptions extends MachTableRuntimeConfig {
|
|
80
|
+
/** Global component name. Defaults to `MachTable`. */
|
|
81
|
+
componentName?: string;
|
|
82
|
+
/** Also register the backwards-compatible `RobotGrid` name. Defaults to true. */
|
|
83
|
+
registerRobotGridAlias?: boolean;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export { type MachTableVueProps as M, type ResolvedMachTableConfig as R, type MachTablePluginOptions as a, type MachTableRuntimeConfig as b, MachTable as c, type MachTableConfigWarning as d, type MachTableOptionExplanation as e, type MachTablePresetSelection as f, type ResolvedMachTableGridOptions as g, RobotGrid as h, type RobotGridVueProps as i, defineMachTableConfig as j, mergeMachTableConfig as m, normalizeMachTableConfig as n, resolveMachTableGridOptions as r };
|