muffin-admin 1.30.0 → 1.31.0

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.
Files changed (45) hide show
  1. package/Makefile +7 -0
  2. package/dist/admin.js +82 -0
  3. package/dist/authprovider.js +250 -0
  4. package/dist/buttons/ActionButton.js +110 -0
  5. package/dist/buttons/LinkButton.js +44 -0
  6. package/dist/dashboard.js +70 -0
  7. package/dist/dataprovider.js +379 -0
  8. package/dist/fields/AvatarField.js +46 -0
  9. package/dist/fields/FKField.js +43 -0
  10. package/dist/fields/JsonField.js +51 -0
  11. package/dist/hooks/useAction.js +17 -0
  12. package/dist/index.js +21 -0
  13. package/dist/inputs/FKInput.js +53 -0
  14. package/dist/inputs/JsonInput.js +82 -0
  15. package/dist/resources.js +57 -0
  16. package/dist/ui.js +95 -0
  17. package/dist/utils.js +67 -0
  18. package/dist/views/create.js +25 -0
  19. package/dist/views/edit.js +53 -0
  20. package/dist/views/list.js +83 -0
  21. package/dist/views/show.js +36 -0
  22. package/dist/web.js +33 -0
  23. package/package.json +12 -3
  24. package/webpack.config.js +3 -6
  25. package/.babelrc +0 -5
  26. package/admin.jsx +0 -60
  27. package/authprovider.js +0 -84
  28. package/buttons/ActionButton.jsx +0 -99
  29. package/buttons/LinkButton.jsx +0 -21
  30. package/dashboard.jsx +0 -74
  31. package/dataprovider.js +0 -94
  32. package/fields/AvatarField.jsx +0 -34
  33. package/fields/FKField.jsx +0 -28
  34. package/fields/JsonField.jsx +0 -25
  35. package/hooks/useAction.js +0 -9
  36. package/index.js +0 -15
  37. package/inputs/FKInput.jsx +0 -42
  38. package/inputs/JsonInput.jsx +0 -62
  39. package/resources.jsx +0 -37
  40. package/ui.jsx +0 -107
  41. package/utils.js +0 -39
  42. package/views/create.jsx +0 -30
  43. package/views/edit.jsx +0 -42
  44. package/views/list.jsx +0 -86
  45. package/views/show.jsx +0 -43
