@flightctl/ui-components 0.0.1
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/__mocks__/fileMock.js +3 -0
- package/dist/__mocks__/fileMock.js.map +1 -0
- package/dist/__mocks__/styleMock.js +3 -0
- package/dist/__mocks__/styleMock.js.map +1 -0
- package/dist/jest.config.js +24 -0
- package/dist/jest.config.js.map +1 -0
- package/dist/src/components/DetailsPage/DetailsNotFound.js +69 -0
- package/dist/src/components/DetailsPage/DetailsNotFound.js.map +1 -0
- package/dist/src/components/DetailsPage/DetailsPage.css +3 -0
- package/dist/src/components/DetailsPage/DetailsPage.js +42 -0
- package/dist/src/components/DetailsPage/DetailsPage.js.map +1 -0
- package/dist/src/components/DetailsPage/DetailsPage.spec.js +81 -0
- package/dist/src/components/DetailsPage/DetailsPage.spec.js.map +1 -0
- package/dist/src/components/DetailsPage/DetailsPageActions.js +30 -0
- package/dist/src/components/DetailsPage/DetailsPageActions.js.map +1 -0
- package/dist/src/components/DetailsPage/DetailsPageCard.css +8 -0
- package/dist/src/components/DetailsPage/DetailsPageCard.js +12 -0
- package/dist/src/components/DetailsPage/DetailsPageCard.js.map +1 -0
- package/dist/src/components/DetailsPage/Tables/ApplicationsTable.js +27 -0
- package/dist/src/components/DetailsPage/Tables/ApplicationsTable.js.map +1 -0
- package/dist/src/components/DetailsPage/Tables/ConditionsTable.js +24 -0
- package/dist/src/components/DetailsPage/Tables/ConditionsTable.js.map +1 -0
- package/dist/src/components/DetailsPage/Tables/IntegrityDetails.js +22 -0
- package/dist/src/components/DetailsPage/Tables/IntegrityDetails.js.map +1 -0
- package/dist/src/components/DetailsPage/Tables/SystemdDetailsTable.js +40 -0
- package/dist/src/components/DetailsPage/Tables/SystemdDetailsTable.js.map +1 -0
- package/dist/src/components/Device/AddDeviceModal/AddDeviceModal.js +63 -0
- package/dist/src/components/Device/AddDeviceModal/AddDeviceModal.js.map +1 -0
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.js +57 -0
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.js.map +1 -0
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsTab.css +4 -0
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsTab.js +114 -0
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsTab.js.map +1 -0
- package/dist/src/components/Device/DeviceDetails/DeviceFleet.css +3 -0
- package/dist/src/components/Device/DeviceDetails/DeviceFleet.js +50 -0
- package/dist/src/components/Device/DeviceDetails/DeviceFleet.js.map +1 -0
- package/dist/src/components/Device/DeviceDetails/DeviceStatusDebugModal.css +3 -0
- package/dist/src/components/Device/DeviceDetails/DeviceStatusDebugModal.js +34 -0
- package/dist/src/components/Device/DeviceDetails/DeviceStatusDebugModal.js.map +1 -0
- package/dist/src/components/Device/DeviceDetails/SystemdTable.js +38 -0
- package/dist/src/components/Device/DeviceDetails/SystemdTable.js.map +1 -0
- package/dist/src/components/Device/DeviceDetails/TerminalTab.js +31 -0
- package/dist/src/components/Device/DeviceDetails/TerminalTab.js.map +1 -0
- package/dist/src/components/Device/DeviceList/DeviceFilterSelect.js +87 -0
- package/dist/src/components/Device/DeviceList/DeviceFilterSelect.js.map +1 -0
- package/dist/src/components/Device/DeviceList/DeviceList.js +157 -0
- package/dist/src/components/Device/DeviceList/DeviceList.js.map +1 -0
- package/dist/src/components/Device/DeviceList/DeviceTableRow.js +62 -0
- package/dist/src/components/Device/DeviceList/DeviceTableRow.js.map +1 -0
- package/dist/src/components/Device/DeviceList/DeviceTableToolbar.js +80 -0
- package/dist/src/components/Device/DeviceList/DeviceTableToolbar.js.map +1 -0
- package/dist/src/components/Device/DeviceList/types.js +4 -0
- package/dist/src/components/Device/DeviceList/types.js.map +1 -0
- package/dist/src/components/Device/DeviceList/useDeviceBackendFilters.js +94 -0
- package/dist/src/components/Device/DeviceList/useDeviceBackendFilters.js.map +1 -0
- package/dist/src/components/Device/DeviceList/useDeviceFilters.js +16 -0
- package/dist/src/components/Device/DeviceList/useDeviceFilters.js.map +1 -0
- package/dist/src/components/Device/DeviceList/useDeviceLikeResources.js +98 -0
- package/dist/src/components/Device/DeviceList/useDeviceLikeResources.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizard.css +4 -0
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizard.js +92 -0
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizard.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardFooter.js +32 -0
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardFooter.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardNav.js +36 -0
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardNav.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/deviceSpecUtils.js +171 -0
- package/dist/src/components/Device/EditDeviceWizard/deviceSpecUtils.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.js +15 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigK8sSecretTemplateForm.js +22 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigK8sSecretTemplateForm.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigTemplateForm.css +3 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigTemplateForm.js +96 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigTemplateForm.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigWithRepositoryTemplateForm.js +94 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigWithRepositoryTemplateForm.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.js +45 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/GeneralInfoStep.js +48 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/GeneralInfoStep.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ReviewDeviceStep.js +45 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ReviewDeviceStep.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/types.js +3 -0
- package/dist/src/components/Device/EditDeviceWizard/types.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/useEditDevice.js +35 -0
- package/dist/src/components/Device/EditDeviceWizard/useEditDevice.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/utils.js +65 -0
- package/dist/src/components/Device/EditDeviceWizard/utils.js.map +1 -0
- package/dist/src/components/Device/MatchPatternsModal/MatchPatternsForm.js +39 -0
- package/dist/src/components/Device/MatchPatternsModal/MatchPatternsForm.js.map +1 -0
- package/dist/src/components/Device/MatchPatternsModal/MatchPatternsModal.js +46 -0
- package/dist/src/components/Device/MatchPatternsModal/MatchPatternsModal.js.map +1 -0
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.css +3 -0
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.js +103 -0
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.js.map +1 -0
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestTableRow.js +42 -0
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestTableRow.js.map +1 -0
- package/dist/src/components/ErrorAlert/ErrorAlert.js +13 -0
- package/dist/src/components/ErrorAlert/ErrorAlert.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/CreateFleetWizard.css +3 -0
- package/dist/src/components/Fleet/CreateFleet/CreateFleetWizard.js +82 -0
- package/dist/src/components/Fleet/CreateFleet/CreateFleetWizard.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/CreateFleetWizardFooter.js +32 -0
- package/dist/src/components/Fleet/CreateFleet/CreateFleetWizardFooter.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/steps/DeviceLabelSelector.js +85 -0
- package/dist/src/components/Fleet/CreateFleet/steps/DeviceLabelSelector.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/steps/GeneralInfoStep.js +30 -0
- package/dist/src/components/Fleet/CreateFleet/steps/GeneralInfoStep.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/steps/ReviewStep.js +46 -0
- package/dist/src/components/Fleet/CreateFleet/steps/ReviewStep.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/types.js +3 -0
- package/dist/src/components/Fleet/CreateFleet/types.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/useEditFleet.js +35 -0
- package/dist/src/components/Fleet/CreateFleet/useEditFleet.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/utils.js +143 -0
- package/dist/src/components/Fleet/CreateFleet/utils.js.map +1 -0
- package/dist/src/components/Fleet/DeleteFleetModal/DeleteFleetModal.js +55 -0
- package/dist/src/components/Fleet/DeleteFleetModal/DeleteFleetModal.js.map +1 -0
- package/dist/src/components/Fleet/FleetDetails/FleetDetails.js +49 -0
- package/dist/src/components/Fleet/FleetDetails/FleetDetails.js.map +1 -0
- package/dist/src/components/Fleet/FleetDetails/FleetDetailsContent.js +69 -0
- package/dist/src/components/Fleet/FleetDetails/FleetDetailsContent.js.map +1 -0
- package/dist/src/components/Fleet/FleetDetails/FleetDevices.js +40 -0
- package/dist/src/components/Fleet/FleetDetails/FleetDevices.js.map +1 -0
- package/dist/src/components/Fleet/FleetDetails/FleetOwnerLink.js +37 -0
- package/dist/src/components/Fleet/FleetDetails/FleetOwnerLink.js.map +1 -0
- package/dist/src/components/Fleet/FleetDetails/chartUtils.js +29 -0
- package/dist/src/components/Fleet/FleetDetails/chartUtils.js.map +1 -0
- package/dist/src/components/Fleet/FleetList.js +130 -0
- package/dist/src/components/Fleet/FleetList.js.map +1 -0
- package/dist/src/components/Fleet/FleetRow.js +64 -0
- package/dist/src/components/Fleet/FleetRow.js.map +1 -0
- package/dist/src/components/Fleet/FleetStatus.js +34 -0
- package/dist/src/components/Fleet/FleetStatus.js.map +1 -0
- package/dist/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.css +3 -0
- package/dist/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.js +106 -0
- package/dist/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.js.map +1 -0
- package/dist/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.js +69 -0
- package/dist/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.js.map +1 -0
- package/dist/src/components/Fleet/ImportFleetWizard/steps/ResourceSyncStep.js +31 -0
- package/dist/src/components/Fleet/ImportFleetWizard/steps/ResourceSyncStep.js.map +1 -0
- package/dist/src/components/Fleet/ImportFleetWizard/steps/ReviewStep.js +37 -0
- package/dist/src/components/Fleet/ImportFleetWizard/steps/ReviewStep.js.map +1 -0
- package/dist/src/components/Fleet/ImportFleetWizard/types.js +3 -0
- package/dist/src/components/Fleet/ImportFleetWizard/types.js.map +1 -0
- package/dist/src/components/Fleet/ResourceSyncRow.js +36 -0
- package/dist/src/components/Fleet/ResourceSyncRow.js.map +1 -0
- package/dist/src/components/ListPage/ListPage.js +12 -0
- package/dist/src/components/ListPage/ListPage.js.map +1 -0
- package/dist/src/components/ListPage/ListPageActions.js +30 -0
- package/dist/src/components/ListPage/ListPageActions.js.map +1 -0
- package/dist/src/components/ListPage/ListPageBody.js +21 -0
- package/dist/src/components/ListPage/ListPageBody.js.map +1 -0
- package/dist/src/components/ListPage/types.js +3 -0
- package/dist/src/components/ListPage/types.js.map +1 -0
- package/dist/src/components/NavItem/NavItem.js +20 -0
- package/dist/src/components/NavItem/NavItem.js.map +1 -0
- package/dist/src/components/OverviewPage/Cards/Status/ApplicationStatusChart.js +30 -0
- package/dist/src/components/OverviewPage/Cards/Status/ApplicationStatusChart.js.map +1 -0
- package/dist/src/components/OverviewPage/Cards/Status/DeviceStatusChart.js +32 -0
- package/dist/src/components/OverviewPage/Cards/Status/DeviceStatusChart.js.map +1 -0
- package/dist/src/components/OverviewPage/Cards/Status/StatusCard.js +61 -0
- package/dist/src/components/OverviewPage/Cards/Status/StatusCard.js.map +1 -0
- package/dist/src/components/OverviewPage/Cards/Status/StatusCardFilters.js +64 -0
- package/dist/src/components/OverviewPage/Cards/Status/StatusCardFilters.js.map +1 -0
- package/dist/src/components/OverviewPage/Cards/Status/SystemUpdateStatusChart.js +30 -0
- package/dist/src/components/OverviewPage/Cards/Status/SystemUpdateStatusChart.js.map +1 -0
- package/dist/src/components/OverviewPage/Cards/Status/utils.js +31 -0
- package/dist/src/components/OverviewPage/Cards/Status/utils.js.map +1 -0
- package/dist/src/components/OverviewPage/Cards/ToDo/ToDoCard.js +46 -0
- package/dist/src/components/OverviewPage/Cards/ToDo/ToDoCard.js.map +1 -0
- package/dist/src/components/OverviewPage/Overview.js +16 -0
- package/dist/src/components/OverviewPage/Overview.js.map +1 -0
- package/dist/src/components/OverviewPage/OverviewPage.js +17 -0
- package/dist/src/components/OverviewPage/OverviewPage.js.map +1 -0
- package/dist/src/components/Repository/CreateRepository/CreateRepository.js +102 -0
- package/dist/src/components/Repository/CreateRepository/CreateRepository.js.map +1 -0
- package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.css +7 -0
- package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.js +215 -0
- package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.js.map +1 -0
- package/dist/src/components/Repository/CreateRepository/CreateResourceSyncsForm.js +31 -0
- package/dist/src/components/Repository/CreateRepository/CreateResourceSyncsForm.js.map +1 -0
- package/dist/src/components/Repository/CreateRepository/types.js +3 -0
- package/dist/src/components/Repository/CreateRepository/types.js.map +1 -0
- package/dist/src/components/Repository/CreateRepository/utils.js +454 -0
- package/dist/src/components/Repository/CreateRepository/utils.js.map +1 -0
- package/dist/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.js +93 -0
- package/dist/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.js.map +1 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositoryDetails.js +39 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositoryDetails.js.map +1 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositoryGeneralDetailsCard.js +64 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositoryGeneralDetailsCard.js.map +1 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositoryResourceSyncsCard.js +18 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositoryResourceSyncsCard.js.map +1 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositorySource.js +24 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositorySource.js.map +1 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositorySourceList.js +64 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositorySourceList.js.map +1 -0
- package/dist/src/components/Repository/RepositoryList.js +133 -0
- package/dist/src/components/Repository/RepositoryList.js.map +1 -0
- package/dist/src/components/ResourceSync/RepositoryResourceSyncList.css +7 -0
- package/dist/src/components/ResourceSync/RepositoryResourceSyncList.js +140 -0
- package/dist/src/components/ResourceSync/RepositoryResourceSyncList.js.map +1 -0
- package/dist/src/components/ResourceSync/ResourceSyncStatus.js +65 -0
- package/dist/src/components/ResourceSync/ResourceSyncStatus.js.map +1 -0
- package/dist/src/components/ResourceSync/ResourceSyncToRepository.js +49 -0
- package/dist/src/components/ResourceSync/ResourceSyncToRepository.js.map +1 -0
- package/dist/src/components/Status/ApplicationStatus.js +23 -0
- package/dist/src/components/Status/ApplicationStatus.js.map +1 -0
- package/dist/src/components/Status/ApplicationSummaryStatus.js +23 -0
- package/dist/src/components/Status/ApplicationSummaryStatus.js.map +1 -0
- package/dist/src/components/Status/DeviceResourceStatus.js +84 -0
- package/dist/src/components/Status/DeviceResourceStatus.js.map +1 -0
- package/dist/src/components/Status/DeviceStatus.js +18 -0
- package/dist/src/components/Status/DeviceStatus.js.map +1 -0
- package/dist/src/components/Status/EnrollmentRequestStatus.js +18 -0
- package/dist/src/components/Status/EnrollmentRequestStatus.js.map +1 -0
- package/dist/src/components/Status/IntegrityStatus.js +17 -0
- package/dist/src/components/Status/IntegrityStatus.js.map +1 -0
- package/dist/src/components/Status/RepositoryStatus.js +37 -0
- package/dist/src/components/Status/RepositoryStatus.js.map +1 -0
- package/dist/src/components/Status/StatusDisplay.css +9 -0
- package/dist/src/components/Status/StatusDisplay.js +33 -0
- package/dist/src/components/Status/StatusDisplay.js.map +1 -0
- package/dist/src/components/Status/SystemUpdateStatus.js +24 -0
- package/dist/src/components/Status/SystemUpdateStatus.js.map +1 -0
- package/dist/src/components/Status/SystemdStatus.js +21 -0
- package/dist/src/components/Status/SystemdStatus.js.map +1 -0
- package/dist/src/components/Status/utils.js +10 -0
- package/dist/src/components/Status/utils.js.map +1 -0
- package/dist/src/components/Table/Table.js +28 -0
- package/dist/src/components/Table/Table.js.map +1 -0
- package/dist/src/components/Table/TableActions.js +16 -0
- package/dist/src/components/Table/TableActions.js.map +1 -0
- package/dist/src/components/Table/TableTextSearch.js +13 -0
- package/dist/src/components/Table/TableTextSearch.js.map +1 -0
- package/dist/src/components/Terminal/Terminal.css +1 -0
- package/dist/src/components/Terminal/Terminal.js +79 -0
- package/dist/src/components/Terminal/Terminal.js.map +1 -0
- package/dist/src/components/UserPreferences/UserPreferencesModal.js +34 -0
- package/dist/src/components/UserPreferences/UserPreferencesModal.js.map +1 -0
- package/dist/src/components/UserPreferences/UserPreferencesProvider.js +19 -0
- package/dist/src/components/UserPreferences/UserPreferencesProvider.js.map +1 -0
- package/dist/src/components/charts/DonutChart.css +10 -0
- package/dist/src/components/charts/DonutChart.js +47 -0
- package/dist/src/components/charts/DonutChart.js.map +1 -0
- package/dist/src/components/common/CopyButton.js +18 -0
- package/dist/src/components/common/CopyButton.js.map +1 -0
- package/dist/src/components/common/EditableLabelControl.js +39 -0
- package/dist/src/components/common/EditableLabelControl.js.map +1 -0
- package/dist/src/components/common/ErrorBoundary.js +36 -0
- package/dist/src/components/common/ErrorBoundary.js.map +1 -0
- package/dist/src/components/common/HelperTextItems.js +25 -0
- package/dist/src/components/common/HelperTextItems.js.map +1 -0
- package/dist/src/components/common/LabelsView.css +9 -0
- package/dist/src/components/common/LabelsView.js +18 -0
- package/dist/src/components/common/LabelsView.js.map +1 -0
- package/dist/src/components/common/LeaveFormConfirmation.js +51 -0
- package/dist/src/components/common/LeaveFormConfirmation.js.map +1 -0
- package/dist/src/components/common/ResourceLink.css +29 -0
- package/dist/src/components/common/ResourceLink.js +30 -0
- package/dist/src/components/common/ResourceLink.js.map +1 -0
- package/dist/src/components/common/ResourceListEmptyState.js +10 -0
- package/dist/src/components/common/ResourceListEmptyState.js.map +1 -0
- package/dist/src/components/common/WithHelperText.css +3 -0
- package/dist/src/components/common/WithHelperText.js +16 -0
- package/dist/src/components/common/WithHelperText.js.map +1 -0
- package/dist/src/components/common/WithTooltip.js +8 -0
- package/dist/src/components/common/WithTooltip.js.map +1 -0
- package/dist/src/components/form/CheckboxField.js +29 -0
- package/dist/src/components/form/CheckboxField.js.map +1 -0
- package/dist/src/components/form/FieldHelperText.js +27 -0
- package/dist/src/components/form/FieldHelperText.js.map +1 -0
- package/dist/src/components/form/FilterSelect.css +8 -0
- package/dist/src/components/form/FilterSelect.js +30 -0
- package/dist/src/components/form/FilterSelect.js.map +1 -0
- package/dist/src/components/form/FlightCtlActionGroup.css +9 -0
- package/dist/src/components/form/FlightCtlActionGroup.js +10 -0
- package/dist/src/components/form/FlightCtlActionGroup.js.map +1 -0
- package/dist/src/components/form/FlightCtlForm.js +13 -0
- package/dist/src/components/form/FlightCtlForm.js.map +1 -0
- package/dist/src/components/form/FormSelect.css +8 -0
- package/dist/src/components/form/FormSelect.js +50 -0
- package/dist/src/components/form/FormSelect.js.map +1 -0
- package/dist/src/components/form/LabelsField.js +61 -0
- package/dist/src/components/form/LabelsField.js.map +1 -0
- package/dist/src/components/form/NameField.js +63 -0
- package/dist/src/components/form/NameField.js.map +1 -0
- package/dist/src/components/form/RadioField.js +32 -0
- package/dist/src/components/form/RadioField.js.map +1 -0
- package/dist/src/components/form/RichValidationTextField.js +66 -0
- package/dist/src/components/form/RichValidationTextField.js.map +1 -0
- package/dist/src/components/form/TextAreaField.js +28 -0
- package/dist/src/components/form/TextAreaField.js.map +1 -0
- package/dist/src/components/form/TextField.js +29 -0
- package/dist/src/components/form/TextField.js.map +1 -0
- package/dist/src/components/form/validations.js +286 -0
- package/dist/src/components/form/validations.js.map +1 -0
- package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceForm.js +36 -0
- package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceForm.js.map +1 -0
- package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceModal.js +43 -0
- package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceModal.js.map +1 -0
- package/dist/src/components/modals/ApproveDeviceModal/DeviceLabelMatch.css +24 -0
- package/dist/src/components/modals/ApproveDeviceModal/DeviceLabelMatch.js +62 -0
- package/dist/src/components/modals/ApproveDeviceModal/DeviceLabelMatch.js.map +1 -0
- package/dist/src/components/modals/CreateRepositoryModal/CreateRepositoryModal.js +14 -0
- package/dist/src/components/modals/CreateRepositoryModal/CreateRepositoryModal.js.map +1 -0
- package/dist/src/components/modals/DeleteModal/DeleteModal.js +41 -0
- package/dist/src/components/modals/DeleteModal/DeleteModal.js.map +1 -0
- package/dist/src/components/modals/EditLabelsModal/EditLabelsForm.js +63 -0
- package/dist/src/components/modals/EditLabelsModal/EditLabelsForm.js.map +1 -0
- package/dist/src/components/modals/massModals/MassApproveDeviceModal/MassApproveDeviceModal.css +4 -0
- package/dist/src/components/modals/massModals/MassApproveDeviceModal/MassApproveDeviceModal.js +126 -0
- package/dist/src/components/modals/massModals/MassApproveDeviceModal/MassApproveDeviceModal.js.map +1 -0
- package/dist/src/components/modals/massModals/MassDeleteDeviceModal/MassDeleteDeviceModal.js +64 -0
- package/dist/src/components/modals/massModals/MassDeleteDeviceModal/MassDeleteDeviceModal.js.map +1 -0
- package/dist/src/components/modals/massModals/MassDeleteFleetModal/MassDeleteFleetModal.js +84 -0
- package/dist/src/components/modals/massModals/MassDeleteFleetModal/MassDeleteFleetModal.js.map +1 -0
- package/dist/src/components/modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal.js +94 -0
- package/dist/src/components/modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal.js.map +1 -0
- package/dist/src/components/modals/massModals/MassDeleteResourceSyncModal/MassDeleteResourceSyncModal.js +62 -0
- package/dist/src/components/modals/massModals/MassDeleteResourceSyncModal/MassDeleteResourceSyncModal.js.map +1 -0
- package/dist/src/constants.js +8 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/hooks/useAppContext.js +61 -0
- package/dist/src/hooks/useAppContext.js.map +1 -0
- package/dist/src/hooks/useDeviceLabelMatch.js +78 -0
- package/dist/src/hooks/useDeviceLabelMatch.js.map +1 -0
- package/dist/src/hooks/useDocumentTitle.js +17 -0
- package/dist/src/hooks/useDocumentTitle.js.map +1 -0
- package/dist/src/hooks/useFetch.js +10 -0
- package/dist/src/hooks/useFetch.js.map +1 -0
- package/dist/src/hooks/useFetchPeriodically.js +75 -0
- package/dist/src/hooks/useFetchPeriodically.js.map +1 -0
- package/dist/src/hooks/useNavigate.js +65 -0
- package/dist/src/hooks/useNavigate.js.map +1 -0
- package/dist/src/hooks/useTableSelect.js +45 -0
- package/dist/src/hooks/useTableSelect.js.map +1 -0
- package/dist/src/hooks/useTableSort.js +38 -0
- package/dist/src/hooks/useTableSort.js.map +1 -0
- package/dist/src/hooks/useTableTextSearch.js +23 -0
- package/dist/src/hooks/useTableTextSearch.js.map +1 -0
- package/dist/src/hooks/useTemplateVersion.js +22 -0
- package/dist/src/hooks/useTemplateVersion.js.map +1 -0
- package/dist/src/hooks/useThemePreferences.js +61 -0
- package/dist/src/hooks/useThemePreferences.js.map +1 -0
- package/dist/src/hooks/useTranslation.js +12 -0
- package/dist/src/hooks/useTranslation.js.map +1 -0
- package/dist/src/hooks/useUserPreferences.js +16 -0
- package/dist/src/hooks/useUserPreferences.js.map +1 -0
- package/dist/src/hooks/useWebSocket.js +69 -0
- package/dist/src/hooks/useWebSocket.js.map +1 -0
- package/dist/src/setupTests.js +24 -0
- package/dist/src/setupTests.js.map +1 -0
- package/dist/src/tests/test-utils.js +21 -0
- package/dist/src/tests/test-utils.js.map +1 -0
- package/dist/src/types/deviceSpec.js +20 -0
- package/dist/src/types/deviceSpec.js.map +1 -0
- package/dist/src/types/extraTypes.js +20 -0
- package/dist/src/types/extraTypes.js.map +1 -0
- package/dist/src/types/typeUtils.js +12 -0
- package/dist/src/types/typeUtils.js.map +1 -0
- package/dist/src/utils/api.js +68 -0
- package/dist/src/utils/api.js.map +1 -0
- package/dist/src/utils/dates.js +53 -0
- package/dist/src/utils/dates.js.map +1 -0
- package/dist/src/utils/devices.js +37 -0
- package/dist/src/utils/devices.js.map +1 -0
- package/dist/src/utils/error.js +25 -0
- package/dist/src/utils/error.js.map +1 -0
- package/dist/src/utils/labels.js +44 -0
- package/dist/src/utils/labels.js.map +1 -0
- package/dist/src/utils/metrics.js +48 -0
- package/dist/src/utils/metrics.js.map +1 -0
- package/dist/src/utils/patch.js +108 -0
- package/dist/src/utils/patch.js.map +1 -0
- package/dist/src/utils/resource.js +6 -0
- package/dist/src/utils/resource.js.map +1 -0
- package/dist/src/utils/search.js +14 -0
- package/dist/src/utils/search.js.map +1 -0
- package/dist/src/utils/sort/device.js +89 -0
- package/dist/src/utils/sort/device.js.map +1 -0
- package/dist/src/utils/sort/fleet.js +20 -0
- package/dist/src/utils/sort/fleet.js.map +1 -0
- package/dist/src/utils/sort/generic.js +34 -0
- package/dist/src/utils/sort/generic.js.map +1 -0
- package/dist/src/utils/sort/repository.js +28 -0
- package/dist/src/utils/sort/repository.js.map +1 -0
- package/dist/src/utils/sort/resourceSync.js +29 -0
- package/dist/src/utils/sort/resourceSync.js.map +1 -0
- package/dist/src/utils/status/applications.js +56 -0
- package/dist/src/utils/status/applications.js.map +1 -0
- package/dist/src/utils/status/common.js +63 -0
- package/dist/src/utils/status/common.js.map +1 -0
- package/dist/src/utils/status/devices.js +65 -0
- package/dist/src/utils/status/devices.js.map +1 -0
- package/dist/src/utils/status/enrollmentRequest.js +49 -0
- package/dist/src/utils/status/enrollmentRequest.js.map +1 -0
- package/dist/src/utils/status/fleet.js +38 -0
- package/dist/src/utils/status/fleet.js.map +1 -0
- package/dist/src/utils/status/integrity.js +28 -0
- package/dist/src/utils/status/integrity.js.map +1 -0
- package/dist/src/utils/status/repository.js +88 -0
- package/dist/src/utils/status/repository.js.map +1 -0
- package/dist/src/utils/status/system.js +29 -0
- package/dist/src/utils/status/system.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const React = tslib_1.__importStar(require("react"));
|
|
5
|
+
const useFetch_1 = require("./useFetch");
|
|
6
|
+
const error_1 = require("../utils/error");
|
|
7
|
+
const getMatchResult = (fleets, deviceLabels) => {
|
|
8
|
+
const matchingFleets = fleets.filter((fleet) => {
|
|
9
|
+
var _a;
|
|
10
|
+
const fleetMatch = ((_a = fleet.spec.selector) === null || _a === void 0 ? void 0 : _a.matchLabels) || {};
|
|
11
|
+
if (Object.keys(fleetMatch).length === 0) {
|
|
12
|
+
// Fleets with no label selector don't match any devices
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
return Object.entries(fleetMatch).every(([fleetMatchKey, fleetMatchValue]) => {
|
|
16
|
+
const matchingDeviceLabel = deviceLabels.find((dLabel) => dLabel.key === fleetMatchKey);
|
|
17
|
+
return matchingDeviceLabel && (matchingDeviceLabel.value || '') === (fleetMatchValue || '');
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
const matchCount = (matchingFleets === null || matchingFleets === void 0 ? void 0 : matchingFleets.length) || 0;
|
|
21
|
+
switch (matchCount) {
|
|
22
|
+
case 0:
|
|
23
|
+
return { status: 'checked--empty' };
|
|
24
|
+
case 1:
|
|
25
|
+
return { status: 'checked--unique', detail: matchingFleets[0].metadata.name };
|
|
26
|
+
default:
|
|
27
|
+
return { status: 'checked--multiple' };
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const useDeviceLabelMatch = () => {
|
|
31
|
+
const { get } = (0, useFetch_1.useFetch)();
|
|
32
|
+
const abortControllerRef = React.useRef();
|
|
33
|
+
const [matchStatus, setMatchStatus] = React.useState({
|
|
34
|
+
status: 'unchecked',
|
|
35
|
+
detail: '',
|
|
36
|
+
});
|
|
37
|
+
const matchLabelsFn = React.useCallback((newLabels, hasErrors) => {
|
|
38
|
+
const matchDeviceLabels = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
+
var _a, _b;
|
|
40
|
+
// TODO PoC implementation, we're missing the ability of filtering in the "fleets" endpoint.
|
|
41
|
+
let result = {
|
|
42
|
+
status: 'unchecked',
|
|
43
|
+
detail: '',
|
|
44
|
+
};
|
|
45
|
+
try {
|
|
46
|
+
if (abortControllerRef.current) {
|
|
47
|
+
abortControllerRef.current.abort();
|
|
48
|
+
}
|
|
49
|
+
abortControllerRef.current = new AbortController();
|
|
50
|
+
const allFleets = yield get('fleets', abortControllerRef.current.signal);
|
|
51
|
+
result = getMatchResult((_a = allFleets.items) !== null && _a !== void 0 ? _a : [], newLabels);
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
// aborting fetch trows 'AbortError', we can ignore it
|
|
55
|
+
if (!((_b = abortControllerRef.current) === null || _b === void 0 ? void 0 : _b.signal.aborted)) {
|
|
56
|
+
result = { status: 'checked--error', detail: (0, error_1.getErrorMessage)(e) };
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
setMatchStatus(result);
|
|
60
|
+
});
|
|
61
|
+
if (newLabels.length === 0) {
|
|
62
|
+
setMatchStatus({
|
|
63
|
+
status: 'unchecked',
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
else if (hasErrors) {
|
|
67
|
+
setMatchStatus({
|
|
68
|
+
status: 'unchecked--invalid',
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
void matchDeviceLabels();
|
|
73
|
+
}
|
|
74
|
+
}, [get]);
|
|
75
|
+
return [matchLabelsFn, matchStatus];
|
|
76
|
+
};
|
|
77
|
+
exports.default = useDeviceLabelMatch;
|
|
78
|
+
//# sourceMappingURL=useDeviceLabelMatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDeviceLabelMatch.js","sourceRoot":"","sources":["../../../src/hooks/useDeviceLabelMatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useDocumentTitle = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
// a custom hook for setting the page title
|
|
7
|
+
function useDocumentTitle(title) {
|
|
8
|
+
React.useEffect(() => {
|
|
9
|
+
const originalTitle = document.title;
|
|
10
|
+
document.title = title;
|
|
11
|
+
return () => {
|
|
12
|
+
document.title = originalTitle;
|
|
13
|
+
};
|
|
14
|
+
}, [title]);
|
|
15
|
+
}
|
|
16
|
+
exports.useDocumentTitle = useDocumentTitle;
|
|
17
|
+
//# sourceMappingURL=useDocumentTitle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDocumentTitle.js","sourceRoot":"","sources":["../../../src/hooks/useDocumentTitle.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,2CAA2C;AAC3C,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;QACrC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACd,CAAC;AARD,4CAQC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useFetch = void 0;
|
|
4
|
+
const useAppContext_1 = require("./useAppContext");
|
|
5
|
+
const useFetch = () => {
|
|
6
|
+
const { fetch, metrics } = (0, useAppContext_1.useAppContext)();
|
|
7
|
+
return Object.assign(Object.assign({}, fetch), { getMetrics: metrics.get });
|
|
8
|
+
};
|
|
9
|
+
exports.useFetch = useFetch;
|
|
10
|
+
//# sourceMappingURL=useFetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFetch.js","sourceRoot":"","sources":["../../../src/hooks/useFetch.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAEzC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAA,6BAAa,GAAE,CAAC;IAE3C,uCACK,KAAK,KACR,UAAU,EAAE,OAAO,CAAC,GAAG,IACvB;AACJ,CAAC,CAAC;AAPW,QAAA,QAAQ,YAOnB"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useFetchPeriodically = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const api_1 = require("../utils/api");
|
|
7
|
+
const useFetch_1 = require("./useFetch");
|
|
8
|
+
const TIMEOUT = 10000;
|
|
9
|
+
const useFetchPeriodically = (query) => {
|
|
10
|
+
const [isLoading, setIsLoading] = React.useState(true);
|
|
11
|
+
const [isUpdating, setIsUpdating] = React.useState(false);
|
|
12
|
+
const [data, setData] = React.useState();
|
|
13
|
+
const [error, setError] = React.useState();
|
|
14
|
+
const [forceUpdate, setForceUpdate] = React.useState(0);
|
|
15
|
+
const ref = React.useRef(0);
|
|
16
|
+
const prevResolvedQueryHash = React.useRef();
|
|
17
|
+
const { get, getMetrics } = (0, useFetch_1.useFetch)();
|
|
18
|
+
// When the query parameters change, the hash will too. We must perform a refetch outside the timeout loop
|
|
19
|
+
const queryStringHash = (0, api_1.getQueryStringHash)(query);
|
|
20
|
+
const isAPI = (0, api_1.isApiQuery)(query);
|
|
21
|
+
// Callback that generates the updated query for refreshes. It may provide updated values for parameters such as from/to for metric queries
|
|
22
|
+
const getRequestQuery = React.useCallback(() => (0, api_1.getRequestQueryString)(query), [query]);
|
|
23
|
+
React.useEffect(() => {
|
|
24
|
+
let abortController;
|
|
25
|
+
const fetchPeriodically = (id) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
while (ref.current === id) {
|
|
27
|
+
const requestQuery = getRequestQuery();
|
|
28
|
+
if (requestQuery) {
|
|
29
|
+
try {
|
|
30
|
+
abortController = new AbortController();
|
|
31
|
+
if (id > 0 && prevResolvedQueryHash.current !== queryStringHash) {
|
|
32
|
+
setIsUpdating(true);
|
|
33
|
+
}
|
|
34
|
+
const fetchFn = isAPI ? get : getMetrics;
|
|
35
|
+
const data = yield fetchFn(requestQuery, abortController.signal);
|
|
36
|
+
if (isLoading) {
|
|
37
|
+
setIsLoading(false);
|
|
38
|
+
}
|
|
39
|
+
setIsUpdating(false);
|
|
40
|
+
// eslint-disable-next-line
|
|
41
|
+
setData(isAPI ? data : data.data.result);
|
|
42
|
+
setError(undefined);
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
// aborting fetch trows 'AbortError', we can ignore it
|
|
46
|
+
if (abortController.signal.aborted) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
setError(err);
|
|
50
|
+
setIsLoading(false);
|
|
51
|
+
setIsUpdating(false);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
setIsLoading(false);
|
|
56
|
+
setError(undefined);
|
|
57
|
+
setData(undefined);
|
|
58
|
+
}
|
|
59
|
+
prevResolvedQueryHash.current = queryStringHash;
|
|
60
|
+
yield new Promise((resolve) => setTimeout(resolve, TIMEOUT));
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
fetchPeriodically(ref.current);
|
|
64
|
+
return () => {
|
|
65
|
+
// eslint-disable-next-line
|
|
66
|
+
ref.current++;
|
|
67
|
+
abortController === null || abortController === void 0 ? void 0 : abortController.abort();
|
|
68
|
+
};
|
|
69
|
+
// eslint-disable-next-line
|
|
70
|
+
}, [get, getMetrics, forceUpdate, queryStringHash, isAPI]);
|
|
71
|
+
const refetch = React.useCallback(() => setForceUpdate((val) => val + 1), []);
|
|
72
|
+
return [data, isLoading, error, refetch, isUpdating];
|
|
73
|
+
};
|
|
74
|
+
exports.useFetchPeriodically = useFetchPeriodically;
|
|
75
|
+
//# sourceMappingURL=useFetchPeriodically.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFetchPeriodically.js","sourceRoot":"","sources":["../../../src/hooks/useFetchPeriodically.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Link = exports.useNavigate = exports.ROUTE = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const useAppContext_1 = require("./useAppContext");
|
|
7
|
+
var ROUTE;
|
|
8
|
+
(function (ROUTE) {
|
|
9
|
+
ROUTE["ROOT"] = "ROOT";
|
|
10
|
+
ROUTE["FLEETS"] = "FLEETS";
|
|
11
|
+
ROUTE["FLEET_CREATE"] = "FLEET_CREATE";
|
|
12
|
+
ROUTE["FLEET_IMPORT"] = "FLEET_IMPORT";
|
|
13
|
+
ROUTE["FLEET_DETAILS"] = " FLEET_DETAILS";
|
|
14
|
+
ROUTE["FLEET_EDIT"] = "FLEET_EDIT";
|
|
15
|
+
ROUTE["DEVICES"] = "DEVICES";
|
|
16
|
+
ROUTE["DEVICE_DETAILS"] = "DEVICE_DETAILS";
|
|
17
|
+
ROUTE["DEVICE_EDIT"] = "DEVICE_EDIT";
|
|
18
|
+
ROUTE["REPOSITORIES"] = "REPOSITORIES";
|
|
19
|
+
ROUTE["REPO_CREATE"] = "REPO_CREATE";
|
|
20
|
+
ROUTE["REPO_EDIT"] = "REPO_EDIT";
|
|
21
|
+
ROUTE["REPO_DETAILS"] = " REPO_DETAILS";
|
|
22
|
+
ROUTE["RESOURCE_SYNC_DETAILS"] = " RESOURCE_SYNC_DETAILS";
|
|
23
|
+
ROUTE["ENROLLMENT_REQUESTS"] = "ENROLLMENT_REQUESTS";
|
|
24
|
+
ROUTE["ENROLLMENT_REQUEST_DETAILS"] = "ENROLLMENT_REQUEST_DETAILS";
|
|
25
|
+
})(ROUTE || (exports.ROUTE = ROUTE = {}));
|
|
26
|
+
const useNavigate = () => {
|
|
27
|
+
const { router: { useNavigate: useRouterNavigate, appRoutes }, } = (0, useAppContext_1.useAppContext)();
|
|
28
|
+
const navigate = useRouterNavigate();
|
|
29
|
+
return React.useCallback((to) => {
|
|
30
|
+
if (typeof to === 'number') {
|
|
31
|
+
navigate(to);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
if (toParamIsToObj(to)) {
|
|
35
|
+
const route = appRoutes[to.route];
|
|
36
|
+
navigate(`${route}/${to.postfix}`);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
const route = appRoutes[to];
|
|
40
|
+
navigate(route);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}, [navigate, appRoutes]);
|
|
44
|
+
};
|
|
45
|
+
exports.useNavigate = useNavigate;
|
|
46
|
+
const toParamIsToObj = (to) => {
|
|
47
|
+
if (typeof to === 'object') {
|
|
48
|
+
return 'route' in to;
|
|
49
|
+
}
|
|
50
|
+
return false;
|
|
51
|
+
};
|
|
52
|
+
const Link = (_a) => {
|
|
53
|
+
var { to, query } = _a, rest = tslib_1.__rest(_a, ["to", "query"]);
|
|
54
|
+
const { router: { Link: RouterLink, appRoutes }, } = (0, useAppContext_1.useAppContext)();
|
|
55
|
+
let route = '';
|
|
56
|
+
if (toParamIsToObj(to)) {
|
|
57
|
+
route = `${appRoutes[to.route]}/${to.postfix}`;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
route = appRoutes[to];
|
|
61
|
+
}
|
|
62
|
+
return React.createElement(RouterLink, Object.assign({ to: query ? `${route}?${query}` : route }, rest));
|
|
63
|
+
};
|
|
64
|
+
exports.Link = Link;
|
|
65
|
+
//# sourceMappingURL=useNavigate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNavigate.js","sourceRoot":"","sources":["../../../src/hooks/useNavigate.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,mDAAgD;AAOhD,IAAY,KAiBX;AAjBD,WAAY,KAAK;IACf,sBAAa,CAAA;IACb,0BAAiB,CAAA;IACjB,sCAA6B,CAAA;IAC7B,sCAA6B,CAAA;IAC7B,yCAAgC,CAAA;IAChC,kCAAyB,CAAA;IACzB,4BAAmB,CAAA;IACnB,0CAAiC,CAAA;IACjC,oCAA2B,CAAA;IAC3B,sCAA6B,CAAA;IAC7B,oCAA2B,CAAA;IAC3B,gCAAuB,CAAA;IACvB,uCAA8B,CAAA;IAC9B,yDAAgD,CAAA;IAChD,oDAA2C,CAAA;IAC3C,kEAAyD,CAAA;AAC3D,CAAC,EAjBW,KAAK,qBAAL,KAAK,QAiBhB;AAeM,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,EACJ,MAAM,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,GACtD,GAAG,IAAA,6BAAa,GAAE,CAAC;IAEpB,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IAErC,OAAO,KAAK,CAAC,WAAW,CACtB,CAAC,EAA0B,EAAE,EAAE;QAC7B,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC3B,QAAQ,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACN,IAAI,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gBAClC,QAAQ,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC5B,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,SAAS,CAAC,CACtB,CAAC;AACJ,CAAC,CAAC;AAvBW,QAAA,WAAW,eAuBtB;AAOF,MAAM,cAAc,GAAG,CAAC,EAAmB,EAAe,EAAE;IAC1D,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,OAAO,IAAI,EAAE,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEK,MAAM,IAAI,GAAG,CAAC,EAAiC,EAAE,EAAE;QAArC,EAAE,EAAE,EAAE,KAAK,OAAsB,EAAjB,IAAI,sBAApB,eAAsB,CAAF;IACvC,MAAM,EACJ,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,GACxC,GAAG,IAAA,6BAAa,GAAE,CAAC;IAEpB,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QACvB,KAAK,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,oBAAC,UAAU,kBAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAM,IAAI,EAAI,CAAC;AAC3E,CAAC,CAAC;AAbW,QAAA,IAAI,QAaf"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useTableSelect = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const resource_1 = require("../utils/resource");
|
|
6
|
+
const React = tslib_1.__importStar(require("react"));
|
|
7
|
+
const useTableSelect = () => {
|
|
8
|
+
const [isAllSelected, setIsAllSelected] = React.useState(false);
|
|
9
|
+
// The elements in this "selectedResourceIds" can either be:
|
|
10
|
+
// - included in the selection, when "isAllSelected=false"
|
|
11
|
+
// - excluded from the selection, when "isAllSelected=true"
|
|
12
|
+
const [selectedResourceIds, setSelectedResourceIds] = React.useState([]);
|
|
13
|
+
const hasSelectedRows = isAllSelected || selectedResourceIds.length > 0;
|
|
14
|
+
const setAllSelected = (isSelected) => {
|
|
15
|
+
setIsAllSelected(isSelected);
|
|
16
|
+
setSelectedResourceIds([]);
|
|
17
|
+
};
|
|
18
|
+
const onRowSelect = (resource) => (_, isSelecting) => {
|
|
19
|
+
const resourceId = (0, resource_1.getResourceId)(resource);
|
|
20
|
+
const addElementToList = (isAllSelected && !isSelecting) || (!isAllSelected && isSelecting);
|
|
21
|
+
if (addElementToList) {
|
|
22
|
+
setSelectedResourceIds([...selectedResourceIds, resourceId]);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
setSelectedResourceIds(selectedResourceIds.filter((id) => id !== resourceId));
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const isRowSelected = (resource) => {
|
|
29
|
+
if (isAllSelected) {
|
|
30
|
+
return !selectedResourceIds.includes((0, resource_1.getResourceId)(resource));
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
return selectedResourceIds.includes((0, resource_1.getResourceId)(resource));
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
return {
|
|
37
|
+
onRowSelect,
|
|
38
|
+
hasSelectedRows,
|
|
39
|
+
isAllSelected: isAllSelected && selectedResourceIds.length === 0,
|
|
40
|
+
setAllSelected,
|
|
41
|
+
isRowSelected,
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
exports.useTableSelect = useTableSelect;
|
|
45
|
+
//# sourceMappingURL=useTableSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableSelect.js","sourceRoot":"","sources":["../../../src/hooks/useTableSelect.ts"],"names":[],"mappings":";;;;AAAA,gDAAkD;AAGlD,qDAA+B;AAExB,MAAM,cAAc,GAAG,GAAqD,EAAE;IACnF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,CAAC;IACzE,4DAA4D;IAC5D,0DAA0D;IAC1D,2DAA2D;IAC3D,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;IAEnF,MAAM,eAAe,GAAG,aAAa,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;IAExE,MAAM,cAAc,GAAG,CAAC,UAAmB,EAAE,EAAE;QAC7C,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC7B,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,WAAW,GACf,CAAC,QAAW,EAAY,EAAE,CAC1B,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE;QACjB,MAAM,UAAU,GAAG,IAAA,wBAAa,EAAC,QAAQ,CAAC,CAAC;QAE3C,MAAM,gBAAgB,GAAG,CAAC,aAAa,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,WAAW,CAAC,CAAC;QAC5F,IAAI,gBAAgB,EAAE,CAAC;YACrB,sBAAsB,CAAC,CAAC,GAAG,mBAAmB,EAAE,UAAU,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,sBAAsB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC;QAChF,CAAC;IACH,CAAC,CAAC;IAEJ,MAAM,aAAa,GAAG,CAAC,QAAW,EAAE,EAAE;QACpC,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAA,wBAAa,EAAC,QAAQ,CAAC,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,OAAO,mBAAmB,CAAC,QAAQ,CAAC,IAAA,wBAAa,EAAC,QAAQ,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,WAAW;QACX,eAAe;QACf,aAAa,EAAE,aAAa,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC;QAChE,cAAc;QACd,aAAa;KACd,CAAC;AACJ,CAAC,CAAC;AA1CW,QAAA,cAAc,kBA0CzB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useTableSort = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const getDefaultIndex = (columns) => {
|
|
7
|
+
const defaultColumnIndex = columns.findIndex((c) => c.defaultSort);
|
|
8
|
+
return defaultColumnIndex === -1 ? 0 : defaultColumnIndex;
|
|
9
|
+
};
|
|
10
|
+
const useTableSort = (data, columns) => {
|
|
11
|
+
const [activeSortIndex, setActiveSortIndex] = React.useState(getDefaultIndex(columns));
|
|
12
|
+
const [activeSortDirection, setActiveSortDirection] = React.useState('asc');
|
|
13
|
+
const getSortParams = React.useCallback((columnIndex) => columns[columnIndex].onSort
|
|
14
|
+
? {
|
|
15
|
+
sortBy: {
|
|
16
|
+
index: activeSortIndex,
|
|
17
|
+
direction: activeSortDirection,
|
|
18
|
+
defaultDirection: 'asc',
|
|
19
|
+
},
|
|
20
|
+
onSort: (_, index, direction) => {
|
|
21
|
+
setActiveSortIndex(index);
|
|
22
|
+
setActiveSortDirection(direction);
|
|
23
|
+
},
|
|
24
|
+
columnIndex,
|
|
25
|
+
}
|
|
26
|
+
: undefined, [activeSortIndex, activeSortDirection, columns]);
|
|
27
|
+
const sortedData = React.useMemo(() => {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
const sorted = (_b = (_a = columns[activeSortIndex]).onSort) === null || _b === void 0 ? void 0 : _b.call(_a, data);
|
|
30
|
+
if (activeSortDirection === 'desc') {
|
|
31
|
+
sorted === null || sorted === void 0 ? void 0 : sorted.reverse();
|
|
32
|
+
}
|
|
33
|
+
return sorted || data;
|
|
34
|
+
}, [columns, data, activeSortIndex, activeSortDirection]);
|
|
35
|
+
return { getSortParams, sortedData };
|
|
36
|
+
};
|
|
37
|
+
exports.useTableSort = useTableSort;
|
|
38
|
+
//# sourceMappingURL=useTableSort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableSort.js","sourceRoot":"","sources":["../../../src/hooks/useTableSort.ts"],"names":[],"mappings":";;;;AAEA,qDAA+B;AAE/B,MAAM,eAAe,GAAG,CAAI,OAAyB,EAAE,EAAE;IACvD,MAAM,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACnE,OAAO,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;AAC5D,CAAC,CAAC;AAEK,MAAM,YAAY,GAAG,CAAI,IAAS,EAAE,OAAyB,EAAE,EAAE;IACtE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/F,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAiB,KAAK,CAAC,CAAC;IAE5F,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,WAAmB,EAAmB,EAAE,CACvC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM;QACzB,CAAC,CAAC;YACE,MAAM,EAAE;gBACN,KAAK,EAAE,eAAe;gBACtB,SAAS,EAAE,mBAAmB;gBAC9B,gBAAgB,EAAE,KAAK;aACxB;YACD,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBAC9B,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC1B,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;YACD,WAAW;SACZ;QACH,CAAC,CAAC,SAAS,EACf,CAAC,eAAe,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAChD,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QACpC,MAAM,MAAM,GAAG,MAAA,MAAA,OAAO,CAAC,eAAe,CAAC,EAAC,MAAM,mDAAG,IAAI,CAAC,CAAC;QACvD,IAAI,mBAAmB,KAAK,MAAM,EAAE,CAAC;YACnC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,CAAC;QACpB,CAAC;QACD,OAAO,MAAM,IAAI,IAAI,CAAC;IACxB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAE1D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvC,CAAC,CAAC;AAhCW,QAAA,YAAY,gBAgCvB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useTableTextSearch = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const fuzzysearch_1 = tslib_1.__importDefault(require("fuzzysearch"));
|
|
7
|
+
const useTableTextSearch = (data, getText) => {
|
|
8
|
+
const [search, setSearch] = React.useState('');
|
|
9
|
+
const filteredData = React.useMemo(() => {
|
|
10
|
+
return data.filter((d) => {
|
|
11
|
+
const texts = getText(d);
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
13
|
+
return texts.some((t) => t && (0, fuzzysearch_1.default)(search, t));
|
|
14
|
+
});
|
|
15
|
+
}, [data, search, getText]);
|
|
16
|
+
return {
|
|
17
|
+
search,
|
|
18
|
+
setSearch,
|
|
19
|
+
filteredData,
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
exports.useTableTextSearch = useTableTextSearch;
|
|
23
|
+
//# sourceMappingURL=useTableTextSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableTextSearch.js","sourceRoot":"","sources":["../../../src/hooks/useTableTextSearch.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,sEAAgC;AAEzB,MAAM,kBAAkB,GAAG,CAChC,IAAS,EACT,OAAgD,EAC2B,EAAE;IAC7E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,EAAE,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,6DAA6D;YAC7D,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAA,qBAAK,EAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAE5B,OAAO;QACL,MAAM;QACN,SAAS;QACT,YAAY;KACb,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,kBAAkB,sBAmB7B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useTemplateVersion = void 0;
|
|
4
|
+
const useFetchPeriodically_1 = require("./useFetchPeriodically");
|
|
5
|
+
const devices_1 = require("../utils/devices");
|
|
6
|
+
const api_1 = require("../utils/api");
|
|
7
|
+
const extraTypes_1 = require("../types/extraTypes");
|
|
8
|
+
const useTemplateVersion = (device) => {
|
|
9
|
+
let templateVersion;
|
|
10
|
+
let ownerFleet;
|
|
11
|
+
if (device === null || device === void 0 ? void 0 : device.metadata) {
|
|
12
|
+
templateVersion = (0, api_1.getMetadataAnnotation)(device === null || device === void 0 ? void 0 : device.metadata, extraTypes_1.DeviceAnnotation.TemplateVersion);
|
|
13
|
+
ownerFleet = (0, devices_1.getDeviceFleet)(device === null || device === void 0 ? void 0 : device.metadata);
|
|
14
|
+
}
|
|
15
|
+
const shouldFetchTVs = !!(templateVersion && ownerFleet);
|
|
16
|
+
const [tv, isLoading, error] = (0, useFetchPeriodically_1.useFetchPeriodically)({
|
|
17
|
+
endpoint: shouldFetchTVs ? `fleets/${ownerFleet}/templateversions/${templateVersion}` : '',
|
|
18
|
+
});
|
|
19
|
+
return [shouldFetchTVs, tv, isLoading && shouldFetchTVs, error];
|
|
20
|
+
};
|
|
21
|
+
exports.useTemplateVersion = useTemplateVersion;
|
|
22
|
+
//# sourceMappingURL=useTemplateVersion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTemplateVersion.js","sourceRoot":"","sources":["../../../src/hooks/useTemplateVersion.ts"],"names":[],"mappings":";;;AACA,iEAA8D;AAC9D,8CAAkD;AAClD,sCAAqD;AACrD,oDAAuD;AAEhD,MAAM,kBAAkB,GAAG,CAChC,MAA0B,EACgC,EAAE;IAC5D,IAAI,eAAmC,CAAC;IACxC,IAAI,UAAqC,CAAC;IAC1C,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE,CAAC;QACrB,eAAe,GAAG,IAAA,2BAAqB,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE,6BAAgB,CAAC,eAAe,CAAC,CAAC;QAC5F,UAAU,GAAG,IAAA,wBAAc,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,UAAU,CAAC,CAAC;IACzD,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,IAAA,2CAAoB,EAAkB;QACnE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,UAAU,UAAU,qBAAqB,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE;KAC3F,CAAC,CAAC;IAEH,OAAO,CAAC,cAAc,EAAE,EAAE,EAAE,SAAS,IAAI,cAAc,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC,CAAC;AAhBW,QAAA,kBAAkB,sBAgB7B"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useThemePreferences = exports.updateThemeClass = exports.THEME_LOCAL_STORAGE_KEY = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const useUserPreferences_1 = require("./useUserPreferences");
|
|
7
|
+
exports.THEME_LOCAL_STORAGE_KEY = 'flightctl/theme';
|
|
8
|
+
const THEME_DARK_CLASS = 'pf-v5-theme-dark';
|
|
9
|
+
const updateThemeClass = (htmlTagElement, theme) => {
|
|
10
|
+
const systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
|
11
|
+
if (theme === 'dark' || (!theme && systemTheme === 'dark')) {
|
|
12
|
+
htmlTagElement.classList.add(THEME_DARK_CLASS);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
htmlTagElement.classList.remove(THEME_DARK_CLASS);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
exports.updateThemeClass = updateThemeClass;
|
|
19
|
+
const getTheme = (storageTheme) => {
|
|
20
|
+
switch (storageTheme) {
|
|
21
|
+
case 'dark': {
|
|
22
|
+
return 'dark';
|
|
23
|
+
}
|
|
24
|
+
case 'light': {
|
|
25
|
+
return 'light';
|
|
26
|
+
}
|
|
27
|
+
default: {
|
|
28
|
+
return 'system';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
const useThemePreferences = () => {
|
|
33
|
+
const htmlTagElement = document.documentElement;
|
|
34
|
+
const [value, setValue] = (0, useUserPreferences_1.useUserPreferences)(exports.THEME_LOCAL_STORAGE_KEY);
|
|
35
|
+
React.useEffect(() => {
|
|
36
|
+
const mqListener = (e) => {
|
|
37
|
+
if (e.matches) {
|
|
38
|
+
htmlTagElement.classList.add(THEME_DARK_CLASS);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
htmlTagElement.classList.remove(THEME_DARK_CLASS);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
const darkThemeMq = window.matchMedia('(prefers-color-scheme: dark)');
|
|
45
|
+
if (!value) {
|
|
46
|
+
darkThemeMq.addEventListener('change', mqListener);
|
|
47
|
+
}
|
|
48
|
+
(0, exports.updateThemeClass)(htmlTagElement, value);
|
|
49
|
+
return () => darkThemeMq.removeEventListener('change', mqListener);
|
|
50
|
+
}, [htmlTagElement, value]);
|
|
51
|
+
const setThemeState = React.useCallback((theme) => {
|
|
52
|
+
setValue(theme);
|
|
53
|
+
(0, exports.updateThemeClass)(htmlTagElement, theme);
|
|
54
|
+
}, [htmlTagElement, setValue]);
|
|
55
|
+
return {
|
|
56
|
+
theme: getTheme(value),
|
|
57
|
+
setTheme: setThemeState,
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
exports.useThemePreferences = useThemePreferences;
|
|
61
|
+
//# sourceMappingURL=useThemePreferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThemePreferences.js","sourceRoot":"","sources":["../../../src/hooks/useThemePreferences.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,6DAA0D;AAE7C,QAAA,uBAAuB,GAAG,iBAAiB,CAAC;AACzD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAIrC,MAAM,gBAAgB,GAAG,CAAC,cAA2B,EAAE,KAAoB,EAAE,EAAE;IACpF,MAAM,WAAW,GAAU,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACxG,IAAI,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,WAAW,KAAK,MAAM,CAAC,EAAE,CAAC;QAC3D,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACpD,CAAC;AACH,CAAC,CAAC;AAPW,QAAA,gBAAgB,oBAO3B;AAEF,MAAM,QAAQ,GAAG,CAAC,YAA2B,EAAS,EAAE;IACtD,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,cAAc,GAAG,QAAQ,CAAC,eAAe,CAAC;IAChD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,uCAAkB,EAAC,+BAAuB,CAAC,CAAC;IAEtE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,UAAU,GAAG,CAAC,CAAsB,EAAE,EAAE;YAC5C,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBACd,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;QACtE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACrD,CAAC;QACD,IAAA,wBAAgB,EAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5B,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,KAAY,EAAE,EAAE;QACf,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,IAAA,wBAAgB,EAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC,EACD,CAAC,cAAc,EAAE,QAAQ,CAAC,CAC3B,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;QACtB,QAAQ,EAAE,aAAa;KACxB,CAAC;AACJ,CAAC,CAAC;AAhCW,QAAA,mBAAmB,uBAgC9B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useTranslation = void 0;
|
|
4
|
+
// eslint-disable-next-line no-restricted-imports
|
|
5
|
+
const react_i18next_1 = require("react-i18next");
|
|
6
|
+
const useAppContext_1 = require("./useAppContext");
|
|
7
|
+
const useTranslation = () => {
|
|
8
|
+
const { i18n } = (0, useAppContext_1.useAppContext)();
|
|
9
|
+
return (0, react_i18next_1.useTranslation)(i18n.transNamespace);
|
|
10
|
+
};
|
|
11
|
+
exports.useTranslation = useTranslation;
|
|
12
|
+
//# sourceMappingURL=useTranslation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTranslation.js","sourceRoot":"","sources":["../../../src/hooks/useTranslation.ts"],"names":[],"mappings":";;;AAAA,iDAAiD;AACjD,iDAAqE;AACrE,mDAAgD;AAEzC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,6BAAa,GAAE,CAAC;IACjC,OAAO,IAAA,8BAAkB,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACjD,CAAC,CAAC;AAHW,QAAA,cAAc,kBAGzB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useUserPreferences = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const useUserPreferences = (userPreferencesKey) => {
|
|
7
|
+
const userPreferencesStorage = localStorage.getItem(userPreferencesKey);
|
|
8
|
+
const [userPreferences, setUserPreferences] = React.useState(userPreferencesStorage);
|
|
9
|
+
const setUserPreferencesState = React.useCallback((value) => {
|
|
10
|
+
localStorage.setItem(userPreferencesKey, value);
|
|
11
|
+
setUserPreferences(value);
|
|
12
|
+
}, [userPreferencesKey]);
|
|
13
|
+
return [userPreferences, setUserPreferencesState];
|
|
14
|
+
};
|
|
15
|
+
exports.useUserPreferences = useUserPreferences;
|
|
16
|
+
//# sourceMappingURL=useUserPreferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUserPreferences.js","sourceRoot":"","sources":["../../../src/hooks/useUserPreferences.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAExB,MAAM,kBAAkB,GAAG,CAAC,kBAA0B,EAA4C,EAAE;IACzG,MAAM,sBAAsB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACxE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAErF,MAAM,uBAAuB,GAAG,KAAK,CAAC,WAAW,CAC/C,CAAC,KAAa,EAAE,EAAE;QAChB,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAChD,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,EACD,CAAC,kBAAkB,CAAC,CACrB,CAAC;IAEF,OAAO,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC;AACpD,CAAC,CAAC;AAbW,QAAA,kBAAkB,sBAa7B"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useWebSocket = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const useTranslation_1 = require("./useTranslation");
|
|
7
|
+
const useAppContext_1 = require("./useAppContext");
|
|
8
|
+
const useWebSocket = (endpoint, onMsgReceived) => {
|
|
9
|
+
const { fetch: { getWsEndpoint }, } = (0, useAppContext_1.useAppContext)();
|
|
10
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
11
|
+
const wsRef = React.useRef();
|
|
12
|
+
const [isConnecting, setIsConnecting] = React.useState(true);
|
|
13
|
+
const [isClosed, setIsClosed] = React.useState(false);
|
|
14
|
+
const [error, setError] = React.useState();
|
|
15
|
+
const [reset, setReset] = React.useState(0);
|
|
16
|
+
const sendMessage = React.useCallback((data) => {
|
|
17
|
+
var _a;
|
|
18
|
+
(_a = wsRef.current) === null || _a === void 0 ? void 0 : _a.send(data);
|
|
19
|
+
}, []);
|
|
20
|
+
React.useEffect(() => {
|
|
21
|
+
try {
|
|
22
|
+
setIsConnecting(true);
|
|
23
|
+
setIsClosed(false);
|
|
24
|
+
const { wsEndpoint, protocols } = getWsEndpoint();
|
|
25
|
+
const ws = new WebSocket(`${wsEndpoint}${endpoint}`, protocols);
|
|
26
|
+
ws.addEventListener('open', () => setIsConnecting(false));
|
|
27
|
+
ws.addEventListener('close', () => setIsClosed(true));
|
|
28
|
+
ws.addEventListener('error', (evt) => {
|
|
29
|
+
// eslint-disable-next-line no-console
|
|
30
|
+
console.error('Error creating websocket:', evt);
|
|
31
|
+
setError(t('Websocket error occured'));
|
|
32
|
+
});
|
|
33
|
+
wsRef.current = ws;
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
setIsConnecting(false);
|
|
37
|
+
setError(err);
|
|
38
|
+
}
|
|
39
|
+
return () => {
|
|
40
|
+
var _a;
|
|
41
|
+
(_a = wsRef.current) === null || _a === void 0 ? void 0 : _a.close();
|
|
42
|
+
wsRef.current = undefined;
|
|
43
|
+
};
|
|
44
|
+
}, [endpoint, t, getWsEndpoint, reset]);
|
|
45
|
+
const reconnect = React.useCallback(() => {
|
|
46
|
+
var _a;
|
|
47
|
+
(_a = wsRef.current) === null || _a === void 0 ? void 0 : _a.close();
|
|
48
|
+
wsRef.current = undefined;
|
|
49
|
+
setReset((prev) => prev + 1);
|
|
50
|
+
}, []);
|
|
51
|
+
React.useEffect(() => {
|
|
52
|
+
var _a;
|
|
53
|
+
const listener = (evt) => onMsgReceived(evt.data);
|
|
54
|
+
(_a = wsRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('message', listener);
|
|
55
|
+
return () => {
|
|
56
|
+
var _a;
|
|
57
|
+
(_a = wsRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('message', listener);
|
|
58
|
+
};
|
|
59
|
+
}, [onMsgReceived, reset]);
|
|
60
|
+
return {
|
|
61
|
+
sendMessage,
|
|
62
|
+
isConnecting,
|
|
63
|
+
isClosed,
|
|
64
|
+
error,
|
|
65
|
+
reconnect,
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
exports.useWebSocket = useWebSocket;
|
|
69
|
+
//# sourceMappingURL=useWebSocket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWebSocket.js","sourceRoot":"","sources":["../../../src/hooks/useWebSocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const i18next_1 = tslib_1.__importDefault(require("i18next"));
|
|
5
|
+
const react_i18next_1 = require("react-i18next");
|
|
6
|
+
i18next_1.default
|
|
7
|
+
// pass the i18n instance to react-i18next
|
|
8
|
+
.use(react_i18next_1.initReactI18next)
|
|
9
|
+
// init i18next
|
|
10
|
+
.init({
|
|
11
|
+
fallbackLng: 'en',
|
|
12
|
+
interpolation: {
|
|
13
|
+
escapeValue: false, // not needed for react as it escapes by default
|
|
14
|
+
},
|
|
15
|
+
lng: 'en',
|
|
16
|
+
ns: 'translation',
|
|
17
|
+
resources: {
|
|
18
|
+
en: {
|
|
19
|
+
// eslint-disable-next-line
|
|
20
|
+
translation: require('../../i18n/locales/en/translation.json'),
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=setupTests.js.map
|