@leav/ui 1.14.0-e68463b4 → 1.14.0-f4a1385c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/components/EditTreeModal/EditTree/EditTreeInfo/EditTreeInfoForm/TreeLibrariesForm/TreeLibrariesForm.js +1 -1
  2. package/dist/components/EditTreeModal/EditTree/EditTreeInfo/EditTreeInfoForm/TreeLibrariesForm/TreeLibrariesForm.js.map +1 -1
  3. package/dist/components/Explorer/ExplorerTitle.js +1 -1
  4. package/dist/components/Explorer/ExplorerTitle.js.map +1 -1
  5. package/dist/components/Explorer/actions-item/useEditStatusItemAction.js +1 -1
  6. package/dist/components/Explorer/actions-item/useEditStatusItemAction.js.map +1 -1
  7. package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js +1 -1
  8. package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js.map +1 -1
  9. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js +1 -1
  10. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js.map +1 -1
  11. package/dist/components/ImportModal/ImportModalConfigStep/ImportSheetSettings/ImportSheetSettings.js +1 -1
  12. package/dist/components/ImportModal/ImportModalConfigStep/ImportSheetSettings/ImportSheetSettings.js.map +1 -1
  13. package/dist/components/RecordCard/RecordCard.js +1 -1
  14. package/dist/components/RecordCard/RecordCard.js.map +1 -1
  15. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/DeleteAllValuesButton.js +1 -1
  16. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/DeleteAllValuesButton.js.map +1 -1
  17. package/dist/components/RecordEdition/hooks/useCreateCancelConfirm/useCreateCancelConfirm.js +1 -1
  18. package/dist/components/RecordEdition/hooks/useCreateCancelConfirm/useCreateCancelConfirm.js.map +1 -1
  19. package/dist/components/SelectTreeNode/SelectTreeNode.js +1 -1
  20. package/dist/components/SelectTreeNode/SelectTreeNode.js.map +1 -1
  21. package/dist/components/TriggerPreviewsGenerationModal/TriggerPreviewsGenerationModal.js +1 -1
  22. package/dist/components/TriggerPreviewsGenerationModal/TriggerPreviewsGenerationModal.js.map +1 -1
  23. package/dist/components/ValuesVersionConfigurator/VersionTree/VersionTree.js +1 -1
  24. package/dist/components/ValuesVersionConfigurator/VersionTree/VersionTree.js.map +1 -1
  25. package/dist/hooks/index.d.ts +2 -2
  26. package/dist/hooks/index.js +2 -2
  27. package/dist/hooks/index.js.map +1 -1
  28. package/dist/hooks/useLang/__mocks__/useLang.js.map +1 -1
  29. package/dist/hooks/useLang/useLang.js.map +1 -1
  30. package/dist/testing/MockedLangContextProvider/MockedLangContextProvider.js +1 -1
  31. package/dist/testing/MockedLangContextProvider/MockedLangContextProvider.js.map +1 -1
  32. package/package.json +4 -4
  33. package/dist/hooks/useConfirmModal/__mocks__/index.d.ts +0 -1
  34. package/dist/hooks/useConfirmModal/__mocks__/index.js +0 -2
  35. package/dist/hooks/useConfirmModal/__mocks__/index.js.map +0 -1
  36. package/dist/hooks/useConfirmModal/index.d.ts +0 -1
  37. package/dist/hooks/useConfirmModal/index.js +0 -2
  38. package/dist/hooks/useConfirmModal/index.js.map +0 -1
  39. package/dist/hooks/useLang/__mocks__/index.d.ts +0 -2
  40. package/dist/hooks/useLang/__mocks__/index.js +0 -3
  41. package/dist/hooks/useLang/__mocks__/index.js.map +0 -1
  42. package/dist/hooks/useLang/index.d.ts +0 -2
  43. package/dist/hooks/useLang/index.js +0 -3
  44. package/dist/hooks/useLang/index.js.map +0 -1
@@ -5,7 +5,7 @@ import { Button, Collapse, Form, List, Select, Space, Switch } from 'antd';
5
5
  import { useState } from 'react';
6
6
  import styled from 'styled-components';
7
7
  import { PreviewSize } from '../../../../../../constants';
8
- import useLang from '../../../../../../hooks/useLang';
8
+ import useLang from '../../../../../../hooks/useLang/useLang';
9
9
  import { useSharedTranslation } from '../../../../../../hooks/useSharedTranslation';
10
10
  import { EntityCard } from '../../../../../EntityCard';
11
11
  import FieldsGroup from '../../../../../FieldsGroup';
@@ -1 +1 @@
1
- {"version":3,"file":"TreeLibrariesForm.js","sourceRoot":"","sources":["../../../../../../../src/components/EditTreeModal/EditTree/EditTreeInfo/EditTreeInfoForm/TreeLibrariesForm/TreeLibrariesForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import {CloseOutlined, PlusOutlined} from '@ant-design/icons';\nimport {localizedTranslation} from '@leav/utils';\nimport {Button, Collapse, Form, List, Select, Space, Switch} from 'antd';\nimport {type ComponentProps, type ReactNode, useState} from 'react';\nimport styled, {type CSSObject} from 'styled-components';\nimport {type LibraryLightFragment, type TreeDetailsFragment} from '../../../../../../_gqlTypes';\nimport {PreviewSize} from '../../../../../../constants';\nimport useLang from '../../../../../../hooks/useLang';\nimport {useSharedTranslation} from '../../../../../../hooks/useSharedTranslation';\nimport {EntityCard, type IEntityData} from '../../../../../EntityCard';\nimport FieldsGroup from '../../../../../FieldsGroup';\nimport {LibraryPicker} from '../../../../../LibraryPicker';\n\nconst RemoveButton = styled(CloseOutlined)`\n cursor: pointer;\n align-self: flex-start;\n`;\n\nconst ListItemPart = styled.div<{style?: CSSObject}>`\n display: flex;\n padding: 0.5rem;\n width: 100%;\n gap: 1rem;\n\n ${props => props.style}\n`;\n\nconst ALL_CHILDREN_ALLOWED_KEY = '__all__';\n\ninterface ITreeLibrariesFormProps {\n onChange: (libraries: TreeDetailsFragment['libraries']) => void;\n readOnly?: boolean;\n extra?: ReactNode;\n}\n\nfunction TreeLibrariesForm({onChange, extra, readOnly}: ITreeLibrariesFormProps): JSX.Element {\n const {t} = useSharedTranslation();\n const {lang} = useLang();\n const form = Form.useFormInstance();\n const libraries: TreeDetailsFragment['libraries'] = form.getFieldValue('libraries') ?? [];\n const [isLibraryPickerOpen, setIsLibraryPickerOpen] = useState(false);\n\n const _handleLibrariesChange = (newLibraries: TreeDetailsFragment['libraries']) => {\n form.setFieldValue('libraries', newLibraries);\n onChange(newLibraries);\n };\n\n const _handleAddLibrary = () => {\n setIsLibraryPickerOpen(true);\n };\n const _handleCloseLibraryPicker = () => setIsLibraryPickerOpen(false);\n const _handleSubmitLibraryPicker = (selectedLibraries: LibraryLightFragment[]) => {\n const addedLibraries = selectedLibraries.map(library => ({\n library: {id: library.id, label: library.label},\n settings: {allowMultiplePositions: false, allowedAtRoot: true, allowedChildren: [ALL_CHILDREN_ALLOWED_KEY]},\n }));\n\n const newLibraries = [...libraries, ...addedLibraries];\n _handleLibrariesChange(newLibraries);\n };\n const _handleRemoveLibrary = (libraryId: string) => () => {\n const newLibraries = libraries.filter(library => library.library.id !== libraryId);\n _handleLibrariesChange(newLibraries);\n };\n\n const _handleSwitchChange = (libraryId: string, field: string) => (checked: boolean) => {\n const newLibraries = libraries.map(library => {\n if (library.library.id === libraryId) {\n return {\n ...library,\n settings: {...library.settings, [field]: checked},\n };\n }\n\n return library;\n });\n\n _handleLibrariesChange(newLibraries);\n };\n\n const _handleAllowedChildrenChange = (libraryId: string, index: number) => (allowedChildren: string[]) => {\n const previousValue =\n libraries.find(library => library.library.id === libraryId)?.settings.allowedChildren ?? [];\n\n let selectedChildren = allowedChildren;\n const didAllowAllChildren = previousValue.includes(ALL_CHILDREN_ALLOWED_KEY);\n const nowAllowAllChildren = allowedChildren.includes(ALL_CHILDREN_ALLOWED_KEY);\n if (!nowAllowAllChildren && didAllowAllChildren) {\n selectedChildren = allowedChildren.filter(child => child !== ALL_CHILDREN_ALLOWED_KEY);\n }\n\n if (nowAllowAllChildren && !didAllowAllChildren) {\n selectedChildren = [ALL_CHILDREN_ALLOWED_KEY];\n }\n\n const newLibraries = libraries.map(library => {\n if (library.library.id === libraryId) {\n return {\n ...library,\n settings: {...library.settings, allowedChildren: selectedChildren},\n };\n }\n\n return library;\n });\n\n _handleLibrariesChange(newLibraries);\n form.setFieldValue(['libraries', index, 'settings', 'allowedChildren'], selectedChildren);\n };\n\n const groupLabel = (\n <Space>\n {t('trees.linked_libraries')}\n {extra}\n </Space>\n );\n\n const renderListItem = (item: TreeDetailsFragment['libraries'][number], index: number) => {\n const itemIdentity: IEntityData = {\n label: localizedTranslation(item.library.label, lang),\n subLabel: item.library.id,\n color: null,\n preview: null,\n };\n\n const allowedChildrenOptions = [\n {key: ALL_CHILDREN_ALLOWED_KEY, value: ALL_CHILDREN_ALLOWED_KEY, label: t('trees.all_children_allowed')},\n {\n key: 'libraries',\n label: t('trees.libraries'),\n options: libraries.map(library => ({\n key: library.library.id,\n value: library.library.id,\n label: localizedTranslation(library.library.label, lang),\n disabled: form\n .getFieldValue(['libraries', index, 'settings', 'allowedChildren'])\n .includes(ALL_CHILDREN_ALLOWED_KEY),\n })),\n },\n ];\n\n const collapseItems: ComponentProps<typeof Collapse>['items'] = [\n {\n key: 'settings',\n label: t('trees.advanced_settings'),\n children: (\n <>\n <ListItemPart>\n <Form.Item\n name={['libraries', index, 'settings', 'allowMultiplePositions']}\n label={t('trees.allowed_multiple_positions')}\n valuePropName=\"checked\"\n style={{margin: 0}}\n >\n <Switch\n disabled={readOnly}\n onChange={_handleSwitchChange(item.library.id, 'allowMultiplePositions')}\n />\n </Form.Item>\n <Form.Item\n name={['libraries', index, 'settings', 'allowedAtRoot']}\n label={t('trees.allowed_at_root')}\n valuePropName=\"checked\"\n style={{margin: 0}}\n >\n <Switch\n disabled={readOnly}\n onChange={_handleSwitchChange(item.library.id, 'allowedAtRoot')}\n />\n </Form.Item>\n </ListItemPart>\n <ListItemPart>\n <Form.Item\n name={['libraries', index, 'settings', 'allowedChildren']}\n label={t('trees.allowed_children')}\n style={{margin: 0}}\n >\n <Select\n options={allowedChildrenOptions}\n onChange={_handleAllowedChildrenChange(item.library.id, index)}\n placeholder={t('trees.no_children_allowed')}\n mode=\"multiple\"\n allowClear\n disabled={readOnly}\n style={{minWidth: '15rem'}}\n aria-label=\"\"\n />\n </Form.Item>\n </ListItemPart>\n </>\n ),\n },\n ];\n\n return (\n <List.Item style={{flexDirection: 'column', padding: '5px 1rem'}}>\n <ListItemPart style={{justifyContent: 'space-between'}}>\n <EntityCard entity={itemIdentity} size={PreviewSize.SMALL} />\n {!readOnly && (\n <RemoveButton\n role=\"button\"\n aria-label=\"delete-library\"\n onClick={_handleRemoveLibrary(item.library.id)}\n />\n )}\n </ListItemPart>\n <Collapse size=\"small\" style={{width: '100%', margin: '0.5rem'}} items={collapseItems} />\n </List.Item>\n );\n };\n\n const listFooter = !readOnly ? (\n <Button icon={<PlusOutlined />} style={{border: 'none', boxShadow: 'none'}} onClick={_handleAddLibrary}>\n {t('trees.add_libraries')}\n </Button>\n ) : null;\n const selectedLibraries = libraries.map(library => library.library.id);\n\n return (\n <>\n <FieldsGroup label={groupLabel} style={{padding: 0}}>\n <List\n dataSource={libraries}\n renderItem={renderListItem}\n footer={listFooter}\n locale={{emptyText: t('trees.no_linked_libraries')}}\n style={{padding: 0}}\n />\n </FieldsGroup>\n {isLibraryPickerOpen && (\n <LibraryPicker\n onClose={_handleCloseLibraryPicker}\n open={isLibraryPickerOpen}\n onSubmit={_handleSubmitLibraryPicker}\n multiple\n selected={selectedLibraries}\n showSelected={false}\n />\n )}\n </>\n );\n}\n\nexport default TreeLibrariesForm;\n"]}
1
+ {"version":3,"file":"TreeLibrariesForm.js","sourceRoot":"","sources":["../../../../../../../src/components/EditTreeModal/EditTree/EditTreeInfo/EditTreeInfoForm/TreeLibrariesForm/TreeLibrariesForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import {CloseOutlined, PlusOutlined} from '@ant-design/icons';\nimport {localizedTranslation} from '@leav/utils';\nimport {Button, Collapse, Form, List, Select, Space, Switch} from 'antd';\nimport {type ComponentProps, type ReactNode, useState} from 'react';\nimport styled, {type CSSObject} from 'styled-components';\nimport {type LibraryLightFragment, type TreeDetailsFragment} from '../../../../../../_gqlTypes';\nimport {PreviewSize} from '../../../../../../constants';\nimport useLang from '../../../../../../hooks/useLang/useLang';\nimport {useSharedTranslation} from '../../../../../../hooks/useSharedTranslation';\nimport {EntityCard, type IEntityData} from '../../../../../EntityCard';\nimport FieldsGroup from '../../../../../FieldsGroup';\nimport {LibraryPicker} from '../../../../../LibraryPicker';\n\nconst RemoveButton = styled(CloseOutlined)`\n cursor: pointer;\n align-self: flex-start;\n`;\n\nconst ListItemPart = styled.div<{style?: CSSObject}>`\n display: flex;\n padding: 0.5rem;\n width: 100%;\n gap: 1rem;\n\n ${props => props.style}\n`;\n\nconst ALL_CHILDREN_ALLOWED_KEY = '__all__';\n\ninterface ITreeLibrariesFormProps {\n onChange: (libraries: TreeDetailsFragment['libraries']) => void;\n readOnly?: boolean;\n extra?: ReactNode;\n}\n\nfunction TreeLibrariesForm({onChange, extra, readOnly}: ITreeLibrariesFormProps): JSX.Element {\n const {t} = useSharedTranslation();\n const {lang} = useLang();\n const form = Form.useFormInstance();\n const libraries: TreeDetailsFragment['libraries'] = form.getFieldValue('libraries') ?? [];\n const [isLibraryPickerOpen, setIsLibraryPickerOpen] = useState(false);\n\n const _handleLibrariesChange = (newLibraries: TreeDetailsFragment['libraries']) => {\n form.setFieldValue('libraries', newLibraries);\n onChange(newLibraries);\n };\n\n const _handleAddLibrary = () => {\n setIsLibraryPickerOpen(true);\n };\n const _handleCloseLibraryPicker = () => setIsLibraryPickerOpen(false);\n const _handleSubmitLibraryPicker = (selectedLibraries: LibraryLightFragment[]) => {\n const addedLibraries = selectedLibraries.map(library => ({\n library: {id: library.id, label: library.label},\n settings: {allowMultiplePositions: false, allowedAtRoot: true, allowedChildren: [ALL_CHILDREN_ALLOWED_KEY]},\n }));\n\n const newLibraries = [...libraries, ...addedLibraries];\n _handleLibrariesChange(newLibraries);\n };\n const _handleRemoveLibrary = (libraryId: string) => () => {\n const newLibraries = libraries.filter(library => library.library.id !== libraryId);\n _handleLibrariesChange(newLibraries);\n };\n\n const _handleSwitchChange = (libraryId: string, field: string) => (checked: boolean) => {\n const newLibraries = libraries.map(library => {\n if (library.library.id === libraryId) {\n return {\n ...library,\n settings: {...library.settings, [field]: checked},\n };\n }\n\n return library;\n });\n\n _handleLibrariesChange(newLibraries);\n };\n\n const _handleAllowedChildrenChange = (libraryId: string, index: number) => (allowedChildren: string[]) => {\n const previousValue =\n libraries.find(library => library.library.id === libraryId)?.settings.allowedChildren ?? [];\n\n let selectedChildren = allowedChildren;\n const didAllowAllChildren = previousValue.includes(ALL_CHILDREN_ALLOWED_KEY);\n const nowAllowAllChildren = allowedChildren.includes(ALL_CHILDREN_ALLOWED_KEY);\n if (!nowAllowAllChildren && didAllowAllChildren) {\n selectedChildren = allowedChildren.filter(child => child !== ALL_CHILDREN_ALLOWED_KEY);\n }\n\n if (nowAllowAllChildren && !didAllowAllChildren) {\n selectedChildren = [ALL_CHILDREN_ALLOWED_KEY];\n }\n\n const newLibraries = libraries.map(library => {\n if (library.library.id === libraryId) {\n return {\n ...library,\n settings: {...library.settings, allowedChildren: selectedChildren},\n };\n }\n\n return library;\n });\n\n _handleLibrariesChange(newLibraries);\n form.setFieldValue(['libraries', index, 'settings', 'allowedChildren'], selectedChildren);\n };\n\n const groupLabel = (\n <Space>\n {t('trees.linked_libraries')}\n {extra}\n </Space>\n );\n\n const renderListItem = (item: TreeDetailsFragment['libraries'][number], index: number) => {\n const itemIdentity: IEntityData = {\n label: localizedTranslation(item.library.label, lang),\n subLabel: item.library.id,\n color: null,\n preview: null,\n };\n\n const allowedChildrenOptions = [\n {key: ALL_CHILDREN_ALLOWED_KEY, value: ALL_CHILDREN_ALLOWED_KEY, label: t('trees.all_children_allowed')},\n {\n key: 'libraries',\n label: t('trees.libraries'),\n options: libraries.map(library => ({\n key: library.library.id,\n value: library.library.id,\n label: localizedTranslation(library.library.label, lang),\n disabled: form\n .getFieldValue(['libraries', index, 'settings', 'allowedChildren'])\n .includes(ALL_CHILDREN_ALLOWED_KEY),\n })),\n },\n ];\n\n const collapseItems: ComponentProps<typeof Collapse>['items'] = [\n {\n key: 'settings',\n label: t('trees.advanced_settings'),\n children: (\n <>\n <ListItemPart>\n <Form.Item\n name={['libraries', index, 'settings', 'allowMultiplePositions']}\n label={t('trees.allowed_multiple_positions')}\n valuePropName=\"checked\"\n style={{margin: 0}}\n >\n <Switch\n disabled={readOnly}\n onChange={_handleSwitchChange(item.library.id, 'allowMultiplePositions')}\n />\n </Form.Item>\n <Form.Item\n name={['libraries', index, 'settings', 'allowedAtRoot']}\n label={t('trees.allowed_at_root')}\n valuePropName=\"checked\"\n style={{margin: 0}}\n >\n <Switch\n disabled={readOnly}\n onChange={_handleSwitchChange(item.library.id, 'allowedAtRoot')}\n />\n </Form.Item>\n </ListItemPart>\n <ListItemPart>\n <Form.Item\n name={['libraries', index, 'settings', 'allowedChildren']}\n label={t('trees.allowed_children')}\n style={{margin: 0}}\n >\n <Select\n options={allowedChildrenOptions}\n onChange={_handleAllowedChildrenChange(item.library.id, index)}\n placeholder={t('trees.no_children_allowed')}\n mode=\"multiple\"\n allowClear\n disabled={readOnly}\n style={{minWidth: '15rem'}}\n aria-label=\"\"\n />\n </Form.Item>\n </ListItemPart>\n </>\n ),\n },\n ];\n\n return (\n <List.Item style={{flexDirection: 'column', padding: '5px 1rem'}}>\n <ListItemPart style={{justifyContent: 'space-between'}}>\n <EntityCard entity={itemIdentity} size={PreviewSize.SMALL} />\n {!readOnly && (\n <RemoveButton\n role=\"button\"\n aria-label=\"delete-library\"\n onClick={_handleRemoveLibrary(item.library.id)}\n />\n )}\n </ListItemPart>\n <Collapse size=\"small\" style={{width: '100%', margin: '0.5rem'}} items={collapseItems} />\n </List.Item>\n );\n };\n\n const listFooter = !readOnly ? (\n <Button icon={<PlusOutlined />} style={{border: 'none', boxShadow: 'none'}} onClick={_handleAddLibrary}>\n {t('trees.add_libraries')}\n </Button>\n ) : null;\n const selectedLibraries = libraries.map(library => library.library.id);\n\n return (\n <>\n <FieldsGroup label={groupLabel} style={{padding: 0}}>\n <List\n dataSource={libraries}\n renderItem={renderListItem}\n footer={listFooter}\n locale={{emptyText: t('trees.no_linked_libraries')}}\n style={{padding: 0}}\n />\n </FieldsGroup>\n {isLibraryPickerOpen && (\n <LibraryPicker\n onClose={_handleCloseLibraryPicker}\n open={isLibraryPickerOpen}\n onSubmit={_handleSubmitLibraryPicker}\n multiple\n selected={selectedLibraries}\n showSelected={false}\n />\n )}\n </>\n );\n}\n\nexport default TreeLibrariesForm;\n"]}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { localizedTranslation } from '@leav/utils';
3
3
  import { useExplorerLibraryDetailsQuery, useExplorerLinkAttributeQuery } from '../../_gqlTypes';