@@ -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
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+
11
+ var _react = _interopRequireDefault(require("react"));
12
+
13
+ var _reactAdmin = require("react-admin");
14
+
15
+ var icons = _interopRequireWildcard(require("@mui/icons-material"));
16
+
17
+ var _utils = require("./utils");
18
+
19
+ require("./views/list.jsx");
20
+
21
+ require("./views/show.jsx");
22
+
23
+ require("./views/edit.jsx");
24
+
25
+ require("./views/create.jsx");
26
+
27
+ var _excluded = ["create", "edit", "icon", "list", "name", "show"];
28
+
29
+ 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); }
30
+
31
+ 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; }
32
+
33
+ // Initialize Resources Components
34
+ (0, _utils.setupAdmin)('resources', function (resources) {
35
+ return resources.map(function (res) {
36
+ return (0, _utils.processAdmin)('resource', res, res.name);
37
+ });
38
+ }); // Initialize a resource's component
39
+
40
+ (0, _utils.setupAdmin)('resource', (0, _utils.checkParams)(function (props, res) {
41
+ var create = props.create,
42
+ edit = props.edit,
43
+ icon = props.icon,
44
+ list = props.list,
45
+ name = props.name,
46
+ show = props.show,
47
+ resProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
48
+ return /*#__PURE__*/_react["default"].createElement(_reactAdmin.Resource, (0, _extends2["default"])({
49
+ key: name,
50
+ name: name,
51
+ icon: icons[icon],
52
+ create: (0, _utils.processAdmin)('create', create, res),
53
+ edit: (0, _utils.processAdmin)('edit', edit, res),
54
+ list: (0, _utils.processAdmin)('list', list, res),
55
+ show: (0, _utils.processAdmin)('show', show, res)
56
+ }, resProps));
57
+ }));
package/dist/ui.js ADDED
@@ -0,0 +1,95 @@
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _reactAdmin = require("react-admin");
17
+
18
+ var _AvatarField = _interopRequireDefault(require("./fields/AvatarField.jsx"));
19
+
20
+ var _FKField = _interopRequireDefault(require("./fields/FKField.jsx"));
21
+
22
+ var _FKInput = _interopRequireDefault(require("./inputs/FKInput.jsx"));
23
+
24
+ var _JsonField = _interopRequireDefault(require("./fields/JsonField.jsx"));
25
+
26
+ var _JsonInput = _interopRequireDefault(require("./inputs/JsonInput.jsx"));
27
+
28
+ 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; }
29
+
30
+ 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; }
31
+
32
+ var ui = {
33
+ // Fields
34
+ BooleanField: _reactAdmin.BooleanField,
35
+ ChipField: _reactAdmin.ChipField,
36
+ DateField: _reactAdmin.DateField,
37
+ EmailField: _reactAdmin.EmailField,
38
+ ImageField: _reactAdmin.ImageField,
39
+ FileField: _reactAdmin.FileField,
40
+ NumberField: _reactAdmin.NumberField,
41
+ RichTextField: _reactAdmin.RichTextField,
42
+ TextField: _reactAdmin.TextField,
43
+ UrlField: _reactAdmin.UrlField,
44
+ SelectField: _reactAdmin.SelectField,
45
+ ArrayField: _reactAdmin.ArrayField,
46
+ ReferenceField: _reactAdmin.ReferenceField,
47
+ ReferenceManyField: _reactAdmin.ReferenceManyField,
48
+ ReferenceArrayField: _reactAdmin.ReferenceArrayField,
49
+ AvatarField: _AvatarField["default"],
50
+ JsonField: _JsonField["default"],
51
+ FKField: _FKField["default"],
52
+ // Inputs
53
+ BooleanInput: _reactAdmin.BooleanInput,
54
+ NullableBooleanInput: _reactAdmin.NullableBooleanInput,
55
+ DateInput: _reactAdmin.DateInput,
56
+ DateTimeInput: _reactAdmin.DateTimeInput,
57
+ ImageInput: _reactAdmin.ImageInput,
58
+ FileInput: _reactAdmin.FileInput,
59
+ NumberInput: _reactAdmin.NumberInput,
60
+ PasswordInput: _reactAdmin.PasswordInput,
61
+ TextInput: _reactAdmin.TextInput,
62
+ AutocompleteInput: _reactAdmin.AutocompleteInput,
63
+ RadioButtonGroupInput: _reactAdmin.RadioButtonGroupInput,
64
+ SelectInput: _reactAdmin.SelectInput,
65
+ ArrayInput: _reactAdmin.ArrayInput,
66
+ AutocompleteArrayInput: _reactAdmin.AutocompleteArrayInput,
67
+ CheckboxGroupInput: _reactAdmin.CheckboxGroupInput,
68
+ ReferenceArrayInput: _reactAdmin.ReferenceArrayInput,
69
+ ReferenceInput: _reactAdmin.ReferenceInput,
70
+ JsonInput: _JsonInput["default"],
71
+ FKInput: _FKInput["default"]
72
+ };
73
+
74
+ var initRAItems = function initRAItems(itemsProps) {
75
+ return itemsProps.map(function (item) {
76
+ var _props$fullWidth;
77
+
78
+ var Item = ui[item[0]],
79
+ props = _objectSpread({}, item[1]);
80
+
81
+ if (props.required) {
82
+ props.validate = (0, _reactAdmin.required)();
83
+ delete props.required;
84
+ }
85
+
86
+ props.fullWidth = (_props$fullWidth = props.fullWidth) !== null && _props$fullWidth !== void 0 ? _props$fullWidth : true;
87
+ if (props.children) props.children = initRAItems(props.children)[0];
88
+ return /*#__PURE__*/_react["default"].createElement(Item, (0, _extends2["default"])({
89
+ key: props.source
90
+ }, props));
91
+ });
92
+ };
93
+
94
+ var _default = initRAItems;
95
+ exports["default"] = _default;
package/dist/utils.js ADDED
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.setupAdmin = exports.requestHeaders = exports.processAdmin = exports.makeRequest = exports.checkParams = 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 _react = require("react");
15
+
16
+ var _raCore = require("ra-core");
17
+
18
+ var _queryString = require("query-string");
19
+
20
+ var _excluded = ["data", "query"];
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 parts = {};
27
+
28
+ var setupAdmin = function setupAdmin(part, gen) {
29
+ return parts[part] = gen;
30
+ };
31
+
32
+ exports.setupAdmin = setupAdmin;
33
+
34
+ var checkParams = function checkParams(fn) {
35
+ return function (props, res) {
36
+ if (!props || /*#__PURE__*/(0, _react.isValidElement)(props)) return props;
37
+ return fn(props, res);
38
+ };
39
+ };
40
+
41
+ exports.checkParams = checkParams;
42
+
43
+ var processAdmin = function processAdmin(type, props, res) {
44
+ if (process.env.NODE_ENV == 'development') console.log("".concat(type).concat(res ? '-' + res : ''), props);
45
+ if (parts["".concat(type, "-").concat(res)]) return parts["".concat(type, "-").concat(res)](props, res);
46
+ if (parts[type]) return parts[type](props, res);
47
+ };
48
+
49
+ exports.processAdmin = processAdmin;
50
+ var requestHeaders = {};
51
+ exports.requestHeaders = requestHeaders;
52
+
53
+ var makeRequest = function makeRequest(url, params) {
54
+ var _ref = params || {},
55
+ data = _ref.data,
56
+ query = _ref.query,
57
+ opts = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
58
+
59
+ if (data) opts.body = JSON.stringify(data);
60
+ if (query) url = "".concat(url, "?").concat((0, _queryString.stringify)(query));
61
+ opts = _objectSpread(_objectSpread({}, opts), {}, {
62
+ headers: new Headers(_objectSpread(_objectSpread({}, requestHeaders), opts.headers))
63
+ });
64
+ return _raCore.fetchUtils.fetchJson(url, opts);
65
+ };
66
+
67
+ exports.makeRequest = makeRequest;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
+
7
+ var _react = _interopRequireDefault(require("react"));
8
+
9
+ var _reactAdmin = require("react-admin");
10
+
11
+ var _ui = _interopRequireDefault(require("../ui.jsx"));
12
+
13
+ var _utils = require("../utils");
14
+
15
+ // Initialize a create component
16
+ (0, _utils.setupAdmin)('create', (0, _utils.checkParams)(function (inputs, res) {
17
+ return function MACreate(props) {
18
+ var Actions = /*#__PURE__*/_react["default"].createElement(_reactAdmin.TopToolbar, null, /*#__PURE__*/_react["default"].createElement(_reactAdmin.ListButton, null));
19
+
20
+ return /*#__PURE__*/_react["default"].createElement(_reactAdmin.Create, (0, _extends2["default"])({
21
+ actions: Actions
22
+ }, props), /*#__PURE__*/_react["default"].createElement(_reactAdmin.SimpleForm, null, (0, _utils.processAdmin)('create-inputs', inputs, res)));
23
+ };
24
+ }));
25
+ (0, _utils.setupAdmin)('create-inputs', _ui["default"]);
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
+
7
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
+
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+
11
+ var _react = _interopRequireDefault(require("react"));
12
+
13
+ var _reactAdmin = require("react-admin");
14
+
15
+ var _ui = _interopRequireDefault(require("../ui.jsx"));
16
+
17
+ var _utils = require("../utils");
18
+
19
+ var _ActionButton = require("../buttons/ActionButton.jsx");
20
+
21
+ var _excluded = ["basePath", "resource"];
22
+
23
+ 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; }
24
+
25
+ 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; }
26
+
27
+ // Initialize an edit component
28
+ (0, _utils.setupAdmin)('edit', (0, _utils.checkParams)(function (_ref, res) {
29
+ var actions = _ref.actions,
30
+ inputs = _ref.inputs;
31
+ return function MAEdit(props) {
32
+ var Actions = function Actions(_ref2) {
33
+ var basePath = _ref2.basePath,
34
+ resource = _ref2.resource,
35
+ baseProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
36
+ return /*#__PURE__*/_react["default"].createElement(_reactAdmin.TopToolbar, null, actions.map(function (props, idx) {
37
+ var aProps = _objectSpread(_objectSpread({
38
+ resource: resource,
39
+ basePath: basePath
40
+ }, baseProps), props);
41
+
42
+ return /*#__PURE__*/_react["default"].createElement(_ActionButton.ActionButton, (0, _extends2["default"])({
43
+ key: idx
44
+ }, aProps));
45
+ }), /*#__PURE__*/_react["default"].createElement(_reactAdmin.ListButton, null), /*#__PURE__*/_react["default"].createElement(_reactAdmin.ShowButton, null));
46
+ };
47
+
48
+ return /*#__PURE__*/_react["default"].createElement(_reactAdmin.Edit, (0, _extends2["default"])({
49
+ actions: /*#__PURE__*/_react["default"].createElement(Actions, null)
50
+ }, props), /*#__PURE__*/_react["default"].createElement(_reactAdmin.SimpleForm, null, (0, _utils.processAdmin)('edit-inputs', inputs, res)));
51
+ };
52
+ }));
53
+ (0, _utils.setupAdmin)('edit-inputs', _ui["default"]);
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
+
7
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
+
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+
11
+ var _react = _interopRequireDefault(require("react"));
12
+
13
+ var _reactAdmin = require("react-admin");
14
+
15
+ var _uniq = _interopRequireDefault(require("lodash/uniq"));
16
+
17
+ var _sortBy = _interopRequireDefault(require("lodash/sortBy"));
18
+
19
+ var _ui = _interopRequireDefault(require("../ui.jsx"));
20
+
21
+ var _utils = require("../utils");
22
+
23
+ var _ActionButton = require("../buttons/ActionButton.jsx");
24
+
25
+ var _excluded = ["children", "filters", "edit", "pagination", "show", "limit", "limitMax", "actions"];
26
+
27
+ 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; }
28
+
29
+ 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; }
30
+
31
+ var defaultPagination = /*#__PURE__*/_react["default"].createElement(_reactAdmin.Pagination, {
32
+ rowsPerPageOptions: [10, 25, 50, 100]
33
+ }); // Initiliaze a list component
34
+
35
+
36
+ (0, _utils.setupAdmin)('list', (0, _utils.checkParams)(function (props, res) {
37
+ var children = props.children,
38
+ filters = props.filters,
39
+ edit = props.edit,
40
+ pagination = props.pagination,
41
+ show = props.show,
42
+ limit = props.limit,
43
+ limitMax = props.limitMax,
44
+ actions = props.actions,
45
+ listProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
46
+ children = (0, _utils.processAdmin)('list-fields', children, res);
47
+ if (edit) children.push( /*#__PURE__*/_react["default"].createElement(_reactAdmin.EditButton, {
48
+ key: "edit-button"
49
+ }));
50
+ pagination = pagination || /*#__PURE__*/_react["default"].createElement(_reactAdmin.Pagination, {
51
+ rowsPerPageOptions: (0, _sortBy["default"])((0, _uniq["default"])([10, 25, 50, 100, limit, limitMax]))
52
+ });
53
+ return function MAList(props) {
54
+ var Filters = function Filters(props) {
55
+ return /*#__PURE__*/_react["default"].createElement(_reactAdmin.Filter, props, (0, _utils.processAdmin)('list-filters', filters, res));
56
+ };
57
+
58
+ var Actions = (0, _utils.processAdmin)('list-bulkActions', actions);
59
+ props = _objectSpread(_objectSpread({}, props), listProps);
60
+ return /*#__PURE__*/_react["default"].createElement(_reactAdmin.List, (0, _extends2["default"])({
61
+ filters: /*#__PURE__*/_react["default"].createElement(Filters, null),
62
+ bulkActionButtons: /*#__PURE__*/_react["default"].createElement(Actions, null),
63
+ perPage: limit,
64
+ pagination: pagination || defaultPagination
65
+ }, props), /*#__PURE__*/_react["default"].createElement(_reactAdmin.Datagrid, {
66
+ rowClick: show ? 'show' : null
67
+ }, children));
68
+ };
69
+ }));
70
+ (0, _utils.setupAdmin)('list-bulkActions', function (actions) {
71
+ return function MABulkActions(props) {
72
+ var buttons = actions.map(function (action, idx) {
73
+ var aProps = _objectSpread(_objectSpread({}, action), props);
74
+
75
+ return /*#__PURE__*/_react["default"].createElement(_ActionButton.BulkActionButton, (0, _extends2["default"])({
76
+ key: idx
77
+ }, aProps));
78
+ });
79
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, buttons, /*#__PURE__*/_react["default"].createElement(_reactAdmin.BulkDeleteButton, props));
80
+ };
81
+ });
82
+ (0, _utils.setupAdmin)('list-filters', _ui["default"]);
83
+ (0, _utils.setupAdmin)('list-fields', _ui["default"]);
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
+
7
+ var _react = _interopRequireDefault(require("react"));
8
+
9
+ var _reactAdmin = require("react-admin");
10
+
11
+ var _ui = _interopRequireDefault(require("../ui.jsx"));
12
+
13
+ var _utils = require("../utils");
14
+
15
+ var _ActionButton = require("../buttons/ActionButton.jsx");
16
+
17
+ // Initiliaze a show component
18
+ (0, _utils.setupAdmin)('show', (0, _utils.checkParams)(function (_ref, resource) {
19
+ var actions = _ref.actions,
20
+ fields = _ref.fields;
21
+ return function MAShow(props) {
22
+ var Actions = function Actions() {
23
+ return /*#__PURE__*/_react["default"].createElement(_reactAdmin.TopToolbar, null, actions.map(function (props, idx) {
24
+ return /*#__PURE__*/_react["default"].createElement(_ActionButton.ActionButton, (0, _extends2["default"])({
25
+ key: idx,
26
+ resource: resource
27
+ }, props));
28
+ }), /*#__PURE__*/_react["default"].createElement(_reactAdmin.ListButton, null), /*#__PURE__*/_react["default"].createElement(_reactAdmin.EditButton, null));
29
+ };
30
+
31
+ return /*#__PURE__*/_react["default"].createElement(_reactAdmin.Show, (0, _extends2["default"])({
32
+ actions: /*#__PURE__*/_react["default"].createElement(Actions, null)
33
+ }, props), /*#__PURE__*/_react["default"].createElement(_reactAdmin.SimpleShowLayout, null, (0, _utils.processAdmin)('show-fields', fields, resource)));
34
+ };
35
+ }));
36
+ (0, _utils.setupAdmin)('show-fields', _ui["default"]);
package/dist/web.js ADDED
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ Object.defineProperty(exports, "processAdmin", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _utils.processAdmin;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "setupAdmin", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _utils.setupAdmin;
17
+ }
18
+ });
19
+
20
+ var _client = require("react-dom/client");
21
+
22
+ var _utils = require("./utils.js");
23
+
24
+ require("./admin.jsx");
25
+
26
+ var initAdmin = globalThis.initAdmin = function (props) {
27
+ var container = document.getElementById('root');
28
+ var root = (0, _client.createRoot)(container);
29
+ root.render((0, _utils.processAdmin)('admin', props));
30
+ };
31
+
32
+ var _default = initAdmin;
33
+ exports["default"] = _default;
package/package.json CHANGED
@@ -1,9 +1,8 @@
1
1
  {
2
2
  "name": "muffin-admin",
3
- "version": "1.30.0",
3
+ "version": "1.31.0",
4
4
  "description": "NPM package for https://github.com/klen/muffin-admin",
5
- "main": "index.js",
6
- "module": "index.js",
5
+ "main": "dist/index.js",
7
6
  "scripts": {
8
7
  "test": "echo \"Error: no test specified\" && exit 1"
9
8
  },
@@ -27,6 +26,7 @@
27
26
  "validator": "^13.7.0"
28
27
  },
