@panneau/core 1.0.3-alpha.1 → 1.0.3-alpha.12

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/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,51 +77,44 @@ 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
- component: component
97
- };
98
- _ref.component;
99
- var props = _objectWithoutProperties__default["default"](_ref, _excluded$1);
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
104
98
  };
105
99
  };
106
100
 
107
- var _excluded = ["field"];
101
+ var _excluded = ["id", "field"];
108
102
  var getColumnFromField = function getColumnFromField(field) {
109
103
  if (field === null) {
110
104
  return null;
111
- } // eslint-disable-next-line camelcase
112
-
113
-
105
+ }
106
+ // eslint-disable-next-line camelcase
114
107
  var name = field.name,
115
- _field$components = field.components;
116
- _field$components = _field$components === void 0 ? {} : _field$components;
117
- var _field$components$dis = _field$components.display,
118
- display = _field$components$dis === void 0 ? null : _field$components$dis,
119
- label = field.label;
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
- _getComponent$name = _getComponent.name,
123
- componentName = _getComponent$name === void 0 ? null : _getComponent$name,
124
- _getComponent$props = _getComponent.props,
125
- componentProps = _getComponent$props === void 0 ? null : _getComponent$props;
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,15 +127,19 @@ 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
- field: column
140
- } : column,
141
- _ref$field = _ref.field,
142
- fieldName = _ref$field === void 0 ? null : _ref$field,
143
- otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
144
-
145
- return _objectSpread__default["default"](_objectSpread__default["default"]({}, fieldName !== null ? getColumnFromField(fields.find(function (it) {
130
+ field: column
131
+ } : column,
132
+ _ref$id = _ref.id,
133
+ colId = _ref$id === void 0 ? null : _ref$id,
134
+ _ref$field = _ref.field,
135
+ colField = _ref$field === void 0 ? null : _ref$field,
136
+ otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
137
+ var fieldName = colField || colId;
138
+ return _objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"]({}, fieldName !== null ? getColumnFromField(fields.find(function (it) {
146
139
  return it.name === fieldName;
147
- }) || null) : null), otherProps);
140
+ }) || null) : null), otherProps), {}, {
141
+ id: colId
142
+ });
148
143
  }).filter(function (it) {
149
144
  return it !== null;
150
145
  }) : [];
@@ -155,18 +150,14 @@ var getComponentFromName = function getComponentFromName() {
155
150
  var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
156
151
  var components = arguments.length > 1 ? arguments[1] : undefined;
157
152
  var defaultComponent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
158
-
159
153
  if (components === null || name === null) {
160
154
  return defaultComponent;
161
155
  }
162
-
163
156
  var pascalName = changeCase.pascalCase(name);
164
157
  var component = components[pascalName] || components[name] || defaultComponent;
165
-
166
158
  if (!component) {
167
159
  console.warn('Could not find component from name', name, pascalName, components);
168
160
  }
169
-
170
161
  return component;
171
162
  };
172
163
 
