@kvaser/canking-api 7.3.0 → 7.4.0
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/controls/CanIdentifierControl.d.ts +32 -6
- package/dist/controls/CanKingDataProvider.d.ts +14 -19
- package/dist/controls/CheckboxControl.d.ts +11 -2
- package/dist/controls/ColorControl.d.ts +26 -0
- package/dist/controls/ExtensionWorkspaceViewProps.d.ts +8 -0
- package/dist/controls/InlineEditor.d.ts +2 -2
- package/dist/controls/LinIdentifierControl.d.ts +24 -4
- package/dist/controls/SelectMessageDialog.d.ts +32 -3
- package/dist/controls/SelectSignalDialog.d.ts +102 -1
- package/dist/controls/SelectSignalsControl.d.ts +37 -4
- package/dist/controls/SizedBox.d.ts +1 -0
- package/dist/controls/TableControl.d.ts +2 -3
- package/dist/controls/ToolbarControl.d.ts +4 -2
- package/dist/controls/index.d.ts +3 -0
- package/dist/controls.js +1 -1
- package/dist/controls.mjs +2257 -1769
- package/dist/grpc.js +1 -1
- package/dist/grpc.mjs +196 -168
- package/dist/hooks/index.d.ts +388 -27
- package/dist/hooks.js +1 -1
- package/dist/hooks.mjs +48 -30
- package/dist/icons/index.d.ts +36 -0
- package/dist/icons.js +1 -1
- package/dist/icons.mjs +927 -755
- package/dist/index.d.ts +0 -2
- package/dist/index.js +1 -1
- package/dist/index.mjs +1160 -600
- package/dist/ipc/index.d.ts +31 -3
- package/dist/ipc.js +1 -1
- package/dist/ipc.mjs +132 -104
- package/dist/models/Point.d.ts +4 -0
- package/dist/models/deep_equal.d.ts +7 -0
- package/dist/models/index.d.ts +85 -12
- package/dist/models/json_utilities.d.ts +16 -0
- package/dist/models.js +1 -1
- package/dist/models.mjs +762 -289
- package/dist/protos/app_params.d.ts +109 -62
- package/dist/protos/app_service.d.ts +81 -50
- package/dist/protos/common_params.d.ts +4 -1
- package/dist/protos/device_params.d.ts +82 -27
- package/dist/protos/frame_params.d.ts +92 -9
- package/dist/protos/measurement_params.d.ts +229 -47
- package/dist/protos/measurement_service.d.ts +84 -58
- package/dist/protos/measurement_settings.d.ts +156 -6
- package/dist/protos/signal_params.d.ts +20 -0
- package/dist/protos/status_params.d.ts +30 -0
- package/dist/status_params.js +1 -1
- package/dist/status_params.mjs +8709 -1825
- package/doc/assets/hierarchy.js +1 -1
- package/doc/assets/navigation.js +1 -1
- package/doc/assets/search.js +1 -1
- package/doc/enums/models.AccessMode.html +5 -3
- package/doc/enums/models.CanChannelCap.html +2 -2
- package/doc/enums/models.CanConfigMode.html +16 -0
- package/doc/enums/models.CanFrameFlag.html +33 -2
- package/doc/enums/models.CanMessageFilterType.html +4 -2
- package/doc/enums/models.CanMode.html +7 -2
- package/doc/enums/{models.DeviceEvent.html → models.DecimalChar.html} +7 -5
- package/doc/enums/models.FileConflictAction.html +5 -2
- package/doc/enums/models.LinFrameFlag.html +11 -2
- package/doc/enums/models.LogFileFormat.html +4 -2
- package/doc/enums/models.LogLevel.html +2 -2
- package/doc/enums/models.LogReplayState.html +4 -2
- package/doc/enums/models.LoggerState.html +5 -2
- package/doc/enums/models.Separator.html +8 -0
- package/doc/enums/models.SignalEncoding.html +4 -2
- package/doc/enums/models.SignalType.html +2 -2
- package/doc/enums/models.SignalValueTriggerOperator.html +11 -2
- package/doc/enums/models.StatusLevel.html +5 -2
- package/doc/enums/models.TimeReference.html +8 -0
- package/doc/enums/models.TriggerOperator.html +4 -2
- package/doc/functions/controls.CanChannelSelectControl.html +2 -2
- package/doc/functions/controls.CanIdentifierControl.html +2 -2
- package/doc/functions/controls.CanIdentifierFrameControl.html +2 -2
- package/doc/functions/controls.CanIdentifierGeneratorControl.html +2 -2
- package/doc/functions/controls.CanIdentifierGeneratorSettingsControl.html +2 -2
- package/doc/functions/controls.CanKingDataProvider.html +2 -2
- package/doc/functions/controls.CheckboxControl.html +2 -2
- package/doc/functions/controls.ColorControl.html +4 -0
- package/doc/functions/controls.ColumnItemControl.html +2 -2
- package/doc/functions/controls.ContextMenu.html +2 -2
- package/doc/functions/controls.DropdownButton.html +2 -2
- package/doc/functions/controls.DropdownButtonTextItems.html +2 -2
- package/doc/functions/controls.DropdownPanel.html +2 -2
- package/doc/functions/controls.FormControlRow.html +2 -2
- package/doc/functions/controls.InlineEditor.html +2 -2
- package/doc/functions/controls.LinChannelSelectControl.html +2 -2
- package/doc/functions/controls.LinIdentifierControl.html +2 -2
- package/doc/functions/controls.LinIdentifierFrameControl.html +2 -2
- package/doc/functions/controls.LinIdentifierGeneratorControl.html +2 -2
- package/doc/functions/controls.LinIdentifierGeneratorSettingsControl.html +2 -2
- package/doc/functions/controls.NumberRangeControl.html +2 -2
- package/doc/functions/controls.RadioControl.html +2 -2
- package/doc/functions/controls.RadioGroupControl.html +2 -2
- package/doc/functions/controls.SectionControl.html +2 -2
- package/doc/functions/controls.SelectControl.html +2 -2
- package/doc/functions/controls.SelectMessageDialog.html +2 -2
- package/doc/functions/controls.SelectSignalDialog.html +2 -2
- package/doc/functions/controls.SelectSignalsControl.html +2 -0
- package/doc/functions/controls.TableControl.html +2 -2
- package/doc/functions/controls.TextControl.html +2 -2
- package/doc/functions/controls.ToolbarControl.html +2 -2
- package/doc/functions/controls.ValidateableTextControl.html +2 -2
- package/doc/functions/controls.useColumnItem.html +2 -2
- package/doc/functions/controls.useColumnItems.html +2 -2
- package/doc/functions/controls.useMessageDatabases.html +2 -2
- package/doc/functions/hooks.useAvailableProtocols.html +3 -0
- package/doc/functions/hooks.useDevices.html +2 -2
- package/doc/functions/hooks.useFixedPositionModeMeasurementData.html +3 -3
- package/doc/functions/hooks.useIsOnline.html +2 -2
- package/doc/functions/hooks.useLanguage.html +2 -2
- package/doc/functions/hooks.useLocalizedStrings.html +2 -2
- package/doc/functions/hooks.useLogMessages.html +2 -2
- package/doc/functions/hooks.useMaxDataBytes.html +2 -2
- package/doc/functions/hooks.useMeasurementSetup.html +2 -2
- package/doc/functions/hooks.useMeasurementStatus.html +2 -2
- package/doc/functions/hooks.useMessageData.html +8 -4
- package/doc/functions/hooks.useMessageLogFileFormats.html +3 -2
- package/doc/functions/hooks.useNewMeasurementData.html +2 -2
- package/doc/functions/hooks.useNodeStatus.html +2 -2
- package/doc/functions/hooks.useNumericRadix.html +2 -2
- package/doc/functions/hooks.useOnlineStatus.html +2 -2
- package/doc/functions/hooks.useOnlineStatusSync.html +7 -0
- package/doc/functions/hooks.useOverallStatusLevel.html +2 -2
- package/doc/functions/hooks.useProjectData.html +11 -4
- package/doc/functions/hooks.useProjectDataSlice.html +13 -0
- package/doc/functions/hooks.useRecentProjectFiles.html +2 -2
- package/doc/functions/hooks.useRunningPeriodicTransmissions.html +2 -2
- package/doc/functions/hooks.useScrollModeMeasurementData.html +3 -3
- package/doc/functions/hooks.useSessionData.html +13 -4
- package/doc/functions/hooks.useSessionDataSlice.html +14 -0
- package/doc/functions/hooks.useSignalData.html +8 -4
- package/doc/functions/hooks.useSignalDataEnvelopes.html +11 -0
- package/doc/functions/hooks.useSignalLogFileFormats.html +3 -2
- package/doc/functions/hooks.useUndo.html +7 -0
- package/doc/functions/hooks.useUndoRef.html +7 -0
- package/doc/functions/hooks.useUndoSessionDataSlice.html +9 -0
- package/doc/functions/hooks.useUserSettings.html +2 -2
- package/doc/functions/hooks.useWorkspacePaneWithId.html +2 -2
- package/doc/functions/ipc.addDataProcessor.html +2 -2
- package/doc/functions/ipc.addSource.html +2 -2
- package/doc/functions/ipc.addTarget.html +2 -2
- package/doc/functions/ipc.clearLinMessage.html +2 -2
- package/doc/functions/ipc.connectNodes.html +2 -2
- package/doc/functions/ipc.deleteDataProcessor.html +2 -2
- package/doc/functions/ipc.deleteSource.html +2 -2
- package/doc/functions/ipc.deleteTarget.html +2 -2
- package/doc/functions/ipc.disableNode.html +2 -2
- package/doc/functions/ipc.disconnectNodes.html +2 -2
- package/doc/functions/ipc.enableNode.html +2 -2
- package/doc/functions/ipc.getFirstAndLatestTimestamp.html +4 -0
- package/doc/functions/ipc.getFirstTimestamp.html +3 -0
- package/doc/functions/ipc.getFrameDefinitions.html +2 -2
- package/doc/functions/ipc.getLatestTimestamp.html +3 -0
- package/doc/functions/ipc.getLogger.html +2 -2
- package/doc/functions/ipc.getMessageDataBeforeTimestamp.html +7 -0
- package/doc/functions/ipc.getMessageLogFileFormats.html +3 -3
- package/doc/functions/ipc.getSignalLogFileFormats.html +3 -3
- package/doc/functions/ipc.requestLinMessage.html +2 -2
- package/doc/functions/ipc.sendCanMessage.html +2 -2
- package/doc/functions/ipc.sendMessage.html +2 -2
- package/doc/functions/ipc.showMessageBox.html +2 -2
- package/doc/functions/ipc.showQuestionBox.html +2 -2
- package/doc/functions/ipc.startLogReplay.html +2 -2
- package/doc/functions/ipc.startMeasurement.html +2 -2
- package/doc/functions/ipc.startPeriodicTransmission.html +2 -2
- package/doc/functions/ipc.stopLogReplay.html +2 -2
- package/doc/functions/ipc.stopMeasurement.html +2 -2
- package/doc/functions/ipc.stopPeriodicTransmission.html +2 -2
- package/doc/functions/ipc.updateDataProcessor.html +2 -2
- package/doc/functions/ipc.updateLinMessage.html +2 -2
- package/doc/functions/ipc.updatePeriodicTransmission.html +2 -2
- package/doc/functions/ipc.updateSource.html +2 -2
- package/doc/functions/ipc.updateTarget.html +2 -2
- package/doc/functions/models.decimalToFixed.html +5 -0
- package/doc/functions/models.decimalToHex.html +6 -0
- package/doc/functions/models.deep_equal.html +5 -0
- package/doc/functions/models.deserializeFrame.html +4 -0
- package/doc/functions/models.jsonReplacer.html +6 -0
- package/doc/functions/models.jsonReviver.html +6 -0
- package/doc/functions/models.longToNumber.html +4 -0
- package/doc/functions/models.serializeFrame.html +4 -0
- package/doc/hierarchy.html +1 -1
- package/doc/index.html +2 -2
- package/doc/interfaces/controls.ButtonGroupProps.html +2 -2
- package/doc/interfaces/controls.ButtonProps.html +2 -2
- package/doc/interfaces/controls.CanChannelSelectControlProps.html +2 -2
- package/doc/interfaces/controls.CanIdentifierControlProps.html +16 -7
- package/doc/interfaces/controls.CanIdentifierFrameControlProps.html +6 -3
- package/doc/interfaces/controls.CanIdentifierGeneratorControlProps.html +6 -3
- package/doc/interfaces/controls.CanIdentifierGeneratorSettingsControlProps.html +6 -3
- package/doc/interfaces/controls.CheckboxControlProps.html +8 -3
- package/doc/interfaces/controls.ContextMenuProps.html +2 -2
- package/doc/interfaces/controls.DropdownButtonChildrenProps.html +3 -3
- package/doc/interfaces/controls.DropdownButtonProps.html +2 -2
- package/doc/interfaces/controls.DropdownButtonTextItemsProps.html +3 -3
- package/doc/interfaces/controls.DropdownPanelProps.html +2 -2
- package/doc/interfaces/controls.FormControlRowProps.html +2 -2
- package/doc/interfaces/{models.IProject.html → controls.IExtensionWorkspaceViewProps.html} +2 -2
- package/doc/interfaces/controls.ILocalizedStrings.html +2 -2
- package/doc/interfaces/controls.IMessageDatabase.html +2 -2
- package/doc/interfaces/controls.InlineEditorProps.html +2 -2
- package/doc/interfaces/controls.LabelProps.html +2 -2
- package/doc/interfaces/controls.LinChannelSelectControlProps.html +2 -2
- package/doc/interfaces/controls.LinIdentifierControlProps.html +6 -3
- package/doc/interfaces/controls.LinIdentifierFrameControlProps.html +6 -3
- package/doc/interfaces/controls.LinIdentifierGeneratorControlProps.html +6 -3
- package/doc/interfaces/controls.LinIdentifierGeneratorSettingsControlProps.html +6 -3
- package/doc/interfaces/controls.NumberRangeControlProps.html +2 -2
- package/doc/interfaces/controls.RadioControlProps.html +2 -2
- package/doc/interfaces/controls.RadioGroupControlProps.html +2 -2
- package/doc/interfaces/controls.SectionControlProps.html +2 -2
- package/doc/interfaces/controls.SelectControlProps.html +2 -2
- package/doc/interfaces/controls.SelectMessageDialogProps.html +19 -2
- package/doc/interfaces/controls.SelectSignalDialogProps.html +71 -2
- package/doc/interfaces/controls.SelectSignalsControlProps.html +22 -0
- package/doc/interfaces/{models.SetLogLevelRequest.html → controls.SelectedSignalInfo.html} +6 -6
- package/doc/interfaces/controls.SelectedSignalInfoChangeArgs.html +9 -0
- package/doc/interfaces/controls.TableColumn.html +2 -2
- package/doc/interfaces/controls.TableControlProps.html +2 -2
- package/doc/interfaces/controls.TextControlProps.html +2 -2
- package/doc/interfaces/controls.ToggleButtonGroupProps.html +2 -2
- package/doc/interfaces/controls.ToggleButtonProps.html +2 -2
- package/doc/interfaces/controls.ToolbarControlProps.html +2 -2
- package/doc/interfaces/controls.ValidateableTextControlProps.html +2 -2
- package/doc/interfaces/controls.toolbarItem.html +5 -3
- package/doc/interfaces/hooks.IEnvelopeView.html +12 -0
- package/doc/interfaces/hooks.ISignalData.html +19 -2
- package/doc/interfaces/hooks.ISignalDataEnvelope.html +14 -0
- package/doc/interfaces/hooks.IUndoObject.html +27 -0
- package/doc/interfaces/hooks.IUndoState.html +9 -0
- package/doc/interfaces/ipc.ILogger.html +2 -2
- package/doc/interfaces/models.BaseNodeProperties.html +14 -2
- package/doc/interfaces/models.BusStatus.html +32 -2
- package/doc/interfaces/models.CanBusParamLimits.html +12 -2
- package/doc/interfaces/models.CanBusParams.html +14 -2
- package/doc/interfaces/models.CanChannelCapacity.html +10 -4
- package/doc/interfaces/models.CanChannelConfiguration.html +39 -9
- package/doc/interfaces/models.CanFrameFlags.html +4 -2
- package/doc/interfaces/models.CanMessageFilterSettings.html +8 -2
- package/doc/interfaces/models.Channel.html +12 -2
- package/doc/interfaces/models.ChannelSettings.html +5 -3
- package/doc/interfaces/models.DataProcessingStatus.html +10 -2
- package/doc/interfaces/models.DataProcessorNodeProperties.html +14 -2
- package/doc/interfaces/models.DatabasesSettings.html +4 -2
- package/doc/interfaces/models.Device.html +16 -2
- package/doc/interfaces/{models.Licenses.html → models.Devices.html} +4 -4
- package/doc/interfaces/models.Empty.html +2 -2
- package/doc/interfaces/models.ErrorStatus.html +2 -2
- package/doc/interfaces/models.FixedPosFrameIdentifier.html +8 -8
- package/doc/interfaces/models.Frame.html +16 -5
- package/doc/interfaces/models.FrameDefinition.html +5 -3
- package/doc/interfaces/{models.AboutInformation.html → models.FrameDefinitions.html} +4 -8
- package/doc/interfaces/models.FramePropertyValue.html +6 -2
- package/doc/interfaces/models.FrameReceivedTrigger.html +5 -3
- package/doc/interfaces/{models.GetFrameDefinitionsFromDatabaseFilesRequest.html → models.Frames.html} +4 -4
- package/doc/interfaces/models.IUserSettings.html +2 -2
- package/doc/interfaces/models.IWorkspaceComponentPaneData.html +2 -2
- package/doc/interfaces/models.IWorkspaceContainerPaneData.html +2 -2
- package/doc/interfaces/models.IWorkspacePaneData.html +2 -2
- package/doc/interfaces/models.InterpreterSettings.html +2 -2
- package/doc/interfaces/models.J1939InterpreterSettings.html +2 -2
- package/doc/interfaces/models.LinChannelConfiguration.html +2 -2
- package/doc/interfaces/models.LinFrameFlags.html +4 -2
- package/doc/interfaces/models.LogMessage.html +2 -2
- package/doc/interfaces/models.LogMessages.html +2 -2
- package/doc/interfaces/models.LogReplaySettings.html +2 -2
- package/doc/interfaces/models.LogReplayStatus.html +4 -2
- package/doc/interfaces/models.LoggerStatus.html +4 -2
- package/doc/interfaces/models.MeasurementSetup.html +10 -2
- package/doc/interfaces/models.MessageLoggerSettings.html +6 -6
- package/doc/interfaces/models.NodeStatus.html +2 -2
- package/doc/interfaces/models.NodeStatuses.html +4 -2
- package/doc/interfaces/models.OnlineStatus.html +6 -2
- package/doc/interfaces/models.PeriodicTransmissionSettings.html +2 -2
- package/doc/interfaces/models.ServiceExtensionSettings.html +6 -2
- package/doc/interfaces/models.SignalDefinition.html +34 -2
- package/doc/interfaces/models.SignalDefinitions.html +4 -0
- package/doc/interfaces/models.SignalFilterSettings.html +6 -4
- package/doc/interfaces/models.SignalLoggerSettings.html +6 -6
- package/doc/interfaces/models.SignalValue.html +12 -2
- package/doc/interfaces/models.SignalValueTrigger.html +5 -3
- package/doc/interfaces/models.SourceNodeProperties.html +12 -2
- package/doc/interfaces/models.TargetNodeProperties.html +12 -2
- package/doc/interfaces/models.TdcConfiguration.html +17 -0
- package/doc/interfaces/models.TriggerSettings.html +2 -2
- package/doc/interfaces/models.WriteFrame.html +2 -2
- package/doc/modules/controls.html +2 -2
- package/doc/modules/hooks.html +2 -2
- package/doc/modules/ipc.html +2 -2
- package/doc/modules/models.html +2 -2
- package/doc/modules.html +1 -1
- package/doc/types/controls.ContextMenuOption.html +2 -2
- package/doc/types/controls.SelectOption.html +2 -2
- package/doc/types/controls.StringsMap.html +2 -2
- package/doc/types/controls.canIdentifierGeneratorType.html +2 -2
- package/doc/types/controls.canIdentifierType.html +2 -2
- package/doc/types/controls.linIdentifierGeneratorType.html +2 -2
- package/doc/types/hooks.OnGoingOfflineCallback.html +6 -0
- package/doc/types/hooks.OnGoingOnlineCallback.html +6 -0
- package/doc/types/models.SerializableFrame.html +2 -0
- package/doc/variables/controls.FillBox.html +2 -2
- package/doc/variables/controls.OneLineButton.html +2 -2
- package/doc/variables/controls.SizedBox.html +2 -2
- package/doc/variables/controls.TabsPanel.html +2 -2
- package/doc/variables/models.defaultUserSettings.html +2 -2
- package/doc_md/README.md +1 -1
- package/doc_md/controls/README.md +7 -1
- package/doc_md/controls/functions/CanChannelSelectControl.md +1 -1
- package/doc_md/controls/functions/CanIdentifierControl.md +1 -1
- package/doc_md/controls/functions/CanIdentifierFrameControl.md +1 -1
- package/doc_md/controls/functions/CanIdentifierGeneratorControl.md +1 -1
- package/doc_md/controls/functions/CanIdentifierGeneratorSettingsControl.md +1 -1
- package/doc_md/controls/functions/CanKingDataProvider.md +1 -1
- package/doc_md/controls/functions/CheckboxControl.md +1 -1
- package/doc_md/controls/functions/ColorControl.md +25 -0
- package/doc_md/controls/functions/ColumnItemControl.md +1 -1
- package/doc_md/controls/functions/ContextMenu.md +1 -1
- package/doc_md/controls/functions/DropdownButton.md +1 -1
- package/doc_md/controls/functions/DropdownButtonTextItems.md +1 -1
- package/doc_md/controls/functions/DropdownPanel.md +1 -1
- package/doc_md/controls/functions/FormControlRow.md +1 -1
- package/doc_md/controls/functions/InlineEditor.md +1 -1
- package/doc_md/controls/functions/LinChannelSelectControl.md +1 -1
- package/doc_md/controls/functions/LinIdentifierControl.md +1 -1
- package/doc_md/controls/functions/LinIdentifierFrameControl.md +1 -1
- package/doc_md/controls/functions/LinIdentifierGeneratorControl.md +1 -1
- package/doc_md/controls/functions/LinIdentifierGeneratorSettingsControl.md +1 -1
- package/doc_md/controls/functions/NumberRangeControl.md +1 -1
- package/doc_md/controls/functions/RadioControl.md +1 -1
- package/doc_md/controls/functions/RadioGroupControl.md +1 -1
- package/doc_md/controls/functions/SectionControl.md +1 -1
- package/doc_md/controls/functions/SelectControl.md +1 -1
- package/doc_md/controls/functions/SelectMessageDialog.md +1 -1
- package/doc_md/controls/functions/SelectSignalDialog.md +1 -1
- package/doc_md/controls/functions/SelectSignalsControl.md +21 -0
- package/doc_md/controls/functions/TableControl.md +1 -1
- package/doc_md/controls/functions/TextControl.md +1 -1
- package/doc_md/controls/functions/ToolbarControl.md +1 -1
- package/doc_md/controls/functions/ValidateableTextControl.md +1 -1
- package/doc_md/controls/functions/useColumnItem.md +1 -1
- package/doc_md/controls/functions/useColumnItems.md +1 -1
- package/doc_md/controls/functions/useMessageDatabases.md +1 -1
- package/doc_md/controls/interfaces/ButtonGroupProps.md +1 -1
- package/doc_md/controls/interfaces/ButtonProps.md +1 -1
- package/doc_md/controls/interfaces/CanChannelSelectControlProps.md +1 -1
- package/doc_md/controls/interfaces/CanIdentifierControlProps.md +40 -3
- package/doc_md/controls/interfaces/CanIdentifierFrameControlProps.md +10 -1
- package/doc_md/controls/interfaces/CanIdentifierGeneratorControlProps.md +10 -1
- package/doc_md/controls/interfaces/CanIdentifierGeneratorSettingsControlProps.md +10 -1
- package/doc_md/controls/interfaces/CheckboxControlProps.md +18 -1
- package/doc_md/controls/interfaces/ContextMenuProps.md +1 -1
- package/doc_md/controls/interfaces/DropdownButtonChildrenProps.md +1 -1
- package/doc_md/controls/interfaces/DropdownButtonProps.md +1 -1
- package/doc_md/controls/interfaces/DropdownButtonTextItemsProps.md +1 -1
- package/doc_md/controls/interfaces/DropdownPanelProps.md +1 -1
- package/doc_md/controls/interfaces/FormControlRowProps.md +1 -1
- package/doc_md/controls/interfaces/IExtensionWorkspaceViewProps.md +9 -0
- package/doc_md/controls/interfaces/ILocalizedStrings.md +1 -1
- package/doc_md/controls/interfaces/IMessageDatabase.md +1 -1
- package/doc_md/controls/interfaces/InlineEditorProps.md +1 -1
- package/doc_md/controls/interfaces/LabelProps.md +1 -1
- package/doc_md/controls/interfaces/LinChannelSelectControlProps.md +1 -1
- package/doc_md/controls/interfaces/LinIdentifierControlProps.md +10 -1
- package/doc_md/controls/interfaces/LinIdentifierFrameControlProps.md +10 -1
- package/doc_md/controls/interfaces/LinIdentifierGeneratorControlProps.md +10 -1
- package/doc_md/controls/interfaces/LinIdentifierGeneratorSettingsControlProps.md +10 -1
- package/doc_md/controls/interfaces/NumberRangeControlProps.md +1 -1
- package/doc_md/controls/interfaces/RadioControlProps.md +1 -1
- package/doc_md/controls/interfaces/RadioGroupControlProps.md +1 -1
- package/doc_md/controls/interfaces/SectionControlProps.md +1 -1
- package/doc_md/controls/interfaces/SelectControlProps.md +1 -1
- package/doc_md/controls/interfaces/SelectMessageDialogProps.md +78 -1
- package/doc_md/controls/interfaces/SelectSignalDialogProps.md +224 -1
- package/doc_md/controls/interfaces/SelectSignalsControlProps.md +119 -0
- package/doc_md/controls/interfaces/SelectedSignalInfo.md +29 -0
- package/doc_md/controls/interfaces/SelectedSignalInfoChangeArgs.md +46 -0
- package/doc_md/controls/interfaces/TableColumn.md +1 -1
- package/doc_md/controls/interfaces/TableControlProps.md +1 -1
- package/doc_md/controls/interfaces/TextControlProps.md +1 -1
- package/doc_md/controls/interfaces/ToggleButtonGroupProps.md +1 -1
- package/doc_md/controls/interfaces/ToggleButtonProps.md +1 -1
- package/doc_md/controls/interfaces/ToolbarControlProps.md +1 -1
- package/doc_md/controls/interfaces/ValidateableTextControlProps.md +1 -1
- package/doc_md/controls/interfaces/toolbarItem.md +9 -1
- package/doc_md/controls/type-aliases/ContextMenuOption.md +1 -1
- package/doc_md/controls/type-aliases/SelectOption.md +1 -1
- package/doc_md/controls/type-aliases/StringsMap.md +1 -1
- package/doc_md/controls/type-aliases/canIdentifierGeneratorType.md +1 -1
- package/doc_md/controls/type-aliases/canIdentifierType.md +1 -1
- package/doc_md/controls/type-aliases/linIdentifierGeneratorType.md +1 -1
- package/doc_md/controls/variables/FillBox.md +1 -1
- package/doc_md/controls/variables/OneLineButton.md +2 -2
- package/doc_md/controls/variables/SizedBox.md +1 -1
- package/doc_md/controls/variables/TabsPanel.md +1 -1
- package/doc_md/hooks/README.md +18 -1
- package/doc_md/hooks/functions/useAvailableProtocols.md +17 -0
- package/doc_md/hooks/functions/useDevices.md +1 -1
- package/doc_md/hooks/functions/useFixedPositionModeMeasurementData.md +4 -4
- package/doc_md/hooks/functions/useIsOnline.md +1 -1
- package/doc_md/hooks/functions/useLanguage.md +1 -1
- package/doc_md/hooks/functions/useLocalizedStrings.md +1 -1
- package/doc_md/hooks/functions/useLogMessages.md +1 -1
- package/doc_md/hooks/functions/useMaxDataBytes.md +1 -1
- package/doc_md/hooks/functions/useMeasurementSetup.md +1 -1
- package/doc_md/hooks/functions/useMeasurementStatus.md +1 -1
- package/doc_md/hooks/functions/useMessageData.md +21 -4
- package/doc_md/hooks/functions/useMessageLogFileFormats.md +5 -3
- package/doc_md/hooks/functions/useNewMeasurementData.md +1 -1
- package/doc_md/hooks/functions/useNodeStatus.md +1 -1
- package/doc_md/hooks/functions/useNumericRadix.md +1 -1
- package/doc_md/hooks/functions/useOnlineStatus.md +1 -1
- package/doc_md/hooks/functions/useOnlineStatusSync.md +43 -0
- package/doc_md/hooks/functions/useOverallStatusLevel.md +1 -1
- package/doc_md/hooks/functions/useProjectData.md +16 -6
- package/doc_md/hooks/functions/useProjectDataSlice.md +58 -0
- package/doc_md/hooks/functions/useRecentProjectFiles.md +1 -1
- package/doc_md/hooks/functions/useRunningPeriodicTransmissions.md +1 -1
- package/doc_md/hooks/functions/useScrollModeMeasurementData.md +4 -4
- package/doc_md/hooks/functions/useSessionData.md +24 -6
- package/doc_md/hooks/functions/useSessionDataSlice.md +60 -0
- package/doc_md/hooks/functions/useSignalData.md +23 -6
- package/doc_md/hooks/functions/useSignalDataEnvelopes.md +50 -0
- package/doc_md/hooks/functions/useSignalLogFileFormats.md +5 -3
- package/doc_md/hooks/functions/useUndo.md +38 -0
- package/doc_md/hooks/functions/useUndoRef.md +38 -0
- package/doc_md/hooks/functions/useUndoSessionDataSlice.md +50 -0
- package/doc_md/hooks/functions/useUserSettings.md +1 -1
- package/doc_md/hooks/functions/useWorkspacePaneWithId.md +1 -1
- package/doc_md/hooks/interfaces/IEnvelopeView.md +49 -0
- package/doc_md/hooks/interfaces/ISignalData.md +69 -1
- package/doc_md/hooks/interfaces/ISignalDataEnvelope.md +51 -0
- package/doc_md/hooks/interfaces/IUndoObject.md +155 -0
- package/doc_md/hooks/interfaces/IUndoState.md +41 -0
- package/doc_md/hooks/type-aliases/OnGoingOfflineCallback.md +36 -0
- package/doc_md/hooks/type-aliases/OnGoingOnlineCallback.md +36 -0
- package/doc_md/ipc/README.md +5 -1
- package/doc_md/ipc/functions/addDataProcessor.md +1 -1
- package/doc_md/ipc/functions/addSource.md +1 -1
- package/doc_md/ipc/functions/addTarget.md +1 -1
- package/doc_md/ipc/functions/clearLinMessage.md +1 -1
- package/doc_md/ipc/functions/connectNodes.md +1 -1
- package/doc_md/ipc/functions/deleteDataProcessor.md +1 -1
- package/doc_md/ipc/functions/deleteSource.md +1 -1
- package/doc_md/ipc/functions/deleteTarget.md +1 -1
- package/doc_md/ipc/functions/disableNode.md +1 -1
- package/doc_md/ipc/functions/disconnectNodes.md +1 -1
- package/doc_md/ipc/functions/enableNode.md +1 -1
- package/doc_md/ipc/functions/getFirstAndLatestTimestamp.md +18 -0
- package/doc_md/ipc/functions/getFirstTimestamp.md +17 -0
- package/doc_md/ipc/functions/getFrameDefinitions.md +1 -1
- package/doc_md/ipc/functions/getLatestTimestamp.md +17 -0
- package/doc_md/ipc/functions/getLogger.md +1 -1
- package/doc_md/ipc/functions/getMessageDataBeforeTimestamp.md +38 -0
- package/doc_md/ipc/functions/getMessageLogFileFormats.md +3 -3
- package/doc_md/ipc/functions/getSignalLogFileFormats.md +3 -3
- package/doc_md/ipc/functions/requestLinMessage.md +1 -1
- package/doc_md/ipc/functions/sendCanMessage.md +1 -1
- package/doc_md/ipc/functions/sendMessage.md +1 -1
- package/doc_md/ipc/functions/showMessageBox.md +1 -1
- package/doc_md/ipc/functions/showQuestionBox.md +1 -1
- package/doc_md/ipc/functions/startLogReplay.md +1 -1
- package/doc_md/ipc/functions/startMeasurement.md +1 -1
- package/doc_md/ipc/functions/startPeriodicTransmission.md +1 -1
- package/doc_md/ipc/functions/stopLogReplay.md +1 -1
- package/doc_md/ipc/functions/stopMeasurement.md +1 -1
- package/doc_md/ipc/functions/stopPeriodicTransmission.md +1 -1
- package/doc_md/ipc/functions/updateDataProcessor.md +1 -1
- package/doc_md/ipc/functions/updateLinMessage.md +1 -1
- package/doc_md/ipc/functions/updatePeriodicTransmission.md +1 -1
- package/doc_md/ipc/functions/updateSource.md +1 -1
- package/doc_md/ipc/functions/updateTarget.md +1 -1
- package/doc_md/ipc/interfaces/ILogger.md +1 -1
- package/doc_md/models/README.md +25 -73
- package/doc_md/models/enumerations/AccessMode.md +4 -1
- package/doc_md/models/enumerations/CanChannelCap.md +1 -1
- package/doc_md/models/enumerations/CanConfigMode.md +69 -0
- package/doc_md/models/enumerations/CanFrameFlag.md +68 -1
- package/doc_md/models/enumerations/CanMessageFilterType.md +5 -1
- package/doc_md/models/enumerations/CanMode.md +15 -1
- package/doc_md/models/enumerations/DecimalChar.md +37 -0
- package/doc_md/models/enumerations/FileConflictAction.md +7 -1
- package/doc_md/models/enumerations/LinFrameFlag.md +19 -1
- package/doc_md/models/enumerations/LogFileFormat.md +9 -1
- package/doc_md/models/enumerations/LogLevel.md +1 -1
- package/doc_md/models/enumerations/LogReplayState.md +5 -1
- package/doc_md/models/enumerations/LoggerState.md +7 -1
- package/doc_md/models/enumerations/Separator.md +37 -0
- package/doc_md/models/enumerations/SignalEncoding.md +5 -1
- package/doc_md/models/enumerations/SignalType.md +1 -1
- package/doc_md/models/enumerations/SignalValueTriggerOperator.md +19 -1
- package/doc_md/models/enumerations/StatusLevel.md +7 -1
- package/doc_md/models/enumerations/TimeReference.md +37 -0
- package/doc_md/models/enumerations/TriggerOperator.md +5 -1
- package/doc_md/models/functions/decimalToFixed.md +31 -0
- package/doc_md/models/functions/decimalToHex.md +37 -0
- package/doc_md/models/functions/deep_equal.md +37 -0
- package/doc_md/models/functions/deserializeFrame.md +25 -0
- package/doc_md/models/functions/jsonReplacer.md +32 -0
- package/doc_md/models/functions/jsonReviver.md +32 -0
- package/doc_md/models/functions/longToNumber.md +25 -0
- package/doc_md/models/functions/serializeFrame.md +25 -0
- package/doc_md/models/interfaces/BaseNodeProperties.md +49 -1
- package/doc_md/models/interfaces/BusStatus.md +121 -1
- package/doc_md/models/interfaces/CanBusParamLimits.md +41 -1
- package/doc_md/models/interfaces/CanBusParams.md +49 -1
- package/doc_md/models/interfaces/CanChannelCapacity.md +25 -1
- package/doc_md/models/interfaces/CanChannelConfiguration.md +107 -8
- package/doc_md/models/interfaces/CanFrameFlags.md +9 -1
- package/doc_md/models/interfaces/CanMessageFilterSettings.md +25 -1
- package/doc_md/models/interfaces/Channel.md +41 -1
- package/doc_md/models/interfaces/ChannelSettings.md +9 -1
- package/doc_md/models/interfaces/DataProcessingStatus.md +33 -1
- package/doc_md/models/interfaces/DataProcessorNodeProperties.md +49 -1
- package/doc_md/models/interfaces/DatabasesSettings.md +9 -1
- package/doc_md/models/interfaces/Device.md +57 -1
- package/doc_md/models/interfaces/Devices.md +17 -0
- package/doc_md/models/interfaces/Empty.md +1 -1
- package/doc_md/models/interfaces/ErrorStatus.md +1 -1
- package/doc_md/models/interfaces/FixedPosFrameIdentifier.md +8 -8
- package/doc_md/models/interfaces/Frame.md +46 -2
- package/doc_md/models/interfaces/FrameDefinition.md +9 -1
- package/doc_md/models/interfaces/FrameDefinitions.md +17 -0
- package/doc_md/models/interfaces/FramePropertyValue.md +17 -1
- package/doc_md/models/interfaces/FrameReceivedTrigger.md +9 -1
- package/doc_md/models/interfaces/Frames.md +17 -0
- package/doc_md/models/interfaces/IUserSettings.md +1 -1
- package/doc_md/models/interfaces/IWorkspaceComponentPaneData.md +1 -1
- package/doc_md/models/interfaces/IWorkspaceContainerPaneData.md +1 -1
- package/doc_md/models/interfaces/IWorkspacePaneData.md +1 -1
- package/doc_md/models/interfaces/InterpreterSettings.md +1 -1
- package/doc_md/models/interfaces/J1939InterpreterSettings.md +1 -1
- package/doc_md/models/interfaces/LinChannelConfiguration.md +1 -1
- package/doc_md/models/interfaces/LinFrameFlags.md +9 -1
- package/doc_md/models/interfaces/LogMessage.md +1 -1
- package/doc_md/models/interfaces/LogMessages.md +1 -1
- package/doc_md/models/interfaces/LogReplaySettings.md +1 -1
- package/doc_md/models/interfaces/LogReplayStatus.md +9 -1
- package/doc_md/models/interfaces/LoggerStatus.md +9 -1
- package/doc_md/models/interfaces/MeasurementSetup.md +33 -1
- package/doc_md/models/interfaces/MessageLoggerSettings.md +4 -4
- package/doc_md/models/interfaces/NodeStatus.md +1 -1
- package/doc_md/models/interfaces/NodeStatuses.md +9 -1
- package/doc_md/models/interfaces/OnlineStatus.md +17 -1
- package/doc_md/models/interfaces/PeriodicTransmissionSettings.md +1 -1
- package/doc_md/models/interfaces/ServiceExtensionSettings.md +17 -1
- package/doc_md/models/interfaces/SignalDefinition.md +133 -1
- package/doc_md/models/interfaces/SignalDefinitions.md +17 -0
- package/doc_md/models/interfaces/SignalFilterSettings.md +10 -2
- package/doc_md/models/interfaces/SignalLoggerSettings.md +4 -4
- package/doc_md/models/interfaces/SignalValue.md +41 -1
- package/doc_md/models/interfaces/SignalValueTrigger.md +9 -1
- package/doc_md/models/interfaces/SourceNodeProperties.md +41 -1
- package/doc_md/models/interfaces/TargetNodeProperties.md +41 -1
- package/doc_md/models/interfaces/TdcConfiguration.md +33 -0
- package/doc_md/models/interfaces/TriggerSettings.md +1 -1
- package/doc_md/models/interfaces/WriteFrame.md +1 -1
- package/doc_md/models/type-aliases/SerializableFrame.md +33 -0
- package/doc_md/models/variables/defaultUserSettings.md +1 -1
- package/doc_md/modules.md +2 -3
- package/package.json +16 -4
- package/dist/ElectronAPIFake.js +0 -1
- package/dist/ElectronAPIFake.mjs +0 -273
- package/dist/measurement_settings.js +0 -1
- package/dist/measurement_settings.mjs +0 -6121
- package/doc/enums/models.AppEvent.html +0 -6
- package/doc/enums/models.FileType.html +0 -7
- package/doc/enums/models.MeasurementEvent.html +0 -12
- package/doc/enums/models.Protocols.html +0 -9
- package/doc/enums/models.ServiceExtensionType.html +0 -8
- package/doc/interfaces/models.ActivateLicenseRequest.html +0 -8
- package/doc/interfaces/models.AddAllConnectedCanChannelsRequest.html +0 -2
- package/doc/interfaces/models.AddAllConnectedLinChannelsRequest.html +0 -2
- package/doc/interfaces/models.AddOrUpdateDataProcessorRequest.html +0 -10
- package/doc/interfaces/models.AddOrUpdateSourceRequest.html +0 -6
- package/doc/interfaces/models.AddOrUpdateTargetRequest.html +0 -6
- package/doc/interfaces/models.ApiPreferences.html +0 -10
- package/doc/interfaces/models.AppEventArgs.html +0 -6
- package/doc/interfaces/models.CanBusSpeedInfo.html +0 -14
- package/doc/interfaces/models.CanFDBusSpeedCombination.html +0 -2
- package/doc/interfaces/models.CanFDBusSpeedInfo.html +0 -10
- package/doc/interfaces/models.ClearLinMessageRequest.html +0 -6
- package/doc/interfaces/models.ConnectNodesRequest.html +0 -2
- package/doc/interfaces/models.DatabaseFiles.html +0 -6
- package/doc/interfaces/models.DeviceEventArgs.html +0 -2
- package/doc/interfaces/models.DisconnectNodesRequest.html +0 -2
- package/doc/interfaces/models.GetCanChannelBusSpeedsRequest.html +0 -2
- package/doc/interfaces/models.GetCanChannelBusSpeedsResponse.html +0 -6
- package/doc/interfaces/models.GetCanFdBusSpeedsRequest.html +0 -2
- package/doc/interfaces/models.GetCanFdBusSpeedsResponse.html +0 -4
- package/doc/interfaces/models.GetChannelsFromLogFileRequest.html +0 -4
- package/doc/interfaces/models.GetChannelsFromLogFileResponse.html +0 -4
- package/doc/interfaces/models.GetClassicCanBusSpeedsRequest.html +0 -2
- package/doc/interfaces/models.GetClassicCanBusSpeedsResponse.html +0 -4
- package/doc/interfaces/models.GetDataFramesBeforeTimestampRequest.html +0 -6
- package/doc/interfaces/models.GetDataProcessorResponse.html +0 -2
- package/doc/interfaces/models.GetDevicesRequest.html +0 -2
- package/doc/interfaces/models.GetDevicesResponse.html +0 -2
- package/doc/interfaces/models.GetLicensesResponse.html +0 -4
- package/doc/interfaces/models.GetLogFileFormatsRequest.html +0 -8
- package/doc/interfaces/models.GetLogFileFormatsResponse.html +0 -10
- package/doc/interfaces/models.GetLogLevelResponse.html +0 -4
- package/doc/interfaces/models.GetScheduleTablesFromDatabaseFilesRequest.html +0 -4
- package/doc/interfaces/models.GetScheduleTablesFromDatabaseFilesResponse.html +0 -4
- package/doc/interfaces/models.GetServiceExtensionInfoRequest.html +0 -8
- package/doc/interfaces/models.GetServiceExtensionInfoResponse.html +0 -16
- package/doc/interfaces/models.GetSignalDataFromMessageDataRequest.html +0 -6
- package/doc/interfaces/models.GetSignalDataFromMessageDataResponse.html +0 -4
- package/doc/interfaces/models.GetSourceResponse.html +0 -2
- package/doc/interfaces/models.GetTargetResponse.html +0 -2
- package/doc/interfaces/models.ILogFileFormat.html +0 -2
- package/doc/interfaces/models.IWorkspaceData.html +0 -2
- package/doc/interfaces/models.IdentifierRequest.html +0 -3
- package/doc/interfaces/models.IdentifiersRequest.html +0 -3
- package/doc/interfaces/models.InstallServiceExtensionRequest.html +0 -8
- package/doc/interfaces/models.LicenseInformation.html +0 -18
- package/doc/interfaces/models.MeasurementEventArgs.html +0 -2
- package/doc/interfaces/models.RequestLinMessageRequest.html +0 -6
- package/doc/interfaces/models.ScheduleTable.html +0 -8
- package/doc/interfaces/models.ScheduleTableEntry.html +0 -6
- package/doc/interfaces/models.SendLinWakeupFrameRequest.html +0 -8
- package/doc/interfaces/models.SendMessageRequest.html +0 -2
- package/doc/interfaces/models.SetMeasurementSetupRequest.html +0 -2
- package/doc/interfaces/models.SetSignalDataToMessageDataRequest.html +0 -8
- package/doc/interfaces/models.SetSignalDataToMessageDataResponse.html +0 -7
- package/doc/interfaces/models.StartPeriodicTransmissionRequest.html +0 -4
- package/doc/interfaces/models.StartPeriodicTransmissionResponse.html +0 -2
- package/doc/interfaces/models.SubscribeForDataRequest.html +0 -4
- package/doc/interfaces/models.UninstallServiceExtensionRequest.html +0 -6
- package/doc/interfaces/models.UpdateLinMessageRequest.html +0 -7
- package/doc/interfaces/models.UpdatePeriodicTransmissionRequest.html +0 -6
- package/doc/modules/icons.html +0 -2
- package/doc_md/icons/README.md +0 -9
- package/doc_md/models/enumerations/AppEvent.md +0 -29
- package/doc_md/models/enumerations/DeviceEvent.md +0 -29
- package/doc_md/models/enumerations/FileType.md +0 -39
- package/doc_md/models/enumerations/MeasurementEvent.md +0 -53
- package/doc_md/models/enumerations/Protocols.md +0 -39
- package/doc_md/models/enumerations/ServiceExtensionType.md +0 -37
- package/doc_md/models/interfaces/AboutInformation.md +0 -33
- package/doc_md/models/interfaces/ActivateLicenseRequest.md +0 -33
- package/doc_md/models/interfaces/AddAllConnectedCanChannelsRequest.md +0 -9
- package/doc_md/models/interfaces/AddAllConnectedLinChannelsRequest.md +0 -9
- package/doc_md/models/interfaces/AddOrUpdateDataProcessorRequest.md +0 -35
- package/doc_md/models/interfaces/AddOrUpdateSourceRequest.md +0 -19
- package/doc_md/models/interfaces/AddOrUpdateTargetRequest.md +0 -19
- package/doc_md/models/interfaces/ApiPreferences.md +0 -41
- package/doc_md/models/interfaces/AppEventArgs.md +0 -25
- package/doc_md/models/interfaces/CanBusSpeedInfo.md +0 -57
- package/doc_md/models/interfaces/CanFDBusSpeedCombination.md +0 -9
- package/doc_md/models/interfaces/CanFDBusSpeedInfo.md +0 -41
- package/doc_md/models/interfaces/ClearLinMessageRequest.md +0 -25
- package/doc_md/models/interfaces/ConnectNodesRequest.md +0 -9
- package/doc_md/models/interfaces/DatabaseFiles.md +0 -25
- package/doc_md/models/interfaces/DeviceEventArgs.md +0 -9
- package/doc_md/models/interfaces/DisconnectNodesRequest.md +0 -9
- package/doc_md/models/interfaces/GetCanChannelBusSpeedsRequest.md +0 -9
- package/doc_md/models/interfaces/GetCanChannelBusSpeedsResponse.md +0 -25
- package/doc_md/models/interfaces/GetCanFdBusSpeedsRequest.md +0 -9
- package/doc_md/models/interfaces/GetCanFdBusSpeedsResponse.md +0 -17
- package/doc_md/models/interfaces/GetChannelsFromLogFileRequest.md +0 -17
- package/doc_md/models/interfaces/GetChannelsFromLogFileResponse.md +0 -17
- package/doc_md/models/interfaces/GetClassicCanBusSpeedsRequest.md +0 -9
- package/doc_md/models/interfaces/GetClassicCanBusSpeedsResponse.md +0 -17
- package/doc_md/models/interfaces/GetDataFramesBeforeTimestampRequest.md +0 -25
- package/doc_md/models/interfaces/GetDataProcessorResponse.md +0 -9
- package/doc_md/models/interfaces/GetDevicesRequest.md +0 -9
- package/doc_md/models/interfaces/GetDevicesResponse.md +0 -9
- package/doc_md/models/interfaces/GetFrameDefinitionsFromDatabaseFilesRequest.md +0 -17
- package/doc_md/models/interfaces/GetLicensesResponse.md +0 -17
- package/doc_md/models/interfaces/GetLogFileFormatsRequest.md +0 -33
- package/doc_md/models/interfaces/GetLogFileFormatsResponse.md +0 -41
- package/doc_md/models/interfaces/GetLogLevelResponse.md +0 -17
- package/doc_md/models/interfaces/GetScheduleTablesFromDatabaseFilesRequest.md +0 -17
- package/doc_md/models/interfaces/GetScheduleTablesFromDatabaseFilesResponse.md +0 -17
- package/doc_md/models/interfaces/GetServiceExtensionInfoRequest.md +0 -27
- package/doc_md/models/interfaces/GetServiceExtensionInfoResponse.md +0 -65
- package/doc_md/models/interfaces/GetSignalDataFromMessageDataRequest.md +0 -25
- package/doc_md/models/interfaces/GetSignalDataFromMessageDataResponse.md +0 -17
- package/doc_md/models/interfaces/GetSourceResponse.md +0 -9
- package/doc_md/models/interfaces/GetTargetResponse.md +0 -9
- package/doc_md/models/interfaces/ILogFileFormat.md +0 -9
- package/doc_md/models/interfaces/IProject.md +0 -9
- package/doc_md/models/interfaces/IWorkspaceData.md +0 -9
- package/doc_md/models/interfaces/IdentifierRequest.md +0 -10
- package/doc_md/models/interfaces/IdentifiersRequest.md +0 -10
- package/doc_md/models/interfaces/InstallServiceExtensionRequest.md +0 -33
- package/doc_md/models/interfaces/LicenseInformation.md +0 -73
- package/doc_md/models/interfaces/Licenses.md +0 -17
- package/doc_md/models/interfaces/MeasurementEventArgs.md +0 -9
- package/doc_md/models/interfaces/RequestLinMessageRequest.md +0 -25
- package/doc_md/models/interfaces/ScheduleTable.md +0 -33
- package/doc_md/models/interfaces/ScheduleTableEntry.md +0 -25
- package/doc_md/models/interfaces/SendLinWakeupFrameRequest.md +0 -33
- package/doc_md/models/interfaces/SendMessageRequest.md +0 -9
- package/doc_md/models/interfaces/SetLogLevelRequest.md +0 -25
- package/doc_md/models/interfaces/SetMeasurementSetupRequest.md +0 -9
- package/doc_md/models/interfaces/SetSignalDataToMessageDataRequest.md +0 -33
- package/doc_md/models/interfaces/SetSignalDataToMessageDataResponse.md +0 -26
- package/doc_md/models/interfaces/StartPeriodicTransmissionRequest.md +0 -17
- package/doc_md/models/interfaces/StartPeriodicTransmissionResponse.md +0 -9
- package/doc_md/models/interfaces/SubscribeForDataRequest.md +0 -17
- package/doc_md/models/interfaces/UninstallServiceExtensionRequest.md +0 -25
- package/doc_md/models/interfaces/UpdateLinMessageRequest.md +0 -26
- package/doc_md/models/interfaces/UpdatePeriodicTransmissionRequest.md +0 -25
- package/licenses/ELECTRON-TOOLKIT-PRELOAD_MIT.TXT +0 -21
- package/licenses/FAST-DEEP-EQUAL_MIT.TXT +0 -21
- package/licenses/GOOGLE-PROTOBUF_(BSD-3-CLAUSE AND APACHE-2.0).TXT +0 -29
- package/licenses/REACT-DOM_MIT.TXT +0 -21
- package/licenses/REACT_MIT.TXT +0 -21
- package/licenses/UUID_MIT.TXT +0 -9
- package/licenses/licenses.css +0 -22
- package/licenses/licenses.html +0 -67
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var le=Object.defineProperty;var de=(e,s,t)=>s in e?le(e,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[s]=t;var W=(e,s,t)=>de(e,typeof s!="symbol"?s+"":s,t);const a=require("react"),M=require("uuid");require("long");const ae=require("./ElectronAPIFake.js"),P=require("./measurement_settings.js"),$=require("./status_params.js"),h=require("react/jsx-runtime"),k=require("@mui/material"),re=require("./ipc.js"),G=require("./models.js"),me=(e,s,...t)=>{let n=s;for(let o=0;o<t.length;o+=1){const r=`{${o}}`;if(n.indexOf(r)!==-1){const u=t[o];n=typeof u=="string"?n.replace(r,u):n.replace(r,u.toLocaleString(e))}}return n};class oe{constructor(s,t){W(this,"language");W(this,"strings");this.language=s,this.strings=t}getString(s,...t){if(this.strings&&s in this.strings){const n=this.strings[s];return t.length>0?me(this.language,n,...t):n}return s}}const m=re.getLogger("DataProviders"),g=window.electron??ae.electronApiFake,se=e=>({palette:{mode:e,primary:{main:e==="light"?"#006782":"#03648A"},secondary:{main:e==="light"?"#44439A":"#AFA7FD"},error:{main:e==="light"?"#BA1A1A":"#FD452F"},divider:e==="light"?"#33859B":"#3583A1"},spacing:4,typography:{button:{lineHeight:1,textTransform:void 0},fontSize:12},shape:{borderRadius:4},components:{MuiButton:{defaultProps:{size:"small"}},MuiFilledInput:{defaultProps:{margin:"dense"}},MuiFormControl:{defaultProps:{margin:"dense"}},MuiFormHelperText:{defaultProps:{margin:"dense"}},MuiIconButton:{defaultProps:{size:"small"}},MuiInputBase:{defaultProps:{margin:"dense"}},MuiInputLabel:{defaultProps:{margin:"dense"}},MuiListItem:{defaultProps:{dense:!0}},MuiOutlinedInput:{defaultProps:{margin:"dense"}},MuiFab:{defaultProps:{size:"small"}},MuiTable:{defaultProps:{size:"small"}},MuiTextField:{defaultProps:{margin:"dense"}},MuiToolbar:{defaultProps:{variant:"dense"}}}});function ge({children:e}){const s=x(),[t,n]=a.useState(k.createTheme(se(s.theme)));return a.useEffect(()=>{n(k.createTheme(se(s.theme)))},[s.theme]),h.jsxs(k.ThemeProvider,{theme:t,children:[h.jsx(k.CssBaseline,{}),e]})}const T=new Map,E=new Map,R=new Map,y=new Map,j=new Map,A=new Map,_=new Map,N=new Map,O=new Map,I=new Map;async function S(e,s,t,n){switch(s){case"devices-changed":{if(T.has(e))m.warn("The callback has already been added as listener to this event!");else{const o=t,r=(u,i)=>o(i),c=g.ipcRenderer.on("dm-devices-changed",r);T.set(e,{remover:c,listener:r})}return g.ipcRenderer.invoke("rpc-get-devices",!1)}case"user-settings-changed":{if(E.has(e))m.warn("The callback has already been added as listener to this event!");else{const o=t,r=(u,i)=>o(i),c=g.ipcRenderer.on("user-settings-changed",r);E.set(e,{remover:c,listener:r})}return g.ipcRenderer.invoke("app-get-user-settings")}case"new-log-messages":{if(R.has(e))m.warn("The callback has already been added as listener to this event!");else{const o=t,r=(u,i)=>o(i),c=g.ipcRenderer.on("new-log-messages",r);R.set(e,{remover:c,listener:r})}return Promise.resolve()}case"online-status-changed":{if(y.has(e))m.warn("The callback has already been added as listener to this event!");else{const o=t,r=(u,i)=>o(i),c=g.ipcRenderer.on("mm-is-online-changed",r);y.set(e,{remover:c,listener:r})}return g.ipcRenderer.invoke("rpc-get-online-status")}case"periodic-trans-started":{if(j.has(e))m.warn("The callback has already been added as listener to this event!");else{const o=t,r=(u,i)=>o(i),c=g.ipcRenderer.on("mm-periodic-trans-started",r);j.set(e,{remover:c,listener:r})}return Promise.resolve("")}case"periodic-trans-stopped":{if(A.has(e))m.warn("The callback has already been added as listener to this event!");else{const o=t,r=(u,i)=>o(i),c=g.ipcRenderer.on("mm-periodic-trans-stopped",r);A.set(e,{remover:c,listener:r})}return Promise.resolve("")}case"new-measurement-data":{if(_.has(e))m.warn("The callback has already been added as listener to this event!");else{const o=t,r=(u,i)=>o(i),c=g.ipcRenderer.on("mm-new-measurement-data",r);_.set(e,{remover:c,listener:r})}return(n==null?void 0:n.numberOfHistoryFrames)>0?g.ipcRenderer.invoke("mm-get-measurement-data-before-timestamp",Number.MAX_SAFE_INTEGER,n.numberOfHistoryFrames):Promise.resolve([])}case"new-measurement-status":{if(N.has(e))m.warn("The callback has already been added as listener to this event!");else{const o=t,r=(u,i)=>o(i),c=g.ipcRenderer.on("mm-new-measurement-status",r);N.set(e,{remover:c,listener:r})}return g.ipcRenderer.invoke("rpc-get-node-statuses")}case"meas-setup-changed":{if(O.has(e))m.warn("The callback has already been added as listener to this event!");else{const o=t,r=(u,i)=>o(i),c=g.ipcRenderer.on("project-meas-setup-changed",r);O.set(e,{remover:c,listener:r})}return g.ipcRenderer.invoke("prj-get-meas-setup")}case"workspace-panes-changed":{if(I.has(e))m.warn("The callback has already been added as listener to this event!");else{const o=t,r=(u,i)=>o(i),c=g.ipcRenderer.on("project-workspace-panes-changed",r);I.set(e,{remover:c,listener:r})}return g.ipcRenderer.invoke("prj-get-workspace-panes")}}return Promise.reject(new Error("Invalid event type"))}const b=async(e,s)=>{switch(s){case"devices-changed":{const t=T.get(e);t?(t.remover(),T.delete(e)):m.warn("The callback has not been added as listener to this event!")}break;case"user-settings-changed":{const t=E.get(e);t?(t.remover(),E.delete(e)):m.warn("The callback has not been added as listener to this event!")}break;case"new-log-messages":{const t=R.get(e);t?(t.remover(),R.delete(e)):m.warn("The callback has not been added as listener to this event!")}break;case"online-status-changed":{const t=y.get(e);t?(t.remover(),y.delete(e)):m.warn("The callback has not been added as listener to this event!")}break;case"periodic-trans-started":{const t=j.get(e);t?(t.remover(),j.delete(e)):m.warn("The callback has not been added as listener to this event!")}break;case"periodic-trans-stopped":{const t=A.get(e);t?(t.remover(),A.delete(e)):m.warn("The callback has not been added as listener to this event!")}break;case"new-measurement-data":{const t=_.get(e);t?(t.remover(),_.delete(e)):m.warn("The callback has not been added as listener to this event!")}break;case"new-measurement-status":{const t=N.get(e);t?(t.remover(),N.delete(e)):m.warn("The callback has not been added as listener to this event!")}break;case"meas-setup-changed":{const t=O.get(e);t?(t.remover(),O.delete(e)):m.warn("The callback has not been added as listener to this event!")}break;case"workspace-panes-changed":{const t=I.get(e);t?(t.remover(),I.delete(e)):m.warn("The callback has not been added as listener to this event!")}break}},he=window!=null&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)").matches:!1,ce=Object.assign({},G.defaultUserSettings,{theme:he?"dark":"light"}),X=a.createContext(ce),pe=({initialUserSettings:e=void 0,children:s=void 0})=>{const[t,n]=a.useState(e??ce);return a.useEffect(()=>{const o=M.v4();return S(o,"user-settings-changed",n).then(r=>n(r)).catch(),()=>{b(o,"user-settings-changed")}},[]),h.jsx(X.Provider,{value:t,children:s})},H=a.createContext(null),fe=({children:e=void 0})=>{const[s,t]=a.useState(null);return a.useEffect(()=>{const n=r=>{try{t(r)}catch(c){m.error("DevicesProvider",c)}},o=M.v4();return S(o,"devices-changed",n).then(r=>n(r)).catch(),()=>{b(o,"devices-changed")}},[]),h.jsx(H.Provider,{value:s,children:e})},J=a.createContext([]),ve=({children:e=void 0})=>{const[s,t]=a.useState([]);return a.useEffect(()=>{const n=r=>{try{t(r)}catch(c){m.error("MeasurementStatusProvider",c)}},o=M.v4();return S(o,"new-measurement-status",n).then(r=>n(r)).catch(),()=>{b(o,"new-measurement-status")}},[]),h.jsx(J.Provider,{value:s,children:e})},C=e=>{let s=P.CanFrameFlag.CAN_FRAME_FLAG_UNSPECIFIED;if(e.canFrameFlags!==void 0)for(let n=0;n<e.canFrameFlags.flags.length;n++){const o=e.canFrameFlags.flags[n];o!==P.CanFrameFlag.CAN_FRAME_FLAG_TXACK&&o!==P.CanFrameFlag.CAN_FRAME_FLAG_LOCAL_TXACK&&(s|=o)}let t=P.LinFrameFlag.LIN_FRAME_FLAG_UNSPECIFIED;if(e.linFrameFlags!==void 0)for(let n=0;n<e.linFrameFlags.flags.length;n++){const o=e.linFrameFlags.flags[n];o!==P.LinFrameFlag.LIN_FRAME_FLAG_TX&&(t|=o)}return`${e.id.toString(16).padStart(8,"0")}_${s.toString(16).padStart(8,"0")}_${t.toString(16).padStart(8,"0")}_${(e.mux??0).toString(16).padStart(8,"0")}_${e.tx?1:0}_${e.sourceName??""}`},ne=(e,s)=>{var n;const t=P.FixedPosFrameIdentifier.create({id:e.id,canFrameFlags:e.canFrameFlags,linFrameFlags:e.linFrameFlags,mux:((n=e.properties.MUX_VALUE)==null?void 0:n.doubleValue)??0,tx:e.tx,sourceName:s?"":e.sourceName});return C(t)},D=new Map,z=new Map,V=e=>{e.forEach(s=>{const t=C(s);D.set(t,(D.get(t)||0)+1),z.set(t,s)}),g.ipcRenderer.invoke("mm-subscribe-to-measurement-data",Array.from(z.values()))},Q=e=>{e.forEach(s=>{const t=C(s);D.set(t,(D.get(t)||0)-1),D.get(t)===0&&(D.delete(t),z.delete(t))}),g.ipcRenderer.invoke("mm-subscribe-to-measurement-data",Array.from(z.values()))},L=a.createContext({scrollData:[],fixedPositionData:[],subscribedData:new Map}),Se=({children:e=void 0})=>{const s=a.useRef(new G.DataBuffer(500)),t=a.useRef(new Map),[n,o]=a.useState({scrollData:[],fixedPositionData:[],subscribedData:new Map});a.useEffect(()=>{const c=i=>{try{i.length===0?s.current.clear():s.current.push(...i.slice(Math.max(0,i.length-500)));const l=new Map;D.forEach((p,d)=>{p>0&&l.set(d,[])}),i.length===0?t.current.clear():(i.forEach(d=>{if(t.current.set(d.properties.FIXED_MODE_SORTABLE_KEY.stringValue??"",d),l.size===0)return;const f=ne(d,!1);if(f&&l.has(f)){const v=l.get(f);v&&v.push(d)}else{const v=ne(d,!0);if(v&&l.has(v)){const F=l.get(v);F&&F.push(d)}}}),Array.from(l.keys()).filter(d=>{var f;return((f=l.get(d))==null?void 0:f.length)===0}).forEach(d=>l.delete(d))),o(()=>({scrollData:Array.from(s.current),fixedPositionData:Array.from(t.current.values()),subscribedData:l}))}catch(l){m.error("MeasurementDataProvider",l)}},u=M.v4();return S(u,"new-measurement-data",c,{numberOfHistoryFrames:500}).then(i=>c(i)).catch(),()=>{b(u,"new-measurement-data")}},[]);const r=a.useContext(U);return a.useEffect(()=>{r.isOnline&&(s.current.clear(),t.current.clear(),o(c=>{const u=new Map;return c.subscribedData.forEach((i,l)=>{u.set(l,[])}),{scrollData:[],fixedPositionData:[],subscribedData:u}}))},[r]),h.jsx(L.Provider,{value:n,children:e})},Y=a.createContext({language:"en",sources:[],dataProcessors:[],targets:[]}),be=({children:e=void 0})=>{const[s,t]=a.useState({language:"en",sources:[],dataProcessors:[],targets:[]});return a.useEffect(()=>{const n=r=>{try{t(r)}catch(c){m.error("MeasurementSetupProvider",c)}},o=M.v4();return S(o,"meas-setup-changed",n).then(r=>n(r)).catch(),()=>{b(o,"meas-setup-changed")}},[]),h.jsx(Y.Provider,{value:s,children:e})},U=a.createContext({isOnline:!1}),Me=({children:e=void 0})=>{const[s,t]=a.useState({isOnline:!1});return a.useEffect(()=>{const n=r=>{try{t(r)}catch(c){m.error("OnlineStatusProvider",c)}},o=M.v4();return S(o,"online-status-changed",n).then(r=>n(r)).catch(),()=>{b(o,"online-status-changed")}},[]),h.jsx(U.Provider,{value:s,children:e})},Z=a.createContext([]),Fe=({children:e=void 0})=>{const[s,t]=a.useState([]);return a.useEffect(()=>{const n=u=>{try{t(i=>[...i,u])}catch(i){m.error("RunningPeriodicTransmissionsProvider - started",i)}},o=u=>{try{t(i=>{const l=i.findIndex(d=>d===u);if(l===-1)return i;const p=[...i];return p.splice(l,1),p})}catch(i){m.error("RunningPeriodicTransmissionsProvider - stopped",i)}},r=M.v4();S(r,"periodic-trans-started",n);const c=M.v4();return S(c,"periodic-trans-stopped",o),()=>{b(r,"periodic-trans-started"),b(c,"periodic-trans-stopped")}},[]),h.jsx(Z.Provider,{value:s,children:e})},ee=a.createContext([]),Pe=({children:e=void 0})=>{const s=a.useRef(new G.DataBuffer(1e3)),[t,n]=a.useState([]);return a.useEffect(()=>{const o=c=>{try{c===null?s.current.clear():s.current.push(...c),n(Array.from(s.current))}catch(u){m.error("LogMessagesProvider",u)}},r=M.v4();return S(r,"new-log-messages",o),()=>{b(r,"new-log-messages")}},[]),h.jsx(ee.Provider,{value:t,children:e})},K=a.createContext([[],()=>{}]),De=({children:e=void 0})=>{const[s,t]=a.useState(null),n=a.useCallback(o=>{if(s!==null)if(typeof o=="function"){const r=o(s);g.ipcRenderer.invoke("prj-update-project",{workspacePanes:r})}else g.ipcRenderer.invoke("prj-update-project",{workspacePanes:o})},[s]);return a.useEffect(()=>{const o=c=>{try{t(c)}catch(u){m.error("WorkspacePanesProvider",u)}},r=M.v4();return S(r,"workspace-panes-changed",o).then(c=>o(c)).catch(),()=>{b(r,"workspace-panes-changed")}},[]),h.jsx(K.Provider,{value:[s,n],children:e})},xe=({initialUserSettings:e=void 0,children:s=void 0})=>h.jsx(pe,{initialUserSettings:e,children:h.jsx(fe,{children:h.jsx(be,{children:h.jsx(ve,{children:h.jsx(Me,{children:h.jsx(Se,{children:h.jsx(Fe,{children:h.jsx(Pe,{children:h.jsx(De,{children:h.jsx(ge,{children:s})})})})})})})})})}),B=window.electron??ae.electronApiFake,x=()=>a.useContext(X),we=()=>{const e=x();return a.useMemo(()=>e.useHexNumericBase?16:10,[e.useHexNumericBase])},Ce=()=>{const e=x();return a.useMemo(()=>e.maxDataBytes,[e.maxDataBytes])},Le=()=>{const e=x();return a.useMemo(()=>e.language,[e.language])},ke=()=>{const e=x();return a.useMemo(()=>new oe(e.language,e.strings),[e.language,e.strings])},Te=()=>{const e=x();return a.useMemo(()=>e.recentProjectFiles,[e.recentProjectFiles])},Ee=()=>a.useContext(H),Re=()=>a.useContext(Y),te=()=>a.useContext(J),ye=e=>{const s=te();return a.useMemo(()=>s.find(n=>n.nodeId===e)??null,[e,s])},je=()=>{const e=te();return a.useMemo(()=>{const t=e.filter(n=>n.busStatus).map(n=>Math.max(Number(n.busStatus.busOnStatus)??$.StatusLevel.STATUS_LEVEL_NONE,Number(n.busStatus.errorStatus)??$.StatusLevel.STATUS_LEVEL_NONE,Number(n.busStatus.overrunStatus)??$.StatusLevel.STATUS_LEVEL_NONE));return Math.max(...t)},[e])},ie=()=>a.useContext(U),Ae=()=>{const e=ie();return a.useMemo(()=>(e==null?void 0:e.isOnline)===!0,[e==null?void 0:e.isOnline])},_e=()=>a.useContext(Z),Ne=()=>a.useContext(ee),Oe=(e,s)=>{const[t,n]=a.useState([]),[o,r]=a.useState([]);return a.useEffect(()=>{const c=M.v4();return S(c,"new-measurement-data",r,{numberOfHistoryFrames:e}).then(u=>r(u)).catch(),()=>{b(c,"new-measurement-data")}},[e]),a.useEffect(()=>{o!==null&&n(c=>{const u=c.map(l=>l.hashCode),i=o.filter(l=>!u.includes(l.hashCode));if(s){const l=i.filter(s);return c.length===0&&l.length===0?c:l}return c.length===0&&i.length===0?c:i})},[o,s]),t},Ie=e=>{const s=a.useContext(L);return a.useMemo(()=>{const n=s.scrollData??[];return e!==void 0?n.filter(o=>o.time>=e):n},[s,e])},ze=e=>{const s=a.useContext(L);return a.useMemo(()=>{const n=s.fixedPositionData??[];return e!==void 0?n.filter(o=>o.time>=e):n},[s,e])},Be=e=>{const[s,t]=a.useState([]);a.useEffect(()=>(V(e),()=>{Q(e)}),[e]);const n=a.useContext(L);return a.useEffect(()=>{const o=e.map(C);if(!o.some(u=>n.subscribedData.has(u)))return;const c=o.flatMap(u=>n.subscribedData.get(u)??[]).sort((u,i)=>u.time-i.time);t(c)},[e,n]),s},Ue=e=>{const[s,t]=a.useState([]),[n,o]=a.useState([]),r=a.useRef(new Map),c=a.useRef(new Map);a.useEffect(()=>{re.getFrameDefinitions().then(i=>{for(let l=0;l<e.length;l++){const p=e[l],d=i.find(f=>f.signals.some(v=>v.qualifiedName===p));if(d){const f=P.FixedPosFrameIdentifier.create({id:d.id,tx:!1});d.canFrameFlags?f.canFrameFlags=d.canFrameFlags:f.linFrameFlags=P.LinFrameFlags.create({flags:[P.LinFrameFlag.LIN_FRAME_FLAG_RX]});const v=C(f);if(c.current.has(v)){const F=c.current.get(v);F&&!F.includes(p)&&(F.push(p),c.current.set(v,F))}else c.current.set(v,[p]),r.current.set(v,f)}}o(Array.from(r.current.values()))})},[e]),a.useEffect(()=>(V(n),()=>{Q(n)}),[n]);const u=a.useContext(L);return a.useEffect(()=>{const i=c.current.size>0?Array.from(c.current.keys()):[];if(!i.some(d=>u.subscribedData.has(d)))return;const p=i.flatMap(d=>{const f=u.subscribedData.get(d)??[],v=c.current.get(d)??[];return f.flatMap(F=>v.map(q=>{const w=F.signalValues.find(ue=>ue.qualifiedName===q);return w?{qualifiedName:w.qualifiedName,name:w.name,unit:w.unit,time:F.time,doubleValue:w.doubleValue,stringValue:w.stringValue}:null}).filter(q=>q!==null))}).sort((d,f)=>d.time-f.time);t(p)},[e,u]),s},Ke=(e,s)=>{const[t,n]=a.useContext(K),[o,r]=a.useMemo(()=>{var u;try{if(t===null)return[!1,s??{}];const i=t==null?void 0:t.find(p=>p.id===e),l=(u=i==null?void 0:i.componentData)!=null&&u.componentProps?JSON.parse(i.componentData.componentProps):{};return s!==void 0?[!0,Object.assign({},s,l)]:[!0,l]}catch{return[!1,s??{}]}},[s,e,t]),c=a.useCallback(u=>{try{n(i=>{const l=[...i],p=l.find(d=>d.id===e);if(p!=null&&p.componentData){const d=u instanceof Function?JSON.stringify(u(r)):JSON.stringify(u);return p.componentData.componentProps=d,l}return i})}catch{}},[e,r,n]);return{projectDataIsInitialized:o,projectData:r,setProjectData:c}},qe=(e,s)=>{const[t,n]=a.useState(!1),[o,r]=a.useState(s??{});return a.useEffect(()=>{B.ipcRenderer.invoke("app-get-workspace-view-session-data",e).then(c=>{try{const u=c?JSON.parse(c):{};s!==void 0?(r(Object.assign({},s,u)),n(!0)):(r(u),n(!0))}catch{n(!1),r(s??{})}}).catch()},[s,e]),a.useEffect(()=>{try{if(t){const c=JSON.stringify(o);B.ipcRenderer.invoke("app-set-workspace-view-session-data",e,c).catch()}}catch{}},[e,o,t]),{sessionDataIsInitialized:t,sessionData:o,setSessionData:r}},We=e=>{const[s]=a.useContext(K);return a.useMemo(()=>s.find(n=>n.id===e)??null,[e,s])},$e=(e=!1)=>{const[s,t]=a.useState([]);return a.useEffect(()=>{B.ipcRenderer.invoke("rpc-get-message-log-file-formats",e).then(n=>t(n)).catch()},[e]),s},Ge=()=>{const[e,s]=a.useState([]);return a.useEffect(()=>{B.ipcRenderer.invoke("rpc-get-signal-log-file-formats").then(t=>s(t)).catch()},[]),e};exports.CanKingDataProvider=xe;exports.DevicesContext=H;exports.LocalizedStrings=oe;exports.LogMessagesContext=ee;exports.MeasurementDataContext=L;exports.MeasurementSetupContext=Y;exports.MeasurementStatusContext=J;exports.OnlineStatusContext=U;exports.RunningPeriodicTransmissionsContext=Z;exports.UserSettingsContext=X;exports.WorkspacePanesContext=K;exports.addEventListener=S;exports.calculateSubscriptionKey=C;exports.removeEventListener=b;exports.subscribeToData=V;exports.unsubscribeFromData=Q;exports.useDevices=Ee;exports.useFixedPositionModeMeasurementData=ze;exports.useIsOnline=Ae;exports.useLanguage=Le;exports.useLocalizedStrings=ke;exports.useLogMessages=Ne;exports.useMaxDataBytes=Ce;exports.useMeasurementSetup=Re;exports.useMeasurementStatus=te;exports.useMessageData=Be;exports.useMessageLogFileFormats=$e;exports.useNewMeasurementData=Oe;exports.useNodeStatus=ye;exports.useNumericRadix=we;exports.useOnlineStatus=ie;exports.useOverallStatusLevel=je;exports.useProjectData=Ke;exports.useRecentProjectFiles=Te;exports.useRunningPeriodicTransmissions=_e;exports.useScrollModeMeasurementData=Ie;exports.useSessionData=qe;exports.useSignalData=Ue;exports.useSignalLogFileFormats=Ge;exports.useUserSettings=x;exports.useWorkspacePaneWithId=We;
|
|
1
|
+
"use strict";var $e=Object.defineProperty;var We=(e,n,t)=>n in e?$e(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var de=(e,n,t)=>We(e,typeof n!="symbol"?n+"":n,t);const a=require("react"),k=require("uuid"),M=require("./models.js"),P=require("react/jsx-runtime"),V=require("@mui/material"),W=require("./ipc.js"),j=require("./status_params.js"),He=(e,n,...t)=>{let r=n;for(let s=0;s<t.length;s+=1){const c=`{${s}}`;if(r.indexOf(c)!==-1){const i=t[s];r=typeof i=="string"?r.replace(c,i):r.replace(c,i.toLocaleString(e))}}return r};class Ae{constructor(n,t){de(this,"language");de(this,"strings");this.language=n,this.strings=t}getString(n,...t){if(this.strings&&n in this.strings){const r=this.strings[n];return t.length>0?He(this.language,r,...t):r}return n}}const D=W.getLogger("DataProviders"),y=window.electron??M.electronApiFake,Q=new Map,Y=new Map,G=new Map,Z=new Map,ee=new Map,te=new Map,re=new Map,ne=new Map,se=new Map,ae=new Map;async function A(e,n,t,r){switch(n){case"devices-changed":{if(Q.has(e))D.warn("The callback has already been added as listener to this event!");else{const s=t,c=(i,u)=>s(u),o=y.ipcRenderer.on("dm-devices-changed",c);Q.set(e,{remover:o,listener:c})}return y.ipcRenderer.invoke("rpc-get-devices",!1)}case"user-settings-changed":{if(Y.has(e))D.warn("The callback has already been added as listener to this event!");else{const s=t,c=(i,u)=>s(u),o=y.ipcRenderer.on("user-settings-changed",c);Y.set(e,{remover:o,listener:c})}return y.ipcRenderer.invoke("app-get-user-settings")}case"new-log-messages":{if(G.has(e))D.warn("The callback has already been added as listener to this event!");else{const s=t,c=(i,u)=>s(u),o=y.ipcRenderer.on("new-log-messages",c);G.set(e,{remover:o,listener:c})}return Promise.resolve()}case"online-status-changed":{if(Z.has(e))D.warn("The callback has already been added as listener to this event!");else{const s=t,c=(i,u)=>s(u),o=y.ipcRenderer.on("mm-is-online-changed",c);Z.set(e,{remover:o,listener:c})}return y.ipcRenderer.invoke("rpc-get-online-status")}case"periodic-trans-started":{if(ee.has(e))D.warn("The callback has already been added as listener to this event!");else{const s=t,c=(i,u)=>s(u),o=y.ipcRenderer.on("mm-periodic-trans-started",c);ee.set(e,{remover:o,listener:c})}return Promise.resolve("")}case"periodic-trans-stopped":{if(te.has(e))D.warn("The callback has already been added as listener to this event!");else{const s=t,c=(i,u)=>s(u),o=y.ipcRenderer.on("mm-periodic-trans-stopped",c);te.set(e,{remover:o,listener:c})}return Promise.resolve("")}case"new-measurement-data":{if(re.has(e))D.warn("The callback has already been added as listener to this event!");else{const s=t,c=(i,u)=>s(u),o=y.ipcRenderer.on("mm-new-measurement-data",c);re.set(e,{remover:o,listener:c})}return(r==null?void 0:r.numberOfHistoryFrames)>0?y.ipcRenderer.invoke("mm-get-measurement-data-before-timestamp",Number.MAX_SAFE_INTEGER,r.numberOfHistoryFrames):Promise.resolve([])}case"new-measurement-status":{if(ne.has(e))D.warn("The callback has already been added as listener to this event!");else{const s=t,c=(i,u)=>s(u),o=y.ipcRenderer.on("mm-new-measurement-status",c);ne.set(e,{remover:o,listener:c})}return y.ipcRenderer.invoke("rpc-get-node-statuses")}case"meas-setup-changed":{if(se.has(e))D.warn("The callback has already been added as listener to this event!");else{const s=t,c=(i,u)=>s(u),o=y.ipcRenderer.on("project-meas-setup-changed",c);se.set(e,{remover:o,listener:c})}return y.ipcRenderer.invoke("prj-get-meas-setup")}case"workspace-panes-changed":{if(ae.has(e))D.warn("The callback has already been added as listener to this event!");else{const s=t,c=(i,u)=>s(u),o=y.ipcRenderer.on("project-workspace-panes-changed",c);ae.set(e,{remover:o,listener:c})}return y.ipcRenderer.invoke("prj-get-workspace-panes")}}return Promise.reject(new Error("Invalid event type"))}const I=async(e,n)=>{switch(n){case"devices-changed":{const t=Q.get(e);t?(t.remover(),Q.delete(e)):D.warn("The callback has not been added as listener to this event!")}break;case"user-settings-changed":{const t=Y.get(e);t?(t.remover(),Y.delete(e)):D.warn("The callback has not been added as listener to this event!")}break;case"new-log-messages":{const t=G.get(e);t?(t.remover(),G.delete(e)):D.warn("The callback has not been added as listener to this event!")}break;case"online-status-changed":{const t=Z.get(e);t?(t.remover(),Z.delete(e)):D.warn("The callback has not been added as listener to this event!")}break;case"periodic-trans-started":{const t=ee.get(e);t?(t.remover(),ee.delete(e)):D.warn("The callback has not been added as listener to this event!")}break;case"periodic-trans-stopped":{const t=te.get(e);t?(t.remover(),te.delete(e)):D.warn("The callback has not been added as listener to this event!")}break;case"new-measurement-data":{const t=re.get(e);t?(t.remover(),re.delete(e)):D.warn("The callback has not been added as listener to this event!")}break;case"new-measurement-status":{const t=ne.get(e);t?(t.remover(),ne.delete(e)):D.warn("The callback has not been added as listener to this event!")}break;case"meas-setup-changed":{const t=se.get(e);t?(t.remover(),se.delete(e)):D.warn("The callback has not been added as listener to this event!")}break;case"workspace-panes-changed":{const t=ae.get(e);t?(t.remover(),ae.delete(e)):D.warn("The callback has not been added as listener to this event!")}break}},Ee=e=>({palette:{mode:e,primary:{main:e==="light"?"#006782":"#03648A"},secondary:{main:e==="light"?"#44439A":"#AFA7FD"},error:{main:e==="light"?"#BA1A1A":"#FD452F"},divider:e==="light"?"#33859B":"#3583A1"},spacing:4,typography:{button:{lineHeight:1,textTransform:void 0},fontSize:12},shape:{borderRadius:4},components:{MuiButton:{defaultProps:{size:"small"}},MuiFilledInput:{defaultProps:{margin:"dense"}},MuiFormControl:{defaultProps:{margin:"dense"}},MuiFormHelperText:{defaultProps:{margin:"dense"}},MuiIconButton:{defaultProps:{size:"small"}},MuiInputBase:{defaultProps:{margin:"dense"}},MuiInputLabel:{defaultProps:{margin:"dense"}},MuiListItem:{defaultProps:{dense:!0}},MuiOutlinedInput:{defaultProps:{margin:"dense"}},MuiFab:{defaultProps:{size:"small"}},MuiTable:{defaultProps:{size:"small"}},MuiTextField:{defaultProps:{margin:"dense"}},MuiToolbar:{defaultProps:{variant:"dense"}}}});function Ve({children:e}){const n=K(),[t,r]=a.useState(V.createTheme(Ee(n.theme)));return a.useEffect(()=>{r(V.createTheme(Ee(n.theme)))},[n.theme]),P.jsxs(V.ThemeProvider,{theme:t,children:[P.jsx(V.CssBaseline,{}),e]})}const Xe=window!=null&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)").matches:!1,Ie=Object.assign({},M.defaultUserSettings,{theme:Xe?"dark":"light"}),pe=a.createContext(Ie),Je=({initialUserSettings:e=void 0,children:n=void 0})=>{const[t,r]=a.useState(e??Ie);return a.useEffect(()=>{const s=new AbortController,c=k.v4();return A(c,"user-settings-changed",r).then(o=>{s.signal.aborted||r(o)}).catch(o=>{D.error("Failed to add user settings listener:",o)}),()=>{s.abort(),I(c,"user-settings-changed")}},[]),P.jsx(pe.Provider,{value:t,children:n})},he=a.createContext(null),Qe=({children:e=void 0})=>{const[n,t]=a.useState(null);return a.useEffect(()=>{const r=new AbortController,s=o=>{try{if(r.signal.aborted)return;t(o)}catch(i){D.error("DevicesProvider",i)}},c=k.v4();return A(c,"devices-changed",s).then(o=>s(o)).catch(o=>{D.error("Failed to add devices listener:",o)}),()=>{r.abort(),I(c,"devices-changed")}},[]),P.jsx(he.Provider,{value:n,children:e})},ve=a.createContext([]),Ye=({children:e=void 0})=>{const[n,t]=a.useState([]);return a.useEffect(()=>{const r=new AbortController,s=o=>{try{if(r.signal.aborted)return;t(o)}catch(i){D.error("MeasurementStatusProvider",i)}},c=k.v4();return A(c,"new-measurement-status",s).then(o=>s(o)).catch(o=>{D.error("Failed to add measurement status listener:",o)}),()=>{r.abort(),I(c,"new-measurement-status")}},[]),P.jsx(ve.Provider,{value:n,children:e})},ce=a.createContext({subscribedData:new Map}),Ge=({children:e=void 0})=>{const[n,t]=a.useState({subscribedData:new Map});return a.useEffect(()=>{const r=new AbortController,s=o=>{try{if(r.signal.aborted)return;const i=new Map;o.length>0&&o.forEach(u=>{const l=M.deserializeFrame(u),p=M.calculateSubscriptionKeyFromFrame(l);i.has(p)||i.set(p,[]);const d=i.get(p);d&&d.push(l)}),t(()=>({subscribedData:i}))}catch(i){D.error("MeasurementDataProvider",i)}},c=k.v4();return A(c,"new-measurement-data",s).then(o=>s(o)).catch(o=>{D.error("Failed to add measurement data listener:",o)}),()=>{r.abort(),I(c,"new-measurement-data")}},[]),P.jsx(ce.Provider,{value:n,children:e})},ie=a.createContext({scrollData:[],fixedPositionData:[]}),Ze=({children:e=void 0})=>{const n=a.useRef(new M.DataBuffer(500)),t=a.useRef(new Map),[r,s]=a.useState({scrollData:[],fixedPositionData:[]});a.useEffect(()=>{const o=new AbortController,i=l=>{try{if(o.signal.aborted)return;const p=l.map(d=>M.deserializeFrame(d));p.length===0?n.current.clear():n.current.push(...p.slice(Math.max(0,p.length-500))),p.length===0?t.current.clear():p.forEach(d=>{t.current.set(d.fixedPosIdentifier??"",d)}),s(()=>({scrollData:Array.from(n.current),fixedPositionData:Array.from(t.current.values())}))}catch(p){D.error("MeasurementTraceDataProvider",p)}},u=k.v4();return A(u,"new-measurement-data",i,{numberOfHistoryFrames:500}).then(l=>i(l)).catch(l=>{D.error("Failed to add measurement data listener:",l)}),()=>{o.abort(),I(u,"new-measurement-data")}},[]);const c=a.useContext(q);return a.useEffect(()=>{c.isLoaded&&c.onlineStatus.isOnline&&(n.current.clear(),t.current.clear(),s({scrollData:[],fixedPositionData:[]}))},[c]),P.jsx(ie.Provider,{value:r,children:e})},Se=a.createContext({language:"en",sources:[],dataProcessors:[],targets:[]}),et=({children:e=void 0})=>{const[n,t]=a.useState({language:"en",sources:[],dataProcessors:[],targets:[]});return a.useEffect(()=>{const r=new AbortController,s=o=>{try{if(r.signal.aborted)return;t(o)}catch(i){D.error("MeasurementSetupProvider",i)}},c=k.v4();return A(c,"meas-setup-changed",s).then(o=>s(o)).catch(o=>{D.error("Failed to add measurement setup listener:",o)}),()=>{r.abort(),I(c,"meas-setup-changed")}},[]),P.jsx(Se.Provider,{value:n,children:e})},q=a.createContext({onlineStatus:{isOnline:!1,onlineCounter:0},isLoaded:!1}),tt=({children:e=void 0})=>{const[n,t]=a.useState({onlineStatus:{isOnline:!1,onlineCounter:0},isLoaded:!1});return a.useEffect(()=>{const r=new AbortController,s=o=>{try{if(r.signal.aborted)return;t({onlineStatus:o,isLoaded:!0})}catch(i){D.error("OnlineStatusProvider",i),t({onlineStatus:{isOnline:!1,onlineCounter:0},isLoaded:!0})}},c=k.v4();return A(c,"online-status-changed",s).then(o=>s(o)).catch(o=>{D.error("Failed to add online status listener:",o),t({onlineStatus:{isOnline:!1,onlineCounter:0},isLoaded:!0})}),()=>{r.abort(),I(c,"online-status-changed")}},[]),P.jsx(q.Provider,{value:n,children:e})},be=a.createContext([]),rt=({children:e=void 0})=>{const[n,t]=a.useState([]);return a.useEffect(()=>{t([]);const r=new AbortController,s=u=>{try{if(r.signal.aborted)return;t(l=>[...l,u])}catch(l){D.error("RunningPeriodicTransmissionsProvider - started",l)}},c=u=>{try{if(r.signal.aborted)return;t(l=>{const p=l.findIndex(h=>h===u);if(p===-1)return l;const d=[...l];return d.splice(p,1),d})}catch(l){D.error("RunningPeriodicTransmissionsProvider - stopped",l)}},o=k.v4();A(o,"periodic-trans-started",s);const i=k.v4();return A(i,"periodic-trans-stopped",c),()=>{r.abort(),I(o,"periodic-trans-started"),I(i,"periodic-trans-stopped")}},[]),P.jsx(be.Provider,{value:n,children:e})},xe=a.createContext([]),nt=({children:e=void 0})=>{const n=a.useRef(new M.DataBuffer(1e3)),[t,r]=a.useState([]);return a.useEffect(()=>{const s=new AbortController,c=i=>{try{if(s.signal.aborted)return;i===null?n.current.clear():n.current.push(...i),r(Array.from(n.current))}catch(u){D.error("LogMessagesProvider",u)}},o=k.v4();return A(o,"new-log-messages",c),()=>{s.abort(),I(o,"new-log-messages")}},[]),P.jsx(xe.Provider,{value:t,children:e})},B=a.createContext([[],()=>{}]),st=({children:e=void 0})=>{const[n,t]=a.useState(null),r=a.useCallback(s=>{if(n!==null)if(typeof s=="function"){const c=s(n);y.ipcRenderer.invoke("prj-update-project",{workspacePanes:c})}else y.ipcRenderer.invoke("prj-update-project",{workspacePanes:s})},[n]);return a.useEffect(()=>{const s=new AbortController,c=i=>{try{if(s.signal.aborted)return;t(u=>M.deep_equal(u,i)?u:i)}catch(u){D.error("WorkspacePanesProvider",u)}},o=k.v4();return A(o,"workspace-panes-changed",c).then(i=>c(i)).catch(i=>{D.error("Failed to add workspace panes listener:",i)}),()=>{s.abort(),I(o,"workspace-panes-changed")}},[]),P.jsx(B.Provider,{value:[n,r],children:e})},at=({initialUserSettings:e=void 0,children:n=void 0})=>P.jsx(Je,{initialUserSettings:e,children:P.jsx(Qe,{children:P.jsx(et,{children:P.jsx(Ye,{children:P.jsx(tt,{children:P.jsx(Ge,{children:P.jsx(Ze,{children:P.jsx(rt,{children:P.jsx(nt,{children:P.jsx(st,{children:P.jsx(Ve,{children:n})})})})})})})})})})}),U=window.electron??M.electronApiFake,L=W.getLogger("hooks"),K=()=>a.useContext(pe),ot=()=>{const e=K();return a.useMemo(()=>e.useHexNumericBase?16:10,[e.useHexNumericBase])},ct=()=>{const e=K();return a.useMemo(()=>e.maxDataBytes,[e.maxDataBytes])},it=()=>{const e=K();return a.useMemo(()=>e.language,[e.language])},ut=()=>{const e=K();return a.useMemo(()=>new Ae(e.language,e.strings),[e.language,e.strings])},lt=()=>{const e=K();return a.useMemo(()=>e.recentProjectFiles,[e.recentProjectFiles])},dt=()=>a.useContext(xe),ft=(e=!1)=>{const[n,t]=a.useState([]),r=we();return a.useEffect(()=>{const s=new AbortController;return U.ipcRenderer.invoke("rpc-get-message-log-file-formats",e).then(c=>{if(s.signal.aborted)return;const o=c.filter(i=>!i.supportedProtocols||i.supportedProtocols.length===0?!0:i.supportedProtocols.some(u=>r.includes(u)));t(o)}).catch(),()=>{s.abort()}},[r,e]),n},mt=()=>{const[e,n]=a.useState([]),t=we();return a.useEffect(()=>{const r=new AbortController;return U.ipcRenderer.invoke("rpc-get-signal-log-file-formats").then(s=>{if(r.signal.aborted)return;const c=s.filter(o=>!o.supportedProtocols||o.supportedProtocols.length===0?!0:o.supportedProtocols.some(i=>t.includes(i)));n(c)}).catch(),()=>{r.abort()}},[t]),e},gt=()=>a.useContext(he),Le=()=>a.useContext(Se),we=()=>{const e=Le(),[n,t]=a.useState(["CAN"]);return a.useEffect(()=>{var c;const r=new Set;(c=e.sources)==null||c.forEach(o=>{var i;(i=o.channelSettings)!=null&&i.protocols&&o.channelSettings.protocols.forEach(u=>r.add(u))}),r.size===0&&r.add("CAN");const s=Array.from(r).sort();t(o=>M.deep_equal(o,s)?o:s)},[e]),n},De=()=>a.useContext(ve),pt=e=>{const n=De();return a.useMemo(()=>n.find(r=>r.nodeId===e)??null,[e,n])};function ke(e){if(!e)return j.StatusLevel.STATUS_LEVEL_NONE;const n=Number(e.busOnStatus),t=Number(e.errorStatus),r=Number(e.overrunStatus);return Math.max(isNaN(n)?j.StatusLevel.STATUS_LEVEL_NONE:n,isNaN(t)?j.StatusLevel.STATUS_LEVEL_NONE:t,isNaN(r)?j.StatusLevel.STATUS_LEVEL_NONE:r)}function _e(e){const n=e.filter(t=>t.busStatus).map(t=>ke(t.busStatus));return n.length===0?j.StatusLevel.STATUS_LEVEL_NONE:Math.max(...n)}const ht=()=>{const e=De();return a.useMemo(()=>_e(e),[e])},je=()=>a.useContext(q).onlineStatus,vt=()=>{const e=je();return a.useMemo(()=>(e==null?void 0:e.isOnline)===!0,[e==null?void 0:e.isOnline])},St=()=>a.useContext(be),bt=(e,n)=>{const[t,r]=a.useState([]),[s,c]=a.useState([]);return a.useEffect(()=>{const o=new AbortController,i=l=>{o.signal.aborted||c(l.map(p=>M.deserializeFrame(p)))},u=k.v4();return A(u,"new-measurement-data",i,{numberOfHistoryFrames:e}).then(i).catch(),()=>{I(u,"new-measurement-data"),o.abort()}},[e]),a.useEffect(()=>{s!==null&&r(o=>{const i=o.map(l=>l.hashCode),u=s.filter(l=>!i.includes(l.hashCode));if(n){const l=u.filter(n);return o.length===0&&l.length===0?o:l}return o.length===0&&u.length===0?o:u})},[s,n]),t},xt=e=>{const n=a.useContext(ie);return a.useMemo(()=>{const r=n.scrollData??[];return e!==void 0?r.filter(s=>s.timeUs.greaterThanOrEqual(e)):r},[n,e])},wt=e=>{const n=a.useContext(ie);return a.useMemo(()=>{const r=n.fixedPositionData??[];return e!==void 0?r.filter(s=>s.timeUs.greaterThanOrEqual(e)):r},[n,e])},Oe=2e3;function ue(e,n){const t=[...e,...n];return Array.from(new Map(t.map(s=>[s.time,s])).values())}function H(e,n){for(const[t,r]of n)if(e.has(t)){const s=e.get(t);e.set(t,ue(s,r))}else e.set(t,[...r]);return e}const Dt=(e,n,t)=>{const[r,s]=a.useState([]),[c,o]=z(e,`framesubscription-${n}`,[]),i=a.useRef(new Map),u=a.useRef(!1),l=a.useRef(new Map);a.useEffect(()=>{i.current.clear(),t.forEach(h=>{i.current.set(M.calculateSubscriptionKey(h),h)}),o(t.map(h=>({frameId:h,signalIds:[]})))},[t,o]);const p=a.useContext(ce);a.useEffect(()=>{const h=new AbortController;return U.ipcRenderer.invoke("mm-get-measurement-data-before-timestamp",Number.MAX_SAFE_INTEGER,Oe).then(f=>{h.signal.aborted||(f.length>0&&f.forEach(S=>{const b=M.deserializeFrame(S),v=M.calculateSubscriptionKeyFromFrame(b),w=l.current.get(v);w?l.current.set(v,ue(w,[b])):l.current.set(v,[b])}),u.current=!0)}).catch(f=>{L.error("Failed to get historical data:",f),u.current=!0}),()=>{h.abort(),u.current=!1}},[]),a.useEffect(()=>{if(!u.current){H(l.current,p.subscribedData);return}const h=new Map(l.current);l.current.clear(),H(h,p.subscribedData);const f=[];i.current.forEach((S,b)=>{const v=S.sourceId===void 0||S.sourceId==="",w=S.tx===void 0,g=S.mux===void 0,m=Array(h.values()).flatMap(x=>{const C=x[0];return C?M.calculateSubscriptionKeyFromFrame(C,v,w,g)===b?x:[]:[]});f.push(...m)}),f.sort((S,b)=>S.time-b.time),s(f)},[c,p]);const d=a.useContext(q);return a.useEffect(()=>{d.isLoaded&&d.onlineStatus.isOnline&&s([])},[d]),r};var Ne=(e=>(e.PENDING="pending",e.FRAME_KEYS_READY="frameKeysReady",e.HISTORICAL_DATA_READY="historicalDataReady",e.READY="ready",e))(Ne||{});const Ct=(e,n,t)=>{const[r,s]=a.useState([]),[,c]=z(e,`framesubscription-${n}`,[]),o=a.useRef(new Map),i=a.useRef(new Map),u=a.useRef("pending"),l=a.useRef(new Map);a.useEffect(()=>{const h=new AbortController;return W.getFrameDefinitions().then(f=>{if(h.signal.aborted)return;const S=[];o.current.clear(),i.current.clear();for(let b=0;b<t.length;b++){const{qualifiedName:v,sourceId:w}=t[b],g=f.find(m=>(w===void 0||w===""||m.sourceIdentifiers.includes(w))&&m.signals.some(x=>x.qualifiedName===v));if(g){const m=g.signals.find(R=>R.qualifiedName===v);if(!m)continue;const x=j.FixedPosFrameIdentifier.create({id:g.id,sourceId:w,mux:m.multiplexValue});g.canFrameFlags&&(x.canFrameFlags=j.CanFrameFlags.create(g.canFrameFlags),x.canFrameFlags.flags=x.canFrameFlags.flags.filter(R=>R!==j.CanFrameFlag.CAN_FRAME_FLAG_FD_BRS));const C=M.calculateSubscriptionKey(x);if(i.current.has(C)){const R=i.current.get(C);R&&!R.includes(v)&&(R.push(v),i.current.set(C,R))}else i.current.set(C,[v]),o.current.set(C,x);const F=S.find(R=>M.deep_equal(R.frameId,x));F?F.signalIds.includes(v)||F.signalIds.push(v):S.push({frameId:x,signalIds:[v]})}}c(S),u.current==="pending"?u.current="frameKeysReady":u.current==="historicalDataReady"&&(u.current="ready")}).catch(f=>{L.error("Failed to get frame definitions:",f),u.current==="pending"?u.current="frameKeysReady":u.current==="historicalDataReady"&&(u.current="ready")}),()=>{h.abort(),u.current==="ready"?u.current="historicalDataReady":u.current="pending"}},[t,c]);const p=a.useContext(ce);a.useEffect(()=>{const h=new AbortController;return W.getMessageDataBeforeTimestamp(Number.MAX_SAFE_INTEGER,Oe).then(f=>{h.signal.aborted||(f.length>0&&f.forEach(S=>{const b=M.calculateSubscriptionKeyFromFrame(S),v=l.current.get(b);v?l.current.set(b,ue(v,[S])):l.current.set(b,[S])}),u.current==="pending"?u.current="historicalDataReady":u.current==="frameKeysReady"&&(u.current="ready"))}).catch(f=>{L.error("Failed to get historical data:",f),u.current==="pending"?u.current="historicalDataReady":u.current==="frameKeysReady"&&(u.current="ready")}),()=>{h.abort(),u.current==="ready"?u.current="frameKeysReady":u.current="pending"}},[]),a.useEffect(()=>{if(u.current!=="ready"){H(l.current,p.subscribedData);return}const h=new Map(l.current);l.current.clear(),H(h,p.subscribedData);const f=[];o.current.forEach((S,b)=>{const v=S.sourceId===void 0||S.sourceId==="",w=S.tx===void 0,g=S.mux===void 0,m=Array(h.values()).flatMap(C=>{const F=C[0];return F?M.calculateSubscriptionKeyFromFrame(F,v,w,g,!0)===b?C:[]:[]}),x=i.current.get(b)??[];m.forEach(C=>{const F=x.map(R=>{const E=C.signalValues.find(_=>_.qualifiedName===R);return E?{qualifiedName:E.qualifiedName,sourceId:C.sourceId,name:E.name,unit:E.unit,time:C.time,timeUs:C.timeUs,doubleValue:E.doubleValue,stringValue:E.stringValue}:null});f.push(...F.filter(R=>R!==null))})}),f.sort((S,b)=>S.time-b.time),s(f)},[p]);const d=a.useContext(q);return a.useEffect(()=>{d.isLoaded&&d.onlineStatus.isOnline&&s([])},[d]),r},Mt=(e,n,t,r)=>{const[s,c]=a.useState([]),[,o]=z(e,`framesubscription-${n}`,[]),[,i]=Re(e,`envelopeviewwidth-${n}`,{windowUs:3e7,width:1e3});a.useEffect(()=>{i({windowUs:r.windowUs??(r.endTimeUs!==void 0&&r.startTimeUs!==void 0?r.endTimeUs-r.startTimeUs:3e7),width:r.width??1e3})},[i,r.endTimeUs,r.windowUs,r.startTimeUs,r.width]);const u=a.useRef(new Map),l=a.useRef(new Map),[p,d]=a.useState(!1);a.useEffect(()=>{const f=new AbortController;return d(!1),W.getFrameDefinitions().then(S=>{if(f.signal.aborted)return;const b=[],v=new Map,w=new Map;for(let g=0;g<t.length;g++){const{qualifiedName:m,sourceId:x}=t[g],C=S.find(F=>(x===void 0||x===""||F.sourceIdentifiers.includes(x))&&F.signals.some(R=>R.qualifiedName===m));if(C){const F=C.signals.find(T=>T.qualifiedName===m);if(!F)continue;const R=j.FixedPosFrameIdentifier.create({id:C.id,sourceId:x,mux:F.multiplexValue});C.canFrameFlags&&(R.canFrameFlags=j.CanFrameFlags.create(C.canFrameFlags),R.canFrameFlags.flags=R.canFrameFlags.flags.filter(T=>T!==j.CanFrameFlag.CAN_FRAME_FLAG_FD_BRS));const E=M.calculateSubscriptionKey(R);if(v.has(E)){const T=v.get(E);T&&!T.includes(m)&&(T.push(m),v.set(E,T))}else v.set(E,[m]);w.set(E,R);const _=b.find(T=>M.deep_equal(T.frameId,R));_?_.signalIds.includes(m)||_.signalIds.push(m):b.push({frameId:R,signalIds:[m]})}}o(g=>M.deep_equal(g,b)?g:b),u.current=v,l.current=w,d(!0)}).catch(S=>{f.signal.aborted||(L.error("Failed to get frame definitions:",S),u.current=new Map,l.current=new Map,o([]),d(!0))}),()=>{f.abort()}},[t,o]),a.useEffect(()=>{if(!p||r.startTimeUs!==void 0&&r.endTimeUs!==void 0)return;c([]);const f=new AbortController,S=U.ipcRenderer.on(`mm-new-frames-envelopes-for-pane-${e}`,(b,v)=>{if(!f.signal.aborted){if(v.length===0){c([]);return}c(w=>{let g=!1;const m=[...w];return v.forEach(x=>{x.envelopes.size!==0&&x.envelopes.forEach((C,F)=>{var T;const R=M.calculateSubscriptionKey(x.frameId);if(!((T=u.current.get(R))==null?void 0:T.includes(F)))return;const _=m.findIndex($=>$.qualifiedName===F&&$.sourceId===x.frameId.sourceId);_!==-1&&m.splice(_,1),m.push({qualifiedName:F,sourceId:x.frameId.sourceId,timeUs:Array.from(C.timeUs),min:Array.from(C.min),max:Array.from(C.max)}),g=!0})}),g?m:w})}});return()=>{f.abort(),S()}},[p,e,r.endTimeUs,r.startTimeUs]),a.useEffect(()=>{if(!p||r.startTimeUs===void 0||r.endTimeUs===void 0)return;const f=new AbortController,S=setTimeout(()=>{U.ipcRenderer.invoke("mm-get-frames-envelopes-for-pane",e,r.startTimeUs,r.endTimeUs,r.width).then(b=>{f.signal.aborted||c(v=>{let w=!1;const g=[...v];return b.forEach(m=>{if(m.envelopes.size===0)return;let x="";l.current.forEach((C,F)=>{M.compareFixedPosFrameIdentifiers(C,m.frameId)&&(x=F)}),x!==""&&m.envelopes.forEach((C,F)=>{var T,$;if(!((T=u.current.get(x))==null?void 0:T.includes(F)))return;const E=($=l.current.get(x))==null?void 0:$.sourceId,_=g.findIndex(ye=>ye.qualifiedName===F&&ye.sourceId===E);_!==-1&&g.splice(_,1),g.push({qualifiedName:F,sourceId:E,timeUs:Array.from(C.timeUs),min:Array.from(C.min),max:Array.from(C.max)}),w=!0})}),w?g:v})}).catch(b=>{L.error(`Failed to get signal data envelopes for pane ${e}:`,b)})},200);return()=>{clearTimeout(S),f.abort()}},[p,e,r.endTimeUs,r.startTimeUs,r.width,r.forceUpdateCounter]);const h=a.useContext(q);return a.useEffect(()=>{h.isLoaded&&h.onlineStatus.isOnline&&c([])},[h]),s};function Ce(e){const{enabled:n,intervalMs:t=5e3,stateRef:r,lastSavedStateRef:s,queueSave:c,intervals:o,maxIntervals:i,warnLabel:u,canSave:l}=e;a.useEffect(()=>{if(!n)return;o.size>=i&&L.warn(`Too many active auto-save intervals (${o.size}/${i}), consider optimizing ${u} usage`);const p=setInterval(()=>{if(l&&!l())return;const d=r.current;d!=null&&!M.deep_equal(d,s.current)&&(c(d),s.current=d)},t);return o.add(p),()=>{clearInterval(p),o.delete(p)}},[n,t,o,i,u,c,l,r,s])}const Rt="project-data-internal-v1";function le(e,n){return e==null?n:Array.isArray(n)&&Array.isArray(e)?e:typeof n=="object"&&!Array.isArray(n)&&typeof e=="object"&&!Array.isArray(e)?{...n,...e}:e}const O=[];let X=null;const fe=100,Ft=new Set;function Ue(e){return Math.max(15,e*7)}function Te(e,n,t,r,s=200){const c=`${e}:${n}`;if(!c||t===void 0)return;const o=O.find(i=>i.key===c);o?o.state=t:(O.push({key:c,state:t,id:e,slice:n}),O.length>fe&&(L.warn(`Project data save queue exceeded ${fe} items, removing oldest entries`),O.splice(0,O.length-fe))),X&&clearTimeout(X),X=setTimeout(()=>{if(!O.length)return;const i=[...O];O.length=0,X=null;try{r(u=>{const l=[...u];let p=!1;for(const d of i){const h=l.find(f=>f.id===d.id);if(h!=null&&h.componentData){const f=h.componentData.componentPropSlices[d.slice]?JSON.parse(h.componentData.componentPropSlices[d.slice],M.jsonReviver):{};M.deep_equal(f,d.state)||(h.componentData.componentPropSlices[d.slice]=JSON.stringify(d.state,M.jsonReplacer),p=!0)}}return p?l:u})}catch(u){L.error("Failed to save project data batch:",u)}},s)}const z=(e,n,t,r)=>{const[s,c]=a.useContext(B),o=a.useRef(typeof t=="function"?t():t),[i,u]=a.useState(()=>o.current),[l,p]=a.useState(!1),d=a.useRef(i),h=a.useRef(),f=a.useRef(!1),S=a.useRef(!1);a.useEffect(()=>{d.current=i},[i]),a.useEffect(()=>{f.current=l},[l]),a.useEffect(()=>{var w,g;if(!(s===null||f.current)){try{const m=s==null?void 0:s.find(F=>F.id===e),x=(w=m==null?void 0:m.componentData)!=null&&w.componentPropSlices[n]&&((g=m==null?void 0:m.componentData)==null?void 0:g.componentPropSlices[n])!==""?JSON.parse(m.componentData.componentPropSlices[n],M.jsonReviver):o.current,C=le(x,o.current);u(C),d.current=C,r&&!S.current&&(S.current=!0,r(C))}catch(m){L.error(`Failed to load project data slice ${n}:`,m),u(o.current),d.current=o.current,r&&!S.current&&(S.current=!0,r(o.current))}finally{p(!0),f.current=!0}return()=>{p(!1),f.current=!1}}},[e,r,n,s]);const b=a.useCallback(w=>Te(e,n,w,c),[e,c,n]);Ce({enabled:l,stateRef:d,lastSavedStateRef:h,queueSave:b,intervals:Ft,maxIntervals:Ue((s==null?void 0:s.length)??0),warnLabel:"project data",canSave:()=>f.current});const v=a.useCallback(w=>{if(!f.current)return;const g=d.current,m=typeof w=="function"?w(g):w;M.deep_equal(m,g)||(u(m),d.current=m,M.deep_equal(m,h.current)||(Te(e,n,m,c),h.current=m))},[e,c,n]);return[i,v,l]},Pt=(e,n)=>{const[t,r,s]=z(e,Rt,n);return{projectDataIsInitialized:s,projectData:t,setProjectData:r}},N=[];let J=null;const me=100,qe=new Set;function Me(e){return Math.max(15,e*7)}function oe(e,n,t=200){if(!e||n===void 0)return;const r=N.find(s=>s.key===e);r?r.state=n:(N.push({key:e,state:n}),N.length>me&&(L.warn(`Session data save queue exceeded ${me} items, removing oldest entries`),N.splice(0,N.length-me))),J&&clearTimeout(J),J=setTimeout(()=>{if(!N.length)return;const s=[...N];N.length=0,J=null;try{U.ipcRenderer.invoke("app-set-workspace-view-session-data-batch",s)}catch(c){L.error("Failed to send batch:",c)}},t)}const yt=(e,n,t)=>{const r=a.useRef(typeof n=="function"?n():n),[s,c]=a.useState(()=>r.current),[o,i]=a.useState(!1),[u]=a.useContext(B),l=a.useRef(s),p=a.useRef(),d=a.useRef(!1),h=a.useRef(!1),f=a.useRef(!1);a.useEffect(()=>{l.current=s},[s]),a.useEffect(()=>(d.current=!0,(async()=>{try{const v=await U.ipcRenderer.invoke("app-get-workspace-view-session-data-object",e.toString());if(!d.current)return;const w=le(v,r.current);c(w),l.current=w,t&&!h.current&&(h.current=!0,t(w))}catch(v){L.error(`Failed to load session data for view ${e}:`,v),c(r.current),l.current=r.current,t&&!h.current&&(h.current=!0,t(r.current))}finally{i(!0),f.current=!0}})(),()=>{d.current=!1,f.current=!1}),[e,t]);const S=a.useCallback(v=>oe(e.toString(),v),[e]);Ce({enabled:o,stateRef:l,lastSavedStateRef:p,queueSave:S,intervals:qe,maxIntervals:Me((u==null?void 0:u.length)??0),warnLabel:"session data",canSave:()=>d.current});const b=a.useCallback(v=>{if(!f.current)return;const w=l.current,g=typeof v=="function"?v(w):v;M.deep_equal(g,w)||(c(g),l.current=g,M.deep_equal(g,p.current)||(oe(e.toString(),g),p.current=g))},[e]);return{sessionDataIsInitialized:o,sessionData:s,setSessionData:b}};function Re(e,n,t,r){const s=`${e}:${n}`,[c]=a.useContext(B),o=a.useRef(typeof t=="function"?t():t),[i,u]=a.useState(()=>o.current),[l,p]=a.useState(!1),d=a.useRef(i),h=a.useRef(),f=a.useRef(!1),S=a.useRef(!1),b=a.useRef(!1);a.useEffect(()=>{d.current=i},[i]),a.useEffect(()=>(f.current=!0,(async()=>{try{const g=await U.ipcRenderer.invoke("app-get-workspace-view-session-data-slice",s);if(!f.current)return;const m=le(g,o.current);u(m),d.current=m,r&&!S.current&&(S.current=!0,r(m))}catch(g){L.error(`Failed to load session data slice ${s}:`,g),u(o.current),d.current=o.current,r&&!S.current&&(S.current=!0,r(o.current))}finally{p(!0),b.current=!0}})(),()=>{f.current=!1,b.current=!1}),[s,r]);const v=a.useCallback(g=>oe(s,g),[s]);Ce({enabled:l,stateRef:d,lastSavedStateRef:h,queueSave:v,intervals:qe,maxIntervals:Me((c==null?void 0:c.length)??0),warnLabel:"session data",canSave:()=>f.current&&b.current});const w=a.useCallback(g=>{if(!b.current)return;const m=d.current,x=typeof g=="function"?g(m):g;M.deep_equal(x,m)||(u(x),d.current=x,M.deep_equal(x,h.current)||(oe(s,x),h.current=x))},[s]);return[i,w,l]}function Et(e,n,t){const r=Pe(t),[,s,c]=Re(e,n,r.state,o=>{r.reset(o.current,o.previous,o.next)});return a.useEffect(()=>{var i;return c?(i=r.subscribe)==null?void 0:i.call(r,()=>{s(r.state)}):void 0},[c,s,r]),[r,c]}const Tt=e=>{const[n]=a.useContext(B);return a.useMemo(()=>n.find(r=>r.id===e)??null,[e,n])};function At(e,n,t,r){const s=a.useRef(!0),c=a.useContext(q),o=a.useRef(null),[i,u,l]=z(n,"useOnlineStatusSync-isNewWorkspaceView",!0);return a.useEffect(()=>{!e||!l||!c.isLoaded||(c.onlineStatus.isOnline&&(o.current!==c.onlineStatus.isOnline||s.current)?t(i,s.current,c.onlineStatus.onlineCounter):!c.onlineStatus.isOnline&&(o.current!==c.onlineStatus.isOnline||s.current)&&r(i,s.current,c.onlineStatus.onlineCounter),o.current=c.onlineStatus.isOnline,s.current=!1,u(!1))},[i,l,r,t,c.isLoaded,c.onlineStatus.isOnline,c.onlineStatus.onlineCounter,e,u]),c.onlineStatus.isOnline}const ge=25;function Fe(e,n){return e.length>=n?e.slice(1):e}function Ke(e,n){if(e.previous.length===0)return e;const t=e.previous[e.previous.length-1],r=e.previous.slice(0,e.previous.length-1),s=e.current===void 0?e.next:e.next.length===n?[e.current,...e.next.slice(0,n-1)]:[e.current,...e.next];return{previous:r,current:t,next:s}}function Be(e,n){if(e.next.length===0)return e;const t=e.next[0],r=e.next.slice(1);return{previous:e.current===void 0?e.previous:[...Fe(e.previous,n),e.current],current:t,next:r}}function ze(e,n,t,r){return r&&r(e.current,n)?null:{previous:e.current===void 0?e.previous:[...Fe(e.previous,t),e.current],current:n,next:[]}}function Pe(e){const n=a.useRef(),t=a.useRef(new Set),r=a.useCallback(()=>{t.current.forEach(s=>s())},[]);if(!n.current){const s={state:{previous:(e==null?void 0:e.previous)||[],current:e==null?void 0:e.current,next:(e==null?void 0:e.next)||[]},canUndo:()=>s.state.previous.length!==0,canRedo:()=>s.state.next.length!==0,undo:()=>{s.canUndo()&&(s.state=Ke(s.state,ge),r())},redo:()=>{s.canRedo()&&(s.state=Be(s.state,ge),r())},set:c=>{const o=typeof c=="function"?c(s.state.current):c,i=ze(s.state,o,ge,M.deep_equal);i&&(s.state=i,r())},reset:(c,o=[],i=[])=>{s.state={previous:o,current:c,next:i},r()},subscribe:c=>(t.current.add(c),()=>{t.current.delete(c)})};n.current=s}return n.current}function It(e){const[,n]=a.useState({}),t=Pe(e);return a.useEffect(()=>{var s;return(s=t.subscribe)==null?void 0:s.call(t,()=>{n({})})},[t]),t}exports.CanKingDataProvider=at;exports.DevicesContext=he;exports.LocalizedStrings=Ae;exports.LogMessagesContext=xe;exports.MeasurementSetupContext=Se;exports.MeasurementStatusContext=ve;exports.MeasurementSubscriptionDataProviderContext=ce;exports.MeasurementTraceDataContext=ie;exports.OnlineStatusContext=q;exports.RunningPeriodicTransmissionsContext=be;exports.SignalDataInitState=Ne;exports.UserSettingsContext=pe;exports.WorkspacePanesContext=B;exports.addEventListener=A;exports.calculateMaxActiveProjectDataIntervals=Ue;exports.calculateMaxActiveSessionDataIntervals=Me;exports.calculateOverallStatusLevel=_e;exports.calculateOverallStatusLevelFromBusStatus=ke;exports.limitBuffer=Fe;exports.mergeAndDeduplicateFrames=ue;exports.mergeData=le;exports.mergeFrameDataMaps=H;exports.performRedo=Be;exports.performSet=ze;exports.performUndo=Ke;exports.removeEventListener=I;exports.useAvailableProtocols=we;exports.useDevices=gt;exports.useFixedPositionModeMeasurementData=wt;exports.useIsOnline=vt;exports.useLanguage=it;exports.useLocalizedStrings=ut;exports.useLogMessages=dt;exports.useMaxDataBytes=ct;exports.useMeasurementSetup=Le;exports.useMeasurementStatus=De;exports.useMessageData=Dt;exports.useMessageLogFileFormats=ft;exports.useNewMeasurementData=bt;exports.useNodeStatus=pt;exports.useNumericRadix=ot;exports.useOnlineStatus=je;exports.useOnlineStatusSync=At;exports.useOverallStatusLevel=ht;exports.useProjectData=Pt;exports.useProjectDataSlice=z;exports.useRecentProjectFiles=lt;exports.useRunningPeriodicTransmissions=St;exports.useScrollModeMeasurementData=xt;exports.useSessionData=yt;exports.useSessionDataSlice=Re;exports.useSignalData=Ct;exports.useSignalDataEnvelopes=Mt;exports.useSignalLogFileFormats=mt;exports.useUndo=It;exports.useUndoRef=Pe;exports.useUndoSessionDataSlice=Et;exports.useUserSettings=K;exports.useWorkspacePaneWithId=Tt;
|