@ynput/ayon-frontend-shared 0.2.31 → 0.2.32

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.
Files changed (154) hide show
  1. package/dist/_virtual/index.cjs10.js +1 -1
  2. package/dist/_virtual/index.cjs5.js +1 -1
  3. package/dist/_virtual/index.cjs6.js +1 -1
  4. package/dist/_virtual/index.cjs8.js +1 -1
  5. package/dist/_virtual/index.cjs9.js +1 -1
  6. package/dist/_virtual/index.es10.js +5 -5
  7. package/dist/_virtual/index.es5.js +5 -2
  8. package/dist/_virtual/index.es5.js.map +1 -1
  9. package/dist/_virtual/index.es6.js +2 -5
  10. package/dist/_virtual/index.es6.js.map +1 -1
  11. package/dist/_virtual/index.es8.js +3 -3
  12. package/dist/_virtual/index.es9.js +5 -5
  13. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  14. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js.map +1 -1
  15. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  16. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  17. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  18. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  19. package/dist/node_modules/rehype-parse/lib/index.cjs.js.map +1 -1
  20. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  21. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
  22. package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
  23. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  24. package/dist/node_modules/remove-accents/index.es.js +1 -1
  25. package/dist/shared/src/api/generated/access.cjs.js.map +1 -1
  26. package/dist/shared/src/api/generated/access.es.js.map +1 -1
  27. package/dist/shared/src/api/generated/authentication.cjs.js +1 -1
  28. package/dist/shared/src/api/generated/authentication.cjs.js.map +1 -1
  29. package/dist/shared/src/api/generated/authentication.es.js +9 -6
  30. package/dist/shared/src/api/generated/authentication.es.js.map +1 -1
  31. package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
  32. package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
  33. package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
  34. package/dist/shared/src/api/generated/folders.es.js.map +1 -1
  35. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  36. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  37. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  38. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  39. package/dist/shared/src/api/generated/links.cjs.js +1 -1
  40. package/dist/shared/src/api/generated/links.cjs.js.map +1 -1
  41. package/dist/shared/src/api/generated/links.es.js +13 -5
  42. package/dist/shared/src/api/generated/links.es.js.map +1 -1
  43. package/dist/shared/src/api/generated/onboarding.cjs.js.map +1 -1
  44. package/dist/shared/src/api/generated/onboarding.es.js.map +1 -1
  45. package/dist/shared/src/api/generated/operations.cjs.js +1 -1
  46. package/dist/shared/src/api/generated/operations.cjs.js.map +1 -1
  47. package/dist/shared/src/api/generated/operations.es.js +16 -0
  48. package/dist/shared/src/api/generated/operations.es.js.map +1 -1
  49. package/dist/shared/src/api/generated/products.cjs.js +1 -1
  50. package/dist/shared/src/api/generated/products.cjs.js.map +1 -1
  51. package/dist/shared/src/api/generated/products.es.js +6 -3
  52. package/dist/shared/src/api/generated/products.es.js.map +1 -1
  53. package/dist/shared/src/api/generated/projects.cjs.js +1 -1
  54. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  55. package/dist/shared/src/api/generated/projects.es.js +19 -0
  56. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  57. package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/system.es.js.map +1 -1
  59. package/dist/shared/src/api/generated/tasks.cjs.js.map +1 -1
  60. package/dist/shared/src/api/generated/tasks.es.js.map +1 -1
  61. package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
  62. package/dist/shared/src/api/generated/users.es.js.map +1 -1
  63. package/dist/shared/src/api/generated/versions.cjs.js.map +1 -1
  64. package/dist/shared/src/api/generated/versions.es.js.map +1 -1
  65. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  66. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  67. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  68. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  69. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +15 -10
  70. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  71. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js +60 -0
  72. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js.map +1 -0
  73. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js +332 -0
  74. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js.map +1 -0
  75. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +4 -4
  76. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  77. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +37 -33
  78. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  79. package/dist/shared/src/components/Thumbnail/Thumbnail.styled.cjs.js +3 -5
  80. package/dist/shared/src/components/Thumbnail/Thumbnail.styled.cjs.js.map +1 -1
  81. package/dist/shared/src/components/Thumbnail/Thumbnail.styled.es.js +4 -6
  82. package/dist/shared/src/components/Thumbnail/Thumbnail.styled.es.js.map +1 -1
  83. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +1 -2
  84. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  85. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +0 -1
  86. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  87. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  88. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  89. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +555 -537
  90. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  91. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +0 -1
  92. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  93. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +4 -5
  94. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  95. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  96. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  97. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +92 -91
  98. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  99. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
  100. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
  101. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  102. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  103. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +126 -108
  104. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  105. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDynamicRowHeight.cjs.js +2 -0
  106. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDynamicRowHeight.cjs.js.map +1 -0
  107. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDynamicRowHeight.es.js +9 -0
  108. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDynamicRowHeight.es.js.map +1 -0
  109. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  110. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  111. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +49 -48
  112. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  113. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js +38 -9
  114. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
  115. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js +74 -39
  116. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
  117. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +24 -15
  118. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
  119. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +71 -59
  120. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
  121. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +6 -6
  122. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  123. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +12 -12
  124. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  125. package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
  126. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  127. package/dist/shared/src/util/columnConfigConverter.es.js +35 -33
  128. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  129. package/dist/types/api/generated/access.d.ts +6 -0
  130. package/dist/types/api/generated/authentication.d.ts +6 -0
  131. package/dist/types/api/generated/entityLists.d.ts +7 -7
  132. package/dist/types/api/generated/folders.d.ts +2 -2
  133. package/dist/types/api/generated/graphql.d.ts +3 -1
  134. package/dist/types/api/generated/graphqlLinks.d.ts +21 -15
  135. package/dist/types/api/generated/links.d.ts +4 -0
  136. package/dist/types/api/generated/onboarding.d.ts +3 -0
  137. package/dist/types/api/generated/operations.d.ts +22 -1
  138. package/dist/types/api/generated/products.d.ts +23 -0
  139. package/dist/types/api/generated/projects.d.ts +63 -0
  140. package/dist/types/api/generated/representations.d.ts +1 -0
  141. package/dist/types/api/generated/system.d.ts +9 -2
  142. package/dist/types/api/generated/tasks.d.ts +1 -0
  143. package/dist/types/api/generated/users.d.ts +1 -1
  144. package/dist/types/api/generated/versions.d.ts +1 -0
  145. package/dist/types/api/generated/views.d.ts +50 -9
  146. package/dist/types/api/queries/authentication/getAuthentication.d.ts +1 -0
  147. package/dist/types/api/queries/overview/updateOverview.d.ts +2 -0
  148. package/dist/types/api/queries/project/getProject.d.ts +4 -0
  149. package/dist/types/components/ProjectTableSettings/RowHeightSettings.d.ts +3 -0
  150. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +4 -0
  151. package/dist/types/containers/ProjectTreeTable/hooks/useDynamicRowHeight.d.ts +11 -0
  152. package/dist/types/containers/ProjectTreeTable/widgets/EntityNameWidget.d.ts +2 -1
  153. package/dist/types/containers/ProjectTreeTable/widgets/EnumCellValue.d.ts +2 -1
  154. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"columnConfigConverter.cjs.js","sources":["../../../../src/util/columnConfigConverter.ts"],"sourcesContent":["import {\n VisibilityState,\n ColumnPinningState,\n ColumnOrderState,\n ColumnSizingState,\n SortingState,\n} from '@tanstack/react-table'\nimport { ColumnItemModel, OverviewSettings } from '@shared/api/generated/views'\nimport { ColumnsConfig, TableGroupBy } from '@shared/containers'\nimport { GroupByConfig } from '@shared/containers/ProjectTreeTable/components/GroupSettingsFallback'\n\n/**\n * Converts ColumnItemModel array from OverviewSettings to TanStack table states\n */\nexport function convertColumnConfigToTanstackStates(settings: OverviewSettings): ColumnsConfig {\n const { columns = [], groupBy: groupByField, showEmptyGroups, sortBy, sortDesc } = settings || {}\n\n // Initialize state objects\n const columnVisibility: VisibilityState = {}\n const columnPinning: ColumnPinningState = { left: [], right: [] }\n const columnOrder: ColumnOrderState = []\n const columnSizing: ColumnSizingState = {}\n\n // Process each column from the settings\n columns.forEach((column) => {\n const { name, visible, pinned, width } = column\n\n // Column visibility: if visible is undefined, default to true\n columnVisibility[name] = visible !== false\n\n // Column order: maintain the order from the settings\n columnOrder.push(name)\n\n // Column pinning: assuming pinned: true means left pinning\n if (pinned) {\n columnPinning.left?.push(name)\n }\n\n // Column sizing: set width if provided\n if (width !== undefined) {\n columnSizing[name] = width\n }\n })\n\n // Handle sorting\n const sorting: SortingState = sortBy ? [{ id: sortBy, desc: sortDesc || false }] : []\n\n // Handle grouping\n const groupBy: TableGroupBy | undefined = groupByField\n ? { id: groupByField, desc: false }\n : undefined\n\n const groupByConfig: GroupByConfig = {\n showEmpty: showEmptyGroups || false,\n }\n\n return {\n columnVisibility,\n columnPinning,\n columnOrder,\n columnSizing,\n sorting,\n groupBy,\n groupByConfig,\n }\n}\n\n/**\n * Determines the final column order based on columnOrder and allColumnIds\n * - Columns in columnOrder come first (in their specified order)\n * - Remaining columns follow the order from allColumnIds\n */\nfunction determineColumnOrder(\n columnOrder: ColumnOrderState,\n allColumnIds: string[],\n columnsWithState: Set<string>,\n): string[] {\n // Start with columns from columnOrder (these have explicit positioning)\n const orderedColumns = [...columnOrder]\n\n // Add remaining columns from allColumnIds that aren't already in columnOrder\n const remainingColumns = allColumnIds.filter(\n (columnId) => !columnOrder.includes(columnId) && columnsWithState.has(columnId),\n )\n\n return [...orderedColumns, ...remainingColumns]\n}\n\n/**\n * Collects all columns that have any state (visibility, sizing, pinning, etc.)\n */\nfunction collectColumnsWithState(\n columnVisibility: VisibilityState,\n columnSizing: ColumnSizingState,\n columnPinning: ColumnPinningState,\n allColumnIds: string[],\n): Set<string> {\n const columnsWithState = new Set<string>()\n\n // Add columns with visibility state\n Object.keys(columnVisibility).forEach((col) => columnsWithState.add(col))\n\n // Add columns with sizing state\n Object.keys(columnSizing).forEach((col) => columnsWithState.add(col))\n\n // Add pinned columns\n columnPinning.left?.forEach((col) => columnsWithState.add(col))\n columnPinning.right?.forEach((col) => columnsWithState.add(col))\n\n // Add any additional columns from allColumnIds\n allColumnIds?.forEach((col) => columnsWithState.add(col))\n\n return columnsWithState\n}\n\n/**\n * Creates a ColumnItemModel for a given column name with all applicable state\n */\nfunction createColumnItem(\n columnName: string,\n columnVisibility: VisibilityState,\n columnPinning: ColumnPinningState,\n columnSizing: ColumnSizingState,\n): ColumnItemModel {\n const column: ColumnItemModel = {\n name: columnName,\n }\n\n // Set visibility if defined in state\n if (columnVisibility.hasOwnProperty(columnName)) {\n column.visible = columnVisibility[columnName]\n }\n\n // Set pinning if column is pinned\n const isPinnedLeft = columnPinning.left?.includes(columnName)\n const isPinnedRight = columnPinning.right?.includes(columnName)\n\n if (isPinnedLeft || isPinnedRight) {\n column.pinned = true\n }\n\n // Set width if defined in state\n if (columnSizing[columnName] !== undefined) {\n column.width = columnSizing[columnName]\n }\n\n return column\n}\n\n/**\n * Converts TanStack table states back to OverviewSettings format\n *\n * Column ordering logic:\n * 1. Columns in columnOrder appear first (in their specified order)\n * 2. Remaining columns follow the order from allColumnIds\n * 3. Only columns with state (visibility, sizing, pinning) or in allColumnIds are included\n */\nexport function convertTanstackStatesToColumnConfig(\n states: ColumnsConfig,\n allColumnIds?: string[],\n): OverviewSettings {\n const {\n columnVisibility,\n columnPinning,\n columnOrder,\n columnSizing,\n sorting,\n groupBy,\n groupByConfig,\n } = states\n\n // Collect all columns that have any state\n const columnsWithState = collectColumnsWithState(\n columnVisibility,\n columnSizing,\n columnPinning,\n allColumnIds || [],\n )\n\n // Determine the final column order\n const finalColumnOrder = determineColumnOrder(columnOrder, allColumnIds || [], columnsWithState)\n\n // Create ColumnItemModel for each column in the determined order\n const columns: ColumnItemModel[] = finalColumnOrder.map((columnName) =>\n createColumnItem(columnName, columnVisibility, columnPinning, columnSizing),\n )\n\n // Build the result object\n const result: OverviewSettings = {\n columns,\n }\n\n // Add grouping information if present\n if (groupBy) {\n result.groupBy = groupBy.id\n } else {\n result.groupBy = undefined\n }\n\n if (groupByConfig?.showEmpty !== undefined) {\n result.showEmptyGroups = groupByConfig.showEmpty\n }\n\n // Add sorting information if present\n if (sorting) {\n if (sorting.length > 0) {\n // find the column that is being sorted\n const firstSort = sorting[0]\n result.sortBy = firstSort.id\n result.sortDesc = firstSort.desc\n } else {\n // remove sorting\n result.sortBy = undefined\n result.sortDesc = undefined\n }\n }\n\n return result\n}\n"],"names":["convertColumnConfigToTanstackStates","settings","columns","groupByField","showEmptyGroups","sortBy","sortDesc","columnVisibility","columnPinning","columnOrder","columnSizing","column","name","visible","pinned","width","_a","determineColumnOrder","allColumnIds","columnsWithState","orderedColumns","remainingColumns","columnId","collectColumnsWithState","col","_b","createColumnItem","columnName","isPinnedLeft","isPinnedRight","convertTanstackStatesToColumnConfig","states","sorting","groupBy","groupByConfig","result","firstSort"],"mappings":"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"}
