UNPKG

@adaptabletools/adaptable-cjs

Version:

Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements

195 lines (194 loc) 7.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FormatColumnReducer = exports.FormatColumnReady = exports.FormatColumnUnSuspendAll = exports.FormatColumnSuspendAll = exports.FormatColumnUnSuspend = exports.FormatColumnSuspend = exports.FormatColumnMoveDown = exports.FormatColumnMoveUp = exports.FormatColumnDeleteAll = exports.FormatColumnDelete = exports.FormatColumnEdit = exports.FormatColumnAdd = exports.FORMAT_COLUMN_UNSUSPEND_ALL = exports.FORMAT_COLUMN_UNSUSPEND = exports.FORMAT_COLUMN_SUSPEND_ALL = exports.FORMAT_COLUMN_SUSPEND = exports.FORMAT_COLUMN_READY = exports.FORMAT_COLUMN_DELETE_ALL = exports.FORMAT_COLUMN_DELETE = exports.FORMAT_COLUMN_EDIT = exports.FORMAT_COLUMN_MOVE_DOWN = exports.FORMAT_COLUMN_MOVE_UP = exports.FORMAT_COLUMN_ADD = void 0; const tslib_1 = require("tslib"); const GeneralConstants_1 = require("../../Utilities/Constants/GeneralConstants"); const AdaptableHelper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/AdaptableHelper")); const utils_1 = require("./utils"); /** * @ReduxAction A Format Column has been added */ exports.FORMAT_COLUMN_ADD = 'FORMAT_COLUMN_ADD'; /** * @ReduxAction Format column was moved up */ exports.FORMAT_COLUMN_MOVE_UP = 'FORMAT_COLUMN_MOVE_UP'; /** * @ReduxAction Format column was moved down */ exports.FORMAT_COLUMN_MOVE_DOWN = 'FORMAT_COLUMN_MOVE_DOWN'; /** * @ReduxAction A Format Column has been edited */ exports.FORMAT_COLUMN_EDIT = 'FORMAT_COLUMN_EDIT'; /** * @ReduxAction A Format Column has been deleted */ exports.FORMAT_COLUMN_DELETE = 'FORMAT_COLUMN_DELETE'; /** * @ReduxAction Delete ALL Format Columns */ exports.FORMAT_COLUMN_DELETE_ALL = 'FORMAT_COLUMN_DELETE_ALL'; /** * @ReduxAction FormatColumn Module is ready */ exports.FORMAT_COLUMN_READY = 'FORMAT_COLUMN_READY'; /** * @ReduxAction FormatColumn Module is suspended */ exports.FORMAT_COLUMN_SUSPEND = 'FORMAT_COLUMN_SUSPEND'; /** * @ReduxAction Suspend all FormatColumn Modules */ exports.FORMAT_COLUMN_SUSPEND_ALL = 'FORMAT_COLUMN_SUSPEND_ALL'; /** * @ReduxAction FormatColumn Module is unsuspended, or activated */ exports.FORMAT_COLUMN_UNSUSPEND = 'FORMAT_COLUMN_UNSUSPEND'; /** * @ReduxAction FormatColumn Module is unsuspended, or activated */ exports.FORMAT_COLUMN_UNSUSPEND_ALL = 'FORMAT_COLUMN_UNSUSPEND_ALL'; const FormatColumnAdd = (formatColumn) => ({ type: exports.FORMAT_COLUMN_ADD, formatColumn, }); exports.FormatColumnAdd = FormatColumnAdd; const FormatColumnEdit = (formatColumn) => ({ type: exports.FORMAT_COLUMN_EDIT, formatColumn, }); exports.FormatColumnEdit = FormatColumnEdit; const FormatColumnDelete = (formatColumn) => ({ type: exports.FORMAT_COLUMN_DELETE, formatColumn, }); exports.FormatColumnDelete = FormatColumnDelete; const FormatColumnDeleteAll = () => ({ type: exports.FORMAT_COLUMN_DELETE_ALL, }); exports.FormatColumnDeleteAll = FormatColumnDeleteAll; const FormatColumnMoveUp = (formatColumn) => ({ type: exports.FORMAT_COLUMN_MOVE_UP, formatColumn, }); exports.FormatColumnMoveUp = FormatColumnMoveUp; const FormatColumnMoveDown = (formatColumn) => ({ type: exports.FORMAT_COLUMN_MOVE_DOWN, formatColumn, }); exports.FormatColumnMoveDown = FormatColumnMoveDown; const FormatColumnSuspend = (formatColumn) => ({ type: exports.FORMAT_COLUMN_SUSPEND, formatColumn, }); exports.FormatColumnSuspend = FormatColumnSuspend; const FormatColumnUnSuspend = (formatColumn) => ({ type: exports.FORMAT_COLUMN_UNSUSPEND, formatColumn, }); exports.FormatColumnUnSuspend = FormatColumnUnSuspend; const FormatColumnSuspendAll = () => ({ type: exports.FORMAT_COLUMN_SUSPEND_ALL, }); exports.FormatColumnSuspendAll = FormatColumnSuspendAll; const FormatColumnUnSuspendAll = () => ({ type: exports.FORMAT_COLUMN_UNSUSPEND_ALL, }); exports.FormatColumnUnSuspendAll = FormatColumnUnSuspendAll; const FormatColumnReady = (formatColumnState) => ({ type: exports.FORMAT_COLUMN_READY, formatColumnState, }); exports.FormatColumnReady = FormatColumnReady; const initialState = { FormatColumns: GeneralConstants_1.EMPTY_ARRAY, }; const FormatColumnReducer = (state = initialState, action) => { let formatColumns; switch (action.type) { case exports.FORMAT_COLUMN_ADD: { const actionFormatColumn = action.formatColumn; AdaptableHelper_1.default.addAdaptableObjectPrimitives(actionFormatColumn); formatColumns = [].concat(state.FormatColumns); formatColumns.push(actionFormatColumn); return { ...state, FormatColumns: formatColumns }; } case exports.FORMAT_COLUMN_EDIT: const actionFormatColumn = action.formatColumn; return { ...state, FormatColumns: state.FormatColumns.map((abObject) => abObject.Uuid === actionFormatColumn.Uuid ? actionFormatColumn : abObject), }; case exports.FORMAT_COLUMN_DELETE: { const actionFormatColumn = action.formatColumn; return { ...state, FormatColumns: state.FormatColumns.filter((abObject) => abObject.Uuid !== actionFormatColumn.Uuid), }; } case exports.FORMAT_COLUMN_DELETE_ALL: { return { ...state, FormatColumns: [], }; } case exports.FORMAT_COLUMN_SUSPEND: { return { ...state, FormatColumns: (0, utils_1.changeIsSuspendInList)(action.formatColumn, state.FormatColumns, true), }; } case exports.FORMAT_COLUMN_UNSUSPEND: { return { ...state, FormatColumns: (0, utils_1.changeIsSuspendInList)(action.formatColumn, state.FormatColumns, false), }; } case exports.FORMAT_COLUMN_SUSPEND_ALL: { return { ...state, FormatColumns: (0, utils_1.suspendAllInList)(state.FormatColumns), }; } case exports.FORMAT_COLUMN_UNSUSPEND_ALL: { return { ...state, FormatColumns: (0, utils_1.unsuspendAllInList)(state.FormatColumns), }; } case exports.FORMAT_COLUMN_MOVE_UP: { const index = state.FormatColumns.findIndex((formatColumn) => formatColumn.Uuid === action.formatColumn.Uuid); let swapIndex = index - 1; if (swapIndex < 0) { swapIndex = state.FormatColumns.length - 1; } const formatColumnToSwap = state.FormatColumns[swapIndex]; const newFormatColumns = [...state.FormatColumns]; newFormatColumns[swapIndex] = state.FormatColumns[index]; newFormatColumns[index] = formatColumnToSwap; return { ...state, FormatColumns: newFormatColumns, }; } case exports.FORMAT_COLUMN_MOVE_DOWN: { const index = state.FormatColumns.findIndex((formatColumn) => formatColumn.Uuid === action.formatColumn.Uuid); let swapIndex = index + 1; if (swapIndex > state.FormatColumns.length - 1) { swapIndex = 0; } const formatColumnToSwap = state.FormatColumns[swapIndex]; const newFormatColumns = [...state.FormatColumns]; newFormatColumns[swapIndex] = state.FormatColumns[index]; newFormatColumns[index] = formatColumnToSwap; return { ...state, FormatColumns: newFormatColumns, }; } default: return state; } }; exports.FormatColumnReducer = FormatColumnReducer;