versacall-core-library-react 2.0.60 → 2.0.62

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.
@@ -257,6 +257,7 @@ var CoreShiftTagFilter = /*#__PURE__*/function (_Component) {
257
257
  intl = _this$props.intl,
258
258
  filter = _this$props.filter,
259
259
  hideAdvanced = _this$props.hideAdvanced,
260
+ disabled = _this$props.disabled,
260
261
  tags = _this$props.tags,
261
262
  customTitle = _this$props.customTitle;
262
263
  var _this$state = this.state,
@@ -291,6 +292,7 @@ var CoreShiftTagFilter = /*#__PURE__*/function (_Component) {
291
292
  })), !filter.isAdvanced && /*#__PURE__*/_react.default.createElement(_Button.default, {
292
293
  variant: "outlined",
293
294
  color: "secondary",
295
+ disabled: disabled,
294
296
  onClick: function onClick() {
295
297
  return _this4.setState({
296
298
  open: true
@@ -307,6 +309,7 @@ var CoreShiftTagFilter = /*#__PURE__*/function (_Component) {
307
309
  }),
308
310
  control: /*#__PURE__*/_react.default.createElement(_Switch.default, {
309
311
  checked: filter.isAdvanced,
312
+ disabled: disabled,
310
313
  onChange: function onChange(event) {
311
314
  return _this4.props.updateFilter(_objectSpread(_objectSpread({}, filter), {}, {
312
315
  isAdvanced: event.target.checked
@@ -330,7 +333,8 @@ var CoreShiftTagFilter = /*#__PURE__*/function (_Component) {
330
333
  placeholder: "Type in the filter here... (ex: first OR second)",
331
334
  margin: "normal",
332
335
  fullWidth: true,
333
- multiline: true
336
+ multiline: true,
337
+ disabled: disabled
334
338
  }) : filter.basicFilter.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
335
339
  style: {
336
340
  margin: 5
@@ -448,6 +452,7 @@ var CoreShiftTagFilter = /*#__PURE__*/function (_Component) {
448
452
 
449
453
  CoreShiftTagFilter.propTypes = {
450
454
  hideAdvanced: _propTypes.default.bool,
455
+ disabled: _propTypes.default.bool,
451
456
  intl: _propTypes.default.shape().isRequired,
452
457
  filter: _propTypes.default.shape().isRequired,
453
458
  updateFilter: _propTypes.default.func.isRequired,
@@ -457,6 +462,7 @@ CoreShiftTagFilter.propTypes = {
457
462
  CoreShiftTagFilter.defaultProps = {
458
463
  tags: [],
459
464
  hideAdvanced: false,
465
+ disabled: false,
460
466
  customTitle: null
461
467
  };
462
468
 
@@ -105,23 +105,32 @@ var CoreTagFilter = /*#__PURE__*/function (_Component) {
105
105
  key: "updateFilter",
106
106
  value: function updateFilter(newFilterProperties) {
107
107
  if (this.props.updateFilter) {
108
- // this function should take changes to the array and write the string filter each time
109
- var newBasicFilter = ''; // build new filter
108
+ // build new filter
109
+ var newFilter = _objectSpread(_objectSpread({}, this.props.filter), newFilterProperties); // this function should take changes to the array and write the string filter each time
110
110
 
111
- var newFilter = _objectSpread(_objectSpread({}, this.props.filter), newFilterProperties); // join moduleTag and module location filters together using array.join(' OR ')
111
+
112
+ var newBasicFilter = '';
113
+
114
+ if (newFilter.baseFilter && newFilter.baseFilter.length > 0) {
115
+ newBasicFilter = "(".concat(newFilter.baseFilter, ")");
116
+ } // join moduleTag and module location filters together using array.join(' OR ')
112
117
 
113
118
 
114
119
  var moduleFilters = [].concat(_toConsumableArray(newFilter.moduleTagFilters), _toConsumableArray(newFilter.moduleLocationFilters));
115
120
 
116
121
  if (moduleFilters.length > 0) {
117
- newBasicFilter = "(".concat(moduleFilters.join(' OR '), ")");
122
+ if (newBasicFilter.length > 0) {
123
+ newBasicFilter = "".concat(newBasicFilter, " AND (").concat(moduleFilters.join(' OR '), ")");
124
+ } else {
125
+ newBasicFilter = "(".concat(moduleFilters.join(' OR '), ")");
126
+ }
118
127
  } // if mpType has elements, add an AND and then joing those elemets with an ' OR '
119
128
 
120
129
 
121
130
  var typeFilters = _toConsumableArray(newFilter.monitoringPointTypeFilters);
122
131
 
123
132
  if (typeFilters.length > 0) {
124
- if (moduleFilters.length > 0) {
133
+ if (newBasicFilter.length > 0) {
125
134
  newBasicFilter = "".concat(newBasicFilter, " AND (").concat(typeFilters.join(' OR '), ")");
126
135
  } else {
127
136
  newBasicFilter = "(".concat(typeFilters.join(' OR '), ")");
@@ -132,7 +141,7 @@ var CoreTagFilter = /*#__PURE__*/function (_Component) {
132
141
  var tagFilters = _toConsumableArray(newFilter.monitoringPointTagFilters);
133
142
 
134
143
  if (tagFilters.length > 0) {
135
- if (moduleFilters.length > 0 || typeFilters.length > 0) {
144
+ if (newBasicFilter.length > 0) {
136
145
  newBasicFilter = "".concat(newBasicFilter, " AND (").concat(tagFilters.join(' OR '), ")");
137
146
  } else {
138
147
  newBasicFilter = "(".concat(tagFilters.join(' OR '), ")");
@@ -165,15 +174,30 @@ var CoreTagFilter = /*#__PURE__*/function (_Component) {
165
174
  value: function renderFilter() {
166
175
  var _this2 = this;
167
176
 
168
- var filter = this.props.filter;
169
- var moduleTagFilters = filter.moduleTagFilters,
177
+ var _this$props = this.props,
178
+ filter = _this$props.filter,
179
+ baseFilters = _this$props.baseFilters;
180
+ var baseFilter = filter.baseFilter,
181
+ moduleTagFilters = filter.moduleTagFilters,
170
182
  moduleLocationFilters = filter.moduleLocationFilters,
171
183
  monitoringPointTagFilters = filter.monitoringPointTagFilters,
172
184
  monitoringPointTypeFilters = filter.monitoringPointTypeFilters;
185
+ var showBaseAnd = baseFilter && baseFilter.length > 0;
173
186
  var showLocOr = moduleTagFilters.length > 0 && moduleLocationFilters.length > 0;
174
187
  var showMpTagAnd = (moduleTagFilters.length > 0 || moduleLocationFilters.length > 0) && monitoringPointTagFilters.length > 0;
175
188
  var showTypeAnd = (moduleTagFilters.length > 0 || moduleLocationFilters.length > 0 || monitoringPointTagFilters.length > 0) && monitoringPointTypeFilters.length > 0;
176
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (moduleTagFilters.length > 0 || moduleLocationFilters.length > 0) && /*#__PURE__*/_react.default.createElement("span", null, "(", moduleTagFilters.map(function (tag, index) {
189
+ var baseError = false;
190
+
191
+ if (showBaseAnd) {
192
+ if (baseFilters === null || !baseFilters.includes(baseFilter)) {
193
+ baseError = true;
194
+ }
195
+ }
196
+
197
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, showBaseAnd && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "(", /*#__PURE__*/_react.default.createElement(_Chip.default, {
198
+ label: baseFilter,
199
+ color: baseError ? 'secondary' : 'default'
200
+ }), ")"), showBaseAnd && /*#__PURE__*/_react.default.createElement("span", null, "\xA0AND\xA0"), (moduleTagFilters.length > 0 || moduleLocationFilters.length > 0) && /*#__PURE__*/_react.default.createElement("span", null, "(", moduleTagFilters.map(function (tag, index) {
177
201
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
178
202
  key: "mtag_".concat(tag)
179
203
  }, index !== 0 && /*#__PURE__*/_react.default.createElement("span", null, "\xA0OR\xA0"), /*#__PURE__*/_react.default.createElement(_Chip.default, {
@@ -212,16 +236,18 @@ var CoreTagFilter = /*#__PURE__*/function (_Component) {
212
236
  value: function render() {
213
237
  var _this3 = this;
214
238
 
215
- var _this$props = this.props,
216
- intl = _this$props.intl,
217
- tags = _this$props.tags,
218
- filter = _this$props.filter,
219
- hideModuleTagFilters = _this$props.hideModuleTagFilters,
220
- hideModuleLocationFilters = _this$props.hideModuleLocationFilters,
221
- hideMonitoringPointTagFilters = _this$props.hideMonitoringPointTagFilters,
222
- hideMonitoringPointTypeFilters = _this$props.hideMonitoringPointTypeFilters,
223
- hideAdvanced = _this$props.hideAdvanced,
224
- customTitle = _this$props.customTitle;
239
+ var _this$props2 = this.props,
240
+ intl = _this$props2.intl,
241
+ tags = _this$props2.tags,
242
+ filter = _this$props2.filter,
243
+ hideModuleTagFilters = _this$props2.hideModuleTagFilters,
244
+ hideModuleLocationFilters = _this$props2.hideModuleLocationFilters,
245
+ hideMonitoringPointTagFilters = _this$props2.hideMonitoringPointTagFilters,
246
+ hideMonitoringPointTypeFilters = _this$props2.hideMonitoringPointTypeFilters,
247
+ hideAdvanced = _this$props2.hideAdvanced,
248
+ disabled = _this$props2.disabled,
249
+ customTitle = _this$props2.customTitle,
250
+ baseFilters = _this$props2.baseFilters;
225
251
  var openDialog = this.state.openDialog;
226
252
  return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
227
253
  style: {
@@ -236,6 +262,7 @@ var CoreTagFilter = /*#__PURE__*/function (_Component) {
236
262
  }, "Tag Filter"), !filter.isAdvanced && /*#__PURE__*/_react.default.createElement(_Button.default, {
237
263
  variant: "outlined",
238
264
  color: "secondary",
265
+ disabled: disabled,
239
266
  onClick: function onClick() {
240
267
  return _this3.setState({
241
268
  openDialog: true
@@ -256,6 +283,7 @@ var CoreTagFilter = /*#__PURE__*/function (_Component) {
256
283
  }),
257
284
  control: /*#__PURE__*/_react.default.createElement(_Switch.default, {
258
285
  checked: filter.isAdvanced,
286
+ disabled: disabled,
259
287
  onChange: function onChange(event) {
260
288
  return _this3.props.updateFilter(_objectSpread(_objectSpread({}, filter), {}, {
261
289
  isAdvanced: event.target.checked
@@ -279,7 +307,8 @@ var CoreTagFilter = /*#__PURE__*/function (_Component) {
279
307
  placeholder: "Type in the filter here... (ex: location_station_1 AND maintenance)",
280
308
  margin: "normal",
281
309
  fullWidth: true,
282
- multiline: true
310
+ multiline: true,
311
+ disabled: disabled
283
312
  }) : filter.basicFilter.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
284
313
  style: {
285
314
  margin: 5
@@ -311,7 +340,8 @@ var CoreTagFilter = /*#__PURE__*/function (_Component) {
311
340
  hideModuleTagFilters: hideModuleTagFilters,
312
341
  hideModuleLocationFilters: hideModuleLocationFilters,
313
342
  hideMonitoringPointTagFilters: hideMonitoringPointTagFilters,
314
- hideMonitoringPointTypeFilters: hideMonitoringPointTypeFilters
343
+ hideMonitoringPointTypeFilters: hideMonitoringPointTypeFilters,
344
+ baseFilters: baseFilters
315
345
  })));
316
346
  }
317
347
  }]);
@@ -329,8 +359,10 @@ CoreTagFilter.propTypes = {
329
359
  hideModuleLocationFilters: _propTypes.default.bool,
330
360
  hideMonitoringPointTagFilters: _propTypes.default.bool,
331
361
  hideMonitoringPointTypeFilters: _propTypes.default.bool,
362
+ disabled: _propTypes.default.bool,
332
363
  // mandatoryTags: PropTypes.arrayOf(PropTypes.string),
333
- customTitle: _propTypes.default.node
364
+ customTitle: _propTypes.default.node,
365
+ baseFilters: _propTypes.default.arrayOf(_propTypes.default.string)
334
366
  };
335
367
  CoreTagFilter.defaultProps = {
336
368
  tags: null,
@@ -340,7 +372,9 @@ CoreTagFilter.defaultProps = {
340
372
  hideModuleLocationFilters: false,
341
373
  hideMonitoringPointTagFilters: false,
342
374
  hideMonitoringPointTypeFilters: false,
343
- customTitle: null
375
+ disabled: false,
376
+ customTitle: null,
377
+ baseFilters: null
344
378
  };
345
379
 
346
380
  var _default = (0, _reactIntl.injectIntl)(CoreTagFilter);
@@ -146,7 +146,8 @@ function TagFilterBuilder(props) {
146
146
  hideModuleTagFilters = props.hideModuleTagFilters,
147
147
  hideModuleLocationFilters = props.hideModuleLocationFilters,
148
148
  hideMonitoringPointTagFilters = props.hideMonitoringPointTagFilters,
149
- hideMonitoringPointTypeFilters = props.hideMonitoringPointTypeFilters;
149
+ hideMonitoringPointTypeFilters = props.hideMonitoringPointTypeFilters,
150
+ baseFilters = props.baseFilters;
150
151
 
151
152
  var updateSearch = function updateSearch(value) {
152
153
  if (value.length > 0) {
@@ -390,7 +391,39 @@ function TagFilterBuilder(props) {
390
391
  style: {
391
392
  flexGrow: 1
392
393
  }
393
- }, "Tag Filter Builder"), /*#__PURE__*/_react.default.createElement(_TextField.default, {
394
+ }, "Tag Filter Builder"), baseFilters && /*#__PURE__*/_react.default.createElement("div", {
395
+ style: {
396
+ minWidth: 200,
397
+ marginRight: 10
398
+ }
399
+ }, /*#__PURE__*/_react.default.createElement(_TextField.default, {
400
+ variant: "outlined",
401
+ label: "Base Filter",
402
+ InputLabelProps: {
403
+ shrink: true
404
+ },
405
+ value: filter.baseFilter ? filter.baseFilter : '',
406
+ onChange: function onChange(e) {
407
+ return updateFilter(_objectSpread(_objectSpread({}, filter), {}, {
408
+ baseFilter: e.target.value
409
+ }));
410
+ },
411
+ select: true,
412
+ SelectProps: {
413
+ displayEmpty: true
414
+ },
415
+ fullWidth: true,
416
+ size: "small"
417
+ }, /*#__PURE__*/_react.default.createElement("option", {
418
+ value: "",
419
+ style: {
420
+ fontStyle: 'italic'
421
+ }
422
+ }, "NONE"), baseFilters.map(function (bFilter, bfIndex) {
423
+ return /*#__PURE__*/_react.default.createElement("option", {
424
+ value: bFilter
425
+ }, bFilter);
426
+ }))), /*#__PURE__*/_react.default.createElement(_TextField.default, {
394
427
  id: "searchbar",
395
428
  placeholder: "Search...",
396
429
  value: search,
@@ -603,7 +636,11 @@ TagFilterBuilder.propTypes = {
603
636
  hideModuleTagFilters: _propTypes.default.bool.isRequired,
604
637
  hideModuleLocationFilters: _propTypes.default.bool.isRequired,
605
638
  hideMonitoringPointTagFilters: _propTypes.default.bool.isRequired,
606
- hideMonitoringPointTypeFilters: _propTypes.default.bool.isRequired
639
+ hideMonitoringPointTypeFilters: _propTypes.default.bool.isRequired,
640
+ baseFilters: _propTypes.default.arrayOf(_propTypes.default.string)
641
+ };
642
+ TagFilterBuilder.defaultProps = {
643
+ baseFilters: null
607
644
  };
608
645
 
609
646
  var _default = (0, _reactIntl.injectIntl)(TagFilterBuilder);
package/package.json CHANGED
@@ -2,10 +2,10 @@
2
2
  "versacall": {
3
3
  "title": "Versacall Core Library React",
4
4
  "applicationType": "react-library",
5
- "build": 60
5
+ "build": 62
6
6
  },
7
7
  "name": "versacall-core-library-react",
8
- "version": "2.0.60",
8
+ "version": "2.0.62",
9
9
  "description": "Versacall Core Library",
10
10
  "main": "dist/index.js",
11
11
  "module": "dist/index.js",