@@ -174,11 +165,9 @@ var getDefinitionFromId = function getDefinitionFromId() {
174
165
  var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
175
166
  var items = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
176
167
  var defaultObject = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
177
-
178
168
  if (items === null || id === null || isArray__default["default"](items) && items.length === 0) {
179
169
  return defaultObject;
180
170
  }
181
-
182
171
  var pascalId = changeCase.pascalCase(id);
183
172
  return items.find(function (i) {
184
173
  return i.id === pascalId;
@@ -189,9 +178,9 @@ var getDefinitionFromId = function getDefinitionFromId() {
189
178
 
190
179
  var getDisplayName = function getDisplayName(_ref) {
191
180
  var _ref$displayName = _ref.displayName,
192
- displayName = _ref$displayName === void 0 ? null : _ref$displayName,
193
- _ref$name = _ref.name,
194
- name = _ref$name === void 0 ? null : _ref$name;
181
+ displayName = _ref$displayName === void 0 ? null : _ref$displayName,
182
+ _ref$name = _ref.name,
183
+ name = _ref$name === void 0 ? null : _ref$name;
195
184
  return displayName || name || 'Component';
196
185
  };
197
186
 
@@ -200,16 +189,13 @@ var getFieldByName = function getFieldByName(fields, name) {
200
189
  if (foundField !== null) {
201
190
  return foundField;
202
191
  }
203
-
204
192
  var _it$name = it.name,
205
- fieldName = _it$name === void 0 ? null : _it$name,
206
- _it$fields = it.fields,
207
- subFields = _it$fields === void 0 ? [] : _it$fields;
208
-
193
+ fieldName = _it$name === void 0 ? null : _it$name,
194
+ _it$fields = it.fields,
195
+ subFields = _it$fields === void 0 ? [] : _it$fields;
209
196
  if (name !== null && fieldName === name) {
210
197
  return it;
211
198
  }
212
-
213
199
  return getFieldByName(subFields, name);
214
200
  }, null);
215
201
  };
@@ -219,30 +205,26 @@ var getFieldFromPath = function getFieldFromPath(path, fields, fieldManager) {
219
205
  if (foundField === null) {
220
206
  return null;
221
207
  }
222
-
223
208
  var _foundField$type = foundField.type,
224
- type = _foundField$type === void 0 ? null : _foundField$type,
225
- _foundField$fields = foundField.fields,
226
- fieldFields = _foundField$fields === void 0 ? null : _foundField$fields,
227
- _foundField$field = foundField.field,
228
- field = _foundField$field === void 0 ? null : _foundField$field;
209
+ type = _foundField$type === void 0 ? null : _foundField$type,
210
+ _foundField$fields = foundField.fields,
211
+ fieldFields = _foundField$fields === void 0 ? null : _foundField$fields,
212
+ _foundField$field = foundField.field,
213
+ field = _foundField$field === void 0 ? null : _foundField$field;
229
214
  var finalType = field !== null ? field.type || type : type;
230
-
231
215
  var _ref = finalType !== null ? fieldManager.getDefinition(finalType) : foundField,
232
- _ref$fields = _ref.fields,
233
- subFields = _ref$fields === void 0 ? null : _ref$fields,
234
- _ref$settings = _ref.settings,
235
- settings = _ref$settings === void 0 ? null : _ref$settings,
236
- _ref$itemsField = _ref.itemsField,
237
- itemsField = _ref$itemsField === void 0 ? null : _ref$itemsField;
238
-
216
+ _ref$fields = _ref.fields,
217
+ subFields = _ref$fields === void 0 ? null : _ref$fields,
218
+ _ref$settings = _ref.settings,
219
+ settings = _ref$settings === void 0 ? null : _ref$settings,
220
+ _ref$itemsField = _ref.itemsField,
221
+ itemsField = _ref$itemsField === void 0 ? null : _ref$itemsField;
239
222
  if (itemsField !== null && key.match(/^[0-9]+$/)) {
240
223
  return _objectSpread__default["default"](_objectSpread__default["default"]({}, itemsField), {}, {
241
224
  name: path.join('/'),
242
225
  listItems: true
243
226
  });
244
227
  }
245
-
246
228
  return getFieldByName([].concat(_toConsumableArray__default["default"](fieldFields || []), _toConsumableArray__default["default"](subFields || []), _toConsumableArray__default["default"](settings || [])), key);
247
229
  }, {
248
230
  fields: fields
@@ -251,11 +233,9 @@ var getFieldFromPath = function getFieldFromPath(path, fields, fieldManager) {
251
233
 
252
234
  var getFileName = function getFileName() {
253
235
  var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
254
-
255
236
  if (url === null || typeof url.match === 'undefined') {
256
237
  return null;
257
238
  }
258
-
259
239
  return url.match(/([^/]+)(\?.*)?$/)[1] || url;
260
240
  };
261
241
 
@@ -270,22 +250,19 @@ var getSelectOptions = function getSelectOptions(options) {
270
250
  return options.map(function (it) {
271
251
  if (isObject__default["default"](it)) {
272
252
  var _it$label = it.label,
273
- label = _it$label === void 0 ? null : _it$label,
274
- value = it.value;
275
-
253
+ label = _it$label === void 0 ? null : _it$label,
254
+ value = it.value;
276
255
  if (label === null) {
277
256
  return {
278
257
  value: value,
279
258
  label: capitalize__default["default"]("".concat(value))
280
259
  };
281
260
  }
282
-
283
261
  return {
284
262
  value: value,
285
263
  label: "".concat(label)
286
264
  };
287
265
  }
288
-
289
266
  return {
290
267
  value: it,
291
268
  label: capitalize__default["default"]("".concat(it))
@@ -297,33 +274,62 @@ var isMessage = function isMessage(message) {
297
274
  return isObject__default["default"](message) && typeof message.defaultMessage !== 'undefined';
298
275
  };
299
276
 
277
+ /**
278
+ * Locale loader
279
+ */
280
+ var loaders = {};
281
+ var events = new EventEmitter__default["default"]();
282
+ function loadPackage(name, loader) {
283
+ if (typeof loaders[name] === 'undefined') {
284
+ loaders[name] = {
285
+ loader: loader().then(function (response) {
286
+ loaders[name].loader = null;
287
+ loaders[name].loaded = true;
288
+ loaders[name].resource = response;
289
+ events.emit("loaded:".concat(name), response);
290
+ return response;
291
+ }),
292
+ loaded: false,
293
+ resource: null
294
+ };
295
+ }
296
+ return new Promise(function (resolve) {
297
+ var _ref = loaders[name] || {},
298
+ _ref$loaded = _ref.loaded,
299
+ loaded = _ref$loaded === void 0 ? false : _ref$loaded,
300
+ resource = _ref.resource;
301
+ if (loaded === true) {
302
+ resolve(resource);
303
+ } else {
304
+ events.once("loaded:".concat(name), function (response) {
305
+ resolve(response);
306
+ });
307
+ }
308
+ });
309
+ }
310
+
300
311
  var setValue = function setValue(value, keyParts, fieldValue) {
301
312
  var key = keyParts.shift();
302
313
  var isArray = key.match(/^[0-9]+$/) !== null;
303
-
304
314
  if (value !== null || fieldValue !== null) {
305
315
  if (isArray) {
306
316
  var index = parseInt(key, 10);
307
317
  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
318
  return newArrayValue.length > 0 ? newArrayValue : null;
309
319
  }
310
-
311
320
  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
321
  }
313
-
314
322
  return null;
315
323
  };
316
324
 
317
325
  var slug = function slug(str) {
318
326
  var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
319
327
  var toSlug;
320
-
321
328
  if (separator === '-') {
322
329
  toSlug = changeCase.paramCase(str);
323
330
  } else {
324
331
  toSlug = changeCase.snakeCase(str);
325
332
  }
326
-
327
333
  return slugify__default["default"](toSlug, {
328
334
  lower: true
329
335
  });
@@ -335,11 +341,9 @@ var validateFields = function validateFields(fields, value) {
335
341
  if (field.type === 'fields' && field.fields) {
336
342
  return validateFields(field.fields, value);
337
343
  }
338
-
339
344
  var val = value && value[field.name] ? value[field.name] : false;
340
345
  return !(field.required && !val);
341
346
  }
342
-
343
347
  return acc;
344
348
  }, true);
345
349
  };
@@ -371,6 +375,7 @@ exports.getFileName = getFileName;
371
375
  exports.getPathValue = getPathValue;
372
376
  exports.getSelectOptions = getSelectOptions;
373
377
  exports.isMessage = isMessage;
378
+ exports.loadPackage = loadPackage;
374
379
  exports.setFieldValue = setValue;
375
380
  exports.slug = slug;
376
381
  exports.validateFields = validateFields;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@panneau/core",
3
- "version": "1.0.3-alpha.1",
3
+ "version": "1.0.3-alpha.12",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -88,7 +88,7 @@
88
88
  "@uppy/tus": "^2.2.0",
89
89
  "@uppy/webcam": "^2.0.5",
90
90
  "@uppy/xhr-upload": "^2.0.7",
91
- "bootstrap": "5.2.0-beta1",
91
+ "bootstrap": "^5.2.0",
92
92
  "change-case": "^4.1.2",
93
93
  "classnames": "^2.2.6",
94
94
  "css-mediaquery": "^0.1.2",
@@ -114,5 +114,5 @@
114
114
  "publishConfig": {
115
115
  "access": "public"
116
116
  },
117
- "gitHead": "e04e663c7f1eb692f89a0136f2e8f45024fbe355"
117
+ "gitHead": "51252762b26926f5c830268a83eb6939aa507c96"
118
118
  }