@mirai/core 0.4.560 → 0.4.562

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.
Files changed (58) hide show
  1. package/build/components/Booking/Booking.constants.js +10 -2
  2. package/build/components/Booking/Booking.constants.js.map +1 -1
  3. package/build/components/Booking/Booking.js +77 -3
  4. package/build/components/Booking/Booking.js.map +1 -1
  5. package/build/components/Booking/Booking.l10n.js +58 -13
  6. package/build/components/Booking/Booking.l10n.js.map +1 -1
  7. package/build/components/Booking/Booking.module.css +208 -0
  8. package/build/components/Booking/components/Summary/Summary.module.css +0 -1
  9. package/build/components/Booking/helpers/getChildrenAmount.js +9 -0
  10. package/build/components/Booking/helpers/getChildrenAmount.js.map +1 -0
  11. package/build/components/Booking/helpers/getDetailsByRoom.js +28 -0
  12. package/build/components/Booking/helpers/getDetailsByRoom.js.map +1 -0
  13. package/build/components/Booking/helpers/getOccupationDataSource.js +44 -0
  14. package/build/components/Booking/helpers/getOccupationDataSource.js.map +1 -0
  15. package/build/components/Booking/helpers/getOccupationFromParty.js +25 -0
  16. package/build/components/Booking/helpers/getOccupationFromParty.js.map +1 -0
  17. package/build/components/Booking/helpers/getRoomDataSource.js +57 -0
  18. package/build/components/Booking/helpers/getRoomDataSource.js.map +1 -0
  19. package/build/components/Booking/helpers/getRoomSelectionData.js +56 -0
  20. package/build/components/Booking/helpers/getRoomSelectionData.js.map +1 -0
  21. package/build/components/Booking/helpers/index.js +66 -0
  22. package/build/components/Booking/helpers/index.js.map +1 -1
  23. package/build/components/Booking/partials/Booking.FormEditBoard.js +179 -0
  24. package/build/components/Booking/partials/Booking.FormEditBoard.js.map +1 -0
  25. package/build/components/Booking/partials/Booking.FormEditDate.js +0 -4
  26. package/build/components/Booking/partials/Booking.FormEditDate.js.map +1 -1
  27. package/build/components/Booking/partials/Booking.FormEditOccupation.js +224 -0
  28. package/build/components/Booking/partials/Booking.FormEditOccupation.js.map +1 -0
  29. package/build/components/Booking/partials/Booking.Menu.js +39 -14
  30. package/build/components/Booking/partials/Booking.Menu.js.map +1 -1
  31. package/build/components/Booking/partials/Booking.Modal.actions.js +194 -0
  32. package/build/components/Booking/partials/Booking.Modal.actions.js.map +1 -0
  33. package/build/components/Booking/partials/Booking.Modal.js +39 -52
  34. package/build/components/Booking/partials/Booking.Modal.js.map +1 -1
  35. package/build/components/Booking/partials/Booking.ModalBoard.js +192 -0
  36. package/build/components/Booking/partials/Booking.ModalBoard.js.map +1 -0
  37. package/build/components/Booking/partials/Booking.ModalOccupation.js +186 -0
  38. package/build/components/Booking/partials/Booking.ModalOccupation.js.map +1 -0
  39. package/build/components/Booking/partials/Booking.ModalRoomSelection.js +160 -0
  40. package/build/components/Booking/partials/Booking.ModalRoomSelection.js.map +1 -0
  41. package/build/components/Booking/partials/Booking.RoomCard.js +69 -0
  42. package/build/components/Booking/partials/Booking.RoomCard.js.map +1 -0
  43. package/build/components/Booking/partials/hooks/index.js +28 -0
  44. package/build/components/Booking/partials/hooks/index.js.map +1 -0
  45. package/build/components/Booking/partials/hooks/useEditFlow.js +108 -0
  46. package/build/components/Booking/partials/hooks/useEditFlow.js.map +1 -0
  47. package/build/components/Booking/partials/hooks/useSelectedRoomData.js +60 -0
  48. package/build/components/Booking/partials/hooks/useSelectedRoomData.js.map +1 -0
  49. package/build/components/Booking/partials/index.js +47 -3
  50. package/build/components/Booking/partials/index.js.map +1 -1
  51. package/build/components/Chat/Chat.js +22 -8
  52. package/build/components/Chat/Chat.js.map +1 -1
  53. package/build/components/Chat/components/Aura/Aura.js +8 -7
  54. package/build/components/Chat/components/Aura/Aura.js.map +1 -1
  55. package/build/components/__shared__/Occupation/Occupation.js +9 -6
  56. package/build/components/__shared__/Occupation/Occupation.js.map +1 -1
  57. package/build/components/__shared__/Occupation/Occupation.module.css +12 -0
  58. package/package.json +1 -1
@@ -13,7 +13,7 @@ var _helpers = require("../../helpers");
13
13
  var _Booking = require("../Booking.constants");
14
14
  var _Booking2 = require("../Booking.l10n");
15
15
  var style = _interopRequireWildcard(require("../Booking.module.css"));