1
+ {"version":3,"file":"columnConfigConverter.cjs.js","sources":["../../../../src/util/columnConfigConverter.ts"],"sourcesContent":["import {\n VisibilityState,\n ColumnPinningState,\n ColumnOrderState,\n ColumnSizingState,\n SortingState,\n} from '@tanstack/react-table'\nimport { ColumnItemModel, OverviewSettings } from '@shared/api/generated/views'\nimport { ColumnsConfig, TableGroupBy } from '@shared/containers'\nimport { GroupByConfig } from '@shared/containers/ProjectTreeTable/components/GroupSettingsFallback'\n\n/**\n * Converts ColumnItemModel array from OverviewSettings to TanStack table states\n */\nexport function convertColumnConfigToTanstackStates(settings: OverviewSettings): ColumnsConfig {\n const { columns = [], groupBy: groupByField, showEmptyGroups, sortBy, sortDesc, rowHeight } = settings || {}\n\n // Initialize state objects\n const columnVisibility: VisibilityState = {}\n const columnPinning: ColumnPinningState = { left: [], right: [] }\n const columnOrder: ColumnOrderState = []\n const columnSizing: ColumnSizingState = {}\n\n // Process each column from the settings\n columns.forEach((column) => {\n const { name, visible, pinned, width } = column\n\n // Column visibility: if visible is undefined, default to true\n columnVisibility[name] = visible !== false\n\n // Column order: maintain the order from the settings\n columnOrder.push(name)\n\n // Column pinning: assuming pinned: true means left pinning\n if (pinned) {\n columnPinning.left?.push(name)\n }\n\n // Column sizing: set width if provided\n if (width !== undefined) {\n columnSizing[name] = width\n }\n })\n\n // Handle sorting\n const sorting: SortingState = sortBy ? [{ id: sortBy, desc: sortDesc || false }] : []\n\n // Handle grouping\n const groupBy: TableGroupBy | undefined = groupByField\n ? { id: groupByField, desc: false }\n : undefined\n\n const groupByConfig: GroupByConfig = {\n showEmpty: showEmptyGroups || false,\n }\n\n return {\n columnVisibility,\n columnPinning,\n columnOrder,\n columnSizing,\n sorting,\n groupBy,\n groupByConfig,\n rowHeight: rowHeight ?? 34,\n }\n}\n\n/**\n * Determines the final column order based on columnOrder and allColumnIds\n * - Columns in columnOrder come first (in their specified order)\n * - Remaining columns follow the order from allColumnIds\n */\nfunction determineColumnOrder(\n columnOrder: ColumnOrderState,\n allColumnIds: string[],\n columnsWithState: Set<string>,\n): string[] {\n // Start with columns from columnOrder (these have explicit positioning)\n const orderedColumns = [...columnOrder]\n\n // Add remaining columns from allColumnIds that aren't already in columnOrder\n const remainingColumns = allColumnIds.filter(\n (columnId) => !columnOrder.includes(columnId) && columnsWithState.has(columnId),\n )\n\n return [...orderedColumns, ...remainingColumns]\n}\n\n/**\n * Collects all columns that have any state (visibility, sizing, pinning, etc.)\n */\nfunction collectColumnsWithState(\n columnVisibility: VisibilityState,\n columnSizing: ColumnSizingState,\n columnPinning: ColumnPinningState,\n allColumnIds: string[],\n): Set<string> {\n const columnsWithState = new Set<string>()\n\n // Add columns with visibility state\n Object.keys(columnVisibility).forEach((col) => columnsWithState.add(col))\n\n // Add columns with sizing state\n Object.keys(columnSizing).forEach((col) => columnsWithState.add(col))\n\n // Add pinned columns\n columnPinning.left?.forEach((col) => columnsWithState.add(col))\n columnPinning.right?.forEach((col) => columnsWithState.add(col))\n\n // Add any additional columns from allColumnIds\n allColumnIds?.forEach((col) => columnsWithState.add(col))\n\n return columnsWithState\n}\n\n/**\n * Creates a ColumnItemModel for a given column name with all applicable state\n */\nfunction createColumnItem(\n columnName: string,\n columnVisibility: VisibilityState,\n columnPinning: ColumnPinningState,\n columnSizing: ColumnSizingState,\n): ColumnItemModel {\n const column: ColumnItemModel = {\n name: columnName,\n }\n\n // Set visibility if defined in state\n if (columnVisibility.hasOwnProperty(columnName)) {\n column.visible = columnVisibility[columnName]\n }\n\n // Set pinning if column is pinned\n const isPinnedLeft = columnPinning.left?.includes(columnName)\n const isPinnedRight = columnPinning.right?.includes(columnName)\n\n if (isPinnedLeft || isPinnedRight) {\n column.pinned = true\n }\n\n // Set width if defined in state\n if (columnSizing[columnName] !== undefined) {\n column.width = columnSizing[columnName]\n }\n\n return column\n}\n\n/**\n * Converts TanStack table states back to OverviewSettings format\n *\n * Column ordering logic:\n * 1. Columns in columnOrder appear first (in their specified order)\n * 2. Remaining columns follow the order from allColumnIds\n * 3. Only columns with state (visibility, sizing, pinning) or in allColumnIds are included\n */\nexport function convertTanstackStatesToColumnConfig(\n states: ColumnsConfig,\n allColumnIds?: string[],\n): OverviewSettings {\n const {\n columnVisibility,\n columnPinning,\n columnOrder,\n columnSizing,\n sorting,\n groupBy,\n groupByConfig,\n rowHeight,\n } = states\n\n // Collect all columns that have any state\n const columnsWithState = collectColumnsWithState(\n columnVisibility,\n columnSizing,\n columnPinning,\n allColumnIds || [],\n )\n\n // Determine the final column order\n const finalColumnOrder = determineColumnOrder(columnOrder, allColumnIds || [], columnsWithState)\n\n // Create ColumnItemModel for each column in the determined order\n const columns: ColumnItemModel[] = finalColumnOrder.map((columnName) =>\n createColumnItem(columnName, columnVisibility, columnPinning, columnSizing),\n )\n\n // Build the result object\n const result: OverviewSettings = {\n columns,\n }\n\n // Add grouping information if present\n if (groupBy) {\n result.groupBy = groupBy.id\n } else {\n result.groupBy = undefined\n }\n\n if (groupByConfig?.showEmpty !== undefined) {\n result.showEmptyGroups = groupByConfig.showEmpty\n }\n\n // Add sorting information if present\n if (sorting) {\n if (sorting.length > 0) {\n // find the column that is being sorted\n const firstSort = sorting[0]\n result.sortBy = firstSort.id\n result.sortDesc = firstSort.desc\n } else {\n // remove sorting\n result.sortBy = undefined\n result.sortDesc = undefined\n }\n }\n\n // Add row height if present\n if (rowHeight !== undefined) {\n result.rowHeight = rowHeight\n }\n\n return result\n}\n"],"names":["convertColumnConfigToTanstackStates","settings","columns","groupByField","showEmptyGroups","sortBy","sortDesc","rowHeight","columnVisibility","columnPinning","columnOrder","columnSizing","column","name","visible","pinned","width","_a","determineColumnOrder","allColumnIds","columnsWithState","orderedColumns","remainingColumns","columnId","collectColumnsWithState","col","_b","createColumnItem","columnName","isPinnedLeft","isPinnedRight","convertTanstackStatesToColumnConfig","states","sorting","groupBy","groupByConfig","result","firstSort"],"mappings":"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"}
@@ -1,58 +1,60 @@
1
- function S(n) {
2
- const { columns: r = [], groupBy: s, showEmptyGroups: i, sortBy: t, sortDesc: e } = n || {}, c = {}, o = { left: [], right: [] }, f = [], h = {};
1
+ function C(n) {
2
+ const { columns: r = [], groupBy: i, showEmptyGroups: s, sortBy: t, sortDesc: e, rowHeight: c } = n || {}, o = {}, f = { left: [], right: [] }, h = [], g = {};
3
3
  return r.forEach((u) => {
4
- var g;
5
- const { name: a, visible: m, pinned: v, width: p } = u;
6
- c[a] = m !== !1, f.push(a), v && ((g = o.left) == null || g.push(a)), p !== void 0 && (h[a] = p);
4
+ var l;
5
+ const { name: a, visible: v, pinned: m, width: p } = u;
6
+ o[a] = v !== !1, h.push(a), m && ((l = f.left) == null || l.push(a)), p !== void 0 && (g[a] = p);
7
7
  }), {
8
- columnVisibility: c,
9
- columnPinning: o,
10
- columnOrder: f,
11
- columnSizing: h,
8
+ columnVisibility: o,
9
+ columnPinning: f,
10
+ columnOrder: h,
11
+ columnSizing: g,
12
12
  sorting: t ? [{ id: t, desc: e || !1 }] : [],
13
- groupBy: s ? { id: s, desc: !1 } : void 0,
13
+ groupBy: i ? { id: i, desc: !1 } : void 0,
14
14
  groupByConfig: {
15
- showEmpty: i || !1
16
- }
15
+ showEmpty: s || !1
16
+ },
17
+ rowHeight: c ?? 34
17
18
  };
18
19
  }
