@jmruthers/pace-core 0.5.123 → 0.5.124
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/{DataTable-WTS4IRF2.js → DataTable-OKDYRW2S.js} +2 -2
- package/dist/{chunk-DHMFMXFV.js → chunk-GBGYYMC6.js} +64 -13
- package/dist/{chunk-DHMFMXFV.js.map → chunk-GBGYYMC6.js.map} +1 -1
- package/dist/{chunk-ZPJMYGEP.js → chunk-VPUCTHTY.js} +2 -2
- package/dist/components.js +2 -2
- package/dist/index.js +2 -2
- package/dist/utils.js +1 -1
- package/docs/api/classes/ColumnFactory.md +1 -1
- package/docs/api/classes/ErrorBoundary.md +1 -1
- package/docs/api/classes/InvalidScopeError.md +1 -1
- package/docs/api/classes/MissingUserContextError.md +1 -1
- package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
- package/docs/api/classes/PermissionDeniedError.md +1 -1
- package/docs/api/classes/PublicErrorBoundary.md +1 -1
- package/docs/api/classes/RBACAuditManager.md +1 -1
- package/docs/api/classes/RBACCache.md +1 -1
- package/docs/api/classes/RBACEngine.md +1 -1
- package/docs/api/classes/RBACError.md +1 -1
- package/docs/api/classes/RBACNotInitializedError.md +1 -1
- package/docs/api/classes/SecureSupabaseClient.md +1 -1
- package/docs/api/classes/StorageUtils.md +1 -1
- package/docs/api/enums/FileCategory.md +1 -1
- package/docs/api/interfaces/AggregateConfig.md +1 -1
- package/docs/api/interfaces/ButtonProps.md +1 -1
- package/docs/api/interfaces/CardProps.md +1 -1
- package/docs/api/interfaces/ColorPalette.md +1 -1
- package/docs/api/interfaces/ColorShade.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +1 -1
- package/docs/api/interfaces/DataRecord.md +1 -1
- package/docs/api/interfaces/DataTableAction.md +1 -1
- package/docs/api/interfaces/DataTableColumn.md +1 -1
- package/docs/api/interfaces/DataTableProps.md +1 -1
- package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
- package/docs/api/interfaces/EmptyStateConfig.md +1 -1
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
- package/docs/api/interfaces/EventAppRoleData.md +1 -1
- package/docs/api/interfaces/FileDisplayProps.md +1 -1
- package/docs/api/interfaces/FileMetadata.md +1 -1
- package/docs/api/interfaces/FileReference.md +1 -1
- package/docs/api/interfaces/FileSizeLimits.md +1 -1
- package/docs/api/interfaces/FileUploadOptions.md +1 -1
- package/docs/api/interfaces/FileUploadProps.md +1 -1
- package/docs/api/interfaces/FooterProps.md +1 -1
- package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
- package/docs/api/interfaces/InputProps.md +1 -1
- package/docs/api/interfaces/LabelProps.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +1 -1
- package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
- package/docs/api/interfaces/NavigationContextType.md +1 -1
- package/docs/api/interfaces/NavigationGuardProps.md +1 -1
- package/docs/api/interfaces/NavigationItem.md +1 -1
- package/docs/api/interfaces/NavigationMenuProps.md +1 -1
- package/docs/api/interfaces/NavigationProviderProps.md +1 -1
- package/docs/api/interfaces/Organisation.md +1 -1
- package/docs/api/interfaces/OrganisationContextType.md +1 -1
- package/docs/api/interfaces/OrganisationMembership.md +1 -1
- package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
- package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
- package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
- package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
- package/docs/api/interfaces/PageAccessRecord.md +1 -1
- package/docs/api/interfaces/PagePermissionContextType.md +1 -1
- package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
- package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
- package/docs/api/interfaces/ProtectedRouteProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
- package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
- package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
- package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
- package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
- package/docs/api/interfaces/RBACConfig.md +1 -1
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
- package/docs/api/interfaces/RoleManagementResult.md +1 -1
- package/docs/api/interfaces/RouteAccessRecord.md +1 -1
- package/docs/api/interfaces/RouteConfig.md +1 -1
- package/docs/api/interfaces/SecureDataContextType.md +1 -1
- package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
- package/docs/api/interfaces/StorageConfig.md +1 -1
- package/docs/api/interfaces/StorageFileInfo.md +1 -1
- package/docs/api/interfaces/StorageFileMetadata.md +1 -1
- package/docs/api/interfaces/StorageListOptions.md +1 -1
- package/docs/api/interfaces/StorageListResult.md +1 -1
- package/docs/api/interfaces/StorageUploadOptions.md +1 -1
- package/docs/api/interfaces/StorageUploadResult.md +1 -1
- package/docs/api/interfaces/StorageUrlOptions.md +1 -1
- package/docs/api/interfaces/StyleImport.md +1 -1
- package/docs/api/interfaces/SwitchProps.md +1 -1
- package/docs/api/interfaces/ToastActionElement.md +1 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
- package/docs/api/interfaces/UsePublicFileDisplayOptions.md +1 -1
- package/docs/api/interfaces/UsePublicFileDisplayReturn.md +1 -1
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
- package/docs/api/interfaces/UserEventAccess.md +1 -1
- package/docs/api/interfaces/UserMenuProps.md +1 -1
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +2 -2
- package/package.json +1 -1
- package/src/components/DataTable/components/DataTableCore.tsx +62 -11
- package/src/components/DataTable/components/DataTableToolbar.tsx +14 -1
- /package/dist/{DataTable-WTS4IRF2.js.map → DataTable-OKDYRW2S.js.map} +0 -0
- /package/dist/{chunk-ZPJMYGEP.js.map → chunk-VPUCTHTY.js.map} +0 -0
|
@@ -54,7 +54,7 @@ import {
|
|
|
54
54
|
sortHierarchicalDataWithSorting,
|
|
55
55
|
validateHierarchicalData,
|
|
56
56
|
validatePaginationConfig
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-GBGYYMC6.js";
|
|
58
58
|
import "./chunk-35ZDPMBM.js";
|
|
59
59
|
import "./chunk-WP5I5GLN.js";
|
|
60
60
|
import "./chunk-3DBFLLLU.js";
|
|
@@ -157,4 +157,4 @@ export {
|
|
|
157
157
|
validateHierarchicalData,
|
|
158
158
|
validatePaginationConfig
|
|
159
159
|
};
|
|
160
|
-
//# sourceMappingURL=DataTable-
|
|
160
|
+
//# sourceMappingURL=DataTable-OKDYRW2S.js.map
|
|
@@ -6606,7 +6606,18 @@ function DataTableToolbar({
|
|
|
6606
6606
|
]
|
|
6607
6607
|
}
|
|
6608
6608
|
),
|
|
6609
|
-
|
|
6609
|
+
(() => {
|
|
6610
|
+
if (import.meta.env.MODE === "development") {
|
|
6611
|
+
const logger = console;
|
|
6612
|
+
logger.debug("[DataTableToolbar] Creation button check:", {
|
|
6613
|
+
"features.creation": features.creation,
|
|
6614
|
+
"permissions.canCreate.can": permissions.canCreate.can,
|
|
6615
|
+
"onCreateRow provided": !!onCreateRow,
|
|
6616
|
+
"will show button": features.creation && permissions.canCreate.can && onCreateRow
|
|
6617
|
+
});
|
|
6618
|
+
}
|
|
6619
|
+
return features.creation && permissions.canCreate.can && onCreateRow;
|
|
6620
|
+
})() && /* @__PURE__ */ jsxs5(
|
|
6610
6621
|
Button,
|
|
6611
6622
|
{
|
|
6612
6623
|
variant: "outline",
|
|
@@ -11714,6 +11725,15 @@ function DataTableInternal({
|
|
|
11714
11725
|
[incomingFeatures]
|
|
11715
11726
|
);
|
|
11716
11727
|
const { permissions, secureFeatures, effectivePageId } = useDataTablePermissions(rbac, requestedFeatures);
|
|
11728
|
+
if (import.meta.env.MODE === "development") {
|
|
11729
|
+
logger.debug("[DataTableCore] Creation feature check:", {
|
|
11730
|
+
"incomingFeatures.creation": incomingFeatures.creation,
|
|
11731
|
+
"requestedFeatures.creation": requestedFeatures.creation,
|
|
11732
|
+
"secureFeatures.creation": secureFeatures.creation,
|
|
11733
|
+
"permissions.canCreate.can": permissions.canCreate.can,
|
|
11734
|
+
"onCreateRow prop provided": !!onCreateRow
|
|
11735
|
+
});
|
|
11736
|
+
}
|
|
11717
11737
|
const effectiveColumnOrder = useEffectiveColumnOrder({
|
|
11718
11738
|
columns,
|
|
11719
11739
|
externalColumnOrder,
|
|
@@ -11968,29 +11988,60 @@ function DataTableInternal({
|
|
|
11968
11988
|
fetchServerData,
|
|
11969
11989
|
cleanup
|
|
11970
11990
|
});
|
|
11971
|
-
const secureHandlers = useMemo14(() =>
|
|
11972
|
-
|
|
11973
|
-
|
|
11974
|
-
|
|
11975
|
-
|
|
11976
|
-
|
|
11977
|
-
|
|
11978
|
-
|
|
11991
|
+
const secureHandlers = useMemo14(() => {
|
|
11992
|
+
const handlers = {
|
|
11993
|
+
onEditRow: permissions.canUpdate.can ? onEditRow : void 0,
|
|
11994
|
+
onDeleteRow: permissions.canDelete.can ? onDeleteRow : void 0,
|
|
11995
|
+
onCreateRow: permissions.canCreate.can ? onCreateRow : void 0,
|
|
11996
|
+
onImport: permissions.canImport.can ? onImport : void 0,
|
|
11997
|
+
onExport: permissions.canExport.can ? onExport : void 0,
|
|
11998
|
+
onDeleteSelected: permissions.canDelete.can ? onDeleteSelected : void 0
|
|
11999
|
+
};
|
|
12000
|
+
if (import.meta.env.MODE === "development") {
|
|
12001
|
+
logger.debug("[DataTableCore] Creation handler check:", {
|
|
12002
|
+
"permissions.canCreate.can": permissions.canCreate.can,
|
|
12003
|
+
"onCreateRow prop provided": !!onCreateRow,
|
|
12004
|
+
"secureHandlers.onCreateRow": !!handlers.onCreateRow,
|
|
12005
|
+
"secureFeatures.creation": secureFeatures.creation,
|
|
12006
|
+
"will pass onCreateRow to toolbar": secureFeatures.creation && !!handlers.onCreateRow
|
|
12007
|
+
});
|
|
12008
|
+
}
|
|
12009
|
+
return handlers;
|
|
12010
|
+
}, [permissions.canUpdate.can, permissions.canDelete.can, permissions.canCreate.can, permissions.canImport.can, permissions.canExport.can, onEditRow, onDeleteRow, onCreateRow, onImport, onExport, onDeleteSelected, secureFeatures.creation, logger]);
|
|
12011
|
+
if (import.meta.env.MODE === "development") {
|
|
12012
|
+
logger.debug("[DataTableCore] \u26A0\uFE0F CREATION BUTTON DIAGNOSIS:", {
|
|
12013
|
+
"\u2705 permissions.canCreate.can": permissions.canCreate.can,
|
|
12014
|
+
"\u2753 features.creation enabled": secureFeatures.creation,
|
|
12015
|
+
"\u2753 onCreateRow handler provided": !!onCreateRow,
|
|
12016
|
+
"\u2753 secureHandlers.onCreateRow": !!secureHandlers.onCreateRow,
|
|
12017
|
+
"\u{1F50D} WILL SHOW BUTTON": secureFeatures.creation && permissions.canCreate.can && !!onCreateRow,
|
|
12018
|
+
"\u{1F4A1} SOLUTION": !secureFeatures.creation ? "Enable features={{ creation: true }} in DataTable props" : !onCreateRow ? "Provide onCreateRow handler in DataTable props" : "All conditions met - button should be visible"
|
|
12019
|
+
});
|
|
12020
|
+
}
|
|
11979
12021
|
const effectiveActions = useMemo14(() => {
|
|
11980
12022
|
const result = [...actions];
|
|
11981
12023
|
logger.debug("Action Configuration Debug:", {
|
|
11982
12024
|
originalActions: actions.length,
|
|
11983
12025
|
secureFeatures: {
|
|
11984
12026
|
editing: secureFeatures.editing,
|
|
11985
|
-
deletion: secureFeatures.deletion
|
|
12027
|
+
deletion: secureFeatures.deletion,
|
|
12028
|
+
creation: secureFeatures.creation,
|
|
12029
|
+
import: secureFeatures.import,
|
|
12030
|
+
export: secureFeatures.export
|
|
11986
12031
|
},
|
|
11987
12032
|
secureHandlers: {
|
|
11988
12033
|
onEditRow: !!secureHandlers.onEditRow,
|
|
11989
|
-
onDeleteRow: !!secureHandlers.onDeleteRow
|
|
12034
|
+
onDeleteRow: !!secureHandlers.onDeleteRow,
|
|
12035
|
+
onCreateRow: !!secureHandlers.onCreateRow,
|
|
12036
|
+
onImport: !!secureHandlers.onImport,
|
|
12037
|
+
onExport: !!secureHandlers.onExport
|
|
11990
12038
|
},
|
|
11991
12039
|
permissions: {
|
|
11992
12040
|
canUpdate: permissions.canUpdate.can,
|
|
11993
|
-
canDelete: permissions.canDelete.can
|
|
12041
|
+
canDelete: permissions.canDelete.can,
|
|
12042
|
+
canCreate: permissions.canCreate.can,
|
|
12043
|
+
canImport: permissions.canImport.can,
|
|
12044
|
+
canExport: permissions.canExport.can
|
|
11994
12045
|
}
|
|
11995
12046
|
});
|
|
11996
12047
|
if (secureFeatures.editing && secureHandlers.onEditRow && !result.some((a) => a.label === "Edit")) {
|
|
@@ -12756,4 +12807,4 @@ lodash/lodash.js:
|
|
|
12756
12807
|
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
12757
12808
|
*)
|
|
12758
12809
|
*/
|
|
12759
|
-
//# sourceMappingURL=chunk-
|
|
12810
|
+
//# sourceMappingURL=chunk-GBGYYMC6.js.map
|