4
- import useLang from '../../hooks/useLang';
4
+ import useLang from '../../hooks/useLang/useLang';
5
5
  import { AntSkeleton } from 'aristid-ds';
6
6
  // TODO: use <h1 /> tag
7
7
  export const ExplorerTitle = ({ title, library, entrypoint }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ExplorerTitle.js","sourceRoot":"","sources":["../../../src/components/Explorer/ExplorerTitle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AACjD,OAAO,EAAC,8BAA8B,EAAE,6BAA6B,EAAC,MAAM,eAAe,CAAC;AAC5F,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAUvC,uBAAuB;AACvB,MAAM,CAAC,MAAM,aAAa,GAA2C,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAC,EAAE,EAAE;IAClG,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAC,GAAG,8BAA8B,CAAC,EAAC,SAAS,EAAE,EAAC,SAAS,EAAE,OAAO,EAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC;IAChH,MAAM,EACF,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,cAAc,GACxB,GAAG,6BAA6B,CAAC;QAC9B,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM;QAC3C,SAAS,EAAE;YACP,EAAE,EAAG,UAA8B,CAAC,eAAe;SACtD;KACJ,CAAC,CAAC;IAEH,MAAM,EAAC,IAAI,EAAC,GAAG,OAAO,EAAE,CAAC;IAEzB,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,yBAAO,KAAK,GAAQ,CAAC;IAChC,CAAC;IAED,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAC9B,OAAO,KAAC,WAAW,CAAC,KAAK,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,GAAG,EAAC,EAAE,MAAM,SAAG,CAAC;IAC7D,CAAC;IAED,wCAAwC;IACxC,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;QAC1B,OAAO,yBAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,OAAO,GAAQ,CAAC;IACpE,CAAC;IAED,IAAI,KAAK,CAAC;IAEV,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,qBAAqB;YACrB,OAAO,6CAA4B,CAAC;QACxC,CAAC;QAED,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;IAC9B,CAAC;SAAM,CAAC;QACJ,MAAM,iBAAiB,GAAG,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAE7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,OAAO,oDAAmC,CAAC;QAC/C,CAAC;QAED,KAAK,GAAG,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IAED,OAAO,yBAAO,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAQ,CAAC;AAC5D,CAAC,CAAC","sourcesContent":["import {localizedTranslation} from '@leav/utils';\nimport {useExplorerLibraryDetailsQuery, useExplorerLinkAttributeQuery} from '_ui/_gqlTypes';\nimport useLang from '_ui/hooks/useLang';\nimport {AntSkeleton} from 'aristid-ds';\nimport {type FunctionComponent} from 'react';\nimport {type Entrypoint, type IEntrypointLink} from './_types';\n\ninterface IExplorerTitleProps {\n title?: string;\n library: string;\n entrypoint: Entrypoint;\n}\n\n// TODO: use <h1 /> tag\nexport const ExplorerTitle: FunctionComponent<IExplorerTitleProps> = ({title, library, entrypoint}) => {\n const {data, loading, error} = useExplorerLibraryDetailsQuery({variables: {libraryId: library}, skip: !!title});\n const {\n data: attributeData,\n loading: attributeLoading,\n error: attributeError,\n } = useExplorerLinkAttributeQuery({\n skip: !!title || entrypoint.type !== 'link',\n variables: {\n id: (entrypoint as IEntrypointLink).linkAttributeId,\n },\n });\n\n const {lang} = useLang();\n\n if (title) {\n return <span>{title}</span>;\n }\n\n if (loading || attributeLoading) {\n return <AntSkeleton.Input style={{width: 400}} active />;\n }\n\n // TODO: handle error and bad library ID\n if (error || attributeError) {\n return <span>{error?.message ?? attributeError?.message}</span>;\n }\n\n let label;\n\n if (entrypoint.type === 'library') {\n const libraryData = data?.libraries?.list[0];\n\n if (!libraryData) {\n // TODO: make it i18n\n return <span>Unknown library</span>;\n }\n\n label = libraryData.label;\n } else {\n const linkAttributeData = attributeData?.attributes?.list[0];\n\n if (!linkAttributeData) {\n return <span>Unknown link attribute</span>;\n }\n\n label = 'label' in linkAttributeData ? linkAttributeData.label : null;\n }\n\n return <span>{localizedTranslation(label, lang)}</span>;\n};\n"]}
1
+ {"version":3,"file":"ExplorerTitle.js","sourceRoot":"","sources":["../../../src/components/Explorer/ExplorerTitle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AACjD,OAAO,EAAC,8BAA8B,EAAE,6BAA6B,EAAC,MAAM,eAAe,CAAC;AAC5F,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAUvC,uBAAuB;AACvB,MAAM,CAAC,MAAM,aAAa,GAA2C,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAC,EAAE,EAAE;IAClG,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAC,GAAG,8BAA8B,CAAC,EAAC,SAAS,EAAE,EAAC,SAAS,EAAE,OAAO,EAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC;IAChH,MAAM,EACF,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,cAAc,GACxB,GAAG,6BAA6B,CAAC;QAC9B,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM;QAC3C,SAAS,EAAE;YACP,EAAE,EAAG,UAA8B,CAAC,eAAe;SACtD;KACJ,CAAC,CAAC;IAEH,MAAM,EAAC,IAAI,EAAC,GAAG,OAAO,EAAE,CAAC;IAEzB,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,yBAAO,KAAK,GAAQ,CAAC;IAChC,CAAC;IAED,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAC9B,OAAO,KAAC,WAAW,CAAC,KAAK,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,GAAG,EAAC,EAAE,MAAM,SAAG,CAAC;IAC7D,CAAC;IAED,wCAAwC;IACxC,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;QAC1B,OAAO,yBAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,OAAO,GAAQ,CAAC;IACpE,CAAC;IAED,IAAI,KAAK,CAAC;IAEV,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,qBAAqB;YACrB,OAAO,6CAA4B,CAAC;QACxC,CAAC;QAED,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;IAC9B,CAAC;SAAM,CAAC;QACJ,MAAM,iBAAiB,GAAG,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAE7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,OAAO,oDAAmC,CAAC;QAC/C,CAAC;QAED,KAAK,GAAG,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IAED,OAAO,yBAAO,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAQ,CAAC;AAC5D,CAAC,CAAC","sourcesContent":["import {localizedTranslation} from '@leav/utils';\nimport {useExplorerLibraryDetailsQuery, useExplorerLinkAttributeQuery} from '_ui/_gqlTypes';\nimport useLang from '_ui/hooks/useLang/useLang';\nimport {AntSkeleton} from 'aristid-ds';\nimport {type FunctionComponent} from 'react';\nimport {type Entrypoint, type IEntrypointLink} from './_types';\n\ninterface IExplorerTitleProps {\n title?: string;\n library: string;\n entrypoint: Entrypoint;\n}\n\n// TODO: use <h1 /> tag\nexport const ExplorerTitle: FunctionComponent<IExplorerTitleProps> = ({title, library, entrypoint}) => {\n const {data, loading, error} = useExplorerLibraryDetailsQuery({variables: {libraryId: library}, skip: !!title});\n const {\n data: attributeData,\n loading: attributeLoading,\n error: attributeError,\n } = useExplorerLinkAttributeQuery({\n skip: !!title || entrypoint.type !== 'link',\n variables: {\n id: (entrypoint as IEntrypointLink).linkAttributeId,\n },\n });\n\n const {lang} = useLang();\n\n if (title) {\n return <span>{title}</span>;\n }\n\n if (loading || attributeLoading) {\n return <AntSkeleton.Input style={{width: 400}} active />;\n }\n\n // TODO: handle error and bad library ID\n if (error || attributeError) {\n return <span>{error?.message ?? attributeError?.message}</span>;\n }\n\n let label;\n\n if (entrypoint.type === 'library') {\n const libraryData = data?.libraries?.list[0];\n\n if (!libraryData) {\n // TODO: make it i18n\n return <span>Unknown library</span>;\n }\n\n label = libraryData.label;\n } else {\n const linkAttributeData = attributeData?.attributes?.list[0];\n\n if (!linkAttributeData) {\n return <span>Unknown link attribute</span>;\n }\n\n label = 'label' in linkAttributeData ? linkAttributeData.label : null;\n }\n\n return <span>{localizedTranslation(label, lang)}</span>;\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useMemo } from 'react';
3
- import { useConfirmModal } from '../../../hooks/useConfirmModal';
3
+ import { useConfirmModal } from '../../../hooks/useConfirmModal/useConfirmModal';
4
4
  import { useActivateRecordsMutation, useDeactivateRecordsMutation, useDeleteValueMutation, } from '../../../_gqlTypes';
5
5
  import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
6
6
  import { useValuesCacheUpdate } from '../../../hooks/useValuesCacheUpdate';
@@ -1 +1 @@
1
- {"version":3,"file":"useEditStatusItemAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-item/useEditStatusItemAction.tsx"],"names":[],"mappings":"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","sourcesContent":["import {type Dispatch, useMemo} from 'react';\nimport {useConfirmModal} from '_ui/hooks/useConfirmModal';\nimport {\n type ActivateRecordsMutation,\n type DeactivateRecordsMutation,\n useActivateRecordsMutation,\n useDeactivateRecordsMutation,\n useDeleteValueMutation,\n} from '_ui/_gqlTypes';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useValuesCacheUpdate} from '_ui/hooks/useValuesCacheUpdate';\nimport {type FeatureHook, type Entrypoint, type IEntrypointLink, type IItemAction, type IItemData} from '../_types';\nimport {type IViewSettingsAction, type IViewSettingsState, ViewSettingsActionTypes} from '../manage-view-settings';\nimport {MASS_SELECTION_ALL} from '../_constants';\nimport {BREAK_TWO_LINES, ERROR_NOTIFICATION_DURATION, SUCCESS_NOTIFICATION_DURATION} from '_ui/constants';\nimport {type FetchResult} from '@apollo/client';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faTrash, faTrashRestore} from '@fortawesome/free-solid-svg-icons';\nimport {KitAlert} from 'aristid-ds';\n\n/**\n * Hook used to get the action for `<DataView />` component.\n *\n * When the mutation for removing is done, the Apollo cache will be clean (`Record` and `RecordIdentity`)\n * from removed record.\n *\n * @param isEnabled - whether the action is present\n * @param view - represent the current view\n * @param dispatch - method to change the current view\n * @param entrypoint - represent the current entrypoint\n * @param canDeleteLinkValues - check permission to delete link values\n */\nexport const useEditStatusItemAction = ({\n isEnabled,\n canDeleteLinkValues,\n store: {view, dispatch},\n onRemove,\n entrypoint,\n}: FeatureHook<{\n store: {\n view: IViewSettingsState;\n dispatch: Dispatch<IViewSettingsAction>;\n };\n canDeleteLinkValues: boolean;\n onRemove?: IItemAction['callback'];\n entrypoint: Entrypoint;\n}>) => {\n const {t} = useSharedTranslation();\n const {openConfirmModal} = useConfirmModal();\n const updateValuesCache = useValuesCacheUpdate();\n\n const [deactivateRecordsMutation] = useDeactivateRecordsMutation({\n update(cache, deactivatedRecords) {\n deactivatedRecords.data?.deactivateRecords.forEach(record => {\n cache.evict({\n id: cache.identify(record),\n });\n });\n cache.modify({\n fields: {\n records: prev => ({\n ...prev,\n totalCount: prev.totalCount - 1,\n }),\n },\n broadcast: false,\n });\n cache.gc();\n },\n });\n\n const [activateRecordsMutation] = useActivateRecordsMutation({\n update(cache, activatedRecords) {\n activatedRecords.data?.activateRecords.forEach(record => {\n cache.evict({\n id: cache.identify(record),\n });\n });\n cache.modify({\n fields: {\n records: prev => ({\n ...prev,\n totalCount: prev.totalCount - 1,\n }),\n },\n broadcast: false,\n });\n cache.gc();\n },\n });\n\n const [deleteRecordLinkMutation] = useDeleteValueMutation({\n update: (_, deletedRecord) => {\n const parentRecord = {\n id: (entrypoint as IEntrypointLink).parentRecordId,\n library: {\n id: (entrypoint as IEntrypointLink).parentLibraryId,\n },\n };\n updateValuesCache(parentRecord, deletedRecord.data?.deleteValue ?? []);\n },\n });\n\n const displayAlert = ({type}: {type: 'success' | 'error'}) => {\n KitAlert[type]({\n showIcon: true,\n duration: type === 'success' ? SUCCESS_NOTIFICATION_DURATION : ERROR_NOTIFICATION_DURATION,\n closable: true,\n message: t(`explorer.item_deleted_${type}`),\n description: null,\n });\n };\n\n const _deactivateItem = async (item: IItemData): Promise<FetchResult<DeactivateRecordsMutation>> => {\n const libRes = await deactivateRecordsMutation({\n variables: {\n libraryId: item.libraryId,\n recordsIds: [item.itemId],\n },\n });\n\n if (view.massSelection !== MASS_SELECTION_ALL) {\n dispatch({\n type: ViewSettingsActionTypes.SET_SELECTED_KEYS,\n payload: view.massSelection.filter(key => key !== item.itemId),\n });\n }\n\n if ((libRes.data?.deactivateRecords ?? []).length > 0) {\n displayAlert({type: 'success'});\n onRemove?.(item);\n } else {\n displayAlert({type: 'error'});\n }\n return libRes;\n };\n\n const _activateItem = async (item: IItemData): Promise<FetchResult<ActivateRecordsMutation>> => {\n const libRes = await activateRecordsMutation({\n variables: {\n libraryId: item.libraryId,\n recordsIds: [item.itemId],\n },\n });\n\n if (view.massSelection !== MASS_SELECTION_ALL) {\n dispatch({\n type: ViewSettingsActionTypes.SET_SELECTED_KEYS,\n payload: view.massSelection.filter(key => key !== item.itemId),\n });\n }\n\n return libRes;\n };\n\n const _editStatusItemAction: IItemAction = useMemo(\n () => ({\n label: (item: IItemData) =>\n entrypoint.type === 'library'\n ? item.active\n ? t('explorer.deactivate-item')\n : t('explorer.activate-item')\n : t('explorer.delete-item'),\n icon: (item: IItemData) => (\n <FontAwesomeIcon icon={entrypoint.type === 'library' && !item.active ? faTrashRestore : faTrash} />\n ),\n isDanger: true,\n disabled: (item: IItemData) =>\n entrypoint.type === 'link' ? !canDeleteLinkValues : item.active ? !item.canDelete : !item.canActivate,\n callback: item => {\n const {itemId, id_value} = item;\n\n const title =\n entrypoint.type === 'library'\n ? item.active\n ? t('explorer.deactivate_item_one')\n : t('explorer.activate_item_one')\n : t('explorer.delete_link_one');\n\n const content =\n entrypoint.type === 'library'\n ? item.active\n ? t('explorer.deactivate_item_description_one')\n : t('explorer.activate_item_description_one')\n : t('explorer.delete_link_description_one');\n\n openConfirmModal({\n title,\n content: content + BREAK_TWO_LINES + t('global.are_you_sure'),\n onOk: async () => {\n switch (entrypoint.type) {\n case 'library':\n if (item.active) {\n return _deactivateItem(item);\n }\n\n return _activateItem(item);\n case 'link':\n const linkRes = await deleteRecordLinkMutation({\n variables: {\n library: entrypoint.parentLibraryId,\n attribute: entrypoint.linkAttributeId,\n recordId: entrypoint.parentRecordId,\n value: {\n payload: itemId,\n id_value,\n },\n },\n });\n onRemove?.(item);\n return linkRes;\n default:\n return;\n }\n },\n });\n },\n }),\n [\n t,\n deactivateRecordsMutation,\n deleteRecordLinkMutation,\n activateRecordsMutation,\n canDeleteLinkValues,\n entrypoint.type,\n view.massSelection,\n dispatch,\n ],\n );\n\n return {\n editStatusItemAction: isEnabled ? _editStatusItemAction : null,\n };\n};\n"]}
1
+ {"version":3,"file":"useEditStatusItemAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-item/useEditStatusItemAction.tsx"],"names":[],"mappings":"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","sourcesContent":["import {type Dispatch, useMemo} from 'react';\nimport {useConfirmModal} from '_ui/hooks/useConfirmModal/useConfirmModal';\nimport {\n type ActivateRecordsMutation,\n type DeactivateRecordsMutation,\n useActivateRecordsMutation,\n useDeactivateRecordsMutation,\n useDeleteValueMutation,\n} from '_ui/_gqlTypes';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useValuesCacheUpdate} from '_ui/hooks/useValuesCacheUpdate';\nimport {type FeatureHook, type Entrypoint, type IEntrypointLink, type IItemAction, type IItemData} from '../_types';\nimport {type IViewSettingsAction, type IViewSettingsState, ViewSettingsActionTypes} from '../manage-view-settings';\nimport {MASS_SELECTION_ALL} from '../_constants';\nimport {BREAK_TWO_LINES, ERROR_NOTIFICATION_DURATION, SUCCESS_NOTIFICATION_DURATION} from '_ui/constants';\nimport {type FetchResult} from '@apollo/client';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faTrash, faTrashRestore} from '@fortawesome/free-solid-svg-icons';\nimport {KitAlert} from 'aristid-ds';\n\n/**\n * Hook used to get the action for `<DataView />` component.\n *\n * When the mutation for removing is done, the Apollo cache will be clean (`Record` and `RecordIdentity`)\n * from removed record.\n *\n * @param isEnabled - whether the action is present\n * @param view - represent the current view\n * @param dispatch - method to change the current view\n * @param entrypoint - represent the current entrypoint\n * @param canDeleteLinkValues - check permission to delete link values\n */\nexport const useEditStatusItemAction = ({\n isEnabled,\n canDeleteLinkValues,\n store: {view, dispatch},\n onRemove,\n entrypoint,\n}: FeatureHook<{\n store: {\n view: IViewSettingsState;\n dispatch: Dispatch<IViewSettingsAction>;\n };\n canDeleteLinkValues: boolean;\n onRemove?: IItemAction['callback'];\n entrypoint: Entrypoint;\n}>) => {\n const {t} = useSharedTranslation();\n const {openConfirmModal} = useConfirmModal();\n const updateValuesCache = useValuesCacheUpdate();\n\n const [deactivateRecordsMutation] = useDeactivateRecordsMutation({\n update(cache, deactivatedRecords) {\n deactivatedRecords.data?.deactivateRecords.forEach(record => {\n cache.evict({\n id: cache.identify(record),\n });\n });\n cache.modify({\n fields: {\n records: prev => ({\n ...prev,\n totalCount: prev.totalCount - 1,\n }),\n },\n broadcast: false,\n });\n cache.gc();\n },\n });\n\n const [activateRecordsMutation] = useActivateRecordsMutation({\n update(cache, activatedRecords) {\n activatedRecords.data?.activateRecords.forEach(record => {\n cache.evict({\n id: cache.identify(record),\n });\n });\n cache.modify({\n fields: {\n records: prev => ({\n ...prev,\n totalCount: prev.totalCount - 1,\n }),\n },\n broadcast: false,\n });\n cache.gc();\n },\n });\n\n const [deleteRecordLinkMutation] = useDeleteValueMutation({\n update: (_, deletedRecord) => {\n const parentRecord = {\n id: (entrypoint as IEntrypointLink).parentRecordId,\n library: {\n id: (entrypoint as IEntrypointLink).parentLibraryId,\n },\n };\n updateValuesCache(parentRecord, deletedRecord.data?.deleteValue ?? []);\n },\n });\n\n const displayAlert = ({type}: {type: 'success' | 'error'}) => {\n KitAlert[type]({\n showIcon: true,\n duration: type === 'success' ? SUCCESS_NOTIFICATION_DURATION : ERROR_NOTIFICATION_DURATION,\n closable: true,\n message: t(`explorer.item_deleted_${type}`),\n description: null,\n });\n };\n\n const _deactivateItem = async (item: IItemData): Promise<FetchResult<DeactivateRecordsMutation>> => {\n const libRes = await deactivateRecordsMutation({\n variables: {\n libraryId: item.libraryId,\n recordsIds: [item.itemId],\n },\n });\n\n if (view.massSelection !== MASS_SELECTION_ALL) {\n dispatch({\n type: ViewSettingsActionTypes.SET_SELECTED_KEYS,\n payload: view.massSelection.filter(key => key !== item.itemId),\n });\n }\n\n if ((libRes.data?.deactivateRecords ?? []).length > 0) {\n displayAlert({type: 'success'});\n onRemove?.(item);\n } else {\n displayAlert({type: 'error'});\n }\n return libRes;\n };\n\n const _activateItem = async (item: IItemData): Promise<FetchResult<ActivateRecordsMutation>> => {\n const libRes = await activateRecordsMutation({\n variables: {\n libraryId: item.libraryId,\n recordsIds: [item.itemId],\n },\n });\n\n if (view.massSelection !== MASS_SELECTION_ALL) {\n dispatch({\n type: ViewSettingsActionTypes.SET_SELECTED_KEYS,\n payload: view.massSelection.filter(key => key !== item.itemId),\n });\n }\n\n return libRes;\n };\n\n const _editStatusItemAction: IItemAction = useMemo(\n () => ({\n label: (item: IItemData) =>\n entrypoint.type === 'library'\n ? item.active\n ? t('explorer.deactivate-item')\n : t('explorer.activate-item')\n : t('explorer.delete-item'),\n icon: (item: IItemData) => (\n <FontAwesomeIcon icon={entrypoint.type === 'library' && !item.active ? faTrashRestore : faTrash} />\n ),\n isDanger: true,\n disabled: (item: IItemData) =>\n entrypoint.type === 'link' ? !canDeleteLinkValues : item.active ? !item.canDelete : !item.canActivate,\n callback: item => {\n const {itemId, id_value} = item;\n\n const title =\n entrypoint.type === 'library'\n ? item.active\n ? t('explorer.deactivate_item_one')\n : t('explorer.activate_item_one')\n : t('explorer.delete_link_one');\n\n const content =\n entrypoint.type === 'library'\n ? item.active\n ? t('explorer.deactivate_item_description_one')\n : t('explorer.activate_item_description_one')\n : t('explorer.delete_link_description_one');\n\n openConfirmModal({\n title,\n content: content + BREAK_TWO_LINES + t('global.are_you_sure'),\n onOk: async () => {\n switch (entrypoint.type) {\n case 'library':\n if (item.active) {\n return _deactivateItem(item);\n }\n\n return _activateItem(item);\n case 'link':\n const linkRes = await deleteRecordLinkMutation({\n variables: {\n library: entrypoint.parentLibraryId,\n attribute: entrypoint.linkAttributeId,\n recordId: entrypoint.parentRecordId,\n value: {\n payload: itemId,\n id_value,\n },\n },\n });\n onRemove?.(item);\n return linkRes;\n default:\n return;\n }\n },\n });\n },\n }),\n [\n t,\n deactivateRecordsMutation,\n deleteRecordLinkMutation,\n activateRecordsMutation,\n canDeleteLinkValues,\n entrypoint.type,\n view.massSelection,\n dispatch,\n ],\n );\n\n return {\n editStatusItemAction: isEnabled ? _editStatusItemAction : null,\n };\n};\n"]}
@@ -3,7 +3,7 @@ import { useMemo } from 'react';
3
3
  import { KitAlert } from 'aristid-ds';
4
4
  import { useDeactivateRecordsMutation } from '../../../_gqlTypes';
5
5
  import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
6
- import { useConfirmModal } from '../../../hooks/useConfirmModal';
6
+ import { useConfirmModal } from '../../../hooks/useConfirmModal/useConfirmModal';
7
7
  import { ViewSettingsActionTypes } from '../manage-view-settings';
8
8
  import { MASS_SELECTION_ALL } from '../_constants';
9
9
  import { SUCCESS_ALERT_DURATION, BREAK_TWO_LINES } from '../../../constants';
@@ -1 +1 @@
1
- {"version":3,"file":"useDeactivateMassAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-mass/useDeactivateMassAction.tsx"],"names":[],"mappings":"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","sourcesContent":["import {type Dispatch, useMemo} from 'react';\nimport {KitAlert} from 'aristid-ds';\nimport {useDeactivateRecordsMutation} from '_ui/_gqlTypes';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useConfirmModal} from '_ui/hooks/useConfirmModal';\nimport {type FeatureHook, type IMassActions} from '../_types';\nimport {type IViewSettingsAction, type IViewSettingsState, ViewSettingsActionTypes} from '../manage-view-settings';\nimport {MASS_SELECTION_ALL} from '../_constants';\nimport {type useExplorerData} from '../_queries/useExplorerData';\nimport {SUCCESS_ALERT_DURATION, BREAK_TWO_LINES} from '_ui/constants';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faTrash} from '@fortawesome/free-solid-svg-icons';\n\n/**\n * Hook used to get the action for mass actions only available on selection.\n *\n * When the mutation for deactivation is done, the Apollo cache will be clean (`Record` and `RecordIdentity`)\n * from deactivated record.\n *\n * @param isEnabled - whether the action is present\n * @param view - represent the current view\n * @param dispatch - method to change the current view\n * @param libraryId - concerned library\n * @param allVisibleKeys - list of all visible keys used to know if we need to change page\n * @param refetch - method to get fresh data when we delete last page\n */\nexport const useDeactivateMassAction = ({\n isEnabled,\n store: {view, dispatch},\n allVisibleKeys,\n totalCount,\n onDeactivate,\n refetch,\n}: FeatureHook<{\n store: {\n view: IViewSettingsState;\n dispatch: Dispatch<IViewSettingsAction>;\n };\n allVisibleKeys: string[];\n totalCount: number;\n onDeactivate?: IMassActions['callback'];\n refetch: ReturnType<typeof useExplorerData>['refetch'];\n}>) => {\n const {t} = useSharedTranslation();\n const {openConfirmModal} = useConfirmModal();\n\n const [deactivateRecordsMutation] = useDeactivateRecordsMutation();\n\n const _deactivateMassAction: IMassActions = useMemo(\n () => ({\n label: t('explorer.massAction.deactivate'),\n icon: <FontAwesomeIcon icon={faTrash} />,\n deselectAll: true,\n callback: massSelectionFilter => {\n openConfirmModal({\n title:\n t('explorer.deactivate_item', {\n count: view.massSelection === MASS_SELECTION_ALL ? Infinity : view.massSelection.length,\n }) ?? undefined,\n content:\n t('explorer.deactivate_item_description', {\n count: view.massSelection === MASS_SELECTION_ALL ? Infinity : view.massSelection.length,\n }) +\n BREAK_TWO_LINES +\n t('global.are_you_sure'),\n onOk: async () => {\n const {data} = await deactivateRecordsMutation({\n variables: {\n libraryId: view.libraryId,\n filters: massSelectionFilter,\n },\n });\n const total =\n view.massSelection === MASS_SELECTION_ALL ? totalCount : view.massSelection.length;\n KitAlert.success({\n showIcon: true,\n duration: SUCCESS_ALERT_DURATION,\n message: t('explorer.massAction.deactivate_message'),\n description: t('explorer.massAction.deactivate_description', {\n count: data?.deactivateRecords.length,\n total,\n }),\n closable: true,\n });\n if (\n view.massSelection === MASS_SELECTION_ALL ||\n allVisibleKeys.every(key => view.massSelection.includes(key))\n ) {\n await refetch({\n pagination: {\n limit: view.pageSize,\n offset: 0,\n },\n });\n } else {\n await refetch();\n }\n onDeactivate?.(massSelectionFilter, view.massSelection);\n dispatch({\n type: ViewSettingsActionTypes.SET_SELECTED_KEYS,\n payload: [],\n });\n },\n });\n },\n }),\n [t, deactivateRecordsMutation, view.massSelection, dispatch, view.libraryId, allVisibleKeys, refetch],\n );\n\n return {\n deactivateMassAction: isEnabled ? _deactivateMassAction : null,\n };\n};\n"]}
1
+ {"version":3,"file":"useDeactivateMassAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-mass/useDeactivateMassAction.tsx"],"names":[],"mappings":"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","sourcesContent":["import {type Dispatch, useMemo} from 'react';\nimport {KitAlert} from 'aristid-ds';\nimport {useDeactivateRecordsMutation} from '_ui/_gqlTypes';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useConfirmModal} from '_ui/hooks/useConfirmModal/useConfirmModal';\nimport {type FeatureHook, type IMassActions} from '../_types';\nimport {type IViewSettingsAction, type IViewSettingsState, ViewSettingsActionTypes} from '../manage-view-settings';\nimport {MASS_SELECTION_ALL} from '../_constants';\nimport {type useExplorerData} from '../_queries/useExplorerData';\nimport {SUCCESS_ALERT_DURATION, BREAK_TWO_LINES} from '_ui/constants';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faTrash} from '@fortawesome/free-solid-svg-icons';\n\n/**\n * Hook used to get the action for mass actions only available on selection.\n *\n * When the mutation for deactivation is done, the Apollo cache will be clean (`Record` and `RecordIdentity`)\n * from deactivated record.\n *\n * @param isEnabled - whether the action is present\n * @param view - represent the current view\n * @param dispatch - method to change the current view\n * @param libraryId - concerned library\n * @param allVisibleKeys - list of all visible keys used to know if we need to change page\n * @param refetch - method to get fresh data when we delete last page\n */\nexport const useDeactivateMassAction = ({\n isEnabled,\n store: {view, dispatch},\n allVisibleKeys,\n totalCount,\n onDeactivate,\n refetch,\n}: FeatureHook<{\n store: {\n view: IViewSettingsState;\n dispatch: Dispatch<IViewSettingsAction>;\n };\n allVisibleKeys: string[];\n totalCount: number;\n onDeactivate?: IMassActions['callback'];\n refetch: ReturnType<typeof useExplorerData>['refetch'];\n}>) => {\n const {t} = useSharedTranslation();\n const {openConfirmModal} = useConfirmModal();\n\n const [deactivateRecordsMutation] = useDeactivateRecordsMutation();\n\n const _deactivateMassAction: IMassActions = useMemo(\n () => ({\n label: t('explorer.massAction.deactivate'),\n icon: <FontAwesomeIcon icon={faTrash} />,\n deselectAll: true,\n callback: massSelectionFilter => {\n openConfirmModal({\n title:\n t('explorer.deactivate_item', {\n count: view.massSelection === MASS_SELECTION_ALL ? Infinity : view.massSelection.length,\n }) ?? undefined,\n content:\n t('explorer.deactivate_item_description', {\n count: view.massSelection === MASS_SELECTION_ALL ? Infinity : view.massSelection.length,\n }) +\n BREAK_TWO_LINES +\n t('global.are_you_sure'),\n onOk: async () => {\n const {data} = await deactivateRecordsMutation({\n variables: {\n libraryId: view.libraryId,\n filters: massSelectionFilter,\n },\n });\n const total =\n view.massSelection === MASS_SELECTION_ALL ? totalCount : view.massSelection.length;\n KitAlert.success({\n showIcon: true,\n duration: SUCCESS_ALERT_DURATION,\n message: t('explorer.massAction.deactivate_message'),\n description: t('explorer.massAction.deactivate_description', {\n count: data?.deactivateRecords.length,\n total,\n }),\n closable: true,\n });\n if (\n view.massSelection === MASS_SELECTION_ALL ||\n allVisibleKeys.every(key => view.massSelection.includes(key))\n ) {\n await refetch({\n pagination: {\n limit: view.pageSize,\n offset: 0,\n },\n });\n } else {\n await refetch();\n }\n onDeactivate?.(massSelectionFilter, view.massSelection);\n dispatch({\n type: ViewSettingsActionTypes.SET_SELECTED_KEYS,\n payload: [],\n });\n },\n });\n },\n }),\n [t, deactivateRecordsMutation, view.massSelection, dispatch, view.libraryId, allVisibleKeys, refetch],\n );\n\n return {\n deactivateMassAction: isEnabled ? _deactivateMassAction : null,\n };\n};\n"]}
@@ -4,7 +4,7 @@ import { ViewSettingsActionTypes } from '../manage-view-settings';
4
4
  import { useMemo } from 'react';
