decap-cms-widget-list 2.11.0-beta.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.
- package/CHANGELOG.md +556 -0
- package/LICENSE +22 -0
- package/README.md +9 -0
- package/dist/decap-cms-widget-list.js +7 -0
- package/dist/decap-cms-widget-list.js.LICENSE.txt +23 -0
- package/dist/decap-cms-widget-list.js.map +1 -0
- package/dist/esm/ListControl.js +676 -0
- package/dist/esm/index.js +32 -0
- package/dist/esm/schema.js +35 -0
- package/dist/esm/typedListHelpers.js +44 -0
- package/package.json +39 -0
- package/src/ListControl.js +680 -0
- package/src/__tests__/ListControl.spec.js +792 -0
- package/src/__tests__/__snapshots__/ListControl.spec.js.snap +2213 -0
- package/src/index.js +19 -0
- package/src/schema.js +12 -0
- package/src/typedListHelpers.js +35 -0
- package/webpack.config.js +3 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.DecapCmsWidgetList = void 0;
|
|
7
|
+
var _decapCmsWidgetObject = _interopRequireDefault(require("decap-cms-widget-object"));
|
|
8
|
+
var _ListControl = _interopRequireDefault(require("./ListControl"));
|
|
9
|
+
var _schema = _interopRequireDefault(require("./schema"));
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
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; }
|
|
12
|
+
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) { _defineProperty(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; }
|
|
13
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
14
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
15
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
16
|
+
const previewComponent = _decapCmsWidgetObject.default.previewComponent;
|
|
17
|
+
function Widget(opts = {}) {
|
|
18
|
+
return _objectSpread({
|
|
19
|
+
name: 'list',
|
|
20
|
+
controlComponent: _ListControl.default,
|
|
21
|
+
previewComponent,
|
|
22
|
+
schema: _schema.default
|
|
23
|
+
}, opts);
|
|
24
|
+
}
|
|
25
|
+
const DecapCmsWidgetList = {
|
|
26
|
+
Widget,
|
|
27
|
+
controlComponent: _ListControl.default,
|
|
28
|
+
previewComponent
|
|
29
|
+
};
|
|
30
|
+
exports.DecapCmsWidgetList = DecapCmsWidgetList;
|
|
31
|
+
var _default = DecapCmsWidgetList;
|
|
32
|
+
exports.default = _default;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _default = {
|
|
8
|
+
properties: {
|
|
9
|
+
allow_add: {
|
|
10
|
+
type: 'boolean'
|
|
11
|
+
},
|
|
12
|
+
collapsed: {
|
|
13
|
+
type: 'boolean'
|
|
14
|
+
},
|
|
15
|
+
summary: {
|
|
16
|
+
type: 'string'
|
|
17
|
+
},
|
|
18
|
+
minimize_collapsed: {
|
|
19
|
+
type: 'boolean'
|
|
20
|
+
},
|
|
21
|
+
label_singular: {
|
|
22
|
+
type: 'string'
|
|
23
|
+
},
|
|
24
|
+
i18n: {
|
|
25
|
+
type: 'boolean'
|
|
26
|
+
},
|
|
27
|
+
min: {
|
|
28
|
+
type: 'number'
|
|
29
|
+
},
|
|
30
|
+
max: {
|
|
31
|
+
type: 'number'
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
exports.default = _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TYPE_KEY = exports.TYPES_KEY = exports.DEFAULT_TYPE_KEY = void 0;
|
|
7
|
+
exports.getErrorMessageForTypedFieldAndValue = getErrorMessageForTypedFieldAndValue;
|
|
8
|
+
exports.getTypedFieldForValue = getTypedFieldForValue;
|
|
9
|
+
exports.resolveFieldKeyType = resolveFieldKeyType;
|
|
10
|
+
exports.resolveFunctionForTypedField = resolveFunctionForTypedField;
|
|
11
|
+
const TYPES_KEY = 'types';
|
|
12
|
+
exports.TYPES_KEY = TYPES_KEY;
|
|
13
|
+
const TYPE_KEY = 'typeKey';
|
|
14
|
+
exports.TYPE_KEY = TYPE_KEY;
|
|
15
|
+
const DEFAULT_TYPE_KEY = 'type';
|
|
16
|
+
exports.DEFAULT_TYPE_KEY = DEFAULT_TYPE_KEY;
|
|
17
|
+
function getTypedFieldForValue(field, value) {
|
|
18
|
+
const typeKey = resolveFieldKeyType(field);
|
|
19
|
+
const types = field.get(TYPES_KEY);
|
|
20
|
+
const valueType = value.get(typeKey);
|
|
21
|
+
return types.find(type => type.get('name') === valueType);
|
|
22
|
+
}
|
|
23
|
+
function resolveFunctionForTypedField(field) {
|
|
24
|
+
const typeKey = resolveFieldKeyType(field);
|
|
25
|
+
const types = field.get(TYPES_KEY);
|
|
26
|
+
return value => {
|
|
27
|
+
const valueType = value.get(typeKey);
|
|
28
|
+
return types.find(type => type.get('name') === valueType);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function resolveFieldKeyType(field) {
|
|
32
|
+
return field.get(TYPE_KEY, DEFAULT_TYPE_KEY);
|
|
33
|
+
}
|
|
34
|
+
function getErrorMessageForTypedFieldAndValue(field, value) {
|
|
35
|
+
const keyType = resolveFieldKeyType(field);
|
|
36
|
+
const type = value.get(keyType);
|
|
37
|
+
let errorMessage;
|
|
38
|
+
if (!type) {
|
|
39
|
+
errorMessage = `Error: item has no '${keyType}' property`;
|
|
40
|
+
} else {
|
|
41
|
+
errorMessage = `Error: item has illegal '${keyType}' property: '${type}'`;
|
|
42
|
+
}
|
|
43
|
+
return errorMessage;
|
|
44
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "decap-cms-widget-list",
|
|
3
|
+
"description": "Widget for editing lists in Decap CMS.",
|
|
4
|
+
"version": "2.11.0-beta.0",
|
|
5
|
+
"homepage": "https://www.decapcms.org/docs/widgets/#list",
|
|
6
|
+
"repository": "https://github.com/decaporg/decap-cms/tree/master/packages/decap-cms-widget-list",
|
|
7
|
+
"bugs": "https://github.com/decaporg/decap-cms/issues",
|
|
8
|
+
"module": "dist/esm/index.js",
|
|
9
|
+
"main": "dist/decap-cms-widget-list.js",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"keywords": [
|
|
12
|
+
"decap-cms",
|
|
13
|
+
"widget",
|
|
14
|
+
"list",
|
|
15
|
+
"object"
|
|
16
|
+
],
|
|
17
|
+
"sideEffects": false,
|
|
18
|
+
"scripts": {
|
|
19
|
+
"develop": "yarn build:esm --watch",
|
|
20
|
+
"build": "cross-env NODE_ENV=production webpack",
|
|
21
|
+
"build:esm": "cross-env NODE_ENV=esm babel src --out-dir dist/esm --ignore \"**/__tests__\" --root-mode upward"
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"react-sortable-hoc": "^2.0.0"
|
|
25
|
+
},
|
|
26
|
+
"peerDependencies": {
|
|
27
|
+
"@emotion/core": "^10.0.35",
|
|
28
|
+
"@emotion/styled": "^10.0.27",
|
|
29
|
+
"decap-cms-lib-widgets": "^1.6.1",
|
|
30
|
+
"decap-cms-ui-default": "^2.12.1",
|
|
31
|
+
"decap-cms-widget-object": "^2.6.2",
|
|
32
|
+
"immutable": "^3.7.6",
|
|
33
|
+
"lodash": "^4.17.11",
|
|
34
|
+
"prop-types": "^15.7.2",
|
|
35
|
+
"react": "^16.8.4 || ^17.0.0",
|
|
36
|
+
"react-immutable-proptypes": "^2.1.0"
|
|
37
|
+
},
|
|
38
|
+
"gitHead": "1bdf716e5655bf088a343cd90210a2d361a9db52"
|
|
39
|
+
}
|