config-editor-base 2.9.0 → 2.9.2

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.
package/dist/index.js CHANGED
@@ -11,6 +11,7 @@ var Files = _interopDefault(require('react-files'));
11
11
  var applyNav = require('rjsf-tabs');
12
12
  var applyNav__default = _interopDefault(applyNav);
13
13
  var reactGhLikeDiff = require('react-gh-like-diff');
14
+ var Ajv = _interopDefault(require('ajv'));
14
15
 
15
16
  function _arrayLikeToArray(r, a) {
16
17
  (null == a || a > r.length) && (a = r.length);
@@ -19274,8 +19275,14 @@ var EditorSection = /*#__PURE__*/function (_React$Component) {
19274
19275
  isSubmitting: false,
19275
19276
  isDownloadConfig: false,
19276
19277
  isCompareChanges: false,
19277
- activeSideBar: 'schema-modal'
19278
+ activeSideBar: 'schema-modal',
19279
+ showNewToolsHighlight: true
19278
19280
  };
19281
+ setTimeout(function () {
19282
+ _this.setState({
19283
+ showNewToolsHighlight: false
19284
+ });
19285
+ }, 10000);
19279
19286
  _this.input = '';
19280
19287
  _this.s3 = _this.props.fetchFileContentExt ? true : false;
19281
19288
  return _this;
@@ -19567,7 +19574,9 @@ var EditorSection = /*#__PURE__*/function (_React$Component) {
19567
19574
  }, ' ', "Review changes", ' ')), /*#__PURE__*/React.createElement("div", {
19568
19575
  className: "col-xs-7",
19569
19576
  style: {
19570
- "float": 'left'
19577
+ "float": 'left',
19578
+ display: 'flex',
19579
+ alignItems: 'center'
19571
19580
  }
19572
19581
  }, editorToolsFull.map(function (modal, idx) {
19573
19582
  return /*#__PURE__*/React.createElement(EditorToolButton, {
@@ -19578,7 +19587,15 @@ var EditorSection = /*#__PURE__*/function (_React$Component) {
19578
19587
  comment: modal.comment,
19579
19588
  className: modal["class"]
19580
19589
  });
19581
- }))))))), /*#__PURE__*/React.createElement("div", {
19590
+ }), this.state.showNewToolsHighlight && /*#__PURE__*/React.createElement("span", {
19591
+ style: {
19592
+ fontSize: '12px',
19593
+ color: '#337ab7',
19594
+ marginLeft: '10px',
19595
+ transition: 'opacity 1s ease-out',
19596
+ opacity: this.state.showNewToolsHighlight ? 1 : 0
19597
+ }
19598
+ }, "New: OBD & filter builder tools"))))))), /*#__PURE__*/React.createElement("div", {
19582
19599
  className: "config-bar-background"
19583
19600
  }));
19584
19601
  };
@@ -21879,7 +21896,6 @@ function extractSupportedPidsFromBitmap(rangeStart, bitmapHex, supportedSet) {
21879
21896
  }
21880
21897
 
21881
21898
  var merge$1 = require("deepmerge");
21882
- var yourForm$1;
21883
21899
  var modeOptions = [{
21884
21900
  value: "all",
21885
21901
  label: "Select from all PIDs"
@@ -22190,6 +22206,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22190
22206
  }
22191
22207
  };
22192
22208
  _proto.testMergedFile = function testMergedFile() {
22209
+ var _this8 = this;
22193
22210
  var _this$state4 = this.state,
22194
22211
  generatedConfig = _this$state4.generatedConfig,
22195
22212
  enableControlSignal = _this$state4.enableControlSignal,
@@ -22260,8 +22277,24 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22260
22277
  this.setState({
22261
22278
  mergedConfig: mergedConfigTemp
22262
22279
  }, function () {
22263
- if (yourForm$1) {
22264
- yourForm$1.submit();
22280
+ var schemaContent = _this8.props.schemaContent;
22281
+ if (schemaContent && mergedConfigTemp) {
22282
+ try {
22283
+ var ajv = new Ajv({
22284
+ allErrors: true,
22285
+ strict: false,
22286
+ logger: false
22287
+ });
22288
+ var validate = ajv.compile(schemaContent);
22289
+ var valid = validate(mergedConfigTemp);
22290
+ _this8.setState({
22291
+ mergedConfigValid: valid
22292
+ });
22293
+ } catch (e) {
22294
+ _this8.setState({
22295
+ mergedConfigValid: false
22296
+ });
22297
+ }
22265
22298
  }
22266
22299
  });
22267
22300
  };
@@ -22309,7 +22342,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22309
22342
  linkElement.click();
22310
22343
  };
