flipper-ui 0.24.12 → 0.25.2
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/core/Advertise.d.ts +4 -11
- package/core/AutoComplete.d.ts +3 -3
- package/core/Avatar.d.ts +3 -3
- package/core/Badge.d.ts +4 -4
- package/core/Box.d.ts +3 -3
- package/core/Button.d.ts +3 -3
- package/core/Card.d.ts +7 -7
- package/core/Checkbox.d.ts +3 -3
- package/core/Chip.d.ts +3 -3
- package/core/ChipField.d.ts +2 -2
- package/core/Collapse.d.ts +3 -3
- package/core/Container.d.ts +2 -2
- package/core/Content.d.ts +2 -2
- package/core/DataTable/DataTable.d.ts +61 -0
- package/core/DataTable/DataTable.js +254 -0
- package/core/DataTable/DataTableAction.d.ts +8 -0
- package/core/DataTable/DataTableAction.js +28 -0
- package/core/DataTable/DataTablePaginationActions.d.ts +13 -0
- package/core/DataTable/DataTablePaginationActions.js +76 -0
- package/core/DataTable/Rows.d.ts +17 -0
- package/core/DataTable/Rows.js +198 -0
- package/core/DataTable/index.d.ts +6 -0
- package/core/DataTable/index.js +31 -0
- package/core/DataTable/types.d.ts +103 -0
- package/core/DataTable/types.js +15 -0
- package/core/DataTable/useRowsState.d.ts +8 -0
- package/core/DataTable/useRowsState.js +153 -0
- package/core/DateTime.d.ts +3 -3
- package/core/Dialog.d.ts +3 -3
- package/core/Divider.d.ts +3 -3
- package/core/Drawer.d.ts +4 -4
- package/core/EditableTable.d.ts +2 -2
- package/core/EditableTable.js +8 -10
- package/core/ExpansionPanel.d.ts +3 -3
- package/core/Fab.d.ts +3 -3
- package/core/Fade.d.ts +3 -3
- package/core/Grow.d.ts +3 -3
- package/core/Header.d.ts +3 -3
- package/core/IconButton.d.ts +3 -3
- package/core/InputAdornment.d.ts +3 -3
- package/core/InputBase.d.ts +3 -3
- package/core/Line.d.ts +3 -3
- package/core/List.d.ts +3 -3
- package/core/ListItem.d.ts +3 -3
- package/core/MaskField.d.ts +4 -4
- package/core/Menu.d.ts +4 -4
- package/core/Node.d.ts +3 -3
- package/core/Pagination.d.ts +3 -3
- package/core/Paper.d.ts +3 -3
- package/core/Progress.d.ts +3 -3
- package/core/Radio.d.ts +3 -3
- package/core/RadioGroup.d.ts +4 -4
- package/core/Select.d.ts +5 -3
- package/core/Select.js +42 -13
- package/core/Sidebar.d.ts +5 -5
- package/core/Sidebar.js +2 -1
- package/core/Slide.d.ts +3 -3
- package/core/Slider.d.ts +3 -3
- package/core/Snackbar.d.ts +3 -3
- package/core/Stepper.d.ts +3 -3
- package/core/Tab.d.ts +3 -3
- package/core/Table.d.ts +5 -5
- package/core/TableBody.d.ts +2 -2
- package/core/TableCell.d.ts +5 -5
- package/core/TableHead.d.ts +3 -3
- package/core/TableRow.d.ts +4 -4
- package/core/Tabs.d.ts +3 -3
- package/core/TextField.d.ts +8 -6
- package/core/TextField.js +62 -15
- package/core/ThemeProvider.d.ts +2 -2
- package/core/Tooltip.d.ts +3 -3
- package/core/Tree.d.ts +2 -2
- package/core/Typography.d.ts +2 -2
- package/core/Zoom.d.ts +3 -3
- package/core/types.d.ts +9 -0
- package/core/types.js +1 -0
- package/package.json +84 -79
- package/stories/Advertise.stories.js +31 -0
- package/stories/AutoComplete.stories.js +133 -0
- package/stories/AutoCompleteLab.stories.js +64 -0
- package/stories/Avatar.stories.js +44 -0
- package/stories/Badge.stories.js +63 -0
- package/stories/Box.stories.js +29 -0
- package/stories/Breadcrumb.stories.js +41 -0
- package/stories/Button.stories.js +132 -0
- package/stories/Card.stories.js +43 -0
- package/stories/Checkbox.stories.js +98 -0
- package/stories/Chip.stories.js +72 -0
- package/stories/ChipField.stories.js +60 -0
- package/stories/Collapse.stories.js +70 -0
- package/stories/Container.stories.js +24 -0
- package/stories/Content.stories.js +28 -0
- package/stories/DataTable.stories.js +737 -0
- package/stories/Dialog.stories.js +82 -0
- package/stories/Divider.stories.js +46 -0
- package/stories/Drawer.stories.js +55 -0
- package/stories/EditTable.stories.js +149 -0
- package/stories/ExpansionPanel.stories.js +54 -0
- package/stories/Fab.stories.js +28 -0
- package/stories/Fade.stories.js +54 -0
- package/stories/Grow.stories.js +63 -0
- package/stories/Header.stories.js +41 -0
- package/stories/IconButton.stories.js +48 -0
- package/stories/InputAdornment.stories.js +28 -0
- package/stories/InputBase.stories.js +54 -0
- package/stories/Line.stories.js +35 -0
- package/stories/List.stories.js +112 -0
- package/stories/MaskField.stories.js +58 -0
- package/stories/Menu.stories.js +82 -0
- package/stories/Node.stories.js +39 -0
- package/stories/Pagination.stories.js +39 -0
- package/stories/Paper.stories.js +65 -0
- package/stories/Progress.stories.js +86 -0
- package/stories/Radio.stories.js +52 -0
- package/stories/RadioGroup.stories.js +47 -0
- package/stories/Select.stories.js +100 -0
- package/stories/Sidebar.stories.js +43 -0
- package/stories/Slide.stories.js +62 -0
- package/stories/Slider.stories.js +69 -0
- package/stories/Snackbar.stories.js +102 -0
- package/stories/Stepper.stories.js +43 -0
- package/stories/Table.stories.js +32 -0
- package/stories/Tabs.stories.js +37 -0
- package/stories/TextField.stories.js +151 -0
- package/stories/Tooltip.stories.js +129 -0
- package/stories/Tree.stories.js +45 -0
- package/stories/Typography.stories.js +130 -0
- package/stories/Zooms.stories.js +54 -0
- package/docz/Wrapper.js +0 -20
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ColumnSpec, Data, Errors, PartialData, RowMode } from './types';
|
|
2
|
+
declare type StatefulRowProps<D extends Data> = {
|
|
3
|
+
data: D;
|
|
4
|
+
mode: RowMode;
|
|
5
|
+
errors?: Errors<D>;
|
|
6
|
+
columns: ColumnSpec<D>[];
|
|
7
|
+
onUpdate?(partial: Partial<Data>): void;
|
|
8
|
+
};
|
|
9
|
+
export declare const StatefulRow: <D extends Data>({ data, mode, errors, columns, onUpdate }: StatefulRowProps<D>) => JSX.Element;
|
|
10
|
+
declare type NewRowProps<D extends Data> = {
|
|
11
|
+
data: PartialData<D>;
|
|
12
|
+
errors?: Errors<D>;
|
|
13
|
+
columns: ColumnSpec<D>[];
|
|
14
|
+
onUpdate?(partial: Partial<Data>): void;
|
|
15
|
+
};
|
|
16
|
+
export declare const NewRow: <D extends Data>({ data, columns, errors, onUpdate }: NewRowProps<D>) => JSX.Element;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.NewRow = exports.StatefulRow = void 0;
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
16
|
+
var _types = require("./types");
|
|
17
|
+
|
|
18
|
+
var _TextField = _interopRequireDefault(require("../TextField"));
|
|
19
|
+
|
|
20
|
+
var _MaskField = _interopRequireDefault(require("../MaskField"));
|
|
21
|
+
|
|
22
|
+
var _DateTime = _interopRequireDefault(require("../DateTime"));
|
|
23
|
+
|
|
24
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
25
|
+
|
|
26
|
+
var _TableCell = _interopRequireDefault(require("@material-ui/core/TableCell"));
|
|
27
|
+
|
|
28
|
+
var _TableRow = _interopRequireDefault(require("@material-ui/core/TableRow"));
|
|
29
|
+
|
|
30
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
31
|
+
|
|
32
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
33
|
+
|
|
34
|
+
var isEditable = function isEditable(column) {
|
|
35
|
+
return column.type === 'actions' || column.editable;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
var renderEditMode = function renderEditMode(column, row, updateRow, errors) {
|
|
39
|
+
var _errors$row$id, _column$type;
|
|
40
|
+
|
|
41
|
+
var isNew = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
42
|
+
|
|
43
|
+
if (column.type === 'actions') {
|
|
44
|
+
return column.renderCell({
|
|
45
|
+
data: row,
|
|
46
|
+
rowMode: _types.RowMode.Edit,
|
|
47
|
+
isNew: isNew
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
var hasError = errors === null || errors === void 0 ? void 0 : (_errors$row$id = errors[row.id]) === null || _errors$row$id === void 0 ? void 0 : _errors$row$id.has(column.field);
|
|
52
|
+
|
|
53
|
+
if (column.renderCell) {
|
|
54
|
+
var _value = row[column.field];
|
|
55
|
+
return column.renderCell({
|
|
56
|
+
data: row,
|
|
57
|
+
rowMode: _types.RowMode.Edit,
|
|
58
|
+
isNew: isNew,
|
|
59
|
+
hasError: hasError,
|
|
60
|
+
value: _value
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (column.type === 'datetime') {
|
|
65
|
+
var date = row[column.field];
|
|
66
|
+
return /*#__PURE__*/_react["default"].createElement(_DateTime["default"], {
|
|
67
|
+
type: "datetime",
|
|
68
|
+
value: date,
|
|
69
|
+
fullWidth: true,
|
|
70
|
+
error: hasError,
|
|
71
|
+
onChange: function onChange(value) {
|
|
72
|
+
updateRow(column.field, value);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if ((_column$type = column.type) !== null && _column$type !== void 0 && _column$type.includes('numeric')) {
|
|
78
|
+
var decimalScale = column.type === 'numeric-int' ? 0 : 2;
|
|
79
|
+
var numeric = row[column.field];
|
|
80
|
+
return /*#__PURE__*/_react["default"].createElement(_MaskField["default"], {
|
|
81
|
+
fixedDecimalScale: true,
|
|
82
|
+
type: "text",
|
|
83
|
+
fullWidth: true,
|
|
84
|
+
error: hasError,
|
|
85
|
+
thousandSeparator: ".",
|
|
86
|
+
decimalSeparator: ",",
|
|
87
|
+
decimalScale: decimalScale,
|
|
88
|
+
value: numeric,
|
|
89
|
+
name: column.field.toString(),
|
|
90
|
+
onChange: function onChange(event) {
|
|
91
|
+
var _event$target$value;
|
|
92
|
+
|
|
93
|
+
var rawValue = (_event$target$value = event.target.value) === null || _event$target$value === void 0 ? void 0 : _event$target$value.replace('.', '').replace(',', '.');
|
|
94
|
+
var value = decimalScale === 0 ? parseInt(rawValue) : parseFloat(rawValue);
|
|
95
|
+
updateRow(column.field, value);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
var type = column.type === 'number' ? 'number' : 'text';
|
|
101
|
+
var value = row[column.field];
|
|
102
|
+
return /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
|
|
103
|
+
defaultValue: value,
|
|
104
|
+
type: type,
|
|
105
|
+
fullWidth: true,
|
|
106
|
+
error: hasError,
|
|
107
|
+
name: column.field.toString(),
|
|
108
|
+
onChange: function onChange(event) {
|
|
109
|
+
return updateRow(column.field, event.target.value);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
var renderViewMode = function renderViewMode(column, row) {
|
|
115
|
+
var _column$getValue;
|
|
116
|
+
|
|
117
|
+
if (column.type === 'actions') {
|
|
118
|
+
return column.renderCell({
|
|
119
|
+
data: row,
|
|
120
|
+
rowMode: _types.RowMode.View
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
var rawValue = row[column.field];
|
|
125
|
+
|
|
126
|
+
if (column.renderCell) {
|
|
127
|
+
return column.renderCell({
|
|
128
|
+
data: row,
|
|
129
|
+
rowMode: _types.RowMode.View,
|
|
130
|
+
value: rawValue
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return ((_column$getValue = column.getValue) === null || _column$getValue === void 0 ? void 0 : _column$getValue.call(column, rawValue)) || rawValue;
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
var StatefulRow = function StatefulRow(_ref) {
|
|
138
|
+
var data = _ref.data,
|
|
139
|
+
mode = _ref.mode,
|
|
140
|
+
errors = _ref.errors,
|
|
141
|
+
columns = _ref.columns,
|
|
142
|
+
onUpdate = _ref.onUpdate;
|
|
143
|
+
|
|
144
|
+
var _useState = (0, _react.useState)(function () {
|
|
145
|
+
return data;
|
|
146
|
+
}),
|
|
147
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
148
|
+
editableState = _useState2[0],
|
|
149
|
+
setEditableState = _useState2[1];
|
|
150
|
+
|
|
151
|
+
var partialUpdate = (0, _react.useCallback)(function (field, value) {
|
|
152
|
+
setEditableState(function (values) {
|
|
153
|
+
return _objectSpread(_objectSpread({}, values), {}, (0, _defineProperty2["default"])({}, "".concat(field), value));
|
|
154
|
+
});
|
|
155
|
+
var patch = {};
|
|
156
|
+
patch[field] = value;
|
|
157
|
+
onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(patch);
|
|
158
|
+
}, []);
|
|
159
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, columns.map(function (column) {
|
|
160
|
+
return /*#__PURE__*/_react["default"].createElement(_TableCell["default"], {
|
|
161
|
+
align: column.align,
|
|
162
|
+
key: column.title,
|
|
163
|
+
style: column.cellStyle
|
|
164
|
+
}, mode === _types.RowMode.Edit && isEditable(column) ? renderEditMode(column, editableState, partialUpdate, errors) : renderViewMode(column, data));
|
|
165
|
+
}));
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
exports.StatefulRow = StatefulRow;
|
|
169
|
+
|
|
170
|
+
var NewRow = function NewRow(_ref2) {
|
|
171
|
+
var data = _ref2.data,
|
|
172
|
+
columns = _ref2.columns,
|
|
173
|
+
errors = _ref2.errors,
|
|
174
|
+
onUpdate = _ref2.onUpdate;
|
|
175
|
+
|
|
176
|
+
var _useState3 = (0, _react.useState)(function () {
|
|
177
|
+
return data;
|
|
178
|
+
}),
|
|
179
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
180
|
+
editableState = _useState4[0],
|
|
181
|
+
setEditableState = _useState4[1];
|
|
182
|
+
|
|
183
|
+
var partialUpdate = (0, _react.useCallback)(function (field, value) {
|
|
184
|
+
setEditableState(function (values) {
|
|
185
|
+
return _objectSpread(_objectSpread({}, values), {}, (0, _defineProperty2["default"])({}, field, value));
|
|
186
|
+
});
|
|
187
|
+
onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate((0, _defineProperty2["default"])({}, field, value));
|
|
188
|
+
}, []);
|
|
189
|
+
return /*#__PURE__*/_react["default"].createElement(_TableRow["default"], null, columns.map(function (column) {
|
|
190
|
+
return /*#__PURE__*/_react["default"].createElement(_TableCell["default"], {
|
|
191
|
+
style: column.cellStyle,
|
|
192
|
+
align: column.align,
|
|
193
|
+
key: column.title
|
|
194
|
+
}, isEditable(column) ? renderEditMode(column, editableState, partialUpdate, errors, true) : renderViewMode(column, editableState));
|
|
195
|
+
}));
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
exports.NewRow = NewRow;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { default } from './DataTable';
|
|
2
|
+
export type { DataTableProps } from './DataTable';
|
|
3
|
+
export { RowMode } from './types';
|
|
4
|
+
export { DataTableAction } from './DataTableAction';
|
|
5
|
+
export type { DataTableActionProps } from './DataTableAction';
|
|
6
|
+
export type { ActionsCellProps, Align, DataTableController, PaginationOptions, ColumnType, Errors, RenderCellProps, RowAction } from './types';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "default", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _DataTable["default"];
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "RowMode", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _types.RowMode;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports, "DataTableAction", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function get() {
|
|
23
|
+
return _DataTableAction.DataTableAction;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
var _DataTable = _interopRequireDefault(require("./DataTable"));
|
|
28
|
+
|
|
29
|
+
var _types = require("./types");
|
|
30
|
+
|
|
31
|
+
var _DataTableAction = require("./DataTableAction");
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type { CSSProperties, FunctionComponent } from 'react';
|
|
2
|
+
declare type RecordUnknown = Record<string, unknown>;
|
|
3
|
+
export declare type StackView = RecordUnknown;
|
|
4
|
+
export declare type Identifier = string | number;
|
|
5
|
+
export interface Data extends RecordUnknown {
|
|
6
|
+
id: Identifier;
|
|
7
|
+
}
|
|
8
|
+
export declare type PartialData<D extends RecordUnknown> = Partial<D> & {
|
|
9
|
+
id: Identifier;
|
|
10
|
+
};
|
|
11
|
+
export declare type ColumnType = 'datetime' | 'text' | 'number' | 'numeric-float' | 'numeric-int';
|
|
12
|
+
export declare type Align = 'right' | 'left' | 'center' | 'justify' | 'inherit';
|
|
13
|
+
declare type ColumnSpecBase<F = {}> = {
|
|
14
|
+
title: string;
|
|
15
|
+
type: string;
|
|
16
|
+
cellStyle?: CSSProperties;
|
|
17
|
+
headerStyle?: CSSProperties;
|
|
18
|
+
align?: Align;
|
|
19
|
+
renderCell?: FunctionComponent<F>;
|
|
20
|
+
};
|
|
21
|
+
export declare type RenderCellProps<D extends Data> = {
|
|
22
|
+
data: D;
|
|
23
|
+
rowMode: RowMode;
|
|
24
|
+
value: unknown;
|
|
25
|
+
hasError?: boolean;
|
|
26
|
+
isNew?: boolean;
|
|
27
|
+
};
|
|
28
|
+
interface ColumnSpecDefault<D extends Data> extends ColumnSpecBase<RenderCellProps<PartialData<D>>> {
|
|
29
|
+
type: ColumnType;
|
|
30
|
+
field: keyof D;
|
|
31
|
+
editable?: boolean;
|
|
32
|
+
getValue?(value: unknown): string;
|
|
33
|
+
}
|
|
34
|
+
export declare type ActionsCellProps<D extends Data> = {
|
|
35
|
+
data: PartialData<D>;
|
|
36
|
+
rowMode: RowMode;
|
|
37
|
+
isNew?: boolean;
|
|
38
|
+
};
|
|
39
|
+
interface ColumnSpecActions<D extends Data> extends ColumnSpecBase<ActionsCellProps<D>> {
|
|
40
|
+
type: 'actions';
|
|
41
|
+
renderCell: FunctionComponent<ActionsCellProps<D>>;
|
|
42
|
+
}
|
|
43
|
+
export declare type ColumnSpec<D extends Data> = ColumnSpecDefault<D> | ColumnSpecActions<D>;
|
|
44
|
+
export declare type PaginationOptions = {
|
|
45
|
+
rowsPerPage: number;
|
|
46
|
+
labelRowsPerPage: string;
|
|
47
|
+
labelDisplayedRows: (param: {
|
|
48
|
+
from: number;
|
|
49
|
+
to: number;
|
|
50
|
+
count: number;
|
|
51
|
+
}) => string;
|
|
52
|
+
rowsPerPageOptions: number[];
|
|
53
|
+
showFirstButton?: boolean;
|
|
54
|
+
showLastButton?: boolean;
|
|
55
|
+
disabled: boolean;
|
|
56
|
+
};
|
|
57
|
+
export declare type RowAction<D> = {
|
|
58
|
+
type: 'add' | 'delete' | 'update';
|
|
59
|
+
data: D;
|
|
60
|
+
};
|
|
61
|
+
export declare enum RowMode {
|
|
62
|
+
View = 0,
|
|
63
|
+
Edit = 1
|
|
64
|
+
}
|
|
65
|
+
export declare type RowState<D extends Data, S extends StackView> = {
|
|
66
|
+
mode: RowMode;
|
|
67
|
+
stackView: (keyof S)[];
|
|
68
|
+
currentState?: D;
|
|
69
|
+
editableState: Partial<D>;
|
|
70
|
+
};
|
|
71
|
+
export declare type RowViewComponent<D> = FunctionComponent<{
|
|
72
|
+
popRowView?: () => void;
|
|
73
|
+
data: D;
|
|
74
|
+
}>;
|
|
75
|
+
export declare type DataTableController<D extends Data, V extends StackView> = {
|
|
76
|
+
/**
|
|
77
|
+
* Actives the edit mode for a row
|
|
78
|
+
*/
|
|
79
|
+
editRow(id: Identifier): void;
|
|
80
|
+
/**
|
|
81
|
+
* Actives the view mode for a row
|
|
82
|
+
*/
|
|
83
|
+
viewRow(id: Identifier): void;
|
|
84
|
+
/**
|
|
85
|
+
* Adds a new row on the DataTable
|
|
86
|
+
*/
|
|
87
|
+
addRow(data: PartialData<D>): void;
|
|
88
|
+
/**
|
|
89
|
+
* Returns only the edited properties of a row in edit mode
|
|
90
|
+
*/
|
|
91
|
+
getEditedRowData(id: Identifier): PartialData<D>;
|
|
92
|
+
/**
|
|
93
|
+
* Returns the edited properties and the old data of a row in edit mode
|
|
94
|
+
*/
|
|
95
|
+
getRowData(id: Identifier): {
|
|
96
|
+
edited: PartialData<D>;
|
|
97
|
+
current?: D;
|
|
98
|
+
};
|
|
99
|
+
pushRowView(id: Identifier, view: keyof V): void;
|
|
100
|
+
popRowView(id: Identifier): void;
|
|
101
|
+
};
|
|
102
|
+
export declare type Errors<D> = Partial<Record<Identifier, Set<keyof D>>>;
|
|
103
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RowMode = void 0;
|
|
7
|
+
|
|
8
|
+
/* eslint-disable @typescript-eslint/interface-name-prefix */
|
|
9
|
+
var RowMode;
|
|
10
|
+
exports.RowMode = RowMode;
|
|
11
|
+
|
|
12
|
+
(function (RowMode) {
|
|
13
|
+
RowMode[RowMode["View"] = 0] = "View";
|
|
14
|
+
RowMode[RowMode["Edit"] = 1] = "Edit";
|
|
15
|
+
})(RowMode || (exports.RowMode = RowMode = {}));
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Data, Identifier, RowState } from './types';
|
|
2
|
+
export declare const useRowsState: <D extends Data, V extends Record<string, unknown>>(rows: D[], newRow?: Partial<D> | undefined) => {
|
|
3
|
+
getRowState: (id: Identifier) => RowState<D, V> | undefined;
|
|
4
|
+
setEditableRowState: (id: Identifier) => (patch: Partial<D>) => void;
|
|
5
|
+
setRowState: (id: Identifier, partial: Partial<RowState<D, V>>) => void;
|
|
6
|
+
pushRowView: (id: Identifier, view: keyof V) => void;
|
|
7
|
+
popRowView: (id: Identifier) => void;
|
|
8
|
+
};
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.useRowsState = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _react = require("react");
|
|
15
|
+
|
|
16
|
+
var _types = require("./types");
|
|
17
|
+
|
|
18
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
+
|
|
20
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
21
|
+
|
|
22
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
23
|
+
|
|
24
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
25
|
+
|
|
26
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
27
|
+
|
|
28
|
+
var useRowsState = function useRowsState(rows, newRow) {
|
|
29
|
+
var _useState = (0, _react.useState)(function () {
|
|
30
|
+
return {
|
|
31
|
+
internal: new Map()
|
|
32
|
+
};
|
|
33
|
+
}),
|
|
34
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
35
|
+
state = _useState2[0],
|
|
36
|
+
setState = _useState2[1]; // TODO: lazy inicialization
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
(0, _react.useEffect)(function () {
|
|
40
|
+
var nextState = new Map();
|
|
41
|
+
|
|
42
|
+
var _iterator = _createForOfIteratorHelper(rows),
|
|
43
|
+
_step;
|
|
44
|
+
|
|
45
|
+
try {
|
|
46
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
47
|
+
var row = _step.value;
|
|
48
|
+
var elem = state.internal.get(row.id);
|
|
49
|
+
|
|
50
|
+
if (elem) {
|
|
51
|
+
nextState.set(row.id, elem);
|
|
52
|
+
} else {
|
|
53
|
+
nextState.set(row.id, {
|
|
54
|
+
editableState: {},
|
|
55
|
+
mode: _types.RowMode.View,
|
|
56
|
+
stackView: [],
|
|
57
|
+
currentState: row
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
} catch (err) {
|
|
62
|
+
_iterator.e(err);
|
|
63
|
+
} finally {
|
|
64
|
+
_iterator.f();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (newRow !== null && newRow !== void 0 && newRow.id) {
|
|
68
|
+
nextState.set(newRow.id, {
|
|
69
|
+
editableState: _objectSpread({}, newRow),
|
|
70
|
+
mode: _types.RowMode.View,
|
|
71
|
+
stackView: []
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
setState({
|
|
76
|
+
internal: nextState
|
|
77
|
+
});
|
|
78
|
+
}, [rows, !!newRow]);
|
|
79
|
+
var setRowState = (0, _react.useCallback)(function (id, partial) {
|
|
80
|
+
setState(function (state) {
|
|
81
|
+
var elem = state.internal.get(id);
|
|
82
|
+
|
|
83
|
+
if (elem) {
|
|
84
|
+
state.internal.set(id, _objectSpread(_objectSpread({}, elem), partial));
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return {
|
|
88
|
+
internal: state.internal
|
|
89
|
+
};
|
|
90
|
+
});
|
|
91
|
+
}, []);
|
|
92
|
+
var pushRowView = (0, _react.useCallback)(function (id, view) {
|
|
93
|
+
setState(function (state) {
|
|
94
|
+
var elem = state.internal.get(id);
|
|
95
|
+
|
|
96
|
+
if (elem) {
|
|
97
|
+
elem.stackView.push(view);
|
|
98
|
+
state.internal.set(id, elem);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return {
|
|
102
|
+
internal: state.internal
|
|
103
|
+
};
|
|
104
|
+
});
|
|
105
|
+
}, []);
|
|
106
|
+
var popRowView = (0, _react.useCallback)(function (id) {
|
|
107
|
+
setState(function (state) {
|
|
108
|
+
var elem = state.internal.get(id);
|
|
109
|
+
|
|
110
|
+
if (elem) {
|
|
111
|
+
elem === null || elem === void 0 ? void 0 : elem.stackView.pop();
|
|
112
|
+
state.internal.set(id, elem);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return {
|
|
116
|
+
internal: state.internal
|
|
117
|
+
};
|
|
118
|
+
});
|
|
119
|
+
}, []);
|
|
120
|
+
var getRowState = (0, _react.useCallback)(function (id) {
|
|
121
|
+
return state.internal.get(id);
|
|
122
|
+
}, [state]);
|
|
123
|
+
var setEditableRowState = (0, _react.useCallback)(function (id) {
|
|
124
|
+
return function (patch) {
|
|
125
|
+
setState(function (state) {
|
|
126
|
+
var elem = state.internal.get(id);
|
|
127
|
+
|
|
128
|
+
if (elem) {
|
|
129
|
+
elem.editableState = _objectSpread(_objectSpread({}, elem.editableState), patch);
|
|
130
|
+
} else {
|
|
131
|
+
state.internal.set(id, {
|
|
132
|
+
editableState: patch,
|
|
133
|
+
mode: _types.RowMode.View,
|
|
134
|
+
stackView: []
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
return {
|
|
139
|
+
internal: state.internal
|
|
140
|
+
};
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
}, []);
|
|
144
|
+
return {
|
|
145
|
+
getRowState: getRowState,
|
|
146
|
+
setEditableRowState: setEditableRowState,
|
|
147
|
+
setRowState: setRowState,
|
|
148
|
+
pushRowView: pushRowView,
|
|
149
|
+
popRowView: popRowView
|
|
150
|
+
};
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
exports.useRowsState = useRowsState;
|
package/core/DateTime.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { FC } from 'react';
|
|
2
2
|
import DateFnsUtils from '@date-io/date-fns';
|
|
3
|
-
import {
|
|
3
|
+
import { DefaultProps } from './types';
|
|
4
4
|
import { KeyboardDatePickerProps } from '@material-ui/pickers/DatePicker';
|
|
5
5
|
import { KeyboardDateTimePickerProps } from '@material-ui/pickers/DateTimePicker';
|
|
6
6
|
import { KeyboardTimePickerProps } from '@material-ui/pickers/TimePicker';
|
|
@@ -14,6 +14,6 @@ interface IProps {
|
|
|
14
14
|
onAuxClickCapture?(event: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
|
|
15
15
|
onChange(date: MaterialUiPickersDate | null, value?: string): void;
|
|
16
16
|
}
|
|
17
|
-
declare type
|
|
18
|
-
declare const DateTime: FC<
|
|
17
|
+
declare type DateTimeProps = Omit<KeyboardDatePickerProps, 'margin' | 'onChange'> & Omit<KeyboardDateTimePickerProps, 'margin' | 'onChange'> & Omit<KeyboardTimePickerProps, 'margin' | 'onChange'> & IProps & DefaultProps;
|
|
18
|
+
declare const DateTime: FC<DateTimeProps>;
|
|
19
19
|
export default DateTime;
|
package/core/Dialog.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CSSProperties, ReactNode, FC } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
interface
|
|
2
|
+
import { DefaultProps } from './types';
|
|
3
|
+
interface DialogProps extends DefaultProps {
|
|
4
4
|
open: boolean;
|
|
5
5
|
fullScreen?: boolean;
|
|
6
6
|
fullWidth?: boolean;
|
|
@@ -23,5 +23,5 @@ interface IProps extends IDefault {
|
|
|
23
23
|
scroll?: 'body' | 'paper' | 'unset-paper' | 'unset-body';
|
|
24
24
|
onClose?: () => void;
|
|
25
25
|
}
|
|
26
|
-
declare const Dialog: FC<
|
|
26
|
+
declare const Dialog: FC<DialogProps>;
|
|
27
27
|
export default Dialog;
|
package/core/Divider.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
interface
|
|
2
|
+
import { DefaultProps } from './types';
|
|
3
|
+
interface DividerProps extends DefaultProps {
|
|
4
4
|
inset?: boolean;
|
|
5
5
|
light?: boolean;
|
|
6
6
|
}
|
|
7
|
-
declare const Divider: FC<
|
|
7
|
+
declare const Divider: FC<DividerProps>;
|
|
8
8
|
export default Divider;
|
package/core/Drawer.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { DrawerProps } from '@material-ui/core/Drawer';
|
|
1
|
+
import { DrawerProps as MuiDrawerProps } from '@material-ui/core/Drawer';
|
|
2
2
|
import { FC } from 'react';
|
|
3
|
-
import {
|
|
4
|
-
interface
|
|
3
|
+
import { DefaultProps } from './types';
|
|
4
|
+
interface DrawerProps extends MuiDrawerProps, DefaultProps {
|
|
5
5
|
top?: number;
|
|
6
6
|
width?: number;
|
|
7
7
|
}
|
|
8
|
-
declare const Drawer: FC<
|
|
8
|
+
declare const Drawer: FC<DrawerProps>;
|
|
9
9
|
export default Drawer;
|
package/core/EditableTable.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Column, Options } from 'material-table';
|
|
3
|
-
interface
|
|
3
|
+
interface EditableTableProps<T extends object> {
|
|
4
4
|
title?: string;
|
|
5
5
|
color?: 'primary' | 'inherit' | 'secondary' | 'disabled';
|
|
6
6
|
columns?: Column<object>[];
|
|
@@ -26,5 +26,5 @@ export declare type TSuggestion = {
|
|
|
26
26
|
label: string;
|
|
27
27
|
value: string;
|
|
28
28
|
};
|
|
29
|
-
declare const EditableTable: <T extends object>(props:
|
|
29
|
+
declare const EditableTable: <T extends object>(props: EditableTableProps<T>) => JSX.Element;
|
|
30
30
|
export default EditableTable;
|
package/core/EditableTable.js
CHANGED
|
@@ -159,9 +159,9 @@ var EditableTable = function EditableTable(props) {
|
|
|
159
159
|
var renderMaskField = function renderMaskField(item, error) {
|
|
160
160
|
var _item$value;
|
|
161
161
|
|
|
162
|
-
return /*#__PURE__*/_react["default"].createElement(Wrapper, null, /*#__PURE__*/_react["default"].createElement(_MaskField["default"], {
|
|
162
|
+
return /*#__PURE__*/_react["default"].createElement(Wrapper, null, /*#__PURE__*/_react["default"].createElement(_MaskField["default"], (0, _extends2["default"])({}, item, {
|
|
163
163
|
fixedDecimalScale: true,
|
|
164
|
-
error: error,
|
|
164
|
+
error: props.errors ? error : item.error,
|
|
165
165
|
type: "text",
|
|
166
166
|
thousandSeparator: ".",
|
|
167
167
|
decimalSeparator: ",",
|
|
@@ -174,14 +174,12 @@ var EditableTable = function EditableTable(props) {
|
|
|
174
174
|
item.onChange(event.target.value);
|
|
175
175
|
valueRef.current = event.target.value;
|
|
176
176
|
}
|
|
177
|
-
}));
|
|
177
|
+
})));
|
|
178
178
|
};
|
|
179
179
|
|
|
180
|
-
var renderAddComponent =
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
}, /*#__PURE__*/_react["default"].createElement(_NoteAdd["default"], null), /*#__PURE__*/_react["default"].createElement(AddRowText, null, " Adicionar ", props.title, " "));
|
|
184
|
-
};
|
|
180
|
+
var renderAddComponent = /*#__PURE__*/_react["default"].createElement(AddRowButton, {
|
|
181
|
+
"data-id": "add-row"
|
|
182
|
+
}, /*#__PURE__*/_react["default"].createElement(_NoteAdd["default"], null), /*#__PURE__*/_react["default"].createElement(AddRowText, null, " Adicionar ", props.title, " "));
|
|
185
183
|
|
|
186
184
|
var pagination = !props.paginationInfo ? {
|
|
187
185
|
Pagination: function Pagination() {
|
|
@@ -273,7 +271,7 @@ var EditableTable = function EditableTable(props) {
|
|
|
273
271
|
EditField: function EditField(localProps) {
|
|
274
272
|
if (localProps.columnDef.type === 'datetime') {
|
|
275
273
|
return /*#__PURE__*/_react["default"].createElement(_DateTime["default"], {
|
|
276
|
-
error: getErrors(localProps.columnDef.field),
|
|
274
|
+
error: props.errors ? getErrors(localProps.columnDef.field) : localProps.error,
|
|
277
275
|
name: localProps.columnDef.field + '-input',
|
|
278
276
|
type: localProps.columnDef.type,
|
|
279
277
|
value: localProps.value,
|
|
@@ -299,7 +297,7 @@ var EditableTable = function EditableTable(props) {
|
|
|
299
297
|
localization: (0, _localization.getLocalization)(props.title),
|
|
300
298
|
icons: {
|
|
301
299
|
Add: (0, _react.forwardRef)(function () {
|
|
302
|
-
return renderAddComponent
|
|
300
|
+
return renderAddComponent;
|
|
303
301
|
}),
|
|
304
302
|
Delete: (0, _react.forwardRef)(function () {
|
|
305
303
|
return /*#__PURE__*/_react["default"].createElement(_Delete["default"], {
|