decap-cms-widget-object 3.1.4 → 3.2.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 +6 -0
- package/dist/decap-cms-widget-object.js +5 -5
- package/dist/decap-cms-widget-object.js.map +1 -1
- package/dist/esm/ObjectControl.js +40 -46
- package/dist/esm/ObjectPreview.js +7 -14
- package/dist/esm/index.js +10 -17
- package/dist/esm/schema.js +1 -7
- package/package.json +2 -2
- package/src/ObjectControl.js +2 -1
|
@@ -1,20 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
|
|
10
|
-
var _react2 = require("@emotion/react");
|
|
11
|
-
var _immutable = require("immutable");
|
|
12
|
-
var _decapCmsUiDefault = require("decap-cms-ui-default");
|
|
13
|
-
var _decapCmsLibWidgets = require("decap-cms-lib-widgets");
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
1
|
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; }
|
|
16
2
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
17
3
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import ImmutablePropTypes from 'react-immutable-proptypes';
|
|
7
|
+
import { ClassNames } from '@emotion/react';
|
|
8
|
+
import { List, Map } from 'immutable';
|
|
9
|
+
import { colors, lengths, ObjectWidgetTopBar } from 'decap-cms-ui-default';
|
|
10
|
+
import { stringTemplate } from 'decap-cms-lib-widgets';
|
|
11
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
18
12
|
const styleStrings = {
|
|
19
13
|
nestedObjectControl: `
|
|
20
14
|
padding: 6px 14px 14px;
|
|
@@ -23,13 +17,13 @@ const styleStrings = {
|
|
|
23
17
|
border-top-right-radius: 0;
|
|
24
18
|
`,
|
|
25
19
|
objectWidgetTopBarContainer: `
|
|
26
|
-
padding: ${
|
|
20
|
+
padding: ${lengths.objectWidgetTopBarContainerPadding};
|
|
27
21
|
`,
|
|
28
22
|
collapsedObjectControl: `
|
|
29
23
|
display: none;
|
|
30
24
|
`
|
|
31
25
|
};
|
|
32
|
-
class ObjectControl extends
|
|
26
|
+
export default class ObjectControl extends React.Component {
|
|
33
27
|
constructor(props) {
|
|
34
28
|
super(props);
|
|
35
29
|
_defineProperty(this, "componentValidate", {});
|
|
@@ -38,7 +32,7 @@ class ObjectControl extends _react.default.Component {
|
|
|
38
32
|
field
|
|
39
33
|
} = this.props;
|
|
40
34
|
let fields = field.get('field') || field.get('fields');
|
|
41
|
-
fields =
|
|
35
|
+
fields = List.isList(fields) ? fields : List([fields]);
|
|
42
36
|
fields.forEach(field => {
|
|
43
37
|
if (field.get('widget') === 'hidden') return;
|
|
44
38
|
this.componentValidate[field.get('name')]();
|
|
@@ -62,7 +56,7 @@ class ObjectControl extends _react.default.Component {
|
|
|
62
56
|
} = this.props;
|
|
63
57
|
const label = field.get('label', field.get('name'));
|
|
64
58
|
const summary = field.get('summary');
|
|
65
|
-
return summary ?
|
|
59
|
+
return summary ? stringTemplate.compileStringTemplate(summary, null, '', value) : label;
|
|
66
60
|
});
|
|
67
61
|
this.state = {
|
|
68
62
|
collapsed: props.field.get('collapsed', false)
|
|
@@ -92,16 +86,17 @@ class ObjectControl extends _react.default.Component {
|
|
|
92
86
|
isFieldDuplicate,
|
|
93
87
|
isFieldHidden,
|
|
94
88
|
locale,
|
|
95
|
-
collapsed
|
|
89
|
+
collapsed,
|
|
90
|
+
forID
|
|
96
91
|
} = this.props;
|
|
97
92
|
if (field.get('widget') === 'hidden') {
|
|
98
93
|
return null;
|
|
99
94
|
}
|
|
100
95
|
const fieldName = field.get('name');
|
|
101
|
-
const fieldValue = value &&
|
|
96
|
+
const fieldValue = value && Map.isMap(value) ? value.get(fieldName) : value;
|
|
102
97
|
const isDuplicate = isFieldDuplicate && isFieldDuplicate(field);
|
|
103
98
|
const isHidden = isFieldHidden && isFieldHidden(field);
|
|
104
|
-
return (
|
|
99
|
+
return ___EmotionJSX(EditorControl, {
|
|
105
100
|
key: key,
|
|
106
101
|
field: field,
|
|
107
102
|
value: fieldValue,
|
|
@@ -112,7 +107,7 @@ class ObjectControl extends _react.default.Component {
|
|
|
112
107
|
onValidate: onValidateObject,
|
|
113
108
|
processControlRef: controlRef && controlRef.bind(this),
|
|
114
109
|
controlRef: controlRef,
|
|
115
|
-
parentIds: parentIds,
|
|
110
|
+
parentIds: [...parentIds, forID],
|
|
116
111
|
isDisabled: isDuplicate,
|
|
117
112
|
isHidden: isHidden,
|
|
118
113
|
isFieldDuplicate: isFieldDuplicate,
|
|
@@ -134,10 +129,10 @@ class ObjectControl extends _react.default.Component {
|
|
|
134
129
|
const multiFields = field.get('fields');
|
|
135
130
|
const singleField = field.get('field');
|
|
136
131
|
if (multiFields || singleField) {
|
|
137
|
-
return (
|
|
132
|
+
return ___EmotionJSX(ClassNames, null, ({
|
|
138
133
|
css,
|
|
139
134
|
cx
|
|
140
|
-
}) => (
|
|
135
|
+
}) => ___EmotionJSX("div", {
|
|
141
136
|
id: forID,
|
|
142
137
|
className: cx(classNameWrapper, css`
|
|
143
138
|
${styleStrings.objectWidgetTopBarContainer}
|
|
@@ -147,15 +142,15 @@ class ObjectControl extends _react.default.Component {
|
|
|
147
142
|
`]: forList
|
|
148
143
|
}, {
|
|
149
144
|
[css`
|
|
150
|
-
border-color: ${
|
|
145
|
+
border-color: ${colors.textFieldBorder};
|
|
151
146
|
`]: forList ? !hasError : false
|
|
152
147
|
})
|
|
153
|
-
}, forList ? null : (
|
|
148
|
+
}, forList ? null : ___EmotionJSX(ObjectWidgetTopBar, {
|
|
154
149
|
collapsed: collapsed,
|
|
155
150
|
onCollapseToggle: this.handleCollapseToggle,
|
|
156
151
|
heading: collapsed && this.objectLabel(),
|
|
157
152
|
t: t
|
|
158
|
-
}), (
|
|
153
|
+
}), ___EmotionJSX("div", {
|
|
159
154
|
className: cx({
|
|
160
155
|
[css`
|
|
161
156
|
${styleStrings.collapsedObjectControl}
|
|
@@ -163,28 +158,27 @@ class ObjectControl extends _react.default.Component {
|
|
|
163
158
|
})
|
|
164
159
|
}, this.renderFields(multiFields, singleField))));
|
|
165
160
|
}
|
|
166
|
-
return (
|
|
161
|
+
return ___EmotionJSX("h3", null, "No field(s) defined for this widget");
|
|
167
162
|
}
|
|
168
163
|
}
|
|
169
|
-
exports.default = ObjectControl;
|
|
170
164
|
_defineProperty(ObjectControl, "propTypes", {
|
|
171
|
-
onChangeObject:
|
|
172
|
-
onValidateObject:
|
|
173
|
-
value:
|
|
174
|
-
field:
|
|
175
|
-
forID:
|
|
176
|
-
classNameWrapper:
|
|
177
|
-
forList:
|
|
178
|
-
controlRef:
|
|
179
|
-
editorControl:
|
|
180
|
-
resolveWidget:
|
|
181
|
-
clearFieldErrors:
|
|
182
|
-
fieldsErrors:
|
|
183
|
-
hasError:
|
|
184
|
-
t:
|
|
185
|
-
locale:
|
|
186
|
-
collapsed:
|
|
165
|
+
onChangeObject: PropTypes.func.isRequired,
|
|
166
|
+
onValidateObject: PropTypes.func,
|
|
167
|
+
value: PropTypes.oneOfType([PropTypes.node, PropTypes.object, PropTypes.bool]),
|
|
168
|
+
field: PropTypes.object,
|
|
169
|
+
forID: PropTypes.string,
|
|
170
|
+
classNameWrapper: PropTypes.string.isRequired,
|
|
171
|
+
forList: PropTypes.bool,
|
|
172
|
+
controlRef: PropTypes.func,
|
|
173
|
+
editorControl: PropTypes.elementType.isRequired,
|
|
174
|
+
resolveWidget: PropTypes.func.isRequired,
|
|
175
|
+
clearFieldErrors: PropTypes.func.isRequired,
|
|
176
|
+
fieldsErrors: ImmutablePropTypes.map,
|
|
177
|
+
hasError: PropTypes.bool,
|
|
178
|
+
t: PropTypes.func,
|
|
179
|
+
locale: PropTypes.string,
|
|
180
|
+
collapsed: PropTypes.bool
|
|
187
181
|
});
|
|
188
182
|
_defineProperty(ObjectControl, "defaultProps", {
|
|
189
|
-
value:
|
|
183
|
+
value: Map()
|
|
190
184
|
});
|
|
@@ -1,20 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _decapCmsUiDefault = require("decap-cms-ui-default");
|
|
10
|
-
var _react2 = require("@emotion/react");
|
|
11
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { WidgetPreviewContainer } from 'decap-cms-ui-default';
|
|
4
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
12
5
|
function ObjectPreview({
|
|
13
6
|
field
|
|
14
7
|
}) {
|
|
15
|
-
return (
|
|
8
|
+
return ___EmotionJSX(WidgetPreviewContainer, null, field && field.get('fields') || field.get('field') || null);
|
|
16
9
|
}
|
|
17
10
|
ObjectPreview.propTypes = {
|
|
18
|
-
field:
|
|
11
|
+
field: PropTypes.node
|
|
19
12
|
};
|
|
20
|
-
|
|
13
|
+
export default ObjectPreview;
|
package/dist/esm/index.js
CHANGED
|
@@ -1,29 +1,22 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = exports.DecapCmsWidgetObject = void 0;
|
|
7
|
-
var _ObjectControl = _interopRequireDefault(require("./ObjectControl"));
|
|
8
|
-
var _ObjectPreview = _interopRequireDefault(require("./ObjectPreview"));
|
|
9
|
-
var _schema = _interopRequireDefault(require("./schema"));
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
1
|
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; }
|
|
12
2
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).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; }
|
|
13
3
|
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
4
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
15
5
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
6
|
+
import controlComponent from './ObjectControl';
|
|
7
|
+
import previewComponent from './ObjectPreview';
|
|
8
|
+
import schema from './schema';
|
|
16
9
|
function Widget(opts = {}) {
|
|
17
10
|
return _objectSpread({
|
|
18
11
|
name: 'object',
|
|
19
|
-
controlComponent
|
|
20
|
-
previewComponent
|
|
21
|
-
schema
|
|
12
|
+
controlComponent,
|
|
13
|
+
previewComponent,
|
|
14
|
+
schema
|
|
22
15
|
}, opts);
|
|
23
16
|
}
|
|
24
|
-
const DecapCmsWidgetObject =
|
|
17
|
+
export const DecapCmsWidgetObject = {
|
|
25
18
|
Widget,
|
|
26
|
-
controlComponent
|
|
27
|
-
previewComponent
|
|
19
|
+
controlComponent,
|
|
20
|
+
previewComponent
|
|
28
21
|
};
|
|
29
|
-
|
|
22
|
+
export default DecapCmsWidgetObject;
|
package/dist/esm/schema.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "decap-cms-widget-object",
|
|
3
3
|
"description": "Widget for displaying an object of fields for Decap CMS.",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.2.0",
|
|
5
5
|
"homepage": "https://www.decapcms.org/docs/widgets/#object",
|
|
6
6
|
"repository": "https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-object",
|
|
7
7
|
"bugs": "https://github.com/decaporg/decap-cms/issues",
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
"react": "^18.2.0",
|
|
32
32
|
"react-immutable-proptypes": "^2.1.0"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "2ffe3f85eb224d25a8765a2365caabacc0ae87ae"
|
|
35
35
|
}
|
package/src/ObjectControl.js
CHANGED
|
@@ -89,6 +89,7 @@ export default class ObjectControl extends React.Component {
|
|
|
89
89
|
isFieldHidden,
|
|
90
90
|
locale,
|
|
91
91
|
collapsed,
|
|
92
|
+
forID,
|
|
92
93
|
} = this.props;
|
|
93
94
|
|
|
94
95
|
if (field.get('widget') === 'hidden') {
|
|
@@ -112,7 +113,7 @@ export default class ObjectControl extends React.Component {
|
|
|
112
113
|
onValidate={onValidateObject}
|
|
113
114
|
processControlRef={controlRef && controlRef.bind(this)}
|
|
114
115
|
controlRef={controlRef}
|
|
115
|
-
parentIds={parentIds}
|
|
116
|
+
parentIds={[...parentIds, forID]}
|
|
116
117
|
isDisabled={isDuplicate}
|
|
117
118
|
isHidden={isHidden}
|
|
118
119
|
isFieldDuplicate={isFieldDuplicate}
|