@ynput/ayon-frontend-shared 0.2.16 → 0.2.17
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/DetailsPanel.cjs.js +9 -10
- package/dist/DetailsPanel.cjs.js.map +1 -1
- package/dist/DetailsPanel.es.js +9 -10
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +38 -34
- package/dist/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/ProjectTreeTable.es.js +20 -16
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/_virtual/index.cjs10.js +4 -4
- package/dist/_virtual/index.cjs5.js +5 -3
- package/dist/_virtual/index.cjs5.js.map +1 -1
- package/dist/_virtual/index.cjs6.js +3 -5
- package/dist/_virtual/index.cjs6.js.map +1 -1
- package/dist/_virtual/index.cjs8.js +4 -4
- package/dist/_virtual/index.cjs9.js +4 -4
- package/dist/_virtual/index.es10.js +4 -4
- package/dist/_virtual/index.es5.js +5 -2
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es6.js +2 -5
- package/dist/_virtual/index.es6.js.map +1 -1
- package/dist/_virtual/index.es8.js +4 -4
- package/dist/_virtual/index.es9.js +4 -4
- package/dist/index.cjs.js +6 -7
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +6 -7
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.cjs.js +1 -2
- package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.cjs.js.map +1 -1
- package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.es.js +1 -2
- package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.es.js.map +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +2 -2
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js +6 -7
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js +6 -7
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js +2 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js +2 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +5 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +5 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +21 -86
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +21 -86
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js +2 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js +2 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +6 -7
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +6 -7
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +6 -7
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -7
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +6 -7
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +6 -7
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +27 -6
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +27 -6
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +6 -7
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +6 -7
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +6 -7
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -7
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +6 -7
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +6 -7
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +9 -10
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +9 -10
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +6 -7
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +6 -7
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +6 -7
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -7
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +5 -6
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +5 -6
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +16 -9
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +16 -9
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +5 -7
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -7
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js +1 -174
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js +2 -175
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +212 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +212 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -185
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +2 -186
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +191 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +191 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js +1 -79
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.es.js +2 -80
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +84 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +84 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -277
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +2 -278
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +282 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +282 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +8 -175
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +8 -175
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/{context/ProjectTableModulesContext.cjs.js → hooks/useProjectTableModules.cjs.js} +26 -48
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/{context/ProjectTableModulesContext.es.js → hooks/useProjectTableModules.es.js} +26 -48
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +8 -5
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +7 -4
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +7 -8
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +7 -8
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js +3 -3
- package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.es.js +3 -3
- package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
- package/dist/types/components/ProjectTableSettings/ColumnItem.d.ts +1 -0
- package/dist/types/components/ProjectTableSettings/SortableColumnItem.d.ts +1 -0
- package/dist/types/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/components/GroupSettingsFallback.d.ts +9 -2
- package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +16 -16
- package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsProvider.d.ts +9 -0
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +5 -61
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +59 -0
- package/dist/types/containers/ProjectTreeTable/context/SelectedRowsContext.d.ts +3 -8
- package/dist/types/containers/ProjectTreeTable/context/SelectedRowsProvider.d.ts +6 -0
- package/dist/types/containers/ProjectTreeTable/context/SelectionCellsContext.d.ts +2 -4
- package/dist/types/containers/ProjectTreeTable/context/SelectionCellsProvider.d.ts +4 -0
- package/dist/types/containers/ProjectTreeTable/context/index.d.ts +4 -2
- package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +1 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useEntitiesMap.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +4 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useGetGroupedFields.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/{context/ProjectTableModulesContext.d.ts → hooks/useProjectTableModules.d.ts} +5 -12
- package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -10
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +3 -3
- package/package.json +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.cjs.js +0 -33
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.es.js +0 -33
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.es.js.map +0 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableSelectionContext.d.ts +0 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTreeTableColumns.es.js","sources":["../../../../../src/containers/ProjectTreeTable/buildTreeTableColumns.tsx"],"sourcesContent":["import { ColumnDef, FilterFnOption, Row, SortingFn, sortingFns } from '@tanstack/react-table'\nimport { TableRow } from './types/table'\nimport { AttributeData, ProjectTableAttribute, BuiltInFieldOptions } from './types'\nimport { CellWidget, EntityNameWidget, GroupHeaderWidget, ThumbnailWidget } from './widgets'\nimport { getCellId, getCellValue } from './utils/cellUtils'\nimport { TableCellContent } from './ProjectTreeTable.styled'\nimport clsx from 'clsx'\nimport { SelectionCell } from './components/SelectionCell'\nimport RowSelectionHeader from './components/RowSelectionHeader'\nimport { ROW_SELECTION_COLUMN_ID } from './context/SelectionCellsContext'\nimport { TableGroupBy } from './context'\nimport { NEXT_PAGE_ID } from './hooks/useBuildGroupByTableData'\nimport LoadMoreWidget from './widgets/LoadMoreWidget'\n\nconst MIN_SIZE = 50\n\n// Wrapper function for sorting that pushes isLoading rows to the bottom\nconst withLoadingStateSort = (sortFn: SortingFn<any>): SortingFn<any> => {\n return (rowA, rowB, ...args) => {\n // If row loading states differ, prioritize non-loading rows\n if (rowA.original.isLoading !== rowB.original.isLoading) {\n return rowA.original.isLoading ? 1 : -1\n }\n // Otherwise, use the original sort function\n return sortFn(rowA, rowB, ...args)\n }\n}\n\nconst nameSort: SortingFn<any> = (rowA, rowB) => {\n const labelA = rowA.original.label || rowA.original.name\n const labelB = rowB.original.label || rowB.original.name\n // sort alphabetically by label\n return labelA.localeCompare(labelB)\n}\nconst pathSort: SortingFn<any> = (rowA, rowB) => {\n const labelA = rowA.original.path || rowA.original.name\n const labelB = rowB.original.path || rowB.original.name\n // sort alphabetically by label\n return labelA.localeCompare(labelB)\n}\n\ntype AttribSortingFn = (rowA: any, rowB: any, columnId: string, attribute?: AttributeData) => number\n// sort by the order of the enum options\nconst attribSort: AttribSortingFn = (rowA, rowB, columnId, attrib) => {\n const valueA = getCellValue(rowA.original, columnId)\n const valueB = getCellValue(rowB.original, columnId)\n // if attrib is defined and has enum options, use them\n if (attrib && attrib.enum) {\n const indexA = attrib.enum.findIndex((o) => o.value === valueA)\n const indexB = attrib.enum.findIndex((o) => o.value === valueB)\n return indexA - indexB < 0 ? 1 : -1\n } else if (attrib?.type === 'datetime') {\n return sortingFns.datetime(rowA, rowB, columnId)\n } else if (attrib?.type === 'boolean') {\n const boolA = valueA === true ? 1 : 0\n const boolB = valueB === true ? 1 : 0\n return boolA - boolB\n } else {\n // default sorting\n return sortingFns.alphanumeric(rowA, rowB, columnId)\n }\n}\n\nexport type DefaultColumns =\n | typeof ROW_SELECTION_COLUMN_ID\n | 'thumbnail'\n | 'name'\n | 'status'\n | 'subType'\n | 'assignees'\n | 'tags'\n\nexport type TreeTableExtraColumn = { column: ColumnDef<TableRow>; position?: number }\n\nexport type BuildTreeTableColumnsProps = {\n attribs: ProjectTableAttribute[]\n showHierarchy: boolean\n options: BuiltInFieldOptions\n excluded?: (DefaultColumns | string)[]\n extraColumns?: TreeTableExtraColumn[]\n groupBy?: TableGroupBy\n}\n\nconst buildTreeTableColumns = ({\n attribs,\n showHierarchy,\n options,\n excluded,\n extraColumns,\n groupBy,\n}: BuildTreeTableColumnsProps) => {\n const staticColumns: ColumnDef<TableRow>[] = []\n\n // Helper to check if a column should be included\n const isIncluded = (id: DefaultColumns | string) => !excluded?.includes(id)\n\n // Conditionally add static columns\n if (isIncluded(ROW_SELECTION_COLUMN_ID)) {\n staticColumns.push({\n id: ROW_SELECTION_COLUMN_ID,\n enableResizing: false,\n enableSorting: false,\n enablePinning: false,\n enableHiding: false,\n\n header: () => <RowSelectionHeader />,\n cell: ({ row }) => {\n if (row.original.entityType === 'group') return null\n return <SelectionCell />\n },\n size: 20,\n })\n }\n\n if (isIncluded('thumbnail')) {\n staticColumns.push({\n id: 'thumbnail',\n header: 'Thumbnail',\n size: 63,\n minSize: 64,\n enableResizing: true,\n enableSorting: false,\n cell: ({ row, table }) => {\n const meta = table.options.meta\n if (!meta) return null\n return (\n <ThumbnailWidget\n entityId={row.original.entityId || row.id}\n entityType={row.original.entityType}\n updatedAt={row.original.updatedAt}\n icon={row.original.icon}\n projectName={meta?.projectName as string}\n className={clsx('thumbnail', {\n loading: row.original.isLoading,\n })}\n />\n )\n },\n })\n }\n\n if (isIncluded('name')) {\n staticColumns.push({\n id: 'name',\n accessorKey: 'name',\n header: groupBy ? 'Group' : 'Folder / Task',\n minSize: MIN_SIZE,\n sortingFn: withLoadingStateSort(showHierarchy ? nameSort : pathSort),\n enableSorting: groupBy ? false : true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: groupBy ? false : true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const cellId = getCellId(row.id, column.id)\n\n if (row.original.entityType === NEXT_PAGE_ID && row.original.group) {\n return (\n <LoadMoreWidget\n label={'Load more tasks'}\n id={row.original.group.value}\n onLoadMore={(id) => meta?.loadMoreTasks?.(id)}\n />\n )\n }\n\n return (\n <TableCellContent\n id={cellId}\n className={clsx('large', row.original.entityType, {\n loading: row.original.isLoading,\n hierarchy: showHierarchy,\n })}\n style={{\n paddingLeft: `calc(${row.depth * 1}rem + 8px)`,\n }}\n tabIndex={0}\n >\n {row.original.group ? (\n <GroupHeaderWidget\n id={row.id}\n label={row.original.group.label}\n name={row.original.name}\n icon={row.original.group.icon}\n img={row.original.group.img}\n color={row.original.group.color}\n count={row.original.group.count}\n isExpanded={row.getIsExpanded()}\n isEmpty={row.subRows.length === 0}\n toggleExpanded={row.getToggleExpandedHandler()}\n />\n ) : (\n <EntityNameWidget\n id={row.id}\n label={row.original.label}\n name={row.original.name}\n path={!showHierarchy ? row.original.path : undefined}\n showHierarchy={showHierarchy}\n icon={row.original.icon}\n type={row.original.entityType}\n isExpanded={row.getIsExpanded()}\n toggleExpandAll={() => meta?.toggleExpandAll?.([row.id])}\n toggleExpanded={row.getToggleExpandedHandler()}\n />\n )}\n </TableCellContent>\n )\n },\n })\n }\n\n if (isIncluded('status')) {\n staticColumns.push({\n id: 'status',\n accessorKey: 'status',\n minSize: MIN_SIZE,\n header: 'Status',\n sortingFn: withLoadingStateSort((a, b, c) =>\n attribSort(a, b, c, { enum: options.status, type: 'string' }),\n ),\n sortDescFirst: true,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n const meta = table.options.meta\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('status', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n options={meta?.options?.status.filter((s) => s.scope?.includes(type))}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.([{ field: column.id, value, id, type, rowId: id }])\n }\n isReadOnly={meta?.readOnly?.includes(column.id)}\n />\n )\n },\n })\n }\n\n if (isIncluded('subType')) {\n staticColumns.push({\n id: 'subType',\n accessorKey: 'subType',\n header: 'Type',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n const fieldId = type === 'folder' ? 'folderType' : 'taskType'\n const meta = table.options.meta\n return (\n <CellWidget\n rowId={id}\n className={clsx('subType', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n options={\n type === 'folder'\n ? meta?.options?.folderType\n : type === 'task'\n ? meta?.options?.taskType\n : []\n }\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.([{ field: fieldId, value, id, type, rowId: row.id }])\n }\n isReadOnly={meta?.readOnly?.includes(column.id)}\n />\n )\n },\n })\n }\n\n if (isIncluded('assignees')) {\n staticColumns.push({\n id: 'assignees',\n accessorKey: 'assignees',\n header: 'Assignees',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n\n if (type === 'folder')\n return (\n <CellWidget\n rowId={id}\n className={clsx('assignees', { loading: row.original.isLoading })}\n columnId={column.id}\n value=\"\"\n isPlaceholder\n />\n )\n return (\n <CellWidget\n rowId={id}\n className={clsx('assignees', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.assignee}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.([{ field: column.id, value, id, type, rowId: row.id }])\n }\n isReadOnly={meta?.readOnly?.includes(column.id)}\n pt={{\n enum: {\n multiSelectClose: value?.length === 0, // close the dropdown on first assignment\n search: true, // enable search at all times\n multipleOverride: false,\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded('tags')) {\n staticColumns.push({\n id: 'tags',\n accessorKey: 'tags',\n header: 'Tags',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n return (\n <CellWidget\n rowId={id}\n className={clsx('tags', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.tag}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.([{ field: column.id, value, id, type, rowId: row.id }])\n }\n isReadOnly={meta?.readOnly?.includes(column.id)}\n enableCustomValues\n />\n )\n },\n })\n }\n\n const attributeColumns: ColumnDef<TableRow>[] = attribs\n .filter((attrib) => {\n const columnId = 'attrib_' + attrib.name\n // Check if the specific attribute column is excluded\n // or if all built-in attributes are excluded and this is a built-in attribute\n if (excluded?.includes(columnId)) return false\n if (attrib.builtin && excluded?.includes('attrib')) return false\n return true\n })\n .map((attrib) => {\n const attribColumn: ColumnDef<TableRow> = {\n id: 'attrib_' + attrib.name,\n accessorKey: 'attrib.' + attrib.name,\n header: attrib.data.title || attrib.name,\n minSize: MIN_SIZE,\n filterFn: 'fuzzy' as FilterFnOption<TableRow>,\n sortingFn: withLoadingStateSort((a, b, c) => attribSort(a, b, c, attrib.data)),\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const columnIdParsed = column.id.replace('attrib_', '')\n const { value, id, type } = getValueIdType(row, columnIdParsed, 'attrib')\n const isInherited = !row.original.ownAttrib?.includes(columnIdParsed)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('attrib', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: attrib.data.type || 'string' }}\n options={attrib.data.enum || []}\n isCollapsed={!!row.original.childOnlyMatch}\n isInherited={isInherited && ['folder', 'task'].includes(type)}\n isReadOnly={\n attrib.readOnly ||\n meta?.readOnly?.some(\n (id) => id === columnIdParsed || (id === 'attrib' && attrib.builtin),\n )\n }\n onChange={(value) =>\n meta?.updateEntities?.([\n { field: columnIdParsed, value, id, type, isAttrib: true, rowId: row.id },\n ])\n }\n />\n )\n },\n }\n return attribColumn\n })\n\n const allColumns = [...staticColumns, ...attributeColumns]\n\n // Add extra columns if provided\n if (extraColumns) {\n extraColumns.forEach(({ column, position = -1 }) => {\n if (position >= 0 && position < allColumns.length) {\n allColumns.splice(position, 0, column)\n } else {\n allColumns.push(column)\n }\n })\n }\n\n return allColumns\n}\n\nexport default buildTreeTableColumns\n\nexport const getValueIdType = (\n row: Row<TableRow>,\n field: string,\n nestedField?: keyof TableRow,\n): {\n value: any\n id: string\n type: string\n} => ({\n value: nestedField\n ? (row.original[nestedField as keyof TableRow] as any)?.[field]\n : (row.original[field as keyof TableRow] as any),\n id: row.id,\n type: row.original.entityType,\n})\n"],"names":["jsx","_a","value","id"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buildTreeTableColumns.es.js","sources":["../../../../../src/containers/ProjectTreeTable/buildTreeTableColumns.tsx"],"sourcesContent":["import { ColumnDef, FilterFnOption, Row, SortingFn, sortingFns } from '@tanstack/react-table'\nimport { TableRow } from './types/table'\nimport { AttributeData, ProjectTableAttribute, BuiltInFieldOptions } from './types'\nimport { CellWidget, EntityNameWidget, GroupHeaderWidget, ThumbnailWidget } from './widgets'\nimport { getCellId, getCellValue } from './utils/cellUtils'\nimport { TableCellContent } from './ProjectTreeTable.styled'\nimport clsx from 'clsx'\nimport { SelectionCell } from './components/SelectionCell'\nimport RowSelectionHeader from './components/RowSelectionHeader'\nimport { ROW_SELECTION_COLUMN_ID } from './context/SelectionCellsContext'\nimport { TableGroupBy } from './context'\nimport { NEXT_PAGE_ID } from './hooks/useBuildGroupByTableData'\nimport LoadMoreWidget from './widgets/LoadMoreWidget'\n\nconst MIN_SIZE = 50\n\n// Wrapper function for sorting that pushes isLoading rows to the bottom\nconst withLoadingStateSort = (sortFn: SortingFn<any>): SortingFn<any> => {\n return (rowA, rowB, ...args) => {\n // If row loading states differ, prioritize non-loading rows\n if (rowA.original.isLoading !== rowB.original.isLoading) {\n return rowA.original.isLoading ? 1 : -1\n }\n // Otherwise, use the original sort function\n return sortFn(rowA, rowB, ...args)\n }\n}\n\nconst nameSort: SortingFn<any> = (rowA, rowB) => {\n const labelA = rowA.original.label || rowA.original.name\n const labelB = rowB.original.label || rowB.original.name\n // sort alphabetically by label\n return labelA.localeCompare(labelB)\n}\nconst pathSort: SortingFn<any> = (rowA, rowB) => {\n const labelA = rowA.original.path || rowA.original.name\n const labelB = rowB.original.path || rowB.original.name\n // sort alphabetically by label\n return labelA.localeCompare(labelB)\n}\n\ntype AttribSortingFn = (rowA: any, rowB: any, columnId: string, attribute?: AttributeData) => number\n// sort by the order of the enum options\nconst attribSort: AttribSortingFn = (rowA, rowB, columnId, attrib) => {\n const valueA = getCellValue(rowA.original, columnId)\n const valueB = getCellValue(rowB.original, columnId)\n // if attrib is defined and has enum options, use them\n if (attrib && attrib.enum) {\n const indexA = attrib.enum.findIndex((o) => o.value === valueA)\n const indexB = attrib.enum.findIndex((o) => o.value === valueB)\n return indexA - indexB < 0 ? 1 : -1\n } else if (attrib?.type === 'datetime') {\n return sortingFns.datetime(rowA, rowB, columnId)\n } else if (attrib?.type === 'boolean') {\n const boolA = valueA === true ? 1 : 0\n const boolB = valueB === true ? 1 : 0\n return boolA - boolB\n } else {\n // default sorting\n return sortingFns.alphanumeric(rowA, rowB, columnId)\n }\n}\n\nexport type DefaultColumns =\n | typeof ROW_SELECTION_COLUMN_ID\n | 'thumbnail'\n | 'name'\n | 'status'\n | 'subType'\n | 'assignees'\n | 'tags'\n\nexport type TreeTableExtraColumn = { column: ColumnDef<TableRow>; position?: number }\n\nexport type BuildTreeTableColumnsProps = {\n attribs: ProjectTableAttribute[]\n showHierarchy: boolean\n options: BuiltInFieldOptions\n excluded?: (DefaultColumns | string)[]\n extraColumns?: TreeTableExtraColumn[]\n groupBy?: TableGroupBy\n}\n\nconst buildTreeTableColumns = ({\n attribs,\n showHierarchy,\n options,\n excluded,\n extraColumns,\n groupBy,\n}: BuildTreeTableColumnsProps) => {\n const staticColumns: ColumnDef<TableRow>[] = []\n\n // Helper to check if a column should be included\n const isIncluded = (id: DefaultColumns | string) => !excluded?.includes(id)\n\n // Conditionally add static columns\n if (isIncluded(ROW_SELECTION_COLUMN_ID)) {\n staticColumns.push({\n id: ROW_SELECTION_COLUMN_ID,\n enableResizing: false,\n enableSorting: false,\n enablePinning: false,\n enableHiding: false,\n\n header: () => <RowSelectionHeader />,\n cell: ({ row }) => {\n if (row.original.entityType === 'group') return null\n return <SelectionCell />\n },\n size: 20,\n })\n }\n\n if (isIncluded('thumbnail')) {\n staticColumns.push({\n id: 'thumbnail',\n header: 'Thumbnail',\n size: 63,\n minSize: 64,\n enableResizing: true,\n enableSorting: false,\n cell: ({ row, table }) => {\n const meta = table.options.meta\n if (!meta) return null\n return (\n <ThumbnailWidget\n entityId={row.original.entityId || row.id}\n entityType={row.original.entityType}\n updatedAt={row.original.updatedAt}\n icon={row.original.icon}\n projectName={meta?.projectName as string}\n className={clsx('thumbnail', {\n loading: row.original.isLoading,\n })}\n />\n )\n },\n })\n }\n\n if (isIncluded('name')) {\n staticColumns.push({\n id: 'name',\n accessorKey: 'name',\n header: 'Folder / Task',\n minSize: MIN_SIZE,\n sortingFn: withLoadingStateSort(showHierarchy ? nameSort : pathSort),\n enableSorting: groupBy ? false : true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: groupBy ? false : true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const cellId = getCellId(row.id, column.id)\n\n if (row.original.entityType === NEXT_PAGE_ID && row.original.group) {\n return (\n <LoadMoreWidget\n label={'Load more tasks'}\n id={row.original.group.value}\n onLoadMore={(id) => meta?.loadMoreTasks?.(id)}\n />\n )\n }\n\n return (\n <TableCellContent\n id={cellId}\n className={clsx('large', row.original.entityType, {\n loading: row.original.isLoading,\n hierarchy: showHierarchy,\n })}\n style={{\n paddingLeft: `calc(${row.depth * 1}rem + 8px)`,\n }}\n tabIndex={0}\n >\n {row.original.group ? (\n <GroupHeaderWidget\n id={row.id}\n label={row.original.group.label}\n name={row.original.name}\n icon={row.original.group.icon}\n img={row.original.group.img}\n color={row.original.group.color}\n count={row.original.group.count}\n isExpanded={row.getIsExpanded()}\n isEmpty={row.subRows.length === 0}\n toggleExpanded={row.getToggleExpandedHandler()}\n />\n ) : (\n <EntityNameWidget\n id={row.id}\n label={row.original.label}\n name={row.original.name}\n path={!showHierarchy ? row.original.path : undefined}\n showHierarchy={showHierarchy}\n icon={row.original.icon}\n type={row.original.entityType}\n isExpanded={row.getIsExpanded()}\n toggleExpandAll={() => meta?.toggleExpandAll?.([row.id])}\n toggleExpanded={row.getToggleExpandedHandler()}\n />\n )}\n </TableCellContent>\n )\n },\n })\n }\n\n if (isIncluded('status')) {\n staticColumns.push({\n id: 'status',\n accessorKey: 'status',\n minSize: MIN_SIZE,\n header: 'Status',\n sortingFn: withLoadingStateSort((a, b, c) =>\n attribSort(a, b, c, { enum: options.status, type: 'string' }),\n ),\n sortDescFirst: true,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n const meta = table.options.meta\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('status', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n options={meta?.options?.status.filter((s) => s.scope?.includes(type))}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.([{ field: column.id, value, id, type, rowId: id }])\n }\n isReadOnly={meta?.readOnly?.includes(column.id)}\n />\n )\n },\n })\n }\n\n if (isIncluded('subType')) {\n staticColumns.push({\n id: 'subType',\n accessorKey: 'subType',\n header: 'Type',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n const fieldId = type === 'folder' ? 'folderType' : 'taskType'\n const meta = table.options.meta\n return (\n <CellWidget\n rowId={id}\n className={clsx('subType', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n options={\n type === 'folder'\n ? meta?.options?.folderType\n : type === 'task'\n ? meta?.options?.taskType\n : []\n }\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.([{ field: fieldId, value, id, type, rowId: row.id }])\n }\n isReadOnly={meta?.readOnly?.includes(column.id)}\n />\n )\n },\n })\n }\n\n if (isIncluded('assignees')) {\n staticColumns.push({\n id: 'assignees',\n accessorKey: 'assignees',\n header: 'Assignees',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n\n if (type === 'folder')\n return (\n <CellWidget\n rowId={id}\n className={clsx('assignees', { loading: row.original.isLoading })}\n columnId={column.id}\n value=\"\"\n isPlaceholder\n />\n )\n return (\n <CellWidget\n rowId={id}\n className={clsx('assignees', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.assignee}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.([{ field: column.id, value, id, type, rowId: row.id }])\n }\n isReadOnly={meta?.readOnly?.includes(column.id)}\n pt={{\n enum: {\n multiSelectClose: value?.length === 0, // close the dropdown on first assignment\n search: true, // enable search at all times\n multipleOverride: false,\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded('tags')) {\n staticColumns.push({\n id: 'tags',\n accessorKey: 'tags',\n header: 'Tags',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n return (\n <CellWidget\n rowId={id}\n className={clsx('tags', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.tag}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.([{ field: column.id, value, id, type, rowId: row.id }])\n }\n isReadOnly={meta?.readOnly?.includes(column.id)}\n enableCustomValues\n />\n )\n },\n })\n }\n\n const attributeColumns: ColumnDef<TableRow>[] = attribs\n .filter((attrib) => {\n const columnId = 'attrib_' + attrib.name\n // Check if the specific attribute column is excluded\n // or if all built-in attributes are excluded and this is a built-in attribute\n if (excluded?.includes(columnId)) return false\n if (attrib.builtin && excluded?.includes('attrib')) return false\n return true\n })\n .map((attrib) => {\n const attribColumn: ColumnDef<TableRow> = {\n id: 'attrib_' + attrib.name,\n accessorKey: 'attrib.' + attrib.name,\n header: attrib.data.title || attrib.name,\n minSize: MIN_SIZE,\n filterFn: 'fuzzy' as FilterFnOption<TableRow>,\n sortingFn: withLoadingStateSort((a, b, c) => attribSort(a, b, c, attrib.data)),\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const columnIdParsed = column.id.replace('attrib_', '')\n const { value, id, type } = getValueIdType(row, columnIdParsed, 'attrib')\n const isInherited = !row.original.ownAttrib?.includes(columnIdParsed)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('attrib', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: attrib.data.type || 'string' }}\n options={attrib.data.enum || []}\n isCollapsed={!!row.original.childOnlyMatch}\n isInherited={isInherited && ['folder', 'task'].includes(type)}\n isReadOnly={\n attrib.readOnly ||\n meta?.readOnly?.some(\n (id) => id === columnIdParsed || (id === 'attrib' && attrib.builtin),\n )\n }\n onChange={(value) =>\n meta?.updateEntities?.([\n { field: columnIdParsed, value, id, type, isAttrib: true, rowId: row.id },\n ])\n }\n />\n )\n },\n }\n return attribColumn\n })\n\n const allColumns = [...staticColumns, ...attributeColumns]\n\n // Add extra columns if provided\n if (extraColumns) {\n extraColumns.forEach(({ column, position = -1 }) => {\n if (position >= 0 && position < allColumns.length) {\n allColumns.splice(position, 0, column)\n } else {\n allColumns.push(column)\n }\n })\n }\n\n return allColumns\n}\n\nexport default buildTreeTableColumns\n\nexport const getValueIdType = (\n row: Row<TableRow>,\n field: string,\n nestedField?: keyof TableRow,\n): {\n value: any\n id: string\n type: string\n} => ({\n value: nestedField\n ? (row.original[nestedField as keyof TableRow] as any)?.[field]\n : (row.original[field as keyof TableRow] as any),\n id: row.id,\n type: row.original.entityType,\n})\n"],"names":["jsx","_a","value","id"],"mappings":"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"}
|
|
@@ -128,17 +128,15 @@ require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");
|
|
|
128
128
|
require("../../Feed/Feed.styled.cjs.js");
|
|
129
129
|
require("date-fns");
|
|
130
130
|
require("../ProjectTreeTable.cjs.js");
|
|
131
|
+
require("../context/CellEditingContext.cjs.js");
|
|
132
|
+
require("../context/ClipboardContext.cjs.js");
|
|
133
|
+
require("@tanstack/react-table");
|
|
131
134
|
require("../context/SelectionCellsContext.cjs.js");
|
|
135
|
+
require("../context/ColumnSettingsContext.cjs.js");
|
|
132
136
|
require("../context/ProjectTableContext.cjs.js");
|
|
133
137
|
require("../context/ProjectTableQueriesContext.cjs.js");
|
|
134
138
|
require("../context/SelectedRowsContext.cjs.js");
|
|
135
|
-
require("../context/ColumnSettingsContext.cjs.js");
|
|
136
|
-
require("../context/CellEditingContext.cjs.js");
|
|
137
|
-
require("../context/ClipboardContext.cjs.js");
|
|
138
|
-
require("../context/ProjectTableSelectionContext.cjs.js");
|
|
139
139
|
require("../context/ProjectDataContext.cjs.js");
|
|
140
|
-
require("../context/ProjectTableModulesContext.cjs.js");
|
|
141
|
-
require("@tanstack/react-table");
|
|
142
140
|
require("../widgets/CollapsedWidget.cjs.js");
|
|
143
141
|
require("../widgets/DateWidget.cjs.js");
|
|
144
142
|
require("../widgets/EnumWidget.cjs.js");
|
|
@@ -152,11 +150,11 @@ require("../ProjectTreeTable.styled.cjs.js");
|
|
|
152
150
|
require("./SelectionCell.cjs.js");
|
|
153
151
|
require("./RowSelectionHeader.cjs.js");
|
|
154
152
|
require("../widgets/LoadMoreWidget.cjs.js");
|
|
155
|
-
require("../../DetailsPanel/DetailsPanel.styled.cjs.js");
|
|
156
153
|
require("../../../../../_virtual/runtime.cjs.js");
|
|
157
154
|
require("../../../../../_virtual/semver.cjs.js");
|
|
158
155
|
require("react-redux");
|
|
159
156
|
require("custom-protocol-check");
|
|
157
|
+
require("../../DetailsPanel/DetailsPanel.styled.cjs.js");
|
|
160
158
|
require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");
|
|
161
159
|
require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");
|
|
162
160
|
require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");
|
package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupSettingsFallback.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/components/GroupSettingsFallback.tsx"],"sourcesContent":["import { SettingsPanelItem, TableSettingsFallback } from '
|
|
1
|
+
{"version":3,"file":"GroupSettingsFallback.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/components/GroupSettingsFallback.tsx"],"sourcesContent":["import { SettingsPanelItem, TableSettingsFallback } from '../../../components'\nimport { FC } from 'react'\nimport { ColumnSettingsContextType } from '../context'\nimport styled from 'styled-components'\nimport { Button, Icon } from '@ynput/ayon-react-components'\n\nconst FieldItem = styled.li`\n display: flex;\n align-items: center;\n padding: 0;\n margin: 0;\n`\n\nconst FieldButton = styled(Button)`\n width: 100%;\n justify-content: start;\n`\n\nexport type GroupByConfig = {\n showEmpty?: boolean\n}\n\nexport interface GroupSettingsProps {\n fields: SettingsPanelItem[]\n config?: GroupByConfig\n onChange?: ColumnSettingsContextType['updateGroupBy']\n groupBy?: ColumnSettingsContextType['groupBy']\n updateGroupBy?: ColumnSettingsContextType['updateGroupBy']\n onConfigChange?: (config: GroupByConfig) => void\n}\n\nexport interface GroupSettingsFallbackProps extends GroupSettingsProps {\n requiredVersion?: string\n}\n\nexport const GroupSettingsFallback: FC<GroupSettingsFallbackProps> = ({\n requiredVersion,\n fields,\n}) => (\n <TableSettingsFallback feature={'groupAttributes'} requiredVersion={requiredVersion}>\n {fields.map((field) => (\n <FieldItem key={field.value}>\n <FieldButton variant=\"text\" icon={field.icon}>\n {field.label}\n <Icon icon={'bolt'} style={{ marginLeft: 'auto' }} />\n </FieldButton>\n </FieldItem>\n ))}\n </TableSettingsFallback>\n)\n"],"names":["Button","TableSettingsFallback","jsx","jsxs","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,YAAY,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOzB,MAAM,cAAc,OAAOA,0BAAM;AAAA;AAAA;AAAA;AAsB1B,MAAM,wBAAwD,CAAC;AAAA,EACpE;AAAA,EACA;AACF,uDACGC,sBAAAA,uBAAsB,EAAA,SAAS,mBAAmB,iBAChD,iBAAO,IAAI,CAAC,UACXC,2BAAAA,kBAAAA,IAAC,aACC,UAACC,kDAAA,aAAA,EAAY,SAAQ,QAAO,MAAM,MAAM,MACrC,UAAA;AAAA,EAAM,MAAA;AAAA,EACPD,iDAACE,oBAAAA,QAAK,MAAM,QAAQ,OAAO,EAAE,YAAY,SAAU,CAAA;AAAA,EAAA,CACrD,EAJc,GAAA,MAAM,KAKtB,CACD,EACH,CAAA;;"}
|
|
@@ -126,17 +126,15 @@ import "../../Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
|
|
|
126
126
|
import "../../Feed/Feed.styled.es.js";
|
|
127
127
|
import "date-fns";
|
|
128
128
|
import "../ProjectTreeTable.es.js";
|
|
129
|
+
import "../context/CellEditingContext.es.js";
|
|
130
|
+
import "../context/ClipboardContext.es.js";
|
|
131
|
+
import "@tanstack/react-table";
|
|
129
132
|
import "../context/SelectionCellsContext.es.js";
|
|
133
|
+
import "../context/ColumnSettingsContext.es.js";
|
|
130
134
|
import "../context/ProjectTableContext.es.js";
|
|
131
135
|
import "../context/ProjectTableQueriesContext.es.js";
|
|
132
136
|
import "../context/SelectedRowsContext.es.js";
|
|
133
|
-
import "../context/ColumnSettingsContext.es.js";
|
|
134
|
-
import "../context/CellEditingContext.es.js";
|
|
135
|
-
import "../context/ClipboardContext.es.js";
|
|
136
|
-
import "../context/ProjectTableSelectionContext.es.js";
|
|
137
137
|
import "../context/ProjectDataContext.es.js";
|
|
138
|
-
import "../context/ProjectTableModulesContext.es.js";
|
|
139
|
-
import "@tanstack/react-table";
|
|
140
138
|
import "../widgets/CollapsedWidget.es.js";
|
|
141
139
|
import "../widgets/DateWidget.es.js";
|
|
142
140
|
import "../widgets/EnumWidget.es.js";
|
|
@@ -150,11 +148,11 @@ import "../ProjectTreeTable.styled.es.js";
|
|
|
150
148
|
import "./SelectionCell.es.js";
|
|
151
149
|
import "./RowSelectionHeader.es.js";
|
|
152
150
|
import "../widgets/LoadMoreWidget.es.js";
|
|
153
|
-
import "../../DetailsPanel/DetailsPanel.styled.es.js";
|
|
154
151
|
import "../../../../../_virtual/runtime.es.js";
|
|
155
152
|
import "../../../../../_virtual/semver.es.js";
|
|
156
153
|
import "react-redux";
|
|
157
154
|
import "custom-protocol-check";
|
|
155
|
+
import "../../DetailsPanel/DetailsPanel.styled.es.js";
|
|
158
156
|
import "../../DetailsPanel/FeedFilters/FeedFilters.styled.es.js";
|
|
159
157
|
import "../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
|
|
160
158
|
import "../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js";
|
package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupSettingsFallback.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/components/GroupSettingsFallback.tsx"],"sourcesContent":["import { SettingsPanelItem, TableSettingsFallback } from '
|
|
1
|
+
{"version":3,"file":"GroupSettingsFallback.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/components/GroupSettingsFallback.tsx"],"sourcesContent":["import { SettingsPanelItem, TableSettingsFallback } from '../../../components'\nimport { FC } from 'react'\nimport { ColumnSettingsContextType } from '../context'\nimport styled from 'styled-components'\nimport { Button, Icon } from '@ynput/ayon-react-components'\n\nconst FieldItem = styled.li`\n display: flex;\n align-items: center;\n padding: 0;\n margin: 0;\n`\n\nconst FieldButton = styled(Button)`\n width: 100%;\n justify-content: start;\n`\n\nexport type GroupByConfig = {\n showEmpty?: boolean\n}\n\nexport interface GroupSettingsProps {\n fields: SettingsPanelItem[]\n config?: GroupByConfig\n onChange?: ColumnSettingsContextType['updateGroupBy']\n groupBy?: ColumnSettingsContextType['groupBy']\n updateGroupBy?: ColumnSettingsContextType['updateGroupBy']\n onConfigChange?: (config: GroupByConfig) => void\n}\n\nexport interface GroupSettingsFallbackProps extends GroupSettingsProps {\n requiredVersion?: string\n}\n\nexport const GroupSettingsFallback: FC<GroupSettingsFallbackProps> = ({\n requiredVersion,\n fields,\n}) => (\n <TableSettingsFallback feature={'groupAttributes'} requiredVersion={requiredVersion}>\n {fields.map((field) => (\n <FieldItem key={field.value}>\n <FieldButton variant=\"text\" icon={field.icon}>\n {field.label}\n <Icon icon={'bolt'} style={{ marginLeft: 'auto' }} />\n </FieldButton>\n </FieldItem>\n ))}\n </TableSettingsFallback>\n)\n"],"names":["jsx","jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,YAAY,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOzB,MAAM,cAAc,OAAO,MAAM;AAAA;AAAA;AAAA;AAsB1B,MAAM,wBAAwD,CAAC;AAAA,EACpE;AAAA,EACA;AACF,4CACG,uBAAsB,EAAA,SAAS,mBAAmB,iBAChD,iBAAO,IAAI,CAAC,UACXA,kCAAAA,IAAC,aACC,UAACC,uCAAA,aAAA,EAAY,SAAQ,QAAO,MAAM,MAAM,MACrC,UAAA;AAAA,EAAM,MAAA;AAAA,EACPD,sCAAC,QAAK,MAAM,QAAQ,OAAO,EAAE,YAAY,SAAU,CAAA;AAAA,EAAA,CACrD,EAJc,GAAA,MAAM,KAKtB,CACD,EACH,CAAA;"}
|
|
@@ -1,180 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const jsxRuntime = require("../../../../../_virtual/jsx-runtime.cjs.js");
|
|
4
3
|
const React = require("react");
|
|
5
|
-
const reactTable = require("@tanstack/react-table");
|
|
6
4
|
const ColumnSettingsContext = React.createContext(void 0);
|
|
7
|
-
const ColumnSettingsProvider = ({
|
|
8
|
-
children,
|
|
9
|
-
config,
|
|
10
|
-
onChange
|
|
11
|
-
}) => {
|
|
12
|
-
const columnsConfig = config;
|
|
13
|
-
const {
|
|
14
|
-
columnOrder: columnOrderInit = [],
|
|
15
|
-
columnPinning: columnPinningInit = {},
|
|
16
|
-
columnVisibility = {},
|
|
17
|
-
columnSizing: columnsSizingExternal = {},
|
|
18
|
-
groupBy
|
|
19
|
-
} = columnsConfig;
|
|
20
|
-
const columnOrder = [...columnOrderInit];
|
|
21
|
-
const columnPinning = { ...columnPinningInit };
|
|
22
|
-
const defaultOrder = ["thumbnail", "name", "subType", "status", "tags"];
|
|
23
|
-
defaultOrder.forEach((col, i) => {
|
|
24
|
-
if (!columnOrder.includes(col)) {
|
|
25
|
-
const defaultBefore = defaultOrder[i - 1];
|
|
26
|
-
const columnAfter = defaultOrder[i + 1];
|
|
27
|
-
if (!defaultBefore || !columnOrder.includes(defaultBefore)) {
|
|
28
|
-
columnOrder.unshift(col);
|
|
29
|
-
} else {
|
|
30
|
-
const index = columnOrder.indexOf(defaultBefore);
|
|
31
|
-
columnOrder.splice(index + 1, 0, col);
|
|
32
|
-
}
|
|
33
|
-
if (columnAfter && (columnPinning == null ? void 0 : columnPinning.left) && (columnPinning == null ? void 0 : columnPinning.left.includes(columnAfter))) {
|
|
34
|
-
columnPinning.left = [col, ...(columnPinning == null ? void 0 : columnPinning.left) || []];
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
const setColumnVisibility = (visibility) => {
|
|
39
|
-
onChange({
|
|
40
|
-
...columnsConfig,
|
|
41
|
-
columnVisibility: visibility
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
const setColumnOrder = (order) => {
|
|
45
|
-
onChange({
|
|
46
|
-
...columnsConfig,
|
|
47
|
-
columnOrder: order
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
|
-
const setColumnPinning = (pinning) => {
|
|
51
|
-
onChange({
|
|
52
|
-
...columnsConfig,
|
|
53
|
-
columnPinning: pinning
|
|
54
|
-
});
|
|
55
|
-
};
|
|
56
|
-
const [internalColumnSizing, setInternalColumnSizing] = React.useState(null);
|
|
57
|
-
const columnSizing = internalColumnSizing || columnsSizingExternal;
|
|
58
|
-
const resizingTimeoutRef = React.useRef(null);
|
|
59
|
-
const setColumnSizing = (sizing) => {
|
|
60
|
-
setInternalColumnSizing(sizing);
|
|
61
|
-
if (resizingTimeoutRef.current) {
|
|
62
|
-
clearTimeout(resizingTimeoutRef.current);
|
|
63
|
-
}
|
|
64
|
-
resizingTimeoutRef.current = setTimeout(() => {
|
|
65
|
-
onChange({
|
|
66
|
-
...columnsConfig,
|
|
67
|
-
columnSizing: sizing
|
|
68
|
-
});
|
|
69
|
-
setInternalColumnSizing(null);
|
|
70
|
-
}, 500);
|
|
71
|
-
};
|
|
72
|
-
const togglePinningOnVisibilityChange = (visibility) => {
|
|
73
|
-
const newPinning = { ...columnPinning };
|
|
74
|
-
const pinnedColumns = newPinning.left || [];
|
|
75
|
-
const hiddenColumns = Object.keys(visibility).filter((col) => visibility[col] === false);
|
|
76
|
-
const newPinnedColumns = pinnedColumns.filter((col) => !hiddenColumns.includes(col));
|
|
77
|
-
return {
|
|
78
|
-
...newPinning,
|
|
79
|
-
left: newPinnedColumns
|
|
80
|
-
};
|
|
81
|
-
};
|
|
82
|
-
const updatePinningOrderOnOrderChange = (order) => {
|
|
83
|
-
const newPinning = { ...columnPinning };
|
|
84
|
-
const pinnedColumns = newPinning.left || [];
|
|
85
|
-
const pinnedColumnsOrder = order.filter((col) => pinnedColumns.includes(col));
|
|
86
|
-
return {
|
|
87
|
-
...newPinning,
|
|
88
|
-
left: pinnedColumnsOrder
|
|
89
|
-
};
|
|
90
|
-
};
|
|
91
|
-
const updateOrderOnPinningChange = (pinning) => {
|
|
92
|
-
return [...columnOrder].sort((a, b) => {
|
|
93
|
-
var _a, _b;
|
|
94
|
-
const aPinned = ((_a = pinning.left) == null ? void 0 : _a.includes(a)) ? 1 : 0;
|
|
95
|
-
const bPinned = ((_b = pinning.left) == null ? void 0 : _b.includes(b)) ? 1 : 0;
|
|
96
|
-
return bPinned - aPinned;
|
|
97
|
-
});
|
|
98
|
-
};
|
|
99
|
-
const updateColumnVisibility = (visibility) => {
|
|
100
|
-
const newPinning = togglePinningOnVisibilityChange(visibility);
|
|
101
|
-
onChange({
|
|
102
|
-
...columnsConfig,
|
|
103
|
-
columnVisibility: visibility,
|
|
104
|
-
columnPinning: newPinning
|
|
105
|
-
});
|
|
106
|
-
};
|
|
107
|
-
const updateColumnOrder = (order) => {
|
|
108
|
-
const newPinning = updatePinningOrderOnOrderChange(order);
|
|
109
|
-
onChange({
|
|
110
|
-
...columnsConfig,
|
|
111
|
-
columnOrder: order,
|
|
112
|
-
columnPinning: newPinning
|
|
113
|
-
});
|
|
114
|
-
};
|
|
115
|
-
const updateColumnPinning = (pinning) => {
|
|
116
|
-
const newOrder = updateOrderOnPinningChange(pinning);
|
|
117
|
-
onChange({
|
|
118
|
-
...columnsConfig,
|
|
119
|
-
columnOrder: newOrder,
|
|
120
|
-
columnPinning: pinning
|
|
121
|
-
});
|
|
122
|
-
};
|
|
123
|
-
const updateGroupBy = (groupBy2) => {
|
|
124
|
-
onChange({
|
|
125
|
-
...columnsConfig,
|
|
126
|
-
groupBy: groupBy2
|
|
127
|
-
});
|
|
128
|
-
};
|
|
129
|
-
const columnVisibilityUpdater = (columnVisibilityUpdater2) => {
|
|
130
|
-
const newVisibility = reactTable.functionalUpdate(columnVisibilityUpdater2, columnVisibility);
|
|
131
|
-
updateColumnVisibility(newVisibility);
|
|
132
|
-
};
|
|
133
|
-
const columnOrderUpdater = (columnOrderUpdater2) => {
|
|
134
|
-
const newOrder = reactTable.functionalUpdate(columnOrderUpdater2, columnOrder);
|
|
135
|
-
updateColumnOrder(newOrder);
|
|
136
|
-
};
|
|
137
|
-
const columnPinningUpdater = (columnPinningUpdater2) => {
|
|
138
|
-
const newPinning = reactTable.functionalUpdate(columnPinningUpdater2, columnPinning);
|
|
139
|
-
updateColumnPinning(newPinning);
|
|
140
|
-
};
|
|
141
|
-
const columnSizingUpdater = (sizingUpdater) => {
|
|
142
|
-
const newSizing = reactTable.functionalUpdate(sizingUpdater, columnSizing);
|
|
143
|
-
setColumnSizing(newSizing);
|
|
144
|
-
};
|
|
145
|
-
return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
|
|
146
|
-
ColumnSettingsContext.Provider,
|
|
147
|
-
{
|
|
148
|
-
value: {
|
|
149
|
-
// column visibility
|
|
150
|
-
columnVisibility,
|
|
151
|
-
setColumnVisibility,
|
|
152
|
-
updateColumnVisibility,
|
|
153
|
-
columnVisibilityUpdater,
|
|
154
|
-
// column pinning
|
|
155
|
-
columnPinning,
|
|
156
|
-
setColumnPinning,
|
|
157
|
-
updateColumnPinning,
|
|
158
|
-
columnPinningUpdater,
|
|
159
|
-
// column order
|
|
160
|
-
columnOrder,
|
|
161
|
-
setColumnOrder,
|
|
162
|
-
updateColumnOrder,
|
|
163
|
-
columnOrderUpdater,
|
|
164
|
-
// column sizing
|
|
165
|
-
columnSizing,
|
|
166
|
-
setColumnSizing,
|
|
167
|
-
columnSizingUpdater,
|
|
168
|
-
// group by
|
|
169
|
-
groupBy,
|
|
170
|
-
updateGroupBy,
|
|
171
|
-
// global change
|
|
172
|
-
setColumnsConfig: onChange
|
|
173
|
-
},
|
|
174
|
-
children
|
|
175
|
-
}
|
|
176
|
-
);
|
|
177
|
-
};
|
|
178
5
|
const useColumnSettingsContext = () => {
|
|
179
6
|
const context = React.useContext(ColumnSettingsContext);
|
|
180
7
|
if (!context) {
|
|
@@ -182,6 +9,6 @@ const useColumnSettingsContext = () => {
|
|
|
182
9
|
}
|
|
183
10
|
return context;
|
|
184
11
|
};
|
|
185
|
-
exports.
|
|
12
|
+
exports.ColumnSettingsContext = ColumnSettingsContext;
|
|
186
13
|
exports.useColumnSettingsContext = useColumnSettingsContext;
|
|
187
14
|
//# sourceMappingURL=ColumnSettingsContext.cjs.js.map
|
package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnSettingsContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ColumnSettingsContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, useState } from 'react'\nimport {\n ColumnOrderState,\n ColumnPinningState,\n functionalUpdate,\n OnChangeFn,\n VisibilityState,\n ColumnSizingState,\n} from '@tanstack/react-table'\n\nexport interface TableGroupBy {\n desc: boolean\n id: string\n}\n\nexport interface ColumnSettingsContextType {\n // Column Visibility\n columnVisibility: VisibilityState\n setColumnVisibility: (columnVisibility: VisibilityState) => void\n updateColumnVisibility: (columnVisibility: VisibilityState) => void\n columnVisibilityUpdater: OnChangeFn<VisibilityState>\n\n // Column Pinning\n columnPinning: ColumnPinningState\n setColumnPinning: (columnPinning: ColumnPinningState) => void\n updateColumnPinning: (columnPinning: ColumnPinningState) => void\n columnPinningUpdater: OnChangeFn<ColumnPinningState>\n\n // Column Order\n columnOrder: ColumnOrderState\n setColumnOrder: (columnOrder: ColumnOrderState) => void\n updateColumnOrder: (columnOrder: ColumnOrderState) => void\n columnOrderUpdater: OnChangeFn<ColumnOrderState>\n\n // Column Sizing\n columnSizing: ColumnSizingState\n setColumnSizing: (columnSizing: ColumnSizingState) => void\n columnSizingUpdater: OnChangeFn<ColumnSizingState>\n\n // groupBy\n updateGroupBy: (groupBy: TableGroupBy | undefined) => void\n groupBy?: TableGroupBy\n\n // Global change\n setColumnsConfig: (config: ColumnsConfig) => void\n}\n\nconst ColumnSettingsContext = createContext<ColumnSettingsContextType | undefined>(undefined)\n\nexport type ColumnsConfig = {\n columnVisibility: VisibilityState\n columnOrder: ColumnOrderState\n columnPinning: ColumnPinningState\n columnSizing: ColumnSizingState\n groupBy?: TableGroupBy\n}\n\ninterface ColumnSettingsProviderProps {\n children: ReactNode\n config?: Record<string, any>\n onChange: (config: ColumnsConfig) => void\n}\n\nexport const ColumnSettingsProvider: React.FC<ColumnSettingsProviderProps> = ({\n children,\n config,\n onChange,\n}) => {\n const columnsConfig = config as ColumnsConfig\n const {\n columnOrder: columnOrderInit = [],\n columnPinning: columnPinningInit = {},\n columnVisibility = {},\n columnSizing: columnsSizingExternal = {},\n groupBy,\n } = columnsConfig\n\n const columnOrder = [...columnOrderInit]\n const columnPinning = { ...columnPinningInit }\n const defaultOrder = ['thumbnail', 'name', 'subType', 'status', 'tags']\n // for each default column, if it is not in the columnOrder, find the index of the column before it, if none, add to beginning\n defaultOrder.forEach((col, i) => {\n if (!columnOrder.includes(col)) {\n const defaultBefore = defaultOrder[i - 1]\n const columnAfter = defaultOrder[i + 1]\n if (!defaultBefore || !columnOrder.includes(defaultBefore)) {\n // add to beginning\n columnOrder.unshift(col)\n } else {\n // find the index of that column in the columnOrder\n const index = columnOrder.indexOf(defaultBefore)\n // add the item after that column\n columnOrder.splice(index + 1, 0, col)\n }\n if (columnAfter && columnPinning?.left && columnPinning?.left.includes(columnAfter)) {\n // pin the column\n columnPinning.left = [col, ...(columnPinning?.left || [])]\n }\n }\n })\n\n // DIRECT STATE UPDATES - no side effects\n const setColumnVisibility = (visibility: VisibilityState) => {\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n })\n }\n\n const setColumnOrder = (order: ColumnOrderState) => {\n onChange({\n ...columnsConfig,\n columnOrder: order,\n })\n }\n\n const setColumnPinning = (pinning: ColumnPinningState) => {\n onChange({\n ...columnsConfig,\n columnPinning: pinning,\n })\n }\n\n const [internalColumnSizing, setInternalColumnSizing] = useState<ColumnSizingState | null>(null)\n\n // use internalColumnSizing if it exists, otherwise use the external column sizing\n const columnSizing = internalColumnSizing || columnsSizingExternal\n\n const resizingTimeoutRef = React.useRef<NodeJS.Timeout | null>(null)\n\n const setColumnSizing = (sizing: ColumnSizingState) => {\n setInternalColumnSizing(sizing)\n\n // if there is a timeout already set, clear it\n if (resizingTimeoutRef.current) {\n clearTimeout(resizingTimeoutRef.current)\n }\n // set a timeout that tracks if the column sizing has finished\n resizingTimeoutRef.current = setTimeout(() => {\n // we have finished resizing now!\n // update the external column sizing\n onChange({\n ...columnsConfig,\n columnSizing: sizing,\n })\n // reset the internal column sizing to not be used anymore\n setInternalColumnSizing(null)\n }, 500)\n }\n\n // SIDE EFFECT UTILITIES\n const togglePinningOnVisibilityChange = (visibility: VisibilityState) => {\n // ensure that any columns that are now hidden are removed from the pinning\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const hiddenColumns = Object.keys(visibility).filter((col) => visibility[col] === false)\n const newPinnedColumns = pinnedColumns.filter((col) => !hiddenColumns.includes(col))\n\n return {\n ...newPinning,\n left: newPinnedColumns,\n }\n }\n\n const updatePinningOrderOnOrderChange = (order: ColumnOrderState) => {\n // ensure that the column pinning is in the order of the column order\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const pinnedColumnsOrder = order.filter((col) => pinnedColumns.includes(col))\n\n return {\n ...newPinning,\n left: pinnedColumnsOrder,\n }\n }\n\n const updateOrderOnPinningChange = (pinning: ColumnPinningState) => {\n // we resort the column order based on the pinning\n return [...columnOrder].sort((a, b) => {\n const aPinned = pinning.left?.includes(a) ? 1 : 0\n const bPinned = pinning.left?.includes(b) ? 1 : 0\n return bPinned - aPinned\n })\n }\n\n // UPDATE METHODS WITH SIDE EFFECTS\n const updateColumnVisibility = (visibility: VisibilityState) => {\n const newPinning = togglePinningOnVisibilityChange(visibility)\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnOrder = (order: ColumnOrderState) => {\n const newPinning = updatePinningOrderOnOrderChange(order)\n onChange({\n ...columnsConfig,\n columnOrder: order,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnPinning = (pinning: ColumnPinningState) => {\n const newOrder = updateOrderOnPinningChange(pinning)\n onChange({\n ...columnsConfig,\n columnOrder: newOrder,\n columnPinning: pinning,\n })\n }\n\n const updateGroupBy = (groupBy: TableGroupBy | undefined) => {\n onChange({\n ...columnsConfig,\n groupBy: groupBy,\n })\n }\n\n // UPDATER FUNCTIONS\n const columnVisibilityUpdater: OnChangeFn<VisibilityState> = (columnVisibilityUpdater) => {\n const newVisibility = functionalUpdate(columnVisibilityUpdater, columnVisibility)\n updateColumnVisibility(newVisibility)\n }\n\n const columnOrderUpdater: OnChangeFn<ColumnOrderState> = (columnOrderUpdater) => {\n const newOrder = functionalUpdate(columnOrderUpdater, columnOrder)\n updateColumnOrder(newOrder)\n }\n\n const columnPinningUpdater: OnChangeFn<ColumnPinningState> = (columnPinningUpdater) => {\n const newPinning = functionalUpdate(columnPinningUpdater, columnPinning)\n updateColumnPinning(newPinning)\n }\n\n const columnSizingUpdater: OnChangeFn<ColumnSizingState> = (sizingUpdater) => {\n const newSizing = functionalUpdate(sizingUpdater, columnSizing)\n setColumnSizing(newSizing)\n }\n\n return (\n <ColumnSettingsContext.Provider\n value={{\n // column visibility\n columnVisibility,\n setColumnVisibility,\n updateColumnVisibility,\n columnVisibilityUpdater,\n // column pinning\n columnPinning,\n setColumnPinning,\n updateColumnPinning,\n columnPinningUpdater,\n // column order\n columnOrder,\n setColumnOrder,\n updateColumnOrder,\n columnOrderUpdater,\n // column sizing\n columnSizing,\n setColumnSizing,\n columnSizingUpdater,\n // group by\n groupBy,\n updateGroupBy,\n\n // global change\n setColumnsConfig: onChange,\n }}\n >\n {children}\n </ColumnSettingsContext.Provider>\n )\n}\n\nexport const useColumnSettingsContext = (): ColumnSettingsContextType => {\n const context = useContext(ColumnSettingsContext)\n if (!context) {\n throw new Error('useColumnSettingsContext must be used within a ColumnSettingsProvider')\n }\n return context\n}\n"],"names":["createContext","useState","groupBy","columnVisibilityUpdater","functionalUpdate","columnOrderUpdater","columnPinningUpdater","jsx","useContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ColumnSettingsContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ColumnSettingsContext.tsx"],"sourcesContent":["import React, { createContext, useContext } from 'react'\nimport {\n ColumnOrderState,\n ColumnPinningState,\n OnChangeFn,\n VisibilityState,\n ColumnSizingState,\n} from '@tanstack/react-table'\nimport { GroupByConfig } from '../components/GroupSettingsFallback'\n\nexport interface TableGroupBy {\n desc: boolean\n id: string\n}\n\nexport type ColumnsConfig = {\n columnVisibility: VisibilityState\n columnOrder: ColumnOrderState\n columnPinning: ColumnPinningState\n columnSizing: ColumnSizingState\n groupBy?: TableGroupBy\n groupByConfig?: {\n showEmpty?: boolean\n }\n}\n\nexport interface ColumnSettingsContextType {\n // Column Visibility\n columnVisibility: VisibilityState\n setColumnVisibility: (columnVisibility: VisibilityState) => void\n updateColumnVisibility: (columnVisibility: VisibilityState) => void\n columnVisibilityUpdater: OnChangeFn<VisibilityState>\n\n // Column Pinning\n columnPinning: ColumnPinningState\n setColumnPinning: (columnPinning: ColumnPinningState) => void\n updateColumnPinning: (columnPinning: ColumnPinningState) => void\n columnPinningUpdater: OnChangeFn<ColumnPinningState>\n\n // Column Order\n columnOrder: ColumnOrderState\n setColumnOrder: (columnOrder: ColumnOrderState) => void\n updateColumnOrder: (columnOrder: ColumnOrderState) => void\n columnOrderUpdater: OnChangeFn<ColumnOrderState>\n\n // Column Sizing\n columnSizing: ColumnSizingState\n setColumnSizing: (columnSizing: ColumnSizingState) => void\n columnSizingUpdater: OnChangeFn<ColumnSizingState>\n\n // groupBy\n groupBy?: TableGroupBy\n updateGroupBy: (groupBy: TableGroupBy | undefined) => void\n groupByConfig: GroupByConfig\n updateGroupByConfig: (config: GroupByConfig) => void\n\n // Global change\n setColumnsConfig: (config: ColumnsConfig) => void\n}\n\nexport const ColumnSettingsContext = createContext<ColumnSettingsContextType | undefined>(undefined)\n\nexport const useColumnSettingsContext = (): ColumnSettingsContextType => {\n const context = useContext(ColumnSettingsContext)\n if (!context) {\n throw new Error('useColumnSettingsContext must be used within a ColumnSettingsProvider')\n }\n return context\n}\n"],"names":["createContext","useContext"],"mappings":";;;AA4Da,MAAA,wBAAwBA,oBAAqD,MAAS;AAE5F,MAAM,2BAA2B,MAAiC;AACjE,QAAA,UAAUC,iBAAW,qBAAqB;AAChD,MAAI,CAAC,SAAS;AACN,UAAA,IAAI,MAAM,uEAAuE;AAAA,EAAA;AAElF,SAAA;AACT;;;"}
|
|
@@ -1,178 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import React__default, { createContext, useState, useContext } from "react";
|
|
3
|
-
import { functionalUpdate } from "@tanstack/react-table";
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
4
2
|
const ColumnSettingsContext = createContext(void 0);
|
|
5
|
-
const ColumnSettingsProvider = ({
|
|
6
|
-
children,
|
|
7
|
-
config,
|
|
8
|
-
onChange
|
|
9
|
-
}) => {
|
|
10
|
-
const columnsConfig = config;
|
|
11
|
-
const {
|
|
12
|
-
columnOrder: columnOrderInit = [],
|
|
13
|
-
columnPinning: columnPinningInit = {},
|
|
14
|
-
columnVisibility = {},
|
|
15
|
-
columnSizing: columnsSizingExternal = {},
|
|
16
|
-
groupBy
|
|
17
|
-
} = columnsConfig;
|
|
18
|
-
const columnOrder = [...columnOrderInit];
|
|
19
|
-
const columnPinning = { ...columnPinningInit };
|
|
20
|
-
const defaultOrder = ["thumbnail", "name", "subType", "status", "tags"];
|
|
21
|
-
defaultOrder.forEach((col, i) => {
|
|
22
|
-
if (!columnOrder.includes(col)) {
|
|
23
|
-
const defaultBefore = defaultOrder[i - 1];
|
|
24
|
-
const columnAfter = defaultOrder[i + 1];
|
|
25
|
-
if (!defaultBefore || !columnOrder.includes(defaultBefore)) {
|
|
26
|
-
columnOrder.unshift(col);
|
|
27
|
-
} else {
|
|
28
|
-
const index = columnOrder.indexOf(defaultBefore);
|
|
29
|
-
columnOrder.splice(index + 1, 0, col);
|
|
30
|
-
}
|
|
31
|
-
if (columnAfter && (columnPinning == null ? void 0 : columnPinning.left) && (columnPinning == null ? void 0 : columnPinning.left.includes(columnAfter))) {
|
|
32
|
-
columnPinning.left = [col, ...(columnPinning == null ? void 0 : columnPinning.left) || []];
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
const setColumnVisibility = (visibility) => {
|
|
37
|
-
onChange({
|
|
38
|
-
...columnsConfig,
|
|
39
|
-
columnVisibility: visibility
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
const setColumnOrder = (order) => {
|
|
43
|
-
onChange({
|
|
44
|
-
...columnsConfig,
|
|
45
|
-
columnOrder: order
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
|
-
const setColumnPinning = (pinning) => {
|
|
49
|
-
onChange({
|
|
50
|
-
...columnsConfig,
|
|
51
|
-
columnPinning: pinning
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
|
-
const [internalColumnSizing, setInternalColumnSizing] = useState(null);
|
|
55
|
-
const columnSizing = internalColumnSizing || columnsSizingExternal;
|
|
56
|
-
const resizingTimeoutRef = React__default.useRef(null);
|
|
57
|
-
const setColumnSizing = (sizing) => {
|
|
58
|
-
setInternalColumnSizing(sizing);
|
|
59
|
-
if (resizingTimeoutRef.current) {
|
|
60
|
-
clearTimeout(resizingTimeoutRef.current);
|
|
61
|
-
}
|
|
62
|
-
resizingTimeoutRef.current = setTimeout(() => {
|
|
63
|
-
onChange({
|
|
64
|
-
...columnsConfig,
|
|
65
|
-
columnSizing: sizing
|
|
66
|
-
});
|
|
67
|
-
setInternalColumnSizing(null);
|
|
68
|
-
}, 500);
|
|
69
|
-
};
|
|
70
|
-
const togglePinningOnVisibilityChange = (visibility) => {
|
|
71
|
-
const newPinning = { ...columnPinning };
|
|
72
|
-
const pinnedColumns = newPinning.left || [];
|
|
73
|
-
const hiddenColumns = Object.keys(visibility).filter((col) => visibility[col] === false);
|
|
74
|
-
const newPinnedColumns = pinnedColumns.filter((col) => !hiddenColumns.includes(col));
|
|
75
|
-
return {
|
|
76
|
-
...newPinning,
|
|
77
|
-
left: newPinnedColumns
|
|
78
|
-
};
|
|
79
|
-
};
|
|
80
|
-
const updatePinningOrderOnOrderChange = (order) => {
|
|
81
|
-
const newPinning = { ...columnPinning };
|
|
82
|
-
const pinnedColumns = newPinning.left || [];
|
|
83
|
-
const pinnedColumnsOrder = order.filter((col) => pinnedColumns.includes(col));
|
|
84
|
-
return {
|
|
85
|
-
...newPinning,
|
|
86
|
-
left: pinnedColumnsOrder
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
const updateOrderOnPinningChange = (pinning) => {
|
|
90
|
-
return [...columnOrder].sort((a, b) => {
|
|
91
|
-
var _a, _b;
|
|
92
|
-
const aPinned = ((_a = pinning.left) == null ? void 0 : _a.includes(a)) ? 1 : 0;
|
|
93
|
-
const bPinned = ((_b = pinning.left) == null ? void 0 : _b.includes(b)) ? 1 : 0;
|
|
94
|
-
return bPinned - aPinned;
|
|
95
|
-
});
|
|
96
|
-
};
|
|
97
|
-
const updateColumnVisibility = (visibility) => {
|
|
98
|
-
const newPinning = togglePinningOnVisibilityChange(visibility);
|
|
99
|
-
onChange({
|
|
100
|
-
...columnsConfig,
|
|
101
|
-
columnVisibility: visibility,
|
|
102
|
-
columnPinning: newPinning
|
|
103
|
-
});
|
|
104
|
-
};
|
|
105
|
-
const updateColumnOrder = (order) => {
|
|
106
|
-
const newPinning = updatePinningOrderOnOrderChange(order);
|
|
107
|
-
onChange({
|
|
108
|
-
...columnsConfig,
|
|
109
|
-
columnOrder: order,
|
|
110
|
-
columnPinning: newPinning
|
|
111
|
-
});
|
|
112
|
-
};
|
|
113
|
-
const updateColumnPinning = (pinning) => {
|
|
114
|
-
const newOrder = updateOrderOnPinningChange(pinning);
|
|
115
|
-
onChange({
|
|
116
|
-
...columnsConfig,
|
|
117
|
-
columnOrder: newOrder,
|
|
118
|
-
columnPinning: pinning
|
|
119
|
-
});
|
|
120
|
-
};
|
|
121
|
-
const updateGroupBy = (groupBy2) => {
|
|
122
|
-
onChange({
|
|
123
|
-
...columnsConfig,
|
|
124
|
-
groupBy: groupBy2
|
|
125
|
-
});
|
|
126
|
-
};
|
|
127
|
-
const columnVisibilityUpdater = (columnVisibilityUpdater2) => {
|
|
128
|
-
const newVisibility = functionalUpdate(columnVisibilityUpdater2, columnVisibility);
|
|
129
|
-
updateColumnVisibility(newVisibility);
|
|
130
|
-
};
|
|
131
|
-
const columnOrderUpdater = (columnOrderUpdater2) => {
|
|
132
|
-
const newOrder = functionalUpdate(columnOrderUpdater2, columnOrder);
|
|
133
|
-
updateColumnOrder(newOrder);
|
|
134
|
-
};
|
|
135
|
-
const columnPinningUpdater = (columnPinningUpdater2) => {
|
|
136
|
-
const newPinning = functionalUpdate(columnPinningUpdater2, columnPinning);
|
|
137
|
-
updateColumnPinning(newPinning);
|
|
138
|
-
};
|
|
139
|
-
const columnSizingUpdater = (sizingUpdater) => {
|
|
140
|
-
const newSizing = functionalUpdate(sizingUpdater, columnSizing);
|
|
141
|
-
setColumnSizing(newSizing);
|
|
142
|
-
};
|
|
143
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
144
|
-
ColumnSettingsContext.Provider,
|
|
145
|
-
{
|
|
146
|
-
value: {
|
|
147
|
-
// column visibility
|
|
148
|
-
columnVisibility,
|
|
149
|
-
setColumnVisibility,
|
|
150
|
-
updateColumnVisibility,
|
|
151
|
-
columnVisibilityUpdater,
|
|
152
|
-
// column pinning
|
|
153
|
-
columnPinning,
|
|
154
|
-
setColumnPinning,
|
|
155
|
-
updateColumnPinning,
|
|
156
|
-
columnPinningUpdater,
|
|
157
|
-
// column order
|
|
158
|
-
columnOrder,
|
|
159
|
-
setColumnOrder,
|
|
160
|
-
updateColumnOrder,
|
|
161
|
-
columnOrderUpdater,
|
|
162
|
-
// column sizing
|
|
163
|
-
columnSizing,
|
|
164
|
-
setColumnSizing,
|
|
165
|
-
columnSizingUpdater,
|
|
166
|
-
// group by
|
|
167
|
-
groupBy,
|
|
168
|
-
updateGroupBy,
|
|
169
|
-
// global change
|
|
170
|
-
setColumnsConfig: onChange
|
|
171
|
-
},
|
|
172
|
-
children
|
|
173
|
-
}
|
|
174
|
-
);
|
|
175
|
-
};
|
|
176
3
|
const useColumnSettingsContext = () => {
|
|
177
4
|
const context = useContext(ColumnSettingsContext);
|
|
178
5
|
if (!context) {
|
|
@@ -181,7 +8,7 @@ const useColumnSettingsContext = () => {
|
|
|
181
8
|
return context;
|
|
182
9
|
};
|
|
183
10
|
export {
|
|
184
|
-
|
|
11
|
+
ColumnSettingsContext,
|
|
185
12
|
useColumnSettingsContext
|
|
186
13
|
};
|
|
187
14
|
//# sourceMappingURL=ColumnSettingsContext.es.js.map
|