versacall-core-library-react 2.0.70 → 2.0.71

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 +108 -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,172 @@
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 _ListItemIcon = _interopRequireDefault(require("@material-ui/core/ListItemIcon"));
9
+ var _ListItemText = _interopRequireDefault(require("@material-ui/core/ListItemText"));
10
+ var _reactIntl = require("react-intl");
11
+ var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"));
12
+ var _ExpandLess = _interopRequireDefault(require("@material-ui/icons/ExpandLess"));
13
+ var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
14
+ var _ListItem = _interopRequireDefault(require("@material-ui/core/ListItem"));
15
+ var _Collapse = _interopRequireDefault(require("@material-ui/core/Collapse"));
16
+ var _Drawer = _interopRequireDefault(require("@material-ui/core/Drawer"));
17
+ var _List = _interopRequireDefault(require("@material-ui/core/List"));
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+ var _jsCookie = _interopRequireDefault(require("js-cookie"));
20
+ var _styles = require("@material-ui/core/styles");
21
+ var _functions = require("../../functions");
22
+ var _context = require("../../context");
23
+ var _scrollbarModule = _interopRequireDefault(require("../../css/scrollbar.module.css"));
24
+ require("../../css/scrollbar.css");
25
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
26
+ 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); }
27
+ const collapseCookie = 'vt4000_collapse';
28
+ const styles = () => ({
29
+ drawerPaper: {
30
+ backgroundColor: '#496b78',
31
+ color: '#ffffff'
32
+ },
33
+ listItemRoot: {
34
+ color: '#ffffff'
35
+ },
36
+ svgIcon: {
37
+ verticalAlign: 'middle',
38
+ height: 24,
39
+ width: 24,
40
+ filter: 'invert(1)'
41
+ }
42
+ });
43
+ const style = {
44
+ icon: {
45
+ margin: 5,
46
+ height: 32,
47
+ width: 32,
48
+ verticalAlign: 'middle'
49
+ },
50
+ a: {
51
+ textDecoration: 'none'
52
+ },
53
+ nested: {
54
+ paddingLeft: 42
55
+ }
56
+ };
57
+ class CoreSideBarDrawer extends _react.Component {
58
+ constructor() {
59
+ super();
60
+ const cookie = _jsCookie.default.getJSON(collapseCookie);
61
+ this.state = {
62
+ expanded: cookie !== undefined ? cookie : []
63
+ };
64
+ }
65
+ getTranslatedName(app) {
66
+ const translation = app.translations.find(x => x.languageCode === this.props.intl.locale);
67
+ return translation !== undefined ? translation.name : app.name;
68
+ }
69
+ handleClick(componentID) {
70
+ this.setState(prevState => {
71
+ let expanded = prevState.expanded;
72
+ if (expanded.includes(componentID)) {
73
+ expanded = expanded.filter(psExpanded => psExpanded !== componentID);
74
+ } else {
75
+ expanded.push(componentID);
76
+ }
77
+ _jsCookie.default.set(collapseCookie, expanded);
78
+ return {
79
+ expanded: expanded
80
+ };
81
+ });
82
+ }
83
+ render() {
84
+ const {
85
+ open,
86
+ apps,
87
+ core,
88
+ classes
89
+ } = this.props;
90
+ const {
91
+ expanded
92
+ } = this.state;
93
+ return /*#__PURE__*/_react.default.createElement(_Drawer.default, {
94
+ open: open,
95
+ classes: {
96
+ paper: "".concat(classes.drawerPaper, " ").concat(_scrollbarModule.default.scroll, " ").concat(_scrollbarModule.default.white)
97
+ },
98
+ onClose: () => this.props.onClose()
99
+ }, /*#__PURE__*/_react.default.createElement(_List.default, null, /*#__PURE__*/_react.default.createElement(_ListItem.default, null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
100
+ variant: "h5",
101
+ color: "inherit"
102
+ }, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
103
+ id: "__applications"
104
+ }))), /*#__PURE__*/_react.default.createElement("div", {
105
+ className: "versacall-scroll white"
106
+ }, apps.map(app => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
107
+ key: app.definition.componentID
108
+ }, app.children.length > 0 ? /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_ListItem.default, {
109
+ onClick: () => this.handleClick(app.definition.componentID),
110
+ button: true
111
+ }, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement("img", {
112
+ src: this.props.core.formatUrl((0, _functions.getIconUrl)(app.definition.metadata)),
113
+ className: classes.svgIcon,
114
+ style: style.icon,
115
+ alt: "algImg"
116
+ })), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
117
+ classes: {
118
+ primary: classes.listItemRoot
119
+ },
120
+ primary: this.getTranslatedName(app.definition)
121
+ }), expanded.includes(app.definition.componentID) ? /*#__PURE__*/_react.default.createElement(_ExpandLess.default, null) : /*#__PURE__*/_react.default.createElement(_ExpandMore.default, null)), app.children.map(subApp => /*#__PURE__*/_react.default.createElement(_Collapse.default, {
122
+ timeout: "auto",
123
+ key: subApp.definition.componentID,
124
+ in: expanded.includes(app.definition.componentID),
125
+ unmountOnExit: true
126
+ }, /*#__PURE__*/_react.default.createElement("a", {
127
+ style: style.a,
128
+ href: core.formatUrl("".concat((0, _functions.getUrl)(app.definition.metadata), "#").concat((0, _functions.getUrl)(subApp.definition.metadata)))
129
+ }, /*#__PURE__*/_react.default.createElement(_ListItem.default, {
130
+ style: style.nested,
131
+ button: true
132
+ }, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement("img", {
133
+ src: this.props.core.formatUrl((0, _functions.getIconUrl)(subApp.definition.metadata)),
134
+ className: classes.svgIcon,
135
+ style: style.icon,
136
+ alt: "algImg"
137
+ })), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
138
+ inset: true,
139
+ classes: {
140
+ primary: classes.listItemRoot
141
+ },
142
+ primary: this.getTranslatedName(subApp.definition)
143
+ })))))) : /*#__PURE__*/_react.default.createElement("a", {
144
+ style: style.a,
145
+ href: core.formatUrl((0, _functions.getUrl)(app.definition.metadata))
146
+ }, /*#__PURE__*/_react.default.createElement(_ListItem.default, {
147
+ button: true
148
+ }, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement("img", {
149
+ src: this.props.core.formatUrl((0, _functions.getIconUrl)(app.definition.metadata)),
150
+ className: classes.svgIcon,
151
+ style: style.icon,
152
+ alt: "algImg"
153
+ })), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
154
+ classes: {
155
+ primary: classes.listItemRoot
156
+ },
157
+ primary: this.getTranslatedName(app.definition)
158
+ }))))))));
159
+ }
160
+ }
161
+ CoreSideBarDrawer.propTypes = {
162
+ open: _propTypes.default.bool.isRequired,
163
+ onClose: _propTypes.default.func.isRequired,
164
+ apps: _propTypes.default.arrayOf(_propTypes.default.shape()),
165
+ intl: _propTypes.default.shape().isRequired,
166
+ core: _propTypes.default.shape().isRequired,
167
+ classes: _propTypes.default.shape().isRequired
168
+ };
169
+ CoreSideBarDrawer.defaultProps = {
170
+ apps: []
171
+ };
172
+ var _default = exports.default = (0, _context.withCore)((0, _reactIntl.injectIntl)((0, _styles.withStyles)(styles)(CoreSideBarDrawer)));
@@ -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 _CoreSideBar.default;
10
+ }
11
+ });
12
+ var _CoreSideBar = _interopRequireDefault(require("./CoreSideBar"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,116 @@
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 _SnackbarContent = _interopRequireDefault(require("@material-ui/core/SnackbarContent"));
9
+ var _CheckCircle = _interopRequireDefault(require("@material-ui/icons/CheckCircle"));
10
+ var _styles = require("@material-ui/core/styles");
11
+ var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
12
+ var _Warning = _interopRequireDefault(require("@material-ui/icons/Warning"));
13
+ var _green = _interopRequireDefault(require("@material-ui/core/colors/green"));
14
+ var _amber = _interopRequireDefault(require("@material-ui/core/colors/amber"));
15
+ var _Snackbar = _interopRequireDefault(require("@material-ui/core/Snackbar"));
16
+ var _Error = _interopRequireDefault(require("@material-ui/icons/Error"));
17
+ var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
18
+ var _Info = _interopRequireDefault(require("@material-ui/icons/Info"));
19
+ var _propTypes = _interopRequireDefault(require("prop-types"));
20
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
+ 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); }
22
+ const styles = theme => ({
23
+ success: {
24
+ backgroundColor: _green.default[600]
25
+ },
26
+ error: {
27
+ backgroundColor: theme.palette.error.dark
28
+ },
29
+ info: {
30
+ backgroundColor: theme.palette.primary.dark
31
+ },
32
+ warning: {
33
+ backgroundColor: _amber.default[700]
34
+ },
35
+ none: {},
36
+ icon: {
37
+ fontSize: 20
38
+ },
39
+ iconVariant: {
40
+ opacity: 0.9,
41
+ marginRight: theme.spacing()
42
+ },
43
+ message: {
44
+ display: 'flex',
45
+ alignItems: 'center'
46
+ }
47
+ });
48
+ const variantIcon = {
49
+ success: _CheckCircle.default,
50
+ warning: _Warning.default,
51
+ error: _Error.default,
52
+ info: _Info.default,
53
+ none: null
54
+ };
55
+ class CoreSnackBar extends _react.Component {
56
+ onClose() {
57
+ this.props.onClose();
58
+ }
59
+ render() {
60
+ const {
61
+ open,
62
+ autoHideDuration,
63
+ message,
64
+ onAction,
65
+ iconType,
66
+ withIcon,
67
+ classes
68
+ } = this.props;
69
+ const Icon = variantIcon[iconType];
70
+ return /*#__PURE__*/_react.default.createElement("div", {
71
+ style: {
72
+ position: 'absolute',
73
+ zIndex: 5000
74
+ }
75
+ }, /*#__PURE__*/_react.default.createElement(_Snackbar.default, {
76
+ open: open,
77
+ autoHideDuration: autoHideDuration,
78
+ onClose: () => this.onClose(),
79
+ anchorOrigin: {
80
+ vertical: 'bottom',
81
+ horizontal: 'left'
82
+ }
83
+ }, /*#__PURE__*/_react.default.createElement(_SnackbarContent.default, {
84
+ "aria-describedby": "client-snackbar",
85
+ className: classes[iconType],
86
+ message: /*#__PURE__*/_react.default.createElement("span", {
87
+ id: "client-snackbar"
88
+ }, withIcon && /*#__PURE__*/_react.default.createElement(Icon, {
89
+ className: classes.iconVariant
90
+ }), message),
91
+ action: [/*#__PURE__*/_react.default.createElement(_IconButton.default, {
92
+ key: "close",
93
+ "aria-label": "Close",
94
+ color: "inherit",
95
+ onClick: onAction
96
+ }, /*#__PURE__*/_react.default.createElement(_Close.default, null))]
97
+ })));
98
+ }
99
+ }
100
+ CoreSnackBar.propTypes = {
101
+ open: _propTypes.default.bool.isRequired,
102
+ message: _propTypes.default.string.isRequired,
103
+ onClose: _propTypes.default.func.isRequired,
104
+ onAction: _propTypes.default.func,
105
+ autoHideDuration: _propTypes.default.number,
106
+ withIcon: _propTypes.default.bool,
107
+ iconType: _propTypes.default.oneOf(['success', 'warning', 'error', 'info', 'none']),
108
+ classes: _propTypes.default.shape().isRequired
109
+ };
110
+ CoreSnackBar.defaultProps = {
111
+ autoHideDuration: 1000,
112
+ iconType: 'info',
113
+ onAction: () => {},
114
+ withIcon: false
115
+ };
116
+ var _default = exports.default = (0, _styles.withStyles)(styles)(CoreSnackBar);
@@ -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 _CoreSnackBar.default;
10
+ }
11
+ });
12
+ var _CoreSnackBar = _interopRequireDefault(require("./CoreSnackBar"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,23 @@
1
+ #coreSnackBar
2
+ this component is used to display a notification to the user, it can have different look and feel depending on the props received.
3
+
4
+
5
+ open: Required property that indicates the snackbar need to be showed.
6
+ message: Required string that contains the message to be displayed to the user,
7
+ onClose: Required function to proccess the close of the snackbar (this.setstate(open:false)),
8
+ withIcon: Indicates if the snackbar will contain an icon, default value is false.
9
+ onAction: receive a function to be executed once the user click on the X button, normally asigned to open state but can do other,
10
+ autoHideDuration: Property that indicates the time in milliseconds to execute the onClose function, if there is a need to keep the snackbar open, the onClose Function can have a different action than close,
11
+ iconType: oneOf(['success', 'warning', 'error', 'info', 'none']) it describes the icon type to be showed, the default value is none, it also associate it to the color of the snackbar Success is green, warning is orange, error is red, info is the default theme color and none is the dark gray color.
12
+
13
+
14
+ Example use:
15
+
16
+ ```
17
+
18
+ import { CoreSnackBar } from '../lib';
19
+
20
+ <CoreSnackBar open message="this is a warning" iconType="warning" autoHideDuration={1000} onClose={() => {}} />
21
+ <CoreSnackBar open message="this is an error" iconType="error" autoHideDuration={2000} onClose={() => {}} />
22
+
23
+ <CoreSnackBar open message="this is an success" iconType="success" autoHideDuration={3000} onClose={() => {}} />
@@ -0,0 +1,315 @@
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 _TableCell = _interopRequireDefault(require("@material-ui/core/TableCell"));
9
+ var _TableBody = _interopRequireDefault(require("@material-ui/core/TableBody"));
10
+ var _TableRow = _interopRequireDefault(require("@material-ui/core/TableRow"));
11
+ var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
12
+ var _CircularProgress = _interopRequireDefault(require("@material-ui/core/CircularProgress"));
13
+ var _Table = _interopRequireDefault(require("@material-ui/core/Table"));
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+ var _reactIntl = require("react-intl");
16
+ var _CoreTableToolbar = _interopRequireDefault(require("./CoreTableToolbar"));
17
+ var _CoreTableHead = _interopRequireDefault(require("./CoreTableHead"));
18
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
+ 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); }
20
+ 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; }
21
+ 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; }
22
+ 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; }
23
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
24
+ 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); }
25
+ const desc = (a, b, orderBy) => {
26
+ if (b[orderBy] < a[orderBy]) {
27
+ return -1;
28
+ }
29
+ if (b[orderBy] > a[orderBy]) {
30
+ return 1;
31
+ }
32
+ return 0;
33
+ };
34
+ const getSorting = (order, orderBy) => {
35
+ if (order === 'desc') return (a, b) => desc(a, b, orderBy);
36
+ return (a, b) => -desc(a, b, orderBy);
37
+ };
38
+ const stableSort = (array, cmp) => {
39
+ const stabilizedThis = array.map((el, index) => [el, index]);
40
+ stabilizedThis.sort((a, b) => {
41
+ const order = cmp(a[0], b[0]);
42
+ return order !== 0 ? order : a[1] - b[1];
43
+ });
44
+ return stabilizedThis.map(el => el[0]);
45
+ };
46
+ const getStyles = (row, column) => {
47
+ let style = {};
48
+ if (column.style !== undefined) {
49
+ style = column.style;
50
+ }
51
+ if (row.style !== undefined) {
52
+ if (row.style.all !== undefined) {
53
+ style = _objectSpread(_objectSpread({}, style), row.style.all);
54
+ }
55
+ if (row.style[column.id] !== undefined) {
56
+ style = _objectSpread(_objectSpread({}, style), row.style[column.id]);
57
+ }
58
+ }
59
+ return style;
60
+ };
61
+ const getRowStyles = (id, activeRow, flaggedRows) => {
62
+ let style = {};
63
+ if (id === activeRow) {
64
+ style = {
65
+ backgroundColor: 'LightSteelBlue'
66
+ };
67
+ }
68
+ if (flaggedRows.includes(id)) {
69
+ style = {
70
+ backgroundColor: 'Red'
71
+ };
72
+ }
73
+ return style;
74
+ };
75
+ class CoreTable extends _react.Component {
76
+ constructor(props) {
77
+ super(props);
78
+ this.state = {
79
+ selected: [],
80
+ order: 'asc',
81
+ orderBy: '',
82
+ activeFilters: {}
83
+ };
84
+ }
85
+ componentDidMount() {
86
+ const filters = {};
87
+ this.props.columns.forEach(column => {
88
+ if (column.filter === 'text' || column.filter === true) {
89
+ filters[column.id] = '';
90
+ }
91
+ });
92
+ this.setState({
93
+ activeFilters: filters
94
+ });
95
+ }
96
+ componentDidUpdate(prevProps) {
97
+ if (JSON.stringify(this.props.data) !== JSON.stringify(prevProps.data)) {
98
+ this.handleClearSelected();
99
+ }
100
+ }
101
+ onRowClick(row) {
102
+ if (this.props.onRowClick) {
103
+ this.props.onRowClick(row);
104
+ }
105
+ }
106
+ handleClearSelected() {
107
+ this.setState({
108
+ selected: []
109
+ });
110
+ }
111
+ handleChipDelete(id) {
112
+ this.setState(prevState => ({
113
+ activeFilters: _objectSpread(_objectSpread({}, prevState.activeFilters), {}, {
114
+ [id]: ''
115
+ })
116
+ }));
117
+ }
118
+ filterInputHandler(_ref) {
119
+ let {
120
+ target
121
+ } = _ref;
122
+ const {
123
+ name,
124
+ value
125
+ } = target;
126
+ this.setState(prevState => ({
127
+ activeFilters: _objectSpread(_objectSpread({}, prevState.activeFilters), {}, {
128
+ [name]: value
129
+ })
130
+ }));
131
+ }
132
+ passesFilter(row) {
133
+ let passed = true;
134
+ const filterKeys = Object.keys(this.state.activeFilters);
135
+ if (filterKeys.length > 0) {
136
+ filterKeys.forEach(filter => {
137
+ if (!row[filter].toLowerCase().includes(this.state.activeFilters[filter].toLowerCase())) {
138
+ passed = false;
139
+ }
140
+ });
141
+ }
142
+ return passed;
143
+ }
144
+ isSelected(id) {
145
+ return this.state.selected.indexOf(id) !== -1;
146
+ }
147
+ handleSelectAll(event) {
148
+ this.setState({
149
+ selected: event.target.checked ? this.props.data.map(row => row[this.props.id]) : []
150
+ });
151
+ }
152
+ handleOnSort(orderBy) {
153
+ // console.log('orderBy', orderBy);
154
+ this.setState(prevState => {
155
+ const order = prevState.orderBy === orderBy && prevState.order === 'desc' ? 'asc' : 'desc';
156
+ return {
157
+ order: order,
158
+ orderBy: orderBy
159
+ };
160
+ });
161
+ }
162
+ handleClick(key, row) {
163
+ if (this.props.multiSelect) {
164
+ const {
165
+ selected
166
+ } = this.state;
167
+ const selectedIndex = selected.indexOf(key);
168
+ let newSelected = [];
169
+ if (selectedIndex === -1) {
170
+ // Not in selected, add
171
+ newSelected = newSelected.concat(selected, key);
172
+ } else if (selectedIndex === 0) {
173
+ // First item in selected, remove
174
+ newSelected = newSelected.concat(selected.slice(1));
175
+ } else if (selectedIndex === selected.length - 1) {
176
+ // Last item in selected, remove
177
+ newSelected = newSelected.concat(selected.slice(0, -1));
178
+ } else if (selectedIndex > 0) {
179
+ // Somewhere in the middle of selected, remove
180
+ newSelected = newSelected.concat(selected.slice(0, selectedIndex), selected.slice(selectedIndex + 1));
181
+ }
182
+ this.setState({
183
+ selected: newSelected
184
+ });
185
+ }
186
+ }
187
+ render() {
188
+ const {
189
+ sort,
190
+ id,
191
+ title,
192
+ columns,
193
+ data,
194
+ customToolbar,
195
+ multiSelect,
196
+ hover,
197
+ toolBarIcons,
198
+ activeRow,
199
+ flaggedRows,
200
+ loading
201
+ } = this.props;
202
+ const {
203
+ selected,
204
+ order,
205
+ orderBy,
206
+ activeFilters
207
+ } = this.state;
208
+ return /*#__PURE__*/_react.default.createElement("div", null, (title || multiSelect) && /*#__PURE__*/_react.default.createElement(_CoreTableToolbar.default, {
209
+ title: title,
210
+ selected: selected,
211
+ icons: toolBarIcons,
212
+ customToolbar: customToolbar,
213
+ activeFilters: activeFilters,
214
+ handleChipDelete: _id => this.handleChipDelete(_id)
215
+ }), /*#__PURE__*/_react.default.createElement(_Table.default, null, /*#__PURE__*/_react.default.createElement(_CoreTableHead.default, {
216
+ sort: sort,
217
+ order: order,
218
+ columns: columns,
219
+ orderBy: orderBy,
220
+ rowCount: data.length,
221
+ multiSelect: multiSelect,
222
+ selected: selected.length,
223
+ activeFilters: activeFilters,
224
+ onSort: _orderBy => this.handleOnSort(_orderBy),
225
+ onSelectAll: event => this.handleSelectAll(event),
226
+ updateFilter: target => this.filterInputHandler(target)
227
+ }), /*#__PURE__*/_react.default.createElement(_TableBody.default, null, stableSort(data, getSorting(order, orderBy)).map(row => {
228
+ const isSelected = this.isSelected(row[id]);
229
+ if (this.passesFilter(row)) {
230
+ return /*#__PURE__*/_react.default.createElement(_TableRow.default, {
231
+ role: "checkbox",
232
+ key: row[id],
233
+ hover: hover,
234
+ tabIndex: -1,
235
+ selected: isSelected,
236
+ "aria-checked": isSelected,
237
+ onClick: () => this.onRowClick(row),
238
+ style: getRowStyles(row[id], activeRow, flaggedRows)
239
+ }, multiSelect && /*#__PURE__*/_react.default.createElement(_TableCell.default, {
240
+ padding: "checkbox",
241
+ onClick: event => {
242
+ event.stopPropagation();
243
+ this.handleClick(row[id], row);
244
+ }
245
+ }, /*#__PURE__*/_react.default.createElement(_Checkbox.default, {
246
+ checked: isSelected,
247
+ color: "primary"
248
+ })), columns.map((column, columnIndex) => /*#__PURE__*/_react.default.createElement(_TableCell.default, {
249
+ key: String(columnIndex),
250
+ style: _objectSpread(_objectSpread({
251
+ cursor: this.props.onRowClick ? 'pointer' : 'default'
252
+ }, getStyles(row, column)), column.style)
253
+ }, column.customCell ? column.customCell({
254
+ id: id,
255
+ row: row
256
+ }) : row[column.id])));
257
+ }
258
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
259
+ }))), loading && /*#__PURE__*/_react.default.createElement("div", {
260
+ style: {
261
+ display: 'flex',
262
+ alignItems: 'center',
263
+ justifyContent: 'center',
264
+ paddingTop: 20,
265
+ paddingBottom: 20
266
+ }
267
+ }, /*#__PURE__*/_react.default.createElement("div", {
268
+ style: {
269
+ display: 'flex',
270
+ alignItems: 'center'
271
+ }
272
+ }, /*#__PURE__*/_react.default.createElement(_CircularProgress.default, {
273
+ color: "secondary",
274
+ style: {
275
+ marginRight: 20
276
+ }
277
+ }), /*#__PURE__*/_react.default.createElement("span", {
278
+ style: {
279
+ fontSize: '26px',
280
+ fontStyle: 'italic',
281
+ color: 'rgba(0,0,0,0.6)'
282
+ }
283
+ }, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
284
+ id: "__loading"
285
+ }), "\u2026"))));
286
+ }
287
+ }
288
+ CoreTable.propTypes = {
289
+ sort: _propTypes.default.bool,
290
+ hover: _propTypes.default.bool,
291
+ title: _propTypes.default.string,
292
+ onRowClick: _propTypes.default.func,
293
+ activeRow: _propTypes.default.string,
294
+ multiSelect: _propTypes.default.bool,
295
+ toolBarIcons: _propTypes.default.node,
296
+ customToolbar: _propTypes.default.func,
297
+ id: _propTypes.default.string.isRequired,
298
+ flaggedRows: _propTypes.default.arrayOf(_propTypes.default.string),
299
+ data: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
300
+ columns: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
301
+ loading: _propTypes.default.bool
302
+ };
303
+ CoreTable.defaultProps = {
304
+ title: '',
305
+ sort: false,
306
+ hover: false,
307
+ activeRow: '',
308
+ flaggedRows: [],
309
+ onRowClick: null,
310
+ multiSelect: false,
311
+ customToolbar: null,
312
+ toolBarIcons: /*#__PURE__*/_react.default.createElement("span", null),
313
+ loading: false
314
+ };
315
+ var _default = exports.default = CoreTable;