versacall-core-library-react 2.0.61 → 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.
@@ -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,17 +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
- disabled = _this$props.disabled,
225
- 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;
226
251
  var openDialog = this.state.openDialog;
227
252
  return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
228
253
  style: {
@@ -315,7 +340,8 @@ var CoreTagFilter = /*#__PURE__*/function (_Component) {
315
340
  hideModuleTagFilters: hideModuleTagFilters,
316
341
  hideModuleLocationFilters: hideModuleLocationFilters,
317
342
  hideMonitoringPointTagFilters: hideMonitoringPointTagFilters,
318
- hideMonitoringPointTypeFilters: hideMonitoringPointTypeFilters
343
+ hideMonitoringPointTypeFilters: hideMonitoringPointTypeFilters,
344
+ baseFilters: baseFilters
319
345
  })));
320
346
  }
321
347
  }]);
@@ -335,7 +361,8 @@ CoreTagFilter.propTypes = {
335
361
  hideMonitoringPointTypeFilters: _propTypes.default.bool,
336
362
  disabled: _propTypes.default.bool,
337
363
  // mandatoryTags: PropTypes.arrayOf(PropTypes.string),
338
- customTitle: _propTypes.default.node
364
+ customTitle: _propTypes.default.node,
365
+ baseFilters: _propTypes.default.arrayOf(_propTypes.default.string)
339
366
  };
340
367
  CoreTagFilter.defaultProps = {
341
368
  tags: null,
@@ -346,7 +373,8 @@ CoreTagFilter.defaultProps = {
346
373
  hideMonitoringPointTagFilters: false,
347
374
  hideMonitoringPointTypeFilters: false,
348
375
  disabled: false,
349
- customTitle: null
376
+ customTitle: null,
377
+ baseFilters: null
350
378
  };
351
379
 
352
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": 61
5
+ "build": 62
6
6
  },
7
7
  "name": "versacall-core-library-react",
8
- "version": "2.0.61",
8
+ "version": "2.0.62",
9
9
  "description": "Versacall Core Library",
10
10
  "main": "dist/index.js",
11
11
  "module": "dist/index.js",