@webiny/admin-ui 6.2.0 → 6.3.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/Accordion/Accordion.d.ts +1 -1
- package/Accordion/Accordion.mdx +437 -463
- package/Accordion/components/AccordionContent.js.map +1 -1
- package/Alert/Alert.d.ts +1 -1
- package/Alert/Alert.js.map +1 -1
- package/Alert/Alert.mdx +80 -83
- package/AutoComplete/AutoComplete.mdx +63 -55
- package/Avatar/Avatar.d.ts +1 -1
- package/Avatar/Avatar.js.map +1 -1
- package/Avatar/Avatar.mdx +52 -43
- package/Button/Button.d.ts +1 -1
- package/Button/Button.js.map +1 -1
- package/Button/Button.mdx +50 -42
- package/Button/IconButton.d.ts +1 -1
- package/Button/IconButton.js.map +1 -1
- package/Card/components/CardContent.d.ts +1 -1
- package/Card/components/CardTitle.d.ts +1 -1
- package/Checkbox/Checkbox.mdx +51 -49
- package/Checkbox/primitives/CheckboxPrimitive.d.ts +1 -1
- package/CheckboxGroup/CheckboxGroup.mdx +51 -53
- package/CodeEditor/CodeEditor.mdx +44 -43
- package/ColorPicker/ColorPicker.mdx +41 -40
- package/Command/components/Item.d.ts +1 -1
- package/Command/components/Item.js.map +1 -1
- package/DataTable/DataTable.mdx +537 -542
- package/DataTable/components/ColumnSorter.d.ts +1 -1
- package/DataTable/components/ColumnSorter.js.map +1 -1
- package/Dialog/Dialog.js.map +1 -1
- package/Dialog/components/DialogContent.d.ts +1 -1
- package/Dialog/components/DialogContent.js +1 -1
- package/Dialog/components/DialogContent.js.map +1 -1
- package/Dialog/components/DialogFooter.d.ts +1 -1
- package/Dialog/components/DialogFooter.js.map +1 -1
- package/Dialog/components/DialogTitle.d.ts +1 -1
- package/Drawer/Drawer.js.map +1 -1
- package/Drawer/Drawer.mdx +73 -64
- package/Drawer/components/DrawerContent.d.ts +1 -1
- package/Drawer/components/DrawerContent.js.map +1 -1
- package/DropdownMenu/DropdownMenu.js.map +1 -1
- package/DropdownMenu/DropdownMenu.mdx +155 -256
- package/DropdownMenu/components/DropdownMenuCheckboxItem.js.map +1 -1
- package/DropdownMenu/components/DropdownMenuLabel.js.map +1 -1
- package/FilePicker/FilePicker.mdx +69 -69
- package/FilePicker/primitives/FilePickerPrimitive.d.ts +19 -19
- package/FilePicker/primitives/FilePickerPrimitive.js.map +1 -1
- package/FilePicker/primitives/components/Trigger.d.ts +1 -1
- package/FilePicker/primitives/components/previews/TextOnlyPreview/TextOnlyPreview.d.ts +1 -1
- package/FilePicker/primitives/components/previews/variants.d.ts +1 -1
- package/FilePicker/primitives/components/types.js.map +1 -1
- package/FormComponent/Description.d.ts +1 -1
- package/FormComponent/ErrorMessage.d.ts +1 -1
- package/FormComponent/Note.d.ts +1 -1
- package/Grid/Grid.d.ts +2 -2
- package/Grid/Grid.js.map +1 -1
- package/Grid/Grid.mdx +111 -121
- package/HeaderBar/HeaderBar.mdx +98 -99
- package/Heading/Heading.d.ts +1 -1
- package/Heading/Heading.js.map +1 -1
- package/Heading/Heading.mdx +63 -58
- package/Icon/Icon.d.ts +1 -1
- package/Icon/Icon.js.map +1 -1
- package/Icon/Icon.mdx +79 -147
- package/IconPicker/IconPicker.mdx +66 -64
- package/IconPicker/primitives/IconPickerPrimitive.d.ts +1 -1
- package/IconPicker/primitives/components/IconPickerTrigger.d.ts +1 -1
- package/Image/Image.js.map +1 -1
- package/Input/Input.mdx +67 -56
- package/Input/InputPrimitive.d.ts +1 -1
- package/Label/Label.d.ts +1 -1
- package/Label/Label.js.map +1 -1
- package/Label/Label.mdx +42 -42
- package/Label/components/LabelDescription.d.ts +1 -1
- package/Label/components/LabelRequired.d.ts +1 -1
- package/Label/components/LabelValue.d.ts +1 -1
- package/Link/Link.d.ts +1 -1
- package/Link/Link.mdx +129 -116
- package/List/List.d.ts +1 -1
- package/List/List.js.map +1 -1
- package/List/List.mdx +317 -329
- package/List/components/ListItem.d.ts +1 -1
- package/List/components/ListItem.js.map +1 -1
- package/Loader/Loader.d.ts +2 -2
- package/Loader/Loader.js.map +1 -1
- package/Loader/Loader.mdx +96 -91
- package/MultiAutoComplete/MultiAutoComplete.mdx +52 -51
- package/MultiAutoComplete/primitives/components/MultiAutoCompleteInput.d.ts +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteListOptionsPresenter.js.map +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteListOptionsPresenterWithUniqueValues.js.map +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteSelectedOptionsPresenter.js.map +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteTemporaryOptionPresenter.js.map +1 -1
- package/MultiFilePicker/MultiFilePicker.mdx +84 -80
- package/MultiFilePicker/primitives/MultiFilePickerPrimitive.js.map +1 -1
- package/Popover/Popover.mdx +112 -118
- package/Popover/primitives/components/PopoverArrow.d.ts +1 -1
- package/Popover/primitives/components/PopoverContent.d.ts +1 -1
- package/RadioGroup/RadioGroup.mdx +62 -59
- package/RadioGroup/primitives/RadioGroupPrimitive.js.map +1 -1
- package/RangeSlider/RangeSlider.mdx +48 -47
- package/RangeSlider/primitives/RangeSliderPrimitive.js.map +1 -1
- package/RangeSlider/primitives/components/RangeSliderValue.d.ts +1 -1
- package/RangeSlider/primitives/components/RangeSliderValue.js.map +1 -1
- package/ScrollArea/ScrollArea.js.map +1 -1
- package/SegmentedControl/SegmentedControl.mdx +59 -59
- package/SegmentedControl/primitives/SegmentedControlPrimitive.d.ts +1 -1
- package/SegmentedControl/primitives/SegmentedControlPrimitive.js.map +1 -1
- package/Select/Select.mdx +52 -43
- package/Select/primitives/components/SelectTrigger.d.ts +1 -1
- package/Select/primitives/components/SelectTrigger.js.map +1 -1
- package/Select/primitives/presenters/SelectPresenter.d.ts +1 -1
- package/Separator/Separator.d.ts +1 -1
- package/Separator/Separator.mdx +139 -150
- package/Sidebar/Sidebar.js.map +1 -1
- package/Sidebar/Sidebar.mdx +66 -88
- package/Sidebar/components/items/SidebarMenuSubItemIndentation.d.ts +1 -1
- package/Sidebar/components/items/SidebarMenuSubItemIndentation.js.map +1 -1
- package/Skeleton/Skeleton.d.ts +1 -1
- package/Skeleton/Skeleton.js.map +1 -1
- package/Skeleton/Skeleton.mdx +37 -37
- package/Slider/Slider.mdx +48 -47
- package/Slider/primitives/SliderPrimitive.js.map +1 -1
- package/Slider/primitives/components/SliderSideValue.d.ts +1 -1
- package/Slider/primitives/components/SliderSideValue.js.map +1 -1
- package/Slider/primitives/components/SliderTooltip.d.ts +1 -1
- package/SteppedProgress/components/SteppedProgressIcon.d.ts +1 -1
- package/SteppedProgress/components/SteppedProgressIcon.js.map +1 -1
- package/SteppedProgress/components/SteppedProgressIndicator.d.ts +1 -1
- package/SteppedProgress/components/SteppedProgressIndicator.js.map +1 -1
- package/Switch/Switch.mdx +44 -42
- package/Switch/primitives/SwitchPrimitive.d.ts +1 -1
- package/Table/Table.d.ts +1 -1
- package/Table/Table.js.map +1 -1
- package/Table/components/Direction.d.ts +1 -1
- package/Table/components/Direction.js.map +1 -1
- package/Table/components/Header.d.ts +1 -1
- package/Table/components/Header.js.map +1 -1
- package/Table/components/Resizer.d.ts +1 -1
- package/Table/components/Resizer.js.map +1 -1
- package/Table/components/Row.d.ts +1 -1
- package/Table/components/Row.js.map +1 -1
- package/Tabs/Tabs.mdx +297 -292
- package/Tabs/components/Content.d.ts +1 -1
- package/Tabs/components/List.d.ts +1 -1
- package/Tabs/components/Trigger.d.ts +1 -1
- package/Tag/Tag.d.ts +1 -1
- package/Tag/Tag.js.map +1 -1
- package/Tag/Tag.mdx +68 -64
- package/Tags/primitives/TagsPrimitive.js.map +1 -1
- package/Text/Text.d.ts +1 -1
- package/Text/Text.mdx +54 -48
- package/Textarea/Textarea.mdx +49 -39
- package/Textarea/TextareaPrimitive.d.ts +1 -1
- package/Textarea/TextareaPrimitive.js.map +1 -1
- package/Toast/Toast.mdx +63 -53
- package/Toast/components/ToastRoot.d.ts +1 -1
- package/Tooltip/Tooltip.mdx +197 -198
- package/Tooltip/components/TooltipArrow.d.ts +1 -1
- package/Tooltip/components/TooltipContent.d.ts +1 -1
- package/Tree/components/Item.d.ts +1 -1
- package/Tree/useTree.d.ts +1 -1
- package/Widget/components/WidgetContent.d.ts +1 -1
- package/package.json +15 -15
package/DataTable/DataTable.mdx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Canvas, Meta, Controls } from
|
|
1
|
+
import { Canvas, Meta, Controls } from "@storybook/addon-docs/blocks";
|
|
2
2
|
|
|
3
|
-
import * as DataTableStories from
|
|
3
|
+
import * as DataTableStories from "./DataTable.stories";
|
|
4
4
|
|
|
5
5
|
<Meta of={DataTableStories} />
|
|
6
6
|
|
|
@@ -16,60 +16,60 @@ import { DataTable, DataTableColumns, DataTableSorting } from "@webiny/admin-ui"
|
|
|
16
16
|
|
|
17
17
|
// Define the data structure
|
|
18
18
|
interface Entry {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
createdBy: string;
|
|
22
|
+
lastModified: string;
|
|
23
|
+
status: string;
|
|
24
|
+
$selectable?: boolean;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
// Define the columns structure
|
|
28
28
|
const columns: DataTableColumns\<Entry\> = {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
29
|
+
name: {
|
|
30
|
+
header: "Title",
|
|
31
|
+
enableSorting: true
|
|
32
|
+
},
|
|
33
|
+
createdBy: {
|
|
34
|
+
header: "Author"
|
|
35
|
+
},
|
|
36
|
+
lastModified: {
|
|
37
|
+
header: "Last Modified",
|
|
38
|
+
enableSorting: true
|
|
39
|
+
},
|
|
40
|
+
status: {
|
|
41
|
+
header: "Status"
|
|
42
|
+
}
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
// Sample data
|
|
46
46
|
const data = [
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
47
|
+
{
|
|
48
|
+
id: "entry-1",
|
|
49
|
+
name: "Getting Started Guide",
|
|
50
|
+
createdBy: "John Doe",
|
|
51
|
+
lastModified: "1 hour ago",
|
|
52
|
+
status: "Published"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: "entry-2",
|
|
56
|
+
name: "User Documentation",
|
|
57
|
+
createdBy: "Jane Smith",
|
|
58
|
+
lastModified: "3 days ago",
|
|
59
|
+
status: "Draft"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
id: "entry-3",
|
|
63
|
+
name: "API Reference",
|
|
64
|
+
createdBy: "John Doe",
|
|
65
|
+
lastModified: "1 week ago",
|
|
66
|
+
status: "Published"
|
|
67
|
+
}
|
|
68
68
|
];
|
|
69
69
|
|
|
70
70
|
const DataTableExample = () => {
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
const [selectedRows, setSelectedRows] = useState\<Entry[]\>([]);
|
|
72
|
+
const [sorting, setSorting] = useState\<DataTableSorting\>([]);
|
|
73
73
|
|
|
74
74
|
return (
|
|
75
75
|
<DataTable
|
|
@@ -83,22 +83,23 @@ const DataTableExample = () => {
|
|
|
83
83
|
onSortingChange={setSorting}
|
|
84
84
|
/>
|
|
85
85
|
);
|
|
86
|
+
|
|
86
87
|
};
|
|
87
88
|
|
|
88
89
|
export default DataTableExample;
|
|
89
90
|
|
|
90
91
|
` } }
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
92
|
+
additionalActions={[
|
|
93
|
+
{
|
|
94
|
+
title: 'Open in GitHub',
|
|
95
|
+
onClick: () => {
|
|
96
|
+
window.open(
|
|
97
|
+
'https://github.com/webiny/webiny-js/blob/feat/new-admin-ui/packages/admin-ui/src/DataTable/DataTable.tsx',
|
|
98
|
+
'_blank'
|
|
99
|
+
);
|
|
100
|
+
},
|
|
101
|
+
}
|
|
102
|
+
]}
|
|
102
103
|
/>
|
|
103
104
|
|
|
104
105
|
<Controls of={DataTableStories.Documentation} />
|
|
@@ -109,73 +110,73 @@ import { DataTable, DataTableColumns, DataTableSorting } from "@webiny/admin-ui"
|
|
|
109
110
|
|
|
110
111
|
// Define the data structure
|
|
111
112
|
interface Entry {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
113
|
+
id: string;
|
|
114
|
+
name: string;
|
|
115
|
+
createdBy: string;
|
|
116
|
+
lastModified: string;
|
|
117
|
+
status: string;
|
|
118
|
+
$selectable?: boolean;
|
|
118
119
|
}
|
|
119
120
|
|
|
120
121
|
// Define the columns structure
|
|
121
122
|
const columns: DataTableColumns<Entry> = {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
123
|
+
name: {
|
|
124
|
+
header: "Title",
|
|
125
|
+
enableSorting: true
|
|
126
|
+
},
|
|
127
|
+
createdBy: {
|
|
128
|
+
header: "Author"
|
|
129
|
+
},
|
|
130
|
+
lastModified: {
|
|
131
|
+
header: "Last Modified",
|
|
132
|
+
enableSorting: true
|
|
133
|
+
},
|
|
134
|
+
status: {
|
|
135
|
+
header: "Status"
|
|
136
|
+
}
|
|
136
137
|
};
|
|
137
138
|
|
|
138
139
|
// Sample data
|
|
139
140
|
const data = [
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
141
|
+
{
|
|
142
|
+
id: "entry-1",
|
|
143
|
+
name: "Getting Started Guide",
|
|
144
|
+
createdBy: "John Doe",
|
|
145
|
+
lastModified: "1 hour ago",
|
|
146
|
+
status: "Published"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
id: "entry-2",
|
|
150
|
+
name: "User Documentation",
|
|
151
|
+
createdBy: "Jane Smith",
|
|
152
|
+
lastModified: "3 days ago",
|
|
153
|
+
status: "Draft"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
id: "entry-3",
|
|
157
|
+
name: "API Reference",
|
|
158
|
+
createdBy: "John Doe",
|
|
159
|
+
lastModified: "1 week ago",
|
|
160
|
+
status: "Published"
|
|
161
|
+
}
|
|
161
162
|
];
|
|
162
163
|
|
|
163
164
|
const DataTableExample = () => {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
165
|
+
const [selectedRows, setSelectedRows] = useState<Entry[]>([]);
|
|
166
|
+
const [sorting, setSorting] = useState<DataTableSorting>([]);
|
|
167
|
+
|
|
168
|
+
return (
|
|
169
|
+
<DataTable
|
|
170
|
+
columns={columns}
|
|
171
|
+
data={data}
|
|
172
|
+
bordered={true}
|
|
173
|
+
stickyHeader={true}
|
|
174
|
+
selectedRows={selectedRows}
|
|
175
|
+
onSelectRow={rows => setSelectedRows(rows)}
|
|
176
|
+
sorting={sorting}
|
|
177
|
+
onSortingChange={setSorting}
|
|
178
|
+
/>
|
|
179
|
+
);
|
|
179
180
|
};
|
|
180
181
|
|
|
181
182
|
export default DataTableExample;
|
|
@@ -192,54 +193,54 @@ import { DataTable, DataTableColumns } from "@webiny/admin-ui";
|
|
|
192
193
|
|
|
193
194
|
// Define the data structure
|
|
194
195
|
interface Entry {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
196
|
+
id: string;
|
|
197
|
+
name: string;
|
|
198
|
+
createdBy: string;
|
|
199
|
+
lastModified: string;
|
|
200
|
+
status: string;
|
|
200
201
|
}
|
|
201
202
|
|
|
202
203
|
// Define the columns structure
|
|
203
204
|
const columns: DataTableColumns\<Entry\> = {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
205
|
+
name: {
|
|
206
|
+
header: "Title",
|
|
207
|
+
enableSorting: true
|
|
208
|
+
},
|
|
209
|
+
createdBy: {
|
|
210
|
+
header: "Author"
|
|
211
|
+
},
|
|
212
|
+
lastModified: {
|
|
213
|
+
header: "Last Modified",
|
|
214
|
+
enableSorting: true
|
|
215
|
+
},
|
|
216
|
+
status: {
|
|
217
|
+
header: "Status"
|
|
218
|
+
}
|
|
218
219
|
};
|
|
219
220
|
|
|
220
221
|
// Sample data
|
|
221
222
|
const data = [
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
223
|
+
{
|
|
224
|
+
id: "entry-1",
|
|
225
|
+
name: "Getting Started Guide",
|
|
226
|
+
createdBy: "John Doe",
|
|
227
|
+
lastModified: "1 hour ago",
|
|
228
|
+
status: "Published"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
id: "entry-2",
|
|
232
|
+
name: "User Documentation",
|
|
233
|
+
createdBy: "Jane Smith",
|
|
234
|
+
lastModified: "3 days ago",
|
|
235
|
+
status: "Draft"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
id: "entry-3",
|
|
239
|
+
name: "API Reference",
|
|
240
|
+
createdBy: "John Doe",
|
|
241
|
+
lastModified: "1 week ago",
|
|
242
|
+
status: "Published"
|
|
243
|
+
}
|
|
243
244
|
];
|
|
244
245
|
|
|
245
246
|
const DataTableExample = () => {
|
|
@@ -250,6 +251,7 @@ const DataTableExample = () => {
|
|
|
250
251
|
data={data}
|
|
251
252
|
/>
|
|
252
253
|
);
|
|
254
|
+
|
|
253
255
|
};
|
|
254
256
|
|
|
255
257
|
export default DataTableExample;
|
|
@@ -264,54 +266,54 @@ import { DataTable, DataTableColumns } from "@webiny/admin-ui";
|
|
|
264
266
|
|
|
265
267
|
// Define the data structure
|
|
266
268
|
interface Entry {
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
269
|
+
id: string;
|
|
270
|
+
name: string;
|
|
271
|
+
createdBy: string;
|
|
272
|
+
lastModified: string;
|
|
273
|
+
status: string;
|
|
272
274
|
}
|
|
273
275
|
|
|
274
276
|
// Define the columns structure
|
|
275
277
|
const columns: DataTableColumns\<Entry\> = {
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
278
|
+
name: {
|
|
279
|
+
header: "Title",
|
|
280
|
+
enableSorting: true
|
|
281
|
+
},
|
|
282
|
+
createdBy: {
|
|
283
|
+
header: "Author"
|
|
284
|
+
},
|
|
285
|
+
lastModified: {
|
|
286
|
+
header: "Last Modified",
|
|
287
|
+
enableSorting: true
|
|
288
|
+
},
|
|
289
|
+
status: {
|
|
290
|
+
header: "Status"
|
|
291
|
+
}
|
|
290
292
|
};
|
|
291
293
|
|
|
292
294
|
// Sample data
|
|
293
295
|
const data = [
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
296
|
+
{
|
|
297
|
+
id: "entry-1",
|
|
298
|
+
name: "Getting Started Guide",
|
|
299
|
+
createdBy: "John Doe",
|
|
300
|
+
lastModified: "1 hour ago",
|
|
301
|
+
status: "Published"
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
id: "entry-2",
|
|
305
|
+
name: "User Documentation",
|
|
306
|
+
createdBy: "Jane Smith",
|
|
307
|
+
lastModified: "3 days ago",
|
|
308
|
+
status: "Draft"
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
id: "entry-3",
|
|
312
|
+
name: "API Reference",
|
|
313
|
+
createdBy: "John Doe",
|
|
314
|
+
lastModified: "1 week ago",
|
|
315
|
+
status: "Published"
|
|
316
|
+
}
|
|
315
317
|
];
|
|
316
318
|
|
|
317
319
|
const BorderedDataTableExample = () => {
|
|
@@ -323,6 +325,7 @@ const BorderedDataTableExample = () => {
|
|
|
323
325
|
bordered={true}
|
|
324
326
|
/>
|
|
325
327
|
);
|
|
328
|
+
|
|
326
329
|
};
|
|
327
330
|
|
|
328
331
|
export default BorderedDataTableExample;
|
|
@@ -337,54 +340,54 @@ import { DataTable, DataTableColumns } from "@webiny/admin-ui";
|
|
|
337
340
|
|
|
338
341
|
// Define the data structure
|
|
339
342
|
interface Entry {
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
343
|
+
id: string;
|
|
344
|
+
name: string;
|
|
345
|
+
createdBy: string;
|
|
346
|
+
lastModified: string;
|
|
347
|
+
status: string;
|
|
345
348
|
}
|
|
346
349
|
|
|
347
350
|
// Define the columns structure
|
|
348
351
|
const columns: DataTableColumns\<Entry\> = {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
352
|
+
name: {
|
|
353
|
+
header: "Title",
|
|
354
|
+
enableSorting: true
|
|
355
|
+
},
|
|
356
|
+
createdBy: {
|
|
357
|
+
header: "Author"
|
|
358
|
+
},
|
|
359
|
+
lastModified: {
|
|
360
|
+
header: "Last Modified",
|
|
361
|
+
enableSorting: true
|
|
362
|
+
},
|
|
363
|
+
status: {
|
|
364
|
+
header: "Status"
|
|
365
|
+
}
|
|
363
366
|
};
|
|
364
367
|
|
|
365
368
|
// Sample data
|
|
366
369
|
const data = [
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
370
|
+
{
|
|
371
|
+
id: "entry-1",
|
|
372
|
+
name: "Getting Started Guide",
|
|
373
|
+
createdBy: "John Doe",
|
|
374
|
+
lastModified: "1 hour ago",
|
|
375
|
+
status: "Published"
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
id: "entry-2",
|
|
379
|
+
name: "User Documentation",
|
|
380
|
+
createdBy: "Jane Smith",
|
|
381
|
+
lastModified: "3 days ago",
|
|
382
|
+
status: "Draft"
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
id: "entry-3",
|
|
386
|
+
name: "API Reference",
|
|
387
|
+
createdBy: "John Doe",
|
|
388
|
+
lastModified: "1 week ago",
|
|
389
|
+
status: "Published"
|
|
390
|
+
}
|
|
388
391
|
];
|
|
389
392
|
|
|
390
393
|
const WithStickyHeaderDataTableExample = () => {
|
|
@@ -396,6 +399,7 @@ const WithStickyHeaderDataTableExample = () => {
|
|
|
396
399
|
stickyHeader={true}
|
|
397
400
|
/>
|
|
398
401
|
);
|
|
402
|
+
|
|
399
403
|
};
|
|
400
404
|
|
|
401
405
|
export default WithStickyHeaderDataTableExample;
|
|
@@ -410,60 +414,60 @@ import { DataTable, DataTableColumns, DataTableSorting } from "@webiny/admin-ui"
|
|
|
410
414
|
|
|
411
415
|
// Define the data structure
|
|
412
416
|
interface Entry {
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
417
|
+
id: string;
|
|
418
|
+
name: string;
|
|
419
|
+
createdBy: string;
|
|
420
|
+
lastModified: string;
|
|
421
|
+
status: string;
|
|
422
|
+
$selectable?: boolean;
|
|
419
423
|
}
|
|
420
424
|
|
|
421
425
|
// Define the columns structure
|
|
422
426
|
const columns: DataTableColumns\<Entry\> = {
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
427
|
+
name: {
|
|
428
|
+
header: "Title",
|
|
429
|
+
enableSorting: true
|
|
430
|
+
},
|
|
431
|
+
createdBy: {
|
|
432
|
+
header: "Author"
|
|
433
|
+
},
|
|
434
|
+
lastModified: {
|
|
435
|
+
header: "Last Modified",
|
|
436
|
+
enableSorting: true
|
|
437
|
+
},
|
|
438
|
+
status: {
|
|
439
|
+
header: "Status"
|
|
440
|
+
}
|
|
437
441
|
};
|
|
438
442
|
|
|
439
443
|
// Sample data
|
|
440
444
|
const data = [
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
445
|
+
{
|
|
446
|
+
id: "entry-1",
|
|
447
|
+
name: "Getting Started Guide",
|
|
448
|
+
createdBy: "John Doe",
|
|
449
|
+
lastModified: "1 hour ago",
|
|
450
|
+
status: "Published"
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
id: "entry-2",
|
|
454
|
+
name: "User Documentation",
|
|
455
|
+
createdBy: "Jane Smith",
|
|
456
|
+
lastModified: "3 days ago",
|
|
457
|
+
status: "Draft"
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
id: "entry-3",
|
|
461
|
+
name: "API Reference",
|
|
462
|
+
createdBy: "John Doe",
|
|
463
|
+
lastModified: "1 week ago",
|
|
464
|
+
status: "Published"
|
|
465
|
+
}
|
|
462
466
|
];
|
|
463
467
|
|
|
464
468
|
const WithSelectableRowsDataTableExample = () => {
|
|
465
|
-
|
|
466
|
-
|
|
469
|
+
const [selectedRows, setSelectedRows] = useState\<Entry[]\>([]);
|
|
470
|
+
const [sorting, setSorting] = useState\<DataTableSorting\>([]);
|
|
467
471
|
|
|
468
472
|
return (
|
|
469
473
|
<DataTable
|
|
@@ -473,6 +477,7 @@ const WithSelectableRowsDataTableExample = () => {
|
|
|
473
477
|
onSelectRow={rows => setSelectedRows(rows)}
|
|
474
478
|
/>
|
|
475
479
|
);
|
|
480
|
+
|
|
476
481
|
};
|
|
477
482
|
|
|
478
483
|
export default WithSelectableRowsDataTableExample;
|
|
@@ -489,59 +494,59 @@ import { DataTable, DataTableColumns } from "@webiny/admin-ui";
|
|
|
489
494
|
|
|
490
495
|
// Define the data structure
|
|
491
496
|
interface Entry {
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
+
id: string;
|
|
498
|
+
name: string;
|
|
499
|
+
createdBy: string;
|
|
500
|
+
lastModified: string;
|
|
501
|
+
status: string;
|
|
497
502
|
}
|
|
498
503
|
|
|
499
504
|
// Define the columns structure
|
|
500
505
|
const columns: DataTableColumns\<Entry\> = {
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
506
|
+
name: {
|
|
507
|
+
header: "Title",
|
|
508
|
+
enableSorting: true
|
|
509
|
+
},
|
|
510
|
+
createdBy: {
|
|
511
|
+
header: "Author"
|
|
512
|
+
},
|
|
513
|
+
lastModified: {
|
|
514
|
+
header: "Last Modified",
|
|
515
|
+
enableSorting: true
|
|
516
|
+
},
|
|
517
|
+
status: {
|
|
518
|
+
header: "Status"
|
|
519
|
+
}
|
|
515
520
|
};
|
|
516
521
|
|
|
517
522
|
// Sample data
|
|
518
523
|
const data: Entry[] = [
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
524
|
+
{
|
|
525
|
+
id: "entry-1",
|
|
526
|
+
name: "Getting Started Guide",
|
|
527
|
+
createdBy: "John Doe",
|
|
528
|
+
lastModified: "1 hour ago",
|
|
529
|
+
status: "Published"
|
|
530
|
+
},
|
|
531
|
+
{
|
|
532
|
+
id: "entry-2",
|
|
533
|
+
name: "User Documentation",
|
|
534
|
+
createdBy: "Jane Smith",
|
|
535
|
+
lastModified: "3 days ago",
|
|
536
|
+
status: "Draft"
|
|
537
|
+
},
|
|
538
|
+
{
|
|
539
|
+
id: "entry-3",
|
|
540
|
+
name: "API Reference",
|
|
541
|
+
createdBy: "John Doe",
|
|
542
|
+
lastModified: "1 week ago",
|
|
543
|
+
status: "Published"
|
|
544
|
+
}
|
|
540
545
|
];
|
|
541
546
|
|
|
542
547
|
const WithLoadingDataTableExample = () => {
|
|
543
|
-
|
|
544
|
-
|
|
548
|
+
const [data, setData] = useState\<Entry[]\>([]);
|
|
549
|
+
const [loading, setLoading] = useState(true);
|
|
545
550
|
|
|
546
551
|
useEffect(() => {
|
|
547
552
|
const timer = setTimeout(() => {
|
|
@@ -559,6 +564,7 @@ const WithLoadingDataTableExample = () => {
|
|
|
559
564
|
loading={loading}
|
|
560
565
|
/>
|
|
561
566
|
);
|
|
567
|
+
|
|
562
568
|
};
|
|
563
569
|
|
|
564
570
|
export default WithLoadingDataTableExample;
|
|
@@ -570,108 +576,95 @@ export default WithLoadingDataTableExample;
|
|
|
570
576
|
<Canvas of={DataTableStories.WithCustomCellRenderer} source={ { code: `
|
|
571
577
|
|
|
572
578
|
import React, { useEffect, useState } from "react";
|
|
573
|
-
import { DataTable, DataTableColumns,
|
|
579
|
+
import { DataTable, DataTableColumns, Avatar, Text } from "@webiny/admin-ui";
|
|
574
580
|
|
|
575
581
|
// Define the data structure
|
|
576
582
|
interface Entry {
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
583
|
+
id: string;
|
|
584
|
+
name: string;
|
|
585
|
+
createdBy: string;
|
|
586
|
+
lastModified: string;
|
|
587
|
+
status: string;
|
|
582
588
|
}
|
|
583
589
|
|
|
584
590
|
// Define the columns structure
|
|
585
591
|
const columns: DataTableColumns\<Entry\> = {
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
592
|
+
name: {
|
|
593
|
+
header: "Title",
|
|
594
|
+
enableSorting: true
|
|
595
|
+
},
|
|
596
|
+
createdBy: {
|
|
597
|
+
header: "Author"
|
|
598
|
+
},
|
|
599
|
+
lastModified: {
|
|
600
|
+
header: "Last Modified",
|
|
601
|
+
enableSorting: true
|
|
602
|
+
},
|
|
603
|
+
status: {
|
|
604
|
+
header: "Status"
|
|
605
|
+
}
|
|
600
606
|
};
|
|
601
607
|
|
|
602
608
|
// Sample data
|
|
603
609
|
const data: Entry[] = [
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
610
|
+
{
|
|
611
|
+
id: "entry-1",
|
|
612
|
+
name: "Getting Started Guide",
|
|
613
|
+
createdBy: "John Doe",
|
|
614
|
+
lastModified: "1 hour ago",
|
|
615
|
+
status: "Published"
|
|
616
|
+
},
|
|
617
|
+
{
|
|
618
|
+
id: "entry-2",
|
|
619
|
+
name: "User Documentation",
|
|
620
|
+
createdBy: "Jane Smith",
|
|
621
|
+
lastModified: "3 days ago",
|
|
622
|
+
status: "Draft"
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
id: "entry-3",
|
|
626
|
+
name: "API Reference",
|
|
627
|
+
createdBy: "John Doe",
|
|
628
|
+
lastModified: "1 week ago",
|
|
629
|
+
status: "Published"
|
|
630
|
+
}
|
|
625
631
|
];
|
|
626
632
|
|
|
627
633
|
const WithCustomCellRendererDataTableExample = () => {
|
|
628
|
-
|
|
629
|
-
<DataTable
|
|
630
|
-
columns={{
|
|
631
|
-
...columns,
|
|
632
|
-
name: {
|
|
633
|
-
...columns.name,
|
|
634
|
-
cell: (entry) => {
|
|
635
|
-
return (
|
|
636
|
-
<div className={"flex items-center gap-sm-extra"}>
|
|
637
|
-
<Avatar
|
|
638
|
-
image={
|
|
639
|
-
<Avatar.Image
|
|
640
|
-
src="https://github.com/webiny-bot.png"
|
|
641
|
-
alt="@webiny"
|
|
642
|
-
/>
|
|
643
|
-
}
|
|
644
|
-
fallback={<Avatar.Fallback>{entry.name.charAt(0)}</Avatar.Fallback>}
|
|
645
|
-
size={"xl"}
|
|
646
|
-
/>
|
|
647
|
-
<div>
|
|
648
|
-
<Text
|
|
649
|
-
className={"text-neutral-primary font-semibold"}
|
|
650
|
-
as={"div"}
|
|
651
|
-
>
|
|
652
|
-
{entry.name}
|
|
653
|
-
</Text>
|
|
654
|
-
<Text
|
|
655
|
-
size={"sm"}
|
|
656
|
-
className={"text-neutral-strong"}
|
|
657
|
-
as={"div"}
|
|
658
|
-
>Last updated: {entry.lastModified}</Text>
|
|
659
|
-
</div>
|
|
660
|
-
</div>
|
|
661
|
-
);
|
|
662
|
-
}
|
|
663
|
-
}
|
|
664
|
-
}}
|
|
665
|
-
data={data}
|
|
666
|
-
/>
|
|
667
|
-
);
|
|
668
|
-
};
|
|
634
|
+
return (
|
|
669
635
|
|
|
636
|
+
<DataTable
|
|
637
|
+
columns={{
|
|
638
|
+
...columns,
|
|
639
|
+
name: {
|
|
640
|
+
...columns.name,
|
|
641
|
+
cell: entry => {
|
|
642
|
+
return (
|
|
643
|
+
<div className={"flex items-center gap-sm-extra"}>
|
|
644
|
+
<Avatar
|
|
645
|
+
image={<Avatar.Image src="https://github.com/webiny-bot.png" alt="@webiny" />}
|
|
646
|
+
fallback={<Avatar.Fallback>{entry.name.charAt(0)}</Avatar.Fallback>}
|
|
647
|
+
size={"xl"}
|
|
648
|
+
/>
|
|
649
|
+
<div>
|
|
650
|
+
<Text className={"text-neutral-primary font-semibold"} as={"div"}>
|
|
651
|
+
{entry.name}
|
|
652
|
+
</Text>
|
|
653
|
+
<Text size={"sm"} className={"text-neutral-strong"} as={"div"}>
|
|
654
|
+
Last updated: {entry.lastModified}
|
|
655
|
+
</Text>
|
|
656
|
+
</div>
|
|
657
|
+
</div>
|
|
658
|
+
);
|
|
659
|
+
}
|
|
660
|
+
}
|
|
661
|
+
}}
|
|
662
|
+
data={data}
|
|
663
|
+
/>
|
|
664
|
+
); };
|
|
670
665
|
|
|
671
666
|
export default WithCustomCellRendererDataTableExample;
|
|
672
667
|
|
|
673
|
-
|
|
674
|
-
|
|
675
668
|
` } } />
|
|
676
669
|
|
|
677
670
|
### With Custom Column Size
|
|
@@ -682,70 +675,70 @@ import { DataTable, DataTableColumns } from "@webiny/admin-ui";
|
|
|
682
675
|
|
|
683
676
|
// Define the data structure
|
|
684
677
|
interface Entry {
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
678
|
+
id: string;
|
|
679
|
+
name: string;
|
|
680
|
+
createdBy: string;
|
|
681
|
+
lastModified: string;
|
|
682
|
+
status: string;
|
|
690
683
|
}
|
|
691
684
|
|
|
692
685
|
// Define the columns structure
|
|
693
686
|
const columns: DataTableColumns\<Entry\> = {
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
687
|
+
name: {
|
|
688
|
+
header: "Title",
|
|
689
|
+
enableSorting: true
|
|
690
|
+
},
|
|
691
|
+
createdBy: {
|
|
692
|
+
header: "Author"
|
|
693
|
+
},
|
|
694
|
+
lastModified: {
|
|
695
|
+
header: "Last Modified",
|
|
696
|
+
enableSorting: true
|
|
697
|
+
},
|
|
698
|
+
status: {
|
|
699
|
+
header: "Status"
|
|
700
|
+
}
|
|
708
701
|
};
|
|
709
702
|
|
|
710
703
|
// Sample data
|
|
711
704
|
const data = [
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
705
|
+
{
|
|
706
|
+
id: "entry-1",
|
|
707
|
+
name: "Getting Started Guide",
|
|
708
|
+
createdBy: "John Doe",
|
|
709
|
+
lastModified: "1 hour ago",
|
|
710
|
+
status: "Published"
|
|
711
|
+
},
|
|
712
|
+
{
|
|
713
|
+
id: "entry-2",
|
|
714
|
+
name: "User Documentation",
|
|
715
|
+
createdBy: "Jane Smith",
|
|
716
|
+
lastModified: "3 days ago",
|
|
717
|
+
status: "Draft"
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
id: "entry-3",
|
|
721
|
+
name: "API Reference",
|
|
722
|
+
createdBy: "John Doe",
|
|
723
|
+
lastModified: "1 week ago",
|
|
724
|
+
status: "Published"
|
|
725
|
+
}
|
|
733
726
|
];
|
|
734
727
|
|
|
735
728
|
const WithCustomColumnSizeDataTableExample = () => {
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
};
|
|
729
|
+
return (
|
|
730
|
+
|
|
731
|
+
<DataTable
|
|
732
|
+
columns={{
|
|
733
|
+
...columns,
|
|
734
|
+
name: {
|
|
735
|
+
...columns.name,
|
|
736
|
+
size: 200
|
|
737
|
+
}
|
|
738
|
+
}}
|
|
739
|
+
data={data}
|
|
740
|
+
/>
|
|
741
|
+
); };
|
|
749
742
|
|
|
750
743
|
export default WithCustomColumnSize;
|
|
751
744
|
` } } />
|
|
@@ -758,54 +751,54 @@ import { DataTable, DataTableColumns } from "@webiny/admin-ui";
|
|
|
758
751
|
|
|
759
752
|
// Define the data structure
|
|
760
753
|
interface Entry {
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
754
|
+
id: string;
|
|
755
|
+
name: string;
|
|
756
|
+
createdBy: string;
|
|
757
|
+
lastModified: string;
|
|
758
|
+
status: string;
|
|
766
759
|
}
|
|
767
760
|
|
|
768
761
|
// Define the columns structure
|
|
769
762
|
const columns: DataTableColumns\<Entry\> = {
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
763
|
+
name: {
|
|
764
|
+
header: "Title",
|
|
765
|
+
enableSorting: true
|
|
766
|
+
},
|
|
767
|
+
createdBy: {
|
|
768
|
+
header: "Author"
|
|
769
|
+
},
|
|
770
|
+
lastModified: {
|
|
771
|
+
header: "Last Modified",
|
|
772
|
+
enableSorting: true
|
|
773
|
+
},
|
|
774
|
+
status: {
|
|
775
|
+
header: "Status"
|
|
776
|
+
}
|
|
784
777
|
};
|
|
785
778
|
|
|
786
779
|
// Sample data
|
|
787
780
|
const data = [
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
781
|
+
{
|
|
782
|
+
id: "entry-1",
|
|
783
|
+
name: "Getting Started Guide",
|
|
784
|
+
createdBy: "John Doe",
|
|
785
|
+
lastModified: "1 hour ago",
|
|
786
|
+
status: "Published"
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
id: "entry-2",
|
|
790
|
+
name: "User Documentation",
|
|
791
|
+
createdBy: "Jane Smith",
|
|
792
|
+
lastModified: "3 days ago",
|
|
793
|
+
status: "Draft"
|
|
794
|
+
},
|
|
795
|
+
{
|
|
796
|
+
id: "entry-3",
|
|
797
|
+
name: "API Reference",
|
|
798
|
+
createdBy: "John Doe",
|
|
799
|
+
lastModified: "1 week ago",
|
|
800
|
+
status: "Published"
|
|
801
|
+
}
|
|
809
802
|
];
|
|
810
803
|
|
|
811
804
|
const WithCustomColumnClassNameDataTableExample = () => {
|
|
@@ -826,6 +819,7 @@ const WithCustomColumnClassNameDataTableExample = () => {
|
|
|
826
819
|
data={data}
|
|
827
820
|
/>
|
|
828
821
|
);
|
|
822
|
+
|
|
829
823
|
};
|
|
830
824
|
|
|
831
825
|
export default WithCustomColumnClassNameDataTableExample;
|
|
@@ -834,8 +828,8 @@ export default WithCustomColumnClassNameDataTableExample;
|
|
|
834
828
|
### With Sorting
|
|
835
829
|
|
|
836
830
|
> ⚠️ Webiny’s DataTable component doesn’t perform sorting for you.
|
|
837
|
-
It only provides UI state (like sort indicators, sort direction, column clicked).
|
|
838
|
-
You need to sort the data manually based on the sorting state.
|
|
831
|
+
> It only provides UI state (like sort indicators, sort direction, column clicked).
|
|
832
|
+
> You need to sort the data manually based on the sorting state.
|
|
839
833
|
|
|
840
834
|
<Canvas of={DataTableStories.WithSorting} source={ { code: `
|
|
841
835
|
|
|
@@ -844,63 +838,63 @@ import { DataTable, DataTableColumns, DataTableSorting } from "@webiny/admin-ui"
|
|
|
844
838
|
|
|
845
839
|
// Define the data structure
|
|
846
840
|
interface Entry {
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
841
|
+
id: string;
|
|
842
|
+
name: string;
|
|
843
|
+
createdBy: string;
|
|
844
|
+
lastModified: string;
|
|
845
|
+
status: string;
|
|
852
846
|
}
|
|
853
847
|
|
|
854
848
|
// Define the columns structure
|
|
855
849
|
const columns: DataTableColumns<Entry> = {
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
850
|
+
name: {
|
|
851
|
+
header: "Title",
|
|
852
|
+
enableSorting: true
|
|
853
|
+
},
|
|
854
|
+
createdBy: {
|
|
855
|
+
header: "Author"
|
|
856
|
+
},
|
|
857
|
+
lastModified: {
|
|
858
|
+
header: "Last Modified",
|
|
859
|
+
enableSorting: true
|
|
860
|
+
},
|
|
861
|
+
status: {
|
|
862
|
+
header: "Status"
|
|
863
|
+
}
|
|
870
864
|
};
|
|
871
865
|
|
|
872
866
|
// Sample data
|
|
873
867
|
const data: Entry[] = [
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
868
|
+
{
|
|
869
|
+
id: "entry-1",
|
|
870
|
+
name: "Getting Started Guide",
|
|
871
|
+
createdBy: "John Doe",
|
|
872
|
+
lastModified: "1 hour ago",
|
|
873
|
+
status: "Published"
|
|
874
|
+
},
|
|
875
|
+
{
|
|
876
|
+
id: "entry-2",
|
|
877
|
+
name: "User Documentation",
|
|
878
|
+
createdBy: "Jane Smith",
|
|
879
|
+
lastModified: "3 days ago",
|
|
880
|
+
status: "Draft"
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
id: "entry-3",
|
|
884
|
+
name: "API Reference",
|
|
885
|
+
createdBy: "John Doe",
|
|
886
|
+
lastModified: "1 week ago",
|
|
887
|
+
status: "Published"
|
|
888
|
+
}
|
|
895
889
|
];
|
|
896
890
|
|
|
897
891
|
const WithSortingDataTableExample = () => {
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
892
|
+
const [sorting, setSorting] = useState<DataTableSorting>([
|
|
893
|
+
{
|
|
894
|
+
id: "lastModified",
|
|
895
|
+
desc: true
|
|
896
|
+
}
|
|
897
|
+
]);
|
|
904
898
|
|
|
905
899
|
return (
|
|
906
900
|
<DataTable
|
|
@@ -910,6 +904,7 @@ const WithSortingDataTableExample = () => {
|
|
|
910
904
|
onSortingChange={setSorting}
|
|
911
905
|
/>
|
|
912
906
|
);
|
|
907
|
+
|
|
913
908
|
};
|
|
914
909
|
|
|
915
910
|
export default WithSortingDataTableExample;
|