@micromag/editor 0.2.405 → 0.2.409
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/assets/css/styles.css +12 -10
- package/es/index.js +2446 -1254
- package/lib/index.js +2454 -1261
- package/package.json +10 -7
package/lib/index.js
CHANGED
|
@@ -2,147 +2,58 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
6
|
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var reactRouter = require('react-router');
|
|
10
|
-
var reactRouterDom = require('react-router-dom');
|
|
11
|
-
var reactIntl = require('react-intl');
|
|
7
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
8
|
+
var core = require('@micromag/core');
|
|
9
|
+
var components = require('@micromag/core/components');
|
|
12
10
|
var contexts = require('@micromag/core/contexts');
|
|
11
|
+
var hooks = require('@micromag/core/hooks');
|
|
13
12
|
var utils = require('@micromag/core/utils');
|
|
14
|
-
var screens = require('@micromag/screens');
|
|
15
|
-
var fields = require('@micromag/fields');
|
|
16
|
-
var core = require('@micromag/core');
|
|
17
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
18
13
|
var classNames = require('classnames');
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
var
|
|
14
|
+
var PropTypes = require('prop-types');
|
|
15
|
+
var React = require('react');
|
|
16
|
+
var reactIntl = require('react-intl');
|
|
17
|
+
var reactRouter = require('react-router');
|
|
18
|
+
var reactTransitionGroup = require('react-transition-group');
|
|
19
|
+
var uuid = require('uuid');
|
|
20
|
+
var isString = require('lodash/isString');
|
|
21
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
22
22
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
23
|
+
require('lodash/isArray');
|
|
24
|
+
require('lodash/get');
|
|
25
|
+
require('lodash/set');
|
|
23
26
|
var reactFontawesome = require('@fortawesome/react-fontawesome');
|
|
24
27
|
var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
|
|
25
|
-
var
|
|
26
|
-
var uuid = require('uuid');
|
|
28
|
+
var fields = require('@micromag/fields');
|
|
27
29
|
var size = require('@folklore/size');
|
|
28
|
-
var
|
|
30
|
+
var viewer = require('@micromag/viewer');
|
|
29
31
|
var isFunction = require('lodash/isFunction');
|
|
32
|
+
var reactSortablejs = require('react-sortablejs');
|
|
33
|
+
var core$1 = require('@dnd-kit/core');
|
|
34
|
+
var sortable = require('@dnd-kit/sortable');
|
|
35
|
+
var reactDom = require('react-dom');
|
|
36
|
+
var _createForOfIteratorHelper = require('@babel/runtime/helpers/createForOfIteratorHelper');
|
|
37
|
+
var utilities = require('@dnd-kit/utilities');
|
|
30
38
|
var orderBy = require('lodash/orderBy');
|
|
31
|
-
var
|
|
32
|
-
var
|
|
33
|
-
require('lodash/isArray');
|
|
34
|
-
require('lodash/get');
|
|
35
|
-
require('lodash/set');
|
|
39
|
+
var screens = require('@micromag/screens');
|
|
40
|
+
var reactRouterDom = require('react-router-dom');
|
|
36
41
|
|
|
37
42
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
38
43
|
|
|
39
|
-
var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
|
|
40
|
-
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
41
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
42
|
-
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
43
44
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
44
|
-
var
|
|
45
|
+
var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
|
|
45
46
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
46
|
-
var
|
|
47
|
+
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
|
48
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
49
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
47
50
|
var isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);
|
|
51
|
+
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
52
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
48
53
|
var isFunction__default = /*#__PURE__*/_interopDefaultLegacy(isFunction);
|
|
54
|
+
var _createForOfIteratorHelper__default = /*#__PURE__*/_interopDefaultLegacy(_createForOfIteratorHelper);
|
|
49
55
|
var orderBy__default = /*#__PURE__*/_interopDefaultLegacy(orderBy);
|
|
50
56
|
|
|
51
|
-
var routes = PropTypes__default["default"].shape({
|
|
52
|
-
home: PropTypes__default["default"].string.isRequired,
|
|
53
|
-
screen: PropTypes__default["default"].string.isRequired,
|
|
54
|
-
'screen.field': PropTypes__default["default"].string.isRequired,
|
|
55
|
-
'screen.field.form': PropTypes__default["default"].string.isRequired
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
var styles$d = {"container":"micromag-editor-forms-settings-container","inner":"micromag-editor-forms-settings-inner"};
|
|
59
|
-
|
|
60
|
-
var propTypes$j = {
|
|
61
|
-
name: PropTypes__default["default"].string,
|
|
62
|
-
field: core.PropTypes.formField.isRequired,
|
|
63
|
-
value: core.PropTypes.component,
|
|
64
|
-
className: PropTypes__default["default"].string,
|
|
65
|
-
gotoFieldForm: PropTypes__default["default"].func.isRequired,
|
|
66
|
-
closeFieldForm: PropTypes__default["default"].func.isRequired,
|
|
67
|
-
onChange: PropTypes__default["default"].func
|
|
68
|
-
};
|
|
69
|
-
var defaultProps$j = {
|
|
70
|
-
name: null,
|
|
71
|
-
value: null,
|
|
72
|
-
className: null,
|
|
73
|
-
onChange: null
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
var SettingsForm = function SettingsForm(_ref) {
|
|
77
|
-
var name = _ref.name,
|
|
78
|
-
field = _ref.field,
|
|
79
|
-
value = _ref.value,
|
|
80
|
-
className = _ref.className,
|
|
81
|
-
gotoFieldForm = _ref.gotoFieldForm,
|
|
82
|
-
closeFieldForm = _ref.closeFieldForm,
|
|
83
|
-
onChange = _ref.onChange;
|
|
84
|
-
var _field$type = field.type,
|
|
85
|
-
type = _field$type === void 0 ? null : _field$type;
|
|
86
|
-
var fieldsManager = contexts.useFieldsManager();
|
|
87
|
-
|
|
88
|
-
var _ref2 = type !== null ? fieldsManager.getDefinition(type) : field,
|
|
89
|
-
_ref2$component = _ref2.component,
|
|
90
|
-
fieldComponent = _ref2$component === void 0 ? null : _ref2$component,
|
|
91
|
-
settings = _ref2.settings;
|
|
92
|
-
|
|
93
|
-
var FieldComponent = contexts.useFieldComponent(fieldComponent);
|
|
94
|
-
var FieldsComponent = contexts.useFieldComponent('fields');
|
|
95
|
-
var SettingsComponent = FieldComponent !== null ? FieldComponent.settingsComponent || FieldsComponent : FieldsComponent;
|
|
96
|
-
var onSettingsChange = React.useCallback(function (newSettingsValue) {
|
|
97
|
-
var newValue = _objectSpread__default["default"](_objectSpread__default["default"]({}, value), newSettingsValue);
|
|
98
|
-
|
|
99
|
-
if (onChange !== null) {
|
|
100
|
-
onChange(newValue);
|
|
101
|
-
}
|
|
102
|
-
}, [value, onChange]);
|
|
103
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
104
|
-
className: classNames__default["default"]([styles$d.container, _defineProperty__default["default"]({}, className, className)])
|
|
105
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
106
|
-
className: styles$d.inner
|
|
107
|
-
}, /*#__PURE__*/React__default["default"].createElement(SettingsComponent, {
|
|
108
|
-
name: name,
|
|
109
|
-
field: field,
|
|
110
|
-
fields: settings,
|
|
111
|
-
value: value,
|
|
112
|
-
onChange: onSettingsChange,
|
|
113
|
-
gotoFieldForm: gotoFieldForm,
|
|
114
|
-
closeFieldForm: closeFieldForm
|
|
115
|
-
})));
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
SettingsForm.propTypes = propTypes$j;
|
|
119
|
-
SettingsForm.defaultProps = defaultProps$j;
|
|
120
|
-
|
|
121
|
-
// eslint-disable-next-line import/prefer-default-export
|
|
122
|
-
|
|
123
|
-
var FormsComponents = /*#__PURE__*/Object.freeze({
|
|
124
|
-
__proto__: null,
|
|
125
|
-
Settings: SettingsForm
|
|
126
|
-
});
|
|
127
|
-
|
|
128
|
-
/* eslint-disable react/jsx-props-no-spreading */
|
|
129
|
-
var propTypes$i = {
|
|
130
|
-
children: PropTypes__default["default"].node
|
|
131
|
-
};
|
|
132
|
-
var defaultProps$i = {
|
|
133
|
-
children: null
|
|
134
|
-
};
|
|
135
|
-
|
|
136
|
-
var FormsProvider = function FormsProvider(props) {
|
|
137
|
-
return /*#__PURE__*/React__default["default"].createElement(contexts.ComponentsProvider, Object.assign({
|
|
138
|
-
namespace: contexts.FORMS_NAMESPACE,
|
|
139
|
-
components: FormsComponents
|
|
140
|
-
}, props));
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
FormsProvider.propTypes = propTypes$i;
|
|
144
|
-
FormsProvider.defaultProps = defaultProps$i;
|
|
145
|
-
|
|
146
57
|
var useRouteParams = function useRouteParams() {
|
|
147
58
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
148
59
|
_ref$screenOnly = _ref.screenOnly,
|
|
@@ -179,25 +90,7 @@ var useRouteParams = function useRouteParams() {
|
|
|
179
90
|
return routeParams;
|
|
180
91
|
};
|
|
181
92
|
|
|
182
|
-
var
|
|
183
|
-
|
|
184
|
-
var useThemeValue = function useThemeValue(value) {
|
|
185
|
-
var isTheme = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
186
|
-
var valueWithTheme = React.useMemo(function () {
|
|
187
|
-
if (!isTheme) {
|
|
188
|
-
return value;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
var _ref = value || {};
|
|
192
|
-
_ref.components;
|
|
193
|
-
var themeValue = _objectWithoutProperties__default["default"](_ref, _excluded$8);
|
|
194
|
-
|
|
195
|
-
return value !== null ? _objectSpread__default["default"]({
|
|
196
|
-
theme: themeValue
|
|
197
|
-
}, value) : value;
|
|
198
|
-
}, [value, isTheme]);
|
|
199
|
-
return valueWithTheme;
|
|
200
|
-
};
|
|
93
|
+
var styles$f = {"container":"micromag-editor-container","left":"micromag-editor-left","right":"micromag-editor-right","center":"micromag-editor-center","fullscreen":"micromag-editor-fullscreen","preview":"micromag-editor-preview","inner":"micromag-editor-inner","visible":"micromag-editor-visible","screen-medium":"micromag-editor-screen-medium","top":"micromag-editor-top"};
|
|
201
94
|
|
|
202
95
|
var createScreen = function createScreen(definition) {
|
|
203
96
|
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
@@ -231,614 +124,698 @@ var createScreen = function createScreen(definition) {
|
|
|
231
124
|
});
|
|
232
125
|
};
|
|
233
126
|
|
|
234
|
-
var
|
|
127
|
+
var _excluded$b = ["components"];
|
|
235
128
|
|
|
236
|
-
var
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
icon: PropTypes__default["default"].node,
|
|
242
|
-
title: PropTypes__default["default"].string,
|
|
243
|
-
onClick: PropTypes__default["default"].func,
|
|
244
|
-
children: PropTypes__default["default"].node,
|
|
245
|
-
refButton: PropTypes__default["default"].shape({
|
|
246
|
-
current: PropTypes__default["default"].any // eslint-disable-line
|
|
129
|
+
var deleteScreen = function deleteScreen(story, screenId) {
|
|
130
|
+
var _ref = story || {},
|
|
131
|
+
_ref$components = _ref.components,
|
|
132
|
+
components = _ref$components === void 0 ? [] : _ref$components,
|
|
133
|
+
currentValue = _objectWithoutProperties__default["default"](_ref, _excluded$b);
|
|
247
134
|
|
|
248
|
-
}),
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
href: null,
|
|
255
|
-
label: null,
|
|
256
|
-
icon: null,
|
|
257
|
-
title: null,
|
|
258
|
-
onClick: null,
|
|
259
|
-
children: null,
|
|
260
|
-
refButton: null,
|
|
261
|
-
className: null
|
|
135
|
+
return _objectSpread__default["default"](_objectSpread__default["default"]({}, currentValue), {}, {
|
|
136
|
+
components: components.filter(function (_ref2) {
|
|
137
|
+
var id = _ref2.id;
|
|
138
|
+
return id !== screenId;
|
|
139
|
+
})
|
|
140
|
+
});
|
|
262
141
|
};
|
|
263
142
|
|
|
264
|
-
var
|
|
265
|
-
var _ref2;
|
|
143
|
+
var _excluded$a = ["components"];
|
|
266
144
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
}, children !== null ? children : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
282
|
-
className: styles$c.inner
|
|
283
|
-
}, icon !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
284
|
-
className: styles$c.icon
|
|
285
|
-
}, icon) : null, label !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
286
|
-
className: styles$c.label
|
|
287
|
-
}, label) : null)), /*#__PURE__*/React__default["default"].createElement(components.Button, {
|
|
288
|
-
className: styles$c.button,
|
|
289
|
-
withoutStyle: true,
|
|
290
|
-
id: id,
|
|
291
|
-
href: href,
|
|
292
|
-
title: title,
|
|
293
|
-
onClick: onClick,
|
|
294
|
-
refButton: refButton
|
|
295
|
-
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
296
|
-
className: classNames__default["default"]([styles$c.border, 'rounded'])
|
|
297
|
-
})));
|
|
145
|
+
var duplicateScreen = function duplicateScreen(story, screenId) {
|
|
146
|
+
var _ref = story || {},
|
|
147
|
+
_ref$components = _ref.components,
|
|
148
|
+
components = _ref$components === void 0 ? [] : _ref$components,
|
|
149
|
+
currentValue = _objectWithoutProperties__default["default"](_ref, _excluded$a);
|
|
150
|
+
|
|
151
|
+
var screen = components.find(function (it) {
|
|
152
|
+
return it.id === screenId;
|
|
153
|
+
}) || null;
|
|
154
|
+
return _objectSpread__default["default"](_objectSpread__default["default"]({}, currentValue), {}, {
|
|
155
|
+
components: screen !== null ? [].concat(_toConsumableArray__default["default"](components), [_objectSpread__default["default"](_objectSpread__default["default"]({}, screen), {}, {
|
|
156
|
+
id: uuid.v1()
|
|
157
|
+
})]) : components
|
|
158
|
+
});
|
|
298
159
|
};
|
|
299
160
|
|
|
300
|
-
|
|
301
|
-
ScreenButton.defaultProps = defaultProps$h;
|
|
302
|
-
var ScreenButton$1 = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
|
|
303
|
-
return /*#__PURE__*/React__default["default"].createElement(ScreenButton, Object.assign({}, props, {
|
|
304
|
-
refButton: ref
|
|
305
|
-
}));
|
|
306
|
-
});
|
|
161
|
+
var _excluded$9 = ["components"];
|
|
307
162
|
|
|
308
|
-
var
|
|
163
|
+
var updateScreen = function updateScreen(story, newScreenValue) {
|
|
164
|
+
var newScreenId = newScreenValue.id;
|
|
309
165
|
|
|
310
|
-
var
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
itemClassName: PropTypes__default["default"].string,
|
|
322
|
-
buttonClassName: PropTypes__default["default"].string,
|
|
323
|
-
settingsClassName: PropTypes__default["default"].string,
|
|
324
|
-
onClickItem: PropTypes__default["default"].func,
|
|
325
|
-
onOrderChange: PropTypes__default["default"].func
|
|
326
|
-
};
|
|
327
|
-
var defaultProps$g = {
|
|
328
|
-
items: [],
|
|
329
|
-
withPreview: false,
|
|
330
|
-
withPlaceholder: false,
|
|
331
|
-
settings: null,
|
|
332
|
-
previewMinWidth: 320,
|
|
333
|
-
sortable: false,
|
|
334
|
-
isVertical: false,
|
|
335
|
-
noWrap: false,
|
|
336
|
-
className: null,
|
|
337
|
-
itemClassName: null,
|
|
338
|
-
buttonClassName: null,
|
|
339
|
-
settingsClassName: null,
|
|
340
|
-
onClickItem: null,
|
|
341
|
-
onOrderChange: null
|
|
166
|
+
var _ref = story || {},
|
|
167
|
+
_ref$components = _ref.components,
|
|
168
|
+
components = _ref$components === void 0 ? [] : _ref$components,
|
|
169
|
+
currentValue = _objectWithoutProperties__default["default"](_ref, _excluded$9);
|
|
170
|
+
|
|
171
|
+
var index = components.findIndex(function (it) {
|
|
172
|
+
return it.id === newScreenId;
|
|
173
|
+
});
|
|
174
|
+
return _objectSpread__default["default"](_objectSpread__default["default"]({}, currentValue), {}, {
|
|
175
|
+
components: [].concat(_toConsumableArray__default["default"](components.slice(0, index)), [_objectSpread__default["default"](_objectSpread__default["default"]({}, components[index]), newScreenValue)], _toConsumableArray__default["default"](components.slice(index + 1)))
|
|
176
|
+
});
|
|
342
177
|
};
|
|
343
178
|
|
|
344
|
-
var
|
|
345
|
-
|
|
179
|
+
var getFieldByName = function getFieldByName(fields, name) {
|
|
180
|
+
return fields.reduce(function (foundField, it) {
|
|
181
|
+
if (foundField !== null) {
|
|
182
|
+
return foundField;
|
|
183
|
+
}
|
|
346
184
|
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
previewMinWidth = _ref.previewMinWidth,
|
|
352
|
-
isVertical = _ref.isVertical,
|
|
353
|
-
noWrap = _ref.noWrap,
|
|
354
|
-
className = _ref.className,
|
|
355
|
-
itemClassName = _ref.itemClassName,
|
|
356
|
-
buttonClassName = _ref.buttonClassName,
|
|
357
|
-
settingsClassName = _ref.settingsClassName,
|
|
358
|
-
sortable = _ref.sortable,
|
|
359
|
-
onClickItem = _ref.onClickItem,
|
|
360
|
-
onOrderChange = _ref.onOrderChange;
|
|
361
|
-
var intl = reactIntl.useIntl();
|
|
185
|
+
var _it$name = it.name,
|
|
186
|
+
fieldName = _it$name === void 0 ? null : _it$name,
|
|
187
|
+
_it$fields = it.fields,
|
|
188
|
+
subFields = _it$fields === void 0 ? [] : _it$fields;
|
|
362
189
|
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
190
|
+
if (name !== null && fieldName === name) {
|
|
191
|
+
return it;
|
|
192
|
+
}
|
|
366
193
|
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
itemWidth = _ref2$width === void 0 ? 0 : _ref2$width,
|
|
371
|
-
_ref2$height = _ref2.height,
|
|
372
|
-
itemHeight = _ref2$height === void 0 ? 0 : _ref2$height;
|
|
194
|
+
return getFieldByName(subFields, name);
|
|
195
|
+
}, null);
|
|
196
|
+
};
|
|
373
197
|
|
|
374
|
-
|
|
198
|
+
var useFormTransition = function useFormTransition(url, screenIndex, styles) {
|
|
199
|
+
var lastPageRef = React.useRef({
|
|
200
|
+
url: url,
|
|
201
|
+
screenIndex: screenIndex
|
|
202
|
+
});
|
|
203
|
+
var direction = React.useMemo(function () {
|
|
204
|
+
var _lastPageRef$current = lastPageRef.current,
|
|
205
|
+
lastScreenIndex = _lastPageRef$current.screenIndex,
|
|
206
|
+
lastUrl = _lastPageRef$current.url;
|
|
207
|
+
lastPageRef.current.url = url;
|
|
208
|
+
lastPageRef.current.screenIndex = screenIndex;
|
|
375
209
|
|
|
376
|
-
|
|
377
|
-
|
|
210
|
+
if (screenIndex !== lastScreenIndex) {
|
|
211
|
+
// return screenIndex > lastScreenIndex ? 'bottom' : 'top';
|
|
212
|
+
return null;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
var urlSplit = url.split('/');
|
|
216
|
+
var lastUrlSplit = lastUrl.split('/');
|
|
217
|
+
var currentPartsCount = urlSplit.length;
|
|
218
|
+
var previousPartsCount = lastUrlSplit.length;
|
|
219
|
+
var isSettings = urlSplit[currentPartsCount - 1] === 'settings';
|
|
220
|
+
var wasSettings = lastUrlSplit[previousPartsCount - 1] === 'settings';
|
|
221
|
+
currentPartsCount -= isSettings ? 1 : 0;
|
|
222
|
+
previousPartsCount -= wasSettings ? 1 : 0;
|
|
223
|
+
return currentPartsCount >= previousPartsCount ? 'right' : 'left';
|
|
224
|
+
}, [url, screenIndex]);
|
|
225
|
+
var name = React.useMemo(function () {
|
|
226
|
+
var _classNames, _classNames2, _classNames3;
|
|
378
227
|
|
|
379
228
|
return {
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
229
|
+
enter: classNames__default["default"]((_classNames = {}, _defineProperty__default["default"](_classNames, styles.enterRight, direction === 'right'), _defineProperty__default["default"](_classNames, styles.enterLeft, direction === 'left'), _defineProperty__default["default"](_classNames, styles.enterTop, direction === 'top'), _defineProperty__default["default"](_classNames, styles.enterBottom, direction === 'bottom'), _classNames)) || 'none',
|
|
230
|
+
enterActive: classNames__default["default"]((_classNames2 = {}, _defineProperty__default["default"](_classNames2, styles.enterActiveHorizontal, direction === 'left' || direction === 'right'), _defineProperty__default["default"](_classNames2, styles.enterActiveVertical, direction === 'top' || direction === 'bottom'), _classNames2)) || 'none',
|
|
231
|
+
leave: styles.leave || 'none',
|
|
232
|
+
leaveActive: classNames__default["default"]((_classNames3 = {}, _defineProperty__default["default"](_classNames3, styles.leaveActiveRight, direction === 'right'), _defineProperty__default["default"](_classNames3, styles.leaveActiveLeft, direction === 'left'), _defineProperty__default["default"](_classNames3, styles.leaveActiveTop, direction === 'top'), _defineProperty__default["default"](_classNames3, styles.leaveActiveBottom, direction === 'bottom'), _classNames3)) || 'none'
|
|
383
233
|
};
|
|
384
|
-
}, [
|
|
385
|
-
|
|
386
|
-
|
|
234
|
+
}, [direction, screenIndex]);
|
|
235
|
+
return {
|
|
236
|
+
direction: direction,
|
|
237
|
+
name: name,
|
|
238
|
+
timeout: direction === 'left' || direction === 'right' ? 300 : 10
|
|
239
|
+
};
|
|
240
|
+
};
|
|
387
241
|
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
242
|
+
var _excluded$8 = ["className"];
|
|
243
|
+
var propTypes$n = {
|
|
244
|
+
className: PropTypes__default["default"].string
|
|
245
|
+
};
|
|
246
|
+
var defaultProps$n = {
|
|
247
|
+
className: null
|
|
248
|
+
};
|
|
395
249
|
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
"data-screen-id": item.id,
|
|
400
|
-
ref: index === 0 ? containerRef : null
|
|
401
|
-
}, /*#__PURE__*/React__default["default"].createElement(ScreenButton$1, Object.assign({}, item, {
|
|
402
|
-
className: classNames__default["default"]([styles$b.button, _defineProperty__default["default"]({}, buttonClassName, buttonClassName !== null)]),
|
|
403
|
-
title: utils.isMessage(title) ? intl.formatMessage(title) : null,
|
|
404
|
-
onClick: function onClick() {
|
|
405
|
-
if (_onClick !== null) {
|
|
406
|
-
_onClick(screen, index);
|
|
407
|
-
}
|
|
250
|
+
var SettingsButton = function SettingsButton(_ref) {
|
|
251
|
+
var className = _ref.className,
|
|
252
|
+
props = _objectWithoutProperties__default["default"](_ref, _excluded$8);
|
|
408
253
|
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
screen: screen,
|
|
418
|
-
width: previewStyle.width,
|
|
419
|
-
height: previewStyle.height,
|
|
420
|
-
className: styles$b.screen
|
|
421
|
-
})) : null, withPlaceholder ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
422
|
-
className: styles$b.placeholder,
|
|
423
|
-
style: previewStyle
|
|
424
|
-
}, /*#__PURE__*/React__default["default"].createElement(components.ScreenPlaceholder, {
|
|
425
|
-
screen: item,
|
|
426
|
-
width: previewStyle.width,
|
|
427
|
-
height: previewStyle.height,
|
|
428
|
-
className: styles$b.screen
|
|
429
|
-
})) : null), settings !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
430
|
-
className: classNames__default["default"]([_defineProperty__default["default"]({}, settingsClassName, settingsClassName !== null), styles$b.settings, 'p-2'])
|
|
431
|
-
}, isFunction__default["default"](settings) ? settings(index) : settings) : null);
|
|
432
|
-
});
|
|
433
|
-
var sortableItems = React.useMemo(function () {
|
|
434
|
-
return items.map(function (_ref7) {
|
|
435
|
-
var id = _ref7.id;
|
|
436
|
-
return {
|
|
437
|
-
id: id
|
|
438
|
-
};
|
|
439
|
-
});
|
|
440
|
-
}, [items]);
|
|
441
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
442
|
-
className: classNames__default["default"]([styles$b.container, (_ref8 = {}, _defineProperty__default["default"](_ref8, styles$b.noWrap, noWrap), _defineProperty__default["default"](_ref8, styles$b.isVertical, isVertical), _defineProperty__default["default"](_ref8, styles$b.withPlaceholder, withPlaceholder), _defineProperty__default["default"](_ref8, className, className), _ref8)])
|
|
443
|
-
}, sortable && items.length > 1 ? /*#__PURE__*/React__default["default"].createElement(reactSortablejs.ReactSortable, {
|
|
444
|
-
list: sortableItems,
|
|
445
|
-
setList: onOrderChange,
|
|
446
|
-
animation: 200,
|
|
447
|
-
delayOnTouchStart: true,
|
|
448
|
-
delay: 2,
|
|
449
|
-
tag: "ul",
|
|
450
|
-
className: styles$b.items
|
|
451
|
-
}, itemsElements) : /*#__PURE__*/React__default["default"].createElement("ul", {
|
|
452
|
-
className: styles$b.items
|
|
453
|
-
}, itemsElements));
|
|
254
|
+
return /*#__PURE__*/React__default["default"].createElement(components.Button, Object.assign({
|
|
255
|
+
className: className,
|
|
256
|
+
theme: "secondary",
|
|
257
|
+
size: "sm",
|
|
258
|
+
icon: /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
|
|
259
|
+
icon: freeSolidSvgIcons.faCogs
|
|
260
|
+
})
|
|
261
|
+
}, props));
|
|
454
262
|
};
|
|
455
263
|
|
|
456
|
-
|
|
457
|
-
|
|
264
|
+
SettingsButton.propTypes = propTypes$n;
|
|
265
|
+
SettingsButton.defaultProps = defaultProps$n;
|
|
458
266
|
|
|
459
|
-
var styles$
|
|
267
|
+
var styles$e = {"container":"micromag-editor-menus-breadcrumb-container"};
|
|
460
268
|
|
|
461
|
-
var propTypes$
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
269
|
+
var propTypes$m = {
|
|
270
|
+
story: core.PropTypes.story,
|
|
271
|
+
screenId: PropTypes__default["default"].string,
|
|
272
|
+
field: PropTypes__default["default"].string,
|
|
273
|
+
form: PropTypes__default["default"].string,
|
|
274
|
+
url: PropTypes__default["default"].string.isRequired,
|
|
275
|
+
className: PropTypes__default["default"].string
|
|
466
276
|
};
|
|
467
|
-
var defaultProps$
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
277
|
+
var defaultProps$m = {
|
|
278
|
+
story: null,
|
|
279
|
+
screenId: null,
|
|
280
|
+
field: null,
|
|
281
|
+
form: null,
|
|
282
|
+
className: null
|
|
472
283
|
};
|
|
473
284
|
|
|
474
|
-
var
|
|
475
|
-
var
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
285
|
+
var Breadcrumb = function Breadcrumb(_ref) {
|
|
286
|
+
var story = _ref.story,
|
|
287
|
+
screenId = _ref.screenId,
|
|
288
|
+
field = _ref.field,
|
|
289
|
+
form = _ref.form,
|
|
290
|
+
url = _ref.url,
|
|
291
|
+
className = _ref.className;
|
|
479
292
|
var intl = reactIntl.useIntl();
|
|
480
|
-
var screensManager = contexts.useScreensManager();
|
|
481
|
-
var finalDefinitions = screens || screensManager.getDefinitions();
|
|
482
|
-
var groups = React.useMemo(function () {
|
|
483
|
-
var groupItems = finalDefinitions.reduce(function (allGroups, definition) {
|
|
484
|
-
var id = definition.id,
|
|
485
|
-
title = definition.title,
|
|
486
|
-
_definition$group = definition.group,
|
|
487
|
-
group = _definition$group === void 0 ? {} : _definition$group;
|
|
488
293
|
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
_ref2$label = _ref2.label,
|
|
493
|
-
label = _ref2$label === void 0 ? {} : _ref2$label,
|
|
494
|
-
_ref2$hidden = _ref2.hidden,
|
|
495
|
-
hidden = _ref2$hidden === void 0 ? false : _ref2$hidden;
|
|
294
|
+
var _ref2 = story || {},
|
|
295
|
+
_ref2$components = _ref2.components,
|
|
296
|
+
screens = _ref2$components === void 0 ? [] : _ref2$components;
|
|
496
297
|
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
298
|
+
var history = reactRouter.useHistory();
|
|
299
|
+
var screensManager = contexts.useScreensManager();
|
|
300
|
+
var fieldsManager = contexts.useFieldsManager();
|
|
301
|
+
var items = React.useMemo(function () {
|
|
302
|
+
var screenIndex = screens.findIndex(function (it) {
|
|
303
|
+
return it.id === screenId;
|
|
304
|
+
});
|
|
500
305
|
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
306
|
+
if (!screens[screenIndex]) {
|
|
307
|
+
return [];
|
|
308
|
+
}
|
|
504
309
|
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
name: group
|
|
508
|
-
} : {
|
|
509
|
-
id: messageId || id,
|
|
510
|
-
name: title
|
|
511
|
-
},
|
|
512
|
-
groupId = _ref4.id,
|
|
513
|
-
groupName = _ref4.name;
|
|
310
|
+
var type = screens[screenIndex].type;
|
|
311
|
+
var fieldItems = [];
|
|
514
312
|
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
313
|
+
if (field !== null) {
|
|
314
|
+
var _screensManager$getDe = screensManager.getDefinition(type),
|
|
315
|
+
_screensManager$getDe2 = _screensManager$getDe.fields,
|
|
316
|
+
screenFields = _screensManager$getDe2 === void 0 ? [] : _screensManager$getDe2;
|
|
317
|
+
|
|
318
|
+
var fields = [].concat(_toConsumableArray__default["default"](screenFields), [utils.getScreenExtraField(intl)]);
|
|
319
|
+
var fieldPath = field.split('/');
|
|
320
|
+
var lastKeyIndex = fieldPath.length - 1;
|
|
321
|
+
var parentItem = null;
|
|
322
|
+
fieldPath.reduce(function (currentFields, key, keyIndex) {
|
|
323
|
+
var _currentFields$type = currentFields.type,
|
|
324
|
+
fieldType = _currentFields$type === void 0 ? null : _currentFields$type;
|
|
325
|
+
var fieldsDef = fieldType !== null ? fieldsManager.getDefinition(fieldType) : currentFields;
|
|
326
|
+
var _fieldsDef$fields = fieldsDef.fields,
|
|
327
|
+
subFields = _fieldsDef$fields === void 0 ? null : _fieldsDef$fields,
|
|
328
|
+
_fieldsDef$settings = fieldsDef.settings,
|
|
329
|
+
settings = _fieldsDef$settings === void 0 ? null : _fieldsDef$settings,
|
|
330
|
+
_fieldsDef$itemsField = fieldsDef.itemsField,
|
|
331
|
+
itemsField = _fieldsDef$itemsField === void 0 ? null : _fieldsDef$itemsField;
|
|
332
|
+
var currentSubfields = subFields !== null ? getFieldByName(subFields, key) : null;
|
|
333
|
+
var currentSettings = settings !== null ? getFieldByName(settings, key) : null;
|
|
334
|
+
var isCurrentSubfields = currentSubfields !== null;
|
|
335
|
+
var isCurrentSettings = currentSettings !== null;
|
|
336
|
+
var isListItems = itemsField !== null && !!key.match(/^[0-9]+$/);
|
|
337
|
+
var isLastIndex = keyIndex === lastKeyIndex;
|
|
338
|
+
var pathPrefix = "/".concat(screenId, "/").concat(fieldPath.slice(0, keyIndex + 1).join('/'));
|
|
339
|
+
var pathSuffix = isLastIndex && form !== null ? "/".concat(form) : '';
|
|
340
|
+
var addNewItem = isLastIndex || isListItems;
|
|
341
|
+
var itemPath = "".concat(pathPrefix).concat(pathSuffix);
|
|
342
|
+
var nextFields = null;
|
|
343
|
+
|
|
344
|
+
if (isCurrentSubfields) {
|
|
345
|
+
nextFields = currentSubfields;
|
|
346
|
+
} else if (isCurrentSettings) {
|
|
347
|
+
nextFields = currentSettings;
|
|
348
|
+
|
|
349
|
+
if (parentItem !== null) {
|
|
350
|
+
fieldItems.push(_objectSpread__default["default"](_objectSpread__default["default"]({}, parentItem), {}, {
|
|
351
|
+
url: "/".concat(screenId, "/").concat(fieldPath.slice(0, keyIndex).join('/'), "/settings")
|
|
352
|
+
}));
|
|
353
|
+
}
|
|
354
|
+
} else if (isListItems) {
|
|
355
|
+
nextFields = itemsField;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
var fieldLabel = nextFields ? nextFields.breadcrumbLabel || nextFields.label : null;
|
|
359
|
+
var itemLabel = utils.isMessage(fieldLabel) ? intl.formatMessage(fieldLabel) : fieldLabel;
|
|
360
|
+
|
|
361
|
+
var _ref3 = parentItem || {},
|
|
362
|
+
_ref3$label = _ref3.label,
|
|
363
|
+
parentItemLabel = _ref3$label === void 0 ? null : _ref3$label;
|
|
364
|
+
|
|
365
|
+
var finalItemLabel = isListItems ? "".concat(itemLabel, " #").concat(parseInt(key, 10) + 1) : itemLabel || parentItemLabel;
|
|
366
|
+
var item = {
|
|
367
|
+
url: itemPath,
|
|
368
|
+
label: finalItemLabel || '',
|
|
369
|
+
active: false
|
|
370
|
+
};
|
|
371
|
+
|
|
372
|
+
if (addNewItem) {
|
|
373
|
+
fieldItems.push(item);
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
parentItem = item;
|
|
377
|
+
return nextFields;
|
|
378
|
+
}, {
|
|
379
|
+
fields: fields
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
var finalItems = [{
|
|
384
|
+
label: intl.formatMessage({
|
|
385
|
+
id: "AHvHaY",
|
|
386
|
+
defaultMessage: [{
|
|
387
|
+
"type": 0,
|
|
388
|
+
"value": "Parameters"
|
|
389
|
+
}]
|
|
390
|
+
}),
|
|
391
|
+
url: "/".concat(screenId),
|
|
392
|
+
active: false
|
|
393
|
+
}].concat(fieldItems).filter(function (it) {
|
|
394
|
+
return it !== null;
|
|
395
|
+
});
|
|
396
|
+
var lastItemsIndex = finalItems.length - 1;
|
|
397
|
+
return finalItems.map(function (it, index) {
|
|
398
|
+
return index === lastItemsIndex ? _objectSpread__default["default"](_objectSpread__default["default"]({}, it), {}, {
|
|
399
|
+
url: url,
|
|
400
|
+
active: true
|
|
401
|
+
}) : it;
|
|
402
|
+
});
|
|
403
|
+
}, [intl, screens, screenId, field, form, url, screensManager, fieldsManager]);
|
|
404
|
+
var itemsLength = items.length;
|
|
405
|
+
var onClickBack = React.useCallback(function () {
|
|
406
|
+
history.push(items[itemsLength - 2].url);
|
|
407
|
+
}, [items]);
|
|
408
|
+
var withBack = itemsLength > 1;
|
|
409
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, withBack ? /*#__PURE__*/React__default["default"].createElement(components.BackButton, {
|
|
410
|
+
onClick: onClickBack,
|
|
411
|
+
className: "mr-2"
|
|
412
|
+
}) : null, /*#__PURE__*/React__default["default"].createElement(components.Breadcrumb, {
|
|
413
|
+
items: items,
|
|
414
|
+
theme: "secondary",
|
|
415
|
+
withoutBar: true,
|
|
416
|
+
noWrap: true,
|
|
417
|
+
className: classNames__default["default"]([styles$e.container, 'text-truncate', _defineProperty__default["default"]({}, className, className !== null)])
|
|
418
|
+
}));
|
|
565
419
|
};
|
|
566
420
|
|
|
567
|
-
|
|
568
|
-
|
|
421
|
+
Breadcrumb.propTypes = propTypes$m;
|
|
422
|
+
Breadcrumb.defaultProps = defaultProps$m;
|
|
569
423
|
|
|
570
|
-
var styles$
|
|
424
|
+
var styles$d = {"container":"micromag-editor-forms-screen-container","inner":"micromag-editor-forms-screen-inner"};
|
|
571
425
|
|
|
572
|
-
var propTypes$
|
|
573
|
-
|
|
426
|
+
var propTypes$l = {
|
|
427
|
+
value: core.PropTypes.component,
|
|
574
428
|
className: PropTypes__default["default"].string,
|
|
575
|
-
|
|
576
|
-
|
|
429
|
+
gotoFieldForm: PropTypes__default["default"].func.isRequired,
|
|
430
|
+
closeFieldForm: PropTypes__default["default"].func.isRequired,
|
|
431
|
+
onChange: PropTypes__default["default"].func // onClickDelete: PropTypes.func,
|
|
432
|
+
|
|
577
433
|
};
|
|
578
|
-
var defaultProps$
|
|
579
|
-
|
|
434
|
+
var defaultProps$l = {
|
|
435
|
+
value: null,
|
|
580
436
|
className: null,
|
|
581
|
-
|
|
582
|
-
|
|
437
|
+
onChange: null // onClickDelete: null,
|
|
438
|
+
|
|
583
439
|
};
|
|
584
440
|
|
|
585
|
-
var
|
|
586
|
-
var
|
|
441
|
+
var ScreenForm = function ScreenForm(_ref) {
|
|
442
|
+
var value = _ref.value,
|
|
587
443
|
className = _ref.className,
|
|
588
|
-
|
|
589
|
-
|
|
444
|
+
gotoFieldForm = _ref.gotoFieldForm,
|
|
445
|
+
closeFieldForm = _ref.closeFieldForm,
|
|
446
|
+
onChange = _ref.onChange;
|
|
447
|
+
|
|
448
|
+
var _useScreenDefinition = contexts.useScreenDefinition(),
|
|
449
|
+
_useScreenDefinition$ = _useScreenDefinition.fields,
|
|
450
|
+
fields$1 = _useScreenDefinition$ === void 0 ? [] : _useScreenDefinition$; // const intl = useIntl();
|
|
451
|
+
// const finalOnClickDelete = useCallback(() => {
|
|
452
|
+
// if (
|
|
453
|
+
// onClickDelete !== null &&
|
|
454
|
+
// window.confirm(
|
|
455
|
+
// intl.formatMessage({
|
|
456
|
+
// defaultMessage: 'Are you sure you want to delete this screen?',
|
|
457
|
+
// description: 'Confirm message when deleting a screen',
|
|
458
|
+
// }),
|
|
459
|
+
// )
|
|
460
|
+
// ) {
|
|
461
|
+
// onClickDelete(value);
|
|
462
|
+
// }
|
|
463
|
+
// }, [intl, onClickDelete, value]);
|
|
464
|
+
|
|
465
|
+
|
|
466
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
467
|
+
className: classNames__default["default"]([styles$d.container, _defineProperty__default["default"]({}, className, className)])
|
|
468
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
469
|
+
className: styles$d.inner
|
|
470
|
+
}, /*#__PURE__*/React__default["default"].createElement(fields.Fields, {
|
|
471
|
+
fields: fields$1,
|
|
472
|
+
value: value,
|
|
473
|
+
onChange: onChange,
|
|
474
|
+
gotoFieldForm: gotoFieldForm,
|
|
475
|
+
closeFieldForm: closeFieldForm
|
|
476
|
+
})));
|
|
477
|
+
};
|
|
478
|
+
|
|
479
|
+
ScreenForm.propTypes = propTypes$l;
|
|
480
|
+
ScreenForm.defaultProps = defaultProps$l;
|
|
481
|
+
|
|
482
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
|
483
|
+
var propTypes$k = {
|
|
484
|
+
children: PropTypes__default["default"].node
|
|
485
|
+
};
|
|
486
|
+
var defaultProps$k = {
|
|
487
|
+
children: null
|
|
488
|
+
};
|
|
489
|
+
|
|
490
|
+
var FieldWithContexts = function FieldWithContexts(props) {
|
|
491
|
+
// Get definitions
|
|
492
|
+
var _useScreenDefinition = contexts.useScreenDefinition(),
|
|
493
|
+
_useScreenDefinition$ = _useScreenDefinition.fields,
|
|
494
|
+
fields = _useScreenDefinition$ === void 0 ? [] : _useScreenDefinition$; // To use a specific form component
|
|
495
|
+
|
|
496
|
+
|
|
497
|
+
var formComponents = contexts.useFormsComponents();
|
|
498
|
+
return /*#__PURE__*/React__default["default"].createElement(components.FieldForm, Object.assign({
|
|
499
|
+
fields: fields,
|
|
500
|
+
formComponents: formComponents
|
|
501
|
+
}, props));
|
|
502
|
+
};
|
|
503
|
+
|
|
504
|
+
FieldWithContexts.propTypes = propTypes$k;
|
|
505
|
+
FieldWithContexts.defaultProps = defaultProps$k;
|
|
506
|
+
|
|
507
|
+
var styles$c = {"container":"micromag-editor-modals-delete-screen-container","description":"micromag-editor-modals-delete-screen-description","actions":"micromag-editor-modals-delete-screen-actions"};
|
|
508
|
+
|
|
509
|
+
var propTypes$j = {
|
|
510
|
+
className: PropTypes__default["default"].string,
|
|
511
|
+
onConfirm: PropTypes__default["default"].func,
|
|
512
|
+
onCancel: PropTypes__default["default"].func
|
|
513
|
+
};
|
|
514
|
+
var defaultProps$j = {
|
|
515
|
+
className: null,
|
|
516
|
+
onConfirm: null,
|
|
517
|
+
onCancel: null
|
|
518
|
+
};
|
|
519
|
+
|
|
520
|
+
var DeleteScreenModal = function DeleteScreenModal(_ref) {
|
|
521
|
+
var className = _ref.className,
|
|
522
|
+
onConfirm = _ref.onConfirm,
|
|
523
|
+
onCancel = _ref.onCancel;
|
|
590
524
|
return /*#__PURE__*/React__default["default"].createElement(components.Modal, null, /*#__PURE__*/React__default["default"].createElement(components.ModalDialog, {
|
|
591
525
|
title: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
592
|
-
id: "
|
|
526
|
+
id: "p6q/+/",
|
|
593
527
|
defaultMessage: [{
|
|
594
528
|
"type": 0,
|
|
595
|
-
"value": "
|
|
529
|
+
"value": "Delete screen"
|
|
596
530
|
}]
|
|
597
531
|
}),
|
|
598
|
-
className: classNames__default["default"]([styles$
|
|
599
|
-
onClickClose:
|
|
600
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
532
|
+
className: classNames__default["default"]([styles$c.container, _defineProperty__default["default"]({}, className, className)]),
|
|
533
|
+
onClickClose: onCancel
|
|
534
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
535
|
+
className: styles$c.description
|
|
536
|
+
}, /*#__PURE__*/React__default["default"].createElement(components.Label, null, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
537
|
+
id: "q/tLk0",
|
|
538
|
+
defaultMessage: [{
|
|
539
|
+
"type": 0,
|
|
540
|
+
"value": "Are you sure you want to delete this screen?"
|
|
541
|
+
}]
|
|
542
|
+
}))), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
543
|
+
className: styles$c.actions
|
|
544
|
+
}, /*#__PURE__*/React__default["default"].createElement(components.Button, {
|
|
545
|
+
onClick: onCancel,
|
|
546
|
+
className: "btn-outline-secondary mr-2"
|
|
547
|
+
}, /*#__PURE__*/React__default["default"].createElement(components.Label, null, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
548
|
+
id: "0GT0SI",
|
|
549
|
+
defaultMessage: [{
|
|
550
|
+
"type": 0,
|
|
551
|
+
"value": "Cancel"
|
|
552
|
+
}]
|
|
553
|
+
}))), /*#__PURE__*/React__default["default"].createElement(components.Button, {
|
|
554
|
+
onClick: onConfirm,
|
|
555
|
+
theme: "danger",
|
|
556
|
+
label: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
557
|
+
id: "gRxcTc",
|
|
558
|
+
defaultMessage: [{
|
|
559
|
+
"type": 0,
|
|
560
|
+
"value": "Delete screen"
|
|
561
|
+
}]
|
|
562
|
+
})
|
|
563
|
+
}))));
|
|
605
564
|
};
|
|
606
565
|
|
|
607
|
-
|
|
608
|
-
|
|
566
|
+
DeleteScreenModal.propTypes = propTypes$j;
|
|
567
|
+
DeleteScreenModal.defaultProps = defaultProps$j;
|
|
609
568
|
|
|
610
|
-
var styles$
|
|
569
|
+
var styles$b = {"panel":"micromag-editor-form-panel","leave":"micromag-editor-form-leave","content":"micromag-editor-form-content","navbar":"micromag-editor-form-navbar","enterBottom":"micromag-editor-form-enterBottom","enterLeft":"micromag-editor-form-enterLeft","enterRight":"micromag-editor-form-enterRight","enterTop":"micromag-editor-form-enterTop","enterActiveHorizontal":"micromag-editor-form-enterActiveHorizontal","enterActiveVertical":"micromag-editor-form-enterActiveVertical","leaveActiveLeft":"micromag-editor-form-leaveActiveLeft","leaveActiveRight":"micromag-editor-form-leaveActiveRight","leaveActiveBottom":"micromag-editor-form-leaveActiveBottom","leaveActiveTop":"micromag-editor-form-leaveActiveTop"};
|
|
611
570
|
|
|
612
|
-
var propTypes$
|
|
571
|
+
var propTypes$i = {
|
|
613
572
|
value: PropTypes__default["default"].oneOfType([core.PropTypes.story, core.PropTypes.theme]),
|
|
614
573
|
isTheme: PropTypes__default["default"].bool,
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
isParsed: PropTypes__default["default"].bool,
|
|
618
|
-
onClickScreen: PropTypes__default["default"].func,
|
|
619
|
-
onChange: PropTypes__default["default"].func,
|
|
620
|
-
className: PropTypes__default["default"].string
|
|
574
|
+
className: PropTypes__default["default"].string,
|
|
575
|
+
onChange: PropTypes__default["default"].func
|
|
621
576
|
};
|
|
622
|
-
var defaultProps$
|
|
577
|
+
var defaultProps$i = {
|
|
623
578
|
value: null,
|
|
624
579
|
isTheme: false,
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
isParsed: false,
|
|
628
|
-
onClickScreen: null,
|
|
629
|
-
onChange: null,
|
|
630
|
-
className: null
|
|
580
|
+
className: null,
|
|
581
|
+
onChange: null
|
|
631
582
|
};
|
|
632
583
|
|
|
633
|
-
var
|
|
634
|
-
var
|
|
584
|
+
var EditForm = function EditForm(_ref) {
|
|
585
|
+
var value = _ref.value,
|
|
635
586
|
isTheme = _ref.isTheme,
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
className = _ref.className;
|
|
642
|
-
var valueWithTheme = useThemeValue(unparsedValue, isTheme);
|
|
643
|
-
var value = isParsed ? unparsedValue : hooks.useParsedStory(valueWithTheme, {
|
|
644
|
-
withMedias: false
|
|
645
|
-
});
|
|
646
|
-
|
|
647
|
-
var _ref2 = value || {},
|
|
648
|
-
_ref2$components = _ref2.components,
|
|
649
|
-
screens = _ref2$components === void 0 ? [] : _ref2$components;
|
|
650
|
-
|
|
651
|
-
var _useState = React.useState(isCreateOpened),
|
|
652
|
-
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
653
|
-
createModalOpened = _useState2[0],
|
|
654
|
-
setCreateModalOpened = _useState2[1];
|
|
655
|
-
|
|
656
|
-
var routes = contexts.useRoutes();
|
|
657
|
-
var push = contexts.useRoutePush();
|
|
658
|
-
var url = contexts.useUrlGenerator();
|
|
587
|
+
className = _ref.className,
|
|
588
|
+
onChange = _ref.onChange;
|
|
589
|
+
// Match routes
|
|
590
|
+
var history = reactRouter.useHistory();
|
|
591
|
+
var routePush = contexts.useRoutePush();
|
|
659
592
|
|
|
660
|
-
var _useRouteParams = useRouteParams(
|
|
661
|
-
|
|
662
|
-
}),
|
|
593
|
+
var _useRouteParams = useRouteParams(),
|
|
594
|
+
url = _useRouteParams.url,
|
|
663
595
|
_useRouteParams$scree = _useRouteParams.screen,
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
currentScreens = _ref3$components === void 0 ? [] : _ref3$components,
|
|
670
|
-
_ref3$theme = _ref3.theme,
|
|
671
|
-
theme = _ref3$theme === void 0 ? {} : _ref3$theme;
|
|
596
|
+
screenId = _useRouteParams$scree === void 0 ? null : _useRouteParams$scree,
|
|
597
|
+
_useRouteParams$field = _useRouteParams.field,
|
|
598
|
+
fieldParams = _useRouteParams$field === void 0 ? null : _useRouteParams$field,
|
|
599
|
+
_useRouteParams$form = _useRouteParams.form,
|
|
600
|
+
formParams = _useRouteParams$form === void 0 ? null : _useRouteParams$form; // Get screen
|
|
672
601
|
|
|
673
|
-
var _ref4 = isString__default["default"](definition) ? {
|
|
674
|
-
id: definition
|
|
675
|
-
} : definition,
|
|
676
|
-
newScreenType = _ref4.id;
|
|
677
602
|
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
var themeScreen = themeComponents !== null ? themeComponents.find(function (it) {
|
|
683
|
-
return it.type === newScreenType;
|
|
684
|
-
}) || null : null;
|
|
685
|
-
var newScreen = createScreen(definition, themeScreen);
|
|
686
|
-
var foundIndex = screens.findIndex(function (_ref6) {
|
|
687
|
-
var id = _ref6.id;
|
|
688
|
-
return id === currentScreenId;
|
|
689
|
-
});
|
|
690
|
-
var currentScreenIndex = !isTheme && foundIndex >= 0 ? foundIndex + 1 : null;
|
|
603
|
+
var _ref2 = value || {},
|
|
604
|
+
_ref2$components = _ref2.components,
|
|
605
|
+
screens = _ref2$components === void 0 ? [] : _ref2$components;
|
|
691
606
|
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
607
|
+
var screenIndex = screens.findIndex(function (it) {
|
|
608
|
+
return it.id === screenId;
|
|
609
|
+
});
|
|
610
|
+
var screen = screenIndex !== -1 ? screens[screenIndex] : null; // Get transition value
|
|
695
611
|
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
612
|
+
var _useFormTransition = useFormTransition(url, screenIndex, styles$b),
|
|
613
|
+
transitionName = _useFormTransition.name,
|
|
614
|
+
transitionTimeout = _useFormTransition.timeout;
|
|
699
615
|
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
var id = _ref7.id;
|
|
705
|
-
return id;
|
|
706
|
-
});
|
|
616
|
+
var _useState = React.useState(false),
|
|
617
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
618
|
+
screenSettingsOpened = _useState2[0],
|
|
619
|
+
setScreenSettingsOpened = _useState2[1];
|
|
707
620
|
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
621
|
+
var _useState3 = React.useState(false),
|
|
622
|
+
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
623
|
+
deleteScreenModalOpened = _useState4[0],
|
|
624
|
+
setDeleteScreenModalOpened = _useState4[1];
|
|
711
625
|
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
var sameOrder = listItems.reduce(function (same, _ref10, index) {
|
|
717
|
-
var id = _ref10.id;
|
|
718
|
-
return same && id === currentIds[index];
|
|
719
|
-
}, true);
|
|
626
|
+
var _useState5 = React.useState({}),
|
|
627
|
+
_useState6 = _slicedToArray__default["default"](_useState5, 2),
|
|
628
|
+
fieldForms = _useState6[0],
|
|
629
|
+
setFieldForms = _useState6[1];
|
|
720
630
|
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
var idB = _ref12.id;
|
|
726
|
-
var indexA = ids.indexOf(idA);
|
|
727
|
-
var indexB = ids.indexOf(idB);
|
|
631
|
+
var _useState7 = React.useState(null),
|
|
632
|
+
_useState8 = _slicedToArray__default["default"](_useState7, 2),
|
|
633
|
+
fieldContext = _useState8[0],
|
|
634
|
+
setFieldContext = _useState8[1]; // Callbacks
|
|
728
635
|
|
|
729
|
-
if (indexA === indexB) {
|
|
730
|
-
return 0;
|
|
731
|
-
}
|
|
732
636
|
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
637
|
+
var gotoFieldForm = React.useCallback(function () {
|
|
638
|
+
var field = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
639
|
+
var formName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
640
|
+
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
641
|
+
var hasField = field !== null;
|
|
642
|
+
var fieldRoute = formName !== null ? 'screen.field.form' : 'screen.field';
|
|
643
|
+
routePush(hasField ? fieldRoute : 'screen', {
|
|
644
|
+
screen: screenId,
|
|
645
|
+
field: field !== null ? field.split('.') : null,
|
|
646
|
+
form: formName !== null ? utils.slug(formName) : null
|
|
647
|
+
});
|
|
648
|
+
setFieldForms(_objectSpread__default["default"](_objectSpread__default["default"]({}, fieldForms), {}, _defineProperty__default["default"]({}, "".concat(field).concat(formName !== null ? ":".concat(formName) : ''), url)));
|
|
649
|
+
setFieldContext(context);
|
|
650
|
+
}, [routePush, screenId, url, fieldForms, setFieldForms, fieldContext, setFieldContext]);
|
|
651
|
+
var closeFieldForm = React.useCallback(function (field) {
|
|
652
|
+
var formName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
653
|
+
var fieldKey = "".concat(field).concat(formName !== null ? ":".concat(formName) : '');
|
|
654
|
+
var pastUrl = fieldForms[fieldKey] || null;
|
|
736
655
|
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
}
|
|
656
|
+
if (pastUrl !== null) {
|
|
657
|
+
history.push(pastUrl);
|
|
740
658
|
}
|
|
741
|
-
}, [value, onChange]);
|
|
742
|
-
var onClickScreenType = React.useCallback(function (definition) {
|
|
743
|
-
setCreateModalOpened(false);
|
|
744
|
-
var currentScreen = isTheme ? screens.find(function (_ref13) {
|
|
745
|
-
var type = _ref13.type;
|
|
746
|
-
return type === definition.id;
|
|
747
|
-
}) || null : null;
|
|
748
659
|
|
|
749
|
-
|
|
750
|
-
|
|
660
|
+
setFieldForms(Object.keys(fieldForms).reduce(function (map, key) {
|
|
661
|
+
return key !== fieldKey ? _objectSpread__default["default"](_objectSpread__default["default"]({}, map), {}, _defineProperty__default["default"]({}, key, fieldForms[key])) : map;
|
|
662
|
+
}, {}));
|
|
663
|
+
}, [history, screenId, fieldForms, setFieldForms]);
|
|
664
|
+
var triggerOnChange = React.useCallback(function (newValue) {
|
|
665
|
+
if (onChange !== null) {
|
|
666
|
+
onChange(newValue);
|
|
751
667
|
}
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
668
|
+
}, [onChange]);
|
|
669
|
+
var onScreenFormChange = React.useCallback(function (newScreenValue) {
|
|
670
|
+
triggerOnChange(updateScreen(value, newScreenValue));
|
|
671
|
+
}, [value, triggerOnChange]);
|
|
672
|
+
var onClickDuplicate = React.useCallback(function () {
|
|
673
|
+
triggerOnChange(duplicateScreen(value, screenId));
|
|
674
|
+
setScreenSettingsOpened(false);
|
|
675
|
+
}, [value, screenId, triggerOnChange, setScreenSettingsOpened]);
|
|
676
|
+
var onClickDelete = React.useCallback(function () {
|
|
677
|
+
setDeleteScreenModalOpened(true);
|
|
678
|
+
setScreenSettingsOpened(false);
|
|
679
|
+
}, [setScreenSettingsOpened, setDeleteScreenModalOpened]);
|
|
680
|
+
var onSettingsClick = React.useCallback(function () {
|
|
681
|
+
setScreenSettingsOpened(function (opened) {
|
|
682
|
+
return !opened;
|
|
755
683
|
});
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
}, [
|
|
684
|
+
}, [setScreenSettingsOpened]);
|
|
685
|
+
var onDropdownClickOutside = React.useCallback(function () {
|
|
686
|
+
setScreenSettingsOpened(false);
|
|
687
|
+
}, [setScreenSettingsOpened]);
|
|
688
|
+
var onDeleteScreenConfirm = React.useCallback(function () {
|
|
689
|
+
triggerOnChange(deleteScreen(value, screenId));
|
|
690
|
+
setDeleteScreenModalOpened(false);
|
|
691
|
+
}, [value, triggerOnChange, screenId, setScreenSettingsOpened]);
|
|
692
|
+
var onDeleteScreenCancel = React.useCallback(function () {
|
|
693
|
+
setDeleteScreenModalOpened(false);
|
|
694
|
+
}, [setDeleteScreenModalOpened]);
|
|
695
|
+
var dropdownItems = [!isTheme ? {
|
|
696
|
+
id: 'duplicate',
|
|
697
|
+
type: 'button',
|
|
698
|
+
className: 'text-left text-info',
|
|
699
|
+
label: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
700
|
+
id: "IBjY5r",
|
|
701
|
+
defaultMessage: [{
|
|
702
|
+
"type": 0,
|
|
703
|
+
"value": "Duplicate screen"
|
|
704
|
+
}]
|
|
705
|
+
}),
|
|
706
|
+
onClick: onClickDuplicate
|
|
707
|
+
} : null, {
|
|
708
|
+
id: 'delete',
|
|
709
|
+
type: 'button',
|
|
710
|
+
className: 'text-left text-danger',
|
|
711
|
+
label: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
712
|
+
id: "hpiKce",
|
|
713
|
+
defaultMessage: [{
|
|
714
|
+
"type": 0,
|
|
715
|
+
"value": "Delete screen"
|
|
716
|
+
}]
|
|
717
|
+
}),
|
|
718
|
+
onClick: onClickDelete
|
|
719
|
+
}].filter(function (it) {
|
|
720
|
+
return it !== null;
|
|
721
|
+
});
|
|
764
722
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
765
|
-
className: classNames__default["default"](['d-flex', 'flex-column',
|
|
766
|
-
}, /*#__PURE__*/React__default["default"].createElement(components.Navbar, {
|
|
723
|
+
className: classNames__default["default"](['d-flex', 'flex-column', className])
|
|
724
|
+
}, screenId !== null ? /*#__PURE__*/React__default["default"].createElement(components.Navbar, {
|
|
767
725
|
compact: true,
|
|
768
726
|
noWrap: true,
|
|
769
727
|
withoutCollapse: true,
|
|
770
|
-
className: classNames__default["default"](['sticky-top', styles$
|
|
771
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
772
|
-
|
|
728
|
+
className: classNames__default["default"](['sticky-top', 'border-bottom', 'border-dark', styles$b.navbar])
|
|
729
|
+
}, /*#__PURE__*/React__default["default"].createElement(Breadcrumb, {
|
|
730
|
+
story: value,
|
|
731
|
+
url: url,
|
|
732
|
+
screenId: screenId,
|
|
733
|
+
field: fieldParams,
|
|
734
|
+
form: formParams,
|
|
735
|
+
className: "mr-auto"
|
|
736
|
+
}), fieldParams === null ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(SettingsButton, {
|
|
737
|
+
onClick: onSettingsClick
|
|
738
|
+
}), /*#__PURE__*/React__default["default"].createElement(components.DropdownMenu, {
|
|
739
|
+
items: dropdownItems,
|
|
740
|
+
visible: screenSettingsOpened,
|
|
741
|
+
align: "right",
|
|
742
|
+
onClickOutside: onDropdownClickOutside
|
|
743
|
+
})) : null) : null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
744
|
+
className: classNames__default["default"](['flex-grow-1', 'd-flex', 'w-100', styles$b.content])
|
|
745
|
+
}, screen !== null ? /*#__PURE__*/React__default["default"].createElement(reactTransitionGroup.CSSTransitionGroup, {
|
|
746
|
+
transitionName: transitionName,
|
|
747
|
+
transitionEnterTimeout: transitionTimeout,
|
|
748
|
+
transitionLeaveTimeout: transitionTimeout,
|
|
749
|
+
className: "w-100 flex-grow-1"
|
|
750
|
+
}, fieldParams !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
751
|
+
className: classNames__default["default"](['w-100', styles$b.panel]),
|
|
752
|
+
key: "field-".concat(fieldParams, "-").concat(formParams)
|
|
753
|
+
}, /*#__PURE__*/React__default["default"].createElement(contexts.ScreenProvider, {
|
|
754
|
+
data: screen
|
|
755
|
+
}, /*#__PURE__*/React__default["default"].createElement(FieldWithContexts, {
|
|
756
|
+
name: fieldParams.replace(/\//g, '.'),
|
|
757
|
+
value: screen,
|
|
758
|
+
form: formParams,
|
|
759
|
+
className: styles$b.form,
|
|
760
|
+
gotoFieldForm: gotoFieldForm,
|
|
761
|
+
closeFieldForm: closeFieldForm,
|
|
762
|
+
fieldContext: fieldContext,
|
|
763
|
+
onChange: onScreenFormChange
|
|
764
|
+
}))) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
765
|
+
className: classNames__default["default"](['w-100', styles$b.panel]),
|
|
766
|
+
key: "screen-".concat(screen.id)
|
|
767
|
+
}, /*#__PURE__*/React__default["default"].createElement(contexts.ScreenProvider, {
|
|
768
|
+
data: screen
|
|
769
|
+
}, /*#__PURE__*/React__default["default"].createElement(ScreenForm, {
|
|
770
|
+
value: screen,
|
|
771
|
+
className: styles$b.form,
|
|
772
|
+
onChange: onScreenFormChange,
|
|
773
|
+
gotoFieldForm: gotoFieldForm,
|
|
774
|
+
closeFieldForm: closeFieldForm
|
|
775
|
+
})))) : /*#__PURE__*/React__default["default"].createElement(components.Empty, {
|
|
776
|
+
className: "w-100 m-2"
|
|
773
777
|
}, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
774
|
-
id: "
|
|
778
|
+
id: "QfpTKK",
|
|
775
779
|
defaultMessage: [{
|
|
776
780
|
"type": 0,
|
|
777
|
-
"value": "
|
|
778
|
-
}]
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
icon: /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
|
|
784
|
-
icon: freeSolidSvgIcons.faPlus
|
|
785
|
-
})
|
|
786
|
-
})), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
787
|
-
className: "flex-grow-1 d-flex w-100 p-2"
|
|
788
|
-
}, /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
|
789
|
-
path: [routes.screen, routes.home],
|
|
790
|
-
render: function render(_ref14) {
|
|
791
|
-
var _ref14$match$params$s = _ref14.match.params.screen,
|
|
792
|
-
screenId = _ref14$match$params$s === void 0 ? null : _ref14$match$params$s;
|
|
793
|
-
return screens.length > 0 ? /*#__PURE__*/React__default["default"].createElement(ScreensMenu, {
|
|
794
|
-
items: screens.map(function (it) {
|
|
795
|
-
return {
|
|
796
|
-
id: it.id,
|
|
797
|
-
screen: it,
|
|
798
|
-
href: url('screen', {
|
|
799
|
-
screen: it.id
|
|
800
|
-
}),
|
|
801
|
-
active: it.id === screenId
|
|
802
|
-
};
|
|
803
|
-
}),
|
|
804
|
-
isVertical: isVertical,
|
|
805
|
-
withPreview: true,
|
|
806
|
-
sortable: true,
|
|
807
|
-
className: "w-100",
|
|
808
|
-
onClickItem: onClickScreen,
|
|
809
|
-
onOrderChange: onOrderChange
|
|
810
|
-
}) : /*#__PURE__*/React__default["default"].createElement(components.Empty, {
|
|
811
|
-
className: "flex-grow-1 p-2"
|
|
812
|
-
}, /*#__PURE__*/React__default["default"].createElement(components.Button, {
|
|
813
|
-
theme: "primary",
|
|
814
|
-
onClick: onClickAdd
|
|
815
|
-
}, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
816
|
-
id: "JoWKee",
|
|
817
|
-
defaultMessage: [{
|
|
818
|
-
"type": 0,
|
|
819
|
-
"value": "Create your first screen"
|
|
820
|
-
}]
|
|
821
|
-
})));
|
|
822
|
-
}
|
|
823
|
-
})), createModalOpened ? /*#__PURE__*/React__default["default"].createElement(ScreenTypesModal, {
|
|
824
|
-
selectedTypes: isTheme ? screens.map(function (_ref15) {
|
|
825
|
-
var type = _ref15.type;
|
|
826
|
-
return type;
|
|
827
|
-
}) : [],
|
|
828
|
-
onClickScreenType: onClickScreenType,
|
|
829
|
-
onRequestClose: onCreateModalRequestClose
|
|
781
|
+
"value": "Select a screen..."
|
|
782
|
+
}],
|
|
783
|
+
decription: "Indication to select a screen to view the form"
|
|
784
|
+
}))), deleteScreenModalOpened ? /*#__PURE__*/React__default["default"].createElement(DeleteScreenModal, {
|
|
785
|
+
onConfirm: onDeleteScreenConfirm,
|
|
786
|
+
onCancel: onDeleteScreenCancel
|
|
830
787
|
}) : null);
|
|
831
788
|
};
|
|
832
789
|
|
|
833
|
-
|
|
834
|
-
|
|
790
|
+
EditForm.propTypes = propTypes$i;
|
|
791
|
+
EditForm.defaultProps = defaultProps$i;
|
|
792
|
+
|
|
793
|
+
var _excluded$7 = ["components"];
|
|
794
|
+
|
|
795
|
+
var useThemeValue = function useThemeValue(value) {
|
|
796
|
+
var isTheme = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
797
|
+
var valueWithTheme = React.useMemo(function () {
|
|
798
|
+
if (!isTheme) {
|
|
799
|
+
return value;
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
var _ref = value || {};
|
|
803
|
+
_ref.components;
|
|
804
|
+
var themeValue = _objectWithoutProperties__default["default"](_ref, _excluded$7);
|
|
805
|
+
|
|
806
|
+
return value !== null ? _objectSpread__default["default"]({
|
|
807
|
+
theme: themeValue
|
|
808
|
+
}, value) : value;
|
|
809
|
+
}, [value, isTheme]);
|
|
810
|
+
return valueWithTheme;
|
|
811
|
+
};
|
|
835
812
|
|
|
836
813
|
/* eslint-disable react/button-has-type, react/jsx-props-no-spreading */
|
|
837
|
-
var propTypes$
|
|
814
|
+
var propTypes$h = {
|
|
838
815
|
color: PropTypes__default["default"].string,
|
|
839
816
|
className: PropTypes__default["default"].string
|
|
840
817
|
};
|
|
841
|
-
var defaultProps$
|
|
818
|
+
var defaultProps$h = {
|
|
842
819
|
color: 'currentColor',
|
|
843
820
|
className: null
|
|
844
821
|
};
|
|
@@ -863,15 +840,15 @@ var DesktopIcon = function DesktopIcon(_ref) {
|
|
|
863
840
|
}));
|
|
864
841
|
};
|
|
865
842
|
|
|
866
|
-
DesktopIcon.propTypes = propTypes$
|
|
867
|
-
DesktopIcon.defaultProps = defaultProps$
|
|
843
|
+
DesktopIcon.propTypes = propTypes$h;
|
|
844
|
+
DesktopIcon.defaultProps = defaultProps$h;
|
|
868
845
|
|
|
869
846
|
/* eslint-disable react/button-has-type, react/jsx-props-no-spreading */
|
|
870
|
-
var propTypes$
|
|
847
|
+
var propTypes$g = {
|
|
871
848
|
color: PropTypes__default["default"].string,
|
|
872
849
|
className: PropTypes__default["default"].string
|
|
873
850
|
};
|
|
874
|
-
var defaultProps$
|
|
851
|
+
var defaultProps$g = {
|
|
875
852
|
color: 'currentColor',
|
|
876
853
|
className: null
|
|
877
854
|
};
|
|
@@ -896,8 +873,8 @@ var MobileIcon = function MobileIcon(_ref) {
|
|
|
896
873
|
}));
|
|
897
874
|
};
|
|
898
875
|
|
|
899
|
-
MobileIcon.propTypes = propTypes$
|
|
900
|
-
MobileIcon.defaultProps = defaultProps$
|
|
876
|
+
MobileIcon.propTypes = propTypes$g;
|
|
877
|
+
MobileIcon.defaultProps = defaultProps$g;
|
|
901
878
|
|
|
902
879
|
var DeviceIcons = /*#__PURE__*/Object.freeze({
|
|
903
880
|
__proto__: null,
|
|
@@ -905,15 +882,15 @@ var DeviceIcons = /*#__PURE__*/Object.freeze({
|
|
|
905
882
|
Mobile: MobileIcon
|
|
906
883
|
});
|
|
907
884
|
|
|
908
|
-
var styles$
|
|
885
|
+
var styles$a = {"container":"micromag-editor-buttons-device-container","icon":"micromag-editor-buttons-device-icon"};
|
|
909
886
|
|
|
910
887
|
var _excluded$6 = ["device", "className", "iconComponents"];
|
|
911
|
-
var propTypes$
|
|
888
|
+
var propTypes$f = {
|
|
912
889
|
device: PropTypes__default["default"].string.isRequired,
|
|
913
890
|
iconComponents: core.PropTypes.components,
|
|
914
891
|
className: PropTypes__default["default"].string
|
|
915
892
|
};
|
|
916
|
-
var defaultProps$
|
|
893
|
+
var defaultProps$f = {
|
|
917
894
|
iconComponents: DeviceIcons,
|
|
918
895
|
className: null
|
|
919
896
|
};
|
|
@@ -926,24 +903,24 @@ var DeviceButton = function DeviceButton(_ref) {
|
|
|
926
903
|
|
|
927
904
|
var DeviceIcon = utils.getComponentFromName(device, iconComponents, DesktopIcon);
|
|
928
905
|
return /*#__PURE__*/React__default["default"].createElement(components.Button, Object.assign({
|
|
929
|
-
className: classNames__default["default"]([styles$
|
|
906
|
+
className: classNames__default["default"]([styles$a.container, _defineProperty__default["default"]({}, className, className !== null)])
|
|
930
907
|
}, props), /*#__PURE__*/React__default["default"].createElement(DeviceIcon, {
|
|
931
|
-
className: styles$
|
|
908
|
+
className: styles$a.icon
|
|
932
909
|
}));
|
|
933
910
|
};
|
|
934
911
|
|
|
935
|
-
DeviceButton.propTypes = propTypes$
|
|
936
|
-
DeviceButton.defaultProps = defaultProps$
|
|
912
|
+
DeviceButton.propTypes = propTypes$f;
|
|
913
|
+
DeviceButton.defaultProps = defaultProps$f;
|
|
937
914
|
|
|
938
|
-
var styles$
|
|
915
|
+
var styles$9 = {"container":"micromag-editor-menus-devices-container","button":"micromag-editor-menus-devices-button"};
|
|
939
916
|
|
|
940
917
|
var _excluded$5 = ["id"];
|
|
941
|
-
var propTypes$
|
|
918
|
+
var propTypes$e = {
|
|
942
919
|
items: core.PropTypes.menuItems,
|
|
943
920
|
className: PropTypes__default["default"].string,
|
|
944
921
|
onClickItem: PropTypes__default["default"].func
|
|
945
922
|
};
|
|
946
|
-
var defaultProps$
|
|
923
|
+
var defaultProps$e = {
|
|
947
924
|
items: [],
|
|
948
925
|
className: null,
|
|
949
926
|
onClickItem: null
|
|
@@ -956,7 +933,7 @@ var DevicesMenu = function DevicesMenu(_ref) {
|
|
|
956
933
|
return /*#__PURE__*/React__default["default"].createElement(components.Tabs, {
|
|
957
934
|
items: items,
|
|
958
935
|
theme: "outline-secondary",
|
|
959
|
-
className: classNames__default["default"]([styles$
|
|
936
|
+
className: classNames__default["default"]([styles$9.container, _defineProperty__default["default"]({}, className, className !== null)]),
|
|
960
937
|
renderItemButton: function renderItemButton(item, index, props) {
|
|
961
938
|
var id = item.id,
|
|
962
939
|
itemProps = _objectWithoutProperties__default["default"](item, _excluded$5);
|
|
@@ -964,7 +941,7 @@ var DevicesMenu = function DevicesMenu(_ref) {
|
|
|
964
941
|
return /*#__PURE__*/React__default["default"].createElement(DeviceButton, Object.assign({
|
|
965
942
|
device: id
|
|
966
943
|
}, props, itemProps, {
|
|
967
|
-
className: styles$
|
|
944
|
+
className: styles$9.button,
|
|
968
945
|
onClick: function onClick(e) {
|
|
969
946
|
return onClickItem !== null ? onClickItem(e, item, index) : null;
|
|
970
947
|
}
|
|
@@ -973,12 +950,12 @@ var DevicesMenu = function DevicesMenu(_ref) {
|
|
|
973
950
|
});
|
|
974
951
|
};
|
|
975
952
|
|
|
976
|
-
DevicesMenu.propTypes = propTypes$
|
|
977
|
-
DevicesMenu.defaultProps = defaultProps$
|
|
953
|
+
DevicesMenu.propTypes = propTypes$e;
|
|
954
|
+
DevicesMenu.defaultProps = defaultProps$e;
|
|
978
955
|
|
|
979
|
-
var styles$
|
|
956
|
+
var styles$8 = {"container":"micromag-editor-preview-container","noStory":"micromag-editor-preview-noStory","story":"micromag-editor-preview-story","inner":"micromag-editor-preview-inner","top":"micromag-editor-preview-top","bottom":"micromag-editor-preview-bottom","preview":"micromag-editor-preview-preview","viewerContainer":"micromag-editor-preview-viewerContainer","screen-medium":"micromag-editor-preview-screen-medium","withoutDevicesSizes":"micromag-editor-preview-withoutDevicesSizes"};
|
|
980
957
|
|
|
981
|
-
var propTypes$
|
|
958
|
+
var propTypes$d = {
|
|
982
959
|
value: PropTypes__default["default"].oneOfType([core.PropTypes.story, core.PropTypes.theme]),
|
|
983
960
|
devices: core.PropTypes.devices,
|
|
984
961
|
device: PropTypes__default["default"].string,
|
|
@@ -988,7 +965,7 @@ var propTypes$8 = {
|
|
|
988
965
|
onScreenChange: PropTypes__default["default"].func,
|
|
989
966
|
withoutDevicesSizes: PropTypes__default["default"].bool
|
|
990
967
|
};
|
|
991
|
-
var defaultProps$
|
|
968
|
+
var defaultProps$d = {
|
|
992
969
|
value: null,
|
|
993
970
|
devices: [{
|
|
994
971
|
id: 'mobile',
|
|
@@ -1078,13 +1055,13 @@ var EditorPreview = function EditorPreview(_ref) {
|
|
|
1078
1055
|
};
|
|
1079
1056
|
}, [device, contentRect, screen, withoutDevicesSizes]);
|
|
1080
1057
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1081
|
-
className: classNames__default["default"]([styles$
|
|
1082
|
-
return styles$
|
|
1083
|
-
}), (_ref3 = {}, _defineProperty__default["default"](_ref3, className, className), _defineProperty__default["default"](_ref3, styles$
|
|
1058
|
+
className: classNames__default["default"]([styles$8.container, screens.map(function (screenName) {
|
|
1059
|
+
return styles$8["screen-".concat(screenName)];
|
|
1060
|
+
}), (_ref3 = {}, _defineProperty__default["default"](_ref3, className, className), _defineProperty__default["default"](_ref3, styles$8.withoutDevicesSizes, withoutDevicesSizes), _ref3)])
|
|
1084
1061
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1085
|
-
className: styles$
|
|
1062
|
+
className: styles$8.inner
|
|
1086
1063
|
}, !withoutDevicesSizes ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1087
|
-
className: styles$
|
|
1064
|
+
className: styles$8.top
|
|
1088
1065
|
}, /*#__PURE__*/React__default["default"].createElement(DevicesMenu, {
|
|
1089
1066
|
items: devices.map(function (it) {
|
|
1090
1067
|
return _objectSpread__default["default"](_objectSpread__default["default"]({}, it), {}, {
|
|
@@ -1093,12 +1070,12 @@ var EditorPreview = function EditorPreview(_ref) {
|
|
|
1093
1070
|
}),
|
|
1094
1071
|
onClickItem: onClickDeviceItem
|
|
1095
1072
|
})) : null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1096
|
-
className: styles$
|
|
1073
|
+
className: styles$8.bottom
|
|
1097
1074
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1098
|
-
className: styles$
|
|
1075
|
+
className: styles$8.inner,
|
|
1099
1076
|
ref: bottomRef
|
|
1100
1077
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1101
|
-
className: styles$
|
|
1078
|
+
className: styles$8.preview,
|
|
1102
1079
|
style: previewStyle
|
|
1103
1080
|
}, /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
|
1104
1081
|
path: [routes.screen, routes.home],
|
|
@@ -1106,12 +1083,12 @@ var EditorPreview = function EditorPreview(_ref) {
|
|
|
1106
1083
|
var _ref4$match$params$sc = _ref4.match.params.screen,
|
|
1107
1084
|
screenId = _ref4$match$params$sc === void 0 ? null : _ref4$match$params$sc;
|
|
1108
1085
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1109
|
-
className: styles$
|
|
1086
|
+
className: styles$8.viewerContainer
|
|
1110
1087
|
}, /*#__PURE__*/React__default["default"].createElement(viewer.Viewer, {
|
|
1111
1088
|
story: valueParsed,
|
|
1112
1089
|
storyIsParsed: true,
|
|
1113
1090
|
screen: screenId,
|
|
1114
|
-
className: styles$
|
|
1091
|
+
className: styles$8.story,
|
|
1115
1092
|
theme: viewerTheme,
|
|
1116
1093
|
interactions: null,
|
|
1117
1094
|
renderContext: "edit",
|
|
@@ -1121,678 +1098,1794 @@ var EditorPreview = function EditorPreview(_ref) {
|
|
|
1121
1098
|
}))))));
|
|
1122
1099
|
};
|
|
1123
1100
|
|
|
1124
|
-
EditorPreview.propTypes = propTypes$
|
|
1125
|
-
EditorPreview.defaultProps = defaultProps$
|
|
1101
|
+
EditorPreview.propTypes = propTypes$d;
|
|
1102
|
+
EditorPreview.defaultProps = defaultProps$d;
|
|
1126
1103
|
|
|
1127
|
-
var
|
|
1104
|
+
var styles$7 = {"container":"micromag-editor-screens-container","navbar":"micromag-editor-screens-navbar"};
|
|
1128
1105
|
|
|
1129
|
-
var
|
|
1130
|
-
var _ref = story || {},
|
|
1131
|
-
_ref$components = _ref.components,
|
|
1132
|
-
components = _ref$components === void 0 ? [] : _ref$components,
|
|
1133
|
-
currentValue = _objectWithoutProperties__default["default"](_ref, _excluded$4);
|
|
1106
|
+
var styles$6 = {"container":"micromag-editor-menus-screens-container","placeholder":"micromag-editor-menus-screens-placeholder","preview":"micromag-editor-menus-screens-preview","screen":"micromag-editor-menus-screens-screen","item":"micromag-editor-menus-screens-item","items":"micromag-editor-menus-screens-items","button":"micromag-editor-menus-screens-button","settings":"micromag-editor-menus-screens-settings","isVertical":"micromag-editor-menus-screens-isVertical","noWrap":"micromag-editor-menus-screens-noWrap","withPlaceholder":"micromag-editor-menus-screens-withPlaceholder"};
|
|
1134
1107
|
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1108
|
+
var styles$5 = {"button":"micromag-editor-buttons-screen-with-preview-button","placeholder":"micromag-editor-buttons-screen-with-preview-placeholder","preview":"micromag-editor-buttons-screen-with-preview-preview","screen":"micromag-editor-buttons-screen-with-preview-screen"};
|
|
1109
|
+
|
|
1110
|
+
var styles$4 = {"container":"micromag-editor-buttons-screen-container","button":"micromag-editor-buttons-screen-button","border":"micromag-editor-buttons-screen-border","screen":"micromag-editor-buttons-screen-screen","inner":"micromag-editor-buttons-screen-inner","icon":"micromag-editor-buttons-screen-icon","label":"micromag-editor-buttons-screen-label","active":"micromag-editor-buttons-screen-active"};
|
|
1111
|
+
|
|
1112
|
+
var propTypes$c = {
|
|
1113
|
+
active: PropTypes__default["default"].bool,
|
|
1114
|
+
id: PropTypes__default["default"].string,
|
|
1115
|
+
href: PropTypes__default["default"].string,
|
|
1116
|
+
label: core.PropTypes.label,
|
|
1117
|
+
icon: PropTypes__default["default"].node,
|
|
1118
|
+
title: PropTypes__default["default"].string,
|
|
1119
|
+
onClick: PropTypes__default["default"].func,
|
|
1120
|
+
children: PropTypes__default["default"].node,
|
|
1121
|
+
refButton: PropTypes__default["default"].shape({
|
|
1122
|
+
current: PropTypes__default["default"].any // eslint-disable-line
|
|
1123
|
+
|
|
1124
|
+
}),
|
|
1125
|
+
className: PropTypes__default["default"].string
|
|
1126
|
+
};
|
|
1127
|
+
var defaultProps$c = {
|
|
1128
|
+
active: false,
|
|
1129
|
+
id: null,
|
|
1130
|
+
href: null,
|
|
1131
|
+
label: null,
|
|
1132
|
+
icon: null,
|
|
1133
|
+
title: null,
|
|
1134
|
+
onClick: null,
|
|
1135
|
+
children: null,
|
|
1136
|
+
refButton: null,
|
|
1137
|
+
className: null
|
|
1138
|
+
};
|
|
1139
|
+
|
|
1140
|
+
var ScreenButton = function ScreenButton(_ref) {
|
|
1141
|
+
var _ref2;
|
|
1142
|
+
|
|
1143
|
+
var active = _ref.active,
|
|
1144
|
+
id = _ref.id,
|
|
1145
|
+
href = _ref.href,
|
|
1146
|
+
className = _ref.className,
|
|
1147
|
+
label = _ref.label,
|
|
1148
|
+
icon = _ref.icon,
|
|
1149
|
+
children = _ref.children,
|
|
1150
|
+
title = _ref.title,
|
|
1151
|
+
onClick = _ref.onClick,
|
|
1152
|
+
refButton = _ref.refButton;
|
|
1153
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1154
|
+
className: classNames__default["default"]([styles$4.container, 'rounded', (_ref2 = {}, _defineProperty__default["default"](_ref2, styles$4.active, active), _defineProperty__default["default"](_ref2, className, className !== null), _ref2)])
|
|
1155
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1156
|
+
className: styles$4.screen
|
|
1157
|
+
}, children !== null ? children : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1158
|
+
className: styles$4.inner
|
|
1159
|
+
}, icon !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1160
|
+
className: styles$4.icon
|
|
1161
|
+
}, icon) : null, label !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1162
|
+
className: styles$4.label
|
|
1163
|
+
}, label) : null)), /*#__PURE__*/React__default["default"].createElement(components.Button, {
|
|
1164
|
+
className: styles$4.button,
|
|
1165
|
+
withoutStyle: true,
|
|
1166
|
+
id: id,
|
|
1167
|
+
href: href,
|
|
1168
|
+
title: title,
|
|
1169
|
+
onClick: onClick,
|
|
1170
|
+
refButton: refButton
|
|
1171
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
1172
|
+
className: classNames__default["default"]([styles$4.border, 'rounded'])
|
|
1173
|
+
})));
|
|
1174
|
+
};
|
|
1175
|
+
|
|
1176
|
+
ScreenButton.propTypes = propTypes$c;
|
|
1177
|
+
ScreenButton.defaultProps = defaultProps$c;
|
|
1178
|
+
var ScreenButton$1 = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
|
|
1179
|
+
return /*#__PURE__*/React__default["default"].createElement(ScreenButton, Object.assign({}, props, {
|
|
1180
|
+
refButton: ref
|
|
1181
|
+
}));
|
|
1182
|
+
});
|
|
1183
|
+
|
|
1184
|
+
var propTypes$b = {
|
|
1185
|
+
screen: PropTypes__default["default"].oneOfType([core.PropTypes.story, core.PropTypes.theme]),
|
|
1186
|
+
index: PropTypes__default["default"].number.isRequired,
|
|
1187
|
+
title: PropTypes__default["default"].string,
|
|
1188
|
+
previewStyle: PropTypes__default["default"].shape({
|
|
1189
|
+
width: PropTypes__default["default"].number,
|
|
1190
|
+
height: PropTypes__default["default"].number
|
|
1191
|
+
}),
|
|
1192
|
+
withPreview: PropTypes__default["default"].bool,
|
|
1193
|
+
withPlaceholder: PropTypes__default["default"].bool,
|
|
1194
|
+
onClick: PropTypes__default["default"].func,
|
|
1195
|
+
onClickItem: PropTypes__default["default"].func,
|
|
1196
|
+
buttonClassName: PropTypes__default["default"].string,
|
|
1197
|
+
className: PropTypes__default["default"].string
|
|
1198
|
+
};
|
|
1199
|
+
var defaultProps$b = {
|
|
1200
|
+
screen: null,
|
|
1201
|
+
title: null,
|
|
1202
|
+
previewStyle: null,
|
|
1203
|
+
withPreview: true,
|
|
1204
|
+
withPlaceholder: false,
|
|
1205
|
+
onClick: null,
|
|
1206
|
+
onClickItem: null,
|
|
1207
|
+
buttonClassName: null,
|
|
1208
|
+
className: null
|
|
1209
|
+
};
|
|
1210
|
+
|
|
1211
|
+
var ScreenWithPreview = function ScreenWithPreview(_ref) {
|
|
1212
|
+
var _ref3;
|
|
1213
|
+
|
|
1214
|
+
var screen = _ref.screen,
|
|
1215
|
+
index = _ref.index,
|
|
1216
|
+
title = _ref.title,
|
|
1217
|
+
className = _ref.className,
|
|
1218
|
+
buttonClassName = _ref.buttonClassName,
|
|
1219
|
+
previewStyle = _ref.previewStyle,
|
|
1220
|
+
_onClick = _ref.onClick,
|
|
1221
|
+
onClickItem = _ref.onClickItem,
|
|
1222
|
+
withPreview = _ref.withPreview,
|
|
1223
|
+
withPlaceholder = _ref.withPlaceholder;
|
|
1224
|
+
var intl = reactIntl.useIntl();
|
|
1225
|
+
|
|
1226
|
+
var _ref2 = previewStyle || {},
|
|
1227
|
+
_ref2$width = _ref2.width,
|
|
1228
|
+
width = _ref2$width === void 0 ? null : _ref2$width,
|
|
1229
|
+
_ref2$height = _ref2.height,
|
|
1230
|
+
height = _ref2$height === void 0 ? null : _ref2$height;
|
|
1231
|
+
|
|
1232
|
+
return /*#__PURE__*/React__default["default"].createElement(ScreenButton$1, Object.assign({}, screen, {
|
|
1233
|
+
className: classNames__default["default"]([styles$5.button, (_ref3 = {}, _defineProperty__default["default"](_ref3, buttonClassName, buttonClassName !== null), _defineProperty__default["default"](_ref3, className, className !== null), _ref3)]),
|
|
1234
|
+
title: utils.isMessage(title) ? intl.formatMessage(title) : null,
|
|
1235
|
+
onClick: function onClick() {
|
|
1236
|
+
if (_onClick !== null) {
|
|
1237
|
+
_onClick(screen, index);
|
|
1238
|
+
}
|
|
1239
|
+
|
|
1240
|
+
if (onClickItem !== null) {
|
|
1241
|
+
onClickItem(screen, index);
|
|
1242
|
+
}
|
|
1243
|
+
}
|
|
1244
|
+
}), withPreview && !withPlaceholder ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1245
|
+
className: styles$5.preview,
|
|
1246
|
+
style: previewStyle
|
|
1247
|
+
}, /*#__PURE__*/React__default["default"].createElement(components.ScreenPreview, {
|
|
1248
|
+
screen: screen,
|
|
1249
|
+
width: width,
|
|
1250
|
+
height: height,
|
|
1251
|
+
className: styles$5.screen
|
|
1252
|
+
})) : null, withPlaceholder && !withPreview ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1253
|
+
className: styles$5.placeholder,
|
|
1254
|
+
style: previewStyle
|
|
1255
|
+
}, /*#__PURE__*/React__default["default"].createElement(components.ScreenPlaceholder, {
|
|
1256
|
+
screen: screen,
|
|
1257
|
+
width: width,
|
|
1258
|
+
height: height,
|
|
1259
|
+
className: styles$5.screen
|
|
1260
|
+
})) : null);
|
|
1261
|
+
};
|
|
1262
|
+
|
|
1263
|
+
ScreenWithPreview.propTypes = propTypes$b;
|
|
1264
|
+
ScreenWithPreview.defaultProps = defaultProps$b;
|
|
1265
|
+
|
|
1266
|
+
var iOS = /iPad|iPhone|iPod/.test(navigator.platform);
|
|
1267
|
+
|
|
1268
|
+
function getDragDepth(offset, indentationWidth) {
|
|
1269
|
+
return Math.round(offset / indentationWidth);
|
|
1270
|
+
}
|
|
1271
|
+
|
|
1272
|
+
function getMaxDepth(_ref) {
|
|
1273
|
+
var previousItem = _ref.previousItem;
|
|
1274
|
+
|
|
1275
|
+
if (previousItem) {
|
|
1276
|
+
// return previousItem.depth + 1;
|
|
1277
|
+
return 1;
|
|
1278
|
+
}
|
|
1279
|
+
|
|
1280
|
+
return 0;
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
function getMinDepth(_ref2) {
|
|
1284
|
+
var nextItem = _ref2.nextItem;
|
|
1285
|
+
|
|
1286
|
+
if (nextItem) {
|
|
1287
|
+
// return nextItem.depth;
|
|
1288
|
+
return 0;
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
return 0;
|
|
1292
|
+
}
|
|
1293
|
+
|
|
1294
|
+
function getProjection(items, activeId, overId, dragOffset, indentationWidth) {
|
|
1295
|
+
var overItemIndex = items.findIndex(function (_ref3) {
|
|
1296
|
+
var id = _ref3.id;
|
|
1297
|
+
return id === overId;
|
|
1298
|
+
});
|
|
1299
|
+
var activeItemIndex = items.findIndex(function (_ref4) {
|
|
1300
|
+
var id = _ref4.id;
|
|
1301
|
+
return id === activeId;
|
|
1302
|
+
});
|
|
1303
|
+
var activeItem = items[activeItemIndex];
|
|
1304
|
+
var newItems = sortable.arrayMove(items, activeItemIndex, overItemIndex);
|
|
1305
|
+
var previousItem = newItems[overItemIndex - 1];
|
|
1306
|
+
var nextItem = newItems[overItemIndex + 1];
|
|
1307
|
+
var dragDepth = getDragDepth(dragOffset, indentationWidth);
|
|
1308
|
+
var projectedDepth = activeItem.depth + dragDepth;
|
|
1309
|
+
var maxDepth = getMaxDepth({
|
|
1310
|
+
previousItem: previousItem
|
|
1311
|
+
});
|
|
1312
|
+
var minDepth = getMinDepth({
|
|
1313
|
+
nextItem: nextItem
|
|
1314
|
+
});
|
|
1315
|
+
var depth = projectedDepth;
|
|
1316
|
+
|
|
1317
|
+
if (projectedDepth >= maxDepth) {
|
|
1318
|
+
depth = maxDepth;
|
|
1319
|
+
} else if (projectedDepth < minDepth) {
|
|
1320
|
+
depth = minDepth;
|
|
1321
|
+
}
|
|
1322
|
+
|
|
1323
|
+
function getParentId() {
|
|
1324
|
+
var _newItems$slice$rever;
|
|
1325
|
+
|
|
1326
|
+
if (depth === 0 || !previousItem) {
|
|
1327
|
+
return null;
|
|
1328
|
+
}
|
|
1329
|
+
|
|
1330
|
+
if (depth === previousItem.depth) {
|
|
1331
|
+
return previousItem.parentId;
|
|
1332
|
+
}
|
|
1333
|
+
|
|
1334
|
+
if (depth > previousItem.depth) {
|
|
1335
|
+
return previousItem.id;
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
var newParent = (_newItems$slice$rever = newItems.slice(0, overItemIndex).reverse().find(function (item) {
|
|
1339
|
+
return item.depth === depth;
|
|
1340
|
+
})) === null || _newItems$slice$rever === void 0 ? void 0 : _newItems$slice$rever.parentId;
|
|
1341
|
+
return newParent !== null && newParent !== void 0 ? newParent : null;
|
|
1342
|
+
}
|
|
1343
|
+
|
|
1344
|
+
return {
|
|
1345
|
+
depth: depth,
|
|
1346
|
+
maxDepth: maxDepth,
|
|
1347
|
+
minDepth: minDepth,
|
|
1348
|
+
parentId: getParentId()
|
|
1349
|
+
};
|
|
1350
|
+
}
|
|
1351
|
+
|
|
1352
|
+
function flatten(items) {
|
|
1353
|
+
var parentId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
1354
|
+
var depth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
1355
|
+
return items.reduce(function (acc, item, index) {
|
|
1356
|
+
return [].concat(_toConsumableArray__default["default"](acc), [_objectSpread__default["default"](_objectSpread__default["default"]({}, item), {}, {
|
|
1357
|
+
parentId: item.parentId || parentId,
|
|
1358
|
+
depth: item.parentId ? 1 : 0,
|
|
1359
|
+
index: index
|
|
1360
|
+
})], _toConsumableArray__default["default"](flatten(item.children || [], item.id, depth + 1)));
|
|
1361
|
+
}, []);
|
|
1362
|
+
}
|
|
1363
|
+
|
|
1364
|
+
function flattenTree(items) {
|
|
1365
|
+
return flatten(items);
|
|
1366
|
+
}
|
|
1367
|
+
function buildTree(flattenedItems) {
|
|
1368
|
+
var items = flattenedItems.map(function (item) {
|
|
1369
|
+
return _objectSpread__default["default"](_objectSpread__default["default"]({}, item), {}, {
|
|
1370
|
+
children: []
|
|
1371
|
+
});
|
|
1372
|
+
});
|
|
1373
|
+
var nodeList = items.reduce(function (acc, item) {
|
|
1374
|
+
var _item$parentId = item.parentId,
|
|
1375
|
+
parentId = _item$parentId === void 0 ? null : _item$parentId;
|
|
1376
|
+
|
|
1377
|
+
if (parentId) {
|
|
1378
|
+
var found = false;
|
|
1379
|
+
var newList = acc.map(function (it) {
|
|
1380
|
+
if (it.id === parentId) {
|
|
1381
|
+
found = true;
|
|
1382
|
+
return _objectSpread__default["default"](_objectSpread__default["default"]({}, it), {}, {
|
|
1383
|
+
children: [].concat(_toConsumableArray__default["default"](it.children), [_objectSpread__default["default"]({}, item)])
|
|
1384
|
+
});
|
|
1385
|
+
}
|
|
1386
|
+
|
|
1387
|
+
return it;
|
|
1388
|
+
});
|
|
1389
|
+
|
|
1390
|
+
if (found) {
|
|
1391
|
+
return newList;
|
|
1392
|
+
}
|
|
1393
|
+
|
|
1394
|
+
acc.push(_objectSpread__default["default"](_objectSpread__default["default"]({}, items.find(function (_ref5) {
|
|
1395
|
+
var id = _ref5.id;
|
|
1396
|
+
return id === parentId;
|
|
1397
|
+
}) || null), {}, {
|
|
1398
|
+
children: [item]
|
|
1399
|
+
}));
|
|
1400
|
+
return acc;
|
|
1401
|
+
}
|
|
1402
|
+
|
|
1403
|
+
acc.push(item);
|
|
1404
|
+
return acc;
|
|
1405
|
+
}, []);
|
|
1406
|
+
return nodeList;
|
|
1407
|
+
}
|
|
1408
|
+
function findItemDeep(items, itemId) {
|
|
1409
|
+
for (var i = 0; i < items.length - 1; i += 1) {
|
|
1410
|
+
var item = items[i] || {};
|
|
1411
|
+
var id = item.id,
|
|
1412
|
+
_item$children = item.children,
|
|
1413
|
+
children = _item$children === void 0 ? [] : _item$children;
|
|
1414
|
+
|
|
1415
|
+
if (id === itemId) {
|
|
1416
|
+
return item;
|
|
1417
|
+
}
|
|
1418
|
+
|
|
1419
|
+
if (children.length) {
|
|
1420
|
+
var child = findItemDeep(children, itemId);
|
|
1421
|
+
|
|
1422
|
+
if (child) {
|
|
1423
|
+
return child;
|
|
1424
|
+
}
|
|
1425
|
+
}
|
|
1426
|
+
}
|
|
1427
|
+
|
|
1428
|
+
return undefined;
|
|
1429
|
+
}
|
|
1430
|
+
function removeItem(items, id) {
|
|
1431
|
+
var newItems = [];
|
|
1432
|
+
|
|
1433
|
+
for (var i = 0; i < items.length - 1; i += 1) {
|
|
1434
|
+
var item = items[i] || {};
|
|
1435
|
+
|
|
1436
|
+
if (item.id === id) {
|
|
1437
|
+
// eslint-disable-next-line no-continue
|
|
1438
|
+
continue;
|
|
1439
|
+
}
|
|
1440
|
+
|
|
1441
|
+
if (item.children.length) {
|
|
1442
|
+
item.children = removeItem(item.children || [], id);
|
|
1443
|
+
}
|
|
1444
|
+
|
|
1445
|
+
newItems.push(item);
|
|
1446
|
+
}
|
|
1447
|
+
|
|
1448
|
+
return newItems;
|
|
1449
|
+
}
|
|
1450
|
+
function setProperty(items, id, property, setter) {
|
|
1451
|
+
// const item = items[i];
|
|
1452
|
+
// if (item.id === id) {
|
|
1453
|
+
// item[property] = setter(item[property]);
|
|
1454
|
+
// newItems.push({ ...item });
|
|
1455
|
+
// } else {
|
|
1456
|
+
// const { children = [] } = item;
|
|
1457
|
+
// let newChildren = [];
|
|
1458
|
+
// if (children.length > 0) {
|
|
1459
|
+
// newChildren = setProperty(children, id, property, setter);
|
|
1460
|
+
// }
|
|
1461
|
+
// newItems.push({ ...item, children: newChildren });
|
|
1462
|
+
// }
|
|
1463
|
+
// }
|
|
1464
|
+
|
|
1465
|
+
var _iterator = _createForOfIteratorHelper__default["default"](items),
|
|
1466
|
+
_step;
|
|
1467
|
+
|
|
1468
|
+
try {
|
|
1469
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
1470
|
+
var item = _step.value;
|
|
1471
|
+
|
|
1472
|
+
if (item.id === id) {
|
|
1473
|
+
item[property] = setter(item[property]);
|
|
1474
|
+
continue;
|
|
1475
|
+
}
|
|
1476
|
+
|
|
1477
|
+
var _item$children2 = item.children,
|
|
1478
|
+
children = _item$children2 === void 0 ? [] : _item$children2;
|
|
1479
|
+
|
|
1480
|
+
if (children.length) {
|
|
1481
|
+
children = setProperty(children, id, property, setter);
|
|
1482
|
+
}
|
|
1483
|
+
} // console.log('fubar', items, newItems);
|
|
1484
|
+
// return newItems;
|
|
1485
|
+
|
|
1486
|
+
} catch (err) {
|
|
1487
|
+
_iterator.e(err);
|
|
1488
|
+
} finally {
|
|
1489
|
+
_iterator.f();
|
|
1490
|
+
}
|
|
1491
|
+
|
|
1492
|
+
return _toConsumableArray__default["default"](items);
|
|
1493
|
+
}
|
|
1494
|
+
|
|
1495
|
+
function countChildren(items) {
|
|
1496
|
+
var count = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
1497
|
+
return items.reduce(function (acc, _ref7) {
|
|
1498
|
+
var _ref7$children = _ref7.children,
|
|
1499
|
+
children = _ref7$children === void 0 ? [] : _ref7$children;
|
|
1500
|
+
|
|
1501
|
+
if (children.length) {
|
|
1502
|
+
return countChildren(children, acc + 1);
|
|
1503
|
+
}
|
|
1504
|
+
|
|
1505
|
+
return acc + 1;
|
|
1506
|
+
}, count);
|
|
1507
|
+
}
|
|
1508
|
+
|
|
1509
|
+
function getChildCount(items, id) {
|
|
1510
|
+
if (!id) {
|
|
1511
|
+
return 0;
|
|
1512
|
+
}
|
|
1513
|
+
|
|
1514
|
+
var item = findItemDeep(items, id);
|
|
1515
|
+
return item ? countChildren(item.children || []) : 0;
|
|
1516
|
+
}
|
|
1517
|
+
function removeChildrenOf(items, ids) {
|
|
1518
|
+
var excludeParentIds = _toConsumableArray__default["default"](ids);
|
|
1519
|
+
|
|
1520
|
+
return items.filter(function (item) {
|
|
1521
|
+
if (item.parentId && excludeParentIds.includes(item.parentId)) {
|
|
1522
|
+
var _item$children3 = item.children,
|
|
1523
|
+
children = _item$children3 === void 0 ? [] : _item$children3;
|
|
1524
|
+
|
|
1525
|
+
if (children.length) {
|
|
1526
|
+
excludeParentIds.push(item.id);
|
|
1527
|
+
}
|
|
1528
|
+
|
|
1529
|
+
return false;
|
|
1530
|
+
}
|
|
1531
|
+
|
|
1532
|
+
return true;
|
|
1140
1533
|
});
|
|
1534
|
+
}
|
|
1535
|
+
|
|
1536
|
+
var directions = [core$1.KeyboardCode.Down, core$1.KeyboardCode.Right, core$1.KeyboardCode.Up, core$1.KeyboardCode.Left];
|
|
1537
|
+
var horizontal = [core$1.KeyboardCode.Left, core$1.KeyboardCode.Right];
|
|
1538
|
+
var sortableTreeKeyboardCoordinates = function sortableTreeKeyboardCoordinates(context, indentationWidth) {
|
|
1539
|
+
return function (event, _ref) {
|
|
1540
|
+
var currentCoordinates = _ref.currentCoordinates,
|
|
1541
|
+
_ref$context = _ref.context,
|
|
1542
|
+
active = _ref$context.active,
|
|
1543
|
+
over = _ref$context.over,
|
|
1544
|
+
collisionRect = _ref$context.collisionRect,
|
|
1545
|
+
droppableContainers = _ref$context.droppableContainers;
|
|
1546
|
+
|
|
1547
|
+
if (directions.includes(event.code)) {
|
|
1548
|
+
var _droppableContainers$;
|
|
1549
|
+
|
|
1550
|
+
if (!active || !collisionRect) {
|
|
1551
|
+
return;
|
|
1552
|
+
}
|
|
1553
|
+
|
|
1554
|
+
event.preventDefault();
|
|
1555
|
+
var _context$current = context.current,
|
|
1556
|
+
items = _context$current.items,
|
|
1557
|
+
offset = _context$current.offset;
|
|
1558
|
+
|
|
1559
|
+
if (horizontal.includes(event.code) && over !== null && over !== void 0 && over.id) {
|
|
1560
|
+
var _getProjection = getProjection(items, active.id, over.id, offset, indentationWidth),
|
|
1561
|
+
depth = _getProjection.depth,
|
|
1562
|
+
maxDepth = _getProjection.maxDepth,
|
|
1563
|
+
minDepth = _getProjection.minDepth;
|
|
1564
|
+
|
|
1565
|
+
switch (event.code) {
|
|
1566
|
+
case core$1.KeyboardCode.Left:
|
|
1567
|
+
if (depth > minDepth) {
|
|
1568
|
+
return _objectSpread__default["default"](_objectSpread__default["default"]({}, currentCoordinates), {}, {
|
|
1569
|
+
x: currentCoordinates.x - indentationWidth
|
|
1570
|
+
});
|
|
1571
|
+
}
|
|
1572
|
+
|
|
1573
|
+
break;
|
|
1574
|
+
|
|
1575
|
+
case core$1.KeyboardCode.Right:
|
|
1576
|
+
if (depth < maxDepth) {
|
|
1577
|
+
return _objectSpread__default["default"](_objectSpread__default["default"]({}, currentCoordinates), {}, {
|
|
1578
|
+
x: currentCoordinates.x + indentationWidth
|
|
1579
|
+
});
|
|
1580
|
+
}
|
|
1581
|
+
|
|
1582
|
+
break;
|
|
1583
|
+
|
|
1584
|
+
default:
|
|
1585
|
+
return undefined;
|
|
1586
|
+
}
|
|
1587
|
+
|
|
1588
|
+
return undefined;
|
|
1589
|
+
}
|
|
1590
|
+
|
|
1591
|
+
var containers = [];
|
|
1592
|
+
var overRect = over !== null && over !== void 0 && over.id ? (_droppableContainers$ = droppableContainers.get(over.id)) === null || _droppableContainers$ === void 0 ? void 0 : _droppableContainers$.rect.current : undefined;
|
|
1593
|
+
|
|
1594
|
+
if (overRect) {
|
|
1595
|
+
droppableContainers.forEach(function (container) {
|
|
1596
|
+
if (container !== null && container !== void 0 && container.disabled) {
|
|
1597
|
+
return;
|
|
1598
|
+
}
|
|
1599
|
+
|
|
1600
|
+
var rect = container === null || container === void 0 ? void 0 : container.rect.current;
|
|
1601
|
+
|
|
1602
|
+
if (!rect) {
|
|
1603
|
+
return;
|
|
1604
|
+
}
|
|
1605
|
+
|
|
1606
|
+
switch (event.code) {
|
|
1607
|
+
case core$1.KeyboardCode.Down:
|
|
1608
|
+
if (overRect.top < rect.top) {
|
|
1609
|
+
containers.push(container);
|
|
1610
|
+
}
|
|
1611
|
+
|
|
1612
|
+
break;
|
|
1613
|
+
|
|
1614
|
+
case core$1.KeyboardCode.Up:
|
|
1615
|
+
if (overRect.top > rect.top) {
|
|
1616
|
+
containers.push(container);
|
|
1617
|
+
}
|
|
1618
|
+
|
|
1619
|
+
break;
|
|
1620
|
+
|
|
1621
|
+
}
|
|
1622
|
+
});
|
|
1623
|
+
}
|
|
1624
|
+
|
|
1625
|
+
var collisions = core$1.closestCorners({
|
|
1626
|
+
active: active,
|
|
1627
|
+
collisionRect: collisionRect,
|
|
1628
|
+
pointerCoordinates: null,
|
|
1629
|
+
droppableContainers: containers
|
|
1630
|
+
});
|
|
1631
|
+
var closestId = core$1.getFirstCollision(collisions, 'id');
|
|
1632
|
+
|
|
1633
|
+
if (closestId && over !== null && over !== void 0 && over.id) {
|
|
1634
|
+
var _droppableContainers$2, _droppableContainers$3;
|
|
1635
|
+
|
|
1636
|
+
var newNode = (_droppableContainers$2 = droppableContainers.get(closestId)) === null || _droppableContainers$2 === void 0 ? void 0 : _droppableContainers$2.node.current;
|
|
1637
|
+
var activeNodeRect = (_droppableContainers$3 = droppableContainers.get(active.id)) === null || _droppableContainers$3 === void 0 ? void 0 : _droppableContainers$3.rect.current;
|
|
1638
|
+
|
|
1639
|
+
if (newNode && activeNodeRect) {
|
|
1640
|
+
var newRect = core$1.getClientRect(newNode, {
|
|
1641
|
+
ignoreTransform: true
|
|
1642
|
+
});
|
|
1643
|
+
var newItem = items.find(function (_ref2) {
|
|
1644
|
+
var id = _ref2.id;
|
|
1645
|
+
return id === closestId;
|
|
1646
|
+
});
|
|
1647
|
+
var activeItem = items.find(function (_ref3) {
|
|
1648
|
+
var id = _ref3.id;
|
|
1649
|
+
return id === active.id;
|
|
1650
|
+
});
|
|
1651
|
+
|
|
1652
|
+
if (newItem && activeItem) {
|
|
1653
|
+
var _getProjection2 = getProjection(items, active.id, closestId, (newItem.depth - activeItem.depth) * indentationWidth, indentationWidth),
|
|
1654
|
+
_depth = _getProjection2.depth;
|
|
1655
|
+
|
|
1656
|
+
var topOffset = newRect.top > activeNodeRect.top ? Math.abs(activeNodeRect.height - newRect.height) : 0;
|
|
1657
|
+
var newCoordinates = {
|
|
1658
|
+
x: newRect.left + _depth * indentationWidth,
|
|
1659
|
+
y: newRect.top + topOffset
|
|
1660
|
+
};
|
|
1661
|
+
return newCoordinates;
|
|
1662
|
+
}
|
|
1663
|
+
}
|
|
1664
|
+
}
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
return undefined;
|
|
1668
|
+
};
|
|
1141
1669
|
};
|
|
1142
1670
|
|
|
1143
|
-
var
|
|
1671
|
+
var styles$3 = {"wrapper":"micromag-editor-sortable-tree-item-actions-wrapper","inner":"micromag-editor-sortable-tree-item-actions-inner","button":"micromag-editor-sortable-tree-item-actions-button","withChildren":"micromag-editor-sortable-tree-item-actions-withChildren","clone":"micromag-editor-sortable-tree-item-actions-clone","ghost":"micromag-editor-sortable-tree-item-actions-ghost","indicator":"micromag-editor-sortable-tree-item-actions-indicator","handle":"micromag-editor-sortable-tree-item-actions-handle","text":"micromag-editor-sortable-tree-item-actions-text","collapsedCount":"micromag-editor-sortable-tree-item-actions-collapsedCount","count":"micromag-editor-sortable-tree-item-actions-count","disableInteraction":"micromag-editor-sortable-tree-item-actions-disableInteraction","Count":"micromag-editor-sortable-tree-item-actions-Count","Text":"micromag-editor-sortable-tree-item-actions-Text","disableSelection":"micromag-editor-sortable-tree-item-actions-disableSelection","collapse":"micromag-editor-sortable-tree-item-actions-collapse","collapsed":"micromag-editor-sortable-tree-item-actions-collapsed","children":"micromag-editor-sortable-tree-item-actions-children"};
|
|
1144
1672
|
|
|
1145
|
-
var
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1673
|
+
var _excluded$4 = ["childCount", "clone", "depth", "disableSelection", "disableInteraction", "ghost", "handleProps", "indentationWidth", "indicator", "collapsed", "onCollapse", "onRemove", "onClick", "style", "value", "wrapperRef", "showId", "children"];
|
|
1674
|
+
var propTypes$a = {
|
|
1675
|
+
childCount: PropTypes__default["default"].number,
|
|
1676
|
+
clone: PropTypes__default["default"].bool,
|
|
1677
|
+
collapsed: PropTypes__default["default"].bool,
|
|
1678
|
+
depth: PropTypes__default["default"].number.isRequired,
|
|
1679
|
+
disableInteraction: PropTypes__default["default"].bool,
|
|
1680
|
+
disableSelection: PropTypes__default["default"].bool,
|
|
1681
|
+
ghost: PropTypes__default["default"].bool,
|
|
1682
|
+
// eslint-disable-next-line react/forbid-prop-types
|
|
1683
|
+
handleProps: PropTypes__default["default"].any,
|
|
1684
|
+
indicator: PropTypes__default["default"].bool,
|
|
1685
|
+
indentationWidth: PropTypes__default["default"].number.isRequired,
|
|
1686
|
+
value: PropTypes__default["default"].string,
|
|
1687
|
+
onCollapse: PropTypes__default["default"].func,
|
|
1688
|
+
onRemove: PropTypes__default["default"].func,
|
|
1689
|
+
onClick: PropTypes__default["default"].func,
|
|
1690
|
+
// eslint-disable-next-line react/forbid-prop-types
|
|
1691
|
+
wrapperRef: PropTypes__default["default"].any,
|
|
1692
|
+
style: PropTypes__default["default"].shape({
|
|
1693
|
+
width: PropTypes__default["default"].number.isRequired,
|
|
1694
|
+
height: PropTypes__default["default"].number.isRequired,
|
|
1695
|
+
transform: PropTypes__default["default"].string.isRequired
|
|
1696
|
+
}),
|
|
1697
|
+
showId: PropTypes__default["default"].bool,
|
|
1698
|
+
children: PropTypes__default["default"].node
|
|
1699
|
+
};
|
|
1700
|
+
var defaultProps$a = {
|
|
1701
|
+
childCount: null,
|
|
1702
|
+
clone: false,
|
|
1703
|
+
collapsed: false,
|
|
1704
|
+
disableInteraction: false,
|
|
1705
|
+
disableSelection: false,
|
|
1706
|
+
ghost: false,
|
|
1707
|
+
handleProps: null,
|
|
1708
|
+
indicator: false,
|
|
1709
|
+
value: null,
|
|
1710
|
+
onCollapse: null,
|
|
1711
|
+
onRemove: null,
|
|
1712
|
+
onClick: null,
|
|
1713
|
+
wrapperRef: null,
|
|
1714
|
+
style: null,
|
|
1715
|
+
showId: false,
|
|
1716
|
+
children: null
|
|
1717
|
+
};
|
|
1718
|
+
var SortableTreeItemActions = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
1719
|
+
var _ref2;
|
|
1720
|
+
|
|
1721
|
+
var childCount = _ref.childCount,
|
|
1722
|
+
clone = _ref.clone,
|
|
1723
|
+
depth = _ref.depth,
|
|
1724
|
+
disableSelection = _ref.disableSelection,
|
|
1725
|
+
disableInteraction = _ref.disableInteraction,
|
|
1726
|
+
ghost = _ref.ghost,
|
|
1727
|
+
handleProps = _ref.handleProps,
|
|
1728
|
+
indentationWidth = _ref.indentationWidth,
|
|
1729
|
+
indicator = _ref.indicator,
|
|
1730
|
+
collapsed = _ref.collapsed,
|
|
1731
|
+
onCollapse = _ref.onCollapse,
|
|
1732
|
+
onRemove = _ref.onRemove,
|
|
1733
|
+
onClick = _ref.onClick,
|
|
1734
|
+
style = _ref.style,
|
|
1735
|
+
value = _ref.value,
|
|
1736
|
+
wrapperRef = _ref.wrapperRef,
|
|
1737
|
+
showId = _ref.showId,
|
|
1738
|
+
children = _ref.children,
|
|
1739
|
+
props = _objectWithoutProperties__default["default"](_ref, _excluded$4);
|
|
1740
|
+
|
|
1741
|
+
return /*#__PURE__*/React__default["default"].createElement("li", Object.assign({
|
|
1742
|
+
className: classNames__default["default"]([styles$3.wrapper, (_ref2 = {}, _defineProperty__default["default"](_ref2, styles$3.clone, clone), _defineProperty__default["default"](_ref2, styles$3.ghost, ghost), _defineProperty__default["default"](_ref2, styles$3.indicator, indicator), _defineProperty__default["default"](_ref2, styles$3.disableSelection, disableSelection), _defineProperty__default["default"](_ref2, styles$3.disableInteraction, disableInteraction), _defineProperty__default["default"](_ref2, styles$3.withChildren, onCollapse !== null), _ref2)]),
|
|
1743
|
+
ref: wrapperRef,
|
|
1744
|
+
style: _objectSpread__default["default"]({
|
|
1745
|
+
marginLeft: "".concat(indentationWidth * depth, "px")
|
|
1746
|
+
}, style)
|
|
1747
|
+
}, props), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1748
|
+
className: styles$3.inner,
|
|
1749
|
+
ref: ref,
|
|
1750
|
+
style: {
|
|
1751
|
+
width: style.width,
|
|
1752
|
+
height: style.height
|
|
1753
|
+
}
|
|
1754
|
+
}, /*#__PURE__*/React__default["default"].createElement("button", Object.assign({
|
|
1755
|
+
className: classNames__default["default"]([styles$3.button, styles$3.handle]),
|
|
1756
|
+
type: "button"
|
|
1757
|
+
}, handleProps), /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
|
|
1758
|
+
icon: freeSolidSvgIcons.faGripLines
|
|
1759
|
+
})), /*#__PURE__*/React__default["default"].createElement("button", {
|
|
1760
|
+
className: classNames__default["default"]([styles$3.button, styles$3.full]),
|
|
1761
|
+
type: "button",
|
|
1762
|
+
onClick: onClick,
|
|
1763
|
+
style: {
|
|
1764
|
+
width: style.width,
|
|
1765
|
+
height: style.height
|
|
1766
|
+
}
|
|
1767
|
+
}), showId ? /*#__PURE__*/React__default["default"].createElement("span", {
|
|
1768
|
+
className: styles$3.text
|
|
1769
|
+
}, value) : null, !clone && onRemove ? /*#__PURE__*/React__default["default"].createElement("button", {
|
|
1770
|
+
type: "button",
|
|
1771
|
+
onClick: onRemove
|
|
1772
|
+
}, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
|
|
1773
|
+
icon: freeSolidSvgIcons.faTimes
|
|
1774
|
+
})) : null, clone && childCount && childCount > 1 ? /*#__PURE__*/React__default["default"].createElement("span", {
|
|
1775
|
+
className: styles$3.count
|
|
1776
|
+
}, childCount) : null, onCollapse && childCount !== null && childCount > 0 ? /*#__PURE__*/React__default["default"].createElement("span", {
|
|
1777
|
+
className: styles$3.collapsedCount
|
|
1778
|
+
}, childCount) : null, onCollapse && depth === 0 ? /*#__PURE__*/React__default["default"].createElement("button", {
|
|
1779
|
+
type: "button",
|
|
1780
|
+
onClick: onCollapse,
|
|
1781
|
+
className: classNames__default["default"](styles$3.button, styles$3.collapse, collapsed && styles$3.collapsed),
|
|
1782
|
+
style: {
|
|
1783
|
+
width: style.width
|
|
1784
|
+
}
|
|
1785
|
+
}, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
|
|
1786
|
+
icon: freeSolidSvgIcons.faAngleDown
|
|
1787
|
+
})) : null), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1788
|
+
className: styles$3.children
|
|
1789
|
+
}, children));
|
|
1790
|
+
});
|
|
1791
|
+
SortableTreeItemActions.propTypes = propTypes$a;
|
|
1792
|
+
SortableTreeItemActions.defaultProps = defaultProps$a;
|
|
1793
|
+
|
|
1794
|
+
var _excluded$3 = ["id", "depth", "component", "screenValue", "style", "onCollapse", "onClick"];
|
|
1795
|
+
var propTypes$9 = {
|
|
1796
|
+
id: PropTypes__default["default"].string.isRequired,
|
|
1797
|
+
depth: PropTypes__default["default"].number.isRequired,
|
|
1798
|
+
component: PropTypes__default["default"].func,
|
|
1799
|
+
// eslint-disable-next-line react/forbid-prop-types
|
|
1800
|
+
screenValue: PropTypes__default["default"].object,
|
|
1801
|
+
style: PropTypes__default["default"].shape({
|
|
1802
|
+
width: PropTypes__default["default"].number.isRequired,
|
|
1803
|
+
height: PropTypes__default["default"].number.isRequired,
|
|
1804
|
+
scaledWidth: PropTypes__default["default"].number.isRequired,
|
|
1805
|
+
scaledHeight: PropTypes__default["default"].number.isRequired,
|
|
1806
|
+
transform: PropTypes__default["default"].string.isRequired,
|
|
1807
|
+
scale: PropTypes__default["default"].number.isRequired
|
|
1808
|
+
}),
|
|
1809
|
+
onCollapse: PropTypes__default["default"].func,
|
|
1810
|
+
onClick: PropTypes__default["default"].func
|
|
1811
|
+
};
|
|
1812
|
+
var defaultProps$9 = {
|
|
1813
|
+
component: null,
|
|
1814
|
+
screenValue: null,
|
|
1815
|
+
style: null,
|
|
1816
|
+
onCollapse: null,
|
|
1817
|
+
onClick: null
|
|
1818
|
+
};
|
|
1819
|
+
|
|
1820
|
+
var animateLayoutChanges = function animateLayoutChanges(_ref) {
|
|
1821
|
+
var isSorting = _ref.isSorting,
|
|
1822
|
+
wasDragging = _ref.wasDragging;
|
|
1823
|
+
return !(isSorting || wasDragging);
|
|
1824
|
+
};
|
|
1825
|
+
|
|
1826
|
+
var SortableTreeItem = function SortableTreeItem(_ref2) {
|
|
1827
|
+
var id = _ref2.id,
|
|
1828
|
+
depth = _ref2.depth,
|
|
1829
|
+
Component = _ref2.component,
|
|
1830
|
+
screenValue = _ref2.screenValue,
|
|
1831
|
+
itemStyle = _ref2.style,
|
|
1832
|
+
onCollapse = _ref2.onCollapse,
|
|
1833
|
+
onClick = _ref2.onClick,
|
|
1834
|
+
props = _objectWithoutProperties__default["default"](_ref2, _excluded$3);
|
|
1835
|
+
|
|
1836
|
+
var _useSortable = sortable.useSortable({
|
|
1837
|
+
id: id,
|
|
1838
|
+
animateLayoutChanges: animateLayoutChanges
|
|
1839
|
+
}),
|
|
1840
|
+
attributes = _useSortable.attributes,
|
|
1841
|
+
isDragging = _useSortable.isDragging,
|
|
1842
|
+
isSorting = _useSortable.isSorting,
|
|
1843
|
+
listeners = _useSortable.listeners,
|
|
1844
|
+
setDraggableNodeRef = _useSortable.setDraggableNodeRef,
|
|
1845
|
+
setDroppableNodeRef = _useSortable.setDroppableNodeRef,
|
|
1846
|
+
transform = _useSortable.transform,
|
|
1847
|
+
transition = _useSortable.transition;
|
|
1848
|
+
|
|
1849
|
+
var hasCollapse = onCollapse !== null;
|
|
1850
|
+
var _itemStyle$scaledWidt = itemStyle.scaledWidth,
|
|
1851
|
+
scaledWidth = _itemStyle$scaledWidt === void 0 ? 100 : _itemStyle$scaledWidt,
|
|
1852
|
+
_itemStyle$scaledHeig = itemStyle.scaledHeight,
|
|
1853
|
+
scaledHeight = _itemStyle$scaledHeig === void 0 ? 66 : _itemStyle$scaledHeig,
|
|
1854
|
+
_itemStyle$scale = itemStyle.scale,
|
|
1855
|
+
scale = _itemStyle$scale === void 0 ? 1 : _itemStyle$scale;
|
|
1856
|
+
var extraHeight = hasCollapse ? 30 : 0;
|
|
1857
|
+
var actionsStyle = {
|
|
1858
|
+
width: depth === 0 ? scaledWidth : scaledWidth * 0.75,
|
|
1859
|
+
height: depth === 0 ? scaledHeight + extraHeight : scaledHeight * 0.75,
|
|
1860
|
+
transform: utilities.CSS.Translate.toString(transform),
|
|
1861
|
+
transition: transition
|
|
1862
|
+
};
|
|
1863
|
+
var previewStyle = {
|
|
1864
|
+
width: itemStyle.width,
|
|
1865
|
+
height: itemStyle.height,
|
|
1866
|
+
transform: depth === 0 ? itemStyle.transform : "scale(".concat(scale * 0.75, ", ").concat(scale * 0.75, ")"),
|
|
1867
|
+
transformOrigin: 'top left'
|
|
1868
|
+
};
|
|
1869
|
+
return /*#__PURE__*/React__default["default"].createElement(SortableTreeItemActions, Object.assign({
|
|
1870
|
+
ref: setDraggableNodeRef,
|
|
1871
|
+
wrapperRef: setDroppableNodeRef,
|
|
1872
|
+
style: actionsStyle,
|
|
1873
|
+
depth: depth,
|
|
1874
|
+
ghost: isDragging,
|
|
1875
|
+
disableSelection: iOS,
|
|
1876
|
+
disableInteraction: isSorting,
|
|
1877
|
+
handleProps: _objectSpread__default["default"](_objectSpread__default["default"]({}, attributes), listeners),
|
|
1878
|
+
onCollapse: onCollapse,
|
|
1879
|
+
onClick: onClick
|
|
1880
|
+
}, props), Component !== null ? /*#__PURE__*/React__default["default"].createElement(Component, Object.assign({}, screenValue, {
|
|
1881
|
+
previewStyle: previewStyle
|
|
1882
|
+
})) : null);
|
|
1883
|
+
};
|
|
1884
|
+
SortableTreeItem.propTypes = propTypes$9;
|
|
1885
|
+
SortableTreeItem.defaultProps = defaultProps$9;
|
|
1886
|
+
|
|
1887
|
+
var initialItems = [{
|
|
1888
|
+
id: 'Home',
|
|
1889
|
+
children: []
|
|
1890
|
+
}, {
|
|
1891
|
+
id: 'Collections',
|
|
1892
|
+
children: [{
|
|
1893
|
+
id: 'Spring',
|
|
1894
|
+
children: []
|
|
1895
|
+
}, {
|
|
1896
|
+
id: 'Summer',
|
|
1897
|
+
children: []
|
|
1898
|
+
}, {
|
|
1899
|
+
id: 'Fall',
|
|
1900
|
+
children: []
|
|
1901
|
+
}, {
|
|
1902
|
+
id: 'Winter',
|
|
1903
|
+
children: []
|
|
1904
|
+
}]
|
|
1905
|
+
}, {
|
|
1906
|
+
id: 'About Us',
|
|
1907
|
+
children: []
|
|
1908
|
+
}, {
|
|
1909
|
+
id: 'My Account',
|
|
1910
|
+
children: [{
|
|
1911
|
+
id: 'Addresses',
|
|
1912
|
+
children: []
|
|
1913
|
+
}, {
|
|
1914
|
+
id: 'Order History',
|
|
1915
|
+
children: []
|
|
1916
|
+
}]
|
|
1917
|
+
}];
|
|
1918
|
+
var measuring = {
|
|
1919
|
+
droppable: {
|
|
1920
|
+
strategy: core$1.MeasuringStrategy.Always
|
|
1921
|
+
}
|
|
1922
|
+
};
|
|
1923
|
+
|
|
1924
|
+
var dropAnimation = _objectSpread__default["default"](_objectSpread__default["default"]({}, core$1.defaultDropAnimation), {}, {
|
|
1925
|
+
dragSourceOpacity: 0.5
|
|
1926
|
+
});
|
|
1150
1927
|
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
})
|
|
1154
|
-
|
|
1155
|
-
components: screen !== null ? [].concat(_toConsumableArray__default["default"](components), [_objectSpread__default["default"](_objectSpread__default["default"]({}, screen), {}, {
|
|
1156
|
-
id: uuid.v1()
|
|
1157
|
-
})]) : components
|
|
1928
|
+
var adjustTranslate = function adjustTranslate(_ref) {
|
|
1929
|
+
var transform = _ref.transform;
|
|
1930
|
+
return _objectSpread__default["default"](_objectSpread__default["default"]({}, transform), {}, {
|
|
1931
|
+
y: transform.y - 25
|
|
1158
1932
|
});
|
|
1159
1933
|
};
|
|
1160
1934
|
|
|
1161
|
-
var
|
|
1935
|
+
var propTypes$8 = {
|
|
1936
|
+
collapsible: PropTypes__default["default"].bool,
|
|
1937
|
+
// eslint-disable-next-line react/forbid-prop-types
|
|
1938
|
+
items: PropTypes__default["default"].array,
|
|
1939
|
+
indentationWidth: PropTypes__default["default"].number,
|
|
1940
|
+
indicator: PropTypes__default["default"].bool,
|
|
1941
|
+
removable: PropTypes__default["default"].bool,
|
|
1942
|
+
component: PropTypes__default["default"].func,
|
|
1943
|
+
itemStyle: PropTypes__default["default"].shape({}),
|
|
1944
|
+
onClickItem: PropTypes__default["default"].func,
|
|
1945
|
+
onChange: PropTypes__default["default"].func
|
|
1946
|
+
};
|
|
1947
|
+
var defaultProps$8 = {
|
|
1948
|
+
collapsible: true,
|
|
1949
|
+
items: initialItems,
|
|
1950
|
+
indentationWidth: 30,
|
|
1951
|
+
indicator: false,
|
|
1952
|
+
removable: false,
|
|
1953
|
+
component: null,
|
|
1954
|
+
itemStyle: null,
|
|
1955
|
+
onClickItem: null,
|
|
1956
|
+
onChange: null
|
|
1957
|
+
};
|
|
1958
|
+
var SortableTree = function SortableTree(_ref2) {
|
|
1959
|
+
var collapsible = _ref2.collapsible,
|
|
1960
|
+
defaultItems = _ref2.items,
|
|
1961
|
+
indicator = _ref2.indicator,
|
|
1962
|
+
indentationWidth = _ref2.indentationWidth,
|
|
1963
|
+
removable = _ref2.removable,
|
|
1964
|
+
component = _ref2.component,
|
|
1965
|
+
itemStyle = _ref2.itemStyle,
|
|
1966
|
+
onClickItem = _ref2.onClickItem,
|
|
1967
|
+
onChange = _ref2.onChange;
|
|
1968
|
+
|
|
1969
|
+
var _useState = React.useState(function () {
|
|
1970
|
+
return defaultItems;
|
|
1971
|
+
}),
|
|
1972
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
1973
|
+
items = _useState2[0],
|
|
1974
|
+
setItems = _useState2[1];
|
|
1162
1975
|
|
|
1163
|
-
var
|
|
1164
|
-
|
|
1976
|
+
var _useState3 = React.useState(null),
|
|
1977
|
+
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
1978
|
+
activeId = _useState4[0],
|
|
1979
|
+
setActiveId = _useState4[1];
|
|
1165
1980
|
|
|
1166
|
-
var
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1981
|
+
var _useState5 = React.useState(null),
|
|
1982
|
+
_useState6 = _slicedToArray__default["default"](_useState5, 2),
|
|
1983
|
+
overId = _useState6[0],
|
|
1984
|
+
setOverId = _useState6[1];
|
|
1170
1985
|
|
|
1171
|
-
var
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1986
|
+
var _useState7 = React.useState(0),
|
|
1987
|
+
_useState8 = _slicedToArray__default["default"](_useState7, 2),
|
|
1988
|
+
offsetLeft = _useState8[0],
|
|
1989
|
+
setOffsetLeft = _useState8[1];
|
|
1990
|
+
|
|
1991
|
+
var _useState9 = React.useState(null),
|
|
1992
|
+
_useState10 = _slicedToArray__default["default"](_useState9, 2),
|
|
1993
|
+
currentPosition = _useState10[0],
|
|
1994
|
+
setCurrentPosition = _useState10[1];
|
|
1995
|
+
|
|
1996
|
+
var flattenedItems = React.useMemo(function () {
|
|
1997
|
+
var flattenedTree = flattenTree(items); // console.log('yo', items, flattenedTree);
|
|
1998
|
+
|
|
1999
|
+
var collapsedItems = flattenedTree.reduce(function (acc, _ref3) {
|
|
2000
|
+
var children = _ref3.children,
|
|
2001
|
+
collapsed = _ref3.collapsed,
|
|
2002
|
+
id = _ref3.id;
|
|
2003
|
+
return collapsed && children.length ? [].concat(_toConsumableArray__default["default"](acc), [id]) : acc;
|
|
2004
|
+
}, []) || null;
|
|
2005
|
+
return removeChildrenOf(flattenedTree, activeId ? [activeId].concat(_toConsumableArray__default["default"](collapsedItems)) : collapsedItems);
|
|
2006
|
+
}, [activeId, items]);
|
|
2007
|
+
var projected = activeId && overId ? getProjection(flattenedItems, activeId, overId, offsetLeft, indentationWidth) : null;
|
|
2008
|
+
var sensorContext = React.useRef({
|
|
2009
|
+
items: flattenedItems,
|
|
2010
|
+
offset: offsetLeft
|
|
1176
2011
|
});
|
|
1177
|
-
};
|
|
1178
|
-
|
|
1179
|
-
var getFieldByName = function getFieldByName(fields, name) {
|
|
1180
|
-
return fields.reduce(function (foundField, it) {
|
|
1181
|
-
if (foundField !== null) {
|
|
1182
|
-
return foundField;
|
|
1183
|
-
}
|
|
1184
|
-
|
|
1185
|
-
var _it$name = it.name,
|
|
1186
|
-
fieldName = _it$name === void 0 ? null : _it$name,
|
|
1187
|
-
_it$fields = it.fields,
|
|
1188
|
-
subFields = _it$fields === void 0 ? [] : _it$fields;
|
|
1189
2012
|
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
2013
|
+
var _useState11 = React.useState(function () {
|
|
2014
|
+
return sortableTreeKeyboardCoordinates(sensorContext, indentationWidth);
|
|
2015
|
+
}),
|
|
2016
|
+
_useState12 = _slicedToArray__default["default"](_useState11, 1),
|
|
2017
|
+
coordinateGetter = _useState12[0];
|
|
1193
2018
|
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
};
|
|
2019
|
+
var sensors = core$1.useSensors(core$1.useSensor(core$1.PointerSensor), core$1.useSensor(core$1.KeyboardSensor, {
|
|
2020
|
+
coordinateGetter: coordinateGetter
|
|
2021
|
+
}));
|
|
2022
|
+
var sortedIds = React.useMemo(function () {
|
|
2023
|
+
return flattenedItems.map(function (_ref4) {
|
|
2024
|
+
var id = _ref4.id;
|
|
2025
|
+
return id;
|
|
2026
|
+
});
|
|
2027
|
+
}, [flattenedItems]);
|
|
2028
|
+
var activeItem = activeId ? flattenedItems.find(function (_ref5) {
|
|
2029
|
+
var id = _ref5.id;
|
|
2030
|
+
return id === activeId;
|
|
2031
|
+
}) : null;
|
|
2032
|
+
React.useEffect(function () {
|
|
2033
|
+
sensorContext.current = {
|
|
2034
|
+
items: flattenedItems,
|
|
2035
|
+
offset: offsetLeft
|
|
2036
|
+
};
|
|
2037
|
+
}, [flattenedItems, offsetLeft]);
|
|
2038
|
+
var announcements = React.useMemo(function () {
|
|
2039
|
+
return {
|
|
2040
|
+
onDragStart: function onDragStart(id) {
|
|
2041
|
+
return "Picked up ".concat(id, ".");
|
|
2042
|
+
},
|
|
2043
|
+
onDragMove: function onDragMove(id, currentOverId) {
|
|
2044
|
+
return getMovementAnnouncement('onDragMove', id, currentOverId);
|
|
2045
|
+
},
|
|
2046
|
+
onDragOver: function onDragOver(id, currentOverId) {
|
|
2047
|
+
return getMovementAnnouncement('onDragOver', id, currentOverId);
|
|
2048
|
+
},
|
|
2049
|
+
onDragEnd: function onDragEnd(id, currentOverId) {
|
|
2050
|
+
// console.log('drag end', flattenedItems);
|
|
2051
|
+
if (onChange !== null) {
|
|
2052
|
+
onChange((flattenedItems || []).map(function (_ref6) {
|
|
2053
|
+
var itemId = _ref6.id,
|
|
2054
|
+
_ref6$children = _ref6.children,
|
|
2055
|
+
children = _ref6$children === void 0 ? [] : _ref6$children,
|
|
2056
|
+
_ref6$parentId = _ref6.parentId,
|
|
2057
|
+
parentId = _ref6$parentId === void 0 ? null : _ref6$parentId;
|
|
2058
|
+
return {
|
|
2059
|
+
id: itemId,
|
|
2060
|
+
props: _objectSpread__default["default"](_objectSpread__default["default"]({}, (children || []).length > 0 ? {
|
|
2061
|
+
group: {
|
|
2062
|
+
mergeNavItems: true
|
|
2063
|
+
}
|
|
2064
|
+
} : {
|
|
2065
|
+
group: null
|
|
2066
|
+
}), parentId !== null ? {
|
|
2067
|
+
parentId: parentId
|
|
2068
|
+
} : {
|
|
2069
|
+
parentId: null
|
|
2070
|
+
})
|
|
2071
|
+
};
|
|
2072
|
+
}));
|
|
2073
|
+
}
|
|
1197
2074
|
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
2075
|
+
return getMovementAnnouncement('onDragEnd', id, currentOverId);
|
|
2076
|
+
},
|
|
2077
|
+
onDragCancel: function onDragCancel(id) {
|
|
2078
|
+
return "Moving was cancelled. ".concat(id, " was dropped in its original position.");
|
|
2079
|
+
}
|
|
2080
|
+
};
|
|
2081
|
+
}, [flattenedItems, onChange]); // Note: this is quite brutal for perf
|
|
2082
|
+
|
|
2083
|
+
React.useEffect(function () {// setItems(defaultItems);
|
|
2084
|
+
}, [defaultItems, setItems]); // console.log('render: current id', activeId);
|
|
2085
|
+
|
|
2086
|
+
return /*#__PURE__*/React__default["default"].createElement(core$1.DndContext, {
|
|
2087
|
+
announcements: announcements,
|
|
2088
|
+
sensors: sensors,
|
|
2089
|
+
collisionDetection: core$1.closestCenter,
|
|
2090
|
+
measuring: measuring,
|
|
2091
|
+
onDragStart: handleDragStart,
|
|
2092
|
+
onDragMove: handleDragMove,
|
|
2093
|
+
onDragOver: handleDragOver,
|
|
2094
|
+
onDragEnd: handleDragEnd,
|
|
2095
|
+
onDragCancel: handleDragCancel
|
|
2096
|
+
}, /*#__PURE__*/React__default["default"].createElement(sortable.SortableContext, {
|
|
2097
|
+
items: sortedIds,
|
|
2098
|
+
strategy: sortable.verticalListSortingStrategy
|
|
2099
|
+
}, flattenedItems.map(function (_ref7, idx) {
|
|
2100
|
+
var id = _ref7.id,
|
|
2101
|
+
_ref7$children = _ref7.children,
|
|
2102
|
+
children = _ref7$children === void 0 ? [] : _ref7$children,
|
|
2103
|
+
collapsed = _ref7.collapsed,
|
|
2104
|
+
depth = _ref7.depth,
|
|
2105
|
+
_ref7$screenValue = _ref7.screenValue,
|
|
2106
|
+
screenValue = _ref7$screenValue === void 0 ? null : _ref7$screenValue;
|
|
2107
|
+
return /*#__PURE__*/React__default["default"].createElement(SortableTreeItem, {
|
|
2108
|
+
key: id,
|
|
2109
|
+
id: id,
|
|
2110
|
+
value: id,
|
|
2111
|
+
depth: id === activeId && projected ? projected.depth : depth,
|
|
2112
|
+
indentationWidth: indentationWidth,
|
|
2113
|
+
indicator: indicator,
|
|
2114
|
+
collapsed: Boolean(collapsed && children.length),
|
|
2115
|
+
onCollapse: collapsible && children.length ? function () {
|
|
2116
|
+
return handleCollapse(id);
|
|
2117
|
+
} : undefined,
|
|
2118
|
+
onRemove: removable ? function () {
|
|
2119
|
+
return handleRemove(id);
|
|
2120
|
+
} : undefined,
|
|
2121
|
+
childCount: getChildCount(items, id),
|
|
2122
|
+
component: component,
|
|
2123
|
+
screenValue: screenValue,
|
|
2124
|
+
style: itemStyle,
|
|
2125
|
+
onClick: function onClick() {
|
|
2126
|
+
if (onClickItem !== null) {
|
|
2127
|
+
onClickItem({
|
|
2128
|
+
id: id
|
|
2129
|
+
}, idx);
|
|
2130
|
+
}
|
|
2131
|
+
}
|
|
2132
|
+
});
|
|
2133
|
+
}), /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/React__default["default"].createElement(core$1.DragOverlay, {
|
|
2134
|
+
dropAnimation: dropAnimation,
|
|
2135
|
+
modifiers: indicator ? [adjustTranslate] : undefined
|
|
2136
|
+
}, activeId && activeItem ? /*#__PURE__*/React__default["default"].createElement(SortableTreeItem, {
|
|
2137
|
+
id: activeId,
|
|
2138
|
+
depth: activeItem.depth,
|
|
2139
|
+
clone: true,
|
|
2140
|
+
childCount: getChildCount(items, activeId) + 1,
|
|
2141
|
+
value: activeId,
|
|
2142
|
+
indentationWidth: indentationWidth,
|
|
2143
|
+
component: component,
|
|
2144
|
+
screenValue: activeItem === null || activeItem === void 0 ? void 0 : activeItem.screenValue,
|
|
2145
|
+
style: itemStyle
|
|
2146
|
+
}) : null), document.body)));
|
|
2147
|
+
|
|
2148
|
+
function handleDragStart(_ref8) {
|
|
2149
|
+
var newActiveId = _ref8.active.id;
|
|
2150
|
+
setActiveId(newActiveId);
|
|
2151
|
+
setOverId(newActiveId);
|
|
2152
|
+
var newActiveItem = flattenedItems.find(function (_ref9) {
|
|
2153
|
+
var id = _ref9.id;
|
|
2154
|
+
return id === newActiveId;
|
|
2155
|
+
});
|
|
1209
2156
|
|
|
1210
|
-
if (
|
|
1211
|
-
|
|
1212
|
-
|
|
2157
|
+
if (newActiveItem) {
|
|
2158
|
+
setCurrentPosition({
|
|
2159
|
+
parentId: newActiveItem.parentId,
|
|
2160
|
+
overId: activeId
|
|
2161
|
+
});
|
|
1213
2162
|
}
|
|
1214
2163
|
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
var
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
var
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
2164
|
+
document.body.style.setProperty('cursor', 'grabbing');
|
|
2165
|
+
}
|
|
2166
|
+
|
|
2167
|
+
function handleDragMove(_ref10) {
|
|
2168
|
+
var delta = _ref10.delta;
|
|
2169
|
+
setOffsetLeft(delta.x);
|
|
2170
|
+
}
|
|
2171
|
+
|
|
2172
|
+
function handleDragOver(_ref11) {
|
|
2173
|
+
var _over$id;
|
|
2174
|
+
|
|
2175
|
+
var over = _ref11.over;
|
|
2176
|
+
setOverId((_over$id = over === null || over === void 0 ? void 0 : over.id) !== null && _over$id !== void 0 ? _over$id : null);
|
|
2177
|
+
}
|
|
2178
|
+
|
|
2179
|
+
function resetState() {
|
|
2180
|
+
setOverId(null);
|
|
2181
|
+
setActiveId(null);
|
|
2182
|
+
setOffsetLeft(0);
|
|
2183
|
+
setCurrentPosition(null);
|
|
2184
|
+
document.body.style.setProperty('cursor', '');
|
|
2185
|
+
}
|
|
2186
|
+
|
|
2187
|
+
function handleDragEnd(_ref12) {
|
|
2188
|
+
var active = _ref12.active,
|
|
2189
|
+
over = _ref12.over;
|
|
2190
|
+
resetState();
|
|
2191
|
+
|
|
2192
|
+
if (projected && over) {
|
|
2193
|
+
var depth = projected.depth,
|
|
2194
|
+
parentId = projected.parentId;
|
|
2195
|
+
var clonedItems = JSON.parse(JSON.stringify(flattenTree(items)));
|
|
2196
|
+
var overIndex = clonedItems.findIndex(function (_ref13) {
|
|
2197
|
+
var id = _ref13.id;
|
|
2198
|
+
return id === over.id;
|
|
2199
|
+
});
|
|
2200
|
+
var activeIndex = clonedItems.findIndex(function (_ref14) {
|
|
2201
|
+
var id = _ref14.id;
|
|
2202
|
+
return id === active.id;
|
|
2203
|
+
});
|
|
2204
|
+
var activeTreeItem = clonedItems[activeIndex];
|
|
2205
|
+
clonedItems[activeIndex] = _objectSpread__default["default"](_objectSpread__default["default"]({}, activeTreeItem), {}, {
|
|
2206
|
+
depth: depth,
|
|
2207
|
+
parentId: parentId
|
|
2208
|
+
});
|
|
2209
|
+
var sortedItems = sortable.arrayMove(clonedItems, activeIndex, overIndex);
|
|
2210
|
+
var newItems = buildTree(sortedItems);
|
|
2211
|
+
setItems(newItems);
|
|
2212
|
+
}
|
|
2213
|
+
}
|
|
1241
2214
|
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
};
|
|
1246
|
-
var defaultProps$7 = {
|
|
1247
|
-
className: null
|
|
1248
|
-
};
|
|
2215
|
+
function handleDragCancel() {
|
|
2216
|
+
resetState();
|
|
2217
|
+
}
|
|
1249
2218
|
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
2219
|
+
function handleRemove(id) {
|
|
2220
|
+
setItems(function (newItems) {
|
|
2221
|
+
return removeItem(newItems, id);
|
|
2222
|
+
});
|
|
2223
|
+
}
|
|
1253
2224
|
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
}, props));
|
|
1262
|
-
};
|
|
2225
|
+
function handleCollapse(id) {
|
|
2226
|
+
setItems(function (newItems) {
|
|
2227
|
+
return setProperty(newItems, id, 'collapsed', function (value) {
|
|
2228
|
+
return !value;
|
|
2229
|
+
});
|
|
2230
|
+
});
|
|
2231
|
+
}
|
|
1263
2232
|
|
|
1264
|
-
|
|
1265
|
-
|
|
2233
|
+
function getMovementAnnouncement(eventName, currentActiveId, currentOverId) {
|
|
2234
|
+
if (currentOverId && projected) {
|
|
2235
|
+
if (eventName !== 'onDragEnd') {
|
|
2236
|
+
if (currentPosition && projected.parentId === currentPosition.parentId && currentOverId === currentPosition.overId) {
|
|
2237
|
+
return;
|
|
2238
|
+
}
|
|
1266
2239
|
|
|
1267
|
-
|
|
2240
|
+
setCurrentPosition({
|
|
2241
|
+
parentId: projected.parentId,
|
|
2242
|
+
overId: currentOverId
|
|
2243
|
+
});
|
|
2244
|
+
}
|
|
1268
2245
|
|
|
1269
|
-
var
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
2246
|
+
var clonedItems = JSON.parse(JSON.stringify(flattenTree(items)));
|
|
2247
|
+
var overIndex = clonedItems.findIndex(function (_ref15) {
|
|
2248
|
+
var id = _ref15.id;
|
|
2249
|
+
return id === currentOverId;
|
|
2250
|
+
});
|
|
2251
|
+
var activeIndex = clonedItems.findIndex(function (_ref16) {
|
|
2252
|
+
var id = _ref16.id;
|
|
2253
|
+
return id === currentActiveId;
|
|
2254
|
+
});
|
|
2255
|
+
var sortedItems = sortable.arrayMove(clonedItems, activeIndex, overIndex);
|
|
2256
|
+
var previousItem = sortedItems[overIndex - 1];
|
|
2257
|
+
var newAnnouncement;
|
|
2258
|
+
var movedVerb = eventName === 'onDragEnd' ? 'dropped' : 'moved';
|
|
2259
|
+
var nestedVerb = eventName === 'onDragEnd' ? 'dropped' : 'nested';
|
|
2260
|
+
|
|
2261
|
+
if (!previousItem) {
|
|
2262
|
+
var nextItem = sortedItems[overIndex + 1];
|
|
2263
|
+
newAnnouncement = "".concat(currentActiveId, " was ").concat(movedVerb, " before ").concat(nextItem.id, ".");
|
|
2264
|
+
} else if (projected.depth > previousItem.depth) {
|
|
2265
|
+
newAnnouncement = "".concat(currentActiveId, " was ").concat(nestedVerb, " under ").concat(previousItem.id, ".");
|
|
2266
|
+
} else {
|
|
2267
|
+
var previousSibling = previousItem;
|
|
2268
|
+
|
|
2269
|
+
var _loop = function _loop() {
|
|
2270
|
+
var _previousSibling = previousSibling,
|
|
2271
|
+
parentId = _previousSibling.parentId;
|
|
2272
|
+
previousSibling = sortedItems.find(function (_ref17) {
|
|
2273
|
+
var id = _ref17.id;
|
|
2274
|
+
return id === parentId;
|
|
2275
|
+
});
|
|
2276
|
+
};
|
|
1284
2277
|
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
field = _ref.field,
|
|
1289
|
-
form = _ref.form,
|
|
1290
|
-
url = _ref.url,
|
|
1291
|
-
className = _ref.className;
|
|
1292
|
-
var intl = reactIntl.useIntl();
|
|
2278
|
+
while (previousSibling && projected.depth < previousSibling.depth) {
|
|
2279
|
+
_loop();
|
|
2280
|
+
}
|
|
1293
2281
|
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
2282
|
+
if (previousSibling) {
|
|
2283
|
+
newAnnouncement = "".concat(currentActiveId, " was ").concat(movedVerb, " after ").concat(previousSibling.id, ".");
|
|
2284
|
+
}
|
|
2285
|
+
} // eslint-disable-next-line consistent-return
|
|
1297
2286
|
|
|
1298
|
-
var history = reactRouter.useHistory();
|
|
1299
|
-
var screensManager = contexts.useScreensManager();
|
|
1300
|
-
var fieldsManager = contexts.useFieldsManager();
|
|
1301
|
-
var items = React.useMemo(function () {
|
|
1302
|
-
var screenIndex = screens.findIndex(function (it) {
|
|
1303
|
-
return it.id === screenId;
|
|
1304
|
-
});
|
|
1305
2287
|
|
|
1306
|
-
|
|
1307
|
-
return [];
|
|
2288
|
+
return newAnnouncement;
|
|
1308
2289
|
}
|
|
2290
|
+
}
|
|
2291
|
+
};
|
|
2292
|
+
SortableTree.propTypes = propTypes$8;
|
|
2293
|
+
SortableTree.defaultProps = defaultProps$8;
|
|
1309
2294
|
|
|
1310
|
-
|
|
1311
|
-
|
|
2295
|
+
var _excluded$2 = ["className", "screen", "type"],
|
|
2296
|
+
_excluded2 = ["id", "screen"];
|
|
2297
|
+
var propTypes$7 = {
|
|
2298
|
+
items: core.PropTypes.menuItems,
|
|
2299
|
+
withPreview: PropTypes__default["default"].bool,
|
|
2300
|
+
withPlaceholder: PropTypes__default["default"].bool,
|
|
2301
|
+
settings: PropTypes__default["default"].node,
|
|
2302
|
+
previewMinWidth: PropTypes__default["default"].number,
|
|
2303
|
+
sortable: PropTypes__default["default"].bool,
|
|
2304
|
+
isTree: PropTypes__default["default"].bool,
|
|
2305
|
+
isVertical: PropTypes__default["default"].bool,
|
|
2306
|
+
noWrap: PropTypes__default["default"].bool,
|
|
2307
|
+
className: PropTypes__default["default"].string,
|
|
2308
|
+
itemClassName: PropTypes__default["default"].string,
|
|
2309
|
+
buttonClassName: PropTypes__default["default"].string,
|
|
2310
|
+
settingsClassName: PropTypes__default["default"].string,
|
|
2311
|
+
onClickItem: PropTypes__default["default"].func,
|
|
2312
|
+
onOrderChange: PropTypes__default["default"].func
|
|
2313
|
+
};
|
|
2314
|
+
var defaultProps$7 = {
|
|
2315
|
+
items: [],
|
|
2316
|
+
withPreview: false,
|
|
2317
|
+
withPlaceholder: false,
|
|
2318
|
+
settings: null,
|
|
2319
|
+
previewMinWidth: 320,
|
|
2320
|
+
sortable: false,
|
|
2321
|
+
isTree: false,
|
|
2322
|
+
isVertical: false,
|
|
2323
|
+
noWrap: false,
|
|
2324
|
+
className: null,
|
|
2325
|
+
itemClassName: null,
|
|
2326
|
+
buttonClassName: null,
|
|
2327
|
+
settingsClassName: null,
|
|
2328
|
+
onClickItem: null,
|
|
2329
|
+
onOrderChange: null
|
|
2330
|
+
};
|
|
1312
2331
|
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
_screensManager$getDe2 = _screensManager$getDe.fields,
|
|
1316
|
-
screenFields = _screensManager$getDe2 === void 0 ? [] : _screensManager$getDe2;
|
|
2332
|
+
var ScreensMenu = function ScreensMenu(_ref) {
|
|
2333
|
+
var _ref9;
|
|
1317
2334
|
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
var currentSettings = settings !== null ? getFieldByName(settings, key) : null;
|
|
1334
|
-
var isCurrentSubfields = currentSubfields !== null;
|
|
1335
|
-
var isCurrentSettings = currentSettings !== null;
|
|
1336
|
-
var isListItems = itemsField !== null && !!key.match(/^[0-9]+$/);
|
|
1337
|
-
var isLastIndex = keyIndex === lastKeyIndex;
|
|
1338
|
-
var pathPrefix = "/".concat(screenId, "/").concat(fieldPath.slice(0, keyIndex + 1).join('/'));
|
|
1339
|
-
var pathSuffix = isLastIndex && form !== null ? "/".concat(form) : '';
|
|
1340
|
-
var addNewItem = isLastIndex || isListItems;
|
|
1341
|
-
var itemPath = "".concat(pathPrefix).concat(pathSuffix);
|
|
1342
|
-
var nextFields = null;
|
|
2335
|
+
var items = _ref.items,
|
|
2336
|
+
withPreview = _ref.withPreview,
|
|
2337
|
+
withPlaceholder = _ref.withPlaceholder,
|
|
2338
|
+
settings = _ref.settings,
|
|
2339
|
+
previewMinWidth = _ref.previewMinWidth,
|
|
2340
|
+
isVertical = _ref.isVertical,
|
|
2341
|
+
noWrap = _ref.noWrap,
|
|
2342
|
+
className = _ref.className,
|
|
2343
|
+
itemClassName = _ref.itemClassName,
|
|
2344
|
+
buttonClassName = _ref.buttonClassName,
|
|
2345
|
+
settingsClassName = _ref.settingsClassName,
|
|
2346
|
+
sortable = _ref.sortable,
|
|
2347
|
+
isTree = _ref.isTree,
|
|
2348
|
+
onClickItem = _ref.onClickItem,
|
|
2349
|
+
onOrderChange = _ref.onOrderChange;
|
|
1343
2350
|
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
nextFields = currentSettings;
|
|
2351
|
+
var _useResizeObserver = hooks.useResizeObserver({}, [items]),
|
|
2352
|
+
containerRef = _useResizeObserver.ref,
|
|
2353
|
+
contentRect = _useResizeObserver.entry.contentRect;
|
|
1348
2354
|
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
}));
|
|
1353
|
-
}
|
|
1354
|
-
} else if (isListItems) {
|
|
1355
|
-
nextFields = itemsField;
|
|
1356
|
-
}
|
|
2355
|
+
var _useResizeObserver2 = hooks.useResizeObserver({}, [items]),
|
|
2356
|
+
columnRef = _useResizeObserver2.ref,
|
|
2357
|
+
columnRect = _useResizeObserver2.entry.contentRect;
|
|
1357
2358
|
|
|
1358
|
-
|
|
1359
|
-
|
|
2359
|
+
var previewStyle = React.useMemo(function () {
|
|
2360
|
+
var _ref2 = contentRect || {},
|
|
2361
|
+
_ref2$width = _ref2.width,
|
|
2362
|
+
itemWidth = _ref2$width === void 0 ? 0 : _ref2$width,
|
|
2363
|
+
_ref2$height = _ref2.height,
|
|
2364
|
+
itemHeight = _ref2$height === void 0 ? 0 : _ref2$height;
|
|
1360
2365
|
|
|
1361
|
-
|
|
1362
|
-
_ref3$label = _ref3.label,
|
|
1363
|
-
parentItemLabel = _ref3$label === void 0 ? null : _ref3$label;
|
|
2366
|
+
var ratio = itemHeight !== 0 && itemWidth !== 0 ? itemHeight / itemWidth : 2 / 3;
|
|
1364
2367
|
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
url: itemPath,
|
|
1368
|
-
label: finalItemLabel || '',
|
|
1369
|
-
active: false
|
|
1370
|
-
};
|
|
2368
|
+
var _getSizeWithinBounds = size.getSizeWithinBounds(previewMinWidth, previewMinWidth * ratio, itemWidth, itemHeight),
|
|
2369
|
+
previewScale = _getSizeWithinBounds.scale;
|
|
1371
2370
|
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
2371
|
+
return {
|
|
2372
|
+
width: previewMinWidth,
|
|
2373
|
+
height: previewMinWidth * ratio,
|
|
2374
|
+
transform: "scale(".concat(previewScale, ", ").concat(previewScale, ")")
|
|
2375
|
+
};
|
|
2376
|
+
}, [previewMinWidth, contentRect]);
|
|
2377
|
+
var treeStyle = React.useMemo(function () {
|
|
2378
|
+
var _ref3 = columnRect || {},
|
|
2379
|
+
_ref3$width = _ref3.width,
|
|
2380
|
+
itemWidth = _ref3$width === void 0 ? 0 : _ref3$width;
|
|
1375
2381
|
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
}, {
|
|
1379
|
-
fields: fields
|
|
1380
|
-
});
|
|
1381
|
-
}
|
|
2382
|
+
var itemHeight = itemWidth * 3 / 2;
|
|
2383
|
+
var ratio = itemHeight !== 0 && itemWidth !== 0 ? itemHeight / itemWidth : 0;
|
|
1382
2384
|
|
|
1383
|
-
var
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
}
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
2385
|
+
var _getSizeWithinBounds2 = size.getSizeWithinBounds(previewMinWidth, previewMinWidth * ratio, itemWidth, itemHeight),
|
|
2386
|
+
scaledWidth = _getSizeWithinBounds2.width,
|
|
2387
|
+
scaledHeight = _getSizeWithinBounds2.height,
|
|
2388
|
+
previewScale = _getSizeWithinBounds2.scale;
|
|
2389
|
+
|
|
2390
|
+
return {
|
|
2391
|
+
width: previewMinWidth,
|
|
2392
|
+
height: previewMinWidth * ratio,
|
|
2393
|
+
transform: "scale(".concat(previewScale, ", ").concat(previewScale, ")"),
|
|
2394
|
+
scale: previewScale,
|
|
2395
|
+
scaledWidth: scaledWidth,
|
|
2396
|
+
scaledHeight: scaledHeight
|
|
2397
|
+
};
|
|
2398
|
+
}, [previewMinWidth, columnRect]);
|
|
2399
|
+
var itemsElements = !isTree ? items.map(function (_ref4, index) {
|
|
2400
|
+
var _ref5;
|
|
2401
|
+
|
|
2402
|
+
var _ref4$className = _ref4.className,
|
|
2403
|
+
itemCustomClassName = _ref4$className === void 0 ? null : _ref4$className,
|
|
2404
|
+
screen = _ref4.screen,
|
|
2405
|
+
type = _ref4.type,
|
|
2406
|
+
item = _objectWithoutProperties__default["default"](_ref4, _excluded$2);
|
|
2407
|
+
|
|
2408
|
+
return /*#__PURE__*/React__default["default"].createElement("li", {
|
|
2409
|
+
key: item.id,
|
|
2410
|
+
className: classNames__default["default"]([styles$6.item, (_ref5 = {}, _defineProperty__default["default"](_ref5, itemClassName, itemClassName !== null), _defineProperty__default["default"](_ref5, itemCustomClassName, itemCustomClassName !== null), _ref5)]),
|
|
2411
|
+
"data-screen-id": item.id,
|
|
2412
|
+
ref: index === 0 ? containerRef : null
|
|
2413
|
+
}, /*#__PURE__*/React__default["default"].createElement(ScreenWithPreview, {
|
|
2414
|
+
index: index,
|
|
2415
|
+
screen: _objectSpread__default["default"](_objectSpread__default["default"]({}, screen), withPlaceholder ? {
|
|
2416
|
+
type: type
|
|
2417
|
+
} : null),
|
|
2418
|
+
buttonClassName: buttonClassName,
|
|
2419
|
+
previewStyle: previewStyle,
|
|
2420
|
+
withPreview: withPreview,
|
|
2421
|
+
withPlaceholder: withPlaceholder,
|
|
2422
|
+
onClick: onClickItem
|
|
2423
|
+
}), settings !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2424
|
+
className: classNames__default["default"]([_defineProperty__default["default"]({}, settingsClassName, settingsClassName !== null), styles$6.settings, 'p-2'])
|
|
2425
|
+
}, isFunction__default["default"](settings) ? settings(index) : settings) : null);
|
|
2426
|
+
}) : [];
|
|
2427
|
+
var sortableItems = React.useMemo(function () {
|
|
2428
|
+
return isTree ? items.reduce(function (acc, _ref7) {
|
|
2429
|
+
var id = _ref7.id,
|
|
2430
|
+
_ref7$screen = _ref7.screen,
|
|
2431
|
+
screen = _ref7$screen === void 0 ? {} : _ref7$screen,
|
|
2432
|
+
props = _objectWithoutProperties__default["default"](_ref7, _excluded2);
|
|
2433
|
+
|
|
2434
|
+
var _screen$parentId = screen.parentId,
|
|
2435
|
+
parentId = _screen$parentId === void 0 ? null : _screen$parentId; // console.log('hey', id, screen, parentId, props);
|
|
2436
|
+
// const children =
|
|
2437
|
+
// items.filter(({ screen: { parentId: cpid = null } }) => cpid === id) ||
|
|
2438
|
+
// [];
|
|
2439
|
+
// console.log('children', children);
|
|
2440
|
+
|
|
2441
|
+
acc.push(_objectSpread__default["default"]({
|
|
2442
|
+
id: id,
|
|
2443
|
+
parentId: parentId,
|
|
2444
|
+
screenValue: {
|
|
2445
|
+
id: id,
|
|
2446
|
+
screen: screen
|
|
2447
|
+
}
|
|
2448
|
+
}, props));
|
|
2449
|
+
return acc;
|
|
2450
|
+
}, []) : items.map(function (_ref8) {
|
|
2451
|
+
var id = _ref8.id;
|
|
2452
|
+
return {
|
|
2453
|
+
id: id
|
|
2454
|
+
};
|
|
1402
2455
|
});
|
|
1403
|
-
}, [
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
2456
|
+
}, [items, isTree]); // console.log('screens menu items/sitems', items, sortableItems);
|
|
2457
|
+
|
|
2458
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2459
|
+
className: classNames__default["default"]([styles$6.container, (_ref9 = {}, _defineProperty__default["default"](_ref9, styles$6.noWrap, noWrap), _defineProperty__default["default"](_ref9, styles$6.isVertical, isVertical), _defineProperty__default["default"](_ref9, styles$6.isTree, isTree), _defineProperty__default["default"](_ref9, styles$6.withPlaceholder, withPlaceholder), _defineProperty__default["default"](_ref9, className, className), _ref9)]),
|
|
2460
|
+
ref: columnRef
|
|
2461
|
+
}, isTree && !sortable ? /*#__PURE__*/React__default["default"].createElement(SortableTree, {
|
|
2462
|
+
items: sortableItems,
|
|
2463
|
+
component: ScreenWithPreview,
|
|
2464
|
+
itemStyle: treeStyle,
|
|
2465
|
+
onClickItem: onClickItem,
|
|
2466
|
+
onChange: onOrderChange
|
|
2467
|
+
}) : null, !isTree && sortable && items.length > 1 ? /*#__PURE__*/React__default["default"].createElement(reactSortablejs.ReactSortable, {
|
|
2468
|
+
list: sortableItems,
|
|
2469
|
+
setList: onOrderChange,
|
|
2470
|
+
animation: 200,
|
|
2471
|
+
delayOnTouchStart: true,
|
|
2472
|
+
delay: 2,
|
|
2473
|
+
tag: "ul",
|
|
2474
|
+
className: styles$6.items
|
|
2475
|
+
}, itemsElements) : null, !isTree && (!sortable || items.length < 1) ? /*#__PURE__*/React__default["default"].createElement("ul", {
|
|
2476
|
+
className: styles$6.items
|
|
2477
|
+
}, itemsElements) : null);
|
|
1419
2478
|
};
|
|
1420
2479
|
|
|
1421
|
-
|
|
1422
|
-
|
|
2480
|
+
ScreensMenu.propTypes = propTypes$7;
|
|
2481
|
+
ScreensMenu.defaultProps = defaultProps$7;
|
|
1423
2482
|
|
|
1424
|
-
var styles$
|
|
2483
|
+
var styles$2 = {"container":"micromag-editor-menus-screen-types-container","row":"micromag-editor-menus-screen-types-row","title":"micromag-editor-menus-screen-types-title"};
|
|
1425
2484
|
|
|
1426
|
-
var propTypes$
|
|
1427
|
-
|
|
2485
|
+
var propTypes$6 = {
|
|
2486
|
+
screens: core.PropTypes.screenDefinitions,
|
|
2487
|
+
selectedTypes: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),
|
|
1428
2488
|
className: PropTypes__default["default"].string,
|
|
1429
|
-
|
|
1430
|
-
closeFieldForm: PropTypes__default["default"].func.isRequired,
|
|
1431
|
-
onChange: PropTypes__default["default"].func // onClickDelete: PropTypes.func,
|
|
1432
|
-
|
|
2489
|
+
onClickItem: PropTypes__default["default"].func
|
|
1433
2490
|
};
|
|
1434
|
-
var defaultProps$
|
|
1435
|
-
|
|
2491
|
+
var defaultProps$6 = {
|
|
2492
|
+
screens: null,
|
|
2493
|
+
selectedTypes: null,
|
|
1436
2494
|
className: null,
|
|
1437
|
-
|
|
1438
|
-
|
|
2495
|
+
onClickItem: null
|
|
1439
2496
|
};
|
|
1440
2497
|
|
|
1441
|
-
var
|
|
1442
|
-
var
|
|
2498
|
+
var ScreenTypes = function ScreenTypes(_ref) {
|
|
2499
|
+
var screens = _ref.screens,
|
|
2500
|
+
selectedTypes = _ref.selectedTypes,
|
|
1443
2501
|
className = _ref.className,
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
var
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
// window.confirm(
|
|
1455
|
-
// intl.formatMessage({
|
|
1456
|
-
// defaultMessage: 'Are you sure you want to delete this screen?',
|
|
1457
|
-
// description: 'Confirm message when deleting a screen',
|
|
1458
|
-
// }),
|
|
1459
|
-
// )
|
|
1460
|
-
// ) {
|
|
1461
|
-
// onClickDelete(value);
|
|
1462
|
-
// }
|
|
1463
|
-
// }, [intl, onClickDelete, value]);
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1467
|
-
className: classNames__default["default"]([styles$3.container, _defineProperty__default["default"]({}, className, className)])
|
|
1468
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1469
|
-
className: styles$3.inner
|
|
1470
|
-
}, /*#__PURE__*/React__default["default"].createElement(fields.Fields, {
|
|
1471
|
-
fields: fields$1,
|
|
1472
|
-
value: value,
|
|
1473
|
-
onChange: onChange,
|
|
1474
|
-
gotoFieldForm: gotoFieldForm,
|
|
1475
|
-
closeFieldForm: closeFieldForm
|
|
1476
|
-
})));
|
|
1477
|
-
};
|
|
2502
|
+
onClickItem = _ref.onClickItem;
|
|
2503
|
+
var intl = reactIntl.useIntl();
|
|
2504
|
+
var screensManager = contexts.useScreensManager();
|
|
2505
|
+
var finalDefinitions = screens || screensManager.getDefinitions();
|
|
2506
|
+
var groups = React.useMemo(function () {
|
|
2507
|
+
var groupItems = finalDefinitions.reduce(function (allGroups, definition) {
|
|
2508
|
+
var id = definition.id,
|
|
2509
|
+
title = definition.title,
|
|
2510
|
+
_definition$group = definition.group,
|
|
2511
|
+
group = _definition$group === void 0 ? {} : _definition$group;
|
|
1478
2512
|
|
|
1479
|
-
|
|
1480
|
-
|
|
2513
|
+
var _ref2 = group || {},
|
|
2514
|
+
_ref2$order = _ref2.order,
|
|
2515
|
+
order = _ref2$order === void 0 ? 0 : _ref2$order,
|
|
2516
|
+
_ref2$label = _ref2.label,
|
|
2517
|
+
label = _ref2$label === void 0 ? {} : _ref2$label,
|
|
2518
|
+
_ref2$hidden = _ref2.hidden,
|
|
2519
|
+
hidden = _ref2$hidden === void 0 ? false : _ref2$hidden;
|
|
1481
2520
|
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
};
|
|
1486
|
-
var defaultProps$4 = {
|
|
1487
|
-
children: null
|
|
1488
|
-
};
|
|
2521
|
+
var _ref3 = label || {},
|
|
2522
|
+
_ref3$id = _ref3.id,
|
|
2523
|
+
messageId = _ref3$id === void 0 ? null : _ref3$id;
|
|
1489
2524
|
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
_useScreenDefinition$ = _useScreenDefinition.fields,
|
|
1494
|
-
fields = _useScreenDefinition$ === void 0 ? [] : _useScreenDefinition$; // To use a specific form component
|
|
2525
|
+
if (hidden) {
|
|
2526
|
+
return allGroups;
|
|
2527
|
+
}
|
|
1495
2528
|
|
|
2529
|
+
var _ref4 = utils.isMessage(label) ? {
|
|
2530
|
+
id: messageId || id,
|
|
2531
|
+
name: group
|
|
2532
|
+
} : {
|
|
2533
|
+
id: messageId || id,
|
|
2534
|
+
name: title
|
|
2535
|
+
},
|
|
2536
|
+
groupId = _ref4.id,
|
|
2537
|
+
groupName = _ref4.name;
|
|
1496
2538
|
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
2539
|
+
var groupIndex = allGroups.findIndex(function (it) {
|
|
2540
|
+
return it.id === groupId;
|
|
2541
|
+
});
|
|
2542
|
+
var selected = selectedTypes !== null && selectedTypes.indexOf(id) !== -1;
|
|
2543
|
+
var item = {
|
|
2544
|
+
id: id,
|
|
2545
|
+
type: id,
|
|
2546
|
+
screen: definition,
|
|
2547
|
+
className: classNames__default["default"](_defineProperty__default["default"]({
|
|
2548
|
+
'bg-secondary': !selected,
|
|
2549
|
+
'bg-primary': selected
|
|
2550
|
+
}, styles$2.selected, selected))
|
|
2551
|
+
};
|
|
2552
|
+
return groupIndex !== -1 ? [].concat(_toConsumableArray__default["default"](allGroups.slice(0, groupIndex)), [_objectSpread__default["default"](_objectSpread__default["default"]({}, allGroups[groupIndex]), {}, {
|
|
2553
|
+
items: [].concat(_toConsumableArray__default["default"](allGroups[groupIndex].items), [item])
|
|
2554
|
+
})], _toConsumableArray__default["default"](allGroups.slice(groupIndex + 1))) : [].concat(_toConsumableArray__default["default"](allGroups), [{
|
|
2555
|
+
id: groupId,
|
|
2556
|
+
name: utils.isMessage(label) ? intl.formatMessage(label) : groupName,
|
|
2557
|
+
order: order,
|
|
2558
|
+
items: [item]
|
|
2559
|
+
}]);
|
|
2560
|
+
}, []);
|
|
2561
|
+
return orderBy__default["default"](groupItems, ['order', 'name'], ['asc', 'asc']);
|
|
2562
|
+
}, [finalDefinitions, selectedTypes]);
|
|
2563
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2564
|
+
className: classNames__default["default"]([styles$2.container, _defineProperty__default["default"]({}, className, className)])
|
|
2565
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2566
|
+
className: styles$2.rows
|
|
2567
|
+
}, groups.map(function (_ref6) {
|
|
2568
|
+
var id = _ref6.id,
|
|
2569
|
+
name = _ref6.name,
|
|
2570
|
+
items = _ref6.items;
|
|
2571
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2572
|
+
key: "group-".concat(id),
|
|
2573
|
+
className: styles$2.row
|
|
2574
|
+
}, /*#__PURE__*/React__default["default"].createElement(components.Label, null, name), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2575
|
+
className: styles$2.layouts
|
|
2576
|
+
}, /*#__PURE__*/React__default["default"].createElement(ScreensMenu, {
|
|
2577
|
+
items: items,
|
|
2578
|
+
withPlaceholder: true,
|
|
2579
|
+
itemClassName: classNames__default["default"](['border', 'rounded', {
|
|
2580
|
+
'border-secondary': selectedTypes === null,
|
|
2581
|
+
'border-dark': selectedTypes !== null,
|
|
2582
|
+
'bg-secondary': selectedTypes === null,
|
|
2583
|
+
'text-secondary': selectedTypes !== null
|
|
2584
|
+
}]),
|
|
2585
|
+
previewMinWidth: 100,
|
|
2586
|
+
onClickItem: onClickItem
|
|
2587
|
+
})));
|
|
2588
|
+
})));
|
|
1502
2589
|
};
|
|
1503
2590
|
|
|
1504
|
-
|
|
1505
|
-
|
|
2591
|
+
ScreenTypes.propTypes = propTypes$6;
|
|
2592
|
+
ScreenTypes.defaultProps = defaultProps$6;
|
|
1506
2593
|
|
|
1507
|
-
var styles$
|
|
2594
|
+
var styles$1 = {"container":"micromag-editor-modals-screen-types-container","selected":"micromag-editor-modals-screen-types-selected"};
|
|
1508
2595
|
|
|
1509
|
-
var propTypes$
|
|
2596
|
+
var propTypes$5 = {
|
|
2597
|
+
selectedTypes: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),
|
|
1510
2598
|
className: PropTypes__default["default"].string,
|
|
1511
|
-
|
|
1512
|
-
|
|
2599
|
+
onRequestClose: PropTypes__default["default"].func,
|
|
2600
|
+
onClickScreenType: PropTypes__default["default"].func
|
|
1513
2601
|
};
|
|
1514
|
-
var defaultProps$
|
|
2602
|
+
var defaultProps$5 = {
|
|
2603
|
+
selectedTypes: null,
|
|
1515
2604
|
className: null,
|
|
1516
|
-
|
|
1517
|
-
|
|
2605
|
+
onRequestClose: null,
|
|
2606
|
+
onClickScreenType: null
|
|
1518
2607
|
};
|
|
1519
2608
|
|
|
1520
|
-
var
|
|
1521
|
-
var
|
|
1522
|
-
|
|
1523
|
-
|
|
2609
|
+
var ScreenTypesModal = function ScreenTypesModal(_ref) {
|
|
2610
|
+
var selectedTypes = _ref.selectedTypes,
|
|
2611
|
+
className = _ref.className,
|
|
2612
|
+
onRequestClose = _ref.onRequestClose,
|
|
2613
|
+
onClickScreenType = _ref.onClickScreenType;
|
|
1524
2614
|
return /*#__PURE__*/React__default["default"].createElement(components.Modal, null, /*#__PURE__*/React__default["default"].createElement(components.ModalDialog, {
|
|
1525
2615
|
title: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
1526
|
-
id: "
|
|
2616
|
+
id: "QBaiO0",
|
|
1527
2617
|
defaultMessage: [{
|
|
1528
2618
|
"type": 0,
|
|
1529
|
-
"value": "
|
|
2619
|
+
"value": "Add a screen"
|
|
1530
2620
|
}]
|
|
1531
2621
|
}),
|
|
1532
|
-
className: classNames__default["default"]([styles$
|
|
1533
|
-
onClickClose:
|
|
1534
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
"type": 0,
|
|
1540
|
-
"value": "Are you sure you want to delete this screen?"
|
|
1541
|
-
}]
|
|
1542
|
-
}))), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1543
|
-
className: styles$2.actions
|
|
1544
|
-
}, /*#__PURE__*/React__default["default"].createElement(components.Button, {
|
|
1545
|
-
onClick: onCancel,
|
|
1546
|
-
className: "btn-outline-secondary mr-2"
|
|
1547
|
-
}, /*#__PURE__*/React__default["default"].createElement(components.Label, null, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
1548
|
-
id: "0GT0SI",
|
|
1549
|
-
defaultMessage: [{
|
|
1550
|
-
"type": 0,
|
|
1551
|
-
"value": "Cancel"
|
|
1552
|
-
}]
|
|
1553
|
-
}))), /*#__PURE__*/React__default["default"].createElement(components.Button, {
|
|
1554
|
-
onClick: onConfirm,
|
|
1555
|
-
theme: "danger",
|
|
1556
|
-
label: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
1557
|
-
id: "gRxcTc",
|
|
1558
|
-
defaultMessage: [{
|
|
1559
|
-
"type": 0,
|
|
1560
|
-
"value": "Delete screen"
|
|
1561
|
-
}]
|
|
1562
|
-
})
|
|
1563
|
-
}))));
|
|
2622
|
+
className: classNames__default["default"]([styles$1.container, _defineProperty__default["default"]({}, className, className)]),
|
|
2623
|
+
onClickClose: onRequestClose
|
|
2624
|
+
}, /*#__PURE__*/React__default["default"].createElement(ScreenTypes, {
|
|
2625
|
+
selectedTypes: selectedTypes,
|
|
2626
|
+
className: styles$1.menu,
|
|
2627
|
+
onClickItem: onClickScreenType
|
|
2628
|
+
})));
|
|
1564
2629
|
};
|
|
1565
2630
|
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
var styles$1 = {"panel":"micromag-editor-form-panel","leave":"micromag-editor-form-leave","content":"micromag-editor-form-content","navbar":"micromag-editor-form-navbar","enterBottom":"micromag-editor-form-enterBottom","enterLeft":"micromag-editor-form-enterLeft","enterRight":"micromag-editor-form-enterRight","enterTop":"micromag-editor-form-enterTop","enterActiveHorizontal":"micromag-editor-form-enterActiveHorizontal","enterActiveVertical":"micromag-editor-form-enterActiveVertical","leaveActiveLeft":"micromag-editor-form-leaveActiveLeft","leaveActiveRight":"micromag-editor-form-leaveActiveRight","leaveActiveBottom":"micromag-editor-form-leaveActiveBottom","leaveActiveTop":"micromag-editor-form-leaveActiveTop"};
|
|
2631
|
+
ScreenTypesModal.propTypes = propTypes$5;
|
|
2632
|
+
ScreenTypesModal.defaultProps = defaultProps$5;
|
|
1570
2633
|
|
|
1571
|
-
var
|
|
2634
|
+
var _excluded$1 = ["id"];
|
|
2635
|
+
var propTypes$4 = {
|
|
1572
2636
|
value: PropTypes__default["default"].oneOfType([core.PropTypes.story, core.PropTypes.theme]),
|
|
1573
2637
|
isTheme: PropTypes__default["default"].bool,
|
|
1574
|
-
|
|
1575
|
-
|
|
2638
|
+
isVertical: PropTypes__default["default"].bool,
|
|
2639
|
+
isCreateOpened: PropTypes__default["default"].bool,
|
|
2640
|
+
isParsed: PropTypes__default["default"].bool,
|
|
2641
|
+
isTree: PropTypes__default["default"].bool,
|
|
2642
|
+
onClickScreen: PropTypes__default["default"].func,
|
|
2643
|
+
onChange: PropTypes__default["default"].func,
|
|
2644
|
+
className: PropTypes__default["default"].string
|
|
1576
2645
|
};
|
|
1577
|
-
var defaultProps$
|
|
2646
|
+
var defaultProps$4 = {
|
|
1578
2647
|
value: null,
|
|
1579
2648
|
isTheme: false,
|
|
1580
|
-
|
|
1581
|
-
|
|
2649
|
+
isVertical: false,
|
|
2650
|
+
isCreateOpened: false,
|
|
2651
|
+
isParsed: false,
|
|
2652
|
+
isTree: false,
|
|
2653
|
+
onClickScreen: null,
|
|
2654
|
+
onChange: null,
|
|
2655
|
+
className: null
|
|
1582
2656
|
};
|
|
1583
2657
|
|
|
1584
|
-
var
|
|
1585
|
-
var
|
|
2658
|
+
var EditorScreens = function EditorScreens(_ref) {
|
|
2659
|
+
var unparsedValue = _ref.value,
|
|
1586
2660
|
isTheme = _ref.isTheme,
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
fieldParams = _useRouteParams$field === void 0 ? null : _useRouteParams$field,
|
|
1599
|
-
_useRouteParams$form = _useRouteParams.form,
|
|
1600
|
-
formParams = _useRouteParams$form === void 0 ? null : _useRouteParams$form; // Get screen
|
|
1601
|
-
|
|
2661
|
+
isVertical = _ref.isVertical,
|
|
2662
|
+
isCreateOpened = _ref.isCreateOpened,
|
|
2663
|
+
isParsed = _ref.isParsed,
|
|
2664
|
+
isTree = _ref.isTree,
|
|
2665
|
+
onClickScreen = _ref.onClickScreen,
|
|
2666
|
+
onChange = _ref.onChange,
|
|
2667
|
+
className = _ref.className;
|
|
2668
|
+
var valueWithTheme = useThemeValue(unparsedValue, isTheme);
|
|
2669
|
+
var value = isParsed ? unparsedValue : hooks.useParsedStory(valueWithTheme, {
|
|
2670
|
+
withMedias: false
|
|
2671
|
+
});
|
|
1602
2672
|
|
|
1603
2673
|
var _ref2 = value || {},
|
|
1604
2674
|
_ref2$components = _ref2.components,
|
|
1605
2675
|
screens = _ref2$components === void 0 ? [] : _ref2$components;
|
|
1606
2676
|
|
|
1607
|
-
var
|
|
1608
|
-
return it.id === screenId;
|
|
1609
|
-
});
|
|
1610
|
-
var screen = screenIndex !== -1 ? screens[screenIndex] : null; // Get transition value
|
|
1611
|
-
|
|
1612
|
-
var _useFormTransition = useFormTransition(url, screenIndex, styles$1),
|
|
1613
|
-
transitionName = _useFormTransition.name,
|
|
1614
|
-
transitionTimeout = _useFormTransition.timeout;
|
|
1615
|
-
|
|
1616
|
-
var _useState = React.useState(false),
|
|
2677
|
+
var _useState = React.useState(isCreateOpened),
|
|
1617
2678
|
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
1618
|
-
|
|
1619
|
-
|
|
2679
|
+
createModalOpened = _useState2[0],
|
|
2680
|
+
setCreateModalOpened = _useState2[1];
|
|
1620
2681
|
|
|
1621
|
-
var
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
setDeleteScreenModalOpened = _useState4[1];
|
|
2682
|
+
var routes = contexts.useRoutes();
|
|
2683
|
+
var push = contexts.useRoutePush();
|
|
2684
|
+
var url = contexts.useUrlGenerator();
|
|
1625
2685
|
|
|
1626
|
-
var
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
2686
|
+
var _useRouteParams = useRouteParams({
|
|
2687
|
+
screenOnly: true
|
|
2688
|
+
}),
|
|
2689
|
+
_useRouteParams$scree = _useRouteParams.screen,
|
|
2690
|
+
currentScreenId = _useRouteParams$scree === void 0 ? null : _useRouteParams$scree;
|
|
1630
2691
|
|
|
1631
|
-
var
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
2692
|
+
var createScreenFromDefinition = React.useCallback(function (definition) {
|
|
2693
|
+
var _ref3 = value || {},
|
|
2694
|
+
_ref3$components = _ref3.components,
|
|
2695
|
+
currentScreens = _ref3$components === void 0 ? [] : _ref3$components,
|
|
2696
|
+
_ref3$theme = _ref3.theme,
|
|
2697
|
+
theme = _ref3$theme === void 0 ? {} : _ref3$theme;
|
|
2698
|
+
|
|
2699
|
+
var _ref4 = isString__default["default"](definition) ? {
|
|
2700
|
+
id: definition
|
|
2701
|
+
} : definition,
|
|
2702
|
+
newScreenType = _ref4.id;
|
|
1635
2703
|
|
|
2704
|
+
var _ref5 = theme || {},
|
|
2705
|
+
_ref5$components = _ref5.components,
|
|
2706
|
+
themeComponents = _ref5$components === void 0 ? null : _ref5$components;
|
|
1636
2707
|
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
var
|
|
1641
|
-
var
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
screen: screenId,
|
|
1645
|
-
field: field !== null ? field.split('.') : null,
|
|
1646
|
-
form: formName !== null ? utils.slug(formName) : null
|
|
2708
|
+
var themeScreen = themeComponents !== null ? themeComponents.find(function (it) {
|
|
2709
|
+
return it.type === newScreenType;
|
|
2710
|
+
}) || null : null;
|
|
2711
|
+
var newScreen = createScreen(definition, themeScreen);
|
|
2712
|
+
var foundIndex = screens.findIndex(function (_ref6) {
|
|
2713
|
+
var id = _ref6.id;
|
|
2714
|
+
return id === currentScreenId;
|
|
1647
2715
|
});
|
|
1648
|
-
|
|
1649
|
-
setFieldContext(context);
|
|
1650
|
-
}, [routePush, screenId, url, fieldForms, setFieldForms, fieldContext, setFieldContext]);
|
|
1651
|
-
var closeFieldForm = React.useCallback(function (field) {
|
|
1652
|
-
var formName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
1653
|
-
var fieldKey = "".concat(field).concat(formName !== null ? ":".concat(formName) : '');
|
|
1654
|
-
var pastUrl = fieldForms[fieldKey] || null;
|
|
2716
|
+
var currentScreenIndex = !isTheme && foundIndex >= 0 ? foundIndex + 1 : null;
|
|
1655
2717
|
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
}
|
|
2718
|
+
var newValue = _objectSpread__default["default"](_objectSpread__default["default"]({}, value), {}, {
|
|
2719
|
+
components: [].concat(_toConsumableArray__default["default"](currentScreens.slice(0, currentScreenIndex)), [newScreen], _toConsumableArray__default["default"](currentScreens.slice(currentScreenIndex)))
|
|
2720
|
+
});
|
|
1659
2721
|
|
|
1660
|
-
setFieldForms(Object.keys(fieldForms).reduce(function (map, key) {
|
|
1661
|
-
return key !== fieldKey ? _objectSpread__default["default"](_objectSpread__default["default"]({}, map), {}, _defineProperty__default["default"]({}, key, fieldForms[key])) : map;
|
|
1662
|
-
}, {}));
|
|
1663
|
-
}, [history, screenId, fieldForms, setFieldForms]);
|
|
1664
|
-
var triggerOnChange = React.useCallback(function (newValue) {
|
|
1665
2722
|
if (onChange !== null) {
|
|
1666
2723
|
onChange(newValue);
|
|
1667
2724
|
}
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
2725
|
+
|
|
2726
|
+
return newScreen;
|
|
2727
|
+
}, [value, onChange, isTheme, screens, currentScreenId, setCreateModalOpened]);
|
|
2728
|
+
var onOrderChange = React.useCallback(function (listItems) {
|
|
2729
|
+
var ids = listItems.map(function (_ref7) {
|
|
2730
|
+
var id = _ref7.id;
|
|
2731
|
+
return id;
|
|
2732
|
+
});
|
|
2733
|
+
var screenProps = listItems.map(function (_ref8) {
|
|
2734
|
+
var id = _ref8.id,
|
|
2735
|
+
_ref8$props = _ref8.props,
|
|
2736
|
+
props = _ref8$props === void 0 ? null : _ref8$props;
|
|
2737
|
+
return {
|
|
2738
|
+
id: id,
|
|
2739
|
+
props: props
|
|
2740
|
+
};
|
|
2741
|
+
});
|
|
2742
|
+
var hasScreenProps = (screenProps.filter(function (_ref9) {
|
|
2743
|
+
var props = _ref9.props;
|
|
2744
|
+
return props !== null;
|
|
2745
|
+
}) || []).length > 0;
|
|
2746
|
+
|
|
2747
|
+
var _ref10 = value || {},
|
|
2748
|
+
_ref10$components = _ref10.components,
|
|
2749
|
+
currentScreens = _ref10$components === void 0 ? [] : _ref10$components;
|
|
2750
|
+
|
|
2751
|
+
var currentIds = currentScreens.map(function (_ref11) {
|
|
2752
|
+
var id = _ref11.id;
|
|
2753
|
+
return id;
|
|
2754
|
+
});
|
|
2755
|
+
var sameOrder = listItems.reduce(function (same, _ref12, index) {
|
|
2756
|
+
var id = _ref12.id;
|
|
2757
|
+
return same && id === currentIds[index];
|
|
2758
|
+
}, true);
|
|
2759
|
+
|
|
2760
|
+
if (!sameOrder || hasScreenProps) {
|
|
2761
|
+
var newValue = _objectSpread__default["default"](_objectSpread__default["default"]({}, value), {}, {
|
|
2762
|
+
components: _toConsumableArray__default["default"](currentScreens).sort(function (_ref13, _ref14) {
|
|
2763
|
+
var idA = _ref13.id;
|
|
2764
|
+
var idB = _ref14.id;
|
|
2765
|
+
var indexA = ids.indexOf(idA);
|
|
2766
|
+
var indexB = ids.indexOf(idB);
|
|
2767
|
+
|
|
2768
|
+
if (indexA === indexB) {
|
|
2769
|
+
return 0;
|
|
2770
|
+
}
|
|
2771
|
+
|
|
2772
|
+
return indexA > indexB ? 1 : -1;
|
|
2773
|
+
}).map(function (_ref15) {
|
|
2774
|
+
var _screenProps$find;
|
|
2775
|
+
|
|
2776
|
+
var id = _ref15.id,
|
|
2777
|
+
props = _objectWithoutProperties__default["default"](_ref15, _excluded$1);
|
|
2778
|
+
|
|
2779
|
+
return _objectSpread__default["default"](_objectSpread__default["default"]({
|
|
2780
|
+
id: id
|
|
2781
|
+
}, props), (_screenProps$find = screenProps.find(function (_ref16) {
|
|
2782
|
+
var propsId = _ref16.id;
|
|
2783
|
+
return propsId === id;
|
|
2784
|
+
})) === null || _screenProps$find === void 0 ? void 0 : _screenProps$find.props);
|
|
2785
|
+
})
|
|
2786
|
+
});
|
|
2787
|
+
|
|
2788
|
+
if (onChange !== null) {
|
|
2789
|
+
onChange(newValue);
|
|
2790
|
+
}
|
|
2791
|
+
}
|
|
2792
|
+
}, [value, onChange]);
|
|
2793
|
+
var onClickScreenType = React.useCallback(function (definition) {
|
|
2794
|
+
setCreateModalOpened(false);
|
|
2795
|
+
var currentScreen = isTheme ? screens.find(function (_ref17) {
|
|
2796
|
+
var type = _ref17.type;
|
|
2797
|
+
return type === definition.id;
|
|
2798
|
+
}) || null : null;
|
|
2799
|
+
|
|
2800
|
+
if (!isTheme || currentScreen === null) {
|
|
2801
|
+
currentScreen = createScreenFromDefinition(definition);
|
|
2802
|
+
}
|
|
2803
|
+
|
|
2804
|
+
push('screen', {
|
|
2805
|
+
screen: currentScreen.id
|
|
1683
2806
|
});
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
}, [
|
|
1692
|
-
var onDeleteScreenCancel = React.useCallback(function () {
|
|
1693
|
-
setDeleteScreenModalOpened(false);
|
|
1694
|
-
}, [setDeleteScreenModalOpened]);
|
|
1695
|
-
var dropdownItems = [!isTheme ? {
|
|
1696
|
-
id: 'duplicate',
|
|
1697
|
-
type: 'button',
|
|
1698
|
-
className: 'text-left text-info',
|
|
1699
|
-
label: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
1700
|
-
id: "IBjY5r",
|
|
1701
|
-
defaultMessage: [{
|
|
1702
|
-
"type": 0,
|
|
1703
|
-
"value": "Duplicate screen"
|
|
1704
|
-
}]
|
|
1705
|
-
}),
|
|
1706
|
-
onClick: onClickDuplicate
|
|
1707
|
-
} : null, {
|
|
1708
|
-
id: 'delete',
|
|
1709
|
-
type: 'button',
|
|
1710
|
-
className: 'text-left text-danger',
|
|
1711
|
-
label: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
1712
|
-
id: "hpiKce",
|
|
1713
|
-
defaultMessage: [{
|
|
1714
|
-
"type": 0,
|
|
1715
|
-
"value": "Delete screen"
|
|
1716
|
-
}]
|
|
1717
|
-
}),
|
|
1718
|
-
onClick: onClickDelete
|
|
1719
|
-
}].filter(function (it) {
|
|
1720
|
-
return it !== null;
|
|
1721
|
-
});
|
|
2807
|
+
onClickScreen(currentScreen);
|
|
2808
|
+
}, [screens, isTheme, createScreenFromDefinition, push, onClickScreen]);
|
|
2809
|
+
var onClickAdd = React.useCallback(function () {
|
|
2810
|
+
return setCreateModalOpened(true);
|
|
2811
|
+
}, [setCreateModalOpened]);
|
|
2812
|
+
var onCreateModalRequestClose = React.useCallback(function () {
|
|
2813
|
+
return setCreateModalOpened(false);
|
|
2814
|
+
}, [setCreateModalOpened]);
|
|
1722
2815
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1723
|
-
className: classNames__default["default"](['d-flex', 'flex-column', className])
|
|
1724
|
-
},
|
|
2816
|
+
className: classNames__default["default"](['d-flex', 'flex-column', styles$7.container, className])
|
|
2817
|
+
}, /*#__PURE__*/React__default["default"].createElement(components.Navbar, {
|
|
1725
2818
|
compact: true,
|
|
1726
2819
|
noWrap: true,
|
|
1727
2820
|
withoutCollapse: true,
|
|
1728
|
-
className: classNames__default["default"](['sticky-top',
|
|
1729
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
1730
|
-
|
|
1731
|
-
url: url,
|
|
1732
|
-
screenId: screenId,
|
|
1733
|
-
field: fieldParams,
|
|
1734
|
-
form: formParams,
|
|
1735
|
-
className: "mr-auto"
|
|
1736
|
-
}), fieldParams === null ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(SettingsButton, {
|
|
1737
|
-
onClick: onSettingsClick
|
|
1738
|
-
}), /*#__PURE__*/React__default["default"].createElement(components.DropdownMenu, {
|
|
1739
|
-
items: dropdownItems,
|
|
1740
|
-
visible: screenSettingsOpened,
|
|
1741
|
-
align: "right",
|
|
1742
|
-
onClickOutside: onDropdownClickOutside
|
|
1743
|
-
})) : null) : null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1744
|
-
className: classNames__default["default"](['flex-grow-1', 'd-flex', 'w-100', styles$1.content])
|
|
1745
|
-
}, screen !== null ? /*#__PURE__*/React__default["default"].createElement(reactTransitionGroup.CSSTransitionGroup, {
|
|
1746
|
-
transitionName: transitionName,
|
|
1747
|
-
transitionEnterTimeout: transitionTimeout,
|
|
1748
|
-
transitionLeaveTimeout: transitionTimeout,
|
|
1749
|
-
className: "w-100 flex-grow-1"
|
|
1750
|
-
}, fieldParams !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1751
|
-
className: classNames__default["default"](['w-100', styles$1.panel]),
|
|
1752
|
-
key: "field-".concat(fieldParams, "-").concat(formParams)
|
|
1753
|
-
}, /*#__PURE__*/React__default["default"].createElement(contexts.ScreenProvider, {
|
|
1754
|
-
data: screen
|
|
1755
|
-
}, /*#__PURE__*/React__default["default"].createElement(FieldWithContexts, {
|
|
1756
|
-
name: fieldParams.replace(/\//g, '.'),
|
|
1757
|
-
value: screen,
|
|
1758
|
-
form: formParams,
|
|
1759
|
-
className: styles$1.form,
|
|
1760
|
-
gotoFieldForm: gotoFieldForm,
|
|
1761
|
-
closeFieldForm: closeFieldForm,
|
|
1762
|
-
fieldContext: fieldContext,
|
|
1763
|
-
onChange: onScreenFormChange
|
|
1764
|
-
}))) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1765
|
-
className: classNames__default["default"](['w-100', styles$1.panel]),
|
|
1766
|
-
key: "screen-".concat(screen.id)
|
|
1767
|
-
}, /*#__PURE__*/React__default["default"].createElement(contexts.ScreenProvider, {
|
|
1768
|
-
data: screen
|
|
1769
|
-
}, /*#__PURE__*/React__default["default"].createElement(ScreenForm, {
|
|
1770
|
-
value: screen,
|
|
1771
|
-
className: styles$1.form,
|
|
1772
|
-
onChange: onScreenFormChange,
|
|
1773
|
-
gotoFieldForm: gotoFieldForm,
|
|
1774
|
-
closeFieldForm: closeFieldForm
|
|
1775
|
-
})))) : /*#__PURE__*/React__default["default"].createElement(components.Empty, {
|
|
1776
|
-
className: "w-100 m-2"
|
|
2821
|
+
className: classNames__default["default"](['sticky-top', styles$7.navbar])
|
|
2822
|
+
}, /*#__PURE__*/React__default["default"].createElement("strong", {
|
|
2823
|
+
className: "mb-0 mr-auto"
|
|
1777
2824
|
}, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
1778
|
-
id: "
|
|
2825
|
+
id: "jf+4Hq",
|
|
1779
2826
|
defaultMessage: [{
|
|
1780
2827
|
"type": 0,
|
|
1781
|
-
"value": "
|
|
1782
|
-
}]
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
2828
|
+
"value": "Screens"
|
|
2829
|
+
}]
|
|
2830
|
+
})), /*#__PURE__*/React__default["default"].createElement(components.Button, {
|
|
2831
|
+
theme: "primary",
|
|
2832
|
+
size: "sm",
|
|
2833
|
+
onClick: onClickAdd,
|
|
2834
|
+
icon: /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
|
|
2835
|
+
icon: freeSolidSvgIcons.faPlus
|
|
2836
|
+
})
|
|
2837
|
+
})), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2838
|
+
className: "flex-grow-1 d-flex w-100 p-2"
|
|
2839
|
+
}, /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
|
|
2840
|
+
path: [routes.screen, routes.home],
|
|
2841
|
+
render: function render(_ref18) {
|
|
2842
|
+
var _ref18$match$params$s = _ref18.match.params.screen,
|
|
2843
|
+
screenId = _ref18$match$params$s === void 0 ? null : _ref18$match$params$s;
|
|
2844
|
+
return screens.length > 0 ? /*#__PURE__*/React__default["default"].createElement(ScreensMenu, {
|
|
2845
|
+
items: screens.map(function (it) {
|
|
2846
|
+
return {
|
|
2847
|
+
id: it.id,
|
|
2848
|
+
screen: it,
|
|
2849
|
+
href: url('screen', {
|
|
2850
|
+
screen: it.id
|
|
2851
|
+
}),
|
|
2852
|
+
active: it.id === screenId
|
|
2853
|
+
};
|
|
2854
|
+
}),
|
|
2855
|
+
isVertical: isVertical,
|
|
2856
|
+
withPreview: true,
|
|
2857
|
+
sortable: !isTree,
|
|
2858
|
+
className: "w-100",
|
|
2859
|
+
onClickItem: onClickScreen,
|
|
2860
|
+
onOrderChange: onOrderChange,
|
|
2861
|
+
isTree: isTree
|
|
2862
|
+
}) : /*#__PURE__*/React__default["default"].createElement(components.Empty, {
|
|
2863
|
+
className: "flex-grow-1 p-2"
|
|
2864
|
+
}, /*#__PURE__*/React__default["default"].createElement(components.Button, {
|
|
2865
|
+
theme: "primary",
|
|
2866
|
+
onClick: onClickAdd
|
|
2867
|
+
}, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
2868
|
+
id: "JoWKee",
|
|
2869
|
+
defaultMessage: [{
|
|
2870
|
+
"type": 0,
|
|
2871
|
+
"value": "Create your first screen"
|
|
2872
|
+
}]
|
|
2873
|
+
})));
|
|
2874
|
+
}
|
|
2875
|
+
})), createModalOpened ? /*#__PURE__*/React__default["default"].createElement(ScreenTypesModal, {
|
|
2876
|
+
selectedTypes: isTheme ? screens.map(function (_ref19) {
|
|
2877
|
+
var type = _ref19.type;
|
|
2878
|
+
return type;
|
|
2879
|
+
}) : [],
|
|
2880
|
+
onClickScreenType: onClickScreenType,
|
|
2881
|
+
onRequestClose: onCreateModalRequestClose
|
|
1787
2882
|
}) : null);
|
|
1788
2883
|
};
|
|
1789
2884
|
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
var styles = {"container":"micromag-editor-container","left":"micromag-editor-left","right":"micromag-editor-right","center":"micromag-editor-center","fullscreen":"micromag-editor-fullscreen","preview":"micromag-editor-preview","inner":"micromag-editor-inner","visible":"micromag-editor-visible","screen-medium":"micromag-editor-screen-medium","top":"micromag-editor-top"};
|
|
2885
|
+
EditorScreens.propTypes = propTypes$4;
|
|
2886
|
+
EditorScreens.defaultProps = defaultProps$4;
|
|
1794
2887
|
|
|
1795
|
-
var propTypes$
|
|
2888
|
+
var propTypes$3 = {
|
|
1796
2889
|
value: PropTypes__default["default"].oneOfType([core.PropTypes.story, core.PropTypes.theme]),
|
|
1797
2890
|
deviceScreens: core.PropTypes.deviceScreens,
|
|
1798
2891
|
viewerTheme: core.PropTypes.viewerTheme,
|
|
@@ -1803,7 +2896,7 @@ var propTypes$1 = {
|
|
|
1803
2896
|
onChange: PropTypes__default["default"].func,
|
|
1804
2897
|
className: PropTypes__default["default"].string
|
|
1805
2898
|
};
|
|
1806
|
-
var defaultProps$
|
|
2899
|
+
var defaultProps$3 = {
|
|
1807
2900
|
value: null,
|
|
1808
2901
|
deviceScreens: utils.getDeviceScreens(),
|
|
1809
2902
|
viewerTheme: null,
|
|
@@ -1896,7 +2989,11 @@ var Editor = function Editor(_ref) {
|
|
|
1896
2989
|
if (screenSize.screen) {
|
|
1897
2990
|
setMobileView('preview');
|
|
1898
2991
|
}
|
|
1899
|
-
|
|
2992
|
+
|
|
2993
|
+
push('screen', {
|
|
2994
|
+
screen: clickedScreenId.current
|
|
2995
|
+
});
|
|
2996
|
+
}, [screenSize.screen, push]);
|
|
1900
2997
|
var onPreviewScreenChange = React.useCallback(function (_ref4) {
|
|
1901
2998
|
var newScreenId = _ref4.id;
|
|
1902
2999
|
push('screen', {
|
|
@@ -1918,20 +3015,21 @@ var Editor = function Editor(_ref) {
|
|
|
1918
3015
|
var cnt = item.parentNode.parentNode.parentNode;
|
|
1919
3016
|
screens.scrollTop = cnt.offsetTop + item.offsetTop + item.offsetHeight / 2 - screens.clientHeight / 2;
|
|
1920
3017
|
}
|
|
1921
|
-
}, [screenId]);
|
|
3018
|
+
}, [screenId]); // console.log('editor level value', value);
|
|
3019
|
+
|
|
1922
3020
|
return /*#__PURE__*/React__default["default"].createElement(contexts.ModalsProvider, null, /*#__PURE__*/React__default["default"].createElement(contexts.PanelsProvider, null, /*#__PURE__*/React__default["default"].createElement(contexts.ScreenSizeProvider, {
|
|
1923
3021
|
size: screenSize
|
|
1924
3022
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1925
|
-
className: classNames__default["default"]([styles.container, screenSize !== null ? screenSize.screens.map(function (screenName) {
|
|
1926
|
-
return styles["screen-".concat(screenName)];
|
|
1927
|
-
}) : null, (_ref5 = {}, _defineProperty__default["default"](_ref5, styles.fullscreen, fullscreen), _defineProperty__default["default"](_ref5, className, className), _ref5)]),
|
|
3023
|
+
className: classNames__default["default"]([styles$f.container, screenSize !== null ? screenSize.screens.map(function (screenName) {
|
|
3024
|
+
return styles$f["screen-".concat(screenName)];
|
|
3025
|
+
}) : null, (_ref5 = {}, _defineProperty__default["default"](_ref5, styles$f.fullscreen, fullscreen), _defineProperty__default["default"](_ref5, className, className), _ref5)]),
|
|
1928
3026
|
ref: refContainer
|
|
1929
3027
|
}, /*#__PURE__*/React__default["default"].createElement(components.Navbar, {
|
|
1930
3028
|
theme: "light",
|
|
1931
3029
|
compact: true,
|
|
1932
3030
|
noWrap: true,
|
|
1933
3031
|
withoutCollapse: true,
|
|
1934
|
-
className: styles.top
|
|
3032
|
+
className: styles$f.top
|
|
1935
3033
|
}, mobileView !== 'screens' ? /*#__PURE__*/React__default["default"].createElement(components.Button, {
|
|
1936
3034
|
size: "sm",
|
|
1937
3035
|
theme: "secondary",
|
|
@@ -1964,9 +3062,9 @@ var Editor = function Editor(_ref) {
|
|
|
1964
3062
|
"value": "View screen"
|
|
1965
3063
|
}]
|
|
1966
3064
|
})) : null), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1967
|
-
className: styles.inner
|
|
3065
|
+
className: styles$f.inner
|
|
1968
3066
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1969
|
-
className: classNames__default["default"]([styles.left, _defineProperty__default["default"]({}, styles.visible, !isMobile || mobileView === 'screens')]),
|
|
3067
|
+
className: classNames__default["default"]([styles$f.left, _defineProperty__default["default"]({}, styles$f.visible, !isMobile || mobileView === 'screens')]),
|
|
1970
3068
|
ref: refScreensContainer
|
|
1971
3069
|
}, /*#__PURE__*/React__default["default"].createElement(EditorScreens, {
|
|
1972
3070
|
value: story,
|
|
@@ -1976,28 +3074,28 @@ var Editor = function Editor(_ref) {
|
|
|
1976
3074
|
onChange: onStoryChange,
|
|
1977
3075
|
onClickScreen: onClickScreen,
|
|
1978
3076
|
isVertical: !isMobile,
|
|
1979
|
-
className: styles.inner
|
|
3077
|
+
className: styles$f.inner
|
|
1980
3078
|
})), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1981
|
-
className: classNames__default["default"]([styles.center, _defineProperty__default["default"]({}, styles.visible, !isMobile || mobileView === 'preview')])
|
|
3079
|
+
className: classNames__default["default"]([styles$f.center, _defineProperty__default["default"]({}, styles$f.visible, !isMobile || mobileView === 'preview')])
|
|
1982
3080
|
}, /*#__PURE__*/React__default["default"].createElement(EditorPreview, {
|
|
1983
3081
|
value: story,
|
|
1984
3082
|
isTheme: isTheme,
|
|
1985
3083
|
viewerTheme: viewerTheme,
|
|
1986
|
-
className: styles.preview,
|
|
3084
|
+
className: styles$f.preview,
|
|
1987
3085
|
onScreenChange: onPreviewScreenChange
|
|
1988
3086
|
})), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1989
|
-
className: classNames__default["default"]([styles.right, _defineProperty__default["default"]({}, styles.visible, !isMobile || mobileView === 'form')])
|
|
3087
|
+
className: classNames__default["default"]([styles$f.right, _defineProperty__default["default"]({}, styles$f.visible, !isMobile || mobileView === 'form')])
|
|
1990
3088
|
}, /*#__PURE__*/React__default["default"].createElement(EditForm, {
|
|
1991
3089
|
key: screenId,
|
|
1992
3090
|
value: story,
|
|
1993
3091
|
isTheme: isTheme,
|
|
1994
3092
|
onChange: onStoryChange,
|
|
1995
|
-
className: styles.inner
|
|
3093
|
+
className: styles$f.inner
|
|
1996
3094
|
}))), /*#__PURE__*/React__default["default"].createElement(components.Modals, null)))));
|
|
1997
3095
|
};
|
|
1998
3096
|
|
|
1999
|
-
Editor.propTypes = propTypes$
|
|
2000
|
-
Editor.defaultProps = defaultProps$
|
|
3097
|
+
Editor.propTypes = propTypes$3;
|
|
3098
|
+
Editor.defaultProps = defaultProps$3;
|
|
2001
3099
|
|
|
2002
3100
|
var home = "/";
|
|
2003
3101
|
var screen = "/:screen";
|
|
@@ -2008,6 +3106,101 @@ var defaultRoutes = {
|
|
|
2008
3106
|
"screen.field.form": "/:screen/:field+/:form"
|
|
2009
3107
|
};
|
|
2010
3108
|
|
|
3109
|
+
var routes = PropTypes__default["default"].shape({
|
|
3110
|
+
home: PropTypes__default["default"].string.isRequired,
|
|
3111
|
+
screen: PropTypes__default["default"].string.isRequired,
|
|
3112
|
+
'screen.field': PropTypes__default["default"].string.isRequired,
|
|
3113
|
+
'screen.field.form': PropTypes__default["default"].string.isRequired
|
|
3114
|
+
});
|
|
3115
|
+
|
|
3116
|
+
var styles = {"container":"micromag-editor-forms-settings-container","inner":"micromag-editor-forms-settings-inner"};
|
|
3117
|
+
|
|
3118
|
+
var propTypes$2 = {
|
|
3119
|
+
name: PropTypes__default["default"].string,
|
|
3120
|
+
field: core.PropTypes.formField.isRequired,
|
|
3121
|
+
value: core.PropTypes.component,
|
|
3122
|
+
className: PropTypes__default["default"].string,
|
|
3123
|
+
gotoFieldForm: PropTypes__default["default"].func.isRequired,
|
|
3124
|
+
closeFieldForm: PropTypes__default["default"].func.isRequired,
|
|
3125
|
+
onChange: PropTypes__default["default"].func
|
|
3126
|
+
};
|
|
3127
|
+
var defaultProps$2 = {
|
|
3128
|
+
name: null,
|
|
3129
|
+
value: null,
|
|
3130
|
+
className: null,
|
|
3131
|
+
onChange: null
|
|
3132
|
+
};
|
|
3133
|
+
|
|
3134
|
+
var SettingsForm = function SettingsForm(_ref) {
|
|
3135
|
+
var name = _ref.name,
|
|
3136
|
+
field = _ref.field,
|
|
3137
|
+
value = _ref.value,
|
|
3138
|
+
className = _ref.className,
|
|
3139
|
+
gotoFieldForm = _ref.gotoFieldForm,
|
|
3140
|
+
closeFieldForm = _ref.closeFieldForm,
|
|
3141
|
+
onChange = _ref.onChange;
|
|
3142
|
+
var _field$type = field.type,
|
|
3143
|
+
type = _field$type === void 0 ? null : _field$type;
|
|
3144
|
+
var fieldsManager = contexts.useFieldsManager();
|
|
3145
|
+
|
|
3146
|
+
var _ref2 = type !== null ? fieldsManager.getDefinition(type) : field,
|
|
3147
|
+
_ref2$component = _ref2.component,
|
|
3148
|
+
fieldComponent = _ref2$component === void 0 ? null : _ref2$component,
|
|
3149
|
+
settings = _ref2.settings;
|
|
3150
|
+
|
|
3151
|
+
var FieldComponent = contexts.useFieldComponent(fieldComponent);
|
|
3152
|
+
var FieldsComponent = contexts.useFieldComponent('fields');
|
|
3153
|
+
var SettingsComponent = FieldComponent !== null ? FieldComponent.settingsComponent || FieldsComponent : FieldsComponent;
|
|
3154
|
+
var onSettingsChange = React.useCallback(function (newSettingsValue) {
|
|
3155
|
+
var newValue = _objectSpread__default["default"](_objectSpread__default["default"]({}, value), newSettingsValue);
|
|
3156
|
+
|
|
3157
|
+
if (onChange !== null) {
|
|
3158
|
+
onChange(newValue);
|
|
3159
|
+
}
|
|
3160
|
+
}, [value, onChange]);
|
|
3161
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3162
|
+
className: classNames__default["default"]([styles.container, _defineProperty__default["default"]({}, className, className)])
|
|
3163
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3164
|
+
className: styles.inner
|
|
3165
|
+
}, /*#__PURE__*/React__default["default"].createElement(SettingsComponent, {
|
|
3166
|
+
name: name,
|
|
3167
|
+
field: field,
|
|
3168
|
+
fields: settings,
|
|
3169
|
+
value: value,
|
|
3170
|
+
onChange: onSettingsChange,
|
|
3171
|
+
gotoFieldForm: gotoFieldForm,
|
|
3172
|
+
closeFieldForm: closeFieldForm
|
|
3173
|
+
})));
|
|
3174
|
+
};
|
|
3175
|
+
|
|
3176
|
+
SettingsForm.propTypes = propTypes$2;
|
|
3177
|
+
SettingsForm.defaultProps = defaultProps$2;
|
|
3178
|
+
|
|
3179
|
+
// eslint-disable-next-line import/prefer-default-export
|
|
3180
|
+
|
|
3181
|
+
var FormsComponents = /*#__PURE__*/Object.freeze({
|
|
3182
|
+
__proto__: null,
|
|
3183
|
+
Settings: SettingsForm
|
|
3184
|
+
});
|
|
3185
|
+
|
|
3186
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
|
3187
|
+
var propTypes$1 = {
|
|
3188
|
+
children: PropTypes__default["default"].node
|
|
3189
|
+
};
|
|
3190
|
+
var defaultProps$1 = {
|
|
3191
|
+
children: null
|
|
3192
|
+
};
|
|
3193
|
+
|
|
3194
|
+
var FormsProvider = function FormsProvider(props) {
|
|
3195
|
+
return /*#__PURE__*/React__default["default"].createElement(contexts.ComponentsProvider, Object.assign({
|
|
3196
|
+
namespace: contexts.FORMS_NAMESPACE,
|
|
3197
|
+
components: FormsComponents
|
|
3198
|
+
}, props));
|
|
3199
|
+
};
|
|
3200
|
+
|
|
3201
|
+
FormsProvider.propTypes = propTypes$1;
|
|
3202
|
+
FormsProvider.defaultProps = defaultProps$1;
|
|
3203
|
+
|
|
2011
3204
|
var _excluded = ["value", "memoryRouter", "routes", "basePath", "uppy", "googleApiKey", "googleMapsLibraries"];
|
|
2012
3205
|
var propTypes = {
|
|
2013
3206
|
value: PropTypes__default["default"].oneOfType([core.PropTypes.story, core.PropTypes.theme]),
|