@panneau/core 3.0.193 → 3.0.194

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 CHANGED
@@ -869,14 +869,12 @@ var ModalProvider = function ModalProvider(_ref) {
869
869
  }
870
870
  }, [modals, setModals]);
871
871
  var closeLastModal = useCallback(function () {
872
- var _modalsRef$current3 = modalsRef.current,
873
- currentModals = _modalsRef$current3 === void 0 ? [] : _modalsRef$current3;
874
- var lastModal = currentModals.pop() || null;
872
+ var lastModal = modals.pop() || null;
875
873
  if (lastModal !== null) {
876
874
  var _ref4 = lastModal || {},
877
875
  _ref4$id = _ref4.id,
878
876
  lastModalId = _ref4$id === void 0 ? null : _ref4$id;
879
- var newModals = currentModals.filter(function (_ref5) {
877
+ var newModals = modals.filter(function (_ref5) {
880
878
  var modalId = _ref5.id;
881
879
  return modalId !== lastModalId;
882
880
  });
package/es/hooks.js CHANGED
@@ -1,6 +1,8 @@
1
+ import get from 'lodash/get';
2
+ import isArray from 'lodash/isArray';
3
+ import { useMemo, useRef, useEffect, useCallback, useState } from 'react';
1
4
  import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
5
  import isString from 'lodash/isString';
3
- import { useRef, useEffect, useCallback, useState, useMemo } from 'react';
4
6
  import { EventsManager, MediasParser } from '@panneau/core';
5
7
  import { createUseEvent, loadPackage } from '@panneau/core/utils';
6
8
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
@@ -8,14 +10,61 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
8
10
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
9
11
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
10
12
  import { getCsrfToken, postJSON, getCSRFHeaders } from '@folklore/fetch';
11
- import get from 'lodash/get';
12
- import isArray from 'lodash/isArray';
13
13
  import isObject from 'lodash/isObject';
14
14
  import { useFieldsManager, usePanneauResources, useResource, useUrlGenerator } from '@panneau/core/contexts';
15
15
  import { useIntl } from 'react-intl';
16
16
  import dayjs from 'dayjs';
17
17
  import { match } from 'css-mediaquery';
18
18
 
19
+ var useActionProps = function useActionProps(action, value) {
20
+ var labelPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
21
+ var values = useMemo(function () {
22
+ if (value === null) {
23
+ return null;
24
+ }
25
+ if (isArray(value)) {
26
+ return value;
27
+ }
28
+ return value || null;
29
+ }, [value]);
30
+ var ids = useMemo(function () {
31
+ if (value === null) {
32
+ return null;
33
+ }
34
+ if (isArray(value)) {
35
+ return value.map(function () {
36
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
37
+ _ref$id = _ref.id,
38
+ id = _ref$id === void 0 ? null : _ref$id;
39
+ return id;
40
+ }).filter(function (id) {
41
+ return id !== null;
42
+ });
43
+ }
44
+ return value !== null && typeof value.id !== 'undefined' ? [value.id] : null;
45
+ }, [value]);
46
+ var idKeys = useMemo(function () {
47
+ return (ids || []).map(function (id) {
48
+ return "".concat(id);
49
+ }).join('-');
50
+ }, [ids]);
51
+ var idLabels = useMemo(function () {
52
+ return (values || []).map(function (it) {
53
+ return "#".concat(get(it, 'id', '')).concat(labelPath !== null ? " ".concat(get(it, labelPath, '')) : '');
54
+ }).join(', ');
55
+ }, [ids]);
56
+ var modalKey = useMemo(function () {
57
+ return "".concat(action, "-").concat(idKeys);
58
+ }, [idKeys]);
59
+ return {
60
+ ids: ids,
61
+ idKeys: idKeys,
62
+ idLabels: idLabels,
63
+ modalKey: modalKey
64
+ };
65
+ };
66
+ var useActionProps$1 = useActionProps;
67
+
19
68
  // For backwards compatibility with the old actions element
20
69
 
21
70
  var useActions = function useActions() {
@@ -50,7 +99,7 @@ var useActions = function useActions() {
50
99
  _ref$preferEditModal = _ref.preferEditModal,
51
100
  preferEditModal = _ref$preferEditModal === void 0 ? false : _ref$preferEditModal,
52
101
  _ref$preferDeleteModa = _ref.preferDeleteModal,
53
- preferDeleteModal = _ref$preferDeleteModa === void 0 ? true : _ref$preferDeleteModa;
102
+ preferDeleteModal = _ref$preferDeleteModa === void 0 ? false : _ref$preferDeleteModa;
54
103
  var _ref2 = item || {},
55
104
  id = _ref2.id,
56
105
  _ref2$url = _ref2.url,
@@ -1263,4 +1312,4 @@ var eventsManager = typeof window !== 'undefined' ? new EventsManager(window) :
1263
1312
  var useWindowEvent = createUseEvent(eventsManager);
1264
1313
  var useWindowEvent$1 = useWindowEvent;
1265
1314
 
1266
- export { KEYCODES, getObserver, useActions$1 as useActions, useAnimationFrame$1 as useAnimationFrame, useDocumentEvent$1 as useDocumentEvent, useForm$1 as useForm, useFormattedDate, useFormattedTime, useIntersectionObserver, useIsVisible$1 as useIsVisible, useKeyboardKeys$1 as useKeyboardKeys, 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 };
1315
+ export { KEYCODES, getObserver, useActionProps$1 as useActionProps, useActions$1 as useActions, useAnimationFrame$1 as useAnimationFrame, useDocumentEvent$1 as useDocumentEvent, useForm$1 as useForm, useFormattedDate, useFormattedTime, useIntersectionObserver, useIsVisible$1 as useIsVisible, useKeyboardKeys$1 as useKeyboardKeys, 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/lib/contexts.js CHANGED
@@ -890,14 +890,12 @@ var ModalProvider = function ModalProvider(_ref) {
890
890
  }
891
891
  }, [modals, setModals]);
892
892
  var closeLastModal = React.useCallback(function () {
893
- var _modalsRef$current3 = modalsRef.current,
894
- currentModals = _modalsRef$current3 === void 0 ? [] : _modalsRef$current3;
895
- var lastModal = currentModals.pop() || null;
893
+ var lastModal = modals.pop() || null;
896
894
  if (lastModal !== null) {
897
895
  var _ref4 = lastModal || {},
898
896
  _ref4$id = _ref4.id,
899
897
  lastModalId = _ref4$id === void 0 ? null : _ref4$id;
900
- var newModals = currentModals.filter(function (_ref5) {
898
+ var newModals = modals.filter(function (_ref5) {
901
899
  var modalId = _ref5.id;
902
900
  return modalId !== lastModalId;
903
901
  });
package/lib/hooks.js CHANGED
@@ -1,8 +1,10 @@
1
1
  'use strict';
2
2
 
3
+ var get = require('lodash/get');
4
+ var isArray = require('lodash/isArray');
5
+ var react = require('react');
3
6
  var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
7
  var isString = require('lodash/isString');
5
- var react = require('react');
6
8
  var core = require('@panneau/core');
7
9
  var utils = require('@panneau/core/utils');
8
10
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
@@ -10,14 +12,61 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
10
12
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
11
13
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
12
14
  var fetch = require('@folklore/fetch');
13
- var get = require('lodash/get');
14
- var isArray = require('lodash/isArray');
15
15
  var isObject = require('lodash/isObject');
16
16
  var contexts = require('@panneau/core/contexts');
17
17
  var reactIntl = require('react-intl');
18
18
  var dayjs = require('dayjs');
19
19
  var cssMediaquery = require('css-mediaquery');
20
20
 
21
+ var useActionProps = function useActionProps(action, value) {
22
+ var labelPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
23
+ var values = react.useMemo(function () {
24
+ if (value === null) {
25
+ return null;
26
+ }
27
+ if (isArray(value)) {
28
+ return value;
29
+ }
30
+ return value || null;
31
+ }, [value]);
32
+ var ids = react.useMemo(function () {
33
+ if (value === null) {
34
+ return null;
35
+ }
36
+ if (isArray(value)) {
37
+ return value.map(function () {
38
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
39
+ _ref$id = _ref.id,
40
+ id = _ref$id === void 0 ? null : _ref$id;
41
+ return id;
42
+ }).filter(function (id) {
43
+ return id !== null;
44
+ });
45
+ }
46
+ return value !== null && typeof value.id !== 'undefined' ? [value.id] : null;
47
+ }, [value]);
48
+ var idKeys = react.useMemo(function () {
49
+ return (ids || []).map(function (id) {
50
+ return "".concat(id);
51
+ }).join('-');
52
+ }, [ids]);
53
+ var idLabels = react.useMemo(function () {
54
+ return (values || []).map(function (it) {
55
+ return "#".concat(get(it, 'id', '')).concat(labelPath !== null ? " ".concat(get(it, labelPath, '')) : '');
56
+ }).join(', ');
57
+ }, [ids]);
58
+ var modalKey = react.useMemo(function () {
59
+ return "".concat(action, "-").concat(idKeys);
60
+ }, [idKeys]);
61
+ return {
62
+ ids: ids,
63
+ idKeys: idKeys,
64
+ idLabels: idLabels,
65
+ modalKey: modalKey
66
+ };
67
+ };
68
+ var useActionProps$1 = useActionProps;
69
+
21
70
  // For backwards compatibility with the old actions element
22
71
 
23
72
  var useActions = function useActions() {
@@ -52,7 +101,7 @@ var useActions = function useActions() {
52
101
  _ref$preferEditModal = _ref.preferEditModal,
53
102
  preferEditModal = _ref$preferEditModal === void 0 ? false : _ref$preferEditModal,
54
103
  _ref$preferDeleteModa = _ref.preferDeleteModal,
55
- preferDeleteModal = _ref$preferDeleteModa === void 0 ? true : _ref$preferDeleteModa;
104
+ preferDeleteModal = _ref$preferDeleteModa === void 0 ? false : _ref$preferDeleteModa;
56
105
  var _ref2 = item || {},
57
106
  id = _ref2.id,
58
107
  _ref2$url = _ref2.url,
@@ -1267,6 +1316,7 @@ var useWindowEvent$1 = useWindowEvent;
1267
1316
 
1268
1317
  exports.KEYCODES = KEYCODES;
1269
1318
  exports.getObserver = getObserver;
1319
+ exports.useActionProps = useActionProps$1;
1270
1320
  exports.useActions = useActions$1;
1271
1321
  exports.useAnimationFrame = useAnimationFrame$1;
1272
1322
  exports.useDocumentEvent = useDocumentEvent$1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@panneau/core",
3
- "version": "3.0.193",
3
+ "version": "3.0.194",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -111,5 +111,5 @@
111
111
  "publishConfig": {
112
112
  "access": "public"
113
113
  },
114
- "gitHead": "cd6f69216ddbee75b352f3bd1d39352ff3332848"
114
+ "gitHead": "6d49da8ecbe43b3a5c11dc9ddb9553ef64e58c83"
115
115
  }