@bigbinary/neeto-molecules 4.0.86 → 4.0.87
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/DndTable.js +176 -0
- package/dist/DndTable.js.map +1 -0
- package/dist/cjs/DndTable.js +181 -0
- package/dist/cjs/DndTable.js.map +1 -0
- package/package.json +3 -1
- package/types/DndTable.d.ts +168 -0
package/README.md
CHANGED
|
@@ -28,6 +28,7 @@ https://neeto-molecules.neeto.com/
|
|
|
28
28
|
- [DateFormat/TimeFormat](./docs/components/DateFormatTimeFormat.md)
|
|
29
29
|
- [DateRangeFilter](./docs/components/DateRangeFilter.md)
|
|
30
30
|
- [DeleteArchiveModal](./docs/components/DeleteArchiveModal.md)
|
|
31
|
+
- [DndTable](./docs/components/DndTable.md)
|
|
31
32
|
- [DocumentEditor](./docs/components/DocumentEditor.md)
|
|
32
33
|
- [DownloadMobileAppCallout](./docs/components/DownloadMobileAppCallout.md)
|
|
33
34
|
- [DynamicVariables](./docs/components/DynamicVariables.md)
|
package/dist/DndTable.js
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import { useDraggable, useDroppable, useSensors, useSensor, PointerSensor, DndContext, DragOverlay } from '@dnd-kit/core';
|
|
6
|
+
import { restrictToVerticalAxis } from '@dnd-kit/modifiers';
|
|
7
|
+
import { noop } from '@bigbinary/neeto-cist';
|
|
8
|
+
import Table from '@bigbinary/neetoui/Table';
|
|
9
|
+
import { T, path, remove } from 'ramda';
|
|
10
|
+
import { createPortal } from 'react-dom';
|
|
11
|
+
import classnames from 'classnames';
|
|
12
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
13
|
+
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
14
|
+
import { useStateWithDependency } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
15
|
+
import Toastr from '@bigbinary/neetoui/Toastr';
|
|
16
|
+
|
|
17
|
+
var _excluded$1 = ["children", "data", "index", "className", "isDroppable"];
|
|
18
|
+
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
19
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
20
|
+
var Row = function Row(_ref) {
|
|
21
|
+
var children = _ref.children,
|
|
22
|
+
data = _ref.data,
|
|
23
|
+
index = _ref.index,
|
|
24
|
+
className = _ref.className,
|
|
25
|
+
isDroppable = _ref.isDroppable,
|
|
26
|
+
rest = _objectWithoutProperties(_ref, _excluded$1);
|
|
27
|
+
var _useDraggable = useDraggable({
|
|
28
|
+
data: _objectSpread$1(_objectSpread$1({}, data), {}, {
|
|
29
|
+
index: index
|
|
30
|
+
}),
|
|
31
|
+
id: "draggable-".concat(rest["data-row-key"])
|
|
32
|
+
}),
|
|
33
|
+
isDragging = _useDraggable.isDragging,
|
|
34
|
+
attributes = _useDraggable.attributes,
|
|
35
|
+
listeners = _useDraggable.listeners,
|
|
36
|
+
setDraggableNodeRef = _useDraggable.setNodeRef;
|
|
37
|
+
var _useDroppable = useDroppable({
|
|
38
|
+
data: _objectSpread$1(_objectSpread$1({}, data), {}, {
|
|
39
|
+
index: index + 1
|
|
40
|
+
}),
|
|
41
|
+
id: "droppable-".concat(rest["data-row-key"]),
|
|
42
|
+
disabled: !isDroppable || isDragging
|
|
43
|
+
}),
|
|
44
|
+
isOver = _useDroppable.isOver,
|
|
45
|
+
setDroppableNodeRef = _useDroppable.setNodeRef;
|
|
46
|
+
var isIndicatorVisible = !isDragging && isOver;
|
|
47
|
+
return /*#__PURE__*/jsx("tr", _objectSpread$1(_objectSpread$1(_objectSpread$1(_objectSpread$1({}, rest), attributes), listeners), {}, {
|
|
48
|
+
className: classnames(className, {
|
|
49
|
+
"neeto-ui-rounded-lg hover:neeto-ui-bg-gray-100 w-full min-w-0 cursor-move transition-colors": true,
|
|
50
|
+
"neeto-ui-bg-gray-100 opacity-50": isDragging,
|
|
51
|
+
"neeto-ui-bg-primary-100 neeto-ui-shadow-2xs": isIndicatorVisible
|
|
52
|
+
}),
|
|
53
|
+
ref: function ref(node) {
|
|
54
|
+
setDraggableNodeRef(node);
|
|
55
|
+
setDroppableNodeRef(node);
|
|
56
|
+
},
|
|
57
|
+
children: children
|
|
58
|
+
}));
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
var _excluded = ["rowData", "columnData", "overlayColumnIndex", "isRowDroppable", "onDrop"];
|
|
62
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
63
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
64
|
+
var sensorConfig = {
|
|
65
|
+
activationConstraint: {
|
|
66
|
+
distance: 8
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
var DndTable = function DndTable(_ref) {
|
|
70
|
+
var _dragState$active$dat;
|
|
71
|
+
var rowData = _ref.rowData,
|
|
72
|
+
columnData = _ref.columnData,
|
|
73
|
+
_ref$overlayColumnInd = _ref.overlayColumnIndex,
|
|
74
|
+
overlayColumnIndex = _ref$overlayColumnInd === void 0 ? 0 : _ref$overlayColumnInd,
|
|
75
|
+
_ref$isRowDroppable = _ref.isRowDroppable,
|
|
76
|
+
isRowDroppable = _ref$isRowDroppable === void 0 ? T : _ref$isRowDroppable,
|
|
77
|
+
_ref$onDrop = _ref.onDrop,
|
|
78
|
+
onDrop = _ref$onDrop === void 0 ? noop : _ref$onDrop,
|
|
79
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
80
|
+
var _useState = useState(null),
|
|
81
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
82
|
+
dragState = _useState2[0],
|
|
83
|
+
setDragState = _useState2[1];
|
|
84
|
+
var sensors = useSensors(useSensor(PointerSensor, sensorConfig));
|
|
85
|
+
var onDragEnd = function onDragEnd(_ref2) {
|
|
86
|
+
var active = _ref2.active,
|
|
87
|
+
over = _ref2.over;
|
|
88
|
+
setDragState(null);
|
|
89
|
+
if (!active || !over) return;
|
|
90
|
+
onDrop(active.data.current, over.data.current);
|
|
91
|
+
};
|
|
92
|
+
var renderOverlay = function renderOverlay(data) {
|
|
93
|
+
var colData = columnData[overlayColumnIndex];
|
|
94
|
+
var rowData = data[colData.dataIndex];
|
|
95
|
+
return /*#__PURE__*/jsx("div", {
|
|
96
|
+
className: "flex px-20",
|
|
97
|
+
children: /*#__PURE__*/jsx("div", {
|
|
98
|
+
className: "neeto-ui-rounded-lg neeto-ui-bg-white px-4",
|
|
99
|
+
children: colData.render ? colData.render(rowData, data) : rowData
|
|
100
|
+
})
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
return /*#__PURE__*/jsxs(DndContext, {
|
|
104
|
+
onDragEnd: onDragEnd,
|
|
105
|
+
sensors: sensors,
|
|
106
|
+
onDragStart: setDragState,
|
|
107
|
+
children: [/*#__PURE__*/jsx(Table, _objectSpread(_objectSpread({}, _objectSpread(_objectSpread({}, rest), {}, {
|
|
108
|
+
columnData: columnData,
|
|
109
|
+
rowData: rowData
|
|
110
|
+
})), {}, {
|
|
111
|
+
components: {
|
|
112
|
+
body: {
|
|
113
|
+
row: Row
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
onRow: function onRow(data, index) {
|
|
117
|
+
return {
|
|
118
|
+
data: data,
|
|
119
|
+
index: index,
|
|
120
|
+
isDroppable: isRowDroppable(data)
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
})), /*#__PURE__*/createPortal(/*#__PURE__*/jsx(DragOverlay, {
|
|
124
|
+
modifiers: [restrictToVerticalAxis],
|
|
125
|
+
children: (dragState === null || dragState === void 0 ? void 0 : dragState.active) && renderOverlay((_dragState$active$dat = dragState.active.data) === null || _dragState$active$dat === void 0 ? void 0 : _dragState$active$dat.current)
|
|
126
|
+
}), document.body)]
|
|
127
|
+
});
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = false, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = true, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), true), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
131
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
132
|
+
var useDndTable = function useDndTable(_ref) {
|
|
133
|
+
var rowData = _ref.rowData,
|
|
134
|
+
onUpdate = _ref.onUpdate;
|
|
135
|
+
var _useStateWithDependen = useStateWithDependency(rowData, [rowData]),
|
|
136
|
+
_useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
|
|
137
|
+
rowDataState = _useStateWithDependen2[0],
|
|
138
|
+
setRowDataState = _useStateWithDependen2[1];
|
|
139
|
+
var onDrop = /*#__PURE__*/function () {
|
|
140
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(active, over) {
|
|
141
|
+
var stateBefore, _Object$values$, errors, message, _t;
|
|
142
|
+
return _regenerator().w(function (_context) {
|
|
143
|
+
while (1) switch (_context.p = _context.n) {
|
|
144
|
+
case 0:
|
|
145
|
+
stateBefore = rowDataState;
|
|
146
|
+
setRowDataState(remove(active.index, 1));
|
|
147
|
+
_context.p = 1;
|
|
148
|
+
_context.n = 2;
|
|
149
|
+
return onUpdate(active, over);
|
|
150
|
+
case 2:
|
|
151
|
+
_context.n = 4;
|
|
152
|
+
break;
|
|
153
|
+
case 3:
|
|
154
|
+
_context.p = 3;
|
|
155
|
+
_t = _context.v;
|
|
156
|
+
setRowDataState(stateBefore);
|
|
157
|
+
errors = path(["response", "data", "errors"], _t);
|
|
158
|
+
message = errors && ((_Object$values$ = Object.values(errors)[0]) === null || _Object$values$ === void 0 ? void 0 : _Object$values$[0]);
|
|
159
|
+
if (message) Toastr.error(message);
|
|
160
|
+
case 4:
|
|
161
|
+
return _context.a(2);
|
|
162
|
+
}
|
|
163
|
+
}, _callee, null, [[1, 3]]);
|
|
164
|
+
}));
|
|
165
|
+
return function onDrop(_x, _x2) {
|
|
166
|
+
return _ref2.apply(this, arguments);
|
|
167
|
+
};
|
|
168
|
+
}();
|
|
169
|
+
return {
|
|
170
|
+
rowData: rowDataState,
|
|
171
|
+
onDrop: onDrop
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
export { DndTable as default, useDndTable };
|
|
176
|
+
//# sourceMappingURL=DndTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DndTable.js","sources":["../src/components/DndTable/Row.jsx","../src/components/DndTable/Table.jsx","../src/components/DndTable/useDndTable.js"],"sourcesContent":["import { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nconst Row = ({ children, data, index, className, isDroppable, ...rest }) => {\n const {\n isDragging,\n attributes,\n listeners,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, index },\n id: `draggable-${rest[\"data-row-key\"]}`,\n });\n\n const { isOver, setNodeRef: setDroppableNodeRef } = useDroppable({\n data: { ...data, index: index + 1 },\n id: `droppable-${rest[\"data-row-key\"]}`,\n disabled: !isDroppable || isDragging,\n });\n\n const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <tr\n {...rest}\n {...attributes}\n {...listeners}\n className={classNames(className, {\n \"neeto-ui-rounded-lg hover:neeto-ui-bg-gray-100 w-full min-w-0 cursor-move transition-colors\": true,\n \"neeto-ui-bg-gray-100 opacity-50\": isDragging,\n \"neeto-ui-bg-primary-100 neeto-ui-shadow-2xs\": isIndicatorVisible,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n }}\n >\n {children}\n </tr>\n );\n};\n\nexport default Row;\n","import { useState } from \"react\";\n\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { restrictToVerticalAxis } from \"@dnd-kit/modifiers\";\nimport { noop } from \"neetocist\";\nimport { Table } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { T } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nimport Row from \"./Row\";\n\nconst sensorConfig = { activationConstraint: { distance: 8 } };\n\nconst DndTable = ({\n rowData,\n columnData,\n overlayColumnIndex = 0,\n isRowDroppable = T,\n onDrop = noop,\n ...rest\n}) => {\n const [dragState, setDragState] = useState(null);\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n\n const onDragEnd = ({ active, over }) => {\n setDragState(null);\n if (!active || !over) return;\n onDrop(active.data.current, over.data.current);\n };\n\n const renderOverlay = data => {\n const colData = columnData[overlayColumnIndex];\n const rowData = data[colData.dataIndex];\n\n return (\n <div className=\"flex px-20\">\n <div className=\"neeto-ui-rounded-lg neeto-ui-bg-white px-4\">\n {colData.render ? colData.render(rowData, data) : rowData}\n </div>\n </div>\n );\n };\n\n return (\n <DndContext {...{ onDragEnd, sensors }} onDragStart={setDragState}>\n <Table\n {...{ ...rest, columnData, rowData }}\n components={{ body: { row: Row } }}\n onRow={(data, index) => ({\n data,\n index,\n isDroppable: isRowDroppable(data),\n })}\n />\n {createPortal(\n <DragOverlay modifiers={[restrictToVerticalAxis]}>\n {dragState?.active && renderOverlay(dragState.active.data?.current)}\n </DragOverlay>,\n document.body\n )}\n </DndContext>\n );\n};\n\nDndTable.propTypes = {\n /** The data for the rows of the table. */\n rowData: PropTypes.arrayOf(PropTypes.object).isRequired,\n\n /** The data for the columns of the table. */\n columnData: PropTypes.arrayOf(PropTypes.object).isRequired,\n\n /** The index of the column to display the overlay for. */\n overlayColumnIndex: PropTypes.number,\n\n /** A function that determines if a row is droppable based on checks on the data. */\n isRowDroppable: PropTypes.func,\n\n /** A function that is called when a row is dropped. */\n onDrop: PropTypes.func.isRequired,\n};\n\nexport default DndTable;\n","import { useStateWithDependency } from \"neetocommons/react-utils\";\nimport { Toastr } from \"neetoui\";\nimport { path, remove } from \"ramda\";\n\nconst useDndTable = ({ rowData, onUpdate }) => {\n const [rowDataState, setRowDataState] = useStateWithDependency(rowData, [\n rowData,\n ]);\n\n const onDrop = async (active, over) => {\n const stateBefore = rowDataState;\n setRowDataState(remove(active.index, 1));\n\n try {\n await onUpdate(active, over);\n } catch (error) {\n setRowDataState(stateBefore);\n const errors = path([\"response\", \"data\", \"errors\"], error);\n const message = errors && Object.values(errors)[0]?.[0];\n if (message) Toastr.error(message);\n }\n };\n\n return { rowData: rowDataState, onDrop };\n};\n\nexport default useDndTable;\n"],"names":["Row","_ref","children","data","index","className","isDroppable","rest","_objectWithoutProperties","_excluded","_useDraggable","useDraggable","_objectSpread","id","concat","isDragging","attributes","listeners","setDraggableNodeRef","setNodeRef","_useDroppable","useDroppable","disabled","isOver","setDroppableNodeRef","isIndicatorVisible","_jsx","classNames","ref","node","sensorConfig","activationConstraint","distance","DndTable","_dragState$active$dat","rowData","columnData","_ref$overlayColumnInd","overlayColumnIndex","_ref$isRowDroppable","isRowDroppable","T","_ref$onDrop","onDrop","noop","_useState","useState","_useState2","_slicedToArray","dragState","setDragState","sensors","useSensors","useSensor","PointerSensor","onDragEnd","_ref2","active","over","current","renderOverlay","colData","dataIndex","render","_jsxs","DndContext","onDragStart","Table","components","body","row","onRow","createPortal","DragOverlay","modifiers","restrictToVerticalAxis","document","e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","useDndTable","onUpdate","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","rowDataState","setRowDataState","_asyncToGenerator","_callee","stateBefore","_Object$values$","errors","message","_t","_context","remove","path","values","Toastr","error","_x","_x2","apply","arguments"],"mappings":"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"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
7
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
8
|
+
var React = require('react');
|
|
9
|
+
var core = require('@dnd-kit/core');
|
|
10
|
+
var modifiers = require('@dnd-kit/modifiers');
|
|
11
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
12
|
+
var Table = require('@bigbinary/neetoui/Table');
|
|
13
|
+
var ramda = require('ramda');
|
|
14
|
+
var ReactDOM = require('react-dom');
|
|
15
|
+
var classnames = require('classnames');
|
|
16
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
17
|
+
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
18
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
19
|
+
var Toastr = require('@bigbinary/neetoui/Toastr');
|
|
20
|
+
|
|
21
|
+
var _excluded$1 = ["children", "data", "index", "className", "isDroppable"];
|
|
22
|
+
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
23
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24
|
+
var Row = function Row(_ref) {
|
|
25
|
+
var children = _ref.children,
|
|
26
|
+
data = _ref.data,
|
|
27
|
+
index = _ref.index,
|
|
28
|
+
className = _ref.className,
|
|
29
|
+
isDroppable = _ref.isDroppable,
|
|
30
|
+
rest = _objectWithoutProperties(_ref, _excluded$1);
|
|
31
|
+
var _useDraggable = core.useDraggable({
|
|
32
|
+
data: _objectSpread$1(_objectSpread$1({}, data), {}, {
|
|
33
|
+
index: index
|
|
34
|
+
}),
|
|
35
|
+
id: "draggable-".concat(rest["data-row-key"])
|
|
36
|
+
}),
|
|
37
|
+
isDragging = _useDraggable.isDragging,
|
|
38
|
+
attributes = _useDraggable.attributes,
|
|
39
|
+
listeners = _useDraggable.listeners,
|
|
40
|
+
setDraggableNodeRef = _useDraggable.setNodeRef;
|
|
41
|
+
var _useDroppable = core.useDroppable({
|
|
42
|
+
data: _objectSpread$1(_objectSpread$1({}, data), {}, {
|
|
43
|
+
index: index + 1
|
|
44
|
+
}),
|
|
45
|
+
id: "droppable-".concat(rest["data-row-key"]),
|
|
46
|
+
disabled: !isDroppable || isDragging
|
|
47
|
+
}),
|
|
48
|
+
isOver = _useDroppable.isOver,
|
|
49
|
+
setDroppableNodeRef = _useDroppable.setNodeRef;
|
|
50
|
+
var isIndicatorVisible = !isDragging && isOver;
|
|
51
|
+
return /*#__PURE__*/jsxRuntime.jsx("tr", _objectSpread$1(_objectSpread$1(_objectSpread$1(_objectSpread$1({}, rest), attributes), listeners), {}, {
|
|
52
|
+
className: classnames(className, {
|
|
53
|
+
"neeto-ui-rounded-lg hover:neeto-ui-bg-gray-100 w-full min-w-0 cursor-move transition-colors": true,
|
|
54
|
+
"neeto-ui-bg-gray-100 opacity-50": isDragging,
|
|
55
|
+
"neeto-ui-bg-primary-100 neeto-ui-shadow-2xs": isIndicatorVisible
|
|
56
|
+
}),
|
|
57
|
+
ref: function ref(node) {
|
|
58
|
+
setDraggableNodeRef(node);
|
|
59
|
+
setDroppableNodeRef(node);
|
|
60
|
+
},
|
|
61
|
+
children: children
|
|
62
|
+
}));
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
var _excluded = ["rowData", "columnData", "overlayColumnIndex", "isRowDroppable", "onDrop"];
|
|
66
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
67
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
68
|
+
var sensorConfig = {
|
|
69
|
+
activationConstraint: {
|
|
70
|
+
distance: 8
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
var DndTable = function DndTable(_ref) {
|
|
74
|
+
var _dragState$active$dat;
|
|
75
|
+
var rowData = _ref.rowData,
|
|
76
|
+
columnData = _ref.columnData,
|
|
77
|
+
_ref$overlayColumnInd = _ref.overlayColumnIndex,
|
|
78
|
+
overlayColumnIndex = _ref$overlayColumnInd === void 0 ? 0 : _ref$overlayColumnInd,
|
|
79
|
+
_ref$isRowDroppable = _ref.isRowDroppable,
|
|
80
|
+
isRowDroppable = _ref$isRowDroppable === void 0 ? ramda.T : _ref$isRowDroppable,
|
|
81
|
+
_ref$onDrop = _ref.onDrop,
|
|
82
|
+
onDrop = _ref$onDrop === void 0 ? neetoCist.noop : _ref$onDrop,
|
|
83
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
84
|
+
var _useState = React.useState(null),
|
|
85
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
86
|
+
dragState = _useState2[0],
|
|
87
|
+
setDragState = _useState2[1];
|
|
88
|
+
var sensors = core.useSensors(core.useSensor(core.PointerSensor, sensorConfig));
|
|
89
|
+
var onDragEnd = function onDragEnd(_ref2) {
|
|
90
|
+
var active = _ref2.active,
|
|
91
|
+
over = _ref2.over;
|
|
92
|
+
setDragState(null);
|
|
93
|
+
if (!active || !over) return;
|
|
94
|
+
onDrop(active.data.current, over.data.current);
|
|
95
|
+
};
|
|
96
|
+
var renderOverlay = function renderOverlay(data) {
|
|
97
|
+
var colData = columnData[overlayColumnIndex];
|
|
98
|
+
var rowData = data[colData.dataIndex];
|
|
99
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
100
|
+
className: "flex px-20",
|
|
101
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
102
|
+
className: "neeto-ui-rounded-lg neeto-ui-bg-white px-4",
|
|
103
|
+
children: colData.render ? colData.render(rowData, data) : rowData
|
|
104
|
+
})
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
return /*#__PURE__*/jsxRuntime.jsxs(core.DndContext, {
|
|
108
|
+
onDragEnd: onDragEnd,
|
|
109
|
+
sensors: sensors,
|
|
110
|
+
onDragStart: setDragState,
|
|
111
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Table, _objectSpread(_objectSpread({}, _objectSpread(_objectSpread({}, rest), {}, {
|
|
112
|
+
columnData: columnData,
|
|
113
|
+
rowData: rowData
|
|
114
|
+
})), {}, {
|
|
115
|
+
components: {
|
|
116
|
+
body: {
|
|
117
|
+
row: Row
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
onRow: function onRow(data, index) {
|
|
121
|
+
return {
|
|
122
|
+
data: data,
|
|
123
|
+
index: index,
|
|
124
|
+
isDroppable: isRowDroppable(data)
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
})), /*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/jsxRuntime.jsx(core.DragOverlay, {
|
|
128
|
+
modifiers: [modifiers.restrictToVerticalAxis],
|
|
129
|
+
children: (dragState === null || dragState === void 0 ? void 0 : dragState.active) && renderOverlay((_dragState$active$dat = dragState.active.data) === null || _dragState$active$dat === void 0 ? void 0 : _dragState$active$dat.current)
|
|
130
|
+
}), document.body)]
|
|
131
|
+
});
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = false, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = true, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), true), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
135
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
136
|
+
var useDndTable = function useDndTable(_ref) {
|
|
137
|
+
var rowData = _ref.rowData,
|
|
138
|
+
onUpdate = _ref.onUpdate;
|
|
139
|
+
var _useStateWithDependen = reactUtils.useStateWithDependency(rowData, [rowData]),
|
|
140
|
+
_useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
|
|
141
|
+
rowDataState = _useStateWithDependen2[0],
|
|
142
|
+
setRowDataState = _useStateWithDependen2[1];
|
|
143
|
+
var onDrop = /*#__PURE__*/function () {
|
|
144
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(active, over) {
|
|
145
|
+
var stateBefore, _Object$values$, errors, message, _t;
|
|
146
|
+
return _regenerator().w(function (_context) {
|
|
147
|
+
while (1) switch (_context.p = _context.n) {
|
|
148
|
+
case 0:
|
|
149
|
+
stateBefore = rowDataState;
|
|
150
|
+
setRowDataState(ramda.remove(active.index, 1));
|
|
151
|
+
_context.p = 1;
|
|
152
|
+
_context.n = 2;
|
|
153
|
+
return onUpdate(active, over);
|
|
154
|
+
case 2:
|
|
155
|
+
_context.n = 4;
|
|
156
|
+
break;
|
|
157
|
+
case 3:
|
|
158
|
+
_context.p = 3;
|
|
159
|
+
_t = _context.v;
|
|
160
|
+
setRowDataState(stateBefore);
|
|
161
|
+
errors = ramda.path(["response", "data", "errors"], _t);
|
|
162
|
+
message = errors && ((_Object$values$ = Object.values(errors)[0]) === null || _Object$values$ === void 0 ? void 0 : _Object$values$[0]);
|
|
163
|
+
if (message) Toastr.error(message);
|
|
164
|
+
case 4:
|
|
165
|
+
return _context.a(2);
|
|
166
|
+
}
|
|
167
|
+
}, _callee, null, [[1, 3]]);
|
|
168
|
+
}));
|
|
169
|
+
return function onDrop(_x, _x2) {
|
|
170
|
+
return _ref2.apply(this, arguments);
|
|
171
|
+
};
|
|
172
|
+
}();
|
|
173
|
+
return {
|
|
174
|
+
rowData: rowDataState,
|
|
175
|
+
onDrop: onDrop
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
exports.default = DndTable;
|
|
180
|
+
exports.useDndTable = useDndTable;
|
|
181
|
+
//# sourceMappingURL=DndTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DndTable.js","sources":["../../src/components/DndTable/Row.jsx","../../src/components/DndTable/Table.jsx","../../src/components/DndTable/useDndTable.js"],"sourcesContent":["import { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nconst Row = ({ children, data, index, className, isDroppable, ...rest }) => {\n const {\n isDragging,\n attributes,\n listeners,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, index },\n id: `draggable-${rest[\"data-row-key\"]}`,\n });\n\n const { isOver, setNodeRef: setDroppableNodeRef } = useDroppable({\n data: { ...data, index: index + 1 },\n id: `droppable-${rest[\"data-row-key\"]}`,\n disabled: !isDroppable || isDragging,\n });\n\n const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <tr\n {...rest}\n {...attributes}\n {...listeners}\n className={classNames(className, {\n \"neeto-ui-rounded-lg hover:neeto-ui-bg-gray-100 w-full min-w-0 cursor-move transition-colors\": true,\n \"neeto-ui-bg-gray-100 opacity-50\": isDragging,\n \"neeto-ui-bg-primary-100 neeto-ui-shadow-2xs\": isIndicatorVisible,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n }}\n >\n {children}\n </tr>\n );\n};\n\nexport default Row;\n","import { useState } from \"react\";\n\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { restrictToVerticalAxis } from \"@dnd-kit/modifiers\";\nimport { noop } from \"neetocist\";\nimport { Table } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { T } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nimport Row from \"./Row\";\n\nconst sensorConfig = { activationConstraint: { distance: 8 } };\n\nconst DndTable = ({\n rowData,\n columnData,\n overlayColumnIndex = 0,\n isRowDroppable = T,\n onDrop = noop,\n ...rest\n}) => {\n const [dragState, setDragState] = useState(null);\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n\n const onDragEnd = ({ active, over }) => {\n setDragState(null);\n if (!active || !over) return;\n onDrop(active.data.current, over.data.current);\n };\n\n const renderOverlay = data => {\n const colData = columnData[overlayColumnIndex];\n const rowData = data[colData.dataIndex];\n\n return (\n <div className=\"flex px-20\">\n <div className=\"neeto-ui-rounded-lg neeto-ui-bg-white px-4\">\n {colData.render ? colData.render(rowData, data) : rowData}\n </div>\n </div>\n );\n };\n\n return (\n <DndContext {...{ onDragEnd, sensors }} onDragStart={setDragState}>\n <Table\n {...{ ...rest, columnData, rowData }}\n components={{ body: { row: Row } }}\n onRow={(data, index) => ({\n data,\n index,\n isDroppable: isRowDroppable(data),\n })}\n />\n {createPortal(\n <DragOverlay modifiers={[restrictToVerticalAxis]}>\n {dragState?.active && renderOverlay(dragState.active.data?.current)}\n </DragOverlay>,\n document.body\n )}\n </DndContext>\n );\n};\n\nDndTable.propTypes = {\n /** The data for the rows of the table. */\n rowData: PropTypes.arrayOf(PropTypes.object).isRequired,\n\n /** The data for the columns of the table. */\n columnData: PropTypes.arrayOf(PropTypes.object).isRequired,\n\n /** The index of the column to display the overlay for. */\n overlayColumnIndex: PropTypes.number,\n\n /** A function that determines if a row is droppable based on checks on the data. */\n isRowDroppable: PropTypes.func,\n\n /** A function that is called when a row is dropped. */\n onDrop: PropTypes.func.isRequired,\n};\n\nexport default DndTable;\n","import { useStateWithDependency } from \"neetocommons/react-utils\";\nimport { Toastr } from \"neetoui\";\nimport { path, remove } from \"ramda\";\n\nconst useDndTable = ({ rowData, onUpdate }) => {\n const [rowDataState, setRowDataState] = useStateWithDependency(rowData, [\n rowData,\n ]);\n\n const onDrop = async (active, over) => {\n const stateBefore = rowDataState;\n setRowDataState(remove(active.index, 1));\n\n try {\n await onUpdate(active, over);\n } catch (error) {\n setRowDataState(stateBefore);\n const errors = path([\"response\", \"data\", \"errors\"], error);\n const message = errors && Object.values(errors)[0]?.[0];\n if (message) Toastr.error(message);\n }\n };\n\n return { rowData: rowDataState, onDrop };\n};\n\nexport default useDndTable;\n"],"names":["Row","_ref","children","data","index","className","isDroppable","rest","_objectWithoutProperties","_excluded","_useDraggable","useDraggable","_objectSpread","id","concat","isDragging","attributes","listeners","setDraggableNodeRef","setNodeRef","_useDroppable","useDroppable","disabled","isOver","setDroppableNodeRef","isIndicatorVisible","_jsx","classNames","ref","node","sensorConfig","activationConstraint","distance","DndTable","_dragState$active$dat","rowData","columnData","_ref$overlayColumnInd","overlayColumnIndex","_ref$isRowDroppable","isRowDroppable","T","_ref$onDrop","onDrop","noop","_useState","useState","_useState2","_slicedToArray","dragState","setDragState","sensors","useSensors","useSensor","PointerSensor","onDragEnd","_ref2","active","over","current","renderOverlay","colData","dataIndex","render","_jsxs","DndContext","onDragStart","Table","components","body","row","onRow","createPortal","DragOverlay","modifiers","restrictToVerticalAxis","document","e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","useDndTable","onUpdate","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","rowDataState","setRowDataState","_asyncToGenerator","_callee","stateBefore","_Object$values$","errors","message","_t","_context","remove","path","values","Toastr","error","_x","_x2","apply","arguments"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.87",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
|
@@ -65,6 +65,7 @@
|
|
|
65
65
|
"@bigbinary/neeto-time-zones": "0.5.5",
|
|
66
66
|
"@bigbinary/neetoui": "8.2.13",
|
|
67
67
|
"@dnd-kit/core": "^6.2.0",
|
|
68
|
+
"@dnd-kit/modifiers": "^9.0.0",
|
|
68
69
|
"@dnd-kit/sortable": "^10.0.0",
|
|
69
70
|
"@eslint/compat": "^1.2.8",
|
|
70
71
|
"@eslint/eslintrc": "^3.3.1",
|
|
@@ -229,6 +230,7 @@
|
|
|
229
230
|
"@bigbinary/neeto-time-zones": "0.5.5",
|
|
230
231
|
"@bigbinary/neetoui": "8.2.13",
|
|
231
232
|
"@dnd-kit/core": "^6.2.0",
|
|
233
|
+
"@dnd-kit/modifiers": "^9.0.0",
|
|
232
234
|
"@dnd-kit/sortable": "^10.0.0",
|
|
233
235
|
"@fullcalendar/core": "^6.1.8",
|
|
234
236
|
"@fullcalendar/daygrid": "^6.1.8",
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
interface DndTableProps<RowData = any> {
|
|
2
|
+
/**
|
|
3
|
+
* The data for the rows of the table.
|
|
4
|
+
*/
|
|
5
|
+
rowData: RowData[];
|
|
6
|
+
/**
|
|
7
|
+
* The data for the columns of the table.
|
|
8
|
+
*/
|
|
9
|
+
columnData: any[];
|
|
10
|
+
/**
|
|
11
|
+
* The index of the column to display the overlay for.
|
|
12
|
+
*/
|
|
13
|
+
overlayColumnIndex?: number;
|
|
14
|
+
/**
|
|
15
|
+
* A function that determines if a row is droppable based on checks on the data.
|
|
16
|
+
*/
|
|
17
|
+
isRowDroppable?: (data: RowData) => boolean;
|
|
18
|
+
/**
|
|
19
|
+
* A function that is called when a row is dropped.
|
|
20
|
+
*/
|
|
21
|
+
onDrop: (active: RowData, over: RowData) => void;
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
}
|
|
24
|
+
interface UseDndTableProps<RowData = any> {
|
|
25
|
+
rowData: RowData[];
|
|
26
|
+
onUpdate: (active: RowData, over: RowData) => void;
|
|
27
|
+
}
|
|
28
|
+
declare const useDndTable: (props: UseDndTableProps<RowData>) => {
|
|
29
|
+
rowData: RowData[];
|
|
30
|
+
onDrop: (active: RowData, over: RowData) => void;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* The DndTable component is a drag-and-drop enabled table that allows users to
|
|
35
|
+
*
|
|
36
|
+
* reorder rows by dragging and dropping them. It provides visual feedback during
|
|
37
|
+
*
|
|
38
|
+
* drag operations and supports custom overlay rendering.
|
|
39
|
+
*
|
|
40
|
+
* The main table component with drag-and-drop functionality built on top of the
|
|
41
|
+
*
|
|
42
|
+
* neetoui Table component.
|
|
43
|
+
*
|
|
44
|
+
* A custom hook that provides state management and error handling for
|
|
45
|
+
*
|
|
46
|
+
* drag-and-drop operations. It automatically handles optimistic updates and
|
|
47
|
+
*
|
|
48
|
+
* rollback on errors.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
*
|
|
52
|
+
* import DndTable, { useDndTable } from "@bigbinary/neeto-molecules/DndTable";
|
|
53
|
+
*
|
|
54
|
+
* const MyComponent = () => {
|
|
55
|
+
* const [data, setData] = useState([
|
|
56
|
+
* { id: 1, name: "John Doe", email: "john.doe@example.com" },
|
|
57
|
+
* { id: 2, name: "Jane Doe", email: "jane.doe@example.com" },
|
|
58
|
+
* { id: 3, name: "Alice Smith", email: "alice.smith@example.com" },
|
|
59
|
+
* { id: 4, name: "Bob Johnson", email: "bob.johnson@example.com" },
|
|
60
|
+
* { id: 5, name: "Carol Williams", email: "carol.williams@example.com" },
|
|
61
|
+
* { id: 6, name: "David Brown", email: "david.brown@example.com" },
|
|
62
|
+
* { id: 7, name: "Emma Davis", email: "emma.davis@example.com" },
|
|
63
|
+
* { id: 8, name: "Frank Miller", email: "frank.miller@example.com" },
|
|
64
|
+
* { id: 9, name: "Grace Wilson", email: "grace.wilson@example.com" },
|
|
65
|
+
* { id: 10, name: "Henry Moore", email: "henry.moore@example.com" },
|
|
66
|
+
* { id: 11, name: "Ivy Taylor", email: "ivy.taylor@example.com" },
|
|
67
|
+
* { id: 12, name: "Jack Anderson", email: "jack.anderson@example.com" },
|
|
68
|
+
* { id: 13, name: "Kate Thomas", email: "kate.thomas@example.com" },
|
|
69
|
+
* { id: 14, name: "Liam Jackson", email: "liam.jackson@example.com" },
|
|
70
|
+
* { id: 15, name: "Maya White", email: "maya.white@example.com" },
|
|
71
|
+
* { id: 16, name: "Noah Harris", email: "noah.harris@example.com" },
|
|
72
|
+
* { id: 17, name: "Olivia Martin", email: "olivia.martin@example.com" },
|
|
73
|
+
* { id: 18, name: "Paul Thompson", email: "paul.thompson@example.com" },
|
|
74
|
+
* { id: 19, name: "Quinn Garcia", email: "quinn.garcia@example.com" },
|
|
75
|
+
* { id: 20, name: "Rachel Martinez", email: "rachel.martinez@example.com" },
|
|
76
|
+
* { id: 21, name: "Sam Robinson", email: "sam.robinson@example.com" },
|
|
77
|
+
* { id: 22, name: "Tina Clark", email: "tina.clark@example.com" },
|
|
78
|
+
* { id: 23, name: "Uma Rodriguez", email: "uma.rodriguez@example.com" },
|
|
79
|
+
* { id: 24, name: "Victor Lewis", email: "victor.lewis@example.com" },
|
|
80
|
+
* { id: 25, name: "Wendy Lee", email: "wendy.lee@example.com" },
|
|
81
|
+
* { id: 26, name: "Xavier Walker", email: "xavier.walker@example.com" },
|
|
82
|
+
* { id: 27, name: "Yara Hall", email: "yara.hall@example.com" },
|
|
83
|
+
* { id: 28, name: "Zoe Allen", email: "zoe.allen@example.com" },
|
|
84
|
+
* { id: 29, name: "Aaron Young", email: "aaron.young@example.com" },
|
|
85
|
+
* { id: 30, name: "Bella King", email: "bella.king@example.com" },
|
|
86
|
+
* ]);
|
|
87
|
+
*
|
|
88
|
+
* const { rowData, onDrop } = useDndTable({
|
|
89
|
+
* rowData: data,
|
|
90
|
+
* onUpdate: async (active, over) => {
|
|
91
|
+
* // Make API call to update order, the item is automatically removed from the local state by the hook.
|
|
92
|
+
* await updateRowOrder(active.id, over.id);
|
|
93
|
+
* },
|
|
94
|
+
* });
|
|
95
|
+
*
|
|
96
|
+
* const columnData = [
|
|
97
|
+
* { key: "name", dataIndex: "name", title: "Name" },
|
|
98
|
+
* { key: "email", dataIndex: "email", title: "Email" },
|
|
99
|
+
* ];
|
|
100
|
+
*
|
|
101
|
+
* return (
|
|
102
|
+
* <DndTable
|
|
103
|
+
* rowData={rowData}
|
|
104
|
+
* columnData={columnData}
|
|
105
|
+
* onDrop={onDrop}
|
|
106
|
+
* isRowDroppable={row => row.status !== "archived"}
|
|
107
|
+
* />
|
|
108
|
+
* );
|
|
109
|
+
* };
|
|
110
|
+
* @endexample
|
|
111
|
+
* You can customize the drag overlay by providing a render function in your
|
|
112
|
+
*
|
|
113
|
+
* column configuration:
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
*
|
|
117
|
+
* const columnData = [
|
|
118
|
+
* {
|
|
119
|
+
* key: "name",
|
|
120
|
+
* dataIndex: "name",
|
|
121
|
+
* title: "Name",
|
|
122
|
+
* render: (value, record) => (
|
|
123
|
+
* <div className="flex items-center">
|
|
124
|
+
* <Avatar name={record.name} />
|
|
125
|
+
* <span className="ml-2">{value}</span>
|
|
126
|
+
* </div>
|
|
127
|
+
* ),
|
|
128
|
+
* },
|
|
129
|
+
* { key: "email", dataIndex: "email", title: "Email" },
|
|
130
|
+
* ];
|
|
131
|
+
*
|
|
132
|
+
* <DndTable
|
|
133
|
+
* rowData={rowData}
|
|
134
|
+
* columnData={columnData}
|
|
135
|
+
* overlayColumnIndex={0} // Use the first column for overlay
|
|
136
|
+
* onDrop={onDrop}
|
|
137
|
+
* />;
|
|
138
|
+
* @endexample
|
|
139
|
+
* You can make certain rows non-droppable based on their data:
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
*
|
|
143
|
+
* <DndTable
|
|
144
|
+
* rowData={rowData}
|
|
145
|
+
* columnData={columnData}
|
|
146
|
+
* onDrop={onDrop}
|
|
147
|
+
* isRowDroppable={row => {
|
|
148
|
+
* // Only allow dropping if row is not locked
|
|
149
|
+
* return !row.isLocked;
|
|
150
|
+
* }}
|
|
151
|
+
* />
|
|
152
|
+
* @endexample
|
|
153
|
+
* The useDndTable hook automatically handles errors and shows toast
|
|
154
|
+
*
|
|
155
|
+
* notifications:
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
*
|
|
159
|
+
* const { rowData, onDrop } = useDndTable({
|
|
160
|
+
* rowData: data,
|
|
161
|
+
* onUpdate: (active, over) => api.updateOrder(active.id, over.id);
|
|
162
|
+
* // Note: Changes to local state are automatically rolled back by the hook on error.
|
|
163
|
+
* });
|
|
164
|
+
* @endexample
|
|
165
|
+
*/
|
|
166
|
+
declare const DndTable: <RowData = any>(props: DndTableProps<RowData>) => JSX.Element | null;
|
|
167
|
+
|
|
168
|
+
export { DndTable as default, useDndTable };
|