@gravity-ui/querieskit 1.4.0 → 1.5.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/LazyList/LazyList.css +4 -0
- package/build/cjs/components/LazyList/LazyList.css.map +1 -1
- package/build/cjs/components/LazyList/LazyList.js +32 -10
- package/build/cjs/components/LazyList/LazyList.js.map +1 -1
- package/build/cjs/components/QueryDuration/QueryDuration.stories.js +7 -0
- package/build/cjs/components/QueryDuration/QueryDuration.stories.js.map +1 -1
- package/build/cjs/components/QueryDuration/useQueryDuration.d.ts +1 -1
- package/build/cjs/components/QueryDuration/useQueryDuration.js +22 -16
- package/build/cjs/components/QueryDuration/useQueryDuration.js.map +1 -1
- package/build/cjs/helpers/time.d.ts +1 -1
- package/build/cjs/helpers/time.js +17 -12
- package/build/cjs/helpers/time.js.map +1 -1
- package/build/cjs/modules/HistoryRow/HistoryRow.css +2 -1
- package/build/cjs/modules/HistoryRow/HistoryRow.css.map +1 -1
- package/build/cjs/modules/HistoryRow/HistoryRow.js +2 -2
- package/build/cjs/modules/HistoryRow/HistoryRow.js.map +1 -1
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.d.ts +2 -0
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.js +82 -3
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.js.map +1 -1
- package/build/esm/components/LazyList/LazyList.css +4 -0
- package/build/esm/components/LazyList/LazyList.css.map +1 -1
- package/build/esm/components/LazyList/LazyList.js +33 -11
- package/build/esm/components/LazyList/LazyList.js.map +1 -1
- package/build/esm/components/LazyList/LazyList.scss +5 -0
- package/build/esm/components/QueryDuration/QueryDuration.stories.js +7 -0
- package/build/esm/components/QueryDuration/QueryDuration.stories.js.map +1 -1
- package/build/esm/components/QueryDuration/useQueryDuration.d.ts +1 -1
- package/build/esm/components/QueryDuration/useQueryDuration.js +22 -16
- package/build/esm/components/QueryDuration/useQueryDuration.js.map +1 -1
- package/build/esm/helpers/time.d.ts +1 -1
- package/build/esm/helpers/time.js +18 -13
- package/build/esm/helpers/time.js.map +1 -1
- package/build/esm/modules/HistoryRow/HistoryRow.css +2 -1
- package/build/esm/modules/HistoryRow/HistoryRow.css.map +1 -1
- package/build/esm/modules/HistoryRow/HistoryRow.js +2 -2
- package/build/esm/modules/HistoryRow/HistoryRow.js.map +1 -1
- package/build/esm/modules/HistoryRow/HistoryRow.scss +2 -1
- package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.d.ts +2 -0
- package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.js +81 -2
- package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.js.map +1 -1
- package/package.json +7 -3
|
@@ -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","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":";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,EAQP;EAAA,IAPZC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,UAAU,GAAAJ,IAAA,CAAVI,UAAU;IACVC,OAAO,GAAAL,IAAA,CAAPK,OAAO;IACPC,aAAa,GAAAN,IAAA,CAAbM,aAAa;IACbC,UAAU,GAAAP,IAAA,CAAVO,UAAU;EAEV,IAAOC,IAAI,GAAyDP,IAAI,CAAjEO,IAAI;IAAEC,MAAM,GAAiDR,IAAI,CAA3DQ,MAAM;IAAEC,IAAI,GAA2CT,IAAI,CAAnDS,IAAI;IAAEC,SAAS,GAAgCV,IAAI,CAA7CU,SAAS;IAAEC,OAAO,GAAuBX,IAAI,CAAlCW,OAAO;IAAEC,MAAM,GAAeZ,IAAI,CAAzBY,MAAM;IAAEC,SAAS,GAAIb,IAAI,CAAjBa,SAAS;EAChE,IAAMC,SAAS,GAAGC,OAAO,CAACX,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEY,OAAO,CAAC;EAC3C,IAAMC,gBAAgB,GAAGF,OAAO,CAACZ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEa,OAAO,CAAC;EACrD,IAAME,SAAS,GAAGH,OAAO,CAACZ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEgB,OAAO,CAAC;EAC9C,IAAMC,QAAQ,GAAGlB,QAAQ,IAAIa,OAAO,CAACd,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEoB,MAAM,CAAC,IAAI,CAACJ,gBAAgB;EAE1E,oBACIrB,KAAA,CAACN,OAAO;IACJiB,IAAI,EAAEA,IAAK;IACXe,QAAQ,EAAER,SAAS,IAAIG,gBAAiB;IACxCX,UAAU,EAAEA,UAAW;IACvBiB,SAAS,EAAE1B,KAAK,CAAA2B,eAAA,CAAAA,eAAA,KAAGhB,MAAM,EAAG,IAAI,eAAYU,SAAS,CAAC,CAAE;IAAAO,QAAA,gBAExD/B,IAAA,CAACN,eAAe;MAACoB,MAAM,EAAEA;IAAO,CAAE,CAAC,eACnCZ,KAAA,CAACd,IAAI;MAAC4C,SAAS,EAAC,QAAQ;MAACC,GAAG,EAAE,CAAE;MAACJ,SAAS,EAAE1B,KAAK,CAAC,cAAc,CAAE;MAAA4B,QAAA,gBAC9D7B,KAAA,CAACd,IAAI;QAAC8C,cAAc,EAAC,eAAe;QAACL,SAAS,EAAE1B,KAAK,CAAC,QAAQ,CAAE;QAAA4B,QAAA,gBAC5D/B,IAAA,CAACT,gBAAgB;UAACe,IAAI,EAAEA,IAAK;UAACI,OAAO,EAAEA;QAAQ,CAAE,CAAC,EACjDgB,QAAQ,iBAAI1B,IAAA,CAACL,cAAc;UAACW,IAAI,EAAEA,IAAK;UAACC,OAAO,EAAEA;QAAQ,CAAE,CAAC;MAAA,CAC3D,CAAC,eACPL,KAAA;QAAK2B,SAAS,EAAE1B,KAAK,CAAC,MAAM,CAAE;QAAA4B,QAAA,GACzBjC,cAAc,CAACa,aAAa,EAAE,UAAU,CAAC,IAAIK,SAAS,
|
|
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","undefined","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 !== undefined && (\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 !== undefined && (\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":[]}
|
|
@@ -7,6 +7,8 @@ export declare const Default: Story;
|
|
|
7
7
|
export declare const Empty: Story;
|
|
8
8
|
export declare const InitialLoading: Story;
|
|
9
9
|
export declare const Paginated: Story;
|
|
10
|
+
export declare const LoadingMore: Story;
|
|
11
|
+
export declare const NarrowDuration: Story;
|
|
10
12
|
export declare const FullSearchUnavailable: Story;
|
|
11
13
|
export declare const RouterLinks: Story;
|
|
12
14
|
export declare const CustomRowRenderer: Story;
|
|
@@ -10,6 +10,7 @@ import "core-js/modules/es.array.includes.js";
|
|
|
10
10
|
import "core-js/modules/es.array.map.js";
|
|
11
11
|
import "core-js/modules/es.array.slice.js";
|
|
12
12
|
import "core-js/modules/es.date.now.js";
|
|
13
|
+
import "core-js/modules/es.date.to-string.js";
|
|
13
14
|
import "core-js/modules/es.iterator.constructor.js";
|
|
14
15
|
import "core-js/modules/es.iterator.filter.js";
|
|
15
16
|
import "core-js/modules/es.object.to-string.js";
|
|
@@ -111,7 +112,39 @@ var LINK_ITEMS = BASE_ITEMS.map(function (item) {
|
|
|
111
112
|
href: "/queries/".concat(item.id)
|
|
112
113
|
}) : item;
|
|
113
114
|
});
|
|
114
|
-
var PAGINATION_PAGES = [LINK_ITEMS.slice(0,
|
|
115
|
+
var PAGINATION_PAGES = [LINK_ITEMS.slice(0, 6), LINK_ITEMS.slice(6)];
|
|
116
|
+
var NARROW_HISTORY_START = Date.UTC(2024, 0, 15, 12, 0, 0);
|
|
117
|
+
var NARROW_HISTORY_ITEMS = [{
|
|
118
|
+
id: 'five-minutes',
|
|
119
|
+
title: 'Five-minute query',
|
|
120
|
+
status: 'completed',
|
|
121
|
+
engine: 'YQL',
|
|
122
|
+
mode: 'Test',
|
|
123
|
+
isPrivate: false,
|
|
124
|
+
startTime: NARROW_HISTORY_START,
|
|
125
|
+
endTime: NARROW_HISTORY_START + 5 * min,
|
|
126
|
+
height: 52
|
|
127
|
+
}, {
|
|
128
|
+
id: 'three-hours',
|
|
129
|
+
title: 'Three-hour query',
|
|
130
|
+
status: 'completed',
|
|
131
|
+
engine: 'YQL',
|
|
132
|
+
mode: 'Test',
|
|
133
|
+
isPrivate: true,
|
|
134
|
+
startTime: NARROW_HISTORY_START,
|
|
135
|
+
endTime: NARROW_HISTORY_START + 190 * min,
|
|
136
|
+
height: 52
|
|
137
|
+
}, {
|
|
138
|
+
id: 'twenty-seven-hours',
|
|
139
|
+
title: 'Twenty-seven-hour query',
|
|
140
|
+
status: 'completed',
|
|
141
|
+
engine: 'YQL',
|
|
142
|
+
mode: 'Test',
|
|
143
|
+
isPrivate: false,
|
|
144
|
+
startTime: NARROW_HISTORY_START,
|
|
145
|
+
endTime: NARROW_HISTORY_START + 1635 * min,
|
|
146
|
+
height: 52
|
|
147
|
+
}];
|
|
115
148
|
var activeFields = ['duration', 'mode', 'startTime', 'engine', 'isPrivate'];
|
|
116
149
|
var fields = [{
|
|
117
150
|
id: 'duration',
|
|
@@ -408,7 +441,7 @@ var PaginatedStory = function PaginatedStory() {
|
|
|
408
441
|
return currentPage + 1;
|
|
409
442
|
});
|
|
410
443
|
setLoading(false);
|
|
411
|
-
},
|
|
444
|
+
}, 1500);
|
|
412
445
|
};
|
|
413
446
|
return /*#__PURE__*/_jsx("div", {
|
|
414
447
|
style: {
|
|
@@ -508,6 +541,26 @@ var CustomRowRendererStory = function CustomRowRendererStory() {
|
|
|
508
541
|
})
|
|
509
542
|
});
|
|
510
543
|
};
|
|
544
|
+
var NarrowDurationStory = function NarrowDurationStory() {
|
|
545
|
+
return /*#__PURE__*/_jsx("div", {
|
|
546
|
+
style: {
|
|
547
|
+
width: 300,
|
|
548
|
+
height: 300
|
|
549
|
+
},
|
|
550
|
+
children: /*#__PURE__*/_jsx(QueriesHistory, {
|
|
551
|
+
title: "Duration examples",
|
|
552
|
+
items: NARROW_HISTORY_ITEMS,
|
|
553
|
+
visibleFields: {
|
|
554
|
+
value: activeFields,
|
|
555
|
+
fields: fields,
|
|
556
|
+
onChange: action('onVisibleFieldsChange')
|
|
557
|
+
},
|
|
558
|
+
search: {
|
|
559
|
+
onUpdate: action('onSearchUpdate')
|
|
560
|
+
}
|
|
561
|
+
})
|
|
562
|
+
});
|
|
563
|
+
};
|
|
511
564
|
export var Default = {
|
|
512
565
|
render: function render() {
|
|
513
566
|
return /*#__PURE__*/_jsx(DefaultStory, {});
|
|
@@ -542,6 +595,32 @@ export var Paginated = {
|
|
|
542
595
|
return /*#__PURE__*/_jsx(PaginatedStory, {});
|
|
543
596
|
}
|
|
544
597
|
};
|
|
598
|
+
export var LoadingMore = {
|
|
599
|
+
args: {
|
|
600
|
+
title: 'Loading next page',
|
|
601
|
+
items: LINK_ITEMS.slice(0, 3),
|
|
602
|
+
loading: true,
|
|
603
|
+
hasMore: true,
|
|
604
|
+
onLoadMore: action('onLoadMore'),
|
|
605
|
+
search: {
|
|
606
|
+
onUpdate: action('onSearchUpdate')
|
|
607
|
+
}
|
|
608
|
+
},
|
|
609
|
+
decorators: [function (StoryComponent) {
|
|
610
|
+
return /*#__PURE__*/_jsx("div", {
|
|
611
|
+
style: {
|
|
612
|
+
width: 300,
|
|
613
|
+
height: 300
|
|
614
|
+
},
|
|
615
|
+
children: /*#__PURE__*/_jsx(StoryComponent, {})
|
|
616
|
+
});
|
|
617
|
+
}]
|
|
618
|
+
};
|
|
619
|
+
export var NarrowDuration = {
|
|
620
|
+
render: function render() {
|
|
621
|
+
return /*#__PURE__*/_jsx(NarrowDurationStory, {});
|
|
622
|
+
}
|
|
623
|
+
};
|
|
545
624
|
export var FullSearchUnavailable = {
|
|
546
625
|
render: function render() {
|
|
547
626
|
return /*#__PURE__*/_jsx(FullSearchUnavailableStory, {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","SegmentedRadioGroup","Text","HistoryGroupHeader","RowLink","QueriesHistory","action","jsx","_jsx","now","Date","min","QUERY","BASE_ITEMS","header","height","id","title","status","engine","mode","startTime","endTime","query","LINK_ITEMS","map","item","_objectSpread","href","concat","PAGINATION_PAGES","slice","activeFields","fields","filterFields","type","initialValue","items","logFilterApply","logFilterReset","renderRouterLink","_ref","onClick","props","_objectWithoutProperties","_excluded","event","defaultPrevented","button","metaKey","ctrlKey","shiftKey","altKey","preventDefault","meta","component","tags","parameters","layout","operationFilterOptions","value","content","DefaultStory","_useState","_toConsumableArray","_useState2","_slicedToArray","setItems","_useState3","fullSearch","_useState4","search","setSearch","_useState5","_useState6","visibleFields","setVisibleFields","_useState7","_useState8","compareMode","setCompareMode","_useState9","_useState0","comparedRows","setComparedRows","_useState1","undefined","_useState10","editingId","setEditingId","handleCompareChange","selected","result","filter","length","handleCompareCancel","handleEditSubmit","index","findIndex","i","handleEditCancel","handleCompare","handleOnSearch","data","newItems","_item$query","toLowerCase","searchValue","includes","style","width","children","onChange","hasClear","onUpdate","onApply","onReset","getRowActions","text","comparison","enabled","comparedRowIds","onCancel","onCompare","editing","rowId","onSubmit","renderLink","EmptyStory","_useState11","_useState12","WithHeaderStory","_useState13","_useState14","_useState15","_useState16","logo","options","PaginatedStory","_useState17","_useState18","_useState19","_useState20","page","setPage","_useState21","_useState22","loading","setLoading","handleLoadMore","nextPage","window","setTimeout","currentItems","currentPage","selectedRowId","hasMore","onLoadMore","FullSearchUnavailableStory","_useState23","_useState24","fullSearchAvailable","RouterLinksStory","_useState25","_useState26","CustomRowRendererStory","renderRowItem","_ref2","Default","render","Empty","InitialLoading","args","decorators","StoryComponent","Paginated","FullSearchUnavailable","RouterLinks","CustomRowRenderer","WithHeader"],"sources":["QueriesHistory.stories.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport type {Meta, StoryObj} from '@storybook/react';\nimport {SegmentedRadioGroup, Text} from '@gravity-ui/uikit';\nimport {HistoryGroupHeader, RowLink} from '../../components';\nimport {QueriesHistory} from './QueriesHistory';\nimport {\n QueryListFieldKey,\n QueryListFilterConfig,\n QueryListItem,\n QueryListLinkRenderer,\n QueryListVisibleFieldsConfig,\n} from '../../types/queryList';\nimport {QueryHistoryRow} from '../../types/history';\nimport {action} from 'storybook/actions';\n\nconst now = Date.now();\nconst min = 60 * 1000;\n\nconst QUERY = `use test;\n\nSELECT\n \"test_session\" AS session_id,\n \"test_task\" AS task_id,\n SUBSTRING(\"test\", 1, 1) AS truncated_char`;\n\nconst BASE_ITEMS: QueryListItem<QueryHistoryRow>[] = [\n {header: 'Today', height: 28},\n {\n id: 1,\n title: 'Query 1',\n status: 'completed',\n engine: 'YQL',\n mode: 'Validation',\n startTime: now - 2 * min,\n endTime: now - min,\n query: QUERY,\n height: 52,\n },\n {\n id: 2,\n title: 'Query 2',\n status: 'failed',\n engine: 'YQL',\n mode: 'Test',\n startTime: now - 10 * min,\n endTime: now - 9 * min,\n query: QUERY,\n height: 52,\n },\n {\n id: 3,\n title: 'Query 3',\n status: 'running',\n engine: 'YQL',\n mode: 'Test',\n startTime: now - min,\n query: QUERY,\n height: 52,\n },\n {header: 'Yesterday', height: 28},\n {\n id: 4,\n title: 'Query 4',\n status: 'aborted',\n engine: 'YQL',\n mode: 'Validation',\n startTime: now - 25 * 60 * min,\n endTime: now - 24 * 60 * min,\n query: 'SELECT 1',\n height: 52,\n },\n {\n id: 5,\n title: 'Query 5',\n status: 'draft',\n engine: 'YQL',\n mode: 'Test',\n startTime: now - 30 * 60 * min,\n query: QUERY,\n height: 52,\n },\n {\n id: 6,\n title: 'Query 6',\n status: 'draft',\n engine: 'YQL',\n mode: 'Test',\n startTime: now - 30 * 60 * min,\n query: QUERY,\n height: 52,\n },\n {\n id: 7,\n title: 'Query 7',\n status: 'draft',\n engine: 'YQL',\n mode: 'Test',\n startTime: now - 30 * 60 * min,\n query: QUERY,\n height: 52,\n },\n {\n id: 8,\n title: 'Query 8',\n status: 'draft',\n engine: 'YQL',\n mode: 'Test',\n startTime: now - 30 * 60 * min,\n query: QUERY,\n height: 52,\n },\n];\n\nconst LINK_ITEMS = BASE_ITEMS.map((item) =>\n 'id' in item ? {...item, href: `/queries/${item.id}`} : item,\n);\n\nconst PAGINATION_PAGES = [LINK_ITEMS.slice(0, 3), LINK_ITEMS.slice(3, 6), LINK_ITEMS.slice(6)];\n\ntype VisibleFields = QueryListVisibleFieldsConfig<QueryHistoryRow>['fields'];\nconst activeFields: QueryListFieldKey<QueryHistoryRow>[] = [\n 'duration',\n 'mode',\n 'startTime',\n 'engine',\n 'isPrivate',\n];\nconst fields: VisibleFields = [\n {\n id: 'duration',\n title: 'Duration',\n },\n {\n id: 'mode',\n title: 'Mode',\n },\n {\n id: 'startTime',\n title: 'Start time',\n },\n {\n id: 'engine',\n title: 'Engine',\n },\n {\n id: 'isPrivate',\n title: 'ACO',\n },\n];\n\nconst filterFields: QueryListFilterConfig['fields'] = [\n {id: 'onlyMine', type: 'switch', title: 'My queries only', initialValue: true},\n {id: 'range', type: 'rangeDatePicker', title: 'Period'},\n {\n id: 'dialect',\n type: 'checkboxGroup',\n title: 'Dialect',\n initialValue: [],\n items: [\n {id: 'yql', title: 'YQL'},\n {id: 'sql', title: 'SQL'},\n ],\n },\n];\n\nconst logFilterApply = action('onFilterApply');\nconst logFilterReset = action('onFilterReset');\n\nconst renderRouterLink: QueryListLinkRenderer = ({onClick, ...props}) => (\n <a\n {...props}\n data-router-link\n onClick={(event) => {\n onClick?.(event);\n\n if (\n event.defaultPrevented ||\n event.button !== 0 ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey\n ) {\n return;\n }\n\n event.preventDefault();\n action('routerNavigate')(props.href);\n }}\n />\n);\n\nconst meta: Meta<typeof QueriesHistory> = {\n title: 'Widgets/QueriesHistory',\n component: QueriesHistory,\n tags: ['autodocs'],\n parameters: {\n layout: 'padded',\n },\n};\n\nconst operationFilterOptions = [\n {\n value: 'My',\n content: 'My',\n },\n {\n value: 'All',\n content: 'All',\n },\n];\n\nexport default meta;\ntype Story = StoryObj<typeof QueriesHistory>;\n\nconst DefaultStory = () => {\n const [items, setItems] = useState([...LINK_ITEMS]);\n const [search, setSearch] = useState({value: '', fullSearch: false});\n const [visibleFields, setVisibleFields] =\n useState<QueryListFieldKey<QueryHistoryRow>[]>(activeFields);\n const [compareMode, setCompareMode] = useState(false);\n const [comparedRows, setComparedRows] = useState<(number | string)[]>([]);\n const [editingId, setEditingId] = useState<number | string | undefined>(undefined);\n\n const handleCompareChange = (item: QueryHistoryRow, selected: boolean) => {\n const result = selected\n ? [...comparedRows.slice(0, 1), item.id]\n : comparedRows.filter((id) => id !== item.id);\n setComparedRows(result);\n\n if (!result.length) setCompareMode(false);\n };\n\n const handleCompareCancel = () => {\n setComparedRows([]);\n setCompareMode(false);\n };\n\n const handleEditSubmit = (item: QueryHistoryRow, title: string) => {\n const index = items.findIndex((i) => 'id' in i && i.id === item.id);\n if (index < 0) return;\n\n const result = [...items];\n result[index] = {...result[index], title};\n setItems(result);\n setEditingId(undefined);\n };\n\n const handleEditCancel = () => {\n setEditingId(undefined);\n };\n\n const handleCompare = () => {\n action('onCompare')(comparedRows);\n };\n\n const handleOnSearch = (data: {value: string; fullSearch: boolean}) => {\n setSearch(data);\n\n if (!data.value) {\n setItems(LINK_ITEMS);\n return;\n }\n\n const newItems = LINK_ITEMS.filter((item) => {\n if (!('id' in item)) return false;\n\n const title = item.title.toLowerCase();\n const query = item.query?.toLowerCase();\n const searchValue = data.value.toLowerCase();\n\n if (data.fullSearch) {\n return title.includes(searchValue) || query?.includes(searchValue);\n }\n\n return title.includes(searchValue);\n });\n setItems(newItems);\n };\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesHistory\n title=\"History\"\n items={items}\n visibleFields={{value: visibleFields, fields, onChange: setVisibleFields}}\n search={{\n value: search.value,\n fullSearch: search.fullSearch,\n hasClear: true,\n onUpdate: handleOnSearch,\n }}\n filter={{\n fields: filterFields,\n onApply: logFilterApply,\n onReset: logFilterReset('reset'),\n }}\n getRowActions={() => [\n {\n text: 'Compare',\n onClick: (item) => {\n setCompareMode(true);\n setComparedRows([item.id]);\n },\n },\n {\n text: 'Edit',\n onClick: (item) => {\n setEditingId(item.id);\n },\n },\n ]}\n comparison={{\n enabled: compareMode,\n comparedRowIds: comparedRows,\n onChange: handleCompareChange,\n onCancel: handleCompareCancel,\n onCompare: handleCompare,\n }}\n editing={{\n rowId: editingId,\n onSubmit: handleEditSubmit,\n onCancel: handleEditCancel,\n }}\n renderLink={renderRouterLink}\n />\n </div>\n );\n};\n\nconst EmptyStory = () => {\n const [search, setSearch] = useState({value: '', fullSearch: false});\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesHistory\n title=\"History\"\n items={[]}\n search={{\n value: search.value,\n fullSearch: search.fullSearch,\n hasClear: true,\n onUpdate: setSearch,\n }}\n />\n </div>\n );\n};\n\nconst WithHeaderStory = () => {\n const [search, setSearch] = useState({value: '', fullSearch: false});\n const [visibleFields, setVisibleFields] =\n useState<QueryListFieldKey<QueryHistoryRow>[]>(activeFields);\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesHistory\n items={BASE_ITEMS}\n logo={<SegmentedRadioGroup options={operationFilterOptions} />}\n visibleFields={{value: visibleFields, fields, onChange: setVisibleFields}}\n filter={{\n fields: filterFields,\n onApply: logFilterApply,\n onReset: logFilterReset('reset'),\n }}\n search={{\n value: search.value,\n fullSearch: search.fullSearch,\n hasClear: true,\n onUpdate: setSearch,\n }}\n />\n </div>\n );\n};\n\nconst PaginatedStory = () => {\n const [items, setItems] = useState<QueryListItem<QueryHistoryRow>[]>(PAGINATION_PAGES[0]);\n const [page, setPage] = useState(1);\n const [loading, setLoading] = useState(false);\n\n const handleLoadMore = () => {\n const nextPage = PAGINATION_PAGES[page];\n\n if (loading || !nextPage) {\n return;\n }\n\n action('onLoadMore')(page);\n setLoading(true);\n\n window.setTimeout(() => {\n setItems((currentItems) => [...currentItems, ...nextPage]);\n setPage((currentPage) => currentPage + 1);\n setLoading(false);\n }, 700);\n };\n\n return (\n <div style={{width: 300, height: 300}}>\n <QueriesHistory\n title=\"Paginated history\"\n items={items}\n selectedRowId={2}\n loading={loading}\n hasMore={page < PAGINATION_PAGES.length}\n onLoadMore={handleLoadMore}\n search={{onUpdate: action('onSearchUpdate')}}\n />\n </div>\n );\n};\n\nconst FullSearchUnavailableStory = () => {\n const [search, setSearch] = useState({value: 'Query', fullSearch: true});\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesHistory\n title=\"Basic search only\"\n items={LINK_ITEMS}\n search={{\n ...search,\n fullSearchAvailable: false,\n hasClear: true,\n onUpdate: (data) => {\n action('onSearchUpdate')(data);\n setSearch(data);\n },\n }}\n />\n </div>\n );\n};\n\nconst RouterLinksStory = () => {\n const [search, setSearch] = useState({value: '', fullSearch: false});\n\n return (\n <div style={{width: 500, height: 500}}>\n <QueriesHistory\n title=\"Router links\"\n items={LINK_ITEMS}\n renderLink={renderRouterLink}\n search={{...search, hasClear: true, onUpdate: setSearch}}\n />\n </div>\n );\n};\n\nconst CustomRowRendererStory = () => (\n <div style={{width: 300, height: 300}}>\n <QueriesHistory\n title=\"Custom row renderer\"\n items={LINK_ITEMS.slice(0, 3)}\n renderLink={renderRouterLink}\n renderRowItem={({item, renderLink}) =>\n 'header' in item ? (\n <HistoryGroupHeader title={item.header} />\n ) : (\n <RowLink href={item.href} renderLink={renderLink}>\n <Text>{item.title}</Text>\n </RowLink>\n )\n }\n search={{onUpdate: action('onSearchUpdate')}}\n />\n </div>\n);\n\nexport const Default: Story = {render: () => <DefaultStory />};\nexport const Empty: Story = {render: () => <EmptyStory />};\nexport const InitialLoading: Story = {\n args: {\n title: 'Loading history',\n items: [],\n loading: true,\n search: {onUpdate: action('onSearchUpdate')},\n },\n decorators: [\n (StoryComponent) => (\n <div style={{width: 300, height: 500}}>\n <StoryComponent />\n </div>\n ),\n ],\n};\nexport const Paginated: Story = {render: () => <PaginatedStory />};\nexport const FullSearchUnavailable: Story = {\n render: () => <FullSearchUnavailableStory />,\n};\nexport const RouterLinks: Story = {render: () => <RouterLinksStory />};\nexport const CustomRowRenderer: Story = {render: () => <CustomRowRendererStory />};\nexport const WithHeader: Story = {render: () => <WithHeaderStory />};\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAK,IAAGC,QAAQ,QAAO,OAAO;AAErC,SAAQC,mBAAmB,EAAEC,IAAI,QAAO,mBAAmB;AAC3D,SAAQC,kBAAkB,EAAEC,OAAO;AACnC,SAAQC,cAAc;AAStB,SAAQC,MAAM,QAAO,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEzC,IAAMC,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;AACtB,IAAME,GAAG,GAAG,EAAE,GAAG,IAAI;AAErB,IAAMC,KAAK,6IAKmC;AAE9C,IAAMC,UAA4C,GAAG,CACjD;EAACC,MAAM,EAAE,OAAO;EAAEC,MAAM,EAAE;AAAE,CAAC,EAC7B;EACIC,EAAE,EAAE,CAAC;EACLC,KAAK,EAAE,SAAS;EAChBC,MAAM,EAAE,WAAW;EACnBC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE,YAAY;EAClBC,SAAS,EAAEZ,GAAG,GAAG,CAAC,GAAGE,GAAG;EACxBW,OAAO,EAAEb,GAAG,GAAGE,GAAG;EAClBY,KAAK,EAAEX,KAAK;EACZG,MAAM,EAAE;AACZ,CAAC,EACD;EACIC,EAAE,EAAE,CAAC;EACLC,KAAK,EAAE,SAAS;EAChBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE,MAAM;EACZC,SAAS,EAAEZ,GAAG,GAAG,EAAE,GAAGE,GAAG;EACzBW,OAAO,EAAEb,GAAG,GAAG,CAAC,GAAGE,GAAG;EACtBY,KAAK,EAAEX,KAAK;EACZG,MAAM,EAAE;AACZ,CAAC,EACD;EACIC,EAAE,EAAE,CAAC;EACLC,KAAK,EAAE,SAAS;EAChBC,MAAM,EAAE,SAAS;EACjBC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE,MAAM;EACZC,SAAS,EAAEZ,GAAG,GAAGE,GAAG;EACpBY,KAAK,EAAEX,KAAK;EACZG,MAAM,EAAE;AACZ,CAAC,EACD;EAACD,MAAM,EAAE,WAAW;EAAEC,MAAM,EAAE;AAAE,CAAC,EACjC;EACIC,EAAE,EAAE,CAAC;EACLC,KAAK,EAAE,SAAS;EAChBC,MAAM,EAAE,SAAS;EACjBC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE,YAAY;EAClBC,SAAS,EAAEZ,GAAG,GAAG,EAAE,GAAG,EAAE,GAAGE,GAAG;EAC9BW,OAAO,EAAEb,GAAG,GAAG,EAAE,GAAG,EAAE,GAAGE,GAAG;EAC5BY,KAAK,EAAE,UAAU;EACjBR,MAAM,EAAE;AACZ,CAAC,EACD;EACIC,EAAE,EAAE,CAAC;EACLC,KAAK,EAAE,SAAS;EAChBC,MAAM,EAAE,OAAO;EACfC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE,MAAM;EACZC,SAAS,EAAEZ,GAAG,GAAG,EAAE,GAAG,EAAE,GAAGE,GAAG;EAC9BY,KAAK,EAAEX,KAAK;EACZG,MAAM,EAAE;AACZ,CAAC,EACD;EACIC,EAAE,EAAE,CAAC;EACLC,KAAK,EAAE,SAAS;EAChBC,MAAM,EAAE,OAAO;EACfC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE,MAAM;EACZC,SAAS,EAAEZ,GAAG,GAAG,EAAE,GAAG,EAAE,GAAGE,GAAG;EAC9BY,KAAK,EAAEX,KAAK;EACZG,MAAM,EAAE;AACZ,CAAC,EACD;EACIC,EAAE,EAAE,CAAC;EACLC,KAAK,EAAE,SAAS;EAChBC,MAAM,EAAE,OAAO;EACfC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE,MAAM;EACZC,SAAS,EAAEZ,GAAG,GAAG,EAAE,GAAG,EAAE,GAAGE,GAAG;EAC9BY,KAAK,EAAEX,KAAK;EACZG,MAAM,EAAE;AACZ,CAAC,EACD;EACIC,EAAE,EAAE,CAAC;EACLC,KAAK,EAAE,SAAS;EAChBC,MAAM,EAAE,OAAO;EACfC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE,MAAM;EACZC,SAAS,EAAEZ,GAAG,GAAG,EAAE,GAAG,EAAE,GAAGE,GAAG;EAC9BY,KAAK,EAAEX,KAAK;EACZG,MAAM,EAAE;AACZ,CAAC,CACJ;AAED,IAAMS,UAAU,GAAGX,UAAU,CAACY,GAAG,CAAC,UAACC,IAAI;EAAA,OACnC,IAAI,IAAIA,IAAI,GAAAC,aAAA,CAAAA,aAAA,KAAOD,IAAI;IAAEE,IAAI,cAAAC,MAAA,CAAcH,IAAI,CAACV,EAAE;EAAE,KAAIU,IAAI;AAAA,CAChE,CAAC;AAED,IAAMI,gBAAgB,GAAG,CAACN,UAAU,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEP,UAAU,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEP,UAAU,CAACO,KAAK,CAAC,CAAC,CAAC,CAAC;AAG9F,IAAMC,YAAkD,GAAG,CACvD,UAAU,EACV,MAAM,EACN,WAAW,EACX,QAAQ,EACR,WAAW,CACd;AACD,IAAMC,MAAqB,GAAG,CAC1B;EACIjB,EAAE,EAAE,UAAU;EACdC,KAAK,EAAE;AACX,CAAC,EACD;EACID,EAAE,EAAE,MAAM;EACVC,KAAK,EAAE;AACX,CAAC,EACD;EACID,EAAE,EAAE,WAAW;EACfC,KAAK,EAAE;AACX,CAAC,EACD;EACID,EAAE,EAAE,QAAQ;EACZC,KAAK,EAAE;AACX,CAAC,EACD;EACID,EAAE,EAAE,WAAW;EACfC,KAAK,EAAE;AACX,CAAC,CACJ;AAED,IAAMiB,YAA6C,GAAG,CAClD;EAAClB,EAAE,EAAE,UAAU;EAAEmB,IAAI,EAAE,QAAQ;EAAElB,KAAK,EAAE,iBAAiB;EAAEmB,YAAY,EAAE;AAAI,CAAC,EAC9E;EAACpB,EAAE,EAAE,OAAO;EAAEmB,IAAI,EAAE,iBAAiB;EAAElB,KAAK,EAAE;AAAQ,CAAC,EACvD;EACID,EAAE,EAAE,SAAS;EACbmB,IAAI,EAAE,eAAe;EACrBlB,KAAK,EAAE,SAAS;EAChBmB,YAAY,EAAE,EAAE;EAChBC,KAAK,EAAE,CACH;IAACrB,EAAE,EAAE,KAAK;IAAEC,KAAK,EAAE;EAAK,CAAC,EACzB;IAACD,EAAE,EAAE,KAAK;IAAEC,KAAK,EAAE;EAAK,CAAC;AAEjC,CAAC,CACJ;AAED,IAAMqB,cAAc,GAAGhC,MAAM,CAAC,eAAe,CAAC;AAC9C,IAAMiC,cAAc,GAAGjC,MAAM,CAAC,eAAe,CAAC;AAE9C,IAAMkC,gBAAuC,GAAG,SAA1CA,gBAAuCA,CAAAC,IAAA;EAAA,IAAKC,QAAO,GAAAD,IAAA,CAAPC,OAAO;IAAKC,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAAA,oBAC/DrC,IAAA,MAAAmB,aAAA,CAAAA,aAAA,KACQgB,KAAK;IACT,wBAAgB;IAChBD,OAAO,EAAE,SAATA,OAAOA,CAAGI,KAAK,EAAK;MAChBJ,QAAO,aAAPA,QAAO,eAAPA,QAAO,CAAGI,KAAK,CAAC;MAEhB,IACIA,KAAK,CAACC,gBAAgB,IACtBD,KAAK,CAACE,MAAM,KAAK,CAAC,IAClBF,KAAK,CAACG,OAAO,IACbH,KAAK,CAACI,OAAO,IACbJ,KAAK,CAACK,QAAQ,IACdL,KAAK,CAACM,MAAM,EACd;QACE;MACJ;MAEAN,KAAK,CAACO,cAAc,CAAC,CAAC;MACtB/C,MAAM,CAAC,gBAAgB,CAAC,CAACqC,KAAK,CAACf,IAAI,CAAC;IACxC;EAAE,EACL,CAAC;AAAA,CACL;AAED,IAAM0B,IAAiC,GAAG;EACtCrC,KAAK,EAAE,wBAAwB;EAC/BsC,SAAS,EAAElD,cAAc;EACzBmD,IAAI,EAAE,CAAC,UAAU,CAAC;EAClBC,UAAU,EAAE;IACRC,MAAM,EAAE;EACZ;AACJ,CAAC;AAED,IAAMC,sBAAsB,GAAG,CAC3B;EACIC,KAAK,EAAE,IAAI;EACXC,OAAO,EAAE;AACb,CAAC,EACD;EACID,KAAK,EAAE,KAAK;EACZC,OAAO,EAAE;AACb,CAAC,CACJ;AAED,eAAeP,IAAI;AAGnB,IAAMQ,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;EACvB,IAAAC,SAAA,GAA0B/D,QAAQ,CAAAgE,kBAAA,CAAKxC,UAAU,CAAC,CAAC;IAAAyC,UAAA,GAAAC,cAAA,CAAAH,SAAA;IAA5C1B,KAAK,GAAA4B,UAAA;IAAEE,QAAQ,GAAAF,UAAA;EACtB,IAAAG,UAAA,GAA4BpE,QAAQ,CAAC;MAAC4D,KAAK,EAAE,EAAE;MAAES,UAAU,EAAE;IAAK,CAAC,CAAC;IAAAC,UAAA,GAAAJ,cAAA,CAAAE,UAAA;IAA7DG,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EACxB,IAAAG,UAAA,GACIzE,QAAQ,CAAuCgC,YAAY,CAAC;IAAA0C,UAAA,GAAAR,cAAA,CAAAO,UAAA;IADzDE,aAAa,GAAAD,UAAA;IAAEE,gBAAgB,GAAAF,UAAA;EAEtC,IAAAG,UAAA,GAAsC7E,QAAQ,CAAC,KAAK,CAAC;IAAA8E,UAAA,GAAAZ,cAAA,CAAAW,UAAA;IAA9CE,WAAW,GAAAD,UAAA;IAAEE,cAAc,GAAAF,UAAA;EAClC,IAAAG,UAAA,GAAwCjF,QAAQ,CAAsB,EAAE,CAAC;IAAAkF,UAAA,GAAAhB,cAAA,CAAAe,UAAA;IAAlEE,YAAY,GAAAD,UAAA;IAAEE,eAAe,GAAAF,UAAA;EACpC,IAAAG,UAAA,GAAkCrF,QAAQ,CAA8BsF,SAAS,CAAC;IAAAC,WAAA,GAAArB,cAAA,CAAAmB,UAAA;IAA3EG,SAAS,GAAAD,WAAA;IAAEE,YAAY,GAAAF,WAAA;EAE9B,IAAMG,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIhE,IAAqB,EAAEiE,QAAiB,EAAK;IACtE,IAAMC,MAAM,GAAGD,QAAQ,MAAA9D,MAAA,CAAAmC,kBAAA,CACbmB,YAAY,CAACpD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAEL,IAAI,CAACV,EAAE,KACrCmE,YAAY,CAACU,MAAM,CAAC,UAAC7E,EAAE;MAAA,OAAKA,EAAE,KAAKU,IAAI,CAACV,EAAE;IAAA,EAAC;IACjDoE,eAAe,CAACQ,MAAM,CAAC;IAEvB,IAAI,CAACA,MAAM,CAACE,MAAM,EAAEd,cAAc,CAAC,KAAK,CAAC;EAC7C,CAAC;EAED,IAAMe,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;IAC9BX,eAAe,CAAC,EAAE,CAAC;IACnBJ,cAAc,CAAC,KAAK,CAAC;EACzB,CAAC;EAED,IAAMgB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAItE,IAAqB,EAAET,KAAa,EAAK;IAC/D,IAAMgF,KAAK,GAAG5D,KAAK,CAAC6D,SAAS,CAAC,UAACC,CAAC;MAAA,OAAK,IAAI,IAAIA,CAAC,IAAIA,CAAC,CAACnF,EAAE,KAAKU,IAAI,CAACV,EAAE;IAAA,EAAC;IACnE,IAAIiF,KAAK,GAAG,CAAC,EAAE;IAEf,IAAML,MAAM,GAAA5B,kBAAA,CAAO3B,KAAK,CAAC;IACzBuD,MAAM,CAACK,KAAK,CAAC,GAAAtE,aAAA,CAAAA,aAAA,KAAOiE,MAAM,CAACK,KAAK,CAAC;MAAEhF,KAAK,EAALA;IAAK,EAAC;IACzCkD,QAAQ,CAACyB,MAAM,CAAC;IAChBH,YAAY,CAACH,SAAS,CAAC;EAC3B,CAAC;EAED,IAAMc,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA,EAAS;IAC3BX,YAAY,CAACH,SAAS,CAAC;EAC3B,CAAC;EAED,IAAMe,aAAa,GAAG,SAAhBA,aAAaA,CAAA,EAAS;IACxB/F,MAAM,CAAC,WAAW,CAAC,CAAC6E,YAAY,CAAC;EACrC,CAAC;EAED,IAAMmB,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,IAA0C,EAAK;IACnE/B,SAAS,CAAC+B,IAAI,CAAC;IAEf,IAAI,CAACA,IAAI,CAAC3C,KAAK,EAAE;MACbO,QAAQ,CAAC3C,UAAU,CAAC;MACpB;IACJ;IAEA,IAAMgF,QAAQ,GAAGhF,UAAU,CAACqE,MAAM,CAAC,UAACnE,IAAI,EAAK;MAAA,IAAA+E,WAAA;MACzC,IAAI,EAAE,IAAI,IAAI/E,IAAI,CAAC,EAAE,OAAO,KAAK;MAEjC,IAAMT,KAAK,GAAGS,IAAI,CAACT,KAAK,CAACyF,WAAW,CAAC,CAAC;MACtC,IAAMnF,KAAK,IAAAkF,WAAA,GAAG/E,IAAI,CAACH,KAAK,cAAAkF,WAAA,uBAAVA,WAAA,CAAYC,WAAW,CAAC,CAAC;MACvC,IAAMC,WAAW,GAAGJ,IAAI,CAAC3C,KAAK,CAAC8C,WAAW,CAAC,CAAC;MAE5C,IAAIH,IAAI,CAAClC,UAAU,EAAE;QACjB,OAAOpD,KAAK,CAAC2F,QAAQ,CAACD,WAAW,CAAC,KAAIpF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEqF,QAAQ,CAACD,WAAW,CAAC;MACtE;MAEA,OAAO1F,KAAK,CAAC2F,QAAQ,CAACD,WAAW,CAAC;IACtC,CAAC,CAAC;IACFxC,QAAQ,CAACqC,QAAQ,CAAC;EACtB,CAAC;EAED,oBACIhG,IAAA;IAAKqG,KAAK,EAAE;MAACC,KAAK,EAAE,GAAG;MAAE/F,MAAM,EAAE;IAAG,CAAE;IAAAgG,QAAA,eAClCvG,IAAA,CAACH,cAAc;MACXY,KAAK,EAAC,SAAS;MACfoB,KAAK,EAAEA,KAAM;MACbsC,aAAa,EAAE;QAACf,KAAK,EAAEe,aAAa;QAAE1C,MAAM,EAANA,MAAM;QAAE+E,QAAQ,EAAEpC;MAAgB,CAAE;MAC1EL,MAAM,EAAE;QACJX,KAAK,EAAEW,MAAM,CAACX,KAAK;QACnBS,UAAU,EAAEE,MAAM,CAACF,UAAU;QAC7B4C,QAAQ,EAAE,IAAI;QACdC,QAAQ,EAAEZ;MACd,CAAE;MACFT,MAAM,EAAE;QACJ5D,MAAM,EAAEC,YAAY;QACpBiF,OAAO,EAAE7E,cAAc;QACvB8E,OAAO,EAAE7E,cAAc,CAAC,OAAO;MACnC,CAAE;MACF8E,aAAa,EAAE,SAAfA,aAAaA,CAAA;QAAA,OAAQ,CACjB;UACIC,IAAI,EAAE,SAAS;UACf5E,OAAO,EAAE,SAATA,OAAOA,CAAGhB,IAAI,EAAK;YACfsD,cAAc,CAAC,IAAI,CAAC;YACpBI,eAAe,CAAC,CAAC1D,IAAI,CAACV,EAAE,CAAC,CAAC;UAC9B;QACJ,CAAC,EACD;UACIsG,IAAI,EAAE,MAAM;UACZ5E,OAAO,EAAE,SAATA,OAAOA,CAAGhB,IAAI,EAAK;YACf+D,YAAY,CAAC/D,IAAI,CAACV,EAAE,CAAC;UACzB;QACJ,CAAC,CACJ;MAAA,CAAC;MACFuG,UAAU,EAAE;QACRC,OAAO,EAAEzC,WAAW;QACpB0C,cAAc,EAAEtC,YAAY;QAC5B6B,QAAQ,EAAEtB,mBAAmB;QAC7BgC,QAAQ,EAAE3B,mBAAmB;QAC7B4B,SAAS,EAAEtB;MACf,CAAE;MACFuB,OAAO,EAAE;QACLC,KAAK,EAAErC,SAAS;QAChBsC,QAAQ,EAAE9B,gBAAgB;QAC1B0B,QAAQ,EAAEtB;MACd,CAAE;MACF2B,UAAU,EAAEvF;IAAiB,CAChC;EAAC,CACD,CAAC;AAEd,CAAC;AAED,IAAMwF,UAAU,GAAG,SAAbA,UAAUA,CAAA,EAAS;EACrB,IAAAC,WAAA,GAA4BjI,QAAQ,CAAC;MAAC4D,KAAK,EAAE,EAAE;MAAES,UAAU,EAAE;IAAK,CAAC,CAAC;IAAA6D,WAAA,GAAAhE,cAAA,CAAA+D,WAAA;IAA7D1D,MAAM,GAAA2D,WAAA;IAAE1D,SAAS,GAAA0D,WAAA;EAExB,oBACI1H,IAAA;IAAKqG,KAAK,EAAE;MAACC,KAAK,EAAE,GAAG;MAAE/F,MAAM,EAAE;IAAG,CAAE;IAAAgG,QAAA,eAClCvG,IAAA,CAACH,cAAc;MACXY,KAAK,EAAC,SAAS;MACfoB,KAAK,EAAE,EAAG;MACVkC,MAAM,EAAE;QACJX,KAAK,EAAEW,MAAM,CAACX,KAAK;QACnBS,UAAU,EAAEE,MAAM,CAACF,UAAU;QAC7B4C,QAAQ,EAAE,IAAI;QACdC,QAAQ,EAAE1C;MACd;IAAE,CACL;EAAC,CACD,CAAC;AAEd,CAAC;AAED,IAAM2D,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS;EAC1B,IAAAC,WAAA,GAA4BpI,QAAQ,CAAC;MAAC4D,KAAK,EAAE,EAAE;MAAES,UAAU,EAAE;IAAK,CAAC,CAAC;IAAAgE,WAAA,GAAAnE,cAAA,CAAAkE,WAAA;IAA7D7D,MAAM,GAAA8D,WAAA;IAAE7D,SAAS,GAAA6D,WAAA;EACxB,IAAAC,WAAA,GACItI,QAAQ,CAAuCgC,YAAY,CAAC;IAAAuG,WAAA,GAAArE,cAAA,CAAAoE,WAAA;IADzD3D,aAAa,GAAA4D,WAAA;IAAE3D,gBAAgB,GAAA2D,WAAA;EAGtC,oBACI/H,IAAA;IAAKqG,KAAK,EAAE;MAACC,KAAK,EAAE,GAAG;MAAE/F,MAAM,EAAE;IAAG,CAAE;IAAAgG,QAAA,eAClCvG,IAAA,CAACH,cAAc;MACXgC,KAAK,EAAExB,UAAW;MAClB2H,IAAI,eAAEhI,IAAA,CAACP,mBAAmB;QAACwI,OAAO,EAAE9E;MAAuB,CAAE,CAAE;MAC/DgB,aAAa,EAAE;QAACf,KAAK,EAAEe,aAAa;QAAE1C,MAAM,EAANA,MAAM;QAAE+E,QAAQ,EAAEpC;MAAgB,CAAE;MAC1EiB,MAAM,EAAE;QACJ5D,MAAM,EAAEC,YAAY;QACpBiF,OAAO,EAAE7E,cAAc;QACvB8E,OAAO,EAAE7E,cAAc,CAAC,OAAO;MACnC,CAAE;MACFgC,MAAM,EAAE;QACJX,KAAK,EAAEW,MAAM,CAACX,KAAK;QACnBS,UAAU,EAAEE,MAAM,CAACF,UAAU;QAC7B4C,QAAQ,EAAE,IAAI;QACdC,QAAQ,EAAE1C;MACd;IAAE,CACL;EAAC,CACD,CAAC;AAEd,CAAC;AAED,IAAMkE,cAAc,GAAG,SAAjBA,cAAcA,CAAA,EAAS;EACzB,IAAAC,WAAA,GAA0B3I,QAAQ,CAAmC8B,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAAA8G,WAAA,GAAA1E,cAAA,CAAAyE,WAAA;IAAlFtG,KAAK,GAAAuG,WAAA;IAAEzE,QAAQ,GAAAyE,WAAA;EACtB,IAAAC,WAAA,GAAwB7I,QAAQ,CAAC,CAAC,CAAC;IAAA8I,WAAA,GAAA5E,cAAA,CAAA2E,WAAA;IAA5BE,IAAI,GAAAD,WAAA;IAAEE,OAAO,GAAAF,WAAA;EACpB,IAAAG,WAAA,GAA8BjJ,QAAQ,CAAC,KAAK,CAAC;IAAAkJ,WAAA,GAAAhF,cAAA,CAAA+E,WAAA;IAAtCE,OAAO,GAAAD,WAAA;IAAEE,UAAU,GAAAF,WAAA;EAE1B,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,CAAA,EAAS;IACzB,IAAMC,QAAQ,GAAGxH,gBAAgB,CAACiH,IAAI,CAAC;IAEvC,IAAII,OAAO,IAAI,CAACG,QAAQ,EAAE;MACtB;IACJ;IAEAhJ,MAAM,CAAC,YAAY,CAAC,CAACyI,IAAI,CAAC;IAC1BK,UAAU,CAAC,IAAI,CAAC;IAEhBG,MAAM,CAACC,UAAU,CAAC,YAAM;MACpBrF,QAAQ,CAAC,UAACsF,YAAY;QAAA,UAAA5H,MAAA,CAAAmC,kBAAA,CAASyF,YAAY,GAAAzF,kBAAA,CAAKsF,QAAQ;MAAA,CAAC,CAAC;MAC1DN,OAAO,CAAC,UAACU,WAAW;QAAA,OAAKA,WAAW,GAAG,CAAC;MAAA,EAAC;MACzCN,UAAU,CAAC,KAAK,CAAC;IACrB,CAAC,EAAE,GAAG,CAAC;EACX,CAAC;EAED,oBACI5I,IAAA;IAAKqG,KAAK,EAAE;MAACC,KAAK,EAAE,GAAG;MAAE/F,MAAM,EAAE;IAAG,CAAE;IAAAgG,QAAA,eAClCvG,IAAA,CAACH,cAAc;MACXY,KAAK,EAAC,mBAAmB;MACzBoB,KAAK,EAAEA,KAAM;MACbsH,aAAa,EAAE,CAAE;MACjBR,OAAO,EAAEA,OAAQ;MACjBS,OAAO,EAAEb,IAAI,GAAGjH,gBAAgB,CAACgE,MAAO;MACxC+D,UAAU,EAAER,cAAe;MAC3B9E,MAAM,EAAE;QAAC2C,QAAQ,EAAE5G,MAAM,CAAC,gBAAgB;MAAC;IAAE,CAChD;EAAC,CACD,CAAC;AAEd,CAAC;AAED,IAAMwJ,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAA,EAAS;EACrC,IAAAC,WAAA,GAA4B/J,QAAQ,CAAC;MAAC4D,KAAK,EAAE,OAAO;MAAES,UAAU,EAAE;IAAI,CAAC,CAAC;IAAA2F,WAAA,GAAA9F,cAAA,CAAA6F,WAAA;IAAjExF,MAAM,GAAAyF,WAAA;IAAExF,SAAS,GAAAwF,WAAA;EAExB,oBACIxJ,IAAA;IAAKqG,KAAK,EAAE;MAACC,KAAK,EAAE,GAAG;MAAE/F,MAAM,EAAE;IAAG,CAAE;IAAAgG,QAAA,eAClCvG,IAAA,CAACH,cAAc;MACXY,KAAK,EAAC,mBAAmB;MACzBoB,KAAK,EAAEb,UAAW;MAClB+C,MAAM,EAAA5C,aAAA,CAAAA,aAAA,KACC4C,MAAM;QACT0F,mBAAmB,EAAE,KAAK;QAC1BhD,QAAQ,EAAE,IAAI;QACdC,QAAQ,EAAE,SAAVA,QAAQA,CAAGX,IAAI,EAAK;UAChBjG,MAAM,CAAC,gBAAgB,CAAC,CAACiG,IAAI,CAAC;UAC9B/B,SAAS,CAAC+B,IAAI,CAAC;QACnB;MAAC;IACH,CACL;EAAC,CACD,CAAC;AAEd,CAAC;AAED,IAAM2D,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA,EAAS;EAC3B,IAAAC,WAAA,GAA4BnK,QAAQ,CAAC;MAAC4D,KAAK,EAAE,EAAE;MAAES,UAAU,EAAE;IAAK,CAAC,CAAC;IAAA+F,WAAA,GAAAlG,cAAA,CAAAiG,WAAA;IAA7D5F,MAAM,GAAA6F,WAAA;IAAE5F,SAAS,GAAA4F,WAAA;EAExB,oBACI5J,IAAA;IAAKqG,KAAK,EAAE;MAACC,KAAK,EAAE,GAAG;MAAE/F,MAAM,EAAE;IAAG,CAAE;IAAAgG,QAAA,eAClCvG,IAAA,CAACH,cAAc;MACXY,KAAK,EAAC,cAAc;MACpBoB,KAAK,EAAEb,UAAW;MAClBuG,UAAU,EAAEvF,gBAAiB;MAC7B+B,MAAM,EAAA5C,aAAA,CAAAA,aAAA,KAAM4C,MAAM;QAAE0C,QAAQ,EAAE,IAAI;QAAEC,QAAQ,EAAE1C;MAAS;IAAE,CAC5D;EAAC,CACD,CAAC;AAEd,CAAC;AAED,IAAM6F,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA;EAAA,oBACxB7J,IAAA;IAAKqG,KAAK,EAAE;MAACC,KAAK,EAAE,GAAG;MAAE/F,MAAM,EAAE;IAAG,CAAE;IAAAgG,QAAA,eAClCvG,IAAA,CAACH,cAAc;MACXY,KAAK,EAAC,qBAAqB;MAC3BoB,KAAK,EAAEb,UAAU,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAE;MAC9BgG,UAAU,EAAEvF,gBAAiB;MAC7B8H,aAAa,EAAE,SAAfA,aAAaA,CAAAC,KAAA;QAAA,IAAI7I,IAAI,GAAA6I,KAAA,CAAJ7I,IAAI;UAAEqG,UAAU,GAAAwC,KAAA,CAAVxC,UAAU;QAAA,OAC7B,QAAQ,IAAIrG,IAAI,gBACZlB,IAAA,CAACL,kBAAkB;UAACc,KAAK,EAAES,IAAI,CAACZ;QAAO,CAAE,CAAC,gBAE1CN,IAAA,CAACJ,OAAO;UAACwB,IAAI,EAAEF,IAAI,CAACE,IAAK;UAACmG,UAAU,EAAEA,UAAW;UAAAhB,QAAA,eAC7CvG,IAAA,CAACN,IAAI;YAAA6G,QAAA,EAAErF,IAAI,CAACT;UAAK,CAAO;QAAC,CACpB,CACZ;MAAA,CACJ;MACDsD,MAAM,EAAE;QAAC2C,QAAQ,EAAE5G,MAAM,CAAC,gBAAgB;MAAC;IAAE,CAChD;EAAC,CACD,CAAC;AAAA,CACT;AAED,OAAO,IAAMkK,OAAc,GAAG;EAACC,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQjK,IAAA,CAACsD,YAAY,IAAE,CAAC;EAAA;AAAA,CAAC;AAC9D,OAAO,IAAM4G,KAAY,GAAG;EAACD,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQjK,IAAA,CAACwH,UAAU,IAAE,CAAC;EAAA;AAAA,CAAC;AAC1D,OAAO,IAAM2C,cAAqB,GAAG;EACjCC,IAAI,EAAE;IACF3J,KAAK,EAAE,iBAAiB;IACxBoB,KAAK,EAAE,EAAE;IACT8G,OAAO,EAAE,IAAI;IACb5E,MAAM,EAAE;MAAC2C,QAAQ,EAAE5G,MAAM,CAAC,gBAAgB;IAAC;EAC/C,CAAC;EACDuK,UAAU,EAAE,CACR,UAACC,cAAc;IAAA,oBACXtK,IAAA;MAAKqG,KAAK,EAAE;QAACC,KAAK,EAAE,GAAG;QAAE/F,MAAM,EAAE;MAAG,CAAE;MAAAgG,QAAA,eAClCvG,IAAA,CAACsK,cAAc,IAAE;IAAC,CACjB,CAAC;EAAA,CACT;AAET,CAAC;AACD,OAAO,IAAMC,SAAgB,GAAG;EAACN,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQjK,IAAA,CAACkI,cAAc,IAAE,CAAC;EAAA;AAAA,CAAC;AAClE,OAAO,IAAMsC,qBAA4B,GAAG;EACxCP,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQjK,IAAA,CAACsJ,0BAA0B,IAAE,CAAC;EAAA;AAChD,CAAC;AACD,OAAO,IAAMmB,WAAkB,GAAG;EAACR,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQjK,IAAA,CAAC0J,gBAAgB,IAAE,CAAC;EAAA;AAAA,CAAC;AACtE,OAAO,IAAMgB,iBAAwB,GAAG;EAACT,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQjK,IAAA,CAAC6J,sBAAsB,IAAE,CAAC;EAAA;AAAA,CAAC;AAClF,OAAO,IAAMc,UAAiB,GAAG;EAACV,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQjK,IAAA,CAAC2H,eAAe,IAAE,CAAC;EAAA;AAAA,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useState","SegmentedRadioGroup","Text","HistoryGroupHeader","RowLink","QueriesHistory","action","jsx","_jsx","now","Date","min","QUERY","BASE_ITEMS","header","height","id","title","status","engine","mode","startTime","endTime","query","LINK_ITEMS","map","item","_objectSpread","href","concat","PAGINATION_PAGES","slice","NARROW_HISTORY_START","UTC","NARROW_HISTORY_ITEMS","isPrivate","activeFields","fields","filterFields","type","initialValue","items","logFilterApply","logFilterReset","renderRouterLink","_ref","onClick","props","_objectWithoutProperties","_excluded","event","defaultPrevented","button","metaKey","ctrlKey","shiftKey","altKey","preventDefault","meta","component","tags","parameters","layout","operationFilterOptions","value","content","DefaultStory","_useState","_toConsumableArray","_useState2","_slicedToArray","setItems","_useState3","fullSearch","_useState4","search","setSearch","_useState5","_useState6","visibleFields","setVisibleFields","_useState7","_useState8","compareMode","setCompareMode","_useState9","_useState0","comparedRows","setComparedRows","_useState1","undefined","_useState10","editingId","setEditingId","handleCompareChange","selected","result","filter","length","handleCompareCancel","handleEditSubmit","index","findIndex","i","handleEditCancel","handleCompare","handleOnSearch","data","newItems","_item$query","toLowerCase","searchValue","includes","style","width","children","onChange","hasClear","onUpdate","onApply","onReset","getRowActions","text","comparison","enabled","comparedRowIds","onCancel","onCompare","editing","rowId","onSubmit","renderLink","EmptyStory","_useState11","_useState12","WithHeaderStory","_useState13","_useState14","_useState15","_useState16","logo","options","PaginatedStory","_useState17","_useState18","_useState19","_useState20","page","setPage","_useState21","_useState22","loading","setLoading","handleLoadMore","nextPage","window","setTimeout","currentItems","currentPage","selectedRowId","hasMore","onLoadMore","FullSearchUnavailableStory","_useState23","_useState24","fullSearchAvailable","RouterLinksStory","_useState25","_useState26","CustomRowRendererStory","renderRowItem","_ref2","NarrowDurationStory","Default","render","Empty","InitialLoading","args","decorators","StoryComponent","Paginated","LoadingMore","NarrowDuration","FullSearchUnavailable","RouterLinks","CustomRowRenderer","WithHeader"],"sources":["QueriesHistory.stories.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport type {Meta, StoryObj} from '@storybook/react';\nimport {SegmentedRadioGroup, Text} from '@gravity-ui/uikit';\nimport {HistoryGroupHeader, RowLink} from '../../components';\nimport {QueriesHistory} from './QueriesHistory';\nimport {\n QueryListFieldKey,\n QueryListFilterConfig,\n QueryListItem,\n QueryListLinkRenderer,\n QueryListVisibleFieldsConfig,\n} from '../../types/queryList';\nimport {QueryHistoryRow} from '../../types/history';\nimport {action} from 'storybook/actions';\n\nconst now = Date.now();\nconst min = 60 * 1000;\n\nconst QUERY = `use test;\n\nSELECT\n \"test_session\" AS session_id,\n \"test_task\" AS task_id,\n SUBSTRING(\"test\", 1, 1) AS truncated_char`;\n\nconst BASE_ITEMS: QueryListItem<QueryHistoryRow>[] = [\n {header: 'Today', height: 28},\n {\n id: 1,\n title: 'Query 1',\n status: 'completed',\n engine: 'YQL',\n mode: 'Validation',\n startTime: now - 2 * min,\n endTime: now - min,\n query: QUERY,\n height: 52,\n },\n {\n id: 2,\n title: 'Query 2',\n status: 'failed',\n engine: 'YQL',\n mode: 'Test',\n startTime: now - 10 * min,\n endTime: now - 9 * min,\n query: QUERY,\n height: 52,\n },\n {\n id: 3,\n title: 'Query 3',\n status: 'running',\n engine: 'YQL',\n mode: 'Test',\n startTime: now - min,\n query: QUERY,\n height: 52,\n },\n {header: 'Yesterday', height: 28},\n {\n id: 4,\n title: 'Query 4',\n status: 'aborted',\n engine: 'YQL',\n mode: 'Validation',\n startTime: now - 25 * 60 * min,\n endTime: now - 24 * 60 * min,\n query: 'SELECT 1',\n height: 52,\n },\n {\n id: 5,\n title: 'Query 5',\n status: 'draft',\n engine: 'YQL',\n mode: 'Test',\n startTime: now - 30 * 60 * min,\n query: QUERY,\n height: 52,\n },\n {\n id: 6,\n title: 'Query 6',\n status: 'draft',\n engine: 'YQL',\n mode: 'Test',\n startTime: now - 30 * 60 * min,\n query: QUERY,\n height: 52,\n },\n {\n id: 7,\n title: 'Query 7',\n status: 'draft',\n engine: 'YQL',\n mode: 'Test',\n startTime: now - 30 * 60 * min,\n query: QUERY,\n height: 52,\n },\n {\n id: 8,\n title: 'Query 8',\n status: 'draft',\n engine: 'YQL',\n mode: 'Test',\n startTime: now - 30 * 60 * min,\n query: QUERY,\n height: 52,\n },\n];\n\nconst LINK_ITEMS = BASE_ITEMS.map((item) =>\n 'id' in item ? {...item, href: `/queries/${item.id}`} : item,\n);\n\nconst PAGINATION_PAGES = [LINK_ITEMS.slice(0, 6), LINK_ITEMS.slice(6)];\n\nconst NARROW_HISTORY_START = Date.UTC(2024, 0, 15, 12, 0, 0);\nconst NARROW_HISTORY_ITEMS: QueryListItem<QueryHistoryRow>[] = [\n {\n id: 'five-minutes',\n title: 'Five-minute query',\n status: 'completed',\n engine: 'YQL',\n mode: 'Test',\n isPrivate: false,\n startTime: NARROW_HISTORY_START,\n endTime: NARROW_HISTORY_START + 5 * min,\n height: 52,\n },\n {\n id: 'three-hours',\n title: 'Three-hour query',\n status: 'completed',\n engine: 'YQL',\n mode: 'Test',\n isPrivate: true,\n startTime: NARROW_HISTORY_START,\n endTime: NARROW_HISTORY_START + 190 * min,\n height: 52,\n },\n {\n id: 'twenty-seven-hours',\n title: 'Twenty-seven-hour query',\n status: 'completed',\n engine: 'YQL',\n mode: 'Test',\n isPrivate: false,\n startTime: NARROW_HISTORY_START,\n endTime: NARROW_HISTORY_START + 1_635 * min,\n height: 52,\n },\n];\n\ntype VisibleFields = QueryListVisibleFieldsConfig<QueryHistoryRow>['fields'];\nconst activeFields: QueryListFieldKey<QueryHistoryRow>[] = [\n 'duration',\n 'mode',\n 'startTime',\n 'engine',\n 'isPrivate',\n];\nconst fields: VisibleFields = [\n {\n id: 'duration',\n title: 'Duration',\n },\n {\n id: 'mode',\n title: 'Mode',\n },\n {\n id: 'startTime',\n title: 'Start time',\n },\n {\n id: 'engine',\n title: 'Engine',\n },\n {\n id: 'isPrivate',\n title: 'ACO',\n },\n];\n\nconst filterFields: QueryListFilterConfig['fields'] = [\n {id: 'onlyMine', type: 'switch', title: 'My queries only', initialValue: true},\n {id: 'range', type: 'rangeDatePicker', title: 'Period'},\n {\n id: 'dialect',\n type: 'checkboxGroup',\n title: 'Dialect',\n initialValue: [],\n items: [\n {id: 'yql', title: 'YQL'},\n {id: 'sql', title: 'SQL'},\n ],\n },\n];\n\nconst logFilterApply = action('onFilterApply');\nconst logFilterReset = action('onFilterReset');\n\nconst renderRouterLink: QueryListLinkRenderer = ({onClick, ...props}) => (\n <a\n {...props}\n data-router-link\n onClick={(event) => {\n onClick?.(event);\n\n if (\n event.defaultPrevented ||\n event.button !== 0 ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey\n ) {\n return;\n }\n\n event.preventDefault();\n action('routerNavigate')(props.href);\n }}\n />\n);\n\nconst meta: Meta<typeof QueriesHistory> = {\n title: 'Widgets/QueriesHistory',\n component: QueriesHistory,\n tags: ['autodocs'],\n parameters: {\n layout: 'padded',\n },\n};\n\nconst operationFilterOptions = [\n {\n value: 'My',\n content: 'My',\n },\n {\n value: 'All',\n content: 'All',\n },\n];\n\nexport default meta;\ntype Story = StoryObj<typeof QueriesHistory>;\n\nconst DefaultStory = () => {\n const [items, setItems] = useState([...LINK_ITEMS]);\n const [search, setSearch] = useState({value: '', fullSearch: false});\n const [visibleFields, setVisibleFields] =\n useState<QueryListFieldKey<QueryHistoryRow>[]>(activeFields);\n const [compareMode, setCompareMode] = useState(false);\n const [comparedRows, setComparedRows] = useState<(number | string)[]>([]);\n const [editingId, setEditingId] = useState<number | string | undefined>(undefined);\n\n const handleCompareChange = (item: QueryHistoryRow, selected: boolean) => {\n const result = selected\n ? [...comparedRows.slice(0, 1), item.id]\n : comparedRows.filter((id) => id !== item.id);\n setComparedRows(result);\n\n if (!result.length) setCompareMode(false);\n };\n\n const handleCompareCancel = () => {\n setComparedRows([]);\n setCompareMode(false);\n };\n\n const handleEditSubmit = (item: QueryHistoryRow, title: string) => {\n const index = items.findIndex((i) => 'id' in i && i.id === item.id);\n if (index < 0) return;\n\n const result = [...items];\n result[index] = {...result[index], title};\n setItems(result);\n setEditingId(undefined);\n };\n\n const handleEditCancel = () => {\n setEditingId(undefined);\n };\n\n const handleCompare = () => {\n action('onCompare')(comparedRows);\n };\n\n const handleOnSearch = (data: {value: string; fullSearch: boolean}) => {\n setSearch(data);\n\n if (!data.value) {\n setItems(LINK_ITEMS);\n return;\n }\n\n const newItems = LINK_ITEMS.filter((item) => {\n if (!('id' in item)) return false;\n\n const title = item.title.toLowerCase();\n const query = item.query?.toLowerCase();\n const searchValue = data.value.toLowerCase();\n\n if (data.fullSearch) {\n return title.includes(searchValue) || query?.includes(searchValue);\n }\n\n return title.includes(searchValue);\n });\n setItems(newItems);\n };\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesHistory\n title=\"History\"\n items={items}\n visibleFields={{value: visibleFields, fields, onChange: setVisibleFields}}\n search={{\n value: search.value,\n fullSearch: search.fullSearch,\n hasClear: true,\n onUpdate: handleOnSearch,\n }}\n filter={{\n fields: filterFields,\n onApply: logFilterApply,\n onReset: logFilterReset('reset'),\n }}\n getRowActions={() => [\n {\n text: 'Compare',\n onClick: (item) => {\n setCompareMode(true);\n setComparedRows([item.id]);\n },\n },\n {\n text: 'Edit',\n onClick: (item) => {\n setEditingId(item.id);\n },\n },\n ]}\n comparison={{\n enabled: compareMode,\n comparedRowIds: comparedRows,\n onChange: handleCompareChange,\n onCancel: handleCompareCancel,\n onCompare: handleCompare,\n }}\n editing={{\n rowId: editingId,\n onSubmit: handleEditSubmit,\n onCancel: handleEditCancel,\n }}\n renderLink={renderRouterLink}\n />\n </div>\n );\n};\n\nconst EmptyStory = () => {\n const [search, setSearch] = useState({value: '', fullSearch: false});\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesHistory\n title=\"History\"\n items={[]}\n search={{\n value: search.value,\n fullSearch: search.fullSearch,\n hasClear: true,\n onUpdate: setSearch,\n }}\n />\n </div>\n );\n};\n\nconst WithHeaderStory = () => {\n const [search, setSearch] = useState({value: '', fullSearch: false});\n const [visibleFields, setVisibleFields] =\n useState<QueryListFieldKey<QueryHistoryRow>[]>(activeFields);\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesHistory\n items={BASE_ITEMS}\n logo={<SegmentedRadioGroup options={operationFilterOptions} />}\n visibleFields={{value: visibleFields, fields, onChange: setVisibleFields}}\n filter={{\n fields: filterFields,\n onApply: logFilterApply,\n onReset: logFilterReset('reset'),\n }}\n search={{\n value: search.value,\n fullSearch: search.fullSearch,\n hasClear: true,\n onUpdate: setSearch,\n }}\n />\n </div>\n );\n};\n\nconst PaginatedStory = () => {\n const [items, setItems] = useState<QueryListItem<QueryHistoryRow>[]>(PAGINATION_PAGES[0]);\n const [page, setPage] = useState(1);\n const [loading, setLoading] = useState(false);\n\n const handleLoadMore = () => {\n const nextPage = PAGINATION_PAGES[page];\n\n if (loading || !nextPage) {\n return;\n }\n\n action('onLoadMore')(page);\n setLoading(true);\n\n window.setTimeout(() => {\n setItems((currentItems) => [...currentItems, ...nextPage]);\n setPage((currentPage) => currentPage + 1);\n setLoading(false);\n }, 1500);\n };\n\n return (\n <div style={{width: 300, height: 300}}>\n <QueriesHistory\n title=\"Paginated history\"\n items={items}\n selectedRowId={2}\n loading={loading}\n hasMore={page < PAGINATION_PAGES.length}\n onLoadMore={handleLoadMore}\n search={{onUpdate: action('onSearchUpdate')}}\n />\n </div>\n );\n};\n\nconst FullSearchUnavailableStory = () => {\n const [search, setSearch] = useState({value: 'Query', fullSearch: true});\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesHistory\n title=\"Basic search only\"\n items={LINK_ITEMS}\n search={{\n ...search,\n fullSearchAvailable: false,\n hasClear: true,\n onUpdate: (data) => {\n action('onSearchUpdate')(data);\n setSearch(data);\n },\n }}\n />\n </div>\n );\n};\n\nconst RouterLinksStory = () => {\n const [search, setSearch] = useState({value: '', fullSearch: false});\n\n return (\n <div style={{width: 500, height: 500}}>\n <QueriesHistory\n title=\"Router links\"\n items={LINK_ITEMS}\n renderLink={renderRouterLink}\n search={{...search, hasClear: true, onUpdate: setSearch}}\n />\n </div>\n );\n};\n\nconst CustomRowRendererStory = () => (\n <div style={{width: 300, height: 300}}>\n <QueriesHistory\n title=\"Custom row renderer\"\n items={LINK_ITEMS.slice(0, 3)}\n renderLink={renderRouterLink}\n renderRowItem={({item, renderLink}) =>\n 'header' in item ? (\n <HistoryGroupHeader title={item.header} />\n ) : (\n <RowLink href={item.href} renderLink={renderLink}>\n <Text>{item.title}</Text>\n </RowLink>\n )\n }\n search={{onUpdate: action('onSearchUpdate')}}\n />\n </div>\n);\n\nconst NarrowDurationStory = () => (\n <div style={{width: 300, height: 300}}>\n <QueriesHistory\n title=\"Duration examples\"\n items={NARROW_HISTORY_ITEMS}\n visibleFields={{value: activeFields, fields, onChange: action('onVisibleFieldsChange')}}\n search={{onUpdate: action('onSearchUpdate')}}\n />\n </div>\n);\n\nexport const Default: Story = {render: () => <DefaultStory />};\nexport const Empty: Story = {render: () => <EmptyStory />};\nexport const InitialLoading: Story = {\n args: {\n title: 'Loading history',\n items: [],\n loading: true,\n search: {onUpdate: action('onSearchUpdate')},\n },\n decorators: [\n (StoryComponent) => (\n <div style={{width: 300, height: 500}}>\n <StoryComponent />\n </div>\n ),\n ],\n};\nexport const Paginated: Story = {render: () => <PaginatedStory />};\nexport const LoadingMore: Story = {\n args: {\n title: 'Loading next page',\n items: LINK_ITEMS.slice(0, 3),\n loading: true,\n hasMore: true,\n onLoadMore: action('onLoadMore'),\n search: {onUpdate: action('onSearchUpdate')},\n },\n decorators: [\n (StoryComponent) => (\n <div style={{width: 300, height: 300}}>\n <StoryComponent />\n </div>\n ),\n ],\n};\nexport const NarrowDuration: Story = {render: () => <NarrowDurationStory />};\nexport const FullSearchUnavailable: Story = {\n render: () => <FullSearchUnavailableStory />,\n};\nexport const RouterLinks: Story = {render: () => <RouterLinksStory />};\nexport const CustomRowRenderer: Story = {render: () => <CustomRowRendererStory />};\nexport const WithHeader: Story = {render: () => <WithHeaderStory />};\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gravity-ui/querieskit",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Query page component library",
|
|
5
5
|
"main": "./build/cjs/index.js",
|
|
6
6
|
"module": "./build/esm/index.js",
|
|
@@ -36,7 +36,9 @@
|
|
|
36
36
|
"lint:all": "eslint \"./src/**/*.{js,jsx,ts,tsx}\"",
|
|
37
37
|
"storybook": "storybook dev -p 6006 --no-open",
|
|
38
38
|
"build-storybook": "storybook build",
|
|
39
|
-
"test": "
|
|
39
|
+
"test": "npm run test:timezones && npm run test:components",
|
|
40
|
+
"test:timezones": "TZ=UTC vitest run tests/helpers/time.test.ts && TZ=Europe/Moscow vitest run tests/helpers/time.test.ts && TZ=Asia/Kolkata vitest run tests/helpers/time.test.ts && TZ=America/New_York vitest run tests/helpers/time.test.ts",
|
|
41
|
+
"test:components": "vitest run tests/components",
|
|
40
42
|
"prepublishOnly": "npm run build"
|
|
41
43
|
},
|
|
42
44
|
"repository": {
|
|
@@ -65,13 +67,15 @@
|
|
|
65
67
|
"@typescript-eslint/parser": "^8.64.0",
|
|
66
68
|
"eslint": "^9.39.5",
|
|
67
69
|
"eslint-import-resolver-typescript": "^4.4.5",
|
|
70
|
+
"jsdom": "^26.1.0",
|
|
68
71
|
"prettier": "^3.9.5",
|
|
69
72
|
"react": "^19.2.7",
|
|
70
73
|
"react-dom": "^19.2.7",
|
|
71
74
|
"storybook": "^10.5.0",
|
|
72
75
|
"typescript": "^6.0.3",
|
|
73
76
|
"vite": "^8.1.5",
|
|
74
|
-
"vite-plugin-svgr": "^5.2.0"
|
|
77
|
+
"vite-plugin-svgr": "^5.2.0",
|
|
78
|
+
"vitest": "^3.2.4"
|
|
75
79
|
},
|
|
76
80
|
"peerDependencies": {
|
|
77
81
|
"@gravity-ui/icons": ">=2.0.0",
|