{"version":3,"file":"ThingsContainer.8c314ad6.mjs","sources":["../src/components/Things/Things.style.tsx","../src/components/Things/Things.tsx","../src/containers/ThingsContainer.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nexport const Wrapper = styled.div`\n    flex: 1;\n    display: flex;\n`;\n","import React from 'react';\nimport { Wrapper } from './Things.style';\nimport { Multi } from '@gdi/web-ui';\n\nimport { useCrudDefinitions } from '@gdi/platformer';\n\nexport type ThingsProps = {\n    data: Json[];\n    allOptions?: Json;\n    callbacks: {\n        onDrillDown: (itemId: string) => void;\n        onSelectionChange: (ids: string[]) => void;\n        onCustomAction: (actionId: string, data?: Json) => void;\n    };\n    dispatch: any;\n};\n\nexport function Things(props: ThingsProps) {\n    const { data, callbacks, allOptions, dispatch } = props;\n    const crudDefinitions = useCrudDefinitions('image');\n\n    return (\n        <Wrapper className='Things-wrapper' data-testid='Things-wrapper'>\n            <Multi\n                id='Things'\n                itemType='image'\n                data={data}\n                callbacks={callbacks}\n                definitions={crudDefinitions}\n                dispatch={dispatch}\n                allOptions={allOptions}\n                customView={CustomView}\n            />\n        </Wrapper>\n    );\n}\n\nfunction CustomView() {\n    return <div>CustomView</div>;\n}\n\nexport default Things;\n","import React, { useMemo } from 'react';\nimport Things from '../components/Things/Things';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { selectors } from '../store';\nimport { invokeEvent } from 'shared-base';\n\nexport const ThingsContainer = () => {\n    const dispatch = useDispatch();\n    const articles = useSelector(selectors.tables.$things);\n    const allOptions = useSelector(selectors.options.$allOptions);\n\n    const callbacks = useMemo(\n        () => ({\n            onDrillDown: (itemId: string) => {\n                invokeEvent('navigatePush', { path: `/${itemId}` });\n            },\n            onSelectionChange: (ids: string[]) => {\n                // console.log('ids ->', ids);\n            },\n            onCustomAction: (actionId: string, data?: Json) => {},\n        }),\n        []\n    );\n\n    return (\n        <Things\n            data={articles}\n            callbacks={callbacks}\n            allOptions={allOptions}\n            dispatch={dispatch}\n        />\n    );\n};\n\nexport default ThingsContainer;\n"],"names":["Wrapper","styled","div","Things","props","data","callbacks","allOptions","dispatch","crudDefinitions","useCrudDefinitions","Multi","CustomView","ThingsContainer","useDispatch","articles","useSelector","selectors","tables","$things","options","$allOptions","useMemo","onDrillDown","itemId","invokeEvent","path","onSelectionChange","ids","onCustomAction","actionId"],"mappings":";;;;;;;;;;AAEO,MAAMA,IAAUC,EAAOC;AAAAA;AAAAA;AAAAA;ACevB,SAASC,EAAOC,GAAoB;AACjC,QAAA;AAAA,IAAEC,MAAAA;AAAAA,IAAMC,WAAAA;AAAAA,IAAWC,YAAAA;AAAAA,IAAYC,UAAAA;AAAAA,EAAaJ,IAAAA,GAC5CK,IAAkBC,EAAmB,OAAO;AAElD,2BACKV,GAAO;AAAA,IAAC,WAAU;AAAA,IAAiB,eAAY;AAAA,IAAgB,4BAC3DW,GAAK;AAAA,MACF,IAAG;AAAA,MACH,UAAS;AAAA,MACT,MAAAN;AAAA,MACA,WAAAC;AAAA,MACA,aAAaG;AAAAA,MACb,UAAAD;AAAA,MACA,YAAAD;AAAA,MACA,YAAYK;AAAAA,IAAAA,CAAW;AAAA,EAAA,CAErB;AAElB;AAEA,SAASA,IAAa;AAClB,2BAAO,OAAA;AAAA,IAAA,UAAA;AAAA,EAAA,CAAqB;AAChC;ACjCO,MAAMC,IAAkB,MAAM;AACjC,QAAML,IAAWM,KACXC,IAAWC,EAAYC,EAAUC,OAAOC,OAAO,GAC/CZ,IAAaS,EAAYC,EAAUG,QAAQC,WAAW,GAEtDf,IAAYgB,EACd,OAAO;AAAA,IACHC,aAAa,CAACC,MAAmB;AAC7BC,MAAAA,EAAY,gBAAgB;AAAA,QAAEC,MAAO,IAAGF;AAAAA,MAAAA,CAAU;AAAA,IACtD;AAAA,IACAG,mBAAmB,CAACC,MAAkB;AAAA,IAClC;AAAA,IAEJC,gBAAgB,CAACC,GAAkBzB,MAAgB;AAAA,IAAC;AAAA,EAAA,IAExD,CAAE,CAAA;AAGN,2BACKF,GAAM;AAAA,IACH,MAAMY;AAAAA,IACN,WAAAT;AAAA,IACA,YAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,CACF;AAEV;"}