29
28
  "devDependencies": {
29
+ "@babel/cli": "^7.17.10",
30
30
  "@babel/core": "^7.17.8",
31
31
  "@babel/eslint-parser": "^7.17.0",
32
32
  "@babel/plugin-transform-runtime": "^7.17.0",
@@ -37,5 +37,14 @@
37
37
  "webpack": "^5.24.4",
38
38
  "webpack-cli": "^4.9.1",
39
39
  "webpack-dev-server": "^4.3.1"
40
+ },
41
+ "babel": {
42
+ "presets": [
43
+ "@babel/preset-env",
44
+ "@babel/preset-react"
45
+ ],
46
+ "plugins": [
47
+ "@babel/plugin-transform-runtime"
48
+ ]
40
49
  }
41
50
  }
package/webpack.config.js CHANGED
@@ -3,7 +3,7 @@ const path = require('path'),
3
3
  mode = process.env.NODE_ENV
4
4
 
5
5
  module.exports = {
6
- entry: '.',
6
+ entry: './src/web',
7
7
 
8
8
  output: {
9
9
  filename: 'main.js',
@@ -14,13 +14,10 @@ module.exports = {
14
14
  module: {
15
15
  rules: [
16
16
  {
17
- test: /\.jsx$/,
17
+ test: /\.jsx?$/,
18
+ exclude: /node_modules/,
18
19
  use: {
19
20
  loader: 'babel-loader',
20
- options: {
21
- presets: ['@babel/preset-env', '@babel/preset-react'],
22
- plugins: ['@babel/plugin-transform-runtime'],
23
- },
24
21
  },
25
22
  },
26
23
  ],
package/.babelrc DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "presets": [
3
- "@babel/preset-react"
4
- ]
5
- }
package/admin.jsx DELETED
@@ -1,60 +0,0 @@
1
- import React from 'react'
2
-
3
- import { Admin, AppBar, Layout, Login } from 'react-admin'
4
- import { IconButton, SvgIcon, Tooltip, Typography } from '@mui/material'
5
- import * as icons from '@mui/icons-material'
6
-
7
- import authProvider from './authprovider'
8
- import dataProvider from './dataprovider'
9
- import { processAdmin, setupAdmin } from './utils'
10
-
11
- import './dashboard.jsx'
12
- import './resources.jsx'
13
-
14
- // Initialize the admin
15
- setupAdmin('admin', (props) => {
16
- const { apiUrl, auth, adminProps, appBarLinks, dashboard, resources } = props
17
-
18
- let appBar = (props) => (
19
- <AppBar {...props}>
20
- <Typography
21
- variant='h6'
22
- color='inherit'
23
- id='react-admin-title'
24
- style={{
25
- flex: 1,
26
- textOverflow: 'ellipsis',
27
- whiteSpace: 'nowrap',
28
- overflow: 'hidden',
29
- }}
30
- />
31
- {appBarLinks.map((info) => (
32
- <Tooltip key={info.url} title={info.title}>
33
- <IconButton color='inherit' href={info.url}>
34
- <SvgIcon component={icons[info.icon]} />
35
- </IconButton>
36
- </Tooltip>
37
- ))}
38
- </AppBar>
39
- )
40
-
41
- return (
42
- <Admin
43
- authProvider={processAdmin('auth', auth)}
44
- dataProvider={processAdmin('data', apiUrl)}
45
- dashboard={processAdmin('dashboard', dashboard)}
46
- loginPage={processAdmin('login', auth)}
47
- layout={(props) => <Layout appBar={appBar} {...props} />}
48
- {...adminProps}
49
- >
50
- {processAdmin('resources', resources)}
51
- </Admin>
52
- )
53
- })
54
-
55
- // Initialize authentication and data providers
56
- setupAdmin('auth', authProvider)
57
- setupAdmin('data', dataProvider)
58
-
59
- // Initialize login page
60
- setupAdmin('login', () => Login)