UNPKG

@adaptabletools/adaptable-cjs

Version:

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

190 lines (189 loc) 7.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DashboardReducer = exports.DashboardSetPinnedToolbars = exports.DashboardReady = exports.DashboardSetTitle = exports.DashboardCloseToolbar = exports.DashboardSetTabs = exports.DashboardSetFloatingPosition = exports.DashboardSetIsInline = exports.DashboardSetIsHidden = exports.DashboardSetIsFloating = exports.DashboardSetIsCollapsed = exports.DashboardSetActiveTabIndex = exports.DashboardSetModuleButtons = exports.DASHBOARD_READY = exports.DASHBOARD_SET_TITLE = exports.DASHBOARD_CLOSE_TOOLBAR = exports.DASHBOARD_SET_PINNED_TOOLBARS = exports.DASHBOARD_SET_TABS = exports.DASHBOARD_SET_FLOATING_POSITION = exports.DASHBOARD_SET_IS_HIDDEN = exports.DASHBOARD_SET_IS_INLINE = exports.DASHBOARD_SET_IS_FLOATING = exports.DASHBOARD_SET_IS_COLLAPSED = exports.DASHBOARD_ACTIVE_TAB_INDEX_CHANGE = exports.DASHBOARD_SET_MODULE_BUTTONS = void 0; const GeneralConstants_1 = require("../../Utilities/Constants/GeneralConstants"); /** * @ReduxAction The Module Buttons have been set in the Dashboard */ exports.DASHBOARD_SET_MODULE_BUTTONS = 'DASHBOARD_SET_MODULE_BUTTONS'; /** * @ReduxAction Active tab has changed */ exports.DASHBOARD_ACTIVE_TAB_INDEX_CHANGE = 'DASHBOARD_ACTIVE_TAB_INDEX_CHANGE'; /** * @ReduxAction Collapsed Mode has changed */ exports.DASHBOARD_SET_IS_COLLAPSED = 'DASHBOARD_SET_IS_COLLAPSED'; /** * @ReduxAction Floating Mode has changed */ exports.DASHBOARD_SET_IS_FLOATING = 'DASHBOARD_SET_IS_FLOATING'; /** * @ReduxAction Inline Mode has changed */ exports.DASHBOARD_SET_IS_INLINE = 'DASHBOARD_SET_IS_INLINE'; /** * @ReduxAction Visibility has changed */ exports.DASHBOARD_SET_IS_HIDDEN = 'DASHBOARD_SET_IS_HIDDEN'; /** * @ReduxAction Floating position has changed */ exports.DASHBOARD_SET_FLOATING_POSITION = 'DASHBOARD_SET_FLOATING_POSITION'; /** * @ReduxAction New Dashboard Tabs have been set */ exports.DASHBOARD_SET_TABS = 'DASHBOARD_SET_TABS'; /** * @ReduxAction Set Pinned Toolbars Contents */ exports.DASHBOARD_SET_PINNED_TOOLBARS = 'DASHBOARD_SET_PINNED_TOOLBARS'; /** * @ReduxAction A Toolbar has been closed */ exports.DASHBOARD_CLOSE_TOOLBAR = 'DASHBOARD_CLOSE_TOOLBAR'; /** * @ReduxAction Dashboard Title has been set */ exports.DASHBOARD_SET_TITLE = 'DASHBOARD_SET_TITLE'; /** * @ReduxAction Dashboard is ready */ exports.DASHBOARD_READY = 'DASHBOARD_READY'; const DashboardSetModuleButtons = (moduleButtons) => ({ type: exports.DASHBOARD_SET_MODULE_BUTTONS, moduleButtons: moduleButtons, }); exports.DashboardSetModuleButtons = DashboardSetModuleButtons; const DashboardSetActiveTabIndex = (ActiveTabIndex) => ({ type: exports.DASHBOARD_ACTIVE_TAB_INDEX_CHANGE, ActiveTabIndex, }); exports.DashboardSetActiveTabIndex = DashboardSetActiveTabIndex; const DashboardSetIsCollapsed = (IsCollapsed) => ({ type: exports.DASHBOARD_SET_IS_COLLAPSED, IsCollapsed, }); exports.DashboardSetIsCollapsed = DashboardSetIsCollapsed; const DashboardSetIsFloating = (IsFloating) => ({ type: exports.DASHBOARD_SET_IS_FLOATING, IsFloating, }); exports.DashboardSetIsFloating = DashboardSetIsFloating; const DashboardSetIsHidden = (IsHidden) => ({ type: exports.DASHBOARD_SET_IS_HIDDEN, IsHidden, }); exports.DashboardSetIsHidden = DashboardSetIsHidden; const DashboardSetIsInline = (IsInline) => ({ type: exports.DASHBOARD_SET_IS_INLINE, IsInline, }); exports.DashboardSetIsInline = DashboardSetIsInline; const DashboardSetFloatingPosition = (FloatingPosition) => ({ type: exports.DASHBOARD_SET_FLOATING_POSITION, FloatingPosition, }); exports.DashboardSetFloatingPosition = DashboardSetFloatingPosition; const DashboardSetTabs = (Tabs) => ({ type: exports.DASHBOARD_SET_TABS, Tabs, }); exports.DashboardSetTabs = DashboardSetTabs; const DashboardCloseToolbar = (toolbar) => ({ toolbar, type: exports.DASHBOARD_CLOSE_TOOLBAR, }); exports.DashboardCloseToolbar = DashboardCloseToolbar; const DashboardSetTitle = (title) => ({ type: exports.DASHBOARD_SET_TITLE, title, }); exports.DashboardSetTitle = DashboardSetTitle; const DashboardReady = (dashboardState) => ({ type: exports.DASHBOARD_READY, dashboardState, }); exports.DashboardReady = DashboardReady; const DashboardSetPinnedToolbars = (pinnedToolbars) => ({ type: exports.DASHBOARD_SET_PINNED_TOOLBARS, pinnedToolbars, }); exports.DashboardSetPinnedToolbars = DashboardSetPinnedToolbars; const initialState = { Tabs: GeneralConstants_1.EMPTY_ARRAY, ActiveTabIndex: 0, IsCollapsed: false, IsFloating: false, IsHidden: false, IsInline: false, FloatingPosition: { x: 100, y: 100 }, ModuleButtons: ['SettingsPanel'], DashboardTitle: '', }; const DashboardReducer = (state = initialState, action) => { switch (action.type) { case exports.DASHBOARD_SET_MODULE_BUTTONS: { const actionTyped = action; const dashboardModuleButtons = actionTyped.moduleButtons; return Object.assign({}, state, { ModuleButtons: dashboardModuleButtons, VisibleButtons: undefined, }); } case exports.DASHBOARD_ACTIVE_TAB_INDEX_CHANGE: { const { ActiveTabIndex } = action; return { ...state, ActiveTabIndex }; } case exports.DASHBOARD_SET_IS_COLLAPSED: { const { IsCollapsed } = action; return { ...state, IsCollapsed }; } case exports.DASHBOARD_SET_IS_FLOATING: { const { IsFloating } = action; return { ...state, IsFloating }; } case exports.DASHBOARD_SET_IS_HIDDEN: { const { IsHidden } = action; return { ...state, IsHidden }; } case exports.DASHBOARD_SET_IS_INLINE: { const { IsInline } = action; return { ...state, IsInline }; } case exports.DASHBOARD_SET_FLOATING_POSITION: { const { FloatingPosition } = action; return { ...state, FloatingPosition }; } case exports.DASHBOARD_SET_TABS: { const { Tabs } = action; return { ...state, Tabs }; } case exports.DASHBOARD_CLOSE_TOOLBAR: { const actionTyped = action; const tabs = [].concat(state.Tabs); const currentTab = tabs[state.ActiveTabIndex]; if (currentTab) { const toolbars = [].concat(currentTab.Toolbars); const index = toolbars.findIndex((t) => t == actionTyped.toolbar); toolbars.splice(index, 1); currentTab.Toolbars = toolbars; return { ...state, Tabs: tabs }; } else { return { ...state }; } } case exports.DASHBOARD_SET_TITLE: { const actionTyped = action; return Object.assign({}, state, { DashboardTitle: actionTyped.title }); } case exports.DASHBOARD_SET_PINNED_TOOLBARS: { const actionTyped = action; return Object.assign({}, state, { PinnedToolbars: actionTyped.pinnedToolbars }); } default: return state; } }; exports.DashboardReducer = DashboardReducer;