@ytsaurus/components 0.2.5 → 1.0.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/README.md +7 -5
- package/README.ru.md +7 -5
- package/build/esm/components/MetaTable/MetaTable.css +2 -1
- package/build/esm/components/MetaTable/MetaTable.css.map +1 -1
- package/build/esm/components/MetaTable/MetaTable.scss +3 -1
- package/build/esm/components/MetaTable/index.d.ts +1 -1
- package/build/esm/components/MetaTable/index.d.ts.map +1 -1
- package/build/esm/components/MetaTable/index.js +1 -1
- package/build/esm/components/MetaTable/index.js.map +1 -1
- package/build/esm/modules/NavigationTable/NavigationMetaTab.css +4 -0
- package/build/esm/modules/NavigationTable/NavigationMetaTab.css.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationMetaTab.d.ts +9 -0
- package/build/esm/modules/NavigationTable/NavigationMetaTab.d.ts.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationMetaTab.js +13 -0
- package/build/esm/modules/NavigationTable/NavigationMetaTab.js.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationMetaTab.scss +3 -0
- package/build/esm/modules/NavigationTable/{PreviewTab.css → NavigationPreviewTab/NavigationPreviewTab.css} +1 -1
- package/build/esm/modules/NavigationTable/NavigationPreviewTab/NavigationPreviewTab.css.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationPreviewTab/NavigationPreviewTab.d.ts +17 -0
- package/build/esm/modules/NavigationTable/NavigationPreviewTab/NavigationPreviewTab.d.ts.map +1 -0
- package/build/esm/modules/NavigationTable/{PreviewTab.js → NavigationPreviewTab/NavigationPreviewTab.js} +11 -17
- package/build/esm/modules/NavigationTable/NavigationPreviewTab/NavigationPreviewTab.js.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationPreviewTab/i18n/en.json +3 -0
- package/build/esm/modules/NavigationTable/NavigationPreviewTab/i18n/index.d.ts +7 -0
- package/build/esm/modules/NavigationTable/NavigationPreviewTab/i18n/index.d.ts.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationPreviewTab/i18n/index.js +8 -0
- package/build/esm/modules/NavigationTable/NavigationPreviewTab/i18n/index.js.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationPreviewTab/i18n/ru.json +3 -0
- package/build/esm/modules/NavigationTable/NavigationPreviewTab/index.d.ts +2 -0
- package/build/esm/modules/NavigationTable/NavigationPreviewTab/index.d.ts.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationPreviewTab/index.js +2 -0
- package/build/esm/modules/NavigationTable/NavigationPreviewTab/index.js.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/NavigationSchemaTab.d.ts +12 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/NavigationSchemaTab.d.ts.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/NavigationSchemaTab.js +32 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/NavigationSchemaTab.js.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/i18n/en.json +3 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/i18n/index.d.ts +7 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/i18n/index.d.ts.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/i18n/index.js +8 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/i18n/index.js.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/i18n/ru.json +3 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/index.d.ts +2 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/index.d.ts.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/index.js +2 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/index.js.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/makeNavigationColumns.d.ts +5 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/makeNavigationColumns.d.ts.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/makeNavigationColumns.js +78 -0
- package/build/esm/modules/NavigationTable/NavigationSchemaTab/makeNavigationColumns.js.map +1 -0
- package/build/esm/modules/NavigationTable/NavigationTable.css +0 -3
- package/build/esm/modules/NavigationTable/NavigationTable.css.map +1 -1
- package/build/esm/modules/NavigationTable/NavigationTable.d.ts +3 -2
- package/build/esm/modules/NavigationTable/NavigationTable.d.ts.map +1 -1
- package/build/esm/modules/NavigationTable/NavigationTable.js +18 -33
- package/build/esm/modules/NavigationTable/NavigationTable.js.map +1 -1
- package/build/esm/modules/NavigationTable/NavigationTable.scss +0 -6
- package/build/esm/modules/NavigationTable/helpers/filterSchema.d.ts +1 -1
- package/build/esm/modules/NavigationTable/helpers/filterSchema.d.ts.map +1 -1
- package/build/esm/modules/NavigationTable/helpers/filterSchema.js +1 -0
- package/build/esm/modules/NavigationTable/helpers/filterSchema.js.map +1 -1
- package/build/esm/modules/NavigationTable/helpers/prepareColumns.d.ts +18 -0
- package/build/esm/modules/NavigationTable/helpers/prepareColumns.d.ts.map +1 -0
- package/build/esm/modules/NavigationTable/helpers/prepareColumns.js +59 -0
- package/build/esm/modules/NavigationTable/helpers/prepareColumns.js.map +1 -0
- package/build/esm/modules/NavigationTable/i18n/en.json +1 -3
- package/build/esm/modules/NavigationTable/i18n/index.d.ts +2 -2
- package/build/esm/modules/NavigationTable/i18n/ru.json +1 -3
- package/build/esm/modules/NavigationTable/index.d.ts +3 -2
- package/build/esm/modules/NavigationTable/index.d.ts.map +1 -1
- package/build/esm/modules/NavigationTable/index.js +3 -2
- package/build/esm/modules/NavigationTable/index.js.map +1 -1
- package/build/esm/modules/NavigationTable/navigationTableStorySetup.d.ts +1 -1
- package/build/esm/modules/NavigationTable/navigationTableStorySetup.d.ts.map +1 -1
- package/build/esm/modules/NavigationTable/navigationTableStorySetup.js +1 -1
- package/build/esm/modules/NavigationTable/navigationTableStorySetup.js.map +1 -1
- package/build/esm/modules/index.d.ts +1 -1
- package/build/esm/modules/index.d.ts.map +1 -1
- package/build/esm/modules/index.js +1 -1
- package/build/esm/modules/index.js.map +1 -1
- package/build/esm/types/navigation.d.ts +1 -0
- package/build/esm/types/navigation.d.ts.map +1 -1
- package/build/esm/types/navigation.js.map +1 -1
- package/package.json +2 -2
- package/build/esm/modules/NavigationTable/PreviewTab.css.map +0 -1
- package/build/esm/modules/NavigationTable/PreviewTab.d.ts +0 -17
- package/build/esm/modules/NavigationTable/PreviewTab.d.ts.map +0 -1
- package/build/esm/modules/NavigationTable/PreviewTab.js.map +0 -1
- package/build/esm/modules/NavigationTable/SchemaTab.d.ts +0 -12
- package/build/esm/modules/NavigationTable/SchemaTab.d.ts.map +0 -1
- package/build/esm/modules/NavigationTable/SchemaTab.js +0 -98
- package/build/esm/modules/NavigationTable/SchemaTab.js.map +0 -1
- package/build/esm/modules/NavigationTable/prepareColumns.d.ts +0 -30
- package/build/esm/modules/NavigationTable/prepareColumns.d.ts.map +0 -1
- package/build/esm/modules/NavigationTable/prepareColumns.js +0 -99
- package/build/esm/modules/NavigationTable/prepareColumns.js.map +0 -1
- /package/build/esm/modules/NavigationTable/{PreviewTab.scss → NavigationPreviewTab/NavigationPreviewTab.scss} +0 -0
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ import '@gravity-ui/uikit/styles/styles.css';
|
|
|
29
29
|
| Import | Purpose |
|
|
30
30
|
|--------|---------|
|
|
31
31
|
| **`@ytsaurus/components`** | Components (`ColumnCell`, `MetaTable`, …), types, hooks (`useNavigationTableData`), **HTTP helpers** for navigation (see below). |
|
|
32
|
-
| **`@ytsaurus/components/modules`** | **`NavigationTable`** shell plus **`
|
|
32
|
+
| **`@ytsaurus/components/modules`** | **`NavigationTable`** shell plus **`NavigationSchemaTab`**, **`NavigationPreviewTab`**, **`NavigationMetaTab`** (and types such as `NavigationTableProps`). |
|
|
33
33
|
|
|
34
34
|
The root entry re-exports **`src/api`**: a single place for loading table data and the YT API wrapper.
|
|
35
35
|
|
|
@@ -66,7 +66,9 @@ Implementation: **`src/modules/NavigationTable`**. From npm:
|
|
|
66
66
|
import { NavigationTable } from '@ytsaurus/components/modules';
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
The component is **presentational**: you pass loaded data (`table`), optional schema
|
|
69
|
+
The component is **presentational**: you pass loaded data (`table`), optional schema filter (`filter`), callbacks, and YSON settings for preview. When `table` is null, `emptyMessage` is shown.
|
|
70
|
+
|
|
71
|
+
Tabs can also be used on their own: import **`NavigationSchemaTab`**, **`NavigationPreviewTab`**, or **`NavigationMetaTab`** from the same entry point.
|
|
70
72
|
|
|
71
73
|
### Minimal example
|
|
72
74
|
|
|
@@ -86,7 +88,7 @@ const TABLE_PATH = '//home/my_cluster/my_table';
|
|
|
86
88
|
|
|
87
89
|
export function TableExplorer() {
|
|
88
90
|
const [table, setTable] = useState<LoadedNavigationTable | null>(null);
|
|
89
|
-
const [
|
|
91
|
+
const [schemaFilter, setSchemaFilter] = useState('');
|
|
90
92
|
const [error, setError] = useState<string | null>(null);
|
|
91
93
|
|
|
92
94
|
const load = useCallback(async () => {
|
|
@@ -123,8 +125,8 @@ export function TableExplorer() {
|
|
|
123
125
|
{error && <p>{error}</p>}
|
|
124
126
|
<NavigationTable
|
|
125
127
|
table={table}
|
|
126
|
-
filter={
|
|
127
|
-
onFilterChange={
|
|
128
|
+
filter={schemaFilter}
|
|
129
|
+
onFilterChange={setSchemaFilter}
|
|
128
130
|
emptyMessage="Pick a table or load data"
|
|
129
131
|
/>
|
|
130
132
|
</ThemeProvider>
|
package/README.ru.md
CHANGED
|
@@ -29,7 +29,7 @@ import '@gravity-ui/uikit/styles/styles.css';
|
|
|
29
29
|
| Импорт | Назначение |
|
|
30
30
|
|--------|------------|
|
|
31
31
|
| **`@ytsaurus/components`** | Компоненты (`ColumnCell`, `MetaTable`, …), типы, хуки (`useNavigationTableData`), **HTTP-API** для навигации (см. ниже). |
|
|
32
|
-
| **`@ytsaurus/components/modules`** | Оболочка **`NavigationTable`** и вкладки **`
|
|
32
|
+
| **`@ytsaurus/components/modules`** | Оболочка **`NavigationTable`** и вкладки **`NavigationSchemaTab`**, **`NavigationPreviewTab`**, **`NavigationMetaTab`** (типы `NavigationTableProps` и т.д.). |
|
|
33
33
|
|
|
34
34
|
Корневой entry реэкспортирует модуль **`src/api`**: удобная точка для загрузки данных таблицы и обёртки над YT API.
|
|
35
35
|
|
|
@@ -66,7 +66,9 @@ import {
|
|
|
66
66
|
import { NavigationTable } from '@ytsaurus/components/modules';
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
Компонент **презентационный**: ему передают уже загруженные данные (`table`),
|
|
69
|
+
Компонент **презентационный**: ему передают уже загруженные данные (`table`), опциональный фильтр схемы (`filter`), колбэки и настройки YSON для превью. Пустое `table` — показывается `emptyMessage`.
|
|
70
|
+
|
|
71
|
+
Вкладки можно использовать отдельно: импортируйте **`NavigationSchemaTab`**, **`NavigationPreviewTab`** или **`NavigationMetaTab`** из той же точки входа.
|
|
70
72
|
|
|
71
73
|
### Простой пример
|
|
72
74
|
|
|
@@ -86,7 +88,7 @@ const TABLE_PATH = '//home/my_cluster/my_table';
|
|
|
86
88
|
|
|
87
89
|
export function TableExplorer() {
|
|
88
90
|
const [table, setTable] = useState<LoadedNavigationTable | null>(null);
|
|
89
|
-
const [
|
|
91
|
+
const [schemaFilter, setSchemaFilter] = useState('');
|
|
90
92
|
const [error, setError] = useState<string | null>(null);
|
|
91
93
|
|
|
92
94
|
const load = useCallback(async () => {
|
|
@@ -123,8 +125,8 @@ export function TableExplorer() {
|
|
|
123
125
|
{error && <p>{error}</p>}
|
|
124
126
|
<NavigationTable
|
|
125
127
|
table={table}
|
|
126
|
-
filter={
|
|
127
|
-
onFilterChange={
|
|
128
|
+
filter={schemaFilter}
|
|
129
|
+
onFilterChange={setSchemaFilter}
|
|
128
130
|
emptyMessage="Выберите таблицу или загрузите данные"
|
|
129
131
|
/>
|
|
130
132
|
</ThemeProvider>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
.meta-table {
|
|
2
|
+
--yt-meta-table-columns: repeat(2, auto);
|
|
2
3
|
display: flex;
|
|
3
4
|
flex-wrap: wrap;
|
|
4
5
|
align-items: flex-start;
|
|
@@ -32,7 +33,7 @@
|
|
|
32
33
|
|
|
33
34
|
.meta-table-item {
|
|
34
35
|
display: grid;
|
|
35
|
-
grid-template-columns:
|
|
36
|
+
grid-template-columns: var(--yt-meta-table-columns);
|
|
36
37
|
grid-gap: 3px 20px;
|
|
37
38
|
}
|
|
38
39
|
.meta-table-item_row-gap_4 {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MetaTable.scss","../../styles/mixins.scss"],"names":[],"mappings":"AAEA;EACI,aAAA;EACA,eAAA;EACA,uBAAA;
|
|
1
|
+
{"version":3,"sources":["MetaTable.scss","../../styles/mixins.scss"],"names":[],"mappings":"AAEA;EACI,wCAAA;EAEA,aAAA;EACA,eAAA;EACA,uBAAA;AAFJ;AAII;EACI,kBAAA;EACA,mBAAA;AAFR;AAIQ;EACI,SAAA;AAFZ;AAMI;EACI,WAAA;EACA,SAAA;EACA,kBAAA;EAEA,kBAAA;EACA,oBAAA;AALR;AAQI;EACI,SAAA;EACA,kBAAA;EAEA,kBAAA;EACA,oBAAA;EAEA,gBAAA;AARR;;AAYA;EACI,cAAA;EACA,iBAAA;AATJ;;AAYA;EAGI,aAAA;EACA,mDAAA;EACA,kBAAA;AAXJ;AAaI;EACI,aAAA;AAXR;AAcI;EACI,qBAAA;AAZR;AAeI;ECzDA,mBAAA;EACA,gBAAA;EACA,uBAAA;ED0DI,cAAA;AAZR;AAeI;EACI,2DAAA;AAbR;AATA;EAyBI,cAAA;AAbJ;AAeI;EACI,cAAA;AAbR;AAgBI;EAEI,aAAA;EACA,mBAAA;AAfR;AAkBI;ECvEA,qBAAA;ADwDJ;AAmBI;EACI,kBAAA;EACA,SAAA;AAjBR;AAoBI;EACI,sBAAA;AAlBR;AAqBI;EACI,kBAAA;AAnBR","file":"MetaTable.css","sourcesContent":["@use '../../styles/mixins';\n\n.meta-table {\n --yt-meta-table-columns: repeat(2, auto);\n\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n\n &__group {\n margin-right: 50px;\n margin-bottom: 20px;\n\n &:only-child {\n margin: 0;\n }\n }\n\n &__title {\n width: 100%;\n margin: 0;\n margin-bottom: 9px;\n\n font-size: inherit;\n line-height: inherit;\n }\n\n &__sub-title {\n margin: 0;\n margin-bottom: 3px;\n\n font-size: inherit;\n line-height: inherit;\n\n grid-column: 1 / 3;\n }\n}\n\n.g-tooltip:has(.meta-table) {\n display: block;\n overflow: visible;\n}\n\n.meta-table-item {\n $item-height: 22px;\n\n display: grid;\n grid-template-columns: var(--yt-meta-table-columns);\n grid-gap: 3px 20px;\n\n &_row-gap_4 {\n row-gap: 4px * 4;\n }\n\n &_align-items_baseline {\n align-items: baseline;\n }\n\n &__key,\n &__value {\n @include mixins.ellipsis();\n flex: 0 0 auto;\n }\n\n &__key {\n color: var(--secondary-text, var(--g-color-text-secondary));\n }\n\n /* templates */\n\n &__pools {\n display: block;\n }\n\n &__id,\n &__link_clickable {\n display: flex;\n align-items: center;\n }\n\n &__file {\n @include mixins.reset-li();\n }\n\n &__help-icon {\n position: relative;\n top: -1px;\n }\n\n .g-icon {\n vertical-align: middle;\n }\n\n .g-text {\n font-size: inherit;\n }\n}\n","@mixin ellipsis() {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n// reset\n\n@mixin reset-li() {\n list-style-type: none;\n}"],"sourceRoot":""}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
@use '../../styles/mixins';
|
|
2
2
|
|
|
3
3
|
.meta-table {
|
|
4
|
+
--yt-meta-table-columns: repeat(2, auto);
|
|
5
|
+
|
|
4
6
|
display: flex;
|
|
5
7
|
flex-wrap: wrap;
|
|
6
8
|
align-items: flex-start;
|
|
@@ -43,7 +45,7 @@
|
|
|
43
45
|
$item-height: 22px;
|
|
44
46
|
|
|
45
47
|
display: grid;
|
|
46
|
-
grid-template-columns:
|
|
48
|
+
grid-template-columns: var(--yt-meta-table-columns);
|
|
47
49
|
grid-gap: 3px 20px;
|
|
48
50
|
|
|
49
51
|
&_row-gap_4 {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { MetaTable } from './MetaTable';
|
|
2
2
|
export type { MetaTableItem, MetaTableProps } from './MetaTable';
|
|
3
3
|
export { Template } from './templates/Template';
|
|
4
|
-
export { TTLLabel } from './presets';
|
|
4
|
+
export { TTLLabel, makeMetaItems, makeTTLItems } from './presets';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/MetaTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,YAAY,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAC,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/MetaTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,YAAY,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAC,MAAM,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MetaTable","Template","TTLLabel"],"sources":["index.ts"],"sourcesContent":["export {MetaTable} from './MetaTable';\nexport type {MetaTableItem, MetaTableProps} from './MetaTable';\nexport {Template} from './templates/Template';\nexport {TTLLabel} from './presets';\n"],"mappings":"AAAA,SAAQA,SAAS,QAAO,aAAa;AAErC,SAAQC,QAAQ,QAAO,sBAAsB;AAC7C,SAAQC,QAAQ,QAAO,WAAW","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["MetaTable","Template","TTLLabel","makeMetaItems","makeTTLItems"],"sources":["index.ts"],"sourcesContent":["export {MetaTable} from './MetaTable';\nexport type {MetaTableItem, MetaTableProps} from './MetaTable';\nexport {Template} from './templates/Template';\nexport {TTLLabel, makeMetaItems, makeTTLItems} from './presets';\n"],"mappings":"AAAA,SAAQA,SAAS,QAAO,aAAa;AAErC,SAAQC,QAAQ,QAAO,sBAAsB;AAC7C,SAAQC,QAAQ,EAAEC,aAAa,EAAEC,YAAY,QAAO,WAAW","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["NavigationMetaTab.scss"],"names":[],"mappings":"AAAA;EACI,mCAAA;AACJ","file":"NavigationMetaTab.css","sourcesContent":[".ytc-navigation-table-meta-tab {\n --yt-meta-table-columns: 140px auto;\n}\n"],"sourceRoot":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import './NavigationMetaTab.scss';
|
|
3
|
+
import { NavigationTableData } from '../../types';
|
|
4
|
+
type Props = {
|
|
5
|
+
metadata: NavigationTableData['meta'];
|
|
6
|
+
};
|
|
7
|
+
export declare const NavigationMetaTab: FC<Props>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=NavigationMetaTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationMetaTab.d.ts","sourceRoot":"","sources":["../../../../src/modules/NavigationTable/NavigationMetaTab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,OAAO,CAAC;AAGzB,OAAO,0BAA0B,CAAC;AAClC,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAIhD,KAAK,KAAK,GAAG;IACT,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,KAAK,CAEvC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import cn from 'bem-cn-lite';
|
|
2
|
+
import { MetaTable } from '../../components';
|
|
3
|
+
import "./NavigationMetaTab.css";
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
var b = cn('ytc-navigation-table-meta-tab');
|
|
6
|
+
export var NavigationMetaTab = function NavigationMetaTab(_ref) {
|
|
7
|
+
var metadata = _ref.metadata;
|
|
8
|
+
return /*#__PURE__*/_jsx(MetaTable, {
|
|
9
|
+
className: b(),
|
|
10
|
+
items: metadata
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
// #sourceMappingURL=NavigationMetaTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["cn","MetaTable","jsx","_jsx","b","NavigationMetaTab","_ref","metadata","className","items"],"sources":["NavigationMetaTab.tsx"],"sourcesContent":["import {FC} from 'react';\nimport cn from 'bem-cn-lite';\nimport {MetaTable} from '../../components';\nimport './NavigationMetaTab.scss';\nimport {NavigationTableData} from '../../types';\n\nconst b = cn('ytc-navigation-table-meta-tab');\n\ntype Props = {\n metadata: NavigationTableData['meta'];\n};\n\nexport const NavigationMetaTab: FC<Props> = ({metadata}) => {\n return <MetaTable className={b()} items={metadata} />;\n};\n"],"mappings":"AACA,OAAOA,EAAE,MAAM,aAAa;AAC5B,SAAQC,SAAS,QAAO,kBAAkB;AAC1C,OAAO,yBAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGlC,IAAMC,CAAC,GAAGJ,EAAE,CAAC,+BAA+B,CAAC;AAM7C,OAAO,IAAMK,iBAA4B,GAAG,SAA/BA,iBAA4BA,CAAAC,IAAA,EAAmB;EAAA,IAAdC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAClD,oBAAOJ,IAAA,CAACF,SAAS;IAACO,SAAS,EAAEJ,CAAC,CAAC,CAAE;IAACK,KAAK,EAAEF;EAAS,CAAE,CAAC;AACzD,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["NavigationPreviewTab.scss"],"names":[],"mappings":"AACI;EACI,SAAA;AAAR;AAGI;EACI,eAAA;AADR","file":"NavigationPreviewTab.css","sourcesContent":[".navigation-table-preview-tab {\n pre {\n margin: 0;\n }\n\n &__table {\n margin-top: 8px;\n }\n}\n"],"sourceRoot":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
|
+
import { LogErrorFn, NavigationTableData } from '../../../types';
|
|
3
|
+
import type { UnipikaSettings } from '../../../internal/Yson/StructuredYson/StructuredYsonTypes';
|
|
4
|
+
import type { SchemaDataTypePrimitiveTypes } from '../../../components/SchemaDataType';
|
|
5
|
+
import './NavigationPreviewTab.scss';
|
|
6
|
+
import type { ErrorBoundaryProps } from '../../../internal/DefaultErrorBoundary';
|
|
7
|
+
type PreviewTabProps = {
|
|
8
|
+
table: NavigationTableData;
|
|
9
|
+
onEditorInsert?: () => void | Promise<void>;
|
|
10
|
+
ysonSettings?: UnipikaSettings;
|
|
11
|
+
primitiveTypes?: SchemaDataTypePrimitiveTypes;
|
|
12
|
+
logError?: LogErrorFn;
|
|
13
|
+
ErrorBoundaryComponent?: React.ComponentType<ErrorBoundaryProps>;
|
|
14
|
+
};
|
|
15
|
+
export declare const NavigationPreviewTab: FC<PreviewTabProps>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=NavigationPreviewTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationPreviewTab.d.ts","sourceRoot":"","sources":["../../../../../src/modules/NavigationTable/NavigationPreviewTab/NavigationPreviewTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,EAAE,EAAU,MAAM,OAAO,CAAC;AAIzC,OAAO,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,2DAA2D,CAAC;AAI/F,OAAO,KAAK,EAAC,4BAA4B,EAAC,MAAM,oCAAoC,CAAC;AACrF,OAAO,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,wCAAwC,CAAC;AAM/E,KAAK,eAAe,GAAG;IACnB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,cAAc,CAAC,EAAE,4BAA4B,CAAC;IAC9C,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,sBAAsB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;CACpE,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,eAAe,CAuCpD,CAAC"}
|
|
@@ -20,12 +20,15 @@ ArrowUpRightFromSquareIcon.defaultProps = {
|
|
|
20
20
|
viewBox: "0 0 16 16"
|
|
21
21
|
};
|
|
22
22
|
import i18n from './i18n';
|
|
23
|
-
import { DataTableYT } from '
|
|
24
|
-
import { prepareColumns } from '
|
|
25
|
-
import "./
|
|
23
|
+
import { DataTableYT } from '../../../components';
|
|
24
|
+
import { prepareColumns } from '../helpers/prepareColumns';
|
|
25
|
+
import "./NavigationPreviewTab.css";
|
|
26
26
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
27
27
|
var b = cn('navigation-table-preview-tab');
|
|
28
|
-
|
|
28
|
+
var previewTableSettings = {
|
|
29
|
+
sortable: false
|
|
30
|
+
};
|
|
31
|
+
export var NavigationPreviewTab = function NavigationPreviewTab(_ref) {
|
|
29
32
|
var table = _ref.table,
|
|
30
33
|
onEditorInsert = _ref.onEditorInsert,
|
|
31
34
|
ysonSettings = _ref.ysonSettings,
|
|
@@ -35,25 +38,15 @@ export var PreviewTab = function PreviewTab(_ref) {
|
|
|
35
38
|
var onShowPreview = function onShowPreview() {};
|
|
36
39
|
var columns = useMemo(function () {
|
|
37
40
|
return prepareColumns({
|
|
38
|
-
|
|
39
|
-
return {
|
|
40
|
-
name: i
|
|
41
|
-
};
|
|
42
|
-
}),
|
|
43
|
-
keyColumns: [],
|
|
44
|
-
yqlTypes: table.yqlTypes,
|
|
41
|
+
table: table,
|
|
45
42
|
ysonSettings: ysonSettings,
|
|
46
|
-
useRawStrings: undefined,
|
|
47
|
-
schemaByName: table.schema.reduce(function (acc, item) {
|
|
48
|
-
acc[item.name] = item;
|
|
49
|
-
return acc;
|
|
50
|
-
}, {}),
|
|
51
43
|
onShowPreview: onShowPreview,
|
|
52
44
|
primitiveTypes: primitiveTypes,
|
|
53
45
|
logError: logError,
|
|
54
46
|
ErrorBoundaryComponent: ErrorBoundaryComponent
|
|
55
47
|
});
|
|
56
48
|
}, [table, ysonSettings, primitiveTypes]);
|
|
49
|
+
if (!table) return null;
|
|
57
50
|
return /*#__PURE__*/_jsxs("div", {
|
|
58
51
|
className: b(),
|
|
59
52
|
children: [onEditorInsert ? /*#__PURE__*/_jsxs(Button, {
|
|
@@ -68,8 +61,9 @@ export var PreviewTab = function PreviewTab(_ref) {
|
|
|
68
61
|
className: b(),
|
|
69
62
|
columns: columns,
|
|
70
63
|
data: table.rows,
|
|
64
|
+
settings: previewTableSettings,
|
|
71
65
|
useThemeYT: true
|
|
72
66
|
})]
|
|
73
67
|
});
|
|
74
68
|
};
|
|
75
|
-
// #sourceMappingURL=
|
|
69
|
+
// #sourceMappingURL=NavigationPreviewTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useMemo","cn","Button","Icon","ArrowUpRightFromSquareIcon","props","_jsx","_objectSpread","children","fill","fillRule","d","clipRule","defaultProps","xmlns","width","height","viewBox","i18n","DataTableYT","prepareColumns","jsx","jsxs","_jsxs","b","previewTableSettings","sortable","NavigationPreviewTab","_ref","table","onEditorInsert","ysonSettings","primitiveTypes","logError","ErrorBoundaryComponent","onShowPreview","columns","className","onClick","data","size","rows","settings","useThemeYT"],"sources":["NavigationPreviewTab.tsx"],"sourcesContent":["import React, {FC, useMemo} from 'react';\nimport cn from 'bem-cn-lite';\nimport {Button, Icon} from '@gravity-ui/uikit';\nimport ArrowUpRightFromSquareIcon from '@gravity-ui/icons/svgs/arrow-up-right-from-square.svg';\nimport {LogErrorFn, NavigationTableData} from '../../../types';\nimport type {UnipikaSettings} from '../../../internal/Yson/StructuredYson/StructuredYsonTypes';\nimport i18n from './i18n';\nimport {DataTableYT} from '../../../components';\nimport {prepareColumns} from '../helpers/prepareColumns';\nimport type {SchemaDataTypePrimitiveTypes} from '../../../components/SchemaDataType';\nimport './NavigationPreviewTab.scss';\nimport type {ErrorBoundaryProps} from '../../../internal/DefaultErrorBoundary';\n\nconst b = cn('navigation-table-preview-tab');\n\nconst previewTableSettings = {sortable: false as const};\n\ntype PreviewTabProps = {\n table: NavigationTableData;\n onEditorInsert?: () => void | Promise<void>;\n ysonSettings?: UnipikaSettings;\n primitiveTypes?: SchemaDataTypePrimitiveTypes;\n logError?: LogErrorFn;\n ErrorBoundaryComponent?: React.ComponentType<ErrorBoundaryProps>;\n};\n\nexport const NavigationPreviewTab: FC<PreviewTabProps> = ({\n table,\n onEditorInsert,\n ysonSettings,\n primitiveTypes,\n logError,\n ErrorBoundaryComponent,\n}) => {\n const onShowPreview = () => {};\n const columns = useMemo(() => {\n return prepareColumns({\n table,\n ysonSettings,\n onShowPreview,\n primitiveTypes,\n logError,\n ErrorBoundaryComponent,\n });\n }, [table, ysonSettings, primitiveTypes]);\n\n if (!table) return null;\n\n return (\n <div className={b()}>\n {onEditorInsert ? (\n <Button onClick={() => onEditorInsert()}>\n <Icon data={ArrowUpRightFromSquareIcon} size={16} />\n {i18n('action_insert-select')}\n </Button>\n ) : null}\n <DataTableYT\n className={b()}\n columns={columns}\n data={table.rows}\n settings={previewTableSettings}\n useThemeYT\n />\n </div>\n );\n};\n"],"mappings":";AAAA,OAAOA,KAAK,IAAOC,OAAO,QAAO,OAAO;AACxC,OAAOC,EAAE,MAAM,aAAa;AAC5B,SAAQC,MAAM,EAAEC,IAAI,QAAO,mBAAmB;AAAC,IACxCC,0BAA0B,YAA1BA,0BAA0BA,CAAAC,KAAA;EAAA,oBAAAC,IAAA,QAAAC,aAAA,CAAAA,aAAA,KAAAF,KAAA;IAAAG,QAAA,eAAAF,IAAA;MAAAG,IAAA;MAAAC,QAAA;MAAAC,CAAA;MAAAC,QAAA;IAAA;EAAA;AAAA;AAA1BR,0BAA0B,CAAAS,YAAA;EAAAC,KAAA;EAAAC,KAAA;EAAAC,MAAA;EAAAP,IAAA;EAAAQ,OAAA;AAAA;AAGjC,OAAOC,IAAI,MAAM,QAAQ;AACzB,SAAQC,WAAW,QAAO,qBAAqB;AAC/C,SAAQC,cAAc,QAAO,2BAA2B;AAExD,OAAO,4BAA6B;AAAC,SAAAC,GAAA,IAAAf,IAAA,EAAAgB,IAAA,IAAAC,KAAA;AAGrC,IAAMC,CAAC,GAAGvB,EAAE,CAAC,8BAA8B,CAAC;AAE5C,IAAMwB,oBAAoB,GAAG;EAACC,QAAQ,EAAE;AAAc,CAAC;AAWvD,OAAO,IAAMC,oBAAyC,GAAG,SAA5CA,oBAAyCA,CAAAC,IAAA,EAOhD;EAAA,IANFC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,cAAc,GAAAF,IAAA,CAAdE,cAAc;IACdC,YAAY,GAAAH,IAAA,CAAZG,YAAY;IACZC,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IACdC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,sBAAsB,GAAAN,IAAA,CAAtBM,sBAAsB;EAEtB,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAA,EAAS,CAAC,CAAC;EAC9B,IAAMC,OAAO,GAAGpC,OAAO,CAAC,YAAM;IAC1B,OAAOoB,cAAc,CAAC;MAClBS,KAAK,EAALA,KAAK;MACLE,YAAY,EAAZA,YAAY;MACZI,aAAa,EAAbA,aAAa;MACbH,cAAc,EAAdA,cAAc;MACdC,QAAQ,EAARA,QAAQ;MACRC,sBAAsB,EAAtBA;IACJ,CAAC,CAAC;EACN,CAAC,EAAE,CAACL,KAAK,EAAEE,YAAY,EAAEC,cAAc,CAAC,CAAC;EAEzC,IAAI,CAACH,KAAK,EAAE,OAAO,IAAI;EAEvB,oBACIN,KAAA;IAAKc,SAAS,EAAEb,CAAC,CAAC,CAAE;IAAAhB,QAAA,GACfsB,cAAc,gBACXP,KAAA,CAACrB,MAAM;MAACoC,OAAO,EAAE,SAATA,OAAOA,CAAA;QAAA,OAAQR,cAAc,CAAC,CAAC;MAAA,CAAC;MAAAtB,QAAA,gBACpCF,IAAA,CAACH,IAAI;QAACoC,IAAI,EAAEnC,0BAA2B;QAACoC,IAAI,EAAE;MAAG,CAAE,CAAC,EACnDtB,IAAI,CAAC,sBAAsB,CAAC;IAAA,CACzB,CAAC,GACT,IAAI,eACRZ,IAAA,CAACa,WAAW;MACRkB,SAAS,EAAEb,CAAC,CAAC,CAAE;MACfY,OAAO,EAAEA,OAAQ;MACjBG,IAAI,EAAEV,KAAK,CAACY,IAAK;MACjBC,QAAQ,EAAEjB,oBAAqB;MAC/BkB,UAAU;IAAA,CACb,CAAC;EAAA,CACD,CAAC;AAEd,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
declare const _default: ((key: "action_insert-select", params?: import("@gravity-ui/i18n").Params) => string) & {
|
|
2
|
+
keysetData: {
|
|
3
|
+
"yt:NavigationPreviewTab": Record<"action_insert-select", import("@gravity-ui/i18n").KeyData>;
|
|
4
|
+
};
|
|
5
|
+
};
|
|
6
|
+
export default _default;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/NavigationTable/NavigationPreviewTab/i18n/index.ts"],"names":[],"mappings":";;;;;AAKA,wBAAkE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["addI18Keysets","en","ru"],"sources":["index.ts"],"sourcesContent":["import {addI18Keysets} from '../../../../i18n';\n\nimport en from './en.json';\nimport ru from './ru.json';\n\nexport default addI18Keysets('yt:NavigationPreviewTab', {en, ru});\n"],"mappings":"AAAA,SAAQA,aAAa,QAAO,kBAAkB;AAE9C,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAE1B,eAAeF,aAAa,CAAC,yBAAyB,EAAE;EAACC,EAAE,EAAFA,EAAE;EAAEC,EAAE,EAAFA;AAAE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/NavigationTable/NavigationPreviewTab/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NavigationPreviewTab"],"sources":["index.ts"],"sourcesContent":["export {NavigationPreviewTab} from './NavigationPreviewTab';\n"],"mappings":"AAAA,SAAQA,oBAAoB,QAAO,wBAAwB","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import type { NavigationTableSchema } from '../../../types';
|
|
3
|
+
import type { UnipikaSettings } from '../../../internal/Yson/StructuredYson/StructuredYsonTypes';
|
|
4
|
+
type SchemaTabProps = {
|
|
5
|
+
schema: NavigationTableSchema[];
|
|
6
|
+
filter?: string;
|
|
7
|
+
onFilterChange?: (value: string) => void;
|
|
8
|
+
ysonSettings?: UnipikaSettings;
|
|
9
|
+
};
|
|
10
|
+
export declare const NavigationSchemaTab: FC<SchemaTabProps>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=NavigationSchemaTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationSchemaTab.d.ts","sourceRoot":"","sources":["../../../../../src/modules/NavigationTable/NavigationSchemaTab/NavigationSchemaTab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAU,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AAI1D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,2DAA2D,CAAC;AAK/F,KAAK,cAAc,GAAG;IAClB,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,YAAY,CAAC,EAAE,eAAe,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,cAAc,CAuBlD,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import { TextInput } from '@gravity-ui/uikit';
|
|
3
|
+
import { DataTableYT } from '../../../components';
|
|
4
|
+
import { YSON_DEFAULT_UNIPIKA_SETTINGS } from '../../../internal/Yson';
|
|
5
|
+
import i18n from './i18n';
|
|
6
|
+
import { filterSchema } from '../helpers/filterSchema';
|
|
7
|
+
import { makeNavigationColumns } from './makeNavigationColumns';
|
|
8
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
export var NavigationSchemaTab = function NavigationSchemaTab(_ref) {
|
|
10
|
+
var schema = _ref.schema,
|
|
11
|
+
filter = _ref.filter,
|
|
12
|
+
onFilterChange = _ref.onFilterChange,
|
|
13
|
+
_ref$ysonSettings = _ref.ysonSettings,
|
|
14
|
+
ysonSettings = _ref$ysonSettings === void 0 ? YSON_DEFAULT_UNIPIKA_SETTINGS : _ref$ysonSettings;
|
|
15
|
+
var filteredSchema = filterSchema(schema, filter);
|
|
16
|
+
var columns = useMemo(function () {
|
|
17
|
+
return makeNavigationColumns(ysonSettings);
|
|
18
|
+
}, [ysonSettings]);
|
|
19
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
20
|
+
children: [/*#__PURE__*/_jsx(TextInput, {
|
|
21
|
+
value: filter,
|
|
22
|
+
placeholder: i18n('field_filter-by-name'),
|
|
23
|
+
onUpdate: onFilterChange,
|
|
24
|
+
hasClear: true
|
|
25
|
+
}), /*#__PURE__*/_jsx(DataTableYT, {
|
|
26
|
+
data: filteredSchema,
|
|
27
|
+
columns: columns,
|
|
28
|
+
useThemeYT: true
|
|
29
|
+
}, filter)]
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
// #sourceMappingURL=NavigationSchemaTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","TextInput","DataTableYT","YSON_DEFAULT_UNIPIKA_SETTINGS","i18n","filterSchema","makeNavigationColumns","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","NavigationSchemaTab","_ref","schema","filter","onFilterChange","_ref$ysonSettings","ysonSettings","filteredSchema","columns","children","value","placeholder","onUpdate","hasClear","data","useThemeYT"],"sources":["NavigationSchemaTab.tsx"],"sourcesContent":["import {FC, useMemo} from 'react';\nimport {TextInput} from '@gravity-ui/uikit';\nimport type {NavigationTableSchema} from '../../../types';\nimport {Column} from '@gravity-ui/react-data-table';\nimport {DataTableYT} from '../../../components';\nimport {YSON_DEFAULT_UNIPIKA_SETTINGS} from '../../../internal/Yson';\nimport type {UnipikaSettings} from '../../../internal/Yson/StructuredYson/StructuredYsonTypes';\nimport i18n from './i18n';\nimport {filterSchema} from '../helpers/filterSchema';\nimport {makeNavigationColumns} from './makeNavigationColumns';\n\ntype SchemaTabProps = {\n schema: NavigationTableSchema[];\n filter?: string;\n onFilterChange?: (value: string) => void;\n ysonSettings?: UnipikaSettings;\n};\n\nexport const NavigationSchemaTab: FC<SchemaTabProps> = ({\n schema,\n filter,\n onFilterChange,\n ysonSettings = YSON_DEFAULT_UNIPIKA_SETTINGS,\n}) => {\n const filteredSchema = filterSchema(schema, filter);\n const columns: Column<NavigationTableSchema>[] = useMemo(\n () => makeNavigationColumns(ysonSettings),\n [ysonSettings],\n );\n\n return (\n <>\n <TextInput\n value={filter}\n placeholder={i18n('field_filter-by-name')}\n onUpdate={onFilterChange}\n hasClear\n />\n <DataTableYT key={filter} data={filteredSchema} columns={columns} useThemeYT />\n </>\n );\n};\n"],"mappings":"AAAA,SAAYA,OAAO,QAAO,OAAO;AACjC,SAAQC,SAAS,QAAO,mBAAmB;AAG3C,SAAQC,WAAW,QAAO,qBAAqB;AAC/C,SAAQC,6BAA6B,QAAO,wBAAwB;AAEpE,OAAOC,IAAI,MAAM,QAAQ;AACzB,SAAQC,YAAY,QAAO,yBAAyB;AACpD,SAAQC,qBAAqB,QAAO,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAS9D,OAAO,IAAMC,mBAAuC,GAAG,SAA1CA,mBAAuCA,CAAAC,IAAA,EAK9C;EAAA,IAJFC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,MAAM,GAAAF,IAAA,CAANE,MAAM;IACNC,cAAc,GAAAH,IAAA,CAAdG,cAAc;IAAAC,iBAAA,GAAAJ,IAAA,CACdK,YAAY;IAAZA,YAAY,GAAAD,iBAAA,cAAGf,6BAA6B,GAAAe,iBAAA;EAE5C,IAAME,cAAc,GAAGf,YAAY,CAACU,MAAM,EAAEC,MAAM,CAAC;EACnD,IAAMK,OAAwC,GAAGrB,OAAO,CACpD;IAAA,OAAMM,qBAAqB,CAACa,YAAY,CAAC;EAAA,GACzC,CAACA,YAAY,CACjB,CAAC;EAED,oBACIP,KAAA,CAAAF,SAAA;IAAAY,QAAA,gBACId,IAAA,CAACP,SAAS;MACNsB,KAAK,EAAEP,MAAO;MACdQ,WAAW,EAAEpB,IAAI,CAAC,sBAAsB,CAAE;MAC1CqB,QAAQ,EAAER,cAAe;MACzBS,QAAQ;IAAA,CACX,CAAC,eACFlB,IAAA,CAACN,WAAW;MAAcyB,IAAI,EAAEP,cAAe;MAACC,OAAO,EAAEA,OAAQ;MAACO,UAAU;IAAA,GAA1DZ,MAA4D,CAAC;EAAA,CACjF,CAAC;AAEX,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
declare const _default: ((key: "field_filter-by-name", params?: import("@gravity-ui/i18n").Params) => string) & {
|
|
2
|
+
keysetData: {
|
|
3
|
+
"yt:NavigationSchemaTab": Record<"field_filter-by-name", import("@gravity-ui/i18n").KeyData>;
|
|
4
|
+
};
|
|
5
|
+
};
|
|
6
|
+
export default _default;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/NavigationTable/NavigationSchemaTab/i18n/index.ts"],"names":[],"mappings":";;;;;AAKA,wBAAiE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["addI18Keysets","en","ru"],"sources":["index.ts"],"sourcesContent":["import {addI18Keysets} from '../../../../i18n';\n\nimport en from './en.json';\nimport ru from './ru.json';\n\nexport default addI18Keysets('yt:NavigationSchemaTab', {en, ru});\n"],"mappings":"AAAA,SAAQA,aAAa,QAAO,kBAAkB;AAE9C,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAE1B,eAAeF,aAAa,CAAC,wBAAwB,EAAE;EAACC,EAAE,EAAFA,EAAE;EAAEC,EAAE,EAAFA;AAAE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/NavigationTable/NavigationSchemaTab/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NavigationSchemaTab"],"sources":["index.ts"],"sourcesContent":["export {NavigationSchemaTab} from './NavigationSchemaTab';\n"],"mappings":"AAAA,SAAQA,mBAAmB,QAAO,uBAAuB","ignoreList":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Column } from '@gravity-ui/react-data-table';
|
|
2
|
+
import type { NavigationTableSchema } from '../../../types';
|
|
3
|
+
import type { UnipikaSettings } from '../../../internal/Yson/StructuredYson/StructuredYsonTypes';
|
|
4
|
+
export declare const makeNavigationColumns: (ysonSettings: UnipikaSettings) => Column<NavigationTableSchema>[];
|
|
5
|
+
//# sourceMappingURL=makeNavigationColumns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeNavigationColumns.d.ts","sourceRoot":"","sources":["../../../../../src/modules/NavigationTable/NavigationSchemaTab/makeNavigationColumns.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAC,MAAM,EAAC,MAAM,8BAA8B,CAAC;AACpD,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,2DAA2D,CAAC;AAE/F,eAAO,MAAM,qBAAqB,GAC9B,cAAc,eAAe,KAC9B,MAAM,CAAC,qBAAqB,CAAC,EAwC/B,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { Flex, Text as GravityText, Icon } from '@gravity-ui/uikit';
|
|
4
|
+
import { Yson } from '../../../internal/Yson';
|
|
5
|
+
import unipika from '../../../utils/unipika';
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
7
|
+
var BarsAscendingAlignLeftArrowUpIcon = function BarsAscendingAlignLeftArrowUpIcon(props) {
|
|
8
|
+
return /*#__PURE__*/_jsx("svg", _objectSpread(_objectSpread({}, props), {}, {
|
|
9
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
10
|
+
fill: "currentColor",
|
|
11
|
+
fillRule: "evenodd",
|
|
12
|
+
d: "M2.22 2.72a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1-1.06 1.06l-.72-.72v7.69a.75.75 0 0 1-1.5 0V5.06l-.72.72A.75.75 0 0 1 .22 4.72zM7 12.75c0 .414.336.75.75.75h7.5a.75.75 0 0 0 0-1.5h-7.5a.75.75 0 0 0-.75.75m.75-4a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 0 1.5zm0-4.75a.75.75 0 0 1 0-1.5h2.5a.75.75 0 0 1 0 1.5z",
|
|
13
|
+
clipRule: "evenodd"
|
|
14
|
+
})
|
|
15
|
+
}));
|
|
16
|
+
};
|
|
17
|
+
BarsAscendingAlignLeftArrowUpIcon.defaultProps = {
|
|
18
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
19
|
+
width: "16",
|
|
20
|
+
height: "16",
|
|
21
|
+
fill: "none",
|
|
22
|
+
viewBox: "0 0 16 16"
|
|
23
|
+
};
|
|
24
|
+
var BarsAscendingAlignLeftArrowDownIcon = function BarsAscendingAlignLeftArrowDownIcon(props) {
|
|
25
|
+
return /*#__PURE__*/_jsx("svg", _objectSpread(_objectSpread({}, props), {}, {
|
|
26
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
27
|
+
fill: "currentColor",
|
|
28
|
+
fillRule: "evenodd",
|
|
29
|
+
d: "M2.22 13.28a.75.75 0 0 0 1.06 0l2-2a.75.75 0 1 0-1.06-1.06l-.72.72V3.25a.75.75 0 0 0-1.5 0v7.69l-.72-.72a.75.75 0 1 0-1.06 1.06zM7.75 12a.75.75 0 0 0 0 1.5h7.5a.75.75 0 0 0 0-1.5zm0-3.25a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 0 1.5zm0-4.75a.75.75 0 0 1 0-1.5h2.5a.75.75 0 0 1 0 1.5z",
|
|
30
|
+
clipRule: "evenodd"
|
|
31
|
+
})
|
|
32
|
+
}));
|
|
33
|
+
};
|
|
34
|
+
BarsAscendingAlignLeftArrowDownIcon.defaultProps = {
|
|
35
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
36
|
+
width: "16",
|
|
37
|
+
height: "16",
|
|
38
|
+
fill: "none",
|
|
39
|
+
viewBox: "0 0 16 16"
|
|
40
|
+
};
|
|
41
|
+
export var makeNavigationColumns = function makeNavigationColumns(ysonSettings) {
|
|
42
|
+
return [{
|
|
43
|
+
name: 'name',
|
|
44
|
+
header: 'Name',
|
|
45
|
+
render: function render(_ref) {
|
|
46
|
+
var row = _ref.row;
|
|
47
|
+
return /*#__PURE__*/_jsxs(Flex, {
|
|
48
|
+
alignItems: "center",
|
|
49
|
+
gap: 1,
|
|
50
|
+
children: [Boolean(row.sort_order) && /*#__PURE__*/_jsx(Icon, {
|
|
51
|
+
data: row.sort_order === 'descending' ? BarsAscendingAlignLeftArrowUpIcon : BarsAscendingAlignLeftArrowDownIcon,
|
|
52
|
+
size: 16
|
|
53
|
+
}), ' ', /*#__PURE__*/_jsx(Yson, {
|
|
54
|
+
value: unipika.unescapeKeyValue(row.name),
|
|
55
|
+
settings: _objectSpread(_objectSpread({}, ysonSettings), {}, {
|
|
56
|
+
asHTML: false
|
|
57
|
+
}),
|
|
58
|
+
inline: true
|
|
59
|
+
})]
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}, {
|
|
63
|
+
name: 'type',
|
|
64
|
+
header: 'Type v3',
|
|
65
|
+
render: function render(_ref2) {
|
|
66
|
+
var row = _ref2.row;
|
|
67
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
68
|
+
children: [/*#__PURE__*/_jsx(GravityText, {
|
|
69
|
+
children: row.type
|
|
70
|
+
}), ' ', !row.required && /*#__PURE__*/_jsx(GravityText, {
|
|
71
|
+
variant: "caption-1",
|
|
72
|
+
children: "optional"
|
|
73
|
+
})]
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}];
|
|
77
|
+
};
|
|
78
|
+
// #sourceMappingURL=makeNavigationColumns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Flex","Text","GravityText","Icon","Yson","unipika","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","BarsAscendingAlignLeftArrowUpIcon","props","_objectSpread","children","fill","fillRule","d","clipRule","defaultProps","xmlns","width","height","viewBox","BarsAscendingAlignLeftArrowDownIcon","makeNavigationColumns","ysonSettings","name","header","render","_ref","row","alignItems","gap","Boolean","sort_order","data","size","value","unescapeKeyValue","settings","asHTML","inline","_ref2","type","required","variant"],"sources":["makeNavigationColumns.tsx"],"sourcesContent":["import {Flex, Text as GravityText, Icon} from '@gravity-ui/uikit';\nimport {Yson} from '../../../internal/Yson';\nimport unipika from '../../../utils/unipika';\nimport BarsAscendingAlignLeftArrowUpIcon from '@gravity-ui/icons/svgs/bars-ascending-align-left-arrow-up.svg';\nimport BarsAscendingAlignLeftArrowDownIcon from '@gravity-ui/icons/svgs/bars-ascending-align-left-arrow-down.svg';\nimport {Column} from '@gravity-ui/react-data-table';\nimport type {NavigationTableSchema} from '../../../types';\nimport type {UnipikaSettings} from '../../../internal/Yson/StructuredYson/StructuredYsonTypes';\n\nexport const makeNavigationColumns = (\n ysonSettings: UnipikaSettings,\n): Column<NavigationTableSchema>[] => {\n return [\n {\n name: 'name',\n header: 'Name',\n render: ({row}) => {\n return (\n <Flex alignItems=\"center\" gap={1}>\n {Boolean(row.sort_order) && (\n <Icon\n data={\n row.sort_order === 'descending'\n ? BarsAscendingAlignLeftArrowUpIcon\n : BarsAscendingAlignLeftArrowDownIcon\n }\n size={16}\n />\n )}{' '}\n <Yson\n value={unipika.unescapeKeyValue(row.name)}\n settings={{...ysonSettings, asHTML: false}}\n inline\n />\n </Flex>\n );\n },\n },\n {\n name: 'type',\n header: 'Type v3',\n render: ({row}) => {\n return (\n <>\n <GravityText>{row.type}</GravityText>{' '}\n {!row.required && <GravityText variant=\"caption-1\">optional</GravityText>}\n </>\n );\n },\n },\n ];\n};\n"],"mappings":";;AAAA,SAAQA,IAAI,EAAEC,IAAI,IAAIC,WAAW,EAAEC,IAAI,QAAO,mBAAmB;AACjE,SAAQC,IAAI,QAAO,wBAAwB;AAC3C,OAAOC,OAAO,MAAM,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAAA,IACtCC,iCAAiC,YAAjCA,iCAAiCA,CAAAC,KAAA;EAAA,oBAAAN,IAAA,QAAAO,aAAA,CAAAA,aAAA,KAAAD,KAAA;IAAAE,QAAA,eAAAR,IAAA;MAAAS,IAAA;MAAAC,QAAA;MAAAC,CAAA;MAAAC,QAAA;IAAA;EAAA;AAAA;AAAjCP,iCAAiC,CAAAQ,YAAA;EAAAC,KAAA;EAAAC,KAAA;EAAAC,MAAA;EAAAP,IAAA;EAAAQ,OAAA;AAAA;AAAA,IACjCC,mCAAmC,YAAnCA,mCAAmCA,CAAAZ,KAAA;EAAA,oBAAAN,IAAA,QAAAO,aAAA,CAAAA,aAAA,KAAAD,KAAA;IAAAE,QAAA,eAAAR,IAAA;MAAAS,IAAA;MAAAC,QAAA;MAAAC,CAAA;MAAAC,QAAA;IAAA;EAAA;AAAA;AAAnCM,mCAAmC,CAAAL,YAAA;EAAAC,KAAA;EAAAC,KAAA;EAAAC,MAAA;EAAAP,IAAA;EAAAQ,OAAA;AAAA;AAK1C,OAAO,IAAME,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAC9BC,YAA6B,EACK;EAClC,OAAO,CACH;IACIC,IAAI,EAAE,MAAM;IACZC,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,SAARA,MAAMA,CAAAC,IAAA,EAAa;MAAA,IAATC,GAAG,GAAAD,IAAA,CAAHC,GAAG;MACT,oBACIvB,KAAA,CAACT,IAAI;QAACiC,UAAU,EAAC,QAAQ;QAACC,GAAG,EAAE,CAAE;QAAAnB,QAAA,GAC5BoB,OAAO,CAACH,GAAG,CAACI,UAAU,CAAC,iBACpB7B,IAAA,CAACJ,IAAI;UACDkC,IAAI,EACAL,GAAG,CAACI,UAAU,KAAK,YAAY,GACzBxB,iCAAiC,GACjCa,mCACT;UACDa,IAAI,EAAE;QAAG,CACZ,CACJ,EAAE,GAAG,eACN/B,IAAA,CAACH,IAAI;UACDmC,KAAK,EAAElC,OAAO,CAACmC,gBAAgB,CAACR,GAAG,CAACJ,IAAI,CAAE;UAC1Ca,QAAQ,EAAA3B,aAAA,CAAAA,aAAA,KAAMa,YAAY;YAAEe,MAAM,EAAE;UAAK,EAAE;UAC3CC,MAAM;QAAA,CACT,CAAC;MAAA,CACA,CAAC;IAEf;EACJ,CAAC,EACD;IACIf,IAAI,EAAE,MAAM;IACZC,MAAM,EAAE,SAAS;IACjBC,MAAM,EAAE,SAARA,MAAMA,CAAAc,KAAA,EAAa;MAAA,IAATZ,GAAG,GAAAY,KAAA,CAAHZ,GAAG;MACT,oBACIvB,KAAA,CAAAE,SAAA;QAAAI,QAAA,gBACIR,IAAA,CAACL,WAAW;UAAAa,QAAA,EAAEiB,GAAG,CAACa;QAAI,CAAc,CAAC,EAAC,GAAG,EACxC,CAACb,GAAG,CAACc,QAAQ,iBAAIvC,IAAA,CAACL,WAAW;UAAC6C,OAAO,EAAC,WAAW;UAAAhC,QAAA,EAAC;QAAQ,CAAa,CAAC;MAAA,CAC3E,CAAC;IAEX;EACJ,CAAC,CACJ;AACL,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["NavigationTable.scss"],"names":[],"mappings":"AAAA;EACI,eAAA;AACJ;AACI;EACI,eAAA;EACA,gBAAA;AACR;
|
|
1
|
+
{"version":3,"sources":["NavigationTable.scss"],"names":[],"mappings":"AAAA;EACI,eAAA;AACJ;AACI;EACI,eAAA;EACA,gBAAA;AACR;AAEI;EACI,kBAAA;AAAR;AAGI;EACI,YAAA;EACA,kBAAA;EACA,MAAA;EACA,QAAA;EACA,UAAA;AADR","file":"NavigationTable.css","sourcesContent":[".navigation-table {\n padding: 0 10px;\n\n &__content {\n margin-top: 8px;\n overflow-x: auto;\n }\n\n .data-table__value {\n position: relative;\n }\n\n .data-table__clipboard-button-wrapper {\n opacity: 0.3;\n position: absolute;\n top: 0;\n right: 0;\n padding: 0;\n }\n}\n"],"sourceRoot":""}
|