- Progress Commit

Signed-off-by: Dave Richer <dave@imexsystems.ca>
This commit is contained in:
Dave Richer
2024-04-02 17:20:00 -04:00
parent d94678d4f4
commit 0c842e0e15
5 changed files with 52 additions and 5 deletions

View File

@@ -8,6 +8,7 @@ import {setBreadcrumbs, setSelectedHeader} from "../../redux/application/applica
import InstanceRenderManager from "../../utils/instanceRenderMgr.js";
import {selectBodyshop, selectCurrentUser} from "../../redux/user/user.selectors.js";
import TaskPageTypes from "./taskPageTypes.jsx";
import {setModalContext} from "../../redux/modals/modals.actions.js";
const mapStateToProps = createStructuredSelector({
bodyshop: selectBodyshop,
@@ -17,9 +18,16 @@ const mapStateToProps = createStructuredSelector({
const mapDispatchToProps = (dispatch) => ({
setBreadcrumbs: (breadcrumbs) => dispatch(setBreadcrumbs(breadcrumbs)),
setSelectedHeader: (key) => dispatch(setSelectedHeader(key)),
setTaskUpsertContext: (context) => dispatch(setModalContext({context, modal: 'taskUpsert'})),
});
export function MyTasksPageContainer({bodyshop, currentUser, setBreadcrumbs, setSelectedHeader, query}) {
export function MyTasksPageContainer({
bodyshop,
currentUser,
setBreadcrumbs,
setSelectedHeader,
setTaskUpsertContext
}) {
const {t} = useTranslation();
useEffect(() => {
document.title = t("titles.all_tasks", {
@@ -37,6 +45,21 @@ export function MyTasksPageContainer({bodyshop, currentUser, setBreadcrumbs, se
},]);
}, [t, setBreadcrumbs, setSelectedHeader]);
// This takes care of the ability to deep link a task from the URL (Dispatches the modal)
useEffect(() => {
// Check for a query string in the URL
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
const taskId = urlParams.get('taskid');
if (taskId) {
setTaskUpsertContext({
context: {
taskId,
},
});
}
}, [setTaskUpsertContext]);
return (
<TasksPageComponent type={TaskPageTypes.ALL_TASKS} currentUser={currentUser} bodyshop={bodyshop}/>
);

View File

@@ -19,7 +19,7 @@ const mapDispatchToProps = (dispatch) => ({
setSelectedHeader: (key) => dispatch(setSelectedHeader(key)),
});
export function MyTasksPageContainer({bodyshop, currentUser, setBreadcrumbs, setSelectedHeader, query}) {
export function MyTasksPageContainer({bodyshop, currentUser, setBreadcrumbs, setSelectedHeader}) {
const {t} = useTranslation();
useEffect(() => {
document.title = t("titles.my_tasks", {