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,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 _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
9
+ var _reactIntl = require("react-intl");
10
+ var _Edit = _interopRequireDefault(require("@material-ui/icons/Edit"));
11
+ var _Schedule = _interopRequireDefault(require("@material-ui/icons/Schedule"));
12
+ var _FilterList = _interopRequireDefault(require("@material-ui/icons/FilterList"));
13
+ var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
14
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
15
+ var _Link = _interopRequireDefault(require("@material-ui/core/Link"));
16
+ var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
17
+ var _Switch = _interopRequireDefault(require("@material-ui/core/Switch"));
18
+ var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
19
+ var _DialogActions = _interopRequireDefault(require("@material-ui/core/DialogActions"));
20
+ var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent"));
21
+ var _Chip = _interopRequireDefault(require("@material-ui/core/Chip"));
22
+ var _propTypes = _interopRequireDefault(require("prop-types"));
23
+ var _CoreToolbar = _interopRequireDefault(require("../CoreToolbar"));
24
+ var _scrollbarModule = _interopRequireDefault(require("../../css/scrollbar.module.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
+ 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; }
28
+ 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; }
29
+ 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; }
30
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
31
+ 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); } // import RefreshIcon from '@material-ui/icons/DeleteSweep';
32
+ // import CardContent from '@material-ui/core/CardContent';
33
+ // import IconButton from '@material-ui/core/IconButton';
34
+ // import ListItem from '@material-ui/core/ListItem';
35
+ // import Tooltip from '@material-ui/core/Tooltip';
36
+ // import Avatar from '@material-ui/core/Avatar';
37
+ // import AddIcon from '@material-ui/icons/Add';
38
+ // import List from '@material-ui/core/List';
39
+ // import Card from '@material-ui/core/Card';
40
+ // import Grid from '@material-ui/core/Grid';
41
+ /* eslint-disable no-nested-ternary */
42
+
43
+ const style = {
44
+ list: {
45
+ maxHeight: 360,
46
+ overflowY: 'auto'
47
+ }
48
+ };
49
+ class CoreShiftTagFilter extends _react.Component {
50
+ constructor() {
51
+ super();
52
+ this.state = {
53
+ open: false,
54
+ showAddCustom: false,
55
+ customTag: ''
56
+ };
57
+ }
58
+ updateFilter(value) {
59
+ if (this.props.updateFilter) {
60
+ this.props.updateFilter(_objectSpread(_objectSpread({}, this.props.filter), value));
61
+ }
62
+ }
63
+ updateFilters(tag) {
64
+ let shiftTagFilters = JSON.parse(JSON.stringify(this.props.filter.shiftTagFilters));
65
+ if (shiftTagFilters.includes(tag)) {
66
+ shiftTagFilters = shiftTagFilters.filter(shiftTag => shiftTag !== tag);
67
+ } else {
68
+ shiftTagFilters.push(tag);
69
+ }
70
+ let basicFilter = shiftTagFilters.join(' OR ');
71
+ if (shiftTagFilters.length > 1) {
72
+ basicFilter = "(".concat(basicFilter, ")");
73
+ }
74
+ this.updateFilter({
75
+ shiftTagFilters: shiftTagFilters,
76
+ basicFilter: basicFilter
77
+ });
78
+ }
79
+ addCustom() {
80
+ const {
81
+ customTag
82
+ } = this.state;
83
+ const newFilter = _objectSpread({}, this.props.filter);
84
+ if (!newFilter.shiftTagFilters.includes(customTag)) {
85
+ newFilter.shiftTagFilters.push(customTag);
86
+ this.props.updateFilter(newFilter);
87
+ }
88
+ this.setState({
89
+ showAddCustom: false
90
+ });
91
+ }
92
+ handleKeyPress(e) {
93
+ const {
94
+ customTag
95
+ } = this.state;
96
+ if (e.which === 13) {
97
+ if (customTag.length > 0) {
98
+ this.addCustom();
99
+ }
100
+ }
101
+ }
102
+ checkIfExists(tag) {
103
+ const {
104
+ tags
105
+ } = this.props;
106
+ if (tags) {
107
+ if (tags.some(x => x.tag === tag)) {
108
+ return true;
109
+ }
110
+ }
111
+ return false;
112
+ }
113
+ renderFilter() {
114
+ const {
115
+ filter
116
+ } = this.props;
117
+ const {
118
+ shiftTagFilters
119
+ } = filter;
120
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", null, shiftTagFilters.map((tag, index) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
121
+ key: tag
122
+ }, index !== 0 && /*#__PURE__*/_react.default.createElement("span", null, "\xA0OR\xA0"), /*#__PURE__*/_react.default.createElement(_Chip.default, {
123
+ icon: /*#__PURE__*/_react.default.createElement(_Schedule.default, null),
124
+ label: tag,
125
+ color: this.checkIfExists(tag) ? 'default' : 'secondary'
126
+ })))));
127
+ }
128
+
129
+ /* selectItem(tag) {
130
+ const newFilter = { ...this.props.filter };
131
+ newFilter.shiftTagFilters.push(tag);
132
+ this.updateFilter(newFilter);
133
+ };
134
+ const deselectItem = (filterListName, tag) => {
135
+ const newFilter = { ...filter };
136
+ const index = newFilter[filterListName].indexOf(tag);
137
+ if (index !== -1) {
138
+ newFilter[filterListName].splice(index, 1);
139
+ updateFilter(newFilter);
140
+ }
141
+ }; */
142
+
143
+ renderTag(tagInfo) {
144
+ const isSelected = this.props.filter.shiftTagFilters.includes(tagInfo.tag);
145
+ return /*#__PURE__*/_react.default.createElement("div", {
146
+ key: tagInfo.tag,
147
+ style: {
148
+ margin: 5,
149
+ padding: 5,
150
+ backgroundColor: isSelected ? '#55b7dc' : '#ffffff',
151
+ border: '1px solid black',
152
+ display: 'flex',
153
+ alignItems: 'center',
154
+ cursor: 'pointer'
155
+ },
156
+ onClick: () => this.updateFilters(tagInfo.tag),
157
+ "aria-hidden": "true"
158
+ }, /*#__PURE__*/_react.default.createElement(_Schedule.default, null), /*#__PURE__*/_react.default.createElement("span", {
159
+ style: {
160
+ marginLeft: 10,
161
+ flexGrow: 1
162
+ }
163
+ }, tagInfo.tag), "(".concat(tagInfo.count, ")"));
164
+ }
165
+
166
+ /* eslint-disable jsx-a11y/anchor-is-valid */
167
+ render() {
168
+ const {
169
+ intl,
170
+ filter,
171
+ hideAdvanced,
172
+ disabled,
173
+ tags,
174
+ customTitle
175
+ } = this.props;
176
+ const {
177
+ open,
178
+ showAddCustom,
179
+ customTag
180
+ } = this.state;
181
+ const adjustedTags = [...tags];
182
+ filter.shiftTagFilters.forEach(x => {
183
+ if (!adjustedTags.find(tagInfo => tagInfo.tag === x)) {
184
+ adjustedTags.push({
185
+ tag: x,
186
+ count: 0
187
+ });
188
+ }
189
+ });
190
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
191
+ style: {
192
+ display: 'flex',
193
+ alignItems: 'center'
194
+ }
195
+ }, customTitle !== null ? customTitle : /*#__PURE__*/_react.default.createElement(_Typography.default, {
196
+ variant: "h6",
197
+ style: {
198
+ flexGrow: 1
199
+ }
200
+ }, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
201
+ id: "__shift_filter"
202
+ })), !filter.isAdvanced && /*#__PURE__*/_react.default.createElement(_Button.default, {
203
+ variant: "outlined",
204
+ color: "secondary",
205
+ disabled: disabled,
206
+ onClick: () => this.setState({
207
+ open: true
208
+ })
209
+ }, /*#__PURE__*/_react.default.createElement(_Edit.default, null), /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
210
+ id: "__edit"
211
+ })), !hideAdvanced && /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
212
+ style: {
213
+ marginLeft: 10
214
+ },
215
+ label: intl.formatMessage({
216
+ id: '__advanced'
217
+ }),
218
+ control: /*#__PURE__*/_react.default.createElement(_Switch.default, {
219
+ checked: filter.isAdvanced,
220
+ disabled: disabled,
221
+ onChange: event => this.props.updateFilter(_objectSpread(_objectSpread({}, filter), {}, {
222
+ isAdvanced: event.target.checked
223
+ }))
224
+ })
225
+ })), filter.isAdvanced ? /*#__PURE__*/_react.default.createElement(_TextField.default, {
226
+ variant: "outlined",
227
+ label: intl.formatMessage({
228
+ id: '__filter'
229
+ }),
230
+ value: filter.advancedFilter,
231
+ onChange: event => this.props.updateFilter(_objectSpread(_objectSpread({}, filter), {}, {
232
+ advancedFilter: event.target.value
233
+ })),
234
+ InputLabelProps: {
235
+ shrink: true
236
+ },
237
+ placeholder: "Type in the filter here... (ex: first OR second)",
238
+ margin: "normal",
239
+ fullWidth: true,
240
+ multiline: true,
241
+ disabled: disabled
242
+ }) : filter.basicFilter.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
243
+ style: {
244
+ margin: 5
245
+ }
246
+ }, this.renderFilter()) : /*#__PURE__*/_react.default.createElement("div", {
247
+ style: {
248
+ margin: 5
249
+ }
250
+ }, /*#__PURE__*/_react.default.createElement("i", null, "No filter set, will include all shifts")), open && /*#__PURE__*/_react.default.createElement(_Dialog.default, {
251
+ maxWidth: "xs",
252
+ onClose: () => this.setState({
253
+ open: false
254
+ }),
255
+ fullWidth: true,
256
+ open: true
257
+ }, /*#__PURE__*/_react.default.createElement(_CoreToolbar.default, {
258
+ icon: /*#__PURE__*/_react.default.createElement(_FilterList.default, {
259
+ style: {
260
+ marginRight: 10
261
+ }
262
+ }),
263
+ title: intl.formatMessage({
264
+ id: '__shift_filter_builder'
265
+ }),
266
+ handleClose: () => this.setState({
267
+ open: false
268
+ })
269
+ }), /*#__PURE__*/_react.default.createElement("div", {
270
+ style: {
271
+ padding: 10
272
+ }
273
+ }, /*#__PURE__*/_react.default.createElement("div", {
274
+ style: {
275
+ display: 'flex'
276
+ }
277
+ }, /*#__PURE__*/_react.default.createElement("div", {
278
+ style: {
279
+ flexGrow: 1
280
+ }
281
+ }, "Shifts", " (".concat(filter.shiftTagFilters.length, ")")), /*#__PURE__*/_react.default.createElement(_Link.default, {
282
+ component: "button",
283
+ variant: "body2",
284
+ style: {
285
+ marginRight: 10
286
+ },
287
+ onClick: () => this.props.updateFilter(_objectSpread(_objectSpread({}, filter), {}, {
288
+ shiftTagFilters: []
289
+ }))
290
+ }, intl.formatMessage({
291
+ id: '__clear'
292
+ })), /*#__PURE__*/_react.default.createElement(_Link.default, {
293
+ component: "button",
294
+ variant: "body2",
295
+ onClick: () => this.setState({
296
+ showAddCustom: true,
297
+ customTag: ''
298
+ })
299
+ }, intl.formatMessage({
300
+ id: '__add_custom'
301
+ }))), /*#__PURE__*/_react.default.createElement("div", {
302
+ style: style.list,
303
+ className: _scrollbarModule.default.scroll
304
+ }, adjustedTags.map(tagInfo => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, this.renderTag(tagInfo)))), showAddCustom && /*#__PURE__*/_react.default.createElement(_Dialog.default, {
305
+ open: true,
306
+ onClose: () => this.setState({
307
+ showAddCustom: false
308
+ })
309
+ }, /*#__PURE__*/_react.default.createElement(_DialogContent.default, null, /*#__PURE__*/_react.default.createElement(_TextField.default, {
310
+ variant: "outlined",
311
+ label: intl.formatMessage({
312
+ id: '__custom_tag'
313
+ }),
314
+ value: customTag,
315
+ margin: "normal",
316
+ fullWidth: true,
317
+ autoFocus: true,
318
+ InputLabelProps: {
319
+ shrink: true
320
+ },
321
+ onChange: e => this.setState({
322
+ customTag: e.target.value.replace(/[^a-z0-9_]/g, '')
323
+ }),
324
+ onKeyPress: e => this.handleKeyPress(e)
325
+ })), /*#__PURE__*/_react.default.createElement(_DialogActions.default, null, /*#__PURE__*/_react.default.createElement(_Button.default, {
326
+ variant: "contained",
327
+ color: "primary",
328
+ disabled: customTag.length === 0,
329
+ onClick: () => this.addCustom()
330
+ }, intl.formatMessage({
331
+ id: '__add'
332
+ })))))));
333
+ }
334
+ }
335
+ CoreShiftTagFilter.propTypes = {
336
+ hideAdvanced: _propTypes.default.bool,
337
+ disabled: _propTypes.default.bool,
338
+ intl: _propTypes.default.shape().isRequired,
339
+ filter: _propTypes.default.shape().isRequired,
340
+ updateFilter: _propTypes.default.func.isRequired,
341
+ tags: _propTypes.default.arrayOf(_propTypes.default.shape()),
342
+ customTitle: _propTypes.default.node
343
+ };
344
+ CoreShiftTagFilter.defaultProps = {
345
+ tags: [],
346
+ hideAdvanced: false,
347
+ disabled: false,
348
+ customTitle: null
349
+ };
350
+ var _default = exports.default = (0, _reactIntl.injectIntl)(CoreShiftTagFilter);
@@ -0,0 +1,208 @@
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 _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
9
+ var _reactIntl = require("react-intl");
10
+ var _DeleteSweep = _interopRequireDefault(require("@material-ui/icons/DeleteSweep"));
11
+ var _CardContent = _interopRequireDefault(require("@material-ui/core/CardContent"));
12
+ var _Schedule = _interopRequireDefault(require("@material-ui/icons/Schedule"));
13
+ var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
14
+ var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
15
+ var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
16
+ var _ListItem = _interopRequireDefault(require("@material-ui/core/ListItem"));
17
+ var _Tooltip = _interopRequireDefault(require("@material-ui/core/Tooltip"));
18
+ var _Switch = _interopRequireDefault(require("@material-ui/core/Switch"));
19
+ var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
20
+ var _Avatar = _interopRequireDefault(require("@material-ui/core/Avatar"));
21
+ var _Add = _interopRequireDefault(require("@material-ui/icons/Add"));
22
+ var _Chip = _interopRequireDefault(require("@material-ui/core/Chip"));
23
+ var _List = _interopRequireDefault(require("@material-ui/core/List"));
24
+ var _Card = _interopRequireDefault(require("@material-ui/core/Card"));
25
+ var _Grid = _interopRequireDefault(require("@material-ui/core/Grid"));
26
+ var _propTypes = _interopRequireDefault(require("prop-types"));
27
+ var _CoreDialogueToolBar = _interopRequireDefault(require("../CoreDialogueToolBar"));
28
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
29
+ 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); }
30
+ 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; }
31
+ 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; }
32
+ 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; }
33
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
34
+ 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); }
35
+ class OldCoreShiftTagFilter extends _react.Component {
36
+ constructor() {
37
+ super();
38
+ this.state = {
39
+ open: false
40
+ };
41
+ }
42
+ updateFilter(value) {
43
+ if (this.props.updateFilter) {
44
+ this.props.updateFilter(_objectSpread(_objectSpread({}, this.props.filter), value));
45
+ }
46
+ }
47
+ updateFilters(tag) {
48
+ let shiftTagFilters = JSON.parse(JSON.stringify(this.props.filter.shiftTagFilters));
49
+ if (shiftTagFilters.includes(tag)) {
50
+ shiftTagFilters = shiftTagFilters.filter(shiftTag => shiftTag !== tag);
51
+ } else {
52
+ shiftTagFilters.push(tag);
53
+ }
54
+ let basicFilter = shiftTagFilters.join(' OR ');
55
+ if (shiftTagFilters.length > 1) {
56
+ basicFilter = "(".concat(basicFilter, ")");
57
+ }
58
+ this.updateFilter({
59
+ shiftTagFilters: shiftTagFilters,
60
+ basicFilter: basicFilter
61
+ });
62
+ }
63
+ render() {
64
+ const {
65
+ intl,
66
+ filter,
67
+ hideAdvanced,
68
+ tags
69
+ } = this.props;
70
+ const {
71
+ open
72
+ } = this.state;
73
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Grid.default, {
74
+ spacing: 16,
75
+ container: true
76
+ }, !hideAdvanced && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Grid.default, {
77
+ align: "center",
78
+ xs: 8,
79
+ item: true
80
+ }), /*#__PURE__*/_react.default.createElement(_Grid.default, {
81
+ align: "center",
82
+ xs: 4,
83
+ item: true
84
+ }, /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
85
+ labelPlacement: "bottom",
86
+ label: intl.formatMessage({
87
+ id: '__advanced'
88
+ }),
89
+ control: /*#__PURE__*/_react.default.createElement(_Switch.default, {
90
+ checked: filter.isAdvanced,
91
+ onChange: event => this.updateFilter({
92
+ isAdvanced: event.target.checked
93
+ })
94
+ })
95
+ }))), filter.isAdvanced ? /*#__PURE__*/_react.default.createElement(_Grid.default, {
96
+ xs: 12,
97
+ item: true
98
+ }, /*#__PURE__*/_react.default.createElement(_TextField.default, {
99
+ variant: "outlined",
100
+ value: filter.advancedFilter,
101
+ label: intl.formatMessage({
102
+ id: '__filter'
103
+ }),
104
+ onChange: event => this.updateFilter({
105
+ advancedFilter: event.target.value
106
+ }),
107
+ fullWidth: true,
108
+ multiline: true
109
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Grid.default, {
110
+ xs: 12,
111
+ item: true
112
+ }, /*#__PURE__*/_react.default.createElement(_Card.default, null, /*#__PURE__*/_react.default.createElement(_CardContent.default, null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
113
+ variant: "h6",
114
+ style: {
115
+ float: 'left'
116
+ }
117
+ }, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
118
+ id: "__shifts"
119
+ })), /*#__PURE__*/_react.default.createElement("div", {
120
+ style: {
121
+ float: 'right'
122
+ }
123
+ }, filter.shiftTagFilters.length > 0 && /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
124
+ title: intl.formatMessage({
125
+ id: '__empty_filter'
126
+ })
127
+ }, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
128
+ onClick: event => this.updateFilter({
129
+ shiftTagFilters: [],
130
+ basicFilter: ''
131
+ })
132
+ }, /*#__PURE__*/_react.default.createElement(_DeleteSweep.default, null))), /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
133
+ title: intl.formatMessage({
134
+ id: '__add_shift_filter'
135
+ })
136
+ }, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
137
+ onClick: event => this.setState({
138
+ open: true
139
+ })
140
+ }, /*#__PURE__*/_react.default.createElement(_Add.default, null)))), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), filter.shiftTagFilters.length > 0 && /*#__PURE__*/_react.default.createElement("div", {
141
+ style: {
142
+ display: 'flex',
143
+ flexDirection: 'column',
144
+ overflow: 'auto',
145
+ maxHeight: '160px'
146
+ }
147
+ }, filter.shiftTagFilters.map((shift, index) => /*#__PURE__*/_react.default.createElement(_Chip.default, {
148
+ label: shift,
149
+ key: String(index),
150
+ onDelete: () => this.updateFilters(shift),
151
+ style: {
152
+ margin: '6px 0',
153
+ justifyContent: 'space-between',
154
+ backgroundColor: 'darkorange',
155
+ color: 'white'
156
+ },
157
+ icon: /*#__PURE__*/_react.default.createElement(_Avatar.default, {
158
+ style: {
159
+ margin: 0
160
+ }
161
+ }, /*#__PURE__*/_react.default.createElement(_Schedule.default, null))
162
+ })))))), /*#__PURE__*/_react.default.createElement(_Grid.default, {
163
+ xs: 12,
164
+ item: true
165
+ }, /*#__PURE__*/_react.default.createElement(_Card.default, null, /*#__PURE__*/_react.default.createElement(_CardContent.default, null, "".concat(intl.formatMessage({
166
+ id: '__filter'
167
+ }), ": ").concat(filter.basicFilter)))))), open && /*#__PURE__*/_react.default.createElement(_Dialog.default, {
168
+ maxWidth: "xs",
169
+ onClose: () => this.setState({
170
+ open: false
171
+ }),
172
+ fullWidth: true,
173
+ open: true
174
+ }, /*#__PURE__*/_react.default.createElement(_CoreDialogueToolBar.default, {
175
+ title: intl.formatMessage({
176
+ id: '__add_shift_filter'
177
+ }),
178
+ handleClose: () => this.setState({
179
+ open: false
180
+ })
181
+ }), /*#__PURE__*/_react.default.createElement("div", {
182
+ style: {
183
+ display: 'flex',
184
+ flexDirection: 'column',
185
+ overflow: 'auto',
186
+ maxHeight: '160px'
187
+ }
188
+ }, /*#__PURE__*/_react.default.createElement(_List.default, {
189
+ component: "nav"
190
+ }, tags.map((tag, index) => /*#__PURE__*/_react.default.createElement(_ListItem.default, {
191
+ key: String(index),
192
+ onClick: () => this.updateFilters(tag.tag),
193
+ selected: filter.shiftTagFilters.includes(tag.tag)
194
+ }, "".concat(tag.tag, " (").concat(tag.count, ")")))))));
195
+ }
196
+ }
197
+ OldCoreShiftTagFilter.propTypes = {
198
+ hideAdvanced: _propTypes.default.bool,
199
+ intl: _propTypes.default.shape().isRequired,
200
+ filter: _propTypes.default.shape().isRequired,
201
+ updateFilter: _propTypes.default.func.isRequired,
202
+ tags: _propTypes.default.arrayOf(_propTypes.default.shape())
203
+ };
204
+ OldCoreShiftTagFilter.defaultProps = {
205
+ tags: [],
206
+ hideAdvanced: false
207
+ };
208
+ var _default = exports.default = (0, _reactIntl.injectIntl)(OldCoreShiftTagFilter);
@@ -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 _CoreShiftTagFilter.default;
10
+ }
11
+ });
12
+ var _CoreShiftTagFilter = _interopRequireDefault(require("./CoreShiftTagFilter"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }