muffin-admin 1.29.0 → 1.31.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/.eslintrc.json +44 -0
- package/Makefile +7 -0
- package/dist/admin.js +82 -0
- package/dist/authprovider.js +250 -0
- package/dist/buttons/ActionButton.js +110 -0
- package/dist/buttons/LinkButton.js +44 -0
- package/dist/dashboard.js +70 -0
- package/dist/dataprovider.js +379 -0
- package/dist/fields/AvatarField.js +46 -0
- package/dist/fields/FKField.js +43 -0
- package/dist/fields/JsonField.js +51 -0
- package/dist/hooks/useAction.js +17 -0
- package/dist/index.js +20 -0
- package/dist/inputs/FKInput.js +53 -0
- package/dist/inputs/JsonInput.js +82 -0
- package/dist/resources.js +57 -0
- package/dist/ui.js +95 -0
- package/dist/utils.js +67 -0
- package/dist/views/create.js +25 -0
- package/dist/views/edit.js +53 -0
- package/dist/views/list.js +83 -0
- package/dist/views/show.js +36 -0
- package/dist/web.js +33 -0
- package/jsconfig.json +9 -0
- package/package.json +20 -8
- package/webpack.config.js +8 -6
- package/admin.jsx +0 -56
- package/authprovider.js +0 -79
- package/buttons/ActionButton.jsx +0 -68
- package/buttons/LinkButton.jsx +0 -21
- package/dashboard.jsx +0 -57
- package/dataprovider.js +0 -81
- package/fields/AvatarField.jsx +0 -25
- package/fields/FKField.jsx +0 -24
- package/index.js +0 -12
- package/inputs/FKInput.jsx +0 -30
- package/resources.jsx +0 -27
- package/ui.jsx +0 -51
- package/utils.js +0 -35
- package/views/create.jsx +0 -26
- package/views/edit.jsx +0 -34
- package/views/list.jsx +0 -56
- package/views/show.jsx +0 -34
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
|
|
14
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
15
|
+
|
|
16
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
+
|
|
18
|
+
var _utils = require("./utils");
|
|
19
|
+
|
|
20
|
+
var _excluded = ["target", "id", "filter"];
|
|
21
|
+
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23
|
+
|
|
24
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
25
|
+
|
|
26
|
+
var _default = function _default(apiUrl) {
|
|
27
|
+
var methods = {
|
|
28
|
+
getList: function () {
|
|
29
|
+
var _getList = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(resource, _ref) {
|
|
30
|
+
var filter, pagination, sort, query, page, limit, field, order, _yield$makeRequest, headers, json;
|
|
31
|
+
|
|
32
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
33
|
+
while (1) {
|
|
34
|
+
switch (_context.prev = _context.next) {
|
|
35
|
+
case 0:
|
|
36
|
+
filter = _ref.filter, pagination = _ref.pagination, sort = _ref.sort;
|
|
37
|
+
query = {};
|
|
38
|
+
if (filter) query.where = JSON.stringify(filter);
|
|
39
|
+
|
|
40
|
+
if (pagination) {
|
|
41
|
+
page = pagination.page, limit = pagination.perPage;
|
|
42
|
+
query.limit = limit;
|
|
43
|
+
query.offset = limit * (page - 1);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (sort) {
|
|
47
|
+
field = sort.field, order = sort.order;
|
|
48
|
+
query.sort = order == 'ASC' ? field : "-".concat(field);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
_context.next = 7;
|
|
52
|
+
return (0, _utils.makeRequest)("".concat(apiUrl, "/").concat(resource), {
|
|
53
|
+
query: query
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
case 7:
|
|
57
|
+
_yield$makeRequest = _context.sent;
|
|
58
|
+
headers = _yield$makeRequest.headers;
|
|
59
|
+
json = _yield$makeRequest.json;
|
|
60
|
+
return _context.abrupt("return", {
|
|
61
|
+
data: json,
|
|
62
|
+
total: parseInt(headers.get('x-total'), 10)
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
case 11:
|
|
66
|
+
case "end":
|
|
67
|
+
return _context.stop();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}, _callee);
|
|
71
|
+
}));
|
|
72
|
+
|
|
73
|
+
function getList(_x, _x2) {
|
|
74
|
+
return _getList.apply(this, arguments);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return getList;
|
|
78
|
+
}(),
|
|
79
|
+
getOne: function () {
|
|
80
|
+
var _getOne = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(resource, _ref2) {
|
|
81
|
+
var id, _yield$makeRequest2, json;
|
|
82
|
+
|
|
83
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
84
|
+
while (1) {
|
|
85
|
+
switch (_context2.prev = _context2.next) {
|
|
86
|
+
case 0:
|
|
87
|
+
id = _ref2.id;
|
|
88
|
+
_context2.next = 3;
|
|
89
|
+
return (0, _utils.makeRequest)("".concat(apiUrl, "/").concat(resource, "/").concat(id));
|
|
90
|
+
|
|
91
|
+
case 3:
|
|
92
|
+
_yield$makeRequest2 = _context2.sent;
|
|
93
|
+
json = _yield$makeRequest2.json;
|
|
94
|
+
return _context2.abrupt("return", {
|
|
95
|
+
data: json
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
case 6:
|
|
99
|
+
case "end":
|
|
100
|
+
return _context2.stop();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}, _callee2);
|
|
104
|
+
}));
|
|
105
|
+
|
|
106
|
+
function getOne(_x3, _x4) {
|
|
107
|
+
return _getOne.apply(this, arguments);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return getOne;
|
|
111
|
+
}(),
|
|
112
|
+
create: function () {
|
|
113
|
+
var _create = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(resource, _ref3) {
|
|
114
|
+
var data, _yield$makeRequest3, json;
|
|
115
|
+
|
|
116
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
117
|
+
while (1) {
|
|
118
|
+
switch (_context3.prev = _context3.next) {
|
|
119
|
+
case 0:
|
|
120
|
+
data = _ref3.data;
|
|
121
|
+
_context3.next = 3;
|
|
122
|
+
return (0, _utils.makeRequest)("".concat(apiUrl, "/").concat(resource), {
|
|
123
|
+
data: data,
|
|
124
|
+
method: 'POST'
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
case 3:
|
|
128
|
+
_yield$makeRequest3 = _context3.sent;
|
|
129
|
+
json = _yield$makeRequest3.json;
|
|
130
|
+
return _context3.abrupt("return", {
|
|
131
|
+
data: json
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
case 6:
|
|
135
|
+
case "end":
|
|
136
|
+
return _context3.stop();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}, _callee3);
|
|
140
|
+
}));
|
|
141
|
+
|
|
142
|
+
function create(_x5, _x6) {
|
|
143
|
+
return _create.apply(this, arguments);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
return create;
|
|
147
|
+
}(),
|
|
148
|
+
update: function () {
|
|
149
|
+
var _update = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(resource, _ref4) {
|
|
150
|
+
var id, data, _yield$makeRequest4, json;
|
|
151
|
+
|
|
152
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
153
|
+
while (1) {
|
|
154
|
+
switch (_context4.prev = _context4.next) {
|
|
155
|
+
case 0:
|
|
156
|
+
id = _ref4.id, data = _ref4.data;
|
|
157
|
+
_context4.next = 3;
|
|
158
|
+
return (0, _utils.makeRequest)("".concat(apiUrl, "/").concat(resource, "/").concat(id), {
|
|
159
|
+
data: data,
|
|
160
|
+
method: 'PUT'
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
case 3:
|
|
164
|
+
_yield$makeRequest4 = _context4.sent;
|
|
165
|
+
json = _yield$makeRequest4.json;
|
|
166
|
+
return _context4.abrupt("return", {
|
|
167
|
+
data: json
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
case 6:
|
|
171
|
+
case "end":
|
|
172
|
+
return _context4.stop();
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}, _callee4);
|
|
176
|
+
}));
|
|
177
|
+
|
|
178
|
+
function update(_x7, _x8) {
|
|
179
|
+
return _update.apply(this, arguments);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
return update;
|
|
183
|
+
}(),
|
|
184
|
+
updateMany: function () {
|
|
185
|
+
var _updateMany = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(resource, _ref5) {
|
|
186
|
+
var ids, data;
|
|
187
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
188
|
+
while (1) {
|
|
189
|
+
switch (_context5.prev = _context5.next) {
|
|
190
|
+
case 0:
|
|
191
|
+
ids = _ref5.ids, data = _ref5.data;
|
|
192
|
+
_context5.next = 3;
|
|
193
|
+
return Promise.all(ids.map(function (id) {
|
|
194
|
+
return methods.update(resource, {
|
|
195
|
+
id: id,
|
|
196
|
+
data: data
|
|
197
|
+
});
|
|
198
|
+
}));
|
|
199
|
+
|
|
200
|
+
case 3:
|
|
201
|
+
return _context5.abrupt("return", {
|
|
202
|
+
data: ids
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
case 4:
|
|
206
|
+
case "end":
|
|
207
|
+
return _context5.stop();
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}, _callee5);
|
|
211
|
+
}));
|
|
212
|
+
|
|
213
|
+
function updateMany(_x9, _x10) {
|
|
214
|
+
return _updateMany.apply(this, arguments);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
return updateMany;
|
|
218
|
+
}(),
|
|
219
|
+
"delete": function () {
|
|
220
|
+
var _delete2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(resource, _ref6) {
|
|
221
|
+
var id;
|
|
222
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
223
|
+
while (1) {
|
|
224
|
+
switch (_context6.prev = _context6.next) {
|
|
225
|
+
case 0:
|
|
226
|
+
id = _ref6.id;
|
|
227
|
+
_context6.next = 3;
|
|
228
|
+
return (0, _utils.makeRequest)("".concat(apiUrl, "/").concat(resource, "/").concat(id), {
|
|
229
|
+
method: 'DELETE'
|
|
230
|
+
});
|
|
231
|
+
|
|
232
|
+
case 3:
|
|
233
|
+
return _context6.abrupt("return", {
|
|
234
|
+
data: {
|
|
235
|
+
id: id
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
case 4:
|
|
240
|
+
case "end":
|
|
241
|
+
return _context6.stop();
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}, _callee6);
|
|
245
|
+
}));
|
|
246
|
+
|
|
247
|
+
function _delete(_x11, _x12) {
|
|
248
|
+
return _delete2.apply(this, arguments);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
return _delete;
|
|
252
|
+
}(),
|
|
253
|
+
deleteMany: function () {
|
|
254
|
+
var _deleteMany = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(resource, _ref7) {
|
|
255
|
+
var ids;
|
|
256
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
257
|
+
while (1) {
|
|
258
|
+
switch (_context7.prev = _context7.next) {
|
|
259
|
+
case 0:
|
|
260
|
+
ids = _ref7.ids;
|
|
261
|
+
_context7.next = 3;
|
|
262
|
+
return (0, _utils.makeRequest)("".concat(apiUrl, "/").concat(resource), {
|
|
263
|
+
data: ids,
|
|
264
|
+
method: 'DELETE'
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
case 3:
|
|
268
|
+
return _context7.abrupt("return", {
|
|
269
|
+
data: ids
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
case 4:
|
|
273
|
+
case "end":
|
|
274
|
+
return _context7.stop();
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}, _callee7);
|
|
278
|
+
}));
|
|
279
|
+
|
|
280
|
+
function deleteMany(_x13, _x14) {
|
|
281
|
+
return _deleteMany.apply(this, arguments);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
return deleteMany;
|
|
285
|
+
}(),
|
|
286
|
+
getMany: function getMany(resource, _ref8) {
|
|
287
|
+
var ids = _ref8.ids;
|
|
288
|
+
return methods.getList(resource, {
|
|
289
|
+
filter: {
|
|
290
|
+
id: {
|
|
291
|
+
$in: ids
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
},
|
|
296
|
+
getManyReference: function () {
|
|
297
|
+
var _getManyReference = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(resource, _ref9) {
|
|
298
|
+
var target, id, filter, opts;
|
|
299
|
+
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
300
|
+
while (1) {
|
|
301
|
+
switch (_context8.prev = _context8.next) {
|
|
302
|
+
case 0:
|
|
303
|
+
target = _ref9.target, id = _ref9.id, filter = _ref9.filter, opts = (0, _objectWithoutProperties2["default"])(_ref9, _excluded);
|
|
304
|
+
filter = filter || {};
|
|
305
|
+
filter[target] = id;
|
|
306
|
+
_context8.next = 5;
|
|
307
|
+
return methods.getList(resource, _objectSpread({
|
|
308
|
+
filter: filter
|
|
309
|
+
}, opts));
|
|
310
|
+
|
|
311
|
+
case 5:
|
|
312
|
+
return _context8.abrupt("return", _context8.sent);
|
|
313
|
+
|
|
314
|
+
case 6:
|
|
315
|
+
case "end":
|
|
316
|
+
return _context8.stop();
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}, _callee8);
|
|
320
|
+
}));
|
|
321
|
+
|
|
322
|
+
function getManyReference(_x15, _x16) {
|
|
323
|
+
return _getManyReference.apply(this, arguments);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
return getManyReference;
|
|
327
|
+
}(),
|
|
328
|
+
runAction: function () {
|
|
329
|
+
var _runAction = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(resource, action, props) {
|
|
330
|
+
var payload, ids, record, _yield$makeRequest5, json;
|
|
331
|
+
|
|
332
|
+
return _regenerator["default"].wrap(function _callee9$(_context9) {
|
|
333
|
+
while (1) {
|
|
334
|
+
switch (_context9.prev = _context9.next) {
|
|
335
|
+
case 0:
|
|
336
|
+
payload = props.payload, ids = props.ids, record = props.record;
|
|
337
|
+
action = action.replace(/^\/+/, '');
|
|
338
|
+
|
|
339
|
+
if (record) {
|
|
340
|
+
action = action.replace(/\{([^}]+)\}/, function (_, field) {
|
|
341
|
+
return record[field];
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
_context9.next = 5;
|
|
346
|
+
return (0, _utils.makeRequest)("".concat(apiUrl, "/").concat(action), {
|
|
347
|
+
query: {
|
|
348
|
+
ids: ids
|
|
349
|
+
},
|
|
350
|
+
method: 'POST',
|
|
351
|
+
data: payload
|
|
352
|
+
});
|
|
353
|
+
|
|
354
|
+
case 5:
|
|
355
|
+
_yield$makeRequest5 = _context9.sent;
|
|
356
|
+
json = _yield$makeRequest5.json;
|
|
357
|
+
return _context9.abrupt("return", {
|
|
358
|
+
data: json
|
|
359
|
+
});
|
|
360
|
+
|
|
361
|
+
case 8:
|
|
362
|
+
case "end":
|
|
363
|
+
return _context9.stop();
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
}, _callee9);
|
|
367
|
+
}));
|
|
368
|
+
|
|
369
|
+
function runAction(_x17, _x18, _x19) {
|
|
370
|
+
return _runAction.apply(this, arguments);
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
return runAction;
|
|
374
|
+
}()
|
|
375
|
+
};
|
|
376
|
+
return methods;
|
|
377
|
+
};
|
|
378
|
+
|
|
379
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _get = _interopRequireDefault(require("lodash/get"));
|
|
15
|
+
|
|
16
|
+
var _raCore = require("ra-core");
|
|
17
|
+
|
|
18
|
+
var _Avatar = _interopRequireDefault(require("@mui/material/Avatar"));
|
|
19
|
+
|
|
20
|
+
var _excluded = ["source", "alt", "style", "nameProp"];
|
|
21
|
+
|
|
22
|
+
var AvatarField = function AvatarField(_ref) {
|
|
23
|
+
var source = _ref.source,
|
|
24
|
+
alt = _ref.alt,
|
|
25
|
+
style = _ref.style,
|
|
26
|
+
nameProp = _ref.nameProp,
|
|
27
|
+
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
28
|
+
var record = (0, _raCore.useRecordContext)(props);
|
|
29
|
+
var value = (0, _get["default"])(record, source),
|
|
30
|
+
name = record[nameProp];
|
|
31
|
+
var letters = name ? name.trim(' ').split(/\s+/).slice(0, 2).map(function (n) {
|
|
32
|
+
return n[0].toUpperCase();
|
|
33
|
+
}).join('') : '';
|
|
34
|
+
return /*#__PURE__*/_react["default"].createElement(_Avatar["default"], {
|
|
35
|
+
src: value,
|
|
36
|
+
alt: alt,
|
|
37
|
+
style: style
|
|
38
|
+
}, letters);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
AvatarField.displayName = 'AvatarField';
|
|
42
|
+
AvatarField.defaultProps = {
|
|
43
|
+
addLabel: true
|
|
44
|
+
};
|
|
45
|
+
var _default = AvatarField;
|
|
46
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _reactAdmin = require("react-admin");
|
|
17
|
+
|
|
18
|
+
var _excluded = ["refSource", "refID", "link", "reference", "source"];
|
|
19
|
+
|
|
20
|
+
var FKField = function FKField(_ref) {
|
|
21
|
+
var refSource = _ref.refSource,
|
|
22
|
+
refID = _ref.refID,
|
|
23
|
+
link = _ref.link,
|
|
24
|
+
reference = _ref.reference,
|
|
25
|
+
source = _ref.source,
|
|
26
|
+
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
27
|
+
return /*#__PURE__*/_react["default"].createElement(_reactAdmin.ReferenceField, (0, _extends2["default"])({
|
|
28
|
+
link: link || 'show',
|
|
29
|
+
reference: reference,
|
|
30
|
+
source: source
|
|
31
|
+
}, props), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_reactAdmin.TextField, {
|
|
32
|
+
source: refSource
|
|
33
|
+
}), ' (#', /*#__PURE__*/_react["default"].createElement(_reactAdmin.TextField, {
|
|
34
|
+
source: refID || 'id'
|
|
35
|
+
}), ')'));
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
FKField.displayName = 'FKField';
|
|
39
|
+
FKField.defaultProps = {
|
|
40
|
+
addLabel: true
|
|
41
|
+
};
|
|
42
|
+
var _default = FKField;
|
|
43
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = JsonField;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _get = _interopRequireDefault(require("lodash/get"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _reactAdmin = require("react-admin");
|
|
19
|
+
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
+
|
|
22
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
+
|
|
24
|
+
function JsonField(_ref) {
|
|
25
|
+
var label = _ref.label,
|
|
26
|
+
source = _ref.source;
|
|
27
|
+
|
|
28
|
+
var _useState = (0, _react.useState)(false),
|
|
29
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
30
|
+
expand = _useState2[0],
|
|
31
|
+
setExpand = _useState2[1];
|
|
32
|
+
|
|
33
|
+
var record = (0, _reactAdmin.useRecordContext)();
|
|
34
|
+
var src = JSON.stringify((0, _get["default"])(record, source), null, 2);
|
|
35
|
+
|
|
36
|
+
var retval = /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("p", null), label, /*#__PURE__*/_react["default"].createElement(_reactAdmin.Button, {
|
|
37
|
+
variant: "contained",
|
|
38
|
+
color: "primary",
|
|
39
|
+
size: "small",
|
|
40
|
+
label: expand ? 'colapse' : 'expand',
|
|
41
|
+
onClick: function onClick() {
|
|
42
|
+
return setExpand(!expand);
|
|
43
|
+
}
|
|
44
|
+
}), /*#__PURE__*/_react["default"].createElement("p", null, expand && /*#__PURE__*/_react["default"].createElement("pre", null, src)));
|
|
45
|
+
|
|
46
|
+
return /*#__PURE__*/_react["default"].createElement(_reactAdmin.FunctionField, {
|
|
47
|
+
render: function render() {
|
|
48
|
+
return retval;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = useAction;
|
|
7
|
+
|
|
8
|
+
var _reactAdmin = require("react-admin");
|
|
9
|
+
|
|
10
|
+
var _reactQuery = require("react-query");
|
|
11
|
+
|
|
12
|
+
function useAction(resource, action) {
|
|
13
|
+
var dataProvider = (0, _reactAdmin.useDataProvider)();
|
|
14
|
+
return (0, _reactQuery.useMutation)(function (params) {
|
|
15
|
+
return dataProvider.runAction(resource, action, params);
|
|
16
|
+
});
|
|
17
|
+
}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
require("./admin");
|
|
8
|
+
|
|
9
|
+
var _utils = require("./utils");
|
|
10
|
+
|
|
11
|
+
Object.keys(_utils).forEach(function (key) {
|
|
12
|
+
if (key === "default" || key === "__esModule") return;
|
|
13
|
+
if (key in exports && exports[key] === _utils[key]) return;
|
|
14
|
+
Object.defineProperty(exports, key, {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _utils[key];
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
});
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _reactAdmin = require("react-admin");
|
|
17
|
+
|
|
18
|
+
var _excluded = ["refProp", "refSource", "fullWidth", "reference", "source"];
|
|
19
|
+
|
|
20
|
+
var FKInput = function FKInput(_ref) {
|
|
21
|
+
var refProp = _ref.refProp,
|
|
22
|
+
refSource = _ref.refSource,
|
|
23
|
+
fullWidth = _ref.fullWidth,
|
|
24
|
+
reference = _ref.reference,
|
|
25
|
+
source = _ref.source,
|
|
26
|
+
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
27
|
+
|
|
28
|
+
var filterToQuery = function filterToQuery(search) {
|
|
29
|
+
var filters = {};
|
|
30
|
+
filters[refProp] = search;
|
|
31
|
+
return filters;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
refSource = refSource || 'id';
|
|
35
|
+
|
|
36
|
+
var renderText = function renderText(record) {
|
|
37
|
+
var pk = record[refSource];
|
|
38
|
+
return pk && "".concat(record[refProp], " (#").concat(pk, ")") || '';
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
return /*#__PURE__*/_react["default"].createElement(_reactAdmin.ReferenceInput, (0, _extends2["default"])({
|
|
42
|
+
reference: reference,
|
|
43
|
+
source: source,
|
|
44
|
+
filterToQuery: filterToQuery
|
|
45
|
+
}, props), /*#__PURE__*/_react["default"].createElement(_reactAdmin.AutocompleteInput, {
|
|
46
|
+
source: refSource,
|
|
47
|
+
optionText: renderText,
|
|
48
|
+
fullWidth: fullWidth
|
|
49
|
+
}));
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
var _default = FKInput;
|
|
53
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = JsonInput;
|
|
9
|
+
|
|
10
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _reactAdmin = require("react-admin");
|
|
17
|
+
|
|
18
|
+
var _isJSON = _interopRequireDefault(require("validator/lib/isJSON"));
|
|
19
|
+
|
|
20
|
+
var _excluded = ["validate", "errortext", "multiline", "parse"];
|
|
21
|
+
var DEFAULT_ERRORTEXT = 'Invalid JSON';
|
|
22
|
+
|
|
23
|
+
var parseFunction = function parseFunction(json) {
|
|
24
|
+
var retval = json;
|
|
25
|
+
|
|
26
|
+
try {
|
|
27
|
+
retval = JSON.parse(json);
|
|
28
|
+
} finally {
|
|
29
|
+
return retval;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* `JsonInput` validates if the entered value is JSON or not. If entered value is not a invalid JSON, `JsonInput` will throw an error.
|
|
35
|
+
* Default error message is: `Invalid JSON` and can be overridden using `errortext` prop.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* <JsonInput source='config' label='JSON Config' errortext='Enter a valid JSON'/>
|
|
39
|
+
*
|
|
40
|
+
* or use translate function:
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* <JsonInput source='config' label={translate('resources.resource_name.fields.config')} errortext={translate('myroot.validate.json')}/>
|
|
44
|
+
*
|
|
45
|
+
* By default, `JsonInput` parses and returns the entered string as object. Instead, to send string directly, please pass `parse` prop as `false`
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* <JsonInput source='config' label='JSON Config' parse={false}/>
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
function JsonInput(props) {
|
|
53
|
+
var _props$validate = props.validate,
|
|
54
|
+
validate = _props$validate === void 0 ? [] : _props$validate,
|
|
55
|
+
_props$errortext = props.errortext,
|
|
56
|
+
errortext = _props$errortext === void 0 ? DEFAULT_ERRORTEXT : _props$errortext,
|
|
57
|
+
_props$multiline = props.multiline,
|
|
58
|
+
multiline = _props$multiline === void 0 ? true : _props$multiline,
|
|
59
|
+
_props$parse = props.parse,
|
|
60
|
+
parse = _props$parse === void 0 ? true : _props$parse,
|
|
61
|
+
rest = (0, _objectWithoutProperties2["default"])(props, _excluded); // const errorobj = { message: errortext }
|
|
62
|
+
|
|
63
|
+
var validateJSON = function validateJSON(value) {
|
|
64
|
+
if (!value || (0, _typeof2["default"])(value) === 'object') return undefined;
|
|
65
|
+
return (0, _isJSON["default"])(value) ? undefined : errortext;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
validate.push(validateJSON);
|
|
69
|
+
rest.validate = validate;
|
|
70
|
+
|
|
71
|
+
var formatJSON = function formatJSON(json) {
|
|
72
|
+
var retval = json;
|
|
73
|
+
if (retval && (0, _typeof2["default"])(retval) === 'object') retval = JSON.stringify(retval, null, 2);
|
|
74
|
+
return retval;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
rest.format = formatJSON; //
|
|
78
|
+
|
|
79
|
+
if (parse) rest.parse = parseFunction;
|
|
80
|
+
if (multiline) rest.multiline = true;
|
|
81
|
+
return /*#__PURE__*/_react["default"].createElement(_reactAdmin.TextInput, rest);
|
|
82
|
+
}
|