@panneau/core 1.0.3-alpha.0 → 1.0.3-alpha.4
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/es/contexts.js +318 -358
- package/es/hooks.js +201 -319
- package/es/index.js +114 -215
- package/es/utils.js +75 -77
- package/lib/contexts.js +322 -357
- package/lib/hooks.js +200 -318
- package/lib/index.js +114 -215
- package/lib/utils.js +76 -76
- package/package.json +2 -2
package/lib/utils.js
CHANGED
|
@@ -16,6 +16,7 @@ var isArray = require('lodash/isArray');
|
|
|
16
16
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
17
17
|
var get = require('lodash/get');
|
|
18
18
|
var capitalize = require('lodash/capitalize');
|
|
19
|
+
var EventEmitter = require('wolfy87-eventemitter');
|
|
19
20
|
var slugify = require('slugify');
|
|
20
21
|
|
|
21
22
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -31,6 +32,7 @@ var isArray__default = /*#__PURE__*/_interopDefaultLegacy(isArray);
|
|
|
31
32
|
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
32
33
|
var get__default = /*#__PURE__*/_interopDefaultLegacy(get);
|
|
33
34
|
var capitalize__default = /*#__PURE__*/_interopDefaultLegacy(capitalize);
|
|
35
|
+
var EventEmitter__default = /*#__PURE__*/_interopDefaultLegacy(EventEmitter);
|
|
34
36
|
var slugify__default = /*#__PURE__*/_interopDefaultLegacy(slugify);
|
|
35
37
|
|
|
36
38
|
var convertStyleToString = function convertStyleToString(style) {
|
|
@@ -43,17 +45,14 @@ var createNullableOnChange = function createNullableOnChange() {
|
|
|
43
45
|
var onChange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
44
46
|
return function (newValue) {
|
|
45
47
|
var nullableValue = newValue;
|
|
46
|
-
|
|
47
48
|
if (isObject__default["default"](newValue)) {
|
|
48
49
|
var allNull = Object.keys(newValue).reduce(function (acc, key) {
|
|
49
50
|
return acc && newValue[key] === null;
|
|
50
51
|
}, true);
|
|
51
|
-
|
|
52
52
|
if (allNull) {
|
|
53
53
|
nullableValue = null;
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
|
|
57
56
|
if (onChange !== null) {
|
|
58
57
|
onChange(nullableValue);
|
|
59
58
|
}
|
|
@@ -67,7 +66,6 @@ var createUseEvent = function createUseEvent(eventsManager) {
|
|
|
67
66
|
if (enabled && eventsManager !== null) {
|
|
68
67
|
eventsManager.subscribe(event, callback);
|
|
69
68
|
}
|
|
70
|
-
|
|
71
69
|
return function () {
|
|
72
70
|
if (enabled && eventsManager !== null) {
|
|
73
71
|
eventsManager.unsubscribe(event, callback);
|
|
@@ -79,25 +77,21 @@ var createUseEvent = function createUseEvent(eventsManager) {
|
|
|
79
77
|
|
|
80
78
|
var flattenComponents = function flattenComponents(components) {
|
|
81
79
|
var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
82
|
-
|
|
83
80
|
if (components === null) {
|
|
84
81
|
return null;
|
|
85
82
|
}
|
|
86
|
-
|
|
87
83
|
return Object.keys(components).reduce(function (newMap, key) {
|
|
88
84
|
return ReactIs__default["default"].isValidElementType(components[key]) ? _objectSpread__default["default"](_objectSpread__default["default"]({}, newMap), {}, _defineProperty__default["default"]({}, prefix !== null ? "".concat(prefix, ".").concat(key) : key, components[key])) : _objectSpread__default["default"](_objectSpread__default["default"]({}, newMap), flattenComponents(components[key], key));
|
|
89
85
|
}, {});
|
|
90
86
|
};
|
|
91
87
|
|
|
92
88
|
var _excluded$1 = ["component"];
|
|
93
|
-
|
|
94
89
|
var getComponent = function getComponent(component) {
|
|
95
90
|
var _ref = isObject__default["default"](component) ? component : {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
91
|
+
component: component
|
|
92
|
+
};
|
|
93
|
+
_ref.component;
|
|
94
|
+
var props = _objectWithoutProperties__default["default"](_ref, _excluded$1);
|
|
101
95
|
return {
|
|
102
96
|
name: component,
|
|
103
97
|
props: props
|
|
@@ -108,22 +102,19 @@ var _excluded = ["field"];
|
|
|
108
102
|
var getColumnFromField = function getColumnFromField(field) {
|
|
109
103
|
if (field === null) {
|
|
110
104
|
return null;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
|
|
105
|
+
}
|
|
106
|
+
// eslint-disable-next-line camelcase
|
|
114
107
|
var name = field.name,
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
108
|
+
_field$components = field.components,
|
|
109
|
+
_field$components2 = _field$components === void 0 ? {} : _field$components,
|
|
110
|
+
_field$components2$di = _field$components2.display,
|
|
111
|
+
display = _field$components2$di === void 0 ? null : _field$components2$di,
|
|
112
|
+
label = field.label;
|
|
121
113
|
var _getComponent = getComponent(display),
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
114
|
+
_getComponent$name = _getComponent.name,
|
|
115
|
+
componentName = _getComponent$name === void 0 ? null : _getComponent$name,
|
|
116
|
+
_getComponent$props = _getComponent.props,
|
|
117
|
+
componentProps = _getComponent$props === void 0 ? null : _getComponent$props;
|
|
127
118
|
return _objectSpread__default["default"](_objectSpread__default["default"]({}, componentProps), {}, {
|
|
128
119
|
id: name,
|
|
129
120
|
label: label,
|
|
@@ -136,12 +127,11 @@ var getColumnsWithFields = function getColumnsWithFields(resource, columns) {
|
|
|
136
127
|
var fields = resource.fields;
|
|
137
128
|
var newColumns = columns !== null ? columns.map(function (column) {
|
|
138
129
|
var _ref = isString__default["default"](column) ? {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
130
|
+
field: column
|
|
131
|
+
} : column,
|
|
132
|
+
_ref$field = _ref.field,
|
|
133
|
+
fieldName = _ref$field === void 0 ? null : _ref$field,
|
|
134
|
+
otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
145
135
|
return _objectSpread__default["default"](_objectSpread__default["default"]({}, fieldName !== null ? getColumnFromField(fields.find(function (it) {
|
|
146
136
|
return it.name === fieldName;
|
|
147
137
|
}) || null) : null), otherProps);
|
|
@@ -155,18 +145,14 @@ var getComponentFromName = function getComponentFromName() {
|
|
|
155
145
|
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
156
146
|
var components = arguments.length > 1 ? arguments[1] : undefined;
|
|
157
147
|
var defaultComponent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
158
|
-
|
|
159
148
|
if (components === null || name === null) {
|
|
160
149
|
return defaultComponent;
|
|
161
150
|
}
|
|
162
|
-
|
|
163
151
|
var pascalName = changeCase.pascalCase(name);
|
|
164
152
|
var component = components[pascalName] || components[name] || defaultComponent;
|
|
165
|
-
|
|
166
153
|
if (!component) {
|
|
167
154
|
console.warn('Could not find component from name', name, pascalName, components);
|
|
168
155
|
}
|
|
169
|
-
|
|
170
156
|
return component;
|
|
171
157
|
};
|
|
172
158
|
|
|
@@ -174,11 +160,9 @@ var getDefinitionFromId = function getDefinitionFromId() {
|
|
|
174
160
|
var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
175
161
|
var items = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
176
162
|
var defaultObject = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
177
|
-
|
|
178
163
|
if (items === null || id === null || isArray__default["default"](items) && items.length === 0) {
|
|
179
164
|
return defaultObject;
|
|
180
165
|
}
|
|
181
|
-
|
|
182
166
|
var pascalId = changeCase.pascalCase(id);
|
|
183
167
|
return items.find(function (i) {
|
|
184
168
|
return i.id === pascalId;
|
|
@@ -189,9 +173,9 @@ var getDefinitionFromId = function getDefinitionFromId() {
|
|
|
189
173
|
|
|
190
174
|
var getDisplayName = function getDisplayName(_ref) {
|
|
191
175
|
var _ref$displayName = _ref.displayName,
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
176
|
+
displayName = _ref$displayName === void 0 ? null : _ref$displayName,
|
|
177
|
+
_ref$name = _ref.name,
|
|
178
|
+
name = _ref$name === void 0 ? null : _ref$name;
|
|
195
179
|
return displayName || name || 'Component';
|
|
196
180
|
};
|
|
197
181
|
|
|
@@ -200,16 +184,13 @@ var getFieldByName = function getFieldByName(fields, name) {
|
|
|
200
184
|
if (foundField !== null) {
|
|
201
185
|
return foundField;
|
|
202
186
|
}
|
|
203
|
-
|
|
204
187
|
var _it$name = it.name,
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
188
|
+
fieldName = _it$name === void 0 ? null : _it$name,
|
|
189
|
+
_it$fields = it.fields,
|
|
190
|
+
subFields = _it$fields === void 0 ? [] : _it$fields;
|
|
209
191
|
if (name !== null && fieldName === name) {
|
|
210
192
|
return it;
|
|
211
193
|
}
|
|
212
|
-
|
|
213
194
|
return getFieldByName(subFields, name);
|
|
214
195
|
}, null);
|
|
215
196
|
};
|
|
@@ -219,30 +200,26 @@ var getFieldFromPath = function getFieldFromPath(path, fields, fieldManager) {
|
|
|
219
200
|
if (foundField === null) {
|
|
220
201
|
return null;
|
|
221
202
|
}
|
|
222
|
-
|
|
223
203
|
var _foundField$type = foundField.type,
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
204
|
+
type = _foundField$type === void 0 ? null : _foundField$type,
|
|
205
|
+
_foundField$fields = foundField.fields,
|
|
206
|
+
fieldFields = _foundField$fields === void 0 ? null : _foundField$fields,
|
|
207
|
+
_foundField$field = foundField.field,
|
|
208
|
+
field = _foundField$field === void 0 ? null : _foundField$field;
|
|
229
209
|
var finalType = field !== null ? field.type || type : type;
|
|
230
|
-
|
|
231
210
|
var _ref = finalType !== null ? fieldManager.getDefinition(finalType) : foundField,
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
211
|
+
_ref$fields = _ref.fields,
|
|
212
|
+
subFields = _ref$fields === void 0 ? null : _ref$fields,
|
|
213
|
+
_ref$settings = _ref.settings,
|
|
214
|
+
settings = _ref$settings === void 0 ? null : _ref$settings,
|
|
215
|
+
_ref$itemsField = _ref.itemsField,
|
|
216
|
+
itemsField = _ref$itemsField === void 0 ? null : _ref$itemsField;
|
|
239
217
|
if (itemsField !== null && key.match(/^[0-9]+$/)) {
|
|
240
218
|
return _objectSpread__default["default"](_objectSpread__default["default"]({}, itemsField), {}, {
|
|
241
219
|
name: path.join('/'),
|
|
242
220
|
listItems: true
|
|
243
221
|
});
|
|
244
222
|
}
|
|
245
|
-
|
|
246
223
|
return getFieldByName([].concat(_toConsumableArray__default["default"](fieldFields || []), _toConsumableArray__default["default"](subFields || []), _toConsumableArray__default["default"](settings || [])), key);
|
|
247
224
|
}, {
|
|
248
225
|
fields: fields
|
|
@@ -251,11 +228,9 @@ var getFieldFromPath = function getFieldFromPath(path, fields, fieldManager) {
|
|
|
251
228
|
|
|
252
229
|
var getFileName = function getFileName() {
|
|
253
230
|
var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
254
|
-
|
|
255
231
|
if (url === null || typeof url.match === 'undefined') {
|
|
256
232
|
return null;
|
|
257
233
|
}
|
|
258
|
-
|
|
259
234
|
return url.match(/([^/]+)(\?.*)?$/)[1] || url;
|
|
260
235
|
};
|
|
261
236
|
|
|
@@ -270,22 +245,19 @@ var getSelectOptions = function getSelectOptions(options) {
|
|
|
270
245
|
return options.map(function (it) {
|
|
271
246
|
if (isObject__default["default"](it)) {
|
|
272
247
|
var _it$label = it.label,
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
248
|
+
label = _it$label === void 0 ? null : _it$label,
|
|
249
|
+
value = it.value;
|
|
276
250
|
if (label === null) {
|
|
277
251
|
return {
|
|
278
252
|
value: value,
|
|
279
253
|
label: capitalize__default["default"]("".concat(value))
|
|
280
254
|
};
|
|
281
255
|
}
|
|
282
|
-
|
|
283
256
|
return {
|
|
284
257
|
value: value,
|
|
285
258
|
label: "".concat(label)
|
|
286
259
|
};
|
|
287
260
|
}
|
|
288
|
-
|
|
289
261
|
return {
|
|
290
262
|
value: it,
|
|
291
263
|
label: capitalize__default["default"]("".concat(it))
|
|
@@ -297,33 +269,62 @@ var isMessage = function isMessage(message) {
|
|
|
297
269
|
return isObject__default["default"](message) && typeof message.defaultMessage !== 'undefined';
|
|
298
270
|
};
|
|
299
271
|
|
|
272
|
+
/**
|
|
273
|
+
* Locale loader
|
|
274
|
+
*/
|
|
275
|
+
var loaders = {};
|
|
276
|
+
var events = new EventEmitter__default["default"]();
|
|
277
|
+
function loadPackage(name, loader) {
|
|
278
|
+
if (typeof loaders[name] === 'undefined') {
|
|
279
|
+
loaders[name] = {
|
|
280
|
+
loader: loader().then(function (response) {
|
|
281
|
+
loaders[name].loader = null;
|
|
282
|
+
loaders[name].loaded = true;
|
|
283
|
+
loaders[name].resource = response;
|
|
284
|
+
events.emit("loaded:".concat(name), response);
|
|
285
|
+
return response;
|
|
286
|
+
}),
|
|
287
|
+
loaded: false,
|
|
288
|
+
resource: null
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
return new Promise(function (resolve) {
|
|
292
|
+
var _ref = loaders[name] || {},
|
|
293
|
+
_ref$loaded = _ref.loaded,
|
|
294
|
+
loaded = _ref$loaded === void 0 ? false : _ref$loaded,
|
|
295
|
+
resource = _ref.resource;
|
|
296
|
+
if (loaded === true) {
|
|
297
|
+
resolve(resource);
|
|
298
|
+
} else {
|
|
299
|
+
events.once("loaded:".concat(name), function (response) {
|
|
300
|
+
resolve(response);
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
|
|
300
306
|
var setValue = function setValue(value, keyParts, fieldValue) {
|
|
301
307
|
var key = keyParts.shift();
|
|
302
308
|
var isArray = key.match(/^[0-9]+$/) !== null;
|
|
303
|
-
|
|
304
309
|
if (value !== null || fieldValue !== null) {
|
|
305
310
|
if (isArray) {
|
|
306
311
|
var index = parseInt(key, 10);
|
|
307
312
|
var newArrayValue = fieldValue !== null ? [].concat(_toConsumableArray__default["default"](value.slice(0, index)), [keyParts.length > 0 ? setValue(value !== null ? value[index] || null : null, keyParts, fieldValue) : fieldValue], _toConsumableArray__default["default"](value.slice(index + 1))) : [].concat(_toConsumableArray__default["default"](value.slice(0, index)), _toConsumableArray__default["default"](value.slice(index + 1)));
|
|
308
313
|
return newArrayValue.length > 0 ? newArrayValue : null;
|
|
309
314
|
}
|
|
310
|
-
|
|
311
315
|
return _objectSpread__default["default"](_objectSpread__default["default"]({}, value), {}, _defineProperty__default["default"]({}, key, keyParts.length > 0 ? setValue(value !== null ? value[key] || null : null, keyParts, fieldValue) : fieldValue));
|
|
312
316
|
}
|
|
313
|
-
|
|
314
317
|
return null;
|
|
315
318
|
};
|
|
316
319
|
|
|
317
320
|
var slug = function slug(str) {
|
|
318
321
|
var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
319
322
|
var toSlug;
|
|
320
|
-
|
|
321
323
|
if (separator === '-') {
|
|
322
324
|
toSlug = changeCase.paramCase(str);
|
|
323
325
|
} else {
|
|
324
326
|
toSlug = changeCase.snakeCase(str);
|
|
325
327
|
}
|
|
326
|
-
|
|
327
328
|
return slugify__default["default"](toSlug, {
|
|
328
329
|
lower: true
|
|
329
330
|
});
|
|
@@ -335,11 +336,9 @@ var validateFields = function validateFields(fields, value) {
|
|
|
335
336
|
if (field.type === 'fields' && field.fields) {
|
|
336
337
|
return validateFields(field.fields, value);
|
|
337
338
|
}
|
|
338
|
-
|
|
339
339
|
var val = value && value[field.name] ? value[field.name] : false;
|
|
340
340
|
return !(field.required && !val);
|
|
341
341
|
}
|
|
342
|
-
|
|
343
342
|
return acc;
|
|
344
343
|
}, true);
|
|
345
344
|
};
|
|
@@ -371,6 +370,7 @@ exports.getFileName = getFileName;
|
|
|
371
370
|
exports.getPathValue = getPathValue;
|
|
372
371
|
exports.getSelectOptions = getSelectOptions;
|
|
373
372
|
exports.isMessage = isMessage;
|
|
373
|
+
exports.loadPackage = loadPackage;
|
|
374
374
|
exports.setFieldValue = setValue;
|
|
375
375
|
exports.slug = slug;
|
|
376
376
|
exports.validateFields = validateFields;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@panneau/core",
|
|
3
|
-
"version": "1.0.3-alpha.
|
|
3
|
+
"version": "1.0.3-alpha.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript"
|
|
@@ -114,5 +114,5 @@
|
|
|
114
114
|
"publishConfig": {
|
|
115
115
|
"access": "public"
|
|
116
116
|
},
|
|
117
|
-
"gitHead": "
|
|
117
|
+
"gitHead": "00807e99b06d8be2b8a8671ce5c29a2a097b7804"
|
|
118
118
|
}
|