mirror of
https://github.com/Kingsrook/qqq-frontend-material-dashboard.git
synced 2025-07-17 21:00:45 +00:00
CE-881 - Add views menu option to punch into create-saved-view screen w/ pre-populated form
This commit is contained in:
@ -87,7 +87,7 @@ function SavedViews({qController, metaData, tableMetaData, currentSavedView, tab
|
|||||||
const RENAME_OPTION = "Rename...";
|
const RENAME_OPTION = "Rename...";
|
||||||
const DELETE_OPTION = "Delete...";
|
const DELETE_OPTION = "Delete...";
|
||||||
const CLEAR_OPTION = "New View";
|
const CLEAR_OPTION = "New View";
|
||||||
const dropdownOptions = [DUPLICATE_OPTION, RENAME_OPTION, DELETE_OPTION, CLEAR_OPTION];
|
const NEW_REPORT_OPTION = "Create Report from Current View";
|
||||||
|
|
||||||
const {accentColor, accentColorLight} = useContext(QContext);
|
const {accentColor, accentColorLight} = useContext(QContext);
|
||||||
|
|
||||||
@ -187,10 +187,26 @@ function SavedViews({qController, metaData, tableMetaData, currentSavedView, tab
|
|||||||
case DELETE_OPTION:
|
case DELETE_OPTION:
|
||||||
setIsDeleteFilter(true)
|
setIsDeleteFilter(true)
|
||||||
break;
|
break;
|
||||||
|
case NEW_REPORT_OPTION:
|
||||||
|
createNewReport();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
**
|
||||||
|
*******************************************************************************/
|
||||||
|
function createNewReport()
|
||||||
|
{
|
||||||
|
const defaultValues: {[key: string]: any} = {};
|
||||||
|
defaultValues.tableName = tableMetaData.name;
|
||||||
|
defaultValues.queryFilterJson = JSON.stringify(view.queryFilter, null, 3);
|
||||||
|
defaultValues.columnsJson = JSON.stringify(view.queryColumns, null, 3);
|
||||||
|
navigate(`${metaData.getTablePathByName("savedReport")}/create#defaultValues=${encodeURIComponent(JSON.stringify(defaultValues))}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
** fired when save or delete button saved on confirmation dialogs
|
** fired when save or delete button saved on confirmation dialogs
|
||||||
@ -376,6 +392,7 @@ function SavedViews({qController, metaData, tableMetaData, currentSavedView, tab
|
|||||||
const hasStorePermission = metaData?.processes.has("storeSavedView");
|
const hasStorePermission = metaData?.processes.has("storeSavedView");
|
||||||
const hasDeletePermission = metaData?.processes.has("deleteSavedView");
|
const hasDeletePermission = metaData?.processes.has("deleteSavedView");
|
||||||
const hasQueryPermission = metaData?.processes.has("querySavedView");
|
const hasQueryPermission = metaData?.processes.has("querySavedView");
|
||||||
|
const hasSavedReportsPermission = metaData?.tables.has("savedReport");
|
||||||
|
|
||||||
const tooltipMaxWidth = (maxWidth: string) =>
|
const tooltipMaxWidth = (maxWidth: string) =>
|
||||||
{
|
{
|
||||||
@ -429,7 +446,7 @@ function SavedViews({qController, metaData, tableMetaData, currentSavedView, tab
|
|||||||
</Tooltip>
|
</Tooltip>
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
hasStorePermission && currentSavedView != null &&
|
hasDeletePermission && currentSavedView != null &&
|
||||||
<Tooltip {...menuTooltipAttribs} title="Delete this saved view.">
|
<Tooltip {...menuTooltipAttribs} title="Delete this saved view.">
|
||||||
<MenuItem disabled={currentSavedView === null} onClick={() => handleDropdownOptionClick(DELETE_OPTION)}>
|
<MenuItem disabled={currentSavedView === null} onClick={() => handleDropdownOptionClick(DELETE_OPTION)}>
|
||||||
<ListItemIcon><Icon>delete</Icon></ListItemIcon>
|
<ListItemIcon><Icon>delete</Icon></ListItemIcon>
|
||||||
@ -445,6 +462,15 @@ function SavedViews({qController, metaData, tableMetaData, currentSavedView, tab
|
|||||||
</MenuItem>
|
</MenuItem>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
hasSavedReportsPermission &&
|
||||||
|
<Tooltip {...menuTooltipAttribs} title="Create a new Saved Report using your current view of this table as a starting point.">
|
||||||
|
<MenuItem onClick={() => handleDropdownOptionClick(NEW_REPORT_OPTION)}>
|
||||||
|
<ListItemIcon><Icon>article</Icon></ListItemIcon>
|
||||||
|
Create Report from Current View
|
||||||
|
</MenuItem>
|
||||||
|
</Tooltip>
|
||||||
|
}
|
||||||
<Divider/>
|
<Divider/>
|
||||||
<MenuItem disabled style={{"opacity": "initial"}}><b>Your Saved Views</b></MenuItem>
|
<MenuItem disabled style={{"opacity": "initial"}}><b>Your Saved Views</b></MenuItem>
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user