22311
22344
  _proto.render = function render() {
22312
- var _this8 = this;
22345
+ var _this9 = this;
22313
22346
  var _this$state6 = this.state,
22314
22347
  toolMode = _this$state6.toolMode,
22315
22348
  channel = _this$state6.channel,
@@ -22320,7 +22353,6 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22320
22353
  searchQuery = _this$state6.searchQuery,
22321
22354
  supportedPids = _this$state6.supportedPids,
22322
22355
  generatedConfig = _this$state6.generatedConfig,
22323
- mergedConfig = _this$state6.mergedConfig,
22324
22356
  mergedConfigValid = _this$state6.mergedConfigValid,
22325
22357
  csvFileName = _this$state6.csvFileName,
22326
22358
  mixedWarning = _this$state6.mixedWarning,
@@ -22330,7 +22362,6 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22330
22362
  combinedConfig = _this$state6.combinedConfig;
22331
22363
  var _this$props = this.props,
22332
22364
  formData = _this$props.formData,
22333
- schemaContent = _this$props.schemaContent,
22334
22365
  editorConfigFiles = _this$props.editorConfigFiles;
22335
22366
  var configFileName = editorConfigFiles && editorConfigFiles.length > 0 ? editorConfigFiles[0].name : "";
22336
22367
  var isVersion0109 = configFileName.includes("01.09");
@@ -22374,7 +22405,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22374
22405
  }, /*#__PURE__*/React.createElement(Files, {
22375
22406
  onChange: this.handleCsvUpload,
22376
22407
  onError: function onError(error) {
22377
- return _this8.props.showAlert("danger", error.message);
22408
+ return _this9.props.showAlert("danger", error.message);
22378
22409
  },
22379
22410
  accepts: [".csv"],
22380
22411
  multiple: false,
@@ -22401,7 +22432,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22401
22432
  options: channelOptions,
22402
22433
  value: channel,
22403
22434
  onChange: function onChange(opt) {
22404
- return _this8.handleSettingChange("channel", opt);
22435
+ return _this9.handleSettingChange("channel", opt);
22405
22436
  },
22406
22437
  comment: "Select which CAN channel should be used to transmit the OBD requests."
22407
22438
  })), /*#__PURE__*/React.createElement("div", {
@@ -22411,7 +22442,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22411
22442
  options: bitRateOptions,
22412
22443
  value: bitRate,
22413
22444
  onChange: function onChange(opt) {
22414
- return _this8.handleSettingChange("bitRate", opt);
22445
+ return _this9.handleSettingChange("bitRate", opt);
22415
22446
  },
22416
22447
  comment: "Cars typically use 500K, trucks/buses may use 250K or 500K."
22417
22448
  }))), toolMode !== "test" && /*#__PURE__*/React.createElement("div", {
@@ -22423,7 +22454,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22423
22454
  options: canIdOptions,
22424
22455
  value: canId,
22425
22456
  onChange: function onChange(opt) {
22426
- return _this8.handleSettingChange("canId", opt);
22457
+ return _this9.handleSettingChange("canId", opt);
22427
22458
  },
22428
22459
  comment: "Cars typically use 7DF, trucks/buses typically use 18DB33F1."
22429
22460
  })), /*#__PURE__*/React.createElement("div", {
@@ -22433,7 +22464,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22433
22464
  options: obdModeOptions,
22434
22465
  value: obdMode,
22435
22466
  onChange: function onChange(opt) {
22436
- return _this8.handleSettingChange("obdMode", opt);
22467
+ return _this9.handleSettingChange("obdMode", opt);
22437
22468
  },
22438
22469
  comment: "Cars use OBD2, trucks/buses may use OBD2 or WWH-OBD."
22439
22470
  }))), toolMode !== "test" && /*#__PURE__*/React.createElement("div", {
@@ -22446,17 +22477,17 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22446
22477
  max: 10000,
22447
22478
  onChange: function onChange(e) {
22448
22479
  var val = parseInt(e.target.value) || 0;
22449
- _this8.setState({
22480
+ _this9.setState({
22450
22481
  spacing: val
22451
22482
  });
22452
22483
  },
22453
22484
  onBlur: function onBlur(e) {
22454
22485
  var val = Math.min(10000, Math.max(100, parseInt(e.target.value) || 100));
22455
- _this8.setState({
22486
+ _this9.setState({
22456
22487
  spacing: val
22457
22488
  }, function () {
22458
- if (_this8.getSelectedPids().length > 0) {
22459
- _this8.generateTransmitList();
22489
+ if (_this9.getSelectedPids().length > 0) {
22490
+ _this9.generateTransmitList();
22460
22491
  }
22461
22492
  });
22462
22493
  }
@@ -22507,7 +22538,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22507
22538
  key: pid.uniqueId,
22508
22539
  className: "checkbox-white-space",
22509
22540
  onClick: function onClick() {
22510
- return !pid.disabled && _this8.handlePidToggle(pid.uniqueId);
22541
+ return !pid.disabled && _this9.handlePidToggle(pid.uniqueId);
22511
22542
  },
22512
22543
  style: {
22513
22544
  display: "flex",
@@ -22533,7 +22564,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22533
22564
  checked: pid.selected,
22534
22565
  disabled: pid.disabled,
22535
22566
  onChange: function onChange() {
22536
- return !pid.disabled && _this8.handlePidToggle(pid.uniqueId);
22567
+ return !pid.disabled && _this9.handlePidToggle(pid.uniqueId);
22537
22568
  }
22538
22569
  }), /*#__PURE__*/React.createElement("span", null))), /*#__PURE__*/React.createElement("span", {
22539
22570
  className: "binary-text-alt-2",
@@ -22576,11 +22607,11 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22576
22607
  type: "checkbox",
22577
22608
  checked: enableOBDFilter,
22578
22609
  onChange: function onChange() {
22579
- _this8.setState({
22610
+ _this9.setState({
22580
22611
  enableOBDFilter: !enableOBDFilter
22581
22612
  }, function () {
22582
- if (_this8.getSelectedPids().length > 0) {
22583
- _this8.generateTransmitList();
22613
+ if (_this9.getSelectedPids().length > 0) {
22614
+ _this9.generateTransmitList();
22584
22615
  }
22585
22616
  });
22586
22617
  },
@@ -22605,11 +22636,11 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22605
22636
  type: "checkbox",
22606
22637
  checked: enableControlSignal,
22607
22638
  onChange: function onChange() {
22608
- _this8.setState({
22639
+ _this9.setState({
22609
22640
  enableControlSignal: !enableControlSignal
22610
22641
  }, function () {
22611
- if (_this8.getSelectedPids().length > 0) {
22612
- _this8.generateTransmitList();
22642
+ if (_this9.getSelectedPids().length > 0) {
22643
+ _this9.generateTransmitList();
22613
22644
  }
22614
22645
  });
22615
22646
  },
@@ -22654,7 +22685,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22654
22685
  type: "checkbox",
22655
22686
  checked: showPreview,
22656
22687
  onChange: function onChange() {
22657
- return _this8.setState({
22688
+ return _this9.setState({
22658
22689
  showPreview: !showPreview
22659
22690
  });
22660
22691
  },
@@ -22668,20 +22699,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22668
22699
  }
22669
22700
  }, /*#__PURE__*/React.createElement("pre", {
22670
22701
  className: "browse-file-preview"
22671
- }, JSON.stringify(combinedConfig, null, 2))))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null)), /*#__PURE__*/React.createElement("div", {
22672
- style: {
22673
- display: "none"
22674
- }
22675
- }, /*#__PURE__*/React.createElement(Form, {
22676
- validator: validator,
22677
- onError: this.onValidationError,
22678
- schema: schemaContent ? schemaContent : {},
22679
- formData: mergedConfig ? mergedConfig : {},
22680
- onSubmit: this.onSubmit,
22681
- ref: function ref(form) {
22682
- yourForm$1 = form;
22683
- }
22684
- })));
22702
+ }, JSON.stringify(combinedConfig, null, 2))))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null)));
22685
22703
  };