5
5
  import { useExplorerData } from '../_queries/useExplorerData';
6
6
  import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
7
- import { useConfirmModal } from '../../../hooks/useConfirmModal';
7
+ import { useConfirmModal } from '../../../hooks/useConfirmModal/useConfirmModal';
8
8
  import { MASS_SELECTION_ALL } from '../_constants';
9
9
  import { BREAK_TWO_LINES } from '../../../constants';
10
10
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
@@ -1 +1 @@
1
- {"version":3,"file":"useDeleteLinkValues.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-mass/useDeleteLinkValues.tsx"],"names":[],"mappings":"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","sourcesContent":["import useSaveValueBatchMutation from '_ui/components/RecordEdition/EditRecordContent/hooks/useExecuteSaveValueBatchMutation';\nimport {type FeatureHook, type IEntrypointLink, type IMassActions} from '../_types';\nimport {type IViewSettingsAction, type IViewSettingsState, ViewSettingsActionTypes} from '../manage-view-settings';\nimport {type Dispatch, type Key, useMemo} from 'react';\nimport {useExplorerData} from '../_queries/useExplorerData';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useConfirmModal} from '_ui/hooks/useConfirmModal';\nimport {MASS_SELECTION_ALL} from '../_constants';\nimport {BREAK_TWO_LINES} from '_ui/constants';\nimport {type IValueToSubmit} from '_ui/components/RecordEdition/EditRecordContent/_types';\nimport {type IUIFiltersState} from '_ui/components/Filters/context/filtersReducer';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faTrash} from '@fortawesome/free-solid-svg-icons';\n\nexport const useDeleteLinkValues = ({\n isEnabled,\n store: {view, dispatch},\n filtersStore: {filters, filtersOperator},\n pagination,\n allVisibleKeys,\n onDelete,\n refetch,\n}: FeatureHook<{\n pagination: null | {limit: number; offset: number};\n store: {\n view: IViewSettingsState;\n dispatch: Dispatch<IViewSettingsAction>;\n };\n filtersStore: IUIFiltersState;\n allVisibleKeys: string[];\n onDelete?: IMassActions['callback'];\n refetch: ReturnType<typeof useExplorerData>['refetch'];\n}>) => {\n const {t} = useSharedTranslation();\n const {openConfirmModal} = useConfirmModal();\n const {saveValues} = useSaveValueBatchMutation();\n\n const isLink = view.entrypoint.type === 'link';\n const {data: linkData, canEditLinkAttributeValues: canUnlinkValues} = useExplorerData({\n entrypoint: view.entrypoint,\n libraryId: view.libraryId,\n attributeIds: view.attributesIds,\n fulltextSearch: view.fulltextSearch,\n pagination,\n sorts: view.sort,\n filtersOperator,\n filters,\n skip: !isLink,\n });\n\n const _unlinkMassAction: IMassActions = useMemo(\n () => ({\n label: t('explorer.massAction.deactivate'),\n icon: <FontAwesomeIcon icon={faTrash} />,\n deselectAll: true,\n callback: massSelectionFilter => {\n openConfirmModal({\n title:\n t('explorer.delete_link', {\n count: view.massSelection === MASS_SELECTION_ALL ? Infinity : view.massSelection.length,\n }) ?? undefined,\n content:\n t('explorer.delete_link_description', {\n count: view.massSelection === MASS_SELECTION_ALL ? Infinity : view.massSelection.length,\n }) +\n BREAK_TWO_LINES +\n t('global.are_you_sure'),\n okText: t('global.submit') ?? undefined,\n onOk: async () => {\n const entrypoint = view.entrypoint as IEntrypointLink;\n let values: IValueToSubmit[];\n if (\n view.massSelection === MASS_SELECTION_ALL ||\n allVisibleKeys.every(key => view.massSelection.includes(key))\n ) {\n values =\n (linkData?.records ?? []).map(({id_value}) => ({\n attribute: entrypoint.linkAttributeId,\n idValue: id_value ?? null,\n value: null,\n })) ?? [];\n } else {\n values = (linkData?.records ?? []).reduce<IValueToSubmit[]>((acc, {id_value, key}) => {\n if (view.massSelection.includes(key)) {\n acc.push({\n attribute: entrypoint.linkAttributeId,\n idValue: id_value ?? null,\n value: null,\n });\n }\n return acc;\n }, []);\n }\n\n if (values.length > 0) {\n await saveValues(\n {\n id: entrypoint.parentRecordId,\n library: {\n id: entrypoint.parentLibraryId,\n },\n },\n values,\n undefined,\n true,\n );\n\n onDelete?.(\n massSelectionFilter,\n values.map(({idValue}) => idValue as Key),\n );\n await refetch();\n }\n dispatch({\n type: ViewSettingsActionTypes.SET_SELECTED_KEYS,\n payload: [],\n });\n },\n });\n },\n }),\n [t, saveValues, view.massSelection, dispatch, view.libraryId, allVisibleKeys],\n );\n\n return {\n unlinkMassAction: isEnabled && canUnlinkValues ? _unlinkMassAction : null,\n };\n};\n"]}
1
+ {"version":3,"file":"useDeleteLinkValues.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-mass/useDeleteLinkValues.tsx"],"names":[],"mappings":"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","sourcesContent":["import useSaveValueBatchMutation from '_ui/components/RecordEdition/EditRecordContent/hooks/useExecuteSaveValueBatchMutation';\nimport {type FeatureHook, type IEntrypointLink, type IMassActions} from '../_types';\nimport {type IViewSettingsAction, type IViewSettingsState, ViewSettingsActionTypes} from '../manage-view-settings';\nimport {type Dispatch, type Key, useMemo} from 'react';\nimport {useExplorerData} from '../_queries/useExplorerData';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useConfirmModal} from '_ui/hooks/useConfirmModal/useConfirmModal';\nimport {MASS_SELECTION_ALL} from '../_constants';\nimport {BREAK_TWO_LINES} from '_ui/constants';\nimport {type IValueToSubmit} from '_ui/components/RecordEdition/EditRecordContent/_types';\nimport {type IUIFiltersState} from '_ui/components/Filters/context/filtersReducer';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faTrash} from '@fortawesome/free-solid-svg-icons';\n\nexport const useDeleteLinkValues = ({\n isEnabled,\n store: {view, dispatch},\n filtersStore: {filters, filtersOperator},\n pagination,\n allVisibleKeys,\n onDelete,\n refetch,\n}: FeatureHook<{\n pagination: null | {limit: number; offset: number};\n store: {\n view: IViewSettingsState;\n dispatch: Dispatch<IViewSettingsAction>;\n };\n filtersStore: IUIFiltersState;\n allVisibleKeys: string[];\n onDelete?: IMassActions['callback'];\n refetch: ReturnType<typeof useExplorerData>['refetch'];\n}>) => {\n const {t} = useSharedTranslation();\n const {openConfirmModal} = useConfirmModal();\n const {saveValues} = useSaveValueBatchMutation();\n\n const isLink = view.entrypoint.type === 'link';\n const {data: linkData, canEditLinkAttributeValues: canUnlinkValues} = useExplorerData({\n entrypoint: view.entrypoint,\n libraryId: view.libraryId,\n attributeIds: view.attributesIds,\n fulltextSearch: view.fulltextSearch,\n pagination,\n sorts: view.sort,\n filtersOperator,\n filters,\n skip: !isLink,\n });\n\n const _unlinkMassAction: IMassActions = useMemo(\n () => ({\n label: t('explorer.massAction.deactivate'),\n icon: <FontAwesomeIcon icon={faTrash} />,\n deselectAll: true,\n callback: massSelectionFilter => {\n openConfirmModal({\n title:\n t('explorer.delete_link', {\n count: view.massSelection === MASS_SELECTION_ALL ? Infinity : view.massSelection.length,\n }) ?? undefined,\n content:\n t('explorer.delete_link_description', {\n count: view.massSelection === MASS_SELECTION_ALL ? Infinity : view.massSelection.length,\n }) +\n BREAK_TWO_LINES +\n t('global.are_you_sure'),\n okText: t('global.submit') ?? undefined,\n onOk: async () => {\n const entrypoint = view.entrypoint as IEntrypointLink;\n let values: IValueToSubmit[];\n if (\n view.massSelection === MASS_SELECTION_ALL ||\n allVisibleKeys.every(key => view.massSelection.includes(key))\n ) {\n values =\n (linkData?.records ?? []).map(({id_value}) => ({\n attribute: entrypoint.linkAttributeId,\n idValue: id_value ?? null,\n value: null,\n })) ?? [];\n } else {\n values = (linkData?.records ?? []).reduce<IValueToSubmit[]>((acc, {id_value, key}) => {\n if (view.massSelection.includes(key)) {\n acc.push({\n attribute: entrypoint.linkAttributeId,\n idValue: id_value ?? null,\n value: null,\n });\n }\n return acc;\n }, []);\n }\n\n if (values.length > 0) {\n await saveValues(\n {\n id: entrypoint.parentRecordId,\n library: {\n id: entrypoint.parentLibraryId,\n },\n },\n values,\n undefined,\n true,\n );\n\n onDelete?.(\n massSelectionFilter,\n values.map(({idValue}) => idValue as Key),\n );\n await refetch();\n }\n dispatch({\n type: ViewSettingsActionTypes.SET_SELECTED_KEYS,\n payload: [],\n });\n },\n });\n },\n }),\n [t, saveValues, view.massSelection, dispatch, view.libraryId, allVisibleKeys],\n );\n\n return {\n unlinkMassAction: isEnabled && canUnlinkValues ? _unlinkMassAction : null,\n };\n};\n"]}
@@ -3,7 +3,7 @@ import { localizedTranslation } from '@leav/utils';
3
3
  import { Form, Space } from 'antd';
