@uxf/data-grid 3.2.0 → 4.0.0-beta.11
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/DataGrid.d.ts +2 -10
- package/DataGrid.js +127 -220
- package/README.md +111 -100
- package/index.d.ts +1 -6
- package/index.js +2 -7
- package/package.json +7 -12
- package/store/actions.d.ts +5 -1
- package/store/actions.js +8 -3
- package/store/reducer.d.ts +1 -0
- package/store/reducer.js +46 -18
- package/tailwindui/DataGrid.d.ts +6 -0
- package/tailwindui/DataGrid.js +56 -0
- package/{components/ActionCellBase.d.ts → tailwindui/components/action-cell-base.d.ts} +1 -1
- package/tailwindui/components/action-cell-base.js +90 -0
- package/tailwindui/components/badge.d.ts +5 -0
- package/tailwindui/components/badge.js +18 -0
- package/{components/BodyCellBase.d.ts → tailwindui/components/body-cell-base.d.ts} +1 -1
- package/tailwindui/components/body-cell-base.js +23 -0
- package/{components/BodyCellWrapper.d.ts → tailwindui/components/body-cell-wrapper.d.ts} +1 -0
- package/tailwindui/components/body-cell-wrapper.js +14 -0
- package/tailwindui/components/circle-button.d.ts +10 -0
- package/tailwindui/components/circle-button.js +14 -0
- package/tailwindui/components/container.d.ts +2 -0
- package/tailwindui/components/container.js +20 -0
- package/tailwindui/components/drawer.d.ts +9 -0
- package/tailwindui/components/drawer.js +22 -0
- package/{components/FilterInputBase.d.ts → tailwindui/components/filter-input-base.d.ts} +1 -1
- package/tailwindui/components/filter-input-base.js +30 -0
- package/{components/FilterListItemBase.d.ts → tailwindui/components/filter-list-item-base.d.ts} +1 -1
- package/tailwindui/components/filter-list-item-base.js +34 -0
- package/tailwindui/components/filters-list.d.ts +2 -0
- package/tailwindui/components/filters-list.js +23 -0
- package/tailwindui/components/icons/chevron-double-left.d.ts +2 -0
- package/tailwindui/components/icons/chevron-double-left.js +13 -0
- package/tailwindui/components/icons/chevron-double-right.d.ts +2 -0
- package/tailwindui/components/icons/chevron-double-right.js +13 -0
- package/tailwindui/components/icons/chevron-left.d.ts +2 -0
- package/tailwindui/components/icons/chevron-left.js +13 -0
- package/tailwindui/components/icons/chevron-right.d.ts +2 -0
- package/tailwindui/components/icons/chevron-right.js +13 -0
- package/tailwindui/components/icons/cloud-download.d.ts +2 -0
- package/tailwindui/components/icons/cloud-download.js +13 -0
- package/tailwindui/components/icons/edit.d.ts +2 -0
- package/tailwindui/components/icons/edit.js +13 -0
- package/tailwindui/components/icons/filter.d.ts +2 -0
- package/tailwindui/components/icons/filter.js +13 -0
- package/tailwindui/components/icons/open.d.ts +2 -0
- package/tailwindui/components/icons/open.js +13 -0
- package/tailwindui/components/icons/table.d.ts +2 -0
- package/tailwindui/components/icons/table.js +13 -0
- package/tailwindui/components/icons/trash.d.ts +2 -0
- package/tailwindui/components/icons/trash.js +13 -0
- package/tailwindui/components/inputs/checkbox.d.ts +10 -0
- package/tailwindui/components/inputs/checkbox.js +23 -0
- package/tailwindui/components/inputs/select.d.ts +13 -0
- package/tailwindui/components/inputs/select.js +21 -0
- package/tailwindui/components/inputs/switch.d.ts +7 -0
- package/tailwindui/components/inputs/switch.js +21 -0
- package/tailwindui/components/inputs/text-input.d.ts +7 -0
- package/tailwindui/components/inputs/text-input.js +18 -0
- package/tailwindui/components/linear-progress.d.ts +2 -0
- package/tailwindui/components/linear-progress.js +13 -0
- package/tailwindui/components/no-rows-fallback.d.ts +2 -0
- package/tailwindui/components/no-rows-fallback.js +13 -0
- package/tailwindui/components/pagination.d.ts +2 -0
- package/tailwindui/components/pagination.js +55 -0
- package/tailwindui/components/select-row-checkbox.d.ts +2 -0
- package/tailwindui/components/select-row-checkbox.js +54 -0
- package/tailwindui/components/selected-rows-toolbar.d.ts +2 -0
- package/tailwindui/components/selected-rows-toolbar.js +33 -0
- package/tailwindui/components/tab.d.ts +6 -0
- package/tailwindui/components/tab.js +16 -0
- package/tailwindui/components/toolbar-container.d.ts +2 -0
- package/tailwindui/components/toolbar-container.js +13 -0
- package/tailwindui/index.d.ts +7 -0
- package/tailwindui/index.js +20 -0
- package/tailwindui/styles.css +73 -0
- package/tailwindui/toolbar-plugins/csv-export-plugin.d.ts +2 -0
- package/tailwindui/toolbar-plugins/csv-export-plugin.js +20 -0
- package/tailwindui/toolbar-plugins/filters-plugin.d.ts +2 -0
- package/tailwindui/toolbar-plugins/filters-plugin.js +60 -0
- package/tailwindui/toolbar-plugins/fulltext-plugin.d.ts +2 -0
- package/tailwindui/toolbar-plugins/fulltext-plugin.js +72 -0
- package/tailwindui/toolbar-plugins/hidden-columns-plugin.d.ts +2 -0
- package/tailwindui/toolbar-plugins/hidden-columns-plugin.js +76 -0
- package/tailwindui/toolbar-plugins/tabs-plugin.d.ts +2 -0
- package/tailwindui/toolbar-plugins/tabs-plugin.js +19 -0
- package/tailwindui/toolbar-plugins/title-plugin.d.ts +2 -0
- package/tailwindui/toolbar-plugins/title-plugin.js +16 -0
- package/tailwindui/ui.d.ts +2 -0
- package/tailwindui/ui.js +32 -0
- package/types.d.ts +130 -39
- package/useColumns.d.ts +3 -0
- package/useColumns.js +100 -0
- package/{utils/utils.d.ts → utils.d.ts} +1 -1
- package/utils.js +37 -0
- package/components/ActionCellBase.js +0 -96
- package/components/BodyCellBase.js +0 -23
- package/components/BodyCellWrapper.js +0 -14
- package/components/Drawer.d.ts +0 -7
- package/components/Drawer.js +0 -42
- package/components/FilterInputBase.js +0 -43
- package/components/FilterListItemBase.js +0 -25
- package/components/Filters.d.ts +0 -11
- package/components/Filters.js +0 -66
- package/components/FiltersList.d.ts +0 -10
- package/components/FiltersList.js +0 -47
- package/components/HiddenColumns.d.ts +0 -10
- package/components/HiddenColumns.js +0 -79
- package/components/Paper.d.ts +0 -15
- package/components/Paper.js +0 -15
- package/translations/textLabels.d.ts +0 -42
- package/translations/textLabels.js +0 -45
- package/translations/textLabelsEn.d.ts +0 -42
- package/translations/textLabelsEn.js +0 -45
- package/translations/types.d.ts +0 -49
- package/translations/types.js +0 -3
- package/utils/utils.js +0 -36
package/README.md
CHANGED
|
@@ -4,6 +4,82 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/@uxf/data-grid)
|
|
5
5
|
[](https://www.npmjs.com/package/@uxf/data-grid)
|
|
6
6
|
|
|
7
|
+
## Instalace balíčku
|
|
8
|
+
|
|
9
|
+
```shell
|
|
10
|
+
yarn add @uxf/data-grid
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### DataGrid s vlastním stylováním
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
import { DataGrid, UIComponents } from "@uxf/data-grid";
|
|
17
|
+
|
|
18
|
+
const UI: UIComponents<any, any> = {
|
|
19
|
+
ActionCell: TODO,
|
|
20
|
+
ActionCellWrapper: TODO,
|
|
21
|
+
BodyCell: TODO,
|
|
22
|
+
NoRowsFallback: TODO,
|
|
23
|
+
LinearProgress: TODO,
|
|
24
|
+
ToolbarContainer: TODO,
|
|
25
|
+
Container: TODO,
|
|
26
|
+
FilterInput: TODO,
|
|
27
|
+
FilterListItem: TODO,
|
|
28
|
+
FilterList: TODO,
|
|
29
|
+
Pagination: TODO,
|
|
30
|
+
SelectRowCheckbox: TODO,
|
|
31
|
+
SelectedRowsToolbar: TODO,
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const Page: React.FC = () => {
|
|
35
|
+
return (
|
|
36
|
+
<DataGrid
|
|
37
|
+
schema={schema}
|
|
38
|
+
loader={loader}
|
|
39
|
+
ui={UI}/>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### DataGrid na TailwindUI
|
|
45
|
+
|
|
46
|
+
Do souboru `tailwind.config.js` přidat následující řádky
|
|
47
|
+
```js
|
|
48
|
+
/** @type {import('tailwindcss').Config} */
|
|
49
|
+
module.exports = {
|
|
50
|
+
content: [
|
|
51
|
+
"./node_modules/@uxf/data-grid/tailwindui/**/*.tsx" // přidat
|
|
52
|
+
],
|
|
53
|
+
theme: {
|
|
54
|
+
extend: {
|
|
55
|
+
colors: {
|
|
56
|
+
dataGridPrimary: "#140939", // přidat
|
|
57
|
+
dataGridSecondary: "#FF4F06", // přidat
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
plugins: [
|
|
62
|
+
require("@tailwindcss/forms")({ strategy: "class" }) // přidat
|
|
63
|
+
],
|
|
64
|
+
};
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
do souboru `_app.tsx` přidat import
|
|
68
|
+
|
|
69
|
+
```tsx
|
|
70
|
+
import "@uxf/data-grid/tailwindui/styles.css";
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Použití DataGridu
|
|
74
|
+
|
|
75
|
+
```tsx
|
|
76
|
+
import { DataGrid } from "@uxf/data-grid/tailwindui";
|
|
77
|
+
|
|
78
|
+
const Page: React.FC = () => {
|
|
79
|
+
return <DataGrid schema={schema} loader={loader}/>;
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
7
83
|
## Typescript
|
|
8
84
|
|
|
9
85
|
```tsx
|
|
@@ -33,6 +109,10 @@ const schema: Schema<GridType> = {
|
|
|
33
109
|
{ name: "id", type: "number", label: "Id" },
|
|
34
110
|
{ name: "name", type: "text", label: "Jméno" },
|
|
35
111
|
],
|
|
112
|
+
tabs: [
|
|
113
|
+
{ name: "all", label: "All countries" },
|
|
114
|
+
{ name: "eu", label: "EU countries"},
|
|
115
|
+
],
|
|
36
116
|
dir: "asc",
|
|
37
117
|
sort: "id",
|
|
38
118
|
perPage: 10,
|
|
@@ -42,105 +122,36 @@ const schema: Schema<GridType> = {
|
|
|
42
122
|
<DataGrid<GridType> schema={schema}/>
|
|
43
123
|
```
|
|
44
124
|
|
|
45
|
-
##
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
125
|
+
## Seznam props
|
|
126
|
+
|
|
127
|
+
| Název | Typ | Popis |
|
|
128
|
+
|--------------------------------|-----------------------------------------|-------|
|
|
129
|
+
| schema (required) | `Schema` | |
|
|
130
|
+
| loader (required) | `Loader` | |
|
|
131
|
+
| ui (required in core DataGrid) | `UIComponents` | |
|
|
132
|
+
| gridName | `string` | |
|
|
133
|
+
| title | `string` | |
|
|
134
|
+
| initialState | `Request` or `string` | |
|
|
135
|
+
| keyExtractor | `KeyExtractor` | |
|
|
136
|
+
| noBorder | `boolean` | TODO |
|
|
137
|
+
| rowHeight | `number` | TODO |
|
|
138
|
+
| headerRowHeight | `number` | TODO |
|
|
139
|
+
| defaultConfig | `Config` | |
|
|
140
|
+
| rowClass | | TODO |
|
|
141
|
+
| toolbarPlugins | `ToolbarPlugin[]` | |
|
|
142
|
+
| **Sloupec akcí** | | |
|
|
143
|
+
| onOpen | `(row: R) => void` | |
|
|
144
|
+
| getOpenUrl | `(row: R) => string , null , undefined` | |
|
|
145
|
+
| onEdit | `(row: R) => void` | |
|
|
146
|
+
| getEditUrl | `(row: R) => string , null , undefined` | |
|
|
147
|
+
| onRemove | `(row: R) => void` | |
|
|
148
|
+
| **Skryté sloupce** | | |
|
|
149
|
+
| hiddenColumns | `string[]` | |
|
|
150
|
+
| onChangeHiddenColumns | `ChangeHiddenColumnsHandler` | |
|
|
151
|
+
| **Výběr řádků** | | |
|
|
152
|
+
| selectedRows | `Set<number>` | |
|
|
153
|
+
| onChangeSelectedRows | `(selectedRows: Set<number>]) => void` | |
|
|
154
|
+
| **Export** | | |
|
|
155
|
+
| onCsvDownload | `CsvDownloadHandler` | |
|
|
76
156
|
|
|
77
157
|
|
|
78
|
-
## Example usage ##
|
|
79
|
-
|
|
80
|
-
```tsx
|
|
81
|
-
// prepare data
|
|
82
|
-
export interface Country {
|
|
83
|
-
code: string;
|
|
84
|
-
name: string;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
export const countries: Country[] = [
|
|
88
|
-
{ code: "AT", name: "Austria" },
|
|
89
|
-
{ code: "CZ", name: "Czech Republic" },
|
|
90
|
-
{ code: "DE", name: "Germany" },
|
|
91
|
-
{ code: "GR", name: "Greece" },
|
|
92
|
-
{ code: "HU", name: "Hungary" },
|
|
93
|
-
{ code: "IT", name: "Italy" },
|
|
94
|
-
{ code: "MT", name: "Malta" },
|
|
95
|
-
{ code: "MC", name: "Monaco" },
|
|
96
|
-
{ code: "NL", name: "Netherlands" },
|
|
97
|
-
{ code: "NO", name: "Norway" },
|
|
98
|
-
{ code: "PL", name: "Poland" },
|
|
99
|
-
{ code: "PT", name: "Portugal" },
|
|
100
|
-
];
|
|
101
|
-
|
|
102
|
-
export const App: React.FC = () => {
|
|
103
|
-
const [hiddenColumns, setHiddenColumns] = useState<string[]>([]);
|
|
104
|
-
const [selectedRows, setSelectedRows] = useState<Country[]>([]);
|
|
105
|
-
|
|
106
|
-
// create config
|
|
107
|
-
const config = DataGridConfigurator.create()
|
|
108
|
-
.addColumn({ name: "code", label: "Code" })
|
|
109
|
-
.addColumn({ name: "name", label: "Name", sort: true })
|
|
110
|
-
.addFilter({
|
|
111
|
-
name: "code",
|
|
112
|
-
label: "Code",
|
|
113
|
-
type: "select",
|
|
114
|
-
options: countries.map(c => ({ label: c.name, value: c.code })),
|
|
115
|
-
})
|
|
116
|
-
.addFilter({ name: "name", label: "Name", type: "text" })
|
|
117
|
-
.getConfig();
|
|
118
|
-
|
|
119
|
-
// create loader
|
|
120
|
-
const loader: Loader = async (_, { dir, page = 1, perPage = 10 }) => {
|
|
121
|
-
const result = countries.sort((a, b) =>
|
|
122
|
-
dir === "asc" ? a.name.localeCompare(b.name) : b.name.localeCompare(a.name),
|
|
123
|
-
);
|
|
124
|
-
|
|
125
|
-
return {
|
|
126
|
-
count: result.length,
|
|
127
|
-
totalCount: countries.length,
|
|
128
|
-
result: result.slice(page * perPage, page * perPage + perPage),
|
|
129
|
-
};
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
return (
|
|
133
|
-
<DataGrid<Country>
|
|
134
|
-
{...config}
|
|
135
|
-
gridName="test"
|
|
136
|
-
title="Test"
|
|
137
|
-
loader={loader}
|
|
138
|
-
onChangeHiddenColumns={setHiddenColumns}
|
|
139
|
-
hiddenColumns={hiddenColumns}
|
|
140
|
-
selectableRows="multiple"
|
|
141
|
-
onChangeSelectedRows={setSelectedRows}
|
|
142
|
-
selectedRows={selectedRows}
|
|
143
|
-
/>
|
|
144
|
-
);
|
|
145
|
-
};
|
|
146
|
-
```
|
package/index.d.ts
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
1
|
export * from "./DataGrid";
|
|
2
|
-
export * from "./components/ActionCellBase";
|
|
3
|
-
export * from "./components/BodyCellBase";
|
|
4
|
-
export * from "./components/BodyCellWrapper";
|
|
5
|
-
export * from "./components/FilterInputBase";
|
|
6
|
-
export * from "./components/FilterListItemBase";
|
|
7
2
|
export * from "./types";
|
|
8
|
-
export { decodeFilter, encodeFilter } from "./utils
|
|
3
|
+
export { decodeFilter, encodeFilter } from "./utils";
|
package/index.js
CHANGED
|
@@ -12,13 +12,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.encodeFilter = exports.decodeFilter = void 0;
|
|
14
14
|
__exportStar(require("./DataGrid"), exports);
|
|
15
|
-
__exportStar(require("./components/ActionCellBase"), exports);
|
|
16
|
-
__exportStar(require("./components/BodyCellBase"), exports);
|
|
17
|
-
__exportStar(require("./components/BodyCellWrapper"), exports);
|
|
18
|
-
__exportStar(require("./components/FilterInputBase"), exports);
|
|
19
|
-
__exportStar(require("./components/FilterListItemBase"), exports);
|
|
20
15
|
__exportStar(require("./types"), exports);
|
|
21
|
-
var utils_1 = require("./utils
|
|
16
|
+
var utils_1 = require("./utils");
|
|
22
17
|
Object.defineProperty(exports, "decodeFilter", { enumerable: true, get: function () { return utils_1.decodeFilter; } });
|
|
23
18
|
Object.defineProperty(exports, "encodeFilter", { enumerable: true, get: function () { return utils_1.encodeFilter; } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEyQjtBQUMzQiwwQ0FBd0I7QUFFeEIsaUNBQXFEO0FBQTVDLHFHQUFBLFlBQVksT0FBQTtBQUFFLHFHQUFBLFlBQVksT0FBQSJ9
|
package/package.json
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uxf/data-grid",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-beta.11",
|
|
4
4
|
"description": "Redux DataGrid",
|
|
5
5
|
"homepage": "https://gitlab.com/uxf-npm/data-grid#readme",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"typings": "index.d.ts",
|
|
8
|
-
"module": "index.js",
|
|
9
8
|
"publishConfig": {
|
|
10
9
|
"access": "public"
|
|
11
10
|
},
|
|
@@ -33,22 +32,15 @@
|
|
|
33
32
|
"node": ">=8.9"
|
|
34
33
|
},
|
|
35
34
|
"peerDependencies": {
|
|
36
|
-
"@emotion/react": "^11.4.1",
|
|
37
|
-
"@emotion/styled": "^11.3.0",
|
|
38
|
-
"@mui/icons-material": "^5.0.0-rc.1",
|
|
39
|
-
"@mui/material": "^5.0.0-rc.1",
|
|
40
35
|
"react": "^17.0.2",
|
|
41
36
|
"react-dom": "^17.0.2"
|
|
42
37
|
},
|
|
43
38
|
"dependencies": {
|
|
44
39
|
"polished": "^4.1.3",
|
|
45
|
-
"react-data-grid": "^7.0.0-beta.
|
|
40
|
+
"react-data-grid": "^7.0.0-beta.13"
|
|
46
41
|
},
|
|
47
42
|
"devDependencies": {
|
|
48
|
-
"@
|
|
49
|
-
"@emotion/styled": "^11.3.0",
|
|
50
|
-
"@mui/icons-material": "^5.0.0",
|
|
51
|
-
"@mui/material": "^5.0.0",
|
|
43
|
+
"@tailwindcss/forms": "^0.5.2",
|
|
52
44
|
"@types/jest": "^26.0.19",
|
|
53
45
|
"@types/react": "^17.0.22",
|
|
54
46
|
"@types/react-dom": "^17.0.0",
|
|
@@ -62,11 +54,14 @@
|
|
|
62
54
|
"eslint-plugin-jsx-a11y": "^6.5.1",
|
|
63
55
|
"eslint-plugin-react": "^7.28.0",
|
|
64
56
|
"jest": "^26.6.3",
|
|
65
|
-
"parcel
|
|
57
|
+
"parcel": "^2.0.0-nightly.1125",
|
|
58
|
+
"postcss": "^8.4.14",
|
|
66
59
|
"prettier": "^1.18.2",
|
|
60
|
+
"process": "^0.11.10",
|
|
67
61
|
"react": "^17.0.2",
|
|
68
62
|
"react-dom": "^17.0.2",
|
|
69
63
|
"react-test-renderer": "^17.0.1",
|
|
64
|
+
"tailwindcss": "^3.1.3",
|
|
70
65
|
"ts-jest": "^26.4.4",
|
|
71
66
|
"ts-loader": "^6.2.0",
|
|
72
67
|
"typescript": "^4.1.3"
|
package/store/actions.d.ts
CHANGED
|
@@ -35,5 +35,9 @@ export declare const changePerPage: (perPage: number) => {
|
|
|
35
35
|
};
|
|
36
36
|
export declare const search: (term: string) => {
|
|
37
37
|
type: string;
|
|
38
|
-
|
|
38
|
+
search: string;
|
|
39
|
+
};
|
|
40
|
+
export declare const changeTab: (tabName: string) => {
|
|
41
|
+
type: string;
|
|
42
|
+
name: string;
|
|
39
43
|
};
|
package/store/actions.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.search = exports.changePerPage = exports.filterReset = exports.filter = exports.changePage = exports.sortClear = exports.sort = exports.reloadFailed = exports.reloadDone = exports.reload = void 0;
|
|
3
|
+
exports.changeTab = exports.search = exports.changePerPage = exports.filterReset = exports.filter = exports.changePage = exports.sortClear = exports.sort = exports.reloadFailed = exports.reloadDone = exports.reload = void 0;
|
|
4
4
|
var reload = function () { return ({ type: "RELOAD" }); };
|
|
5
5
|
exports.reload = reload;
|
|
6
6
|
var reloadDone = function (response) { return ({
|
|
@@ -39,7 +39,12 @@ var changePerPage = function (perPage) { return ({
|
|
|
39
39
|
exports.changePerPage = changePerPage;
|
|
40
40
|
var search = function (term) { return ({
|
|
41
41
|
type: "FULLTEXT",
|
|
42
|
-
|
|
42
|
+
search: term,
|
|
43
43
|
}); };
|
|
44
44
|
exports.search = search;
|
|
45
|
-
|
|
45
|
+
var changeTab = function (tabName) { return ({
|
|
46
|
+
type: "CHANGE_TAB",
|
|
47
|
+
name: tabName,
|
|
48
|
+
}); };
|
|
49
|
+
exports.changeTab = changeTab;
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLElBQU0sTUFBTSxHQUFHLGNBQU0sT0FBQSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQXBCLENBQW9CLENBQUM7QUFBcEMsUUFBQSxNQUFNLFVBQThCO0FBRTFDLElBQU0sVUFBVSxHQUFHLFVBQUMsUUFBa0IsSUFBSyxPQUFBLENBQUM7SUFDL0MsSUFBSSxFQUFFLGFBQWE7SUFDbkIsUUFBUSxVQUFBO0NBQ1gsQ0FBQyxFQUhnRCxDQUdoRCxDQUFDO0FBSFUsUUFBQSxVQUFVLGNBR3BCO0FBRUksSUFBTSxZQUFZLEdBQUcsVUFBQyxLQUFVLElBQUssT0FBQSxDQUFDO0lBQ3pDLElBQUksRUFBRSxlQUFlO0lBQ3JCLEtBQUssT0FBQTtDQUNSLENBQUMsRUFIMEMsQ0FHMUMsQ0FBQztBQUhVLFFBQUEsWUFBWSxnQkFHdEI7QUFFSSxJQUFNLElBQUksR0FBRyxVQUFDLFVBQWtCLEVBQUUsU0FBd0IsSUFBSyxPQUFBLENBQUM7SUFDbkUsSUFBSSxFQUFFLE1BQU07SUFDWixVQUFVLFlBQUE7SUFDVixTQUFTLFdBQUE7Q0FDWixDQUFDLEVBSm9FLENBSXBFLENBQUM7QUFKVSxRQUFBLElBQUksUUFJZDtBQUVJLElBQU0sU0FBUyxHQUFHLGNBQU0sT0FBQSxDQUFDO0lBQzVCLElBQUksRUFBRSxZQUFZO0NBQ3JCLENBQUMsRUFGNkIsQ0FFN0IsQ0FBQztBQUZVLFFBQUEsU0FBUyxhQUVuQjtBQUVJLElBQU0sVUFBVSxHQUFHLFVBQUMsSUFBWSxJQUFLLE9BQUEsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxNQUFBLEVBQUUsQ0FBQyxFQUEvQixDQUErQixDQUFDO0FBQS9ELFFBQUEsVUFBVSxjQUFxRDtBQUVyRSxJQUFNLE1BQU0sR0FBRyxVQUFDLFdBQTBCLElBQUssT0FBQSxDQUFDO0lBQ25ELElBQUksRUFBRSxRQUFRO0lBQ2QsV0FBVyxhQUFBO0NBQ2QsQ0FBQyxFQUhvRCxDQUdwRCxDQUFDO0FBSFUsUUFBQSxNQUFNLFVBR2hCO0FBRUksSUFBTSxXQUFXLEdBQUcsY0FBTSxPQUFBLENBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBMUIsQ0FBMEIsQ0FBQztBQUEvQyxRQUFBLFdBQVcsZUFBb0M7QUFFckQsSUFBTSxhQUFhLEdBQUcsVUFBQyxPQUFlLElBQUssT0FBQSxDQUFDO0lBQy9DLElBQUksRUFBRSxpQkFBaUI7SUFDdkIsT0FBTyxTQUFBO0NBQ1YsQ0FBQyxFQUhnRCxDQUdoRCxDQUFDO0FBSFUsUUFBQSxhQUFhLGlCQUd2QjtBQUVJLElBQU0sTUFBTSxHQUFHLFVBQUMsSUFBWSxJQUFLLE9BQUEsQ0FBQztJQUNyQyxJQUFJLEVBQUUsVUFBVTtJQUNoQixNQUFNLEVBQUUsSUFBSTtDQUNmLENBQUMsRUFIc0MsQ0FHdEMsQ0FBQztBQUhVLFFBQUEsTUFBTSxVQUdoQjtBQUVJLElBQU0sU0FBUyxHQUFHLFVBQUMsT0FBZSxJQUFLLE9BQUEsQ0FBQztJQUMzQyxJQUFJLEVBQUUsWUFBWTtJQUNsQixJQUFJLEVBQUUsT0FBTztDQUNoQixDQUFDLEVBSDRDLENBRzVDLENBQUM7QUFIVSxRQUFBLFNBQVMsYUFHbkIifQ==
|
package/store/reducer.d.ts
CHANGED
|
@@ -2,3 +2,4 @@ import { Reducer } from "react";
|
|
|
2
2
|
import { Schema, Request, DataGridState } from "../types";
|
|
3
3
|
export declare const getInitialState: (schema: Schema<any>, init?: string | Request | undefined) => DataGridState;
|
|
4
4
|
export declare const reducer: Reducer<DataGridState, any>;
|
|
5
|
+
export declare const debugReducer: Reducer<DataGridState, any>;
|
package/store/reducer.js
CHANGED
|
@@ -36,21 +36,30 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
36
36
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.reducer = exports.getInitialState = void 0;
|
|
40
|
-
var utils_1 = require("../utils
|
|
39
|
+
exports.debugReducer = exports.reducer = exports.getInitialState = void 0;
|
|
40
|
+
var utils_1 = require("../utils");
|
|
41
41
|
var getInitialState = function (schema, init) {
|
|
42
|
-
var _a, _b, _c, _d, _e, _f;
|
|
42
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
43
43
|
var initialState = init === undefined ? {} : typeof init === "string" ? (_a = (0, utils_1.decodeFilter)(init)) !== null && _a !== void 0 ? _a : {} : init;
|
|
44
|
+
var tabsCount = (_c = (_b = schema.tabs) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0;
|
|
44
45
|
return {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
request: {
|
|
47
|
+
f: (_d = initialState.f) !== null && _d !== void 0 ? _d : [],
|
|
48
|
+
page: (_e = initialState.page) !== null && _e !== void 0 ? _e : 0,
|
|
49
|
+
dir: (_f = initialState.dir) !== null && _f !== void 0 ? _f : schema.dir,
|
|
50
|
+
sort: (_g = initialState.sort) !== null && _g !== void 0 ? _g : schema.sort,
|
|
51
|
+
perPage: (_h = initialState.perPage) !== null && _h !== void 0 ? _h : schema.perPage,
|
|
52
|
+
tab: tabsCount > 0 ? schema.tabs[0].name : null,
|
|
53
|
+
search: "",
|
|
54
|
+
},
|
|
55
|
+
tabRequests: {},
|
|
50
56
|
};
|
|
51
57
|
};
|
|
52
58
|
exports.getInitialState = getInitialState;
|
|
59
|
+
// eslint-disable-next-line complexity
|
|
53
60
|
var reducer = function (state, action) {
|
|
61
|
+
var _a;
|
|
62
|
+
var _b, _c, _d, _e, _f, _g, _h, _j;
|
|
54
63
|
switch (action.type) {
|
|
55
64
|
case "RELOAD":
|
|
56
65
|
return __assign(__assign({}, state), { loading: true });
|
|
@@ -59,23 +68,35 @@ var reducer = function (state, action) {
|
|
|
59
68
|
case "RELOAD_FAILED":
|
|
60
69
|
return __assign(__assign({}, state), { loading: false, error: action.error });
|
|
61
70
|
case "CHANGE_PAGE":
|
|
62
|
-
return __assign(__assign({}, state), { page: action.page });
|
|
71
|
+
return __assign(__assign({}, state), { request: __assign(__assign({}, state.request), { page: action.page }) });
|
|
63
72
|
case "CHANGE_PER_PAGE":
|
|
64
|
-
return __assign(__assign({}, state), { perPage: action.perPage });
|
|
73
|
+
return __assign(__assign({}, state), { request: __assign(__assign({}, state.request), { perPage: action.perPage }) });
|
|
65
74
|
case "FILTER":
|
|
66
75
|
// eslint-disable-next-line no-case-declarations
|
|
67
76
|
var filterValue_1 = action.filterValue;
|
|
68
|
-
return __assign(__assign({}, state), { page: 0, f: state.f.find(function (f) { return f.name === filterValue_1.name; })
|
|
69
|
-
|
|
70
|
-
|
|
77
|
+
return __assign(__assign({}, state), { request: __assign(__assign({}, state.request), { page: 0, f: state.request.f.find(function (f) { return f.name === filterValue_1.name; })
|
|
78
|
+
? state.request.f.map(function (f) { return (f.name === filterValue_1.name ? filterValue_1 : f); })
|
|
79
|
+
: __spreadArray(__spreadArray([], __read(state.request.f), false), [filterValue_1], false) }) });
|
|
71
80
|
case "FILTER_RESET":
|
|
72
|
-
return __assign(__assign({}, state), { page: 0, f: [] });
|
|
81
|
+
return __assign(__assign({}, state), { request: __assign(__assign({}, state.request), { page: 0, f: [] }) });
|
|
73
82
|
case "SORT":
|
|
74
|
-
return __assign(__assign({}, state), { sort: action.columnName, dir: action.direction });
|
|
83
|
+
return __assign(__assign({}, state), { request: __assign(__assign({}, state.request), { sort: action.columnName, dir: action.direction }) });
|
|
75
84
|
case "SORT_CLEAR":
|
|
76
|
-
return __assign(__assign({}, state), { sort: null, dir: null });
|
|
85
|
+
return __assign(__assign({}, state), { request: __assign(__assign({}, state.request), { sort: null, dir: null }) });
|
|
77
86
|
case "FULLTEXT":
|
|
78
|
-
return __assign(__assign({}, state), {
|
|
87
|
+
return __assign(__assign({}, state), { request: __assign(__assign({}, state.request), { search: action.search, page: 0 }) });
|
|
88
|
+
case "CHANGE_TAB":
|
|
89
|
+
// eslint-disable-next-line no-case-declarations
|
|
90
|
+
var tabHistory = (_b = state.tabRequests[action.name]) !== null && _b !== void 0 ? _b : {};
|
|
91
|
+
return __assign(__assign({}, state), { request: {
|
|
92
|
+
f: (_c = tabHistory.f) !== null && _c !== void 0 ? _c : [],
|
|
93
|
+
search: (_d = tabHistory.search) !== null && _d !== void 0 ? _d : "",
|
|
94
|
+
page: (_e = tabHistory.page) !== null && _e !== void 0 ? _e : 0,
|
|
95
|
+
perPage: (_f = tabHistory.perPage) !== null && _f !== void 0 ? _f : state.request.perPage,
|
|
96
|
+
dir: (_g = tabHistory.dir) !== null && _g !== void 0 ? _g : state.request.dir,
|
|
97
|
+
sort: (_h = tabHistory.sort) !== null && _h !== void 0 ? _h : state.request.sort,
|
|
98
|
+
tab: action.name,
|
|
99
|
+
}, tabRequests: __assign(__assign({}, state.tabRequests), (_a = {}, _a[(_j = state.request.tab) !== null && _j !== void 0 ? _j : "__DEFAULT_TAB__"] = state.request, _a)) });
|
|
79
100
|
default:
|
|
80
101
|
// eslint-disable-next-line no-console
|
|
81
102
|
console.warn("Unknown datagrid action.", action);
|
|
@@ -83,4 +104,11 @@ var reducer = function (state, action) {
|
|
|
83
104
|
}
|
|
84
105
|
};
|
|
85
106
|
exports.reducer = reducer;
|
|
86
|
-
|
|
107
|
+
var debugReducer = function (state, action) {
|
|
108
|
+
var newState = (0, exports.reducer)(state, action);
|
|
109
|
+
// eslint-disable-next-line no-console
|
|
110
|
+
console.log("" + action.type, { action: action, oldState: state, newState: newState });
|
|
111
|
+
return newState;
|
|
112
|
+
};
|
|
113
|
+
exports.debugReducer = debugReducer;
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLGtDQUF3QztBQUVqQyxJQUFNLGVBQWUsR0FBRyxVQUFDLE1BQW1CLEVBQUUsSUFBdUI7O0lBQ3hFLElBQU0sWUFBWSxHQUFHLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFBLElBQUEsb0JBQVksRUFBQyxJQUFJLENBQUMsbUNBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUcsSUFBTSxTQUFTLEdBQUcsTUFBQSxNQUFBLE1BQU0sQ0FBQyxJQUFJLDBDQUFFLE1BQU0sbUNBQUksQ0FBQyxDQUFDO0lBQzNDLE9BQU87UUFDSCxPQUFPLEVBQUU7WUFDTCxDQUFDLEVBQUUsTUFBQSxZQUFZLENBQUMsQ0FBQyxtQ0FBSSxFQUFFO1lBQ3ZCLElBQUksRUFBRSxNQUFBLFlBQVksQ0FBQyxJQUFJLG1DQUFJLENBQUM7WUFDNUIsR0FBRyxFQUFFLE1BQUEsWUFBWSxDQUFDLEdBQUcsbUNBQUksTUFBTSxDQUFDLEdBQUc7WUFDbkMsSUFBSSxFQUFFLE1BQUEsWUFBWSxDQUFDLElBQUksbUNBQUksTUFBTSxDQUFDLElBQUk7WUFDdEMsT0FBTyxFQUFFLE1BQUEsWUFBWSxDQUFDLE9BQU8sbUNBQUksTUFBTSxDQUFDLE9BQU87WUFDL0MsR0FBRyxFQUFFLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQy9DLE1BQU0sRUFBRSxFQUFFO1NBQ2I7UUFDRCxXQUFXLEVBQUUsRUFBRTtLQUNs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
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BaseGridType, DataGridBaseProps, ToolbarPlugin, UIComponents } from "../types";
|
|
2
|
+
export declare type DataGridProps<GridType extends BaseGridType, R> = DataGridBaseProps<GridType, R> & {
|
|
3
|
+
ui?: Partial<UIComponents<GridType, R>>;
|
|
4
|
+
};
|
|
5
|
+
export declare const DEFAULT_TOOLBAR_PLUGINS: ToolbarPlugin[];
|
|
6
|
+
export declare const DataGrid: <GridType extends BaseGridType, R = any>(props: DataGridProps<GridType, R>) => JSX.Element;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
+
if (mod && mod.__esModule) return mod;
|
|
27
|
+
var result = {};
|
|
28
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
+
__setModuleDefault(result, mod);
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.DataGrid = exports.DEFAULT_TOOLBAR_PLUGINS = void 0;
|
|
34
|
+
var DataGrid_1 = require("../DataGrid");
|
|
35
|
+
var react_1 = __importStar(require("react"));
|
|
36
|
+
var ui_1 = require("./ui");
|
|
37
|
+
var fulltext_plugin_1 = require("./toolbar-plugins/fulltext-plugin");
|
|
38
|
+
var filters_plugin_1 = require("./toolbar-plugins/filters-plugin");
|
|
39
|
+
var hidden_columns_plugin_1 = require("./toolbar-plugins/hidden-columns-plugin");
|
|
40
|
+
var csv_export_plugin_1 = require("./toolbar-plugins/csv-export-plugin");
|
|
41
|
+
var tabs_plugin_1 = require("./toolbar-plugins/tabs-plugin");
|
|
42
|
+
exports.DEFAULT_TOOLBAR_PLUGINS = [
|
|
43
|
+
tabs_plugin_1.TabsPlugin,
|
|
44
|
+
fulltext_plugin_1.FulltextPlugin,
|
|
45
|
+
filters_plugin_1.FiltersPlugin,
|
|
46
|
+
hidden_columns_plugin_1.HiddenColumnsPlugin,
|
|
47
|
+
csv_export_plugin_1.CsvExportPlugin,
|
|
48
|
+
];
|
|
49
|
+
var DataGrid = function (props) {
|
|
50
|
+
var ui = (0, react_1.useMemo)(function () {
|
|
51
|
+
return __assign(__assign({}, ui_1.UI), props.ui);
|
|
52
|
+
}, [props.ui]);
|
|
53
|
+
return react_1.default.createElement(DataGrid_1.DataGrid, __assign({ toolbarPlugins: exports.DEFAULT_TOOLBAR_PLUGINS }, props, { ui: ui }));
|
|
54
|
+
};
|
|
55
|
+
exports.DataGrid = DataGrid;
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUdyaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGFpbHdpbmR1aS9EYXRhR3JpZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0Esd0NBQXVEO0FBQ3ZELDZDQUF1QztBQUN2QywyQkFBMEI7QUFDMUIscUVBQW1FO0FBQ25FLG1FQUFpRTtBQUNqRSxpRkFBOEU7QUFDOUUseUVBQXNFO0FBQ3RFLDZEQUEyRDtBQU05QyxRQUFBLHVCQUF1QixHQUFvQjtJQUNwRCx3QkFBVTtJQUNWLGdDQUFjO0lBQ2QsOEJBQWE7SUFDYiwyQ0FBbUI7SUFDbkIsbUNBQWU7Q0FDbEIsQ0FBQztBQUVLLElBQU0sUUFBUSxHQUFHLFVBQXlDLEtBQWlDO0lBQzlGLElBQU0sRUFBRSxHQUE4QixJQUFBLGVBQU8sRUFBQztRQUMxQyw2QkFBYSxPQUFVLEdBQUssS0FBSyxDQUFDLEVBQUUsRUFBRztJQUMzQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNmLE9BQU8sOEJBQUMsbUJBQVksYUFBQyxjQUFjLEVBQUUsK0JBQXVCLElBQU0sS0FBSyxJQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQztBQUN4RixDQUFDLENBQUM7QUFMVyxRQUFBLFFBQVEsWUFLbkIifQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { ActionCellComponent } from "
|
|
2
|
+
import { ActionCellComponent } from "../../types";
|
|
3
3
|
export declare const ActionCellWrapper: React.NamedExoticComponent<object>;
|
|
4
4
|
export declare const ActionCellBase: ActionCellComponent<any>;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.ActionCellBase = exports.ActionCellWrapper = void 0;
|
|
23
|
+
var open_1 = require("./icons/open");
|
|
24
|
+
var edit_1 = require("./icons/edit");
|
|
25
|
+
var trash_1 = require("./icons/trash");
|
|
26
|
+
var react_1 = __importStar(require("react"));
|
|
27
|
+
var circle_button_1 = require("./circle-button");
|
|
28
|
+
exports.ActionCellWrapper = (0, react_1.memo)(function (_a) {
|
|
29
|
+
var children = _a.children;
|
|
30
|
+
var innerRef = (0, react_1.useRef)(null);
|
|
31
|
+
(0, react_1.useEffect)(function () {
|
|
32
|
+
var _a;
|
|
33
|
+
var scrollLeft = 0;
|
|
34
|
+
var grid = null;
|
|
35
|
+
var node = innerRef.current;
|
|
36
|
+
if (!node) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
var scrollHandler = function () {
|
|
40
|
+
grid === null || grid === void 0 ? void 0 : grid.scrollTo({ left: scrollLeft });
|
|
41
|
+
grid === null || grid === void 0 ? void 0 : grid.removeEventListener("scroll", scrollHandler);
|
|
42
|
+
};
|
|
43
|
+
var focusHandler = function () {
|
|
44
|
+
grid = node.closest(".rdg");
|
|
45
|
+
if (grid) {
|
|
46
|
+
scrollLeft = grid.scrollLeft;
|
|
47
|
+
grid.addEventListener("scroll", scrollHandler);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
(_a = node.parentElement) === null || _a === void 0 ? void 0 : _a.addEventListener("focus", focusHandler, { capture: true });
|
|
51
|
+
return function () {
|
|
52
|
+
var _a;
|
|
53
|
+
grid === null || grid === void 0 ? void 0 : grid.removeEventListener("scroll", scrollHandler);
|
|
54
|
+
(_a = node.parentElement) === null || _a === void 0 ? void 0 : _a.removeEventListener("focus", focusHandler);
|
|
55
|
+
};
|
|
56
|
+
}, []);
|
|
57
|
+
return (react_1.default.createElement("div", { className: "flex align-center justify-center text-center w-full", ref: innerRef }, children));
|
|
58
|
+
});
|
|
59
|
+
exports.ActionCellWrapper.displayName = "ActionCellWrapper";
|
|
60
|
+
var ActionCellItem = (0, react_1.memo)(function (_a) {
|
|
61
|
+
var children = _a.children;
|
|
62
|
+
return (react_1.default.createElement("div", { className: "flex justify-center align-center text-center w-full" }, children));
|
|
63
|
+
});
|
|
64
|
+
ActionCellItem.displayName = "ActionCellItem";
|
|
65
|
+
var Button = function (props) {
|
|
66
|
+
var getUrl = props.getUrl, onClick = props.onClick, row = props.row, icon = props.icon, title = props.title;
|
|
67
|
+
if (getUrl) {
|
|
68
|
+
var href = getUrl(row);
|
|
69
|
+
if (!href) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
return (react_1.default.createElement(circle_button_1.CircleButton, { href: href, title: title }, icon));
|
|
73
|
+
}
|
|
74
|
+
if (onClick) {
|
|
75
|
+
return (react_1.default.createElement(circle_button_1.CircleButton, { title: title, onClick: function () { return onClick(row); } }, icon));
|
|
76
|
+
}
|
|
77
|
+
return null;
|
|
78
|
+
};
|
|
79
|
+
var ActionCellBase = function (props) {
|
|
80
|
+
var onOpen = props.onOpen, getOpenUrl = props.getOpenUrl, onEdit = props.onEdit, getEditUrl = props.getEditUrl, onRemove = props.onRemove, row = props.row;
|
|
81
|
+
if (!onOpen && !getOpenUrl && !onEdit && !getEditUrl && !onRemove) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
85
|
+
react_1.default.createElement(Button, { row: row, onClick: onRemove, getUrl: undefined, icon: react_1.default.createElement(trash_1.Trash, null), title: "Smazat" }),
|
|
86
|
+
react_1.default.createElement(Button, { row: row, onClick: onEdit, getUrl: getEditUrl, icon: react_1.default.createElement(edit_1.Edit, null), title: "Upravit" }),
|
|
87
|
+
react_1.default.createElement(Button, { row: row, onClick: onOpen, getUrl: getOpenUrl, icon: react_1.default.createElement(open_1.Open, null), title: "Detail" })));
|
|
88
|
+
};
|
|
89
|
+
exports.ActionCellBase = ActionCellBase;
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNlbGwtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWlsd2luZHVpL2NvbXBvbmVudHMvYWN0aW9uLWNlbGwtYmFzZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFDQUFvQztBQUNwQyxxQ0FBb0M7QUFDcEMsdUNBQXNDO0FBQ3RDLDZDQUFrRTtBQUVsRSxpREFBK0M7QUFFbEMsUUFBQSxpQkFBaUIsR0FBRyxJQUFBLFlBQUksRUFBQyxVQUFDLEVBQVk7UUFBVixRQUFRLGNBQUE7SUFDN0MsSUFBTSxRQUFRLEdBQUcsSUFBQSxjQUFNLEVBQWlCLElBQUksQ0FBQyxDQUFDO0lBRTlDLElBQUEsaUJBQVMsRUFBQzs7UUFDTixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxJQUFJLEdBQW1CLElBQUksQ0FBQztRQUVoQyxJQUFNLElBQUksR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxPQUFPO1NBQ1Y7UUFFRCxJQUFNLGFBQWEsR0FBRztZQUNsQixJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDckMsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUM7UUFFRixJQUFNLFlBQVksR0FBRztZQUNqQixJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QixJQUFJLElBQUksRUFBRTtnQkFDTixVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQzthQUNsRDtR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
|