versacall-core-library-react 2.0.61 → 2.0.63

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.
@@ -105,26 +105,24 @@ 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 ')
112
111
 
112
+ var newBasicFilter = '';
113
113
 
114
- var moduleFilters = [].concat(_toConsumableArray(newFilter.moduleTagFilters), _toConsumableArray(newFilter.moduleLocationFilters));
115
-
116
- if (moduleFilters.length > 0) {
117
- newBasicFilter = "(".concat(moduleFilters.join(' OR '), ")");
118
- } // if mpType has elements, add an AND and then joing those elemets with an ' OR '
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 ')
119
117
 
120
118
 
121
- var typeFilters = _toConsumableArray(newFilter.monitoringPointTypeFilters);
119
+ var moduleFilters = [].concat(_toConsumableArray(newFilter.moduleTagFilters), _toConsumableArray(newFilter.moduleLocationFilters));
122
120
 
123
- if (typeFilters.length > 0) {
124
- if (moduleFilters.length > 0) {
125
- newBasicFilter = "".concat(newBasicFilter, " AND (").concat(typeFilters.join(' OR '), ")");
121
+ if (moduleFilters.length > 0) {
122
+ if (newBasicFilter.length > 0) {
123
+ newBasicFilter = "".concat(newBasicFilter, " AND (").concat(moduleFilters.join(' OR '), ")");
126
124
  } else {
127
- newBasicFilter = "(".concat(typeFilters.join(' OR '), ")");
125
+ newBasicFilter = "(".concat(moduleFilters.join(' OR '), ")");
128
126
  }
129
127
  } // if mpTag has elements add an AND and then joing those elemets with an ' OR '
130
128
 
@@ -132,11 +130,22 @@ var CoreTagFilter = /*#__PURE__*/function (_Component) {
132
130
  var tagFilters = _toConsumableArray(newFilter.monitoringPointTagFilters);
133
131
 
134
132
  if (tagFilters.length > 0) {
135
- if (moduleFilters.length > 0 || typeFilters.length > 0) {
133
+ if (newBasicFilter.length > 0) {
136
134
  newBasicFilter = "".concat(newBasicFilter, " AND (").concat(tagFilters.join(' OR '), ")");
137
135
  } else {
138
136
  newBasicFilter = "(".concat(tagFilters.join(' OR '), ")");
139
137
  }
138
+ } // if mpType has elements, add an AND and then joing those elemets with an ' OR '
139
+
140
+
141
+ var typeFilters = _toConsumableArray(newFilter.monitoringPointTypeFilters);
142
+
143
+ if (typeFilters.length > 0) {
144
+ if (newBasicFilter.length > 0) {
145
+ newBasicFilter = "".concat(newBasicFilter, " AND (").concat(typeFilters.join(' OR '), ")");
146
+ } else {
147
+ newBasicFilter = "(".concat(typeFilters.join(' OR '), ")");
148
+ }
140
149
  } // merge new basicFilter with newFilter properties and re-call function
141
150
 
142
151
 
@@ -165,15 +174,31 @@ 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 haveBaseFilter = baseFilter && baseFilter.length > 0;
186
+ var showModuleAnd = (moduleTagFilters.length > 0 || moduleLocationFilters.length > 0) && haveBaseFilter;
173
187
  var showLocOr = moduleTagFilters.length > 0 && moduleLocationFilters.length > 0;
174
- var showMpTagAnd = (moduleTagFilters.length > 0 || moduleLocationFilters.length > 0) && monitoringPointTagFilters.length > 0;
175
- 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) {
188
+ var showMpTagAnd = (haveBaseFilter || moduleTagFilters.length > 0 || moduleLocationFilters.length > 0) && monitoringPointTagFilters.length > 0;
189
+ var showTypeAnd = (haveBaseFilter || moduleTagFilters.length > 0 || moduleLocationFilters.length > 0 || monitoringPointTagFilters.length > 0) && monitoringPointTypeFilters.length > 0;
190
+ var baseError = false;
191
+
192
+ if (baseFilter && baseFilter.length > 0) {
193
+ if (baseFilters === null || !baseFilters.includes(baseFilter)) {
194
+ baseError = true;
195
+ }
196
+ }
197
+
198
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, haveBaseFilter && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "(", /*#__PURE__*/_react.default.createElement(_Chip.default, {
199
+ label: baseFilter,
200
+ color: baseError ? 'secondary' : 'default'
201
+ }), ")"), showModuleAnd && /*#__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
202
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
178
203
  key: "mtag_".concat(tag)
179
204
  }, index !== 0 && /*#__PURE__*/_react.default.createElement("span", null, "\xA0OR\xA0"), /*#__PURE__*/_react.default.createElement(_Chip.default, {
@@ -212,17 +237,18 @@ var CoreTagFilter = /*#__PURE__*/function (_Component) {
212
237
  value: function render() {
213
238
  var _this3 = this;
214
239
 
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
- disabled = _this$props.disabled,
225
- customTitle = _this$props.customTitle;
240
+ var _this$props2 = this.props,
241
+ intl = _this$props2.intl,
242
+ tags = _this$props2.tags,
243
+ filter = _this$props2.filter,
244
+ hideModuleTagFilters = _this$props2.hideModuleTagFilters,
245
+ hideModuleLocationFilters = _this$props2.hideModuleLocationFilters,
246
+ hideMonitoringPointTagFilters = _this$props2.hideMonitoringPointTagFilters,
247
+ hideMonitoringPointTypeFilters = _this$props2.hideMonitoringPointTypeFilters,
248
+ hideAdvanced = _this$props2.hideAdvanced,
249
+ disabled = _this$props2.disabled,
250
+ customTitle = _this$props2.customTitle,
251
+ baseFilters = _this$props2.baseFilters;
226
252
  var openDialog = this.state.openDialog;
227
253
  return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
228
254
  style: {
@@ -315,7 +341,8 @@ var CoreTagFilter = /*#__PURE__*/function (_Component) {
315
341
  hideModuleTagFilters: hideModuleTagFilters,
316
342
  hideModuleLocationFilters: hideModuleLocationFilters,
317
343
  hideMonitoringPointTagFilters: hideMonitoringPointTagFilters,
318
- hideMonitoringPointTypeFilters: hideMonitoringPointTypeFilters
344
+ hideMonitoringPointTypeFilters: hideMonitoringPointTypeFilters,
345
+ baseFilters: baseFilters
319
346
  })));
320
347
  }
321
348
  }]);
@@ -335,7 +362,8 @@ CoreTagFilter.propTypes = {
335
362
  hideMonitoringPointTypeFilters: _propTypes.default.bool,
336
363
  disabled: _propTypes.default.bool,
337
364
  // mandatoryTags: PropTypes.arrayOf(PropTypes.string),
338
- customTitle: _propTypes.default.node
365
+ customTitle: _propTypes.default.node,
366
+ baseFilters: _propTypes.default.arrayOf(_propTypes.default.string)
339
367
  };
340
368
  CoreTagFilter.defaultProps = {
341
369
  tags: null,
@@ -346,7 +374,8 @@ CoreTagFilter.defaultProps = {
346
374
  hideMonitoringPointTagFilters: false,
347
375
  hideMonitoringPointTypeFilters: false,
348
376
  disabled: false,
349
- customTitle: null
377
+ customTitle: null,
378
+ baseFilters: null
350
379
  };
351
380
 
352
381
  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": 61
5
+ "build": 63
6
6
  },
7
7
  "name": "versacall-core-library-react",
8
- "version": "2.0.61",
8
+ "version": "2.0.63",
9
9
  "description": "Versacall Core Library",
10
10
  "main": "dist/index.js",
11
11
  "module": "dist/index.js",