4
4
  import { KitSelect } from 'aristid-ds';
5
5
  import styled from 'styled-components';
6
- import useLang from '../../../../hooks/useLang';
6
+ import useLang from '../../../../hooks/useLang/useLang';
7
7
  import { useSharedTranslation } from '../../../../hooks/useSharedTranslation';
8
8
  import { AttributeType, ImportMode, ImportType, } from '../../../../_gqlTypes';
9
9
  import { useImportReducerContext } from '../../importReducer/ImportReducerContext';
@@ -1 +1 @@
1
- {"version":3,"file":"ImportSheetSettings.js","sourceRoot":"","sources":["../../../../../src/components/ImportModal/ImportModalConfigStep/ImportSheetSettings/ImportSheetSettings.tsx"],"names":[],"mappings":"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","sourcesContent":["import {localizedTranslation} from '@leav/utils';\nimport {Form, Space} from 'antd';\nimport {KitSelect} from 'aristid-ds';\nimport styled from 'styled-components';\nimport useLang from '_ui/hooks/useLang';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n type AttributesByLibAttributeFragment,\n type AttributesByLibAttributeTreeAttributeFragment,\n AttributeType,\n ImportMode,\n ImportType,\n type LibraryLightFragment,\n} from '_ui/_gqlTypes';\nimport {useImportReducerContext} from '../../importReducer/ImportReducerContext';\n\ninterface IImportSettingsProps {\n sheetIndex: number;\n libraries: LibraryLightFragment[];\n onLibrarySelect: (sheetIndex: number, library: string) => void;\n onImportTypeSelect: (sheetIndex: number, type: ImportType) => void;\n onImportModeSelect: (sheetIndex: number, mode: ImportMode) => void;\n onLinkAttributeSelect: (sheetIndex: number, attribute: string) => void;\n onTreeLinkLibrarySelect: (sheetIndex: number, library: string) => void;\n}\n\nconst isLinkAttribute = (attribute: AttributesByLibAttributeFragment): boolean =>\n attribute.type === AttributeType.simple_link ||\n attribute.type === AttributeType.advanced_link ||\n attribute.type === AttributeType.tree;\n\nconst SettingsWrapper = styled(Space)`\n && .ant-form-item-label {\n padding: 0;\n font-weight: bold;\n }\n`;\n\nfunction ImportSheetSettings({\n sheetIndex,\n libraries,\n onLibrarySelect,\n onImportTypeSelect,\n onImportModeSelect,\n onLinkAttributeSelect,\n onTreeLinkLibrarySelect,\n}: IImportSettingsProps): JSX.Element {\n const {lang} = useLang();\n const {t} = useSharedTranslation();\n const {state} = useImportReducerContext();\n const sheet = state.sheets[sheetIndex];\n const isSheetIgnored = sheet.type === ImportType.IGNORE;\n\n const selectTreeLinkLibraryOptions =\n sheet.type === ImportType.LINK && sheet.linkAttributeProps?.type === AttributeType.tree\n ? (\n (sheet.linkAttributeProps as AttributesByLibAttributeTreeAttributeFragment)?.linked_tree?.libraries ??\n []\n ).map(treeLib => ({\n key: treeLib.library.id,\n value: treeLib.library.id,\n label: localizedTranslation(treeLib.library.label, lang),\n }))\n : null;\n\n const typeOptions = Object.values(ImportType).map(type => ({\n key: type,\n value: type,\n label: t(`import.types.${type}`),\n }));\n\n const modeOptions = Object.values(ImportMode).map(mode => ({\n key: mode,\n value: mode,\n label: t(`import.modes.${mode}`),\n }));\n\n const librariesOptions = libraries.map(l => ({\n key: l.id,\n value: l.id,\n label: localizedTranslation(l.label, lang) || l.id,\n }));\n\n const linkAttributeOptions = sheet.attributes.filter(isLinkAttribute).map(a => ({\n key: a.id,\n value: a.id,\n label: localizedTranslation(a.label, lang) || a.id,\n }));\n\n return (\n <Form layout=\"vertical\">\n <SettingsWrapper direction=\"horizontal\" size=\"middle\" wrap>\n <Form.Item label={t('import.type')} required>\n <KitSelect\n style={{minWidth: 200}}\n defaultValue={sheet.type}\n placeholder={t('import.select_type')}\n onChange={value => onImportTypeSelect(sheetIndex, value)}\n options={typeOptions}\n />\n </Form.Item>\n {!isSheetIgnored && (\n <>\n <Form.Item label={t('import.mode')} required>\n <KitSelect\n style={{minWidth: 240}}\n defaultValue={sheet.mode}\n placeholder={t('import.select_mode')}\n onChange={value => onImportModeSelect(sheetIndex, value)}\n options={modeOptions}\n />\n </Form.Item>\n <Form.Item label={t('import.library')} required>\n <KitSelect\n style={{minWidth: 200}}\n defaultValue={sheet.library ?? state.defaultLibrary}\n placeholder={t('import.select_library')}\n onChange={value => onLibrarySelect(sheetIndex, value)}\n options={librariesOptions}\n />\n </Form.Item>\n {sheet.type === ImportType.LINK && sheet.library && (\n <Form.Item label={t('import.link_attribute')} required>\n <KitSelect\n style={{minWidth: 200}}\n defaultValue={sheet.linkAttribute}\n value={sheet.linkAttribute}\n placeholder={t('import.select_link_attribute')}\n onChange={value => onLinkAttributeSelect(sheetIndex, value)}\n options={linkAttributeOptions}\n />\n </Form.Item>\n )}\n {sheet.type === ImportType.LINK && sheet.linkAttributeProps?.type === AttributeType.tree && (\n <Form.Item label={t('import.tree_link_library')} required>\n <KitSelect\n style={{minWidth: 200}}\n value={sheet.treeLinkLibrary}\n placeholder={t('import.select_library')}\n onChange={value => onTreeLinkLibrarySelect(sheetIndex, value)}\n options={selectTreeLinkLibraryOptions}\n />\n </Form.Item>\n )}\n </>\n )}\n </SettingsWrapper>\n </Form>\n );\n}\n\nexport default ImportSheetSettings;\n"]}
1
+ {"version":3,"file":"ImportSheetSettings.js","sourceRoot":"","sources":["../../../../../src/components/ImportModal/ImportModalConfigStep/ImportSheetSettings/ImportSheetSettings.tsx"],"names":[],"mappings":"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","sourcesContent":["import {localizedTranslation} from '@leav/utils';\nimport {Form, Space} from 'antd';\nimport {KitSelect} from 'aristid-ds';\nimport styled from 'styled-components';\nimport useLang from '_ui/hooks/useLang/useLang';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n type AttributesByLibAttributeFragment,\n type AttributesByLibAttributeTreeAttributeFragment,\n AttributeType,\n ImportMode,\n ImportType,\n type LibraryLightFragment,\n} from '_ui/_gqlTypes';\nimport {useImportReducerContext} from '../../importReducer/ImportReducerContext';\n\ninterface IImportSettingsProps {\n sheetIndex: number;\n libraries: LibraryLightFragment[];\n onLibrarySelect: (sheetIndex: number, library: string) => void;\n onImportTypeSelect: (sheetIndex: number, type: ImportType) => void;\n onImportModeSelect: (sheetIndex: number, mode: ImportMode) => void;\n onLinkAttributeSelect: (sheetIndex: number, attribute: string) => void;\n onTreeLinkLibrarySelect: (sheetIndex: number, library: string) => void;\n}\n\nconst isLinkAttribute = (attribute: AttributesByLibAttributeFragment): boolean =>\n attribute.type === AttributeType.simple_link ||\n attribute.type === AttributeType.advanced_link ||\n attribute.type === AttributeType.tree;\n\nconst SettingsWrapper = styled(Space)`\n && .ant-form-item-label {\n padding: 0;\n font-weight: bold;\n }\n`;\n\nfunction ImportSheetSettings({\n sheetIndex,\n libraries,\n onLibrarySelect,\n onImportTypeSelect,\n onImportModeSelect,\n onLinkAttributeSelect,\n onTreeLinkLibrarySelect,\n}: IImportSettingsProps): JSX.Element {\n const {lang} = useLang();\n const {t} = useSharedTranslation();\n const {state} = useImportReducerContext();\n const sheet = state.sheets[sheetIndex];\n const isSheetIgnored = sheet.type === ImportType.IGNORE;\n\n const selectTreeLinkLibraryOptions =\n sheet.type === ImportType.LINK && sheet.linkAttributeProps?.type === AttributeType.tree\n ? (\n (sheet.linkAttributeProps as AttributesByLibAttributeTreeAttributeFragment)?.linked_tree?.libraries ??\n []\n ).map(treeLib => ({\n key: treeLib.library.id,\n value: treeLib.library.id,\n label: localizedTranslation(treeLib.library.label, lang),\n }))\n : null;\n\n const typeOptions = Object.values(ImportType).map(type => ({\n key: type,\n value: type,\n label: t(`import.types.${type}`),\n }));\n\n const modeOptions = Object.values(ImportMode).map(mode => ({\n key: mode,\n value: mode,\n label: t(`import.modes.${mode}`),\n }));\n\n const librariesOptions = libraries.map(l => ({\n key: l.id,\n value: l.id,\n label: localizedTranslation(l.label, lang) || l.id,\n }));\n\n const linkAttributeOptions = sheet.attributes.filter(isLinkAttribute).map(a => ({\n key: a.id,\n value: a.id,\n label: localizedTranslation(a.label, lang) || a.id,\n }));\n\n return (\n <Form layout=\"vertical\">\n <SettingsWrapper direction=\"horizontal\" size=\"middle\" wrap>\n <Form.Item label={t('import.type')} required>\n <KitSelect\n style={{minWidth: 200}}\n defaultValue={sheet.type}\n placeholder={t('import.select_type')}\n onChange={value => onImportTypeSelect(sheetIndex, value)}\n options={typeOptions}\n />\n </Form.Item>\n {!isSheetIgnored && (\n <>\n <Form.Item label={t('import.mode')} required>\n <KitSelect\n style={{minWidth: 240}}\n defaultValue={sheet.mode}\n placeholder={t('import.select_mode')}\n onChange={value => onImportModeSelect(sheetIndex, value)}\n options={modeOptions}\n />\n </Form.Item>\n <Form.Item label={t('import.library')} required>\n <KitSelect\n style={{minWidth: 200}}\n defaultValue={sheet.library ?? state.defaultLibrary}\n placeholder={t('import.select_library')}\n onChange={value => onLibrarySelect(sheetIndex, value)}\n options={librariesOptions}\n />\n </Form.Item>\n {sheet.type === ImportType.LINK && sheet.library && (\n <Form.Item label={t('import.link_attribute')} required>\n <KitSelect\n style={{minWidth: 200}}\n defaultValue={sheet.linkAttribute}\n value={sheet.linkAttribute}\n placeholder={t('import.select_link_attribute')}\n onChange={value => onLinkAttributeSelect(sheetIndex, value)}\n options={linkAttributeOptions}\n />\n </Form.Item>\n )}\n {sheet.type === ImportType.LINK && sheet.linkAttributeProps?.type === AttributeType.tree && (\n <Form.Item label={t('import.tree_link_library')} required>\n <KitSelect\n style={{minWidth: 200}}\n value={sheet.treeLinkLibrary}\n placeholder={t('import.select_library')}\n onChange={value => onTreeLinkLibrarySelect(sheetIndex, value)}\n options={selectTreeLinkLibraryOptions}\n />\n </Form.Item>\n )}\n </>\n )}\n </SettingsWrapper>\n </Form>\n );\n}\n\nexport default ImportSheetSettings;\n"]}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { localizedTranslation } from '@leav/utils';
3
- import useLang from '../../hooks/useLang';
3
+ import useLang from '../../hooks/useLang/useLang';
4
4
  import { PreviewSize } from '../../constants';