22686
22704
  return OBDTool;
22687
22705
  }(React.Component);
@@ -22994,13 +23012,13 @@ function applyPrescaler(frame, filter, prescalerState) {
22994
23012
  state.lastData = currentData;
22995
23013
  return true;
22996
23014
  }
22997
- var maskValue = prescalerValue ? parseInt(prescalerValue, 16) : 0xFFFFFFFFFFFFFFFFn;
23015
+ var maskValue = prescalerValue ? BigInt("0x" + prescalerValue) : BigInt("0xFFFFFFFFFFFFFFFF");
22998
23016
  var prevBytes = parseDataBytes(state.lastData);
22999
23017
  var currBytes = parseDataBytes(currentData);
23000
23018
  var changed = false;
23001
23019
  for (var i = 0; i < Math.max(prevBytes.length, currBytes.length); i++) {
23002
23020
  var byteMask = BigInt(1) << BigInt(i);
23003
- if ((BigInt(maskValue) & byteMask) !== BigInt(0)) {
23021
+ if ((maskValue & byteMask) !== BigInt(0)) {
23004
23022
  var prevByte = prevBytes[i] || 0;
23005
23023
  var currByte = currBytes[i] || 0;
23006
23024
  if (prevByte !== currByte) {
@@ -23107,7 +23125,6 @@ function evaluateFilters(frames, configData, detectedDeviceType) {
23107
23125
  var _excluded = ["name"],
23108
23126
  _excluded2 = ["name"];
23109
23127
  var merge$2 = require("deepmerge");
23110
- var yourForm$2;
23111
23128
  var prescalerOptions = [{
23112
23129
  value: "none",
23113
23130
  label: "None"
@@ -24035,6 +24052,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24035
24052
  return filterConfig;
24036
24053
  };
24037
24054
  _proto.testMergedFile = function testMergedFile() {
24055
+ var _this11 = this;
24038
24056
  var _this$state7 = this.state,
24039
24057
  generatedFilterConfig = _this$state7.generatedFilterConfig,
24040
24058
  filterMergeMode = _this$state7.filterMergeMode;
@@ -24068,8 +24086,24 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24068
24086
  this.setState({
24069
24087
  mergedConfig: mergedConfigTemp
24070
24088
  }, function () {
24071
- if (yourForm$2) {
24072
- yourForm$2.submit();
24089
+ var schemaContent = _this11.props.schemaContent;
24090
+ if (schemaContent && mergedConfigTemp) {
24091
+ try {
24092
+ var ajv = new Ajv({
24093
+ allErrors: true,
24094
+ strict: false,
24095
+ logger: false
24096
+ });
24097
+ var validate = ajv.compile(schemaContent);
24098
+ var valid = validate(mergedConfigTemp);
24099
+ _this11.setState({
24100
+ mergedConfigValid: valid
24101
+ });
24102
+ } catch (e) {
24103
+ _this11.setState({
24104
+ mergedConfigValid: false
24105
+ });
24106
+ }
24073
24107
  }
24074
24108
  });
24075
24109
  };
@@ -24277,7 +24311,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24277
24311
  });
24278
24312
  };
24279
24313
  _proto.render = function render() {
24280
- var _this11 = this;
24314
+ var _this12 = this;
24281
24315
  var _this$state10 = this.state,
24282
24316
  csvFileName = _this$state10.csvFileName,
24283
24317
  dbcFileNames = _this$state10.dbcFileNames,
@@ -24316,7 +24350,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24316
24350
  }, /*#__PURE__*/React.createElement(Files, {
24317
24351
  onChange: this.handleCsvUpload,
24318
24352
  onError: function onError(error) {
24319
- return _this11.props.showAlert("danger", error.message);
24353
+ return _this12.props.showAlert("danger", error.message);
24320
24354
  },
24321
24355
  accepts: [".csv"],
24322
24356
  multiple: false,
@@ -24330,7 +24364,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24330
24364
  }, /*#__PURE__*/React.createElement(Files, {
24331
24365
  onChange: this.handleDbcUpload,
24332
24366
  onError: function onError(error) {
24333
- return _this11.props.showAlert("danger", error.message);
24367
+ return _this12.props.showAlert("danger", error.message);
24334
24368
  },
24335
24369
  accepts: [".dbc"],
24336
24370
  multiple: true,
@@ -24365,10 +24399,10 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24365
24399
  type: "checkbox",
24366
24400
  checked: groupJ1939Pgns,
24367
24401
  onChange: function onChange() {
24368
- _this11.setState({
24402
+ _this12.setState({
24369
24403
  groupJ1939Pgns: !groupJ1939Pgns
24370
24404
  }, function () {
24371
- _this11.mergeData();
24405
+ _this12.mergeData();
24372
24406
  });
24373
24407
  },
24374
24408
  style: {
@@ -24378,7 +24412,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24378
24412
  }), "Group 29-bit IDs as PGNs"), /*#__PURE__*/React.createElement("p", {
24379
24413
  className: "field-description field-description-shift"
24380
24414
  }, "In J1939/ISOBUS/NMEA protocol use cases it can be relevant to evaluate messages at the 18-bit PGN level instead of the 29-bit ID level.")), csvData && function () {
24381
- var isEnabled = _this11.props.formData && _this11.isFirmwareVersionSupported();
24415
+ var isEnabled = _this12.props.formData && _this12.isFirmwareVersionSupported();
24382
24416
  return /*#__PURE__*/React.createElement("div", {
24383
24417
  className: "form-group pl0 field-string",
24384
24418
  style: {
@@ -24395,9 +24429,9 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24395
24429
  }
24396
24430
  }, /*#__PURE__*/React.createElement("input", {
24397
24431
  type: "checkbox",
24398
- checked: _this11.state.showFilteredSummary,
24432
+ checked: _this12.state.showFilteredSummary,
24399
24433
  onChange: function onChange() {
24400
- return _this11.toggleFilteredSummary();
24434
+ return _this12.toggleFilteredSummary();
24401
24435
  },
24402
24436
  disabled: !isEnabled,
24403
24437
  style: {
@@ -24446,10 +24480,10 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24446
24480
  }, label, ":"), /*#__PURE__*/React.createElement("input", {
24447
24481
  type: "text",
24448
24482
  className: "form-control encryption-input",
24449
- value: _this11.state["channelMap" + label],
24483
+ value: _this12.state["channelMap" + label],
24450
24484
  onChange: function onChange(e) {
24451
- var _this11$setState;
24452
- return _this11.setState((_this11$setState = {}, _this11$setState["channelMap" + label] = e.target.value, _this11$setState));
24485
+ var _this12$setState;
24486
+ return _this12.setState((_this12$setState = {}, _this12$setState["channelMap" + label] = e.target.value, _this12$setState));
24453
24487
  },
24454
24488
  style: {
24455
24489
  width: "36px",
@@ -24565,11 +24599,11 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24565
24599
  marginLeft: "8px"
24566
24600
  }
24567
24601
  }, "Signals")), filteredEntries.map(function (entry) {
24568
- var isChannelValid = _this11.props.deviceType === "CANmod" ? _this11.isChannelValid(entry.channel) : true;
24602
+ var isChannelValid = _this12.props.deviceType === "CANmod" ? _this12.isChannelValid(entry.channel) : true;
24569
24603
  return /*#__PURE__*/React.createElement("div", {
24570
24604
  key: entry.uniqueId,
24571
24605
  onClick: function onClick() {
24572
- return isChannelValid && _this11.handleEntryToggle(entry.uniqueId);
24606
+ return isChannelValid && _this12.handleEntryToggle(entry.uniqueId);
24573
24607
  },
24574
24608
  style: {
24575
24609
  display: "flex",
@@ -24597,7 +24631,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24597
24631
  checked: entry.selected,
24598
24632
  disabled: !isChannelValid,
24599
24633
  onChange: function onChange() {
24600
- return isChannelValid && _this11.handleEntryToggle(entry.uniqueId);
24634
+ return isChannelValid && _this12.handleEntryToggle(entry.uniqueId);
24601
24635
  }
24602
24636
  }), /*#__PURE__*/React.createElement("span", null))), /*#__PURE__*/React.createElement("span", {
24603
24637
  className: "binary-text-alt-2",
@@ -24634,7 +24668,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24634
24668
  display: "flex",
24635
24669
  alignItems: "center"
24636
24670
  }
24637
- }, _this11.renderBarChart(entry.isGroup ? entry.groupedPercentage : entry.percentage, maxPercentage), /*#__PURE__*/React.createElement("span", {
24671
+ }, _this12.renderBarChart(entry.isGroup ? entry.groupedPercentage : entry.percentage, maxPercentage), /*#__PURE__*/React.createElement("span", {
24638
24672
  style: {
24639
24673
  marginLeft: "4px",
24640
24674
  fontFamily: "monospace",
@@ -24725,7 +24759,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24725
24759
  marginLeft: "4px"
24726
24760
  },
24727
24761
  onClick: function onClick() {
24728
- return _this11.selectTop(30);
24762
+ return _this12.selectTop(30);
24729
24763
  }
24730
24764
  }, "Top 30"), /*#__PURE__*/React.createElement("span", {
24731
24765
  style: {
@@ -24738,7 +24772,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24738
24772
  cursor: "pointer"
24739
24773
  },
24740
24774
  onClick: function onClick() {
24741
- return _this11.selectTop(50);
24775
+ return _this12.selectTop(50);
24742
24776
  }
24743
24777
  }, "Top 50"), /*#__PURE__*/React.createElement("span", {
24744
24778
  style: {
@@ -24751,7 +24785,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24751
24785
  cursor: "pointer"
24752
24786
  },
24753
24787
  onClick: function onClick() {
24754
- return _this11.selectMatched(true);
24788
+ return _this12.selectMatched(true);
24755
24789
  }
24756
24790
  }, "Matched"), /*#__PURE__*/React.createElement("span", {
24757
24791
  style: {
@@ -24764,13 +24798,13 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24764
24798
  cursor: "pointer"
24765
24799
  },
24766
24800
  onClick: function onClick() {
24767
- return _this11.selectMatched(false);
24801
+ return _this12.selectMatched(false);
24768
24802
  }
24769
24803
  }, "Unmatched")), csvData && function () {
24770
- var activeCsvData = _this11.state.showFilteredSummary && _this11.state.filteredCsvData ? _this11.state.filteredCsvData : csvData;
24771
- var isFiltered = _this11.state.showFilteredSummary && _this11.state.filteredCsvData;
24772
- var originalFileSize = _this11.csvFileSize / (1024 * 1024);
24773
- var filteredFileSize = isFiltered ? originalFileSize * (1 - _this11.state.filterReductionPercent / 100) : originalFileSize;
24804
+ var activeCsvData = _this12.state.showFilteredSummary && _this12.state.filteredCsvData ? _this12.state.filteredCsvData : csvData;
24805
+ var isFiltered = _this12.state.showFilteredSummary && _this12.state.filteredCsvData;
24806
+ var originalFileSize = _this12.csvFileSize / (1024 * 1024);
24807
+ var filteredFileSize = isFiltered ? originalFileSize * (1 - _this12.state.filterReductionPercent / 100) : originalFileSize;
24774
24808
  return /*#__PURE__*/React.createElement("div", {
24775
24809
  style: {
24776
24810
  fontSize: "12px",
@@ -24797,7 +24831,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24797
24831
  color: "#5cb85c",
24798
24832
  marginTop: "4px"
24799
24833
  }
24800
- }, "Showing filtered summary (reduction: ", /*#__PURE__*/React.createElement("strong", null, _this11.state.filterReductionPercent.toFixed(1), "%"), ")"));
24834
+ }, "Showing filtered summary (reduction: ", /*#__PURE__*/React.createElement("strong", null, _this12.state.filterReductionPercent.toFixed(1), "%"), ")"));
24801
24835
  }(), function () {
24802
24836
  var hasSelection = mergedEntries.some(function (e) {
24803
24837
  return e.selected;
@@ -24823,8 +24857,8 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24823
24857
  }, /*#__PURE__*/React.createElement("div", {
24824
24858
  className: "col-xs-6",
24825
24859
  style: {
24826
- opacity: _this11.props.deviceType === "CANmod" ? 0.5 : 1,
24827
- pointerEvents: _this11.props.deviceType === "CANmod" ? "none" : "auto"
24860
+ opacity: _this12.props.deviceType === "CANmod" ? 0.5 : 1,
24861
+ pointerEvents: _this12.props.deviceType === "CANmod" ? "none" : "auto"
24828
24862
  }
24829
24863
  }, /*#__PURE__*/React.createElement(SimpleDropdown, {
24830
24864
  name: "Type",
@@ -24835,59 +24869,59 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24835
24869
  value: "rejection",
24836
24870
  label: "Rejection"
24837
24871
  }],
24838
- value: _this11.state.filterType,
24872
+ value: _this12.state.filterType,
24839
24873
  onChange: function onChange(opt) {
24840
- return _this11.setState({
24874
+ return _this12.setState({
24841
24875
  filterType: opt.value
24842
24876
  }, function () {
24843
- return _this11.generateFilterConfig();
24877
+ return _this12.generateFilterConfig();
24844
24878
  });
24845
24879
  }
24846
- }), _this11.props.deviceType === "CANmod" && /*#__PURE__*/React.createElement("span", {
24880
+ }), _this12.props.deviceType === "CANmod" && /*#__PURE__*/React.createElement("span", {
24847
24881
  className: "field-description",
24848
24882
  style: {
24849
24883
  fontSize: "11px",
24850
24884
  color: "#999"
24851
24885
  }
24852
- }, "CANmod only supports acceptance filters")), _this11.state.filterType === "acceptance" && /*#__PURE__*/React.createElement("div", {
24886
+ }, "CANmod only supports acceptance filters")), _this12.state.filterType === "acceptance" && /*#__PURE__*/React.createElement("div", {
24853
24887
  className: "col-xs-6"
24854
24888
  }, /*#__PURE__*/React.createElement(SimpleDropdown, {
24855
24889
  name: "Prescaler",
24856
24890
  options: prescalerOptions,
24857
- value: _this11.state.prescalerType,
24891
+ value: _this12.state.prescalerType,
24858
24892
  onChange: function onChange(opt) {
24859
- return _this11.setState({
24893
+ return _this12.setState({
24860
24894
  prescalerType: opt.value
24861
24895
  }, function () {
24862
- return _this11.generateFilterConfig();
24896
+ return _this12.generateFilterConfig();
24863
24897
  });
24864
24898
  }
24865
- }))), _this11.state.filterType === "acceptance" && _this11.state.prescalerType !== "none" && /*#__PURE__*/React.createElement("div", {
24899
+ }))), _this12.state.filterType === "acceptance" && _this12.state.prescalerType !== "none" && /*#__PURE__*/React.createElement("div", {
24866
24900
  className: "form-group pl0 field-string"
24867
- }, _this11.state.prescalerType === "count" && "Count value", _this11.state.prescalerType === "time" && "Time interval (ms)", _this11.state.prescalerType === "data" && "Data mask (hex)", (_this11.state.prescalerType === "count" || _this11.state.prescalerType === "time") && /*#__PURE__*/React.createElement("input", {
24901
+ }, _this12.state.prescalerType === "count" && "Count value", _this12.state.prescalerType === "time" && "Time interval (ms)", _this12.state.prescalerType === "data" && "Data mask (hex)", (_this12.state.prescalerType === "count" || _this12.state.prescalerType === "time") && /*#__PURE__*/React.createElement("input", {
24868
24902
  type: "number",
24869
24903
  className: "form-control encryption-input",
24870
24904
  min: "1",
24871
- max: _this11.state.prescalerType === "count" ? 256 : 4194304,
24872
- value: _this11.state.prescalerValue,
24905
+ max: _this12.state.prescalerType === "count" ? 256 : 4194304,
24906
+ value: _this12.state.prescalerValue,
24873
24907
  onChange: function onChange(e) {
24874
- return _this11.setState({
24908
+ return _this12.setState({
24875
24909
  prescalerValue: parseInt(e.target.value) || 1
24876
24910
  }, function () {
24877
- return _this11.generateFilterConfig();
24911
+ return _this12.generateFilterConfig();
24878
24912
  });
24879
24913
  }
24880
- }), _this11.state.prescalerType === "data" && /*#__PURE__*/React.createElement("input", {
24914
+ }), _this12.state.prescalerType === "data" && /*#__PURE__*/React.createElement("input", {
24881
24915
  type: "text",
24882
24916
  className: "form-control encryption-input",
24883
- value: _this11.state.dataPrescalerMask,
24917
+ value: _this12.state.dataPrescalerMask,
24884
24918
  onChange: function onChange(e) {
24885
24919
  var val = e.target.value.toUpperCase();
24886
24920
  if (/^[a-fA-F0-9]*$/.test(val) && val.length <= 16) {
24887
- _this11.setState({
24921
+ _this12.setState({
24888
24922
  dataPrescalerMask: val
24889
24923
  }, function () {
24890
- return _this11.generateFilterConfig();
24924
+ return _this12.generateFilterConfig();
24891
24925
  });
24892
24926
  }
24893
24927
  },
@@ -24898,7 +24932,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24898
24932
  }
24899
24933
  }), /*#__PURE__*/React.createElement("span", {
24900
24934
  className: "field-description field-description-shift"
24901
- }, _this11.state.prescalerType === "count" && "Accept every Nth message (1-256)", _this11.state.prescalerType === "time" && "Minimum time between messages (1-4194304 ms)", _this11.state.prescalerType === "data" && "Hex mask for data change detection")), /*#__PURE__*/React.createElement("div", {
24935
+ }, _this12.state.prescalerType === "count" && "Accept every Nth message (1-256)", _this12.state.prescalerType === "time" && "Minimum time between messages (1-4194304 ms)", _this12.state.prescalerType === "data" && "Hex mask for data change detection")), /*#__PURE__*/React.createElement("div", {
24902
24936
  style: {
24903
24937
  display: "flex",
24904
24938
  alignItems: "center",
@@ -24918,12 +24952,12 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24918
24952
  type: "radio",
24919
24953
  name: "filterMergeMode",
24920
24954
  value: "replace",
24921
- checked: _this11.state.filterMergeMode === "replace",
24955
+ checked: _this12.state.filterMergeMode === "replace",
24922
24956
  onChange: function onChange(e) {
24923
- return _this11.setState({
24957
+ return _this12.setState({
24924
24958
  filterMergeMode: e.target.value
24925
24959
  }, function () {
24926
- return _this11.generateFilterConfig();
24960
+ return _this12.generateFilterConfig();
24927
24961
  });
24928
24962
  },
24929
24963
  style: {
@@ -24946,12 +24980,12 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24946
24980
  type: "radio",
24947
24981
  name: "filterMergeMode",
24948
24982
  value: "append_top",
24949
- checked: _this11.state.filterMergeMode === "append_top",
24983
+ checked: _this12.state.filterMergeMode === "append_top",
24950
24984
  onChange: function onChange(e) {
24951
- return _this11.setState({
24985
+ return _this12.setState({
24952
24986
  filterMergeMode: e.target.value
24953
24987
  }, function () {
24954
- return _this11.generateFilterConfig();
24988
+ return _this12.generateFilterConfig();
24955
24989
  });
24956
24990
  },
24957
24991
  style: {
@@ -24974,12 +25008,12 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24974
25008
  type: "radio",
24975
25009
  name: "filterMergeMode",
24976
25010
  value: "append_bottom",
24977
- checked: _this11.state.filterMergeMode === "append_bottom",
25011
+ checked: _this12.state.filterMergeMode === "append_bottom",
24978
25012
  onChange: function onChange(e) {
24979
- return _this11.setState({
25013
+ return _this12.setState({
24980
25014
  filterMergeMode: e.target.value
24981
25015
  }, function () {
24982
- return _this11.generateFilterConfig();
25016
+ return _this12.generateFilterConfig();
24983
25017
  });
24984
25018
  },
24985
25019
  style: {
@@ -25013,9 +25047,9 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
25013
25047
  }, 0);
25014
25048
  return " (" + count11Bit + " 11-bit, " + count29Bit + " 29-bit) | " + sizePercent.toFixed(1) + "%";
25015
25049
  }()), function () {
25016
- var isFirmwareSupported = _this11.isFirmwareVersionSupported();
25017
- var isCanmod = _this11.props.deviceType === "CANmod";
25018
- var isCanmodRouter = isCanmod && _this11.isCanmodRouter();
25050
+ var isFirmwareSupported = _this12.isFirmwareVersionSupported();
25051
+ var isCanmod = _this12.props.deviceType === "CANmod";
25052
+ var isCanmodRouter = isCanmod && _this12.isCanmodRouter();
25019
25053
  var minFirmware = isCanmod ? MIN_FIRMWARE_CANMOD_ROUTER : MIN_FIRMWARE_CANEDGE;
25020
25054
  var isDeviceSupported = !isCanmod || isCanmodRouter;
25021
25055
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
@@ -25026,20 +25060,20 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
25026
25060
  }
25027
25061
  }, /*#__PURE__*/React.createElement("button", {
25028
25062
  className: "btn btn-primary",
25029
- onClick: _this11.onMerge,
25030
- disabled: !_this11.props.formData || Object.keys(_this11.props.formData).length === 0 || _this11.state.mergedConfigValid !== true || !isFirmwareSupported || !isDeviceSupported
25063
+ onClick: _this12.onMerge,
25064
+ disabled: !_this12.props.formData || Object.keys(_this12.props.formData).length === 0 || _this12.state.mergedConfigValid !== true || !isFirmwareSupported || !isDeviceSupported
25031
25065
  }, "Merge files"), /*#__PURE__*/React.createElement("button", {
25032
25066
  className: "btn btn-default",
25033
- onClick: _this11.onDownload,
25034
- disabled: Object.keys(_this11.state.generatedFilterConfig).length === 0
25035
- }, "Download JSON")), _this11.props.formData && Object.keys(_this11.props.formData).length > 0 && isDeviceSupported && !isFirmwareSupported && /*#__PURE__*/React.createElement("div", {
25067
+ onClick: _this12.onDownload,
25068
+ disabled: Object.keys(_this12.state.generatedFilterConfig).length === 0
25069
+ }, "Download JSON")), _this12.props.formData && Object.keys(_this12.props.formData).length > 0 && isDeviceSupported && !isFirmwareSupported && /*#__PURE__*/React.createElement("div", {
25036
25070
  style: {
25037
25071
  fontSize: "12px",
25038
25072
  color: "#666",
25039
25073
  marginTop: "8px"
25040
25074
  }
25041
25075
  }, "Merging requires firmware ", minFirmware, ".XX+ - please update your device"));
25042
- }(), Object.keys(_this11.state.generatedFilterConfig).length > 0 && /*#__PURE__*/React.createElement("div", {
25076
+ }(), Object.keys(_this12.state.generatedFilterConfig).length > 0 && /*#__PURE__*/React.createElement("div", {
25043
25077
  style: {
25044
25078
  marginTop: "10px"
25045
25079
  }
@@ -25052,17 +25086,17 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
25052
25086
  }
25053
25087
  }, /*#__PURE__*/React.createElement("input", {
25054
25088
  type: "checkbox",
25055
- checked: _this11.state.showFilterPreview,
25089
+ checked: _this12.state.showFilterPreview,
25056
25090
  onChange: function onChange() {
25057
- return _this11.setState({
25058
- showFilterPreview: !_this11.state.showFilterPreview
25091
+ return _this12.setState({
25092
+ showFilterPreview: !_this12.state.showFilterPreview
25059
25093
  });
25060
25094
  },
25061
25095
  style: {
25062
25096
  marginRight: "6px",
25063
25097
  marginBottom: "4px"
25064
25098
  }
25065
- }), "Show partial config preview"), _this11.state.showFilterPreview && /*#__PURE__*/React.createElement("div", {
25099
+ }), "Show partial config preview"), _this12.state.showFilterPreview && /*#__PURE__*/React.createElement("div", {
25066
25100
  style: {
25067
25101
  marginTop: "10px"
25068
25102
  }
@@ -25073,21 +25107,8 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
25073
25107
  overflow: "auto",
25074
25108
  fontSize: "11px"
25075
25109
  }
25076
- }, JSON.stringify(_this11.state.generatedFilterConfig, null, 2)))));
25077
- }()), /*#__PURE__*/React.createElement("div", {
25078
- style: {
25079
- display: "none"
25080
- }
25081
- }, /*#__PURE__*/React.createElement(Form, {
25082
- validator: validator,
25083
- onError: this.onValidationError,
25084
- schema: this.props.schemaContent ? this.props.schemaContent : {},
25085
- formData: this.state.mergedConfig ? this.state.mergedConfig : {},
25086
- onSubmit: this.onSubmit,
25087
- ref: function ref(form) {
25088
- yourForm$2 = form;
25089
- }
25090
- })), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null)));
25110
+ }, JSON.stringify(_this12.state.generatedFilterConfig, null, 2)))));
25111
+ }()), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null)));
25091
25112
  };
25092
25113
  return FilterBuilderTool;
25093
25114
  }(React.Component);