@panneau/core 3.0.119 → 3.0.130
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 +12 -2
- package/es/hooks.js +127 -12
- package/es/index.js +53 -41
- package/es/utils.js +19 -1
- package/lib/contexts.js +592 -273
- package/lib/hooks.js +182 -99
- package/lib/index.js +293 -235
- package/lib/utils.js +148 -66
- package/package.json +6 -6
package/es/contexts.js
CHANGED
|
@@ -385,8 +385,18 @@ var modal = PropTypes.shape({
|
|
|
385
385
|
name: PropTypes.string
|
|
386
386
|
});
|
|
387
387
|
PropTypes.arrayOf(modal);
|
|
388
|
-
|
|
389
|
-
|
|
388
|
+
var filter = PropTypes.shape({
|
|
389
|
+
id: PropTypes.string,
|
|
390
|
+
component: PropTypes.string
|
|
391
|
+
});
|
|
392
|
+
PropTypes.arrayOf(filter);
|
|
393
|
+
var media = PropTypes.shape({
|
|
394
|
+
id: PropTypes.string.isRequired,
|
|
395
|
+
name: PropTypes.string.isRequired,
|
|
396
|
+
type: PropTypes.string.isRequired,
|
|
397
|
+
thumbnail_url: PropTypes.string
|
|
398
|
+
});
|
|
399
|
+
PropTypes.arrayOf(media);
|
|
390
400
|
|
|
391
401
|
/* eslint-disable react/jsx-props-no-spreading */
|
|
392
402
|
var DefinitionContext = /*#__PURE__*/React.createContext(null);
|
package/es/hooks.js
CHANGED
|
@@ -12,6 +12,7 @@ import isArray from 'lodash/isArray';
|
|
|
12
12
|
import isObject from 'lodash/isObject';
|
|
13
13
|
import isString from 'lodash/isString';
|
|
14
14
|
import { useFieldsManager, usePanneauResources, useResource, useUrlGenerator } from '@panneau/core/contexts';
|
|
15
|
+
import uniqBy from 'lodash/uniqBy';
|
|
15
16
|
import { useIntl } from 'react-intl';
|
|
16
17
|
import dayjs from 'dayjs';
|
|
17
18
|
import { match } from 'css-mediaquery';
|
|
@@ -952,12 +953,9 @@ var useResourceUrlGenerator = function useResourceUrlGenerator() {
|
|
|
952
953
|
};
|
|
953
954
|
var useResourceUrlGenerator$1 = useResourceUrlGenerator;
|
|
954
955
|
|
|
955
|
-
var
|
|
956
|
+
var useQuery = function useQuery() {
|
|
956
957
|
var initialBaseQuery = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
957
958
|
var paginated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
958
|
-
var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
|
959
|
-
_ref$forceInitialQuer = _ref.forceInitialQuery,
|
|
960
|
-
forceInitialQuery = _ref$forceInitialQuer === void 0 ? false : _ref$forceInitialQuer;
|
|
961
959
|
var initialQuery = useMemo(function () {
|
|
962
960
|
return paginated ? _objectSpread({
|
|
963
961
|
page: 1,
|
|
@@ -981,12 +979,8 @@ var useResourceQuery = function useResourceQuery() {
|
|
|
981
979
|
var val = newQuery[key];
|
|
982
980
|
return val !== null ? _objectSpread(_objectSpread({}, currentQuery), {}, _defineProperty({}, key, val)) : currentQuery;
|
|
983
981
|
}, null) : null;
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
} else {
|
|
987
|
-
setQuery(finalQuery);
|
|
988
|
-
}
|
|
989
|
-
}, [query, setQuery, initialBaseQuery, forceInitialQuery]);
|
|
982
|
+
setQuery(_objectSpread(_objectSpread({}, initialQuery || null), finalQuery || null));
|
|
983
|
+
}, [query, setQuery, initialQuery]);
|
|
990
984
|
var onQueryReset = useCallback(function () {
|
|
991
985
|
setQuery(initialQuery);
|
|
992
986
|
}, [initialQuery, setQuery]);
|
|
@@ -997,7 +991,7 @@ var useResourceQuery = function useResourceQuery() {
|
|
|
997
991
|
onQueryReset: onQueryReset
|
|
998
992
|
};
|
|
999
993
|
};
|
|
1000
|
-
var
|
|
994
|
+
var useQuery$1 = useQuery;
|
|
1001
995
|
|
|
1002
996
|
var _excluded = ["width", "height"];
|
|
1003
997
|
var useScreenSize = function useScreenSize(_ref) {
|
|
@@ -1110,4 +1104,125 @@ var eventsManager = typeof window !== 'undefined' ? new EventsManager(window) :
|
|
|
1110
1104
|
var useWindowEvent = createUseEvent(eventsManager);
|
|
1111
1105
|
var useWindowEvent$1 = useWindowEvent;
|
|
1112
1106
|
|
|
1113
|
-
|
|
1107
|
+
var useItemSelection = function useItemSelection(_ref) {
|
|
1108
|
+
var _ref$items = _ref.items,
|
|
1109
|
+
items = _ref$items === void 0 ? null : _ref$items,
|
|
1110
|
+
_ref$selectedItems = _ref.selectedItems,
|
|
1111
|
+
initialSelectedItems = _ref$selectedItems === void 0 ? null : _ref$selectedItems,
|
|
1112
|
+
_ref$multiple = _ref.multiple,
|
|
1113
|
+
multiple = _ref$multiple === void 0 ? false : _ref$multiple,
|
|
1114
|
+
_ref$onSelectionChang = _ref.onSelectionChange,
|
|
1115
|
+
onSelectionChange = _ref$onSelectionChang === void 0 ? null : _ref$onSelectionChang;
|
|
1116
|
+
var initialItems = !isArray(initialSelectedItems) && initialSelectedItems !== null ? [initialSelectedItems] : initialSelectedItems;
|
|
1117
|
+
var _useState = useState(initialItems),
|
|
1118
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1119
|
+
selectedItems = _useState2[0],
|
|
1120
|
+
setSelectedItems = _useState2[1];
|
|
1121
|
+
var onSelectItem = useCallback(function (item, index) {
|
|
1122
|
+
var newItems = selectedItems !== null && multiple ? [].concat(_toConsumableArray(selectedItems), [item]) : [item];
|
|
1123
|
+
setSelectedItems(newItems);
|
|
1124
|
+
if (onSelectionChange !== null) {
|
|
1125
|
+
onSelectionChange(newItems, item, index);
|
|
1126
|
+
}
|
|
1127
|
+
}, [selectedItems, onSelectionChange, multiple]);
|
|
1128
|
+
var onDeselectItem = useCallback(function (item, index) {
|
|
1129
|
+
var _ref2 = item || {},
|
|
1130
|
+
_ref2$id = _ref2.id,
|
|
1131
|
+
itemId = _ref2$id === void 0 ? null : _ref2$id;
|
|
1132
|
+
var newItems = (selectedItems || []).filter(function (_ref3) {
|
|
1133
|
+
var id = _ref3.id;
|
|
1134
|
+
return id !== itemId;
|
|
1135
|
+
});
|
|
1136
|
+
setSelectedItems(newItems);
|
|
1137
|
+
if (onSelectionChange !== null) {
|
|
1138
|
+
onSelectionChange(multiple ? newItems : null, item, index);
|
|
1139
|
+
}
|
|
1140
|
+
}, [selectedItems, onSelectionChange, multiple]);
|
|
1141
|
+
var onSelectPage = useCallback(function () {
|
|
1142
|
+
var nextItems = uniqBy([].concat(_toConsumableArray(items || []), _toConsumableArray(selectedItems || [])), function () {
|
|
1143
|
+
var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1144
|
+
_ref4$id = _ref4.id,
|
|
1145
|
+
id = _ref4$id === void 0 ? null : _ref4$id;
|
|
1146
|
+
return id;
|
|
1147
|
+
});
|
|
1148
|
+
setSelectedItems(nextItems);
|
|
1149
|
+
if (onSelectionChange !== null) {
|
|
1150
|
+
onSelectionChange(nextItems);
|
|
1151
|
+
}
|
|
1152
|
+
}, [items, selectedItems, setSelectedItems, onSelectionChange]);
|
|
1153
|
+
var onDeselectPage = useCallback(function () {
|
|
1154
|
+
var ids = (items || []).map(function () {
|
|
1155
|
+
var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1156
|
+
_ref5$id = _ref5.id,
|
|
1157
|
+
id = _ref5$id === void 0 ? null : _ref5$id;
|
|
1158
|
+
return id;
|
|
1159
|
+
}).filter(function (id) {
|
|
1160
|
+
return id !== null;
|
|
1161
|
+
});
|
|
1162
|
+
var nextItems = uniqBy((selectedItems || []).filter(function (it) {
|
|
1163
|
+
var _ref6 = it || {},
|
|
1164
|
+
_ref6$id = _ref6.id,
|
|
1165
|
+
id = _ref6$id === void 0 ? null : _ref6$id;
|
|
1166
|
+
return ids.indexOf(id) === -1;
|
|
1167
|
+
}), function () {
|
|
1168
|
+
var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1169
|
+
_ref7$id = _ref7.id,
|
|
1170
|
+
id = _ref7$id === void 0 ? null : _ref7$id;
|
|
1171
|
+
return id;
|
|
1172
|
+
});
|
|
1173
|
+
setSelectedItems(nextItems);
|
|
1174
|
+
if (onSelectionChange !== null) {
|
|
1175
|
+
onSelectionChange(nextItems);
|
|
1176
|
+
}
|
|
1177
|
+
}, [items, selectedItems, setSelectedItems, onSelectionChange]);
|
|
1178
|
+
var onClearAll = useCallback(function () {
|
|
1179
|
+
setSelectedItems([]);
|
|
1180
|
+
if (onSelectionChange !== null) {
|
|
1181
|
+
onSelectionChange([]);
|
|
1182
|
+
}
|
|
1183
|
+
}, [setSelectedItems, onSelectionChange]);
|
|
1184
|
+
useEffect(function () {
|
|
1185
|
+
setSelectedItems(initialSelectedItems);
|
|
1186
|
+
}, [initialSelectedItems]);
|
|
1187
|
+
var pageSelected = useMemo(function () {
|
|
1188
|
+
var ids = (items || []).map(function () {
|
|
1189
|
+
var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1190
|
+
_ref8$id = _ref8.id,
|
|
1191
|
+
id = _ref8$id === void 0 ? null : _ref8$id;
|
|
1192
|
+
return id;
|
|
1193
|
+
}).filter(function (id) {
|
|
1194
|
+
return id !== null;
|
|
1195
|
+
});
|
|
1196
|
+
// console.log('selectedItems', selectedItems);
|
|
1197
|
+
var currentPageItems = (selectedItems || []).filter(function (it) {
|
|
1198
|
+
var _ref9 = it || {},
|
|
1199
|
+
_ref9$id = _ref9.id,
|
|
1200
|
+
id = _ref9$id === void 0 ? null : _ref9$id;
|
|
1201
|
+
return ids.indexOf(id) !== -1;
|
|
1202
|
+
});
|
|
1203
|
+
// console.log('currentPageItems', currentPageItems);
|
|
1204
|
+
return currentPageItems.length === (items || []).length;
|
|
1205
|
+
}, [selectedItems, items]);
|
|
1206
|
+
|
|
1207
|
+
// const allSelected = useMemo(
|
|
1208
|
+
// () => selectedItems !== null && selectedItems.length === selectedItemsCount,
|
|
1209
|
+
// [selectedItems, selectedItemsCount],
|
|
1210
|
+
// );
|
|
1211
|
+
|
|
1212
|
+
var countSelected = useMemo(function () {
|
|
1213
|
+
return selectedItems !== null && selectedItems.length > 0 ? selectedItems.length : null;
|
|
1214
|
+
}, [selectedItems]);
|
|
1215
|
+
return {
|
|
1216
|
+
onSelectItem: onSelectItem,
|
|
1217
|
+
onDeselectItem: onDeselectItem,
|
|
1218
|
+
onSelectPage: onSelectPage,
|
|
1219
|
+
onDeselectPage: onDeselectPage,
|
|
1220
|
+
onClearAll: onClearAll,
|
|
1221
|
+
pageSelected: pageSelected,
|
|
1222
|
+
count: countSelected,
|
|
1223
|
+
selectedItems: selectedItems
|
|
1224
|
+
};
|
|
1225
|
+
};
|
|
1226
|
+
var useItemSelection$1 = useItemSelection;
|
|
1227
|
+
|
|
1228
|
+
export { getObserver, useAnimationFrame$1 as useAnimationFrame, useDocumentEvent$1 as useDocumentEvent, useForm$1 as useForm, useFormattedDate, useFormattedTime, useIntersectionObserver, useIsVisible$1 as useIsVisible, useItemSelection$1 as useItemSelection, useLoadedFonts$1 as useLoadedFonts, useMediaApi$1 as useMediaApi, useMediasParser$1 as useMediasParser, useObserver, useQuery$1 as useQuery, useResizeObserver, useResourceTypeName$1 as useResourceTypeName, useResourceUrlGenerator$1 as useResourceUrlGenerator, useScreenSizeFromElement, useScreenSizeFromWindow, useWindowEvent$1 as useWindowEvent };
|
package/es/index.js
CHANGED
|
@@ -161,60 +161,74 @@ var modal = PropTypes$1.shape({
|
|
|
161
161
|
name: PropTypes$1.string
|
|
162
162
|
});
|
|
163
163
|
var modals = PropTypes$1.arrayOf(modal);
|
|
164
|
-
|
|
165
|
-
|
|
164
|
+
var filter = PropTypes$1.shape({
|
|
165
|
+
id: PropTypes$1.string,
|
|
166
|
+
component: PropTypes$1.string
|
|
167
|
+
});
|
|
168
|
+
var filters = PropTypes$1.arrayOf(filter);
|
|
169
|
+
var media = PropTypes$1.shape({
|
|
170
|
+
id: PropTypes$1.string.isRequired,
|
|
171
|
+
name: PropTypes$1.string.isRequired,
|
|
172
|
+
type: PropTypes$1.string.isRequired,
|
|
173
|
+
thumbnail_url: PropTypes$1.string
|
|
174
|
+
});
|
|
175
|
+
var medias = PropTypes$1.arrayOf(media);
|
|
166
176
|
|
|
167
177
|
var PropTypes = /*#__PURE__*/Object.freeze({
|
|
168
178
|
__proto__: null,
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
statusCode: statusCode,
|
|
172
|
-
menuItem: menuItem,
|
|
173
|
-
menuItems: menuItems,
|
|
179
|
+
breadcrumb: breadcrumb,
|
|
180
|
+
breadcrumbs: breadcrumbs,
|
|
174
181
|
button: button,
|
|
175
|
-
buttons: buttons,
|
|
176
|
-
buttonTheme: buttonTheme,
|
|
177
182
|
buttonSize: buttonSize,
|
|
183
|
+
buttonTheme: buttonTheme,
|
|
178
184
|
buttonType: buttonType,
|
|
179
|
-
|
|
185
|
+
buttons: buttons,
|
|
180
186
|
controlSize: controlSize,
|
|
181
|
-
|
|
187
|
+
definition: definition,
|
|
188
|
+
dropdownAlign: dropdownAlign,
|
|
189
|
+
feedback: feedback,
|
|
190
|
+
field: field,
|
|
182
191
|
fieldOption: fieldOption,
|
|
183
192
|
fieldOptions: fieldOptions,
|
|
184
|
-
toggle: toggle,
|
|
185
|
-
toggles: toggles,
|
|
186
|
-
tableColumn: tableColumn,
|
|
187
|
-
tableColumns: tableColumns,
|
|
188
|
-
routes: routes,
|
|
189
|
-
intl: intl,
|
|
190
|
-
page: page,
|
|
191
|
-
pages: pages,
|
|
192
|
-
field: field,
|
|
193
193
|
fields: fields,
|
|
194
|
+
filter: filter,
|
|
195
|
+
filters: filters,
|
|
196
|
+
font: font,
|
|
197
|
+
fonts: fonts,
|
|
194
198
|
form: form,
|
|
199
|
+
formError: formError,
|
|
200
|
+
formErrors: formErrors,
|
|
201
|
+
formStatus: formStatus,
|
|
195
202
|
forms: forms,
|
|
196
|
-
|
|
197
|
-
resources: resources,
|
|
198
|
-
panneauDefinition: panneauDefinition,
|
|
199
|
-
definition: definition,
|
|
203
|
+
intl: intl,
|
|
200
204
|
item: item,
|
|
201
205
|
items: items,
|
|
202
|
-
|
|
203
|
-
|
|
206
|
+
label: label,
|
|
207
|
+
media: media,
|
|
208
|
+
medias: medias,
|
|
209
|
+
menuItem: menuItem,
|
|
210
|
+
menuItems: menuItems,
|
|
211
|
+
message: message,
|
|
212
|
+
modal: modal,
|
|
213
|
+
modals: modals,
|
|
214
|
+
page: page,
|
|
215
|
+
pages: pages,
|
|
216
|
+
panneauDefinition: panneauDefinition,
|
|
217
|
+
resource: resource,
|
|
218
|
+
resources: resources,
|
|
219
|
+
routes: routes,
|
|
204
220
|
selectOption: selectOption,
|
|
205
221
|
selectOptions: selectOptions,
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
breadcrumb: breadcrumb,
|
|
212
|
-
breadcrumbs: breadcrumbs,
|
|
213
|
-
font: font,
|
|
214
|
-
fonts: fonts,
|
|
222
|
+
statusCode: statusCode,
|
|
223
|
+
tableColumn: tableColumn,
|
|
224
|
+
tableColumns: tableColumns,
|
|
225
|
+
toggle: toggle,
|
|
226
|
+
toggles: toggles,
|
|
215
227
|
trackingVariables: trackingVariables,
|
|
216
|
-
|
|
217
|
-
|
|
228
|
+
triggerUpdate: triggerUpdate,
|
|
229
|
+
uppy: uppy,
|
|
230
|
+
user: user,
|
|
231
|
+
users: users
|
|
218
232
|
});
|
|
219
233
|
|
|
220
234
|
var flattenComponents = function flattenComponents(components) {
|
|
@@ -226,7 +240,6 @@ var flattenComponents = function flattenComponents(components) {
|
|
|
226
240
|
return ReactIs.isValidElementType(components[key]) ? _objectSpread(_objectSpread({}, newMap), {}, _defineProperty({}, prefix !== null ? "".concat(prefix, ".").concat(key) : key, components[key])) : _objectSpread(_objectSpread({}, newMap), flattenComponents(components[key], key));
|
|
227
241
|
}, {});
|
|
228
242
|
};
|
|
229
|
-
var flattenComponents$1 = flattenComponents;
|
|
230
243
|
|
|
231
244
|
var getComponentFromName = function getComponentFromName() {
|
|
232
245
|
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
@@ -243,13 +256,12 @@ var getComponentFromName = function getComponentFromName() {
|
|
|
243
256
|
}
|
|
244
257
|
return component;
|
|
245
258
|
};
|
|
246
|
-
var getComponentFromName$1 = getComponentFromName;
|
|
247
259
|
|
|
248
260
|
var ComponentsManager = /*#__PURE__*/function () {
|
|
249
261
|
function ComponentsManager() {
|
|
250
262
|
var components = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
251
263
|
_classCallCheck(this, ComponentsManager);
|
|
252
|
-
this.components = flattenComponents
|
|
264
|
+
this.components = flattenComponents(components);
|
|
253
265
|
}
|
|
254
266
|
_createClass(ComponentsManager, [{
|
|
255
267
|
key: "addComponent",
|
|
@@ -290,7 +302,7 @@ var ComponentsManager = /*#__PURE__*/function () {
|
|
|
290
302
|
value: function getComponent(name) {
|
|
291
303
|
var namespace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
292
304
|
var components = this.getComponents(namespace);
|
|
293
|
-
return getComponentFromName
|
|
305
|
+
return getComponentFromName(name, components);
|
|
294
306
|
}
|
|
295
307
|
}, {
|
|
296
308
|
key: "getComponents",
|
package/es/utils.js
CHANGED
|
@@ -189,6 +189,24 @@ var flattenComponents = function flattenComponents(components) {
|
|
|
189
189
|
};
|
|
190
190
|
var flattenComponents$1 = flattenComponents;
|
|
191
191
|
|
|
192
|
+
var formatDuration = function formatDuration(timeInSeconds) {
|
|
193
|
+
var numberOfSeconds = parseInt(timeInSeconds, 10); // don't forget the second param
|
|
194
|
+
var hours = Math.floor(numberOfSeconds / 3600);
|
|
195
|
+
var minutes = Math.floor((numberOfSeconds - hours * 3600) / 60);
|
|
196
|
+
var seconds = numberOfSeconds - hours * 3600 - minutes * 60;
|
|
197
|
+
if (hours < 10) {
|
|
198
|
+
hours = "0".concat(hours);
|
|
199
|
+
}
|
|
200
|
+
if (minutes < 10) {
|
|
201
|
+
minutes = "0".concat(minutes);
|
|
202
|
+
}
|
|
203
|
+
if (seconds < 10) {
|
|
204
|
+
seconds = "0".concat(seconds);
|
|
205
|
+
}
|
|
206
|
+
return "".concat(hours, ":").concat(minutes, ":").concat(seconds);
|
|
207
|
+
};
|
|
208
|
+
var formatDuration$1 = formatDuration;
|
|
209
|
+
|
|
192
210
|
var _excluded$1 = ["component"];
|
|
193
211
|
var getComponent = function getComponent(component) {
|
|
194
212
|
var _ref = isObject(component) ? component : {
|
|
@@ -467,4 +485,4 @@ var validateFields = function validateFields(fields, value) {
|
|
|
467
485
|
};
|
|
468
486
|
var validateFields$1 = validateFields;
|
|
469
487
|
|
|
470
|
-
export { convertStyleToString$1 as convertStyleToString, copyToClipboard, createNullableOnChange$1 as createNullableOnChange, createUseEvent$1 as createUseEvent, flattenComponents$1 as flattenComponents, getColumnsWithFields$1 as getColumnsWithFields, getComponent$1 as getComponent, getComponentFromName$1 as getComponentFromName, getDefinitionFromId$1 as getDefinitionFromId, getDisplayName$1 as getDisplayName, getFieldByName$1 as getFieldByName, getFieldFromPath$1 as getFieldFromPath, getFileName$1 as getFileName, getPathValue$1 as getPathValue, getSelectOptions$1 as getSelectOptions, isMessage$1 as isMessage, loadPackage, setValue$1 as setFieldValue, slug$1 as slug, validateFields$1 as validateFields };
|
|
488
|
+
export { convertStyleToString$1 as convertStyleToString, copyToClipboard, createNullableOnChange$1 as createNullableOnChange, createUseEvent$1 as createUseEvent, flattenComponents$1 as flattenComponents, formatDuration$1 as formatDuration, getColumnsWithFields$1 as getColumnsWithFields, getComponent$1 as getComponent, getComponentFromName$1 as getComponentFromName, getDefinitionFromId$1 as getDefinitionFromId, getDisplayName$1 as getDisplayName, getFieldByName$1 as getFieldByName, getFieldFromPath$1 as getFieldFromPath, getFileName$1 as getFileName, getPathValue$1 as getPathValue, getSelectOptions$1 as getSelectOptions, isMessage$1 as isMessage, loadPackage, setValue$1 as setFieldValue, slug$1 as slug, validateFields$1 as validateFields };
|