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.
@@ -8,6 +8,7 @@ import Select from 'react-select';
8
8
  import Files from 'react-files';
9
9
  import applyNav, { GENERIC_NAV } from 'rjsf-tabs';
10
10
  import { ReactGhLikeDiff } from 'react-gh-like-diff';
11
+ import Ajv from 'ajv';
11
12
 
12
13
  function _arrayLikeToArray(r, a) {
13
14
  (null == a || a > r.length) && (a = r.length);
@@ -19271,8 +19272,14 @@ var EditorSection = /*#__PURE__*/function (_React$Component) {
19271
19272
  isSubmitting: false,
19272
19273
  isDownloadConfig: false,
19273
19274
  isCompareChanges: false,
19274
- activeSideBar: 'schema-modal'
19275
+ activeSideBar: 'schema-modal',
19276
+ showNewToolsHighlight: true
19275
19277
  };
19278
+ setTimeout(function () {
19279
+ _this.setState({
19280
+ showNewToolsHighlight: false
19281
+ });
19282
+ }, 10000);
19276
19283
  _this.input = '';
19277
19284
  _this.s3 = _this.props.fetchFileContentExt ? true : false;
19278
19285
  return _this;
@@ -19564,7 +19571,9 @@ var EditorSection = /*#__PURE__*/function (_React$Component) {
19564
19571
  }, ' ', "Review changes", ' ')), /*#__PURE__*/React.createElement("div", {
19565
19572
  className: "col-xs-7",
19566
19573
  style: {
19567
- "float": 'left'
19574
+ "float": 'left',
19575
+ display: 'flex',
19576
+ alignItems: 'center'
19568
19577
  }
19569
19578
  }, editorToolsFull.map(function (modal, idx) {
19570
19579
  return /*#__PURE__*/React.createElement(EditorToolButton, {
@@ -19575,7 +19584,15 @@ var EditorSection = /*#__PURE__*/function (_React$Component) {
19575
19584
  comment: modal.comment,
19576
19585
  className: modal["class"]
19577
19586
  });
19578
- }))))))), /*#__PURE__*/React.createElement("div", {
19587
+ }), this.state.showNewToolsHighlight && /*#__PURE__*/React.createElement("span", {
19588
+ style: {
19589
+ fontSize: '12px',
19590
+ color: '#337ab7',
19591
+ marginLeft: '10px',
19592
+ transition: 'opacity 1s ease-out',
19593
+ opacity: this.state.showNewToolsHighlight ? 1 : 0
19594
+ }
19595
+ }, "New: OBD & filter builder tools"))))))), /*#__PURE__*/React.createElement("div", {
19579
19596
  className: "config-bar-background"
19580
19597
  }));
19581
19598
  };
@@ -21876,7 +21893,6 @@ function extractSupportedPidsFromBitmap(rangeStart, bitmapHex, supportedSet) {
21876
21893
  }
21877
21894
 
21878
21895
  var merge$1 = require("deepmerge");
21879
- var yourForm$1;
21880
21896
  var modeOptions = [{
21881
21897
  value: "all",
21882
21898
  label: "Select from all PIDs"
@@ -22187,6 +22203,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22187
22203
  }
22188
22204
  };
22189
22205
  _proto.testMergedFile = function testMergedFile() {
22206
+ var _this8 = this;
22190
22207
  var _this$state4 = this.state,
22191
22208
  generatedConfig = _this$state4.generatedConfig,
22192
22209
  enableControlSignal = _this$state4.enableControlSignal,
@@ -22257,8 +22274,24 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22257
22274
  this.setState({
22258
22275
  mergedConfig: mergedConfigTemp
22259
22276
  }, function () {
22260
- if (yourForm$1) {
22261
- yourForm$1.submit();
22277
+ var schemaContent = _this8.props.schemaContent;
22278
+ if (schemaContent && mergedConfigTemp) {
22279
+ try {
22280
+ var ajv = new Ajv({
22281
+ allErrors: true,
22282
+ strict: false,
22283
+ logger: false
22284
+ });
22285
+ var validate = ajv.compile(schemaContent);
22286
+ var valid = validate(mergedConfigTemp);
22287
+ _this8.setState({
22288
+ mergedConfigValid: valid
22289
+ });
22290
+ } catch (e) {
22291
+ _this8.setState({
22292
+ mergedConfigValid: false
22293
+ });
22294
+ }
22262
22295
  }
22263
22296
  });
22264
22297
  };
@@ -22306,7 +22339,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22306
22339
  linkElement.click();
22307
22340
  };
