config-editor-base 2.9.1 → 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);
@@ -21895,7 +21896,6 @@ function extractSupportedPidsFromBitmap(rangeStart, bitmapHex, supportedSet) {
21895
21896
  }
21896
21897
 
21897
21898
  var merge$1 = require("deepmerge");
21898
- var yourForm$1;
21899
21899
  var modeOptions = [{
21900
21900
  value: "all",
21901
21901
  label: "Select from all PIDs"
@@ -22206,6 +22206,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22206
22206
  }
22207
22207
  };
22208
22208
  _proto.testMergedFile = function testMergedFile() {
22209
+ var _this8 = this;
22209
22210
  var _this$state4 = this.state,
22210
22211
  generatedConfig = _this$state4.generatedConfig,
22211
22212
  enableControlSignal = _this$state4.enableControlSignal,
@@ -22276,8 +22277,24 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22276
22277
  this.setState({
22277
22278
  mergedConfig: mergedConfigTemp
22278
22279
  }, function () {
22279
- if (yourForm$1) {
22280
- 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
+ }
22281
22298
  }
22282
22299
  });
22283
22300
  };
@@ -22325,7 +22342,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22325
22342
  linkElement.click();
22326
22343
  };
22327
22344
  _proto.render = function render() {
22328
- var _this8 = this;
22345
+ var _this9 = this;
22329
22346
  var _this$state6 = this.state,
22330
22347
  toolMode = _this$state6.toolMode,
22331
22348
  channel = _this$state6.channel,
@@ -22336,7 +22353,6 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22336
22353
  searchQuery = _this$state6.searchQuery,
22337
22354
  supportedPids = _this$state6.supportedPids,
22338
22355
  generatedConfig = _this$state6.generatedConfig,
22339
- mergedConfig = _this$state6.mergedConfig,
22340
22356
  mergedConfigValid = _this$state6.mergedConfigValid,
22341
22357
  csvFileName = _this$state6.csvFileName,
22342
22358
  mixedWarning = _this$state6.mixedWarning,
@@ -22346,7 +22362,6 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22346
22362
  combinedConfig = _this$state6.combinedConfig;
22347
22363
  var _this$props = this.props,
22348
22364
  formData = _this$props.formData,
22349
- schemaContent = _this$props.schemaContent,
22350
22365
  editorConfigFiles = _this$props.editorConfigFiles;
22351
22366
  var configFileName = editorConfigFiles && editorConfigFiles.length > 0 ? editorConfigFiles[0].name : "";
22352
22367
  var isVersion0109 = configFileName.includes("01.09");
@@ -22390,7 +22405,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22390
22405
  }, /*#__PURE__*/React.createElement(Files, {
22391
22406
  onChange: this.handleCsvUpload,
22392
22407
  onError: function onError(error) {
22393
- return _this8.props.showAlert("danger", error.message);
22408
+ return _this9.props.showAlert("danger", error.message);
22394
22409
  },
22395
22410
  accepts: [".csv"],
22396
22411
  multiple: false,
@@ -22417,7 +22432,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22417
22432
  options: channelOptions,
22418
22433
  value: channel,
22419
22434
  onChange: function onChange(opt) {
22420
- return _this8.handleSettingChange("channel", opt);
22435
+ return _this9.handleSettingChange("channel", opt);
22421
22436
  },
22422
22437
  comment: "Select which CAN channel should be used to transmit the OBD requests."
22423
22438
  })), /*#__PURE__*/React.createElement("div", {
@@ -22427,7 +22442,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22427
22442
  options: bitRateOptions,
22428
22443
  value: bitRate,
22429
22444
  onChange: function onChange(opt) {
22430
- return _this8.handleSettingChange("bitRate", opt);
22445
+ return _this9.handleSettingChange("bitRate", opt);
22431
22446
  },
22432
22447
  comment: "Cars typically use 500K, trucks/buses may use 250K or 500K."
22433
22448
  }))), toolMode !== "test" && /*#__PURE__*/React.createElement("div", {
@@ -22439,7 +22454,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22439
22454
  options: canIdOptions,
22440
22455
  value: canId,
22441
22456
  onChange: function onChange(opt) {
22442
- return _this8.handleSettingChange("canId", opt);
22457
+ return _this9.handleSettingChange("canId", opt);
22443
22458
  },
22444
22459
  comment: "Cars typically use 7DF, trucks/buses typically use 18DB33F1."
22445
22460
  })), /*#__PURE__*/React.createElement("div", {
@@ -22449,7 +22464,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22449
22464
  options: obdModeOptions,
22450
22465
  value: obdMode,
22451
22466
  onChange: function onChange(opt) {
22452
- return _this8.handleSettingChange("obdMode", opt);
22467
+ return _this9.handleSettingChange("obdMode", opt);
22453
22468
  },
22454
22469
  comment: "Cars use OBD2, trucks/buses may use OBD2 or WWH-OBD."
22455
22470
  }))), toolMode !== "test" && /*#__PURE__*/React.createElement("div", {
@@ -22462,17 +22477,17 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22462
22477
  max: 10000,
22463
22478
  onChange: function onChange(e) {
22464
22479
  var val = parseInt(e.target.value) || 0;
22465
- _this8.setState({
22480
+ _this9.setState({
22466
22481
  spacing: val
22467
22482
  });
22468
22483
  },
22469
22484
  onBlur: function onBlur(e) {
22470
22485
  var val = Math.min(10000, Math.max(100, parseInt(e.target.value) || 100));
22471
- _this8.setState({
22486
+ _this9.setState({
22472
22487
  spacing: val
22473
22488
  }, function () {
22474
- if (_this8.getSelectedPids().length > 0) {
22475
- _this8.generateTransmitList();
22489
+ if (_this9.getSelectedPids().length > 0) {
22490
+ _this9.generateTransmitList();
22476
22491
  }
22477
22492
  });
22478
22493
  }
@@ -22523,7 +22538,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22523
22538
  key: pid.uniqueId,
22524
22539
  className: "checkbox-white-space",
22525
22540
  onClick: function onClick() {
22526
- return !pid.disabled && _this8.handlePidToggle(pid.uniqueId);
22541
+ return !pid.disabled && _this9.handlePidToggle(pid.uniqueId);
22527
22542
  },
22528
22543
  style: {
22529
22544
  display: "flex",
@@ -22549,7 +22564,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22549
22564
  checked: pid.selected,
22550
22565
  disabled: pid.disabled,
22551
22566
  onChange: function onChange() {
22552
- return !pid.disabled && _this8.handlePidToggle(pid.uniqueId);
22567
+ return !pid.disabled && _this9.handlePidToggle(pid.uniqueId);
22553
22568
  }
22554
22569
  }), /*#__PURE__*/React.createElement("span", null))), /*#__PURE__*/React.createElement("span", {
22555
22570
  className: "binary-text-alt-2",
@@ -22592,11 +22607,11 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22592
22607
  type: "checkbox",
22593
22608
  checked: enableOBDFilter,
22594
22609
  onChange: function onChange() {
22595
- _this8.setState({
22610
+ _this9.setState({
22596
22611
  enableOBDFilter: !enableOBDFilter
22597
22612
  }, function () {
22598
- if (_this8.getSelectedPids().length > 0) {
22599
- _this8.generateTransmitList();
22613
+ if (_this9.getSelectedPids().length > 0) {
22614
+ _this9.generateTransmitList();
22600
22615
  }
22601
22616
  });
22602
22617
  },
@@ -22621,11 +22636,11 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22621
22636
  type: "checkbox",
22622
22637
  checked: enableControlSignal,
22623
22638
  onChange: function onChange() {
22624
- _this8.setState({
22639
+ _this9.setState({
22625
22640
  enableControlSignal: !enableControlSignal
22626
22641
  }, function () {
22627
- if (_this8.getSelectedPids().length > 0) {
22628
- _this8.generateTransmitList();
22642
+ if (_this9.getSelectedPids().length > 0) {
22643
+ _this9.generateTransmitList();
22629
22644
  }
22630
22645
  });
22631
22646
  },
@@ -22670,7 +22685,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22670
22685
  type: "checkbox",
22671
22686
  checked: showPreview,
22672
22687
  onChange: function onChange() {
22673
- return _this8.setState({
22688
+ return _this9.setState({
22674
22689
  showPreview: !showPreview
22675
22690
  });
22676
22691
  },
@@ -22684,20 +22699,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22684
22699
  }
22685
22700
  }, /*#__PURE__*/React.createElement("pre", {
22686
22701
  className: "browse-file-preview"
22687
- }, 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", {
22688
- style: {
22689
- display: "none"
22690
- }
22691
- }, /*#__PURE__*/React.createElement(Form, {
22692
- validator: validator,
22693
- onError: this.onValidationError,
22694
- schema: schemaContent ? schemaContent : {},
22695
- formData: mergedConfig ? mergedConfig : {},
22696
- onSubmit: this.onSubmit,
22697
- ref: function ref(form) {
22698
- yourForm$1 = form;
22699
- }
22700
- })));
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)));
22701
22703
  };
22702
22704
  return OBDTool;
22703
22705
  }(React.Component);
@@ -23123,7 +23125,6 @@ function evaluateFilters(frames, configData, detectedDeviceType) {
23123
23125
  var _excluded = ["name"],
23124
23126
  _excluded2 = ["name"];
23125
23127
  var merge$2 = require("deepmerge");
23126
- var yourForm$2;
23127
23128
  var prescalerOptions = [{
23128
23129
  value: "none",
23129
23130
  label: "None"
@@ -24051,6 +24052,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24051
24052
  return filterConfig;
24052
24053
  };
24053
24054
  _proto.testMergedFile = function testMergedFile() {
24055
+ var _this11 = this;
24054
24056
  var _this$state7 = this.state,
24055
24057
  generatedFilterConfig = _this$state7.generatedFilterConfig,
24056
24058
  filterMergeMode = _this$state7.filterMergeMode;
@@ -24084,8 +24086,24 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24084
24086
  this.setState({
24085
24087
  mergedConfig: mergedConfigTemp
24086
24088
  }, function () {
24087
- if (yourForm$2) {
24088
- 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
+ }
24089
24107
  }
24090
24108
  });
24091
24109
  };
@@ -24293,7 +24311,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24293
24311
  });
24294
24312
  };
24295
24313
  _proto.render = function render() {
24296
- var _this11 = this;
24314
+ var _this12 = this;
24297
24315
  var _this$state10 = this.state,
24298
24316
  csvFileName = _this$state10.csvFileName,
24299
24317
  dbcFileNames = _this$state10.dbcFileNames,
@@ -24332,7 +24350,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24332
24350
  }, /*#__PURE__*/React.createElement(Files, {
24333
24351
  onChange: this.handleCsvUpload,
24334
24352
  onError: function onError(error) {
24335
- return _this11.props.showAlert("danger", error.message);
24353
+ return _this12.props.showAlert("danger", error.message);
24336
24354
  },
24337
24355
  accepts: [".csv"],
24338
24356
  multiple: false,
@@ -24346,7 +24364,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24346
24364
  }, /*#__PURE__*/React.createElement(Files, {
24347
24365
  onChange: this.handleDbcUpload,
24348
24366
  onError: function onError(error) {
24349
- return _this11.props.showAlert("danger", error.message);
24367
+ return _this12.props.showAlert("danger", error.message);
24350
24368
  },
24351
24369
  accepts: [".dbc"],
24352
24370
  multiple: true,
@@ -24381,10 +24399,10 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24381
24399
  type: "checkbox",
24382
24400
  checked: groupJ1939Pgns,
24383
24401
  onChange: function onChange() {
24384
- _this11.setState({
24402
+ _this12.setState({
24385
24403
  groupJ1939Pgns: !groupJ1939Pgns
24386
24404
  }, function () {
24387
- _this11.mergeData();
24405
+ _this12.mergeData();
24388
24406
  });
24389
24407
  },
24390
24408
  style: {
@@ -24394,7 +24412,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24394
24412
  }), "Group 29-bit IDs as PGNs"), /*#__PURE__*/React.createElement("p", {
24395
24413
  className: "field-description field-description-shift"
24396
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 () {
24397
- var isEnabled = _this11.props.formData && _this11.isFirmwareVersionSupported();
24415
+ var isEnabled = _this12.props.formData && _this12.isFirmwareVersionSupported();
24398
24416
  return /*#__PURE__*/React.createElement("div", {
24399
24417
  className: "form-group pl0 field-string",
24400
24418
  style: {
@@ -24411,9 +24429,9 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24411
24429
  }
24412
24430
  }, /*#__PURE__*/React.createElement("input", {
24413
24431
  type: "checkbox",
24414
- checked: _this11.state.showFilteredSummary,
24432
+ checked: _this12.state.showFilteredSummary,
24415
24433
  onChange: function onChange() {
24416
- return _this11.toggleFilteredSummary();
24434
+ return _this12.toggleFilteredSummary();
24417
24435
  },
24418
24436
  disabled: !isEnabled,
24419
24437
  style: {
@@ -24462,10 +24480,10 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24462
24480
  }, label, ":"), /*#__PURE__*/React.createElement("input", {
24463
24481
  type: "text",
24464
24482
  className: "form-control encryption-input",
24465
- value: _this11.state["channelMap" + label],
24483
+ value: _this12.state["channelMap" + label],
24466
24484
  onChange: function onChange(e) {
24467
- var _this11$setState;
24468
- 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));
24469
24487
  },
24470
24488
  style: {
24471
24489
  width: "36px",
@@ -24581,11 +24599,11 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24581
24599
  marginLeft: "8px"
24582
24600
  }
24583
24601
  }, "Signals")), filteredEntries.map(function (entry) {
24584
- var isChannelValid = _this11.props.deviceType === "CANmod" ? _this11.isChannelValid(entry.channel) : true;
24602
+ var isChannelValid = _this12.props.deviceType === "CANmod" ? _this12.isChannelValid(entry.channel) : true;
24585
24603
  return /*#__PURE__*/React.createElement("div", {
24586
24604
  key: entry.uniqueId,
24587
24605
  onClick: function onClick() {
24588
- return isChannelValid && _this11.handleEntryToggle(entry.uniqueId);
24606
+ return isChannelValid && _this12.handleEntryToggle(entry.uniqueId);
24589
24607
  },
24590
24608
  style: {
24591
24609
  display: "flex",
@@ -24613,7 +24631,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24613
24631
  checked: entry.selected,
24614
24632
  disabled: !isChannelValid,
24615
24633
  onChange: function onChange() {
24616
- return isChannelValid && _this11.handleEntryToggle(entry.uniqueId);
24634
+ return isChannelValid && _this12.handleEntryToggle(entry.uniqueId);
24617
24635
  }
24618
24636
  }), /*#__PURE__*/React.createElement("span", null))), /*#__PURE__*/React.createElement("span", {
24619
24637
  className: "binary-text-alt-2",
@@ -24650,7 +24668,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24650
24668
  display: "flex",
24651
24669
  alignItems: "center"
24652
24670
  }
24653
- }, _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", {
24654
24672
  style: {
24655
24673
  marginLeft: "4px",
24656
24674
  fontFamily: "monospace",
@@ -24741,7 +24759,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24741
24759
  marginLeft: "4px"
24742
24760
  },
24743
24761
  onClick: function onClick() {
24744
- return _this11.selectTop(30);
24762
+ return _this12.selectTop(30);
24745
24763
  }
24746
24764
  }, "Top 30"), /*#__PURE__*/React.createElement("span", {
24747
24765
  style: {
@@ -24754,7 +24772,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24754
24772
  cursor: "pointer"
24755
24773
  },
24756
24774
  onClick: function onClick() {
24757
- return _this11.selectTop(50);
24775
+ return _this12.selectTop(50);
24758
24776
  }
24759
24777
  }, "Top 50"), /*#__PURE__*/React.createElement("span", {
24760
24778
  style: {
@@ -24767,7 +24785,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24767
24785
  cursor: "pointer"
24768
24786
  },
24769
24787
  onClick: function onClick() {
24770
- return _this11.selectMatched(true);
24788
+ return _this12.selectMatched(true);
24771
24789
  }
24772
24790
  }, "Matched"), /*#__PURE__*/React.createElement("span", {
24773
24791
  style: {
@@ -24780,13 +24798,13 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24780
24798
  cursor: "pointer"
24781
24799
  },
24782
24800
  onClick: function onClick() {
24783
- return _this11.selectMatched(false);
24801
+ return _this12.selectMatched(false);
24784
24802
  }
24785
24803
  }, "Unmatched")), csvData && function () {
24786
- var activeCsvData = _this11.state.showFilteredSummary && _this11.state.filteredCsvData ? _this11.state.filteredCsvData : csvData;
24787
- var isFiltered = _this11.state.showFilteredSummary && _this11.state.filteredCsvData;
24788
- var originalFileSize = _this11.csvFileSize / (1024 * 1024);
24789
- 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;
24790
24808
  return /*#__PURE__*/React.createElement("div", {
24791
24809
  style: {
24792
24810
  fontSize: "12px",
@@ -24813,7 +24831,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24813
24831
  color: "#5cb85c",
24814
24832
  marginTop: "4px"
24815
24833
  }
24816
- }, "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), "%"), ")"));
24817
24835
  }(), function () {
24818
24836
  var hasSelection = mergedEntries.some(function (e) {
24819
24837
  return e.selected;
@@ -24839,8 +24857,8 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24839
24857
  }, /*#__PURE__*/React.createElement("div", {
24840
24858
  className: "col-xs-6",
24841
24859
  style: {
24842
- opacity: _this11.props.deviceType === "CANmod" ? 0.5 : 1,
24843
- pointerEvents: _this11.props.deviceType === "CANmod" ? "none" : "auto"
24860
+ opacity: _this12.props.deviceType === "CANmod" ? 0.5 : 1,
24861
+ pointerEvents: _this12.props.deviceType === "CANmod" ? "none" : "auto"
24844
24862
  }
24845
24863
  }, /*#__PURE__*/React.createElement(SimpleDropdown, {
24846
24864
  name: "Type",
@@ -24851,59 +24869,59 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24851
24869
  value: "rejection",
24852
24870
  label: "Rejection"
24853
24871
  }],
24854
- value: _this11.state.filterType,
24872
+ value: _this12.state.filterType,
24855
24873
  onChange: function onChange(opt) {
24856
- return _this11.setState({
24874
+ return _this12.setState({
24857
24875
  filterType: opt.value
24858
24876
  }, function () {
24859
- return _this11.generateFilterConfig();
24877
+ return _this12.generateFilterConfig();
24860
24878
  });
24861
24879
  }
24862
- }), _this11.props.deviceType === "CANmod" && /*#__PURE__*/React.createElement("span", {
24880
+ }), _this12.props.deviceType === "CANmod" && /*#__PURE__*/React.createElement("span", {
24863
24881
  className: "field-description",
24864
24882
  style: {
24865
24883
  fontSize: "11px",
24866
24884
  color: "#999"
24867
24885
  }
24868
- }, "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", {
24869
24887
  className: "col-xs-6"
24870
24888
  }, /*#__PURE__*/React.createElement(SimpleDropdown, {
24871
24889
  name: "Prescaler",
24872
24890
  options: prescalerOptions,
24873
- value: _this11.state.prescalerType,
24891
+ value: _this12.state.prescalerType,
24874
24892
  onChange: function onChange(opt) {
24875
- return _this11.setState({
24893
+ return _this12.setState({
24876
24894
  prescalerType: opt.value
24877
24895
  }, function () {
24878
- return _this11.generateFilterConfig();
24896
+ return _this12.generateFilterConfig();
24879
24897
  });
24880
24898
  }
24881
- }))), _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", {
24882
24900
  className: "form-group pl0 field-string"
24883
- }, _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", {
24884
24902
  type: "number",
24885
24903
  className: "form-control encryption-input",
24886
24904
  min: "1",
24887
- max: _this11.state.prescalerType === "count" ? 256 : 4194304,
24888
- value: _this11.state.prescalerValue,
24905
+ max: _this12.state.prescalerType === "count" ? 256 : 4194304,
24906
+ value: _this12.state.prescalerValue,
24889
24907
  onChange: function onChange(e) {
24890
- return _this11.setState({
24908
+ return _this12.setState({
24891
24909
  prescalerValue: parseInt(e.target.value) || 1
24892
24910
  }, function () {
24893
- return _this11.generateFilterConfig();
24911
+ return _this12.generateFilterConfig();
24894
24912
  });
24895
24913
  }
24896
- }), _this11.state.prescalerType === "data" && /*#__PURE__*/React.createElement("input", {
24914
+ }), _this12.state.prescalerType === "data" && /*#__PURE__*/React.createElement("input", {
24897
24915
  type: "text",
24898
24916
  className: "form-control encryption-input",
24899
- value: _this11.state.dataPrescalerMask,
24917
+ value: _this12.state.dataPrescalerMask,
24900
24918
  onChange: function onChange(e) {
24901
24919
  var val = e.target.value.toUpperCase();
24902
24920
  if (/^[a-fA-F0-9]*$/.test(val) && val.length <= 16) {
24903
- _this11.setState({
24921
+ _this12.setState({
24904
24922
  dataPrescalerMask: val
24905
24923
  }, function () {
24906
- return _this11.generateFilterConfig();
24924
+ return _this12.generateFilterConfig();
24907
24925
  });
24908
24926
  }
24909
24927
  },
@@ -24914,7 +24932,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24914
24932
  }
24915
24933
  }), /*#__PURE__*/React.createElement("span", {
24916
24934
  className: "field-description field-description-shift"
24917
- }, _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", {
24918
24936
  style: {
24919
24937
  display: "flex",
24920
24938
  alignItems: "center",
@@ -24934,12 +24952,12 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24934
24952
  type: "radio",
24935
24953
  name: "filterMergeMode",
24936
24954
  value: "replace",
24937
- checked: _this11.state.filterMergeMode === "replace",
24955
+ checked: _this12.state.filterMergeMode === "replace",
24938
24956
  onChange: function onChange(e) {
24939
- return _this11.setState({
24957
+ return _this12.setState({
24940
24958
  filterMergeMode: e.target.value
24941
24959
  }, function () {
24942
- return _this11.generateFilterConfig();
24960
+ return _this12.generateFilterConfig();
24943
24961
  });
24944
24962
  },
24945
24963
  style: {
@@ -24962,12 +24980,12 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24962
24980
  type: "radio",
24963
24981
  name: "filterMergeMode",
24964
24982
  value: "append_top",
24965
- checked: _this11.state.filterMergeMode === "append_top",
24983
+ checked: _this12.state.filterMergeMode === "append_top",
24966
24984
  onChange: function onChange(e) {
24967
- return _this11.setState({
24985
+ return _this12.setState({
24968
24986
  filterMergeMode: e.target.value
24969
24987
  }, function () {
24970
- return _this11.generateFilterConfig();
24988
+ return _this12.generateFilterConfig();
24971
24989
  });
24972
24990
  },
24973
24991
  style: {
@@ -24990,12 +25008,12 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24990
25008
  type: "radio",
24991
25009
  name: "filterMergeMode",
24992
25010
  value: "append_bottom",
24993
- checked: _this11.state.filterMergeMode === "append_bottom",
25011
+ checked: _this12.state.filterMergeMode === "append_bottom",
24994
25012
  onChange: function onChange(e) {
24995
- return _this11.setState({
25013
+ return _this12.setState({
24996
25014
  filterMergeMode: e.target.value
24997
25015
  }, function () {
24998
- return _this11.generateFilterConfig();
25016
+ return _this12.generateFilterConfig();
24999
25017
  });
25000
25018
  },
25001
25019
  style: {
@@ -25029,9 +25047,9 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
25029
25047
  }, 0);
25030
25048
  return " (" + count11Bit + " 11-bit, " + count29Bit + " 29-bit) | " + sizePercent.toFixed(1) + "%";
25031
25049
  }()), function () {
25032
- var isFirmwareSupported = _this11.isFirmwareVersionSupported();
25033
- var isCanmod = _this11.props.deviceType === "CANmod";
25034
- var isCanmodRouter = isCanmod && _this11.isCanmodRouter();
25050
+ var isFirmwareSupported = _this12.isFirmwareVersionSupported();
25051
+ var isCanmod = _this12.props.deviceType === "CANmod";
25052
+ var isCanmodRouter = isCanmod && _this12.isCanmodRouter();
25035
25053
  var minFirmware = isCanmod ? MIN_FIRMWARE_CANMOD_ROUTER : MIN_FIRMWARE_CANEDGE;
25036
25054
  var isDeviceSupported = !isCanmod || isCanmodRouter;
25037
25055
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
@@ -25042,20 +25060,20 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
25042
25060
  }
25043
25061
  }, /*#__PURE__*/React.createElement("button", {
25044
25062
  className: "btn btn-primary",
25045
- onClick: _this11.onMerge,
25046
- 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
25047
25065
  }, "Merge files"), /*#__PURE__*/React.createElement("button", {
25048
25066
  className: "btn btn-default",
25049
- onClick: _this11.onDownload,
25050
- disabled: Object.keys(_this11.state.generatedFilterConfig).length === 0
25051
- }, "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", {
25052
25070
  style: {
25053
25071
  fontSize: "12px",
25054
25072
  color: "#666",
25055
25073
  marginTop: "8px"
25056
25074
  }
25057
25075
  }, "Merging requires firmware ", minFirmware, ".XX+ - please update your device"));
25058
- }(), Object.keys(_this11.state.generatedFilterConfig).length > 0 && /*#__PURE__*/React.createElement("div", {
25076
+ }(), Object.keys(_this12.state.generatedFilterConfig).length > 0 && /*#__PURE__*/React.createElement("div", {
25059
25077
  style: {
25060
25078
  marginTop: "10px"
25061
25079
  }
@@ -25068,17 +25086,17 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
25068
25086
  }
25069
25087
  }, /*#__PURE__*/React.createElement("input", {
25070
25088
  type: "checkbox",
25071
- checked: _this11.state.showFilterPreview,
25089
+ checked: _this12.state.showFilterPreview,
25072
25090
  onChange: function onChange() {
25073
- return _this11.setState({
25074
- showFilterPreview: !_this11.state.showFilterPreview
25091
+ return _this12.setState({
25092
+ showFilterPreview: !_this12.state.showFilterPreview
25075
25093
  });
25076
25094
  },
25077
25095
  style: {
25078
25096
  marginRight: "6px",
25079
25097
  marginBottom: "4px"
25080
25098
  }
25081
- }), "Show partial config preview"), _this11.state.showFilterPreview && /*#__PURE__*/React.createElement("div", {
25099
+ }), "Show partial config preview"), _this12.state.showFilterPreview && /*#__PURE__*/React.createElement("div", {
25082
25100
  style: {
25083
25101
  marginTop: "10px"
25084
25102
  }
@@ -25089,21 +25107,8 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
25089
25107
  overflow: "auto",
25090
25108
  fontSize: "11px"
25091
25109
  }
25092
- }, JSON.stringify(_this11.state.generatedFilterConfig, null, 2)))));
25093
- }()), /*#__PURE__*/React.createElement("div", {
25094
- style: {
25095
- display: "none"
25096
- }
25097
- }, /*#__PURE__*/React.createElement(Form, {
25098
- validator: validator,
25099
- onError: this.onValidationError,
25100
- schema: this.props.schemaContent ? this.props.schemaContent : {},
25101
- formData: this.state.mergedConfig ? this.state.mergedConfig : {},
25102
- onSubmit: this.onSubmit,
25103
- ref: function ref(form) {
25104
- yourForm$2 = form;
25105
- }
25106
- })), /*#__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)));
25107
25112
  };
25108
25113
  return FilterBuilderTool;
25109
25114
  }(React.Component);