@postxl/generators 1.0.11 → 1.0.14

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 (36) hide show
  1. package/dist/backend-authentication/authentication.generator.js +1 -1
  2. package/dist/backend-core/backend.generator.js +20 -21
  3. package/dist/backend-core/backend.generator.js.map +1 -1
  4. package/dist/backend-core/generators/main.generator.js +10 -2
  5. package/dist/backend-core/generators/main.generator.js.map +1 -1
  6. package/dist/backend-core/generators/tsconfig.generator.js +1 -0
  7. package/dist/backend-core/generators/tsconfig.generator.js.map +1 -1
  8. package/dist/backend-core/template/jest.config.ts +2 -2
  9. package/dist/backend-core/template/libs/utils/src/pagination.test.ts +1 -1
  10. package/dist/backend-database-prisma/generators/prisma-schema.generator.js +0 -1
  11. package/dist/backend-database-prisma/generators/prisma-schema.generator.js.map +1 -1
  12. package/dist/backend-database-prisma/prisma.generator.js +4 -4
  13. package/dist/backend-database-prisma/prisma.generator.js.map +1 -1
  14. package/dist/backend-database-prisma/template/prisma.config.ts +0 -1
  15. package/dist/backend-router-trpc/generators/trpc-plugin.generator.js +1 -1
  16. package/dist/backend-router-trpc/router-trpc.generator.js +2 -2
  17. package/dist/backend-router-trpc/router-trpc.generator.js.map +1 -1
  18. package/dist/backend-s3/s3.generator.js +1 -1
  19. package/dist/base/base.generator.js +14 -16
  20. package/dist/base/base.generator.js.map +1 -1
  21. package/dist/frontend-admin/generators/admin-sidebar.generator.js +1 -1
  22. package/dist/frontend-core/frontend.generator.js +1 -0
  23. package/dist/frontend-core/frontend.generator.js.map +1 -1
  24. package/dist/frontend-core/template/src/components/ui/color-mode-toggle/color-mode-toggle.tsx +93 -0
  25. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/gantt-cell.tsx +5 -3
  26. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-context-menu.tsx +12 -3
  27. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid.stories.tsx +780 -0
  28. package/dist/frontend-core/template/src/components/ui/data-grid/hooks/use-data-grid.tsx +5 -1
  29. package/dist/frontend-core/template/src/context-providers/auth-context-provider.tsx +1 -1
  30. package/dist/frontend-core/template/src/pages/dashboard/dashboard.page.tsx +11 -14
  31. package/dist/frontend-core/template/src/styles/styles.css +87 -44
  32. package/dist/frontend-core/template/src/styles/theme-default.css +20 -2
  33. package/dist/frontend-core/types/component.d.ts +1 -1
  34. package/dist/frontend-trpc-client/trpc-client.generator.js +1 -1
  35. package/dist/frontend-trpc-client/trpc-client.generator.js.map +1 -1
  36. package/package.json +6 -6
@@ -172,24 +172,33 @@ function ContextMenuImpl<TData>({
172
172
  )
173
173
  }, [table, selectionState])
174
174
 
175
- // Determine whether the selected cells are all editable. If any selected cell belongs to a non-editable column (meta.cell.editable === false), disable the Clear action.
175
+ // Determine whether the selected cells are all editable. If any selected cell belongs to a non-editable column (meta.editable === false), disable the Clear action.
176
176
  const canClear = React.useMemo(() => {
177
177
  if (!selectionState?.selectedCells || selectionState.selectedCells.size === 0) {
178
178
  return false
179
179
  }
180
180
 
181
181
  const visibleCols = table.getVisibleLeafColumns()
182
+ const rows = table.getRowModel().rows
182
183
 
183
184
  for (const cellKey of selectionState.selectedCells) {
184
- const { columnId } = parseCellKey(cellKey)
185
+ const { rowIndex, columnId } = parseCellKey(cellKey)
185
186
  if (!columnId) {
186
187
  continue
187
188
  }
188
189
  const col = visibleCols.find((c) => c.id === columnId)
189
- const editable = (col?.columnDef as any)?.meta?.cell?.editable
190
+ const editable = col?.columnDef?.meta?.editable
191
+
190
192
  if (editable === false) {
191
193
  return false
192
194
  }
195
+
196
+ if (typeof editable === 'function') {
197
+ const row = rows[rowIndex]
198
+ if (row && !editable(row.original)) {
199
+ return false
200
+ }
201
+ }
193
202
  }
194
203
 
195
204
  return true