5
5
  import { EntityCard } from '../EntityCard';
6
6
  const _getPreviewBySize = (preview, size) => {
@@ -1 +1 @@
1
- {"version":3,"file":"RecordCard.js","sourceRoot":"","sources":["../../../src/components/RecordCard/RecordCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AACjD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAC,UAAU,EAAmB,MAAM,eAAe,CAAC;AAG3D,MAAM,iBAAiB,GAAG,CAAC,OAA0C,EAAE,IAAkB,EAAE,EAAE;IACzF,MAAM,qBAAqB,GAAoC;QAC3D,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM;QAC1B,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM;QAC3B,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO;QAC7B,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,QAAQ;KAC9B,CAAC;IAEF,MAAM,WAAW,GAAW,CAAC,OAAO,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,OAAO,EAAE,KAAK,CAAW,CAAC;IAEjG,OAAO,WAAW,IAAI,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,EAChB,MAAM,EACN,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,IAAI,EACJ,WAAW,GAAG,IAAI,EAClB,WAAW,GAAG,IAAI,EAClB,SAAS,GAAG,IAAI,EAChB,IAAI,GAAG,KAAK,EACZ,UAAU,GAAG,KAAK,GACH,EAAe,EAAE;IAChC,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,OAAO,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ;QAC5B,CAAC,CAAC,MAAM,CAAC,QAAQ;QACjB,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;IAE1F,MAAM,cAAc,GAAgB;QAChC,KAAK;QACL,QAAQ;QACR,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;QAChD,KAAK,EAAE,MAAM,CAAC,KAAK;KACtB,CAAC;IAEF,OAAO,CACH,KAAC,UAAU,IACP,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,WAAW,EACzB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,GAC5B,CACL,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["import {localizedTranslation} from '@leav/utils';\nimport useLang from '_ui/hooks/useLang';\nimport {PreviewSize} from '../../constants';\nimport {type IRecordIdentityWhoAmI} from '../../types/records';\nimport {EntityCard, type IEntityData} from '../EntityCard';\nimport {type IRecordCardProps} from './_types';\n\nconst _getPreviewBySize = (preview?: IRecordIdentityWhoAmI['preview'], size?: PreviewSize) => {\n const fileSizeByPreviewSize: {[size in PreviewSize]: string} = {\n [PreviewSize.TINY]: 'tiny',\n [PreviewSize.SMALL]: 'tiny',\n [PreviewSize.MEDIUM]: 'small',\n [PreviewSize.BIG]: 'medium',\n };\n\n const previewPath: string = (preview?.[fileSizeByPreviewSize[size]] ?? preview?.small) as string;\n\n return previewPath ?? '';\n};\n\nconst RecordCard = ({\n record,\n size,\n style,\n previewStyle,\n lang,\n withPreview = true,\n withLibrary = true,\n withColor = true,\n tile = false,\n simplistic = false,\n}: IRecordCardProps): JSX.Element => {\n const {lang: userLang} = useLang();\n const label = record.label || record.id;\n const subLabel = record.subLabel\n ? record.subLabel\n : localizedTranslation(record.library?.label, lang ?? userLang) || record.library?.id;\n\n const recordIdentity: IEntityData = {\n label,\n subLabel,\n preview: _getPreviewBySize(record.preview, size),\n color: record.color,\n };\n\n return (\n <EntityCard\n entity={recordIdentity}\n style={style}\n size={size}\n withPreview={withPreview}\n withSubLabel={withLibrary}\n tile={tile}\n simplistic={simplistic}\n withColor={withColor}\n previewStyle={previewStyle}\n />\n );\n};\n\nexport default RecordCard;\n"]}
1
+ {"version":3,"file":"RecordCard.js","sourceRoot":"","sources":["../../../src/components/RecordCard/RecordCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AACjD,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAC,UAAU,EAAmB,MAAM,eAAe,CAAC;AAG3D,MAAM,iBAAiB,GAAG,CAAC,OAA0C,EAAE,IAAkB,EAAE,EAAE;IACzF,MAAM,qBAAqB,GAAoC;QAC3D,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM;QAC1B,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM;QAC3B,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO;QAC7B,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,QAAQ;KAC9B,CAAC;IAEF,MAAM,WAAW,GAAW,CAAC,OAAO,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,OAAO,EAAE,KAAK,CAAW,CAAC;IAEjG,OAAO,WAAW,IAAI,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,EAChB,MAAM,EACN,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,IAAI,EACJ,WAAW,GAAG,IAAI,EAClB,WAAW,GAAG,IAAI,EAClB,SAAS,GAAG,IAAI,EAChB,IAAI,GAAG,KAAK,EACZ,UAAU,GAAG,KAAK,GACH,EAAe,EAAE;IAChC,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,OAAO,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ;QAC5B,CAAC,CAAC,MAAM,CAAC,QAAQ;QACjB,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;IAE1F,MAAM,cAAc,GAAgB;QAChC,KAAK;QACL,QAAQ;QACR,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;QAChD,KAAK,EAAE,MAAM,CAAC,KAAK;KACtB,CAAC;IAEF,OAAO,CACH,KAAC,UAAU,IACP,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,WAAW,EACzB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,GAC5B,CACL,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["import {localizedTranslation} from '@leav/utils';\nimport useLang from '_ui/hooks/useLang/useLang';\nimport {PreviewSize} from '../../constants';\nimport {type IRecordIdentityWhoAmI} from '../../types/records';\nimport {EntityCard, type IEntityData} from '../EntityCard';\nimport {type IRecordCardProps} from './_types';\n\nconst _getPreviewBySize = (preview?: IRecordIdentityWhoAmI['preview'], size?: PreviewSize) => {\n const fileSizeByPreviewSize: {[size in PreviewSize]: string} = {\n [PreviewSize.TINY]: 'tiny',\n [PreviewSize.SMALL]: 'tiny',\n [PreviewSize.MEDIUM]: 'small',\n [PreviewSize.BIG]: 'medium',\n };\n\n const previewPath: string = (preview?.[fileSizeByPreviewSize[size]] ?? preview?.small) as string;\n\n return previewPath ?? '';\n};\n\nconst RecordCard = ({\n record,\n size,\n style,\n previewStyle,\n lang,\n withPreview = true,\n withLibrary = true,\n withColor = true,\n tile = false,\n simplistic = false,\n}: IRecordCardProps): JSX.Element => {\n const {lang: userLang} = useLang();\n const label = record.label || record.id;\n const subLabel = record.subLabel\n ? record.subLabel\n : localizedTranslation(record.library?.label, lang ?? userLang) || record.library?.id;\n\n const recordIdentity: IEntityData = {\n label,\n subLabel,\n preview: _getPreviewBySize(record.preview, size),\n color: record.color,\n };\n\n return (\n <EntityCard\n entity={recordIdentity}\n style={style}\n size={size}\n withPreview={withPreview}\n withSubLabel={withLibrary}\n tile={tile}\n simplistic={simplistic}\n withColor={withColor}\n previewStyle={previewStyle}\n />\n );\n};\n\nexport default RecordCard;\n"]}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useSharedTranslation } from '../../../../../hooks/useSharedTranslation';
3
- import { useConfirmModal } from '../../../../../hooks/useConfirmModal';
3
+ import { useConfirmModal } from '../../../../../hooks/useConfirmModal/useConfirmModal';
4
4
  import { KitButton } from 'aristid-ds';
5
5
  export const DeleteAllValuesButton = ({ handleDelete, disabled, danger, }) => {
6
6
  const { t } = useSharedTranslation();
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteAllValuesButton.js","sourceRoot":"","sources":["../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/shared/DeleteAllValuesButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AASrC,MAAM,CAAC,MAAM,qBAAqB,GAAmD,CAAC,EAClF,YAAY,EACZ,QAAQ,EACR,MAAM,GACT,EAAE,EAAE;IACD,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,EAAC,gBAAgB,EAAC,GAAG,eAAe,EAAE,CAAC;IAE7C,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACjC,gBAAgB,CAAC;YACb,KAAK,EAAE,CAAC,CAAC,kCAAkC,CAAC;YAC5C,OAAO,EAAE,CAAC,CAAC,0CAA0C,CAAC;YACtD,aAAa,EAAE,IAAI;YACnB,IAAI,EAAE,YAAY;SACrB,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,SAAS,IAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YACnG,CAAC,CAAC,2BAA2B,CAAC,GACvB,CACf,CAAC;AACN,CAAC,CAAC","sourcesContent":["import {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useConfirmModal} from '_ui/hooks/useConfirmModal';\nimport {KitButton} from 'aristid-ds';\nimport {type FunctionComponent} from 'react';\n\ninterface IDeleteAllValuesButtonProps {\n handleDelete: () => void;\n disabled?: boolean;\n danger?: boolean;\n}\n\nexport const DeleteAllValuesButton: FunctionComponent<IDeleteAllValuesButtonProps> = ({\n handleDelete,\n disabled,\n danger,\n}) => {\n const {t} = useSharedTranslation();\n const {openConfirmModal} = useConfirmModal();\n\n const _confirmDeleteAllValues = () => {\n openConfirmModal({\n title: t('record_edition.delete_all_values'),\n content: t('record_edition.delete_all_values_confirm'),\n dangerConfirm: true,\n onOk: handleDelete,\n });\n };\n\n return (\n <KitButton type=\"tertiary\" size=\"s\" onClick={_confirmDeleteAllValues} disabled={disabled} danger={danger}>\n {t('record_edition.delete_all')}\n </KitButton>\n );\n};\n"]}
1
+ {"version":3,"file":"DeleteAllValuesButton.js","sourceRoot":"","sources":["../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/shared/DeleteAllValuesButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,eAAe,EAAC,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AASrC,MAAM,CAAC,MAAM,qBAAqB,GAAmD,CAAC,EAClF,YAAY,EACZ,QAAQ,EACR,MAAM,GACT,EAAE,EAAE;IACD,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,EAAC,gBAAgB,EAAC,GAAG,eAAe,EAAE,CAAC;IAE7C,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACjC,gBAAgB,CAAC;YACb,KAAK,EAAE,CAAC,CAAC,kCAAkC,CAAC;YAC5C,OAAO,EAAE,CAAC,CAAC,0CAA0C,CAAC;YACtD,aAAa,EAAE,IAAI;YACnB,IAAI,EAAE,YAAY;SACrB,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,SAAS,IAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YACnG,CAAC,CAAC,2BAA2B,CAAC,GACvB,CACf,CAAC;AACN,CAAC,CAAC","sourcesContent":["import {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useConfirmModal} from '_ui/hooks/useConfirmModal/useConfirmModal';\nimport {KitButton} from 'aristid-ds';\nimport {type FunctionComponent} from 'react';\n\ninterface IDeleteAllValuesButtonProps {\n handleDelete: () => void;\n disabled?: boolean;\n danger?: boolean;\n}\n\nexport const DeleteAllValuesButton: FunctionComponent<IDeleteAllValuesButtonProps> = ({\n handleDelete,\n disabled,\n danger,\n}) => {\n const {t} = useSharedTranslation();\n const {openConfirmModal} = useConfirmModal();\n\n const _confirmDeleteAllValues = () => {\n openConfirmModal({\n title: t('record_edition.delete_all_values'),\n content: t('record_edition.delete_all_values_confirm'),\n dangerConfirm: true,\n onOk: handleDelete,\n });\n };\n\n return (\n <KitButton type=\"tertiary\" size=\"s\" onClick={_confirmDeleteAllValues} disabled={disabled} danger={danger}>\n {t('record_edition.delete_all')}\n </KitButton>\n );\n};\n"]}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { KitSpace, KitTypography } from 'aristid-ds';
3
3
  import { useSharedTranslation } from '../../../../hooks/useSharedTranslation';
4
- import { useConfirmModal } from '../../../../hooks/useConfirmModal';
4
+ import { useConfirmModal } from '../../../../hooks/useConfirmModal/useConfirmModal';
5
5
  export const useCreateCancelConfirm = onConfirm => {
6
6
  const { t } = useSharedTranslation();
7
7
  const { openConfirmModal } = useConfirmModal();
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateCancelConfirm.js","sourceRoot":"","sources":["../../../../../src/components/RecordEdition/hooks/useCreateCancelConfirm/useCreateCancelConfirm.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AACnD,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAI1D,MAAM,CAAC,MAAM,sBAAsB,GAA+B,SAAS,CAAC,EAAE;IAC1E,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,EAAC,gBAAgB,EAAC,GAAG,eAAe,EAAE,CAAC;IAE7C,MAAM,cAAc,GAAG,CACnB,MAAC,QAAQ,IAAC,SAAS,EAAC,UAAU,aAC1B,yBAAO,CAAC,CAAC,6CAA6C,CAAC,GAAQ,EAC/D,KAAC,aAAa,CAAC,IAAI,IAAC,MAAM,EAAC,QAAQ,YAAE,CAAC,CAAC,8CAA8C,CAAC,GAAsB,IACrG,CACd,CAAC;IAEF,OAAO,GAAG,EAAE;QACR,gBAAgB,CAAC;YACb,KAAK,EAAE,CAAC,CAAC,2CAA2C,CAAC;YACrD,OAAO,EAAE,cAAc;YACvB,aAAa,EAAE,IAAI;YACnB,IAAI,EAAE,SAAS;SAClB,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC,CAAC","sourcesContent":["import {KitSpace, KitTypography} from 'aristid-ds';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useConfirmModal} from '_ui/hooks/useConfirmModal';\n\nexport type UseCreateCancelConfirmHook = (onConfirm: () => void) => () => void;\n\nexport const useCreateCancelConfirm: UseCreateCancelConfirmHook = onConfirm => {\n const {t} = useSharedTranslation();\n const {openConfirmModal} = useConfirmModal();\n\n const confirmContent = (\n <KitSpace direction=\"vertical\">\n <span>{t('record_edition.cancel_confirm_modal_content')}</span>\n <KitTypography.Text weight=\"medium\">{t('record_edition.cancel_confirm_modal_question')}</KitTypography.Text>\n </KitSpace>\n );\n\n return () => {\n openConfirmModal({\n title: t('record_edition.cancel_confirm_modal_title'),\n content: confirmContent,\n dangerConfirm: true,\n onOk: onConfirm,\n });\n };\n};\n"]}
1
+ {"version":3,"file":"useCreateCancelConfirm.js","sourceRoot":"","sources":["../../../../../src/components/RecordEdition/hooks/useCreateCancelConfirm/useCreateCancelConfirm.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AACnD,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,eAAe,EAAC,MAAM,2CAA2C,CAAC;AAI1E,MAAM,CAAC,MAAM,sBAAsB,GAA+B,SAAS,CAAC,EAAE;IAC1E,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,EAAC,gBAAgB,EAAC,GAAG,eAAe,EAAE,CAAC;IAE7C,MAAM,cAAc,GAAG,CACnB,MAAC,QAAQ,IAAC,SAAS,EAAC,UAAU,aAC1B,yBAAO,CAAC,CAAC,6CAA6C,CAAC,GAAQ,EAC/D,KAAC,aAAa,CAAC,IAAI,IAAC,MAAM,EAAC,QAAQ,YAAE,CAAC,CAAC,8CAA8C,CAAC,GAAsB,IACrG,CACd,CAAC;IAEF,OAAO,GAAG,EAAE;QACR,gBAAgB,CAAC;YACb,KAAK,EAAE,CAAC,CAAC,2CAA2C,CAAC;YACrD,OAAO,EAAE,cAAc;YACvB,aAAa,EAAE,IAAI;YACnB,IAAI,EAAE,SAAS;SAClB,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC,CAAC","sourcesContent":["import {KitSpace, KitTypography} from 'aristid-ds';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useConfirmModal} from '_ui/hooks/useConfirmModal/useConfirmModal';\n\nexport type UseCreateCancelConfirmHook = (onConfirm: () => void) => () => void;\n\nexport const useCreateCancelConfirm: UseCreateCancelConfirmHook = onConfirm => {\n const {t} = useSharedTranslation();\n const {openConfirmModal} = useConfirmModal();\n\n const confirmContent = (\n <KitSpace direction=\"vertical\">\n <span>{t('record_edition.cancel_confirm_modal_content')}</span>\n <KitTypography.Text weight=\"medium\">{t('record_edition.cancel_confirm_modal_question')}</KitTypography.Text>\n </KitSpace>\n );\n\n return () => {\n openConfirmModal({\n title: t('record_edition.cancel_confirm_modal_title'),\n content: confirmContent,\n dangerConfirm: true,\n onOk: onConfirm,\n });\n };\n};\n"]}
@@ -3,7 +3,7 @@ import { localizedTranslation } from '@leav/utils';
3
3
  import { useSharedTranslation } from '../../hooks/useSharedTranslation';
4
4
  import { useTreeDataQueryQuery, } from '../../_gqlTypes';
5
5
  import { ErrorDisplay } from '../..';
6
- import useLang from '../../hooks/useLang';
6
+ import useLang from '../../hooks/useLang/useLang';
7
7
  import { SelectTreeNodeContent } from './SelectTreeNodeContent';
8
8
  import { SelectTreeNodeContentSkeleton } from './SelectTreeNodeContentSkeleton';
9
9
  export const SelectTreeNode = ({ treeId, childrenAsRecordValuePermissionFilter, dependentValuesPermissionFilter, onSelect, onCheck, selectedNodes, disabledNodes, selectableLibraries, multiple = false, checkStrictly = true, checkable = false, canSelectRoot = false, showSelectChildrenButton = false, }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"SelectTreeNode.js","sourceRoot":"","sources":["../../../src/components/SelectTreeNode/SelectTreeNode.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAGH,qBAAqB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,YAAY,EAAC,MAAM,OAAO,CAAC;AACnC,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAE1C,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,6BAA6B,EAAC,MAAM,iCAAiC,CAAC;AAkB9E,MAAM,CAAC,MAAM,cAAc,GAA4C,CAAC,EACpE,MAAM,EACN,qCAAqC,EACrC,+BAA+B,EAC/B,QAAQ,EACR,OAAO,EACP,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,QAAQ,GAAG,KAAK,EAChB,aAAa,GAAG,IAAI,EACpB,SAAS,GAAG,KAAK,EACjB,aAAa,GAAG,KAAK,EACrB,wBAAwB,GAAG,KAAK,GACnC,EAAE,EAAE;IACD,MAAM,EAAC,IAAI,EAAC,GAAG,OAAO,EAAE,CAAC;IACzB,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,EAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,qBAAqB,CAAC;QACjD,SAAS,EAAE,EAAC,MAAM,EAAC;KACtB,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,KAAC,6BAA6B,KAAG,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,KAAC,YAAY,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,KAAC,YAAY,IAAC,OAAO,EAAE,CAAC,CAAC,oBAAoB,EAAE,EAAC,MAAM,EAAC,CAAC,GAAI,CAAC;IACxE,CAAC;IAED,OAAO,CACH,KAAC,qBAAqB,IAClB,QAAQ,EAAE,EAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,EAAC,EAC7F,qCAAqC,EAAE,qCAAqC,EAC5E,+BAA+B,EAAE,+BAA+B,EAChE,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,wBAAwB,EAAE,wBAAwB,GACpD,CACL,CAAC;AACN,CAAC,CAAC","sourcesContent":["import {localizedTranslation} from '@leav/utils';\nimport {type FunctionComponent} from 'react';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n type ChildrenAsRecordValuePermissionFilterInput,\n type DependentValuesPermissionFilterInput,\n useTreeDataQueryQuery,\n} from '_ui/_gqlTypes';\nimport {ErrorDisplay} from '../..';\nimport useLang from '../../hooks/useLang';\nimport {type ITreeNodeWithRecord} from '../../types/trees';\nimport {SelectTreeNodeContent} from './SelectTreeNodeContent';\nimport {SelectTreeNodeContentSkeleton} from './SelectTreeNodeContentSkeleton';\n\ninterface ISelectTreeNodeProps {\n treeId: string;\n childrenAsRecordValuePermissionFilter?: ChildrenAsRecordValuePermissionFilterInput;\n dependentValuesPermissionFilter?: DependentValuesPermissionFilterInput;\n onSelect: (node: ITreeNodeWithRecord, selected: boolean) => void;\n onCheck?: (selection: ITreeNodeWithRecord[]) => void;\n selectedNodes?: string[];\n disabledNodes?: string[];\n selectableLibraries?: string[]; // all by default\n multiple?: boolean;\n checkStrictly?: boolean;\n checkable?: boolean;\n canSelectRoot?: boolean;\n showSelectChildrenButton?: boolean;\n}\n\nexport const SelectTreeNode: FunctionComponent<ISelectTreeNodeProps> = ({\n treeId,\n childrenAsRecordValuePermissionFilter,\n dependentValuesPermissionFilter,\n onSelect,\n onCheck,\n selectedNodes,\n disabledNodes,\n selectableLibraries,\n multiple = false,\n checkStrictly = true,\n checkable = false,\n canSelectRoot = false,\n showSelectChildrenButton = false,\n}) => {\n const {lang} = useLang();\n const {t} = useSharedTranslation();\n const {loading, error, data} = useTreeDataQueryQuery({\n variables: {treeId},\n });\n\n if (loading) {\n return <SelectTreeNodeContentSkeleton />;\n }\n\n if (error) {\n return <ErrorDisplay message={error.message} />;\n }\n\n if (!data?.trees.list[0]) {\n return <ErrorDisplay message={t('error.unknown_tree', {treeId})} />;\n }\n\n return (\n <SelectTreeNodeContent\n treeData={{id: treeId, label: localizedTranslation(data.trees.list[0].label, lang) || treeId}}\n childrenAsRecordValuePermissionFilter={childrenAsRecordValuePermissionFilter}\n dependentValuesPermissionFilter={dependentValuesPermissionFilter}\n onCheck={onCheck}\n onSelect={onSelect}\n multiple={multiple}\n checkable={checkable}\n checkStrictly={checkStrictly}\n selectedNodes={selectedNodes}\n disabledNodes={disabledNodes}\n canSelectRoot={canSelectRoot}\n selectableLibraries={selectableLibraries}\n showSelectChildrenButton={showSelectChildrenButton}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"SelectTreeNode.js","sourceRoot":"","sources":["../../../src/components/SelectTreeNode/SelectTreeNode.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAGH,qBAAqB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,YAAY,EAAC,MAAM,OAAO,CAAC;AACnC,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAElD,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,6BAA6B,EAAC,MAAM,iCAAiC,CAAC;AAkB9E,MAAM,CAAC,MAAM,cAAc,GAA4C,CAAC,EACpE,MAAM,EACN,qCAAqC,EACrC,+BAA+B,EAC/B,QAAQ,EACR,OAAO,EACP,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,QAAQ,GAAG,KAAK,EAChB,aAAa,GAAG,IAAI,EACpB,SAAS,GAAG,KAAK,EACjB,aAAa,GAAG,KAAK,EACrB,wBAAwB,GAAG,KAAK,GACnC,EAAE,EAAE;IACD,MAAM,EAAC,IAAI,EAAC,GAAG,OAAO,EAAE,CAAC;IACzB,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,EAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,qBAAqB,CAAC;QACjD,SAAS,EAAE,EAAC,MAAM,EAAC;KACtB,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,KAAC,6BAA6B,KAAG,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,KAAC,YAAY,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,KAAC,YAAY,IAAC,OAAO,EAAE,CAAC,CAAC,oBAAoB,EAAE,EAAC,MAAM,EAAC,CAAC,GAAI,CAAC;IACxE,CAAC;IAED,OAAO,CACH,KAAC,qBAAqB,IAClB,QAAQ,EAAE,EAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,EAAC,EAC7F,qCAAqC,EAAE,qCAAqC,EAC5E,+BAA+B,EAAE,+BAA+B,EAChE,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,wBAAwB,EAAE,wBAAwB,GACpD,CACL,CAAC;AACN,CAAC,CAAC","sourcesContent":["import {localizedTranslation} from '@leav/utils';\nimport {type FunctionComponent} from 'react';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n type ChildrenAsRecordValuePermissionFilterInput,\n type DependentValuesPermissionFilterInput,\n useTreeDataQueryQuery,\n} from '_ui/_gqlTypes';\nimport {ErrorDisplay} from '../..';\nimport useLang from '../../hooks/useLang/useLang';\nimport {type ITreeNodeWithRecord} from '../../types/trees';\nimport {SelectTreeNodeContent} from './SelectTreeNodeContent';\nimport {SelectTreeNodeContentSkeleton} from './SelectTreeNodeContentSkeleton';\n\ninterface ISelectTreeNodeProps {\n treeId: string;\n childrenAsRecordValuePermissionFilter?: ChildrenAsRecordValuePermissionFilterInput;\n dependentValuesPermissionFilter?: DependentValuesPermissionFilterInput;\n onSelect: (node: ITreeNodeWithRecord, selected: boolean) => void;\n onCheck?: (selection: ITreeNodeWithRecord[]) => void;\n selectedNodes?: string[];\n disabledNodes?: string[];\n selectableLibraries?: string[]; // all by default\n multiple?: boolean;\n checkStrictly?: boolean;\n checkable?: boolean;\n canSelectRoot?: boolean;\n showSelectChildrenButton?: boolean;\n}\n\nexport const SelectTreeNode: FunctionComponent<ISelectTreeNodeProps> = ({\n treeId,\n childrenAsRecordValuePermissionFilter,\n dependentValuesPermissionFilter,\n onSelect,\n onCheck,\n selectedNodes,\n disabledNodes,\n selectableLibraries,\n multiple = false,\n checkStrictly = true,\n checkable = false,\n canSelectRoot = false,\n showSelectChildrenButton = false,\n}) => {\n const {lang} = useLang();\n const {t} = useSharedTranslation();\n const {loading, error, data} = useTreeDataQueryQuery({\n variables: {treeId},\n });\n\n if (loading) {\n return <SelectTreeNodeContentSkeleton />;\n }\n\n if (error) {\n return <ErrorDisplay message={error.message} />;\n }\n\n if (!data?.trees.list[0]) {\n return <ErrorDisplay message={t('error.unknown_tree', {treeId})} />;\n }\n\n return (\n <SelectTreeNodeContent\n treeData={{id: treeId, label: localizedTranslation(data.trees.list[0].label, lang) || treeId}}\n childrenAsRecordValuePermissionFilter={childrenAsRecordValuePermissionFilter}\n dependentValuesPermissionFilter={dependentValuesPermissionFilter}\n onCheck={onCheck}\n onSelect={onSelect}\n multiple={multiple}\n checkable={checkable}\n checkStrictly={checkStrictly}\n selectedNodes={selectedNodes}\n disabledNodes={disabledNodes}\n canSelectRoot={canSelectRoot}\n selectableLibraries={selectableLibraries}\n showSelectChildrenButton={showSelectChildrenButton}\n />\n );\n};\n"]}
@@ -5,7 +5,7 @@ import { KitNotification } from 'aristid-ds';
5
5
  import { useState } from 'react';
6
6
  import { useSharedTranslation } from '../../hooks/useSharedTranslation';
7
7
  import { useForcePreviewsGenerationMutation, useGetLibraryPreviewsSettingsQuery, } from '../../_gqlTypes';
8
- import useLang from '../../hooks/useLang';
8
+ import useLang from '../../hooks/useLang/useLang';
9
9
  import { ErrorDisplay } from '../ErrorDisplay';
10
10
  import { Loading } from '../Loading';
11
11
  import { INFO_NOTIFICATION_DURATION, SUCCESS_NOTIFICATION_DURATION } from '../../constants';
@@ -1 +1 @@
1
- {"version":3,"file":"TriggerPreviewsGenerationModal.js","sourceRoot":"","sources":["../../../src/components/TriggerPreviewsGenerationModal/TriggerPreviewsGenerationModal.tsx"],"names":[],"mappings":"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","sourcesContent":["import {localizedTranslation} from '@leav/utils';\nimport {Checkbox, Divider, Modal, Tree} from 'antd';\nimport {KitNotification} from 'aristid-ds';\nimport {useState} from 'react';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n type RecordFilterInput,\n useForcePreviewsGenerationMutation,\n useGetLibraryPreviewsSettingsQuery,\n} from '_ui/_gqlTypes';\nimport useLang from '../../hooks/useLang';\nimport {ErrorDisplay} from '../ErrorDisplay';\nimport {Loading} from '../Loading';\nimport {INFO_NOTIFICATION_DURATION, SUCCESS_NOTIFICATION_DURATION} from '_ui/constants';\n\ninterface ITriggerPreviewsGenerationModalProps {\n libraryId: string;\n filesLibraryId?: string;\n recordIds?: string[];\n filters?: RecordFilterInput[];\n onClose: () => void;\n}\n\nfunction TriggerPreviewsGenerationModal({\n libraryId,\n filesLibraryId,\n recordIds,\n filters,\n onClose,\n}: ITriggerPreviewsGenerationModalProps): JSX.Element {\n const {t} = useSharedTranslation();\n const {lang} = useLang();\n\n const [isFailedOnlyChecked, setIsFailedOnlyChecked] = useState(false);\n const [checkedSizes, setCheckedSizes] = useState<string[]>([]);\n const [treeData, setTreeData] = useState([]);\n const [allSizes, setAllSizes] = useState<string[]>([]);\n\n const [startPreviewsGeneration, {loading}] = useForcePreviewsGenerationMutation();\n\n const {error: getLibrariesError, loading: getLibrariesLoading} = useGetLibraryPreviewsSettingsQuery({\n variables: {id: filesLibraryId || libraryId},\n onCompleted: getLibrariesData => {\n const previewSettings = getLibrariesData.libraries.list?.[0].previewsSettings || [];\n const sizes = [];\n\n const td = previewSettings.map(s => {\n const children = s.versions.sizes.map(vs => ({title: `${vs.name} (${vs.size}px)`, key: vs.name}));\n sizes.push(...children.map(c => c.key));\n\n return {\n title: localizedTranslation(s.label, lang),\n key: localizedTranslation(s.label, lang),\n children,\n };\n });\n\n setTreeData(td);\n setAllSizes(sizes);\n },\n });\n\n const _triggerPreviewsGeneration = async () => {\n try {\n const result = await startPreviewsGeneration({\n variables: {\n libraryId,\n recordIds,\n filters: filters ?? null,\n failedOnly: isFailedOnlyChecked,\n previewVersionSizeNames: checkedSizes,\n },\n });\n\n const isSuccess = result.data?.forcePreviewsGeneration ?? false;\n\n if (isSuccess) {\n KitNotification.success({\n closable: true,\n description: null,\n message: t('files.previews_generation_success'),\n duration: SUCCESS_NOTIFICATION_DURATION,\n });\n } else {\n KitNotification.info({\n closable: true,\n description: null,\n message: t('files.previews_generation_nothing_to_do'),\n duration: INFO_NOTIFICATION_DURATION,\n });\n }\n\n onClose();\n } catch (e) {\n // Nothing to do here, error should be handled globally by Apollo. Uncomment next line for easier debugging\n // console.error(e);\n }\n };\n\n const _handleFailedOnlyChange = () => {\n setIsFailedOnlyChecked(!isFailedOnlyChecked);\n };\n\n const onCheck = (_, {checkedNodes}) => {\n const checked = checkedNodes.filter(n => !n.children).map(n => n.key) as string[]; // we keep only sizes name\n\n setCheckedSizes(checked);\n };\n\n const onChange = () => {\n if (checkedSizes.length === allSizes.length) {\n setCheckedSizes([]);\n } else {\n setCheckedSizes(allSizes);\n }\n };\n\n return (\n <Modal\n open\n title={t('files.generate_previews')}\n cancelText={t('global.cancel')}\n okText={t('global.submit')}\n onCancel={onClose}\n width={600}\n onOk={_triggerPreviewsGeneration}\n okButtonProps={{\n disabled: !checkedSizes.length,\n }}\n confirmLoading={loading}\n >\n {getLibrariesLoading && <Loading />}\n {!getLibrariesLoading && getLibrariesError && <ErrorDisplay message={getLibrariesError.message} />}\n {!getLibrariesLoading && !getLibrariesError && (\n <>\n <Checkbox onChange={onChange} checked={checkedSizes.length === allSizes.length}>\n {t('files.previews_generation_select_all')}\n </Checkbox>\n <Tree\n checkable\n onCheck={onCheck}\n checkedKeys={checkedSizes}\n selectable={false}\n treeData={treeData}\n />\n <Divider />\n <Checkbox onChange={_handleFailedOnlyChange} checked={isFailedOnlyChecked} aria-label=\"failed-only\">\n {t('files.previews_generation_failed_only')}\n </Checkbox>\n </>\n )}\n </Modal>\n );\n}\n\nexport default TriggerPreviewsGenerationModal;\n"]}
1
+ {"version":3,"file":"TriggerPreviewsGenerationModal.js","sourceRoot":"","sources":["../../../src/components/TriggerPreviewsGenerationModal/TriggerPreviewsGenerationModal.tsx"],"names":[],"mappings":"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","sourcesContent":["import {localizedTranslation} from '@leav/utils';\nimport {Checkbox, Divider, Modal, Tree} from 'antd';\nimport {KitNotification} from 'aristid-ds';\nimport {useState} from 'react';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n type RecordFilterInput,\n useForcePreviewsGenerationMutation,\n useGetLibraryPreviewsSettingsQuery,\n} from '_ui/_gqlTypes';\nimport useLang from '../../hooks/useLang/useLang';\nimport {ErrorDisplay} from '../ErrorDisplay';\nimport {Loading} from '../Loading';\nimport {INFO_NOTIFICATION_DURATION, SUCCESS_NOTIFICATION_DURATION} from '_ui/constants';\n\ninterface ITriggerPreviewsGenerationModalProps {\n libraryId: string;\n filesLibraryId?: string;\n recordIds?: string[];\n filters?: RecordFilterInput[];\n onClose: () => void;\n}\n\nfunction TriggerPreviewsGenerationModal({\n libraryId,\n filesLibraryId,\n recordIds,\n filters,\n onClose,\n}: ITriggerPreviewsGenerationModalProps): JSX.Element {\n const {t} = useSharedTranslation();\n const {lang} = useLang();\n\n const [isFailedOnlyChecked, setIsFailedOnlyChecked] = useState(false);\n const [checkedSizes, setCheckedSizes] = useState<string[]>([]);\n const [treeData, setTreeData] = useState([]);\n const [allSizes, setAllSizes] = useState<string[]>([]);\n\n const [startPreviewsGeneration, {loading}] = useForcePreviewsGenerationMutation();\n\n const {error: getLibrariesError, loading: getLibrariesLoading} = useGetLibraryPreviewsSettingsQuery({\n variables: {id: filesLibraryId || libraryId},\n onCompleted: getLibrariesData => {\n const previewSettings = getLibrariesData.libraries.list?.[0].previewsSettings || [];\n const sizes = [];\n\n const td = previewSettings.map(s => {\n const children = s.versions.sizes.map(vs => ({title: `${vs.name} (${vs.size}px)`, key: vs.name}));\n sizes.push(...children.map(c => c.key));\n\n return {\n title: localizedTranslation(s.label, lang),\n key: localizedTranslation(s.label, lang),\n children,\n };\n });\n\n setTreeData(td);\n setAllSizes(sizes);\n },\n });\n\n const _triggerPreviewsGeneration = async () => {\n try {\n const result = await startPreviewsGeneration({\n variables: {\n libraryId,\n recordIds,\n filters: filters ?? null,\n failedOnly: isFailedOnlyChecked,\n previewVersionSizeNames: checkedSizes,\n },\n });\n\n const isSuccess = result.data?.forcePreviewsGeneration ?? false;\n\n if (isSuccess) {\n KitNotification.success({\n closable: true,\n description: null,\n message: t('files.previews_generation_success'),\n duration: SUCCESS_NOTIFICATION_DURATION,\n });\n } else {\n KitNotification.info({\n closable: true,\n description: null,\n message: t('files.previews_generation_nothing_to_do'),\n duration: INFO_NOTIFICATION_DURATION,\n });\n }\n\n onClose();\n } catch (e) {\n // Nothing to do here, error should be handled globally by Apollo. Uncomment next line for easier debugging\n // console.error(e);\n }\n };\n\n const _handleFailedOnlyChange = () => {\n setIsFailedOnlyChecked(!isFailedOnlyChecked);\n };\n\n const onCheck = (_, {checkedNodes}) => {\n const checked = checkedNodes.filter(n => !n.children).map(n => n.key) as string[]; // we keep only sizes name\n\n setCheckedSizes(checked);\n };\n\n const onChange = () => {\n if (checkedSizes.length === allSizes.length) {\n setCheckedSizes([]);\n } else {\n setCheckedSizes(allSizes);\n }\n };\n\n return (\n <Modal\n open\n title={t('files.generate_previews')}\n cancelText={t('global.cancel')}\n okText={t('global.submit')}\n onCancel={onClose}\n width={600}\n onOk={_triggerPreviewsGeneration}\n okButtonProps={{\n disabled: !checkedSizes.length,\n }}\n confirmLoading={loading}\n >\n {getLibrariesLoading && <Loading />}\n {!getLibrariesLoading && getLibrariesError && <ErrorDisplay message={getLibrariesError.message} />}\n {!getLibrariesLoading && !getLibrariesError && (\n <>\n <Checkbox onChange={onChange} checked={checkedSizes.length === allSizes.length}>\n {t('files.previews_generation_select_all')}\n </Checkbox>\n <Tree\n checkable\n onCheck={onCheck}\n checkedKeys={checkedSizes}\n selectable={false}\n treeData={treeData}\n />\n <Divider />\n <Checkbox onChange={_handleFailedOnlyChange} checked={isFailedOnlyChecked} aria-label=\"failed-only\">\n {t('files.previews_generation_failed_only')}\n </Checkbox>\n </>\n )}\n </Modal>\n );\n}\n\nexport default TriggerPreviewsGenerationModal;\n"]}
@@ -8,7 +8,7 @@ import React from 'react';
8
8
  import styled from 'styled-components';
9
9
  import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
10
10
  import { themeVars } from '../../../antdTheme';
11
- import useLang from '../../../hooks/useLang';
11
+ import useLang from '../../../hooks/useLang/useLang';
12
12
  import { SelectTreeNodeModalOld } from '../../SelectTreeNodeModalOld';
13
13
  const Wrapper = styled.div `
14
14
  background: ${themeVars.lightBg};
@@ -1 +1 @@
1
- {"version":3,"file":"VersionTree.js","sourceRoot":"","sources":["../../../../src/components/ValuesVersionConfigurator/VersionTree/VersionTree.tsx"],"names":[],"mappings":"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","sourcesContent":["import {CloseCircleFilled} from '@ant-design/icons';\nimport {faFolderTree} from '@fortawesome/free-solid-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {localizedTranslation} from '@leav/utils';\nimport {Button, Space, theme} from 'antd';\nimport {type GlobalToken} from 'antd/lib/theme/interface';\nimport React, {type SyntheticEvent} from 'react';\nimport styled from 'styled-components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {themeVars} from '../../../antdTheme';\nimport useLang from '../../../hooks/useLang';\nimport {type ITreeNode} from '../../../types/trees';\nimport {type GetVersionableAttributesByLibraryQuery} from '../../../_gqlTypes';\nimport {SelectTreeNodeModalOld} from '../../SelectTreeNodeModalOld';\n\nconst Wrapper = styled.div`\n background: ${themeVars.lightBg};\n padding: 1rem;\n border-radius: 3px;\n margin-bottom: 8px;\n border: 2px solid transparent;\n`;\n\nconst TreeLabel = styled(Space)`\n font-weight: bold;\n font-size: 1em;\n`;\n\nconst SelectedNodeTitle = styled(Button)<{$hasSelection: boolean; $themeToken: GlobalToken}>`\n && {\n width: 100%;\n margin-top: 0.5rem;\n padding: 0.5rem;\n background: ${themeVars.defaultBg};\n border: 1px solid ${themeVars.borderColor};\n border-radius: ${p => p.$themeToken.borderRadius}px;\n cursor: pointer;\n display: flex;\n justify-content: space-between;\n color: ${props => (props.$hasSelection ? themeVars.defaultTextColor : themeVars.secondaryTextColor)};\n align-items: center;\n }\n`;\n\nconst ClearSelectionBtn = styled(CloseCircleFilled)`\n && {\n cursor: pointer;\n color: ${themeVars.secondaryTextColor};\n font-size: 0.8em;\n display: none;\n\n ${SelectedNodeTitle}:hover & {\n display: block;\n }\n }\n`;\n\ninterface IVersionTreeProps {\n tree: GetVersionableAttributesByLibraryQuery['attributes']['list'][0]['versions_conf']['profile']['trees'][0];\n selectedNode: ITreeNode | null;\n readOnly: boolean;\n onNodeChange: (node: ITreeNode | null) => void;\n}\n\nfunction VersionTree({tree, selectedNode, readOnly, onNodeChange}: IVersionTreeProps): JSX.Element {\n const {lang} = useLang();\n const {t} = useSharedTranslation();\n const {token} = theme.useToken();\n\n const [isTreeNodeSelectorOpen, setIsTreeNodeSelectorOpen] = React.useState(false);\n\n const _handleTreeSelect = (node: ITreeNode) => {\n onNodeChange(node);\n };\n\n const _handleClickSelectedNode = () => {\n setIsTreeNodeSelectorOpen(true);\n };\n\n const _handleCloseTreeSelector = () => {\n setIsTreeNodeSelectorOpen(false);\n };\n\n const _handleClearSelection = (e: SyntheticEvent) => {\n e.stopPropagation();\n onNodeChange(null);\n };\n\n const treeLabel = localizedTranslation(tree.label, lang);\n const hasSelection = !!selectedNode;\n\n return (\n <>\n <Wrapper>\n <TreeLabel>\n <FontAwesomeIcon icon={faFolderTree} />\n {treeLabel}\n </TreeLabel>\n <SelectedNodeTitle\n disabled={readOnly}\n onClick={_handleClickSelectedNode}\n $hasSelection={hasSelection}\n $themeToken={token}\n >\n {selectedNode?.title || t('values_version.select_version') + '...'}\n {hasSelection && <ClearSelectionBtn onClick={_handleClearSelection} />}\n </SelectedNodeTitle>\n </Wrapper>\n {isTreeNodeSelectorOpen && (\n <SelectTreeNodeModalOld\n treeId={tree.id}\n onClose={_handleCloseTreeSelector}\n isVisible={isTreeNodeSelectorOpen}\n onSubmit={_handleTreeSelect}\n selectedNodeKey={selectedNode?.id}\n />\n )}\n </>\n );\n}\n\nexport default VersionTree;\n"]}
1
+ {"version":3,"file":"VersionTree.js","sourceRoot":"","sources":["../../../../src/components/ValuesVersionConfigurator/VersionTree/VersionTree.tsx"],"names":[],"mappings":"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","sourcesContent":["import {CloseCircleFilled} from '@ant-design/icons';\nimport {faFolderTree} from '@fortawesome/free-solid-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {localizedTranslation} from '@leav/utils';\nimport {Button, Space, theme} from 'antd';\nimport {type GlobalToken} from 'antd/lib/theme/interface';\nimport React, {type SyntheticEvent} from 'react';\nimport styled from 'styled-components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {themeVars} from '../../../antdTheme';\nimport useLang from '../../../hooks/useLang/useLang';\nimport {type ITreeNode} from '../../../types/trees';\nimport {type GetVersionableAttributesByLibraryQuery} from '../../../_gqlTypes';\nimport {SelectTreeNodeModalOld} from '../../SelectTreeNodeModalOld';\n\nconst Wrapper = styled.div`\n background: ${themeVars.lightBg};\n padding: 1rem;\n border-radius: 3px;\n margin-bottom: 8px;\n border: 2px solid transparent;\n`;\n\nconst TreeLabel = styled(Space)`\n font-weight: bold;\n font-size: 1em;\n`;\n\nconst SelectedNodeTitle = styled(Button)<{$hasSelection: boolean; $themeToken: GlobalToken}>`\n && {\n width: 100%;\n margin-top: 0.5rem;\n padding: 0.5rem;\n background: ${themeVars.defaultBg};\n border: 1px solid ${themeVars.borderColor};\n border-radius: ${p => p.$themeToken.borderRadius}px;\n cursor: pointer;\n display: flex;\n justify-content: space-between;\n color: ${props => (props.$hasSelection ? themeVars.defaultTextColor : themeVars.secondaryTextColor)};\n align-items: center;\n }\n`;\n\nconst ClearSelectionBtn = styled(CloseCircleFilled)`\n && {\n cursor: pointer;\n color: ${themeVars.secondaryTextColor};\n font-size: 0.8em;\n display: none;\n\n ${SelectedNodeTitle}:hover & {\n display: block;\n }\n }\n`;\n\ninterface IVersionTreeProps {\n tree: GetVersionableAttributesByLibraryQuery['attributes']['list'][0]['versions_conf']['profile']['trees'][0];\n selectedNode: ITreeNode | null;\n readOnly: boolean;\n onNodeChange: (node: ITreeNode | null) => void;\n}\n\nfunction VersionTree({tree, selectedNode, readOnly, onNodeChange}: IVersionTreeProps): JSX.Element {\n const {lang} = useLang();\n const {t} = useSharedTranslation();\n const {token} = theme.useToken();\n\n const [isTreeNodeSelectorOpen, setIsTreeNodeSelectorOpen] = React.useState(false);\n\n const _handleTreeSelect = (node: ITreeNode) => {\n onNodeChange(node);\n };\n\n const _handleClickSelectedNode = () => {\n setIsTreeNodeSelectorOpen(true);\n };\n\n const _handleCloseTreeSelector = () => {\n setIsTreeNodeSelectorOpen(false);\n };\n\n const _handleClearSelection = (e: SyntheticEvent) => {\n e.stopPropagation();\n onNodeChange(null);\n };\n\n const treeLabel = localizedTranslation(tree.label, lang);\n const hasSelection = !!selectedNode;\n\n return (\n <>\n <Wrapper>\n <TreeLabel>\n <FontAwesomeIcon icon={faFolderTree} />\n {treeLabel}\n </TreeLabel>\n <SelectedNodeTitle\n disabled={readOnly}\n onClick={_handleClickSelectedNode}\n $hasSelection={hasSelection}\n $themeToken={token}\n >\n {selectedNode?.title || t('values_version.select_version') + '...'}\n {hasSelection && <ClearSelectionBtn onClick={_handleClearSelection} />}\n </SelectedNodeTitle>\n </Wrapper>\n {isTreeNodeSelectorOpen && (\n <SelectTreeNodeModalOld\n treeId={tree.id}\n onClose={_handleCloseTreeSelector}\n isVisible={isTreeNodeSelectorOpen}\n onSubmit={_handleTreeSelect}\n selectedNodeKey={selectedNode?.id}\n />\n )}\n </>\n );\n}\n\nexport default VersionTree;\n"]}
@@ -4,7 +4,7 @@ export { default as useAppLang } from './useAppLang';
4
4
  export { default as useAuth } from './useAuth';
5
5
  export { default as useGetRecordForm } from './useGetRecordForm';
6
6
  export { useGetRecordUpdatesSubscription } from './useGetRecordUpdatesSubscription';
7
- export { default as useLang } from './useLang';
7
+ export { default as useLang } from './useLang/useLang';
8
8
  export { default as useLocalStorage } from './useLocalStorage';
9
9
  export { default as useRecordsConsultationHistory } from './useRecordsConsultationHistory';
10
10
  export { useRefreshFieldValues } from './useRefreshFieldValues';
@@ -19,5 +19,5 @@ export { creationPanelSchema } from './useIFrameMessenger/schema';
19
19
  export { useIFrameMessengerHandlers } from './useIFrameMessenger/useIFrameMessengerHandlers';
20
20
  export { IFrameMessengerProvider } from './useIFrameMessenger/useIFrameMessengerContext';
21
21
  export { useGetRecordIdCard } from './useGetRecordIdCard';
22
- export { useConfirmModal } from './useConfirmModal';
22
+ export { useConfirmModal } from './useConfirmModal/useConfirmModal';
23
23
  export { useDelayedLoading } from './useDelayedLoading';
@@ -4,7 +4,7 @@ export { default as useAppLang } from './useAppLang';
4
4
  export { default as useAuth } from './useAuth';
5
5
  export { default as useGetRecordForm } from './useGetRecordForm';
6
6
  export { useGetRecordUpdatesSubscription } from './useGetRecordUpdatesSubscription';
7
- export { default as useLang } from './useLang';
7
+ export { default as useLang } from './useLang/useLang';
8
8
  export { default as useLocalStorage } from './useLocalStorage';
9
9
  export { default as useRecordsConsultationHistory } from './useRecordsConsultationHistory';
10
10
  export { useRefreshFieldValues } from './useRefreshFieldValues';
@@ -19,6 +19,6 @@ export { creationPanelSchema } from './useIFrameMessenger/schema';
19
19
  export { useIFrameMessengerHandlers } from './useIFrameMessenger/useIFrameMessengerHandlers';
20
20
  export { IFrameMessengerProvider } from './useIFrameMessenger/useIFrameMessengerContext';
21
21
  export { useGetRecordIdCard } from './useGetRecordIdCard';
22
- export { useConfirmModal } from './useConfirmModal';
22
+ export { useConfirmModal } from './useConfirmModal/useConfirmModal';
23
23
  export { useDelayedLoading } from './useDelayedLoading';
24
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,cAAc,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,cAAc,CAAC;AACnD,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAC,+BAA+B,EAAC,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAC,OAAO,IAAI,6BAA6B,EAAC,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAC,wBAAwB,EAAC,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAC,qBAAqB,EAAC,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,0BAA0B,EAAC,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAC,uBAAuB,EAAC,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC","sourcesContent":["export {useSaveApplicationMutation} from '../_gqlTypes';\nexport {useAntdLocale} from './useAntdLocale';\nexport {default as useAppLang} from './useAppLang';\nexport {default as useAuth} from './useAuth';\nexport {default as useGetRecordForm} from './useGetRecordForm';\nexport {useGetRecordUpdatesSubscription} from './useGetRecordUpdatesSubscription';\nexport {default as useLang} from './useLang';\nexport {default as useLocalStorage} from './useLocalStorage';\nexport {default as useRecordsConsultationHistory} from './useRecordsConsultationHistory';\nexport {useRefreshFieldValues} from './useRefreshFieldValues';\nexport {default as useLoginChecker} from './useLoginChecker';\nexport {default as useRedirectToLogin} from './useRedirectToLogin';\nexport {useUser} from './useUser';\nexport {useValuesCacheUpdate} from './useValuesCacheUpdate';\nexport {useIFrameMessenger} from './useIFrameMessenger/useIFrameMessenger';\nexport {useIFrameMessengerClient} from './useIFrameMessengerClient/useIFrameMessengerClient';\nexport {IFrameMessengerClient} from './useIFrameMessengerClient/IFrameMessengerClient';\nexport {creationPanelSchema} from './useIFrameMessenger/schema';\nexport {useIFrameMessengerHandlers} from './useIFrameMessenger/useIFrameMessengerHandlers';\nexport {IFrameMessengerProvider} from './useIFrameMessenger/useIFrameMessengerContext';\nexport {useGetRecordIdCard} from './useGetRecordIdCard';\nexport {useConfirmModal} from './useConfirmModal';\nexport {useDelayedLoading} from './useDelayedLoading';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,cAAc,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,cAAc,CAAC;AACnD,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAC,+BAA+B,EAAC,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAC,OAAO,IAAI,6BAA6B,EAAC,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAC,wBAAwB,EAAC,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAC,qBAAqB,EAAC,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,0BAA0B,EAAC,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAC,uBAAuB,EAAC,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,eAAe,EAAC,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC","sourcesContent":["export {useSaveApplicationMutation} from '../_gqlTypes';\nexport {useAntdLocale} from './useAntdLocale';\nexport {default as useAppLang} from './useAppLang';\nexport {default as useAuth} from './useAuth';\nexport {default as useGetRecordForm} from './useGetRecordForm';\nexport {useGetRecordUpdatesSubscription} from './useGetRecordUpdatesSubscription';\nexport {default as useLang} from './useLang/useLang';\nexport {default as useLocalStorage} from './useLocalStorage';\nexport {default as useRecordsConsultationHistory} from './useRecordsConsultationHistory';\nexport {useRefreshFieldValues} from './useRefreshFieldValues';\nexport {default as useLoginChecker} from './useLoginChecker';\nexport {default as useRedirectToLogin} from './useRedirectToLogin';\nexport {useUser} from './useUser';\nexport {useValuesCacheUpdate} from './useValuesCacheUpdate';\nexport {useIFrameMessenger} from './useIFrameMessenger/useIFrameMessenger';\nexport {useIFrameMessengerClient} from './useIFrameMessengerClient/useIFrameMessengerClient';\nexport {IFrameMessengerClient} from './useIFrameMessengerClient/IFrameMessengerClient';\nexport {creationPanelSchema} from './useIFrameMessenger/schema';\nexport {useIFrameMessengerHandlers} from './useIFrameMessenger/useIFrameMessengerHandlers';\nexport {IFrameMessengerProvider} from './useIFrameMessenger/useIFrameMessengerContext';\nexport {useGetRecordIdCard} from './useGetRecordIdCard';\nexport {useConfirmModal} from './useConfirmModal/useConfirmModal';\nexport {useDelayedLoading} from './useDelayedLoading';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useLang.js","sourceRoot":"","sources":["../../../../src/hooks/useLang/__mocks__/useLang.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IAClB,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IAC5B,WAAW,EAAE,IAAI;CACpB,CAAC,CAAC;AAEH,eAAe,WAAW,CAAC","sourcesContent":["const mockUseLang = () => ({\n lang: ['fr', 'en'],\n availableLangs: ['fr', 'en'],\n defaultLang: 'fr',\n});\n\nexport default mockUseLang;\n"]}
1
+ {"version":3,"file":"useLang.js","sourceRoot":"","sources":["../../../../src/hooks/useLang/__mocks__/useLang.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IAClB,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IAC5B,WAAW,EAAE,IAAI;CACpB,CAAC,CAAC;AAEH,eAAe,WAAW,CAAC","sourcesContent":["const mockUseLang = () => ({\n lang: ['fr', 'en'],\n availableLangs: ['fr', 'en'],\n defaultLang: 'fr',\n});\n\nexport default mockUseLang;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useLang.js","sourceRoot":"","sources":["../../../src/hooks/useLang/useLang.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,OAAO,CAAC;AACjC,OAAO,EAAoB,WAAW,EAAC,MAAM,4BAA4B,CAAC;AAE1E,MAAM,OAAO,GAAG,GAAiB,EAAE;IAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAErC,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC","sourcesContent":["import {useContext} from 'react';\nimport {type ILangContext, LangContext} from '../../contexts/LangContext';\n\nconst useLang = (): ILangContext => {\n const lang = useContext(LangContext);\n\n if (!lang) {\n throw new Error('useLang must be used inside a <LangContext.Provider />');\n }\n\n return lang;\n};\n\nexport default useLang;\n"]}
1
+ {"version":3,"file":"useLang.js","sourceRoot":"","sources":["../../../src/hooks/useLang/useLang.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,OAAO,CAAC;AACjC,OAAO,EAAoB,WAAW,EAAC,MAAM,4BAA4B,CAAC;AAE1E,MAAM,OAAO,GAAG,GAAiB,EAAE;IAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAErC,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC","sourcesContent":["import {useContext} from 'react';\nimport {type ILangContext, LangContext} from '../../contexts/LangContext';\n\nconst useLang = (): ILangContext => {\n const lang = useContext(LangContext);\n\n if (!lang) {\n throw new Error('useLang must be used inside a <LangContext.Provider />');\n }\n\n return lang;\n};\n\nexport default useLang;\n"]}
@@ -5,7 +5,7 @@ function MockedLangContextProvider({ children }) {
5
5
  lang: ['fr'],
6
6
  availableLangs: ['fr', 'en'],
7
7
  defaultLang: 'fr',
8
- setLang: jest.fn(),
8
+ setLang: () => undefined,
9
9
  };
10
10
  return _jsx(LangContext.Provider, { value: mockLangs, children: children });
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MockedLangContextProvider.js","sourceRoot":"","sources":["../../../src/testing/MockedLangContextProvider/MockedLangContextProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,WAAW,EAAC,MAAM,4BAA4B,CAAC;AAE1E,SAAS,yBAAyB,CAAC,EAAC,QAAQ,EAAC;IACzC,MAAM,SAAS,GAAiB;QAC5B,IAAI,EAAE,CAAC,IAAI,CAAC;QACZ,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QAC5B,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;KACrB,CAAC;IAEF,OAAO,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,SAAS,YAAG,QAAQ,GAAwB,CAAC;AACrF,CAAC;AAED,eAAe,yBAAyB,CAAC","sourcesContent":["import {type ILangContext, LangContext} from '../../contexts/LangContext';\n\nfunction MockedLangContextProvider({children}) {\n const mockLangs: ILangContext = {\n lang: ['fr'],\n availableLangs: ['fr', 'en'],\n defaultLang: 'fr',\n setLang: jest.fn(),\n };\n\n return <LangContext.Provider value={mockLangs}>{children}</LangContext.Provider>;\n}\n\nexport default MockedLangContextProvider;\n"]}
1
+ {"version":3,"file":"MockedLangContextProvider.js","sourceRoot":"","sources":["../../../src/testing/MockedLangContextProvider/MockedLangContextProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,WAAW,EAAC,MAAM,4BAA4B,CAAC;AAE1E,SAAS,yBAAyB,CAAC,EAAC,QAAQ,EAAC;IACzC,MAAM,SAAS,GAAiB;QAC5B,IAAI,EAAE,CAAC,IAAI,CAAC;QACZ,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QAC5B,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS;KAC3B,CAAC;IAEF,OAAO,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,SAAS,YAAG,QAAQ,GAAwB,CAAC;AACrF,CAAC;AAED,eAAe,yBAAyB,CAAC","sourcesContent":["import {type ILangContext, LangContext} from '../../contexts/LangContext';\n\nfunction MockedLangContextProvider({children}) {\n const mockLangs: ILangContext = {\n lang: ['fr'],\n availableLangs: ['fr', 'en'],\n defaultLang: 'fr',\n setLang: () => undefined,\n };\n\n return <LangContext.Provider value={mockLangs}>{children}</LangContext.Provider>;\n}\n\nexport default MockedLangContextProvider;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leav/ui",
3
- "version": "1.14.0-e68463b4",
3
+ "version": "1.14.0-f4a1385c",
4
4
  "description": "Shared React components and hooks",
5
5
  "scripts": {
6
6
  "prepublishOnly": "yarn build",
@@ -26,7 +26,7 @@
26
26
  "repository": "https://github.com/leav-solutions/leav-engine",
27
27
  "devDependencies": {
28
28
  "@apollo/client": "3.14.1",
29
- "@babel/preset-env": "7.29.5",
29
+ "@babel/preset-env": "7.29.7",
30
30
  "@babel/preset-react": "7.28.5",
31
31
  "@graphql-codegen/add": "5.0.3",
32
32
  "@graphql-codegen/cli": "6.3.1",
@@ -51,7 +51,7 @@
51
51
  "react": "18.2.0",
52
52
  "react-dom": "18.2.0",
53
53
  "react-i18next": "12",
54
- "react-router-dom": "6.22.0",
54
+ "react-router-dom": "6.30.4",
55
55
  "ts-jest": "29.4.11",
56
56
  "tsc-alias": "1.8.17",
57
57
  "typescript": "5.9.3",
@@ -74,7 +74,7 @@
74
74
  "@leav/utils": "1.14.0",
75
75
  "@uidotdev/usehooks": "2.4.1",
76
76
  "dayjs": "^1.11.13",
77
- "dompurify": "3.4.5",
77
+ "dompurify": "3.4.7",
78
78
  "html-react-parser": "4.2.10",
79
79
  "i18next-resources-to-backend": "1.2.1",
80
80
  "react-markdown": "5.0.3",
@@ -1 +0,0 @@
1
- export { useConfirmModal } from './useConfirmModal';
@@ -1,2 +0,0 @@
1
- export { useConfirmModal } from './useConfirmModal';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/useConfirmModal/__mocks__/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC","sourcesContent":["export {useConfirmModal} from './useConfirmModal';\n"]}
@@ -1 +0,0 @@
1
- export { useConfirmModal } from './useConfirmModal';
@@ -1,2 +0,0 @@
1
- export { useConfirmModal } from './useConfirmModal';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/useConfirmModal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC","sourcesContent":["export {useConfirmModal} from './useConfirmModal';\n"]}
@@ -1,2 +0,0 @@
1
- import useLang from './useLang';
2
- export default useLang;
@@ -1,3 +0,0 @@
1
- import useLang from './useLang';
2
- export default useLang;
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/useLang/__mocks__/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,eAAe,OAAO,CAAC","sourcesContent":["import useLang from './useLang';\n\nexport default useLang;\n"]}
@@ -1,2 +0,0 @@
1
- import useLang from './useLang';
2
- export default useLang;
@@ -1,3 +0,0 @@
1
- import useLang from './useLang';
2
- export default useLang;
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/useLang/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,eAAe,OAAO,CAAC","sourcesContent":["import useLang from './useLang';\n\nexport default useLang;\n"]}