versacall-core-library-react 2.0.70 → 2.0.72

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 (142) hide show
  1. package/dist/components/CoreAlert/CoreAlert.js +85 -0
  2. package/dist/components/CoreAlert/index.js +13 -0
  3. package/dist/components/CoreAlert/readme.md +21 -0
  4. package/dist/components/CoreAppBar/CoreAppBar.js +364 -0
  5. package/dist/components/CoreAppBar/CoreAppBarDrawer.js +134 -0
  6. package/dist/components/CoreAppBar/README.md +27 -0
  7. package/dist/components/CoreAppBar/index.js +13 -0
  8. package/dist/components/CoreAppBar/screenshot.png +0 -0
  9. package/dist/components/CoreAppSelector/AppLink.js +101 -0
  10. package/dist/components/CoreAppSelector/CoreAppSelector.js +155 -0
  11. package/dist/components/CoreAppSelector/index.js +13 -0
  12. package/dist/components/CoreDialogueToolBar/CoreDialogueToolBar.js +123 -0
  13. package/dist/components/CoreDialogueToolBar/index.js +13 -0
  14. package/dist/components/CoreDrawer/CoreDrawer.js +236 -0
  15. package/dist/components/CoreDrawer/README.md +36 -0
  16. package/dist/components/CoreDrawer/index.js +13 -0
  17. package/dist/components/CoreDrawer/screenshot_collapsed.png +0 -0
  18. package/dist/components/CoreDrawer/screenshot_expanded.png +0 -0
  19. package/dist/components/CoreDropDownTextfield/CoreDropDownTextfield.js +85 -0
  20. package/dist/components/CoreDropDownTextfield/index.js +13 -0
  21. package/dist/components/CoreElapsedTime/CoreElapsedTime.js +57 -0
  22. package/dist/components/CoreElapsedTime/index.js +13 -0
  23. package/dist/components/CoreFrame/CoreFrame.js +64 -0
  24. package/dist/components/CoreFrame/index.js +13 -0
  25. package/dist/components/CoreImportDialog/CoreImportDialog.js +350 -0
  26. package/dist/components/CoreImportDialog/index.js +13 -0
  27. package/dist/components/CoreImportResultsDialog/CoreImportResultsDialog.js +103 -0
  28. package/dist/components/CoreImportResultsDialog/index.js +13 -0
  29. package/dist/components/CoreImporting/CoreImporting.js +60 -0
  30. package/dist/components/CoreImporting/index.js +13 -0
  31. package/dist/components/CorePlugin/CorePlugin.js +134 -0
  32. package/dist/components/CorePlugin/OldCorePlugin.js +124 -0
  33. package/dist/components/CorePlugin/index.js +13 -0
  34. package/dist/components/CoreSaveChangesDialog/CoreSaveChangesDialog.js +62 -0
  35. package/dist/components/CoreSaveChangesDialog/index.js +13 -0
  36. package/dist/components/CoreShiftTagFilter/CoreShiftTagFilter.js +350 -0
  37. package/dist/components/CoreShiftTagFilter/OldCoreShiftTagFilter.js +208 -0
  38. package/dist/components/CoreShiftTagFilter/index.js +13 -0
  39. package/dist/components/CoreSideBar/CoreSideBar.js +737 -0
  40. package/dist/components/CoreSideBar/CoreSideBarDrawer.js +172 -0
  41. package/dist/components/CoreSideBar/index.js +13 -0
  42. package/dist/components/CoreSnackBar/CoreSnackBar.js +116 -0
  43. package/dist/components/CoreSnackBar/index.js +13 -0
  44. package/dist/components/CoreSnackBar/readme.md +23 -0
  45. package/dist/components/CoreTable/CoreTable.js +315 -0
  46. package/dist/components/CoreTable/CoreTableChips.js +50 -0
  47. package/dist/components/CoreTable/CoreTableHead.js +175 -0
  48. package/dist/components/CoreTable/CoreTableToolbar.js +108 -0
  49. package/dist/components/CoreTable/index.js +13 -0
  50. package/dist/components/CoreTable/readMe.md +79 -0
  51. package/dist/components/CoreTagFilter/CoreTagFilter.js +275 -0
  52. package/dist/components/CoreTagFilter/OldCoreTagFilter.js +341 -0
  53. package/dist/components/CoreTagFilter/OldTagChip.js +44 -0
  54. package/dist/components/CoreTagFilter/OldTagFilterSelector.js +105 -0
  55. package/dist/components/CoreTagFilter/OldTagOption.js +53 -0
  56. package/dist/components/CoreTagFilter/TagFilterBuilder.js +487 -0
  57. package/dist/components/CoreTagFilter/index.js +13 -0
  58. package/dist/components/CoreTextField/CoreTextField.js +109 -0
  59. package/dist/components/CoreTextField/index.js +13 -0
  60. package/dist/components/CoreTheme/CoreTheme.css +9 -0
  61. package/dist/components/CoreTheme/CoreTheme.js +51 -0
  62. package/dist/components/CoreTheme/README.md +3 -0
  63. package/dist/components/CoreTheme/index.js +13 -0
  64. package/dist/components/CoreTile/CoreTile.js +62 -0
  65. package/dist/components/CoreTile/CoreTileToolbar.js +62 -0
  66. package/dist/components/CoreTile/index.js +13 -0
  67. package/dist/components/CoreTimerInput/CoreTimerInput.js +203 -0
  68. package/dist/components/CoreTimerInput/CoreTimerInputOld.js +146 -0
  69. package/dist/components/CoreTimerInput/index.js +13 -0
  70. package/dist/components/CoreToolbar/CoreToolbar.js +205 -0
  71. package/dist/components/CoreToolbar/index.js +13 -0
  72. package/dist/components/CoreTracker/CoreTracker.js +52 -0
  73. package/dist/components/CoreTracker/index.js +13 -0
  74. package/dist/components/CoreTranslate/CoreTranslate.js +62 -0
  75. package/dist/components/CoreTranslate/README.md +5 -0
  76. package/dist/components/CoreTranslate/index.js +13 -0
  77. package/dist/components/CoreTranslate/translations/en.json +451 -0
  78. package/dist/components/CoreTranslate/translations/es.json +433 -0
  79. package/dist/components/CoreTranslateWrapper/CoreTranslateWrapper.js +36 -0
  80. package/dist/components/CoreTranslateWrapper/index.js +13 -0
  81. package/dist/components/CoreWidget/CoreWidget.js +120 -0
  82. package/dist/components/CoreWidget/index.js +13 -0
  83. package/dist/components/CoreWrapper/CoreWrapper.js +51 -0
  84. package/dist/components/CoreWrapper/README.md +41 -0
  85. package/dist/components/CoreWrapper/index.js +13 -0
  86. package/dist/components/index.js +202 -0
  87. package/dist/constants/index.js +20 -0
  88. package/dist/constants/testOrganization.js +31 -0
  89. package/dist/constants/testToken.js +33 -0
  90. package/dist/context/Authentication/AuthenticationContext.js +10 -0
  91. package/dist/context/Authentication/AuthenticationProvider.js +225 -0
  92. package/dist/context/Authentication/README.md +47 -0
  93. package/dist/context/Authentication/index.js +27 -0
  94. package/dist/context/Authentication/withAuthentication.js +15 -0
  95. package/dist/context/Channels/ChannelsConsumer.js +42 -0
  96. package/dist/context/Channels/ChannelsContext.js +10 -0
  97. package/dist/context/Channels/ChannelsProvider.js +258 -0
  98. package/dist/context/Channels/DataChannel.js +68 -0
  99. package/dist/context/Channels/EntityChannel.js +69 -0
  100. package/dist/context/Channels/EveryoneChannel.js +55 -0
  101. package/dist/context/Channels/OrganizationChannel.js +69 -0
  102. package/dist/context/Channels/README.md +52 -0
  103. package/dist/context/Channels/UserChannel.js +60 -0
  104. package/dist/context/Channels/index.js +69 -0
  105. package/dist/context/Channels/withChannels.js +15 -0
  106. package/dist/context/Core/CoreContext.js +10 -0
  107. package/dist/context/Core/CoreProvider.js +107 -0
  108. package/dist/context/Core/README.md +43 -0
  109. package/dist/context/Core/index.js +27 -0
  110. package/dist/context/Core/withCore.js +15 -0
  111. package/dist/context/Organization/OrganizationContext.js +10 -0
  112. package/dist/context/Organization/OrganizationProvider.js +113 -0
  113. package/dist/context/Organization/README.md +82 -0
  114. package/dist/context/Organization/index.js +27 -0
  115. package/dist/context/Organization/withOrganization.js +15 -0
  116. package/dist/context/Plugin/PluginContext.js +10 -0
  117. package/dist/context/Plugin/PluginProvider.js +78 -0
  118. package/dist/context/Plugin/index.js +27 -0
  119. package/dist/context/Plugin/withPlugin.js +15 -0
  120. package/dist/context/index.js +60 -0
  121. package/dist/css/index.js +20 -0
  122. package/dist/css/junk.module.css +3 -0
  123. package/dist/css/scrollbar.css +35 -0
  124. package/dist/css/scrollbar.module.css +37 -0
  125. package/dist/functions/TagEvaluator.js +165 -0
  126. package/dist/functions/compareObjects.js +27 -0
  127. package/dist/functions/formatElapsedTime.js +18 -0
  128. package/dist/functions/formatNameFileSafe.js +16 -0
  129. package/dist/functions/getIconUrl.js +15 -0
  130. package/dist/functions/getParameterByName.js +34 -0
  131. package/dist/functions/getProperty.js +17 -0
  132. package/dist/functions/getUrl.js +15 -0
  133. package/dist/functions/index.js +62 -0
  134. package/dist/icons/CopyIcon.js +42 -0
  135. package/dist/icons/DeleteIcon.js +42 -0
  136. package/dist/icons/DuplicateIcon.js +42 -0
  137. package/dist/icons/EditIcon.js +42 -0
  138. package/dist/icons/FabAddIcon.js +78 -0
  139. package/dist/icons/PasteIcon.js +42 -0
  140. package/dist/icons/index.js +48 -0
  141. package/dist/index.js +71 -0
  142. package/package.json +2 -2
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _CoreDrawer.default;
10
+ }
11
+ });
12
+ var _CoreDrawer = _interopRequireDefault(require("./CoreDrawer"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _ArrowDropDown = _interopRequireDefault(require("@material-ui/icons/ArrowDropDown"));
10
+ var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
11
+ var _InputAdornment = _interopRequireDefault(require("@material-ui/core/InputAdornment"));
12
+ var _Menu = _interopRequireDefault(require("@material-ui/core/Menu"));
13
+ var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
14
+ var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
15
+ var _reactIntl = require("react-intl");
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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
+ class CoreDropDownTextField extends _react.Component {
19
+ constructor(props) {
20
+ super(props);
21
+ this.state = {
22
+ anchorEl: null
23
+ };
24
+ }
25
+ handleMenu(target) {
26
+ this.setState({
27
+ anchorEl: target
28
+ });
29
+ }
30
+ render() {
31
+ const {
32
+ anchorEl
33
+ } = this.state;
34
+ const {
35
+ intl,
36
+ options,
37
+ handleSelect,
38
+ handleInput,
39
+ value,
40
+ label,
41
+ multiline
42
+ } = this.props;
43
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_TextField.default, {
44
+ label: intl.formatMessage({
45
+ id: label
46
+ }),
47
+ value: value,
48
+ onChange: event => handleInput(event.target.value),
49
+ margin: "normal",
50
+ variant: "outlined",
51
+ multiline: multiline,
52
+ InputProps: {
53
+ endAdornment: /*#__PURE__*/_react.default.createElement(_InputAdornment.default, {
54
+ position: "end"
55
+ }, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
56
+ "aria-label": "showVariables",
57
+ onClick: e => this.handleMenu(e.currentTarget)
58
+ }, /*#__PURE__*/_react.default.createElement(_ArrowDropDown.default, null)))
59
+ }
60
+ }), /*#__PURE__*/_react.default.createElement(_Menu.default, {
61
+ id: "VariableMenu",
62
+ anchorEl: anchorEl,
63
+ open: Boolean(anchorEl),
64
+ onClose: () => this.handleMenu(null)
65
+ }, options.map((option, index) => /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
66
+ key: index,
67
+ onClick: () => {
68
+ handleSelect(option);
69
+ this.handleMenu(null);
70
+ }
71
+ }, option))));
72
+ }
73
+ }
74
+ CoreDropDownTextField.propTypes = {
75
+ handleInput: _propTypes.default.func.isRequired,
76
+ handleSelect: _propTypes.default.func.isRequired,
77
+ label: _propTypes.default.string.isRequired,
78
+ value: _propTypes.default.string.isRequired,
79
+ options: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
80
+ multiline: _propTypes.default.bool
81
+ };
82
+ CoreDropDownTextField.defaultProps = {
83
+ multiline: false
84
+ };
85
+ var _default = exports.default = (0, _reactIntl.injectIntl)(CoreDropDownTextField);
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _CoreDropDownTextfield.default;
10
+ }
11
+ });
12
+ var _CoreDropDownTextfield = _interopRequireDefault(require("./CoreDropDownTextfield"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _functions = require("../../functions");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ 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); }
12
+ class CoreElapsedTime extends _react.Component {
13
+ constructor(props) {
14
+ super(props);
15
+ this.state = {
16
+ initialTime: new Date(),
17
+ elapsedTime: (0, _functions.formatElapsedTime)(props.value)
18
+ };
19
+ }
20
+ componentDidMount() {
21
+ this.refresh();
22
+ }
23
+ componentDidUpdate(prevProps) {
24
+ if (prevProps.value !== this.props.value) {
25
+ this.resetInitialTime();
26
+ }
27
+ }
28
+ componentWillUnmount() {
29
+ clearTimeout(this.timeout);
30
+ }
31
+ resetInitialTime() {
32
+ this.setState({
33
+ initialTime: new Date()
34
+ });
35
+ }
36
+ refresh() {
37
+ this.timeout = setTimeout(() => {
38
+ this.setState(prevState => ({
39
+ elapsedTime: (0, _functions.formatElapsedTime)(this.props.value + Math.floor((new Date() - prevState.initialTime) / 1000))
40
+ }));
41
+ this.refresh();
42
+ }, 1000);
43
+ }
44
+ render() {
45
+ const {
46
+ elapsedTime
47
+ } = this.state;
48
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, elapsedTime);
49
+ }
50
+ }
51
+ CoreElapsedTime.propTypes = {
52
+ value: _propTypes.default.number
53
+ };
54
+ CoreElapsedTime.defaultProps = {
55
+ value: 0
56
+ };
57
+ var _default = exports.default = CoreElapsedTime;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _CoreElapsedTime.default;
10
+ }
11
+ });
12
+ var _CoreElapsedTime = _interopRequireDefault(require("./CoreElapsedTime"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _CircularProgress = _interopRequireDefault(require("@material-ui/core/CircularProgress"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _Organization = require("../../context/Organization");
11
+ var _Core = require("../../context/Core");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ 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; }
14
+ 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; }
15
+ 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; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
17
+ 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); }
18
+ const style = {
19
+ CoreFrame: {
20
+ position: 'relative',
21
+ width: '100%',
22
+ height: '100%',
23
+ padding: 0,
24
+ margin: 0
25
+ },
26
+ progress: {
27
+ display: 'flex',
28
+ alignItems: 'center',
29
+ justifyContent: 'center'
30
+ }
31
+ };
32
+ function CoreFrame(props) {
33
+ const {
34
+ match,
35
+ sandbox,
36
+ core,
37
+ organization,
38
+ version
39
+ } = props;
40
+ const versionParam = version ? "&version=".concat(encodeURI(version)) : '';
41
+ // console.log(match);
42
+ return match.params.app ? /*#__PURE__*/_react.default.createElement("iframe", {
43
+ frameBorder: "0",
44
+ title: "component",
45
+ sandbox: sandbox || null,
46
+ style: style.CoreFrame,
47
+ src: "".concat(core.baseUrl, "/").concat(match.params.app, "?organization=").concat(JSON.stringify(organization)).concat(versionParam)
48
+ }) : /*#__PURE__*/_react.default.createElement("div", {
49
+ style: _objectSpread(_objectSpread({}, style.CoreFrame), style.progress)
50
+ }, /*#__PURE__*/_react.default.createElement(_CircularProgress.default, null));
51
+ }
52
+ CoreFrame.propTypes = {
53
+ match: _propTypes.default.shape({
54
+ params: _propTypes.default.object
55
+ }).isRequired,
56
+ sandbox: _propTypes.default.string.isRequired,
57
+ core: _propTypes.default.shape().isRequired,
58
+ organization: _propTypes.default.shape().isRequired,
59
+ version: _propTypes.default.string
60
+ };
61
+ CoreFrame.defaultProps = {
62
+ version: null
63
+ };
64
+ var _default = exports.default = (0, _Core.withCore)((0, _Organization.withOrganization)(CoreFrame));
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _CoreFrame.default;
10
+ }
11
+ });
12
+ var _CoreFrame = _interopRequireDefault(require("./CoreFrame"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,350 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
10
+ var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
11
+ var _DialogActions = _interopRequireDefault(require("@material-ui/core/DialogActions"));
12
+ var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent"));
13
+ var _DialogTitle = _interopRequireDefault(require("@material-ui/core/DialogTitle"));
14
+ var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
15
+ var _Radio = _interopRequireDefault(require("@material-ui/core/Radio"));
16
+ var _RadioGroup = _interopRequireDefault(require("@material-ui/core/RadioGroup"));
17
+ var _Slide = _interopRequireDefault(require("@material-ui/core/Slide"));
18
+ var _Tooltip = _interopRequireDefault(require("@material-ui/core/Tooltip"));
19
+ var _ChangeHistory = _interopRequireDefault(require("@material-ui/icons/ChangeHistory"));
20
+ var _ArrowUpward = _interopRequireDefault(require("@material-ui/icons/ArrowUpward"));
21
+ var _ArrowDownward = _interopRequireDefault(require("@material-ui/icons/ArrowDownward"));
22
+ var _styles = require("@material-ui/core/styles");
23
+ var _reactIntl = require("react-intl");
24
+ var _CoreTable = _interopRequireDefault(require("../CoreTable"));
25
+ var _css = require("../../css");
26
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
27
+ 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); }
28
+ 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; }
29
+ 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; }
30
+ 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; }
31
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
32
+ 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); }
33
+ 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); } // import DialogContentText from '@material-ui/core/DialogContentText';
34
+ function Transition(props) {
35
+ return /*#__PURE__*/_react.default.createElement(_Slide.default, _extends({
36
+ direction: "up"
37
+ }, props));
38
+ }
39
+ function buildActionMap(items) {
40
+ const actionMap = new Map();
41
+ items.forEach(item => {
42
+ let action = 'ignore';
43
+ if (item.existing) {
44
+ if (item.existing.version && item.import.version) {
45
+ if (item.import.version > item.existing.version) {
46
+ action = 'update';
47
+ }
48
+ }
49
+ } else {
50
+ action = 'add';
51
+ }
52
+ actionMap.set(item.id, action);
53
+ });
54
+ // console.log('actionMap.size', actionMap.size);
55
+ return actionMap;
56
+ }
57
+ const styles = () => ({
58
+ scrollViewer: {
59
+ maxHeight: 'calc(100vh - 100px)'
60
+ }
61
+ });
62
+ function CoreImportDialog(props) {
63
+ const {
64
+ classes,
65
+ intl,
66
+ items,
67
+ nameProperty
68
+ } = props;
69
+ // https://medium.com/swlh/using-es6-map-with-react-state-hooks-800b91eedd5f
70
+ const [actionMap, setActionMap] = (0, _react.useState)(buildActionMap(items));
71
+ const handleRadioChange = e => {
72
+ // console.log(`name: ${e.target.name}, value: ${e.target.value}`);
73
+ // const newActionMap = { ...actionMap };
74
+ // newActionMap.set(e.target.name, e.target.value);
75
+ // setActionMap(newActionMap);
76
+ setActionMap(new Map(actionMap.set(e.target.name, e.target.value)));
77
+ };
78
+ const customCellName = _ref => {
79
+ let {
80
+ row
81
+ } = _ref;
82
+ const nameChange = row.existing && row.existing[nameProperty] !== row.import[nameProperty];
83
+ return /*#__PURE__*/_react.default.createElement("div", {
84
+ style: {
85
+ display: 'flex',
86
+ alignItems: 'center'
87
+ }
88
+ }, row.import[nameProperty], nameChange && /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
89
+ style: {
90
+ marginLeft: 10
91
+ },
92
+ title: row.existing[nameProperty]
93
+ }, /*#__PURE__*/_react.default.createElement(_ChangeHistory.default, {
94
+ color: "error"
95
+ })));
96
+ };
97
+
98
+ /* const customCellVersionChange = ({ row }) => {
99
+ if (row.import.version) {
100
+ if (row.existing && row.existing.version) {
101
+ if (row.existing.version === row.import.version) {
102
+ return (
103
+ <Tooltip title={`v${row.import.version}`}>
104
+ <span>None</span>
105
+ </Tooltip>
106
+ );
107
+ } else if (row.existing.version > row.import.version) {
108
+ return (
109
+ <Tooltip title={`v${row.existing.version} -> v${row.import.version}`}>
110
+ <TrendingDownIcon color="error" />
111
+ </Tooltip>
112
+ );
113
+ } else if (row.existing.version < row.import.version) {
114
+ return (
115
+ <Tooltip title={`v${row.existing.version} -> v${row.import.version}`}>
116
+ <TrendingUpIcon color="primary" />
117
+ </Tooltip>
118
+ );
119
+ }
120
+ } else {
121
+ return (
122
+ <Tooltip title={`v${row.import.version}`}>
123
+ <span>New</span>
124
+ </Tooltip>
125
+ );
126
+ }
127
+ }
128
+ return 'N/A';
129
+ }; */
130
+
131
+ const customCellDifferent = _ref2 => {
132
+ let {
133
+ row
134
+ } = _ref2;
135
+ if (row.existing) {
136
+ let newerVersion = false;
137
+ let olderVersion = false;
138
+ if (row.existing.version && row.import.version) {
139
+ newerVersion = row.import.version > row.existing.version;
140
+ olderVersion = row.existing.version > row.import.version;
141
+ }
142
+ return /*#__PURE__*/_react.default.createElement("div", {
143
+ style: {
144
+ display: 'flex',
145
+ alignItems: 'center'
146
+ }
147
+ }, row.different !== null && /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
148
+ id: row.different ? '__yes' : '__no'
149
+ }), newerVersion && /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
150
+ title: "v".concat(row.existing.version, " -> v").concat(row.import.version),
151
+ style: {
152
+ marginLeft: 10
153
+ }
154
+ }, /*#__PURE__*/_react.default.createElement(_ArrowUpward.default, {
155
+ color: "primary"
156
+ })), olderVersion && /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
157
+ title: "v".concat(row.existing.version, " -> v").concat(row.import.version),
158
+ style: {
159
+ marginLeft: 10
160
+ }
161
+ }, /*#__PURE__*/_react.default.createElement(_ArrowDownward.default, {
162
+ color: "error"
163
+ })));
164
+ }
165
+ return /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
166
+ title: "v".concat(row.import.version)
167
+ }, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
168
+ id: "__new"
169
+ }));
170
+ };
171
+ const customCellAction = _ref3 => {
172
+ let {
173
+ row
174
+ } = _ref3;
175
+ const action = actionMap && actionMap.has(row.id) ? actionMap.get(row.id) : 'ignore';
176
+ if (row.existing) {
177
+ return /*#__PURE__*/_react.default.createElement("div", {
178
+ style: {
179
+ whiteSpace: 'nowrap'
180
+ }
181
+ }, /*#__PURE__*/_react.default.createElement(_RadioGroup.default, {
182
+ row: true,
183
+ name: row.import.id,
184
+ value: action,
185
+ onChange: handleRadioChange,
186
+ style: {
187
+ justifyContent: 'flex-end'
188
+ }
189
+ }, /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
190
+ value: "update",
191
+ control: /*#__PURE__*/_react.default.createElement(_Radio.default, null),
192
+ label: intl.formatMessage({
193
+ id: '__update'
194
+ })
195
+ }), /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
196
+ value: "duplicate",
197
+ control: /*#__PURE__*/_react.default.createElement(_Radio.default, null),
198
+ label: intl.formatMessage({
199
+ id: '__duplicate'
200
+ })
201
+ }), /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
202
+ value: "ignore",
203
+ control: /*#__PURE__*/_react.default.createElement(_Radio.default, null),
204
+ label: intl.formatMessage({
205
+ id: '__ignore'
206
+ })
207
+ })));
208
+ }
209
+ return /*#__PURE__*/_react.default.createElement("div", {
210
+ style: {
211
+ whiteSpace: 'nowrap'
212
+ }
213
+ }, /*#__PURE__*/_react.default.createElement(_RadioGroup.default, {
214
+ row: true,
215
+ name: row.import.id,
216
+ value: action,
217
+ onChange: handleRadioChange,
218
+ style: {
219
+ justifyContent: 'flex-end'
220
+ }
221
+ }, /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
222
+ value: "add",
223
+ control: /*#__PURE__*/_react.default.createElement(_Radio.default, null),
224
+ label: intl.formatMessage({
225
+ id: '__add'
226
+ })
227
+ }), /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
228
+ value: "ignore",
229
+ control: /*#__PURE__*/_react.default.createElement(_Radio.default, null),
230
+ label: intl.formatMessage({
231
+ id: '__ignore'
232
+ })
233
+ })));
234
+ };
235
+ const handleSubmit = () => {
236
+ // const methodName = 'handleSubmit';
237
+ const addList = [];
238
+ const updateList = [];
239
+ /* eslint-disable-next-line no-restricted-syntax */
240
+ for (const [key, value] of actionMap) {
241
+ if (value !== 'ignore') {
242
+ const importObject = items.find(x => x.id === key);
243
+ if (importObject) {
244
+ switch (value) {
245
+ case 'add':
246
+ addList.push(importObject.import);
247
+ break;
248
+ case 'update':
249
+ updateList.push(importObject.import);
250
+ break;
251
+ case 'duplicate':
252
+ {
253
+ const clonedObject = _objectSpread({}, importObject.import);
254
+ delete clonedObject.id;
255
+ addList.push(clonedObject);
256
+ break;
257
+ }
258
+ default:
259
+ break;
260
+ }
261
+ } else {
262
+ // NOTE: This is an issue, can't find what was referenced, shouldn't happen
263
+ }
264
+ }
265
+ }
266
+ props.onImport(addList, updateList);
267
+ };
268
+ const columns = [
269
+ // { id: 'id', label: 'Id' },
270
+ {
271
+ id: 'name',
272
+ label: intl.formatMessage({
273
+ id: '__name'
274
+ }),
275
+ customCell: cc => customCellName(cc)
276
+ }, {
277
+ id: 'different',
278
+ label: intl.formatMessage({
279
+ id: '__different'
280
+ }),
281
+ customCell: cc => customCellDifferent(cc)
282
+ }, {
283
+ id: 'actions',
284
+ style: {
285
+ textAlign: 'right'
286
+ },
287
+ customCell: cc => customCellAction(cc)
288
+ }];
289
+
290
+ /* {items.map(item => (
291
+ <DialogContentText key={item.id}>
292
+ {`${item.importName} (v${item.existingVersion} to v${item.importVersion})`}
293
+ </DialogContentText>
294
+ ))} */
295
+
296
+ let importCount = 0;
297
+ const iterator1 = actionMap.values();
298
+ // NOTE: Not sure how to do this more efficiently...
299
+ /* eslint-disable-next-line no-restricted-syntax */
300
+ for (const value of iterator1) {
301
+ if (value !== 'ignore') {
302
+ importCount++;
303
+ }
304
+ }
305
+ return /*#__PURE__*/_react.default.createElement(_Dialog.default, {
306
+ open: true,
307
+ TransitionComponent: Transition,
308
+ keepMounted: true,
309
+ maxWidth: "lg",
310
+ fullWidth: true,
311
+ onClose: props.onClose
312
+ }, /*#__PURE__*/_react.default.createElement(_DialogTitle.default, null, "".concat(intl.formatMessage({
313
+ id: '__import'
314
+ }), " (").concat(items.length, ")")), /*#__PURE__*/_react.default.createElement(_DialogContent.default, {
315
+ className: "".concat(classes.scrollViewer, " ").concat(_css.ScrollbarStyles.scroll)
316
+ }, /*#__PURE__*/_react.default.createElement(_CoreTable.default, {
317
+ id: "id",
318
+ columns: columns,
319
+ data: items,
320
+ hover: false
321
+ })), /*#__PURE__*/_react.default.createElement(_DialogActions.default, null, /*#__PURE__*/_react.default.createElement(_Button.default, {
322
+ color: "primary",
323
+ disabled: importCount === 0,
324
+ onClick: () => handleSubmit()
325
+ }, "".concat(intl.formatMessage({
326
+ id: '__import'
327
+ }), " (").concat(importCount, ")")), /*#__PURE__*/_react.default.createElement(_Button.default, {
328
+ color: "primary",
329
+ onClick: props.onClose
330
+ }, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
331
+ id: "__cancel"
332
+ }))));
333
+ }
334
+ CoreImportDialog.propTypes = {
335
+ classes: _propTypes.default.shape().isRequired,
336
+ intl: _propTypes.default.shape().isRequired,
337
+ items: _propTypes.default.arrayOf(_propTypes.default.shape),
338
+ onClose: _propTypes.default.func.isRequired,
339
+ onImport: _propTypes.default.func.isRequired,
340
+ nameProperty: _propTypes.default.string
341
+ // showDifferent: PropTypes.bool,
342
+ // showVersionChange: PropTypes.bool,
343
+ };
344
+ CoreImportDialog.defaultProps = {
345
+ items: [],
346
+ nameProperty: 'name'
347
+ // showDifferent: true,
348
+ // showVersionChange: true,
349
+ };
350
+ var _default = exports.default = (0, _reactIntl.injectIntl)((0, _styles.withStyles)(styles)(CoreImportDialog));
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _CoreImportDialog.default;
10
+ }
11
+ });
12
+ var _CoreImportDialog = _interopRequireDefault(require("./CoreImportDialog"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }