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,275 @@
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 _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
11
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
12
+ var _Edit = _interopRequireDefault(require("@material-ui/icons/Edit"));
13
+ var _LocationOn = _interopRequireDefault(require("@material-ui/icons/LocationOn"));
14
+ var _LocalOffer = _interopRequireDefault(require("@material-ui/icons/LocalOffer"));
15
+ var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
16
+ var _Category = _interopRequireDefault(require("@material-ui/icons/Category"));
17
+ var _Switch = _interopRequireDefault(require("@material-ui/core/Switch"));
18
+ var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
19
+ var _propTypes = _interopRequireDefault(require("prop-types"));
20
+ var _Chip = _interopRequireDefault(require("@material-ui/core/Chip"));
21
+ var _TagFilterBuilder = _interopRequireDefault(require("./TagFilterBuilder"));
22
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
23
+ 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); }
24
+ 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; }
25
+ 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; }
26
+ 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; }
27
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
28
+ 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); }
29
+ // import { TrendingUpOutlined } from '@material-ui/icons';
30
+
31
+ /* eslint-disable no-nested-ternary */
32
+
33
+ class CoreTagFilter extends _react.Component {
34
+ constructor() {
35
+ super();
36
+ this.state = {
37
+ openDialog: false
38
+ };
39
+ }
40
+ updateFilter(newFilterProperties) {
41
+ if (this.props.updateFilter) {
42
+ // build new filter
43
+ const newFilter = _objectSpread(_objectSpread({}, this.props.filter), newFilterProperties);
44
+
45
+ // this function should take changes to the array and write the string filter each time
46
+ let newBasicFilter = '';
47
+ if (newFilter.baseFilter && newFilter.baseFilter.length > 0) {
48
+ newBasicFilter = "(".concat(newFilter.baseFilter, ")");
49
+ }
50
+
51
+ // join moduleTag and module location filters together using array.join(' OR ')
52
+ const moduleFilters = [...newFilter.moduleTagFilters, ...newFilter.moduleLocationFilters];
53
+ if (moduleFilters.length > 0) {
54
+ if (newBasicFilter.length > 0) {
55
+ newBasicFilter = "".concat(newBasicFilter, " AND (").concat(moduleFilters.join(' OR '), ")");
56
+ } else {
57
+ newBasicFilter = "(".concat(moduleFilters.join(' OR '), ")");
58
+ }
59
+ }
60
+ // if mpTag has elements add an AND and then joing those elemets with an ' OR '
61
+ const tagFilters = [...newFilter.monitoringPointTagFilters];
62
+ if (tagFilters.length > 0) {
63
+ if (newBasicFilter.length > 0) {
64
+ newBasicFilter = "".concat(newBasicFilter, " AND (").concat(tagFilters.join(' OR '), ")");
65
+ } else {
66
+ newBasicFilter = "(".concat(tagFilters.join(' OR '), ")");
67
+ }
68
+ }
69
+ // if mpType has elements, add an AND and then joing those elemets with an ' OR '
70
+ const typeFilters = [...newFilter.monitoringPointTypeFilters];
71
+ if (typeFilters.length > 0) {
72
+ if (newBasicFilter.length > 0) {
73
+ newBasicFilter = "".concat(newBasicFilter, " AND (").concat(typeFilters.join(' OR '), ")");
74
+ } else {
75
+ newBasicFilter = "(".concat(typeFilters.join(' OR '), ")");
76
+ }
77
+ }
78
+ // merge new basicFilter with newFilter properties and re-call function
79
+ this.props.updateFilter(_objectSpread(_objectSpread({}, this.props.filter), _objectSpread(_objectSpread({}, newFilterProperties), {}, {
80
+ basicFilter: newBasicFilter
81
+ })));
82
+ }
83
+ }
84
+ checkIfExists(collection, tag) {
85
+ const {
86
+ tags
87
+ } = this.props;
88
+ if (tags && tags[collection]) {
89
+ if (tags[collection].some(x => x.tag === tag)) {
90
+ return true;
91
+ }
92
+ }
93
+ return false;
94
+ }
95
+ renderFilter() {
96
+ const {
97
+ filter,
98
+ baseFilters
99
+ } = this.props;
100
+ const {
101
+ baseFilter,
102
+ moduleTagFilters,
103
+ moduleLocationFilters,
104
+ monitoringPointTagFilters,
105
+ monitoringPointTypeFilters
106
+ } = filter;
107
+ const haveBaseFilter = baseFilter && baseFilter.length > 0;
108
+ const showModuleAnd = (moduleTagFilters.length > 0 || moduleLocationFilters.length > 0) && haveBaseFilter;
109
+ const showLocOr = moduleTagFilters.length > 0 && moduleLocationFilters.length > 0;
110
+ const showMpTagAnd = (haveBaseFilter || moduleTagFilters.length > 0 || moduleLocationFilters.length > 0) && monitoringPointTagFilters.length > 0;
111
+ const showTypeAnd = (haveBaseFilter || moduleTagFilters.length > 0 || moduleLocationFilters.length > 0 || monitoringPointTagFilters.length > 0) && monitoringPointTypeFilters.length > 0;
112
+ let baseError = false;
113
+ if (baseFilter && baseFilter.length > 0) {
114
+ if (baseFilters === null || !baseFilters.includes(baseFilter)) {
115
+ baseError = true;
116
+ }
117
+ }
118
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, haveBaseFilter && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "(", /*#__PURE__*/_react.default.createElement(_Chip.default, {
119
+ label: baseFilter,
120
+ color: baseError ? 'secondary' : 'default'
121
+ }), ")"), showModuleAnd && /*#__PURE__*/_react.default.createElement("span", null, "\xA0AND\xA0"), (moduleTagFilters.length > 0 || moduleLocationFilters.length > 0) && /*#__PURE__*/_react.default.createElement("span", null, "(", moduleTagFilters.map((tag, index) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
122
+ key: "mtag_".concat(tag)
123
+ }, index !== 0 && /*#__PURE__*/_react.default.createElement("span", null, "\xA0OR\xA0"), /*#__PURE__*/_react.default.createElement(_Chip.default, {
124
+ icon: /*#__PURE__*/_react.default.createElement(_LocalOffer.default, null),
125
+ label: tag,
126
+ color: this.checkIfExists('moduleTags', tag) ? 'default' : 'secondary'
127
+ }))), showLocOr && /*#__PURE__*/_react.default.createElement("span", null, "\xA0OR\xA0"), moduleLocationFilters.map((tag, index) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
128
+ key: "mloc_".concat(tag)
129
+ }, index !== 0 && /*#__PURE__*/_react.default.createElement("span", null, "\xA0OR\xA0"), /*#__PURE__*/_react.default.createElement(_Chip.default, {
130
+ icon: /*#__PURE__*/_react.default.createElement(_LocationOn.default, null),
131
+ label: tag,
132
+ color: this.checkIfExists('locationTags', tag) ? 'default' : 'secondary'
133
+ }))), ")"), showMpTagAnd && /*#__PURE__*/_react.default.createElement("span", null, "\xA0AND\xA0"), monitoringPointTagFilters.length > 0 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "(", monitoringPointTagFilters.map((tag, index) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
134
+ key: "mptag_".concat(tag)
135
+ }, index !== 0 && /*#__PURE__*/_react.default.createElement("span", null, "\xA0OR\xA0"), /*#__PURE__*/_react.default.createElement(_Chip.default, {
136
+ icon: /*#__PURE__*/_react.default.createElement(_LocalOffer.default, null),
137
+ label: tag,
138
+ color: this.checkIfExists('monitoringPointTags', tag) ? 'default' : 'secondary'
139
+ }))), ")"), showTypeAnd && /*#__PURE__*/_react.default.createElement("span", null, "\xA0AND\xA0"), monitoringPointTypeFilters.length > 0 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "(", monitoringPointTypeFilters.map((tag, index) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
140
+ key: "mptype_".concat(tag)
141
+ }, index !== 0 && /*#__PURE__*/_react.default.createElement("span", null, "\xA0OR\xA0"), /*#__PURE__*/_react.default.createElement(_Chip.default, {
142
+ icon: /*#__PURE__*/_react.default.createElement(_Category.default, null),
143
+ label: tag,
144
+ color: this.checkIfExists('typeTags', tag) ? 'default' : 'secondary'
145
+ }))), ")"));
146
+ }
147
+ render() {
148
+ const {
149
+ intl,
150
+ tags,
151
+ filter,
152
+ hideModuleTagFilters,
153
+ hideModuleLocationFilters,
154
+ hideMonitoringPointTagFilters,
155
+ hideMonitoringPointTypeFilters,
156
+ hideAdvanced,
157
+ disabled,
158
+ customTitle,
159
+ baseFilters
160
+ } = this.props;
161
+ const {
162
+ openDialog
163
+ } = this.state;
164
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
165
+ style: {
166
+ display: 'flex',
167
+ alignItems: 'center'
168
+ }
169
+ }, customTitle !== null ? customTitle : /*#__PURE__*/_react.default.createElement(_Typography.default, {
170
+ variant: "h6",
171
+ style: {
172
+ flexGrow: 1
173
+ }
174
+ }, "Tag Filter"), !filter.isAdvanced && /*#__PURE__*/_react.default.createElement(_Button.default, {
175
+ variant: "outlined",
176
+ color: "secondary",
177
+ disabled: disabled,
178
+ onClick: () => this.setState({
179
+ openDialog: true
180
+ })
181
+ }, /*#__PURE__*/_react.default.createElement(_Edit.default, {
182
+ style: {
183
+ marginRight: 10
184
+ }
185
+ }), /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
186
+ id: "__edit"
187
+ })), !hideAdvanced && /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
188
+ style: {
189
+ marginLeft: 10
190
+ },
191
+ label: intl.formatMessage({
192
+ id: '__advanced'
193
+ }),
194
+ control: /*#__PURE__*/_react.default.createElement(_Switch.default, {
195
+ checked: filter.isAdvanced,
196
+ disabled: disabled,
197
+ onChange: event => this.props.updateFilter(_objectSpread(_objectSpread({}, filter), {}, {
198
+ isAdvanced: event.target.checked
199
+ }))
200
+ })
201
+ })), filter.isAdvanced ? /*#__PURE__*/_react.default.createElement(_TextField.default, {
202
+ variant: "outlined",
203
+ label: intl.formatMessage({
204
+ id: '__filter'
205
+ }),
206
+ value: filter.advancedFilter,
207
+ onChange: event => this.props.updateFilter(_objectSpread(_objectSpread({}, filter), {}, {
208
+ advancedFilter: event.target.value
209
+ })),
210
+ InputLabelProps: {
211
+ shrink: true
212
+ },
213
+ placeholder: "Type in the filter here... (ex: location_station_1 AND maintenance)",
214
+ margin: "normal",
215
+ fullWidth: true,
216
+ multiline: true,
217
+ disabled: disabled
218
+ }) : filter.basicFilter.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
219
+ style: {
220
+ margin: 5
221
+ }
222
+ }, this.renderFilter()) : /*#__PURE__*/_react.default.createElement("div", {
223
+ style: {
224
+ margin: 5
225
+ }
226
+ }, /*#__PURE__*/_react.default.createElement("i", null, "No filter set, everything will pass")), /*#__PURE__*/_react.default.createElement(_Dialog.default, {
227
+ maxWidth: "md",
228
+ open: openDialog,
229
+ onClose: () => this.setState({
230
+ openDialog: false
231
+ }),
232
+ fullWidth: true
233
+ }, /*#__PURE__*/_react.default.createElement(_TagFilterBuilder.default, {
234
+ tags: tags,
235
+ filter: filter,
236
+ updateFilter: change => this.updateFilter(change),
237
+ close: () => this.setState({
238
+ openDialog: false
239
+ }),
240
+ hideModuleTagFilters: hideModuleTagFilters,
241
+ hideModuleLocationFilters: hideModuleLocationFilters,
242
+ hideMonitoringPointTagFilters: hideMonitoringPointTagFilters,
243
+ hideMonitoringPointTypeFilters: hideMonitoringPointTypeFilters,
244
+ baseFilters: baseFilters
245
+ })));
246
+ }
247
+ }
248
+ CoreTagFilter.propTypes = {
249
+ tags: _propTypes.default.shape(),
250
+ hideAdvanced: _propTypes.default.bool,
251
+ intl: _propTypes.default.shape().isRequired,
252
+ filter: _propTypes.default.shape().isRequired,
253
+ hideModuleTagFilters: _propTypes.default.bool,
254
+ updateFilter: _propTypes.default.func.isRequired,
255
+ hideModuleLocationFilters: _propTypes.default.bool,
256
+ hideMonitoringPointTagFilters: _propTypes.default.bool,
257
+ hideMonitoringPointTypeFilters: _propTypes.default.bool,
258
+ disabled: _propTypes.default.bool,
259
+ // mandatoryTags: PropTypes.arrayOf(PropTypes.string),
260
+ customTitle: _propTypes.default.node,
261
+ baseFilters: _propTypes.default.arrayOf(_propTypes.default.string)
262
+ };
263
+ CoreTagFilter.defaultProps = {
264
+ tags: null,
265
+ // mandatoryTags: [],
266
+ hideAdvanced: false,
267
+ hideModuleTagFilters: false,
268
+ hideModuleLocationFilters: false,
269
+ hideMonitoringPointTagFilters: false,
270
+ hideMonitoringPointTypeFilters: false,
271
+ disabled: false,
272
+ customTitle: null,
273
+ baseFilters: null
274
+ };
275
+ var _default = exports.default = (0, _reactIntl.injectIntl)(CoreTagFilter);
@@ -0,0 +1,341 @@
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 _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
13
+ var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
14
+ var _NearMe = _interopRequireDefault(require("@material-ui/icons/NearMe"));
15
+ var _LocalOffer = _interopRequireDefault(require("@material-ui/icons/LocalOffer"));
16
+ var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
17
+ var _Category = _interopRequireDefault(require("@material-ui/icons/Category"));
18
+ var _Tooltip = _interopRequireDefault(require("@material-ui/core/Tooltip"));
19
+ var _Avatar = _interopRequireDefault(require("@material-ui/core/Avatar"));
20
+ var _Switch = _interopRequireDefault(require("@material-ui/core/Switch"));
21
+ var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
22
+ var _Add = _interopRequireDefault(require("@material-ui/icons/Add"));
23
+ var _Card = _interopRequireDefault(require("@material-ui/core/Card"));
24
+ var _Grid = _interopRequireDefault(require("@material-ui/core/Grid"));
25
+ var _propTypes = _interopRequireDefault(require("prop-types"));
26
+ var _OldTagFilterSelector = _interopRequireDefault(require("./OldTagFilterSelector"));
27
+ var _OldTagChip = _interopRequireDefault(require("./OldTagChip"));
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
+ const sortTagOptions = tagArray => {
36
+ const newArray = [];
37
+ // build the newArray by getting rid of duplicates
38
+ tagArray.forEach(tag => {
39
+ // if this tag is already in the array, add the counts together
40
+ if (newArray.includes(_tag => _tag.tag === tag.tag)) {
41
+ const index = newArray.findIndex(_tag => _tag.tag === tag.tag);
42
+ newArray[index].count += tag.count;
43
+ } else {
44
+ // otherwise add the tag
45
+ newArray.push(tag);
46
+ }
47
+ });
48
+ // sort the tags by count
49
+ newArray.sort((tagA, tagB) => tagB.count - tagA.count);
50
+ return newArray;
51
+ };
52
+ class OldCoreTagFilter extends _react.Component {
53
+ constructor() {
54
+ super();
55
+ this.state = {
56
+ openDialog: false,
57
+ menuTitle: ''
58
+ };
59
+ }
60
+ getTagOptions() {
61
+ const {
62
+ hideModuleTagFilters,
63
+ hideModuleLocationFilters,
64
+ hideMonitoringPointTagFilters,
65
+ hideMonitoringPointTypeFilters,
66
+ tags
67
+ } = this.props;
68
+ // build an array of objects with a title and tagArray
69
+ if (this.state.menuTitle === '__add_module_filter') {
70
+ const optionArray = [];
71
+ if (!hideModuleTagFilters) {
72
+ optionArray.push({
73
+ title: '__tags',
74
+ options: sortTagOptions(tags.moduleTags),
75
+ optionName: 'moduleTags',
76
+ filterArrayName: 'moduleTagFilters'
77
+ });
78
+ }
79
+ if (!hideModuleLocationFilters) {
80
+ optionArray.push({
81
+ title: '__locations',
82
+ options: sortTagOptions(tags.locationTags),
83
+ filterArrayName: 'moduleLocationFilters',
84
+ optionName: 'locationTags'
85
+ });
86
+ }
87
+ return optionArray;
88
+ }
89
+ if (this.state.menuTitle === '__add_monitoring_points_filter') {
90
+ const optionArray = [];
91
+ if (!hideMonitoringPointTagFilters) {
92
+ optionArray.push({
93
+ title: '__tags',
94
+ options: sortTagOptions(tags.monitoringPointTags),
95
+ filterArrayName: 'monitoringPointTagFilters',
96
+ optionName: 'monitoringPointTags'
97
+ });
98
+ }
99
+ if (!hideMonitoringPointTypeFilters) {
100
+ optionArray.push({
101
+ title: '__types',
102
+ options: sortTagOptions(tags.typeTags),
103
+ filterArrayName: 'monitoringPointTypeFilters',
104
+ optionName: 'typeTags'
105
+ });
106
+ }
107
+ return optionArray;
108
+ }
109
+ return [];
110
+ }
111
+ mapTags(arrayName, filterArray, icon, color, tooltip) {
112
+ const deleteTag = tag => {
113
+ const newTags = filterArray;
114
+ newTags.splice(newTags.findIndex(_tag => _tag === tag), 1);
115
+ this.updateFilter({
116
+ [arrayName]: newTags
117
+ });
118
+ };
119
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filterArray.map((tag, index) => /*#__PURE__*/_react.default.createElement(_OldTagChip.default, {
120
+ tag: tag,
121
+ color: color,
122
+ key: String(index),
123
+ deleteTag: () => deleteTag(tag),
124
+ showDelete: !this.props.mandatoryTags.includes(tag),
125
+ icon: /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
126
+ title: this.props.intl.formatMessage({
127
+ id: tooltip
128
+ })
129
+ }, /*#__PURE__*/_react.default.createElement(_Avatar.default, null, icon))
130
+ })));
131
+ }
132
+ handleMenu(open, title) {
133
+ this.setState({
134
+ openDialog: open,
135
+ menuTitle: title
136
+ });
137
+ }
138
+ updateFilter(newFilterProperties) {
139
+ if (this.props.updateFilter) {
140
+ // this function should take changes to the array and write the string filter each time
141
+ let newBasicFilter = '';
142
+ // build new filter
143
+ const newFilter = _objectSpread(_objectSpread({}, this.props.filter), newFilterProperties);
144
+ // join moduleTag and module location filters together using array.join(' OR ')
145
+ const moduleFilters = [...newFilter.moduleTagFilters, ...newFilter.moduleLocationFilters];
146
+ if (moduleFilters.length > 0) {
147
+ newBasicFilter = "(".concat(moduleFilters.join(' OR '), ")");
148
+ }
149
+ // if mpType has elements, add an AND and then joing those elemets with an ' OR '
150
+ const typeFilters = [...newFilter.monitoringPointTypeFilters];
151
+ if (typeFilters.length > 0) {
152
+ if (moduleFilters.length > 0) {
153
+ newBasicFilter = "".concat(newBasicFilter, " AND (").concat(typeFilters.join(' OR '), ")");
154
+ } else {
155
+ newBasicFilter = "(".concat(typeFilters.join(' OR '), ")");
156
+ }
157
+ }
158
+ // if mpTag has elements add an AND and then joing those elemets with an ' OR '
159
+ const tagFilters = [...newFilter.monitoringPointTagFilters];
160
+ if (tagFilters.length > 0) {
161
+ if (moduleFilters.length > 0 || typeFilters.length > 0) {
162
+ newBasicFilter = "".concat(newBasicFilter, " AND (").concat(tagFilters.join(' OR '), ")");
163
+ } else {
164
+ newBasicFilter = "(".concat(tagFilters.join(' OR '), ")");
165
+ }
166
+ }
167
+ // merge new basicFilter with newFilter properties and re-call function
168
+ this.props.updateFilter(_objectSpread(_objectSpread({}, this.props.filter), _objectSpread(_objectSpread({}, newFilterProperties), {}, {
169
+ basicFilter: newBasicFilter
170
+ })));
171
+ }
172
+ }
173
+ render() {
174
+ const {
175
+ intl,
176
+ filter,
177
+ hideModuleTagFilters,
178
+ hideModuleLocationFilters,
179
+ hideMonitoringPointTagFilters,
180
+ hideMonitoringPointTypeFilters,
181
+ hideAdvanced
182
+ } = this.props;
183
+ const {
184
+ openDialog,
185
+ menuTitle
186
+ } = this.state;
187
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Grid.default, {
188
+ spacing: 2,
189
+ container: true
190
+ }, !hideAdvanced && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Grid.default, {
191
+ align: "center",
192
+ xs: 8,
193
+ item: true
194
+ }), /*#__PURE__*/_react.default.createElement(_Grid.default, {
195
+ align: "center",
196
+ xs: 4,
197
+ item: true
198
+ }, /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
199
+ labelPlacement: "bottom",
200
+ label: intl.formatMessage({
201
+ id: '__advanced'
202
+ }),
203
+ control: /*#__PURE__*/_react.default.createElement(_Switch.default, {
204
+ checked: filter.isAdvanced,
205
+ onChange: event => this.props.updateFilter(_objectSpread(_objectSpread({}, filter), {}, {
206
+ isAdvanced: event.target.checked
207
+ }))
208
+ })
209
+ }))), filter.isAdvanced ? /*#__PURE__*/_react.default.createElement(_Grid.default, {
210
+ xs: 12,
211
+ item: true
212
+ }, /*#__PURE__*/_react.default.createElement(_TextField.default, {
213
+ variant: "outlined",
214
+ value: filter.advancedFilter,
215
+ label: intl.formatMessage({
216
+ id: '__filter'
217
+ }),
218
+ onChange: event => this.props.updateFilter(_objectSpread(_objectSpread({}, filter), {}, {
219
+ advancedFilter: event.target.value
220
+ })),
221
+ fullWidth: true,
222
+ multiline: true
223
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (!hideModuleTagFilters || !hideModuleLocationFilters) && /*#__PURE__*/_react.default.createElement(_Grid.default, {
224
+ xs: 6,
225
+ item: true
226
+ }, /*#__PURE__*/_react.default.createElement(_Card.default, null, /*#__PURE__*/_react.default.createElement(_CardContent.default, null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
227
+ variant: "h6",
228
+ style: {
229
+ float: 'left'
230
+ }
231
+ }, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
232
+ id: "__modules"
233
+ })), /*#__PURE__*/_react.default.createElement("div", {
234
+ style: {
235
+ float: 'right'
236
+ }
237
+ }, (filter.moduleLocationFilters.length > 0 || filter.moduleTagFilters.length > 0) && /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
238
+ title: intl.formatMessage({
239
+ id: '__empty_filter'
240
+ })
241
+ }, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
242
+ onClick: event => this.updateFilter({
243
+ moduleLocationFilters: [],
244
+ moduleTagFilters: []
245
+ })
246
+ }, /*#__PURE__*/_react.default.createElement(_DeleteSweep.default, null))), /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
247
+ title: intl.formatMessage({
248
+ id: '__add_module_filter'
249
+ })
250
+ }, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
251
+ onClick: event => this.handleMenu(true, '__add_module_filter')
252
+ }, /*#__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.moduleLocationFilters.length > 0 || filter.moduleTagFilters.length > 0) && /*#__PURE__*/_react.default.createElement("div", {
253
+ style: {
254
+ display: 'flex',
255
+ flexDirection: 'column',
256
+ overflow: 'auto',
257
+ maxHeight: '160px'
258
+ }
259
+ }, this.mapTags('moduleLocationFilters', filter.moduleLocationFilters, /*#__PURE__*/_react.default.createElement(_NearMe.default, null), 'darkorange', '__location_tags'), this.mapTags('moduleTagFilters', filter.moduleTagFilters, /*#__PURE__*/_react.default.createElement(_LocalOffer.default, null), '#005A96', '__tags'))))), (!hideMonitoringPointTagFilters || !hideMonitoringPointTypeFilters) && /*#__PURE__*/_react.default.createElement(_Grid.default, {
260
+ xs: 6,
261
+ item: true
262
+ }, /*#__PURE__*/_react.default.createElement(_Card.default, null, /*#__PURE__*/_react.default.createElement(_CardContent.default, null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
263
+ variant: "h6",
264
+ style: {
265
+ float: 'left'
266
+ }
267
+ }, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
268
+ id: "__monitoring_points"
269
+ })), /*#__PURE__*/_react.default.createElement("div", {
270
+ style: {
271
+ float: 'right'
272
+ }
273
+ }, (filter.monitoringPointTagFilters.length > 0 || filter.monitoringPointTypeFilters.length > 0) && /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
274
+ title: intl.formatMessage({
275
+ id: '__empty_filter'
276
+ })
277
+ }, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
278
+ onClick: event => {
279
+ event.stopPropagation();
280
+ this.updateFilter({
281
+ monitoringPointTagFilters: [],
282
+ monitoringPointTypeFilters: []
283
+ });
284
+ }
285
+ }, /*#__PURE__*/_react.default.createElement(_DeleteSweep.default, null))), /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
286
+ title: intl.formatMessage({
287
+ id: '__add_monitoring_points_filter'
288
+ })
289
+ }, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
290
+ onClick: event => {
291
+ event.stopPropagation();
292
+ this.handleMenu(true, '__add_monitoring_points_filter');
293
+ }
294
+ }, /*#__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.monitoringPointTagFilters.length > 0 || filter.monitoringPointTypeFilters.length > 0) && /*#__PURE__*/_react.default.createElement("div", {
295
+ style: {
296
+ display: 'flex',
297
+ flexDirection: 'column',
298
+ overflow: 'auto',
299
+ maxHeight: '160px'
300
+ }
301
+ }, this.mapTags('monitoringPointTypeFilters', filter.monitoringPointTypeFilters, /*#__PURE__*/_react.default.createElement(_Category.default, null), 'green', '__type_tags'), this.mapTags('monitoringPointTagFilters', filter.monitoringPointTagFilters, /*#__PURE__*/_react.default.createElement(_LocalOffer.default, null), '#005A96', '__tags'))))), /*#__PURE__*/_react.default.createElement(_Grid.default, {
302
+ xs: 12,
303
+ item: true
304
+ }, /*#__PURE__*/_react.default.createElement(_Card.default, null, /*#__PURE__*/_react.default.createElement(_CardContent.default, null, "".concat(intl.formatMessage({
305
+ id: '__filter'
306
+ }), ": ").concat(filter.basicFilter)))))), /*#__PURE__*/_react.default.createElement(_Dialog.default, {
307
+ maxWidth: "xs",
308
+ open: openDialog,
309
+ onClose: () => this.handleMenu(false, '__close'),
310
+ fullWidth: true
311
+ }, /*#__PURE__*/_react.default.createElement(_OldTagFilterSelector.default, {
312
+ filter: filter,
313
+ title: menuTitle,
314
+ tagOptions: this.getTagOptions(),
315
+ onClose: () => this.handleMenu(false, '__close'),
316
+ updateFilter: newFilterProperties => this.updateFilter(newFilterProperties)
317
+ })));
318
+ }
319
+ }
320
+ OldCoreTagFilter.propTypes = {
321
+ tags: _propTypes.default.shape(),
322
+ hideAdvanced: _propTypes.default.bool,
323
+ intl: _propTypes.default.shape().isRequired,
324
+ filter: _propTypes.default.shape().isRequired,
325
+ hideModuleTagFilters: _propTypes.default.bool,
326
+ updateFilter: _propTypes.default.func.isRequired,
327
+ hideModuleLocationFilters: _propTypes.default.bool,
328
+ hideMonitoringPointTagFilters: _propTypes.default.bool,
329
+ hideMonitoringPointTypeFilters: _propTypes.default.bool,
330
+ mandatoryTags: _propTypes.default.arrayOf(_propTypes.default.string)
331
+ };
332
+ OldCoreTagFilter.defaultProps = {
333
+ tags: null,
334
+ mandatoryTags: [],
335
+ hideAdvanced: false,
336
+ hideModuleTagFilters: false,
337
+ hideModuleLocationFilters: false,
338
+ hideMonitoringPointTagFilters: false,
339
+ hideMonitoringPointTypeFilters: false
340
+ };
341
+ var _default = exports.default = (0, _reactIntl.injectIntl)(OldCoreTagFilter);
@@ -0,0 +1,44 @@
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 _Chip = _interopRequireDefault(require("@material-ui/core/Chip"));
9
+ var _reactIntl = require("react-intl");
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ function OldTagChip(props) {
13
+ const {
14
+ tag,
15
+ deleteTag,
16
+ icon,
17
+ color,
18
+ showDelete
19
+ } = props;
20
+ return /*#__PURE__*/_react.default.createElement(_Chip.default, {
21
+ label: tag,
22
+ avatar: icon,
23
+ onDelete: showDelete ? () => deleteTag() : () => {},
24
+ deleteIcon: showDelete ? null : /*#__PURE__*/_react.default.createElement("span", {
25
+ style: {
26
+ width: '1px'
27
+ }
28
+ }),
29
+ style: {
30
+ margin: '2px 0',
31
+ justifyContent: 'space-between',
32
+ backgroundColor: color,
33
+ color: 'white'
34
+ }
35
+ });
36
+ }
37
+ OldTagChip.propTypes = {
38
+ tag: _propTypes.default.string.isRequired,
39
+ icon: _propTypes.default.element.isRequired,
40
+ color: _propTypes.default.string.isRequired,
41
+ deleteTag: _propTypes.default.func.isRequired,
42
+ showDelete: _propTypes.default.bool.isRequired
43
+ };
44
+ var _default = exports.default = (0, _reactIntl.injectIntl)(OldTagChip);