@uxf/data-grid 10.0.7 → 11.0.0-beta.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/_store/reducer.d.ts +8 -0
- package/{store → _store}/reducer.js +33 -19
- package/_story-utils/data.d.ts +12 -0
- package/_story-utils/data.js +115 -0
- package/_story-utils/grid-type.d.ts +22 -0
- package/_story-utils/grid-type.js +2 -0
- package/_story-utils/loader.d.ts +2 -0
- package/_story-utils/loader.js +36 -0
- package/_story-utils/schema.d.ts +3 -0
- package/_story-utils/schema.js +53 -0
- package/{tailwindui/body-cell → body-cell}/body-cell-boolean.d.ts +1 -1
- package/{tailwindui/body-cell → body-cell}/body-cell-date.d.ts +1 -1
- package/{tailwindui/body-cell → body-cell}/body-cell-datetime.d.ts +1 -1
- package/{tailwindui/body-cell → body-cell}/body-cell-default.d.ts +1 -1
- package/{tailwindui/body-cell → body-cell}/body-cell-email.d.ts +1 -1
- package/{tailwindui/body-cell → body-cell}/body-cell-phone.d.ts +1 -1
- package/{tailwindui/body-cell → body-cell}/body-cell-to-many.d.ts +1 -1
- package/{tailwindui/body-cell → body-cell}/body-cell-to-one.d.ts +1 -1
- package/{tailwindui/body-cell → body-cell}/body-cell-url.d.ts +1 -1
- package/{tailwindui/body-cell → body-cell}/index.d.ts +1 -1
- package/data-grid.d.ts +1 -1
- package/data-grid.js +34 -120
- package/data-grid.stories.d.ts +0 -5
- package/data-grid.stories.js +14 -216
- package/export-button/export-button.d.ts +10 -0
- package/export-button/export-button.js +15 -0
- package/export-button/export-button.stories.d.ts +2 -0
- package/export-button/export-button.stories.js +18 -0
- package/export-button/index.d.ts +1 -0
- package/{tailwindui → export-button}/index.js +1 -3
- package/{tailwindui/filter-handler → filter-handler}/bool-filter.d.ts +1 -1
- package/{tailwindui/filter-handler → filter-handler}/boolean-filter.d.ts +1 -1
- package/filter-handler/index.d.ts +4 -0
- package/{tailwindui/filter-handler → filter-handler}/index.js +15 -0
- package/{tailwindui/filter-handler → filter-handler}/interval-filter.d.ts +1 -1
- package/{tailwindui/filter-handler → filter-handler}/interval-filter.js +2 -2
- package/{tailwindui/filter-handler → filter-handler}/select-filter.d.ts +1 -1
- package/{tailwindui/filter-handler → filter-handler}/text-filter.d.ts +1 -1
- package/filter-handler/types.d.ts +8 -0
- package/filter-handler/types.js +2 -0
- package/filter-list/filter-list.d.ts +11 -0
- package/{tailwindui/components → filter-list}/filter-list.js +7 -6
- package/filter-list/filter-list.stories.d.ts +2 -0
- package/filter-list/filter-list.stories.js +19 -0
- package/filter-list/index.d.ts +1 -0
- package/filter-list/index.js +17 -0
- package/filters/filters.d.ts +11 -0
- package/filters/filters.js +25 -0
- package/filters/filters.stories.d.ts +2 -0
- package/filters/filters.stories.js +19 -0
- package/filters/index.d.ts +1 -0
- package/filters/index.js +17 -0
- package/filters-button/filters-button.d.ts +11 -0
- package/{tailwindui/show.js → filters-button/filters-button.js} +15 -6
- package/filters-button/filters-button.stories.d.ts +2 -0
- package/filters-button/filters-button.stories.js +19 -0
- package/filters-button/index.d.ts +1 -0
- package/filters-button/index.js +17 -0
- package/fulltext-input/fulltext-input.d.ts +5 -0
- package/fulltext-input/fulltext-input.js +13 -0
- package/fulltext-input/fulltext-input.stories.d.ts +2 -0
- package/fulltext-input/fulltext-input.stories.js +18 -0
- package/fulltext-input/index.d.ts +1 -0
- package/fulltext-input/index.js +17 -0
- package/hidden-columns/hidden-columns.d.ts +8 -0
- package/hidden-columns/hidden-columns.js +17 -0
- package/hidden-columns/hidden-columns.stories.d.ts +2 -0
- package/hidden-columns/hidden-columns.stories.js +18 -0
- package/hidden-columns/index.d.ts +1 -0
- package/hidden-columns/index.js +17 -0
- package/hidden-columns-button/hidden-columns-button.d.ts +8 -0
- package/{tailwindui/data-grid.js → hidden-columns-button/hidden-columns-button.js} +14 -10
- package/hidden-columns-button/hidden-columns-button.stories.d.ts +2 -0
- package/hidden-columns-button/hidden-columns-button.stories.js +18 -0
- package/hidden-columns-button/index.d.ts +1 -0
- package/hidden-columns-button/index.js +17 -0
- package/linear-progress/index.d.ts +1 -0
- package/linear-progress/index.js +17 -0
- package/linear-progress/linear-progress.d.ts +5 -0
- package/{tailwindui/components → linear-progress}/linear-progress.js +4 -4
- package/package.json +1 -1
- package/pagination/index.d.ts +1 -0
- package/pagination/index.js +17 -0
- package/pagination/pagination.d.ts +8 -0
- package/pagination/pagination.js +16 -0
- package/pagination/pagination.stories.d.ts +2 -0
- package/pagination/pagination.stories.js +18 -0
- package/row-counts/index.d.ts +1 -0
- package/row-counts/index.js +17 -0
- package/row-counts/row-counts.d.ts +7 -0
- package/row-counts/row-counts.js +18 -0
- package/row-counts/row-counts.stories.d.ts +2 -0
- package/row-counts/row-counts.stories.js +15 -0
- package/rows-per-page-select/index.d.ts +1 -0
- package/rows-per-page-select/index.js +17 -0
- package/rows-per-page-select/rows-per-page-select.d.ts +3 -0
- package/{tailwindui/components/pagination-rows-per-page-select.js → rows-per-page-select/rows-per-page-select.js} +5 -5
- package/rows-per-page-select/rows-per-page-select.stories.d.ts +2 -0
- package/rows-per-page-select/rows-per-page-select.stories.js +18 -0
- package/selected-rows-toolbar/index.d.ts +1 -0
- package/selected-rows-toolbar/index.js +17 -0
- package/selected-rows-toolbar/selected-rows-toolbar.d.ts +11 -0
- package/{tailwindui/components → selected-rows-toolbar}/selected-rows-toolbar.js +9 -6
- package/selected-rows-toolbar/selected-rows-toolbar.stories.d.ts +2 -0
- package/{tailwindui/components/select-row-checkbox.js → selected-rows-toolbar/selected-rows-toolbar.stories.js} +15 -14
- package/table/components/select-row-checkbox.d.ts +3 -0
- package/table/components/select-row-checkbox.js +20 -0
- package/table/hooks/use-react-data-grid-columns.d.ts +3 -0
- package/table/hooks/use-react-data-grid-columns.js +92 -0
- package/table/index.d.ts +1 -0
- package/table/index.js +17 -0
- package/table/no-rows-fallback.d.ts +7 -0
- package/{tailwindui/components → table}/no-rows-fallback.js +4 -4
- package/table/table.d.ts +3 -0
- package/table/table.js +80 -0
- package/table/table.stories.d.ts +2 -0
- package/table/table.stories.js +20 -0
- package/table/types.d.ts +26 -0
- package/table/types.js +2 -0
- package/toolbar-control/index.d.ts +1 -0
- package/toolbar-control/index.js +17 -0
- package/toolbar-control/toolbar-control.d.ts +13 -0
- package/toolbar-control/toolbar-control.js +22 -0
- package/toolbar-control/toolbar-control.stories.d.ts +2 -0
- package/toolbar-control/toolbar-control.stories.js +20 -0
- package/toolbar-customs/index.d.ts +1 -0
- package/toolbar-customs/index.js +17 -0
- package/toolbar-customs/toolbar-customs.d.ts +10 -0
- package/{tailwindui/components → toolbar-customs}/toolbar-customs.js +2 -2
- package/toolbar-customs/toolbar-customs.stories.d.ts +2 -0
- package/toolbar-customs/toolbar-customs.stories.js +16 -0
- package/toolbar-tabs/index.d.ts +1 -0
- package/toolbar-tabs/index.js +17 -0
- package/toolbar-tabs/toolbar-tabs.d.ts +7 -0
- package/{tailwindui/components → toolbar-tabs}/toolbar-tabs.js +10 -10
- package/toolbar-tabs/toolbar-tabs.stories.d.ts +2 -0
- package/toolbar-tabs/toolbar-tabs.stories.js +18 -0
- package/types/components.d.ts +5 -160
- package/types/data-grid-props.d.ts +16 -23
- package/types/state.d.ts +7 -3
- package/types/ui-components.d.ts +7 -16
- package/use-data-grid-control/actions-factory.d.ts +14 -0
- package/use-data-grid-control/actions-factory.js +18 -0
- package/use-data-grid-control/index.d.ts +1 -0
- package/use-data-grid-control/index.js +17 -0
- package/use-data-grid-control/use-data-grid-control.d.ts +19 -0
- package/use-data-grid-control/use-data-grid-control.js +12 -0
- package/use-data-grid-fetching/index.d.ts +1 -0
- package/use-data-grid-fetching/index.js +17 -0
- package/use-data-grid-fetching/use-data-grid-fetching.d.ts +16 -0
- package/use-data-grid-fetching/use-data-grid-fetching.js +37 -0
- package/utils/classes.d.ts +1 -0
- package/utils/classes.js +4 -0
- package/utils.d.ts +4 -5
- package/utils.js +9 -60
- package/hooks/useColumns.d.ts +0 -3
- package/hooks/useColumns.js +0 -97
- package/store/reducer.d.ts +0 -5
- package/tailwindui/components/container.d.ts +0 -2
- package/tailwindui/components/container.js +0 -13
- package/tailwindui/components/filter-list.d.ts +0 -2
- package/tailwindui/components/footer.d.ts +0 -2
- package/tailwindui/components/footer.js +0 -12
- package/tailwindui/components/linear-progress.d.ts +0 -2
- package/tailwindui/components/no-rows-fallback.d.ts +0 -2
- package/tailwindui/components/pagination-counts.d.ts +0 -2
- package/tailwindui/components/pagination-counts.js +0 -18
- package/tailwindui/components/pagination-rows-per-page-select.d.ts +0 -2
- package/tailwindui/components/select-row-checkbox.d.ts +0 -2
- package/tailwindui/components/selected-rows-toolbar.d.ts +0 -2
- package/tailwindui/components/toolbar-control.d.ts +0 -2
- package/tailwindui/components/toolbar-control.js +0 -86
- package/tailwindui/components/toolbar-customs.d.ts +0 -2
- package/tailwindui/components/toolbar-tabs.d.ts +0 -2
- package/tailwindui/components/toolbar.d.ts +0 -2
- package/tailwindui/components/toolbar.js +0 -12
- package/tailwindui/data-grid.d.ts +0 -6
- package/tailwindui/filter-handler/index.d.ts +0 -2
- package/tailwindui/index.d.ts +0 -3
- package/tailwindui/show.d.ts +0 -7
- package/tailwindui/styles.css +0 -592
- package/tailwindui/ui.d.ts +0 -2
- package/tailwindui/ui.js +0 -38
- /package/{tailwindui/components → _components}/drawer.d.ts +0 -0
- /package/{tailwindui/components → _components}/drawer.js +0 -0
- /package/{store → _store}/actions.d.ts +0 -0
- /package/{store → _store}/actions.js +0 -0
- /package/{tailwindui/body-cell → body-cell}/body-cell-boolean.js +0 -0
- /package/{tailwindui/body-cell → body-cell}/body-cell-date.js +0 -0
- /package/{tailwindui/body-cell → body-cell}/body-cell-datetime.js +0 -0
- /package/{tailwindui/body-cell → body-cell}/body-cell-default.js +0 -0
- /package/{tailwindui/body-cell → body-cell}/body-cell-email.js +0 -0
- /package/{tailwindui/body-cell → body-cell}/body-cell-phone.js +0 -0
- /package/{tailwindui/body-cell → body-cell}/body-cell-to-many.js +0 -0
- /package/{tailwindui/body-cell → body-cell}/body-cell-to-one.js +0 -0
- /package/{tailwindui/body-cell → body-cell}/body-cell-url.js +0 -0
- /package/{tailwindui/body-cell → body-cell}/index.js +0 -0
- /package/{tailwindui/filter-handler → filter-handler}/bool-filter.js +0 -0
- /package/{tailwindui/filter-handler → filter-handler}/boolean-filter.js +0 -0
- /package/{tailwindui/filter-handler → filter-handler}/select-filter.js +0 -0
- /package/{tailwindui/filter-handler → filter-handler}/text-filter.js +0 -0
- /package/{tailwindui → table}/components/action-cell-base.d.ts +0 -0
- /package/{tailwindui → table}/components/action-cell-base.js +0 -0
package/data-grid.stories.js
CHANGED
|
@@ -24,223 +24,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.Default = void 0;
|
|
27
|
+
const json_renderer_1 = require("@uxf/example/src/components/json-renderer");
|
|
28
|
+
const toggle_1 = require("@uxf/ui/toggle");
|
|
27
29
|
const react_1 = __importStar(require("react"));
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
34
|
-
const schema = {
|
|
35
|
-
columns: [
|
|
36
|
-
{ name: "id", type: "number", label: "Id", sort: true },
|
|
37
|
-
{ name: "text", type: "string", label: "Text", sort: true },
|
|
38
|
-
{ name: "bool", type: "boolean", label: "Boolean" },
|
|
39
|
-
{ name: "mail", type: "email", label: "E-mail" },
|
|
40
|
-
{ name: "tel", type: "phone", label: "Phone" },
|
|
41
|
-
{ name: "link", type: "url", label: "Link" },
|
|
42
|
-
{ name: "day", type: "date", label: "Date" },
|
|
43
|
-
{ name: "dayAndTime", type: "datetime", label: "Datetime" },
|
|
44
|
-
],
|
|
45
|
-
filters: [
|
|
46
|
-
{ name: "text", type: "text", label: "Text" },
|
|
47
|
-
{ name: "bool", type: "boolean", label: "Boolean" },
|
|
48
|
-
{ name: "ival", type: "interval", label: "Super interval" },
|
|
49
|
-
{ name: "mail", type: "string", label: "E-mail" },
|
|
50
|
-
{ name: "tel", type: "string", label: "Phone" },
|
|
51
|
-
{ name: "link", type: "string", label: "Link" },
|
|
52
|
-
{
|
|
53
|
-
name: "sele",
|
|
54
|
-
type: "select",
|
|
55
|
-
label: "Select",
|
|
56
|
-
options: [
|
|
57
|
-
{ id: "", label: "" },
|
|
58
|
-
{ id: 1, label: "A" },
|
|
59
|
-
{ id: 2, label: "B" },
|
|
60
|
-
],
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
name: "seleBool",
|
|
64
|
-
type: "select",
|
|
65
|
-
label: "Select Boolean",
|
|
66
|
-
options: [
|
|
67
|
-
{ id: "", label: "" },
|
|
68
|
-
{ id: 1, label: "Ano" },
|
|
69
|
-
{ id: 0, label: "Ne" },
|
|
70
|
-
],
|
|
71
|
-
},
|
|
72
|
-
],
|
|
73
|
-
tabs: [
|
|
74
|
-
{ name: "all", label: "All" },
|
|
75
|
-
{ name: "only-odd-ids", label: "Only odd ids blablabla" },
|
|
76
|
-
// { name: "only-odd-ids", label: "Only odd ids" },
|
|
77
|
-
],
|
|
78
|
-
dir: _1.DataGridSortDir.Asc,
|
|
79
|
-
sort: "id",
|
|
80
|
-
perPage: 10,
|
|
81
|
-
fullText: true,
|
|
82
|
-
};
|
|
83
|
-
const data = [
|
|
84
|
-
{
|
|
85
|
-
id: 1,
|
|
86
|
-
text: "Red",
|
|
87
|
-
bool: undefined,
|
|
88
|
-
tel: null,
|
|
89
|
-
mail: "dev@uxf.cz",
|
|
90
|
-
link: null,
|
|
91
|
-
day: "1998-09-15",
|
|
92
|
-
dayAndTime: null,
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
id: 2,
|
|
96
|
-
text: "Blue",
|
|
97
|
-
bool: null,
|
|
98
|
-
tel: undefined,
|
|
99
|
-
mail: "dev@uxf.cz",
|
|
100
|
-
link: undefined,
|
|
101
|
-
day: "2023-01-05",
|
|
102
|
-
dayAndTime: null,
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
id: 3,
|
|
106
|
-
text: "Green",
|
|
107
|
-
bool: true,
|
|
108
|
-
tel: "777888999",
|
|
109
|
-
mail: undefined,
|
|
110
|
-
link: null,
|
|
111
|
-
day: "1998-09-15",
|
|
112
|
-
dayAndTime: undefined,
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
id: 4,
|
|
116
|
-
text: "Gray",
|
|
117
|
-
bool: false,
|
|
118
|
-
tel: "555777888",
|
|
119
|
-
mail: "dev@uxf.cz",
|
|
120
|
-
link: "https://www.uxf.cz",
|
|
121
|
-
day: "2023-01-05",
|
|
122
|
-
dayAndTime: undefined,
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
id: 5,
|
|
126
|
-
text: "Pink",
|
|
127
|
-
bool: false,
|
|
128
|
-
tel: "45654412",
|
|
129
|
-
mail: undefined,
|
|
130
|
-
link: undefined,
|
|
131
|
-
day: "2023-01-05",
|
|
132
|
-
dayAndTime: "2000-10-31T01:30:00.000-05:00",
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
id: 6,
|
|
136
|
-
text: "Yellow",
|
|
137
|
-
bool: false,
|
|
138
|
-
tel: null,
|
|
139
|
-
mail: "root@uxf.cz",
|
|
140
|
-
link: "https://www.uxf.cz",
|
|
141
|
-
day: undefined,
|
|
142
|
-
dayAndTime: "2000-10-31T01:30:00.000-05:00",
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
id: 7,
|
|
146
|
-
text: "Black",
|
|
147
|
-
bool: true,
|
|
148
|
-
tel: null,
|
|
149
|
-
mail: "dev@uxf.cz",
|
|
150
|
-
link: null,
|
|
151
|
-
day: "1998-09-15",
|
|
152
|
-
dayAndTime: "2012-08-10T00:00:00.000-13:00",
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
id: 8,
|
|
156
|
-
text: "White",
|
|
157
|
-
bool: false,
|
|
158
|
-
tel: undefined,
|
|
159
|
-
mail: null,
|
|
160
|
-
link: "https://www.uxf.cz",
|
|
161
|
-
day: undefined,
|
|
162
|
-
dayAndTime: "2000-10-31T01:30:00.000-05:00",
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
id: 9,
|
|
166
|
-
text: "Liberty",
|
|
167
|
-
bool: false,
|
|
168
|
-
tel: "999888777",
|
|
169
|
-
mail: "dev@uxf.cz",
|
|
170
|
-
link: "https://google.com",
|
|
171
|
-
day: null,
|
|
172
|
-
dayAndTime: "2012-08-10T00:00:00.000-13:00",
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
id: 10,
|
|
176
|
-
text: "Blue",
|
|
177
|
-
bool: false,
|
|
178
|
-
tel: "777888999",
|
|
179
|
-
mail: "root@uxf.cz",
|
|
180
|
-
link: "https://google.com",
|
|
181
|
-
day: null,
|
|
182
|
-
dayAndTime: "2012-08-10T00:00:00.000-13:00",
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
id: 11,
|
|
186
|
-
text: "Purple",
|
|
187
|
-
bool: false,
|
|
188
|
-
tel: "777888999",
|
|
189
|
-
mail: null,
|
|
190
|
-
link: "https://google.com",
|
|
191
|
-
day: null,
|
|
192
|
-
dayAndTime: "2000-12-31T01:00:00.000-07:30",
|
|
193
|
-
},
|
|
194
|
-
];
|
|
195
|
-
const loader = async (_, request) => {
|
|
196
|
-
const { page = 1, perPage = 10, tab, sort, dir, f } = request;
|
|
197
|
-
// eslint-disable-next-line no-console
|
|
198
|
-
console.log("filter", f === null || f === void 0 ? void 0 : f.length);
|
|
199
|
-
const filteredData = data
|
|
200
|
-
.filter((item) => tab !== "only-odd-ids" || item.id % 2 === 0)
|
|
201
|
-
.filter((item) => { var _a; return (request.search ? (_a = item.text) === null || _a === void 0 ? void 0 : _a.match(new RegExp(request.search, "i")) : true); })
|
|
202
|
-
.sort((a, b) => {
|
|
203
|
-
if (!sort || !dir) {
|
|
204
|
-
return 1;
|
|
205
|
-
}
|
|
206
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
207
|
-
// @ts-ignore
|
|
208
|
-
const first = a[sort];
|
|
209
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
210
|
-
// @ts-ignore
|
|
211
|
-
const second = b[sort];
|
|
212
|
-
if (typeof first === "number") {
|
|
213
|
-
return dir === "asc" ? first - second : second - first;
|
|
214
|
-
}
|
|
215
|
-
return dir === "asc" ? first.localeCompare(second) : second.localeCompare(first);
|
|
216
|
-
});
|
|
217
|
-
// eslint-disable-next-line no-console
|
|
218
|
-
console.log("loader", request);
|
|
219
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
220
|
-
return {
|
|
221
|
-
count: filteredData.length,
|
|
222
|
-
totalCount: filteredData.length,
|
|
223
|
-
result: filteredData.slice(page * perPage, page * perPage + perPage),
|
|
224
|
-
};
|
|
225
|
-
};
|
|
226
|
-
const onCsvDownload = (request) => {
|
|
227
|
-
// eslint-disable-next-line no-console
|
|
228
|
-
console.log(request);
|
|
229
|
-
};
|
|
30
|
+
const loader_1 = require("./_story-utils/loader");
|
|
31
|
+
const schema_1 = require("./_story-utils/schema");
|
|
32
|
+
const data_grid_1 = require("./data-grid");
|
|
33
|
+
const use_data_grid_control_1 = require("./use-data-grid-control");
|
|
34
|
+
const use_data_grid_fetching_1 = require("./use-data-grid-fetching");
|
|
230
35
|
function Default() {
|
|
231
|
-
const [
|
|
232
|
-
const
|
|
233
|
-
const
|
|
234
|
-
return (react_1.default.createElement(
|
|
235
|
-
react_1.default.createElement(
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
}, initialState: "eyJzb3J0IjoiaWQiLCJkaXIiOiJhc2MiLCJwZXJQYWdlIjoxMCwicGFnZSI6MCwiZiI6W3sibmFtZSI6ImNvZGUiLCJ2YWx1ZSI6IkNaIn1dfQ==", onCsvDownload: onCsvDownload, defaultConfig: {
|
|
239
|
-
columns: {
|
|
240
|
-
id: { width: 50, hidden: true },
|
|
241
|
-
text: {},
|
|
242
|
-
bool: { width: 50 },
|
|
243
|
-
},
|
|
244
|
-
}, debug: true })));
|
|
36
|
+
const [noBorder, setNoBorder] = (0, react_1.useState)(false);
|
|
37
|
+
const { state, actions } = (0, use_data_grid_control_1.useDataGridControl)(schema_1.schema);
|
|
38
|
+
const { isLoading, error, data, onReload } = (0, use_data_grid_fetching_1.useDataGridFetching)(loader_1.loader, schema_1.schema, "grid-name", state);
|
|
39
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
40
|
+
react_1.default.createElement(toggle_1.Toggle, { label: "No border", value: noBorder, onChange: (value) => setNoBorder(!!value) }),
|
|
41
|
+
react_1.default.createElement(data_grid_1.DataGrid, { onReload: onReload, state: state, actions: actions, data: data, isLoading: isLoading, error: error, schema: schema_1.schema, onCsvDownload: console.log, noBorder: noBorder, onRemove: console.log, getOpenUrl: () => "https://www.uxf.cz", getEditUrl: () => "https://www.uxf.cz" }),
|
|
42
|
+
react_1.default.createElement(json_renderer_1.JsonRenderer, { value: state })));
|
|
245
43
|
}
|
|
246
44
|
exports.Default = Default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CsvDownloadHandler } from "../types/core";
|
|
3
|
+
import { Schema } from "../types/schema";
|
|
4
|
+
import { DataGridControl } from "../use-data-grid-control";
|
|
5
|
+
interface ExportButtonProps extends DataGridControl {
|
|
6
|
+
onCsvDownload: CsvDownloadHandler;
|
|
7
|
+
schema: Schema<any>;
|
|
8
|
+
}
|
|
9
|
+
export declare function ExportButton(props: ExportButtonProps): React.JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ExportButton = void 0;
|
|
7
|
+
const button_1 = require("@uxf/ui/button");
|
|
8
|
+
const icon_1 = require("@uxf/ui/icon");
|
|
9
|
+
const react_1 = __importDefault(require("react"));
|
|
10
|
+
const utils_1 = require("../utils");
|
|
11
|
+
function ExportButton(props) {
|
|
12
|
+
return (react_1.default.createElement(button_1.Button, { isIconButton: true, variant: "white", onClick: () => props.onCsvDownload((0, utils_1.createRequest)(props.state.request, props.schema.sort, props.schema.dir)), title: "St\u00E1hnout CSV", className: "uxf-data-grid__plugin-button" },
|
|
13
|
+
react_1.default.createElement(icon_1.Icon, { name: "file-arrow-down" })));
|
|
14
|
+
}
|
|
15
|
+
exports.ExportButton = ExportButton;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Default = void 0;
|
|
7
|
+
const json_renderer_1 = require("@uxf/example/src/components/json-renderer");
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
const schema_1 = require("../_story-utils/schema");
|
|
10
|
+
const use_data_grid_control_1 = require("../use-data-grid-control");
|
|
11
|
+
const export_button_1 = require("./export-button");
|
|
12
|
+
function Default() {
|
|
13
|
+
const { state, actions } = (0, use_data_grid_control_1.useDataGridControl)(schema_1.schema, null, true);
|
|
14
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
15
|
+
react_1.default.createElement(export_button_1.ExportButton, { state: state, actions: actions, schema: schema_1.schema, onCsvDownload: console.log }),
|
|
16
|
+
react_1.default.createElement(json_renderer_1.JsonRenderer, { value: state })));
|
|
17
|
+
}
|
|
18
|
+
exports.Default = Default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./export-button";
|
|
@@ -14,6 +14,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
18
|
-
__exportStar(require("./data-grid"), exports);
|
|
19
|
-
__exportStar(require("./ui"), exports);
|
|
17
|
+
__exportStar(require("./export-button"), exports);
|
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
18
|
};
|
|
@@ -9,6 +23,7 @@ const boolean_filter_1 = __importDefault(require("./boolean-filter"));
|
|
|
9
23
|
const interval_filter_1 = __importDefault(require("./interval-filter"));
|
|
10
24
|
const select_filter_1 = __importDefault(require("./select-filter"));
|
|
11
25
|
const text_filter_1 = __importDefault(require("./text-filter"));
|
|
26
|
+
__exportStar(require("./types"), exports);
|
|
12
27
|
exports.defaultFilterHandlers = {
|
|
13
28
|
text: text_filter_1.default,
|
|
14
29
|
string: text_filter_1.default,
|
|
@@ -15,7 +15,7 @@ const IntervalFilterHandler = {
|
|
|
15
15
|
: { name: props.filter.name, value: { from: null, to: null } };
|
|
16
16
|
return (react_1.default.createElement("div", { key: props.filter.name },
|
|
17
17
|
react_1.default.createElement("div", { className: "uxf-data-grid__filter uxf-data-grid__filter--interval" },
|
|
18
|
-
react_1.default.createElement(text_input_1.TextInput, { label: `${props.filter.label} od:`, value: props.value.value ? props.value.value.from :
|
|
18
|
+
react_1.default.createElement(text_input_1.TextInput, { label: `${props.filter.label} od:`, value: props.value.value ? props.value.value.from : "", onChange: (val) => {
|
|
19
19
|
return props.onFilter({
|
|
20
20
|
...initializedValue,
|
|
21
21
|
value: {
|
|
@@ -25,7 +25,7 @@ const IntervalFilterHandler = {
|
|
|
25
25
|
});
|
|
26
26
|
} }),
|
|
27
27
|
react_1.default.createElement("div", { className: "uxf-data-grid__filter-gap" }, "\u2013"),
|
|
28
|
-
react_1.default.createElement(text_input_1.TextInput, { label: `${props.filter.label} do:`, value: props.value.value ? props.value.value.to :
|
|
28
|
+
react_1.default.createElement(text_input_1.TextInput, { label: `${props.filter.label} do:`, value: props.value.value ? props.value.value.to : "", onChange: (val) => {
|
|
29
29
|
return props.onFilter({
|
|
30
30
|
...initializedValue,
|
|
31
31
|
value: {
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ComponentType } from "react";
|
|
2
|
+
import { FilterProps } from "../types/components";
|
|
3
|
+
import { BaseGridType, Filters } from "../types/schema";
|
|
4
|
+
export type FilterComponent<F extends BaseGridType["filters"], T = any> = ComponentType<FilterProps<Filters<F>, T>>;
|
|
5
|
+
export interface FilterHandler {
|
|
6
|
+
input: FilterComponent<any>;
|
|
7
|
+
listItem: FilterComponent<any>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FilterHandlers } from "../filter-handler";
|
|
3
|
+
import { Schema } from "../types";
|
|
4
|
+
import { DataGridControl } from "../use-data-grid-control";
|
|
5
|
+
export interface FilterListProps extends DataGridControl {
|
|
6
|
+
gridName?: string;
|
|
7
|
+
filterHandlers: FilterHandlers;
|
|
8
|
+
className?: string;
|
|
9
|
+
schema: Schema<any>;
|
|
10
|
+
}
|
|
11
|
+
export declare function FilterList(props: FilterListProps): React.JSX.Element | null;
|
|
@@ -4,15 +4,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.FilterList = void 0;
|
|
7
|
+
const cx_1 = require("@uxf/core/utils/cx");
|
|
7
8
|
const react_1 = __importDefault(require("react"));
|
|
8
|
-
|
|
9
|
-
const renderedFilters = props.
|
|
9
|
+
function FilterList(props) {
|
|
10
|
+
const renderedFilters = props.state.request.f
|
|
10
11
|
.map((filterRequest) => {
|
|
11
12
|
var _a;
|
|
12
13
|
if (typeof filterRequest.value !== "number" && !filterRequest.value) {
|
|
13
14
|
return null;
|
|
14
15
|
}
|
|
15
|
-
const filter = props.filters.find((f) => f.name === filterRequest.name);
|
|
16
|
+
const filter = props.schema.filters.find((f) => f.name === filterRequest.name);
|
|
16
17
|
if (!filter) {
|
|
17
18
|
return null;
|
|
18
19
|
}
|
|
@@ -22,12 +23,12 @@ const FilterList = (props) => {
|
|
|
22
23
|
if (!FilterListItem) {
|
|
23
24
|
return null;
|
|
24
25
|
}
|
|
25
|
-
return (react_1.default.createElement(FilterListItem, { key: filterRequest.name, filter: filter, onFilter: props.
|
|
26
|
+
return (react_1.default.createElement(FilterListItem, { key: filterRequest.name, filter: filter, onFilter: props.actions.filter, gridName: props.gridName, value: filterRequest, onClear: () => props.actions.filter({ name: filter.name, value: null }) }));
|
|
26
27
|
})
|
|
27
28
|
.filter((item) => !!item);
|
|
28
29
|
if (renderedFilters.length === 0) {
|
|
29
30
|
return null;
|
|
30
31
|
}
|
|
31
|
-
return react_1.default.createElement("div", { className: "uxf-data-grid__filter-list" }, renderedFilters);
|
|
32
|
-
}
|
|
32
|
+
return react_1.default.createElement("div", { className: (0, cx_1.cx)("uxf-data-grid__filter-list", props.className) }, renderedFilters);
|
|
33
|
+
}
|
|
33
34
|
exports.FilterList = FilterList;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Default = void 0;
|
|
7
|
+
const json_renderer_1 = require("@uxf/example/src/components/json-renderer");
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
const schema_1 = require("../_story-utils/schema");
|
|
10
|
+
const filter_handler_1 = require("../filter-handler");
|
|
11
|
+
const use_data_grid_control_1 = require("../use-data-grid-control");
|
|
12
|
+
const filter_list_1 = require("./filter-list");
|
|
13
|
+
function Default() {
|
|
14
|
+
const { state, actions } = (0, use_data_grid_control_1.useDataGridControl)(schema_1.schema, null, true);
|
|
15
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
16
|
+
react_1.default.createElement(filter_list_1.FilterList, { state: state, actions: actions, schema: schema_1.schema, gridName: "grid-name", filterHandlers: filter_handler_1.defaultFilterHandlers }),
|
|
17
|
+
react_1.default.createElement(json_renderer_1.JsonRenderer, { value: state })));
|
|
18
|
+
}
|
|
19
|
+
exports.Default = Default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./filter-list";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./filter-list"), exports);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FilterHandlers } from "../filter-handler";
|
|
3
|
+
import { Schema } from "../types";
|
|
4
|
+
import { DataGridControl } from "../use-data-grid-control";
|
|
5
|
+
interface FiltersProps extends DataGridControl {
|
|
6
|
+
gridName: string | undefined;
|
|
7
|
+
schema: Schema<any>;
|
|
8
|
+
filterHandlers: FilterHandlers;
|
|
9
|
+
}
|
|
10
|
+
export declare function Filters(props: FiltersProps): React.JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Filters = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
function Filters(props) {
|
|
9
|
+
return (react_1.default.createElement("div", { className: "uxf-data-grid__filters" }, props.schema.filters.map((filter) => {
|
|
10
|
+
var _a, _b;
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
12
|
+
const FilterInput = (_a = props.filterHandlers[filter.type]) === null || _a === void 0 ? void 0 : _a.input;
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
14
|
+
if (!FilterInput) {
|
|
15
|
+
// eslint-disable-next-line no-console
|
|
16
|
+
console.warn(`Unknown filter "${filter.type}".`);
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return (react_1.default.createElement(FilterInput, { key: filter.name, gridName: props.gridName, filter: filter, value: (_b = props.state.request.f.find((f) => f.name === filter.name)) !== null && _b !== void 0 ? _b : {
|
|
20
|
+
name: filter.name,
|
|
21
|
+
value: null,
|
|
22
|
+
}, onFilter: (requestFilter) => props.actions.filter(requestFilter), onClear: () => props.actions.filter({ name: filter.name, value: null }) }));
|
|
23
|
+
})));
|
|
24
|
+
}
|
|
25
|
+
exports.Filters = Filters;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Default = void 0;
|
|
7
|
+
const json_renderer_1 = require("@uxf/example/src/components/json-renderer");
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
const schema_1 = require("../_story-utils/schema");
|
|
10
|
+
const filter_handler_1 = require("../filter-handler");
|
|
11
|
+
const use_data_grid_control_1 = require("../use-data-grid-control");
|
|
12
|
+
const filters_1 = require("./filters");
|
|
13
|
+
function Default() {
|
|
14
|
+
const { state, actions } = (0, use_data_grid_control_1.useDataGridControl)(schema_1.schema, null, true);
|
|
15
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
16
|
+
react_1.default.createElement(filters_1.Filters, { state: state, actions: actions, schema: schema_1.schema, gridName: "grid-name", filterHandlers: filter_handler_1.defaultFilterHandlers }),
|
|
17
|
+
react_1.default.createElement(json_renderer_1.JsonRenderer, { value: state })));
|
|
18
|
+
}
|
|
19
|
+
exports.Default = Default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./filters";
|
package/filters/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./filters"), exports);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FilterHandlers } from "../filter-handler";
|
|
3
|
+
import { Schema } from "../types";
|
|
4
|
+
import { DataGridControl } from "../use-data-grid-control";
|
|
5
|
+
interface FiltersButtonProps extends DataGridControl {
|
|
6
|
+
gridName: string | undefined;
|
|
7
|
+
schema: Schema<any>;
|
|
8
|
+
filterHandlers: FilterHandlers;
|
|
9
|
+
}
|
|
10
|
+
export declare function FiltersButton(props: FiltersButtonProps): React.JSX.Element | null;
|
|
11
|
+
export {};
|
|
@@ -23,12 +23,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
26
|
+
exports.FiltersButton = void 0;
|
|
27
|
+
const button_1 = require("@uxf/ui/button");
|
|
28
|
+
const icon_1 = require("@uxf/ui/icon");
|
|
27
29
|
const react_1 = __importStar(require("react"));
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
+
const drawer_1 = require("../_components/drawer");
|
|
31
|
+
const filters_1 = require("../filters");
|
|
32
|
+
function FiltersButton(props) {
|
|
33
|
+
const [isOpen, setIsOpen] = (0, react_1.useState)(false);
|
|
34
|
+
if (props.schema.filters.length === 0) {
|
|
30
35
|
return null;
|
|
31
36
|
}
|
|
32
|
-
return react_1.default.createElement(react_1.Fragment, null,
|
|
33
|
-
}
|
|
34
|
-
|
|
37
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
38
|
+
react_1.default.createElement(button_1.Button, { isIconButton: true, variant: "white", size: "sm", onClick: () => setIsOpen(true), title: "Filtrovat", className: "uxf-data-grid__plugin-button" },
|
|
39
|
+
react_1.default.createElement(icon_1.Icon, { name: "filter" })),
|
|
40
|
+
react_1.default.createElement(drawer_1.Drawer, { open: isOpen, onClose: () => setIsOpen(false) },
|
|
41
|
+
react_1.default.createElement(filters_1.Filters, { state: props.state, actions: props.actions, gridName: props.gridName, schema: props.schema, filterHandlers: props.filterHandlers }))));
|
|
42
|
+
}
|
|
43
|
+
exports.FiltersButton = FiltersButton;
|