{"version":3,"file":"/Users/anthonygubler/development/dojo-org/widgets/src/grid/processes.ts","sourceRoot":"","sources":["processes.ts"],"names":[],"mappings":"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","sourcesContent":["import { createProcess, createCommandFactory, Process } from '@dojo/framework/stores/process';\nimport { replace, remove } from '@dojo/framework/stores/state/operations';\nimport {\n\tFetcherResult,\n\tGridState,\n\tFetcherCommandPayload,\n\tPageChangeCommandPayload,\n\tSortCommandPayload,\n\tFilterCommandPayload,\n\tUpdaterCommandPayload,\n\tSelectionCommandPayload\n} from './interfaces';\nimport { findIndex } from '@dojo/framework/shim/array';\n\nconst commandFactory = createCommandFactory<GridState>();\n\nconst pageChangeCommand = commandFactory<PageChangeCommandPayload>(\n\t({ path, get, payload: { id, page } }) => {\n\t\tconst currentPage = get(path(id, 'meta', 'page'));\n\t\tif (page !== currentPage) {\n\t\t\treturn [replace(path(id, 'meta', 'page'), page)];\n\t\t}\n\t\treturn [];\n\t}\n);\n\nconst preFetcherCommand = commandFactory<FetcherCommandPayload>(\n\t({ path, get, payload: { id, page, pageSize } }) => {\n\t\tconst fetchedPages = get(path(id, 'meta', 'fetchedPages')) || [];\n\t\tif (fetchedPages.indexOf(page) === -1) {\n\t\t\treturn [\n\t\t\t\treplace(path(id, 'meta', 'fetchedPages'), [...fetchedPages, page]),\n\t\t\t\treplace(path(id, 'meta', 'page'), page),\n\t\t\t\treplace(path(id, 'meta', 'pageSize'), pageSize)\n\t\t\t];\n\t\t}\n\t\tthrow Error('The page has already been requested');\n\t}\n);\n\nconst fetcherCommand = commandFactory<FetcherCommandPayload>(\n\tasync ({ at, path, get, payload: { id, fetcher, page, pageSize } }) => {\n\t\tlet result: FetcherResult;\n\t\tconst isSorting = get(path(id, 'meta', 'isSorting'));\n\t\tif (!isSorting) {\n\t\t\tconst sortOptions = get(path(id, 'meta', 'sort'));\n\t\t\tconst filterOptions = get(path(id, 'meta', 'filter'));\n\t\t\ttry {\n\t\t\t\tresult = await fetcher(page, pageSize, {\n\t\t\t\t\tsort: sortOptions,\n\t\t\t\t\tfilter: filterOptions\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\treturn [remove(path(id, 'data', 'pages', `page-${page}`))];\n\t\t\t}\n\t\t\treturn [\n\t\t\t\treplace(path(id, 'data', 'pages', `page-${page}`), result.data),\n\t\t\t\treplace(path(id, 'meta', 'total'), result.meta.total)\n\t\t\t];\n\t\t} else {\n\t\t\tthrow Error('The grid is being sorted or filtered');\n\t\t}\n\t}\n);\n\nconst preSortCommand = commandFactory<SortCommandPayload>(\n\t({ at, path, get, payload: { id, columnId, direction } }) => {\n\t\tconst page = get(path(id, 'meta', 'page'));\n\t\treturn [\n\t\t\tremove(path(id, 'data', 'pages')),\n\t\t\tremove(path(id, 'meta', 'selection')),\n\t\t\treplace(path(id, 'meta', 'fetchedPages'), page === 1 ? [1] : [page, page - 1]),\n\t\t\treplace(path(id, 'meta', 'sort', 'columnId'), columnId),\n\t\t\treplace(path(id, 'meta', 'sort', 'direction'), direction),\n\t\t\treplace(path(id, 'meta', 'isSorting'), true)\n\t\t];\n\t}\n);\n\nconst preFilterCommand = commandFactory<FilterCommandPayload>(\n\t({ at, path, get, payload: { id, filterOptions } }) => {\n\t\treturn [\n\t\t\tremove(path(id, 'data', 'pages')),\n\t\t\tremove(path(id, 'meta', 'selection')),\n\t\t\treplace(path(id, 'meta', 'fetchedPages'), [1]),\n\t\t\treplace(path(id, 'meta', 'filter', filterOptions.columnId), filterOptions.value),\n\t\t\treplace(path(id, 'meta', 'currentFilter'), filterOptions),\n\t\t\treplace(path(id, 'meta', 'page'), 1),\n\t\t\treplace(path(id, 'meta', 'isSorting'), true)\n\t\t];\n\t}\n);\n\nconst sortCommand = commandFactory<SortCommandPayload>(\n\tasync ({ at, path, get, payload, state }) => {\n\t\tconst { id, fetcher, columnId, direction } = payload;\n\t\tconst page = get(path(id, 'meta', 'page'));\n\t\tif (page === 1) {\n\t\t\treturn sortForFirstPage({ at, get, path, payload, state });\n\t\t}\n\t\tconst pageSize = get(path(id, 'meta', 'pageSize'));\n\t\tconst filterOptions = get(path(id, 'meta', 'filter'));\n\t\tlet result: FetcherResult[];\n\t\ttry {\n\t\t\tconst options = {\n\t\t\t\tsort: { columnId, direction },\n\t\t\t\tfilter: filterOptions\n\t\t\t};\n\t\t\tconst previousPage = fetcher(page - 1, pageSize, options);\n\t\t\tconst currentPage = fetcher(page, pageSize, options);\n\t\t\tresult = await Promise.all([previousPage, currentPage]);\n\t\t} catch (err) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn [\n\t\t\treplace(path(id, 'data', 'pages', `page-${page - 1}`), result[0].data),\n\t\t\treplace(path(id, 'data', 'pages', `page-${page}`), result[1].data),\n\t\t\treplace(path(id, 'meta', 'sort', 'columnId'), columnId),\n\t\t\treplace(path(id, 'meta', 'sort', 'direction'), direction),\n\t\t\treplace(path(id, 'meta', 'total'), result[1].meta.total),\n\t\t\treplace(path(id, 'meta', 'page'), page),\n\t\t\treplace(path(id, 'meta', 'isSorting'), false)\n\t\t];\n\t}\n);\n\nconst sortForFirstPage = commandFactory<SortCommandPayload>(\n\tasync ({ at, path, get, payload: { id, fetcher, columnId, direction } }) => {\n\t\tconst pageSize = get(path(id, 'meta', 'pageSize'));\n\t\tconst filterOptions = get(path(id, 'meta', 'filter'));\n\t\tlet result: FetcherResult;\n\t\ttry {\n\t\t\tresult = await fetcher(1, pageSize, {\n\t\t\t\tsort: { columnId, direction },\n\t\t\t\tfilter: filterOptions\n\t\t\t});\n\t\t} catch (err) {\n\t\t\treturn [];\n\t\t}\n\t\treturn [\n\t\t\treplace(path(id, 'data', 'pages', 'page-1'), result.data),\n\t\t\treplace(path(id, 'meta', 'sort', 'columnId'), columnId),\n\t\t\treplace(path(id, 'meta', 'sort', 'direction'), direction),\n\t\t\treplace(path(id, 'meta', 'total'), result.meta.total),\n\t\t\treplace(path(id, 'meta', 'page'), 1),\n\t\t\treplace(path(id, 'meta', 'isSorting'), false)\n\t\t];\n\t}\n);\n\nconst filterCommand = commandFactory<FilterCommandPayload>(\n\tasync ({ at, path, get, payload: { id, fetcher, filterOptions } }) => {\n\t\tconst pageSize = get(path(id, 'meta', 'pageSize'));\n\t\tconst sortOptions = get(path(id, 'meta', 'sort'));\n\t\tconst currentFilters = get(path(id, 'meta', 'filter'));\n\t\tlet result: FetcherResult;\n\t\ttry {\n\t\t\tresult = await fetcher(1, pageSize, { sort: sortOptions, filter: currentFilters });\n\t\t} catch (err) {\n\t\t\treturn [];\n\t\t}\n\n\t\tif (filterOptions !== get(path(id, 'meta', 'currentFilter'))) {\n\t\t\tthrow new Error();\n\t\t}\n\t\treturn [\n\t\t\tremove(path(id, 'data', 'pages')),\n\t\t\treplace(path(id, 'data', 'pages', 'page-1'), result.data),\n\t\t\treplace(path(id, 'meta', 'total'), result.meta.total),\n\t\t\treplace(path(id, 'meta', 'isSorting'), false)\n\t\t];\n\t}\n);\n\nconst preUpdateCommand = commandFactory<UpdaterCommandPayload>(\n\t({ at, path, get, payload: { id, updater, columnId, value, page, rowNumber } }) => {\n\t\tconst item = get(at(path(id, 'data', 'pages', `page-${page}`), rowNumber));\n\t\tconst updatedItem = { ...item, [columnId]: value };\n\n\t\treturn [\n\t\t\treplace(at(path(id, 'data', 'pages', `page-${page}`), rowNumber), updatedItem),\n\t\t\treplace(path(id, 'meta', 'editedRow', 'page'), page),\n\t\t\treplace(path(id, 'meta', 'editedRow', 'index'), rowNumber),\n\t\t\treplace(path(id, 'meta', 'editedRow', 'item'), { ...item })\n\t\t];\n\t}\n);\n\nconst updaterCommand = commandFactory<UpdaterCommandPayload>(\n\tasync ({ at, path, get, payload: { id, updater, columnId, value, page, rowNumber } }) => {\n\t\tconst item = get(at(path(id, 'data', 'pages', `page-${page}`), rowNumber));\n\t\ttry {\n\t\t\tawait updater(item);\n\t\t} catch (err) {\n\t\t\tconst previousItem = get(path(id, 'meta', 'editedRow', 'item'));\n\t\t\treturn [\n\t\t\t\treplace(at(path(id, 'data', 'pages', `page-${page}`), rowNumber), previousItem)\n\t\t\t];\n\t\t}\n\n\t\treturn [replace(path(id, 'meta', 'editedRow'), undefined)];\n\t}\n);\n\nconst selectionCommand = commandFactory<SelectionCommandPayload>(\n\t({ payload: { id, index, type }, get, path }) => {\n\t\tlet currentSelection = [...(get(path(id, 'meta', 'selection')) || [])];\n\t\tif (type === 'single') {\n\t\t\tif (currentSelection.indexOf(index) === -1) {\n\t\t\t\tcurrentSelection = [index];\n\t\t\t} else if (currentSelection.length > 1) {\n\t\t\t\tcurrentSelection = [index];\n\t\t\t} else {\n\t\t\t\tcurrentSelection = [];\n\t\t\t}\n\t\t} else {\n\t\t\tconst existingIndex = findIndex(currentSelection, (idx) => idx === index);\n\t\t\tif (existingIndex === -1) {\n\t\t\t\tcurrentSelection = [...currentSelection, index];\n\t\t\t} else {\n\t\t\t\tcurrentSelection.splice(existingIndex, 1);\n\t\t\t}\n\t\t}\n\n\t\treturn [replace(path(id, 'meta', 'selection'), currentSelection)];\n\t}\n);\n\nconst clearSelectionCommand = commandFactory<{ id: string }>(({ payload: { id }, path }) => {\n\treturn [remove(path(id, 'meta', 'selection'))];\n});\n\nexport const updaterProcess: Process<GridState, UpdaterCommandPayload> = createProcess(\n\t'grid-update',\n\t[preUpdateCommand, updaterCommand]\n);\nexport const fetcherProcess: Process<GridState, FetcherCommandPayload> = createProcess(\n\t'grid-fetch',\n\t[preFetcherCommand, fetcherCommand]\n);\nexport const filterProcess: Process<GridState, FilterCommandPayload> = createProcess(\n\t'grid-filter',\n\t[preFilterCommand, filterCommand]\n);\nexport const sortProcess: Process<GridState, SortCommandPayload> = createProcess('grid-sort', [\n\tpreSortCommand,\n\tsortCommand\n]);\nexport const selectionProcess: Process<GridState, SelectionCommandPayload> = createProcess(\n\t'grid-selection',\n\t[selectionCommand]\n);\nexport const clearSelectionProcess = createProcess('clear-selection', [clearSelectionCommand]);\nexport const pageChangeProcess: Process<GridState, PageChangeCommandPayload> = createProcess(\n\t'grid-page-change',\n\t[pageChangeCommand]\n);\n"]}