@jmruthers/pace-core 0.5.124 → 0.5.125
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-OKDYRW2S.js → DataTable-IHD4JP4W.js} +2 -2
- package/dist/{chunk-VPUCTHTY.js → chunk-HC7AOIC2.js} +2 -2
- package/dist/{chunk-GBGYYMC6.js → chunk-JJVLYIEO.js} +25 -18
- package/dist/{chunk-GBGYYMC6.js.map → chunk-JJVLYIEO.js.map} +1 -1
- 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/DataTableToolbar.tsx +1 -14
- package/src/components/DataTable/components/UnifiedTableBody.tsx +27 -5
- /package/dist/{DataTable-OKDYRW2S.js.map → DataTable-IHD4JP4W.js.map} +0 -0
- /package/dist/{chunk-VPUCTHTY.js.map → chunk-HC7AOIC2.js.map} +0 -0
package/docs/api/modules.md
CHANGED
package/package.json
CHANGED
|
@@ -212,20 +212,7 @@ export function DataTableToolbar<TData extends DataRecord>({
|
|
|
212
212
|
)}
|
|
213
213
|
|
|
214
214
|
{/* Row Creation - ONLY if user has create permission */}
|
|
215
|
-
{
|
|
216
|
-
// Debug logging for creation button visibility
|
|
217
|
-
if (import.meta.env.MODE === 'development') {
|
|
218
|
-
const logger = console;
|
|
219
|
-
logger.debug('[DataTableToolbar] Creation button check:', {
|
|
220
|
-
'features.creation': features.creation,
|
|
221
|
-
'permissions.canCreate.can': permissions.canCreate.can,
|
|
222
|
-
'onCreateRow provided': !!onCreateRow,
|
|
223
|
-
'will show button': features.creation && permissions.canCreate.can && onCreateRow
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
return features.creation && permissions.canCreate.can && onCreateRow;
|
|
228
|
-
})() && (
|
|
215
|
+
{features.creation && permissions.canCreate.can && onCreateRow && (
|
|
229
216
|
<Button
|
|
230
217
|
variant="outline"
|
|
231
218
|
onClick={onCreateRow}
|
|
@@ -148,7 +148,13 @@ function SelectEditField<TData extends DataRecord>({
|
|
|
148
148
|
|
|
149
149
|
// Monitor search input value via DOM events to detect when user types
|
|
150
150
|
React.useEffect(() => {
|
|
151
|
-
if (!isOpen || !isSearchable || !isCreatable)
|
|
151
|
+
if (!isOpen || !isSearchable || !isCreatable || !columnDef.onCreateNew) {
|
|
152
|
+
// Reset showCreateOption when conditions aren't met
|
|
153
|
+
if (!isOpen || !isCreatable || !columnDef.onCreateNew) {
|
|
154
|
+
setShowCreateOption(false);
|
|
155
|
+
}
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
152
158
|
|
|
153
159
|
// Function to find and attach listener to search input
|
|
154
160
|
const findAndAttachSearchInput = (): (() => void) | null => {
|
|
@@ -206,7 +212,22 @@ function SelectEditField<TData extends DataRecord>({
|
|
|
206
212
|
};
|
|
207
213
|
|
|
208
214
|
const hasMatch = (columnDef.fieldOptions || []).some(checkMatch);
|
|
209
|
-
|
|
215
|
+
const shouldShow = !hasMatch && isCreatable && !!columnDef.onCreateNew;
|
|
216
|
+
|
|
217
|
+
// Debug logging for creatable select
|
|
218
|
+
if (import.meta.env.MODE === 'development' && isCreatable) {
|
|
219
|
+
logger.debug('[SelectEditField] Creatable select check:', {
|
|
220
|
+
searchTerm: currentSearch,
|
|
221
|
+
searchLower,
|
|
222
|
+
hasMatch,
|
|
223
|
+
isCreatable,
|
|
224
|
+
hasOnCreateNew: !!columnDef.onCreateNew,
|
|
225
|
+
shouldShow,
|
|
226
|
+
fieldOptionsCount: columnDef.fieldOptions?.length || 0
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
setShowCreateOption(shouldShow);
|
|
210
231
|
} else {
|
|
211
232
|
setShowCreateOption(false);
|
|
212
233
|
}
|
|
@@ -238,7 +259,8 @@ function SelectEditField<TData extends DataRecord>({
|
|
|
238
259
|
};
|
|
239
260
|
|
|
240
261
|
const hasMatch = (columnDef.fieldOptions || []).some(checkMatch);
|
|
241
|
-
|
|
262
|
+
const shouldShow = !hasMatch && isCreatable && !!columnDef.onCreateNew;
|
|
263
|
+
setShowCreateOption(shouldShow);
|
|
242
264
|
} else {
|
|
243
265
|
setShowCreateOption(false);
|
|
244
266
|
}
|
|
@@ -268,7 +290,7 @@ function SelectEditField<TData extends DataRecord>({
|
|
|
268
290
|
}
|
|
269
291
|
|
|
270
292
|
return cleanup;
|
|
271
|
-
}, [isOpen, isSearchable, isCreatable, columnDef.fieldOptions]);
|
|
293
|
+
}, [isOpen, isSearchable, isCreatable, columnDef.fieldOptions, columnDef.onCreateNew]);
|
|
272
294
|
|
|
273
295
|
const handleCreateNew = React.useCallback(async () => {
|
|
274
296
|
if (!isCreatable || !columnDef.onCreateNew || !searchTerm.trim()) return;
|
|
@@ -344,7 +366,7 @@ function SelectEditField<TData extends DataRecord>({
|
|
|
344
366
|
|
|
345
367
|
return null;
|
|
346
368
|
})}
|
|
347
|
-
{showCreateOption && isCreatable && searchTerm.trim() && (
|
|
369
|
+
{showCreateOption && isCreatable && searchTerm.trim() && columnDef.onCreateNew && (
|
|
348
370
|
<SelectItem
|
|
349
371
|
key="__create_new__"
|
|
350
372
|
value={`__create_new__${searchTerm}`}
|
|
File without changes
|
|
File without changes
|