22308
22341
  _proto.render = function render() {
22309
- var _this8 = this;
22342
+ var _this9 = this;
22310
22343
  var _this$state6 = this.state,
22311
22344
  toolMode = _this$state6.toolMode,
22312
22345
  channel = _this$state6.channel,
@@ -22317,7 +22350,6 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22317
22350
  searchQuery = _this$state6.searchQuery,
22318
22351
  supportedPids = _this$state6.supportedPids,
22319
22352
  generatedConfig = _this$state6.generatedConfig,
22320
- mergedConfig = _this$state6.mergedConfig,
22321
22353
  mergedConfigValid = _this$state6.mergedConfigValid,
22322
22354
  csvFileName = _this$state6.csvFileName,
22323
22355
  mixedWarning = _this$state6.mixedWarning,
@@ -22327,7 +22359,6 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22327
22359
  combinedConfig = _this$state6.combinedConfig;
22328
22360
  var _this$props = this.props,
22329
22361
  formData = _this$props.formData,
22330
- schemaContent = _this$props.schemaContent,
22331
22362
  editorConfigFiles = _this$props.editorConfigFiles;
22332
22363
  var configFileName = editorConfigFiles && editorConfigFiles.length > 0 ? editorConfigFiles[0].name : "";
22333
22364
  var isVersion0109 = configFileName.includes("01.09");
@@ -22371,7 +22402,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22371
22402
  }, /*#__PURE__*/React.createElement(Files, {
22372
22403
  onChange: this.handleCsvUpload,
22373
22404
  onError: function onError(error) {
22374
- return _this8.props.showAlert("danger", error.message);
22405
+ return _this9.props.showAlert("danger", error.message);
22375
22406
  },
22376
22407
  accepts: [".csv"],
22377
22408
  multiple: false,
@@ -22398,7 +22429,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22398
22429
  options: channelOptions,
22399
22430
  value: channel,
22400
22431
  onChange: function onChange(opt) {
22401
- return _this8.handleSettingChange("channel", opt);
22432
+ return _this9.handleSettingChange("channel", opt);
22402
22433
  },
22403
22434
  comment: "Select which CAN channel should be used to transmit the OBD requests."
22404
22435
  })), /*#__PURE__*/React.createElement("div", {
@@ -22408,7 +22439,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22408
22439
  options: bitRateOptions,
22409
22440
  value: bitRate,
22410
22441
  onChange: function onChange(opt) {
22411
- return _this8.handleSettingChange("bitRate", opt);
22442
+ return _this9.handleSettingChange("bitRate", opt);
22412
22443
  },
22413
22444
  comment: "Cars typically use 500K, trucks/buses may use 250K or 500K."
22414
22445
  }))), toolMode !== "test" && /*#__PURE__*/React.createElement("div", {
@@ -22420,7 +22451,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22420
22451
  options: canIdOptions,
22421
22452
  value: canId,
22422
22453
  onChange: function onChange(opt) {
22423
- return _this8.handleSettingChange("canId", opt);
22454
+ return _this9.handleSettingChange("canId", opt);
22424
22455
  },
22425
22456
  comment: "Cars typically use 7DF, trucks/buses typically use 18DB33F1."
22426
22457
  })), /*#__PURE__*/React.createElement("div", {
@@ -22430,7 +22461,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22430
22461
  options: obdModeOptions,
22431
22462
  value: obdMode,
22432
22463
  onChange: function onChange(opt) {
22433
- return _this8.handleSettingChange("obdMode", opt);
22464
+ return _this9.handleSettingChange("obdMode", opt);
22434
22465
  },
22435
22466
  comment: "Cars use OBD2, trucks/buses may use OBD2 or WWH-OBD."
22436
22467
  }))), toolMode !== "test" && /*#__PURE__*/React.createElement("div", {
@@ -22443,17 +22474,17 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22443
22474
  max: 10000,
22444
22475
  onChange: function onChange(e) {
22445
22476
  var val = parseInt(e.target.value) || 0;
22446
- _this8.setState({
22477
+ _this9.setState({
22447
22478
  spacing: val
22448
22479
  });
22449
22480
  },
22450
22481
  onBlur: function onBlur(e) {
22451
22482
  var val = Math.min(10000, Math.max(100, parseInt(e.target.value) || 100));
22452
- _this8.setState({
22483
+ _this9.setState({
22453
22484
  spacing: val
22454
22485
  }, function () {
22455
- if (_this8.getSelectedPids().length > 0) {
22456
- _this8.generateTransmitList();
22486
+ if (_this9.getSelectedPids().length > 0) {
22487
+ _this9.generateTransmitList();
22457
22488
  }
22458
22489
  });
22459
22490
  }
@@ -22504,7 +22535,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22504
22535
  key: pid.uniqueId,
22505
22536
  className: "checkbox-white-space",
22506
22537
  onClick: function onClick() {
22507
- return !pid.disabled && _this8.handlePidToggle(pid.uniqueId);
22538
+ return !pid.disabled && _this9.handlePidToggle(pid.uniqueId);
22508
22539
  },
22509
22540
  style: {
22510
22541
  display: "flex",
@@ -22530,7 +22561,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22530
22561
  checked: pid.selected,
22531
22562
  disabled: pid.disabled,
22532
22563
  onChange: function onChange() {
22533
- return !pid.disabled && _this8.handlePidToggle(pid.uniqueId);
22564
+ return !pid.disabled && _this9.handlePidToggle(pid.uniqueId);
22534
22565
  }
22535
22566
  }), /*#__PURE__*/React.createElement("span", null))), /*#__PURE__*/React.createElement("span", {
22536
22567
  className: "binary-text-alt-2",
@@ -22573,11 +22604,11 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22573
22604
  type: "checkbox",
22574
22605
  checked: enableOBDFilter,
22575
22606
  onChange: function onChange() {
22576
- _this8.setState({
22607
+ _this9.setState({
22577
22608
  enableOBDFilter: !enableOBDFilter
22578
22609
  }, function () {
22579
- if (_this8.getSelectedPids().length > 0) {
22580
- _this8.generateTransmitList();
22610
+ if (_this9.getSelectedPids().length > 0) {
22611
+ _this9.generateTransmitList();
22581
22612
  }
22582
22613
  });
22583
22614
  },
@@ -22602,11 +22633,11 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22602
22633
  type: "checkbox",
22603
22634
  checked: enableControlSignal,
22604
22635
  onChange: function onChange() {
22605
- _this8.setState({
22636
+ _this9.setState({
22606
22637
  enableControlSignal: !enableControlSignal
22607
22638
  }, function () {
22608
- if (_this8.getSelectedPids().length > 0) {
22609
- _this8.generateTransmitList();
22639
+ if (_this9.getSelectedPids().length > 0) {
22640
+ _this9.generateTransmitList();
22610
22641
  }
22611
22642
  });
22612
22643
  },
@@ -22651,7 +22682,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22651
22682
  type: "checkbox",
22652
22683
  checked: showPreview,
22653
22684
  onChange: function onChange() {
22654
- return _this8.setState({
22685
+ return _this9.setState({
22655
22686
  showPreview: !showPreview
22656
22687
  });
22657
22688
  },
@@ -22665,20 +22696,7 @@ var OBDTool = /*#__PURE__*/function (_React$Component) {
22665
22696
  }
22666
22697
  }, /*#__PURE__*/React.createElement("pre", {
22667
22698
  className: "browse-file-preview"
22668
- }, 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", {
22669
- style: {
22670
- display: "none"
22671
- }
22672
- }, /*#__PURE__*/React.createElement(Form, {
22673
- validator: validator,
22674
- onError: this.onValidationError,
22675
- schema: schemaContent ? schemaContent : {},
22676
- formData: mergedConfig ? mergedConfig : {},
22677
- onSubmit: this.onSubmit,
22678
- ref: function ref(form) {
22679
- yourForm$1 = form;
22680
- }
22681
- })));
22699
+ }, 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)));
22682
22700
  };
22683
22701
  return OBDTool;
22684
22702
  }(React.Component);
@@ -22991,13 +23009,13 @@ function applyPrescaler(frame, filter, prescalerState) {
22991
23009
  state.lastData = currentData;
22992
23010
  return true;
22993
23011
  }
22994
- var maskValue = prescalerValue ? parseInt(prescalerValue, 16) : 0xFFFFFFFFFFFFFFFFn;
23012
+ var maskValue = prescalerValue ? BigInt("0x" + prescalerValue) : BigInt("0xFFFFFFFFFFFFFFFF");
22995
23013
  var prevBytes = parseDataBytes(state.lastData);
22996
23014
  var currBytes = parseDataBytes(currentData);
22997
23015
  var changed = false;
22998
23016
  for (var i = 0; i < Math.max(prevBytes.length, currBytes.length); i++) {
22999
23017
  var byteMask = BigInt(1) << BigInt(i);
23000
- if ((BigInt(maskValue) & byteMask) !== BigInt(0)) {
23018
+ if ((maskValue & byteMask) !== BigInt(0)) {
23001
23019
  var prevByte = prevBytes[i] || 0;
23002
23020
  var currByte = currBytes[i] || 0;
23003
23021
  if (prevByte !== currByte) {
@@ -23104,7 +23122,6 @@ function evaluateFilters(frames, configData, detectedDeviceType) {
23104
23122
  var _excluded = ["name"],
23105
23123
  _excluded2 = ["name"];
23106
23124
  var merge$2 = require("deepmerge");
23107
- var yourForm$2;
23108
23125
  var prescalerOptions = [{
23109
23126
  value: "none",
23110
23127
  label: "None"
@@ -24032,6 +24049,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24032
24049
  return filterConfig;
24033
24050
  };
24034
24051
  _proto.testMergedFile = function testMergedFile() {
24052
+ var _this11 = this;
24035
24053
  var _this$state7 = this.state,
24036
24054
  generatedFilterConfig = _this$state7.generatedFilterConfig,
24037
24055
  filterMergeMode = _this$state7.filterMergeMode;
@@ -24065,8 +24083,24 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24065
24083
  this.setState({
24066
24084
  mergedConfig: mergedConfigTemp
24067
24085
  }, function () {
24068
- if (yourForm$2) {
24069
- yourForm$2.submit();
24086
+ var schemaContent = _this11.props.schemaContent;
24087
+ if (schemaContent && mergedConfigTemp) {
24088
+ try {
24089
+ var ajv = new Ajv({
24090
+ allErrors: true,
24091
+ strict: false,
24092
+ logger: false
24093
+ });
24094
+ var validate = ajv.compile(schemaContent);
24095
+ var valid = validate(mergedConfigTemp);
24096
+ _this11.setState({
24097
+ mergedConfigValid: valid
24098
+ });
24099
+ } catch (e) {
24100
+ _this11.setState({
24101
+ mergedConfigValid: false
24102
+ });
24103
+ }
24070
24104
  }
24071
24105
  });
24072
24106
  };
@@ -24274,7 +24308,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24274
24308
  });
24275
24309
  };
24276
24310
  _proto.render = function render() {
24277
- var _this11 = this;
24311
+ var _this12 = this;
24278
24312
  var _this$state10 = this.state,
24279
24313
  csvFileName = _this$state10.csvFileName,
24280
24314
  dbcFileNames = _this$state10.dbcFileNames,
@@ -24313,7 +24347,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24313
24347
  }, /*#__PURE__*/React.createElement(Files, {
24314
24348
  onChange: this.handleCsvUpload,
24315
24349
  onError: function onError(error) {
24316
- return _this11.props.showAlert("danger", error.message);
24350
+ return _this12.props.showAlert("danger", error.message);
24317
24351
  },
24318
24352
  accepts: [".csv"],
24319
24353
  multiple: false,
@@ -24327,7 +24361,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24327
24361
  }, /*#__PURE__*/React.createElement(Files, {
24328
24362
  onChange: this.handleDbcUpload,
24329
24363
  onError: function onError(error) {
24330
- return _this11.props.showAlert("danger", error.message);
24364
+ return _this12.props.showAlert("danger", error.message);
24331
24365
  },
24332
24366
  accepts: [".dbc"],
24333
24367
  multiple: true,
@@ -24362,10 +24396,10 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24362
24396
  type: "checkbox",
24363
24397
  checked: groupJ1939Pgns,
24364
24398
  onChange: function onChange() {
24365
- _this11.setState({
24399
+ _this12.setState({
24366
24400
  groupJ1939Pgns: !groupJ1939Pgns
24367
24401
  }, function () {
24368
- _this11.mergeData();
24402
+ _this12.mergeData();
24369
24403
  });
24370
24404
  },
24371
24405
  style: {
@@ -24375,7 +24409,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24375
24409
  }), "Group 29-bit IDs as PGNs"), /*#__PURE__*/React.createElement("p", {
24376
24410
  className: "field-description field-description-shift"
24377
24411
  }, "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 () {
24378
- var isEnabled = _this11.props.formData && _this11.isFirmwareVersionSupported();
24412
+ var isEnabled = _this12.props.formData && _this12.isFirmwareVersionSupported();
24379
24413
  return /*#__PURE__*/React.createElement("div", {
24380
24414
  className: "form-group pl0 field-string",
24381
24415
  style: {
@@ -24392,9 +24426,9 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24392
24426
  }
24393
24427
  }, /*#__PURE__*/React.createElement("input", {
24394
24428
  type: "checkbox",
24395
- checked: _this11.state.showFilteredSummary,
24429
+ checked: _this12.state.showFilteredSummary,
24396
24430
  onChange: function onChange() {
24397
- return _this11.toggleFilteredSummary();
24431
+ return _this12.toggleFilteredSummary();
24398
24432
  },
24399
24433
  disabled: !isEnabled,
24400
24434
  style: {
@@ -24443,10 +24477,10 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24443
24477
  }, label, ":"), /*#__PURE__*/React.createElement("input", {
24444
24478
  type: "text",
24445
24479
  className: "form-control encryption-input",
24446
- value: _this11.state["channelMap" + label],
24480
+ value: _this12.state["channelMap" + label],
24447
24481
  onChange: function onChange(e) {
24448
- var _this11$setState;
24449
- return _this11.setState((_this11$setState = {}, _this11$setState["channelMap" + label] = e.target.value, _this11$setState));
24482
+ var _this12$setState;
24483
+ return _this12.setState((_this12$setState = {}, _this12$setState["channelMap" + label] = e.target.value, _this12$setState));
24450
24484
  },
24451
24485
  style: {
24452
24486
  width: "36px",
@@ -24562,11 +24596,11 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24562
24596
  marginLeft: "8px"
24563
24597
  }
24564
24598
  }, "Signals")), filteredEntries.map(function (entry) {
24565
- var isChannelValid = _this11.props.deviceType === "CANmod" ? _this11.isChannelValid(entry.channel) : true;
24599
+ var isChannelValid = _this12.props.deviceType === "CANmod" ? _this12.isChannelValid(entry.channel) : true;
24566
24600
  return /*#__PURE__*/React.createElement("div", {
24567
24601
  key: entry.uniqueId,
24568
24602
  onClick: function onClick() {
24569
- return isChannelValid && _this11.handleEntryToggle(entry.uniqueId);
24603
+ return isChannelValid && _this12.handleEntryToggle(entry.uniqueId);
24570
24604
  },
24571
24605
  style: {
24572
24606
  display: "flex",
@@ -24594,7 +24628,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24594
24628
  checked: entry.selected,
24595
24629
  disabled: !isChannelValid,
24596
24630
  onChange: function onChange() {
24597
- return isChannelValid && _this11.handleEntryToggle(entry.uniqueId);
24631
+ return isChannelValid && _this12.handleEntryToggle(entry.uniqueId);
24598
24632
  }
24599
24633
  }), /*#__PURE__*/React.createElement("span", null))), /*#__PURE__*/React.createElement("span", {
24600
24634
  className: "binary-text-alt-2",
@@ -24631,7 +24665,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24631
24665
  display: "flex",
24632
24666
  alignItems: "center"
24633
24667
  }
24634
- }, _this11.renderBarChart(entry.isGroup ? entry.groupedPercentage : entry.percentage, maxPercentage), /*#__PURE__*/React.createElement("span", {
24668
+ }, _this12.renderBarChart(entry.isGroup ? entry.groupedPercentage : entry.percentage, maxPercentage), /*#__PURE__*/React.createElement("span", {
24635
24669
  style: {
24636
24670
  marginLeft: "4px",
24637
24671
  fontFamily: "monospace",
@@ -24722,7 +24756,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24722
24756
  marginLeft: "4px"
24723
24757
  },
24724
24758
  onClick: function onClick() {
24725
- return _this11.selectTop(30);
24759
+ return _this12.selectTop(30);
24726
24760
  }
24727
24761
  }, "Top 30"), /*#__PURE__*/React.createElement("span", {
24728
24762
  style: {
@@ -24735,7 +24769,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24735
24769
  cursor: "pointer"
24736
24770
  },
24737
24771
  onClick: function onClick() {
24738
- return _this11.selectTop(50);
24772
+ return _this12.selectTop(50);
24739
24773
  }
24740
24774
  }, "Top 50"), /*#__PURE__*/React.createElement("span", {
24741
24775
  style: {
@@ -24748,7 +24782,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24748
24782
  cursor: "pointer"
24749
24783
  },
24750
24784
  onClick: function onClick() {
24751
- return _this11.selectMatched(true);
24785
+ return _this12.selectMatched(true);
24752
24786
  }
24753
24787
  }, "Matched"), /*#__PURE__*/React.createElement("span", {
24754
24788
  style: {
@@ -24761,13 +24795,13 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24761
24795
  cursor: "pointer"
24762
24796
  },
24763
24797
  onClick: function onClick() {
24764
- return _this11.selectMatched(false);
24798
+ return _this12.selectMatched(false);
24765
24799
  }
24766
24800
  }, "Unmatched")), csvData && function () {
24767
- var activeCsvData = _this11.state.showFilteredSummary && _this11.state.filteredCsvData ? _this11.state.filteredCsvData : csvData;
24768
- var isFiltered = _this11.state.showFilteredSummary && _this11.state.filteredCsvData;
24769
- var originalFileSize = _this11.csvFileSize / (1024 * 1024);
24770
- var filteredFileSize = isFiltered ? originalFileSize * (1 - _this11.state.filterReductionPercent / 100) : originalFileSize;
24801
+ var activeCsvData = _this12.state.showFilteredSummary && _this12.state.filteredCsvData ? _this12.state.filteredCsvData : csvData;
24802
+ var isFiltered = _this12.state.showFilteredSummary && _this12.state.filteredCsvData;
24803
+ var originalFileSize = _this12.csvFileSize / (1024 * 1024);
24804
+ var filteredFileSize = isFiltered ? originalFileSize * (1 - _this12.state.filterReductionPercent / 100) : originalFileSize;
24771
24805
  return /*#__PURE__*/React.createElement("div", {
24772
24806
  style: {
24773
24807
  fontSize: "12px",
@@ -24794,7 +24828,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24794
24828
  color: "#5cb85c",
24795
24829
  marginTop: "4px"
24796
24830
  }
24797
- }, "Showing filtered summary (reduction: ", /*#__PURE__*/React.createElement("strong", null, _this11.state.filterReductionPercent.toFixed(1), "%"), ")"));
24831
+ }, "Showing filtered summary (reduction: ", /*#__PURE__*/React.createElement("strong", null, _this12.state.filterReductionPercent.toFixed(1), "%"), ")"));
24798
24832
  }(), function () {
24799
24833
  var hasSelection = mergedEntries.some(function (e) {
24800
24834
  return e.selected;
@@ -24820,8 +24854,8 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24820
24854
  }, /*#__PURE__*/React.createElement("div", {
24821
24855
  className: "col-xs-6",
24822
24856
  style: {
24823
- opacity: _this11.props.deviceType === "CANmod" ? 0.5 : 1,
24824
- pointerEvents: _this11.props.deviceType === "CANmod" ? "none" : "auto"
24857
+ opacity: _this12.props.deviceType === "CANmod" ? 0.5 : 1,
24858
+ pointerEvents: _this12.props.deviceType === "CANmod" ? "none" : "auto"
24825
24859
  }
24826
24860
  }, /*#__PURE__*/React.createElement(SimpleDropdown, {
24827
24861
  name: "Type",
@@ -24832,59 +24866,59 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24832
24866
  value: "rejection",
24833
24867
  label: "Rejection"
24834
24868
  }],
24835
- value: _this11.state.filterType,
24869
+ value: _this12.state.filterType,
24836
24870
  onChange: function onChange(opt) {
24837
- return _this11.setState({
24871
+ return _this12.setState({
24838
24872
  filterType: opt.value
24839
24873
  }, function () {
24840
- return _this11.generateFilterConfig();
24874
+ return _this12.generateFilterConfig();
24841
24875
  });
24842
24876
  }
24843
- }), _this11.props.deviceType === "CANmod" && /*#__PURE__*/React.createElement("span", {
24877
+ }), _this12.props.deviceType === "CANmod" && /*#__PURE__*/React.createElement("span", {
24844
24878
  className: "field-description",
24845
24879
  style: {
24846
24880
  fontSize: "11px",
24847
24881
  color: "#999"
24848
24882
  }
24849
- }, "CANmod only supports acceptance filters")), _this11.state.filterType === "acceptance" && /*#__PURE__*/React.createElement("div", {
24883
+ }, "CANmod only supports acceptance filters")), _this12.state.filterType === "acceptance" && /*#__PURE__*/React.createElement("div", {
24850
24884
  className: "col-xs-6"
24851
24885
  }, /*#__PURE__*/React.createElement(SimpleDropdown, {
24852
24886
  name: "Prescaler",
24853
24887
  options: prescalerOptions,
24854
- value: _this11.state.prescalerType,
24888
+ value: _this12.state.prescalerType,
24855
24889
  onChange: function onChange(opt) {
24856
- return _this11.setState({
24890
+ return _this12.setState({
24857
24891
  prescalerType: opt.value
24858
24892
  }, function () {
24859
- return _this11.generateFilterConfig();
24893
+ return _this12.generateFilterConfig();
24860
24894
  });
24861
24895
  }
24862
- }))), _this11.state.filterType === "acceptance" && _this11.state.prescalerType !== "none" && /*#__PURE__*/React.createElement("div", {
24896
+ }))), _this12.state.filterType === "acceptance" && _this12.state.prescalerType !== "none" && /*#__PURE__*/React.createElement("div", {
24863
24897
  className: "form-group pl0 field-string"
24864
- }, _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", {
24898
+ }, _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", {
24865
24899
  type: "number",
24866
24900
  className: "form-control encryption-input",
24867
24901
  min: "1",
24868
- max: _this11.state.prescalerType === "count" ? 256 : 4194304,
24869
- value: _this11.state.prescalerValue,
24902
+ max: _this12.state.prescalerType === "count" ? 256 : 4194304,
24903
+ value: _this12.state.prescalerValue,
24870
24904
  onChange: function onChange(e) {
24871
- return _this11.setState({
24905
+ return _this12.setState({
24872
24906
  prescalerValue: parseInt(e.target.value) || 1
24873
24907
  }, function () {
24874
- return _this11.generateFilterConfig();
24908
+ return _this12.generateFilterConfig();
24875
24909
  });
24876
24910
  }
24877
- }), _this11.state.prescalerType === "data" && /*#__PURE__*/React.createElement("input", {
24911
+ }), _this12.state.prescalerType === "data" && /*#__PURE__*/React.createElement("input", {
24878
24912
  type: "text",
24879
24913
  className: "form-control encryption-input",
24880
- value: _this11.state.dataPrescalerMask,
24914
+ value: _this12.state.dataPrescalerMask,
24881
24915
  onChange: function onChange(e) {
24882
24916
  var val = e.target.value.toUpperCase();
24883
24917
  if (/^[a-fA-F0-9]*$/.test(val) && val.length <= 16) {
24884
- _this11.setState({
24918
+ _this12.setState({
24885
24919
  dataPrescalerMask: val
24886
24920
  }, function () {
24887
- return _this11.generateFilterConfig();
24921
+ return _this12.generateFilterConfig();
24888
24922
  });
24889
24923
  }
24890
24924
  },
@@ -24895,7 +24929,7 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24895
24929
  }
24896
24930
  }), /*#__PURE__*/React.createElement("span", {
24897
24931
  className: "field-description field-description-shift"
24898
- }, _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", {
24932
+ }, _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", {
24899
24933
  style: {
24900
24934
  display: "flex",
24901
24935
  alignItems: "center",
@@ -24915,12 +24949,12 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24915
24949
  type: "radio",
24916
24950
  name: "filterMergeMode",
24917
24951
  value: "replace",
24918
- checked: _this11.state.filterMergeMode === "replace",
24952
+ checked: _this12.state.filterMergeMode === "replace",
24919
24953
  onChange: function onChange(e) {
24920
- return _this11.setState({
24954
+ return _this12.setState({
24921
24955
  filterMergeMode: e.target.value
24922
24956
  }, function () {
24923
- return _this11.generateFilterConfig();
24957
+ return _this12.generateFilterConfig();
24924
24958
  });
24925
24959
  },
24926
24960
  style: {
@@ -24943,12 +24977,12 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24943
24977
  type: "radio",
24944
24978
  name: "filterMergeMode",
24945
24979
  value: "append_top",
24946
- checked: _this11.state.filterMergeMode === "append_top",
24980
+ checked: _this12.state.filterMergeMode === "append_top",
24947
24981
  onChange: function onChange(e) {
24948
- return _this11.setState({
24982
+ return _this12.setState({
24949
24983
  filterMergeMode: e.target.value
24950
24984
  }, function () {
24951
- return _this11.generateFilterConfig();
24985
+ return _this12.generateFilterConfig();
24952
24986
  });
24953
24987
  },
24954
24988
  style: {
@@ -24971,12 +25005,12 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
24971
25005
  type: "radio",
24972
25006
  name: "filterMergeMode",
24973
25007
  value: "append_bottom",
24974
- checked: _this11.state.filterMergeMode === "append_bottom",
25008
+ checked: _this12.state.filterMergeMode === "append_bottom",
24975
25009
  onChange: function onChange(e) {
24976
- return _this11.setState({
25010
+ return _this12.setState({
24977
25011
  filterMergeMode: e.target.value
24978
25012
  }, function () {
24979
- return _this11.generateFilterConfig();
25013
+ return _this12.generateFilterConfig();
24980
25014
  });
24981
25015
  },
24982
25016
  style: {
@@ -25010,9 +25044,9 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
25010
25044
  }, 0);
25011
25045
  return " (" + count11Bit + " 11-bit, " + count29Bit + " 29-bit) | " + sizePercent.toFixed(1) + "%";
25012
25046
  }()), function () {
25013
- var isFirmwareSupported = _this11.isFirmwareVersionSupported();
25014
- var isCanmod = _this11.props.deviceType === "CANmod";
25015
- var isCanmodRouter = isCanmod && _this11.isCanmodRouter();
25047
+ var isFirmwareSupported = _this12.isFirmwareVersionSupported();
25048
+ var isCanmod = _this12.props.deviceType === "CANmod";
25049
+ var isCanmodRouter = isCanmod && _this12.isCanmodRouter();
25016
25050
  var minFirmware = isCanmod ? MIN_FIRMWARE_CANMOD_ROUTER : MIN_FIRMWARE_CANEDGE;
25017
25051
  var isDeviceSupported = !isCanmod || isCanmodRouter;
25018
25052
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
@@ -25023,20 +25057,20 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
25023
25057
  }
25024
25058
  }, /*#__PURE__*/React.createElement("button", {
25025
25059
  className: "btn btn-primary",
25026
- onClick: _this11.onMerge,
25027
- disabled: !_this11.props.formData || Object.keys(_this11.props.formData).length === 0 || _this11.state.mergedConfigValid !== true || !isFirmwareSupported || !isDeviceSupported
25060
+ onClick: _this12.onMerge,
25061
+ disabled: !_this12.props.formData || Object.keys(_this12.props.formData).length === 0 || _this12.state.mergedConfigValid !== true || !isFirmwareSupported || !isDeviceSupported
25028
25062
  }, "Merge files"), /*#__PURE__*/React.createElement("button", {
25029
25063
  className: "btn btn-default",
25030
- onClick: _this11.onDownload,
25031
- disabled: Object.keys(_this11.state.generatedFilterConfig).length === 0
25032
- }, "Download JSON")), _this11.props.formData && Object.keys(_this11.props.formData).length > 0 && isDeviceSupported && !isFirmwareSupported && /*#__PURE__*/React.createElement("div", {
25064
+ onClick: _this12.onDownload,
25065
+ disabled: Object.keys(_this12.state.generatedFilterConfig).length === 0
25066
+ }, "Download JSON")), _this12.props.formData && Object.keys(_this12.props.formData).length > 0 && isDeviceSupported && !isFirmwareSupported && /*#__PURE__*/React.createElement("div", {
25033
25067
  style: {
25034
25068
  fontSize: "12px",
25035
25069
  color: "#666",
25036
25070
  marginTop: "8px"
25037
25071
  }
25038
25072
  }, "Merging requires firmware ", minFirmware, ".XX+ - please update your device"));
25039
- }(), Object.keys(_this11.state.generatedFilterConfig).length > 0 && /*#__PURE__*/React.createElement("div", {
25073
+ }(), Object.keys(_this12.state.generatedFilterConfig).length > 0 && /*#__PURE__*/React.createElement("div", {
25040
25074
  style: {
25041
25075
  marginTop: "10px"
25042
25076
  }
@@ -25049,17 +25083,17 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
25049
25083
  }
25050
25084
  }, /*#__PURE__*/React.createElement("input", {
25051
25085
  type: "checkbox",
25052
- checked: _this11.state.showFilterPreview,
25086
+ checked: _this12.state.showFilterPreview,
25053
25087
  onChange: function onChange() {
25054
- return _this11.setState({
25055
- showFilterPreview: !_this11.state.showFilterPreview
25088
+ return _this12.setState({
25089
+ showFilterPreview: !_this12.state.showFilterPreview
25056
25090
  });
25057
25091
  },
25058
25092
  style: {
25059
25093
  marginRight: "6px",
25060
25094
  marginBottom: "4px"
25061
25095
  }
25062
- }), "Show partial config preview"), _this11.state.showFilterPreview && /*#__PURE__*/React.createElement("div", {
25096
+ }), "Show partial config preview"), _this12.state.showFilterPreview && /*#__PURE__*/React.createElement("div", {
25063
25097
  style: {
25064
25098
  marginTop: "10px"
25065
25099
  }
@@ -25070,21 +25104,8 @@ var FilterBuilderTool = /*#__PURE__*/function (_React$Component) {
25070
25104
  overflow: "auto",
25071
25105
  fontSize: "11px"
25072
25106
  }
25073
- }, JSON.stringify(_this11.state.generatedFilterConfig, null, 2)))));
25074
- }()), /*#__PURE__*/React.createElement("div", {
25075
- style: {
25076
- display: "none"
25077
- }
25078
- }, /*#__PURE__*/React.createElement(Form, {
25079
- validator: validator,
25080
- onError: this.onValidationError,
25081
- schema: this.props.schemaContent ? this.props.schemaContent : {},
25082
- formData: this.state.mergedConfig ? this.state.mergedConfig : {},
25083
- onSubmit: this.onSubmit,
25084
- ref: function ref(form) {
25085
- yourForm$2 = form;
25086
- }
25087
- })), /*#__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
+ }, JSON.stringify(_this12.state.generatedFilterConfig, null, 2)))));
25108
+ }()), /*#__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)));
25088
25109
  };
25089
25110
  return FilterBuilderTool;
25090
25111
  }(React.Component);