{"version":3,"file":"reducer.mjs","sources":["../../../../../../admin/src/pages/App/ConfigureTheView/state/reducer.ts"],"sourcesContent":["import { produce } from 'immer'; // current\nimport get from 'lodash/get';\nimport set from 'lodash/set';\n\nimport { ON_CHANGE, SET_LOADED } from './actionTypes';\nimport { init, initialState } from './init';\n\nimport type { InitialState } from './init';\n\nexport interface ActionOnChange {\n  type: string;\n  keys?: string;\n  value: string | number;\n}\n\nexport interface ActionSetLoaded {\n  type: string;\n}\n\ninterface ActionInitialValue {\n  type: string;\n}\n\nexport type Action = ActionSetLoaded | ActionOnChange | ActionInitialValue;\n\nexport const reducer = (\n  state: InitialState = initialState,\n  action: Action = {\n    type: '',\n  }\n) =>\n  // eslint-disable-next-line consistent-return\n  produce(state, (draftState) => {\n    switch (action.type) {\n      case ON_CHANGE: {\n        if ('keys' in action && 'value' in action && action.keys) {\n          set(draftState, ['modifiedData', ...action.keys.split('.')], action.value);\n        }\n        break;\n      }\n      case SET_LOADED: {\n        // This action re-initialises the state using the current modifiedData.\n        const reInitialise = init(get(draftState, ['modifiedData'], {}));\n        draftState.initialData = reInitialise.initialData;\n        draftState.modifiedData = reInitialise.modifiedData;\n        break;\n      }\n      default:\n        return draftState;\n    }\n  });\n"],"names":["reducer","state","initialState","action","type","produce","draftState","ON_CHANGE","keys","set","split","value","SET_LOADED","reInitialise","init","get","initialData","modifiedData"],"mappings":";;;;;;MAyBaA,OAAAA,GAAU,CACrBC,KAAAA,GAAsBC,YAAY,EAClCC,MAAAA,GAAiB;IACfC,IAAAA,EAAM;AACR,CAAC;AAGDC,IAAAA,OAAAA,CAAQJ,OAAO,CAACK,UAAAA,GAAAA;AACd,QAAA,OAAQH,OAAOC,IAAI;YACjB,KAAKG,SAAAA;AAAW,gBAAA;AACd,oBAAA,IAAI,UAAUJ,MAAAA,IAAU,OAAA,IAAWA,MAAAA,IAAUA,MAAAA,CAAOK,IAAI,EAAE;AACxDC,wBAAAA,GAAAA,CAAIH,UAAAA,EAAY;AAAC,4BAAA,cAAA;+BAAmBH,MAAAA,CAAOK,IAAI,CAACE,KAAK,CAAC,GAAA;AAAK,yBAAA,EAAEP,OAAOQ,KAAK,CAAA;AAC3E,oBAAA;AACA,oBAAA;AACF,gBAAA;YACA,KAAKC,UAAAA;AAAY,gBAAA;;oBAEf,MAAMC,YAAAA,GAAeC,IAAAA,CAAKC,GAAAA,CAAIT,UAAAA,EAAY;AAAC,wBAAA;AAAe,qBAAA,EAAE,EAAC,CAAA,CAAA;oBAC7DA,UAAAA,CAAWU,WAAW,GAAGH,YAAAA,CAAaG,WAAW;oBACjDV,UAAAA,CAAWW,YAAY,GAAGJ,YAAAA,CAAaI,YAAY;AACnD,oBAAA;AACF,gBAAA;AACA,YAAA;gBACE,OAAOX,UAAAA;AACX;IACF,CAAA;;;;"}