@gravity-ui/querieskit 1.3.1 → 1.4.0
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.
- package/build/cjs/components/AttachmentList/AttachmentList.d.ts +2 -2
- package/build/cjs/components/AttachmentList/AttachmentList.js +9 -1
- package/build/cjs/components/AttachmentList/AttachmentList.js.map +1 -1
- package/build/cjs/components/AttachmentList/AttachmentList.stories.d.ts +36 -20
- package/build/cjs/components/AttachmentList/AttachmentList.stories.js +3 -0
- package/build/cjs/components/AttachmentList/AttachmentList.stories.js.map +1 -1
- package/build/cjs/components/AttachmentList/helpers/isInteractiveTarget.d.ts +2 -0
- package/build/cjs/components/AttachmentList/helpers/isInteractiveTarget.js +11 -0
- package/build/cjs/components/AttachmentList/helpers/isInteractiveTarget.js.map +1 -0
- package/build/cjs/components/LazyList/LazyList.js +12 -1
- package/build/cjs/components/LazyList/LazyList.js.map +1 -1
- package/build/cjs/components/RowLink/RowLink.d.ts +4 -4
- package/build/cjs/components/RowLink/RowLink.js +15 -4
- package/build/cjs/components/RowLink/RowLink.js.map +1 -1
- package/build/cjs/components/SearchRowLayout/SearchRowLayout.d.ts +2 -0
- package/build/cjs/components/SearchRowLayout/SearchRowLayout.js +2 -0
- package/build/cjs/components/SearchRowLayout/SearchRowLayout.js.map +1 -1
- package/build/cjs/helpers/getListKey.d.ts +1 -0
- package/build/cjs/helpers/getListKey.js +5 -4
- package/build/cjs/helpers/getListKey.js.map +1 -1
- package/build/cjs/helpers/useListKey.d.ts +2 -0
- package/build/cjs/helpers/useListKey.js +32 -0
- package/build/cjs/helpers/useListKey.js.map +1 -0
- package/build/cjs/helpers/useLoadMoreSentinel.d.ts +1 -1
- package/build/cjs/helpers/useLoadMoreSentinel.js +12 -3
- package/build/cjs/helpers/useLoadMoreSentinel.js.map +1 -1
- package/build/cjs/modules/Attachments/Attachments.css +4 -0
- package/build/cjs/modules/Attachments/Attachments.css.map +1 -1
- package/build/cjs/modules/Attachments/Attachments.d.ts +2 -1
- package/build/cjs/modules/Attachments/Attachments.js +8 -1
- package/build/cjs/modules/Attachments/Attachments.js.map +1 -1
- package/build/cjs/modules/Attachments/Attachments.stories.d.ts +2 -1
- package/build/cjs/modules/Attachments/Attachments.stories.js +7 -3
- package/build/cjs/modules/Attachments/Attachments.stories.js.map +1 -1
- package/build/cjs/modules/HistoryHeader/HistoryHeader.d.ts +1 -0
- package/build/cjs/modules/HistoryHeader/HistoryHeader.js +8 -6
- package/build/cjs/modules/HistoryHeader/HistoryHeader.js.map +1 -1
- package/build/cjs/modules/HistoryRow/HistoryRow.d.ts +1 -1
- package/build/cjs/modules/HistoryRow/HistoryRow.js +3 -1
- package/build/cjs/modules/HistoryRow/HistoryRow.js.map +1 -1
- package/build/cjs/modules/HistorySearchRow/HistorySearchRow.d.ts +1 -1
- package/build/cjs/modules/HistorySearchRow/HistorySearchRow.js +3 -1
- package/build/cjs/modules/HistorySearchRow/HistorySearchRow.js.map +1 -1
- package/build/cjs/modules/QueriesList/QueriesList.d.ts +6 -2
- package/build/cjs/modules/QueriesList/QueriesList.js +14 -3
- package/build/cjs/modules/QueriesList/QueriesList.js.map +1 -1
- package/build/cjs/modules/RowsList/RowsList.d.ts +6 -2
- package/build/cjs/modules/RowsList/RowsList.js +13 -7
- package/build/cjs/modules/RowsList/RowsList.js.map +1 -1
- package/build/cjs/modules/RowsList/helpers/prepareRowData.d.ts +3 -2
- package/build/cjs/modules/RowsList/helpers/prepareRowData.js +4 -2
- package/build/cjs/modules/RowsList/helpers/prepareRowData.js.map +1 -1
- package/build/cjs/types/queryList.d.ts +4 -1
- package/build/cjs/types/queryList.js.map +1 -1
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.d.ts +6 -2
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.js +9 -1
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.d.ts +5 -0
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.js +200 -6
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.js.map +1 -1
- package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.js +3 -1
- package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.js.map +1 -1
- package/build/esm/components/AttachmentList/AttachmentList.d.ts +2 -2
- package/build/esm/components/AttachmentList/AttachmentList.js +9 -1
- package/build/esm/components/AttachmentList/AttachmentList.js.map +1 -1
- package/build/esm/components/AttachmentList/AttachmentList.stories.d.ts +36 -20
- package/build/esm/components/AttachmentList/AttachmentList.stories.js +3 -0
- package/build/esm/components/AttachmentList/AttachmentList.stories.js.map +1 -1
- package/build/esm/components/AttachmentList/helpers/isInteractiveTarget.d.ts +2 -0
- package/build/esm/components/AttachmentList/helpers/isInteractiveTarget.js +5 -0
- package/build/esm/components/AttachmentList/helpers/isInteractiveTarget.js.map +1 -0
- package/build/esm/components/LazyList/LazyList.js +13 -2
- package/build/esm/components/LazyList/LazyList.js.map +1 -1
- package/build/esm/components/RowLink/RowLink.d.ts +4 -4
- package/build/esm/components/RowLink/RowLink.js +15 -4
- package/build/esm/components/RowLink/RowLink.js.map +1 -1
- package/build/esm/components/SearchRowLayout/SearchRowLayout.d.ts +2 -0
- package/build/esm/components/SearchRowLayout/SearchRowLayout.js +2 -0
- package/build/esm/components/SearchRowLayout/SearchRowLayout.js.map +1 -1
- package/build/esm/helpers/getListKey.d.ts +1 -0
- package/build/esm/helpers/getListKey.js +4 -3
- package/build/esm/helpers/getListKey.js.map +1 -1
- package/build/esm/helpers/useListKey.d.ts +2 -0
- package/build/esm/helpers/useListKey.js +26 -0
- package/build/esm/helpers/useListKey.js.map +1 -0
- package/build/esm/helpers/useLoadMoreSentinel.d.ts +1 -1
- package/build/esm/helpers/useLoadMoreSentinel.js +12 -3
- package/build/esm/helpers/useLoadMoreSentinel.js.map +1 -1
- package/build/esm/modules/Attachments/Attachments.css +4 -0
- package/build/esm/modules/Attachments/Attachments.css.map +1 -1
- package/build/esm/modules/Attachments/Attachments.d.ts +2 -1
- package/build/esm/modules/Attachments/Attachments.js +8 -1
- package/build/esm/modules/Attachments/Attachments.js.map +1 -1
- package/build/esm/modules/Attachments/Attachments.scss +5 -0
- package/build/esm/modules/Attachments/Attachments.stories.d.ts +2 -1
- package/build/esm/modules/Attachments/Attachments.stories.js +7 -3
- package/build/esm/modules/Attachments/Attachments.stories.js.map +1 -1
- package/build/esm/modules/HistoryHeader/HistoryHeader.d.ts +1 -0
- package/build/esm/modules/HistoryHeader/HistoryHeader.js +8 -6
- package/build/esm/modules/HistoryHeader/HistoryHeader.js.map +1 -1
- package/build/esm/modules/HistoryRow/HistoryRow.d.ts +1 -1
- package/build/esm/modules/HistoryRow/HistoryRow.js +3 -1
- package/build/esm/modules/HistoryRow/HistoryRow.js.map +1 -1
- package/build/esm/modules/HistorySearchRow/HistorySearchRow.d.ts +1 -1
- package/build/esm/modules/HistorySearchRow/HistorySearchRow.js +3 -1
- package/build/esm/modules/HistorySearchRow/HistorySearchRow.js.map +1 -1
- package/build/esm/modules/QueriesList/QueriesList.d.ts +6 -2
- package/build/esm/modules/QueriesList/QueriesList.js +14 -3
- package/build/esm/modules/QueriesList/QueriesList.js.map +1 -1
- package/build/esm/modules/RowsList/RowsList.d.ts +6 -2
- package/build/esm/modules/RowsList/RowsList.js +13 -7
- package/build/esm/modules/RowsList/RowsList.js.map +1 -1
- package/build/esm/modules/RowsList/helpers/prepareRowData.d.ts +3 -2
- package/build/esm/modules/RowsList/helpers/prepareRowData.js +4 -2
- package/build/esm/modules/RowsList/helpers/prepareRowData.js.map +1 -1
- package/build/esm/types/queryList.d.ts +4 -1
- package/build/esm/types/queryList.js.map +1 -1
- package/build/esm/widgets/QueriesHistory/QueriesHistory.d.ts +6 -2
- package/build/esm/widgets/QueriesHistory/QueriesHistory.js +9 -1
- package/build/esm/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
- package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.d.ts +5 -0
- package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.js +200 -6
- package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.js.map +1 -1
- package/build/esm/widgets/TutorialsHistory/TutorialsHistory.js +3 -1
- package/build/esm/widgets/TutorialsHistory/TutorialsHistory.js.map +1 -1
- package/package.json +1 -1
|
@@ -30,6 +30,7 @@ export var Attachments = function Attachments(_ref) {
|
|
|
30
30
|
placeholderProps = _ref.placeholderProps,
|
|
31
31
|
attachmentListProps = _ref.attachmentListProps,
|
|
32
32
|
onChange = _ref.onChange,
|
|
33
|
+
onItemClick = _ref.onItemClick,
|
|
33
34
|
customerAttachments = _ref.attachments,
|
|
34
35
|
customerDeletedAttachments = _ref.deletedAttachments;
|
|
35
36
|
var _useState = useState('Current'),
|
|
@@ -255,6 +256,7 @@ export var Attachments = function Attachments(_ref) {
|
|
|
255
256
|
return setCurrentTab(tab);
|
|
256
257
|
},
|
|
257
258
|
children: [/*#__PURE__*/_jsxs(TabList, {
|
|
259
|
+
className: block('tab-list'),
|
|
258
260
|
children: [/*#__PURE__*/_jsxs(Tab, {
|
|
259
261
|
className: block('tab'),
|
|
260
262
|
value: "Current",
|
|
@@ -299,6 +301,7 @@ export var Attachments = function Attachments(_ref) {
|
|
|
299
301
|
onDelete: function onDelete(attach) {
|
|
300
302
|
return handleDelete(attach.id);
|
|
301
303
|
},
|
|
304
|
+
onItemClick: onItemClick,
|
|
302
305
|
renderEditForm: function renderEditForm(attach) {
|
|
303
306
|
var isLink = typeof attach.link === 'string';
|
|
304
307
|
if (isLink) {
|
|
@@ -330,6 +333,9 @@ export var Attachments = function Attachments(_ref) {
|
|
|
330
333
|
onAddFile: handleAddEmptyFile,
|
|
331
334
|
onAddLink: handleAddEmptyLink
|
|
332
335
|
}, placeholderProps)), Boolean(attachList.length) && /*#__PURE__*/_jsxs(Flex, {
|
|
336
|
+
spacing: {
|
|
337
|
+
px: 4
|
|
338
|
+
},
|
|
333
339
|
gap: 2,
|
|
334
340
|
children: [/*#__PURE__*/_jsxs(Button, {
|
|
335
341
|
onClick: handleAddEmptyFile,
|
|
@@ -363,7 +369,8 @@ export var Attachments = function Attachments(_ref) {
|
|
|
363
369
|
attachments: deletedAttachList,
|
|
364
370
|
onRevert: function onRevert(attach) {
|
|
365
371
|
return handleRevertDelete(attach.id);
|
|
366
|
-
}
|
|
372
|
+
},
|
|
373
|
+
onItemClick: onItemClick
|
|
367
374
|
}))
|
|
368
375
|
})
|
|
369
376
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","useRef","useState","Button","Flex","Icon","Tab","TabList","TabPanel","TabProvider","Text","AttachmentList","AttachmentListPlaceholder","EditAttachmentItem","createUuid","isObjectEqual","Plus","cn","i18n","jsx","_jsx","jsxs","_jsxs","block","Attachments","_ref","tokens","placeholderProps","attachmentListProps","onChange","customerAttachments","attachments","customerDeletedAttachments","deletedAttachments","_useState","_useState2","_slicedToArray","currentTab","setCurrentTab","_useState3","_useState4","innerAttachList","setInnerAttachList","_useState5","_useState6","innerDeletedAttachList","setInnerDeletedAttachList","_useState7","_useState8","editingIds","setEditingIds","_useState9","_useState0","wasAddedIds","setWasAddedIds","_useState1","_useState10","wasEdited","setWasEditedIds","attachList","deletedAttachList","attachCount","filter","a","isNew","length","defaultAttachList","getDefaultValuesForLink","linkId","_currentLink$name","_currentLink$link","_currentLink$token","currentLink","find","id","name","link","token","runAfterAttachAdded","attachId","newAttach","editedAttach","current","concat","_toConsumableArray","handleAddEmptyFile","patchAttachList","handleAddEmptyLink","handleAcceptFile","fileId","fileName","patchedFile","patchEditingIds","map","attach","handleAcceptLink","patchedLink","_objectSpread","handleCancelEdit","wasItNewAttach","some","handleEdit","editAttachId","handleDelete","deletedAttachmen","patchDeletedAttachList","handleDeleteAll","handleRevertDelete","revertAttach","className","direction","width","height","children","value","onUpdate","tab","variant","color","spacing","pt","wasEditedIds","onEdit","onDelete","renderEditForm","isLink","defaultLinkValues","type","onAccept","defaultValues","onCancel","defaultFileName","pathName","onAddFile","onAddLink","Boolean","gap","onClick","data","view","isDeleted","onRevert"],"sources":["Attachments.tsx"],"sourcesContent":["import React, {useMemo, useRef, useState} from 'react';\nimport {Button, Flex, Icon, Tab, TabList, TabPanel, TabProvider, Text} from '@gravity-ui/uikit';\nimport {AttachmentList, AttachmentListPlaceholder, EditAttachmentItem} from '../../components';\nimport {createUuid} from '../../helpers/createUuid';\nimport {isObjectEqual} from '../../helpers/isObjectEqual';\nimport {Plus} from '@gravity-ui/icons';\nimport type {\n AttachmentItemProps,\n AttachmentListPlaceholderProps,\n AttachmentListProps,\n EditLinkValues,\n} from '../../components';\nimport cn from 'bem-cn-lite';\n\nimport i18n from './i18n';\n\nimport './Attachments.scss';\n\ntype TabVariants = 'Current' | 'Deleted';\n\nexport type AttachItem = AttachmentItemProps['attachment'] & {token?: string; isNew?: boolean};\n\nexport type AttachmentsProps = {\n tokens?: {value: string; title: string}[];\n placeholderProps?: Omit<AttachmentListPlaceholderProps, 'onAddFile' | 'onAddLink'>;\n attachmentListProps?: Pick<AttachmentListProps, 'className'>;\n attachments?: AttachItem[];\n deletedAttachments?: AttachItem[];\n onChange?: (payload: {attachments: AttachItem[]; deletedAttachments: AttachItem[]}) => void;\n};\n\nconst block = cn('qp-attachments');\n\nexport const Attachments = ({\n tokens,\n placeholderProps,\n attachmentListProps,\n onChange,\n attachments: customerAttachments,\n deletedAttachments: customerDeletedAttachments,\n}: AttachmentsProps) => {\n const [currentTab, setCurrentTab] = useState<'Current' | 'Deleted'>('Current');\n\n const [innerAttachList, setInnerAttachList] = useState<AttachItem[]>(customerAttachments ?? []);\n const [innerDeletedAttachList, setInnerDeletedAttachList] = useState<AttachItem[]>(\n customerDeletedAttachments ?? [],\n );\n\n const [editingIds, setEditingIds] = useState<string[]>([]);\n const [wasAddedIds, setWasAddedIds] = useState<string[]>([]);\n const [wasEdited, setWasEditedIds] = useState<string[]>([]);\n\n const attachList = customerAttachments ?? innerAttachList;\n const deletedAttachList = customerDeletedAttachments ?? innerDeletedAttachList;\n\n const attachCount = useMemo(() => attachList.filter((a) => !a.isNew).length, [attachList]);\n\n const defaultAttachList = useRef(attachList);\n\n const getDefaultValuesForLink = (linkId: string) => {\n const currentLink = attachList.find((a) => a.id === linkId);\n return {\n name: currentLink?.name ?? '',\n link: currentLink?.link ?? '',\n token: currentLink?.token ?? '',\n };\n };\n\n const runAfterAttachAdded = (attachId: string, newAttach: AttachItem) => {\n const editedAttach = defaultAttachList.current.find((a) => a.id === attachId);\n\n if (!editedAttach) return;\n\n if (isObjectEqual(editedAttach, newAttach)) {\n setWasEditedIds(wasEdited.filter((id) => id !== attachId));\n return;\n }\n\n setWasEditedIds([...wasEdited, attachId]);\n };\n\n const handleAddEmptyFile = () => {\n const id = createUuid();\n\n const patchAttachList = [\n ...attachList.filter((a) => !a.isNew),\n {id, name: '', isNew: true},\n ];\n\n setInnerAttachList(patchAttachList);\n setWasAddedIds([...wasAddedIds, id]);\n setEditingIds([...editingIds, id]);\n\n onChange?.({\n attachments: patchAttachList,\n deletedAttachments: deletedAttachList,\n });\n };\n\n const handleAddEmptyLink = () => {\n const id = createUuid();\n\n const patchAttachList = [\n ...attachList.filter((a) => !a.isNew),\n {id, name: '', token: '', link: '', isNew: true},\n ];\n\n setInnerAttachList(patchAttachList);\n setWasAddedIds([...wasAddedIds, id]);\n setEditingIds([...editingIds, id]);\n\n onChange?.({\n attachments: patchAttachList,\n deletedAttachments: deletedAttachList,\n });\n };\n\n const handleAcceptFile = (fileId: string, fileName: string) => {\n const patchedFile = attachList.find((a) => a.id === fileId);\n if (!patchedFile) return;\n\n const patchEditingIds = editingIds.filter((id) => id !== fileId);\n const patchAttachList = attachList.map((attach) => {\n if (attach.id === fileId) return {id: fileId, name: fileName};\n return attach;\n });\n\n setEditingIds(patchEditingIds);\n setInnerAttachList(patchAttachList);\n\n onChange?.({\n attachments: patchAttachList,\n deletedAttachments: deletedAttachList,\n });\n\n runAfterAttachAdded(fileId, {id: fileId, name: fileName});\n };\n\n const handleAcceptLink = (linkId: string, link: EditLinkValues) => {\n const patchedLink = attachList.find((a) => a.id === linkId);\n if (!patchedLink) return;\n\n const patchEditingIds = editingIds.filter((id) => id !== linkId);\n const patchAttachList = attachList.map((attach) => {\n if (attach.id === linkId) return {id: linkId, ...link};\n return attach;\n });\n\n setEditingIds(patchEditingIds);\n setInnerAttachList(patchAttachList);\n\n onChange?.({\n attachments: patchAttachList,\n deletedAttachments: deletedAttachList,\n });\n\n runAfterAttachAdded(linkId, {id: linkId, ...link});\n };\n\n const handleCancelEdit = (fileId: string) => {\n const patchEditingIds = editingIds.filter((id) => id !== fileId);\n const patchAttachList = attachList.filter((a) => !a.isNew);\n\n const wasItNewAttach = attachList.some((a) => a.isNew);\n if (wasItNewAttach) {\n setWasAddedIds(wasAddedIds.filter((id) => id !== fileId));\n }\n\n setInnerAttachList(patchAttachList);\n setEditingIds(patchEditingIds);\n\n onChange?.({\n attachments: patchAttachList,\n deletedAttachments: deletedAttachList,\n });\n };\n\n const handleEdit = (editAttachId: string) => {\n const patchEditingIds = [...editingIds, editAttachId];\n\n setEditingIds(patchEditingIds);\n };\n\n const handleDelete = (attachId: string) => {\n const deletedAttachmen = attachList.find((a) => a.id === attachId);\n\n if (!deletedAttachmen) return;\n\n const patchAttachList = attachList.filter((a) => a.id !== attachId);\n const patchDeletedAttachList = [...deletedAttachList, deletedAttachmen];\n\n setInnerAttachList(patchAttachList);\n setInnerDeletedAttachList(patchDeletedAttachList);\n\n onChange?.({\n attachments: patchAttachList,\n deletedAttachments: patchDeletedAttachList,\n });\n };\n\n const handleDeleteAll = () => {\n const patchAttachList: never[] = [];\n const patchDeletedAttachList = [\n ...deletedAttachList,\n ...attachList.filter((a) => !a.isNew),\n ];\n\n setInnerAttachList(patchAttachList);\n setInnerDeletedAttachList(patchDeletedAttachList);\n\n onChange?.({\n attachments: patchAttachList,\n deletedAttachments: patchDeletedAttachList,\n });\n };\n\n const handleRevertDelete = (attachId: string) => {\n const revertAttach = deletedAttachList.find((a) => a.id === attachId);\n\n if (!revertAttach) return;\n\n const patchAttachList = [...attachList, revertAttach];\n const patchDeletedAttachList = deletedAttachList.filter((a) => a.id !== attachId);\n\n setInnerAttachList(patchAttachList);\n setInnerDeletedAttachList(patchDeletedAttachList);\n\n onChange?.({\n attachments: patchAttachList,\n deletedAttachments: patchDeletedAttachList,\n });\n };\n\n return (\n <Flex className={block()} direction=\"column\" width=\"100%\" height=\"100%\">\n <TabProvider value={currentTab} onUpdate={(tab) => setCurrentTab(tab as TabVariants)}>\n <TabList>\n <Tab className={block('tab')} value=\"Current\">\n <Text variant=\"body-1\">Current</Text>\n <Text color=\"hint\" variant=\"body-1\">\n {attachCount}\n </Text>\n </Tab>\n <Tab className={block('tab')} value=\"Deleted\">\n <Text variant=\"body-1\">Deleted</Text>\n <Text color=\"hint\" variant=\"body-1\">\n {deletedAttachList.length}\n </Text>\n </Tab>\n </TabList>\n\n <TabPanel className={block('panel')} value=\"Current\">\n <Flex spacing={{pt: 3}} direction=\"column\" width=\"100%\" height=\"100%\">\n {attachList.length ? (\n <AttachmentList\n {...attachmentListProps}\n attachments={attachList}\n wasAddedIds={wasAddedIds}\n wasEditedIds={wasEdited}\n editingIds={editingIds}\n onEdit={(attach) => handleEdit(attach.id)}\n onDelete={(attach) => handleDelete(attach.id)}\n renderEditForm={(attach) => {\n const isLink = typeof attach.link === 'string';\n\n if (isLink) {\n const defaultLinkValues = getDefaultValuesForLink(\n attach.id,\n );\n\n return (\n <EditAttachmentItem\n type=\"link\"\n onAccept={(link) =>\n handleAcceptLink(attach.id, link)\n }\n defaultValues={defaultLinkValues}\n tokens={tokens}\n onCancel={() => handleCancelEdit(attach.id)}\n />\n );\n }\n\n return (\n <EditAttachmentItem\n type=\"file\"\n defaultFileName={attach.name}\n onAccept={(pathName) =>\n handleAcceptFile(attach.id, pathName)\n }\n onCancel={() => handleCancelEdit(attach.id)}\n />\n );\n }}\n />\n ) : (\n <AttachmentListPlaceholder\n onAddFile={handleAddEmptyFile}\n onAddLink={handleAddEmptyLink}\n {...placeholderProps}\n />\n )}\n {Boolean(attachList.length) && (\n <Flex gap={2}>\n <Button onClick={handleAddEmptyFile}>\n <Icon data={Plus} />\n {i18n('action_add-file')}\n </Button>\n\n <Button view=\"outlined\" onClick={handleAddEmptyLink}>\n <Icon data={Plus} />\n {i18n('action_add-link')}\n </Button>\n\n <Button view=\"flat\" onClick={handleDeleteAll}>\n {i18n('action_remove-all')}\n </Button>\n </Flex>\n )}\n </Flex>\n </TabPanel>\n\n <TabPanel className={block('panel')} value=\"Deleted\">\n <Flex spacing={{pt: 3}} width=\"100%\" height=\"100%\">\n <AttachmentList\n {...attachmentListProps}\n isDeleted\n attachments={deletedAttachList}\n onRevert={(attach) => handleRevertDelete(attach.id)}\n />\n </Flex>\n </TabPanel>\n </TabProvider>\n </Flex>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useMemo","useRef","useState","Button","Flex","Icon","Tab","TabList","TabPanel","TabProvider","Text","AttachmentList","AttachmentListPlaceholder","EditAttachmentItem","createUuid","isObjectEqual","Plus","cn","i18n","jsx","_jsx","jsxs","_jsxs","block","Attachments","_ref","tokens","placeholderProps","attachmentListProps","onChange","onItemClick","customerAttachments","attachments","customerDeletedAttachments","deletedAttachments","_useState","_useState2","_slicedToArray","currentTab","setCurrentTab","_useState3","_useState4","innerAttachList","setInnerAttachList","_useState5","_useState6","innerDeletedAttachList","setInnerDeletedAttachList","_useState7","_useState8","editingIds","setEditingIds","_useState9","_useState0","wasAddedIds","setWasAddedIds","_useState1","_useState10","wasEdited","setWasEditedIds","attachList","deletedAttachList","attachCount","filter","a","isNew","length","defaultAttachList","getDefaultValuesForLink","linkId","_currentLink$name","_currentLink$link","_currentLink$token","currentLink","find","id","name","link","token","runAfterAttachAdded","attachId","newAttach","editedAttach","current","concat","_toConsumableArray","handleAddEmptyFile","patchAttachList","handleAddEmptyLink","handleAcceptFile","fileId","fileName","patchedFile","patchEditingIds","map","attach","handleAcceptLink","patchedLink","_objectSpread","handleCancelEdit","wasItNewAttach","some","handleEdit","editAttachId","handleDelete","deletedAttachmen","patchDeletedAttachList","handleDeleteAll","handleRevertDelete","revertAttach","className","direction","width","height","children","value","onUpdate","tab","variant","color","spacing","pt","wasEditedIds","onEdit","onDelete","renderEditForm","isLink","defaultLinkValues","type","onAccept","defaultValues","onCancel","defaultFileName","pathName","onAddFile","onAddLink","Boolean","px","gap","onClick","data","view","isDeleted","onRevert"],"sources":["Attachments.tsx"],"sourcesContent":["import React, {useMemo, useRef, useState} from 'react';\nimport {Button, Flex, Icon, Tab, TabList, TabPanel, TabProvider, Text} from '@gravity-ui/uikit';\nimport {AttachmentList, AttachmentListPlaceholder, EditAttachmentItem} from '../../components';\nimport {createUuid} from '../../helpers/createUuid';\nimport {isObjectEqual} from '../../helpers/isObjectEqual';\nimport {Plus} from '@gravity-ui/icons';\nimport type {\n AttachmentItemProps,\n AttachmentListPlaceholderProps,\n AttachmentListProps,\n EditLinkValues,\n} from '../../components';\nimport cn from 'bem-cn-lite';\n\nimport i18n from './i18n';\n\nimport './Attachments.scss';\n\ntype TabVariants = 'Current' | 'Deleted';\n\nexport type AttachItem = AttachmentItemProps['attachment'] & {token?: string; isNew?: boolean};\n\nexport type AttachmentsProps = {\n tokens?: {value: string; title: string}[];\n placeholderProps?: Omit<AttachmentListPlaceholderProps, 'onAddFile' | 'onAddLink'>;\n attachmentListProps?: Pick<AttachmentListProps, 'className'>;\n attachments?: AttachItem[];\n deletedAttachments?: AttachItem[];\n onItemClick?: AttachmentListProps<AttachItem>['onItemClick'];\n onChange?: (payload: {attachments: AttachItem[]; deletedAttachments: AttachItem[]}) => void;\n};\n\nconst block = cn('qp-attachments');\n\nexport const Attachments = ({\n tokens,\n placeholderProps,\n attachmentListProps,\n onChange,\n onItemClick,\n attachments: customerAttachments,\n deletedAttachments: customerDeletedAttachments,\n}: AttachmentsProps) => {\n const [currentTab, setCurrentTab] = useState<'Current' | 'Deleted'>('Current');\n\n const [innerAttachList, setInnerAttachList] = useState<AttachItem[]>(customerAttachments ?? []);\n const [innerDeletedAttachList, setInnerDeletedAttachList] = useState<AttachItem[]>(\n customerDeletedAttachments ?? [],\n );\n\n const [editingIds, setEditingIds] = useState<string[]>([]);\n const [wasAddedIds, setWasAddedIds] = useState<string[]>([]);\n const [wasEdited, setWasEditedIds] = useState<string[]>([]);\n\n const attachList = customerAttachments ?? innerAttachList;\n const deletedAttachList = customerDeletedAttachments ?? innerDeletedAttachList;\n\n const attachCount = useMemo(() => attachList.filter((a) => !a.isNew).length, [attachList]);\n\n const defaultAttachList = useRef(attachList);\n\n const getDefaultValuesForLink = (linkId: string) => {\n const currentLink = attachList.find((a) => a.id === linkId);\n return {\n name: currentLink?.name ?? '',\n link: currentLink?.link ?? '',\n token: currentLink?.token ?? '',\n };\n };\n\n const runAfterAttachAdded = (attachId: string, newAttach: AttachItem) => {\n const editedAttach = defaultAttachList.current.find((a) => a.id === attachId);\n\n if (!editedAttach) return;\n\n if (isObjectEqual(editedAttach, newAttach)) {\n setWasEditedIds(wasEdited.filter((id) => id !== attachId));\n return;\n }\n\n setWasEditedIds([...wasEdited, attachId]);\n };\n\n const handleAddEmptyFile = () => {\n const id = createUuid();\n\n const patchAttachList = [\n ...attachList.filter((a) => !a.isNew),\n {id, name: '', isNew: true},\n ];\n\n setInnerAttachList(patchAttachList);\n setWasAddedIds([...wasAddedIds, id]);\n setEditingIds([...editingIds, id]);\n\n onChange?.({\n attachments: patchAttachList,\n deletedAttachments: deletedAttachList,\n });\n };\n\n const handleAddEmptyLink = () => {\n const id = createUuid();\n\n const patchAttachList = [\n ...attachList.filter((a) => !a.isNew),\n {id, name: '', token: '', link: '', isNew: true},\n ];\n\n setInnerAttachList(patchAttachList);\n setWasAddedIds([...wasAddedIds, id]);\n setEditingIds([...editingIds, id]);\n\n onChange?.({\n attachments: patchAttachList,\n deletedAttachments: deletedAttachList,\n });\n };\n\n const handleAcceptFile = (fileId: string, fileName: string) => {\n const patchedFile = attachList.find((a) => a.id === fileId);\n if (!patchedFile) return;\n\n const patchEditingIds = editingIds.filter((id) => id !== fileId);\n const patchAttachList = attachList.map((attach) => {\n if (attach.id === fileId) return {id: fileId, name: fileName};\n return attach;\n });\n\n setEditingIds(patchEditingIds);\n setInnerAttachList(patchAttachList);\n\n onChange?.({\n attachments: patchAttachList,\n deletedAttachments: deletedAttachList,\n });\n\n runAfterAttachAdded(fileId, {id: fileId, name: fileName});\n };\n\n const handleAcceptLink = (linkId: string, link: EditLinkValues) => {\n const patchedLink = attachList.find((a) => a.id === linkId);\n if (!patchedLink) return;\n\n const patchEditingIds = editingIds.filter((id) => id !== linkId);\n const patchAttachList = attachList.map((attach) => {\n if (attach.id === linkId) return {id: linkId, ...link};\n return attach;\n });\n\n setEditingIds(patchEditingIds);\n setInnerAttachList(patchAttachList);\n\n onChange?.({\n attachments: patchAttachList,\n deletedAttachments: deletedAttachList,\n });\n\n runAfterAttachAdded(linkId, {id: linkId, ...link});\n };\n\n const handleCancelEdit = (fileId: string) => {\n const patchEditingIds = editingIds.filter((id) => id !== fileId);\n const patchAttachList = attachList.filter((a) => !a.isNew);\n\n const wasItNewAttach = attachList.some((a) => a.isNew);\n if (wasItNewAttach) {\n setWasAddedIds(wasAddedIds.filter((id) => id !== fileId));\n }\n\n setInnerAttachList(patchAttachList);\n setEditingIds(patchEditingIds);\n\n onChange?.({\n attachments: patchAttachList,\n deletedAttachments: deletedAttachList,\n });\n };\n\n const handleEdit = (editAttachId: string) => {\n const patchEditingIds = [...editingIds, editAttachId];\n\n setEditingIds(patchEditingIds);\n };\n\n const handleDelete = (attachId: string) => {\n const deletedAttachmen = attachList.find((a) => a.id === attachId);\n\n if (!deletedAttachmen) return;\n\n const patchAttachList = attachList.filter((a) => a.id !== attachId);\n const patchDeletedAttachList = [...deletedAttachList, deletedAttachmen];\n\n setInnerAttachList(patchAttachList);\n setInnerDeletedAttachList(patchDeletedAttachList);\n\n onChange?.({\n attachments: patchAttachList,\n deletedAttachments: patchDeletedAttachList,\n });\n };\n\n const handleDeleteAll = () => {\n const patchAttachList: never[] = [];\n const patchDeletedAttachList = [\n ...deletedAttachList,\n ...attachList.filter((a) => !a.isNew),\n ];\n\n setInnerAttachList(patchAttachList);\n setInnerDeletedAttachList(patchDeletedAttachList);\n\n onChange?.({\n attachments: patchAttachList,\n deletedAttachments: patchDeletedAttachList,\n });\n };\n\n const handleRevertDelete = (attachId: string) => {\n const revertAttach = deletedAttachList.find((a) => a.id === attachId);\n\n if (!revertAttach) return;\n\n const patchAttachList = [...attachList, revertAttach];\n const patchDeletedAttachList = deletedAttachList.filter((a) => a.id !== attachId);\n\n setInnerAttachList(patchAttachList);\n setInnerDeletedAttachList(patchDeletedAttachList);\n\n onChange?.({\n attachments: patchAttachList,\n deletedAttachments: patchDeletedAttachList,\n });\n };\n\n return (\n <Flex className={block()} direction=\"column\" width=\"100%\" height=\"100%\">\n <TabProvider value={currentTab} onUpdate={(tab) => setCurrentTab(tab as TabVariants)}>\n <TabList className={block('tab-list')}>\n <Tab className={block('tab')} value=\"Current\">\n <Text variant=\"body-1\">Current</Text>\n <Text color=\"hint\" variant=\"body-1\">\n {attachCount}\n </Text>\n </Tab>\n <Tab className={block('tab')} value=\"Deleted\">\n <Text variant=\"body-1\">Deleted</Text>\n <Text color=\"hint\" variant=\"body-1\">\n {deletedAttachList.length}\n </Text>\n </Tab>\n </TabList>\n\n <TabPanel className={block('panel')} value=\"Current\">\n <Flex spacing={{pt: 3}} direction=\"column\" width=\"100%\" height=\"100%\">\n {attachList.length ? (\n <AttachmentList\n {...attachmentListProps}\n attachments={attachList}\n wasAddedIds={wasAddedIds}\n wasEditedIds={wasEdited}\n editingIds={editingIds}\n onEdit={(attach) => handleEdit(attach.id)}\n onDelete={(attach) => handleDelete(attach.id)}\n onItemClick={onItemClick}\n renderEditForm={(attach) => {\n const isLink = typeof attach.link === 'string';\n\n if (isLink) {\n const defaultLinkValues = getDefaultValuesForLink(\n attach.id,\n );\n\n return (\n <EditAttachmentItem\n type=\"link\"\n onAccept={(link) =>\n handleAcceptLink(attach.id, link)\n }\n defaultValues={defaultLinkValues}\n tokens={tokens}\n onCancel={() => handleCancelEdit(attach.id)}\n />\n );\n }\n\n return (\n <EditAttachmentItem\n type=\"file\"\n defaultFileName={attach.name}\n onAccept={(pathName) =>\n handleAcceptFile(attach.id, pathName)\n }\n onCancel={() => handleCancelEdit(attach.id)}\n />\n );\n }}\n />\n ) : (\n <AttachmentListPlaceholder\n onAddFile={handleAddEmptyFile}\n onAddLink={handleAddEmptyLink}\n {...placeholderProps}\n />\n )}\n {Boolean(attachList.length) && (\n <Flex spacing={{px: 4}} gap={2}>\n <Button onClick={handleAddEmptyFile}>\n <Icon data={Plus} />\n {i18n('action_add-file')}\n </Button>\n\n <Button view=\"outlined\" onClick={handleAddEmptyLink}>\n <Icon data={Plus} />\n {i18n('action_add-link')}\n </Button>\n\n <Button view=\"flat\" onClick={handleDeleteAll}>\n {i18n('action_remove-all')}\n </Button>\n </Flex>\n )}\n </Flex>\n </TabPanel>\n\n <TabPanel className={block('panel')} value=\"Deleted\">\n <Flex spacing={{pt: 3}} width=\"100%\" height=\"100%\">\n <AttachmentList\n {...attachmentListProps}\n isDeleted\n attachments={deletedAttachList}\n onRevert={(attach) => handleRevertDelete(attach.id)}\n onItemClick={onItemClick}\n />\n </Flex>\n </TabPanel>\n </TabProvider>\n </Flex>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import type { StoryObj } from '@storybook/react';
|
|
3
3
|
declare const meta: {
|
|
4
4
|
title: string;
|
|
5
|
-
component: ({ tokens, placeholderProps, attachmentListProps, onChange, attachments: customerAttachments, deletedAttachments: customerDeletedAttachments, }: import("./Attachments").AttachmentsProps) => React.JSX.Element;
|
|
5
|
+
component: ({ tokens, placeholderProps, attachmentListProps, onChange, onItemClick, attachments: customerAttachments, deletedAttachments: customerDeletedAttachments, }: import("./Attachments").AttachmentsProps) => React.JSX.Element;
|
|
6
6
|
tags: string[];
|
|
7
7
|
parameters: {
|
|
8
8
|
layout: string;
|
|
@@ -16,6 +16,7 @@ declare const meta: {
|
|
|
16
16
|
attachmentListProps?: Pick<import("../..").AttachmentListProps, "className"> | undefined;
|
|
17
17
|
attachments?: import("./Attachments").AttachItem[] | undefined;
|
|
18
18
|
deletedAttachments?: import("./Attachments").AttachItem[] | undefined;
|
|
19
|
+
onItemClick?: ((item: import("@gravity-ui/uikit").ListItemData<import("./Attachments").AttachItem>, index: number, fromKeyboard?: boolean, event?: React.MouseEvent<HTMLDivElement, MouseEvent> | React.KeyboardEvent<HTMLElement>) => void) | undefined;
|
|
19
20
|
onChange?: ((payload: {
|
|
20
21
|
attachments: import("./Attachments").AttachItem[];
|
|
21
22
|
deletedAttachments: import("./Attachments").AttachItem[];
|
|
@@ -62,14 +62,16 @@ export var Default = {
|
|
|
62
62
|
description: 'Add files or links that should be available to the query.',
|
|
63
63
|
linkForDoc: '#attachments-help',
|
|
64
64
|
linkText: 'About attachments'
|
|
65
|
-
}
|
|
65
|
+
},
|
|
66
|
+
onItemClick: console.info
|
|
66
67
|
}
|
|
67
68
|
};
|
|
68
69
|
|
|
69
70
|
/** Initial files and links supplied through the uncontrolled `attachments` API. */
|
|
70
71
|
export var WithAttachments = {
|
|
71
72
|
args: {
|
|
72
|
-
attachments: attachments
|
|
73
|
+
attachments: attachments,
|
|
74
|
+
onItemClick: console.info
|
|
73
75
|
}
|
|
74
76
|
};
|
|
75
77
|
|
|
@@ -77,7 +79,8 @@ export var WithAttachments = {
|
|
|
77
79
|
export var WithDeletedAttachments = {
|
|
78
80
|
args: {
|
|
79
81
|
attachments: attachments,
|
|
80
|
-
deletedAttachments: deletedAttachments
|
|
82
|
+
deletedAttachments: deletedAttachments,
|
|
83
|
+
onItemClick: console.info
|
|
81
84
|
}
|
|
82
85
|
};
|
|
83
86
|
var ControlledAttachments = function ControlledAttachments(props) {
|
|
@@ -93,6 +96,7 @@ var ControlledAttachments = function ControlledAttachments(props) {
|
|
|
93
96
|
return /*#__PURE__*/_jsx(Attachments, _objectSpread(_objectSpread({}, props), {}, {
|
|
94
97
|
attachments: currentAttachments,
|
|
95
98
|
deletedAttachments: currentDeletedAttachments,
|
|
99
|
+
onItemClick: console.info,
|
|
96
100
|
onChange: function onChange(payload) {
|
|
97
101
|
var _props$onChange;
|
|
98
102
|
setCurrentAttachments(payload.attachments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","fn","Attachments","jsx","_jsx","attachments","id","name","link","token","deletedAttachments","tokens","value","title","meta","component","tags","parameters","layout","decorators","Story","style","height","width","children","args","onChange","Default","placeholderProps","description","linkForDoc","linkText","WithAttachments","WithDeletedAttachments","ControlledAttachments","props","_props$attachments","_props$deletedAttachm","_useState","_useState2","_slicedToArray","currentAttachments","setCurrentAttachments","_useState3","_useState4","currentDeletedAttachments","setCurrentDeletedAttachments","_objectSpread","payload","_props$onChange","call","Controlled","render"],"sources":["Attachments.stories.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport type {Meta, StoryObj} from '@storybook/react';\nimport {fn} from 'storybook/test';\nimport {Attachments} from './Attachments';\n\ntype AttachmentsProps = React.ComponentProps<typeof Attachments>;\ntype Attachment = NonNullable<AttachmentsProps['attachments']>[number];\n\nconst attachments: Attachment[] = [\n {id: 'readme', name: 'README.md'},\n {id: 'query', name: 'daily-report.sql'},\n {\n id: 'documentation',\n name: 'Query documentation',\n link: 'https://example.com/docs/query',\n token: 'documentation-token',\n },\n];\n\nconst deletedAttachments: Attachment[] = [\n {id: 'archive', name: 'archive.csv'},\n {\n id: 'old-dashboard',\n name: 'Old dashboard',\n link: 'https://example.com/dashboards/old',\n token: 'dashboard-token',\n },\n];\n\nconst tokens: NonNullable<AttachmentsProps['tokens']> = [\n {value: 'documentation-token', title: 'Documentation token'},\n {value: 'dashboard-token', title: 'Dashboard token'},\n];\n\nconst meta = {\n title: 'Modules/Attachments',\n component: Attachments,\n tags: ['autodocs'],\n parameters: {\n layout: 'padded',\n },\n decorators: [\n (Story) => (\n <div style={{height: 500, width: 322}}>\n <Story />\n </div>\n ),\n ],\n args: {\n tokens,\n onChange: fn(),\n },\n} satisfies Meta<typeof Attachments>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n/** Empty state with content configured through `placeholderProps`. */\nexport const Default: Story = {\n args: {\n placeholderProps: {\n title: 'No attachments',\n description: 'Add files or links that should be available to the query.',\n linkForDoc: '#attachments-help',\n linkText: 'About attachments',\n },\n },\n};\n\n/** Initial files and links supplied through the uncontrolled `attachments` API. */\nexport const WithAttachments: Story = {\n args: {\n attachments,\n },\n};\n\n/** Current and deleted collections. Open the Deleted tab to restore an attachment. */\nexport const WithDeletedAttachments: Story = {\n args: {\n attachments,\n deletedAttachments,\n },\n};\n\nconst ControlledAttachments = (props: AttachmentsProps) => {\n const [currentAttachments, setCurrentAttachments] = useState(props.attachments ?? []);\n const [currentDeletedAttachments, setCurrentDeletedAttachments] = useState(\n props.deletedAttachments ?? [],\n );\n\n return (\n <Attachments\n {...props}\n attachments={currentAttachments}\n deletedAttachments={currentDeletedAttachments}\n onChange={(payload) => {\n setCurrentAttachments(payload.attachments);\n setCurrentDeletedAttachments(payload.deletedAttachments);\n props.onChange?.(payload);\n }}\n />\n );\n};\n\n/** Controlled usage: every edit, delete, restore, or addition is applied from `onChange`. */\nexport const Controlled: Story = {\n args: {\n attachments,\n deletedAttachments,\n },\n render: (args) => <ControlledAttachments {...args} />,\n};\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAGC,QAAQ,QAAO,OAAO;AAErC,SAAQC,EAAE,QAAO,gBAAgB;AACjC,SAAQC,WAAW;AAAuB,SAAAC,GAAA,IAAAC,IAAA;AAK1C,IAAMC,WAAyB,GAAG,CAC9B;EAACC,EAAE,EAAE,QAAQ;EAAEC,IAAI,EAAE;AAAW,CAAC,EACjC;EAACD,EAAE,EAAE,OAAO;EAAEC,IAAI,EAAE;AAAkB,CAAC,EACvC;EACID,EAAE,EAAE,eAAe;EACnBC,IAAI,EAAE,qBAAqB;EAC3BC,IAAI,EAAE,gCAAgC;EACtCC,KAAK,EAAE;AACX,CAAC,CACJ;AAED,IAAMC,kBAAgC,GAAG,CACrC;EAACJ,EAAE,EAAE,SAAS;EAAEC,IAAI,EAAE;AAAa,CAAC,EACpC;EACID,EAAE,EAAE,eAAe;EACnBC,IAAI,EAAE,eAAe;EACrBC,IAAI,EAAE,oCAAoC;EAC1CC,KAAK,EAAE;AACX,CAAC,CACJ;AAED,IAAME,MAA+C,GAAG,CACpD;EAACC,KAAK,EAAE,qBAAqB;EAAEC,KAAK,EAAE;AAAqB,CAAC,EAC5D;EAACD,KAAK,EAAE,iBAAiB;EAAEC,KAAK,EAAE;AAAiB,CAAC,CACvD;AAED,IAAMC,IAAI,GAAG;EACTD,KAAK,EAAE,qBAAqB;EAC5BE,SAAS,EAAEb,WAAW;EACtBc,IAAI,EAAE,CAAC,UAAU,CAAC;EAClBC,UAAU,EAAE;IACRC,MAAM,EAAE;EACZ,CAAC;EACDC,UAAU,EAAE,CACR,UAACC,KAAK;IAAA,oBACFhB,IAAA;MAAKiB,KAAK,EAAE;QAACC,MAAM,EAAE,GAAG;QAAEC,KAAK,EAAE;MAAG,CAAE;MAAAC,QAAA,eAClCpB,IAAA,CAACgB,KAAK,IAAE;IAAC,CACR,CAAC;EAAA,CACT,CACJ;EACDK,IAAI,EAAE;IACFd,MAAM,EAANA,MAAM;IACNe,QAAQ,EAAEzB,EAAE,CAAC;EACjB;AACJ,CAAoC;AAEpC,eAAea,IAAI;AAGnB;AACA,OAAO,IAAMa,OAAc,GAAG;EAC1BF,IAAI,EAAE;IACFG,gBAAgB,EAAE;MACdf,KAAK,EAAE,gBAAgB;MACvBgB,WAAW,EAAE,2DAA2D;MACxEC,UAAU,EAAE,mBAAmB;MAC/BC,QAAQ,EAAE;IACd;
|
|
1
|
+
{"version":3,"names":["React","useState","fn","Attachments","jsx","_jsx","attachments","id","name","link","token","deletedAttachments","tokens","value","title","meta","component","tags","parameters","layout","decorators","Story","style","height","width","children","args","onChange","Default","placeholderProps","description","linkForDoc","linkText","onItemClick","console","info","WithAttachments","WithDeletedAttachments","ControlledAttachments","props","_props$attachments","_props$deletedAttachm","_useState","_useState2","_slicedToArray","currentAttachments","setCurrentAttachments","_useState3","_useState4","currentDeletedAttachments","setCurrentDeletedAttachments","_objectSpread","payload","_props$onChange","call","Controlled","render"],"sources":["Attachments.stories.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport type {Meta, StoryObj} from '@storybook/react';\nimport {fn} from 'storybook/test';\nimport {Attachments} from './Attachments';\n\ntype AttachmentsProps = React.ComponentProps<typeof Attachments>;\ntype Attachment = NonNullable<AttachmentsProps['attachments']>[number];\n\nconst attachments: Attachment[] = [\n {id: 'readme', name: 'README.md'},\n {id: 'query', name: 'daily-report.sql'},\n {\n id: 'documentation',\n name: 'Query documentation',\n link: 'https://example.com/docs/query',\n token: 'documentation-token',\n },\n];\n\nconst deletedAttachments: Attachment[] = [\n {id: 'archive', name: 'archive.csv'},\n {\n id: 'old-dashboard',\n name: 'Old dashboard',\n link: 'https://example.com/dashboards/old',\n token: 'dashboard-token',\n },\n];\n\nconst tokens: NonNullable<AttachmentsProps['tokens']> = [\n {value: 'documentation-token', title: 'Documentation token'},\n {value: 'dashboard-token', title: 'Dashboard token'},\n];\n\nconst meta = {\n title: 'Modules/Attachments',\n component: Attachments,\n tags: ['autodocs'],\n parameters: {\n layout: 'padded',\n },\n decorators: [\n (Story) => (\n <div style={{height: 500, width: 322}}>\n <Story />\n </div>\n ),\n ],\n args: {\n tokens,\n onChange: fn(),\n },\n} satisfies Meta<typeof Attachments>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n/** Empty state with content configured through `placeholderProps`. */\nexport const Default: Story = {\n args: {\n placeholderProps: {\n title: 'No attachments',\n description: 'Add files or links that should be available to the query.',\n linkForDoc: '#attachments-help',\n linkText: 'About attachments',\n },\n onItemClick: console.info,\n },\n};\n\n/** Initial files and links supplied through the uncontrolled `attachments` API. */\nexport const WithAttachments: Story = {\n args: {\n attachments,\n onItemClick: console.info,\n },\n};\n\n/** Current and deleted collections. Open the Deleted tab to restore an attachment. */\nexport const WithDeletedAttachments: Story = {\n args: {\n attachments,\n deletedAttachments,\n onItemClick: console.info,\n },\n};\n\nconst ControlledAttachments = (props: AttachmentsProps) => {\n const [currentAttachments, setCurrentAttachments] = useState(props.attachments ?? []);\n const [currentDeletedAttachments, setCurrentDeletedAttachments] = useState(\n props.deletedAttachments ?? [],\n );\n\n return (\n <Attachments\n {...props}\n attachments={currentAttachments}\n deletedAttachments={currentDeletedAttachments}\n onItemClick={console.info}\n onChange={(payload) => {\n setCurrentAttachments(payload.attachments);\n setCurrentDeletedAttachments(payload.deletedAttachments);\n props.onChange?.(payload);\n }}\n />\n );\n};\n\n/** Controlled usage: every edit, delete, restore, or addition is applied from `onChange`. */\nexport const Controlled: Story = {\n args: {\n attachments,\n deletedAttachments,\n },\n render: (args) => <ControlledAttachments {...args} />,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,6 +13,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
13
13
|
export var HistoryHeader = function HistoryHeader(_ref) {
|
|
14
14
|
var search = _ref.search,
|
|
15
15
|
fullSearch = _ref.fullSearch,
|
|
16
|
+
_ref$fullSearchAvaila = _ref.fullSearchAvailable,
|
|
17
|
+
fullSearchAvailable = _ref$fullSearchAvaila === void 0 ? true : _ref$fullSearchAvaila,
|
|
16
18
|
hasClear = _ref.hasClear,
|
|
17
19
|
filter = _ref.filter,
|
|
18
20
|
onUpdate = _ref.onUpdate,
|
|
@@ -21,19 +23,19 @@ export var HistoryHeader = function HistoryHeader(_ref) {
|
|
|
21
23
|
_useState2 = _slicedToArray(_useState, 2),
|
|
22
24
|
searchValue = _useState2[0],
|
|
23
25
|
setSearchValue = _useState2[1];
|
|
24
|
-
var _useState3 = useState(
|
|
26
|
+
var _useState3 = useState(fullSearchAvailable && Boolean(fullSearch)),
|
|
25
27
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
26
28
|
isFullSearch = _useState4[0],
|
|
27
29
|
setFullSearch = _useState4[1];
|
|
28
30
|
useEffect(function () {
|
|
29
31
|
setSearchValue(search || '');
|
|
30
|
-
setFullSearch(
|
|
31
|
-
}, [search, fullSearch]);
|
|
32
|
+
setFullSearch(fullSearchAvailable && Boolean(fullSearch));
|
|
33
|
+
}, [search, fullSearch, fullSearchAvailable]);
|
|
32
34
|
var handleOnUpdate = function handleOnUpdate(newValue) {
|
|
33
35
|
setSearchValue(newValue);
|
|
34
36
|
onUpdate({
|
|
35
37
|
value: newValue,
|
|
36
|
-
fullSearch: isFullSearch
|
|
38
|
+
fullSearch: fullSearchAvailable && isFullSearch
|
|
37
39
|
});
|
|
38
40
|
};
|
|
39
41
|
var handleModeChange = function handleModeChange() {
|
|
@@ -49,10 +51,10 @@ export var HistoryHeader = function HistoryHeader(_ref) {
|
|
|
49
51
|
value: searchValue,
|
|
50
52
|
hasClear: hasClear,
|
|
51
53
|
onUpdate: handleOnUpdate,
|
|
52
|
-
innerButtons: [/*#__PURE__*/_jsx(FullSearchToggleButton, {
|
|
54
|
+
innerButtons: fullSearchAvailable ? [/*#__PURE__*/_jsx(FullSearchToggleButton, {
|
|
53
55
|
active: isFullSearch,
|
|
54
56
|
onClick: handleModeChange
|
|
55
|
-
}, "full-search")],
|
|
57
|
+
}, "full-search")] : undefined,
|
|
56
58
|
endButtons: filter ? [/*#__PURE__*/_jsx(HistoryFilter, _objectSpread({}, filter), "filter")] : undefined
|
|
57
59
|
});
|
|
58
60
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useState","FullSearchToggleButton","HistoryFilter","SearchWithButtons","jsx","_jsx","HistoryHeader","_ref","search","fullSearch","hasClear","filter","onUpdate","className","_useState","_useState2","_slicedToArray","searchValue","setSearchValue","_useState3","_useState4","isFullSearch","setFullSearch","handleOnUpdate","newValue","value","handleModeChange","innerButtons","active","onClick","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","FullSearchToggleButton","HistoryFilter","SearchWithButtons","jsx","_jsx","HistoryHeader","_ref","search","fullSearch","_ref$fullSearchAvaila","fullSearchAvailable","hasClear","filter","onUpdate","className","_useState","_useState2","_slicedToArray","searchValue","setSearchValue","_useState3","Boolean","_useState4","isFullSearch","setFullSearch","handleOnUpdate","newValue","value","handleModeChange","innerButtons","active","onClick","undefined","endButtons","_objectSpread"],"sources":["HistoryHeader.tsx"],"sourcesContent":["import React, {FC, useEffect, useState} from 'react';\nimport {FullSearchToggleButton} from './internal/FullSearchToggleButton';\nimport {HistoryFilter, SearchWithButtons} from '../../components';\nimport {QueryListFilterConfig} from '../../types/queryList';\n\ntype Props = {\n search?: string;\n fullSearch?: boolean;\n fullSearchAvailable?: boolean;\n hasClear?: boolean;\n filter?: QueryListFilterConfig;\n onUpdate: (data: {value: string; fullSearch: boolean}) => void;\n className?: string;\n};\n\nexport const HistoryHeader: FC<Props> = ({\n search,\n fullSearch,\n fullSearchAvailable = true,\n hasClear,\n filter,\n onUpdate,\n className,\n}) => {\n const [searchValue, setSearchValue] = useState(search || '');\n const [isFullSearch, setFullSearch] = useState(fullSearchAvailable && Boolean(fullSearch));\n\n useEffect(() => {\n setSearchValue(search || '');\n setFullSearch(fullSearchAvailable && Boolean(fullSearch));\n }, [search, fullSearch, fullSearchAvailable]);\n\n const handleOnUpdate = (newValue: string) => {\n setSearchValue(newValue);\n onUpdate({value: newValue, fullSearch: fullSearchAvailable && isFullSearch});\n };\n\n const handleModeChange = () => {\n const newValue = !isFullSearch;\n setFullSearch(newValue);\n onUpdate({value: searchValue, fullSearch: newValue});\n };\n\n return (\n <SearchWithButtons\n className={className}\n value={searchValue}\n hasClear={hasClear}\n onUpdate={handleOnUpdate}\n innerButtons={\n fullSearchAvailable\n ? [\n <FullSearchToggleButton\n key=\"full-search\"\n active={isFullSearch}\n onClick={handleModeChange}\n />,\n ]\n : undefined\n }\n endButtons={filter ? [<HistoryFilter key=\"filter\" {...filter} />] : undefined}\n />\n );\n};\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,IAAOC,SAAS,EAAEC,QAAQ,QAAO,OAAO;AACpD,SAAQC,sBAAsB;AAC9B,SAAQC,aAAa,EAAEC,iBAAiB;AAA0B,SAAAC,GAAA,IAAAC,IAAA;AAalE,OAAO,IAAMC,aAAwB,GAAG,SAA3BA,aAAwBA,CAAAC,IAAA,EAQ/B;EAAA,IAPFC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAAC,qBAAA,GAAAH,IAAA,CACVI,mBAAmB;IAAnBA,mBAAmB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAC1BE,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,MAAM,GAAAN,IAAA,CAANM,MAAM;IACNC,QAAQ,GAAAP,IAAA,CAARO,QAAQ;IACRC,SAAS,GAAAR,IAAA,CAATQ,SAAS;EAET,IAAAC,SAAA,GAAsChB,QAAQ,CAACQ,MAAM,IAAI,EAAE,CAAC;IAAAS,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAArDG,WAAW,GAAAF,UAAA;IAAEG,cAAc,GAAAH,UAAA;EAClC,IAAAI,UAAA,GAAsCrB,QAAQ,CAACW,mBAAmB,IAAIW,OAAO,CAACb,UAAU,CAAC,CAAC;IAAAc,UAAA,GAAAL,cAAA,CAAAG,UAAA;IAAnFG,YAAY,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAElCxB,SAAS,CAAC,YAAM;IACZqB,cAAc,CAACZ,MAAM,IAAI,EAAE,CAAC;IAC5BiB,aAAa,CAACd,mBAAmB,IAAIW,OAAO,CAACb,UAAU,CAAC,CAAC;EAC7D,CAAC,EAAE,CAACD,MAAM,EAAEC,UAAU,EAAEE,mBAAmB,CAAC,CAAC;EAE7C,IAAMe,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,QAAgB,EAAK;IACzCP,cAAc,CAACO,QAAQ,CAAC;IACxBb,QAAQ,CAAC;MAACc,KAAK,EAAED,QAAQ;MAAElB,UAAU,EAAEE,mBAAmB,IAAIa;IAAY,CAAC,CAAC;EAChF,CAAC;EAED,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA,EAAS;IAC3B,IAAMF,QAAQ,GAAG,CAACH,YAAY;IAC9BC,aAAa,CAACE,QAAQ,CAAC;IACvBb,QAAQ,CAAC;MAACc,KAAK,EAAET,WAAW;MAAEV,UAAU,EAAEkB;IAAQ,CAAC,CAAC;EACxD,CAAC;EAED,oBACItB,IAAA,CAACF,iBAAiB;IACdY,SAAS,EAAEA,SAAU;IACrBa,KAAK,EAAET,WAAY;IACnBP,QAAQ,EAAEA,QAAS;IACnBE,QAAQ,EAAEY,cAAe;IACzBI,YAAY,EACRnB,mBAAmB,GACb,cACIN,IAAA,CAACJ,sBAAsB;MAEnB8B,MAAM,EAAEP,YAAa;MACrBQ,OAAO,EAAEH;IAAiB,GAFtB,aAGP,CAAC,CACL,GACDI,SACT;IACDC,UAAU,EAAErB,MAAM,GAAG,cAACR,IAAA,CAACH,aAAa,EAAAiC,aAAA,KAAkBtB,MAAM,GAAnB,QAAsB,CAAC,CAAC,GAAGoB;EAAU,CACjF,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -5,4 +5,4 @@ import './HistoryRow.scss';
|
|
|
5
5
|
export type Props<T extends QueryHistoryRow> = {
|
|
6
6
|
item: T;
|
|
7
7
|
} & Omit<QueryListRowRenderData<T>, 'item' | 'variant'>;
|
|
8
|
-
export declare const HistoryRow: <T extends QueryHistoryRow>({ item, actions, isActive, comparison, editing, visibleFields, }: Props<T>) => React.JSX.Element;
|
|
8
|
+
export declare const HistoryRow: <T extends QueryHistoryRow>({ item, actions, isActive, comparison, editing, visibleFields, renderLink, }: Props<T>) => React.JSX.Element;
|
|
@@ -14,7 +14,8 @@ export var HistoryRow = function HistoryRow(_ref) {
|
|
|
14
14
|
isActive = _ref.isActive,
|
|
15
15
|
comparison = _ref.comparison,
|
|
16
16
|
editing = _ref.editing,
|
|
17
|
-
visibleFields = _ref.visibleFields
|
|
17
|
+
visibleFields = _ref.visibleFields,
|
|
18
|
+
renderLink = _ref.renderLink;
|
|
18
19
|
var href = item.href,
|
|
19
20
|
status = item.status,
|
|
20
21
|
mode = item.mode,
|
|
@@ -29,6 +30,7 @@ export var HistoryRow = function HistoryRow(_ref) {
|
|
|
29
30
|
return /*#__PURE__*/_jsxs(RowLink, {
|
|
30
31
|
href: href,
|
|
31
32
|
disabled: isEditing || isComparisonMode,
|
|
33
|
+
renderLink: renderLink,
|
|
32
34
|
className: block(_defineProperty(_defineProperty({}, status, true), "compared", isChecked)),
|
|
33
35
|
children: [/*#__PURE__*/_jsx(QueryStatusIcon, {
|
|
34
36
|
status: status
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Flex","Text","cn","EditableRowTitle","HistoryPrivateIcon","QueryDuration","QueryStatusIcon","RowActionsMenu","RowLink","formatTime","isFieldVisible","jsx","_jsx","jsxs","_jsxs","block","HistoryRow","_ref","item","actions","isActive","comparison","editing","visibleFields","href","status","mode","startTime","endTime","engine","isPrivate","isEditing","Boolean","enabled","isComparisonMode","isChecked","checked","showMenu","length","disabled","className","_defineProperty","children","direction","gap","justifyContent","color"],"sources":["HistoryRow.tsx"],"sourcesContent":["import React from 'react';\nimport {QueryListRowRenderData} from '../../types/queryList';\nimport {QueryHistoryRow} from '../../types/history';\nimport {Flex, Text} from '@gravity-ui/uikit';\nimport './HistoryRow.scss';\nimport cn from 'bem-cn-lite';\nimport {\n EditableRowTitle,\n HistoryPrivateIcon,\n QueryDuration,\n QueryStatusIcon,\n RowActionsMenu,\n RowLink,\n} from '../../components';\nimport {formatTime} from '../../helpers/time';\nimport {isFieldVisible} from '../../helpers/isFieldVisible';\n\nexport type Props<T extends QueryHistoryRow> = {\n item: T;\n} & Omit<QueryListRowRenderData<T>, 'item' | 'variant'>;\n\nconst block = cn('qp-history-row');\n\nexport const HistoryRow = <T extends QueryHistoryRow>({\n item,\n actions,\n isActive,\n comparison,\n editing,\n visibleFields,\n}: Props<T>) => {\n const {href, status, mode, startTime, endTime, engine, isPrivate} = item;\n const isEditing = Boolean(editing?.enabled);\n const isComparisonMode = Boolean(comparison?.enabled);\n const isChecked = Boolean(comparison?.checked);\n const showMenu = isActive && Boolean(actions?.length) && !isComparisonMode;\n\n return (\n <RowLink\n href={href}\n disabled={isEditing || isComparisonMode}\n className={block({[status]: true, compared: isChecked})}\n >\n <QueryStatusIcon status={status} />\n <Flex direction=\"column\" gap={1} className={block('right-column')}>\n <Flex justifyContent=\"space-between\" className={block('header')}>\n <EditableRowTitle item={item} editing={editing} />\n {showMenu && <RowActionsMenu item={item} actions={actions} />}\n </Flex>\n <div className={block('data')}>\n {isFieldVisible(visibleFields, 'duration') && startTime && (\n <QueryDuration\n className={block('duration')}\n status={status}\n startTime={startTime}\n endTime={endTime}\n />\n )}\n <Flex gap={2}>\n {isFieldVisible(visibleFields, 'mode') && mode && (\n <Text color=\"complementary\">{mode}</Text>\n )}\n {isFieldVisible(visibleFields, 'startTime') && startTime && (\n <Text color=\"complementary\">{formatTime(startTime)}</Text>\n )}\n {isFieldVisible(visibleFields, 'engine') && engine && (\n <Text color=\"complementary\">{engine}</Text>\n )}\n {isFieldVisible(visibleFields, 'isPrivate') && (\n <HistoryPrivateIcon isPrivate={isPrivate} />\n )}\n </Flex>\n </div>\n </Flex>\n </RowLink>\n );\n};\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAAQC,IAAI,EAAEC,IAAI,QAAO,mBAAmB;AAC5C;AACA,OAAOC,EAAE,MAAM,aAAa;AAC5B,SACIC,gBAAgB,EAChBC,kBAAkB,EAClBC,aAAa,EACbC,eAAe,EACfC,cAAc,EACdC,OAAO;AAEX,SAAQC,UAAU;AAClB,SAAQC,cAAc;AAAsC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAM5D,IAAMC,KAAK,GAAGb,EAAE,CAAC,gBAAgB,CAAC;AAElC,OAAO,IAAMc,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,
|
|
1
|
+
{"version":3,"names":["React","Flex","Text","cn","EditableRowTitle","HistoryPrivateIcon","QueryDuration","QueryStatusIcon","RowActionsMenu","RowLink","formatTime","isFieldVisible","jsx","_jsx","jsxs","_jsxs","block","HistoryRow","_ref","item","actions","isActive","comparison","editing","visibleFields","renderLink","href","status","mode","startTime","endTime","engine","isPrivate","isEditing","Boolean","enabled","isComparisonMode","isChecked","checked","showMenu","length","disabled","className","_defineProperty","children","direction","gap","justifyContent","color"],"sources":["HistoryRow.tsx"],"sourcesContent":["import React from 'react';\nimport {QueryListRowRenderData} from '../../types/queryList';\nimport {QueryHistoryRow} from '../../types/history';\nimport {Flex, Text} from '@gravity-ui/uikit';\nimport './HistoryRow.scss';\nimport cn from 'bem-cn-lite';\nimport {\n EditableRowTitle,\n HistoryPrivateIcon,\n QueryDuration,\n QueryStatusIcon,\n RowActionsMenu,\n RowLink,\n} from '../../components';\nimport {formatTime} from '../../helpers/time';\nimport {isFieldVisible} from '../../helpers/isFieldVisible';\n\nexport type Props<T extends QueryHistoryRow> = {\n item: T;\n} & Omit<QueryListRowRenderData<T>, 'item' | 'variant'>;\n\nconst block = cn('qp-history-row');\n\nexport const HistoryRow = <T extends QueryHistoryRow>({\n item,\n actions,\n isActive,\n comparison,\n editing,\n visibleFields,\n renderLink,\n}: Props<T>) => {\n const {href, status, mode, startTime, endTime, engine, isPrivate} = item;\n const isEditing = Boolean(editing?.enabled);\n const isComparisonMode = Boolean(comparison?.enabled);\n const isChecked = Boolean(comparison?.checked);\n const showMenu = isActive && Boolean(actions?.length) && !isComparisonMode;\n\n return (\n <RowLink\n href={href}\n disabled={isEditing || isComparisonMode}\n renderLink={renderLink}\n className={block({[status]: true, compared: isChecked})}\n >\n <QueryStatusIcon status={status} />\n <Flex direction=\"column\" gap={1} className={block('right-column')}>\n <Flex justifyContent=\"space-between\" className={block('header')}>\n <EditableRowTitle item={item} editing={editing} />\n {showMenu && <RowActionsMenu item={item} actions={actions} />}\n </Flex>\n <div className={block('data')}>\n {isFieldVisible(visibleFields, 'duration') && startTime && (\n <QueryDuration\n className={block('duration')}\n status={status}\n startTime={startTime}\n endTime={endTime}\n />\n )}\n <Flex gap={2}>\n {isFieldVisible(visibleFields, 'mode') && mode && (\n <Text color=\"complementary\">{mode}</Text>\n )}\n {isFieldVisible(visibleFields, 'startTime') && startTime && (\n <Text color=\"complementary\">{formatTime(startTime)}</Text>\n )}\n {isFieldVisible(visibleFields, 'engine') && engine && (\n <Text color=\"complementary\">{engine}</Text>\n )}\n {isFieldVisible(visibleFields, 'isPrivate') && (\n <HistoryPrivateIcon isPrivate={isPrivate} />\n )}\n </Flex>\n </div>\n </Flex>\n </RowLink>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,4 +5,4 @@ import './HistorySearchRow.scss';
|
|
|
5
5
|
export type Props<T extends QueryHistoryRow> = {
|
|
6
6
|
item: T;
|
|
7
7
|
} & Omit<QueryListRowRenderData<T>, 'item' | 'variant'>;
|
|
8
|
-
export declare const HistorySearchRow: <T extends QueryHistoryRow>({ item, visibleFields, editing, comparison, }: Props<T>) => React.JSX.Element;
|
|
8
|
+
export declare const HistorySearchRow: <T extends QueryHistoryRow>({ item, visibleFields, editing, comparison, renderLink, }: Props<T>) => React.JSX.Element;
|
|
@@ -12,7 +12,8 @@ export var HistorySearchRow = function HistorySearchRow(_ref) {
|
|
|
12
12
|
var item = _ref.item,
|
|
13
13
|
visibleFields = _ref.visibleFields,
|
|
14
14
|
editing = _ref.editing,
|
|
15
|
-
comparison = _ref.comparison
|
|
15
|
+
comparison = _ref.comparison,
|
|
16
|
+
renderLink = _ref.renderLink;
|
|
16
17
|
var href = item.href,
|
|
17
18
|
status = item.status,
|
|
18
19
|
startTime = item.startTime,
|
|
@@ -26,6 +27,7 @@ export var HistorySearchRow = function HistorySearchRow(_ref) {
|
|
|
26
27
|
language: resolveMonacoLanguage(engine),
|
|
27
28
|
href: href,
|
|
28
29
|
disabled: Boolean(editing === null || editing === void 0 ? void 0 : editing.enabled) || Boolean(comparison === null || comparison === void 0 ? void 0 : comparison.enabled),
|
|
30
|
+
renderLink: renderLink,
|
|
29
31
|
className: block(),
|
|
30
32
|
header: /*#__PURE__*/_jsxs(Flex, {
|
|
31
33
|
gap: 2,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Flex","Text","HistoryPrivateIcon","QueryDuration","QueryStatusIcon","SearchRowLayout","formatTimeCanonical","isFieldVisible","resolveMonacoLanguage","cn","jsx","_jsx","jsxs","_jsxs","block","HistorySearchRow","_ref","item","visibleFields","editing","comparison","href","status","startTime","endTime","engine","mode","isPrivate","query","language","disabled","Boolean","enabled","className","header","gap","alignItems","children","color"],"sources":["HistorySearchRow.tsx"],"sourcesContent":["import React from 'react';\nimport {Flex, Text} from '@gravity-ui/uikit';\nimport {QueryListRowRenderData} from '../../types/queryList';\nimport {QueryHistoryRow} from '../../types/history';\nimport {\n HistoryPrivateIcon,\n QueryDuration,\n QueryStatusIcon,\n SearchRowLayout,\n} from '../../components';\nimport {formatTimeCanonical} from '../../helpers/time';\nimport {isFieldVisible} from '../../helpers/isFieldVisible';\nimport {resolveMonacoLanguage} from './helpers/resolveMonacoLanguage';\nimport './HistorySearchRow.scss';\nimport cn from 'bem-cn-lite';\n\nconst block = cn('qp-history-search-row');\n\nexport type Props<T extends QueryHistoryRow> = {\n item: T;\n} & Omit<QueryListRowRenderData<T>, 'item' | 'variant'>;\n\nexport const HistorySearchRow = <T extends QueryHistoryRow>({\n item,\n visibleFields,\n editing,\n comparison,\n}: Props<T>) => {\n const {href, status, startTime, endTime, engine, mode, isPrivate, query} = item;\n\n return (\n <SearchRowLayout\n query={query}\n language={resolveMonacoLanguage(engine)}\n href={href}\n disabled={Boolean(editing?.enabled) || Boolean(comparison?.enabled)}\n className={block()}\n header={\n <Flex gap={2} alignItems=\"center\" className={block('header')}>\n <QueryStatusIcon status={status} className={block('icon')} />\n {isFieldVisible(visibleFields, 'duration') && startTime && (\n <QueryDuration status={status} startTime={startTime} endTime={endTime} />\n )}\n {isFieldVisible(visibleFields, 'mode') && mode && (\n <Text color=\"complementary\">{mode}</Text>\n )}\n {isFieldVisible(visibleFields, 'startTime') && startTime && (\n <Text color=\"complementary\" className={block('start-time')}>\n {formatTimeCanonical(startTime)}\n </Text>\n )}\n {isFieldVisible(visibleFields, 'engine') && engine && (\n <Text color=\"complementary\">{engine}</Text>\n )}\n {isFieldVisible(visibleFields, 'isPrivate') && (\n <HistoryPrivateIcon isPrivate={isPrivate} />\n )}\n </Flex>\n }\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAQC,IAAI,EAAEC,IAAI,QAAO,mBAAmB;AAG5C,SACIC,kBAAkB,EAClBC,aAAa,EACbC,eAAe,EACfC,eAAe;AAEnB,SAAQC,mBAAmB;AAC3B,SAAQC,cAAc;AACtB,SAAQC,qBAAqB;AAC7B;AACA,OAAOC,EAAE,MAAM,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE7B,IAAMC,KAAK,GAAGL,EAAE,CAAC,uBAAuB,CAAC;AAMzC,OAAO,IAAMM,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,
|
|
1
|
+
{"version":3,"names":["React","Flex","Text","HistoryPrivateIcon","QueryDuration","QueryStatusIcon","SearchRowLayout","formatTimeCanonical","isFieldVisible","resolveMonacoLanguage","cn","jsx","_jsx","jsxs","_jsxs","block","HistorySearchRow","_ref","item","visibleFields","editing","comparison","renderLink","href","status","startTime","endTime","engine","mode","isPrivate","query","language","disabled","Boolean","enabled","className","header","gap","alignItems","children","color"],"sources":["HistorySearchRow.tsx"],"sourcesContent":["import React from 'react';\nimport {Flex, Text} from '@gravity-ui/uikit';\nimport {QueryListRowRenderData} from '../../types/queryList';\nimport {QueryHistoryRow} from '../../types/history';\nimport {\n HistoryPrivateIcon,\n QueryDuration,\n QueryStatusIcon,\n SearchRowLayout,\n} from '../../components';\nimport {formatTimeCanonical} from '../../helpers/time';\nimport {isFieldVisible} from '../../helpers/isFieldVisible';\nimport {resolveMonacoLanguage} from './helpers/resolveMonacoLanguage';\nimport './HistorySearchRow.scss';\nimport cn from 'bem-cn-lite';\n\nconst block = cn('qp-history-search-row');\n\nexport type Props<T extends QueryHistoryRow> = {\n item: T;\n} & Omit<QueryListRowRenderData<T>, 'item' | 'variant'>;\n\nexport const HistorySearchRow = <T extends QueryHistoryRow>({\n item,\n visibleFields,\n editing,\n comparison,\n renderLink,\n}: Props<T>) => {\n const {href, status, startTime, endTime, engine, mode, isPrivate, query} = item;\n\n return (\n <SearchRowLayout\n query={query}\n language={resolveMonacoLanguage(engine)}\n href={href}\n disabled={Boolean(editing?.enabled) || Boolean(comparison?.enabled)}\n renderLink={renderLink}\n className={block()}\n header={\n <Flex gap={2} alignItems=\"center\" className={block('header')}>\n <QueryStatusIcon status={status} className={block('icon')} />\n {isFieldVisible(visibleFields, 'duration') && startTime && (\n <QueryDuration status={status} startTime={startTime} endTime={endTime} />\n )}\n {isFieldVisible(visibleFields, 'mode') && mode && (\n <Text color=\"complementary\">{mode}</Text>\n )}\n {isFieldVisible(visibleFields, 'startTime') && startTime && (\n <Text color=\"complementary\" className={block('start-time')}>\n {formatTimeCanonical(startTime)}\n </Text>\n )}\n {isFieldVisible(visibleFields, 'engine') && engine && (\n <Text color=\"complementary\">{engine}</Text>\n )}\n {isFieldVisible(visibleFields, 'isPrivate') && (\n <HistoryPrivateIcon isPrivate={isPrivate} />\n )}\n </Flex>\n }\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { QueryListComparisonConfig, QueryListEditingConfig, QueryListFilterConfig, QueryListItem, QueryListRow, QueryListRowAction, QueryListRowRenderData, QueryListSearchConfig, QueryListVisibleFieldsConfig } from '../../types/queryList';
|
|
2
|
+
import { QueryListComparisonConfig, QueryListEditingConfig, QueryListFilterConfig, QueryListItem, QueryListLinkRenderer, QueryListRow, QueryListRowAction, QueryListRowRenderData, QueryListSearchConfig, QueryListVisibleFieldsConfig } from '../../types/queryList';
|
|
3
3
|
import './QueriesList.scss';
|
|
4
4
|
export type QueriesListProps<T extends QueryListRow> = {
|
|
5
5
|
className?: string;
|
|
@@ -15,5 +15,9 @@ export type QueriesListProps<T extends QueryListRow> = {
|
|
|
15
15
|
getRowActions?: (item: T) => QueryListRowAction<T>[];
|
|
16
16
|
renderRow: (data: QueryListRowRenderData<T>) => React.ReactNode;
|
|
17
17
|
onListItemClick?: (item: QueryListItem<T>) => void;
|
|
18
|
+
hasMore?: boolean;
|
|
19
|
+
loading?: boolean;
|
|
20
|
+
onLoadMore?: () => void;
|
|
21
|
+
renderLink?: QueryListLinkRenderer;
|
|
18
22
|
};
|
|
19
|
-
export declare const QueriesList: <T extends QueryListRow>({ title, logo, search, filter, items, selectedRowId, editing, comparison, visibleFields, getRowActions, renderRow, onListItemClick, className, }: QueriesListProps<T>) => React.JSX.Element;
|
|
23
|
+
export declare const QueriesList: <T extends QueryListRow>({ title, logo, search, filter, items, selectedRowId, editing, comparison, visibleFields, getRowActions, renderRow, onListItemClick, hasMore, loading, onLoadMore, renderLink, className, }: QueriesListProps<T>) => React.JSX.Element;
|
|
@@ -9,7 +9,7 @@ import "core-js/modules/es.string.trim.js";
|
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import cn from 'bem-cn-lite';
|
|
11
11
|
import { FieldsSelector } from "../../components";
|
|
12
|
-
import {
|
|
12
|
+
import { useListKey } from "../../helpers/useListKey";
|
|
13
13
|
import { HistoryComparisonActions } from "../HistoryComparisonActions";
|
|
14
14
|
import { HistoryHeader } from "../HistoryHeader";
|
|
15
15
|
import { HistoryLayout } from "../HistoryLayout";
|
|
@@ -31,9 +31,15 @@ export var QueriesList = function QueriesList(_ref) {
|
|
|
31
31
|
getRowActions = _ref.getRowActions,
|
|
32
32
|
renderRow = _ref.renderRow,
|
|
33
33
|
onListItemClick = _ref.onListItemClick,
|
|
34
|
+
hasMore = _ref.hasMore,
|
|
35
|
+
loading = _ref.loading,
|
|
36
|
+
onLoadMore = _ref.onLoadMore,
|
|
37
|
+
renderLink = _ref.renderLink,
|
|
34
38
|
className = _ref.className;
|
|
35
|
-
var
|
|
39
|
+
var fullSearchAvailable = search.fullSearchAvailable !== false;
|
|
40
|
+
var showSearchResults = Boolean(fullSearchAvailable && search.fullSearch && ((_search$value = search.value) === null || _search$value === void 0 ? void 0 : _search$value.trim()));
|
|
36
41
|
var rowVariant = showSearchResults ? 'search' : 'default';
|
|
42
|
+
var listKey = useListKey(items, rowVariant, Boolean(onLoadMore));
|
|
37
43
|
return /*#__PURE__*/_jsx(HistoryLayout, {
|
|
38
44
|
className: block(null, className),
|
|
39
45
|
title: title,
|
|
@@ -43,6 +49,7 @@ export var QueriesList = function QueriesList(_ref) {
|
|
|
43
49
|
className: block('header'),
|
|
44
50
|
search: search.value,
|
|
45
51
|
fullSearch: search.fullSearch,
|
|
52
|
+
fullSearchAvailable: fullSearchAvailable,
|
|
46
53
|
hasClear: search.hasClear,
|
|
47
54
|
filter: filter,
|
|
48
55
|
onUpdate: search.onUpdate
|
|
@@ -61,8 +68,12 @@ export var QueriesList = function QueriesList(_ref) {
|
|
|
61
68
|
getRowActions: getRowActions,
|
|
62
69
|
renderRow: renderRow,
|
|
63
70
|
showFiltersHint: Boolean(filter),
|
|
71
|
+
hasMore: hasMore,
|
|
72
|
+
loading: loading,
|
|
73
|
+
onLoadMore: onLoadMore,
|
|
74
|
+
renderLink: renderLink,
|
|
64
75
|
onItemClick: onListItemClick
|
|
65
|
-
},
|
|
76
|
+
}, listKey)
|
|
66
77
|
});
|
|
67
78
|
};
|
|
68
79
|
// #sourceMappingURL=QueriesList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","cn","FieldsSelector","
|
|
1
|
+
{"version":3,"names":["React","cn","FieldsSelector","useListKey","HistoryComparisonActions","HistoryHeader","HistoryLayout","RowsList","jsx","_jsx","block","QueriesList","_ref","_search$value","title","logo","search","filter","items","selectedRowId","editing","comparison","visibleFields","getRowActions","renderRow","onListItemClick","hasMore","loading","onLoadMore","renderLink","className","fullSearchAvailable","showSearchResults","Boolean","fullSearch","value","trim","rowVariant","listKey","actions","_objectSpread","header","hasClear","onUpdate","footer","children","showFiltersHint","onItemClick"],"sources":["QueriesList.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\nimport {FieldsSelector} from '../../components';\nimport {useListKey} from '../../helpers/useListKey';\nimport {\n QueryListComparisonConfig,\n QueryListEditingConfig,\n QueryListFilterConfig,\n QueryListItem,\n QueryListLinkRenderer,\n QueryListRow,\n QueryListRowAction,\n QueryListRowRenderData,\n QueryListSearchConfig,\n QueryListVisibleFieldsConfig,\n} from '../../types/queryList';\nimport {HistoryComparisonActions} from '../HistoryComparisonActions';\nimport {HistoryHeader} from '../HistoryHeader';\nimport {HistoryLayout} from '../HistoryLayout';\nimport {RowsList} from '../RowsList';\nimport './QueriesList.scss';\n\nconst block = cn('qp-queries-list');\n\nexport type QueriesListProps<T extends QueryListRow> = {\n className?: string;\n title: React.ReactNode;\n logo?: React.ReactNode;\n search: QueryListSearchConfig;\n filter?: QueryListFilterConfig;\n items: QueryListItem<T>[];\n selectedRowId?: T['id'];\n editing?: QueryListEditingConfig<T>;\n comparison?: QueryListComparisonConfig<T>;\n visibleFields?: QueryListVisibleFieldsConfig<T>;\n getRowActions?: (item: T) => QueryListRowAction<T>[];\n renderRow: (data: QueryListRowRenderData<T>) => React.ReactNode;\n onListItemClick?: (item: QueryListItem<T>) => void;\n hasMore?: boolean;\n loading?: boolean;\n onLoadMore?: () => void;\n renderLink?: QueryListLinkRenderer;\n};\n\nexport const QueriesList = <T extends QueryListRow>({\n title,\n logo,\n search,\n filter,\n items,\n selectedRowId,\n editing,\n comparison,\n visibleFields,\n getRowActions,\n renderRow,\n onListItemClick,\n hasMore,\n loading,\n onLoadMore,\n renderLink,\n className,\n}: QueriesListProps<T>) => {\n const fullSearchAvailable = search.fullSearchAvailable !== false;\n const showSearchResults = Boolean(\n fullSearchAvailable && search.fullSearch && search.value?.trim(),\n );\n const rowVariant = showSearchResults ? 'search' : 'default';\n const listKey = useListKey(items, rowVariant, Boolean(onLoadMore));\n\n return (\n <HistoryLayout\n className={block(null, className)}\n title={title}\n logo={logo}\n actions={visibleFields && <FieldsSelector {...visibleFields} />}\n header={\n <HistoryHeader\n className={block('header')}\n search={search.value}\n fullSearch={search.fullSearch}\n fullSearchAvailable={fullSearchAvailable}\n hasClear={search.hasClear}\n filter={filter}\n onUpdate={search.onUpdate}\n />\n }\n footer={\n comparison && (\n <HistoryComparisonActions\n comparison={comparison}\n className={block('comparison-actions')}\n />\n )\n }\n >\n <RowsList\n key={listKey}\n items={items}\n rowVariant={rowVariant}\n selectedRowId={selectedRowId}\n visibleFields={visibleFields}\n editing={editing}\n comparison={comparison}\n getRowActions={getRowActions}\n renderRow={renderRow}\n showFiltersHint={Boolean(filter)}\n hasMore={hasMore}\n loading={loading}\n onLoadMore={onLoadMore}\n renderLink={renderLink}\n onItemClick={onListItemClick}\n />\n </HistoryLayout>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|