16
- const _excluded = ["dataSource", "onPress"];
16
+ const _excluded = ["dataSource", "onPress", "onVisibleChange", "visible"];
17
17
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
18
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
19
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
@@ -22,7 +22,9 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
22
22
  const Menu = _ref => {
23
23
  let {
24
24
  dataSource = {},
25
- onPress = () => {}
25
+ onPress = () => {},
26
+ onVisibleChange = () => {},
27
+ visible
26
28
  } = _ref,
27
29
  others = _objectWithoutProperties(_ref, _excluded);
28
30
  const {
@@ -32,15 +34,17 @@ const Menu = _ref => {
32
34
  translate
33
35
  } = (0, _locale.useLocale)();
34
36
  const refContainer = (0, _react.useRef)();
35
- const [visible, setVisible] = (0, _react.useState)(isDesktop);
36
37
  (0, _react.useEffect)(() => {
37
- setVisible(isDesktop || false);
38
+ onVisibleChange(isDesktop || false);
38
39
  !isDesktop && (refContainer === null || refContainer === void 0 ? void 0 : refContainer.current) && _dataSources.Event.publish(_helpers.EVENT.FOOTER_HEIGHT_CHANGE, {
39
40
  height: refContainer === null || refContainer === void 0 ? void 0 : refContainer.current.offsetHeight
40
41
  });
42
+ // eslint-disable-next-line react-hooks/exhaustive-deps
41
43
  }, [isDesktop]);
42
44
  const handlePress = action => {
43
- if (!isDesktop) setVisible(false);
45
+ if (!isDesktop) {
46
+ onVisibleChange(false);
47
+ }
44
48
  if (!action) return;
45
49
  if (action === _Booking.ACTION.CANCEL) {
46
50
  _dataSources.Event.publish(_helpers.EVENT.METRICS, {
@@ -58,15 +62,22 @@ const Menu = _ref => {
58
62
  };
59
63
  const {
60
64
  isPostponable = false,
61
- modify: {
62
- date = false
63
- } = {},
65
+ modify = {},
64
66
  state = _Booking.STATE.CONFIRMED
65
67
  } = dataSource;
68
+ const {
69
+ board,
70
+ date = false,
71
+ occupation
72
+ } = modify;
73
+ const boardRooms = Array.isArray(board === null || board === void 0 ? void 0 : board.rooms) ? board.rooms : [];
74
+ const occupationRooms = Array.isArray(occupation === null || occupation === void 0 ? void 0 : occupation.rooms) ? occupation.rooms : [];
66
75
  const is = {
67
76
  cancelled: state === _Booking.STATE.CANCELLED,
68
77
  confirmed: state === _Booking.STATE.CONFIRMED,
69
- modified: state === _Booking.STATE.CONFIRMED && date,
78
+ modifiedBoard: state === _Booking.STATE.CONFIRMED && boardRooms.length > 0,
79
+ modifiedDate: state === _Booking.STATE.CONFIRMED && date,
80
+ modifiedOccupation: state === _Booking.STATE.CONFIRMED && occupationRooms.length > 0,
70
81
  postponable: state === _Booking.STATE.CONFIRMED && isPostponable
71
82
  };
72
83
  return /*#__PURE__*/_react.default.createElement(_ui.View, _extends({
@@ -93,11 +104,21 @@ const Menu = _ref => {
93
104
  icon: _helpers.ICON.CALENDAR_CANCEL,
94
105
  label: translate(_Booking2.L10N.ACTION_CANCEL_BOOKING),
95
106
  value: _Booking.ACTION.CANCEL,
96
- divider: is.modified
97
- } : undefined, is.modified ? {
107
+ divider: is.modifiedDate
108
+ } : undefined, is.modifiedDate ? {
98
109
  icon: _helpers.ICON.CALENDAR_EDIT,
99
110
  label: translate(_Booking2.L10N.ACTION_EDIT_DATE),
100
- value: _Booking.ACTION.SHOW_CALENDAR
111
+ value: _Booking.ACTION.SHOW_CALENDAR,
112
+ divider: is.modifiedOccupation || is.modifiedBoard
113
+ } : undefined, is.modifiedOccupation ? {
114
+ icon: _helpers.ICON.GROUP,
115
+ label: translate(_Booking2.L10N.ACTION_EDIT_OCCUPATION),
116
+ value: _Booking.ACTION.EDIT_OCCUPATION,
117
+ divider: is.modifiedBoard
118
+ } : undefined, is.modifiedBoard ? {
119
+ icon: _helpers.ICON.LIST,
120
+ label: translate(_Booking2.L10N.ACTION_EDIT_BOARD),
121
+ value: _Booking.ACTION.EDIT_BOARD
101
122
  } : undefined],
102
123
  visible: visible,
103
124
  onPress: handlePress,
@@ -105,7 +126,9 @@ const Menu = _ref => {
105
126
  }), !isDesktop && /*#__PURE__*/_react.default.createElement(_ui.Button, {
106
127
  large: true,
107
128
  wide: true,
108
- onPress: () => setVisible(!visible),
129
+ onPress: () => {
130
+ onVisibleChange(!visible);
131
+ },
109
132
  testId: "show-booking-menu"
110
133
  }, translate(_Booking2.L10N.ACTION_SHOW_OPTIONS)));
111
134
  };
@@ -115,6 +138,8 @@ Menu.propTypes = {
115
138
  dataSource: _propTypes.default.shape({
116
139
  state: _propTypes.default.oneOf(Object.values(_Booking.STATE))
117
140
  }),
118
- onPress: _propTypes.default.func
141
+ onPress: _propTypes.default.func,
142
+ onVisibleChange: _propTypes.default.func,
143
+ visible: _propTypes.default.bool
119
144
  };
120
145
  //# sourceMappingURL=Booking.Menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Booking.Menu.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Booking","_Booking2","style","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","Menu","_ref","dataSource","onPress","others","isDesktop","useDevice","translate","useLocale","refContainer","useRef","visible","setVisible","useState","useEffect","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","handlePress","action","ACTION","CANCEL","METRICS","id","METRICS_EVENTS","BOOKING_INTERACTION","SHOW_CALENDAR","isPostponable","modify","date","state","STATE","CONFIRMED","is","cancelled","CANCELLED","confirmed","modified","postponable","createElement","View","ref","className","styles","menu","noPrint","options","icon","ICON","PRINT","label","L10N","ACTION_PRINT","value","divider","MAIL","ACTION_RESEND_BOOKING","RESEND","CALENDAR_EDIT","ACTION_EDIT_BOOKING","EDIT","undefined","CALENDAR_CANCEL","ACTION_CANCEL_BOOKING","ACTION_EDIT_DATE","testId","Button","large","wide","ACTION_SHOW_OPTIONS","exports","displayName","propTypes","PropTypes","shape","oneOf","values","func"],"sources":["../../../../src/components/Booking/partials/Booking.Menu.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Menu as MenuBase, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { EVENT, ICON, METRICS_EVENTS } from '../../helpers';\nimport { ACTION, STATE } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\n\nconst Menu = ({ dataSource = {}, onPress = () => {}, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const refContainer = useRef();\n\n const [visible, setVisible] = useState(isDesktop);\n\n useEffect(() => {\n setVisible(isDesktop || false);\n\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\n }, [isDesktop]);\n\n const handlePress = (action) => {\n if (!isDesktop) setVisible(false);\n if (!action) return;\n\n if (action === ACTION.CANCEL) {\n Event.publish(EVENT.METRICS, { id: METRICS_EVENTS.BOOKING_INTERACTION, action: 'cancel_intent' });\n }\n if (action === ACTION.SHOW_CALENDAR) {\n Event.publish(EVENT.METRICS, { id: METRICS_EVENTS.BOOKING_INTERACTION, action: 'modify_dates_intent' });\n }\n\n onPress(action);\n };\n\n const { isPostponable = false, modify: { date = false } = {}, state = STATE.CONFIRMED } = dataSource;\n const is = {\n cancelled: state === STATE.CANCELLED,\n confirmed: state === STATE.CONFIRMED,\n modified: state === STATE.CONFIRMED && date,\n postponable: state === STATE.CONFIRMED && isPostponable,\n };\n\n return (\n <View ref={refContainer} {...others} className={styles(style.menu, style.noPrint, others.className)}>\n <MenuBase\n options={[\n { icon: ICON.PRINT, label: translate(L10N.ACTION_PRINT), value: ACTION.PRINT, divider: true },\n { icon: ICON.MAIL, label: translate(L10N.ACTION_RESEND_BOOKING), value: ACTION.RESEND, divider: true },\n is.postponable\n ? {\n icon: ICON.CALENDAR_EDIT,\n label: translate(L10N.ACTION_EDIT_BOOKING),\n value: ACTION.EDIT,\n divider: true,\n }\n : undefined,\n is.confirmed\n ? {\n icon: ICON.CALENDAR_CANCEL,\n label: translate(L10N.ACTION_CANCEL_BOOKING),\n value: ACTION.CANCEL,\n divider: is.modified,\n }\n : undefined,\n is.modified\n ? {\n icon: ICON.CALENDAR_EDIT,\n label: translate(L10N.ACTION_EDIT_DATE),\n value: ACTION.SHOW_CALENDAR,\n }\n : undefined,\n ]}\n visible={visible}\n onPress={handlePress}\n testId=\"booking-menu\"\n />\n\n {!isDesktop && (\n <Button large wide onPress={() => setVisible(!visible)} testId=\"show-booking-menu\">\n {translate(L10N.ACTION_SHOW_OPTIONS)}\n </Button>\n )}\n </View>\n );\n};\n\nMenu.displayName = 'Mirai:Core:Booking:Menu';\n\nMenu.propTypes = {\n dataSource: PropTypes.shape({\n state: PropTypes.oneOf(Object.values(STATE)),\n }),\n onPress: PropTypes.func,\n};\n\nexport { Menu };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Booking.Menu.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Booking","_Booking2","style","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","Menu","_ref","dataSource","onPress","onVisibleChange","visible","others","isDesktop","useDevice","translate","useLocale","refContainer","useRef","useEffect","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","handlePress","action","ACTION","CANCEL","METRICS","id","METRICS_EVENTS","BOOKING_INTERACTION","SHOW_CALENDAR","isPostponable","modify","state","STATE","CONFIRMED","board","date","occupation","boardRooms","Array","isArray","rooms","occupationRooms","is","cancelled","CANCELLED","confirmed","modifiedBoard","modifiedDate","modifiedOccupation","postponable","createElement","View","ref","className","styles","menu","noPrint","options","icon","ICON","PRINT","label","L10N","ACTION_PRINT","value","divider","MAIL","ACTION_RESEND_BOOKING","RESEND","CALENDAR_EDIT","ACTION_EDIT_BOOKING","EDIT","undefined","CALENDAR_CANCEL","ACTION_CANCEL_BOOKING","ACTION_EDIT_DATE","GROUP","ACTION_EDIT_OCCUPATION","EDIT_OCCUPATION","LIST","ACTION_EDIT_BOARD","EDIT_BOARD","testId","Button","large","wide","ACTION_SHOW_OPTIONS","exports","displayName","propTypes","PropTypes","shape","oneOf","values","func","bool"],"sources":["../../../../src/components/Booking/partials/Booking.Menu.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Menu as MenuBase, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { EVENT, ICON, METRICS_EVENTS } from '../../helpers';\nimport { ACTION, STATE } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\n\nconst Menu = ({ dataSource = {}, onPress = () => {}, onVisibleChange = () => {}, visible, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const refContainer = useRef();\n\n useEffect(() => {\n onVisibleChange(isDesktop || false);\n\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDesktop]);\n\n const handlePress = (action) => {\n if (!isDesktop) {\n onVisibleChange(false);\n }\n if (!action) return;\n\n if (action === ACTION.CANCEL) {\n Event.publish(EVENT.METRICS, { id: METRICS_EVENTS.BOOKING_INTERACTION, action: 'cancel_intent' });\n }\n if (action === ACTION.SHOW_CALENDAR) {\n Event.publish(EVENT.METRICS, { id: METRICS_EVENTS.BOOKING_INTERACTION, action: 'modify_dates_intent' });\n }\n\n onPress(action);\n };\n\n const { isPostponable = false, modify = {}, state = STATE.CONFIRMED } = dataSource;\n const { board, date = false, occupation } = modify;\n const boardRooms = Array.isArray(board?.rooms) ? board.rooms : [];\n const occupationRooms = Array.isArray(occupation?.rooms) ? occupation.rooms : [];\n const is = {\n cancelled: state === STATE.CANCELLED,\n confirmed: state === STATE.CONFIRMED,\n modifiedBoard: state === STATE.CONFIRMED && boardRooms.length > 0,\n modifiedDate: state === STATE.CONFIRMED && date,\n modifiedOccupation: state === STATE.CONFIRMED && occupationRooms.length > 0,\n postponable: state === STATE.CONFIRMED && isPostponable,\n };\n\n return (\n <View ref={refContainer} {...others} className={styles(style.menu, style.noPrint, others.className)}>\n <MenuBase\n options={[\n { icon: ICON.PRINT, label: translate(L10N.ACTION_PRINT), value: ACTION.PRINT, divider: true },\n { icon: ICON.MAIL, label: translate(L10N.ACTION_RESEND_BOOKING), value: ACTION.RESEND, divider: true },\n is.postponable\n ? {\n icon: ICON.CALENDAR_EDIT,\n label: translate(L10N.ACTION_EDIT_BOOKING),\n value: ACTION.EDIT,\n divider: true,\n }\n : undefined,\n is.confirmed\n ? {\n icon: ICON.CALENDAR_CANCEL,\n label: translate(L10N.ACTION_CANCEL_BOOKING),\n value: ACTION.CANCEL,\n divider: is.modifiedDate,\n }\n : undefined,\n is.modifiedDate\n ? {\n icon: ICON.CALENDAR_EDIT,\n label: translate(L10N.ACTION_EDIT_DATE),\n value: ACTION.SHOW_CALENDAR,\n divider: is.modifiedOccupation || is.modifiedBoard,\n }\n : undefined,\n is.modifiedOccupation\n ? {\n icon: ICON.GROUP,\n label: translate(L10N.ACTION_EDIT_OCCUPATION),\n value: ACTION.EDIT_OCCUPATION,\n divider: is.modifiedBoard,\n }\n : undefined,\n is.modifiedBoard\n ? {\n icon: ICON.LIST,\n label: translate(L10N.ACTION_EDIT_BOARD),\n value: ACTION.EDIT_BOARD,\n }\n : undefined,\n ]}\n visible={visible}\n onPress={handlePress}\n testId=\"booking-menu\"\n />\n\n {!isDesktop && (\n <Button\n large\n wide\n onPress={() => {\n onVisibleChange(!visible);\n }}\n testId=\"show-booking-menu\"\n >\n {translate(L10N.ACTION_SHOW_OPTIONS)}\n </Button>\n )}\n </View>\n );\n};\n\nMenu.displayName = 'Mirai:Core:Booking:Menu';\n\nMenu.propTypes = {\n dataSource: PropTypes.shape({\n state: PropTypes.oneOf(Object.values(STATE)),\n }),\n onPress: PropTypes.func,\n onVisibleChange: PropTypes.func,\n visible: PropTypes.bool,\n};\n\nexport { Menu };\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getModalActionConfig = void 0;
7
+ var _services = require("@mirai/services");
8
+ var _Booking = require("./Booking.FormCancel");
9
+ var _Booking2 = require("./Booking.FormEdit");
10
+ var _Booking3 = require("./Booking.FormEditBoard");
11
+ var _Booking4 = require("./Booking.FormEditDate");
12
+ var _Booking5 = require("./Booking.FormEditOccupation");
13
+ var _Booking6 = require("./Booking.FormResend");
14
+ var _Booking7 = require("../Booking.constants");
15
+ var _Booking8 = require("../Booking.l10n");
16
+ var style = _interopRequireWildcard(require("../Booking.module.css"));
17
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
18
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
21
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
22
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
23
+ const {
24
+ CANCEL,
25
+ EDIT,
26
+ EDIT_BOARD,
27
+ EDIT_BOARD_CONFIRM,
28
+ EDIT_DATE,
29
+ EDIT_OCCUPATION,
30
+ EDIT_OCCUPATION_CONFIRM,
31
+ RESEND,
32
+ SHOW_CALENDAR
33
+ } = _Booking7.ACTION;
34
+ const ACTION_VALUES = Object.values(_Booking7.ACTION);
35
+ const DEFAULT_ACTION = RESEND;
36
+ const ACTION_CONFIG = {
37
+ [CANCEL]: {
38
+ Form: _Booking.FormCancel,
39
+ editLayout: false,
40
+ fit: false,
41
+ submitL10N: _Booking8.L10N.ACTION_CANCEL,
42
+ successL10N: _Booking8.L10N.NOTIFICATION_CANCEL_BOOKING_SUCCESS,
43
+ titleL10N: _Booking8.L10N.ACTION_CANCEL_BOOKING,
44
+ state: _Booking7.STATE.CANCELLED,
45
+ request: _ref => {
46
+ let {
47
+ form,
48
+ id,
49
+ idHotel,
50
+ pinCode,
51
+ token
52
+ } = _ref;
53
+ return _services.ServiceBooking.cancel(_objectSpread({
54
+ id,
55
+ idHotel,
56
+ pinCode,
57
+ token
58
+ }, form));
59
+ }
60
+ },
61
+ [EDIT]: {
62
+ Form: _Booking2.FormEdit,
63
+ editLayout: false,
64
+ fit: false,
65
+ submitL10N: _Booking8.L10N.ACTION_POSTPONE,
66
+ successL10N: _Booking8.L10N.NOTIFICATION_EDIT_BOOKING_SUCCESS,
67
+ titleL10N: _Booking8.L10N.ACTION_EDIT_BOOKING,
68
+ state: _Booking7.STATE.POSTPONED,
69
+ request: _ref2 => {
70
+ let {
71
+ form,
72
+ id,
73
+ idHotel,
74
+ pinCode,
75
+ token
76
+ } = _ref2;
77
+ return _services.ServiceBooking.postpone(_objectSpread({
78
+ id,
79
+ idHotel,
80
+ pinCode,
81
+ token
82
+ }, form));
83
+ }
84
+ },
85
+ [EDIT_DATE]: {
86
+ Form: _Booking4.FormEditDate,
87
+ backAction: SHOW_CALENDAR,
88
+ className: style.modalConfirmDialog,
89
+ editLayout: true,
90
+ fit: true,
91
+ submitL10N: _Booking8.L10N.ACTION_CONFIRM,
92
+ successL10N: _Booking8.L10N.NOTIFICATION_EDIT_DATE_SUCCESS,
93
+ titleL10N: _Booking8.L10N.ACTION_EDIT_DATE,
94
+ warningOn404: true,
95
+ getFormProps: _ref3 => {
96
+ let {
97
+ responseCalendar
98
+ } = _ref3;
99
+ return {
100
+ responseCalendar
101
+ };
102
+ },
103
+ request: _ref4 => {
104
+ let {
105
+ form,
106
+ id
107
+ } = _ref4;
108
+ return _services.ServiceBooking.modification.date.confirm(_objectSpread({
109
+ id
110
+ }, form));
111
+ }
112
+ },
113
+ [EDIT_BOARD_CONFIRM]: {
114
+ Form: _Booking3.FormEditBoard,
115
+ backAction: EDIT_BOARD,
116
+ className: style.modalConfirmDialog,
117
+ editLayout: true,
118
+ fit: true,
119
+ submitL10N: _Booking8.L10N.ACTION_CONFIRM,
120
+ successL10N: _Booking8.L10N.NOTIFICATION_EDIT_BOARD_SUCCESS,
121
+ titleL10N: _Booking8.L10N.ACTION_EDIT_BOARD,
122
+ getFormProps: _ref5 => {
123
+ let {
124
+ responseBoard
125
+ } = _ref5;
126
+ return {
127
+ responseBoard
128
+ };
129
+ },
130
+ request: _ref6 => {
131
+ let {
132
+ form,
133
+ id
134
+ } = _ref6;
135
+ return _services.ServiceBooking.modification.board.confirm(_objectSpread({
136
+ id
137
+ }, form));
138
+ }
139
+ },
140
+ [EDIT_OCCUPATION_CONFIRM]: {
141
+ Form: _Booking5.FormEditOccupation,
142
+ backAction: EDIT_OCCUPATION,
143
+ className: style.modalConfirmDialog,
144
+ editLayout: true,
145
+ fit: true,
146
+ submitL10N: _Booking8.L10N.ACTION_CONFIRM,
147
+ successL10N: _Booking8.L10N.NOTIFICATION_EDIT_OCCUPATION_SUCCESS,
148
+ titleL10N: _Booking8.L10N.ACTION_EDIT_OCCUPATION,
149
+ getFormProps: _ref7 => {
150
+ let {
151
+ responseOccupation
152
+ } = _ref7;
153
+ return {
154
+ responseOccupation
155
+ };
156
+ },
157
+ request: _ref8 => {
158
+ let {
159
+ form,
160
+ id
161
+ } = _ref8;
162
+ return _services.ServiceBooking.modification.occupation.confirm(_objectSpread({
163
+ id
164
+ }, form));
165
+ }
166
+ },
167
+ [RESEND]: {
168
+ Form: _Booking6.FormResend,
169
+ disableSubmitOnError: true,
170
+ editLayout: false,
171
+ fit: false,
172
+ submitL10N: _Booking8.L10N.ACTION_SEND,
173
+ successL10N: _Booking8.L10N.NOTIFICATION_EMAIL_SUCCESS,
174
+ titleL10N: _Booking8.L10N.ACTION_RESEND_BOOKING,
175
+ request: _ref9 => {
176
+ let {
177
+ form,
178
+ id,
179
+ idHotel,
180
+ pinCode,
181
+ token
182
+ } = _ref9;
183
+ return _services.ServiceBooking.email(_objectSpread({
184
+ id,
185
+ idHotel,
186
+ pinCode,
187
+ token
188
+ }, form));
189
+ }
190
+ }
191
+ };
192
+ const getModalActionConfig = action => ACTION_CONFIG[ACTION_VALUES.includes(action) ? action : DEFAULT_ACTION];
193
+ exports.getModalActionConfig = getModalActionConfig;
194
+ //# sourceMappingURL=Booking.Modal.actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Booking.Modal.actions.js","names":["_services","require","_Booking","_Booking2","_Booking3","_Booking4","_Booking5","_Booking6","_Booking7","_Booking8","style","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","CANCEL","EDIT","EDIT_BOARD","EDIT_BOARD_CONFIRM","EDIT_DATE","EDIT_OCCUPATION","EDIT_OCCUPATION_CONFIRM","RESEND","SHOW_CALENDAR","ACTION","ACTION_VALUES","values","DEFAULT_ACTION","ACTION_CONFIG","Form","FormCancel","editLayout","fit","submitL10N","L10N","ACTION_CANCEL","successL10N","NOTIFICATION_CANCEL_BOOKING_SUCCESS","titleL10N","ACTION_CANCEL_BOOKING","state","STATE","CANCELLED","request","_ref","form","id","idHotel","pinCode","token","ServiceBooking","cancel","FormEdit","ACTION_POSTPONE","NOTIFICATION_EDIT_BOOKING_SUCCESS","ACTION_EDIT_BOOKING","POSTPONED","_ref2","postpone","FormEditDate","backAction","className","modalConfirmDialog","ACTION_CONFIRM","NOTIFICATION_EDIT_DATE_SUCCESS","ACTION_EDIT_DATE","warningOn404","getFormProps","_ref3","responseCalendar","_ref4","modification","date","confirm","FormEditBoard","NOTIFICATION_EDIT_BOARD_SUCCESS","ACTION_EDIT_BOARD","_ref5","responseBoard","_ref6","board","FormEditOccupation","NOTIFICATION_EDIT_OCCUPATION_SUCCESS","ACTION_EDIT_OCCUPATION","_ref7","responseOccupation","_ref8","occupation","FormResend","disableSubmitOnError","ACTION_SEND","NOTIFICATION_EMAIL_SUCCESS","ACTION_RESEND_BOOKING","_ref9","email","getModalActionConfig","action","includes","exports"],"sources":["../../../../src/components/Booking/partials/Booking.Modal.actions.js"],"sourcesContent":["import { ServiceBooking } from '@mirai/services';\n\nimport { FormCancel } from './Booking.FormCancel';\nimport { FormEdit } from './Booking.FormEdit';\nimport { FormEditBoard } from './Booking.FormEditBoard';\nimport { FormEditDate } from './Booking.FormEditDate';\nimport { FormEditOccupation } from './Booking.FormEditOccupation';\nimport { FormResend } from './Booking.FormResend';\nimport { ACTION, STATE } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\n\nconst {\n CANCEL,\n EDIT,\n EDIT_BOARD,\n EDIT_BOARD_CONFIRM,\n EDIT_DATE,\n EDIT_OCCUPATION,\n EDIT_OCCUPATION_CONFIRM,\n RESEND,\n SHOW_CALENDAR,\n} = ACTION;\n\nconst ACTION_VALUES = Object.values(ACTION);\nconst DEFAULT_ACTION = RESEND;\n\nconst ACTION_CONFIG = {\n [CANCEL]: {\n Form: FormCancel,\n editLayout: false,\n fit: false,\n submitL10N: L10N.ACTION_CANCEL,\n successL10N: L10N.NOTIFICATION_CANCEL_BOOKING_SUCCESS,\n titleL10N: L10N.ACTION_CANCEL_BOOKING,\n state: STATE.CANCELLED,\n request: ({ form, id, idHotel, pinCode, token }) => ServiceBooking.cancel({ id, idHotel, pinCode, token, ...form }),\n },\n [EDIT]: {\n Form: FormEdit,\n editLayout: false,\n fit: false,\n submitL10N: L10N.ACTION_POSTPONE,\n successL10N: L10N.NOTIFICATION_EDIT_BOOKING_SUCCESS,\n titleL10N: L10N.ACTION_EDIT_BOOKING,\n state: STATE.POSTPONED,\n request: ({ form, id, idHotel, pinCode, token }) =>\n ServiceBooking.postpone({ id, idHotel, pinCode, token, ...form }),\n },\n [EDIT_DATE]: {\n Form: FormEditDate,\n backAction: SHOW_CALENDAR,\n className: style.modalConfirmDialog,\n editLayout: true,\n fit: true,\n submitL10N: L10N.ACTION_CONFIRM,\n successL10N: L10N.NOTIFICATION_EDIT_DATE_SUCCESS,\n titleL10N: L10N.ACTION_EDIT_DATE,\n warningOn404: true,\n getFormProps: ({ responseCalendar }) => ({ responseCalendar }),\n request: ({ form, id }) => ServiceBooking.modification.date.confirm({ id, ...form }),\n },\n [EDIT_BOARD_CONFIRM]: {\n Form: FormEditBoard,\n backAction: EDIT_BOARD,\n className: style.modalConfirmDialog,\n editLayout: true,\n fit: true,\n submitL10N: L10N.ACTION_CONFIRM,\n successL10N: L10N.NOTIFICATION_EDIT_BOARD_SUCCESS,\n titleL10N: L10N.ACTION_EDIT_BOARD,\n getFormProps: ({ responseBoard }) => ({ responseBoard }),\n request: ({ form, id }) => ServiceBooking.modification.board.confirm({ id, ...form }),\n },\n [EDIT_OCCUPATION_CONFIRM]: {\n Form: FormEditOccupation,\n backAction: EDIT_OCCUPATION,\n className: style.modalConfirmDialog,\n editLayout: true,\n fit: true,\n submitL10N: L10N.ACTION_CONFIRM,\n successL10N: L10N.NOTIFICATION_EDIT_OCCUPATION_SUCCESS,\n titleL10N: L10N.ACTION_EDIT_OCCUPATION,\n getFormProps: ({ responseOccupation }) => ({ responseOccupation }),\n request: ({ form, id }) => ServiceBooking.modification.occupation.confirm({ id, ...form }),\n },\n [RESEND]: {\n Form: FormResend,\n disableSubmitOnError: true,\n editLayout: false,\n fit: false,\n submitL10N: L10N.ACTION_SEND,\n successL10N: L10N.NOTIFICATION_EMAIL_SUCCESS,\n titleL10N: L10N.ACTION_RESEND_BOOKING,\n request: ({ form, id, idHotel, pinCode, token }) => ServiceBooking.email({ id, idHotel, pinCode, token, ...form }),\n },\n};\n\nconst getModalActionConfig = (action) => ACTION_CONFIG[ACTION_VALUES.includes(action) ? action : DEFAULT_ACTION];\n\nexport { getModalActionConfig };\n"],"mappings":"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","ignoreList":[]}
@@ -6,18 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Modal = void 0;
7
7
  var _dataSources = require("@mirai/data-sources");
8
8
  var _locale = require("@mirai/locale");
9
- var _services = require("@mirai/services");
10
9
  var _ui = require("@mirai/ui");
11
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
11
  var _react = _interopRequireWildcard(require("react"));
13
- var _Booking = require("./Booking.FormCancel");
14
- var _Booking2 = require("./Booking.FormEdit");
15
- var _Booking3 = require("./Booking.FormEditDate");
16
- var _Booking4 = require("./Booking.FormResend");
12
+ var _BookingModal = require("./Booking.Modal.actions");
17
13
  var _Core = require("../../../Core.constants");
18
14
  var _helpers = require("../../helpers");
19
- var _Booking5 = require("../Booking.constants");
20
- var _Booking6 = require("../Booking.l10n");
15
+ var _Booking = require("../Booking.constants");
16
+ var _Booking2 = require("../Booking.l10n");
21
17
  var style = _interopRequireWildcard(require("../Booking.module.css"));
22
18
  const _excluded = ["id", "pinCode", "token"],
23
19
  _excluded2 = ["action", "dataSource", "onChange", "onClose"];
@@ -31,13 +27,9 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
31
27
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
32
28
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
33
29
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
34
- const {
35
- CANCEL,
36
- EDIT,
37
- EDIT_DATE,
38
- RESEND
39
- } = _Booking5.ACTION;
30
+ const ACTION_VALUES = Object.values(_Booking.ACTION);
40
31
  const Modal = _ref => {
32
+ var _config$getFormProps;
41
33
  let {
42
34
  action,
43
35
  dataSource: {
@@ -64,97 +56,92 @@ const Modal = _ref => {
64
56
  const [error, setError] = (0, _react.useState)();
65
57
  const [form, setForm] = (0, _react.useState)({});
66
58
  const [visible, setVisible] = (0, _react.useState)(false);
59
+ const config = (0, _BookingModal.getModalActionConfig)(action);
67
60
  (0, _react.useEffect)(() => {
68
61
  if (action) return setVisible(true);
69
62
  setForm({});
70
63
  }, [action]);
71
- const handleChange = next => {
72
- setForm(_objectSpread(_objectSpread({}, form), next));
73
- };
64
+ const handleChange = (0, _react.useCallback)(next => {
65
+ setForm(previous => _objectSpread(_objectSpread({}, previous), next));
66
+ }, []);
74
67
  const handleError = error => {
75
68
  setError(error);
76
69
  };
77
70
  const handleSubmit = async () => {
78
71
  setBusy(true);
79
- const service = is.editDate ? _services.ServiceBooking.modification.date.confirm : _services.ServiceBooking[is.cancel ? 'cancel' : is.edit ? 'postpone' : 'email'];
80
- const props = _objectSpread({
72
+ const response = await config.request({
73
+ form,
81
74
  id,
82
75
  idHotel,
83
76
  pinCode,
84
77
  token
85
- }, form);
86
- const response = await service(props).catch(error => {
87
- const isWarning = (error === null || error === void 0 ? void 0 : error.code) === 404 && is.editDate;
78
+ }).catch(error => {
79
+ const isWarning = (error === null || error === void 0 ? void 0 : error.code) === 404 && config.warningOn404;
88
80
  _dataSources.Event.publish(_helpers.EVENT.NOTIFICATION, {
89
81
  error: !isWarning,
90
82
  warning: isWarning,
91
- defaultMessage: translate(isWarning ? _Booking6.L10N.NOTIFICATION_WARNING_NO_AVAILABILITY : _Booking6.L10N.NOTIFICATION_ERROR[_Core.ERROR.UNKNOWN], {
92
- checkIn: (0, _locale.dateFormat)((0, _locale.parseDate)(form === null || form === void 0 ? void 0 : form.checkIn), _Booking5.FORMAT_DATE),
93
- checkOut: (0, _locale.dateFormat)((0, _locale.parseDate)(form === null || form === void 0 ? void 0 : form.checkOut), _Booking5.FORMAT_DATE)
83
+ defaultMessage: translate(isWarning ? _Booking2.L10N.NOTIFICATION_WARNING_NO_AVAILABILITY : _Booking2.L10N.NOTIFICATION_ERROR[_Core.ERROR.UNKNOWN], {
84
+ checkIn: (0, _locale.dateFormat)((0, _locale.parseDate)(form === null || form === void 0 ? void 0 : form.checkIn), _Booking.FORMAT_DATE),
85
+ checkOut: (0, _locale.dateFormat)((0, _locale.parseDate)(form === null || form === void 0 ? void 0 : form.checkOut), _Booking.FORMAT_DATE)
94
86
  })
95
87
  });
96
88
  });
97
89
  setBusy(false);
98
- if (response) {
99
- _dataSources.Event.publish(_helpers.EVENT.NOTIFICATION, _objectSpread({
100
- success: true
101
- }, is.cancel ? _Booking6.L10N.NOTIFICATION_CANCEL_BOOKING_SUCESS : is.edit ? _Booking6.L10N.NOTIFICATION_EDIT_BOOKING_SUCCESS : is.editDate ? _Booking6.L10N.NOTIFICATION_EDIT_DATE_SUCCESS : _Booking6.L10N.NOTIFICATION_EMAIL_SUCCESS));
102
- }
90
+ if (!response) return;
91
+ _dataSources.Event.publish(_helpers.EVENT.NOTIFICATION, _objectSpread({
92
+ success: true
93
+ }, config.successL10N));
103
94
  handleClose();
104
95
  onChange({
105
96
  response,
106
- state: is.cancel ? _Booking5.STATE.CANCELLED : is.edit ? _Booking5.STATE.POSTPONED : undefined
97
+ state: config.state
107
98
  });
108
99
  };
109
- const handleClose = showCalendar => {
100
+ const handleClose = nextAction => {
110
101
  const {
111
102
  motionExpand = '0.3s'
112
103
  } = _ui.Theme.get();
104
+ const action = ACTION_VALUES.includes(nextAction) ? nextAction : undefined;
113
105
  setVisible(false);
114
- setTimeout(() => onClose(showCalendar === true ? _Booking5.ACTION.SHOW_CALENDAR : undefined), parseFloat(motionExpand.replace('s')) * 1000);
115
- };
116
- const is = {
117
- cancel: action === CANCEL,
118
- edit: action === EDIT,
119
- editDate: action === EDIT_DATE,
120
- resend: action === RESEND
106
+ setTimeout(() => onClose(action), parseFloat(motionExpand.replace('s')) * 1000);
121
107
  };
122
108
  return /*#__PURE__*/_react.default.createElement(_ui.Modal, _extends({}, others, {
123
- fit: is.editDate,
124
- title: translate(is.cancel ? _Booking6.L10N.ACTION_CANCEL_BOOKING : is.edit ? _Booking6.L10N.ACTION_EDIT_BOOKING : is.editDate ? _Booking6.L10N.ACTION_EDIT_DATE : _Booking6.L10N.ACTION_RESEND_BOOKING),
109
+ fit: config.fit,
125
110
  preventDefault: false,
111
+ title: translate(config.titleL10N),
126
112
  visible: visible,
127
- onClose: handleClose
113
+ onClose: handleClose,
114
+ className: (0, _ui.styles)(config.className, others.className)
128
115
  }), /*#__PURE__*/_react.default.createElement(_ui.View, {
129
- className: (0, _ui.styles)(style.modal, is.editDate && style.edit)
130
- }, /*#__PURE__*/_react.default.createElement(is.cancel ? _Booking.FormCancel : is.edit ? _Booking2.FormEdit : is.editDate ? _Booking3.FormEditDate : _Booking4.FormResend, {
116
+ className: (0, _ui.styles)(style.modal, config.editLayout && style.edit)
117
+ }, /*#__PURE__*/_react.default.createElement(config.Form, _objectSpread(_objectSpread({
131
118
  dataSource,
132
- form,
133
- responseCalendar: others.responseCalendar,
119
+ form
120
+ }, (_config$getFormProps = config.getFormProps) === null || _config$getFormProps === void 0 ? void 0 : _config$getFormProps.call(config, others)), {}, {
134
121
  onChange: handleChange,
135
122
  onError: handleError
136
- }), /*#__PURE__*/_react.default.createElement(_ui.View, {
123
+ })), /*#__PURE__*/_react.default.createElement(_ui.View, {
137
124
  row: true,
138
- className: (0, _ui.styles)(style.buttons, is.editDate && style.edit)
125
+ className: (0, _ui.styles)(style.buttons, config.editLayout && style.edit)
139
126
  }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
140
127
  large: true,
141
128
  secondary: true,
142
129
  wide: true,
143
- onPress: () => handleClose(is.editDate),
130
+ onPress: () => handleClose(config.backAction),
144
131
  testId: "cancel-button"
145
- }, translate(_Booking6.L10N.ACTION_BACK)), /*#__PURE__*/_react.default.createElement(_ui.Button, {
132
+ }, translate(_Booking2.L10N.ACTION_BACK)), /*#__PURE__*/_react.default.createElement(_ui.Button, {
146
133
  busy: busy,
147
- disabled: is.resend && !!error,
134
+ disabled: config.disableSubmitOnError && !!error,
148
135
  large: true,
149
136
  wide: true,
150
137
  onPress: handleSubmit,
151
138
  testId: "submit-button"
152
- }, is.cancel ? translate(_Booking6.L10N.ACTION_CANCEL) : is.edit ? translate(_Booking6.L10N.ACTION_POSTPONE) : is.editDate ? translate(_Booking6.L10N.ACTION_CONFIRM) : translate(_Booking6.L10N.ACTION_SEND)))));
139
+ }, translate(config.submitL10N)))));
153
140
  };
154
141
  exports.Modal = Modal;
155
142
  Modal.displayName = 'Mirai:Core:Booking:Modal';
156
143
  Modal.propTypes = {
157
- action: _propTypes.default.oneOf(Object.values(_Booking5.ACTION)),
144
+ action: _propTypes.default.oneOf(Object.values(_Booking.ACTION)),
158
145
  dataSource: _propTypes.default.shape({
159
146
  id: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
160
147
  pinCode: _propTypes.default.number,