19
- function B(n, r, s) {
20
- const i = [...n], t = r.filter(
21
- (e) => !n.includes(e) && s.has(e)
20
+ function B(n, r, i) {
21
+ const s = [...n], t = r.filter(
22
+ (e) => !n.includes(e) && i.has(e)
22
23
  );
23
- return [...i, ...t];
24
+ return [...s, ...t];
24
25
  }
25
- function E(n, r, s, i) {
26
+ function E(n, r, i, s) {
26
27
  var e, c;
27
28
  const t = /* @__PURE__ */ new Set();
28
- return Object.keys(n).forEach((o) => t.add(o)), Object.keys(r).forEach((o) => t.add(o)), (e = s.left) == null || e.forEach((o) => t.add(o)), (c = s.right) == null || c.forEach((o) => t.add(o)), i == null || i.forEach((o) => t.add(o)), t;
29
+ return Object.keys(n).forEach((o) => t.add(o)), Object.keys(r).forEach((o) => t.add(o)), (e = i.left) == null || e.forEach((o) => t.add(o)), (c = i.right) == null || c.forEach((o) => t.add(o)), s == null || s.forEach((o) => t.add(o)), t;
29
30
  }
30
- function w(n, r, s, i) {
31
+ function S(n, r, i, s) {
31
32
  var o, f;
32
33
  const t = {
33
34
  name: n
34
35
  };
35
36
  r.hasOwnProperty(n) && (t.visible = r[n]);
36
- const e = (o = s.left) == null ? void 0 : o.includes(n), c = (f = s.right) == null ? void 0 : f.includes(n);
37
- return (e || c) && (t.pinned = !0), i[n] !== void 0 && (t.width = i[n]), t;
37
+ const e = (o = i.left) == null ? void 0 : o.includes(n), c = (f = i.right) == null ? void 0 : f.includes(n);
38
+ return (e || c) && (t.pinned = !0), s[n] !== void 0 && (t.width = s[n]), t;
38
39
  }
39
- function C(n, r) {
40
+ function O(n, r) {
40
41
  const {
41
- columnVisibility: s,
42
- columnPinning: i,
42
+ columnVisibility: i,
43
+ columnPinning: s,
43
44
  columnOrder: t,
44
45
  columnSizing: e,
45
46
  sorting: c,
46
47
  groupBy: o,
47
- groupByConfig: f
48
- } = n, h = E(
49
- s,
50
- e,
48
+ groupByConfig: f,
49
+ rowHeight: h
50
+ } = n, g = E(
51
51
  i,
52
+ e,
53
+ s,
52
54
  r || []
53
55
  ), d = {
54
- columns: B(t, r || [], h).map(
55
- (u) => w(u, s, i, e)
56
+ columns: B(t, r || [], g).map(
57
+ (u) => S(u, i, s, e)
56
58
  )
57
59
  };
58
60
  if (o ? d.groupBy = o.id : d.groupBy = void 0, (f == null ? void 0 : f.showEmpty) !== void 0 && (d.showEmptyGroups = f.showEmpty), c)
@@ -61,10 +63,10 @@ function C(n, r) {
61
63
  d.sortBy = u.id, d.sortDesc = u.desc;
62
64
  } else
63
65
  d.sortBy = void 0, d.sortDesc = void 0;
64
- return d;
66
+ return h !== void 0 && (d.rowHeight = h), d;
65
67
  }
66
68
  export {
67
- S as convertColumnConfigToTanstackStates,
68
- C as convertTanstackStatesToColumnConfig
69
+ C as convertColumnConfigToTanstackStates,
70
+ O as convertTanstackStatesToColumnConfig
69
71
  };
70
72
  //# sourceMappingURL=columnConfigConverter.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"columnConfigConverter.es.js","sources":["../../../../src/util/columnConfigConverter.ts"],"sourcesContent":["import {\n VisibilityState,\n ColumnPinningState,\n ColumnOrderState,\n ColumnSizingState,\n SortingState,\n} from '@tanstack/react-table'\nimport { ColumnItemModel, OverviewSettings } from '@shared/api/generated/views'\nimport { ColumnsConfig, TableGroupBy } from '@shared/containers'\nimport { GroupByConfig } from '@shared/containers/ProjectTreeTable/components/GroupSettingsFallback'\n\n/**\n * Converts ColumnItemModel array from OverviewSettings to TanStack table states\n */\nexport function convertColumnConfigToTanstackStates(settings: OverviewSettings): ColumnsConfig {\n const { columns = [], groupBy: groupByField, showEmptyGroups, sortBy, sortDesc } = settings || {}\n\n // Initialize state objects\n const columnVisibility: VisibilityState = {}\n const columnPinning: ColumnPinningState = { left: [], right: [] }\n const columnOrder: ColumnOrderState = []\n const columnSizing: ColumnSizingState = {}\n\n // Process each column from the settings\n columns.forEach((column) => {\n const { name, visible, pinned, width } = column\n\n // Column visibility: if visible is undefined, default to true\n columnVisibility[name] = visible !== false\n\n // Column order: maintain the order from the settings\n columnOrder.push(name)\n\n // Column pinning: assuming pinned: true means left pinning\n if (pinned) {\n columnPinning.left?.push(name)\n }\n\n // Column sizing: set width if provided\n if (width !== undefined) {\n columnSizing[name] = width\n }\n })\n\n // Handle sorting\n const sorting: SortingState = sortBy ? [{ id: sortBy, desc: sortDesc || false }] : []\n\n // Handle grouping\n const groupBy: TableGroupBy | undefined = groupByField\n ? { id: groupByField, desc: false }\n : undefined\n\n const groupByConfig: GroupByConfig = {\n showEmpty: showEmptyGroups || false,\n }\n\n return {\n columnVisibility,\n columnPinning,\n columnOrder,\n columnSizing,\n sorting,\n groupBy,\n groupByConfig,\n }\n}\n\n/**\n * Determines the final column order based on columnOrder and allColumnIds\n * - Columns in columnOrder come first (in their specified order)\n * - Remaining columns follow the order from allColumnIds\n */\nfunction determineColumnOrder(\n columnOrder: ColumnOrderState,\n allColumnIds: string[],\n columnsWithState: Set<string>,\n): string[] {\n // Start with columns from columnOrder (these have explicit positioning)\n const orderedColumns = [...columnOrder]\n\n // Add remaining columns from allColumnIds that aren't already in columnOrder\n const remainingColumns = allColumnIds.filter(\n (columnId) => !columnOrder.includes(columnId) && columnsWithState.has(columnId),\n )\n\n return [...orderedColumns, ...remainingColumns]\n}\n\n/**\n * Collects all columns that have any state (visibility, sizing, pinning, etc.)\n */\nfunction collectColumnsWithState(\n columnVisibility: VisibilityState,\n columnSizing: ColumnSizingState,\n columnPinning: ColumnPinningState,\n allColumnIds: string[],\n): Set<string> {\n const columnsWithState = new Set<string>()\n\n // Add columns with visibility state\n Object.keys(columnVisibility).forEach((col) => columnsWithState.add(col))\n\n // Add columns with sizing state\n Object.keys(columnSizing).forEach((col) => columnsWithState.add(col))\n\n // Add pinned columns\n columnPinning.left?.forEach((col) => columnsWithState.add(col))\n columnPinning.right?.forEach((col) => columnsWithState.add(col))\n\n // Add any additional columns from allColumnIds\n allColumnIds?.forEach((col) => columnsWithState.add(col))\n\n return columnsWithState\n}\n\n/**\n * Creates a ColumnItemModel for a given column name with all applicable state\n */\nfunction createColumnItem(\n columnName: string,\n columnVisibility: VisibilityState,\n columnPinning: ColumnPinningState,\n columnSizing: ColumnSizingState,\n): ColumnItemModel {\n const column: ColumnItemModel = {\n name: columnName,\n }\n\n // Set visibility if defined in state\n if (columnVisibility.hasOwnProperty(columnName)) {\n column.visible = columnVisibility[columnName]\n }\n\n // Set pinning if column is pinned\n const isPinnedLeft = columnPinning.left?.includes(columnName)\n const isPinnedRight = columnPinning.right?.includes(columnName)\n\n if (isPinnedLeft || isPinnedRight) {\n column.pinned = true\n }\n\n // Set width if defined in state\n if (columnSizing[columnName] !== undefined) {\n column.width = columnSizing[columnName]\n }\n\n return column\n}\n\n/**\n * Converts TanStack table states back to OverviewSettings format\n *\n * Column ordering logic:\n * 1. Columns in columnOrder appear first (in their specified order)\n * 2. Remaining columns follow the order from allColumnIds\n * 3. Only columns with state (visibility, sizing, pinning) or in allColumnIds are included\n */\nexport function convertTanstackStatesToColumnConfig(\n states: ColumnsConfig,\n allColumnIds?: string[],\n): OverviewSettings {\n const {\n columnVisibility,\n columnPinning,\n columnOrder,\n columnSizing,\n sorting,\n groupBy,\n groupByConfig,\n } = states\n\n // Collect all columns that have any state\n const columnsWithState = collectColumnsWithState(\n columnVisibility,\n columnSizing,\n columnPinning,\n allColumnIds || [],\n )\n\n // Determine the final column order\n const finalColumnOrder = determineColumnOrder(columnOrder, allColumnIds || [], columnsWithState)\n\n // Create ColumnItemModel for each column in the determined order\n const columns: ColumnItemModel[] = finalColumnOrder.map((columnName) =>\n createColumnItem(columnName, columnVisibility, columnPinning, columnSizing),\n )\n\n // Build the result object\n const result: OverviewSettings = {\n columns,\n }\n\n // Add grouping information if present\n if (groupBy) {\n result.groupBy = groupBy.id\n } else {\n result.groupBy = undefined\n }\n\n if (groupByConfig?.showEmpty !== undefined) {\n result.showEmptyGroups = groupByConfig.showEmpty\n }\n\n // Add sorting information if present\n if (sorting) {\n if (sorting.length > 0) {\n // find the column that is being sorted\n const firstSort = sorting[0]\n result.sortBy = firstSort.id\n result.sortDesc = firstSort.desc\n } else {\n // remove sorting\n result.sortBy = undefined\n result.sortDesc = undefined\n }\n }\n\n return result\n}\n"],"names":["convertColumnConfigToTanstackStates","settings","columns","groupByField","showEmptyGroups","sortBy","sortDesc","columnVisibility","columnPinning","columnOrder","columnSizing","column","_a","name","visible","pinned","width","determineColumnOrder","allColumnIds","columnsWithState","orderedColumns","remainingColumns","columnId","collectColumnsWithState","_b","col","createColumnItem","columnName","isPinnedLeft","isPinnedRight","convertTanstackStatesToColumnConfig","states","sorting","groupBy","groupByConfig","result","firstSort"],"mappings":"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"}
1
+ {"version":3,"file":"columnConfigConverter.es.js","sources":["../../../../src/util/columnConfigConverter.ts"],"sourcesContent":["import {\n VisibilityState,\n ColumnPinningState,\n ColumnOrderState,\n ColumnSizingState,\n SortingState,\n} from '@tanstack/react-table'\nimport { ColumnItemModel, OverviewSettings } from '@shared/api/generated/views'\nimport { ColumnsConfig, TableGroupBy } from '@shared/containers'\nimport { GroupByConfig } from '@shared/containers/ProjectTreeTable/components/GroupSettingsFallback'\n\n/**\n * Converts ColumnItemModel array from OverviewSettings to TanStack table states\n */\nexport function convertColumnConfigToTanstackStates(settings: OverviewSettings): ColumnsConfig {\n const { columns = [], groupBy: groupByField, showEmptyGroups, sortBy, sortDesc, rowHeight } = settings || {}\n\n // Initialize state objects\n const columnVisibility: VisibilityState = {}\n const columnPinning: ColumnPinningState = { left: [], right: [] }\n const columnOrder: ColumnOrderState = []\n const columnSizing: ColumnSizingState = {}\n\n // Process each column from the settings\n columns.forEach((column) => {\n const { name, visible, pinned, width } = column\n\n // Column visibility: if visible is undefined, default to true\n columnVisibility[name] = visible !== false\n\n // Column order: maintain the order from the settings\n columnOrder.push(name)\n\n // Column pinning: assuming pinned: true means left pinning\n if (pinned) {\n columnPinning.left?.push(name)\n }\n\n // Column sizing: set width if provided\n if (width !== undefined) {\n columnSizing[name] = width\n }\n })\n\n // Handle sorting\n const sorting: SortingState = sortBy ? [{ id: sortBy, desc: sortDesc || false }] : []\n\n // Handle grouping\n const groupBy: TableGroupBy | undefined = groupByField\n ? { id: groupByField, desc: false }\n : undefined\n\n const groupByConfig: GroupByConfig = {\n showEmpty: showEmptyGroups || false,\n }\n\n return {\n columnVisibility,\n columnPinning,\n columnOrder,\n columnSizing,\n sorting,\n groupBy,\n groupByConfig,\n rowHeight: rowHeight ?? 34,\n }\n}\n\n/**\n * Determines the final column order based on columnOrder and allColumnIds\n * - Columns in columnOrder come first (in their specified order)\n * - Remaining columns follow the order from allColumnIds\n */\nfunction determineColumnOrder(\n columnOrder: ColumnOrderState,\n allColumnIds: string[],\n columnsWithState: Set<string>,\n): string[] {\n // Start with columns from columnOrder (these have explicit positioning)\n const orderedColumns = [...columnOrder]\n\n // Add remaining columns from allColumnIds that aren't already in columnOrder\n const remainingColumns = allColumnIds.filter(\n (columnId) => !columnOrder.includes(columnId) && columnsWithState.has(columnId),\n )\n\n return [...orderedColumns, ...remainingColumns]\n}\n\n/**\n * Collects all columns that have any state (visibility, sizing, pinning, etc.)\n */\nfunction collectColumnsWithState(\n columnVisibility: VisibilityState,\n columnSizing: ColumnSizingState,\n columnPinning: ColumnPinningState,\n allColumnIds: string[],\n): Set<string> {\n const columnsWithState = new Set<string>()\n\n // Add columns with visibility state\n Object.keys(columnVisibility).forEach((col) => columnsWithState.add(col))\n\n // Add columns with sizing state\n Object.keys(columnSizing).forEach((col) => columnsWithState.add(col))\n\n // Add pinned columns\n columnPinning.left?.forEach((col) => columnsWithState.add(col))\n columnPinning.right?.forEach((col) => columnsWithState.add(col))\n\n // Add any additional columns from allColumnIds\n allColumnIds?.forEach((col) => columnsWithState.add(col))\n\n return columnsWithState\n}\n\n/**\n * Creates a ColumnItemModel for a given column name with all applicable state\n */\nfunction createColumnItem(\n columnName: string,\n columnVisibility: VisibilityState,\n columnPinning: ColumnPinningState,\n columnSizing: ColumnSizingState,\n): ColumnItemModel {\n const column: ColumnItemModel = {\n name: columnName,\n }\n\n // Set visibility if defined in state\n if (columnVisibility.hasOwnProperty(columnName)) {\n column.visible = columnVisibility[columnName]\n }\n\n // Set pinning if column is pinned\n const isPinnedLeft = columnPinning.left?.includes(columnName)\n const isPinnedRight = columnPinning.right?.includes(columnName)\n\n if (isPinnedLeft || isPinnedRight) {\n column.pinned = true\n }\n\n // Set width if defined in state\n if (columnSizing[columnName] !== undefined) {\n column.width = columnSizing[columnName]\n }\n\n return column\n}\n\n/**\n * Converts TanStack table states back to OverviewSettings format\n *\n * Column ordering logic:\n * 1. Columns in columnOrder appear first (in their specified order)\n * 2. Remaining columns follow the order from allColumnIds\n * 3. Only columns with state (visibility, sizing, pinning) or in allColumnIds are included\n */\nexport function convertTanstackStatesToColumnConfig(\n states: ColumnsConfig,\n allColumnIds?: string[],\n): OverviewSettings {\n const {\n columnVisibility,\n columnPinning,\n columnOrder,\n columnSizing,\n sorting,\n groupBy,\n groupByConfig,\n rowHeight,\n } = states\n\n // Collect all columns that have any state\n const columnsWithState = collectColumnsWithState(\n columnVisibility,\n columnSizing,\n columnPinning,\n allColumnIds || [],\n )\n\n // Determine the final column order\n const finalColumnOrder = determineColumnOrder(columnOrder, allColumnIds || [], columnsWithState)\n\n // Create ColumnItemModel for each column in the determined order\n const columns: ColumnItemModel[] = finalColumnOrder.map((columnName) =>\n createColumnItem(columnName, columnVisibility, columnPinning, columnSizing),\n )\n\n // Build the result object\n const result: OverviewSettings = {\n columns,\n }\n\n // Add grouping information if present\n if (groupBy) {\n result.groupBy = groupBy.id\n } else {\n result.groupBy = undefined\n }\n\n if (groupByConfig?.showEmpty !== undefined) {\n result.showEmptyGroups = groupByConfig.showEmpty\n }\n\n // Add sorting information if present\n if (sorting) {\n if (sorting.length > 0) {\n // find the column that is being sorted\n const firstSort = sorting[0]\n result.sortBy = firstSort.id\n result.sortDesc = firstSort.desc\n } else {\n // remove sorting\n result.sortBy = undefined\n result.sortDesc = undefined\n }\n }\n\n // Add row height if present\n if (rowHeight !== undefined) {\n result.rowHeight = rowHeight\n }\n\n return result\n}\n"],"names":["convertColumnConfigToTanstackStates","settings","columns","groupByField","showEmptyGroups","sortBy","sortDesc","rowHeight","columnVisibility","columnPinning","columnOrder","columnSizing","column","_a","name","visible","pinned","width","determineColumnOrder","allColumnIds","columnsWithState","orderedColumns","remainingColumns","columnId","collectColumnsWithState","_b","col","createColumnItem","columnName","isPinnedLeft","isPinnedRight","convertTanstackStatesToColumnConfig","states","sorting","groupBy","groupByConfig","result","firstSort"],"mappings":"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"}
@@ -86,11 +86,16 @@ export type AttributeReadAccessList = {
86
86
  export type AttributeWriteAccessList = {
87
87
  enabled?: boolean;
88
88
  attributes?: string[];
89
+ fields?: string[];
89
90
  };
90
91
  export type EndpointsAccessList = {
91
92
  enabled?: boolean;
92
93
  endpoints?: string[];
93
94
  };
95
+ export type ProjectAdvancedPermissions = {
96
+ /** If a user can access a task through the 'Assigned' permission, enabling this will also show all sibling tasks in the same folder. When disabled, only the assigned task is visible. */
97
+ show_sibling_tasks?: boolean;
98
+ };
94
99
  export type Permissions = {
95
100
  studio?: StudioManagementPermissions;
96
101
  project?: ProjectManagementPermissions;
@@ -110,6 +115,7 @@ export type Permissions = {
110
115
  attrib_write?: AttributeWriteAccessList;
111
116
  /** Whitelist REST endpoints a user can access */
112
117
  endpoints?: EndpointsAccessList;
118
+ advanced?: ProjectAdvancedPermissions;
113
119
  };
114
120
  export type ShareOption = {
115
121
  shareType: string;
@@ -1,6 +1,7 @@
1
1
  declare const injectedRtkApi: import('@reduxjs/toolkit/query').Api<import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, {
2
2
  login: import('@reduxjs/toolkit/query').MutationDefinition<LoginApiArg, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, LoginResponseModel, "restApi", unknown>;
3
3
  logout: import('@reduxjs/toolkit/query').MutationDefinition<void, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, LogoutResponseModel, "restApi", unknown>;
4
+ tokenAuthCallback: import('@reduxjs/toolkit/query').QueryDefinition<void, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, LoginResponseModel, "restApi", unknown>;
4
5
  listActiveSessions: import('@reduxjs/toolkit/query').QueryDefinition<void, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, ListActiveSessionsApiResponse, "restApi", unknown>;
5
6
  createSession: import('@reduxjs/toolkit/query').MutationDefinition<CreateSessionApiArg, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, SessionModel, "restApi", unknown>;
6
7
  getUserPools: import('@reduxjs/toolkit/query').QueryDefinition<void, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, GetUserPoolsApiResponse, "restApi", unknown>;
@@ -12,6 +13,8 @@ export type LoginApiArg = {
12
13
  };
13
14
  export type LogoutApiResponse = LogoutResponseModel;
14
15
  export type LogoutApiArg = void;
16
+ export type TokenAuthCallbackApiResponse = LoginResponseModel;
17
+ export type TokenAuthCallbackApiArg = void;
15
18
  export type ListActiveSessionsApiResponse = SessionModel[];
16
19
  export type ListActiveSessionsApiArg = void;
17
20
  export type CreateSessionApiResponse = SessionModel;
@@ -40,10 +43,13 @@ export type UserModel = {
40
43
  updatedAt?: string;
41
44
  };
42
45
  export type LoginResponseModel = {
46
+ /** Text message, which may be displayed to the user */
43
47
  detail?: string;
44
48
  error?: string;
45
49
  token?: string;
46
50
  user?: UserModel;
51
+ /** URL to redirect the user after login */
52
+ redirectUrl?: string;
47
53
  };
48
54
  export type ValidationError = {
49
55
  loc: (string | number)[];
@@ -244,7 +244,7 @@ export type EntityListItemPostModel = {
244
244
  /** Overrides of the listed entity attributes */
245
245
  attrib?: object;
246
246
  /** Additional data associated with the item */
247
- data?: object;
247
+ data?: Record<string, any>;
248
248
  /** Tags associated with the item */
249
249
  tags?: string[];
250
250
  };
@@ -259,7 +259,7 @@ export type EntityListMultiPatchItemModel = {
259
259
  /** Overrides of the listed entity attributes */
260
260
  attrib?: object;
261
261
  /** Additional data associated with the item */
262
- data?: object;
262
+ data?: Record<string, any>;
263
263
  /** Tags associated with the item */
264
264
  tags?: string[];
265
265
  };
@@ -278,7 +278,7 @@ export type EntityListItemPatchModel = {
278
278
  /** Overrides of the listed entity attributes */
279
279
  attrib?: object;
280
280
  /** Additional data associated with the item */
281
- data?: object;
281
+ data?: Record<string, any>;
282
282
  /** Tags associated with the item */
283
283
  tags?: string[];
284
284
  };
@@ -308,7 +308,7 @@ export type EntityListPostModel = {
308
308
  /** List attributes */
309
309
  attrib?: object;
310
310
  /** Additional data associated with the list */
311
- data?: object;
311
+ data?: Record<string, any>;
312
312
  template?: object;
313
313
  /** List tags */
314
314
  tags?: string[];
@@ -329,7 +329,7 @@ export type EntityListItemModel = {
329
329
  /** Overrides of the listed entity attributes */
330
330
  attrib?: object;
331
331
  /** Additional data associated with the item */
332
- data?: object;
332
+ data?: Record<string, any>;
333
333
  /** Tags associated with the item */
334
334
  tags?: string[];
335
335
  /** Path to the folder where the item is located */
@@ -355,7 +355,7 @@ export type EntityListModel = {
355
355
  /** List attributes */
356
356
  attrib?: object;
357
357
  /** Additional data associated with the list */
358
- data?: object;
358
+ data?: Record<string, any>;
359
359
  template?: object;
360
360
  /** List tags */
361
361
  tags?: string[];
@@ -381,7 +381,7 @@ export type EntityListPatchModel = {
381
381
  /** ID of the folder containing the list */
382
382
  entityListFolderId?: string;
383
383
  /** Additional data associated with the list */
384
- data?: object;
384
+ data?: Record<string, any>;
385
385
  /** List tags */
386
386
  tags?: string[];
387
387
  /** Name of the user who created the list */
@@ -99,6 +99,7 @@ export type FolderModel = {
99
99
  parentId?: string;
100
100
  thumbnailId?: string;
101
101
  path?: string;
102
+ hasVersions?: boolean;
102
103
  attrib?: FolderAttribModel;
103
104
  data?: Record<string, any>;
104
105
  /** Whether the folder is active */
@@ -153,9 +154,8 @@ export type FolderListItem = {
153
154
  status: string;
154
155
  attrib?: object;
155
156
  ownAttrib?: string[];
156
- updatedAt: string;
157
157
  createdAt: string;
158
- hasVersions?: boolean;
158
+ updatedAt: string;
159
159
  };
160
160
  export type FolderListModel = {
161
161
  detail: string;
@@ -241,6 +241,7 @@ export type EventNode = {
241
241
  description: Scalars['String']['output'];
242
242
  hash: Scalars['String']['output'];
243
243
  id: Scalars['String']['output'];
244
+ payload?: Maybe<Scalars['String']['output']>;
244
245
  project?: Maybe<Scalars['String']['output']>;
245
246
  retries: Scalars['Int']['output'];
246
247
  sender?: Maybe<Scalars['String']['output']>;
@@ -308,6 +309,7 @@ export type FolderNode = BaseNode & {
308
309
  hasProducts: Scalars['Boolean']['output'];
309
310
  hasReviewables: Scalars['Boolean']['output'];
310
311
  hasTasks: Scalars['Boolean']['output'];
312
+ hasVersions: Scalars['Boolean']['output'];
311
313
  id: Scalars['String']['output'];
312
314
  label?: Maybe<Scalars['String']['output']>;
313
315
  links: LinksConnection;
@@ -456,7 +458,7 @@ export type LinkEdge = {
456
458
  linkType: Scalars['String']['output'];
457
459
  name?: Maybe<Scalars['String']['output']>;
458
460
  /** Linked node */
459
- node: BaseNode;
461
+ node?: Maybe<BaseNode>;
460
462
  projectName: Scalars['String']['output'];
461
463
  };
462
464
  export type LinkType = {
@@ -191,12 +191,16 @@ export type EntityListItemsConnection = {
191
191
  };
192
192
  export type EntityListNode = {
193
193
  __typename?: 'EntityListNode';
194
+ access: Scalars['String']['output'];
195
+ accessLevel: Scalars['Int']['output'];
194
196
  active: Scalars['Boolean']['output'];
197
+ allAttrib: Scalars['String']['output'];
195
198
  attributes: Scalars['String']['output'];
196
199
  count: Scalars['Int']['output'];
197
200
  createdAt: Scalars['DateTime']['output'];
198
201
  createdBy?: Maybe<Scalars['String']['output']>;
199
202
  data: Scalars['String']['output'];
203
+ entityListFolderId?: Maybe<Scalars['String']['output']>;
200
204
  entityListType: Scalars['String']['output'];
201
205
  entityType: Scalars['String']['output'];
202
206
  id: Scalars['String']['output'];
@@ -237,6 +241,7 @@ export type EventNode = {
237
241
  description: Scalars['String']['output'];
238
242
  hash: Scalars['String']['output'];
239
243
  id: Scalars['String']['output'];
244
+ payload?: Maybe<Scalars['String']['output']>;
240
245
  project?: Maybe<Scalars['String']['output']>;
241
246
  retries: Scalars['Int']['output'];
242
247
  sender?: Maybe<Scalars['String']['output']>;
@@ -304,6 +309,7 @@ export type FolderNode = BaseNode & {
304
309
  hasProducts: Scalars['Boolean']['output'];
305
310
  hasReviewables: Scalars['Boolean']['output'];
306
311
  hasTasks: Scalars['Boolean']['output'];
312
+ hasVersions: Scalars['Boolean']['output'];
307
313
  id: Scalars['String']['output'];
308
314
  label?: Maybe<Scalars['String']['output']>;
309
315
  links: LinksConnection;
@@ -452,7 +458,7 @@ export type LinkEdge = {
452
458
  linkType: Scalars['String']['output'];
453
459
  name?: Maybe<Scalars['String']['output']>;
454
460
  /** Linked node */
455
- node: BaseNode;
461
+ node?: Maybe<BaseNode>;
456
462
  projectName: Scalars['String']['output'];
457
463
  };
458
464
  export type LinkType = {
@@ -1473,7 +1479,7 @@ export type GetFoldersLinksQuery = {
1473
1479
  direction: string;
1474
1480
  linkType: string;
1475
1481
  entityType: string;
1476
- node: {
1482
+ node?: {
1477
1483
  __typename: 'FolderNode';
1478
1484
  label?: string | null;
1479
1485
  id: string;
@@ -1507,7 +1513,7 @@ export type GetFoldersLinksQuery = {
1507
1513
  id: string;
1508
1514
  name: string;
1509
1515
  parents: Array<string>;
1510
- };
1516
+ } | null;
1511
1517
  }>;
1512
1518
  };
1513
1519
  };
@@ -1538,7 +1544,7 @@ export type GetProductsLinksQuery = {
1538
1544
  direction: string;
1539
1545
  linkType: string;
1540
1546
  entityType: string;
1541
- node: {
1547
+ node?: {
1542
1548
  __typename: 'FolderNode';
1543
1549
  label?: string | null;
1544
1550
  id: string;
@@ -1572,7 +1578,7 @@ export type GetProductsLinksQuery = {
1572
1578
  id: string;
1573
1579
  name: string;
1574
1580
  parents: Array<string>;
1575
- };
1581
+ } | null;
1576
1582
  }>;
1577
1583
  };
1578
1584
  };
@@ -1603,7 +1609,7 @@ export type GetTasksLinksQuery = {
1603
1609
  direction: string;
1604
1610
  linkType: string;
1605
1611
  entityType: string;
1606
- node: {
1612
+ node?: {
1607
1613
  __typename: 'FolderNode';
1608
1614
  label?: string | null;
1609
1615
  id: string;
@@ -1637,7 +1643,7 @@ export type GetTasksLinksQuery = {
1637
1643
  id: string;
1638
1644
  name: string;
1639
1645
  parents: Array<string>;
1640
- };
1646
+ } | null;
1641
1647
  }>;
1642
1648
  };
1643
1649
  };
@@ -1668,7 +1674,7 @@ export type GetVersionsLinksQuery = {
1668
1674
  direction: string;
1669
1675
  linkType: string;
1670
1676
  entityType: string;
1671
- node: {
1677
+ node?: {
1672
1678
  __typename: 'FolderNode';
1673
1679
  label?: string | null;
1674
1680
  id: string;
@@ -1702,7 +1708,7 @@ export type GetVersionsLinksQuery = {
1702
1708
  id: string;
1703
1709
  name: string;
1704
1710
  parents: Array<string>;
1705
- };
1711
+ } | null;
1706
1712
  }>;
1707
1713
  };
1708
1714
  };
@@ -1733,7 +1739,7 @@ export type GetWorkfilesLinksQuery = {
1733
1739
  direction: string;
1734
1740
  linkType: string;
1735
1741
  entityType: string;
1736
- node: {
1742
+ node?: {
1737
1743
  __typename: 'FolderNode';
1738
1744
  label?: string | null;
1739
1745
  id: string;
@@ -1767,7 +1773,7 @@ export type GetWorkfilesLinksQuery = {
1767
1773
  id: string;
1768
1774
  name: string;
1769
1775
  parents: Array<string>;
1770
- };
1776
+ } | null;
1771
1777
  }>;
1772
1778
  };
1773
1779
  };
@@ -1798,7 +1804,7 @@ export type GetRepresentationsLinksQuery = {
1798
1804
  direction: string;
1799
1805
  linkType: string;
1800
1806
  entityType: string;
1801
- node: {
1807
+ node?: {
1802
1808
  __typename: 'FolderNode';
1803
1809
  label?: string | null;
1804
1810
  id: string;
@@ -1832,7 +1838,7 @@ export type GetRepresentationsLinksQuery = {
1832
1838
  id: string;
1833
1839
  name: string;
1834
1840
  parents: Array<string>;
1835
- };
1841
+ } | null;
1836
1842
  }>;
1837
1843
  };
1838
1844
  };
@@ -2066,7 +2072,7 @@ export type OverviewEntityLinkFragmentFragment = {
2066
2072
  direction: string;
2067
2073
  linkType: string;
2068
2074
  entityType: string;
2069
- node: {
2075
+ node?: {
2070
2076
  __typename: 'FolderNode';
2071
2077
  label?: string | null;
2072
2078
  id: string;
@@ -2100,7 +2106,7 @@ export type OverviewEntityLinkFragmentFragment = {
2100
2106
  id: string;
2101
2107
  name: string;
2102
2108
  parents: Array<string>;
2103
- };
2109
+ } | null;
2104
2110
  };
2105
2111
  type OverviewEntityLinkNodeFragment_FolderNode_Fragment = {
2106
2112
  __typename: 'FolderNode';
@@ -24,12 +24,16 @@ export type DeleteLinkTypeApiArg = {
24
24
  export type CreateEntityLinkApiResponse = EntityIdResponse;
25
25
  export type CreateEntityLinkApiArg = {
26
26
  projectName: string;
27
+ 'x-sender'?: string;
28
+ 'x-sender-type'?: string;
27
29
  createLinkRequestModel: CreateLinkRequestModel;
28
30
  };
29
31
  export type DeleteEntityLinkApiResponse = unknown;
30
32
  export type DeleteEntityLinkApiArg = {
31
33
  projectName: string;
32
34
  linkId: string;
35
+ 'x-sender'?: string;
36
+ 'x-sender-type'?: string;
33
37
  };
34
38
  export type LinkTypeModel = {
35
39
  /** Name of the link type */
@@ -32,10 +32,13 @@ export type UserModel = {
32
32
  updatedAt?: string;
33
33
  };
34
34
  export type LoginResponseModel = {
35
+ /** Text message, which may be displayed to the user */
35
36
  detail?: string;
36
37
  error?: string;
37
38
  token?: string;
38
39
  user?: UserModel;
40
+ /** URL to redirect the user after login */
41
+ redirectUrl?: string;
39
42
  };
40
43
  export type ValidationError = {
41
44
  loc: (string | number)[];
@@ -2,6 +2,8 @@ declare const injectedRtkApi: import('@reduxjs/toolkit/query').Api<import('@redu
2
2
  eventOperations: import('@reduxjs/toolkit/query').MutationDefinition<EventOperationsApiArg, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, any, "restApi", unknown>;
3
3
  activitiesOperations: import('@reduxjs/toolkit/query').MutationDefinition<ActivitiesOperationsApiArg, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, ActivityOperationsResponseModel, "restApi", unknown>;
4
4
  operations: import('@reduxjs/toolkit/query').MutationDefinition<OperationsApiArg, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, OperationsResponseModel, "restApi", unknown>;
5
+ backgroundOperations: import('@reduxjs/toolkit/query').MutationDefinition<BackgroundOperationsApiArg, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, BackgroundOperationsResponseModel, "restApi", unknown>;
6
+ getBackgroundOperationsStatus: import('@reduxjs/toolkit/query').QueryDefinition<GetBackgroundOperationsStatusApiArg, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, BackgroundOperationsResponseModel, "restApi", unknown>;
5
7
  }, "restApi", string, typeof import('@reduxjs/toolkit/query').coreModuleName | typeof import('@reduxjs/toolkit/dist/query/react').reactHooksModuleName>;
6
8
  export { injectedRtkApi as api };
7
9
  export type EventOperationsApiResponse = any;
@@ -23,6 +25,20 @@ export type OperationsApiArg = {
23
25
  'x-sender-type'?: string;
24
26
  operationsRequestModel: OperationsRequestModel;
25
27
  };
28
+ export type BackgroundOperationsApiResponse =
29
+ /** status 200 Successful Response */ BackgroundOperationsResponseModel;
30
+ export type BackgroundOperationsApiArg = {
31
+ projectName: string;
32
+ 'x-sender'?: string;
33
+ 'x-sender-type'?: string;
34
+ operationsRequestModel: OperationsRequestModel;
35
+ };
36
+ export type GetBackgroundOperationsStatusApiResponse =
37
+ /** status 200 Successful Response */ BackgroundOperationsResponseModel;
38
+ export type GetBackgroundOperationsStatusApiArg = {
39
+ taskId: string;
40
+ projectName: string;
41
+ };
26
42
  export type ValidationError = {
27
43
  loc: (string | number)[];
28
44
  msg: string;
@@ -88,7 +104,7 @@ export type OperationResponseModel = {
88
104
  };
89
105
  export type OperationsResponseModel = {
90
106
  operations?: OperationResponseModel[];
91
- success: boolean;
107
+ success?: boolean;
92
108
  };
93
109
  export type OperationModel = {
94
110
  id?: string;
@@ -105,3 +121,8 @@ export type OperationsRequestModel = {
105
121
  waitForEvents?: boolean;
106
122
  raiseOnError?: boolean;
107
123
  };
124
+ export type BackgroundOperationsResponseModel = {
125
+ id: string;
126
+ status?: 'pending' | 'in_progress' | 'completed';
127
+ result?: OperationsResponseModel;
128
+ };