@gravity-ui/querieskit 1.3.0 → 1.3.1
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/AttachmentListPlaceholder/AttachmentListPlaceholder.js +4 -4
- package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js.map +1 -1
- package/build/cjs/modules/HistoryLayout/HistoryLayout.d.ts +1 -1
- package/build/cjs/modules/HistoryLayout/HistoryLayout.js +1 -1
- package/build/cjs/modules/HistoryLayout/HistoryLayout.js.map +1 -1
- package/build/cjs/modules/RowsList/RowsList.css +4 -0
- package/build/cjs/modules/RowsList/RowsList.css.map +1 -1
- package/build/cjs/types/queryList.d.ts +1 -1
- package/build/cjs/types/queryList.js.map +1 -1
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.js +1 -2
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.d.ts +1 -0
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.js +82 -1
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.js.map +1 -1
- package/build/cjs/widgets/SavedQueries/SavedQueries.stories.js.map +1 -1
- package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js +4 -4
- package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js.map +1 -1
- package/build/esm/modules/HistoryLayout/HistoryLayout.d.ts +1 -1
- package/build/esm/modules/HistoryLayout/HistoryLayout.js +1 -1
- package/build/esm/modules/HistoryLayout/HistoryLayout.js.map +1 -1
- package/build/esm/modules/RowsList/RowsList.css +4 -0
- package/build/esm/modules/RowsList/RowsList.css.map +1 -1
- package/build/esm/modules/RowsList/RowsList.scss +3 -0
- package/build/esm/types/queryList.d.ts +1 -1
- package/build/esm/types/queryList.js.map +1 -1
- package/build/esm/widgets/QueriesHistory/QueriesHistory.js +1 -2
- package/build/esm/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
- package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.d.ts +1 -0
- package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.js +81 -0
- package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.js.map +1 -1
- package/build/esm/widgets/SavedQueries/SavedQueries.stories.js.map +1 -1
- package/package.json +29 -2
- package/.agents/skills/code-review-checklist/SKILL.md +0 -94
- package/.agents/skills/github-pr-review/SKILL.md +0 -24
- package/.agents/skills/gravity-ui/SKILL.md +0 -175
- package/.agents/skills/gravity-ui/references/icons.md +0 -60
- package/.agents/skills/gravity-ui/references/layout.md +0 -366
- package/.agents/skills/gravity-ui/references/package-routing.md +0 -424
- package/.agents/skills/gravity-ui/references/theming.md +0 -309
- package/.agents/skills/gravity-ui/rules/hallucination-traps.md +0 -361
- package/.agents/skills/gravity-ui/scripts/icon-image-search.sh +0 -63
- package/.eslintignore +0 -3
- package/.github/workflows/ci.yml +0 -25
- package/.github/workflows/main-preview.yml +0 -31
- package/.github/workflows/pr-preview-build.yml +0 -13
- package/.github/workflows/pr-preview-deploy.yml +0 -22
- package/.github/workflows/pr-title.yml +0 -27
- package/.github/workflows/release.yml +0 -20
- package/.nvmrc +0 -1
- package/.prettierrc.js +0 -1
- package/.storybook/main.ts +0 -31
- package/.storybook/preview.tsx +0 -43
- package/.storybook/redefinition.css +0 -3
- package/.storybook/tsconfig.json +0 -9
- package/.stylelintrc +0 -9
- package/AGENTS.md +0 -129
- package/CHANGELOG.md +0 -103
- package/CODEOWNERS +0 -2
- package/CONTRIBUTING.md +0 -31
- package/NOTICES.md +0 -8
- package/app-builder.config.ts +0 -9
- package/commitlint.config.cjs +0 -6
- package/eslint.config.mjs +0 -53
- package/plans/i18n-rules.md +0 -116
- package/plans/navigation-architecture.md +0 -262
- package/plans/queries-history-structure.md +0 -143
- package/plans/queries-navigation-architecture-review.md +0 -217
- package/plans/styles-rules.md +0 -137
- package/skills-lock.json +0 -11
- package/src/components/AddChartButton/AddChartButton.scss +0 -12
- package/src/components/AddChartButton/AddChartButton.stories.tsx +0 -34
- package/src/components/AddChartButton/AddChartButton.tsx +0 -139
- package/src/components/AddChartButton/index.ts +0 -6
- package/src/components/AttachmentList/AttachmentList.scss +0 -25
- package/src/components/AttachmentList/AttachmentList.stories.tsx +0 -243
- package/src/components/AttachmentList/AttachmentList.tsx +0 -67
- package/src/components/AttachmentList/helpers/getIconByAttachmentName.ts +0 -36
- package/src/components/AttachmentList/helpers/objectLinkValidator.ts +0 -40
- package/src/components/AttachmentList/helpers/stringRequiredValidator.ts +0 -24
- package/src/components/AttachmentList/hooks/useKeyDownFormControl.ts +0 -22
- package/src/components/AttachmentList/hooks/useLabelRef.ts +0 -25
- package/src/components/AttachmentList/i18n/dicts.ts +0 -4
- package/src/components/AttachmentList/i18n/en.json +0 -10
- package/src/components/AttachmentList/i18n/index.ts +0 -5
- package/src/components/AttachmentList/i18n/ru.json +0 -10
- package/src/components/AttachmentList/index.ts +0 -4
- package/src/components/AttachmentList/internal/AttachmentItem/AttachmentItem.scss +0 -23
- package/src/components/AttachmentList/internal/AttachmentItem/AttachmentItem.tsx +0 -75
- package/src/components/AttachmentList/internal/AttachmentItem/index.ts +0 -2
- package/src/components/AttachmentList/internal/EditAttachmentItem/EditAttachmentItem.tsx +0 -21
- package/src/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.scss +0 -21
- package/src/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.tsx +0 -194
- package/src/components/AttachmentList/internal/EditAttachmentItem/FileEdit.tsx +0 -92
- package/src/components/AttachmentList/internal/EditAttachmentItem/index.ts +0 -4
- package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.scss +0 -5
- package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.stories.tsx +0 -30
- package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.tsx +0 -72
- package/src/components/AttachmentListPlaceholder/assets/empty-attachments.svg +0 -14
- package/src/components/AttachmentListPlaceholder/i18n/dicts.ts +0 -4
- package/src/components/AttachmentListPlaceholder/i18n/en.json +0 -7
- package/src/components/AttachmentListPlaceholder/i18n/index.ts +0 -5
- package/src/components/AttachmentListPlaceholder/i18n/ru.json +0 -7
- package/src/components/AttachmentListPlaceholder/index.ts +0 -2
- package/src/components/Breadcrumbs/Breadcrumbs.scss +0 -25
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -114
- package/src/components/Breadcrumbs/helpers/parsePathSegments.ts +0 -16
- package/src/components/Breadcrumbs/i18n/dicts.ts +0 -4
- package/src/components/Breadcrumbs/i18n/en.json +0 -4
- package/src/components/Breadcrumbs/i18n/index.ts +0 -5
- package/src/components/Breadcrumbs/i18n/ru.json +0 -4
- package/src/components/Breadcrumbs/index.ts +0 -2
- package/src/components/Chart/Chart.scss +0 -40
- package/src/components/Chart/Chart.stories.tsx +0 -75
- package/src/components/Chart/Chart.tsx +0 -120
- package/src/components/Chart/i18n/dicts.ts +0 -4
- package/src/components/Chart/i18n/en.json +0 -6
- package/src/components/Chart/i18n/index.ts +0 -5
- package/src/components/Chart/i18n/ru.json +0 -6
- package/src/components/Chart/index.ts +0 -2
- package/src/components/ChartEditorForm/ChartEditorForm.scss +0 -20
- package/src/components/ChartEditorForm/ChartEditorForm.stories.tsx +0 -88
- package/src/components/ChartEditorForm/ChartEditorForm.tsx +0 -120
- package/src/components/ChartEditorForm/helpers/resolveLabels.ts +0 -17
- package/src/components/ChartEditorForm/i18n/dicts.ts +0 -4
- package/src/components/ChartEditorForm/i18n/en.json +0 -12
- package/src/components/ChartEditorForm/i18n/index.ts +0 -5
- package/src/components/ChartEditorForm/i18n/ru.json +0 -12
- package/src/components/ChartEditorForm/index.ts +0 -7
- package/src/components/ChartEditorForm/internal/Field.tsx +0 -11
- package/src/components/ChartEditorForm/types.ts +0 -44
- package/src/components/ClusterRow/ClusterRow.tsx +0 -34
- package/src/components/ClusterRow/index.ts +0 -2
- package/src/components/Dashboard/Dashboard.scss +0 -4
- package/src/components/Dashboard/Dashboard.stories.scss +0 -18
- package/src/components/Dashboard/Dashboard.stories.tsx +0 -248
- package/src/components/Dashboard/Dashboard.tsx +0 -51
- package/src/components/Dashboard/helpers/createDefaultLayout.ts +0 -43
- package/src/components/Dashboard/hooks/useDashboardConfig.ts +0 -63
- package/src/components/Dashboard/index.ts +0 -2
- package/src/components/Dashboard/internal/DashPlate.scss +0 -23
- package/src/components/Dashboard/internal/DashPlate.tsx +0 -35
- package/src/components/Dashboard/internal/DashboardProvider.tsx +0 -37
- package/src/components/Dashboard/types.ts +0 -21
- package/src/components/DataTable/DataTable.scss +0 -27
- package/src/components/DataTable/DataTable.stories.tsx +0 -65
- package/src/components/DataTable/DataTable.tsx +0 -100
- package/src/components/DataTable/index.ts +0 -1
- package/src/components/EditableRowTitle/EditableRowTitle.tsx +0 -67
- package/src/components/EditableRowTitle/index.ts +0 -2
- package/src/components/EmptyContent/EmptyContent.scss +0 -3
- package/src/components/EmptyContent/EmptyContent.tsx +0 -57
- package/src/components/EmptyContent/i18n/dicts.ts +0 -4
- package/src/components/EmptyContent/i18n/en.json +0 -7
- package/src/components/EmptyContent/i18n/index.ts +0 -5
- package/src/components/EmptyContent/i18n/ru.json +0 -7
- package/src/components/EmptyContent/index.ts +0 -1
- package/src/components/ErrorTree/ErrorTree.stories.tsx +0 -94
- package/src/components/ErrorTree/ErrorTree.tsx +0 -30
- package/src/components/ErrorTree/helpers/formatAttributes.ts +0 -9
- package/src/components/ErrorTree/helpers/getIntermediateChain.ts +0 -21
- package/src/components/ErrorTree/i18n/dicts.ts +0 -4
- package/src/components/ErrorTree/i18n/en.json +0 -11
- package/src/components/ErrorTree/i18n/index.ts +0 -5
- package/src/components/ErrorTree/i18n/ru.json +0 -13
- package/src/components/ErrorTree/index.ts +0 -1
- package/src/components/ErrorTree/internal/ErrorTreeChildren.scss +0 -5
- package/src/components/ErrorTree/internal/ErrorTreeChildren.tsx +0 -25
- package/src/components/ErrorTree/internal/ErrorTreeNode.scss +0 -95
- package/src/components/ErrorTree/internal/ErrorTreeNode.tsx +0 -178
- package/src/components/ErrorTree/internal/IntermediateMessages.scss +0 -13
- package/src/components/ErrorTree/internal/IntermediateMessages.tsx +0 -127
- package/src/components/FieldsSearchToolbar/FieldsSearchToolbar.tsx +0 -48
- package/src/components/FieldsSearchToolbar/index.ts +0 -2
- package/src/components/FieldsSelector/FieldsSelector.scss +0 -18
- package/src/components/FieldsSelector/FieldsSelector.stories.tsx +0 -48
- package/src/components/FieldsSelector/FieldsSelector.tsx +0 -92
- package/src/components/FieldsSelector/i18n/dicts.ts +0 -4
- package/src/components/FieldsSelector/i18n/en.json +0 -3
- package/src/components/FieldsSelector/i18n/index.ts +0 -5
- package/src/components/FieldsSelector/i18n/ru.json +0 -3
- package/src/components/FieldsSelector/index.ts +0 -2
- package/src/components/HistoryFilter/HistoryFilter.scss +0 -5
- package/src/components/HistoryFilter/HistoryFilter.stories.tsx +0 -69
- package/src/components/HistoryFilter/HistoryFilter.tsx +0 -64
- package/src/components/HistoryFilter/i18n/dicts.ts +0 -4
- package/src/components/HistoryFilter/i18n/en.json +0 -4
- package/src/components/HistoryFilter/i18n/index.ts +0 -5
- package/src/components/HistoryFilter/i18n/ru.json +0 -4
- package/src/components/HistoryFilter/index.ts +0 -1
- package/src/components/HistoryGroupHeader/HistoryGroupHeader.scss +0 -7
- package/src/components/HistoryGroupHeader/HistoryGroupHeader.tsx +0 -18
- package/src/components/HistoryGroupHeader/index.ts +0 -1
- package/src/components/HistoryPrivateIcon/HistoryPrivateIcon.scss +0 -7
- package/src/components/HistoryPrivateIcon/HistoryPrivateIcon.tsx +0 -22
- package/src/components/HistoryPrivateIcon/index.ts +0 -1
- package/src/components/Icons/LogoCPlusPlus.tsx +0 -34
- package/src/components/Icons/index.ts +0 -1
- package/src/components/LazyList/LazyList.scss +0 -13
- package/src/components/LazyList/LazyList.tsx +0 -97
- package/src/components/LazyList/index.ts +0 -2
- package/src/components/ListSpinner/ListSpinner.scss +0 -3
- package/src/components/ListSpinner/ListSpinner.tsx +0 -18
- package/src/components/ListSpinner/index.ts +0 -2
- package/src/components/MonacoEditor/MonacoEditor.tsx +0 -112
- package/src/components/MonacoEditor/MonacoEditorThemes.tsx +0 -73
- package/src/components/MonacoEditor/index.ts +0 -11
- package/src/components/MonacoEditor/monaco-yql-languages/_.contribution.ts +0 -193
- package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.contribution.ts +0 -14
- package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.keywords.ts +0 -146
- package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.ts +0 -217
- package/src/components/MonacoEditor/monaco-yql-languages/constants.ts +0 -6
- package/src/components/MonacoEditor/monaco-yql-languages/fillers/monaco-editor-core.ts +0 -3
- package/src/components/MonacoEditor/monaco-yql-languages/index.ts +0 -1
- package/src/components/MonacoEditor/monaco-yql-languages/monaco.contribution.ts +0 -5
- package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.contribution.ts +0 -14
- package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.keywords.ts +0 -97
- package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.ts +0 -170
- package/src/components/MonacoEditor/monaco-yql-languages/themes/themes.contribution.ts +0 -35
- package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.contribution.ts +0 -14
- package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.keywords.ts +0 -13
- package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.ts +0 -178
- package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.contribution.ts +0 -14
- package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.keywords.ts +0 -45
- package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.ts +0 -142
- package/src/components/NavigationActionButtons/NavigationActionButtons.tsx +0 -46
- package/src/components/NavigationActionButtons/index.ts +0 -2
- package/src/components/NavigationItemRow/NavigationItemRow.tsx +0 -28
- package/src/components/NavigationItemRow/index.ts +0 -2
- package/src/components/PathEditor/PathEditor.scss +0 -41
- package/src/components/PathEditor/PathEditor.stories.helpers.ts +0 -118
- package/src/components/PathEditor/PathEditor.stories.tsx +0 -57
- package/src/components/PathEditor/PathEditor.tsx +0 -380
- package/src/components/PathEditor/helpers/suggestions.ts +0 -40
- package/src/components/PathEditor/i18n/dicts.ts +0 -4
- package/src/components/PathEditor/i18n/en.json +0 -4
- package/src/components/PathEditor/i18n/index.ts +0 -5
- package/src/components/PathEditor/i18n/ru.json +0 -4
- package/src/components/PathEditor/index.ts +0 -2
- package/src/components/QueryDuration/QueryDuration.scss +0 -6
- package/src/components/QueryDuration/QueryDuration.stories.tsx +0 -40
- package/src/components/QueryDuration/QueryDuration.tsx +0 -21
- package/src/components/QueryDuration/index.ts +0 -1
- package/src/components/QueryDuration/useQueryDuration.ts +0 -34
- package/src/components/QueryResultsTable/QueryResultsTable.scss +0 -65
- package/src/components/QueryResultsTable/QueryResultsTable.tsx +0 -112
- package/src/components/QueryResultsTable/helpers/formatQueryResultType.ts +0 -76
- package/src/components/QueryResultsTable/helpers/formatQueryResultValue.ts +0 -38
- package/src/components/QueryResultsTable/i18n/dicts.ts +0 -4
- package/src/components/QueryResultsTable/i18n/en.json +0 -5
- package/src/components/QueryResultsTable/i18n/index.ts +0 -4
- package/src/components/QueryResultsTable/i18n/ru.json +0 -5
- package/src/components/QueryResultsTable/index.ts +0 -3
- package/src/components/QueryResultsTable/internal/QueryResultCell.tsx +0 -63
- package/src/components/QueryStatusIcon/QueryStatusIcon.scss +0 -17
- package/src/components/QueryStatusIcon/QueryStatusIcon.stories.tsx +0 -50
- package/src/components/QueryStatusIcon/QueryStatusIcon.tsx +0 -37
- package/src/components/QueryStatusIcon/index.ts +0 -1
- package/src/components/RowActionsMenu/RowActionsMenu.tsx +0 -47
- package/src/components/RowActionsMenu/index.ts +0 -2
- package/src/components/RowLink/RowLink.scss +0 -8
- package/src/components/RowLink/RowLink.tsx +0 -23
- package/src/components/RowLink/index.ts +0 -2
- package/src/components/SearchRowLayout/SearchRowLayout.scss +0 -18
- package/src/components/SearchRowLayout/SearchRowLayout.tsx +0 -45
- package/src/components/SearchRowLayout/helpers/fitQueryToVisibleLines.ts +0 -10
- package/src/components/SearchRowLayout/helpers/monacoConfig.ts +0 -25
- package/src/components/SearchRowLayout/index.ts +0 -2
- package/src/components/SearchWithButtons/SearchWithButtons.scss +0 -10
- package/src/components/SearchWithButtons/SearchWithButtons.stories.tsx +0 -107
- package/src/components/SearchWithButtons/SearchWithButtons.tsx +0 -56
- package/src/components/SearchWithButtons/index.ts +0 -2
- package/src/components/SimpleForm/CheckboxGroupField.tsx +0 -53
- package/src/components/SimpleForm/RangeDatePickerField.tsx +0 -50
- package/src/components/SimpleForm/SelectField.tsx +0 -24
- package/src/components/SimpleForm/SimpleForm.stories.tsx +0 -115
- package/src/components/SimpleForm/SimpleForm.tsx +0 -65
- package/src/components/SimpleForm/SwitchField.tsx +0 -23
- package/src/components/SimpleForm/helpers/controlsRegistry.ts +0 -24
- package/src/components/SimpleForm/helpers/getInitialValues.ts +0 -10
- package/src/components/SimpleForm/helpers/index.ts +0 -2
- package/src/components/SimpleForm/index.ts +0 -7
- package/src/components/SkeletonRows/SkeletonRows.tsx +0 -24
- package/src/components/SkeletonRows/index.ts +0 -2
- package/src/components/index.ts +0 -71
- package/src/constants/query.ts +0 -10
- package/src/constants/row.ts +0 -2
- package/src/helpers/buildColumnsFromKeys.ts +0 -17
- package/src/helpers/createUuid.ts +0 -3
- package/src/helpers/getDefaultNavigationIcon.ts +0 -33
- package/src/helpers/getListKey.ts +0 -12
- package/src/helpers/getParentPath.ts +0 -10
- package/src/helpers/isEmptyValue.ts +0 -2
- package/src/helpers/isFieldVisible.ts +0 -20
- package/src/helpers/isObjectEqual.ts +0 -15
- package/src/helpers/time.ts +0 -29
- package/src/helpers/useDebouncedValue.ts +0 -14
- package/src/helpers/useLoadMoreSentinel.ts +0 -31
- package/src/helpers/useToggle.ts +0 -11
- package/src/helpers/useVisibleColumns.ts +0 -26
- package/src/i18n/index.ts +0 -26
- package/src/index.ts +0 -12
- package/src/modules/Attachments/Attachments.scss +0 -10
- package/src/modules/Attachments/Attachments.stories.tsx +0 -112
- package/src/modules/Attachments/Attachments.tsx +0 -336
- package/src/modules/Attachments/i18n/dicts.ts +0 -4
- package/src/modules/Attachments/i18n/en.json +0 -5
- package/src/modules/Attachments/i18n/index.ts +0 -5
- package/src/modules/Attachments/i18n/ru.json +0 -5
- package/src/modules/Attachments/index.ts +0 -2
- package/src/modules/ChartEditor/ChartEditor.scss +0 -12
- package/src/modules/ChartEditor/ChartEditor.tsx +0 -116
- package/src/modules/ChartEditor/i18n/dicts.ts +0 -4
- package/src/modules/ChartEditor/i18n/en.json +0 -3
- package/src/modules/ChartEditor/i18n/index.ts +0 -5
- package/src/modules/ChartEditor/i18n/ru.json +0 -3
- package/src/modules/ChartEditor/index.ts +0 -2
- package/src/modules/ChartEditor/story/ChartEditor.stories.tsx +0 -186
- package/src/modules/ChartEditor/story/mockData.ts +0 -222
- package/src/modules/ChartEditor/types.ts +0 -18
- package/src/modules/ClustersList/ClustersList.scss +0 -11
- package/src/modules/ClustersList/ClustersList.tsx +0 -49
- package/src/modules/ClustersList/index.ts +0 -2
- package/src/modules/HistoryComparisonActions/HistoryComparisonActions.scss +0 -4
- package/src/modules/HistoryComparisonActions/HistoryComparisonActions.tsx +0 -42
- package/src/modules/HistoryComparisonActions/index.ts +0 -2
- package/src/modules/HistoryHeader/HistoryHeader.stories.tsx +0 -47
- package/src/modules/HistoryHeader/HistoryHeader.tsx +0 -58
- package/src/modules/HistoryHeader/index.ts +0 -1
- package/src/modules/HistoryHeader/internal/FullSearchToggleButton.tsx +0 -16
- package/src/modules/HistoryLayout/HistoryLayout.scss +0 -7
- package/src/modules/HistoryLayout/HistoryLayout.tsx +0 -43
- package/src/modules/HistoryLayout/index.ts +0 -2
- package/src/modules/HistoryRow/HistoryRow.scss +0 -32
- package/src/modules/HistoryRow/HistoryRow.stories.tsx +0 -91
- package/src/modules/HistoryRow/HistoryRow.tsx +0 -77
- package/src/modules/HistoryRow/index.ts +0 -1
- package/src/modules/HistorySearchRow/HistorySearchRow.scss +0 -13
- package/src/modules/HistorySearchRow/HistorySearchRow.stories.tsx +0 -52
- package/src/modules/HistorySearchRow/HistorySearchRow.tsx +0 -62
- package/src/modules/HistorySearchRow/helpers/resolveMonacoLanguage.ts +0 -19
- package/src/modules/HistorySearchRow/index.ts +0 -1
- package/src/modules/NavigationDetail/NavigationDetail.scss +0 -13
- package/src/modules/NavigationDetail/NavigationDetail.tsx +0 -121
- package/src/modules/NavigationDetail/helpers/getInitialTab.ts +0 -9
- package/src/modules/NavigationDetail/helpers/getVisibleTabs.ts +0 -5
- package/src/modules/NavigationDetail/index.ts +0 -2
- package/src/modules/NavigationDetail/internal/NavigationDetailTabs.tsx +0 -32
- package/src/modules/NavigationHeader/NavigationHeader.stories.tsx +0 -118
- package/src/modules/NavigationHeader/NavigationHeader.tsx +0 -33
- package/src/modules/NavigationHeader/index.ts +0 -2
- package/src/modules/NavigationItemsList/NavigationItemsList.scss +0 -65
- package/src/modules/NavigationItemsList/NavigationItemsList.tsx +0 -92
- package/src/modules/NavigationItemsList/index.ts +0 -2
- package/src/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.tsx +0 -45
- package/src/modules/NavigationItemsList/internal/NavigationItemsListHeader.scss +0 -6
- package/src/modules/NavigationItemsList/internal/NavigationItemsListHeader.tsx +0 -54
- package/src/modules/NavigationItemsList/internal/useParentRow.ts +0 -23
- package/src/modules/NavigationMeta/NavigationMeta.scss +0 -25
- package/src/modules/NavigationMeta/NavigationMeta.tsx +0 -81
- package/src/modules/NavigationMeta/helpers/buildMetaGroups.tsx +0 -27
- package/src/modules/NavigationMeta/i18n/dicts.ts +0 -4
- package/src/modules/NavigationMeta/i18n/en.json +0 -4
- package/src/modules/NavigationMeta/i18n/index.ts +0 -5
- package/src/modules/NavigationMeta/i18n/ru.json +0 -4
- package/src/modules/NavigationMeta/index.ts +0 -3
- package/src/modules/NavigationMeta/story/NavigationMeta.stories.tsx +0 -80
- package/src/modules/NavigationMeta/story/mockData.ts +0 -22
- package/src/modules/NavigationPreview/NavigationPreview.scss +0 -32
- package/src/modules/NavigationPreview/NavigationPreview.tsx +0 -155
- package/src/modules/NavigationPreview/helpers/buildPreviewColumns.tsx +0 -11
- package/src/modules/NavigationPreview/helpers/filterPreviewRows.ts +0 -29
- package/src/modules/NavigationPreview/i18n/dicts.ts +0 -4
- package/src/modules/NavigationPreview/i18n/en.json +0 -3
- package/src/modules/NavigationPreview/i18n/index.ts +0 -5
- package/src/modules/NavigationPreview/i18n/ru.json +0 -3
- package/src/modules/NavigationPreview/index.ts +0 -4
- package/src/modules/NavigationPreview/story/NavigationPreview.stories.tsx +0 -123
- package/src/modules/NavigationPreview/story/mockData.ts +0 -14
- package/src/modules/NavigationSchema/NavigationSchema.scss +0 -24
- package/src/modules/NavigationSchema/NavigationSchema.tsx +0 -118
- package/src/modules/NavigationSchema/helpers/buildSchemaColumns.tsx +0 -54
- package/src/modules/NavigationSchema/helpers/filterSchema.ts +0 -18
- package/src/modules/NavigationSchema/i18n/dicts.ts +0 -4
- package/src/modules/NavigationSchema/i18n/en.json +0 -9
- package/src/modules/NavigationSchema/i18n/index.ts +0 -5
- package/src/modules/NavigationSchema/i18n/ru.json +0 -9
- package/src/modules/NavigationSchema/index.ts +0 -4
- package/src/modules/NavigationSchema/story/NavigationSchema.stories.tsx +0 -112
- package/src/modules/NavigationSchema/story/mockData.ts +0 -9
- package/src/modules/NavigationView/NavigationView.scss +0 -44
- package/src/modules/NavigationView/NavigationView.tsx +0 -60
- package/src/modules/NavigationView/helpers/buildViewColumns.tsx +0 -11
- package/src/modules/NavigationView/i18n/dicts.ts +0 -4
- package/src/modules/NavigationView/i18n/en.json +0 -3
- package/src/modules/NavigationView/i18n/index.ts +0 -5
- package/src/modules/NavigationView/i18n/ru.json +0 -3
- package/src/modules/NavigationView/index.ts +0 -3
- package/src/modules/NavigationView/internal/NavigationViewSectionItem.tsx +0 -70
- package/src/modules/NavigationView/story/NavigationView.stories.tsx +0 -110
- package/src/modules/NavigationView/story/mockData.ts +0 -35
- package/src/modules/QueriesList/QueriesList.scss +0 -10
- package/src/modules/QueriesList/QueriesList.tsx +0 -98
- package/src/modules/QueriesList/index.ts +0 -2
- package/src/modules/QueryStatistics/QueryStatistics.scss +0 -3
- package/src/modules/QueryStatistics/QueryStatistics.tsx +0 -125
- package/src/modules/QueryStatistics/helpers.ts +0 -96
- package/src/modules/QueryStatistics/i18n/dicts.ts +0 -4
- package/src/modules/QueryStatistics/i18n/en.json +0 -16
- package/src/modules/QueryStatistics/i18n/index.ts +0 -4
- package/src/modules/QueryStatistics/i18n/ru.json +0 -16
- package/src/modules/QueryStatistics/index.ts +0 -13
- package/src/modules/QueryStatistics/internal/MetricCell.scss +0 -12
- package/src/modules/QueryStatistics/internal/MetricCell.tsx +0 -99
- package/src/modules/QueryStatistics/internal/QueryStatisticsTable.scss +0 -8
- package/src/modules/QueryStatistics/internal/QueryStatisticsTable.tsx +0 -135
- package/src/modules/QueryStatistics/internal/QueryStatisticsToolbar.scss +0 -1
- package/src/modules/QueryStatistics/internal/QueryStatisticsToolbar.tsx +0 -61
- package/src/modules/QueryStatistics/story/QueryStatistics.stories.tsx +0 -71
- package/src/modules/RowsList/RowsList.scss +0 -5
- package/src/modules/RowsList/RowsList.tsx +0 -96
- package/src/modules/RowsList/helpers/prepareRowData.ts +0 -61
- package/src/modules/RowsList/index.ts +0 -2
- package/src/modules/SavedQueryRow/SavedQueryRow.scss +0 -20
- package/src/modules/SavedQueryRow/SavedQueryRow.tsx +0 -60
- package/src/modules/SavedQueryRow/index.ts +0 -2
- package/src/modules/SavedQuerySearchRow/SavedQuerySearchRow.scss +0 -15
- package/src/modules/SavedQuerySearchRow/SavedQuerySearchRow.tsx +0 -58
- package/src/modules/SavedQuerySearchRow/index.ts +0 -2
- package/src/modules/TutorialRow/TutorialRow.scss +0 -9
- package/src/modules/TutorialRow/TutorialRow.stories.tsx +0 -43
- package/src/modules/TutorialRow/TutorialRow.tsx +0 -25
- package/src/modules/TutorialRow/index.ts +0 -2
- package/src/modules/TutorialSearchRow/TutorialSearchRow.scss +0 -5
- package/src/modules/TutorialSearchRow/TutorialSearchRow.stories.tsx +0 -44
- package/src/modules/TutorialSearchRow/TutorialSearchRow.tsx +0 -33
- package/src/modules/TutorialSearchRow/index.ts +0 -2
- package/src/modules/index.ts +0 -50
- package/src/types/declarations.d.ts +0 -25
- package/src/types/errorTree.ts +0 -30
- package/src/types/forms.ts +0 -33
- package/src/types/history.ts +0 -12
- package/src/types/navigation.ts +0 -209
- package/src/types/pathEditor.ts +0 -29
- package/src/types/queryList.ts +0 -92
- package/src/types/queryResults.ts +0 -48
- package/src/types/queryStatistics.ts +0 -67
- package/src/types/savedQueries.ts +0 -7
- package/src/types/tutorial.ts +0 -3
- package/src/widgets/DashboardCharts/DashboardCharts.scss +0 -25
- package/src/widgets/DashboardCharts/DashboardCharts.tsx +0 -214
- package/src/widgets/DashboardCharts/helpers/chartTypeIcons.ts +0 -33
- package/src/widgets/DashboardCharts/i18n/dicts.ts +0 -4
- package/src/widgets/DashboardCharts/i18n/en.json +0 -7
- package/src/widgets/DashboardCharts/i18n/index.ts +0 -5
- package/src/widgets/DashboardCharts/i18n/ru.json +0 -7
- package/src/widgets/DashboardCharts/index.ts +0 -2
- package/src/widgets/DashboardCharts/internal/EmptyDashboardPlaceholder.tsx +0 -26
- package/src/widgets/DashboardCharts/story/DashboardCharts.stories.scss +0 -6
- package/src/widgets/DashboardCharts/story/DashboardCharts.stories.tsx +0 -77
- package/src/widgets/DashboardCharts/story/mockData.ts +0 -419
- package/src/widgets/DashboardCharts/types.ts +0 -30
- package/src/widgets/QueriesHistory/QueriesHistory.scss +0 -3
- package/src/widgets/QueriesHistory/QueriesHistory.stories.tsx +0 -276
- package/src/widgets/QueriesHistory/QueriesHistory.tsx +0 -71
- package/src/widgets/QueriesHistory/i18n/dicts.ts +0 -4
- package/src/widgets/QueriesHistory/i18n/en.json +0 -3
- package/src/widgets/QueriesHistory/i18n/index.ts +0 -5
- package/src/widgets/QueriesHistory/i18n/ru.json +0 -3
- package/src/widgets/QueriesHistory/index.ts +0 -2
- package/src/widgets/QueriesHistory/internal/HistoryRowContent.tsx +0 -22
- package/src/widgets/QueriesNavigation/QueriesNavigation.scss +0 -9
- package/src/widgets/QueriesNavigation/QueriesNavigation.stories.tsx +0 -409
- package/src/widgets/QueriesNavigation/QueriesNavigation.tsx +0 -195
- package/src/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.tsx +0 -8
- package/src/widgets/QueriesNavigation/helpers/createNavigationDetailResolver.ts +0 -28
- package/src/widgets/QueriesNavigation/helpers/createTableDetailConfig.tsx +0 -127
- package/src/widgets/QueriesNavigation/i18n/dicts.ts +0 -4
- package/src/widgets/QueriesNavigation/i18n/en.json +0 -10
- package/src/widgets/QueriesNavigation/i18n/index.ts +0 -5
- package/src/widgets/QueriesNavigation/i18n/ru.json +0 -10
- package/src/widgets/QueriesNavigation/index.ts +0 -13
- package/src/widgets/QueryResults/QueryResults.scss +0 -25
- package/src/widgets/QueryResults/QueryResults.stories.tsx +0 -155
- package/src/widgets/QueryResults/QueryResults.tsx +0 -121
- package/src/widgets/QueryResults/i18n/dicts.ts +0 -4
- package/src/widgets/QueryResults/i18n/en.json +0 -10
- package/src/widgets/QueryResults/i18n/index.ts +0 -4
- package/src/widgets/QueryResults/i18n/ru.json +0 -12
- package/src/widgets/QueryResults/index.ts +0 -2
- package/src/widgets/QueryResults/internal/QueryResultsSchema.tsx +0 -41
- package/src/widgets/SavedQueries/SavedQueries.scss +0 -3
- package/src/widgets/SavedQueries/SavedQueries.stories.tsx +0 -192
- package/src/widgets/SavedQueries/SavedQueries.tsx +0 -77
- package/src/widgets/SavedQueries/SavedQueryRowContent.tsx +0 -26
- package/src/widgets/SavedQueries/i18n/dicts.ts +0 -4
- package/src/widgets/SavedQueries/i18n/en.json +0 -3
- package/src/widgets/SavedQueries/i18n/index.ts +0 -4
- package/src/widgets/SavedQueries/i18n/ru.json +0 -3
- package/src/widgets/SavedQueries/index.ts +0 -2
- package/src/widgets/TutorialsHistory/TutorialRowContent.tsx +0 -16
- package/src/widgets/TutorialsHistory/TutorialsHistory.scss +0 -3
- package/src/widgets/TutorialsHistory/TutorialsHistory.stories.tsx +0 -135
- package/src/widgets/TutorialsHistory/TutorialsHistory.tsx +0 -63
- package/src/widgets/TutorialsHistory/i18n/dicts.ts +0 -4
- package/src/widgets/TutorialsHistory/i18n/en.json +0 -3
- package/src/widgets/TutorialsHistory/i18n/index.ts +0 -5
- package/src/widgets/TutorialsHistory/i18n/ru.json +0 -3
- package/src/widgets/TutorialsHistory/index.ts +0 -2
- package/src/widgets/index.ts +0 -20
- package/tsconfig.json +0 -20
- package/tsconfig.publish.json +0 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["RowsList.scss"],"names":[],"mappings":"AACE;EACE,qDAAA;
|
|
1
|
+
{"version":3,"sources":["RowsList.scss"],"names":[],"mappings":"AAAA;EACE,YAAA;EACA,cAAA;AACF;AACE;EACE,qDAAA;AACJ","file":"RowsList.css","sourcesContent":[".qp-rows-list {\n height: 100%;\n overflow: auto;\n\n .g-list__item_selected:hover {\n background-color: var(--g-color-base-selection-hover);\n }\n}\n"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["queryList.ts"],"sourcesContent":["import {ReactNode} from 'react';\nimport {RegisteredFormFields} from './forms';\n\n/** ISO 8601 date string or Unix timestamp in milliseconds. */\nexport type QueryTimestamp = string | number;\n\nexport type QueryListRowRenderProps = {height: number};\n\nexport type QueryListHeader = {header: string} & QueryListRowRenderProps;\n\nexport type QueryListRow = {\n id: number;\n title: string;\n query?: string;\n href?: string;\n} & QueryListRowRenderProps;\n\nexport type QueryListItem<T extends QueryListRow = QueryListRow> = QueryListHeader | T;\n\nexport type QueryListRowVariant = 'default' | 'search';\n\nexport type QueryListRowAction<T extends QueryListRow = QueryListRow> = {\n text: ReactNode;\n icon?: ReactNode;\n theme?: 'normal' | 'danger';\n hidden?: boolean;\n disabled?: boolean;\n onClick: (item: T) => void;\n};\n\nexport type QueryListSearchConfig = {\n value?: string;\n fullSearch?: boolean;\n hasClear?: boolean;\n onUpdate: (data: {value: string; fullSearch: boolean}) => void;\n};\n\nexport type QueryListFilterConfig = {\n fields?: RegisteredFormFields[];\n values?: Record<string, any>;\n initialValues?: Record<string, any>;\n isChanged?: boolean;\n onApply?: (values: Record<string, any>) => void;\n onReset?: () => void;\n};\n\nexport type QueryListEditingConfig<T extends QueryListRow = QueryListRow> = {\n rowId?: T['id'];\n onSubmit?: (item: T, title: string) => void;\n onCancel?: (item: T) => void;\n};\n\nexport type QueryListComparisonConfig<T extends QueryListRow = QueryListRow> = {\n enabled: boolean;\n comparedRowIds: T['id'][];\n onChange: (item: T, selected: boolean) => void;\n onCancel: () => void;\n onCompare: () => void;\n};\n\ntype RowFieldKey<T extends QueryListRow> = Exclude<keyof T & string, keyof QueryListRowRenderProps>;\n\nexport type QueryListFieldKey<T extends QueryListRow = QueryListRow> = RowFieldKey<T> | 'duration';\n\nexport type QueryListFieldOption<K extends string = string> = {\n id: K;\n title: ReactNode;\n};\n\nexport type QueryListVisibleFieldsConfig<T extends QueryListRow = QueryListRow> = {\n value: QueryListFieldKey<T>[];\n fields: QueryListFieldOption<QueryListFieldKey<T>>[];\n onChange: (value: QueryListFieldKey<T>[]) => void;\n};\n\nexport type QueryListEditingRenderData<T extends QueryListRow = QueryListRow> = {\n enabled: boolean;\n} & Pick<QueryListEditingConfig<T>, 'onSubmit' | 'onCancel'>;\n\nexport type QueryListRowRenderData<T extends QueryListRow = QueryListRow> = {\n item: QueryListItem<T>;\n index: number;\n isActive: boolean;\n variant: QueryListRowVariant;\n comparison?: {\n enabled: boolean;\n checked: boolean;\n };\n visibleFields?: QueryListVisibleFieldsConfig<T>;\n actions?: QueryListRowAction<T>[];\n editing?: QueryListEditingRenderData<T>;\n};\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["queryList.ts"],"sourcesContent":["import {ReactNode} from 'react';\nimport {RegisteredFormFields} from './forms';\n\n/** ISO 8601 date string or Unix timestamp in milliseconds. */\nexport type QueryTimestamp = string | number;\n\nexport type QueryListRowRenderProps = {height: number};\n\nexport type QueryListHeader = {header: string} & QueryListRowRenderProps;\n\nexport type QueryListRow = {\n id: number | string;\n title: string;\n query?: string;\n href?: string;\n} & QueryListRowRenderProps;\n\nexport type QueryListItem<T extends QueryListRow = QueryListRow> = QueryListHeader | T;\n\nexport type QueryListRowVariant = 'default' | 'search';\n\nexport type QueryListRowAction<T extends QueryListRow = QueryListRow> = {\n text: ReactNode;\n icon?: ReactNode;\n theme?: 'normal' | 'danger';\n hidden?: boolean;\n disabled?: boolean;\n onClick: (item: T) => void;\n};\n\nexport type QueryListSearchConfig = {\n value?: string;\n fullSearch?: boolean;\n hasClear?: boolean;\n onUpdate: (data: {value: string; fullSearch: boolean}) => void;\n};\n\nexport type QueryListFilterConfig = {\n fields?: RegisteredFormFields[];\n values?: Record<string, any>;\n initialValues?: Record<string, any>;\n isChanged?: boolean;\n onApply?: (values: Record<string, any>) => void;\n onReset?: () => void;\n};\n\nexport type QueryListEditingConfig<T extends QueryListRow = QueryListRow> = {\n rowId?: T['id'];\n onSubmit?: (item: T, title: string) => void;\n onCancel?: (item: T) => void;\n};\n\nexport type QueryListComparisonConfig<T extends QueryListRow = QueryListRow> = {\n enabled: boolean;\n comparedRowIds: T['id'][];\n onChange: (item: T, selected: boolean) => void;\n onCancel: () => void;\n onCompare: () => void;\n};\n\ntype RowFieldKey<T extends QueryListRow> = Exclude<keyof T & string, keyof QueryListRowRenderProps>;\n\nexport type QueryListFieldKey<T extends QueryListRow = QueryListRow> = RowFieldKey<T> | 'duration';\n\nexport type QueryListFieldOption<K extends string = string> = {\n id: K;\n title: ReactNode;\n};\n\nexport type QueryListVisibleFieldsConfig<T extends QueryListRow = QueryListRow> = {\n value: QueryListFieldKey<T>[];\n fields: QueryListFieldOption<QueryListFieldKey<T>>[];\n onChange: (value: QueryListFieldKey<T>[]) => void;\n};\n\nexport type QueryListEditingRenderData<T extends QueryListRow = QueryListRow> = {\n enabled: boolean;\n} & Pick<QueryListEditingConfig<T>, 'onSubmit' | 'onCancel'>;\n\nexport type QueryListRowRenderData<T extends QueryListRow = QueryListRow> = {\n item: QueryListItem<T>;\n index: number;\n isActive: boolean;\n variant: QueryListRowVariant;\n comparison?: {\n enabled: boolean;\n checked: boolean;\n };\n visibleFields?: QueryListVisibleFieldsConfig<T>;\n actions?: QueryListRowAction<T>[];\n editing?: QueryListEditingRenderData<T>;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -8,7 +8,6 @@ import "core-js/modules/es.string.search.js";
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import cn from 'bem-cn-lite';
|
|
10
10
|
import { QueriesList } from "../../modules";
|
|
11
|
-
import i18n from "./i18n";
|
|
12
11
|
import { HistoryRowContent } from "./internal/HistoryRowContent";
|
|
13
12
|
import "./QueriesHistory.css";
|
|
14
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -29,7 +28,7 @@ export var QueriesHistory = function QueriesHistory(_ref) {
|
|
|
29
28
|
className = _ref.className;
|
|
30
29
|
return /*#__PURE__*/_jsx(QueriesList, {
|
|
31
30
|
className: block(null, className),
|
|
32
|
-
title: title
|
|
31
|
+
title: title,
|
|
33
32
|
logo: logo,
|
|
34
33
|
search: search,
|
|
35
34
|
filter: filter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","cn","QueriesList","
|
|
1
|
+
{"version":3,"names":["React","cn","QueriesList","HistoryRowContent","jsx","_jsx","block","QueriesHistory","_ref","title","logo","search","filter","items","selectedRowId","editing","comparison","visibleFields","renderRowItem","getRowActions","onListItemClick","className","renderRow","data","_objectSpread"],"sources":["QueriesHistory.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\nimport {QueriesList} from '../../modules';\nimport {\n QueryListComparisonConfig,\n QueryListEditingConfig,\n QueryListFilterConfig,\n QueryListItem,\n QueryListRowAction,\n QueryListRowRenderData,\n QueryListSearchConfig,\n QueryListVisibleFieldsConfig,\n} from '../../types/queryList';\nimport {QueryHistoryRow} from '../../types/history';\nimport {HistoryRowContent} from './internal/HistoryRowContent';\nimport './QueriesHistory.scss';\n\nexport type QueriesHistoryProps<T extends QueryHistoryRow = QueryHistoryRow> = {\n className?: string;\n title?: string;\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 renderRowItem?: (data: QueryListRowRenderData<T>) => React.ReactNode;\n getRowActions?: (item: T) => QueryListRowAction<T>[];\n onListItemClick?: (item: QueryListItem<T>) => void;\n};\n\nconst block = cn('qp-query-history');\n\nexport const QueriesHistory = <T extends QueryHistoryRow>({\n title,\n logo,\n search,\n filter,\n items,\n selectedRowId,\n editing,\n comparison,\n visibleFields,\n renderRowItem,\n getRowActions,\n onListItemClick,\n className,\n}: QueriesHistoryProps<T>) => {\n return (\n <QueriesList\n className={block(null, className)}\n title={title}\n logo={logo}\n search={search}\n filter={filter}\n items={items}\n selectedRowId={selectedRowId}\n visibleFields={visibleFields}\n editing={editing}\n comparison={comparison}\n getRowActions={getRowActions}\n renderRow={(data) =>\n renderRowItem ? renderRowItem(data) : <HistoryRowContent {...data} />\n }\n onListItemClick={onListItemClick}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,EAAE,MAAM,aAAa;AAC5B,SAAQC,WAAW;AAYnB,SAAQC,iBAAiB;AACzB;AAA+B,SAAAC,GAAA,IAAAC,IAAA;AAkB/B,IAAMC,KAAK,GAAGL,EAAE,CAAC,kBAAkB,CAAC;AAEpC,OAAO,IAAMM,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAcG;EAAA,IAb1BC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IACNC,KAAK,GAAAL,IAAA,CAALK,KAAK;IACLC,aAAa,GAAAN,IAAA,CAAbM,aAAa;IACbC,OAAO,GAAAP,IAAA,CAAPO,OAAO;IACPC,UAAU,GAAAR,IAAA,CAAVQ,UAAU;IACVC,aAAa,GAAAT,IAAA,CAAbS,aAAa;IACbC,aAAa,GAAAV,IAAA,CAAbU,aAAa;IACbC,aAAa,GAAAX,IAAA,CAAbW,aAAa;IACbC,eAAe,GAAAZ,IAAA,CAAfY,eAAe;IACfC,SAAS,GAAAb,IAAA,CAATa,SAAS;EAET,oBACIhB,IAAA,CAACH,WAAW;IACRmB,SAAS,EAAEf,KAAK,CAAC,IAAI,EAAEe,SAAS,CAAE;IAClCZ,KAAK,EAAEA,KAAM;IACbC,IAAI,EAAEA,IAAK;IACXC,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbC,aAAa,EAAEA,aAAc;IAC7BG,aAAa,EAAEA,aAAc;IAC7BF,OAAO,EAAEA,OAAQ;IACjBC,UAAU,EAAEA,UAAW;IACvBG,aAAa,EAAEA,aAAc;IAC7BG,SAAS,EAAE,SAAXA,SAASA,CAAGC,IAAI;MAAA,OACZL,aAAa,GAAGA,aAAa,CAACK,IAAI,CAAC,gBAAGlB,IAAA,CAACF,iBAAiB,EAAAqB,aAAA,KAAKD,IAAI,CAAG,CAAC;IAAA,CACxE;IACDH,eAAe,EAAEA;EAAgB,CACpC,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -12,6 +12,7 @@ import "core-js/modules/es.iterator.filter.js";
|
|
|
12
12
|
import "core-js/modules/es.object.to-string.js";
|
|
13
13
|
import "core-js/modules/es.string.includes.js";
|
|
14
14
|
import React, { useState } from 'react';
|
|
15
|
+
import { SegmentedRadioGroup } from '@gravity-ui/uikit';
|
|
15
16
|
import { QueriesHistory } from "./QueriesHistory";
|
|
16
17
|
import { action } from 'storybook/actions';
|
|
17
18
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -72,6 +73,33 @@ var BASE_ITEMS = [{
|
|
|
72
73
|
startTime: now - 30 * 60 * min,
|
|
73
74
|
query: QUERY,
|
|
74
75
|
height: 52
|
|
76
|
+
}, {
|
|
77
|
+
id: 6,
|
|
78
|
+
title: 'Query 6',
|
|
79
|
+
status: 'draft',
|
|
80
|
+
engine: 'YQL',
|
|
81
|
+
mode: 'Test',
|
|
82
|
+
startTime: now - 30 * 60 * min,
|
|
83
|
+
query: QUERY,
|
|
84
|
+
height: 52
|
|
85
|
+
}, {
|
|
86
|
+
id: 7,
|
|
87
|
+
title: 'Query 7',
|
|
88
|
+
status: 'draft',
|
|
89
|
+
engine: 'YQL',
|
|
90
|
+
mode: 'Test',
|
|
91
|
+
startTime: now - 30 * 60 * min,
|
|
92
|
+
query: QUERY,
|
|
93
|
+
height: 52
|
|
94
|
+
}, {
|
|
95
|
+
id: 8,
|
|
96
|
+
title: 'Query 8',
|
|
97
|
+
status: 'draft',
|
|
98
|
+
engine: 'YQL',
|
|
99
|
+
mode: 'Test',
|
|
100
|
+
startTime: now - 30 * 60 * min,
|
|
101
|
+
query: QUERY,
|
|
102
|
+
height: 52
|
|
75
103
|
}];
|
|
76
104
|
var activeFields = ['duration', 'mode', 'startTime', 'engine', 'isPrivate'];
|
|
77
105
|
var fields = [{
|
|
@@ -122,6 +150,13 @@ var meta = {
|
|
|
122
150
|
layout: 'padded'
|
|
123
151
|
}
|
|
124
152
|
};
|
|
153
|
+
var operationFilterOptions = [{
|
|
154
|
+
value: 'My',
|
|
155
|
+
content: 'My'
|
|
156
|
+
}, {
|
|
157
|
+
value: 'All',
|
|
158
|
+
content: 'All'
|
|
159
|
+
}];
|
|
125
160
|
export default meta;
|
|
126
161
|
var DefaultStory = function DefaultStory() {
|
|
127
162
|
var _useState = useState([].concat(BASE_ITEMS)),
|
|
@@ -277,6 +312,47 @@ var EmptyStory = function EmptyStory() {
|
|
|
277
312
|
})
|
|
278
313
|
});
|
|
279
314
|
};
|
|
315
|
+
var WithHeaderStory = function WithHeaderStory() {
|
|
316
|
+
var _useState13 = useState({
|
|
317
|
+
value: '',
|
|
318
|
+
fullSearch: false
|
|
319
|
+
}),
|
|
320
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
321
|
+
search = _useState14[0],
|
|
322
|
+
setSearch = _useState14[1];
|
|
323
|
+
var _useState15 = useState(activeFields),
|
|
324
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
325
|
+
visibleFields = _useState16[0],
|
|
326
|
+
setVisibleFields = _useState16[1];
|
|
327
|
+
return /*#__PURE__*/_jsx("div", {
|
|
328
|
+
style: {
|
|
329
|
+
width: 300,
|
|
330
|
+
height: 500
|
|
331
|
+
},
|
|
332
|
+
children: /*#__PURE__*/_jsx(QueriesHistory, {
|
|
333
|
+
items: BASE_ITEMS,
|
|
334
|
+
logo: /*#__PURE__*/_jsx(SegmentedRadioGroup, {
|
|
335
|
+
options: operationFilterOptions
|
|
336
|
+
}),
|
|
337
|
+
visibleFields: {
|
|
338
|
+
value: visibleFields,
|
|
339
|
+
fields: fields,
|
|
340
|
+
onChange: setVisibleFields
|
|
341
|
+
},
|
|
342
|
+
filter: {
|
|
343
|
+
fields: filterFields,
|
|
344
|
+
onApply: logFilterApply,
|
|
345
|
+
onReset: logFilterReset('reset')
|
|
346
|
+
},
|
|
347
|
+
search: {
|
|
348
|
+
value: search.value,
|
|
349
|
+
fullSearch: search.fullSearch,
|
|
350
|
+
hasClear: true,
|
|
351
|
+
onUpdate: setSearch
|
|
352
|
+
}
|
|
353
|
+
})
|
|
354
|
+
});
|
|
355
|
+
};
|
|
280
356
|
export var Default = {
|
|
281
357
|
render: function render() {
|
|
282
358
|
return /*#__PURE__*/_jsx(DefaultStory, {});
|
|
@@ -287,4 +363,9 @@ export var Empty = {
|
|
|
287
363
|
return /*#__PURE__*/_jsx(EmptyStory, {});
|
|
288
364
|
}
|
|
289
365
|
};
|
|
366
|
+
export var WithHeader = {
|
|
367
|
+
render: function render() {
|
|
368
|
+
return /*#__PURE__*/_jsx(WithHeaderStory, {});
|
|
369
|
+
}
|
|
370
|
+
};
|
|
290
371
|
// #sourceMappingURL=QueriesHistory.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","QueriesHistory","action","jsx","_jsx","now","Date","min","QUERY","BASE_ITEMS","header","height","id","title","status","engine","mode","startTime","endTime","query","activeFields","fields","filterFields","type","initialValue","items","logFilterApply","logFilterReset","meta","component","tags","parameters","layout","DefaultStory","_useState","concat","_useState2","_slicedToArray","setItems","_useState3","value","fullSearch","_useState4","search","setSearch","_useState5","_useState6","visibleFields","setVisibleFields","_useState7","_useState8","compareMode","setCompareMode","_useState9","_useState0","comparedRows","setComparedRows","_useState1","undefined","_useState10","editingId","setEditingId","handleCompareChange","item","selected","result","_toConsumableArray","slice","filter","length","handleCompareCancel","handleEditSubmit","index","findIndex","i","_objectSpread","handleEditCancel","handleCompare","handleOnSearch","data","newItems","_item$query","toLowerCase","searchValue","includes","style","width","children","onChange","hasClear","onUpdate","onApply","onReset","getRowActions","text","onClick","comparison","enabled","comparedRowIds","onCancel","onCompare","editing","rowId","onSubmit","EmptyStory","_useState11","_useState12","Default","render","Empty"],"sources":["QueriesHistory.stories.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport type {Meta, StoryObj} from '@storybook/react';\nimport {QueriesHistory} from './QueriesHistory';\nimport {\n QueryListFieldKey,\n QueryListFilterConfig,\n QueryListItem,\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\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 meta: Meta<typeof QueriesHistory> = {\n title: 'Widgets/QueriesHistory',\n component: QueriesHistory,\n tags: ['autodocs'],\n parameters: {\n layout: 'padded',\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof QueriesHistory>;\n\nconst DefaultStory = () => {\n const [items, setItems] = useState([...BASE_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[]>([]);\n const [editingId, setEditingId] = useState<number | 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(BASE_ITEMS);\n return;\n }\n\n const newItems = BASE_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 />\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\nexport const Default: Story = {render: () => <DefaultStory />};\nexport const Empty: Story = {render: () => <EmptyStory />};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useState","SegmentedRadioGroup","QueriesHistory","action","jsx","_jsx","now","Date","min","QUERY","BASE_ITEMS","header","height","id","title","status","engine","mode","startTime","endTime","query","activeFields","fields","filterFields","type","initialValue","items","logFilterApply","logFilterReset","meta","component","tags","parameters","layout","operationFilterOptions","value","content","DefaultStory","_useState","concat","_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","item","selected","result","_toConsumableArray","slice","filter","length","handleCompareCancel","handleEditSubmit","index","findIndex","i","_objectSpread","handleEditCancel","handleCompare","handleOnSearch","data","newItems","_item$query","toLowerCase","searchValue","includes","style","width","children","onChange","hasClear","onUpdate","onApply","onReset","getRowActions","text","onClick","comparison","enabled","comparedRowIds","onCancel","onCompare","editing","rowId","onSubmit","EmptyStory","_useState11","_useState12","WithHeaderStory","_useState13","_useState14","_useState15","_useState16","logo","options","Default","render","Empty","WithHeader"],"sources":["QueriesHistory.stories.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport type {Meta, StoryObj} from '@storybook/react';\nimport {SegmentedRadioGroup} from '@gravity-ui/uikit';\nimport {QueriesHistory} from './QueriesHistory';\nimport {\n QueryListFieldKey,\n QueryListFilterConfig,\n QueryListItem,\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\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 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([...BASE_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(BASE_ITEMS);\n return;\n }\n\n const newItems = BASE_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 />\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\nexport const Default: Story = {render: () => <DefaultStory />};\nexport const Empty: Story = {render: () => <EmptyStory />};\nexport const WithHeader: Story = {render: () => <WithHeaderStory />};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","useState","Text","action","SavedQueries","jsx","_jsx","QUERY","BASE_ITEMS","id","title","savedAt","engine","author","query","height","filterFields","type","initialValue","items","fields","meta","component","tags","parameters","layout","SavedQueriesStory","_useState","_useState2","_slicedToArray","setItems","_useState3","value","fullSearch","_useState4","search","setSearch","_useState5","_useState6","visibleFields","setVisibleFields","_useState7","_useState8","comparedRowIds","setComparedRowIds","_useState9","_useState0","editingRowId","setEditingRowId","filteredItems","toLowerCase","filter","item","_item$query","includes","updateTitle","currentItems","map","currentItem","_objectSpread","undefined","style","width","children","hasClear","onUpdate","onApply","onReset","onChange","editing","rowId","onSubmit","onCancel","comparison","enabled","Boolean","length","selected","currentIds","concat","_toConsumableArray","slice","onCompare","getRowActions","text","onClick","theme","CustomAuthorStory","team","_useState1","_useState10","renderAuthor","color","EmptyStory","_useState11","_useState12","Default","render","CustomAuthor","Empty"],"sources":["SavedQueries.stories.tsx"],"sourcesContent":["import React, {useMemo, useState} from 'react';\nimport type {Meta, StoryObj} from '@storybook/react';\nimport {Text} from '@gravity-ui/uikit';\nimport {action} from 'storybook/actions';\nimport {\n QueryListFieldKey,\n QueryListFilterConfig,\n QueryListItem,\n QueryListVisibleFieldsConfig,\n} from '../../types/queryList';\nimport {SavedQuery} from '../../types/savedQueries';\nimport {SavedQueries} from './SavedQueries';\n\nconst QUERY = `SELECT\n session_id,\n COUNT(*) AS sessions_count\nFROM visits\nGROUP BY session_id;`;\n\nconst BASE_ITEMS: QueryListItem<SavedQuery>[] = [\n {\n id: 1,\n title: 'New Query',\n savedAt: '2026-04-29T12:00:00.000Z',\n engine: 'SQL',\n author: 'Anna Petrova',\n query: QUERY,\n height: 52,\n },\n {\n id: 2,\n title: 'Daily conversion report',\n savedAt: '2026-04-29T11:00:00.000Z',\n engine: 'YQL',\n author: 'Pavel Sidorov',\n query: QUERY,\n height: 52,\n },\n {\n id: 3,\n title: 'Product funnel',\n savedAt: '2026-04-28T09:00:00.000Z',\n engine: 'SQL',\n author: 'Maria Volkova',\n query: 'SELECT 1;',\n height: 52,\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: 'engine',\n type: 'checkboxGroup',\n title: 'Engine',\n initialValue: [],\n items: [\n {id: 'yql', title: 'YQL'},\n {id: 'sql', title: 'SQL'},\n ],\n },\n];\n\nconst fields: QueryListVisibleFieldsConfig<SavedQuery>['fields'] = [\n {id: 'savedAt', title: 'Saved date'},\n {id: 'engine', title: 'Engine'},\n {id: 'author', title: 'Author'},\n];\n\nconst meta: Meta<typeof SavedQueries> = {\n title: 'Widgets/SavedQueries',\n component: SavedQueries,\n tags: ['autodocs'],\n parameters: {layout: 'padded'},\n};\n\nexport default meta;\ntype Story = StoryObj<typeof SavedQueries>;\n\nconst SavedQueriesStory = () => {\n const [items, setItems] = useState(BASE_ITEMS);\n const [search, setSearch] = useState({value: '', fullSearch: false});\n const [visibleFields, setVisibleFields] = useState<QueryListFieldKey<SavedQuery>[]>([\n 'savedAt',\n 'engine',\n 'author',\n ]);\n const [comparedRowIds, setComparedRowIds] = useState<number[]>([]);\n const [editingRowId, setEditingRowId] = useState<number>();\n\n const filteredItems = useMemo(() => {\n if (!search.value) return items;\n\n const value = search.value.toLowerCase();\n return items.filter((item) => {\n if ('header' in item) return false;\n\n return search.fullSearch\n ? item.title.toLowerCase().includes(value) ||\n item.query?.toLowerCase().includes(value)\n : item.title.toLowerCase().includes(value);\n });\n }, [items, search]);\n\n const updateTitle = (item: SavedQuery, title: string) => {\n setItems((currentItems) =>\n currentItems.map((currentItem) =>\n 'id' in currentItem && currentItem.id === item.id\n ? {...currentItem, title}\n : currentItem,\n ),\n );\n setEditingRowId(undefined);\n };\n\n return (\n <div style={{width: 360, height: 560}}>\n <SavedQueries\n items={filteredItems}\n search={{...search, hasClear: true, onUpdate: setSearch}}\n filter={{\n fields: filterFields,\n onApply: action('onFilterApply'),\n onReset: action('onFilterReset'),\n }}\n visibleFields={{value: visibleFields, fields, onChange: setVisibleFields}}\n editing={{\n rowId: editingRowId,\n onSubmit: updateTitle,\n onCancel: () => setEditingRowId(undefined),\n }}\n comparison={{\n enabled: Boolean(comparedRowIds.length),\n comparedRowIds,\n onChange: (item, selected) => {\n setComparedRowIds((currentIds) =>\n selected\n ? [...currentIds.filter((id) => id !== item.id).slice(-1), item.id]\n : currentIds.filter((id) => id !== item.id),\n );\n },\n onCancel: () => setComparedRowIds([]),\n onCompare: () => action('onCompare')(comparedRowIds),\n }}\n getRowActions={(item) => [\n {text: 'Copy to', onClick: () => action('onCopyTo')(item)},\n {text: 'Show operations', onClick: () => action('onShowOperations')(item)},\n {text: 'Edit', onClick: () => setEditingRowId(item.id)},\n {\n text: 'Compare with baseline',\n onClick: () => setComparedRowIds([item.id]),\n },\n {text: 'Delete', theme: 'danger', onClick: () => action('onDelete')(item)},\n ]}\n />\n </div>\n );\n};\n\ntype ExtendedSavedQuery = SavedQuery & {team: string};\n\nconst CustomAuthorStory = () => {\n const items: QueryListItem<ExtendedSavedQuery>[] = BASE_ITEMS.map((item) =>\n 'header' in item ? item : {...item, team: 'Analytics'},\n );\n const [search, setSearch] = useState({value: '', fullSearch: false});\n\n return (\n <div style={{width: 360, height: 280}}>\n <SavedQueries\n items={items}\n search={{...search, hasClear: true, onUpdate: setSearch}}\n renderAuthor={(item) => <Text color=\"complementary\">{item.team}</Text>}\n />\n </div>\n );\n};\n\nconst EmptyStory = () => {\n const [search, setSearch] = useState({value: '', fullSearch: false});\n\n return (\n <div style={{width: 360, height: 280}}>\n <SavedQueries items={[]} search={{...search, hasClear: true, onUpdate: setSearch}} />\n </div>\n );\n};\n\nexport const Default: Story = {render: () => <SavedQueriesStory />};\nexport const CustomAuthor: Story = {render: () => <CustomAuthorStory />};\nexport const Empty: Story = {render: () => <EmptyStory />};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useMemo","useState","Text","action","SavedQueries","jsx","_jsx","QUERY","BASE_ITEMS","id","title","savedAt","engine","author","query","height","filterFields","type","initialValue","items","fields","meta","component","tags","parameters","layout","SavedQueriesStory","_useState","_useState2","_slicedToArray","setItems","_useState3","value","fullSearch","_useState4","search","setSearch","_useState5","_useState6","visibleFields","setVisibleFields","_useState7","_useState8","comparedRowIds","setComparedRowIds","_useState9","_useState0","editingRowId","setEditingRowId","filteredItems","toLowerCase","filter","item","_item$query","includes","updateTitle","currentItems","map","currentItem","_objectSpread","undefined","style","width","children","hasClear","onUpdate","onApply","onReset","onChange","editing","rowId","onSubmit","onCancel","comparison","enabled","Boolean","length","selected","currentIds","concat","_toConsumableArray","slice","onCompare","getRowActions","text","onClick","theme","CustomAuthorStory","team","_useState1","_useState10","renderAuthor","color","EmptyStory","_useState11","_useState12","Default","render","CustomAuthor","Empty"],"sources":["SavedQueries.stories.tsx"],"sourcesContent":["import React, {useMemo, useState} from 'react';\nimport type {Meta, StoryObj} from '@storybook/react';\nimport {Text} from '@gravity-ui/uikit';\nimport {action} from 'storybook/actions';\nimport {\n QueryListFieldKey,\n QueryListFilterConfig,\n QueryListItem,\n QueryListVisibleFieldsConfig,\n} from '../../types/queryList';\nimport {SavedQuery} from '../../types/savedQueries';\nimport {SavedQueries} from './SavedQueries';\n\nconst QUERY = `SELECT\n session_id,\n COUNT(*) AS sessions_count\nFROM visits\nGROUP BY session_id;`;\n\nconst BASE_ITEMS: QueryListItem<SavedQuery>[] = [\n {\n id: 1,\n title: 'New Query',\n savedAt: '2026-04-29T12:00:00.000Z',\n engine: 'SQL',\n author: 'Anna Petrova',\n query: QUERY,\n height: 52,\n },\n {\n id: 2,\n title: 'Daily conversion report',\n savedAt: '2026-04-29T11:00:00.000Z',\n engine: 'YQL',\n author: 'Pavel Sidorov',\n query: QUERY,\n height: 52,\n },\n {\n id: 3,\n title: 'Product funnel',\n savedAt: '2026-04-28T09:00:00.000Z',\n engine: 'SQL',\n author: 'Maria Volkova',\n query: 'SELECT 1;',\n height: 52,\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: 'engine',\n type: 'checkboxGroup',\n title: 'Engine',\n initialValue: [],\n items: [\n {id: 'yql', title: 'YQL'},\n {id: 'sql', title: 'SQL'},\n ],\n },\n];\n\nconst fields: QueryListVisibleFieldsConfig<SavedQuery>['fields'] = [\n {id: 'savedAt', title: 'Saved date'},\n {id: 'engine', title: 'Engine'},\n {id: 'author', title: 'Author'},\n];\n\nconst meta: Meta<typeof SavedQueries> = {\n title: 'Widgets/SavedQueries',\n component: SavedQueries,\n tags: ['autodocs'],\n parameters: {layout: 'padded'},\n};\n\nexport default meta;\ntype Story = StoryObj<typeof SavedQueries>;\n\nconst SavedQueriesStory = () => {\n const [items, setItems] = useState(BASE_ITEMS);\n const [search, setSearch] = useState({value: '', fullSearch: false});\n const [visibleFields, setVisibleFields] = useState<QueryListFieldKey<SavedQuery>[]>([\n 'savedAt',\n 'engine',\n 'author',\n ]);\n const [comparedRowIds, setComparedRowIds] = useState<(number | string)[]>([]);\n const [editingRowId, setEditingRowId] = useState<number | string>();\n\n const filteredItems = useMemo(() => {\n if (!search.value) return items;\n\n const value = search.value.toLowerCase();\n return items.filter((item) => {\n if ('header' in item) return false;\n\n return search.fullSearch\n ? item.title.toLowerCase().includes(value) ||\n item.query?.toLowerCase().includes(value)\n : item.title.toLowerCase().includes(value);\n });\n }, [items, search]);\n\n const updateTitle = (item: SavedQuery, title: string) => {\n setItems((currentItems) =>\n currentItems.map((currentItem) =>\n 'id' in currentItem && currentItem.id === item.id\n ? {...currentItem, title}\n : currentItem,\n ),\n );\n setEditingRowId(undefined);\n };\n\n return (\n <div style={{width: 360, height: 560}}>\n <SavedQueries\n items={filteredItems}\n search={{...search, hasClear: true, onUpdate: setSearch}}\n filter={{\n fields: filterFields,\n onApply: action('onFilterApply'),\n onReset: action('onFilterReset'),\n }}\n visibleFields={{value: visibleFields, fields, onChange: setVisibleFields}}\n editing={{\n rowId: editingRowId,\n onSubmit: updateTitle,\n onCancel: () => setEditingRowId(undefined),\n }}\n comparison={{\n enabled: Boolean(comparedRowIds.length),\n comparedRowIds,\n onChange: (item, selected) => {\n setComparedRowIds((currentIds) =>\n selected\n ? [...currentIds.filter((id) => id !== item.id).slice(-1), item.id]\n : currentIds.filter((id) => id !== item.id),\n );\n },\n onCancel: () => setComparedRowIds([]),\n onCompare: () => action('onCompare')(comparedRowIds),\n }}\n getRowActions={(item) => [\n {text: 'Copy to', onClick: () => action('onCopyTo')(item)},\n {text: 'Show operations', onClick: () => action('onShowOperations')(item)},\n {text: 'Edit', onClick: () => setEditingRowId(item.id)},\n {\n text: 'Compare with baseline',\n onClick: () => setComparedRowIds([item.id]),\n },\n {text: 'Delete', theme: 'danger', onClick: () => action('onDelete')(item)},\n ]}\n />\n </div>\n );\n};\n\ntype ExtendedSavedQuery = SavedQuery & {team: string};\n\nconst CustomAuthorStory = () => {\n const items: QueryListItem<ExtendedSavedQuery>[] = BASE_ITEMS.map((item) =>\n 'header' in item ? item : {...item, team: 'Analytics'},\n );\n const [search, setSearch] = useState({value: '', fullSearch: false});\n\n return (\n <div style={{width: 360, height: 280}}>\n <SavedQueries\n items={items}\n search={{...search, hasClear: true, onUpdate: setSearch}}\n renderAuthor={(item) => <Text color=\"complementary\">{item.team}</Text>}\n />\n </div>\n );\n};\n\nconst EmptyStory = () => {\n const [search, setSearch] = useState({value: '', fullSearch: false});\n\n return (\n <div style={{width: 360, height: 280}}>\n <SavedQueries items={[]} search={{...search, hasClear: true, onUpdate: setSearch}} />\n </div>\n );\n};\n\nexport const Default: Story = {render: () => <SavedQueriesStory />};\nexport const CustomAuthor: Story = {render: () => <CustomAuthorStory />};\nexport const Empty: Story = {render: () => <EmptyStory />};\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,8 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gravity-ui/querieskit",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "Query page component library",
|
|
5
|
-
"main": "build/index.js",
|
|
5
|
+
"main": "./build/cjs/index.js",
|
|
6
|
+
"module": "./build/esm/index.js",
|
|
7
|
+
"types": "./build/esm/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": {
|
|
11
|
+
"types": "./build/esm/index.d.ts",
|
|
12
|
+
"default": "./build/esm/index.js"
|
|
13
|
+
},
|
|
14
|
+
"require": {
|
|
15
|
+
"types": "./build/cjs/index.d.ts",
|
|
16
|
+
"default": "./build/cjs/index.js"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"./build/esm": {
|
|
20
|
+
"types": "./build/esm/index.d.ts",
|
|
21
|
+
"default": "./build/esm/index.js"
|
|
22
|
+
},
|
|
23
|
+
"./build/cjs": {
|
|
24
|
+
"types": "./build/cjs/index.d.ts",
|
|
25
|
+
"default": "./build/cjs/index.js"
|
|
26
|
+
},
|
|
27
|
+
"./build/*": "./build/*",
|
|
28
|
+
"./package.json": "./package.json"
|
|
29
|
+
},
|
|
30
|
+
"files": [
|
|
31
|
+
"build"
|
|
32
|
+
],
|
|
6
33
|
"scripts": {
|
|
7
34
|
"build": "app-builder build",
|
|
8
35
|
"lint": "eslint",
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: code-review-checklist
|
|
3
|
-
description: Review code changes from supplied diffs, local working-tree changes, or GitHub PRs, validating correctness, React state, edge cases, security, performance, and compatibility against full code context. Use for code review, diff review, logic checks, and bug hunting.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Code Review Checklist
|
|
7
|
-
|
|
8
|
-
Review changes in two passes: find plausible risks, then validate each risk against the full code context. Report only confirmed, actionable findings.
|
|
9
|
-
|
|
10
|
-
## Boundaries
|
|
11
|
-
|
|
12
|
-
- Code review is read-only unless the user separately asks for implementation.
|
|
13
|
-
- Do not edit the reviewed code, create review-report files, or run commands that rewrite source files.
|
|
14
|
-
- Do not publish PR comments, replies, or review decisions without an explicit request.
|
|
15
|
-
- Return the review directly in the response, using the language of the user's request.
|
|
16
|
-
|
|
17
|
-
## Determine the Review Source
|
|
18
|
-
|
|
19
|
-
Use the source named by the user. Do not ask them to reproduce a diff that is already available.
|
|
20
|
-
|
|
21
|
-
- **Supplied diff or diff file:** treat it as the authoritative change set. When the repository is available, use it only to read the full files and related context.
|
|
22
|
-
- **Local repository:** inspect status first. Unless the user narrows the scope, include staged changes, unstaged changes, and untracked files. If branch or committed changes are requested, compare the requested branch range as a separate layer.
|
|
23
|
-
- **GitHub PR:** use the `github-pr-review` skill to obtain PR metadata, diff, and existing comments, then apply this skill as the analysis core. Preserve that skill's statuses when validating existing comments.
|
|
24
|
-
|
|
25
|
-
An empty result from one diff layer does not prove there are no local changes; reconcile the review scope with repository status.
|
|
26
|
-
|
|
27
|
-
## Build Context Before Judging
|
|
28
|
-
|
|
29
|
-
1. Read the repository's `AGENTS.md` and any instructions that apply to the changed paths.
|
|
30
|
-
2. Build an internal change map in dependency order:
|
|
31
|
-
types and helpers → components → modules → widgets → public exports and integration.
|
|
32
|
-
3. Read every changed source file in full when it is available, not only its diff hunks. If only the diff is available, state the resulting context limitation.
|
|
33
|
-
4. Follow relevant types, callers, callees, consumers, state owners, and public contracts when the finding depends on them.
|
|
34
|
-
5. Infer the intended behavior from code, tests, types, and the user's request. Call out a missing requirement as uncertainty, not as a confirmed bug.
|
|
35
|
-
|
|
36
|
-
For this repository, apply conditional guidance without duplicating it here:
|
|
37
|
-
|
|
38
|
-
- For SCSS or layout changes, read `plans/styles-rules.md`.
|
|
39
|
-
- For localization changes, read `plans/i18n-rules.md`.
|
|
40
|
-
- Check the `components → modules → widgets` dependency direction, mandatory unit and level barrel exports, and placement of consumer-facing public types described in `AGENTS.md`.
|
|
41
|
-
- Treat documented legacy violations as anti-examples, not patterns to copy.
|
|
42
|
-
|
|
43
|
-
## Two-Pass Review
|
|
44
|
-
|
|
45
|
-
### Pass 1: Find Candidate Risks
|
|
46
|
-
|
|
47
|
-
Look for code whose correctness depends on a non-obvious condition, including:
|
|
48
|
-
|
|
49
|
-
- inverted, incomplete, unreachable, or off-by-one control flow;
|
|
50
|
-
- invalid state transitions, direct mutation, stale closures, stale derived state, or incorrect React effect dependencies and cleanup;
|
|
51
|
-
- nullish values, empty collections, Unicode, dates and time zones, size limits, and other realistic boundaries;
|
|
52
|
-
- lost errors, incomplete failure paths, async races, interleaving, or cleanup leaks;
|
|
53
|
-
- transformations that lose data or rely on an unvalidated shape or invariant;
|
|
54
|
-
- broken request/response, component props, or public API contracts;
|
|
55
|
-
- unsafe HTML or URLs, leaked secrets, or missing validation at trust boundaries;
|
|
56
|
-
- unnecessary work in render or hot paths, retained listeners/resources, or avoidable large allocations;
|
|
57
|
-
- breaking exports, incorrect abstraction-level imports, misplaced styles, or incomplete i18n changes.
|
|
58
|
-
|
|
59
|
-
Do not turn formatting preferences, speculative possibilities, or generic best practices into findings without a concrete failure mode.
|
|
60
|
-
|
|
61
|
-
### Pass 2: Validate Every Candidate
|
|
62
|
-
|
|
63
|
-
For each candidate:
|
|
64
|
-
|
|
65
|
-
1. Re-read the entire containing file and the relevant surrounding flow.
|
|
66
|
-
2. Verify the triggering input, state, or execution path is reachable.
|
|
67
|
-
3. Check whether types, callers, guards, framework behavior, or tests already preserve the invariant.
|
|
68
|
-
4. State the observable consequence and affected consumer.
|
|
69
|
-
5. Remove the candidate if the concern is disproved or remains purely speculative.
|
|
70
|
-
|
|
71
|
-
Run relevant read-only checks when they materially increase confidence. Distinguish confirmed defects from test or verification gaps.
|
|
72
|
-
|
|
73
|
-
## Severity
|
|
74
|
-
|
|
75
|
-
- **High:** security exposure, data loss, crash in a primary flow, or an unintended breaking public API change.
|
|
76
|
-
- **Medium:** incorrect behavior in a realistic supported scenario, including significant state, error-handling, or integration failures.
|
|
77
|
-
- **Low:** a limited edge-case defect or concrete maintainability problem likely to cause incorrect behavior later.
|
|
78
|
-
|
|
79
|
-
Do not report style-only nits. Order findings from highest to lowest severity.
|
|
80
|
-
|
|
81
|
-
## Response Format
|
|
82
|
-
|
|
83
|
-
Lead with confirmed findings. For each finding include:
|
|
84
|
-
|
|
85
|
-
- **Location:** `path/to/file:line`
|
|
86
|
-
- **Severity:** `High`, `Medium`, or `Low`
|
|
87
|
-
- **Finding:** concise description of the defect
|
|
88
|
-
- **Condition:** input or execution path that triggers it
|
|
89
|
-
- **Impact:** observable consequence
|
|
90
|
-
- **Recommendation:** specific fix or mitigation
|
|
91
|
-
|
|
92
|
-
For existing PR comments, also include **Status** using the vocabulary required by `github-pr-review`.
|
|
93
|
-
|
|
94
|
-
After findings, mention only material test or verification gaps. If there are no confirmed findings, say so explicitly and do not invent issues to fill the response.
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: github-pr-review
|
|
3
|
-
description: Reviews GitHub Pull Requests, analyzes diffs, and validates existing review comments for relevance. Use when the user provides a GitHub PR URL, asks to review a PR, поревьювить PR, проверить PR, or check whether existing review comments are still relevant.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# GitHub PR Review & Validation Rule
|
|
7
|
-
|
|
8
|
-
## Работа со ссылкой на PR
|
|
9
|
-
Когда предоставлена ссылка на GitHub PR:
|
|
10
|
-
1. **Анализ изменений**: Изучи diff и файлы, затронутые в PR.
|
|
11
|
-
2. **Применение чек-листа**: Используй критерии из skill `code-review-checklist` (Logical Bugs, Edge Cases, Security, Performance) для анализа входящего кода. Сначала прочитай `.agents/skills/code-review-checklist/SKILL.md`.
|
|
12
|
-
|
|
13
|
-
## Проверка существующих замечаний (Comments Validation)
|
|
14
|
-
Если в PR уже есть комментарии/замечания от других ревьюеров:
|
|
15
|
-
1. **Релевантность**: Проверь, актуально ли ещё замечание. Если код уже исправлен в последних коммитах — отметь это.
|
|
16
|
-
2. **Объективность**: Сверь замечание с текущим чек-листом. Если замечание противоречит стандартам проекта или чек-листу, укажи на это.
|
|
17
|
-
|
|
18
|
-
## Формат ответа
|
|
19
|
-
Для каждого замечания (нового или существующего из PR) используй формат:
|
|
20
|
-
- **Локация**: [Файл : Строка]
|
|
21
|
-
- **Статус**: (Новое / Подтверждено / Исправлено / Неактуально)
|
|
22
|
-
- **Критичность**: (High / Medium / Low)
|
|
23
|
-
- **Суть**: Краткое описание проблемы согласно чек-листу.
|
|
24
|
-
- **Рекомендация**: Конкретный пример исправленного кода.
|