{"version":3,"sources":["webpack:///./src/organizations/containers/NoOrgsPage.tsx","webpack:///./src/shared/components/cloud/CloudExclude.tsx","webpack:///./src/shared/components/cloud/CloudOnly.tsx","webpack:///./src/pageLayout/utils/index.ts","webpack:///./src/pageLayout/components/UserWidget.tsx","webpack:///./src/pageLayout/components/NavHeader.tsx","webpack:///./src/shared/components/CloudUpgradeNavBanner.tsx","webpack:///./src/cloud/selectors/orgsettings.ts","webpack:///./src/cloud/components/OrgSettings.tsx","webpack:///./src/pageLayout/containers/TreeNav.tsx","webpack:///./src/pageLayout/constants/navigationHierarchy.ts","webpack:///./src/portals/NotesPortal.tsx","webpack:///./src/shared/components/notifications/Notifications.tsx","webpack:///./src/dashboards/components/NoteEditorText.tsx","webpack:///./src/dashboards/components/NoteEditorPreview.tsx","webpack:///./src/dashboards/components/NoteEditor.tsx","webpack:///./src/dashboards/actions/notes.ts","webpack:///./src/dashboards/components/NoteEditorOverlay.tsx","webpack:///./src/authorizations/utils/permissions.ts","webpack:///./src/me/selectors/index.ts","webpack:///./src/authorizations/components/AllAccessTokenOverlay.tsx","webpack:///./src/shared/components/selectorList/SelectorListHeader.tsx","webpack:///./src/shared/components/selectorList/SelectorListMenu.tsx","webpack:///./src/shared/components/selectorList/SelectorListBody.tsx","webpack:///./src/shared/components/selectorList/SelectorListEmpty.tsx","webpack:///./src/shared/components/selectorList/SelectorList.tsx","webpack:///./src/timeMachine/components/builderCard/BuilderCardHeader.tsx","webpack:///./src/timeMachine/components/builderCard/BuilderCardDropdownHeader.tsx","webpack:///./src/timeMachine/components/builderCard/BuilderCardMenu.tsx","webpack:///./src/timeMachine/components/builderCard/BuilderCardBody.tsx","webpack:///./src/timeMachine/components/builderCard/BuilderCardEmpty.tsx","webpack:///./src/timeMachine/components/builderCard/BuilderCard.tsx","webpack:///./src/timeMachine/components/SelectorList.tsx","webpack:///./src/shared/components/sorting_hat/SortingHat.tsx","webpack:///./src/shared/components/Filter.tsx","webpack:///./src/shared/components/FilterList.tsx","webpack:///./src/authorizations/components/BucketsTabBody.tsx","webpack:///./src/authorizations/components/BucketsTabSelector.tsx","webpack:///./src/authorizations/components/BucketsSelector.tsx","webpack:///./src/authorizations/components/BucketsTokenOverlay.tsx","webpack:///./src/telegrafs/components/TelegrafConfig.tsx","webpack:///./src/shared/utils/download.ts","webpack:///./src/telegrafs/components/TelegrafConfigOverlay.tsx","webpack:///./src/shared/components/TemplatedCodeSnippet.tsx","webpack:///./src/telegrafs/components/TelegrafOutputOverlay.tsx","webpack:///./src/pageLayout/components/OrgSwitcherItem.tsx","webpack:///./src/pageLayout/components/OrgSwitcherOverlay.tsx","webpack:///./src/shared/components/DurationSelector.tsx","webpack:///./src/buckets/components/Retention.tsx","webpack:///./src/buckets/components/BucketOverlayForm.tsx","webpack:///./src/buckets/reducers/createBucket.ts","webpack:///./src/buckets/components/CreateBucketOverlay.tsx","webpack:///./src/shared/components/CloudUpgradeButton.tsx","webpack:///./src/cloud/components/AssetLimitOverlay.tsx","webpack:///./src/overlays/components/OverlayController.tsx","webpack:///./src/me/components/Support.tsx","webpack:///./src/me/components/LogoutButton.tsx","webpack:///./src/me/constants/index.ts","webpack:///./src/me/components/DashboardsList.tsx","webpack:///./src/shared/components/VersionInfo.tsx","webpack:///./src/me/components/Resources.tsx","webpack:///./src/me/components/Docs.tsx","webpack:///./src/me/graphics/CollectorGraphic.tsx","webpack:///./src/me/graphics/DashboardingGraphic.tsx","webpack:///./src/me/graphics/ExploreGraphic.tsx","webpack:///./src/me/components/GettingStarted.tsx","webpack:///./src/cloud/components/RateLimitAlertContent.tsx","webpack:///./src/cloud/components/RateLimitAlert.tsx","webpack:///./src/shared/utils/pageTitles.ts","webpack:///./src/me/containers/MePage.tsx","webpack:///./src/shared/components/AddResourceDropdown.tsx","webpack:///./src/shared/components/search_widget/SearchWidget.tsx","webpack:///./src/shared/components/resource_sort_dropdown/generateSortItems.ts","webpack:///./src/shared/components/resource_sort_dropdown/ResourceSortDropdown.tsx","webpack:///./src/tasks/components/TasksHeader.tsx","webpack:///./src/shared/components/inlineLabels/InlineLabelsListItem.tsx","webpack:///./src/shared/components/inlineLabels/InlineLabelsCreateLabelButton.tsx","webpack:///./src/shared/components/inlineLabels/InlineLabelsList.tsx","webpack:///./src/shared/components/inlineLabels/InlineLabelPopover.tsx","webpack:///./src/labels/components/LabelOverlayForm.tsx","webpack:///./src/labels/components/CreateLabelOverlay.tsx","webpack:///./src/shared/components/inlineLabels/InlineLabelsEditor.tsx","webpack:///./src/shared/components/inlineLabels/InlineLabels.tsx","webpack:///./src/shared/components/lastRunTaskStatus/LastRunTaskStatus.tsx","webpack:///./src/tasks/components/TaskCard.tsx","webpack:///./src/tasks/components/EmptyTasksList.tsx","webpack:///./src/tasks/components/TasksList.tsx","webpack:///./src/cloud/components/GetAssetLimits.tsx","webpack:///./src/cloud/components/AssetLimitAlert.tsx","webpack:///./src/shared/components/ExportOverlay.tsx","webpack:///./src/tasks/components/TaskExportOverlay.tsx","webpack:///./src/shared/components/DragAndDrop.tsx","webpack:///./src/shared/components/ImportOverlay.tsx","webpack:///./src/tasks/components/TaskImportOverlay.tsx","webpack:///./src/templates/components/createFromTemplateOverlay/TemplateBrowserDetails.tsx","webpack:///./src/templates/components/createFromTemplateOverlay/TemplateBrowserListItem.tsx","webpack:///./src/templates/components/createFromTemplateOverlay/TemplateBrowserList.tsx","webpack:///./src/templates/components/createFromTemplateOverlay/TemplateBrowser.tsx","webpack:///./src/tasks/components/TemplateBrowserEmpty.tsx","webpack:///./src/resources/selectors/getAll.ts","webpack:///./src/tasks/components/TaskImportFromTemplateOverlay.tsx","webpack:///./src/tasks/containers/TasksPage.tsx","webpack:///./src/tasks/components/TaskScheduleFormField.tsx","webpack:///./src/tasks/components/TasksOptionsBucketDropdown.tsx","webpack:///./src/tasks/components/TaskForm.tsx","webpack:///./src/tasks/components/TaskHeader.tsx","webpack:///./src/utils/taskOptionsToFluxScript.ts","webpack:///./src/tasks/containers/TaskPage.tsx","webpack:///./src/tasks/components/RunLogRow.tsx","webpack:///./src/tasks/components/RunLogsList.tsx","webpack:///./src/tasks/components/TaskRunsRow.tsx","webpack:///./src/tasks/components/TaskRunsList.tsx","webpack:///./src/tasks/components/TaskRunsPage.tsx","webpack:///./src/tasks/containers/TaskEditPage.tsx","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/TransformToolbarFunctions.tsx","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/TooltipDescription.tsx","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/TooltipArguments.tsx","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/TooltipExample.tsx","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/TooltipLink.tsx","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/FunctionTooltipContents.tsx","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/ToolbarFunction.tsx","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/FunctionCategory.tsx","webpack:///./src/timeMachine/components/FluxToolbarSearch.tsx","webpack:///./src/shared/constants/fluxFunctions.ts","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/FluxFunctionsToolbar.tsx","webpack:///./src/variables/components/VariableDropdown.tsx","webpack:///./src/timeMachine/components/variableToolbar/VariableTooltipContents.tsx","webpack:///./src/timeMachine/components/variableToolbar/VariableItem.tsx","webpack:///./src/timeMachine/components/variableToolbar/VariableToolbar.tsx","webpack:///./src/timeMachine/components/FluxToolbarTab.tsx","webpack:///./src/timeMachine/components/FluxToolbar.tsx","webpack:///./src/timeMachine/utils/insertFunction.ts","webpack:///./src/timeMachine/components/TimeMachineFluxEditor.tsx","webpack:///./src/shared/components/CSVExportButton.tsx","webpack:///./src/timeMachine/components/QueriesSwitcher.tsx","webpack:///./src/shared/data/autoRefreshes.ts","webpack:///./src/shared/components/dropdown_auto_refresh/AutoRefreshDropdown.tsx","webpack:///./src/utils/AutoRefresher.ts","webpack:///./src/timeMachine/components/RefreshDropdown.tsx","webpack:///./src/shared/components/dateRangePicker/DatePicker.tsx","webpack:///./src/shared/components/dateRangePicker/DateRangePicker.tsx","webpack:///./src/shared/components/TimeRangeDropdown.tsx","webpack:///./src/shared/components/SearchableDropdown.tsx","webpack:///./src/shared/components/WaitingText.tsx","webpack:///./src/shared/utils/debouncer.ts","webpack:///./src/shared/utils/toComponentStatus.ts","webpack:///./src/timeMachine/components/TagSelector.tsx","webpack:///./src/timeMachine/components/FillValues.tsx","webpack:///./src/shared/components/DurationInput.tsx","webpack:///./src/timeMachine/components/WindowPeriod.tsx","webpack:///./src/timeMachine/components/FunctionModeSelector.tsx","webpack:///./src/timeMachine/components/AggregationSelector.tsx","webpack:///./src/timeMachine/components/AddCardButton.tsx","webpack:///./src/timeMachine/components/SelectorListCreateBucket.tsx","webpack:///./src/timeMachine/components/queryBuilder/BucketsSelector.tsx","webpack:///./src/timeMachine/components/QueryBuilder.tsx","webpack:///./src/timeMachine/components/SubmitQueryButton.tsx","webpack:///./src/timeMachine/components/RawDataToggle.tsx","webpack:///./src/timeMachine/components/QueryTabName.tsx","webpack:///./src/timeMachine/components/QueriesTimer.tsx","webpack:///./src/timeMachine/components/QueryTab.tsx","webpack:///./src/timeMachine/components/QueryTabs.tsx","webpack:///./src/timeMachine/components/EditorShortcutsTooltip.tsx","webpack:///./src/timeMachine/components/Queries.tsx","webpack:///./src/shared/components/dashed_button/DashedButton.tsx","webpack:///./src/checks/components/CheckTagRow.tsx","webpack:///./src/checks/components/CheckMetaCard.tsx","webpack:///./src/checks/components/CheckMessageCard.tsx","webpack:///./src/alerting/components/builder/ThresholdStatement.tsx","webpack:///./src/shared/utils/convertUserInput.ts","webpack:///./src/alerting/components/builder/ThresholdValueInput.tsx","webpack:///./src/alerting/components/builder/ThresholdRangeInput.tsx","webpack:///./src/alerting/components/builder/ThresholdCondition.tsx","webpack:///./src/alerting/components/builder/ThresholdConditions.tsx","webpack:///./src/checks/components/CheckLevelsDropdown.tsx","webpack:///./src/alerting/components/builder/DeadmanConditions.tsx","webpack:///./src/checks/components/CheckConditionsCard.tsx","webpack:///./src/alerting/components/builder/MatchingRuleCard.tsx","webpack:///./src/checks/components/CheckMatchingRulesCard.tsx","webpack:///./src/alerting/components/builder/AlertBuilder.tsx","webpack:///./src/timeMachine/components/CustomizeCheckQueryButton.tsx","webpack:///./src/alerting/components/builder/HelpButton.tsx","webpack:///./src/timeMachine/components/TimeMachineAlerting.tsx","webpack:///./src/shared/components/ViewLoadingSpinner.tsx","webpack:///./src/shared/components/ErrorBoundary.tsx","webpack:///./src/timeMachine/components/Vis.tsx","webpack:///./src/timeMachine/components/view_options/Geom.tsx","webpack:///./src/timeMachine/components/view_options/YAxisTitle.tsx","webpack:///./src/timeMachine/components/view_options/AxisAffixes.tsx","webpack:///./src/shared/components/ColorSchemeDropdownItem.tsx","webpack:///./src/shared/components/ColorSchemeDropdown.tsx","webpack:///./src/timeMachine/components/view_options/ColorSelector.tsx","webpack:///./src/shared/components/AutoDomainInput.tsx","webpack:///./src/dashboards/constants/cellEditor.ts","webpack:///./src/timeMachine/components/view_options/YAxisBase.tsx","webpack:///./src/shared/components/ColumnSelector.tsx","webpack:///./src/shared/components/Checkbox.tsx","webpack:///./src/timeMachine/components/view_options/TimeFormat.tsx","webpack:///./src/timeMachine/components/view_options/BandOptions.tsx","webpack:///./src/timeMachine/components/view_options/LineOptions.tsx","webpack:///./src/timeMachine/components/view_options/Affixes.tsx","webpack:///./src/timeMachine/components/view_options/DecimalPlaces.tsx","webpack:///./src/shared/components/ColorDropdown.tsx","webpack:///./src/shared/components/ThresholdSetting.tsx","webpack:///./src/shared/utils/thresholds.ts","webpack:///./src/shared/components/ThresholdsSettings.tsx","webpack:///./src/shared/utils/useOneWayReducer.ts","webpack:///./src/timeMachine/components/view_options/GaugeOptions.tsx","webpack:///./src/timeMachine/components/view_options/ThresholdColoring.tsx","webpack:///./src/timeMachine/components/view_options/SingleStatOptions.tsx","webpack:///./src/shared/components/draggable_column/DraggableColumn.tsx","webpack:///./src/shared/decorators/withDragDropContext.tsx","webpack:///./src/shared/components/columns_options/ColumnsOptions.tsx","webpack:///./src/timeMachine/components/view_options/FixFirstColumn.tsx","webpack:///./src/timeMachine/components/view_options/SortBy.tsx","webpack:///./src/timeMachine/components/view_options/TableOptions.tsx","webpack:///./src/shared/utils/move.ts","webpack:///./src/timeMachine/components/view_options/BinCountInput.tsx","webpack:///./src/timeMachine/components/view_options/HistogramOptions.tsx","webpack:///./src/shared/components/HexColorSchemeDropdown.tsx","webpack:///./src/timeMachine/components/view_options/HeatmapOptions.tsx","webpack:///./src/timeMachine/components/view_options/ScatterOptions.tsx","webpack:///./src/timeMachine/components/view_options/MosaicOptions.tsx","webpack:///./src/timeMachine/components/view_options/OptionsSwitcher.tsx","webpack:///./src/timeMachine/components/view_options/ViewOptions.tsx","webpack:///./src/timeMachine/components/SubmitCheckQueryButton.tsx","webpack:///./src/timeMachine/components/TimeMachineCheckQuery.tsx","webpack:///./src/timeMachine/components/TimeMachine.tsx","webpack:///./src/cloud/components/LimitChecker.tsx","webpack:///./src/shared/utils/queryParams.ts","webpack:///./src/dataExplorer/components/DataExplorer.tsx","webpack:///./src/dataExplorer/components/SaveAsButton.tsx","webpack:///./src/timeMachine/components/VisOptionsButton.tsx","webpack:///./src/shared/constants/timeZones.ts","webpack:///./src/shared/components/TimeZoneDropdown.tsx","webpack:///./src/dataExplorer/components/DeleteDataButton.tsx","webpack:///./src/dataExplorer/components/DashboardsDropdown.tsx","webpack:///./src/dataExplorer/components/SaveAsCellForm.tsx","webpack:///./src/dataExplorer/components/SaveAsTaskForm.tsx","webpack:///./src/variables/utils/mapBuilder.ts","webpack:///./src/shared/utils/pluralize.ts","webpack:///./src/variables/components/MapVariableBuilder.tsx","webpack:///./src/variables/components/CSVVariableBuilder.tsx","webpack:///./src/variables/components/VariableArgumentsEditor.tsx","webpack:///./src/variables/utils/validation.ts","webpack:///./src/variables/components/VariableForm.tsx","webpack:///./src/variables/components/VariableFormContext.tsx","webpack:///./src/dataExplorer/components/SaveAsVariable.tsx","webpack:///./src/dataExplorer/components/SaveAsOverlay.tsx","webpack:///./src/shared/components/DeleteDataForm/BucketsDropdown.tsx","webpack:///./src/shared/components/DeleteDataForm/DeleteButton.tsx","webpack:///./src/shared/actions/predicates.ts","webpack:///./src/shared/components/DeleteDataForm/FilterRow.tsx","webpack:///./src/shared/components/DeleteDataForm/FilterEditor.tsx","webpack:///./src/shared/components/DeleteDataForm/PreviewDataTable.tsx","webpack:///./src/shared/components/DeleteDataForm/TimeRangeDropdown.tsx","webpack:///./src/shared/selectors/canDelete.ts","webpack:///./src/shared/components/DeleteDataForm/DeleteDataForm.tsx","webpack:///./src/dataExplorer/components/DeleteDataOverlay.tsx","webpack:///./src/dataExplorer/components/DataExplorerPage.tsx","webpack:///./src/shared/utils/relativeTimestampFormatter.ts","webpack:///./src/dashboards/components/dashboard_index/DashboardCard.tsx","webpack:///./src/dashboards/components/dashboard_index/DashboardCards.tsx","webpack:///./src/dashboards/components/dashboard_index/DashboardsTableEmpty.tsx","webpack:///./src/dashboards/components/dashboard_index/Table.tsx","webpack:///./src/dashboards/components/dashboard_index/DashboardsIndexContents.tsx","webpack:///./src/dashboards/components/DashboardImportOverlay.tsx","webpack:///./src/templates/components/createFromTemplateOverlay/TemplateBrowserEmpty.tsx","webpack:///./src/templates/components/createFromTemplateOverlay/CreateFromTemplateOverlay.tsx","webpack:///./src/dashboards/components/DashboardExportOverlay.tsx","webpack:///./src/dashboards/components/dashboard_index/DashboardsIndex.tsx","webpack:///./src/resources/selectors/getResourceStatus.ts","webpack:///./src/resources/components/GetResource.tsx","webpack:///./src/shared/components/PresentationModeToggle.tsx","webpack:///./src/dashboards/components/DashboardLightModeToggle.tsx","webpack:///./src/shared/components/graph_tips/GraphTips.tsx","webpack:///./src/pageLayout/components/RenamablePageTitle.tsx","webpack:///./src/dashboards/components/DashboardHeader.tsx","webpack:///./src/userSettings/actions/index.ts","webpack:///./src/shared/actions/autoRefresh.ts","webpack:///./src/shared/components/cells/CellHeaderNote.tsx","webpack:///./src/shared/components/cells/CellHeader.tsx","webpack:///./src/shared/components/cells/CellContextItem.tsx","webpack:///./src/shared/components/cells/CellContextDangerItem.tsx","webpack:///./src/shared/components/cells/CellContext.tsx","webpack:///./src/shared/components/TimeSeries.tsx","webpack:///./src/perf/components/CellEvent.tsx","webpack:///./src/shared/components/RefreshingView.tsx","webpack:///./src/shared/components/cells/Cell.tsx","webpack:///./src/shared/components/cells/GradientBorder.tsx","webpack:///./src/perf/components/ScrollDetector.tsx","webpack:///./src/cells/selectors/index.ts","webpack:///./src/shared/components/cells/Cells.tsx","webpack:///./src/dashboards/components/dashboard_empty/DashboardEmpty.tsx","webpack:///./src/dashboards/components/Dashboard.tsx","webpack:///./src/shared/components/ManualRefresh.tsx","webpack:///./src/dashboards/components/variablesControlBar/DraggableDropdown.tsx","webpack:///./src/dashboards/components/variablesControlBar/VariablesControlBar.tsx","webpack:///./src/dashboards/components/VEOHeader.tsx","webpack:///./src/dashboards/components/EditVEO.tsx","webpack:///./src/dashboards/components/NewVEO.tsx","webpack:///./src/overlays/components/RouteOverlay.tsx","webpack:///./src/overlays/components/index.tsx","webpack:///./src/shared/constants/routes.ts","webpack:///./src/dashboards/components/DashboardPage.tsx","webpack:///./src/dashboards/components/GetTimeRange.tsx","webpack:///./src/shared/components/DashboardRoute.tsx","webpack:///./src/dashboards/components/DashboardContainer.tsx","webpack:///./src/notebooks/context/refs.tsx","webpack:///./src/notebooks/context/scroll.tsx","webpack:///./src/notebooks/context/time.tsx","webpack:///./src/notebooks/components/header/TimeZoneDropdown.tsx","webpack:///./src/notebooks/components/header/TimeRangeDropdown.tsx","webpack:///./src/notebooks/components/header/AutoRefreshDropdown.tsx","webpack:///./src/notebooks/context/notebook.tsx","webpack:///./src/notebooks/context/query.tsx","webpack:///./src/notebooks/components/header/Submit.tsx","webpack:///./src/notebooks/components/header/PresentationMode.tsx","webpack:///./src/notebooks/components/header/index.tsx","webpack:///./src/notebooks/components/Pipe.tsx","webpack:///./src/notebooks/components/panel/RemovePanelButton.tsx","webpack:///./src/notebooks/components/CellFamily.tsx","webpack:///./src/notebooks/components/AddButtons.tsx","webpack:///./src/notebooks/components/panel/InsertCellButton.tsx","webpack:///./src/notebooks/components/panel/PanelVisibilityToggle.tsx","webpack:///./src/notebooks/components/panel/MovePanelButton.tsx","webpack:///./src/notebooks/components/panel/NotebookPanelTitle.tsx","webpack:///./src/notebooks/components/panel/NotebookPanel.tsx","webpack:///./src/notebooks/components/NotebookPipe.tsx","webpack:///./src/notebooks/components/EmptyPipeList.tsx","webpack:///./src/notebooks/components/PipeList.tsx","webpack:///./src/notebooks/components/minimap/MiniMapToggle.tsx","webpack:///./src/notebooks/components/minimap/MiniMapItem.tsx","webpack:///./src/notebooks/components/minimap/MiniMap.tsx","webpack:///./src/notebooks/components/FlowPage.tsx","webpack:///./src/notebooks/components/Notebook.tsx","webpack:///./src/settings/components/LoadDataNavigation.tsx","webpack:///./src/settings/components/LoadDataTabbedPage.tsx","webpack:///./src/settings/components/LoadDataHeader.tsx","webpack:///./src/shared/components/tabbed_page/TabbedPageHeader.tsx","webpack:///./src/buckets/components/BucketContextMenu.tsx","webpack:///./src/buckets/components/BucketCardMeta.tsx","webpack:///./src/buckets/components/BucketAddDataButton.tsx","webpack:///./src/buckets/components/BucketCardActions.tsx","webpack:///./src/buckets/components/BucketCard.tsx","webpack:///./src/cloud/actions/demodata.ts","webpack:///./src/buckets/components/DemoDataBucketCard.tsx","webpack:///./src/buckets/components/BucketList.tsx","webpack:///./src/buckets/components/BucketExplainer.tsx","webpack:///./src/buckets/components/DemoDataDropdown.tsx","webpack:///./src/cloud/components/AssetLimitButton.tsx","webpack:///./src/buckets/components/CreateBucketButton.tsx","webpack:///./src/buckets/components/BucketsTab.tsx","webpack:///./src/buckets/components/lineProtocol/configure/PrecisionDropdown.tsx","webpack:///./src/buckets/components/lineProtocol/configure/Tab.tsx","webpack:///./src/buckets/components/lineProtocol/configure/TabSelector.tsx","webpack:///./src/buckets/components/lineProtocol/configure/DragAndDropHeader.tsx","webpack:///./src/buckets/components/lineProtocol/configure/DragAndDropButtons.tsx","webpack:///./src/buckets/components/lineProtocol/configure/DragInfo.tsx","webpack:///./src/buckets/components/lineProtocol/configure/DragAndDrop.tsx","webpack:///./src/buckets/components/lineProtocol/LineProtocol.creators.ts","webpack:///./src/buckets/components/lineProtocol/configure/TabBody.tsx","webpack:///./src/buckets/components/lineProtocol/verify/StatusIndicator.tsx","webpack:///./src/buckets/components/lineProtocol/configure/LineProtocolTabs.tsx","webpack:///./src/buckets/components/lineProtocol/LineProtocolHelperText.tsx","webpack:///./src/buckets/components/lineProtocol/configure/LineProtocol.tsx","webpack:///./src/buckets/components/lineProtocol/LineProtocol.reducer.ts","webpack:///./src/buckets/components/lineProtocol/EnterManuallyButtons.tsx","webpack:///./src/buckets/components/lineProtocol/UploadFileButtons.tsx","webpack:///./src/buckets/components/lineProtocol/LineProtocolFooterButtons.tsx","webpack:///./src/buckets/components/lineProtocol/LineProtocolWizard.tsx","webpack:///./src/buckets/components/lineProtocol/LineProtocol.thunks.ts","webpack:///./src/dataLoaders/components/TelegrafEditorFooter.tsx","webpack:///./src/dataLoaders/components/collectorsWizard/CollectorsWizard.tsx","webpack:///./src/buckets/components/UpdateBucketOverlay.tsx","webpack:///./src/shared/components/dangerConfirmation/DangerConfirmationForm.tsx","webpack:///./src/shared/components/dangerConfirmation/DangerConfirmationOverlay.tsx","webpack:///./src/buckets/components/RenameBucketForm.tsx","webpack:///./src/buckets/components/RenameBucketOverlay.tsx","webpack:///./src/scrapers/components/CreateScraperForm.tsx","webpack:///./src/scrapers/components/CreateScraperOverlay.tsx","webpack:///./src/shared/components/DeleteDataOverlay.tsx","webpack:///./src/buckets/containers/BucketsIndex.tsx","webpack:///./src/authorizations/components/TokenRow.tsx","webpack:///./src/shared/components/permissionsWidget/PermissionsWidgetItem.tsx","webpack:///./src/shared/components/permissionsWidget/PermissionsWidgetSection.tsx","webpack:///./src/shared/components/permissionsWidget/PermissionsWidget.tsx","webpack:///./src/authorizations/components/ViewTokenOverlay.tsx","webpack:///./src/authorizations/components/TokenList.tsx","webpack:///./src/authorizations/components/GenerateTokenDropdown.tsx","webpack:///./src/authorizations/components/TokensTab.tsx","webpack:///./src/authorizations/containers/TokensIndex.tsx","webpack:///./src/telegrafs/components/CollectorCard.tsx","webpack:///./src/telegrafs/components/CollectorList.tsx","webpack:///./src/telegrafs/components/TelegrafExplainer.tsx","webpack:///./src/buckets/components/NoBucketsWarning.tsx","webpack:///./src/telegrafs/components/Collectors.tsx","webpack:///./src/telegrafs/components/TelegrafInstructionsOverlay.tsx","webpack:///./src/telegrafs/containers/TelegrafsPage.tsx","webpack:///./src/scrapers/components/ScraperRow.tsx","webpack:///./src/scrapers/components/ScraperList.tsx","webpack:///./src/scrapers/components/Scrapers.tsx","webpack:///./src/scrapers/containers/ScrapersIndex.tsx","webpack:///./src/writeData/components/WriteDataSearchBar.tsx","webpack:///./src/writeData/constants/contentClientLibraries.ts","webpack:///./src/writeData/components/clientLibraries/Arduino.md","webpack:///./src/writeData/components/clientLibraries/CSharp.md","webpack:///./src/writeData/components/clientLibraries/Go.md","webpack:///./src/writeData/components/clientLibraries/Java.md","webpack:///./src/writeData/components/clientLibraries/Node.md","webpack:///./src/writeData/components/clientLibraries/Python.md","webpack:///./src/writeData/components/clientLibraries/Ruby.md","webpack:///./src/writeData/components/clientLibraries/PHP.md","webpack:///./src/writeData/components/clientLibraries/Kotlin.md","webpack:///./src/writeData/components/clientLibraries/Scala.md","webpack:///./src/writeData/constants/contentTelegrafPlugins.ts","webpack:///./src/writeData/components/telegrafPlugins/activemq.md","webpack:///./src/writeData/components/telegrafPlugins/aerospike.md","webpack:///./src/writeData/components/telegrafPlugins/amqp_consumer.md","webpack:///./src/writeData/components/telegrafPlugins/apache.md","webpack:///./src/writeData/components/telegrafPlugins/apcupsd.md","webpack:///./src/writeData/components/telegrafPlugins/aurora.md","webpack:///./src/writeData/components/telegrafPlugins/azure_storage_queue.md","webpack:///./src/writeData/components/telegrafPlugins/bcache.md","webpack:///./src/writeData/components/telegrafPlugins/beanstalkd.md","webpack:///./src/writeData/components/telegrafPlugins/beat.md","webpack:///./src/writeData/components/telegrafPlugins/bind.md","webpack:///./src/writeData/components/telegrafPlugins/bond.md","webpack:///./src/writeData/components/telegrafPlugins/burrow.md","webpack:///./src/writeData/components/telegrafPlugins/cassandra.md","webpack:///./src/writeData/components/telegrafPlugins/ceph.md","webpack:///./src/writeData/components/telegrafPlugins/cgroup.md","webpack:///./src/writeData/components/telegrafPlugins/chrony.md","webpack:///./src/writeData/components/telegrafPlugins/cisco_telemetry_mdt.md","webpack:///./src/writeData/components/telegrafPlugins/clickhouse.md","webpack:///./src/writeData/components/telegrafPlugins/cloud_pubsub.md","webpack:///./src/writeData/components/telegrafPlugins/cloud_pubsub_push.md","webpack:///./src/writeData/components/telegrafPlugins/cloudwatch.md","webpack:///./src/writeData/components/telegrafPlugins/conntrack.md","webpack:///./src/writeData/components/telegrafPlugins/consul.md","webpack:///./src/writeData/components/telegrafPlugins/couchbase.md","webpack:///./src/writeData/components/telegrafPlugins/couchdb.md","webpack:///./src/writeData/components/telegrafPlugins/cpu.md","webpack:///./src/writeData/components/telegrafPlugins/dcos.md","webpack:///./src/writeData/components/telegrafPlugins/disk.md","webpack:///./src/writeData/components/telegrafPlugins/diskio.md","webpack:///./src/writeData/components/telegrafPlugins/disque.md","webpack:///./src/writeData/components/telegrafPlugins/dmcache.md","webpack:///./src/writeData/components/telegrafPlugins/dns_query.md","webpack:///./src/writeData/components/telegrafPlugins/docker.md","webpack:///./src/writeData/components/telegrafPlugins/docker_log.md","webpack:///./src/writeData/components/telegrafPlugins/dovecot.md","webpack:///./src/writeData/components/telegrafPlugins/ecs.md","webpack:///./src/writeData/components/telegrafPlugins/elasticsearch.md","webpack:///./src/writeData/components/telegrafPlugins/ethtool.md","webpack:///./src/writeData/components/telegrafPlugins/eventhub_consumer.md","webpack:///./src/writeData/components/telegrafPlugins/exec.md","webpack:///./src/writeData/components/telegrafPlugins/execd.md","webpack:///./src/writeData/components/telegrafPlugins/fail2ban.md","webpack:///./src/writeData/components/telegrafPlugins/fibaro.md","webpack:///./src/writeData/components/telegrafPlugins/file.md","webpack:///./src/writeData/components/telegrafPlugins/filecount.md","webpack:///./src/writeData/components/telegrafPlugins/filestat.md","webpack:///./src/writeData/components/telegrafPlugins/fireboard.md","webpack:///./src/writeData/components/telegrafPlugins/fluentd.md","webpack:///./src/writeData/components/telegrafPlugins/github.md","webpack:///./src/writeData/components/telegrafPlugins/gnmi.md","webpack:///./src/writeData/components/telegrafPlugins/graylog.md","webpack:///./src/writeData/components/telegrafPlugins/haproxy.md","webpack:///./src/writeData/components/telegrafPlugins/hddtemp.md","webpack:///./src/writeData/components/telegrafPlugins/http.md","webpack:///./src/writeData/components/telegrafPlugins/http_listener_v2.md","webpack:///./src/writeData/components/telegrafPlugins/http_response.md","webpack:///./src/writeData/components/telegrafPlugins/httpjson.md","webpack:///./src/writeData/components/telegrafPlugins/icinga2.md","webpack:///./src/writeData/components/telegrafPlugins/infiniband.md","webpack:///./src/writeData/components/telegrafPlugins/influxdb.md","webpack:///./src/writeData/components/telegrafPlugins/influxdb_listener.md","webpack:///./src/writeData/components/telegrafPlugins/influxdb_v2_listener.md","webpack:///./src/writeData/components/telegrafPlugins/intel_powerstat.md","webpack:///./src/writeData/components/telegrafPlugins/intel_rdt.md","webpack:///./src/writeData/components/telegrafPlugins/internal.md","webpack:///./src/writeData/components/telegrafPlugins/interrupts.md","webpack:///./src/writeData/components/telegrafPlugins/ipmi_sensor.md","webpack:///./src/writeData/components/telegrafPlugins/ipset.md","webpack:///./src/writeData/components/telegrafPlugins/iptables.md","webpack:///./src/writeData/components/telegrafPlugins/ipvs.md","webpack:///./src/writeData/components/telegrafPlugins/jenkins.md","webpack:///./src/writeData/components/telegrafPlugins/jolokia.md","webpack:///./src/writeData/components/telegrafPlugins/jolokia2.md","webpack:///./src/writeData/components/telegrafPlugins/jti_openconfig_telemetry.md","webpack:///./src/writeData/components/telegrafPlugins/kafka_consumer.md","webpack:///./src/writeData/components/telegrafPlugins/kafka_consumer_legacy.md","webpack:///./src/writeData/components/telegrafPlugins/kapacitor.md","webpack:///./src/writeData/components/telegrafPlugins/kernel.md","webpack:///./src/writeData/components/telegrafPlugins/kernel_vmstat.md","webpack:///./src/writeData/components/telegrafPlugins/kibana.md","webpack:///./src/writeData/components/telegrafPlugins/kinesis_consumer.md","webpack:///./src/writeData/components/telegrafPlugins/kube_inventory.md","webpack:///./src/writeData/components/telegrafPlugins/kubernetes.md","webpack:///./src/writeData/components/telegrafPlugins/lanz.md","webpack:///./src/writeData/components/telegrafPlugins/leofs.md","webpack:///./src/writeData/components/telegrafPlugins/linux_sysctl_fs.md","webpack:///./src/writeData/components/telegrafPlugins/logparser.md","webpack:///./src/writeData/components/telegrafPlugins/logstash.md","webpack:///./src/writeData/components/telegrafPlugins/lustre2.md","webpack:///./src/writeData/components/telegrafPlugins/mailchimp.md","webpack:///./src/writeData/components/telegrafPlugins/marklogic.md","webpack:///./src/writeData/components/telegrafPlugins/mcrouter.md","webpack:///./src/writeData/components/telegrafPlugins/mem.md","webpack:///./src/writeData/components/telegrafPlugins/memcached.md","webpack:///./src/writeData/components/telegrafPlugins/mesos.md","webpack:///./src/writeData/components/telegrafPlugins/minecraft.md","webpack:///./src/writeData/components/telegrafPlugins/modbus.md","webpack:///./src/writeData/components/telegrafPlugins/mongodb.md","webpack:///./src/writeData/components/telegrafPlugins/monit.md","webpack:///./src/writeData/components/telegrafPlugins/mqtt_consumer.md","webpack:///./src/writeData/components/telegrafPlugins/multifile.md","webpack:///./src/writeData/components/telegrafPlugins/mysql.md","webpack:///./src/writeData/components/telegrafPlugins/nats.md","webpack:///./src/writeData/components/telegrafPlugins/nats_consumer.md","webpack:///./src/writeData/components/telegrafPlugins/neptune_apex.md","webpack:///./src/writeData/components/telegrafPlugins/net_response.md","webpack:///./src/writeData/components/telegrafPlugins/nginx.md","webpack:///./src/writeData/components/telegrafPlugins/nginx_plus.md","webpack:///./src/writeData/components/telegrafPlugins/nginx_plus_api.md","webpack:///./src/writeData/components/telegrafPlugins/nginx_sts.md","webpack:///./src/writeData/components/telegrafPlugins/nginx_upstream_check.md","webpack:///./src/writeData/components/telegrafPlugins/nginx_vts.md","webpack:///./src/writeData/components/telegrafPlugins/nsd.md","webpack:///./src/writeData/components/telegrafPlugins/nsq.md","webpack:///./src/writeData/components/telegrafPlugins/nsq_consumer.md","webpack:///./src/writeData/components/telegrafPlugins/nstat.md","webpack:///./src/writeData/components/telegrafPlugins/ntpq.md","webpack:///./src/writeData/components/telegrafPlugins/nvidia_smi.md","webpack:///./src/writeData/components/telegrafPlugins/opcua.md","webpack:///./src/writeData/components/telegrafPlugins/openldap.md","webpack:///./src/writeData/components/telegrafPlugins/openntpd.md","webpack:///./src/writeData/components/telegrafPlugins/opensmtpd.md","webpack:///./src/writeData/components/telegrafPlugins/openweathermap.md","webpack:///./src/writeData/components/telegrafPlugins/passenger.md","webpack:///./src/writeData/components/telegrafPlugins/pf.md","webpack:///./src/writeData/components/telegrafPlugins/pgbouncer.md","webpack:///./src/writeData/components/telegrafPlugins/phpfpm.md","webpack:///./src/writeData/components/telegrafPlugins/ping.md","webpack:///./src/writeData/components/telegrafPlugins/postfix.md","webpack:///./src/writeData/components/telegrafPlugins/postgresql.md","webpack:///./src/writeData/components/telegrafPlugins/postgresql_extensible.md","webpack:///./src/writeData/components/telegrafPlugins/powerdns.md","webpack:///./src/writeData/components/telegrafPlugins/powerdns_recursor.md","webpack:///./src/writeData/components/telegrafPlugins/processes.md","webpack:///./src/writeData/components/telegrafPlugins/procstat.md","webpack:///./src/writeData/components/telegrafPlugins/prometheus.md","webpack:///./src/writeData/components/telegrafPlugins/proxmox.md","webpack:///./src/writeData/components/telegrafPlugins/puppetagent.md","webpack:///./src/writeData/components/telegrafPlugins/rabbitmq.md","webpack:///./src/writeData/components/telegrafPlugins/raindrops.md","webpack:///./src/writeData/components/telegrafPlugins/ras.md","webpack:///./src/writeData/components/telegrafPlugins/redfish.md","webpack:///./src/writeData/components/telegrafPlugins/redis.md","webpack:///./src/writeData/components/telegrafPlugins/rethinkdb.md","webpack:///./src/writeData/components/telegrafPlugins/riak.md","webpack:///./src/writeData/components/telegrafPlugins/riemann_listener.md","webpack:///./src/writeData/components/telegrafPlugins/salesforce.md","webpack:///./src/writeData/components/telegrafPlugins/sensors.md","webpack:///./src/writeData/components/telegrafPlugins/sflow.md","webpack:///./src/writeData/components/telegrafPlugins/smart.md","webpack:///./src/writeData/components/telegrafPlugins/snmp.md","webpack:///./src/writeData/components/telegrafPlugins/snmp_legacy.md","webpack:///./src/writeData/components/telegrafPlugins/snmp_trap.md","webpack:///./src/writeData/components/telegrafPlugins/socket_listener.md","webpack:///./src/writeData/components/telegrafPlugins/solr.md","webpack:///./src/writeData/components/telegrafPlugins/sqlserver.md","webpack:///./src/writeData/components/telegrafPlugins/stackdriver.md","webpack:///./src/writeData/components/telegrafPlugins/statsd.md","webpack:///./src/writeData/components/telegrafPlugins/suricata.md","webpack:///./src/writeData/components/telegrafPlugins/swap.md","webpack:///./src/writeData/components/telegrafPlugins/synproxy.md","webpack:///./src/writeData/components/telegrafPlugins/syslog.md","webpack:///./src/writeData/components/telegrafPlugins/sysstat.md","webpack:///./src/writeData/components/telegrafPlugins/system.md","webpack:///./src/writeData/components/telegrafPlugins/systemd_units.md","webpack:///./src/writeData/components/telegrafPlugins/tail.md","webpack:///./src/writeData/components/telegrafPlugins/tcp_listener.md","webpack:///./src/writeData/components/telegrafPlugins/teamspeak.md","webpack:///./src/writeData/components/telegrafPlugins/temp.md","webpack:///./src/writeData/components/telegrafPlugins/tengine.md","webpack:///./src/writeData/components/telegrafPlugins/tomcat.md","webpack:///./src/writeData/components/telegrafPlugins/udp_listener.md","webpack:///./src/writeData/components/telegrafPlugins/unbound.md","webpack:///./src/writeData/components/telegrafPlugins/uwsgi.md","webpack:///./src/writeData/components/telegrafPlugins/varnish.md","webpack:///./src/writeData/components/telegrafPlugins/vsphere.md","webpack:///./src/writeData/components/telegrafPlugins/webhooks.md","webpack:///./src/writeData/components/telegrafPlugins/win_eventlog.md","webpack:///./src/writeData/components/telegrafPlugins/win_perf_counters.md","webpack:///./src/writeData/components/telegrafPlugins/win_services.md","webpack:///./src/writeData/components/telegrafPlugins/wireguard.md","webpack:///./src/writeData/components/telegrafPlugins/wireless.md","webpack:///./src/writeData/components/telegrafPlugins/x509_cert.md","webpack:///./src/writeData/components/telegrafPlugins/zfs.md","webpack:///./src/writeData/components/telegrafPlugins/zipkin.md","webpack:///./src/writeData/components/telegrafPlugins/zookeeper.md","webpack:///./src/writeData/constants/index.ts","webpack:///./src/writeData/constants/contentIntegrations.ts","webpack:///./src/writeData/constants/contentDeveloperTools.ts","webpack:///./src/writeData/constants/contentFluxSources.ts","webpack:///./src/writeData/components/WriteDataItem.tsx","webpack:///./src/writeData/components/WriteDataSection.tsx","webpack:///./src/writeData/components/WriteDataSections.tsx","webpack:///./src/writeData/containers/WriteDataPage.tsx","webpack:///./src/shared/tabbedPage/TabbedPageTabs.tsx","webpack:///./src/settings/components/SettingsNavigation.tsx","webpack:///./src/settings/components/SettingsTabbedPage.tsx","webpack:///./src/settings/components/SettingsHeader.tsx","webpack:///./src/variables/components/VariableContextMenu.tsx","webpack:///./src/variables/components/VariableCard.tsx","webpack:///./src/variables/components/VariableList.tsx","webpack:///./src/variables/components/VariablesTab.tsx","webpack:///./src/variables/components/VariableImportOverlay.tsx","webpack:///./src/variables/components/VariableExportOverlay.tsx","webpack:///./src/variables/components/CreateVariableOverlay.tsx","webpack:///./src/variables/components/RenameVariableForm.tsx","webpack:///./src/variables/components/RenameVariableOverlay.tsx","webpack:///./src/variables/components/UpdateVariableOverlay.tsx","webpack:///./src/variables/containers/VariablesIndex.tsx","webpack:///./src/templates/components/EmptyTemplatesList.tsx","webpack:///./src/templates/constants/index.ts","webpack:///./src/templates/components/TemplateCard.tsx","webpack:///./src/templates/components/TemplatesList.tsx","webpack:///./src/templates/components/StaticTemplateCard.tsx","webpack:///./src/templates/components/StaticTemplatesList.tsx","webpack:///./src/templates/components/TemplatesPage.tsx","webpack:///./src/templates/components/TemplateImportOverlay.tsx","webpack:///./src/templates/components/TemplateExportOverlay.tsx","webpack:///./src/shared/components/ViewOverlay.tsx","webpack:///./src/templates/components/TemplateViewOverlay.tsx","webpack:///./src/templates/components/StaticTemplateViewOverlay.tsx","webpack:///./src/templates/components/CommunityTemplateInstallInstructionsIcon.tsx","webpack:///./src/templates/components/CommunityTemplateInstallInstructions.tsx","webpack:///./src/templates/components/CommunityTemplateReadme.tsx","webpack:///./src/templates/components/CommunityTemplateListItem.tsx","webpack:///./src/templates/components/CommunityTemplateListGroup.tsx","webpack:///./src/templates/components/CommunityTemplateEnvReferences.tsx","webpack:///./src/templates/components/CommunityTemplateParameters.tsx","webpack:///./src/templates/selectors/index.ts","webpack:///./src/templates/components/CommunityTemplateResourceContent.tsx","webpack:///./src/templates/components/CommunityTemplateOverlay.tsx","webpack:///./src/templates/components/CommunityTemplateImportOverlay.tsx","webpack:///./src/templates/components/CommunityTemplateHumanReadableResource.tsx","webpack:///./src/templates/components/CommunityTemplatesResourceSummary.tsx","webpack:///./src/templates/components/CommunityTemplateReadMeOverlay.tsx","webpack:///./src/templates/components/CommunityTemplatesInstalledList.tsx","webpack:///./src/templates/containers/CommunityTemplatesIndex.tsx","webpack:///./src/templates/containers/TemplatesIndex.tsx","webpack:///./src/labels/components/UpdateLabelOverlay.tsx","webpack:///./src/labels/components/LabelContextMenu.tsx","webpack:///./src/labels/components/LabelCard.tsx","webpack:///./src/labels/components/LabelList.tsx","webpack:///./src/labels/components/LabelsTab.tsx","webpack:///./src/labels/containers/LabelsIndex.tsx","webpack:///./src/organizations/components/OrgNavigation.tsx","webpack:///./src/organizations/components/OrgTabbedPage.tsx","webpack:///./src/organizations/components/OrgHeader.tsx","webpack:///./src/organizations/components/OrgProfileTab.tsx","webpack:///./src/organizations/components/RenameOrgForm.tsx","webpack:///./src/organizations/actions/thunks.ts","webpack:///./src/organizations/components/RenameOrgOverlay.tsx","webpack:///./src/organizations/containers/OrgProfilePage.tsx","webpack:///./src/checks/selectors/index.ts","webpack:///./src/notifications/rules/selectors/index.ts","webpack:///./src/notifications/endpoints/selectors/index.ts","webpack:///./src/checks/components/CheckCardContext.tsx","webpack:///./src/alerting/components/LevelTableField.tsx","webpack:///./src/alerting/components/TimeTableField.tsx","webpack:///./src/shared/utils/useMountedEffect.ts","webpack:///./src/eventViewer/utils/search.ts","webpack:///./src/eventViewer/components/EventViewer.reducer.ts","webpack:///./src/eventViewer/components/EventViewer.tsx","webpack:///./src/eventViewer/components/Header.tsx","webpack:///./src/eventViewer/components/TableRow.tsx","webpack:///./src/eventViewer/components/LoadingRow.tsx","webpack:///./src/eventViewer/components/FooterRow.tsx","webpack:///./src/eventViewer/components/ErrorRow.tsx","webpack:///./src/eventViewer/components/EventTable.tsx","webpack:///./src/eventViewer/components/BackToTopButton.tsx","webpack:///./src/alerting/components/SearchBar.tsx","webpack:///./src/alerting/components/AlertHistoryControls.tsx","webpack:///./src/alerting/components/AlertHistoryQueryParams.tsx","webpack:///./src/alerting/utils/history.ts","webpack:///./src/alerting/components/AlertHistoryIndex.tsx","webpack:///./src/shared/utils/formatOrgRoute.ts","webpack:///./src/checks/components/CheckTableField.tsx","webpack:///./src/alerting/constants/history.ts","webpack:///./src/alerting/components/NotificationRuleTableField.tsx","webpack:///./src/notifications/endpoints/components/NotificationEndpointTableField.tsx","webpack:///./src/alerting/components/SentTableField.tsx","webpack:///./src/checks/components/CheckCard.tsx","webpack:///./src/checks/components/CheckCards.tsx","webpack:///./src/alerting/components/AlertsColumn.tsx","webpack:///./src/checks/components/CreateCheckDropdown.tsx","webpack:///./src/checks/components/ChecksColumn.tsx","webpack:///./src/notifications/rules/components/RuleCardContext.tsx","webpack:///./src/notifications/rules/components/RuleCard.tsx","webpack:///./src/notifications/rules/components/RuleCards.tsx","webpack:///./src/notifications/rules/components/RulesColumn.tsx","webpack:///./src/notifications/endpoints/components/EndpointCardMenu.tsx","webpack:///./src/notifications/endpoints/components/EndpointCard.tsx","webpack:///./src/notifications/endpoints/components/EndpointCards.tsx","webpack:///./src/notifications/endpoints/components/EndpointsColumn.tsx","webpack:///./src/checks/components/CheckAlertingButton.tsx","webpack:///./src/checks/components/CheckEOSaveButton.tsx","webpack:///./src/checks/components/CheckEOHeader.tsx","webpack:///./src/checks/components/NewThresholdCheckEO.tsx","webpack:///./src/checks/components/NewDeadmanCheckEO.tsx","webpack:///./src/checks/components/EditCheckEO.tsx","webpack:///./src/notifications/rules/components/RuleSchedule.tsx","webpack:///./src/notifications/rules/components/RuleLevelsDropdown.tsx","webpack:///./src/notifications/rules/components/RuleOverlay.reducer.tsx","webpack:///./src/notifications/rules/components/RuleOverlayProvider.tsx","webpack:///./src/notifications/rules/components/StatusChangeDropdown.tsx","webpack:///./src/notifications/rules/components/StatusLevels.tsx","webpack:///./src/notifications/rules/components/StatusRule.tsx","webpack:///./src/notifications/rules/components/TagRuleOperatorDropdown.tsx","webpack:///./src/notifications/rules/components/TagRule.tsx","webpack:///./src/notifications/rules/components/RuleConditions.tsx","webpack:///./src/notifications/rules/components/RuleEndpointDropdown.tsx","webpack:///./src/notifications/rules/components/SlackMessage.tsx","webpack:///./src/notifications/rules/components/SMTPMessage.tsx","webpack:///./src/notifications/rules/components/PagerDutyMessage.tsx","webpack:///./src/notifications/rules/components/TelegramMessage.tsx","webpack:///./src/notifications/rules/components/RuleMessageContents.tsx","webpack:///./src/notifications/rules/components/RuleMessage.tsx","webpack:///./src/notifications/rules/components/RuleOverlayFooter.tsx","webpack:///./src/notifications/rules/components/RuleOverlayContents.tsx","webpack:///./src/notifications/rules/components/NewRuleOverlay.tsx","webpack:///./src/notifications/rules/components/EditRuleOverlay.tsx","webpack:///./src/notifications/endpoints/components/EndpointOverlay.reducer.ts","webpack:///./src/notifications/endpoints/components/EndpointOverlayProvider.tsx","webpack:///./src/notifications/endpoints/components/EndpointOptionsSlack.tsx","webpack:///./src/notifications/endpoints/components/EndpointOptionsPagerDuty.tsx","webpack:///./src/notifications/endpoints/components/MethodTypeDropdown.tsx","webpack:///./src/notifications/endpoints/components/AuthMethodTypeDropdown.tsx","webpack:///./src/notifications/endpoints/components/EndpointOptionsHTTP.tsx","webpack:///./src/notifications/endpoints/components/EndpointOptionsTelegram.tsx","webpack:///./src/notifications/endpoints/components/EndpointOptions.tsx","webpack:///./src/notifications/endpoints/components/EndpointTypeDropdown.tsx","webpack:///./src/notifications/endpoints/components/EndpointOverlayFooter.tsx","webpack:///./src/notifications/endpoints/components/EndpointOverlayContents.tsx","webpack:///./src/notifications/endpoints/components/NewEndpointOverlay.tsx","webpack:///./src/notifications/endpoints/components/EditEndpointOverlay.tsx","webpack:///./src/alerting/components/AlertingIndex.tsx","webpack:///./src/checks/components/CheckHistoryControls.tsx","webpack:///./src/checks/components/CheckHistoryVisualization.tsx","webpack:///./src/checks/components/CheckHistory.tsx","webpack:///./src/members/components/MemberContextMenu.tsx","webpack:///./src/members/components/MemberCard.tsx","webpack:///./src/members/components/MemberList.tsx","webpack:///./src/members/components/Members.tsx","webpack:///./src/members/containers/MembersIndex.tsx","webpack:///./src/dashboards/components/RouteToDashboardList.tsx","webpack:///./src/writeData/components/WriteDataIndexView.tsx","webpack:///./src/writeData/components/clientLibraries/ClientLibrariesIndex.tsx","webpack:///./src/writeData/components/WriteDataDetailsContext.tsx","webpack:///./src/writeData/components/WriteDataCodeSnippet.tsx","webpack:///./src/writeData/components/WriteDataDetailsView.tsx","webpack:///./src/writeData/components/WriteDataHelperTokens.tsx","webpack:///./src/writeData/components/WriteDataHelperBuckets.tsx","webpack:///./src/writeData/components/WriteDataHelper.tsx","webpack:///./src/writeData/containers/ClientLibrariesPage.tsx","webpack:///./src/writeData/components/telegrafPlugins/TelegrafPluginsIndex.tsx","webpack:///./src/writeData/components/telegrafPlugins/TelegrafPluginsExplainer.tsx","webpack:///./src/writeData/containers/TelegrafPluginsPage.tsx","webpack:///./src/notebooks/components/FlowCreateButton.tsx","webpack:///./src/notebooks/components/FlowsIndexEmpty.tsx","webpack:///./src/notebooks/components/FlowCard.tsx","webpack:///./src/notebooks/components/FlowCards.tsx","webpack:///./src/notebooks/components/FlowsIndex.tsx","webpack:///./src/shared/containers/SetOrg.tsx","webpack:///./src/organizations/components/CreateOrgOverlay.tsx","webpack:///./src/App.tsx","webpack:///./src/shared/containers/RouteToOrg.tsx","webpack:///./src/shared/containers/GetOrganizations.tsx","webpack:///./src/shared/containers/GetFlags.tsx","webpack:///./src/shared/containers/GetMe.tsx","webpack:///./src/Signin.tsx","webpack:///./src/onboarding/components/InitStep.tsx","webpack:///./src/onboarding/components/AdminStep.tsx","webpack:///./src/shared/components/resource_fetcher/ResourceFetcher.tsx","webpack:///./src/shared/components/resource_fetcher/index.ts","webpack:///./src/onboarding/components/CompletionAdvancedButton.tsx","webpack:///./src/onboarding/components/CompletionQuickStartButton.tsx","webpack:///./src/organizations/apis/index.ts","webpack:///./src/onboarding/components/CompletionStep.tsx","webpack:///./src/onboarding/components/OnboardingStepSwitcher.tsx","webpack:///./src/onboarding/actions/index.ts","webpack:///./src/onboarding/containers/OnboardingWizard.tsx","webpack:///./src/onboarding/containers/OnboardingWizardPage.tsx","webpack:///./src/onboarding/components/SigninForm.tsx","webpack:///./src/onboarding/containers/SigninPage.tsx","webpack:///./src/onboarding/components/HelperText.tsx","webpack:///./src/onboarding/components/LoginForm.tsx","webpack:///./src/shared/components/SocialButton.tsx","webpack:///./src/shared/graphics/GoogleLogo.tsx","webpack:///./src/onboarding/containers/LoginPageContents.tsx","webpack:///./src/onboarding/containers/LoginPage.tsx","webpack:///./src/Logout.tsx","webpack:///./src/Setup.tsx","webpack:///./src/onboarding/utils/index.ts","webpack:///./src/shared/components/NotFound.tsx","webpack:///./src/shared/containers/GetLinks.tsx","webpack:///./src/index.tsx","webpack:///./src/types/index.ts","webpack:///./src/shared/decorators/errors.tsx","webpack:///./src/client/generatedRoutes.ts","webpack:///./src/client/index.ts","webpack:///./src/resources/selectors/index.ts","webpack:///./src/organizations/selectors/index.ts","webpack:///./src/shared/constants/index.ts","webpack:///./src/shared/actions/notifications.ts","webpack:///./src/shared/copy/notifications.ts","webpack:///./src/timeMachine/selectors/index.ts","webpack:///./src/cloud/apis/reporting.ts","webpack:///./src/cloud/utils/reporting.ts","webpack:///./src/shared/utils/featureFlag.ts","webpack:///./src/timeMachine/actions/index.ts","webpack:///./src/alerting/utils/customCheck.ts","webpack:///./src/resources/components/GetResources.tsx","webpack:///./src/resources/selectors/getResourcesStatus.ts","webpack:///./src/shared/utils/sort.ts","webpack:///./src/shared/utils/vis.ts","webpack:///./src/shared/components/editable_description/EditableDescription.tsx","webpack:///./src/clockface/components/inputs/multipleInput/Row.tsx","webpack:///./src/clockface/components/inputs/multipleInput/MultipleRows.tsx","webpack:///./src/clockface/components/inputs/multipleInput/MultipleInput.tsx","webpack:///./src/clockface/components/wizard/WizardFullScreen.tsx","webpack:///./src/clockface/components/wizard/WizardOverlay.tsx","webpack:///./src/clockface/components/wizard/WizardProgressHeader.tsx","webpack:///./src/clockface/components/wizard/ProgressBar.tsx","webpack:///./src/clockface/components/context_menu/ContextMenuItem.tsx","webpack:///./src/clockface/components/context_menu/ContextMenu.tsx","webpack:///./src/clockface/types/index.ts","webpack:///./src/clockface/components/context_menu/Context.tsx","webpack:///./src/cloud/actions/limits.ts","webpack:///./src/cloud/apis/limits.ts","webpack:///./src/dashboards/constants/index.ts","webpack:///./src/notebooks/context/pipe.tsx","webpack:///./src/variables/selectors/index.tsx","webpack:///./src/utils/api.ts","webpack:///./src/alerting/constants/index.ts","webpack:///./src/schemas/labels.ts","webpack:///./src/cloud/utils/limits.ts","webpack:///./src/variables/actions/thunks.ts","webpack:///./src/dashboards/actions/thunks.ts","webpack:///./src/templates/actions/thunks.ts","webpack:///./src/notebooks/context/notebook.current.tsx","webpack:///./src/dashboards/selectors/index.ts","webpack:///./src/dashboards/utils/getTimezoneOffset.ts","webpack:///./src/shared/utils/duration.ts","webpack:///./src/timeMachine/constants/queryBuilder.ts","webpack:///./src/variables/constants/index.ts","webpack:///./src/timeMachine/actions/queries.ts","webpack:///./src/shared/apis/query.ts","webpack:///./src/tasks/actions/thunks.ts","webpack:///./src/shared/utils/insertPreambleInScript.ts","webpack:///./src/shared/actions/app.ts","webpack:///./src/shared/constants/timeRanges.ts","webpack:///./src/views/helpers/index.ts","webpack:///./src/alerting/actions/alertBuilder.ts","webpack:///./src/shared/components/EmptyGraphMessage.tsx","webpack:///./src/types/dataLoaders.ts","webpack:///./src/labels/actions/creators.ts","webpack:///./src/cloud/constants/index.ts","webpack:///./src/templates/api/index.ts","webpack:///./src/schemas/dashboards.ts","webpack:///./src/schemas/buckets.ts","webpack:///./src/schemas/members.ts","webpack:///./src/schemas/orgs.ts","webpack:///./src/schemas/scrapers.ts","webpack:///./src/shared/constants/graphColorPalettes.ts","webpack:///./src/templates/actions/creators.ts","webpack:///./src/timeMachine/actions/queryBuilder.ts","webpack:///./src/buckets/actions/thunks.ts","webpack:///./src/notebooks/index.ts","webpack:///./src/dataLoaders/actions/dataLoaders.ts","webpack:///./src/overlays/actions/overlays.ts","webpack:///./src/shared/utils/errors.ts","webpack:///./src/variables/utils/buildVarsOption.ts","webpack:///./src/templates/constants/defaultTemplates.ts","webpack:///./src/shared/copy/cell.ts","webpack:///./src/utils/basepath.ts","webpack:///./src/dashboards/actions/ranges.ts","webpack:///./src/notifications/rules/utils/index.ts","webpack:///./src/resources/constants/index.ts","webpack:///./src/buckets/constants/index.ts","webpack:///./src/tasks/actions/creators.ts","webpack:///./src/dashboards/actions/creators.ts","webpack:///./src/views/actions/creators.ts","webpack:///./src/shared/constants/thresholds.ts","webpack:///./src/labels/utils/index.ts","webpack:///./src/shared/apis/queryCache.ts","webpack:///./src/schemas/variables.ts","webpack:///./src/dataLoaders/graphics/LogoCpu.tsx","webpack:///./src/dataLoaders/graphics/LogoDocker.tsx","webpack:///./src/dataLoaders/graphics/LogoKubernetes.tsx","webpack:///./src/dataLoaders/graphics/LogoNginx.tsx","webpack:///./src/dataLoaders/graphics/LogoRedis.tsx","webpack:///./src/dataLoaders/constants/pluginConfigs.ts","webpack:///./src/dashboards/utils/cellGetters.ts","webpack:///./src/cells/actions/thunks.ts","webpack:///./src/shared/utils/getMinDurationFromAST.ts","webpack:///./src/variables/utils/getWindowVars.ts","webpack:///./src/shared/constants/tableGraph.ts","webpack:///./src/timeMachine/utils/queryBuilder.ts","webpack:///./src/clockface/constants/wizard.ts","webpack:///./src/shared/components/views/MarkdownRenderer.tsx","webpack:///./src/shared/parsing/flux/response.ts","webpack:///./src/schemas/tasks.ts","webpack:///./src/schemas/telegrafs.ts","webpack:///./src/dataLoaders/actions/telegrafEditor.ts","webpack:///./src/telegrafs/actions/thunks.ts","webpack:///./src/shared/components/CodeSnippet.tsx","webpack:///./src/onboarding/components/OnboardingButtons.tsx","webpack:///./src/external/monaco.flux.syntax.ts","webpack:///./src/external/monaco.flux.messages.ts","webpack:///./src/external/monaco.flux.lsp.ts","webpack:///./src/external/monaco.flux.server.ts","webpack:///./src/external/monaco.flux.hotkeys.ts","webpack:///./src/shared/components/FluxMonacoEditor.tsx","webpack:///./src/checks/utils/index.ts","webpack:///./src/checks/utils/checkValidate.ts","webpack:///./src/checks/actions/thunks.ts","webpack:///./src/shared/components/EmptyGraphErrorTooltip.tsx","webpack:///./src/shared/components/EmptyGraphError.tsx","webpack:///./src/shared/components/EmptyQueryView.tsx","webpack:///./src/utils/ajax.ts","webpack:///./src/shared/actions/flags.ts","webpack:///./src/cells/actions/creators.ts","webpack:///./src/variables/actions/creators.ts","webpack:///./src/buckets/actions/creators.ts","webpack:///./src/perf/actions/index.ts","webpack:///./src/schemas/authorizations.ts","webpack:///./src/labels/constants/index.ts","webpack:///./src/schemas/checks.ts","webpack:///./src/dashboards/utils/tableGraph.ts","webpack:///./src/shared/selectors/currentContext.ts","webpack:///./src/variables/utils/getTimeRangeVars.ts","webpack:///./src/shared/utils/filterUnusedVars.ts","webpack:///./src/templates/utils/index.ts","webpack:///./src/shared/utils/resourceToTemplate.ts","webpack:///./src/schemas/endpoints.ts","webpack:///./src/schemas/rules.ts","webpack:///./src/schemas/templates.ts","webpack:///./src/authorizations/actions/thunks.ts","webpack:///./src/utils/naming.ts","webpack:///./src/notifications/rules/actions/thunks.ts","webpack:///./src/shared/components/CopyButton.tsx","webpack:///./src/shared/components/ClickOutside.tsx","webpack:///./src/notebooks/context/results.tsx","webpack:///./src/notebooks/context/notebook.list.tsx","webpack:///./src/notebooks/context/app.tsx","webpack:///./src/notebooks/context/buckets.tsx","webpack:///./src/dataLoaders/actions/steps.ts","webpack:///./src/shared/utils/preventNegativeZero.ts","webpack:///./src/shared/utils/formatStatValue.ts","webpack:///./src/shared/constants/gaugeSpecs.ts","webpack:///./src/shared/components/Gauge.tsx","webpack:///./src/shared/components/GaugeChart.tsx","webpack:///./src/shared/constants/colorOperations.ts","webpack:///./src/shared/components/SingleStat.tsx","webpack:///./src/shared/components/tables/TableGraphTransform.tsx","webpack:///./src/shared/components/tables/TableCell.tsx","webpack:///./src/shared/components/MultiGrid/CellMeasurerCacheDecorator.ts","webpack:///./src/shared/components/MultiGrid/MultiGrid.tsx","webpack:///./src/shared/components/tables/TableGraphTable.tsx","webpack:///./src/shared/components/tables/TableGraph.tsx","webpack:///./src/shared/components/tables/TableSidebarItem.tsx","webpack:///./src/shared/components/tables/TableSidebar.tsx","webpack:///./src/shared/components/tables/TableGraphs.tsx","webpack:///./src/shared/utils/useVisDomainSettings.ts","webpack:///./src/shared/components/HistogramPlot.tsx","webpack:///./src/shared/components/HeatmapPlot.tsx","webpack:///./src/shared/components/MosaicPlot.tsx","webpack:///./src/shared/components/XYPlot.tsx","webpack:///./src/shared/components/ScatterPlot.tsx","webpack:///./src/shared/utils/latestValues.ts","webpack:///./src/shared/components/LatestValueTransform.tsx","webpack:///./src/shared/components/BandPlot.tsx","webpack:///./src/shared/components/ViewSwitcher.tsx","webpack:///./src/normalizers/localStorage/dashboardTime.ts","webpack:///./src/normalizers/localStorage/appPersisted.ts","webpack:///./src/normalizers/localStorage/resources.ts","webpack:///./src/localStorage.ts","webpack:///./src/normalizers/localStorage/localStorage.ts","webpack:///./src/timeMachine/constants/index.ts","webpack:///./src/timeMachine/constants/visGraphics.tsx","webpack:///./src/timeMachine/components/view_options/ViewTypeDropdown.tsx","webpack:///./src/variables/utils/resolveSelectedValue.ts","webpack:///./src/variables/utils/ValueFetcher.ts","webpack:///./src/variables/utils/hydrateVars.ts","webpack:///./src/notifications/endpoints/utils/index.ts","webpack:///./src/notifications/endpoints/actions/thunks.ts","webpack:///./src/labels/actions/thunks.ts","webpack:///./src/labels/selectors/index.ts","webpack:///./src/types/colors.ts","webpack:///./src/types/dashboards.ts","webpack:///./src/types/overlay.ts","webpack:///./src/types/promises.ts","webpack:///./src/types/timeZones.ts","webpack:///./src/organizations/actions/creators.ts","webpack:///./src/dataLoaders/utils/pluginConfigs.ts","webpack:///./src/utils/wrappers.ts","webpack:///./src/shared/utils/validateURI.ts","webpack:///./src/telegrafs/actions/creators.ts","webpack:///./src/authorizations/actions/creators.ts","webpack:///./src/dashboards/apis/index.ts","webpack:///./src/shared/utils/ast.ts","webpack:///./src/shared/utils/fromFlux.ts","webpack:///./src/timeMachine/apis/queryBuilder.ts","webpack:///./src/cloud/apis/demodata.ts","webpack:///./src/authorizations/apis/index.ts","webpack:///./src/scrapers/actions/thunks.ts","webpack:///./src/external/monaco.onigasm.ts","webpack:///./src/dataLoaders/components/BucketsDropdown.tsx","webpack:///./src/shared/utils/useOneWayState.ts","webpack:///./src/dashboards/utils/hoverTime.tsx","webpack:///./src/buckets/selectors/index.ts","webpack:///./src/utils/autoAggregateRequirements.ts","webpack:///./src/views/actions/thunks.ts","webpack:///./src/views/selectors/index.ts","webpack:///./src/notebooks/shared/ResizerHeader.tsx","webpack:///./src/notebooks/shared/Resizer.tsx","webpack:///./src/types/alerting.ts","webpack:///./src/utils/nodes.ts","webpack:///./src/types/auth.ts","webpack:///./src/types/autoRefresh.ts","webpack:///./src/types/buckets.ts","webpack:///./src/types/dataExplorer.ts","webpack:///./src/types/flux.ts","webpack:///./src/types/logEvent.ts","webpack:///./src/types/notifications.ts","webpack:///./src/types/orgs.ts","webpack:///./src/types/queries.ts","webpack:///./src/types/resources.ts","webpack:///./src/types/sources.ts","webpack:///./src/types/tasks.ts","webpack:///./src/types/templates.ts","webpack:///./src/shared/actions/currentDashboard.ts","webpack:///./src/dashboards/utils/time.ts","webpack:///./src/shared/actions/me.ts","webpack:///./src/shared/selectors/flags.ts","webpack:///./src/shared/reducers/currentPage.ts","webpack:///./src/scrapers/actions/creators.ts","webpack:///./src/members/actions/creators.ts","webpack:///./src/checks/actions/creators.ts","webpack:///./src/notifications/rules/actions/creators.ts","webpack:///./src/notifications/endpoints/actions/creators.ts","webpack:///./src/shared/reducers/schema.ts","webpack:///./src/shared/actions/schemaCreator.ts","webpack:///./src/store/history.ts","webpack:///./src/shared/components/DefaultErrorMessage.tsx","webpack:///./src/portals/TooltipPortal.tsx","webpack:///./src/dashboards/utils/notes.ts","webpack:///./src/utils/formatting.ts","webpack:///./src/external/parser.ts","webpack:///./src/utils/fast.ts","webpack:///./src/variables/utils/formatVarsOption.ts","webpack:///./src/variables/utils/formatExpression.ts","webpack:///./src/utils/Deferred.ts","webpack:///./src/shared/apis/singleQuery.ts","webpack:///./src/alerting/utils/statusEvents.ts","webpack:///./src/variables/utils/exportVariables.ts","webpack:///./src/cloud/utils/demoDataErrors.ts","webpack:///./src/timeMachine/apis/QueryBuilderFetcher.ts","webpack:///./src/members/actions/thunks.ts","webpack:///./src/external/monaco.flux.theme.ts","webpack:///./src/external/monaco.autogrow.ts","webpack:///./src/alerting/utils/vis.ts","webpack:///./src/shared/components/views/ScrollableMarkdown.tsx","webpack:///./src/shared/components/FluxTablesTransform.tsx","webpack:///./src/timeMachine/components/RawFluxDataGrid.tsx","webpack:///./src/shared/utils/fromFlux.legacy.ts","webpack:///./src/shared/selectors/app.ts","webpack:///./src/notebooks/context/resource.hook.tsx","webpack:///./src/dataLoaders/selectors/index.ts","webpack:///./src/writeData/graphics/placeholderLogo.svg","webpack:///./src/shared/middleware/resizeLayout.ts","webpack:///./src/shared/middleware/queryStringConfig.ts","webpack:///./src/shared/reducers/app.ts","webpack:///./src/shared/reducers/links.ts","webpack:///./src/shared/reducers/currentDashboard.ts","webpack:///./src/shared/reducers/notifications.ts","webpack:///./src/shared/reducers/index.ts","webpack:///./src/shared/reducers/me.ts","webpack:///./src/shared/reducers/flags.ts","webpack:///./src/tasks/reducers/helpers.ts","webpack:///./src/resources/reducers/helpers.ts","webpack:///./src/tasks/reducers/index.ts","webpack:///./src/dashboards/reducers/ranges.ts","webpack:///./src/dashboards/reducers/dashboards.ts","webpack:///./src/cells/reducers/index.ts","webpack:///./src/views/reducers/index.ts","webpack:///./src/timeMachine/reducers/index.ts","webpack:///./src/organizations/reducers/index.ts","webpack:///./src/overlays/reducers/overlays.ts","webpack:///./src/onboarding/reducers/index.ts","webpack:///./src/dashboards/reducers/notes.ts","webpack:///./src/dataLoaders/reducers/dataLoaders.ts","webpack:///./src/dataLoaders/reducers/steps.ts","webpack:///./src/dataLoaders/reducers/index.tsx","webpack:///./src/variables/reducers/editor.ts","webpack:///./src/variables/reducers/index.ts","webpack:///./src/labels/reducers/index.ts","webpack:///./src/buckets/reducers/index.ts","webpack:///./src/telegrafs/reducers/index.ts","webpack:///./src/authorizations/reducers/index.ts","webpack:///./src/templates/reducers/index.ts","webpack:///./src/scrapers/reducers/index.ts","webpack:///./src/userSettings/reducers/index.ts","webpack:///./src/members/reducers/index.ts","webpack:///./src/shared/reducers/autoRefresh.ts","webpack:///./src/cloud/reducers/limits.ts","webpack:///./src/cloud/reducers/demodata.ts","webpack:///./src/cloud/reducers/orgsettings.ts","webpack:///./src/checks/reducers/index.ts","webpack:///./src/notifications/rules/reducers/index.ts","webpack:///./src/notifications/endpoints/reducers/index.ts","webpack:///./src/dataLoaders/reducers/telegrafEditor.ts","webpack:///./src/shared/reducers/predicates.ts","webpack:///./src/alerting/reducers/alertBuilder.ts","webpack:///./src/perf/reducers/index.ts","webpack:///./src/store/configureStore.ts","webpack:///./src/store/persistStateEnhancer.ts","webpack:///./src/shared/components/ThresholdMarker.tsx","webpack:///./src/shared/utils/useDragBehavior.ts","webpack:///./src/shared/components/ThresholdMarkerArea.tsx","webpack:///./src/shared/components/RangeThresholdMarkers.tsx","webpack:///./src/shared/components/LessThresholdMarker.tsx","webpack:///./src/shared/components/GreaterThresholdMarker.tsx","webpack:///./src/shared/components/ThresholdMarkers.tsx","webpack:///./src/shared/components/BoxTooltip.tsx","webpack:///./src/shared/components/EventMarkerTooltip.tsx","webpack:///./src/shared/components/EventMarker.tsx","webpack:///./src/shared/components/EventMarkers.tsx","webpack:///./src/shared/components/CheckPlot.tsx","webpack:///./src/external/monaco.toml.theme.ts","webpack:///./src/external/monaco.toml.syntax.ts","webpack:///./src/shared/components/TomlMonacoEditor.tsx","webpack:///./src/notebooks/pipes/Visualization/DashboardList.tsx","webpack:///./src/notebooks/pipes/Visualization/ExportVisualizationButton.tsx","webpack:///./src/notebooks/pipes/Visualization/view.tsx","webpack:///./src/shared/actions/links.ts","webpack:///./src/shared/apis/links.ts","webpack:///./src/cloud/actions/orgsettings.ts","webpack:///./src/cloud/apis/orgsettings.ts","webpack:///./src/shared/components/TokenCodeSnippet.tsx","webpack:///./src/dataLoaders/components/verifyStep/TelegrafInstructions.tsx","webpack:///./src/timeMachine/utils/rawFluxDataTable.ts","webpack:///./src/timeMachine/components/RawFluxDataTable.tsx","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/notebooks/pipes sync index\\.(ts|tsx)$","webpack:///./src/notebooks/pipes/Visualization/index.ts","webpack:///./src/writeData/graphics/arduinoLogo.svg","webpack:///./src/writeData/graphics/csharpLogo.svg","webpack:///./src/writeData/graphics/goLogo.svg","webpack:///./src/writeData/graphics/javaLogo.svg","webpack:///./src/writeData/graphics/nodeLogo.svg","webpack:///./src/writeData/graphics/pythonLogo.svg","webpack:///./src/writeData/graphics/rubyLogo.svg","webpack:///./src/writeData/graphics/phpLogo.svg","webpack:///./src/writeData/graphics/kotlinLogo.svg","webpack:///./src/writeData/graphics/scalaLogo.svg","webpack:///./src/writeData/graphics/activemq.svg","webpack:///./src/writeData/graphics/aerospike.svg","webpack:///./src/writeData/graphics/amqp_consumer.svg","webpack:///./src/writeData/graphics/apache.svg","webpack:///./src/writeData/graphics/apcupsd.svg","webpack:///./src/writeData/graphics/aurora.svg","webpack:///./src/writeData/graphics/azure_storage_queue.svg","webpack:///./src/writeData/graphics/bcache.svg","webpack:///./src/writeData/graphics/beanstalkd.svg","webpack:///./src/writeData/graphics/beat.svg","webpack:///./src/writeData/graphics/bind.svg","webpack:///./src/writeData/graphics/bond.svg","webpack:///./src/writeData/graphics/burrow.svg","webpack:///./src/writeData/graphics/cassandra.svg","webpack:///./src/writeData/graphics/ceph.svg","webpack:///./src/writeData/graphics/cgroup.svg","webpack:///./src/writeData/graphics/chrony.svg","webpack:///./src/writeData/graphics/cisco_telemetry_mdt.svg","webpack:///./src/writeData/graphics/clickhouse.svg","webpack:///./src/writeData/graphics/cloud_pubsub_push.svg","webpack:///./src/writeData/graphics/cloud_pubsub.svg","webpack:///./src/writeData/graphics/cloudwatch.svg","webpack:///./src/writeData/graphics/conntrack.svg","webpack:///./src/writeData/graphics/consul.svg","webpack:///./src/writeData/graphics/couchbase.svg","webpack:///./src/writeData/graphics/couchdb.svg","webpack:///./src/writeData/graphics/cpu.svg","webpack:///./src/writeData/graphics/dcos.svg","webpack:///./src/writeData/graphics/diskio.svg","webpack:///./src/writeData/graphics/disk.svg","webpack:///./src/writeData/graphics/disque.svg","webpack:///./src/writeData/graphics/dmcache.svg","webpack:///./src/writeData/graphics/dns_query.svg","webpack:///./src/writeData/graphics/docker_log.svg","webpack:///./src/writeData/graphics/docker.svg","webpack:///./src/writeData/graphics/dovecot.svg","webpack:///./src/writeData/graphics/ecs.svg","webpack:///./src/writeData/graphics/elasticsearch.svg","webpack:///./src/writeData/graphics/ethtool.svg","webpack:///./src/writeData/graphics/eventhub_consumer.svg","webpack:///./src/writeData/graphics/execd.svg","webpack:///./src/writeData/graphics/exec.svg","webpack:///./src/writeData/graphics/fail2ban.svg","webpack:///./src/writeData/graphics/fibaro.svg","webpack:///./src/writeData/graphics/filecount.svg","webpack:///./src/writeData/graphics/file.svg","webpack:///./src/writeData/graphics/filestat.svg","webpack:///./src/writeData/graphics/fireboard.svg","webpack:///./src/writeData/graphics/fluentd.svg","webpack:///./src/writeData/graphics/github.svg","webpack:///./src/writeData/graphics/gnmi.svg","webpack:///./src/writeData/graphics/graylog.svg","webpack:///./src/writeData/graphics/haproxy.svg","webpack:///./src/writeData/graphics/hddtemp.svg","webpack:///./src/writeData/graphics/http_listener_v2.svg","webpack:///./src/writeData/graphics/http_response.svg","webpack:///./src/writeData/graphics/httpjson.svg","webpack:///./src/writeData/graphics/http.svg","webpack:///./src/writeData/graphics/icinga2.svg","webpack:///./src/writeData/graphics/infiniband.svg","webpack:///./src/writeData/graphics/influxdb_listener.svg","webpack:///./src/writeData/graphics/influxdb_v2_listener.svg","webpack:///./src/writeData/graphics/intel_powerstat.svg","webpack:///./src/writeData/graphics/intel_rdt.svg","webpack:///./src/writeData/graphics/influxdb.svg","webpack:///./src/writeData/graphics/internal.svg","webpack:///./src/writeData/graphics/interrupts.svg","webpack:///./src/writeData/graphics/ipmi_sensor.svg","webpack:///./src/writeData/graphics/ipset.svg","webpack:///./src/writeData/graphics/iptables.svg","webpack:///./src/writeData/graphics/ipvs.svg","webpack:///./src/writeData/graphics/jenkins.svg","webpack:///./src/writeData/graphics/jolokia2.svg","webpack:///./src/writeData/graphics/jolokia.svg","webpack:///./src/writeData/graphics/jti_openconfig_telemetry.svg","webpack:///./src/writeData/graphics/kafka_consumer_legacy.svg","webpack:///./src/writeData/graphics/kafka_consumer.svg","webpack:///./src/writeData/graphics/kapacitor.svg","webpack:///./src/writeData/graphics/kernel_vmstat.svg","webpack:///./src/writeData/graphics/kernel.svg","webpack:///./src/writeData/graphics/kibana.svg","webpack:///./src/writeData/graphics/kinesis_consumer.svg","webpack:///./src/writeData/graphics/kube_inventory.svg","webpack:///./src/writeData/graphics/kubernetes.svg","webpack:///./src/writeData/graphics/lanz.svg","webpack:///./src/writeData/graphics/leofs.svg","webpack:///./src/writeData/graphics/linux_sysctl_fs.svg","webpack:///./src/writeData/graphics/logparser.svg","webpack:///./src/writeData/graphics/logstash.svg","webpack:///./src/writeData/graphics/lustre2.svg","webpack:///./src/writeData/graphics/mailchimp.svg","webpack:///./src/writeData/graphics/marklogic.svg","webpack:///./src/writeData/graphics/mcrouter.svg","webpack:///./src/writeData/graphics/memcached.svg","webpack:///./src/writeData/graphics/mem.svg","webpack:///./src/writeData/graphics/mesos.svg","webpack:///./src/writeData/graphics/minecraft.svg","webpack:///./src/writeData/graphics/modbus.svg","webpack:///./src/writeData/graphics/mongodb.svg","webpack:///./src/writeData/graphics/monit.svg","webpack:///./src/writeData/graphics/mqtt_consumer.svg","webpack:///./src/writeData/graphics/multifile.svg","webpack:///./src/writeData/graphics/mysql.svg","webpack:///./src/writeData/graphics/nats_consumer.svg","webpack:///./src/writeData/graphics/nats.svg","webpack:///./src/writeData/graphics/neptune_apex.svg","webpack:///./src/writeData/graphics/net_response.svg","webpack:///./src/writeData/graphics/nginx_plus_api.svg","webpack:///./src/writeData/graphics/nginx_plus.svg","webpack:///./src/writeData/graphics/nginx_sts.svg","webpack:///./src/writeData/graphics/nginx_upstream_check.svg","webpack:///./src/writeData/graphics/nginx_vts.svg","webpack:///./src/writeData/graphics/nsd.svg","webpack:///./src/writeData/graphics/nginx.svg","webpack:///./src/writeData/graphics/nsq_consumer.svg","webpack:///./src/writeData/graphics/nsq.svg","webpack:///./src/writeData/graphics/nstat.svg","webpack:///./src/writeData/graphics/ntpq.svg","webpack:///./src/writeData/graphics/nvidia_smi.svg","webpack:///./src/writeData/graphics/opcua.svg","webpack:///./src/writeData/graphics/openldap.svg","webpack:///./src/writeData/graphics/openntpd.svg","webpack:///./src/writeData/graphics/opensmtpd.svg","webpack:///./src/writeData/graphics/openweathermap.svg","webpack:///./src/writeData/graphics/passenger.svg","webpack:///./src/writeData/graphics/pf.svg","webpack:///./src/writeData/graphics/pgbouncer.svg","webpack:///./src/writeData/graphics/phpfpm.svg","webpack:///./src/writeData/graphics/ping.svg","webpack:///./src/writeData/graphics/postfix.svg","webpack:///./src/writeData/graphics/postgresql_extensible.svg","webpack:///./src/writeData/graphics/postgresql.svg","webpack:///./src/writeData/graphics/powerdns_recursor.svg","webpack:///./src/writeData/graphics/powerdns.svg","webpack:///./src/writeData/graphics/processes.svg","webpack:///./src/writeData/graphics/procstat.svg","webpack:///./src/writeData/graphics/prometheus.svg","webpack:///./src/writeData/graphics/proxmox.svg","webpack:///./src/writeData/graphics/puppetagent.svg","webpack:///./src/writeData/graphics/rabbitmq.svg","webpack:///./src/writeData/graphics/raindrops.svg","webpack:///./src/writeData/graphics/ras.svg","webpack:///./src/writeData/graphics/redfish.svg","webpack:///./src/writeData/graphics/redis.svg","webpack:///./src/writeData/graphics/rethinkdb.svg","webpack:///./src/writeData/graphics/riak.svg","webpack:///./src/writeData/graphics/riemann_listener.svg","webpack:///./src/writeData/graphics/salesforce.svg","webpack:///./src/writeData/graphics/sensors.svg","webpack:///./src/writeData/graphics/sflow.svg","webpack:///./src/writeData/graphics/smart.svg","webpack:///./src/writeData/graphics/snmp_legacy.svg","webpack:///./src/writeData/graphics/snmp_trap.svg","webpack:///./src/writeData/graphics/snmp.svg","webpack:///./src/writeData/graphics/socket_listener.svg","webpack:///./src/writeData/graphics/solr.svg","webpack:///./src/writeData/graphics/sqlserver.svg","webpack:///./src/writeData/graphics/stackdriver.svg","webpack:///./src/writeData/graphics/statsd.svg","webpack:///./src/writeData/graphics/suricata.svg","webpack:///./src/writeData/graphics/swap.svg","webpack:///./src/writeData/graphics/synproxy.svg","webpack:///./src/writeData/graphics/syslog.svg","webpack:///./src/writeData/graphics/sysstat.svg","webpack:///./src/writeData/graphics/systemd_units.svg","webpack:///./src/writeData/graphics/system.svg","webpack:///./src/writeData/graphics/tail.svg","webpack:///./src/writeData/graphics/tcp_listener.svg","webpack:///./src/writeData/graphics/teamspeak.svg","webpack:///./src/writeData/graphics/temp.svg","webpack:///./src/writeData/graphics/tengine.svg","webpack:///./src/writeData/graphics/tomcat.svg","webpack:///./src/writeData/graphics/udp_listener.svg","webpack:///./src/writeData/graphics/unbound.svg","webpack:///./src/writeData/graphics/uwsgi.svg","webpack:///./src/writeData/graphics/varnish.svg","webpack:///./src/writeData/graphics/vsphere.svg","webpack:///./src/writeData/graphics/webhooks.svg","webpack:///./src/writeData/graphics/win_eventlog.svg","webpack:///./src/writeData/graphics/win_perf_counters.svg","webpack:///./src/writeData/graphics/win_services.svg","webpack:///./src/writeData/graphics/wireguard.svg","webpack:///./src/writeData/graphics/wireless.svg","webpack:///./src/writeData/graphics/x509_cert.svg","webpack:///./src/writeData/graphics/zfs.svg","webpack:///./src/writeData/graphics/zipkin.svg","webpack:///./src/writeData/graphics/zookeeper.svg","webpack:///./src/notebooks/pipes/Data/AggregateWindowSelector.tsx","webpack:///./src/shared/utils/flowSchemaNormalizer.ts","webpack:///./src/shared/actions/schemaThunks.ts","webpack:///./src/shared/selectors/schemaSelectors.ts","webpack:///./src/notebooks/context/schemaProvider.tsx","webpack:///./src/notebooks/pipes/Data/BucketSelector.tsx","webpack:///./src/notebooks/pipes/Data/MeasurementSelectors.tsx","webpack:///./src/notebooks/pipes/Data/FieldSelectors.tsx","webpack:///./src/notebooks/pipes/Data/TagSelectors.tsx","webpack:///./src/notebooks/pipes/Data/Selectors.tsx","webpack:///./src/notebooks/pipes/Data/FieldsList.tsx","webpack:///./src/notebooks/pipes/Data/SearchBar.tsx","webpack:///./src/notebooks/pipes/Data/FilterTags.tsx","webpack:///./src/notebooks/pipes/Data/view.tsx","webpack:///./src/notebooks/pipes/Data/index.ts","webpack:///./src/notebooks/pipes/markdown/MarkdownModeToggle.tsx","webpack:///./src/external/monaco.markdown.syntax.ts","webpack:///./src/shared/components/MarkdownMonacoEditor.tsx","webpack:///./src/notebooks/pipes/markdown/MarkdownPanel.tsx","webpack:///./src/notebooks/pipes/markdown/index.ts","webpack:///./src/notebooks/pipes/Query/ResultsPagination.tsx","webpack:///./src/notebooks/pipes/Query/Results.tsx","webpack:///./src/notebooks/pipes/Query/view.tsx","webpack:///./src/notebooks/pipes/Query/index.ts","webpack:///./src/notebooks/pipes/Spotify/embedded.tsx","webpack:///./src/notebooks/pipes/Spotify/editor.tsx","webpack:///./src/notebooks/pipes/Spotify/view.tsx","webpack:///./src/notebooks/pipes/Spotify/index.ts","webpack:///./src/notebooks/pipes/Bucket/BucketSelector.tsx","webpack:///./src/notebooks/pipes/Bucket/view.tsx","webpack:///./src/notebooks/pipes/Bucket/index.ts","webpack:///./src/notebooks/pipes/TestFlux/view.tsx","webpack:///./src/notebooks/pipes/TestFlux/index.ts"],"names":["me","history","className","src","width","name","text","color","Primary","onClick","push","children","this","props","getNavItemActivation","keywords","location","parentPath","split","slice","length","some","path","includes","mdtp","handleShowOverlay","handleDismissOverlay","state","org","orgPrefix","id","User","username","team","testID","CloudOnly","UserItem","label","linkElement","href","to","CloudExclude","active","pathname","link","Header","icon","glyph","CuboNav","cloud","Secondary","settings","hideUpgradeButtonSetting","setting","key","value","inView","gradient","HotelBreakfast","size","ExtraSmall","justifyContent","Center","element","H5","Footer","target","Star","getOrgSettings","dispatch","hasFetchedOrgSettings","setHasFetchedOrgSettings","reduce","prev","curr","isHidden","navBarState","handleSetNavBarState","match","exact","strict","orgID","params","isExpanded","navItems","DisksNav","shortLabel","type","activeKeywords","menu","cloudExclude","GraphLine","Erlenmeyer","featureFlag","Dashboards","Calendar","Bell","WrenchNav","generateNavItems","expanded","headerElement","userElement","onToggleClick","bannerElement","map","item","navItemElement","Item","Boolean","SubMenu","menuItem","navSubItemElement","SubItem","cloudOnly","equals","featureFlagValue","NOTES_PORTAL_ID","NotesPortal","matchGradientToColor","style","converter","Warning","WarningLight","Success","Error","DangerDark","Info","DefaultLight","notifications","duration","message","linkText","button","onTimeout","dismissNotification","onDismiss","defaultProps","OPTIONS","mode","theme","tabIndex","readonly","lineNumbers","autoRefresh","completeSingle","lineWrapping","placeholder","noOp","handleMount","instance","focus","editor","handleChange","_","__","note","onChangeNote","handleScroll","scrollInfo","onScroll","top","currentScrollTop","getScrollInfo","scrollTop","scrollTo","autoCursor","options","onBeforeChange","onTouchStart","editorDidMount","cloudImageRenderer","MarkdownRenderer","cloudRenderers","image","imageReference","handleEditorScroll","setState","handlePreviewScroll","e","onSetNote","visibilityToggle","hasQuery","showNoteWhenEmpty","onToggleShowNoteWhenEmpty","direction","Row","FlexEnd","onChange","onSetIsPreviewing","isPreviewing","payload","viewID","noteEditor","Editing","resources","views","byID","properties","savingStatus","NotStarted","handleDismiss","onClose","handleSave","cellID","dashboardID","onCreateNoteCell","onUpdateViewNote","onNotify","Loading","error","console","loadNote","resetNote","prevProps","viewsStatus","Done","Container","maxWidth","title","overlayTitle","Body","loading","spinnerComponent","status","saveButtonStatus","Default","getState","dashboard","view","Views","updatedView","currentViewState","noteState","setNoteState","overlays","undefined","allPermissionTypes","ensureT","userID","t","action","resource","x","assertNever","allAccessPermissions","withOrgID","flatMap","specificBucketsPermissions","buckets","permission","b","allBucketsPermissions","selectBucket","bucketName","selectedBuckets","find","n","filter","BucketTab","getMe","description","meID","onCreateAuthorization","permissions","handleInputChange","onSubmit","alignItems","Column","margin","Large","AlertTriangle","Element","Remove","Checkmark","Submit","deleteButton","onDragStart","onDelete","scrollable","maxHeight","addPadding","classname","Menu","Empty","emptyFunction","isInCheckOverlay","onSelect","selectedOption","Button","Disabled","autoHideScrollbars","scrollbarStyles","autoHide","widthPixels","flex","DropdownHeader","items","selectedItems","onSelectItem","multiSelect","wrapText","selected","indicator","Indicator","GundamPilot","sorted","list","sortKey","INEXACT_PATH","EMPTY_ARRAY_BRACKETS","createIndex","terms","extractSuffixes","sort","checkIndex","sortedSuffixes","searchTerm","nearestSuffix","term","suffixes","Array","lowerTerm","toLocaleLowerCase","i","filtered","sortByKey","labels","searchKeys","formattedSearchTerm","listItem","labelID","getKey","isStringArray","searchIndex","String","trimLeft","getInExactKey","results","r","FilterListContainer","FilterBuckets","handleSetSearchTerm","filteredBuckets","sortedBuckets","handleTabClick","tab","activeTab","tabs","shape","StretchToFit","Option","titleText","onTabClick","Stretch","Medium","bucketTabs","builderCard","toLowerCase","AllBuckets","Scoped","onSelectAll","onDeselectAll","Small","Text","titlePreposition","readBuckets","writeBuckets","activeTabRead","activeTabWrite","handleReadTabClick","handleWriteTabClick","handleSelectReadBucket","handleSelectWriteBucket","handleReadSelectAllBuckets","handleReadDeselectAllBuckets","handleWriteSelectAllBuckets","handleWriteDeselectAllBuckets","readBucketPermissions","allReadBucketPermissions","writeBucketPermissions","allWriteBucketPermissions","GetResources","Buckets","widthXS","Twelve","widthSM","Six","nonSystemBuckets","bucket","getTelegrafConfigToml","overlayBody","telegrafConfig","script","readOnly","telegrafs","currentConfig","downloadTextFile","filename","extension","mimeType","formattedName","trim","replace","formatDownloadName","blob","Blob","a","document","createElement","window","URL","createObjectURL","download","body","appendChild","click","parentNode","removeChild","handleDownloadConfig","telegraf","overlay","get","buttonStatus","configStatus","Telegrafs","transform","template","vars","Function","JSON","stringify","output","Object","assign","defaults","values","copyText","CodeSnippet","TELEGRAF_OUTPUT","OUTPUT_DEFAULTS","server","token","selectedBucket","handleSelectBucket","currentBucket","config","_a","_b","_buckets","bucket_dd","selectedBucketID","onSelectBucket","marginTop","origin","orgName","orgSwitcherItemClass","orgSwitcherIcon","CaretRight","currentOrgIndicator","orgs","Orgs","currentOrg","Ascending","sortedOrgs","getStatus","disabled","selectedDuration","onSelectDuration","durations","resolvedDurations","d","displayText","onCollapse","READABLE_DEFAULT_SECONDS","DURATION_OPTIONS","handleRadioClick","onChangeRuleType","handleSelectDuration","durationStr","durationSeconds","onChangeRetentionRule","retentionSeconds","maxRetentionSeconds","limits","handleNameValidation","ruleType","buttonText","disableRenaming","onChangeInput","onClickRename","nameInputStatus","ValidationElement","helpText","nameHelpText","validationFunc","required","autoFocus","errorMessage","ruleErrorMessage","Danger","submitButtonColor","submitButtonStatus","retentionIsTooShort","humanize","DEFAULT_RULES","everySeconds","initialBucketState","isRetentionLimitEnforced","retentionRules","readableRetention","createBucketReducer","createBucket","retentionRule","preventDefault","cloudUpgradeButtonClass","assetName","borderGradient","MiyazakiSky","borderColor","Raven","clearOverlayControllerState","overlayID","activeOverlay","visibility","closer","visible","supportLinks","sortFunc","firstDashboard","secondDashboard","localeCompare","dashboards","getSortedDashboardNames","setSearchTerm","dashboardsList","recentlyModifiedDashboards","reverse","autoSizeHeight","Search","stretchToFitWidth","DashboardsList","animate","version","y","height","viewBox","cx","cy","rx","ry","x1","y1","x2","y2","points","loadDataAnimating","setLoadDataAnimation","dashboardingAnimating","setDashboardingAnimation","alertsAnimating","setAlertsAnimation","PolarExpress","onMouseOver","onMouseOut","backgroundColor","Onyx","showUpgrade","rateLimitAlertContentClass","alertOnly","rateLimitAlertClass","EXCEEDED","Cloud","hideMobileIcon","textColor","Yeti","pageTitleSuffixer","pageTitles","store","join","titleTag","fullWidth","Title","Contents","Eight","widthMD","Nine","Four","Three","Resources","handleLimit","resourceName","onShowOverlay","onDismissOverlay","asset","handleSelect","selection","onSelectNew","onSelectImport","onSelectTemplate","limitStatus","OK","newOption","importOption","templateOption","Plus","optionItems","canImportFromTemplate","super","handleSearch","onSearch","handleBlur","placeholderText","onBlur","generateSortItems","resourceType","sortType","sortDirection","Descending","Date","Tasks","Variables","Labels","Templates","Scrapers","Authorizations","sortDropdownItems","handleItemClick","flexBasis","onCreateTask","setShowInactive","showInactive","onImportTask","onImportFromTemplate","onSort","ControlBar","ControlBarLeft","ControlBarRight","handleMouseOver","handleClick","stopPropagation","colorHex","noScrollX","menuItems","filteredLabels","onItemClick","onUpdateSelectedItemID","selectedItemID","allLabelsUsed","onStartCreatingLabel","ADD_NEW_LABEL_ITEM_ID","ArrowDirection","handleKeyDown","onAddLabel","handleHighlightAdjacentItem","Up","Down","selectedItemIndex","findIndex","Math","min","max","handleRefocusInput","triggerRef","onInputChange","appearance","Outline","position","Below","distanceFromTrigger","showEvent","None","hideEvent","contents","onKeyDown","maxLength","onNameValidation","onCloseModal","onLabelPropertyChange","onColorChange","isFormValid","Box","placeholderLabelName","validatedColor","handleSubmit","onCreateLabel","resetForm","prevState","handleLabelPropertyChange","handleColorChange","colorStatus","overrideDefaultName","isVisible","nameIsValid","colorIsValid","Valid","ADD_NEW_LABEL_LABEL","popoverTrigger","handleAddPopoverEventListener","current","addEventListener","isPopoverVisible","onClickOutside","handleAddLabel","async","selectAvailableItem","filterLabels","handleUpdateSelectedItemID","availableLabels","lowercaseName","lowercaseSearchTerm","acc","filteredLabelsWithAddButton","filteredLabelsWithoutAddButton","updatedAddButton","fl","handleCreateLabel","l","handleStartCreatingLabel","isCreatingLabel","Open","handleStopCreatingLabel","Closed","handleEnsureUniqueLabelName","names","popover","Square","ref","noLabelsIndicator","selectedLabels","labelsUsed","differenceBy","LabelsEditMode","handleLabelClick","labelName","onFilterChange","handleDeleteLabel","onRemoveLabel","isEditable","currentLabels","_label","hasOwnProperty","bind","editMode","Editable","selectedLabelIDs","lastRunError","lastRunStatus","highlight","setHighlight","statusClassName","enableDefaultStyles","Hover","onShow","onHide","handleNameClick","event","task","url","metaKey","open","handleViewRuns","handleRenameTask","onUpdate","handleExport","onAddTaskLabel","handleRemoveLabel","onDeleteTaskLabel","changeToggle","onActivate","isTaskActive","contextMenu","FlexStart","EditableName","noNameString","buttonTestID","inputTestID","Meta","activeToggle","latestCompleted","schedule","labelText","onClone","onRunTask","CogThick","Duplicate","Trash","every","offset","cron","onCreate","totalCount","memGetSortedResources","taskLabelsEdit","isEditingTaskLabels","checkTaskLimits","emptyState","rows","tasks","getAssetLimits","H4","stretchToFitHeight","doNothing","handleConvertToTemplate","onCreateTemplateFromResource","downloadButton","toTemplateButton","copyButton","resourceText","CopyButton","textToCopy","contentName","onCopyText","clearExportTemplate","goBack","convertToTemplate","taskTemplate","templates","exportTemplate","dragCounter","handleWindowDragOver","uploadContent","handleFileClick","file","currentTarget","files","reader","FileReader","readAsText","onload","result","fileName","submitOnUpload","handleFileDrop","dataTransfer","dragClass","submitOnDrop","handleFileOpen","fileInput","handleCancelFile","onCancel","handleDragEnter","handleDragLeave","inputContent","removeEventListener","containerClass","dragAreaClass","dragAreaHeader","infoClass","accept","fileTypesToAccept","buttons","compact","success","submitText","ImportOption","selectedImportOption","Upload","importContent","handleChangeTextArea","updateStatus","handleSetImportContent","submit","clearImportContent","handleSetImportOption","Paste","importBody","submitButton","updateOverlayStatus","handleImportTask","importString","createTaskFromTemplate","notify","parse","autoSize","panelContents","selectedTemplateSummary","templateName","templateDescription","variables","variablesList","cells","cellsList","variable","cell","Cube","meta","TemplateBrowserListItem","selectedTemplate","TemplateBrowserList","handleButtonClick","getAll","allIDs","handleSelectTemplate","submitStatus","filteredTemplates","Task","templateStatus","Filter","handleSort","handleActivate","updateTaskStatus","handleDelete","deleteTask","handleClone","cloneTask","handleCreateTask","summonImportFromTemplateOverlay","summonImportOverlay","isImporting","updateTaskName","filteredTasks","ts","totalTaskCount","hiddenTaskAlert","component","activeFilter","hiddenCount","pluralizer","verb","interval","setSelectedToFirst","selectedBucketName","dropdownItems","onChangeBucketName","selectedName","firstBucketNameInList","handleChangeScheduleType","onChangeScheduleType","taskOptions","taskScheduleType","onChangeToBucketName","toBucketName","isInOverlay","cronHelper","canSubmit","dismiss","onSave","taskOptionsToFluxScript","fluxScript","addDestinationToFluxScript","toOrgName","trimmedScript","trimmedOrgName","handleChangeScript","setNewScript","setTaskOption","newScript","taskOption","preamble","saveNewScript","handleCancel","cancel","handleChangeInput","clearTask","onChangeScript","log","Cell","dateTimeString","time","dt","newdate","format","HeaderCell","columnName","columnCount","listLogs","logs","rl","handleToggleOverlay","taskID","run","getLogs","isImportOverlayVisible","scheduledFor","startedAt","renderLogOverlay","onClickColumn","headerKeys","sortedRuns","runs","handleClickColumn","nextSort","handleRunTask","getRuns","handleEditTask","currentTask","runStatus","Play","setCurrentScript","updateScript","selectTaskByID","setAllTaskOptionsByID","currentScript","funcs","filteredFunctions","func","groupedFunctions","arguments","argsList","desc","example","args","ToolbarFunction","onClickFunction","functionRef","ToTheLeft","category","DEBOUNCE_MS","FROM","package","UNION","FLUX_FUNCTIONS","handleClickFunction","onInsertFluxFunction","sortedFunctions","entries","onSetActiveQueryText","activeQueryText","selectedValue","variableID","onSelectValue","prevSelectedValue","dropdownStatus","longestItemWidth","floor","widthLength","selectedText","Amethyst","val","execute","onClickVariable","trigger","variableName","keys","shouldShowTooltip","filteredVariables","v","content","toolbarTabClass","activeQueryBuilderTab","onInsertVariable","setActiveTab","activeToolbar","toolbarExpanded","FluxToolbarTab","onSubmitQueries","editorInstance","setEditorInstance","getFluxTextAndRange","p","getPosition","insertLineNumber","currentLineNumber","scriptLines","getInsertLineNumber","lineNumber","row","currentRange","getVisibleRanges","shouldInsertOnLastLine","endLineNumber","column","funcName","functionRequiresNewLine","range","monaco","Range","onSubmitScript","edits","importStatement","funcPackage","generateImport","getValue","unshift","executeEdits","csv","now","Download","queryResults","onEditAsFlux","onEditWithBuilder","onResetAndEditWithBuilder","builderConfig","activeQuery","scriptMode","Required","popoverColor","popoverAppearance","popoverStyle","confirmationLabel","confirmationButtonText","onConfirm","AutoRefreshOptionType","milliseconds","handleDropdownChange","autoRefreshOption","onChoose","isOpen","manualRefreshButton","dropdownWidthPixels","dropdownIcon","selectedOptionLabel","option","Divider","selectedOptionID","isDisabled","Paused","paused","isPaused","Pause","Refresh","showManualRefresh","onManualRefresh","subscribers","refresh","forEach","fn","f","refreshMs","clearInterval","intervalID","setInterval","GlobalAutoRefresher","autoRefresher","handleChooseAutoRefresh","onSetAutoRefresh","Active","executeQueries","onExecuteQueries","poll","subscribe","stopPolling","unsubscribe","isValidRTC3339","isValid","getFormat","inCurrentMonth","inputValue","inputFormat","dayClassName","date","getDate","handleSelectDate","onSelectDate","toISOString","dateTime","maxDate","minDate","inputErrorMessage","inputStatus","inline","startOpen","dateFormat","showTimeSelect","timeFormat","shouldCloseOnSelect","disabledKeyboardNavigation","calendarClassName","timeIntervals","fixedHeight","isInputValueInvalid","handleSetTimeRange","onSetTimeRange","upper","lower","handleSelectLower","handleSelectUpper","timeRange","ClickOutside","stylePosition","k","obj","isNaN","innerHeight","left","innerWidth","dropdownRef","handleApplyTimeRange","handleHideDatePicker","isDatePickerOpen","handleClickCustomTimeRange","handleClickDropdownItem","timeRangeLabel","dropdownWidth","onChangeSearchTerm","searchPlaceholder","buttonSize","buttonColor","menuTheme","menuTestID","filteredMenuOptions","emptyText","filteredOptions","timers","ms","timer","clearTimeout","setTimeout","toComponentStatus","ADDITIONAL_GROUP_BY_COLUMNS","debouncer","handleSelectTag","tag","index","onSelectTag","handleSelectValue","handleRemoveTagSelector","onRemoveTagSelector","handleKeysSearch","onSetKeysSearchTerm","call","emitKeysSearch","onSearchKeys","handleValuesSearch","onSetValuesSearchTerm","emitValuesSearch","onSearchValues","handleAggregateFunctionSelect","onSetBuilderAggregateFunctionType","aggregateFunctionType","header","renderAggregateFunctionType","keysStatus","selectedKey","valuesSearchTerm","keysSearchTerm","selectedCounter","valuesStatus","selectedValues","ownProps","activeQueryBuilder","queryBuilder","tags","previousTagSelector","onSetAggregateFillValues","aggregateWindow","fillValues","Checkbox","checked","Child","grow","diameter","tooltipContents","tooltipStyle","fontSize","padding","suggestions","controlledStatus","submitInvalid","showDivider","validFunction","isFocused","setIsFocused","setInputValue","handleClickSuggestion","suggestion","classList","contains","onFocus","s","onSetWindowPeriodSelectionMode","onSelectAggregateWindow","period","autoWindowPeriod","isAutoWindowPeriod","durationDisplay","durationInputStatus","onMultiSelectBuilderFunction","onSingleSelectBuilderFunction","onSetFunctions","functions","selectedFunctions","autoFunctions","isAutoFunction","setIsAutoFunction","functionList","setFunctionSelectionMode","newFunctions","onSelectFunction","FunctionModeSelector","reduxDispatch","buttonDisabled","handleChangeRuleType","handleChangeRetentionRule","Above","Click","Selector","bucketNames","bucketsStatus","fb","onLoadBuckets","tagFiltersLength","noScrollY","addButton","functionSelector","checkType","moreTags","onAddTagSelector","collapsible","alertBuilder","DELAYTIME","abortController","AbortController","handleCancelClick","abort","queryStatus","submitButtonDisabled","handleToggleIsViewingRawData","isViewingRawData","onSetIsViewingRawData","newName","handleDoubleClick","isActive","onEdit","handleEnterKey","handleUpdate","onCancelEdit","queryIndex","isEditing","queryName","onKeyUp","onDoubleClick","fetchDuration","queriesTimerClass","toFixed","isEditingName","handleEditActiveQueryName","handleSetActive","handleEditName","handleUpdateName","onUpdateActiveQueryName","activeQueryIndex","onSetActiveQueryIndex","handleCancelEditName","handleRemove","onRemoveQuery","handleToggleView","onToggleQuery","query","queryTabClass","hidden","showHideButton","queriesTimer","removeButton","MenuItem","isRemovable","EyeClosed","EyeOpen","queryCount","draftQueries","onAddQuery","PlusSkinny","onEnableUpdatedTimeRangeInVEO","RawDataToggle","queryEditor","tagSet","handleChangeTagRow","handleRemoveTagRow","basis","EMPTY_TAG_SET","onSelectCheckEvery","onSetOffset","onRemoveTagSet","onEditTagSetByIndex","Label","onSetStatusMessageTemplate","statusMessageTemplate","autocomplete","Off","form","minLength","spellCheck","wrap","Soft","threshold","removeLevel","changeThresholdType","dropdownOptions","levelColor","level","within","OptionSelector","Castle","convertUserInputToNumOrNaN","NaN","Number","changeValue","changeRange","disabledTitleText","defaultThreshold","onUpdateThreshold","onRemoveThreshold","table","inputs","changeInputs","yDomain","getColumn","addLevel","low","high","newThreshold","toType","valueThreshold","rangeThreshold","ThresholdRangeInput","ThresholdValueInput","thresholds","thresholdsArray","display","hex","Fire","Ocean","Thunder","Viridian","selectedLevel","onClickLevel","onSetStaleTime","onSetTimeSince","onSetLevel","staleTime","timeSince","cardTitle","conditionsComponent","endpoints","NotificationEndpoints","rule","endpoint","endpointID","Name","Description","matchingRules","setMatchingRules","checkTags","queryTags","joined","fluxGroupKeyUnion","gk","tagsList","resp","data","notificationRules","getMatchingRules","onLoadCustomCheckQueryState","timerActive","setTimerActive","seconds","setSeconds","timerElementClass","diameterPixels","strokeWidth","errorInfo","errorComponent","DefaultErrorMessage","activeTimeMachine","viewProperties","isInitialFetch","statuses","checkThresholds","giraffeResult","xColumn","yColumn","fillColumns","symbolColumns","timeZone","queries","resolvedViewProperties","noQueries","timeMachineViewClassName","EmptyQueryView","errorFormat","Scroll","hasResults","RawFluxDataTable","ViewSwitcher","geom","onSetGeom","getGeomLabel","onUpdateYAxisLabel","handleUpdateAxisPrefix","onUpdateAxisPrefix","handleUpdateAxisSuffix","onUpdateAxisSuffix","prefix","suffix","axisName","toUpperCase","generateGradientStyle","colors","background","round","selectedScale","needle","findSelectedScale","c","onUpdateColors","MinMaxInputs","initialMin","initialMax","onSetMinMax","minInput","setMinInput","useOneWayState","maxInput","setMaxInput","emitIfValid","newMin","parseFloat","newMax","handleKeyPress","onKeyPress","formatDomainValue","domain","onSetDomain","showInputs","setShowInputs","isArray","BASE_2","BASE_10","LINEAR","LOG","base","onUpdateYAxisBase","selectedColumn","onSelectColumn","availableColumns","onSetChecked","TimeFormat","onTimeFormatChange","setBoundValues","handleSetYDomain","bounds","onUpdateYAxisBounds","axes","shadeBelow","onSetShadeBelow","onSetYColumn","onSetXColumn","numericColumns","onSetTimeFormat","hoverDimension","onSetHoverDimension","ColorSelector","onSetPosition","handleUpdatePrefix","onUpdatePrefix","handleUpdateSuffix","onUpdateSuffix","handleUpdateTickSuffix","onUpdateTickSuffix","handleUpdateTickPrefix","onUpdateTickPrefix","optionalTicks","tickPrefix","tickSuffix","handleSetValue","digits","onDecimalPlacesChange","isEnforced","handleChangeMode","Custom","Auto","onChangeMode","inputComponent","DecimalPlaces","ColorDropdown","onChangeValue","onChangeColor","onRemove","isBaseThreshold","dropdownStyle","sortThresholds","Infinity","randomTick","domainWidth","roundTo","random","isDirty","errors","minThreshold","maxThreshold","validateThresholds","minValue","maxValue","colorChoice","firstThresholdType","thresholdType","v4","addThreshold","unknownActionType","onSetThresholds","initialState","reducer","defaultState","prevDefaultState","reduceDefaultState","wrappedReducer","reducerState","useOneWayReducer","decimalPlaces","onUpdateDecimalPlaces","ThresholdColoringSetting","Background","onSetBackground","onSetText","activeSetting","onSetPrefix","onSetTickPrefix","onSetSuffix","onSetTickSuffix","onSetDecimalPlaces","onSetColors","columnSource","beginDrag","columnTarget","monitor","dragIndex","getItem","hoverIndex","hoverBoundingRect","getBoundingClientRect","hoverMiddleY","bottom","hoverClientY","getClientOffset","onMoveColumn","handleColumnRename","onUpdateColumn","internalName","displayName","handleToggleVisible","connectDragPreview","connectDropTarget","columnClassName","labelClassName","dragHandle","connectDragSource","isDragging","dragColumnType","dragColumnSource","dragHandler","dropColumnType","dropColumnTarget","dropHandler","connect","dropTarget","DropTarget","dragSource","dragPreview","DragSource","Component","DndProvider","backend","draggableColumns","columns","withDragDropContext","fixed","onToggleFixFirstColumn","fieldOptions","field","filterFieldOptions","col","handleChangeSortBy","sortBy","tableOptions","onSetTableOptions","handleMoveColumn","fromIndex","toIndex","targetValue","valuesRemoved","move","onSetFieldOptions","handleUpdateColumn","fieldOption","onUpdateFieldOption","handleToggleFixFirstColumn","fixFirstColumn","filteredColumns","FixFirstColumn","binCount","onSetBinCount","onSetFillColumns","onSetXDomain","onSetXAxisLabel","availableGroupColumns","xDomain","xAxisLabel","groupDropdownStatus","selectedOptions","columnExists","updatedColumns","fc","capitalize","colorSchemes","selectedColorScheme","onSelectColorScheme","scheme","resolvedSchemes","HEATMAP_COLOR_SCHEMES","onSetBinSize","onSetYDomain","onSetYAxisLabel","binInputStatus","setBinInputStatus","binInput","setBinInput","binSize","xPrefix","xSuffix","yAxisLabel","yPrefix","ySuffix","onSetSymbolColumns","updatedSymbolColumns","updatedFillColumns","onSetYSeriesColumns","stringColumns","colName","onUpdateType","didClick","onExecuteCheckQuery","SubmitCheckQueryButton","isViewingVisOptions","dragPosition","setDragPosition","containerClassName","bottomContents","handleOrientation","Horizontal","handlePositions","onChangePositions","Panel","getReadWriteCardinalityLimits","readQueryParams","search","ignoreQueryPrefix","bucketQP","clearCache","Export","onToggleVisOptions","TIME_ZONES","TimeZoneDropdown","selectedTimeZone","onSetTimeZone","tz","buttonIcon","Annotate","handleSelectDashboard","selectedIDs","updatedSelection","dropdownLabel","newDashboardName","dashboardItems","newDashboardItem","dividerItem","targetDashboardIDs","cellName","isNameDashVisible","onCreateCellWithView","onCreateDashboardWithView","viewWithProps","dashID","selectedDashboard","handleSelectDashboardID","handleChangeDashboardName","handleChangeCellName","onGetDashboards","nameDashboard","userDefinedVars","assignment","formatVarsOption","handleChangeToBucketName","activeScript","trimAndRemoveQuotes","elt","mapToCSV","pluralize","collection","templateValuesString","constructValuesFromString","onSelectDefault","defaultID","firstEntry","trimmed","trimEnd","parsedTVS","templateValuesData","Set","arr","has","add","csvToMap","getUniqueValuesFromCSV","valueSet","trimmedValue","handleChangeCSV","handleChangeQuery","language","handleChangeMap","update","onSelectMapDefault","CSVVariableBuilder","reservedVarNames","validateVariableName","varName","lowerName","reservedMatch","onCreateVariable","onHideOverlay","activeVariable","handleChangeType","selectedType","variableType","onTypeUpdate","isNameValid","hasValidArgs","handleSelectMapDefault","handleChangeArgs","onQueryUpdate","onMapUpdate","onConstantUpdate","onNameUpdate","firstRun","submitButtonText","typeDropdownLabel","validArgs","initialScript","constant","_query","handleHideOverlay","onEditorClose","SaveAsOption","saveAsOption","Dashboard","handleSetSaveAsOption","orientation","alignment","Tab","Variable","TabContents","saveAsForm","onSetBucketName","valid","deleteButtonStatus","setDeletionStatus","deletionStatus","setPreviewStatus","previewStatus","promise","setBucketName","setKeys","setValuesByKey","keyName","setValues","equality","shouldValidate","keyErrorMessage","equalityErrorMessage","valueErrorMessage","input","filters","onDeleteFilter","onSetFilter","bodyData","headers","borders","Vertical","cellPadding","pickerActive","setPickerActive","buttonRef","setCanDelete","isSerious","deleteFilter","deleteWithPredicate","predicates","start","stop","formatFilters","resetFilters","executePreviewQuery","variableAssignments","windowVars","getWindowVars","extern","buildVarsOption","retryAfter","didTruncate","bytesRead","fromFlux","setFiles","setFilter","setIsSerious","setBucketAndKeys","setTimeRange","canDelete","count","setCount","handleDeleteDataPreview","predicate","formatPredicatesForPreview","countQuery","rowQuery","total","FluxTablesTransform","tables","Dreamsicle","num","toString","formatNumber","bucketNameFromDE","timeRangeFromDE","ViewTypeDropdown","relativeTimestampFormatter","timeFromNow","fromNow","handleUpdateDashboard","onUpdateDashboard","handleCloneDashboard","onCloneDashboard","handleDeleteDashboard","onDeleteDashboard","handleClickDashboard","onResetViews","handleUpdateDescription","onAddDashboardLabel","onRemoveDashboardLabel","updatedAt","EditableDescription","pages","windowSize","registerSpinner","elem","_spinner","_observer","IntersectionObserver","measure","rootMargin","observe","isIntersecting","page","sortedDashboards","onCreateDashboard","getDashboards","getLabels","FilterDashboards","dashboardIDs","retainRangesDashTimeV1","checkDashboardLimits","filterComponent","filteredDashboards","Table","handleImportDashboard","createDashboardFromTemplate","populateDashboards","getVariablesForTemplate","getCellsForTemplate","included","attributes","View","dashboardTemplate","_text","setDashboardSort","handleFilterDashboards","createDashboard","sortOptions","CreateFromTemplateOverlay","controller","promises","getResourceDetails","Promise","all","getDashboard","remoteDataState","getResourceStatus","handleClickPresentationButton","ExpandA","onSetTheme","app","persisted","Moon","Sun","onRename","setEditingState","workingName","setWorkingName","handleStopEditing","handleInputFocus","select","nameIsUntitled","renamablePageTitleClass","untitled","Pencil","toggleShowVariablesControls","updateDashboard","onSetAutoRefreshStatus","updateQueryParams","setDashboardTimeRange","setAutoRefreshInterval","showVariablesControls","userSettings","currentDashboard","demoDataset","demo_dataset","AddCell","TextBlock","popoverVisible","setPopoverVisibility","indicatorClass","contentStyle","minWidth","Chat","confirmationText","confirming","setConfirmationState","onDeleteCell","onCloneCell","onCSVDownload","editNoteText","buttonClass","handleCloneCell","handleDeleteCell","handleEditNote","handleEditCell","CellContextDangerItem","fetchCount","hashMapMutex","createRef","pendingReload","pendingResults","pendingCheckStatuses","reload","check","isCurrentPageDashboard","onGetCachedResultsThunk","startTime","usedVars","waitList","context","queryID","code","setCellMount","observer","entry","getTime","shouldReload","disconnect","hasUpdatedTimeRangeInVEO","submitToken","implicitSubmit","q","queryLink","links","self","cellMountStartMs","perf","scroll","mountStartMs","visRenderedMs","fields","timeToAppearMs","incrementSubmitToken","ranges","manualRefresh","fallbackNote","handleCSVDownload","viewName","viewNote","isMarkdownView","ScrollableMarkdown","EmptyGraphMessage","setY","setScrollY","prevY","newY","boundingClientRect","unobserve","useDetectScroll","getCells","Grid","handleLayoutChange","grid","changed","newCells","ly","h","w","newCell","handlePositionChange","updateCells","cols","layout","rowHeight","useCSSTransforms","containerPadding","onLayoutChange","draggableHandle","isDraggable","isResizable","fast","minW","minH","maxW","handleAdd","WrappedComponent","handleManualRefresh","dropdownSource","dropdownTarget","moveDropdown","initialLoading","handleMoveDropdown","originalIndex","newIndex","moveVariable","variablesStatus","show","inPresentationMode","bar","DraggableDropdown","emptyBar","barContents","ephemeral","filterUnusedVars","saveButtonClass","handleClickOutsideTitle","onSetName","onSaveView","activeTimeMachineID","timeMachines","handleClose","viewMatchesRoute","loadingState","viewIsNew","AddNoteOverlay","EditNoteOverlay","CLIENT_LIBS","TELEGRAF_PLUGINS","dashRoute","emitRenderCycleEvent","startVisitMs","pageTitle","NewVEO","EditVEO","isNew","urlVars","selectValue","dashboardVisit","syncVariables","pendingVars","RefContext","createContext","RefProvider","refs","setRefs","panel","Provider","scrollPosition","scrollToPipe","ScrollContext","ScrollProvider","setListScrollPosition","panelRef","offsetTop","DEFAULT_STATE","TimeContext","timeContext","addTimeContext","updateTimeContext","removeTimeContext","TimeProvider","setTimeContext","block","memo","updateRange","updateRefresh","pipes","addPipe","updateName","updatePipe","updateMeta","updateResult","movePipe","removePipe","NotebookContext","resolve","QueryContext","concat","getTimeRangeVars","then","raw","source","parsed","PREVIOUS_REGEXP","COMMENT_REMOVER","fakeNotify","notebook","isLoading","setLoading","tr","forceUpdate","_e","queryIncludesPreviousResult","stages","pipeID","pipe","requirements","instances","test","aggregateFunction","measurement","tagName","tagValues","queryStruct","queryText","response","catch","hasQueries","toggleClassName","NotebookHeader","updateTime","SUPPORTED_FAMILIES","family","onInsert","eventName","pipeFamilies","def","aPriority","priority","bPriority","cellFamilies","fam","initial","dividerRef","indexOf","remove","CaretUp","CaretDown","titleElement","onTitleChange","autoComplete","autoCorrect","sourceName","NotebookPanelHeader","controls","canBeMovedUp","canBeMovedDown","moveUp","moveDown","MovePanelButton","RemovePanelButton","panelClassName","updatePanelFocus","_props","Context","_pipes","handleSetNotebookMiniMapState","notebookMiniMapState","Minimize","Maximize","headerClassName","NotebookFromRoute","change","Notebook","activeTabName","dropdownBreakpoint","tabElement","childrenLeft","childrenRight","leftHeader","rightHeader","align","onDeleteBucket","persistentBucketMeta","onCopy","copiedText","isSuccessful","truncatedText","trimRight","onAddCollector","onAddLineProtocol","onAddClientLibrary","onAddScraper","ToTheRight","onAddBucketLabel","onDeleteBucketLabel","onSetDataLoadersBucket","onSetDataLoadersType","bucketType","onDeleteData","Streaming","ClientLibrary","Scraping","setDemoDataStatus","removeBucket","bucketID","handleStartDeleteData","listBuckets","onUpdateBucket","border","getDemoDataBucketMembership","normalizedBucket","ownBucketsByID","demoDataBuckets","demoData","setDemoDataBuckets","getDemoDataBuckets","handleDeleteBucket","deleteBucket","handleFilterUpdate","checkBucketLimits","leftHeaderItems","rightHeaderItems","Ten","bs","updateBucket","Two","Props","writePrecisions","Ns","Us","Ms","S","makePrecisionReadable","Nanoseconds","Microseconds","Seconds","Milliseconds","setPrecision","precision","activeLPTab","fileSize","uploadFile","onSetBody","setBody","setWriteStatus","writeStatus","writeError","handleTextChange","handleSetBody","getStatusText","sizePixels","TabSelector","setTab","textAlign","draftState","writeLineProtocolAction","LineProtocolFooterButtons","handleSaveConfig","telegrafEditor","spinner","TelegrafEditor","loader","CollectorsStepSwitcher","onClearTelegrafEditor","onClearDataLoaders","onClearSteps","onSetBucketInfo","onSetCurrentStepIndex","stepProps","currentStepIndex","onDecrementCurrentStepIndex","onIncrementCurrentStepIndex","onExit","onSetActiveTelegrafPlugin","onSetPluginConfiguration","dataLoading","dataLoaders","telegrafPlugins","steps","currentStep","substep","bucketDraft","setBucketDraft","loadingStatus","setLoadingStatus","retentionSelection","setRetentionSelection","fetchBucket","effectedItems","confirmButtonText","isConfirmed","handleCloseOverlay","handleConfirm","overlayContents","startBucket","validationStatus","handleValidation","onRenameBucket","handleUrlValidation","startsWith","scraper","handleFormSubmit","onCreateScraper","firstBucketID","TypeEnum","Prometheus","CreateScraperForm","bucketsPath","auth","handleClickDescription","onClickDescription","isTokenEnabled","createdAt","onToggle","PermissionsWidgetMode","Read","PermissionsWidgetSelection","Selected","Unselected","checkbox","Write","unselected","selectable","handleSelectAll","handleDeselectAll","selectionButtons","sectionItems","Children","child","headerText","sections","heightPixels","Section","itemID","actions","isTokenOverlayVisible","authID","authInView","auths","allAccessOption","handleAllAccess","bucketReadWriteOption","handleReadWrite","AuthSearchKeys","FilterAuthorizations","handleChangeSearchTerm","tokens","filteredAuths","Status","CreatedAt","tokensPath","collector","onAddLabels","onRemoveLabels","handleOpenConfig","handleDeleteConfig","metadata","collectorsList","collectors","onDeleteTelegraf","onUpdateTelegraf","sortedCollectors","FilterTelegrafs","cs","FilteredList","hasNoTelegrafs","bodySize","Platinum","handleAddCollector","handleJustTheOutput","handleFilterChange","dataLoaderOverlay","instructionsOverlay","collectorID","hasTelegrafs","collecorsLeftHeaderItems","collecorsRightHeaderItems","Eye","createButton","hasNoBuckets","isEmpty","onSetTelegrafConfigID","onSetTelegrafConfigName","TelegrafInstructions","configID","telegrafsPath","handleDeleteScraper","onDeleteScraper","handleUpdateScraperName","onUpdateScraper","scrapersList","scrapers","sortedScrapers","FilterScrapers","createScraperButton","handleUpdateScraper","sl","WriteDataSearchContext","WRITE_DATA_CLIENT_LIBRARIES","markdown","WRITE_DATA_TELEGRAF_PLUGINS","WRITE_DATA_SECTIONS","doesItemMatchSearchTerm","itemName","thumb","Card","formName","sortedItems","H2","weight","Regular","marginBottom","cardSize","gutter","filteredSections","section","containsMatches","sectionContainsMatchingItems","featureFlagEnabled","featureFlagName","TabbedPageTabs","onExport","onAddVariableLabel","onRemoveVariableLabel","handleRenameVariable","onDeleteVariable","handleStartEdit","variableOverlayState","sortedVariables","onEditVariable","importOverlayState","handleOpenImportOverlay","handleOpenCreateOverlay","handleDeleteVariable","handleImportVariable","createVariableFromTemplate","getVariables","variableTemplate","workingVariable","startVariable","onUpdateVariable","RenameVariableForm","varsPath","onImport","DEFAULT_TEMPLATE_NAME","handleUpdateTemplateName","handleUpdateTemplateDescription","handleCreate","onCreateFromTemplate","handleViewTemplate","onAddTemplateLabels","onRemoveTemplateLabels","staticTemplates","FilterStaticTemplates","FilterTemplateSummaries","handleClickTab","templatesList","handleImportTemplate","createTemplate","overlayHeading","closeButton","CommunityTemplateInstallInstructionsIcon","strokeColor","fillColor","lineStyle","stroke","strokeLinecap","strokeLinejoin","strokeMiterlimit","polygonStyle","fill","xmlns","preserveAspectRatio","xmlSpace","CommunityTemplateInstallInstructions","resourceCount","onClickInstall","installButton","resourcePlural","SpirulinaSmoothie","Neutrino","shrink","readMeData","componentDidMount","directory","render","handleToggle","shouldInstall","shouldDisableToggle","descriptionClassName","H6","setMode","groupClassName","Div","updateTemplateEnvReferences","envRefKey","resourceField","valueType","renderInputForEnvRef","stagedTemplateEnvReferences","pop","envReferences","getFieldType","CommunityTemplateEnvReferences","isResourceSelected","getResourceInstallCount","getTotalResourceCount","summary","chartCount","charts","templateMetaName","templateResourceType","toggleTemplateResourceInstall","resourceHasEnvRefs","telegrafConfigs","summaryTask","checks","notificationRule","notificationEndpoints","notificationEndpoint","CommunityTemplateResourceContent","stagedCommunityTemplate","IncludedResources","setTabToIncludedResources","setTabToReadme","Readme","onInstall","templateDirectory","Tabs","CommunityTemplateOverlay","reviewTemplateResources","templateUrl","setStagedCommunityTemplate","err","handleInstallTemplate","stagedTemplateUrl","resourcesToSkip","templateDetails","stackID","fetchAndSetStacks","CommunityTemplateImportOverlay","refKey","refObject","parseInt","flags","original","recordClick","CommunityTemplateHumanReadableResource","allResources","Checks","NotificationRules","metaName","resourceID","matchingResource","humanName","CommunityTemplatesResourceSummary","summaryState","setSummaryState","toggleText","caretClassName","tableRows","kind","showOverlay","Fragment","GitHub","generateDeleteHandlerForStack","stackName","sources","stacks","striped","stack","verticalAlignment","Top","toDateString","renderStackSources","horizontalAlignment","Right","confirmationButtonColor","Solid","CommunityTemplatesInstalledList","eventType","startTemplateInstall","setStagedTemplateUrl","handleTemplateChange","evt","onClickBrowseCommunityTemplates","communityTemplatesImportPath","templateExtension","SymbolHeader","symbol","CommunityTemplatesIndex","handleImport","communityTemplates","TemplateViewOverlay","StaticTemplateViewOverlay","onUpdateLabel","handleColorHexChange","labelHasDescription","overlayState","handleCloseModal","handleUpdateLabel","updatedLabel","isOverlayVisible","onDeleteLabel","FilterLabels","createLabel","updateLabel","deleteLabel","ls","LabelsTab","handleShowEditOverlay","generateCopyText","copySucceeded","DocScott","SpaceBetween","startOrg","handleGoBack","isUniqueName","orgNames","o","handleRenameOrg","onRenameOrg","originalName","updatedOrg","normOrg","getCheckIDs","sortChecksByName","sortRulesByName","rules","sortEndpointsByName","onView","utc","parseSearchInput","Parser","searchExprToFlux","searchExpr","right","operator","delim","badExpr","Lexer","advance","expect","head","readToDelimiter","delimiter","expected","actual","lex","parseExpr","precedence","parseStringLiteral","parseRegexLiteral","parseGroupedExpr","next","nextPrecedence","parseTagExpr","parseBooleanExpr","currentPrecedence","endsWith","expr","PRECEDENCES","expectedTypes","expectedMsg","and","or","INITIAL_STATE","limit","nextRowsStatus","nextRowsErrorMessage","nextRowsCanceller","hasReachedEnd","searchInput","searchTimeoutID","nextScrollTop","loadNextRows","loadRows","until","searchImmediately","parsingFailed","clearSearch","performSearch","effect","isFirstRender","useMountedLayoutEffect","rowKey","columnWidth","RANDOM_NUMBERS","randomNumber","animationDelay","rowCount","getRowCount","isRowLoaded","rowLoadedFn","isRowLoadedBoolean","loadMoreRows","isLongRunningQuery","setIsLongRunningQuery","timeoutID","rowRenderer","isLastRow","onRowsRendered","registerChild","overscanRowCount","exampleSearches","isSearchInputValid","eventViewerProps","historyType","onSetHistoryType","EXAMPLE_STATUS_SEARCHES","EXAMPLE_NOTIFICATION_SEARCHES","updatedQueryParams","currentQueryString","newQueryParams","newQueryString","SEARCH_QUERY_PARAM","HISTORY_TYPE_QUERY_PARAM","loadStatuses","since","fluxFilter","renameTagKeys","processResponse","rewrittenExpr","tagKeyNodes","node","normal","queryPromise","reject","columnKeys","getInitialState","ResourceIDsContext","resourceIDs","checkIDs","endpointIDs","getEndpointIDs","ruleIDs","ruleID","getRuleIDs","setHistoryType","getInitialHistoryType","loadNotifications","STATUS_FIELDS","NOTIFICATION_FIELDS","formatOrgRoute","route","checkName","checkID","notificationRuleName","notificationRuleID","notificationEndpointName","notificationEndpointID","sent","modifier","onUpdateCheckDisplayProperties","deleteCheck","onAddCheckLabel","onRemoveCheckLabel","onCloneCheck","activeStatus","queryParams","URLSearchParams","FilterChecks","EmptyChecksList","showFirstTimeWidget","onCreateThreshold","onCreateDeadman","cards","filteredChecks","questionMarkTooltipContents","substr","isLimitExceeded","assetLimitButton","Kevlar","marginRight","handleCreateThreshold","handleCreateDeadman","noAlertingResourcesExist","AlertsColumn","onUpdateRuleProperties","deleteNotificationRule","onAddRuleLabel","onRemoveRuleLabel","onCloneRule","FilterRules","EmptyNotificationRulesList","filteredCards","nr","buttonTitleText","newRuleRoute","onDeleteEndpoint","onAddEndpointLabel","onRemoveEndpointLabel","onUpdateEndpointProperties","onCloneEndpoint","EndpointCardMenu","FilterEndpoints","EmptyEndpointList","conditionalEndpoints","filteredEndpoints","nextTab","singleField","singleAggregateFunc","oneOrMoreThresholds","forceToTop","QueryChecklistItem","saveStatus","setSaveStatus","onSaveCheckFromTimeMachine","onResetAlertBuilder","onUpdateAlertBuilderName","loadedCheckID","otherLevel","levels","Sidewalk","RuleStateContext","RuleDispatchContext","useRuleState","useRuleDispatch","prevInitialStateRef","newState","statusRule","statusRules","cid","tagRule","tagRules","statusRuleID","tagRuleID","levelType","statusID","statusChange","currentLevel","previousLevel","StatusRule","operators","selectedOperator","newValue","Honeydew","Pepper","selectedEndpointID","onSelectEndpoint","selectedEndpoint","messageTemplate","subjectTemplate","bodyTemplate","channel","saveButtonText","setErrorMessage","onCreateRule","onUpdateRule","stateRule","EndpointStateContext","EndpointDispatchContext","EndpointOverlayProvider","baseProps","clientURL","routingKey","method","authMethod","http","slack","useEndpointState","useEndpointDispatch","Password","onSelectType","password","onChangeParameter","contentTemplate","blockedEndpoints","isFlaggedOn","onSetErrorMessage","useEndpointReducer","minHeight","onCreateEndpoint","onUpdateEndpoint","alertsPath","activeColumn","setActiveColumn","pageContentsClassName","selectGroupOptionID","RulesColumn","NewThresholdCheckEO","NewDeadmanCheckEO","EditCheckEO","NewEndpointOverlay","Tooltip","CheckPlot","member","role","Sorter","members","FilterMembers","removeMember","onRemoveMember","Members","WriteDataDetailsContext","organization","changeBucket","changeToken","userBuckets","initialToken","contentID","dataSourceName","codeRenderer","thumbnail","pageContent","renderers","isSelected","tokenID","Obsidian","changeMode","clientLibPath","ClientLibrariesDetailsPage","TelegrafPluginsDetailsPage","notebooks","foundOrg","firstOrgID","orgPath","DashboardsIndex","handleCreateOrg","createOrgWithBucket","closeModal","handleChangeOrgInput","orgNameInputStatus","orgErrorMessage","randomErrorMessage","handleChangeBucketInput","bucketNameInputStatus","bucketErrorMessage","messages","createdOrg","orgResp","bucketResp","currentPage","appWrapperClass","presentationMode","TooltipPortal","TreeNav","organizations","identity","organizationIds","getOrganizations","hasMounted","checkForLogin","users","returnTo","handleNext","onSetStepStatus","Complete","handleUsername","handlePassword","confirmPassword","isPassMismatched","isPassTooShort","handleConfirmPassword","handleOrg","handleBucket","orgTip","marginLeft","bucketTip","onSetupAdmin","isAdminSet","setupParams","InputIcon","InputStatus","offsetMD","One","Five","passwordError","confirmError","passwordStatus","labelAddOn","OnboardingButtons","nextButtonStatus","autoFocusNext","stepStatuses","areInputsValid","fetcher","handleAdvanced","onboarding","handleQuickStart","create","handleKeydown","onboardingStepProps","setSetupParams","setStepStatus","stepTitles","stepTestIds","stepSkippable","handleExit","onCompleteSetup","progressHeader","handleSetCurrentStep","onSetSetupParams","handleSetSetupParams","setup","setOrganizationID","setBucketID","handleCompleteSetup","isSetupComplete","redirectToHome","handleDecrementStepIndex","stepID","setStepIndex","handleIncrementStepIndex","allowed","handleSignIn","handleRedirect","dismissAllNotifications","Rubik","LoginForm","emailValidation","email","passwordValidation","handleForgotPasswordClick","toggleVisibility","Email","hasError","SocialButton","GoogleLogo","emailError","formFieldTypeFactory","validateFieldValues","auth0","login","realm","Authentication","displayErrorMessage","auth0Err","handleSocialClick","connection","authorize","changePassword","successMessage","redirectTo","WebAuth","clientID","redirectUri","redirectURL","responseType","Post","Google","LoginPage","accentColorA","Magenta","accentColorB","DeepPurple","enableGraphic","logo","H1","handleSignOut","isOnboardingURL","getLinks","cloneElement","rootNode","cookieSession","cookie","RegExp","session","configureStore","listen","keyCode","ErrorHandling","constructor","ErrorHandlingWith","RequestContext","requestHandler","responseHandler","prototype","request","requestHeaders","Headers","contentType","credentials","btoa","append","middlewareUrl","middlewareQuery","init","signal","fetch","responseContentType","json","setRequestHandler","setResponseHandler","rc","postSignin","postSignout","getTelegrafPlugins","postVariable","getVariable","patchVariable","deleteVariable","postVariablesLabel","deleteVariablesLabel","postWrite","postDelete","postLabel","patchLabel","postDashboard","patchDashboard","deleteDashboard","postDashboardsCell","putDashboardsCells","deleteDashboardsCell","getDashboardsCellsView","patchDashboardsCellsView","postDashboardsLabel","deleteDashboardsLabel","postQueryAst","getAuthorizations","getAuthorization","patchAuthorization","deleteAuthorization","getBuckets","postBucket","getBucket","patchBucket","postBucketsLabel","deleteBucketsLabel","getOrgs","postOrg","patchOrg","deleteOrg","getOrgsMembers","postOrgsMember","deleteOrgsMember","getOrgsOwners","getStacks","patchStack","stack_id","deleteStack","postTemplatesApply","getTasks","postTask","getTask","patchTask","getTasksRuns","postTasksRun","getTasksRunsLogs","runID","postTasksLabel","deleteTasksLabel","getFlags","getChecks","postCheck","getCheck","putCheck","patchCheck","postChecksLabel","deleteChecksLabel","getNotificationRules","postNotificationRule","getNotificationRule","putNotificationRule","patchNotificationRule","postNotificationRulesLabel","deleteNotificationRulesLabel","getNotificationEndpoints","postNotificationEndpoint","putNotificationEndpoint","patchNotificationEndpoint","deleteNotificationEndpoint","postNotificationEndpointsLabel","deleteNotificationEndpointsLabel","getToken","getByID","labelIDs","getOrg","DEFAULT_TIME_FORMAT","PRESENTATION_MODE_ANIMATION_DELAY","AUTOREFRESH_DEFAULT_INTERVAL","AUTOREFRESH_DEFAULT","LAYOUT_MARGIN","DASHBOARD_LAYOUT_ROW_HEIGHT","FIVE_SECONDS","TEN_SECONDS","FIFTEEN_SECONDS","HOMEPAGE_PATHNAME","VERSION","GIT_SHA","BASE_PATH","API_BASE_PATH","CLOUD","process","env","CLOUD_URL","CLOUD_SIGNIN_PATHNAME","CLOUD_BILLING_VISIBLE","CLOUD_CHECKOUT_PATH","CLOUD_BILLING_PATH","CLOUD_USAGE_PATH","CLOUD_LOGOUT_PATH","CLOUD_USERS_PATH","FLUX_RESPONSE_BYTES_LIMIT","VIS_SIG_DIGITS","VIS_THEME","axisColor","gridColor","gridOpacity","tickFont","tickFontColor","Mist","legendFont","legendFontColor","Wolf","legendFontBrightColor","Chromium","legendBackgroundColor","legendBorder","legendCrosshairColor","Smoke","VIS_THEME_LIGHT","Whisper","Mountain","Graphite","Forge","Ghost","GIRAFFE_COLOR_SCHEMES","BAND_LINE_OPACITY","BAND_LINE_WIDTH","BAND_SHADE_OPACITY","notification","bytesFormatter","significantDigits","trimZeros","defaultErrorNotification","defaultSuccessNotification","defaultDeletionNotification","newVersion","Cubouniform","loadLocalSettingsFailed","ExpandB","sessionTimedOut","Triangle","resultTooLarge","SetupSuccess","SetupError","SigninError","checkStatusLoading","QuickstartScraperCreationSuccess","QuickstartScraperCreationError","QuickstartDashboardCreationSuccess","QuickstartDashboardCreationError","TelegrafConfigCreationSuccess","TelegrafConfigCreationError","TokenCreationError","addTaskLabelFailed","removeTaskLabelFailed","dashboardGetFailed","DashH","dashboardUpdateFailed","dashboardDeleted","dashboardCreateFailed","dashboardCreateSuccess","dashboardDeleteFailed","dashboardCopySuccess","dashboardCopyFailed","cellAddFailed","cellUpdateFailed","cellDeleted","addDashboardLabelFailed","removedDashboardLabelFailed","invalidTimeRangeValueInURLQuery","getVariablesFailed","getVariableFailed","createVariableFailed","createVariableSuccess","deleteVariableFailed","deleteVariableSuccess","updateVariableFailed","updateVariableSuccess","copyToClipboardSuccess","copyToClipboardFailed","addTemplateLabelFailed","removeTemplateLabelFailed","TelegrafDashboardCreated","configs","TelegrafDashboardFailed","importTaskSucceeded","importTaskFailed","importDashboardSucceeded","importDashboardFailed","importTemplateSucceeded","importTemplateFailed","createTemplateFailed","createResourceFromTemplateFailed","updateTemplateSucceeded","updateTemplateFailed","deleteTemplateFailed","deleteTemplateSuccess","cloneTemplateFailed","cloneTemplateSuccess","resourceSavedAsTemplate","saveResourceAsTemplateFailed","getLabelsFailed","createLabelFailed","updateLabelFailed","deleteLabelFailed","getBucketsFailed","getBucketFailed","demoDataAddBucketFailed","demoDataDeleteBucketFailed","demoDataSucceeded","demoDataAvailability","readLimitReached","rateLimitReached","secs","retryText","resourceLimitReached","queryCancelRequest","taskNotCreated","additionalMessage","taskCreatedSuccess","taskNotFound","tasksFetchFailed","taskDeleteFailed","taskDeleteSuccess","taskCloneSuccess","taskName","taskCloneFailed","taskUpdateFailed","taskUpdateSuccess","taskRunSuccess","taskRunFailed","taskGetFailed","getTelegrafConfigFailed","savingNoteFailed","bucketDeleteFailed","predicateDeleteFailed","setFilterKeyFailed","setFilterValueFailed","bucketCreateSuccess","bucketCreateFailed","bucketUpdateSuccess","predicateDeleteSucceeded","bucketUpdateFailed","bucketRenameSuccess","bucketRenameFailed","addBucketLabelFailed","removeBucketLabelFailed","orgCreateSuccess","orgCreateFailed","orgEditSuccess","orgEditFailed","orgRenameSuccess","orgRenameFailed","scraperDeleteSuccess","scraperName","scraperDeleteFailed","scraperCreateSuccess","scraperCreateFailed","scraperUpdateSuccess","scraperUpdateFailed","telegrafGetFailed","telegrafCreateFailed","telegrafUpdateFailed","telegrafName","addTelegrafLabelFailed","removeTelegrafLabelFailed","authorizationsGetFailed","authorizationCreateSuccess","passwordResetSuccessfully","authorizationCreateFailed","authorizationUpdateSuccess","authorizationUpdateFailed","authorizationDeleteSuccess","authorizationDeleteFailed","authorizationCopySuccess","authorizationCopyFailed","telegrafDeleteFailed","memberAddSuccess","memberAddFailed","memberRemoveSuccess","memberName","memberRemoveFailed","addVariableLabelFailed","removeVariableLabelFailed","invalidMapType","getChecksFailed","getCheckFailed","getNotificationRulesFailed","getNotificationRuleFailed","createCheckFailed","updateCheckFailed","deleteCheckFailed","createRuleFailed","getViewFailed","getEndpointFailed","getEndpointsFailed","createEndpointFailed","updateEndpointFailed","deleteEndpointFailed","invalidJSON","communityTemplateInstallSucceeded","communityTemplateInstallFailed","communityTemplateDeleteSucceeded","communityTemplateDeleteFailed","communityTemplateFetchStackFailed","communityTemplateUnsupportedFormatError","communityTemplateRenameFailed","getActiveTimeMachine","getIsInCheckOverlay","getActiveQuery","tm","getWindowPeriodFromTimeRange","windowPeriod","getVisTableMemoized","getVisTable","getNumericColumnsMemoized","getStringColumnsMemoized","getNumericColumns","getStringColumns","getGroupableColumnsMemoized","getGroupableColumns","getXColumnSelection","preferredXColumnKey","getYColumnSelection","preferredYColumnKey","getGroupableColumnSelection","validColumns","preference","getFillColumnsSelectionMemoized","getSymbolColumnsSelectionMemoized","getFillColumnsSelection","graphType","validFillColumns","getSymbolColumnsSelection","validSymbolColumns","getStartTime","valueOf","subtract","millisecondDuration","getEndTime","getActiveTimeRange","getSaveableView","saveableView","ySeriesColumns","reportPoints","reportingTags","reportingPoints","reportDecayTimeout","reportMaxTimeout","updateReportingContext","toNano","pooledEvent","timestamp","cleanTags","gaEvent","dataLayer","useLoadTimeReporting","loadStartTime","isFlagEnabled","flagName","_equals","FeatureFlag","getUserFlags","set","influx","toggle","reset","setActiveTimeMachine","toggleVisOptions","setName","contextID","currentContext","setAutoRefresh","setType","setActiveQueryText","setIsViewingRawData","setGeom","setYAxisLabel","setYAxisBounds","setAxisPrefix","axis","setAxisSuffix","setYAxisBase","setPrefix","setTickPrefix","setSuffix","setTickSuffix","setColors","setDecimalPlaces","setBackgroundThresholdColoring","setTextThresholdColoring","editActiveQueryWithBuilderSync","editActiveQueryWithBuilder","resetActiveQuerySwitchToBuilder","editActiveQueryAsFlux","setActiveQueryIndex","setActiveQueryIndexSync","addQuery","removeQuery","removeQuerySync","toggleQuery","toggleQuerySync","updateActiveQueryName","setFieldOptions","updateFieldOption","setTableOptions","setTimeFormat","setXColumn","setYColumn","setYSeriesColumns","setShadeBelow","SetHoverDimension","setBinSize","setColorHexes","setFillColumns","setSymbolColumns","setBinCount","setHistogramPosition","setLinePosition","setXDomain","setYDomain","setXAxisLabel","loadNewVEO","loadCustomCheckQueryState","dataFrom","filterStatements","messageFn","checkStatement","optionTask","imports","dataDefinition","levelFunction","queryStatement","dataRange","thresholdExpressions","fieldTag","fieldSelection","beginning","createCheckQueryFromAlertBuilder","gotResources","getTelegrafs","Plugins","getPlugins","getScrapers","getTemplates","getMembers","getEndpoints","connector","getResourcesStatus","SortTypes","getSortedResources","resourceList","Float","orderByType","resolveGeom","geomToInterpolation","getFormatter","columnType","NOISY_LEGEND_COLUMNS","filterNoisyColumns","keyData","parseXBounds","parseYBounds","extent","xs","checkResultsLength","getColumnType","getTimeColumns","getNumberColumns","invalidGroupColumns","defaultXColumn","preferredColumnKey","validColumnKeys","defaultYColumn","mosaicYcolumn","invalidMosaicYColumns","preferredValidColumnKeys","isInDomain","clamp","handleStartEditing","workingDescription","previewClassName","handleClickDelete","fieldName","returnValue","confirmText","onDeleteTag","MultiInputType","inputType","editingText","URI","debouncedValidate","newItem","inputRef","onAddRow","shouldAddToList","handleDeleteRow","onDeleteRow","handleValidateURI","validateURI","debounce","onEditRow","offsetXS","footer","isAfterCurrentUnskippableStep","isStepSkippable","isAfterNextUnskippableStep","nextNonSkippableStep","WizardProgress","isSkippable","hideFirstStep","lastIndex","stepStatus","stepEle","getStepClass","connectorStatus","Some","Full","connectorEle","onCollapseMenu","handleExpandMenu","onBoostZIndex","handleCollapseMenu","menuClassName","listClassName","ComponentColor","ComponentSize","ComponentStatus","DropdownMenuColors","DropdownMenuPosition","ButtonShape","ButtonType","Greys","IconFont","Columns","Alignment","Sort","Stack","NavMenuType","handleBoostZIndex","boostZIndex","Left","LimitStatus","ActionTypes","setDashboardLimitStatus","SetDashboardLimitStatus","setBucketLimitStatus","SetBucketLimitStatus","setTaskLimitStatus","SetTaskLimitStatus","setChecksLimitStatus","SetChecksLimitStatus","setRulesLimitStatus","SetRulesLimitStatus","setEndpointsLimitStatus","SetEndpointsLimitStatus","setReadRateLimitStatus","SetReadRateLimitStatus","setWriteRateLimitStatus","SetWriteRateLimitStatus","setCardinalityLimitStatus","SetCardinalityLimitStatus","setLimitsStatus","SetLimitsStatus","read","write","cardinality","SetLimits","setLimits","getLimits","dashboardsMax","dashboardsCount","allBuckets","bucketsMax","bucketsCount","tasksMax","tasksCount","checkChecksLimits","checksMax","checksCount","checkRulesLimits","rulesMax","rulesCount","checkEndpointsLimits","endpointsCount","endpointsMax","UNTITLED_GRAPH","DEFAULT_TIME_FIELD","FORMAT_OPTIONS","DEFAULT_DASHBOARD_SORT_OPTIONS","DashboardTemplate","DEFAULT_CELL_NAME","DEFAULT_DASHBOARD_NAME","DEFAULT_COLLECTOR_NAME","DEFAULT_TASK_NAME","DEFAULT_SCRAPER_NAME","DEFAULT_TOKEN_DESCRIPTION","DASHBOARD_NAME_MAX_LENGTH","CELL_NAME_MAX_LENGTH","CEOTabs","MIN_DECIMAL_PLACES","MAX_DECIMAL_PLACES","DEFAULT_CONTEXT","PipeContext","PipeProvider","_result","_data","extractVariableEditorName","variableEditor","extractVariableEditorType","extractVariableEditorQuery","argsQuery","extractVariableEditorMap","argsMap","extractVariableEditorConstant","argsConstant","getUserVariableNames","contextIDs","getAllVariables","sortVariablesByName","ctx","vari","timeVars","asAssignment","assignments","vals","normalizeValues","out","magnitude","unit","callee","argument","getDashboardVariablesStatus","basePath","getErrorMessage","client","DEFAULT_CHECK_NAME","DEFAULT_NOTIFICATION_RULE_NAME","CHECK_NAME_MAX_LENGTH","DEFAULT_CHECK_EVERY","DEFAULT_CHECK_OFFSET","DEFAULT_CHECK_TAGS","DEFAULT_CHECK_REPORT_ZERO","DEFAULT_DEADMAN_LEVEL","DEFAULT_STATUS_MESSAGE","CHECK_OFFSET_OPTIONS","MONITORING_BUCKET","LEVEL_COLORS","INFO","WARN","CRIT","UNKNOWN","LEVEL_COMPONENT_COLORS","DEFAULT_ENDPOINT_URLS","pagerduty","NEW_ENDPOINT_DRAFT","labelSchema","Entity","processStrategy","arrayOfLabels","isLimitError","extractBucketLimits","extractBucketMax","extractBucketMaxRetentionSeconds","extractDashboardLimits","extractDashboardMax","extractTaskLimits","extractTaskMax","extractChecksLimits","extractChecksMax","extractRulesLimits","extractRulesMax","extractEndpointsLimits","extractEndpointsMax","extractBlockedEndpoints","extractRateLimitStatus","extractRateLimitResources","rateLimitedResources","varsByID","entities","hydrateVariables","skipCache","getActiveView","hydration","on","_variable","createVariable","createdVar","updateVariable","allVariables","normVariable","normVariables","dependencies","addVariableLabelAsync","posted","removeVariableLabelAsync","deleted","hydrateChangedVariable","newDashboard","normDash","cloneDashboard","dashboardName","allDashboardNames","clonedName","getResp","include","dash","postResp","pendingLabels","mappedLabels","clonedDashboardID","clonedViews","newViews","setDashboards","normalizedCellsArray","normalizedViewsArray","entity","viewsData","normViews","normCells","cellViews","updates","updatedDashboard","addDashboardLabel","normLabel","removeDashboardLabel","dashResp","pendingViews","normVars","exportedVariables","saveVEOView","getTemplateByID","templateSummaries","templateSummary","createTemplateFromResource","updateTemplate","templateDocument","deleteTemplate","templateID","delete","cloneTemplate","createdTemplate","clone","createFromTemplate","createResourceFromStaticTemplate","createResourceFromTemplate","addTemplateLabelsAsync","addLabels","removeTemplateLabelsAsync","removeLabels","useNotebookCurrentState","GENERATOR_INDEX","getHumanReadableName","NotebookProvider","currentID","setCurrentID","updateCurrent","removeCurrent","getTimeRange","getTimeRangeWithTimezone","getTimeZone","newTimeRange","setTimeToUTC","sortDashboardByName","getTimezoneOffset","removeSpacesAndNow","isDurationWithNowParsable","isDurationParsable","parseDuration","durationRegExp","exec","UNIT_TO_APPROX_MS","ns","µs","us","m","mo","durationToMilliseconds","sum","millisecondsToDuration","unitsAndMs","unitIndex","remainder","unitAsMs","valueInUnit","areDurationsEqual","timeRangeToDuration","convertTimeRangeToCustom","getTimeRangeLabel","AGG_WINDOW_AUTO","DEFAULT_FILLVALUES","DURATIONS","genFlux","AUTO_FUNCTIONS","flux","FUNCTIONS","OPTION_NAME","TIME_RANGE_START","TIME_RANGE_STOP","WINDOW_PERIOD","BOUNDARY_GROUP","variableItemTypes","setQueryResults","getOrgIDFromBuckets","ast","bucketsInQuery","isFromBucket","bucketMatch","getQueryFromFlux","aggregateWindowQuery","isFromFunction","functionsInQuery","tagsKeysInQuery","isFromTag","tagsValuesInQuery","functionName","aggregateWindowName","executeQueriesStartTime","performance","startDate","saveAndExecuteQueries","executeCheckQuery","runQuery","dialect","annotations","processSuccessResponse","processRateLimitResponse","processErrorResponse","getReader","decoder","TextDecoder","done","decode","byteLength","trimPartialLines","partialResp","addTaskLabel","deleteTaskLabel","deleteResp","normTask","newTask","goToTasks","updatedTask","insertPreambleInScript","runsWithDuration","finished","finishedAt","started","runDuration","runTask","events","timeTag","diff","enablePresentationMode","EnablePresentationMode","disablePresentationMode","DisablePresentationMode","enableUpdatedTimeRangeInVEO","EnableUpdatedTimeRangeInVEO","disableUpdatedTimeRangeInVEO","DisableUpdatedTimeRangeInVEO","delayEnablePresentationMode","setTheme","setNavBarState","SetNavBarState","setNotebookMiniMapState","SetNotebookMiniMapState","setTimeZone","SetTimeZone","TIME_RANGE_FORMAT","CUSTOM_TIME_RANGE_LABEL","pastHourTimeRange","pastThirtyDaysTimeRange","SELECTABLE_TIME_RANGES","DEFAULT_TIME_RANGE","defaultView","defaultViewQuery","defaultBuilderConfig","defaultLineViewProperties","legend","scale","defaultSingleStatViewProperties","NEW_VIEW_CREATORS","xy","band","histogram","heatmap","gauge","verticalTimeAxis","scatter","mosaic","deadman","custom","createView","viewType","creator","resetAlertBuilder","initializeAlertBuilder","convertCheckToCustom","setAlertBuilderCheck","setAlertBuilderCheckStatus","setEvery","setOffset","setStaleTime","setTimeSince","setLevel","setStatusMessageTemplate","editTagSetByIndex","removeTagSet","updateThreshold","updateThresholds","removeThreshold","selectCheckEvery","DataLoaderStep","CollectorsStep","LineProtocolStep","ConfigurationState","DataLoaderType","BundleName","LineProtocolStatus","Precision","ConfigFieldType","SET_LABELS","SET_LABEL","REMOVE_LABEL","SET_LABEL_ON_RESOURCE","setLabels","schema","setLabel","removeLabel","setLabelOnResource","RATE_LIMIT_ERROR_STATUS","RATE_LIMIT_ERROR_TEXT","ASSET_LIMIT_ERROR_STATUS","WebsiteMonitoringBucket","DemoDataDashboardNames","DemoDataTemplates","websiteMonitoringTemplate","default","WebsiteMonitoringDashboardTemplate","HIDE_UPGRADE_CTA_KEY","FREE_ORG_HIDE_UPGRADE_SETTING","PAID_ORG_HIDE_UPGRADE_SETTING","createdDashboard","labelMap","createLabelsFromTemplate","addDashboardLabelsFromTemplate","createCellsFromTemplate","createVariablesFromTemplate","pending","resolved","labeledResources","labelRelationships","includedLabels","existingLabels","promisedLabels","lab","res","allLabels","createdLabel","relationships","cellRelationships","cellsToCreate","pendingCells","cellResponses","responses","createViewsFromTemplate","viewRelationship","variablesIncluded","pendingVariables","resolvedVariables","normCreated","normVar","allVars","addLabelsToVars","includedVar","postedTask","addTaskLabelsFromTemplate","labelsMap","applyTemplates","reviewTemplate","dryRun","remotes","installTemplate","envRefs","resourceTemplateName","fetchStacks","stackId","updateStackName","templateURLs","additionalResources","fetchReadMe","statusText","viewsFromCells","viewSchema","arrayOfViews","cellSchema","Cells","parent","arrayOfCells","dashboardSchema","addDashboardDefaults","arrayOfDashboards","addDashboardMetaDefaults","getReadableRetention","expire","bucketSchema","arrayOfBuckets","memberSchema","arrayOfMembers","orgSchema","arrayOfOrgs","scraperSchema","arrayOfScrapers","LINE_COLORS_A","LINE_COLORS_B","LINE_COLORS_C","LINE_COLORS_D","LINE_COLORS_E","LINE_COLORS_F","LINE_COLORS_G","LINE_COLORS_SOLID_RED","LINE_COLORS_SOLID_BLUE","LINE_COLORS_SOLID_GREEN","LINE_COLORS_SOLID_YELLOW","LINE_COLORS_SOLID_PURPLE","DEFAULT_LINE_COLORS","LINE_COLOR_SCALES","colorScale","ADD_TEMPLATE_SUMMARY","POPULATE_TEMPLATE_SUMMARIES","REMOVE_TEMPLATE_SUMMARY","SET_STAGED_TEMPLATE","SET_STAGED_TEMPLATE_URL","SET_EXPORT_TEMPLATE","SET_TEMPLATE_SUMMARY","SET_TEMPLATES_STATUS","TOGGLE_TEMPLATE_RESOURCE_INSTALL","UPDATE_TEMPLATE_ENV_REF","SET_STACKS","addTemplateSummary","populateTemplateSummaries","setExportTemplate","setTemplatesStatus","removeTemplateSummary","setTemplateSummary","setStacks","setBuilderAggregateFunctionType","builderAggregateFunctionType","setBuilderBucketsStatus","setBuilderBucket","resetSelections","setBuilderTagKeysStatus","setBuilderTagValuesStatus","setBuilderTagKeySelection","setFunctions","setAggregateWindow","setAggregateFillValues","setValuesSearchTerm","setKeysSearchTerm","setWindowPeriodSelectionMode","selectAggregateWindow","loadBuckets","normalizedBuckets","systemBuckets","setBuilderBuckets","loadTagSelector","tagsSelections","queryURL","foundBucket","findKeys","defaultKey","setBuilderTagKeys","loadTagSelectorValues","findValues","setBuilderTagValues","selectTagValue","currentTag","newValues","setBuilderTagValuesSelection","addTagSelector","multiSelectBuilderFunction","functionNames","singleSelectBuilderFunction","selectTagKey","searchTagValues","searchTagKeys","removeTagSelector","cancelFindValues","cancelFindKeys","removeTagSelectorSync","reloadTagSelectors","setBuilderTagsStatus","setBuilderBucketIfExists","fetchAllBuckets","newBucket","denormalizeBucket","renameBucket","addBucketLabel","deleteBucketLabel","PIPE_DEFINITIONS","register","definition","setDataLoadersType","clearDataLoaders","setTelegrafConfigName","setTelegrafConfigDescription","updateTelegrafPluginConfig","addConfigValue","pluginName","removeConfigValue","setConfigArrayValue","valueIndex","setTelegrafConfigID","setToken","addPluginBundleWithPlugins","bundle","addPluginBundle","addTelegrafPlugins","configured","Unconfigured","Configured","removePluginBundleWithPlugins","removePluginBundle","removeBundlePlugins","createOrUpdateTelegrafConfigAsync","telegrafConfigID","telegrafConfigName","telegrafConfigDescription","influxDB2Out","NameEnum","InfluxdbV2","Output","urls","plugins","tp","plugin","normTelegraf","createTelegraf","generateTelegrafToken","ActionEnum","createdToken","telegrafRequest","agent","collectionInterval","tc","normAuth","setActiveTelegrafPlugin","telegrafPlugin","setPluginConfiguration","overlayParams","ShowOverlay","dismissOverlay","DismissOverlay","configure","apiKey","HONEYBADGER_KEY","revision","environment","HONEYBADGER_ENV","reportError","additionalOptions","additionalContext","errorType","errorCount","parseComponentName","componentStack","assignmentToProperty","ossMetricsTemplate","Apache","Docker","Github","JMeter","Kubernetes","Nginx","Redis","System","influxdbTemplateList","emptyGraphCopy","sample","INVALID_DATA_COPY","getBrowserBasepath","getAttribute","getAPIBasepath","stripPrefix","basepath","getBasepath","deleteTimeRange","DeleteTimeRange","SetDashboardTimeRange","RetainRangesDashboardTimeV1","strippedPathname","newLocation","updateQueryVars","varsObj","updateTimeRangeFromQueryParams","validatedTimeRangeFromQuery","validatedTimeRange","defaultMessage","getRuleVariantDefaults","parseMode","disableWebPagePreview","CHANGES","activeChange","changeStatusRule","changeType","initRuleDraft","draftRuleToPostRule","draftRule","newTagRuleDraft","ruleToDraftRule","LIMIT","BUCKET_LIMIT","RULE_LIMIT","DASHBOARD_LIMIT","TASK_LIMIT","MIN_RETENTION_SECONDS","isSystemBucket","SET_TASKS","EDIT_TASK","SET_TASK_OPTION","SET_ALL_TASK_OPTIONS","CLEAR_TASK","CLEAR_CURRENT_TASK","SET_NEW_SCRIPT","SET_CURRENT_SCRIPT","SET_CURRENT_TASK","SET_SEARCH_TERM","SET_SHOW_INACTIVE","SET_RUNS","SET_LOGS","REMOVE_TASK","ADD_TASK","setTasks","addTask","editTask","removeTask","setCurrentTask","clearCurrentTask","setAllTaskOptions","setRuns","setLogs","ADD_DASHBOARD_LABEL","DELETE_DASHBOARD_FAILED","EDIT_DASHBOARD","REMOVE_DASHBOARD","REMOVE_DASHBOARD_LABEL","SET_DASHBOARD","SET_DASHBOARDS","SET_DASHBOARD_SORT","editDashboard","setDashboard","removeDashboard","RESET_VIEWS","SET_VIEW","SET_VIEWS","SET_VIEWS_AND_CELLS","resetViews","setViews","setView","setViewsAndCells","cellsArray","viewsArray","MIN_THRESHOLDS","COLOR_TYPE_MIN","DEFAULT_VALUE_MIN","COLOR_TYPE_MAX","DEFAULT_VALUE_MAX","COLOR_TYPE_THRESHOLD","THRESHOLD_TYPE_TEXT","THRESHOLD_TYPE_BG","BASE_THRESHOLD_ID","THRESHOLD_COLORS","DEFAULT_GAUGE_COLORS","DEFAULT_THRESHOLDS_LIST_COLORS","DEFAULT_THRESHOLDS_TABLE_COLORS","validateLabelUniqueness","labelNames","validateHexCode","isValidLength","substring","addLabelDefaults","TIME_INVALIDATION","hashCode","rawText","hash","charCodeAt","queryCache","cache","cleanExpiredQueries","isCustomTime","dateSet","resetCacheByID","getFromCache","hashedVariables","initializeCacheByID","mutex","resetCache","setCacheByID","startWatchDog","resetQueryCache","resetQueryCacheByQuery","getCachedResultsOrRunQuery","simplifiedVariables","asSimplyKeyValueVariables","stringifiedVars","cacheResults","hasWindowVars","getCachedResultsThunk","variableSchema","arrayOfVariables","QUICKSTART_SCRAPER_TARGET_URL","pluginsByBundle","Cpu","Disk","Diskio","Mem","Net","Processes","Swap","telegrafPluginsInfo","Input","isRequired","File","StringArray","Kernel","Uri","Logparser","NetResponse","UriArray","Procstat","exe","servers","Syslog","Tail","BUNDLE_LOGOS","PLUGIN_BUNDLE_OPTIONS","getMostCommonValue","distribution","mostCommonCount","mostCommonValue","deleteCell","createCellWithView","clonedCell","workingView","defaultCell","copy","existingCellWidths","existingCellHeights","mostCommonCellWidth","mostCommonCellHeight","getNewDashboardCell","cellResp","newView","normCell","normView","createDashboardWithView","updatedCells","getMinDurationFromAST","times","isRangeNode","rangeNode","startProperty","propertyTime","endProperty","end","rangeTimes","allRangeTimes","starts","stops","cartesianProduct","lookupVariable","leftTime","rightDuration","objName","propertyName","isTimeCall","declarator","getWindowPeriod","calcWindowPeriodForDuration","queryDuration","foundDuration","getWindowPeriodVariable","NULL_ARRAY_INDEX","ASCENDING","DESCENDING","DEFAULT_SORT_DIRECTION","DEFAULT_FIX_FIRST_COLUMN","DEFAULT_VERTICAL_TIME_AXIS","CELL_HORIZONTAL_PADDING","isConfigValid","isDraftQueryAlertable","fieldValues","oneQuery","builderMode","isCheckSaveable","buildQuery","buildQueryFromConfig","from","tagsFunctionCalls","convertTagsToFluxFunctionString","fnCall","fnSpec","spec","formattedPeriod","formatPeriod","formatFunctionCall","tagToFlux","quotedValues","ConfirmationState","confirmationState","hasQueryBeenEdited","NotRequired","ConnectorState","StepStatus","imageRenderer","parseChunks","trimmedResponse","parseResponse","chunk","parseTables","responseChunk","lines","annotationLines","line","nonAnnotationLines","nonAnnotationData","annotationData","headerRow","tableColIndex","resultColIndex","tablesData","groupBy","groupRow","defaultsRow","dataTypeRow","groupKeyIndices","tableData","dataRow","groupKey","dataTypes","dataType","taskSchema","arrayOfTasks","telegrafSchema","arrayOfTelegrafs","setPluginLoadingState","setPlugins","setActivePlugins","setLookup","setList","setText","normTelegrafs","updateTelegraf","deleteTelegraf","addTelegrafLabelsAsync","telegrafID","removeTelegrafLabelsAsync","getTOML","submitRef","nextButtonText","backButton","skipButton","backButtonText","onClickBack","skipButtonText","onClickSkip","showSkip","LANGID","languages","setLanguageConfiguration","autoClosingPairs","close","addSyntax","createRequest","jsonrpc","initialize","didOpen","uri","textDocument","languageId","didChange","newText","contentChanges","rename","references","formatting","symbols","completion","foldingRange","signatureHelp","isRetrigger","get_message","get_error","m2p","p2m","parseQueryResponse","queryMeasurements","queryTagKeys","queryTagValues","reduxStore","messageID","documentVersions","getTagKeys","getTagValues","getMeasurements","register_buckets_callback","register_measurements_callback","register_tag_keys_callback","register_tag_values_callback","send","currentMessageID","sendPrelude","parseDiagnostics","diagnostics","fullMessage","parts","prelude","serverLoader","queue","deferred","Deferred","Server","registerDocumentSymbolProvider","provideDocumentSymbols","model","_token","asSymbolInformations","registerDocumentFormattingEditProvider","provideDocumentFormattingEdits","_context","asTextEdits","registerFoldingRangeProvider","provideFoldingRanges","foldingRanges","asFoldingRanges","registerDefinitionProvider","provideDefinition","pos","asPosition","loc","asLocation","registerReferenceProvider","provideReferences","registerRenameProvider","provideRenameEdits","edit","asWorkspaceEdit","registerSignatureHelpProvider","provideSignatureHelp","help","asSignatureHelpResult","signatureHelpTriggerCharacters","registerCompletionItemProvider","provideCompletionItems","wordUntil","getWordUntilPosition","defaultRange","startColumn","endColumn","completionItems","triggerKind","TriggerCharacter","asCompletionResult","triggerCharacters","toggleCommenting","isTogglingOn","isCommented","autogrow","lspServer","editorInst","seteditorInst","docVersion","setdocVersion","docURI","setDocURI","updateDiagnostics","asDiagnostics","setModelMarkers","getModel","fontFamily","cursorWidth","lineNumbersMinChars","lineDecorationsWidth","minimap","renderCharacters","overviewRulerBorder","automaticLayout","addAction","keybindings","KeyMod","CtrlCmd","KeyCode","US_SLASH","ed","getSelection","startLineNumber","positionColumn","selectionStartColumn","isTogglingCommentingOn","updatedValues","setValue","setSelection","comments","submitFn","addCommand","Enter","load","setPosition","builderToPostCheck","genCheckBase","validateBuilder","toThresholdPostCheck","toDeadManPostCheck","reportZero","checkThresholdsValid","getCheckForTimeMachine","normCheck","builderCheck","createCheckFromTimeMachine","updateCheckFromTimeMachine","getCheckResponse","ownerID","updateCheckDisplayProperties","addCheckLabel","deleteCheckLabel","cloneCheck","allCheckNames","toPostCheck","didCopy","setDidCopy","ErrorFormat","EmptyGraphErrorTooltip","addBasepath","excludeBasepath","getAJAX","SET_FEATURE_FLAGS","RESET_FEATURE_FLAGS","CLEAR_FEATURE_FLAG_OVERRIDES","SET_FEATURE_FLAG_OVERRIDE","setFlags","clearOverrides","setOverride","flag","SET_CELL","SET_CELLS","REMOVE_CELL","setCell","removeCell","setCells","SET_VARIABLES","SET_VARIABLE","REMOVE_VARIABLE","MOVE_VARIABLE","SELECT_VARIABLE_VALUE","setVariables","setVariable","removeVariable","CLEAR_VARIABLE_EDITOR","CHANGE_VARIABLE_EDITOR_TYPE","UPDATE_VARIABLE_EDITOR_NAME","UPDATE_VARIABLE_EDITOR_QUERY","UPDATE_VARIABLE_EDITOR_MAP","UPDATE_VARIABLE_EDITOR_CONSTANT","clearEditor","updateType","editorType","updateQuery","arg","updateMap","updateConstant","SET_BUCKETS","ADD_BUCKET","EDIT_BUCKET","REMOVE_BUCKET","setBuckets","addBucket","editBucket","SET_SCROLL","SET_CELL_MOUNT","SET_DASHBOARD_VISIT","setScroll","setDashboardVisit","authSchema","arrayOfAuths","INFLUX_LABEL_PREFIX","HEX_CODE_CHAR_LENGTH","EMPTY_LABEL","PRESET_LABEL_COLORS","Preset","INPUT_ERROR_COLOR","checkSchema","arrayOfChecks","calculateSize","ErrorTypes","calculateColumnWidths","timeFormatWidth","calculateTimeColumnWidth","maxColumnWidths","topRow","isTopRow","foundField","colValue","columnLabel","isTimeColumn","isTimeRow","currentWidth","widths","Widths","totalWidths","updateMaxWidths","transformTableData","excludedData","ignoredIndices","excludeNoisyColumns","resolvedFieldOptions","existingFieldOptions","astNames","resolveFieldOptions","sortedData","sortedTimeVals","headerSet","sortIndex","dataValues","drop","orderBy","sortedValue","sortTableData","orderedData","filteredFieldSortOrder","dataLabel","j","orderTableColumns","filteredData","filterTableColumns","transformedData","unzip","columnWidths","findHoverTimeIndex","hoverTime","firstDiff","getUnixISODiff","currentTime","thisDiff","unixMs","isoTime","abs","resolveTimeFormat","getRangeVariable","which","isQueryViewProperties","vp","getAllUsedVars","varsInUse","usedV","filterUnusedVarsBasedOnQuery","queryTexts","cachedVars","createdUsedVarsCache","findIncludedsFromRelationships","includeds","intersection","findIncludedFromRelationship","findLabelsToCreate","el","findIncludedVariables","findVariablesToCreate","existingVariables","incomingVariables","ev","hasLabelsRelationships","getLabelRelationships","getTemplateNameFromUrl","urlSplit","fullName","getGithubUrlFromTemplateDetails","labelToRelationship","labelToIncluded","taskToTemplate","baseTemplate","blankTaskTemplate","taskAttributes","taskLabels","relationshipsLabels","cellToIncluded","viewToRelationship","cellAttributes","variableToTemplate","blankVariableTemplate","labelsByID","variableData","variableToIncluded","variableRelationships","variableToRelationship","includedDependencies","vLabels","includedDependentLabels","variableAttributes","dashboardToTemplate","blankDashboardTemplate","dashboardAttributes","dashboardLabels","dashboardIncludedLabels","includedCells","relationshipsCells","cellToRelationship","includedVariables","variableIncludedLabels","relationshipsVariables","includedViews","sanitizedQueries","viewToIncluded","templateToExport","pickedTemplate","labelsArray","endpointSchema","point","addEndpointDefaults","arrayOfEndpoints","ruleSchema","arrayOfRules","templateSchema","arrayOfTemplates","authorizations","createAuthorization","newAuth","updateAuthorization","authorization","incrementCloneName","namesList","cloneName","root","highestNumberedClone","strippedName","cloneNumber","newCloneNumber","createRule","updateRule","normRule","updateRuleProperties","deleteRule","addRuleLabel","deleteRuleLabel","cloneRule","allRuleNames","handleClickCopy","handleCopyAttempt","handleClickOutside","domNode","findDOMNode","only","EMPTY_STATE","_id","serialize","ResultsContext","ResultsProvider","setResults","manipulator","lastOne","useNotebookListState","EMPTY_NOTEBOOK","_notebook","NotebookListContext","NotebookListProvider","setNotebooks","notebookList","stateUpdater","_notebooks","AppSettingContext","AppSettingProvider","BucketContext","GLOBAL_LOADING","BucketProvider","grabber","lockAndLoad","clearSteps","incrementCurrentStepIndex","decrementCurrentStepIndex","setCurrentStepIndex","setBucketInfo","formatStatValue","localeFormattedValue","getAutoDigits","roundedValue","toLocaleString","maximumFractionDigits","preventNegativeZero","GAUGE_THEME_LIGHT","degree","PI","lineCount","smallLineCount","lineColor","labelColor","Storm","labelFontSize","lineStrokeSmall","lineStrokeLarge","tickSizeSmall","tickSizeLarge","minFontSize","minLineWidth","valueColor","needleColor0","needleColor1","overflowDelta","GAUGE_THEME_DARK","White","updateCanvas","resetCanvas","canvasRef","getContext","centerX","centerY","radius","gradientThickness","labelValueFontSize","drawGradientGauge","drawSegmentedGauge","drawGaugeLines","drawGaugeLabels","drawGaugeValue","drawNeedle","canvas","dpRatio","devicePixelRatio","clearRect","xc","yc","sortedColors","arcStart","arcEnd","xStart","cos","yStart","sin","xEnd","yEnd","createLinearGradient","addColorStop","beginPath","lineWidth","strokeStyle","arc","trueValueRange","totalArcLength","startingPoint","nextColor","adjustedValue","adjustedNextValue","arcLength","arcStop","totalSmallLineCount","startDegree","arcLargeIncrement","arcSmallIncrement","arcRadius","lineCap","closePath","translate","lt","rotate","moveTo","lineTo","tickValues","tick","arcIncrement","labelRadius","font","fillStyle","textBaseline","fillText","gaugePosition","textY","textContent","arcDistance","needleRotation","needleGradient","currentTheme","getLegibleTextColor","bgColorHex","red","green","blue","rgb","findNearestCrossedThreshold","lastValue","generateThresholdsListHexs","cellType","defaultColoring","bgColor","lastValueNumber","baseColor","shouldColorizeText","nearestCrossedThreshold","stat","formattedValue","dominantBaseline","textAnchor","areFormatPropertiesEqual","prevProperties","newProperties","isEqual","memoizedTableTransform","fo","opts","transformedDataBundle","URL_REGEXP","isFieldName","isString","onClickFieldName","rowIndex","columnIndex","onHover","class","str","regex","idx","asLink","isVerticalTimeAxis","isFirstRow","isFirstCol","hoveredRowIndex","scrollToRow","hoveredColumnIndex","isTimeVisible","timeFieldIndex","isFixedRow","isFixedColumn","isFixedCorner","isHighlightedRow","isHighlightedColumn","isSorted","isAscending","isFirstColumnFixed","hiddenBeforeTime","isFixed","isTimeData","isTimestamp","thresholdData","timeFormatter","defaultTo","cellMeasurerCache","columnIndexOffset","rowIndexOffset","clear","clearAll","defaultHeight","defaultWidth","hasFixedHeight","hasFixedWidth","getHeight","getWidth","SCROLLBAR_SIZE_BUFFER","deferredInvalidateColumnIndex","deferredInvalidateRowIndex","leftGridWidth","topGridHeight","lastRenderedFixedColumnCount","lastRenderedFixedRowCount","lastRenderedHeight","lastRenderedWidth","cellRendererBottomLeftGrid","cellRenderer","fixedRowCount","rest","onScrollbarsScroll","scrollLeft","onScrollLeft","rowHeightBottomGrid","scrollbarSize","showVerticalScrollbar","topLeftGridRef","topLeftGrid","topRightGridRef","topRightGrid","bottomLeftGridRef","bottomLeftGrid","bottomRightGridRef","bottomRightGrid","cellRendererBottomRightGrid","fixedColumnCount","cellRendererTopRightGrid","columnWidthRightGrid","showHorizontalScrollbar","deferredMeasurementCache","maybeCalculateCachedStyles","deferredMeasurementCacheBottomLeftGrid","deferredMeasurementCacheBottomRightGrid","deferredMeasurementCacheTopRightGrid","nextProps","measureAllCells","adjustedColumnIndex","adjustedRowIndex","recomputeGridSize","handleInvalidatedGridSize","onSectionRendered","scrollToColumn","prepareForRender","containerOuterStyle","containerTopStyle","renderTopLeftGrid","renderTopRightGrid","containerBottomStyle","renderBottomLeftGrid","renderBottomRightGrid","getTopGridHeight","getLeftGridWidth","getBottomGridHeight","classNameBottomLeftGrid","bottomLeftGridStyle","getRightGridWidth","bottomRightGridStyle","classNameBottomRightGrid","overflowX","overflowY","classNameTopLeftGrid","topLeftGridStyle","enableFixedRowScroll","classNameTopRightGrid","topRightGridStyle","resetAll","styleBottomLeftGrid","styleBottomRightGrid","styleTopLeftGrid","styleTopRightGrid","sizeChange","leftSizeChange","lastRenderedColumnWidth","topSizeChange","lastRenderedRowHeight","lastRenderedStyle","overflow","lastRenderedStyleBottomLeftGrid","lastRenderedStyleBottomRightGrid","lastRenderedStyleTopLeftGrid","lastRenderedStyleTopRightGrid","enableFixedColumnScroll","timeColumnWidth","shouldResize","totalColumnWidths","handleMultiGridMount","multiGrid","handleHover","dataset","onSetHoverTime","handleMouseLeave","calculateColumnWidth","columnSizerWidth","tableWidth","computedColumnCount","handleResize","getCellData","cellProps","scrollToColRow","tableClassName","gridContainer","onMouseLeave","columnMinWidth","adjustedWidth","onMount","clientWidth","hoveringThisTable","timeField","handleSetSort","newSortOptions","sortField","keysIHate","selectedTableName","onSelectTable","sidebarClassName","isDataEmpty","handleSelectTable","showSidebar","nameOfSelectedTable","shouldShowTable","selectedTable","hasData","defaultTableName","getValidRange","endTime","useVisXDomainSettings","storedDomain","initialDomain","setDomain","isValidStoredDomainValue","isFinite","useVisYDomainSettings","getRemainingRange","storedXDomain","onResetXDomain","colorHexes","xFormatter","valueFormatters","layers","storedYDomain","storedColors","onResetYDomain","yFormatter","storedFill","storedXColumn","storedYColumn","xTickPrefix","xTickSuffix","xTickBase","xBounds","yTickPrefix","yTickSuffix","yBounds","yTickBase","isValidView","interpolation","memoizedYColumnData","lineData","Y","legendColumns","shadeBelowOpacity","storedSymbol","EXCLUDED_COLUMNS","valueColsData","keyA","keyB","sortTableKeys","colKey","getColumnName","isValueCol","timeColData","latestRowIndices","maxes","maxDist","dist","maxesBy","colData","quiet","allowString","latestValues","latestValue","upperColumn","upperColumnName","lowerColumn","lowerColumnName","lineOpacity","shadeOpacity","xyProperties","singleStatProperties","isCorrectType","bound","normalizeRangesState","normalized","typedRange","getLocalStateRanges","normalizedRanges","rangesObject","getLocalStateRangesAsArray","setLocalStateRanges","normalizeApp","normalizeAppPersisted","normalizeTimeZone","timeZones","normalizeResources","normalizeOrgs","loadLocalStorage","serializedState","localStorage","normalizeGetLocalStorage","setToLocalStorage","prop","setItem","getFromLocalStorage","removeFromLocalStorage","removeItem","saveToLocalStorage","override","normalizeSetLocalStorage","errorString","isValidJSONString","GRAPHIC_SVGS","VIS_GRAPHICS","graphic","getVewTypeGraphic","selectedView","g","resolveSelectedKey","prevSelection","defaultSelection","cacheKey","extractValues","valueColIndex","_value","valueFetcher","cachedValues","createVariableGraph","nodesByID","parents","getVarChildren","isInQuery","maybeChild","collectAncestors","postOrderDFS","getDeduplicatedRootChild","subsetIDs","findSubgraphFeature","graph","subgraph","varIDs","subgraphIDs","variableNode","filteredNodes","findSubgraph","ancestor","errorVariableValues","collectDescendants","readyToResolve","findCyclicPath","findCyclicPathHelper","cyclicPath","seen","hydrateVars","findSubgraphFunction","invalidNode","invalidateCycles","isCancelled","fire","hydrateVarsHelper","ancestors","invalidateAncestors","callbacks","ret","cb","apply","findLeaves","extractResult","toPostNotificationEndpoint","createEndpoint","newEndpoint","updateEndpoint","updateEndpointProperties","deleteEndpoint","addEndpointLabel","deleteEndpointLabel","cloneEndpoint","allEndpointNames","viewableLabels","LabelColorType","NoteEditorMode","OverlayState","CancellationError","SET_ORGS","SET_ORG","ADD_ORG","REMOVE_ORG","EDIT_ORG","setOrgs","setOrg","setContext","addOrg","removeOrg","editOrg","getConfigFields","updateConfigFields","createNewPlugin","isPluginUniqueToBundle","bundles","isPluginInBundle","getDeep","fallback","SET_TELEGRAFS","ADD_TELEGRAF","EDIT_TELEGRAF","REMOVE_TELEGRAF","SET_CURRENT_CONFIG","setTelegrafs","addTelegraf","editTelegraf","removeTelegraf","setCurrentConfig","SET_AUTH","ADD_AUTH","EDIT_AUTH","REMOVE_AUTH","setAuthorizations","addAuthorization","removeAuthorization","getView","updateView","cloneUtilFunc","oldDashID","clonedDashID","findNodes","innerValue","InternalTypes","ExternalTypes","TO_COLUMN_TYPE","boolean","unsignedLong","number","long","double","string","parseValue","chunks","regerz","lastRange","currentChunkIndex","headerLocation","currentLineInHeader","currentColumnIndex","currentLineIndex","columnKey","runningTotal","newline","shift","errorReferenceCode","annotationObject","currentColumn","group","columnNames","DEFAULT_LIMIT","findBuckets","extractBoxedCol","tagFilters","formatTagFilterPredicate","searchFilter","formatSearchFilterCall","previousKeyFilter","formatTagKeyFilterCall","formatTimeRangeArguments","colIndex","colValues","extractCol","validSelections","baseURL","deleteDemoDataBucketMembership","fetchDemoDataBuckets","demoBuckets","demodataOrgID","getNormalizedDemoDataBucket","getAuth0Config","createScraper","updateScraper","deleteScraper","wasm","grammars","Map","grammarDefs","DEFAULT_DEF","TokenizerState","_ruleStack","other","scope","registry","getGrammarDefinition","lang","grammar","loadGrammar","setTokensProvider","tokenize","tokenizeLine","ruleStack","endState","scopes","BucketsDropdown","dropdownBuckets","isBucketsEmpty","Consumer","HoverTimeProvider","withHoverTime","hoverTimeProps","getBucketByName","firstBucket","secondBucket","getSortedBuckets","otherBuckets","autoAggregateableQueries","queryIsNotEmpty","originalQueryInScriptEditorMode","alteredQuery","originalQueryText","updateViewAndVariables","cellIDs","getViewsForDashboard","splice","getViewAndResultsForVEO","timeMachineID","emptyIcon","onStartDrag","dragHandleRef","resizingEnabled","additionalControls","onUpdateVisibility","toggleVisibilityEnabled","handleToggleVisibility","onMouseDown","hiddenText","minimumHeight","panelHeight","panelVisibility","updateSize","updateDragging","bodyRef","bodyClassName","_emptyIcon","Zap","updateResultsStyle","setAttribute","handleUpdateHeight","handleMouseMove","pageY","updatedHeight","handleMouseUp","getElementsByTagName","klass","getRootNode","getElementById","Auth0Connection","AutoRefreshStatus","WritePrecision","WriteDataMode","RemoteDataState","NotificationStyle","ResourceType","SourceAuthenticationMethod","TaskSchedule","SET_CURRENT_DASHBOARD","isDate","validateAndTypeRange","selectableTimeRange","SET_ME","user","userEmail","user_id","setMe","OSS_FLAGS","cursorAtEOF","customCheckQuery","demodata","downloadCellCSV","fluxParser","matchingNotificationRules","streamEvents","disableDefaultTableSort","CLOUD_FLAGS","cloudBilling","activeFlags","localState","networkState","setCurrentPage","SET_SCRAPERS","ADD_SCRAPER","EDIT_SCRAPER","REMOVE_SCRAPER","setScrapers","addScraper","editScraper","removeScraper","SET_MEMBERS","ADD_MEMBER","REMOVE_MEMBER","setMembers","addMember","SET_CHECKS","SET_CHECK","REMOVE_CHECK","REMOVE_LABEL_FROM_CHECK","setChecks","setCheck","removeCheck","removeLabelFromCheck","SET_RULES","SET_RULE","SET_CURRENT_RULE","REMOVE_RULE","REMOVE_LABEL_FROM_RULE","setRules","setRule","setCurrentRule","removeRule","removeLabelFromRule","SET_ENDPOINT","REMOVE_ENDPOINT","SET_ENDPOINTS","REMOVE_LABEL_FROM_ENDPOINT","removeEndpoint","setEndpoint","setEndpoints","removeLabelFromEndpoint","TEN_MINUTES","schemaReducer","exp","newSchema","SET_SCHEMA","RESET_SCHEMA","REMOVE_SCHEMA","setSchema","resetSchema","basename","placeContent","TOOLTIP_PORTAL_ID","humanizeNote","ruleToString","minutes","hours","days","secondsToDuration","rpString","fastReduce","subject","iterator","initialValue","fastMap","fastFilter","formatExpression","RunQueryPromiseMutex","cached","processing","runStatusesQuery","processStatusesResponse","tableIndex","getDescendantsFromGraph","varGraph","findDependentVariables","exportVariables","varSet","isDemoDataAvailabilityError","errorCode","demoDataError","queryBuilderFetcher","findKeysQueries","findValuesQueries","findKeysCache","findValuesCache","findBucketsCache","cancelFindBuckets","cachedResult","pendingResult","findBucketsQuery","ownersResp","membersResp","owners","allMembers","deleteMember","THEME_NAME","defineTheme","inherit","foreground","registerAutogrow","prevHeight","updateEditorHeight","editorElement","getDomNode","lineHeight","getOption","EditorOption","getLineCount","getTopForLineNumber","updateOptions","enabled","scrollbar","vertical","handleMouseWheel","scrollBeyondLastLine","onDidChangeModelDecorations","requestAnimationFrame","useCheckYDomain","dataDomain","extrema","ROW_HEIGHT","maxColumnCount","headerRows","renderCell","datum","gridStyle","calculateWidth","fromFluxLegacy","parsedFlux","addColumn","generator","_index","getDataLoaders","getSteps","module","exports","resizeLayout","createEvent","initEvent","dispatchEvent","queryStringConfig","present","showTemplateControlBar","initialAppEphemeralState","initialAppPersistedState","SetAutoRefresh","external","statusFeed","signin","signout","system","debug","health","metrics","defaultDashboard","LinksGetCompleted","publishedNotification","defaultOptions","setResourceAtID","prevResource","currentResource","setResource","addResource","editResource","removeResource","uuid","setRelation","childType","childID","parentID","dashboardsReducer","cID","cellsReducer","cellExists","initialStateHelper","initialQueryResultsState","getTableProperties","ni","pointer","existing","timeMachinesReducer","veo","de","alerting","initialQueryBuilderState","newActiveTimeMachine","timeMachineReducer","buildAllQueries","convertView","setViewProperties","setYAxis","updateCorrectColors","resetBuilderState","queryLength","draftQuery","buildActiveQuery","defaultAggregateFunctionType","initialTags","functionsWithNames","yAxis","outType","defaultFunctions","defaultTag","newBuilderConfig","orgsReducer","nullParams","Incomplete","Adding","overlayVisible","pluginBundles","scraperTarget","stepIndex","uniqBy","updatedConfigFieldValue","filteredConfigFieldValue","configValues","configFields","isValidConfig","fieldType","fieldValue","InvalidConfiguration","variableEditorReducer","variablesReducer","variableExists","order","newOrder","idToMove","idToSwap","labelsReducer","bucketsReducer","telegrafsReducer","authsReducer","defaultValue","templateToInstall","scrapersReducer","userSettingsReducer","membersReducer","autoRefreshReducer","defaultLimit","maxAllowed","defaultLimitWithBlocked","blocked","rate","readKBs","writeKBs","limitsReducer","maxBuckets","maxRetentionDuration","maxDashboards","maxTasks","maxChecks","maxNotifications","blockedNotificationRules","blockedNotificationEndpoints","demoDataReducer","orgSettingsReducer","orgSettings","defaultChecksState","defaultNotificationRulesState","INITIAL_PLUGINS","INITIAL_EDITOR","showLookup","showList","pluginsReducer","plugs","pluginsResourceReducer","activePluginsReducer","editorReducer","predicatesReducer","newTags","filteredThresholds","rootReducer","router","telegrafEditorActivePlugins","telegrafEditorPlugins","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","_store","routingMiddleware","createPersistentStore","enhancer","throttle","onDrag","onMouseUp","dragTargetProps","mouseDownEvent","pageX","onMouseMove","mouseMoveEvent","mouseUpEvent","useDragBehavior","levelClass","yScale","onChangeMinPos","onChangeMaxPos","minY","maxY","onChangePos","originRef","nextZoomThreshold","zoomThreshold","setZoomThreshold","debouncedZoomIn","handleDrag","yRelative","yValue","invert","nextThreshold","roundedThresholds","nt","triggerRect","rect","caretTop","querySelector","calculateLevelStyle","colorize","xScale","tooltipVisible","setTooltipVisible","ceil","markerClass","eventLevels","findMaxLevel","formattedEvents","filterEvents","eventsArray","isOkVisible","isInfoVisible","isWarnVisible","isCritVisible","isUnknownVisible","setOkVisibility","setInfoVisibility","setWarnVisibility","setCritVisibility","setUnknownVisibility","filteredEventsArray","setFilteredEventsArray","iconGlyph","eventVisToggle","onUpdateThresholds","thresholdValues","yTicks","onDidChangeCursorPosition","onCursorChange","ch","ctrlKey","willMount","createViewAndDashboard","setSelectedDashboard","setNewName","nameInput","dropdown","scrollToSelected","Sapphire","ExportConfirmationNotification","isExporting","setIsExporting","buttonStyle","opacity","updateVisualizationType","onHidePopover","Resizer","BarChart","LinksGetRequested","linksGetRequested","linksGetCompleted","LinksGetFailed","linksGetFailed","SET_ORG_SETTINGS","fetchOrgSettings","setOrgSettings","setFreeOrgSettings","onGenerateTelegrafToken","configScript","exportToken","rel","parseFiles","parsedChunks","disableVerticalScrolling","tableHeight","RawFluxDataGrid","webpackContext","req","webpackContextResolve","__webpack_require__","selectedFunction","updateSelectedFunction","function","dedupeArray","array","normalizeSchema","lowerCasedSearchTerm","selectedMeasurement","selectedField","selectedTags","measurements","fieldResults","tagResults","tagValue","dedupedTags","dedupeTags","filteredFields","filterFields","filteredTags","filterTags","getAndSetBucketSchema","validCachedResult","storedSchema","getSchemaByBucketName","getUnexpiredSchema","fetchSchemaForBucket","localFetchSchema","SchemaContext","SchemaProvider","schemaCopy","updatedBucket","ItemEmpty","Disks","updateMeasurementSelection","updated","updateFieldSelection","handleSublistMultiSelect","updatedTags","handleSubListItemClick","updatedValue","handleSetSearch","constructFilters","tagNames","mappedTags","_filter","handleDeleteFilter","currentFilters","AggregateWindowSelector","onToggleMode","contextmenu","handlePreviewClick","onClickPrev","onClickNext","disablePrev","disableNext","pageSize","startRow","prevButtonStatus","CaretLeft","resultsExist","setStartRow","setPageSize","prevDisabled","nextDisabled","updateText","_queries","FluxMonacoEditor","frameBorder","allow","setIsEditing","showEditing","uploadRef","Import","onerror"],"mappings":"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ACE,yFA2CSs8B,GAA6B,CACxC7+B,KAAM,QACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KACE,+EACFh5B,KAAM,qBAGV05B,QAAS,GACTV,KACE,wNACFC,QAAS,kCACTM,SAAU,kBACVl8B,KACE,mGA6ESu8B,GAAwC,CACnD,CACE9+B,KAAM,iBACNo+B,KAAM,CACJ,CACEp+B,KAAM,QACNk+B,KAAM,uBACNh5B,KAAM,YAER,CACElF,KAAM,eACNk+B,KAAM,+CACNh5B,KAAM,oBAER,CACElF,KAAM,OACNk+B,KACE,oEACFh5B,KAAM,aAGV05B,QAAS,yBACTV,KAAM,qDACNC,QAAS,sCACTM,SAAU,kBACVl8B,KACE,gGAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,QACNk+B,KAAM,2BACNh5B,KAAM,YAER,CACElF,KAAM,KACNk+B,KAAM,gDACNh5B,KAAM,mBAER,CACElF,KAAM,SACNk+B,KAAM,0DACNh5B,KAAM,UAER,CACElF,KAAM,UACNk+B,KACE,sGACFh5B,KAAM,UAER,CACElF,KAAM,UACNk+B,KACE,yGACFh5B,KAAM,UAER,CACElF,KAAM,cACNk+B,KACE,wGACFh5B,KAAM,YAGV05B,QAAS,GACTV,KAAM,0DACNC,QAAS,mDACTM,SAAU,aACVl8B,KACE,wHAEJ,CACEvC,KAAM,aACNo+B,KAAM,CACJ,CACEp+B,KAAM,OACNk+B,KAAM,8CACNh5B,KAAM,qBAGV05B,QAAS,qBACTV,KAAM,+CACNC,QACE,gHACFM,SAAU,SACVl8B,KACE,4FAEJ,CACEvC,KAAM,gBACNo+B,KAAM,CACJ,CACEp+B,KAAM,QACNk+B,KACE,2EACFh5B,KAAM,UAER,CACElF,KAAM,UACNk+B,KACE,sEACFh5B,KAAM,UAER,CACElF,KAAM,WACNk+B,KACE,wEACFh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,8DACNh5B,KAAM,WAGV05B,QAAS,wBACTV,KAAM,2DACNC,QACE,iIACFM,SAAU,SACVl8B,KACE,+FAEJ,CACEvC,KAAM,OACNo+B,KAAM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CE,0FACFh5B,KAAM,WAGV05B,QAAS,eACTV,KAAM,gEACNC,QACE,wEACFM,SAAU,kBACVl8B,KACE,uFAEJ,CACEvC,KAAM,oBACNo+B,KAAM,CACJ,CACEp+B,KAAM,OACNk+B,KAAM,0CACNh5B,KAAM,oBAER,CACElF,KAAM,QACNk+B,KAAM,2CACNh5B,KAAM,oBAER,CACElF,KAAM,KACNk+B,KACE,wEACFh5B,KAAM,aAGV05B,QAAS,eACTV,KACE,4GACFC,QACE,qHACFM,SAAU,kBACVl8B,KACE,sFAEJ,CACEvC,KAAM,0BACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,kCACNh5B,KAAM,WAGV05B,QAAS,eACTV,KAAM,kDACNC,QAAS,+DACTM,SAAU,kBACVl8B,KACE,4FAEJ,CACEvC,KAAM,mBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,wDACNh5B,KAAM,WAGV05B,QAAS,eACTV,KAAM,qDACNC,QAAS,8DACTM,SAAU,kBACVl8B,KACE,qFAEJ,CACEvC,KAAM,2BACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,4BACNh5B,KAAM,YAER,CACElF,KAAM,OACNk+B,KAAM,0CACNh5B,KAAM,SAGV05B,QAAS,eACTV,KACE,+EACFC,QAAS,gDACTM,SAAU,kBACVl8B,KACE,6FAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KACE,+EACFh5B,KAAM,UAER,CACElF,KAAM,WACNk+B,KACE,yFACFh5B,KAAM,UAER,CACElF,KAAM,MACNk+B,KACE,2FACFh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KACE,yFACFh5B,KAAM,WAGV05B,QAAS,eACTV,KACE,0GACFC,QAAS,gEACTM,SAAU,UACVl8B,KACE,oFAEJ,CACEvC,KAAM,UACNo+B,KAAM,CACJ,CACEp+B,KAAM,OACNk+B,KAAM,6CACNh5B,KAAM,YAER,CACElF,KAAM,aACNk+B,KACE,wEACFh5B,KAAM,WAER,CACElF,KAAM,aACNk+B,KAAM,8DACNh5B,KAAM,WAGV05B,QAAS,GACTV,KAAM,+CACNC,QAAS,oBACTM,SAAU,kBACVl8B,KACE,qGAEJ,CACEvC,KAAM,2BACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,mCACNh5B,KAAM,YAGV05B,QAAS,GACTV,KACE,mJACFC,QAAS,iCACTM,SAAU,kBACVl8B,KACE,sHAEJ,CACEvC,KAAM,OACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KACE,sEACFh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,+CACNh5B,KAAM,0BAER,CACElF,KAAM,cACNk+B,KACE,mEACFh5B,KAAM,YAGV05B,QAAS,GACTV,KACE,sFACFC,QAAS,4CACTM,SAAU,kBACVl8B,KACE,kGAEJ,CACEvC,KAAM,SACNo+B,KAAM,CACJ,CACEp+B,KAAM,KACNk+B,KACE,8JACFh5B,KAAM,YAER,CACElF,KAAM,UACNk+B,KACE,qGACFh5B,KAAM,WAGV05B,QAAS,GACTV,KACE,sIACFC,QAAS,6CACTM,SAAU,kBACVl8B,KACE,oGAEJ,CACEvC,KAAM,aACNo+B,KAAM,CACJ,CACEp+B,KAAM,KACNk+B,KAAM,+DACNh5B,KAAM,YAER,CACElF,KAAM,SACNk+B,KAAM,iCACNh5B,KAAM,WAGV05B,QAAS,GACTV,KACE,wJACFC,QAAS,iEACTM,SAAU,kBACVl8B,KACE,qHAEJ,CACEvC,KAAM,aACNo+B,KAAM,CACJ,CACEp+B,KAAM,KACNk+B,KAAM,+DACNh5B,KAAM,YAER,CACElF,KAAM,MACNk+B,KAAM,kCACNh5B,KAAM,YAGV05B,QAAS,GACTV,KACE,6IACFC,QAAS,uDACTM,SAAU,kBACVl8B,KACE,qHAEJ,CACEvC,KAAM,QACNo+B,KAAM,GACNQ,QAAS,GACTV,KAAM,yDACNC,QAAS,UACTM,SAAU,YACVl8B,KACE,6GAEJ,CACEvC,KAAM,QACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,wBACNh5B,KAAM,uCAGV05B,QAAS,GACTV,KAAM,sCACNC,QAAS,qBACTM,SAAU,mBACVl8B,KACE,oHAEJo8B,GACA,CACE3+B,KAAM,eACNo+B,KAAM,CACJ,CACEp+B,KAAM,UACNk+B,KAAM,iEACNh5B,KAAM,oBAER,CACElF,KAAM,UACNk+B,KAAM,+BACNh5B,KAAM,qBAGV05B,QAAS,mBACTV,KACE,0EACFC,QAAS,0DACTM,SAAU,kBACVl8B,KACE,8FAEJ,CACEvC,KAAM,iBACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,6CACNh5B,KAAM,UAER,CACElF,KAAM,UACNk+B,KACE,2EACFh5B,KAAM,WAER,CACElF,KAAM,UACNk+B,KACE,4EACFh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,+CACNh5B,KAAM,WAER,CACElF,KAAM,gBACNk+B,KAAM,2DACNh5B,KAAM,WAER,CACElF,KAAM,SACNk+B,KAAM,6DACNh5B,KAAM,YAGV05B,QAAS,mBACTV,KACE,qFACFC,QACE,2FACFM,SAAU,kBACVl8B,KACE,gGAEJ,CACEvC,KAAM,iBACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,6CACNh5B,KAAM,UAER,CACElF,KAAM,UACNk+B,KACE,2EACFh5B,KAAM,WAER,CACElF,KAAM,UACNk+B,KACE,4EACFh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,+CACNh5B,KAAM,WAER,CACElF,KAAM,gBACNk+B,KAAM,2DACNh5B,KAAM,YAGV05B,QAAS,mBACTV,KACE,8EACFC,QACE,6EACFM,SAAU,kBACVl8B,KACE,gGAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,YACNk+B,KACE,kFACFh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KACE,oEACFh5B,KAAM,WAER,CACElF,KAAM,gBACNk+B,KAAM,2DACNh5B,KAAM,YAGV05B,QAAS,mBACTV,KAAM,+DACNC,QAAS,mDACTM,SAAU,kBACVl8B,KACE,iGAEJ,CACEvC,KAAM,oBACNo+B,KAAM,CACJ,CACEp+B,KAAM,QACNk+B,KACE,kJACFh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,8BACNh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,6DACNh5B,KAAM,YAGV05B,QAAS,mBACTV,KAAM,+BACNC,QACE,4EACFM,SAAU,kBACVl8B,KACE,mGAEJ,CACEvC,KAAM,mBACNo+B,KAAM,CACJ,CACEp+B,KAAM,QACNk+B,KAAM,oBACNh5B,KAAM,WAGV05B,QAAS,mBACTV,KAAM,kEACNC,QAAS,oCACTM,SAAU,kBACVl8B,KACE,kGAEJ,CACEvC,KAAM,gBACNo+B,KAAM,CACJ,CACEp+B,KAAM,WACNk+B,KAAM,mCACNh5B,KAAM,UAER,CACElF,KAAM,WACNk+B,KAAM,oCACNh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,6DACNh5B,KAAM,YAGV05B,QAAS,mBACTV,KACE,kGACFC,QACE,wEACFM,SAAU,kBACVl8B,KACE,+FAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,kBACNh5B,KAAM,UAER,CACElF,KAAM,WACNk+B,KACE,oEACFh5B,KAAM,WAGV05B,QAAS,mBACTV,KAAM,iDACNC,QACE,0GACFM,SAAU,QACVl8B,KACE,iGAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,kBACNh5B,KAAM,UAER,CACElF,KAAM,WACNk+B,KACE,oEACFh5B,KAAM,WAGV05B,QAAS,mBACTV,KAAM,4DACNC,QACE,0GACFM,SAAU,kBACVl8B,KACE,iGAEJ,CACEvC,KAAM,iBACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,kBACNh5B,KAAM,UAER,CACElF,KAAM,WACNk+B,KACE,oEACFh5B,KAAM,UAER,CACElF,KAAM,WACNk+B,KAAM,4DACNh5B,KAAM,UAGV05B,QAAS,mBACTV,KAAM,sEACNC,QACE,2HACFM,SAAU,QACVl8B,KACE,gGAEJ,CACEvC,KAAM,oBACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,kBACNh5B,KAAM,UAER,CACElF,KAAM,WACNk+B,KACE,oEACFh5B,KAAM,WAGV05B,QAAS,mBACTV,KAAM,kDACNC,QACE,kJACFM,SAAU,QACVl8B,KACE,mGAEJ,CACEvC,KAAM,gBACNo+B,KAAM,CACJ,CACEp+B,KAAM,WACNk+B,KACE,oEACFh5B,KAAM,WAGV05B,QAAS,mBACTV,KAAM,gDACNC,QACE,+FACFM,SAAU,kBACVl8B,KACE,+FAEJ,CACEvC,KAAM,oBACNo+B,KAAM,GACNQ,QAAS,mBACTV,KAAM,yDACNC,QAAS,sBACTM,SAAU,kBACVl8B,KACE,mGAEJ,CACEvC,KAAM,mBACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,6CACNh5B,KAAM,WAGV05B,QAAS,mBACTV,KAAM,gEACNC,QACE,+EACFM,SAAU,kBACVl8B,KACE,kGAEJ,CACEvC,KAAM,aACNo+B,KAAM,GACNQ,QAAS,mBACTV,KACE,2FACFC,QAAS,wCACTM,SAAU,kBACVl8B,KACE,4FAEJ,CACEvC,KAAM,YACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,qCACNh5B,KAAM,WAGV05B,QAAS,GACTV,KACE,0HACFC,QAAS,8BACTM,SAAU,kBACVl8B,KACE,oHAEJ,CACEvC,KAAM,YACNo+B,KAAM,CACJ,CACEp+B,KAAM,MACNk+B,KAAM,sCACNh5B,KAAM,YAGV05B,QAAS,GACTV,KACE,+GACFC,QAAS,oBACTM,SAAU,kBACVl8B,KACE,oHAEJ,CACEvC,KAAM,QACNo+B,KAAM,CACJ,CACEp+B,KAAM,UACNk+B,KACE,sEACFh5B,KAAM,oBAER,CACElF,KAAM,OACNk+B,KACE,uGACFh5B,KAAM,WAGV05B,QAAS,GACTV,KACE,kIACFC,QAAS,sDACTM,SAAU,kBACVl8B,KACE,mGAEJ,CACEvC,KAAM,iBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,+BACNh5B,KAAM,WAER,CACElF,KAAM,SACNk+B,KAAM,kDACNh5B,KAAM,UAER,CACElF,KAAM,eACNk+B,KACE,oFACFh5B,KAAM,qBAGV05B,QAAS,GACTV,KACE,+EACFC,QAAS,+CACTM,SAAU,YACVl8B,KACE,sHAEJ,CACEvC,KAAM,iBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,+BACNh5B,KAAM,WAER,CACElF,KAAM,SACNk+B,KAAM,kDACNh5B,KAAM,UAER,CACElF,KAAM,eACNk+B,KACE,oFACFh5B,KAAM,qBAGV05B,QAAS,GACTV,KACE,kFACFC,QAAS,+CACTM,SAAU,YACVl8B,KACE,sHAEJ,CACEvC,KAAM,aACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,+BACNh5B,KAAM,WAER,CACElF,KAAM,SACNk+B,KAAM,kDACNh5B,KAAM,UAER,CACElF,KAAM,eACNk+B,KACE,oFACFh5B,KAAM,qBAGV05B,QAAS,GACTV,KACE,+EACFC,QAAS,2CACTM,SAAU,YACVl8B,KACE,kHAEJ,CACEvC,KAAM,YACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KACE,4GACFh5B,KAAM,WAER,CACElF,KAAM,mBACNk+B,KACE,8FACFh5B,KAAM,UAER,CACElF,KAAM,cACNk+B,KACE,yFACFh5B,KAAM,UAER,CACElF,KAAM,OACNk+B,KACE,8KACFh5B,KAAM,mBAER,CACElF,KAAM,YACNk+B,KACE,mGACFh5B,KAAM,YAGV05B,QAAS,GACTV,KACE,qHACFC,QACE,yHACFM,SAAU,kBACVl8B,KACE,uGAEJ,CACEvC,KAAM,oBACNo+B,KAAM,CACJ,CACEp+B,KAAM,WACNk+B,KACE,sEACFh5B,KAAM,SAER,CACElF,KAAM,cACNk+B,KACE,8HACFh5B,KAAM,UAER,CACElF,KAAM,mBACNk+B,KACE,mIACFh5B,KAAM,UAER,CACElF,KAAM,cACNk+B,KACE,kGACFh5B,KAAM,UAER,CACElF,KAAM,WACNk+B,KACE,4QACFh5B,KAAM,UAGV05B,QAAS,GACTV,KACE,0GACFC,QACE,wHACFM,SAAU,aACVl8B,KACE,0HAEJ,CACEvC,KAAM,cACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,+BACNh5B,KAAM,WAER,CACElF,KAAM,cACNk+B,KAAM,iDACNh5B,KAAM,WAER,CACElF,KAAM,WACNk+B,KAAM,wCACNh5B,KAAM,YAER,CACElF,KAAM,UACNk+B,KACE,gGACFh5B,KAAM,WAER,CACElF,KAAM,aACNk+B,KAAM,iDACNh5B,KAAM,UAER,CACElF,KAAM,SACNk+B,KAAM,oDACNh5B,KAAM,WAGV05B,QAAS,GACTV,KACE,uLACFC,QAAS,mCACTM,SAAU,kBACVl8B,KACE,yGAEJ,CACEvC,KAAM,gBACNo+B,KAAM,CACJ,CACEp+B,KAAM,QACNk+B,KACE,0EACFh5B,KAAM,WAER,CACElF,KAAM,OACNk+B,KACE,0EACFh5B,KAAM,YAER,CACElF,KAAM,aACNk+B,KAAM,iEACNh5B,KAAM,YAGV05B,QAAS,GACTV,KACE,qGACFC,QAAS,oCACTM,SAAU,kBACVl8B,KACE,2GAEJ,CACEvC,KAAM,WACNo+B,KAAM,CACJ,CACEp+B,KAAM,MACNk+B,KAAM,sCACNh5B,KAAM,UAER,CACElF,KAAM,UACNk+B,KAAM,2CACNh5B,KAAM,UAER,CACElF,KAAM,UACNk+B,KAAM,iDACNh5B,KAAM,aAGV05B,QAAS,oBACTV,KACE,0HACFC,QACE,qFACFM,SAAU,gBACVl8B,KACE,0FAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,cACNk+B,KAAM,wBACNh5B,KAAM,WAGV05B,QAAS,OACTV,KACE,mHACFC,QAAS,gEACTM,SAAU,kBACVl8B,KACE,oFAEJ,CACEvC,KAAM,YACNo+B,KAAM,CACJ,CACEp+B,KAAM,MACNk+B,KAAM,sBACNh5B,KAAM,UAER,CACElF,KAAM,UACNk+B,KAAM,4CACNh5B,KAAM,UAER,CACElF,KAAM,OACNk+B,KAAM,kDACNh5B,KAAM,UAGV05B,QAAS,OACTV,KACE,4GACFC,QACE,4FACFM,SAAU,kBACVl8B,KACE,8EAEJ,CACEvC,KAAM,WACNo+B,KAAM,CACJ,CACEp+B,KAAM,UACNk+B,KACE,qEACFh5B,KAAM,qBAGV05B,QAAS,GACTV,KACE,wEACFC,QAAS,gCACTM,SAAU,kBACVl8B,KACE,sGAEJ,CACEvC,KAAM,uBACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,oCACNh5B,KAAM,UAER,CACElF,KAAM,WACNk+B,KAAM,uCACNh5B,KAAM,UAER,CACElF,KAAM,MACNk+B,KAAM,yBACNh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,4BACNh5B,KAAM,UAER,CACElF,KAAM,OACNk+B,KAAM,yCACNh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,gCACNh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,6DACNh5B,KAAM,mBAER,CACElF,KAAM,OACNk+B,KAAM,2DACNh5B,KAAM,mBAER,CACElF,KAAM,YACNk+B,KACE,qEACFh5B,KAAM,aAGV05B,QAAS,sBACTV,KAAM,sDACNC,QAAS,6DACTM,SAAU,gBACVl8B,KACE,yFAEJ,CACEvC,KAAM,MACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,wBACNh5B,KAAM,8CAGV05B,QAAS,GACTV,KAAM,wCACNC,QAAS,mBACTM,SAAU,mBACVl8B,KACE,kHAEJ,CACEvC,KAAM,WACNo+B,KAAM,CACJ,CACEp+B,KAAM,OACNk+B,KAAM,sDACNh5B,KAAM,YAER,CACElF,KAAM,SACNk+B,KAAM,0DACNh5B,KAAM,UAER,CACElF,KAAM,aACNk+B,KACE,mFACFh5B,KAAM,UAER,CACElF,KAAM,cACNk+B,KAAM,kDACNh5B,KAAM,WAGV05B,QAAS,GACTV,KACE,sKACFC,QAAS,wCACTM,SAAU,aACVl8B,KACE,iHAEJ,CACEvC,KAAM,OACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,mCACNh5B,KAAM,UAER,CACElF,KAAM,KACNk+B,KAAM,wCACNh5B,KAAM,oBAER,CACElF,KAAM,SACNk+B,KACE,qHACFh5B,KAAM,WAGV05B,QAAS,GACTV,KACE,0OACFC,QACE,uFACFM,SAAU,kBACVl8B,KACE,kGAEJ,CACEvC,KAAM,cACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,uBACNh5B,KAAM,8DAGV05B,QAAS,OACTV,KAAM,oCACNC,QAAS,2BACTM,SAAU,mBACVl8B,KACE,gFAEJ,CACEvC,KAAM,cACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,4DACNh5B,KAAM,WAER,CACElF,KAAM,SACNk+B,KAAM,oDACNh5B,KAAM,WAGV05B,QAAS,GACTV,KACE,sFACFC,QAAS,oBACTM,SAAU,kBACVl8B,KACE,yGAEJ,CACEvC,KAAM,aACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,4DACNh5B,KAAM,YAGV05B,QAAS,GACTV,KACE,kFACFC,QAAS,mBACTM,SAAU,kBACVl8B,KACE,wGAEJ,CACEvC,KAAM,OACNo+B,KAAM,CACJ,CACEp+B,KAAM,UACNk+B,KACE,oFACFh5B,KAAM,oBAER,CACElF,KAAM,KACNk+B,KACE,4LACFh5B,KAAM,aAGV05B,QAAS,GACTV,KACE,mOACFC,QAAS,kCACTM,SAAU,kBACVl8B,KACE,kGAEJ,CACEvC,KAAM,OACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KACE,+FACFh5B,KAAM,WAGV05B,QAAS,GACTV,KACE,8LACFC,QAAS,yBACTM,SAAU,kBACVl8B,KACE,kGAEJ,CACEvC,KAAM,YACNo+B,KAAM,CACJ,CACEp+B,KAAM,aACNk+B,KACE,qGACFh5B,KAAM,qBAGV05B,QAAS,GACTV,KACE,+JACFC,QAAS,sDACTM,SAAU,kBACVl8B,KACE,uGAEJ,CACEvC,KAAM,OACNo+B,KAAM,GACNQ,QAAS,GACTV,KAAM,wDACNC,QAAS,SACTM,SAAU,YACVl8B,KACE,4GAEJ,CACEvC,KAAM,SACNo+B,KAAM,CACJ,CACEp+B,KAAM,MACNk+B,KAAM,yBACNh5B,KAAM,UAGV05B,QAAS,GACTV,KAAM,2CACNC,QAAS,wBACTM,SAAU,gBACVl8B,KACE,yFAEJ,CACEvC,KAAM,QACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,2CACNh5B,KAAM,WAER,CACElF,KAAM,SACNk+B,KACE,qGACFh5B,KAAM,YAGV05B,QAAS,GACTV,KACE,2EACFC,QAAS,yBACTM,SAAU,kBACVl8B,KACE,mGAEJ,CACEvC,KAAM,aACNo+B,KAAM,CACJ,CACEp+B,KAAM,QACNk+B,KAAM,wCACNh5B,KAAM,SAER,CACElF,KAAM,QACNk+B,KAAM,8CACNh5B,KAAM,SAER,CACElF,KAAM,QACNk+B,KAAM,gCACNh5B,KAAM,WAER,CACElF,KAAM,WACNk+B,KACE,6FACFh5B,KAAM,YAGV05B,QAAS,GACTV,KAAM,iDACNC,QAAS,gEACTM,SAAU,gBACVl8B,KACE,6FAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,QACNk+B,KAAM,wCACNh5B,KAAM,SAER,CACElF,KAAM,SACNk+B,KAAM,iDACNh5B,KAAM,SAER,CACElF,KAAM,QACNk+B,KAAM,gCACNh5B,KAAM,WAER,CACElF,KAAM,WACNk+B,KACE,6FACFh5B,KAAM,YAGV05B,QAAS,GACTV,KAAM,sDACNC,QACE,sEACFM,SAAU,gBACVl8B,KACE,kGAEJ,CACEvC,KAAM,gBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,+BACNh5B,KAAM,WAER,CACElF,KAAM,SACNk+B,KAAM,kDACNh5B,KAAM,UAER,CACElF,KAAM,eACNk+B,KACE,oFACFh5B,KAAM,qBAGV05B,QAAS,GACTV,KACE,kFACFC,QAAS,8CACTM,SAAU,YACVl8B,KACE,qHAEJ,CACEvC,KAAM,gBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,+BACNh5B,KAAM,WAER,CACElF,KAAM,SACNk+B,KAAM,kDACNh5B,KAAM,UAER,CACElF,KAAM,eACNk+B,KACE,oFACFh5B,KAAM,qBAGV05B,QAAS,GACTV,KACE,qFACFC,QAAS,8CACTM,SAAU,YACVl8B,KACE,qHAEJ,CACEvC,KAAM,YACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,+BACNh5B,KAAM,WAER,CACElF,KAAM,SACNk+B,KAAM,kDACNh5B,KAA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SAAU,aACVl8B,KACE,+GAEJ,CACEvC,KAAM,MACNo+B,KAAM,GACNQ,QAAS,GACTV,KAAM,gEACNC,QAAS,QACTM,SAAU,YACVl8B,KACE,2GAEJ,CACEvC,KAAM,OACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,iEACNh5B,KAAM,WAGV05B,QAAS,GACTV,KACE,2EACFC,QAAS,yBACTM,SAAU,aACVl8B,KACE,6GAEJ,CACEvC,KAAM,gBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,iCACNh5B,KAAM,aAGV05B,QAAS,GACTV,KAAM,mEACNC,QAAS,sBACTM,SAAU,kBACVl8B,KACE,2GAEJ,CACEvC,KAAM,UACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,qCACNh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,kCACNh5B,KAAM,UAER,CACElF,KAAM,UACNk+B,KACE,6FACFh5B,KAAM,UAER,CACElF,KAAM,MACNk+B,KACE,gFACFh5B,KAAM,WAER,CACElF,KAAM,WACNk+B,KAAM,sBACNh5B,KAAM,UAER,CACElF,KAAM,WACNk+B,KAAM,2CACNh5B,KAAM,UAER,CACElF,KAAM,WACNk+B,KAAM,2CACNh5B,KAAM,UAER,CACElF,KAAM,OACNk+B,KAAM,iCACNh5B,KAAM,UAER,CACElF,KAAM,UACNk+B,KAAM,8CACNh5B,KAAM,YAER,CACElF,KAAM,aACNk+B,KACE,sFACFh5B,KAAM,UAER,CACElF,KAAM,aACNk+B,KACE,+EACFh5B,KAAM,oBAER,CACElF,KAAM,eACNk+B,KACE,2FACFh5B,KAAM,qBAGV05B,QAAS,oBACTV,KAAM,sDACNC,QACE,kJACFM,SAAU,UACVl8B,KACE,yFAEJ,CACEvC,KAAM,WACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,4CACNh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,6CACNh5B,KAAM,UAER,CACElF,KAAM,KACNk+B,KAAM,oCACNh5B,KAAM,qBAGV05B,QAAS,GACTV,KACE,qKACFC,QAAS,0DACTM,SAAU,kBACVl8B,KACE,sGAEJ,CACEvC,KAAM,QACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,kEACNh5B,KAAM,oBAER,CACElF,KAAM,YACNk+B,KACE,+EACFh5B,KAAM,oBAER,CACElF,KAAM,cACNk+B,KACE,0EACFh5B,KAAM,WAGV05B,QAAS,GACTV,KACE,wHACFC,QACE,wEACFM,SAAU,kBACVl8B,KACE,mGAEJ,CACEvC,KAAM,+BACNo+B,KAAM,CACJ,CACEp+B,KAAM,WACNk+B,KAAM,+DACNh5B,KAAM,UAGV05B,QAAS,0BACTV,KACE,wHACFC,QAAS,+CACTM,SAAU,kBACVl8B,KACE,8GAEJ,CACEvC,KAAM,oBACNo+B,KAAM,CACJ,CACEp+B,KAAM,MACNk+B,KAAM,uDACNh5B,KAAM,WAGV05B,QAAS,0BACTV,KAAM,+DACNC,QAAS,0DACTM,SAAU,SACVl8B,KACE,mGAEJ,CACEvC,KAAM,WACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KACE,uEACFh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,2DACNh5B,KAAM,SAER,CACElF,KAAM,SACNk+B,KACE,uHACFh5B,KAAM,UAER,CACElF,KAAM,cACNk+B,KACE,oLACFh5B,KAAM,UAGV05B,QAAS,GACTV,KACE,4VACFC,QACE,uFACFM,SAAU,aACVl8B,KACE,iHAEJ,CACEvC,KAAM,qBACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,uBACNh5B,KAAM,qBAGV05B,QAAS,qBACTV,KAAM,+BACNC,QAAS,6CACTM,SAAU,kBACVl8B,KACE,oGAEJ,CACEvC,KAAM,0BACNo+B,KAAM,CACJ,CACEp+B,KAAM,cACNk+B,KAAM,4BACNh5B,KAAM,WAGV05B,QAAS,qBACTV,KAAM,qCACNC,QAAS,2DACTM,SAAU,kBACVl8B,KACE,yGAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,+BACNh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,2CACNh5B,KAAM,6BAER,CACElF,KAAM,OACNk+B,KAAM,8DACNh5B,KAAM,8BAGV05B,QAAS,qBACTV,KAAM,qEACNC,QACE,qEACFM,SAAU,SACVl8B,KACE,iGAEJ,CACEvC,KAAM,iBACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,+BACNh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,2CACNh5B,KAAM,6BAER,CACElF,KAAM,OACNk+B,KAAM,8DACNh5B,KAAM,6BAER,CACElF,KAAM,cACNk+B,KAAM,4BACNh5B,KAAM,UAER,CACElF,KAAM,SACNk+B,KAAM,uBACNh5B,KAAM,oBAER,CACElF,KAAM,YACNk+B,KAAM,2DACNh5B,KAAM,aAGV05B,QAAS,qBACTV,KACE,yIACFC,QACE,kKACFM,SAAU,SACVl8B,KACE,gGA1zHoC,CACxCvC,KAAM,QACNo+B,KAAM,CACJ,CACEp+B,KAAM,QACNk+B,KAAM,2CACNh5B,KAAM,6BAER,CACElF,KAAM,OACNk+B,KAAM,8DACNh5B,KAAM,8BAGV05B,QAAS,GACTV,KACE,wSACFC,QAAS,kCACTM,SAAU,kBACVl8B,KACE,mGAyyHF,CACEvC,KAAM,SACNo+B,KAAM,CACJ,CACEp+B,KAAM,KACNk+B,KACE,mHACFh5B,KAAM,YAER,CACElF,KAAM,WACNk+B,KACE,yFACFh5B,KAAM,WAGV05B,QAAS,GACTV,KAAM,kEACNC,QACE,8FACFM,SAAU,aACVl8B,KACE,+GAEJ,CACEvC,KAAM,iBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,uDACNh5B,KAAM,WAGV05B,QAAS,SACTV,KACE,yEACFC,QAAS,gCACTM,SAAU,mBACVl8B,KACE,mFAEJ,CACEvC,KAAM,oBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,4CACNh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,8BACNh5B,KAAM,WAGV05B,QAAS,SACTV,KAAM,8DACNC,QAAS,mDACTM,SAAU,kBACVl8B,KACE,sFAEJ,CACEvC,KAAM,yBACNo+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,CACEp+B,KAAM,KACNk+B,KACE,+FACFh5B,KAAM,YAER,CACElF,KAAM,SACNk+B,KACE,yFACFh5B,KAAM,WAGV05B,QAAS,GACTV,KACE,wGACFC,QAAS,mEACTM,SAAU,kBACVl8B,KACE,wGAEJ,CACEvC,KAAM,gBACNo+B,KAAM,CACJ,CACEp+B,KAAM,KACNk+B,KACE,+FACFh5B,KAAM,YAER,CACElF,KAAM,SACNk+B,KACE,wFACFh5B,KAAM,UAER,CACElF,KAAM,OACNk+B,KAAM,2DACNh5B,KAAM,aAGV05B,QAAS,GACTV,KACE,mFACFC,QACE,yFACFM,SAAU,kBACVl8B,KACE,2GAEJ,CACEvC,KAAM,SACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,0DACNh5B,KAAM,UAER,CACElF,KAAM,OACNk+B,KACE,8EACFh5B,KAAM,WAGV05B,QAAS,GACTV,KACE,2EACFC,QAAS,2CACTM,SAAU,aACVl8B,KACE,+GAEJ,CACEvC,KAAM,SACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,wBACNh5B,KAAM,sDAGV05B,QAAS,GACTV,KAAM,uCACNC,QAAS,sBACTM,SAAU,mBACVl8B,KACE,qHAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,+BACNh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,uCACNh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,qDACNC,QAAS,kCACTM,SAAU,kBACVl8B,KACE,oFAEJ,CACEvC,KAAM,sBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,8BACNh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,4BACNh5B,KAAM,WAGV05B,QAAS,UACTV,KACE,8EACFC,QAAS,8CACTM,SAAU,QACVl8B,KACE,wFAEJ,CACEvC,KAAM,sBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,8BACNh5B,KAAM,UAER,CACElF,KAAM,SACNk+B,KAAM,+BACNh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,2DACNC,QAAS,yDACTM,SAAU,QACVl8B,KACE,wFAEJ,CACEvC,KAAM,mBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,8BACNh5B,KAAM,UAER,CACElF,KAAM,SACNk+B,KAAM,uBACNh5B,KAAM,WAGV05B,QAAS,UACTV,KACE,qFACFC,QAAS,6DACTM,SAAU,kBACVl8B,KACE,qFAEJ,CACEvC,KAAM,oBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,+BACNh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,uCACNh5B,KAAM,WAGV05B,QAAS,UACTV,KACE,0EACFC,QAAS,sCACTM,SAAU,QACVl8B,KACE,sFAEJ,CACEvC,KAAM,oBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,8BACNh5B,KAAM,UAER,CACElF,KAAM,SACNk+B,KAAM,4BACNh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,wDACNC,QAAS,kDACTM,SAAU,QACVl8B,KACE,sFAEJ,CACEvC,KAAM,oBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,8BACNh5B,KAAM,UAER,CACElF,KAAM,SACNk+B,KAAM,4BACNh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,sDACNC,QAAS,kDACTM,SAAU,QACVl8B,KACE,sFAEJ,CACEvC,KAAM,gBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,8BACNh5B,KAAM,UAER,CACElF,KAAM,SACNk+B,KAAM,+BACNh5B,KAAM,WAGV05B,QAAS,UACTV,KACE,wHACFC,QAAS,8CACTM,SAAU,kBACVl8B,KACE,uFAEJ,CACEvC,KAAM,mBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,8BACNh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,4BACNh5B,KAAM,WAGV05B,QAAS,UACTV,KACE,+IACFC,QAAS,kDACTM,SAAU,kBACVl8B,KACE,qFAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,uCACNh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,uDACNC,QAAS,0BACTM,SAAU,QACVl8B,KACE,oFAEJ,CACEvC,KAAM,mBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,uCACNh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,6DACNC,QAAS,2BACTM,SAAU,QACVl8B,KACE,qFAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,uCACNh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,mDACNC,QAAS,0BACTM,SAAU,QACVl8B,KACE,oFAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,uCACNh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,mDACNC,QAAS,0BACTM,SAAU,QACVl8B,KACE,oFAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,MACNk+B,KAAM,uCACNh5B,KAAM,oBAER,CACElF,KAAM,IACNk+B,KAAM,kDACNh5B,KAAM,WAGV05B,QAAS,UACTV,KACE,4FACFC,QAAS,gDACTM,SAAU,kBACVl8B,KACE,oFAEJ,CACEvC,KAAM,oBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,8BACNh5B,KAAM,UAER,CACElF,KAAM,SACNk+B,KAAM,+BACNh5B,KAAM,WAGV05B,QAAS,UACTV,KACE,+HACFC,QAAS,kDACTM,SAAU,kBACVl8B,KACE,sFAEJ,CACEvC,KAAM,uBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,8BACNh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,4BACNh5B,KAAM,WAGV05B,QAAS,UACTV,KACE,4JACFC,QAAS,sDACTM,SAAU,kBACVl8B,KACE,yFAEJ,CACEvC,KAAM,iBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,8BACNh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,qCACNh5B,KAAM,YAGV05B,QAAS,UACTV,KAAM,mEACNC,QAAS,gCACTM,SAAU,kBACVl8B,KACE,mFAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,8BACNh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,4BACNh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,4CACNh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,wDACNh5B,KAAM,YAGV05B,QAAS,UACTV,KACE,gGACFC,QAAS,kEACTM,SAAU,kBACVl8B,KACE,oFAEJ,CACEvC,KAAM,qBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,8BACNh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,4BACNh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,4CACNh5B,KAAM,WAGV05B,QAAS,UACTV,KACE,sFACFC,QAAS,+DACTM,SAAU,kBACVl8B,KACE,uFAEJ,CACEvC,KAAM,gBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,6BACNh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,+CACNh5B,KAAM,WAGV05B,QAAS,UACTV,KACE,+EACFC,QAAS,8CACTM,SAAU,kBACVl8B,KACE,kFAEJ,CACEvC,KAAM,qBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,6BACNh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,+CACNh5B,KAAM,WAGV05B,QAAS,UACTV,KACE,kFACFC,QAAS,mDACTM,SAAU,kBACVl8B,KACE,uFAEJ,CACEvC,KAAM,sBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,6BACNh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,+CACNh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,sCACNh5B,KAAM,YAGV05B,QAAS,UACTV,KACE,sFACFC,QAAS,0DACTM,SAAU,kBACVl8B,KACE,wFAEJ,CACEvC,KAAM,iBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,6BACNh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,+CACNh5B,KAAM,UAER,CACElF,KAAM,IACNk+B,KAAM,sCACNh5B,KAAM,YAGV05B,QAAS,UACTV,KACE,mFACFC,QAAS,qDACTM,SAAU,kBACVl8B,KACE,mFAEJ,CACEvC,KAAM,iBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,+BACNh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,kCACNC,QAAS,uCACTM,SAAU,kBACVl8B,KACE,mFAEJ,CACEvC,KAAM,oBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,8BACNh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KAAM,uCACNh5B,KAAM,WAER,CACElF,KAAM,MACNk+B,KAAM,qCACNh5B,KAAM,YAGV05B,QAAS,UACTV,KAAM,yDACNC,QAAS,mDACTM,SAAU,kBACVl8B,KACE,sFA19J4C,CAChDvC,KAAM,gBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,+BACNh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,mCACNC,QAAS,6BACTM,SAAU,kBACVl8B,KACE,kFA+8JF,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,+BACNh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,mCACNC,QAAS,+BACTM,SAAU,kBACVl8B,KACE,oFAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,+BACNh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,qDACNC,QAAS,wCACTM,SAAU,kBACVl8B,KACE,oFAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,+BACNh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,mCACNC,QAAS,+BACTM,SAAU,kBACVl8B,KACE,oFA1/J2C,CAC/CvC,KAAM,eACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,4BACNh5B,KAAM,UAER,CACElF,KAAM,SACNk+B,KACE,qHACFh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,mEACNC,QAAS,yCACTM,SAAU,kBACVl8B,KACE,iFAy+JF,CACEvC,KAAM,mBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,wCACNh5B,KAAM,UAER,CACElF,KAAM,SACNk+B,KAAM,oDACNh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,sDACNC,QAAS,2CACTM,SAAU,kBACVl8B,KACE,qFAEJ,CACEvC,KAAM,qBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,4BACNh5B,KAAM,UAER,CACElF,KAAM,SACNk+B,KAAM,wBACNh5B,KAAM,WAGV05B,QAAS,UACTV,KACE,oGACFC,QAAS,kDACTM,SAAU,kBACVl8B,KACE,uFAEJ,CACEvC,KAAM,oBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,wCACNh5B,KAAM,UAER,CACElF,KAAM,SACNk+B,KAAM,qDACNh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,uDACNC,QAAS,4CACTM,SAAU,kBACVl8B,KACE,sFAEJ,CACEvC,KAAM,oBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,4BACNh5B,KAAM,WAGV05B,QAAS,UACTV,KAAM,qDACNC,QAAS,iCACTM,SAAU,kBACVl8B,KACE,sFAEJ,CACEvC,KAAM,qBACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,4BACNh5B,KAAM,UAER,CACElF,KAAM,SACNk+B,KAAM,wBACNh5B,KAAM,WAGV05B,QAAS,UACTV,KACE,kGACFC,QAAS,kDACTM,SAAU,kBACVl8B,KACE,uFAEJ,CACEvC,KAAM,MACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KAAM,0DACNh5B,KAAM,WAGV05B,QAAS,GACTV,KAAM,gEACNC,QAAS,wBACTM,SAAU,aACVl8B,KACE,4GAEJ,CACEvC,KAAM,cACNo+B,KAAM,GACNQ,QAAS,SACTV,KAAM,mCACNC,QAAS,gBACTM,SAAU,gBACVl8B,KACE,gFAEJ,CACEvC,KAAM,YACNo+B,KAAM,CACJ,CACEp+B,KAAM,KACNk+B,KAAM,+DACNh5B,KAAM,aAGV05B,QAAS,GACTV,KACE,sIACFC,QAAS,oDACTM,SAAU,kBACVl8B,KACE,oHAEJ,CACEvC,KAAM,OACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,2CACNh5B,KAAM,WAER,CACElF,KAAM,SACNk+B,KACE,+FACFh5B,KAAM,YAGV05B,QAAS,GACTV,KACE,0EACFC,QAAS,cACTM,SAAU,kBACVl8B,KACE,kGAEJ,CACEvC,KAAM,oBACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KACE,sEACFh5B,KAAM,SAGV05B,QAAS,4BACTV,KACE,6IACFC,QAAS,kDACTM,SAAU,gBACVl8B,KACE,+FAEJ,CACEvC,KAAM,sBACNo+B,KAAM,GACNQ,QAAS,UACTV,KAAM,qCACNC,QAAS,wBACTM,SAAU,QACVl8B,KACE,wFAEJ,CACEvC,KAAM,uBACNo+B,KAAM,CACJ,CACEp+B,KAAM,OACNk+B,KAAM,sCACNh5B,KAAM,UAER,CACElF,KAAM,MACNk+B,KAAM,sCACNh5B,KAAM,oBAER,CACElF,KAAM,OACNk+B,KAAM,8DACNh5B,KAAM,qBAGV05B,QAAS,UACTV,KAAM,iDACNC,QAAS,6CACTM,SAAU,QACVl8B,KACE,yFAEJ,CACEvC,KAAM,eACNo+B,KAAM,CACJ,CACEp+B,KAAM,MACNk+B,KAAM,sCACNh5B,KAAM,oBAER,CACElF,KAAM,OACNk+B,KAAM,8DACNh5B,KAAM,oBAER,CACElF,KAAM,UACNk+B,KACE,gGACFh5B,KAAM,UAGV05B,QAAS,UACTV,KAAM,uCACNC,QAAS,6CACTM,SAAU,QACVl8B,KACE,iFAEJ,CACEvC,KAAM,OACNo+B,KAAM,CACJ,CACEp+B,KAAM,IACNk+B,KAAM,wBACNh5B,KAAM,8BAGV05B,QAAS,GACTV,KAAM,qCACNC,QAAS,oBACTM,SAAU,mBACVl8B,KACE,mHAEJ,CACEvC,KAAM,qBACNo+B,KAAM,CACJ,CACEp+B,KAAM,QACNk+B,KAAM,iCACNh5B,KAAM,YAER,CACElF,KAAM,SACNk+B,KAAM,2CACNh5B,KAAM,YAER,CACElF,KAAM,SACNk+B,KACE,4EACFh5B,KAAM,WAGV05B,QAAS,GACTV,KACE,kFACFC,QAAS,4CACTM,SAAU,kBACVl8B,KACE,gHAEJ,CACEvC,KAAM,YACNo+B,KAAM,CACJ,CACEp+B,KAAM,WACNk+B,KACE,4EACFh5B,KAAM,UAER,CACElF,KAAM,UACNk+B,KACE,qFACFh5B,KAAM,qBAGV05B,QAAS,GACTV,KACE,iGACFC,QAAS,kEACTM,SAAU,kBACVl8B,KACE,mGAEJ,CACEvC,KAAM,kBACNo+B,KAAM,CACJ,CACEp+B,KAAM,OACNk+B,KACE,mEACFh5B,KAAM,aAGV05B,QAAS,GACTV,KACE,gGACFC,QAAS,4BACTM,SAAU,aACVl8B,KACE,wHAEJ,CACEvC,KAAM,KACNo+B,KAAM,CACJ,CACEp+B,KAAM,SACNk+B,KACE,2EACFh5B,KAAM,UAER,CACElF,KAAM,WACNk+B,KACE,mFACFh5B,KAAM,UAER,CACElF,KAAM,MACNk+B,KACE,iIACFh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KACE,6HACFh5B,KAAM,UAER,CACElF,KAAM,OACNk+B,KACE,mFACFh5B,KAAM,UAER,CACElF,KAAM,QACNk+B,KACE,qGACFh5B,KAAM,UAER,CACElF,KAAM,aACNk+B,KAAM,uDACNh5B,KAAM,UAER,CACElF,KAAM,aACNk+B,KACE,6IACFh5B,KAAM,oBAER,CACElF,KAAM,UACNk+B,KACE,gPACFh5B,KAAM,aAGV05B,QAAS,GACTV,KAAM,8DACNC,QAAS,mDACTM,SAAU,UACVl8B,KACE,wFAEJ,CACEvC,KAAM,SACNo+B,KAAM,GACNQ,QAAS,GACTV,KAAM,2DACNC,QAAS,WACTM,SAAU,mBACVl8B,KACE,oHAEJ,CACEvC,KAAM,UACNo+B,KAAM,GACNQ,QAAS,GACTV,KAAM,yDACNC,QAAS,YACTM,SAAU,mBACVl8B,KACE,sHAEJ,CACEvC,KAAM,QACNo+B,KAAM,GACNQ,QAAS,GACTV,KAAM,2DACNC,QAAS,UACTM,SAAU,mBACVl8B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ACA,eACA,uBACA,kBACA,gBACA,kBACA,kBACA,kBACA,gBACA,sBACA,cACA,iBACA,kBACA,gBACA,kBACA,eACA,oBACA,cACA,gBACA,oBACA,gBACA,gBACA,gBACA,gBACA,iBACA,mBACA,kBACA,iBACA,kBACA,gBACA,oBACA,qBACA,oBACA,kBACA,kBACA,iBACA,eACA,kBACA,eACA,oBACA,mBACA,kBACA,oBACA,iCACA,8BACA,mCACA,4BACA,0BACA,6BACA,4BACA,iCACA,0BACA,6BACA,6BACA,4BACA,4BACA,gBACA,mBACA,mBACA,eACA,gBACA,yBACA,mBACA,gBACA,iBACA,uBACA,oBACA,iBACA,gBACA,uBACA,wBACA,uBACA,iBACA,kBACA,oBACA,kBACA,iBACA,kBACA,oBACA,wBACA,kBACA,qBACA,kBACA,iBACA,kBACA,uBACA,iBACA,uBACA,iBACA,kBACA,mBACA,mBACA,mBACA,sBACA,mBACA,sBACA,qBACA,oBACA,oBACA,kBACA,oBACA,qBACA,kBACA,qBACA,oBACA,oBACA,iBACA,kBACA,iBACA,qBACA,+BACA,uBACA,0BACA,6BACA,4BACA,wBACA,4BACA,0BACA,uBACA,iBACA,kBACA,kBACA,gBACA,iBACA,8BACA,8BACA,kBACA,qBACA,iBACA,eACA,sBACA,qBACA,wBACA,iBACA,kBACA,iBACA,kBACA,qBACA,oBACA,mBACA,kBACA,oBACA,iBACA,qBACA,sBACA,mBACA,kBACA,oBACA,qBACA,mBACA,qBACA,iBACA,mBACA,kBACA,eACA,kBACA,8BACA,8BACA,iCACA,kBACA,iBACA,sBACA,qBACA,kBACA,wBACA,yBACA,qBACA,sBACA,sBACA,uBACA,sBACA,uBACA,iBACA,iBACA,mBACA,qBACA,kBACA,uBACA,mBACA,mBACA,wBACA,oBACA,uBACA,mBACA,gBACA,wBACA,mBACA,mBACA,mBACA,oBACA,qBACA,wBACA,sBACA,gBACA,sBACA,kBACA,kBACA,kBACA,oBACA,iBACA,qBACA,mBACA,kBACA,sBACA,mBACA,mBACA,4BACA,uBACA,oBACA,qBACA,oBACA,qBACA,wBACA,mBACA,mBACA,oBACA,sBACA,YACA,cACA,aACA,cACA,aACA,cACA,gBACA,iBACA,cACA,eACA,eACA,YACA,eACA,eACA,cACA,eACA,cACA,gBACA,aACA,kBACA,iBACA,iBACA,eACA,aACA,gBACA,aACA,YACA,aACA,gBACA,iBACA,YACA,cACA,cACA,mBACA,iBACA,YACA,eACA,gBACA,eACA,gBACA,iBACA,aACA,iBACA,eACA,eACA,iBACA,gBACA,gBACA,eACA,mBACA,oBACA,eACA,cACA,aACA,aACA,eACA,gBACA,cACA,cACA,oBACA,mBACA,YACA,YACA,kBACA,iBACA,iBACA,aACA,iBACA,eACA,cACA,cACA,gBACA,iBACA,aACA,gBACA,iBACA,qBACA,cACA,gBACA,eACA,cACA,gBACA,cACA,eACA,aACA,aACA,qBACA,mBACA,kBACA,cACA,gBACA,iBACA,mBACA,eACA,cACA,qBACA,eACA,kBACA,mBACA,kBACA,sBACA,kBACA,iBACA,qBACA,mBACA,qBACA,yBACA,qBACA,mBACA,gBACA,qBACA,qBACA,wBACA,qBACA,mBACA,mBACA,kBACA,mBACA,gBACA,qBACA,sBACA,sBACA,kBACA,gBACA,kBACA,uBACA,kBACA,mBACA,qBACA,qBACA,iBACA,uBACA,cACA,mBACA,cACA,cACA,kBACA,iBACA,iBACA,kBACA,sBACA,iBACA,sBACA,eACA,MACA,oBACA,qBACA,UACA,OACA,MACA,QACA,OACA,MACA,UACA,UACA,YACA,YACA,aACA,aACA,aACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,aACA,aACA,aACA,aACA,aACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,gBACA,UACA,gBACA,UACA,WACA,mBACA,iBACA,mBACA,gBACA,iBACA,kBACA,gBACA,oBACA,kBACA,mBACA,kBACA,kBACA,kBACA,oBACA,gBACA,mBACA,kBACA,kBACA,qBACA,kBACA,gBACA,qBACA,cACA,eACA,gBACA,mBACA,gBACA,oBACA,gBACA,eACA,mBACA,eACA,gBACA,gBACA,eACA,cACA,eACA,mBACA,gBACA,cACA,cACA,gBACA,oBACA,kBACA,iBACA,oBACA,gBACA,eACA,mBACA,iBACA,gBACA,kBACA,mBACA,kBACA,eACA,iBACA,gBACA,iBACA,mBACA,gBACA,gBACA,oBACA,gBACA,KACA,UACA,MACA,QACA,OACA,QACA,YACA,WACA,MACA,UACA,sBACA,gBACA,mBACA,eACA,gBACA,mBACA,cACA,kBACA,mBACA,iBACA,iBACA,OACA,SACA,UACA,QACA,YACA,QACA,MACA,mBACA,iBACA,iBACA,MACA,UACA,SACA,KACA,UACA,eACA,mBACA,uBACA,kBACA,gBACA,iBACA,gBACA,oBACA,kBACA,eACA,mBACA,oBACA,kBACA,sBACA,eACA,mBACA,mBACA,qBACA,iBACA,oBACA,iBACA,oBACA,iBACA,gBACA,eACA,kBACA,iBACA,oBACA,gBACA,mBACA,kBACA,iBACA,uBACA,oBACA,iBACA,gBACA,iBACA,iBACA,oBACA,eACA,eACA,iBACA,cACA,SACA,WACA,MACA,UACA,MACA,MACA,YACA,SACA,MACA,YACA,YACA,cACA,aACA,aACA,aACA,kBACA,YACA,oBACA,cACA,cACA,aACA,iBACA,WACA,MACA,MACA,OACA,S,8BCrqCF,0WAOO,MAAMyF,EAAW,WACXC,EAAU,UACVC,EAAU,UACVC,EAAa,aACbC,EAAW,WAUXC,EAAU,CACrBhsK,EACA+yH,KAEO,CACLv7H,KAAMm0K,EACN54C,SACA/yH,WAISisK,EAAUp4K,IACrB,IAAYq4K,WAAW,CACrBh1K,MAAOrD,EAAIE,KAEN,CACLyD,KAAMo0K,EACN/3K,QAISs4K,EAAUp5C,IACrB,CACEv7H,KAAMq0K,EACN94C,WAGSq5C,EAAar4K,IACxB,CACEyD,KAAMs0K,EACN/3K,OAGSs4K,EAAWt5C,IACt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,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3CD,EAAOC,QAAU,IAA0B,kB,gBCA3C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","file":"3.2237e4b171.js","sourcesContent":["// Libraries\nimport React, {FC} from 'react'\nimport {FunnelPage, Button, ComponentColor} from '@influxdata/clockface'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps\n\nconst NoOrgsPage: FC = ({history, me}) => {\n const handleClick = () => {\n history.push('/signin')\n }\n\n return (\n \n
\n \n
\n

Whoops!

\n

\n You don't belong to an organization.\n
\n Add user {`\"${me.name}\"`} to an organization to\n continue\n

\n \n
\n )\n}\n\nconst mstp = ({me}: AppState) => {\n return {me}\n}\n\nconst connector = connect(mstp)\n\nexport default connector(withRouter(NoOrgsPage))\n","import {PureComponent} from 'react'\nimport {CLOUD} from 'src/shared/constants'\n\nexport default class extends PureComponent {\n render() {\n const {children} = this.props\n\n if (!CLOUD) {\n return children\n }\n\n return null\n }\n}\n","import {PureComponent} from 'react'\nimport {CLOUD} from 'src/shared/constants'\n\nexport default class extends PureComponent {\n render() {\n const {children} = this.props\n\n if (CLOUD) {\n return children\n }\n\n return null\n }\n}\n","// Constants\nimport {HOMEPAGE_PATHNAME} from 'src/shared/constants'\n\nexport const getNavItemActivation = (\n keywords: string[],\n location: string\n): boolean => {\n const ignoreOrgAndOrgID = 3\n const parentPath = location.split('/').slice(ignoreOrgAndOrgID)\n if (!parentPath.length) {\n parentPath.push(HOMEPAGE_PATHNAME)\n }\n return keywords.some(path => parentPath.includes(path))\n}\n","// Libraries\nimport React, {FC} from 'react'\nimport {Link} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {TreeNav} from '@influxdata/clockface'\nimport CloudExclude from 'src/shared/components/cloud/CloudExclude'\nimport CloudOnly from 'src/shared/components/cloud/CloudOnly'\n\n// Actions\nimport {showOverlay, dismissOverlay} from 'src/overlays/actions/overlays'\n\n// Constants\nimport {\n CLOUD_URL,\n CLOUD_USAGE_PATH,\n CLOUD_BILLING_PATH,\n CLOUD_USERS_PATH,\n} from 'src/shared/constants'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\nimport {getNavItemActivation} from '../utils'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst UserWidget: FC = ({\n org,\n me,\n handleShowOverlay,\n handleDismissOverlay,\n}) => {\n if (!org) {\n return null\n }\n\n const handleSwitchOrganizations = (): void => {\n handleShowOverlay('switch-organizations', {}, handleDismissOverlay)\n }\n\n const orgPrefix = `/orgs/${org.id}`\n\n return (\n \n \n (\n \n )}\n />\n (\n \n )}\n />\n (\n \n )}\n />\n (\n \n )}\n />\n \n \n (\n \n )}\n />\n (\n \n )}\n />\n \n (\n \n )}\n />\n \n }\n />\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const org = getOrg(state)\n const me = state.me\n return {org, me}\n}\n\nconst mdtp = {\n handleShowOverlay: showOverlay,\n handleDismissOverlay: dismissOverlay,\n}\n\nconst connector = connect(mstp, mdtp)\nexport default connector(UserWidget)\n","// Libraries\nimport React, {FC} from 'react'\nimport {Link} from 'react-router-dom'\n\n// Components\nimport {\n TreeNav,\n IconFont,\n InfluxDBCloudLogo,\n Icon,\n ComponentColor,\n} from '@influxdata/clockface'\nimport CloudExclude from 'src/shared/components/cloud/CloudExclude'\nimport CloudOnly from 'src/shared/components/cloud/CloudOnly'\n\ninterface Props {\n link: string\n}\n\nconst NavHeader: FC = ({link}) => {\n return (\n <>\n \n }\n label={}\n color={ComponentColor.Secondary}\n linkElement={className => }\n />\n \n \n }\n label={}\n color={ComponentColor.Primary}\n linkElement={className => }\n />\n \n \n )\n}\n\nexport default NavHeader\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\nimport {get, find} from 'lodash'\n\n// Components\nimport {\n Panel,\n ComponentSize,\n Heading,\n HeadingElement,\n Gradients,\n JustifyContent,\n Icon,\n IconFont,\n} from '@influxdata/clockface'\nimport CloudOnly from 'src/shared/components/cloud/CloudOnly'\n\n// Constants\nimport {CLOUD_URL, CLOUD_CHECKOUT_PATH} from 'src/shared/constants'\nimport {\n HIDE_UPGRADE_CTA_KEY,\n PAID_ORG_HIDE_UPGRADE_SETTING,\n} from 'src/cloud/constants'\n\n// Types\nimport {AppState, OrgSetting} from 'src/types'\n\ninterface StateProps {\n inView: boolean\n}\n\nconst CloudUpgradeNavBanner: FC = ({inView}) => {\n return (\n <>\n {inView && (\n \n \n \n \n Need more wiggle room?\n \n \n \n \n Upgrade Now\n \n \n \n \n \n Upgrade Now\n \n \n )}\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const settings = get(state, 'cloud.orgSettings.settings', [])\n const hideUpgradeButtonSetting = find(\n settings,\n (setting: OrgSetting) => setting.key === HIDE_UPGRADE_CTA_KEY\n )\n if (\n !hideUpgradeButtonSetting ||\n hideUpgradeButtonSetting.value !== PAID_ORG_HIDE_UPGRADE_SETTING.value\n ) {\n return {inView: true}\n }\n return {inView: false}\n}\n\nexport default connect(mstp)(CloudUpgradeNavBanner)\n","import {AppState} from 'src/types'\nimport {get} from 'lodash'\n\nexport const getOrgSettings = (state: AppState) => {\n return get(state, 'cloud.orgSettings.settings', [])\n}\n","// Libraries\nimport {FC, useEffect, useState} from 'react'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\n\n// Constants\nimport {CLOUD} from 'src/shared/constants'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Actions\nimport {getOrgSettings as getOrgSettingsAction} from 'src/cloud/actions/orgsettings'\n\nimport {getOrg} from 'src/organizations/selectors'\nimport {getOrgSettings} from 'src/cloud/selectors/orgsettings'\nimport {updateReportingContext} from 'src/cloud/utils/reporting'\n\ninterface PassedInProps {\n children: React.ReactElement\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & PassedInProps\n\nconst OrgSettings: FC = ({org, settings, children}) => {\n const dispatch = useDispatch()\n const [hasFetchedOrgSettings, setHasFetchedOrgSettings] = useState(\n false\n )\n\n useEffect(() => {\n if (CLOUD && org && !hasFetchedOrgSettings) {\n setHasFetchedOrgSettings(true)\n dispatch(getOrgSettingsAction())\n }\n }, [dispatch, org, hasFetchedOrgSettings])\n\n useEffect(() => {\n updateReportingContext(\n settings.reduce((prev, curr) => {\n prev[`org (${curr.key})`] = curr.value\n return prev\n }, {})\n )\n }, [settings])\n\n return children\n}\n\nconst mstp = (state: AppState) => ({\n org: getOrg(state),\n settings: getOrgSettings(state),\n})\n\nconst mdtp = {\n getOrgSettings: getOrgSettingsAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(OrgSettings)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {\n matchPath,\n withRouter,\n RouteComponentProps,\n Link,\n} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport {Icon, TreeNav} from '@influxdata/clockface'\nimport UserWidget from 'src/pageLayout/components/UserWidget'\nimport NavHeader from 'src/pageLayout/components/NavHeader'\nimport CloudUpgradeNavBanner from 'src/shared/components/CloudUpgradeNavBanner'\nimport CloudExclude from 'src/shared/components/cloud/CloudExclude'\nimport CloudOnly from 'src/shared/components/cloud/CloudOnly'\nimport OrgSettings from 'src/cloud/components/OrgSettings'\nimport {FeatureFlag} from 'src/shared/utils/featureFlag'\n\n// Constants\nimport {generateNavItems} from 'src/pageLayout/constants/navigationHierarchy'\n\n// Utils\nimport {getNavItemActivation} from 'src/pageLayout/utils'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Actions\nimport {setNavBarState} from 'src/shared/actions/app'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string}>\n\n@ErrorHandling\nclass TreeSidebar extends PureComponent {\n public render() {\n const {isHidden, history, navBarState, handleSetNavBarState} = this.props\n\n if (isHidden) {\n return null\n }\n\n const match = matchPath<{orgID: string}>(history.location.pathname, {\n path: '/orgs/:orgID',\n exact: false,\n strict: false,\n })\n\n const orgID = match?.params?.orgID\n\n const isExpanded = navBarState === 'expanded'\n\n const handleToggleNavExpansion = (): void => {\n if (isExpanded) {\n handleSetNavBarState('collapsed')\n } else {\n handleSetNavBarState('expanded')\n }\n }\n\n const orgPrefix = `/orgs/${orgID}`\n const navItems = generateNavItems(orgID)\n\n return (\n \n }\n userElement={}\n onToggleClick={handleToggleNavExpansion}\n bannerElement={}\n >\n {navItems.map(item => {\n const linkElement = (className: string): JSX.Element => {\n if (item.link.type === 'href') {\n return \n }\n\n return \n }\n let navItemElement = (\n }\n label={item.label}\n shortLabel={item.shortLabel}\n active={getNavItemActivation(\n item.activeKeywords,\n location.pathname\n )}\n linkElement={linkElement}\n >\n {Boolean(item.menu) && (\n \n {item.menu.map(menuItem => {\n const linkElement = (className: string): JSX.Element => {\n if (menuItem.link.type === 'href') {\n return (\n \n )\n }\n\n return (\n \n )\n }\n\n let navSubItemElement = (\n \n )\n\n if (menuItem.cloudExclude) {\n navSubItemElement = (\n \n {navSubItemElement}\n \n )\n }\n\n if (menuItem.cloudOnly) {\n navSubItemElement = (\n \n {navSubItemElement}\n \n )\n }\n\n if (menuItem.featureFlag) {\n navSubItemElement = (\n \n {navSubItemElement}\n \n )\n }\n\n return navSubItemElement\n })}\n \n )}\n \n )\n\n if (item.cloudExclude) {\n navItemElement = (\n {navItemElement}\n )\n }\n\n if (item.cloudOnly) {\n navItemElement = (\n {navItemElement}\n )\n }\n\n if (item.featureFlag) {\n navItemElement = (\n \n {navItemElement}\n \n )\n }\n\n return navItemElement\n })}\n \n \n )\n }\n}\n\nconst mdtp = {\n handleSetNavBarState: setNavBarState,\n}\n\nconst mstp = (state: AppState) => {\n const isHidden = get(state, 'app.ephemeral.inPresentationMode', false)\n const navBarState = get(state, 'app.persisted.navBarState', 'collapsed')\n\n return {isHidden, navBarState}\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TreeSidebar))\n","import {IconFont} from '@influxdata/clockface'\n\nexport interface NavItemLink {\n type: 'link' | 'href'\n location: string\n}\n\nexport interface NavSubItem {\n id: string\n testID: string\n label: string\n link: NavItemLink\n cloudExclude?: boolean\n cloudOnly?: boolean\n featureFlag?: string\n featureFlagValue?: boolean\n}\n\nexport interface NavItem {\n id: string\n testID: string\n label: string\n shortLabel?: string\n link: NavItemLink\n icon: IconFont\n cloudExclude?: boolean\n cloudOnly?: boolean\n featureFlag?: string\n featureFlagValue?: boolean\n menu?: NavSubItem[]\n activeKeywords: string[]\n}\n\nexport const generateNavItems = (orgID: string): NavItem[] => {\n const orgPrefix = `/orgs/${orgID}`\n\n return [\n {\n id: 'load-data',\n testID: 'nav-item-load-data',\n icon: IconFont.DisksNav,\n label: 'Load Data',\n shortLabel: 'Data',\n link: {\n type: 'link',\n location: `${orgPrefix}/load-data/sources`,\n },\n activeKeywords: ['load-data'],\n menu: [\n {\n id: 'sources',\n testID: 'nav-subitem-sources',\n label: 'Sources',\n link: {\n type: 'link',\n location: `${orgPrefix}/load-data/sources`,\n },\n },\n {\n id: 'buckets',\n testID: 'nav-subitem-buckets',\n label: 'Buckets',\n link: {\n type: 'link',\n location: `${orgPrefix}/load-data/buckets`,\n },\n },\n {\n id: 'telegrafs',\n testID: 'nav-subitem-telegrafs',\n label: 'Telegraf',\n link: {\n type: 'link',\n location: `${orgPrefix}/load-data/telegrafs`,\n },\n },\n {\n id: 'scrapers',\n testID: 'nav-subitem-scrapers',\n label: 'Scrapers',\n link: {\n type: 'link',\n location: `${orgPrefix}/load-data/scrapers`,\n },\n cloudExclude: true,\n },\n {\n id: 'tokens',\n testID: 'nav-subitem-tokens',\n label: 'Tokens',\n link: {\n type: 'link',\n location: `${orgPrefix}/load-data/tokens`,\n },\n },\n ],\n },\n {\n id: 'data-explorer',\n testID: 'nav-item-data-explorer',\n icon: IconFont.GraphLine,\n label: 'Data Explorer',\n shortLabel: 'Explore',\n link: {\n type: 'link',\n location: `${orgPrefix}/data-explorer`,\n },\n activeKeywords: ['data-explorer'],\n },\n {\n id: 'flows',\n testID: 'nav-item-flows',\n icon: IconFont.Erlenmeyer,\n label: 'Flows',\n featureFlag: 'notebooks',\n shortLabel: 'Flows',\n link: {\n type: 'link',\n location: `${orgPrefix}/flows`,\n },\n activeKeywords: ['flows'],\n },\n {\n id: 'dashboards',\n testID: 'nav-item-dashboards',\n icon: IconFont.Dashboards,\n label: 'Dashboards',\n shortLabel: 'Boards',\n link: {\n type: 'link',\n location: `${orgPrefix}/dashboards-list`,\n },\n activeKeywords: ['dashboards'],\n },\n {\n id: 'tasks',\n testID: 'nav-item-tasks',\n icon: IconFont.Calendar,\n label: 'Tasks',\n link: {\n type: 'link',\n location: `${orgPrefix}/tasks`,\n },\n activeKeywords: ['tasks'],\n },\n {\n id: 'alerting',\n testID: 'nav-item-alerting',\n icon: IconFont.Bell,\n label: 'Alerts',\n link: {\n type: 'link',\n location: `${orgPrefix}/alerting`,\n },\n activeKeywords: ['alerting'],\n menu: [\n {\n id: 'history',\n testID: 'nav-subitem-history',\n label: 'Alert History',\n link: {\n type: 'link',\n location: `${orgPrefix}/alert-history`,\n },\n },\n ],\n },\n {\n id: 'settings',\n testID: 'nav-item-settings',\n icon: IconFont.WrenchNav,\n label: 'Settings',\n link: {\n type: 'link',\n location: `${orgPrefix}/settings/variables`,\n },\n activeKeywords: ['settings'],\n menu: [\n {\n id: 'variables',\n testID: 'nav-subitem-variables',\n label: 'Variables',\n link: {\n type: 'link',\n location: `${orgPrefix}/settings/variables`,\n },\n },\n {\n id: 'templates',\n testID: 'nav-subitem-templates',\n label: 'Templates',\n link: {\n type: 'link',\n location: `${orgPrefix}/settings/templates`,\n },\n },\n {\n id: 'labels',\n testID: 'nav-subitem-labels',\n label: 'Labels',\n link: {\n type: 'link',\n location: `${orgPrefix}/settings/labels`,\n },\n },\n ],\n },\n ]\n}\n","import React from 'react'\n\nexport const NOTES_PORTAL_ID = 'notes-portal'\n\nexport default function NotesPortal() {\n return
\n}\n","import React, {PureComponent} from 'react'\nimport {Link} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get} from 'lodash'\n\n//Actions\nimport {dismissNotification as dismissNotificationAction} from 'src/shared/actions/notifications'\n\nimport {Notification, ComponentSize, Gradients} from '@influxdata/clockface'\n\n//Types\nimport {AppState, NotificationStyle} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst matchGradientToColor = (style: NotificationStyle): Gradients => {\n const converter = {\n [NotificationStyle.Primary]: Gradients.Primary,\n [NotificationStyle.Warning]: Gradients.WarningLight,\n [NotificationStyle.Success]: Gradients.HotelBreakfast,\n [NotificationStyle.Error]: Gradients.DangerDark,\n [NotificationStyle.Info]: Gradients.DefaultLight,\n }\n return get(converter, style, Gradients.DefaultLight)\n}\n\nclass Notifications extends PureComponent {\n public static defaultProps = {\n notifications: [],\n }\n\n public render() {\n const {notifications} = this.props\n\n return (\n <>\n {notifications.map(\n ({id, style, icon, duration, message, link, linkText}) => {\n const gradient = matchGradientToColor(style)\n\n let button\n\n if (link && linkText) {\n button = (\n \n {linkText}\n \n )\n }\n\n return (\n \n {message}\n {button}\n \n )\n }\n )}\n \n )\n }\n}\n\nconst mstp = ({notifications}: AppState) => ({\n notifications,\n})\n\nconst mdtp = {\n dismissNotification: dismissNotificationAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(Notifications)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {Controlled as ReactCodeMirror, IInstance} from 'react-codemirror2'\nimport {ScrollInfo} from 'codemirror'\n\n// Utils\nimport {humanizeNote} from 'src/dashboards/utils/notes'\n\nconst OPTIONS = {\n mode: 'markdown',\n theme: 'markdown',\n tabIndex: 1,\n readonly: false,\n lineNumbers: false,\n autoRefresh: true,\n completeSingle: false,\n lineWrapping: true,\n placeholder: 'You can use Markdown syntax to format your note',\n}\n\nconst noOp = () => {}\n\ninterface Props {\n note: string\n onChangeNote: (value: string) => void\n onScroll: (scrollTop: number) => void\n scrollTop: number\n}\n\nclass NoteEditorText extends PureComponent {\n private editor: IInstance\n\n public componentDidUpdate() {\n const currentScrollTop = this.editor.getScrollInfo().top\n if (this.props.scrollTop !== currentScrollTop) {\n this.editor.scrollTo(0, this.props.scrollTop)\n }\n }\n\n public render() {\n const {note} = this.props\n\n return (\n \n )\n }\n\n private handleMount = (instance: IInstance) => {\n instance.focus()\n this.editor = instance\n }\n\n private handleChange = (_, __, note: string) => {\n const {onChangeNote} = this.props\n\n onChangeNote(note)\n }\n\n private handleScroll = (__: IInstance, scrollInfo: ScrollInfo) => {\n const {onScroll} = this.props\n\n onScroll(scrollInfo.top)\n }\n}\n\nexport default NoteEditorText\n","import React, {SFC, MouseEvent} from 'react'\n\nimport {MarkdownRenderer} from 'src/shared/components/views/MarkdownRenderer'\nimport {DapperScrollbars} from '@influxdata/clockface'\n\ninterface Props {\n note: string\n scrollTop: number\n onScroll: (e: MouseEvent) => void\n}\n\nconst cloudImageRenderer = (): any =>\n \"We don't support images in markdown for security purposes\"\n\nconst NoteEditorPreview: SFC = props => {\n return (\n
\n \n
\n \n
\n \n
\n )\n}\n\nexport default NoteEditorPreview\n","// Libraries\nimport React, {PureComponent, MouseEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n SlideToggle,\n InputLabel,\n ComponentSize,\n FlexBox,\n FlexDirection,\n JustifyContent,\n} from '@influxdata/clockface'\nimport NoteEditorText from 'src/dashboards/components/NoteEditorText'\nimport NoteEditorPreview from 'src/dashboards/components/NoteEditorPreview'\n\n// Actions\nimport {\n setIsPreviewing,\n toggleShowNoteWhenEmpty,\n setNote,\n} from 'src/dashboards/actions/notes'\n\n// Types\nimport {AppState, NoteEditorMode} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\ninterface State {\n scrollTop: number\n}\n\nclass NoteEditor extends PureComponent {\n public state = {scrollTop: 0}\n\n public render() {\n const {note, onSetNote} = this.props\n const {scrollTop} = this.state\n\n return (\n
\n )\n }\n\n private get visibilityToggle(): JSX.Element {\n const {hasQuery, showNoteWhenEmpty, onToggleShowNoteWhenEmpty} = this.props\n\n if (!hasQuery) {\n return null\n }\n\n return (\n \n Show note when query returns no data\n \n \n )\n }\n\n private handleEditorScroll = (scrollTop: number) => {\n this.setState({scrollTop})\n }\n\n private handlePreviewScroll = (e: MouseEvent) => {\n const target = e.target as HTMLElement\n const {scrollTop} = target\n\n this.setState({scrollTop})\n }\n}\n\nconst mstp = (state: AppState) => {\n const {note, mode, viewID, isPreviewing, showNoteWhenEmpty} = state.noteEditor\n const hasQuery =\n mode === NoteEditorMode.Editing &&\n viewID &&\n state.resources.views.byID[viewID] &&\n state.resources.views.byID[viewID].properties.type !== 'markdown'\n\n return {note, hasQuery, isPreviewing, showNoteWhenEmpty}\n}\n\nconst mdtp = {\n onSetIsPreviewing: setIsPreviewing,\n onToggleShowNoteWhenEmpty: toggleShowNoteWhenEmpty,\n onSetNote: setNote,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(NoteEditor)\n","// Libraries\nimport {get} from 'lodash'\n\n// Actions\nimport {createCellWithView} from 'src/cells/actions/thunks'\nimport {updateView} from 'src/views/actions/thunks'\n\n// Utils\nimport {createView} from 'src/views/helpers'\nimport {getByID} from 'src/resources/selectors'\n\n// Types\nimport {\n GetState,\n MarkdownViewProperties,\n NoteEditorMode,\n ResourceType,\n Dashboard,\n View,\n} from 'src/types'\nimport {NoteEditorState} from 'src/dashboards/reducers/notes'\nimport {Dispatch} from 'react'\n\nexport type Action =\n | CloseNoteEditorAction\n | SetIsPreviewingAction\n | ToggleShowNoteWhenEmptyAction\n | SetNoteAction\n | SetNoteStateAction\n | ResetNoteStateAction\n\ninterface CloseNoteEditorAction {\n type: 'CLOSE_NOTE_EDITOR'\n}\n\nexport const closeNoteEditor = (): CloseNoteEditorAction => ({\n type: 'CLOSE_NOTE_EDITOR',\n})\n\ninterface SetIsPreviewingAction {\n type: 'SET_IS_PREVIEWING'\n payload: {isPreviewing: boolean}\n}\n\nexport const setIsPreviewing = (\n isPreviewing: boolean\n): SetIsPreviewingAction => ({\n type: 'SET_IS_PREVIEWING',\n payload: {isPreviewing},\n})\n\ninterface ToggleShowNoteWhenEmptyAction {\n type: 'TOGGLE_SHOW_NOTE_WHEN_EMPTY'\n}\n\nexport const toggleShowNoteWhenEmpty = (): ToggleShowNoteWhenEmptyAction => ({\n type: 'TOGGLE_SHOW_NOTE_WHEN_EMPTY',\n})\n\ninterface SetNoteAction {\n type: 'SET_NOTE'\n payload: {note: string}\n}\n\nexport const setNote = (note: string): SetNoteAction => ({\n type: 'SET_NOTE',\n payload: {note},\n})\n\nexport const createNoteCell = (dashboardID: string) => (\n dispatch: Dispatch>,\n getState: GetState\n) => {\n const dashboard = getByID(\n getState(),\n ResourceType.Dashboards,\n dashboardID\n )\n\n if (!dashboard) {\n throw new Error(`could not find dashboard with id \"${dashboardID}\"`)\n }\n\n const {note} = getState().noteEditor\n const view = createView('markdown')\n\n view.properties.note = note\n\n return dispatch(createCellWithView(dashboard.id, view))\n}\n\nexport interface ResetNoteStateAction {\n type: 'RESET_NOTE_STATE'\n}\n\nexport const resetNoteState = (): ResetNoteStateAction => ({\n type: 'RESET_NOTE_STATE',\n})\n\nexport interface SetNoteStateAction {\n type: 'SET_NOTE_STATE'\n payload: Partial\n}\n\nexport const setNoteState = (\n noteState: Partial\n): SetNoteStateAction => ({\n type: 'SET_NOTE_STATE',\n payload: noteState,\n})\n\nexport const loadNote = (id: string) => (\n dispatch: Dispatch,\n getState: GetState\n) => {\n const state = getState()\n const currentViewState = getByID(state, ResourceType.Views, id)\n\n if (!currentViewState) {\n return\n }\n\n const view = currentViewState\n\n const note: string = get(view, 'properties.note', '')\n const showNoteWhenEmpty: boolean = get(\n view,\n 'properties.showNoteWhenEmpty',\n false\n )\n\n const initialState = {\n viewID: view.id,\n note,\n showNoteWhenEmpty,\n mode: NoteEditorMode.Editing,\n }\n\n dispatch(setNoteState(initialState))\n}\n\nexport const updateViewNote = (id: string) => (\n dispatch: Dispatch>,\n getState: GetState\n) => {\n const state = getState()\n const {note, showNoteWhenEmpty} = state.noteEditor\n const view = getByID(state, ResourceType.Views, id)\n\n if (view.properties.type === 'check') {\n throw new Error(\n `view type \"${view.properties.type}\" does not support notes`\n )\n }\n\n const updatedView = {\n ...view,\n properties: {...view.properties, note, showNoteWhenEmpty},\n }\n\n return dispatch(updateView(view.dashboardID, updatedView))\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport NoteEditor from 'src/dashboards/components/NoteEditor'\nimport {\n Button,\n ComponentColor,\n ComponentStatus,\n SpinnerContainer,\n TechnoSpinner,\n Overlay,\n} from '@influxdata/clockface'\n\n// Actions\nimport {\n createNoteCell,\n updateViewNote,\n loadNote,\n resetNoteState,\n} from 'src/dashboards/actions/notes'\nimport {notify} from 'src/shared/actions/notifications'\n\n// Utils\nimport {savingNoteFailed} from 'src/shared/copy/notifications'\n\n// Types\nimport {RemoteDataState} from 'src/types'\nimport {AppState, NoteEditorMode} from 'src/types'\n\ninterface OwnProps {\n onClose: () => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\ninterface State {\n savingStatus: RemoteDataState\n}\n\nclass NoteEditorOverlay extends PureComponent {\n public state: State = {\n savingStatus: RemoteDataState.NotStarted,\n }\n\n componentDidMount() {\n const {cellID} = this.props\n\n if (cellID) {\n this.props.loadNote(cellID)\n } else {\n this.props.resetNote()\n }\n }\n\n componentDidUpdate(prevProps: Props) {\n const {cellID, viewsStatus} = this.props\n\n if (\n prevProps.viewsStatus !== RemoteDataState.Done &&\n viewsStatus === RemoteDataState.Done\n ) {\n if (cellID) {\n this.props.loadNote(cellID)\n } else {\n this.props.resetNote()\n }\n }\n }\n\n public render() {\n const {dashboardID} = this.props\n\n if (!dashboardID) {\n return (\n \n \n \n
\n This page does not allow creation or editing of notes, better head{' '}\n to a dashboard to do that.\n
\n
\n
\n )\n }\n\n return (\n \n \n \n }\n >\n \n \n \n \n \n \n \n \n )\n }\n\n private handleDismiss = (): void => {\n const {onClose} = this.props\n\n onClose()\n }\n\n private get overlayTitle(): string {\n const {mode} = this.props\n\n let overlayTitle: string\n\n if (mode === NoteEditorMode.Editing) {\n overlayTitle = 'Edit Note'\n } else {\n overlayTitle = 'Add Note'\n }\n\n return overlayTitle\n }\n\n private get saveButtonStatus(): ComponentStatus {\n const {savingStatus} = this.state\n\n if (savingStatus === RemoteDataState.Loading) {\n return ComponentStatus.Loading\n }\n\n return ComponentStatus.Default\n }\n\n private handleSave = () => {\n const {\n cellID,\n dashboardID,\n onCreateNoteCell,\n onUpdateViewNote,\n onNotify,\n } = this.props\n\n this.setState({savingStatus: RemoteDataState.Loading})\n\n try {\n if (cellID) {\n onUpdateViewNote(cellID)\n } else {\n onCreateNoteCell(dashboardID)\n }\n this.handleDismiss()\n } catch (error) {\n onNotify(savingNoteFailed(error.message))\n console.error(error)\n this.setState({savingStatus: RemoteDataState.Error})\n }\n }\n}\n\nconst mstp = ({noteEditor, resources, overlays}: AppState) => {\n const {params} = overlays\n const {mode} = noteEditor\n const {status} = resources.views\n\n const cellID = get(params, 'cellID', undefined)\n const dashboardID = get(params, 'dashboardID', undefined)\n\n return {mode, viewsStatus: status, cellID, dashboardID}\n}\n\nconst mdtp = {\n onNotify: notify,\n onCreateNoteCell: createNoteCell,\n onUpdateViewNote: updateViewNote,\n resetNote: resetNoteState,\n loadNote,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(NoteEditorOverlay)\n","import {Bucket, Permission} from 'src/types'\n\ntype PermissionTypes = Permission['resource']['type']\n\nfunction assertNever(x: never): never {\n throw new Error('Unexpected object: ' + x)\n}\n\nconst allPermissionTypes: PermissionTypes[] = [\n 'authorizations',\n 'buckets',\n 'checks',\n 'dashboards',\n 'dbrp',\n 'documents',\n 'labels',\n 'notificationRules',\n 'notificationEndpoints',\n 'orgs',\n 'secrets',\n 'scrapers',\n 'sources',\n 'tasks',\n 'telegrafs',\n 'users',\n 'variables',\n 'views',\n]\n\n// The switch statement below will cause a TS error\n// if all allowable PermissionTypes generated in the client\n// generatedRoutes are not included in the switch statement BUT\n// they will need to be added to both the switch statement AND the allPermissionTypes array.\nconst ensureT = (orgID: string, userID: string) => (\n t: PermissionTypes\n): Permission[] => {\n switch (t) {\n case 'authorizations':\n case 'buckets':\n case 'checks':\n case 'dashboards':\n case 'dbrp':\n case 'documents':\n case 'labels':\n case 'notificationRules':\n case 'notificationEndpoints':\n case 'secrets':\n case 'scrapers':\n case 'sources':\n case 'tasks':\n case 'telegrafs':\n case 'variables':\n case 'views':\n return [\n {\n action: 'read' as 'read',\n resource: {type: t, orgID},\n },\n {\n action: 'write' as 'write',\n resource: {type: t, orgID},\n },\n ]\n case 'orgs':\n // 'orgs' used to only have read permissions so that's all we'll give again.\n // In production, orgs with an orgID returns a permissions error.\n return [\n {\n action: 'read' as 'read',\n resource: {type: t, id: orgID},\n },\n ]\n case 'users':\n return [\n {\n action: 'read' as 'read',\n resource: {type: t, id: userID},\n },\n {\n action: 'write' as 'write',\n resource: {type: t, id: userID},\n },\n ]\n default:\n return assertNever(t)\n }\n}\n\nexport const allAccessPermissions = (\n orgID: string,\n userID: string\n): Permission[] => {\n const withOrgID = ensureT(orgID, userID)\n return allPermissionTypes.flatMap(withOrgID)\n}\n\nexport const specificBucketsPermissions = (\n buckets: Bucket[],\n permission: Permission['action']\n): Permission[] => {\n return buckets.map(b => {\n return {\n action: permission,\n resource: {\n type: 'buckets' as 'buckets',\n orgID: b.orgID,\n id: b.id,\n },\n }\n })\n}\n\nexport const allBucketsPermissions = (\n orgID: string,\n permission: Permission['action']\n): Permission[] => {\n return [\n {\n action: permission,\n resource: {type: 'buckets', orgID},\n },\n ]\n}\n\nexport const selectBucket = (\n bucketName: string,\n selectedBuckets: string[]\n): string[] => {\n const isSelected = selectedBuckets.find(n => n === bucketName)\n\n if (isSelected) {\n return selectedBuckets.filter(n => n !== bucketName)\n }\n\n return [...selectedBuckets, bucketName]\n}\n\nexport enum BucketTab {\n AllBuckets = 'All Buckets',\n Scoped = 'Scoped',\n}\n","// Types\nimport {AppState} from 'src/types'\nimport {MeState} from 'src/shared/reducers/me'\n\nexport const getMe = (state: AppState): MeState => {\n return state.me\n}\n","import React, {PureComponent, ChangeEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n Alert,\n IconFont,\n ComponentColor,\n FlexBox,\n AlignItems,\n FlexDirection,\n ComponentSize,\n Button,\n ButtonType,\n Input,\n Overlay,\n Form,\n} from '@influxdata/clockface'\n\n// Actions\nimport {createAuthorization} from 'src/authorizations/actions/thunks'\n\n// Utils\nimport {allAccessPermissions} from 'src/authorizations/utils/permissions'\nimport {getOrg} from 'src/organizations/selectors'\nimport {getMe} from 'src/me/selectors'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Types\nimport {AppState, Authorization} from 'src/types'\n\ninterface OwnProps {\n onClose: () => void\n}\n\ninterface State {\n description: string\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\n@ErrorHandling\nclass AllAccessTokenOverlay extends PureComponent {\n public state = {description: ''}\n\n render() {\n const {description} = this.state\n\n return (\n \n \n \n
\n \n \n This token will be able to create, update, delete, read, and\n write to anything in this organization\n \n \n \n \n\n \n \n\n \n \n \n \n
\n
\n )\n }\n\n private handleSave = () => {\n const {orgID, meID, onCreateAuthorization} = this.props\n\n const token: Authorization = {\n orgID,\n description: this.state.description,\n permissions: allAccessPermissions(orgID, meID),\n }\n\n onCreateAuthorization(token)\n\n this.handleDismiss()\n }\n\n private handleInputChange = (e: ChangeEvent) => {\n const {value} = e.target\n\n this.setState({description: value})\n }\n\n private handleDismiss = () => {\n this.props.onClose()\n }\n}\n\nconst mstp = (state: AppState) => {\n return {\n orgID: getOrg(state).id,\n meID: getMe(state).id,\n }\n}\n\nconst mdtp = {\n onCreateAuthorization: createAuthorization,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(AllAccessTokenOverlay)\n","// Libraries\nimport React, {PureComponent} from 'react'\n\ninterface Props {\n title: string\n testID: string\n onDelete?: () => void\n onDragStart?: () => void\n}\n\nexport default class SelectorListHeader extends PureComponent {\n public static defaultProps = {\n testID: 'selector-list--header',\n }\n\n public render() {\n const {testID, children} = this.props\n\n return (\n
\n {this.title}\n {children}\n {this.deleteButton}\n
\n )\n }\n\n private get title(): JSX.Element {\n const {onDragStart, title} = this.props\n\n if (onDragStart) {\n return (\n
\n
\n

{title}

\n
\n )\n }\n\n return

{title}

\n }\n\n private get deleteButton(): JSX.Element | undefined {\n const {onDelete} = this.props\n\n if (onDelete) {\n return
\n }\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\ninterface Props {\n testID: string\n}\n\nexport default class SelectorListMenu extends PureComponent {\n public static defaultProps = {\n testID: 'selector-list--menu',\n }\n\n public render() {\n const {testID, children} = this.props\n return (\n
\n {children}\n
\n )\n }\n}\n","// Libraries\nimport React, {PureComponent, ReactNode} from 'react'\n\n// Components\nimport {DapperScrollbars} from '@influxdata/clockface'\n\ninterface Props {\n scrollable: boolean\n addPadding: boolean\n testID: string\n}\n\nexport default class SelectorListBody extends PureComponent {\n public static defaultProps = {\n scrollable: true,\n addPadding: true,\n testID: 'selector-list--body',\n }\n\n public render() {\n const {scrollable, testID} = this.props\n\n if (scrollable) {\n return (\n \n {this.children}\n \n )\n }\n\n return (\n
\n {this.children}\n
\n )\n }\n\n private get children(): JSX.Element | ReactNode {\n const {addPadding, children} = this.props\n\n if (addPadding) {\n return
{children}
\n }\n\n return children\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\ninterface Props {\n testID: string\n}\n\nexport default class SelectorListEmpty extends PureComponent {\n public static defaultProps = {\n testID: 'selector-list--empty',\n }\n\n public render() {\n const {testID, children} = this.props\n\n return (\n \n {children}\n
\n )\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport SelectorListHeader from 'src/shared/components/selectorList/SelectorListHeader'\nimport SelectorListMenu from 'src/shared/components/selectorList/SelectorListMenu'\nimport SelectorListBody from 'src/shared/components/selectorList/SelectorListBody'\nimport SelectorListEmpty from 'src/shared/components/selectorList/SelectorListEmpty'\n\ninterface Props {\n testID: string\n className?: string\n}\n\nexport default class SelectorList extends PureComponent {\n public static Header = SelectorListHeader\n public static Menu = SelectorListMenu\n public static Body = SelectorListBody\n public static Empty = SelectorListEmpty\n\n public static defaultProps = {\n testID: 'selector-list',\n }\n\n public render() {\n const {children, testID, className} = this.props\n\n const classname = classnames('selector-list', {[`${className}`]: className})\n\n return (\n
\n {children}\n
\n )\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport classnames from 'classnames'\n\ninterface Props {\n title: string\n testID: string\n onDelete?: () => void\n onDragStart?: () => void\n className?: string\n}\n\nexport default class BuilderCardHeader extends PureComponent {\n public static defaultProps = {\n testID: 'builder-card--header',\n }\n\n public render() {\n const {testID, children, className} = this.props\n\n const classname = classnames('builder-card--header', {\n [`${className}`]: className,\n })\n\n return (\n
\n {this.title}\n {children}\n {this.deleteButton}\n
\n )\n }\n\n private get title(): JSX.Element {\n const {onDragStart, title} = this.props\n\n if (onDragStart) {\n return (\n
\n
\n

{title}

\n
\n )\n }\n\n return

{title}

\n }\n\n private get deleteButton(): JSX.Element | undefined {\n const {onDelete} = this.props\n\n if (onDelete) {\n return
\n }\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\nimport {ComponentStatus, Dropdown, SelectDropdown} from '@influxdata/clockface'\nimport {BuilderAggregateFunctionType} from 'src/types'\n\ninterface Props {\n options: string[]\n selectedOption: string\n testID: string\n onSelect?: (option: BuilderAggregateFunctionType) => void\n onDelete?: () => void\n isInCheckOverlay?: boolean\n}\n\nconst emptyFunction = () => {}\n\nexport default class BuilderCardDropdownHeader extends PureComponent {\n public static defaultProps = {\n testID: 'builder-card--header',\n }\n\n public render() {\n const {\n children,\n isInCheckOverlay,\n options,\n onSelect,\n selectedOption,\n testID,\n } = this.props\n const button = () => (\n {}}>\n {selectedOption}\n \n )\n\n const menu = () => null\n return (\n
\n {isInCheckOverlay ? (\n \n ) : (\n \n )}\n {children}\n {this.deleteButton}\n
\n )\n }\n\n private get deleteButton(): JSX.Element | undefined {\n const {onDelete} = this.props\n\n if (onDelete) {\n return
\n }\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport classnames from 'classnames'\n\ninterface Props {\n testID: string\n className?: string\n}\n\nexport default class BuilderCardMenu extends PureComponent {\n public static defaultProps = {\n testID: 'builder-card--menu',\n }\n\n public render() {\n const {testID, children, className} = this.props\n const classname = classnames('builder-card--menu', {\n [`${className}`]: className,\n })\n\n return (\n
\n {children}\n
\n )\n }\n}\n","// Libraries\nimport React, {PureComponent, ReactNode, CSSProperties} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport {DapperScrollbars} from '@influxdata/clockface'\n\ninterface Props {\n scrollable: boolean\n addPadding: boolean\n testID: string\n autoHideScrollbars: boolean\n style?: CSSProperties\n className?: string\n}\n\nexport default class BuilderCardBody extends PureComponent {\n public static defaultProps = {\n scrollable: true,\n addPadding: true,\n testID: 'builder-card--body',\n autoHideScrollbars: false,\n }\n\n public render() {\n const {\n scrollable,\n testID,\n autoHideScrollbars,\n style,\n className,\n } = this.props\n\n if (scrollable) {\n const scrollbarStyles = {maxWidth: '100%', maxHeight: '100%', ...style}\n\n return (\n \n {this.children}\n \n )\n }\n\n const classname = classnames('builder-card--body', {\n [`${className}`]: className,\n })\n\n return (\n
\n {this.children}\n
\n )\n }\n\n private get children(): JSX.Element | ReactNode {\n const {addPadding, children} = this.props\n\n if (addPadding) {\n return
{children}
\n }\n\n return children\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\ninterface Props {\n testID: string\n}\n\nexport default class BuilderCardEmpty extends PureComponent {\n public static defaultProps = {\n testID: 'builder-card--empty',\n }\n\n public render() {\n const {testID, children} = this.props\n\n return (\n \n {children}\n
\n )\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport BuilderCardHeader from 'src/timeMachine/components/builderCard/BuilderCardHeader'\nimport BuilderCardDropdownHeader from 'src/timeMachine/components/builderCard/BuilderCardDropdownHeader'\nimport BuilderCardMenu from 'src/timeMachine/components/builderCard/BuilderCardMenu'\nimport BuilderCardBody from 'src/timeMachine/components/builderCard/BuilderCardBody'\nimport BuilderCardEmpty from 'src/timeMachine/components/builderCard/BuilderCardEmpty'\n\ninterface Props {\n testID: string\n className?: string\n widthPixels: number\n}\n\nexport default class BuilderCard extends PureComponent {\n public static Header = BuilderCardHeader\n public static DropdownHeader = BuilderCardDropdownHeader\n public static Menu = BuilderCardMenu\n public static Body = BuilderCardBody\n public static Empty = BuilderCardEmpty\n\n public static defaultProps = {\n testID: 'builder-card',\n widthPixels: 228,\n }\n\n public render() {\n const {children, testID, className, widthPixels} = this.props\n\n const classname = classnames('builder-card', {[`${className}`]: className})\n\n const style = {flex: `0 0 ${widthPixels}px`}\n\n return (\n
\n {children}\n
\n )\n }\n}\n","// Libraries\nimport React, {SFC} from 'react'\n\n// Components\nimport {List, ComponentSize, Gradients} from '@influxdata/clockface'\n\ninterface Props {\n items: string[]\n selectedItems: string[]\n onSelectItem: (item: string) => void\n multiSelect: boolean\n children?: JSX.Element | JSX.Element[]\n testID?: string\n wrapText?: boolean\n}\n\nconst SelectorList: SFC = props => {\n const {\n items,\n selectedItems,\n onSelectItem,\n multiSelect,\n children,\n testID,\n wrapText,\n } = props\n\n return (\n \n {items.map(item => {\n const selected = selectedItems.includes(item)\n\n const title = selected\n ? 'Click to remove this filter'\n : `Click to filter by ${item}`\n\n const indicator = multiSelect && \n\n return (\n \n {indicator}\n {item}\n \n )\n })}\n {children}\n \n )\n}\n\nexport default SelectorList\n","// Libraries\nimport {PureComponent} from 'react'\nimport {orderBy} from 'lodash'\n\n// Types\nimport {Sort} from '@influxdata/clockface'\n\ninterface Props {\n list: T[]\n sortKey?: string\n direction?: Sort\n children: (sortedList: T[]) => JSX.Element\n}\n\nexport default class SortingHat extends PureComponent> {\n public render() {\n return this.props.children(this.sorted)\n }\n\n private get sorted(): T[] {\n const {list, sortKey, direction} = this.props\n\n return orderBy(list, [sortKey], [direction])\n }\n}\n","// Libraries\nimport {PureComponent} from 'react'\n\nimport {\n get,\n sortBy,\n isString,\n isArray,\n isEmpty,\n isObject,\n flatMap,\n sortedIndex,\n} from 'lodash'\n\n// Types\nimport {Label} from 'src/types'\n\n// searchKeys: the keys whose values you want to filter on\n// if the values are nested use dot notation i.e. tasks.org.name\n\nexport interface OwnProps {\n list: T[]\n searchTerm: string\n searchKeys: string[]\n sortByKey?: string\n children: (list: T[]) => any\n}\n\nexport interface StateProps {\n labels: {[uuid: string]: Label}\n}\n\nexport type Props = OwnProps & StateProps\n\nconst INEXACT_PATH = /\\w+\\[\\]/g\nconst EMPTY_ARRAY_BRACKETS = /\\[\\]?\\./\n/**\n * Filters a list using a searchTerm and searchKeys where\n * searchKeys is an array of strings represents either an\n * exact or inexact path to a property value(s):\n * \"user.name\" (exact) or \"authors[].name\" (inexact)\n *\n */\n\nexport default class FilterList extends PureComponent> {\n public render() {\n return this.props.children(this.sorted)\n }\n\n private get sorted(): T[] {\n return sortBy(this.filtered, [\n (item: T) => {\n const value = get(item, this.props.sortByKey)\n\n if (!!value && isString(value)) {\n return value.toLocaleLowerCase()\n }\n\n return value\n },\n ])\n }\n\n private get filtered(): T[] {\n const {list, labels, searchKeys} = this.props\n const {formattedSearchTerm} = this\n\n if (isEmpty(formattedSearchTerm)) {\n return list\n }\n\n const filtered = list.filter(listItem => {\n const item = {\n ...listItem,\n labels: get(listItem, 'labels', []).map(labelID => labels[labelID]),\n }\n\n const isInList = searchKeys.some(key => {\n const value = this.getKey(item, key)\n\n const isStringArray = this.isStringArray(value)\n\n if (!isStringArray && isObject(value)) {\n throw new Error(\n `The value at key \"${key}\" is an object. Take a look at \"searchKeys\" and\n make sure you're indexing onto a primitive value`\n )\n }\n\n if (isStringArray) {\n const searchIndex = this.createIndex(value)\n return this.checkIndex(searchIndex, formattedSearchTerm)\n }\n\n return String(value)\n .toLocaleLowerCase()\n .includes(formattedSearchTerm)\n })\n\n return isInList\n })\n\n return filtered\n }\n\n private isStringArray(value: any): boolean {\n if (!isArray(value)) {\n return false\n }\n\n if (isEmpty(value) || isString(value[0])) {\n return true\n }\n\n return false\n }\n\n private get formattedSearchTerm(): string {\n return this.props.searchTerm.trimLeft().toLocaleLowerCase()\n }\n\n private getKey(item: T, key: string) {\n const isInexact = key.match(INEXACT_PATH)\n\n if (!isInexact) {\n return get(item, key, '')\n } else {\n return this.getInExactKey(item, key)\n }\n }\n\n private getInExactKey(item: T, key: string) {\n const paths = key.split(EMPTY_ARRAY_BRACKETS)\n // flattens nested arrays into one large array\n const values = paths.reduce(\n (results, path) => flatMap(results, r => get(r, path, [])),\n [item]\n )\n\n return values\n }\n\n private createIndex = (terms: string[]) => {\n return flatMap(terms, this.extractSuffixes).sort()\n }\n\n private checkIndex = (sortedSuffixes: string[], searchTerm) => {\n const index = sortedIndex(sortedSuffixes, searchTerm)\n const nearestSuffix = sortedSuffixes[index]\n\n if (!!nearestSuffix && nearestSuffix.includes(searchTerm)) {\n return true\n }\n\n return false\n }\n\n private extractSuffixes = (term: string) => {\n const suffixes = new Array(term.length)\n const lowerTerm = term.toLocaleLowerCase()\n\n for (let i = 0; i < suffixes.length; i++) {\n suffixes[i] = lowerTerm.slice(i)\n }\n\n return suffixes\n }\n}\n","// Libraries\nimport {connect} from 'react-redux'\n\n// Components\nimport FilterList, {StateProps, OwnProps} from 'src/shared/components/Filter'\n\nimport {AppState} from 'src/types'\n\nconst mstp = (state: AppState) => {\n return {labels: state.resources.labels.byID}\n}\n\n// Typing a generic connected component proved to be tricky:\n// https://github.com/piotrwitek/react-redux-typescript-guide/issues/55\nexport default function FilterListContainer() {\n return connect(mstp)(\n FilterList as new (props: OwnProps) => FilterList\n )\n}\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Libraries\nimport BuilderCard from 'src/timeMachine/components/builderCard/BuilderCard'\nimport SelectorList from 'src/timeMachine/components/SelectorList'\n\n// Types\nimport {Bucket} from 'src/types'\nimport {Input} from '@influxdata/clockface'\nimport SortingHat from 'src/shared/components/sorting_hat/SortingHat'\nimport FilterList from 'src/shared/components/FilterList'\n\ninterface Props {\n buckets: Bucket[]\n onSelect: (id: string) => void\n selectedBuckets: string[]\n}\n\ninterface State {\n searchTerm: string\n}\n\nconst FilterBuckets = FilterList()\n\nclass BucketsTabBody extends PureComponent {\n public state: State = {searchTerm: ''}\n\n public render() {\n const {selectedBuckets, onSelect, buckets} = this.props\n const {searchTerm} = this.state\n\n return (\n <>\n \n \n \n \n {filteredBuckets => (\n \n {sortedBuckets => (\n b.name)}\n selectedItems={selectedBuckets}\n onSelectItem={onSelect}\n multiSelect={false}\n />\n )}\n \n )}\n \n \n )\n }\n\n private handleSetSearchTerm = (e: ChangeEvent) => {\n this.setState({searchTerm: e.target.value})\n }\n}\n\nexport default BucketsTabBody\n","import React, {PureComponent} from 'react'\n\nimport {SelectGroup, ButtonShape} from '@influxdata/clockface'\n\nimport {BucketTab} from 'src/authorizations/utils/permissions'\n\ninterface Props {\n tabs: BucketTab[]\n activeTab: BucketTab\n onClick: (tab: string) => void\n}\n\nexport default class BucketsTabSelector extends PureComponent {\n public render() {\n const {tabs, activeTab} = this.props\n return (\n \n {tabs.map(tab => (\n \n {tab}\n \n ))}\n \n )\n }\n\n private handleTabClick = (tab: BucketTab) => {\n const {activeTab, onClick} = this.props\n if (tab !== activeTab) {\n onClick(tab)\n }\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport SelectorList from 'src/shared/components/selectorList/SelectorList'\nimport BucketsTabBody from 'src/authorizations/components/BucketsTabBody'\nimport {BucketTab} from 'src/authorizations/utils/permissions'\nimport BucketsTabSelector from 'src/authorizations/components/BucketsTabSelector'\n\n// Types\nimport {Bucket} from 'src/types'\nimport {\n FlexBox,\n AlignItems,\n FlexDirection,\n Button,\n EmptyState,\n ComponentSize,\n} from '@influxdata/clockface'\n\ninterface Props {\n buckets: Bucket[]\n onSelect: (id: string) => void\n onSelectAll: () => void\n onDeselectAll: () => void\n selectedBuckets: string[]\n title: string\n activeTab: BucketTab\n onTabClick: (tab: BucketTab) => void\n}\n\nclass BucketsSelector extends PureComponent {\n render() {\n const {title, activeTab, onTabClick} = this.props\n\n return (\n \n
{title}
\n \n {this.builderCard}\n \n )\n }\n\n private get titlePreposition(): string {\n const {title} = this.props\n switch (title.toLowerCase()) {\n case 'read':\n return 'from'\n case 'write':\n return 'to'\n default:\n return 'on'\n }\n }\n\n private get bucketTabs(): BucketTab[] {\n return [BucketTab.AllBuckets, BucketTab.Scoped]\n }\n\n private get builderCard(): JSX.Element {\n const {\n selectedBuckets,\n onSelect,\n onSelectAll,\n onDeselectAll,\n buckets,\n activeTab,\n title,\n } = this.props\n\n switch (activeTab) {\n case BucketTab.AllBuckets:\n return (\n <>\n \n \n This token will be able to {title.toLowerCase()}{' '}\n {this.titlePreposition} all existing buckets as well as{' '}\n {this.titlePreposition} any bucket created in the future\n \n \n \n )\n case BucketTab.Scoped:\n return (\n \n \n
\n \n \n \n \n
\n
\n \n
\n )\n }\n }\n}\n\nexport default BucketsSelector\n","import React, {PureComponent, ChangeEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n IconFont,\n ComponentColor,\n FlexBox,\n AlignItems,\n FlexDirection,\n ComponentSize,\n Button,\n ButtonType,\n Grid,\n Columns,\n Input,\n Overlay,\n Form,\n} from '@influxdata/clockface'\nimport BucketsSelector from 'src/authorizations/components/BucketsSelector'\nimport GetResources from 'src/resources/components/GetResources'\n\n// Utils\nimport {\n specificBucketsPermissions,\n selectBucket,\n allBucketsPermissions,\n BucketTab,\n} from 'src/authorizations/utils/permissions'\nimport {isSystemBucket} from 'src/buckets/constants/index'\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll} from 'src/resources/selectors'\n\n// Actions\nimport {createAuthorization} from 'src/authorizations/actions/thunks'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Types\nimport {\n AppState,\n Bucket,\n Permission,\n Authorization,\n ResourceType,\n} from 'src/types'\n\ninterface OwnProps {\n onClose: () => void\n}\n\ninterface State {\n description: string\n readBuckets: string[]\n writeBuckets: string[]\n activeTabRead: BucketTab\n activeTabWrite: BucketTab\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\n@ErrorHandling\nclass BucketsTokenOverlay extends PureComponent {\n public state = {\n description: '',\n readBuckets: [],\n writeBuckets: [],\n activeTabRead: BucketTab.Scoped,\n activeTabWrite: BucketTab.Scoped,\n }\n\n render() {\n const {\n description,\n readBuckets,\n writeBuckets,\n activeTabRead,\n activeTabWrite,\n } = this.state\n\n return (\n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n
\n
\n )\n }\n\n private handleReadTabClick = (tab: BucketTab) => {\n this.setState({activeTabRead: tab})\n }\n\n private handleWriteTabClick = (tab: BucketTab) => {\n this.setState({activeTabWrite: tab})\n }\n\n private handleSelectReadBucket = (bucketName: string): void => {\n const readBuckets = selectBucket(bucketName, this.state.readBuckets)\n\n this.setState({readBuckets})\n }\n\n private handleSelectWriteBucket = (bucketName: string): void => {\n const writeBuckets = selectBucket(bucketName, this.state.writeBuckets)\n\n this.setState({writeBuckets})\n }\n\n private handleReadSelectAllBuckets = () => {\n const readBuckets = this.props.buckets.map(b => b.name)\n this.setState({readBuckets})\n }\n\n private handleReadDeselectAllBuckets = () => {\n this.setState({readBuckets: []})\n }\n j\n private handleWriteSelectAllBuckets = () => {\n const writeBuckets = this.props.buckets.map(b => b.name)\n this.setState({writeBuckets})\n }\n\n private handleWriteDeselectAllBuckets = () => {\n this.setState({writeBuckets: []})\n }\n\n private handleSave = () => {\n const {orgID, onCreateAuthorization} = this.props\n const {activeTabRead, activeTabWrite} = this.state\n\n let permissions = []\n\n if (activeTabRead === BucketTab.Scoped) {\n permissions = [...this.readBucketPermissions]\n } else {\n permissions = [...this.allReadBucketPermissions]\n }\n\n if (activeTabWrite === BucketTab.Scoped) {\n permissions = [...permissions, ...this.writeBucketPermissions]\n } else {\n permissions = [...permissions, ...this.allWriteBucketPermissions]\n }\n\n const token: Authorization = {\n orgID,\n description: this.state.description,\n permissions,\n }\n\n onCreateAuthorization(token)\n\n this.handleDismiss()\n }\n\n private get writeBucketPermissions(): Permission[] {\n const {buckets} = this.props\n\n const writeBuckets = this.state.writeBuckets.map(bucketName => {\n return buckets.find(b => b.name === bucketName)\n })\n\n return specificBucketsPermissions(writeBuckets, 'write')\n }\n\n private get readBucketPermissions(): Permission[] {\n const {buckets} = this.props\n\n const readBuckets = this.state.readBuckets.map(bucketName => {\n return buckets.find(b => b.name === bucketName)\n })\n\n return specificBucketsPermissions(readBuckets, 'read')\n }\n\n private get allReadBucketPermissions(): Permission[] {\n const {orgID} = this.props\n\n return allBucketsPermissions(orgID, 'read')\n }\n\n private get allWriteBucketPermissions(): Permission[] {\n const {orgID} = this.props\n\n return allBucketsPermissions(orgID, 'write')\n }\n\n private get nonSystemBuckets(): Bucket[] {\n const {buckets} = this.props\n\n return buckets.filter(bucket => !isSystemBucket(bucket.name))\n }\n\n private handleInputChange = (e: ChangeEvent) => {\n const {value} = e.target\n\n this.setState({description: value})\n }\n\n private handleDismiss = () => {\n this.props.onClose()\n }\n}\n\nconst mstp = (state: AppState) => {\n return {\n orgID: getOrg(state).id,\n buckets: getAll(state, ResourceType.Buckets),\n }\n}\n\nconst mdtp = {\n onCreateAuthorization: createAuthorization,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(BucketsTokenOverlay)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps, matchPath} from 'react-router-dom'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport Editor from 'src/shared/components/TomlMonacoEditor'\n\n// Actions\nimport {getTelegrafConfigToml} from 'src/telegrafs/actions/thunks'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype Params = {orgID: string; id: string}\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\n@ErrorHandling\nexport class TelegrafConfig extends PureComponent {\n public componentDidMount() {\n const match = matchPath(this.props.history.location.pathname, {\n path: '/orgs/:orgID/load-data/telegrafs/:id/view',\n exact: true,\n strict: false,\n })\n const id = match.params.id\n this.props.getTelegrafConfigToml(id)\n }\n\n public render() {\n return <>{this.overlayBody}\n }\n\n private get overlayBody(): JSX.Element {\n const {telegrafConfig} = this.props\n return \n }\n}\n\nconst mstp = ({resources}: AppState) => ({\n telegrafConfig: resources.telegrafs.currentConfig.item,\n status: resources.telegrafs.currentConfig.status,\n})\n\nconst mdtp = {\n getTelegrafConfigToml,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TelegrafConfig))\n","export const formatDownloadName = (filename: string, extension: string) => {\n return `${filename\n .trim()\n .toLowerCase()\n .replace(/\\s/g, '_')}${extension}`\n}\n\nexport const downloadTextFile = (\n text: string,\n filename: string,\n extension: string,\n mimeType: string = 'text/plain'\n) => {\n const formattedName = formatDownloadName(filename, extension)\n\n const blob = new Blob([text], {type: mimeType})\n const a = document.createElement('a')\n\n a.href = window.URL.createObjectURL(blob)\n a.target = '_blank'\n a.download = formattedName\n\n document.body.appendChild(a)\n a.click()\n a.parentNode.removeChild(a)\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect} from 'react-redux'\nimport _ from 'lodash'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport TelegrafConfig from 'src/telegrafs/components/TelegrafConfig'\nimport {\n ComponentColor,\n Button,\n RemoteDataState,\n SpinnerContainer,\n TechnoSpinner,\n Overlay,\n ComponentStatus,\n} from '@influxdata/clockface'\n\n// Utils\nimport {downloadTextFile} from 'src/shared/utils/download'\nimport {getByID} from 'src/resources/selectors'\n\n// Types\nimport {AppState, Telegraf, ResourceType} from 'src/types'\n\ninterface OwnProps {\n onClose: () => void\n}\n\ninterface StateProps {\n telegraf: Telegraf\n status: RemoteDataState\n telegrafConfig: string\n configStatus: RemoteDataState\n}\n\ntype Props = OwnProps & StateProps\n\n@ErrorHandling\nclass TelegrafConfigOverlay extends PureComponent {\n public render() {\n return <>{this.overlay}\n }\n\n private get overlay(): JSX.Element {\n const {telegraf, status} = this.props\n\n return (\n \n \n \n }\n >\n
\n \n
\n \n
\n \n \n \n
\n )\n }\n private get buttonStatus(): ComponentStatus {\n const {configStatus} = this.props\n if (configStatus === RemoteDataState.Done) {\n return ComponentStatus.Default\n }\n return ComponentStatus.Disabled\n }\n\n private handleDismiss = () => {\n this.props.onClose()\n }\n\n private handleDownloadConfig = () => {\n const {\n telegrafConfig,\n telegraf: {name},\n } = this.props\n downloadTextFile(telegrafConfig, name || 'telegraf', '.conf')\n }\n}\n\nconst mstp = (state: AppState) => {\n const {overlays, resources} = state\n const {status, currentConfig} = resources.telegrafs\n const {id} = overlays.params\n\n return {\n telegraf: getByID(state, ResourceType.Telegrafs, id),\n status,\n telegrafConfig: currentConfig.item,\n configStatus: currentConfig.status,\n }\n}\n\nexport default connect(mstp)(TelegrafConfigOverlay)\n","import React, {PureComponent} from 'react'\n\n// Decorator\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Components\nimport CodeSnippet from 'src/shared/components/CodeSnippet'\n\ninterface StringMap {\n [key: string]: string\n}\n\nexport interface Props {\n template: string\n label: string\n testID?: string\n values?: StringMap\n defaults?: StringMap\n}\n\n// NOTE: this is just a simplified form of the resig classic:\n// https://johnresig.com/blog/javascript-micro-templating/\nfunction transform(template, vars) {\n const output = new Function(\n 'vars',\n 'var output=' +\n JSON.stringify(template).replace(\n /<%=(.+?)%>/g,\n '\"+(vars[\"$1\".trim()])+\"'\n ) +\n ';return output;'\n )\n return output(vars)\n}\n\n@ErrorHandling\nclass TemplatedCodeSnippet extends PureComponent {\n public transform() {\n const text = this.props.template\n const vars = Object.assign({}, this.props.defaults, this.props.values)\n\n return transform(text, vars)\n }\n\n render() {\n const {label, testID} = this.props\n const props = {\n label,\n testID,\n copyText: this.transform(),\n }\n\n return \n }\n}\n\nexport {transform}\nexport default TemplatedCodeSnippet\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect} from 'react-redux'\nimport {Link} from 'react-router-dom'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport TemplatedCodeSnippet, {\n transform,\n} from 'src/shared/components/TemplatedCodeSnippet'\nimport BucketDropdown from 'src/dataLoaders/components/BucketsDropdown'\nimport {ComponentColor, Button, Overlay} from '@influxdata/clockface'\n\n// Utils\nimport {downloadTextFile} from 'src/shared/utils/download'\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll} from 'src/resources/selectors'\n\n// Types\nimport {AppState, Bucket, ResourceType} from 'src/types'\n\ninterface OwnProps {\n onClose: () => void\n}\n\ninterface StateProps {\n org: string\n orgID: string\n server: string\n buckets: Bucket[]\n}\n\ntype Props = OwnProps & StateProps\n\nconst TELEGRAF_OUTPUT = ` [[outputs.influxdb_v2]]\n ## The URLs of the InfluxDB cluster nodes.\n ##\n ## Multiple URLs can be specified for a single cluster, only ONE of the\n ## urls will be written to each interval.\n ## urls exp: http://127.0.0.1:8086\n urls = [\"<%= server %>\"]\n\n ## Token for authentication.\n token = \"<%= token %>\"\n\n ## Organization is the name of the organization you wish to write to; must exist.\n organization = \"<%= org %>\"\n\n ## Destination bucket to write into.\n bucket = \"<%= bucket %>\"\n`\n\nconst OUTPUT_DEFAULTS = {\n server: 'http://127.0.0.1:8086',\n token: '$INFLUX_TOKEN',\n org: 'orgID',\n bucket: 'bucketID',\n}\n\n@ErrorHandling\nclass TelegrafOutputOverlay extends PureComponent {\n state = {\n selectedBucket: null,\n }\n\n public render() {\n return <>{this.overlay}\n }\n\n private get buckets() {\n const {buckets} = this.props\n return (buckets || [])\n .filter(item => item.type !== 'system')\n .sort((a, b) => {\n const _a = a.name.toLowerCase()\n const _b = b.name.toLowerCase()\n return _a > _b ? 1 : _a < _b ? -1 : 0\n })\n }\n\n private get currentBucket() {\n const _buckets = this.buckets\n const {selectedBucket} = this.state\n\n if (_buckets.length) {\n return selectedBucket ? selectedBucket : _buckets[0]\n }\n\n return null\n }\n\n private get overlay(): JSX.Element {\n const {server, org, orgID} = this.props\n const _buckets = this.buckets\n const bucket = this.currentBucket\n let bucket_dd = null\n\n if (_buckets.length) {\n bucket_dd = (\n \n )\n }\n\n return (\n \n \n \n

\n The $INFLUX_TOKEN can be generated on the\n  Tokens tab\n .\n

\n {bucket_dd}\n
\n \n
\n
\n \n \n \n
\n )\n }\n\n private handleDismiss = () => {\n this.props.onClose()\n }\n\n private handleSelectBucket = bucket => {\n this.setState({\n selectedBucket: bucket,\n })\n }\n\n private handleDownloadConfig = () => {\n const {server, org} = this.props\n const bucket = this.currentBucket\n const config = transform(\n TELEGRAF_OUTPUT,\n Object.assign({}, OUTPUT_DEFAULTS, {\n server,\n org,\n bucket: bucket ? bucket.name : OUTPUT_DEFAULTS.bucket,\n })\n )\n downloadTextFile(config, 'outputs.influxdb_v2', '.conf')\n }\n}\n\nconst mstp = (state: AppState) => {\n const {name, id} = getOrg(state)\n const server = window.location.origin\n const buckets = getAll(state, ResourceType.Buckets)\n\n return {\n org: name,\n orgID: id,\n server,\n buckets,\n }\n}\n\nexport {TelegrafOutputOverlay}\nexport default connect(mstp)(TelegrafOutputOverlay)\n","// Libraries\nimport React, {FC} from 'react'\nimport classnames from 'classnames'\nimport {RouteComponentProps, withRouter} from 'react-router-dom'\n\n// Components\nimport {IconFont, Icon} from '@influxdata/clockface'\n\ninterface ComponentProps {\n orgName: string\n orgID: string\n selected: boolean\n onDismiss: () => void\n}\n\ntype Props = ComponentProps & RouteComponentProps\n\nconst OrgSwitcherItem: FC = ({\n orgName,\n selected,\n onDismiss,\n orgID,\n history,\n}) => {\n const orgSwitcherItemClass = classnames('org-switcher--item', {\n 'org-switcher--item__selected': selected,\n })\n\n const orgSwitcherIcon = selected ? IconFont.Checkmark : IconFont.CaretRight\n\n const handleClick = (): void => {\n onDismiss()\n history.push(`/orgs/${orgID}`)\n }\n\n const currentOrgIndicator = selected ? Current : null\n\n return (\n
  • \n
    \n \n
    \n \n {orgName}\n {currentOrgIndicator}\n \n
  • \n )\n}\n\nexport default withRouter(OrgSwitcherItem)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {Overlay, Sort} from '@influxdata/clockface'\nimport OrgSwitcherItem from 'src/pageLayout/components/OrgSwitcherItem'\nimport SortingHat from 'src/shared/components/sorting_hat/SortingHat'\n\n// Types\nimport {AppState, Organization, ResourceType} from 'src/types'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll} from 'src/resources/selectors'\n\ninterface ComponentProps {\n onClose: () => void\n}\n\ninterface StateProps {\n orgs: Organization[]\n currentOrg: Organization\n}\n\ntype Props = ComponentProps & StateProps\n\nconst OrgSwitcherOverlay: FC = ({orgs, onClose, currentOrg}) => {\n return (\n \n \n \n

    Choose an organization

    \n \n {sortedOrgs => (\n
    \n {sortedOrgs.map(org => (\n \n ))}\n
    \n )}\n
    \n
    \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const orgs = getAll(state, ResourceType.Orgs)\n const currentOrg = getOrg(state)\n\n return {\n orgs,\n currentOrg,\n }\n}\n\nexport default connect(\n mstp,\n null\n)(OrgSwitcherOverlay)\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {Dropdown, ComponentStatus} from '@influxdata/clockface'\n\n// Utils\nimport {areDurationsEqual} from 'src/shared/utils/duration'\n\nexport interface DurationOption {\n duration: string\n displayText: string\n}\n\ninterface Props {\n selectedDuration: string\n onSelectDuration: (duration: string) => any\n durations: DurationOption[]\n disabled?: boolean\n}\n\nconst DurationSelector: FunctionComponent = ({\n selectedDuration,\n onSelectDuration,\n durations,\n disabled = false,\n}) => {\n let resolvedDurations = durations\n let selected: DurationOption = durations.find(\n d =>\n selectedDuration === d.duration ||\n areDurationsEqual(selectedDuration, d.duration)\n )\n\n if (!selected) {\n selected = {duration: selectedDuration, displayText: selectedDuration}\n resolvedDurations = [selected, ...resolvedDurations]\n }\n\n return (\n (\n \n {selected.displayText}\n \n )}\n menu={onCollapse => (\n \n {resolvedDurations.map(({duration, displayText}) => (\n \n {displayText}\n \n ))}\n \n )}\n />\n )\n}\n\nconst getStatus = (disabled: boolean): ComponentStatus => {\n if (disabled) {\n return ComponentStatus.Disabled\n }\n\n return ComponentStatus.Default\n}\n\nexport default DurationSelector\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {SelectGroup, ButtonShape} from '@influxdata/clockface'\nimport DurationSelector, {\n DurationOption,\n} from 'src/shared/components/DurationSelector'\n\n// Utils\nimport {parseDuration, durationToMilliseconds} from 'src/shared/utils/duration'\nimport {extractBucketMaxRetentionSeconds} from 'src/cloud/utils/limits'\nimport {ruleToString} from 'src/utils/formatting'\n\n// Types\nimport {AppState} from 'src/types'\n\nexport const DEFAULT_SECONDS = 30 * 24 * 60 * 60 // 30 days\nexport const READABLE_DEFAULT_SECONDS = ruleToString(DEFAULT_SECONDS)\n\nexport const DURATION_OPTIONS: DurationOption[] = [\n {duration: '1h', displayText: '1 hour'},\n {duration: '6h', displayText: '6 hours'},\n {duration: '12h', displayText: '12 hours'},\n {duration: '24h', displayText: '24 hours'},\n {duration: '48h', displayText: '48 hours'},\n {duration: '72h', displayText: '72 hours'},\n {duration: '7d', displayText: '7 days'},\n {duration: '14d', displayText: '14 days'},\n {duration: '30d', displayText: '30 days'},\n {duration: '90d', displayText: '90 days'},\n {duration: '1y', displayText: '1 year'},\n]\n\ninterface StateProps {\n maxRetentionSeconds: number\n}\n\ninterface OwnProps {\n retentionSeconds: number\n type: 'expire'\n onChangeRetentionRule: (seconds: number) => void\n onChangeRuleType: (type: 'expire' | null) => void\n}\n\ntype Props = OwnProps & StateProps\n\nclass Retention extends PureComponent {\n public render() {\n const {retentionSeconds, maxRetentionSeconds, type} = this.props\n\n return (\n <>\n \n \n Never\n \n \n Older Than\n \n \n {type === 'expire' && (\n \n )}\n \n )\n }\n\n private get durations() {\n const {maxRetentionSeconds} = this.props\n\n if (!maxRetentionSeconds) {\n return DURATION_OPTIONS\n }\n\n return DURATION_OPTIONS.filter(\n ({duration}) =>\n durationToMilliseconds(parseDuration(duration)) <=\n maxRetentionSeconds * 1000\n )\n }\n\n private handleRadioClick = (type: 'expire' | null) => {\n this.props.onChangeRuleType(type)\n }\n\n private handleSelectDuration = (durationStr: string) => {\n const durationSeconds =\n durationToMilliseconds(parseDuration(durationStr)) / 1000\n\n this.props.onChangeRetentionRule(durationSeconds)\n }\n}\n\nconst mstp = (state: AppState) => ({\n maxRetentionSeconds: extractBucketMaxRetentionSeconds(state.cloud.limits),\n})\n\nexport default connect(mstp)(Retention)\n","// Libraries\nimport React, {PureComponent, ChangeEvent, FormEvent} from 'react'\nimport moment from 'moment'\n\n// Components\nimport {Form, Input, Button, Grid} from '@influxdata/clockface'\nimport Retention from 'src/buckets/components/Retention'\n\n// Constants\nimport {MIN_RETENTION_SECONDS} from 'src/buckets/constants'\nimport {isSystemBucket} from 'src/buckets/constants/index'\n\n// Types\nimport {\n ButtonType,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\nimport {RuleType} from 'src/buckets/reducers/createBucket'\n\ninterface Props {\n name: string\n retentionSeconds: number\n ruleType: 'expire'\n onSubmit: (e: FormEvent) => void\n onClose: () => void\n onChangeRetentionRule: (seconds: number) => void\n onChangeRuleType: (t: RuleType) => void\n onChangeInput: (e: ChangeEvent) => void\n disableRenaming: boolean\n buttonText: string\n onClickRename?: () => void\n}\n\nexport default class BucketOverlayForm extends PureComponent {\n public render() {\n const {\n name,\n onSubmit,\n ruleType,\n buttonText,\n retentionSeconds,\n disableRenaming,\n onClose,\n onChangeInput,\n onChangeRuleType,\n onChangeRetentionRule,\n onClickRename,\n } = this.props\n\n const nameInputStatus = disableRenaming && ComponentStatus.Disabled\n\n return (\n
    \n \n \n \n \n {status => (\n \n )}\n \n \n \n \n \n \n \n \n \n \n {buttonText === 'Save Changes' && (\n \n )}\n \n \n \n \n \n
    \n )\n }\n\n private handleNameValidation = (name: string): string | null => {\n if (isSystemBucket(name)) {\n return 'Only system bucket names can begin with _'\n }\n\n if (!name) {\n return 'This bucket needs a name'\n }\n\n return null\n }\n\n private get nameHelpText(): string {\n if (this.props.disableRenaming) {\n return 'To rename bucket use the RENAME button below'\n }\n\n return ''\n }\n\n private get submitButtonColor(): ComponentColor {\n const {buttonText} = this.props\n\n if (buttonText === 'Save Changes') {\n return ComponentColor.Success\n }\n\n return ComponentColor.Primary\n }\n\n private get submitButtonStatus(): ComponentStatus {\n const {name} = this.props\n const nameHasErrors = this.handleNameValidation(name)\n\n if (nameHasErrors || this.retentionIsTooShort) {\n return ComponentStatus.Disabled\n }\n\n return ComponentStatus.Default\n }\n\n private get retentionIsTooShort(): boolean {\n const {retentionSeconds, ruleType} = this.props\n\n return ruleType === 'expire' && retentionSeconds < MIN_RETENTION_SECONDS\n }\n\n private get ruleErrorMessage(): string {\n if (this.retentionIsTooShort) {\n const humanDuration = moment\n .duration(MIN_RETENTION_SECONDS, 'seconds')\n .humanize()\n\n return `Retention period must be at least ${humanDuration}`\n }\n\n return ''\n }\n}\n","import {\n DEFAULT_SECONDS,\n READABLE_DEFAULT_SECONDS,\n} from 'src/buckets/components/Retention'\n\nexport type RuleType = 'expire' | null\n\nexport interface RetentionRule {\n type: RuleType\n everySeconds: number\n}\n\nexport interface ReducerState {\n name: string\n retentionRules: RetentionRule[]\n ruleType: RuleType\n readableRetention: string\n orgID: string\n type: 'user'\n}\n\nexport type ReducerActionType =\n | 'updateName'\n | 'updateRuleType'\n | 'updateRetentionRules'\n | 'updateReadableRetention'\n\nexport interface Action {\n type: ReducerActionType\n payload: any\n}\n\nexport const DEFAULT_RULES: RetentionRule[] = [\n {type: 'expire' as 'expire', everySeconds: DEFAULT_SECONDS},\n]\n\nexport const initialBucketState = (\n isRetentionLimitEnforced: boolean,\n orgID: string\n) => ({\n name: '',\n retentionRules: isRetentionLimitEnforced ? DEFAULT_RULES : [],\n ruleType: isRetentionLimitEnforced ? ('expire' as 'expire') : null,\n readableRetention: isRetentionLimitEnforced\n ? READABLE_DEFAULT_SECONDS\n : 'forever',\n orgID,\n type: 'user' as 'user',\n})\n\nexport const createBucketReducer = (state: ReducerState, action: Action) => {\n switch (action.type) {\n case 'updateName':\n return {...state, name: action.payload}\n case 'updateRuleType':\n return {...state, ruleType: action.payload}\n case 'updateRetentionRules':\n return {...state, retentionRules: action.payload}\n case 'updateReadableRetention':\n return {...state, readableRetention: action.payload}\n }\n}\n","// Libraries\nimport React, {FC, ChangeEvent, FormEvent, useReducer} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport BucketOverlayForm from 'src/buckets/components/BucketOverlayForm'\n\n// Utils\nimport {extractBucketMaxRetentionSeconds} from 'src/cloud/utils/limits'\n\n// Actions\nimport {createBucket} from 'src/buckets/actions/thunks'\n\n// Types\nimport {AppState} from 'src/types'\nimport {\n createBucketReducer,\n RuleType,\n initialBucketState,\n DEFAULT_RULES,\n} from 'src/buckets/reducers/createBucket'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\n\ninterface OwnProps {\n onClose: () => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nconst CreateBucketOverlay: FC = ({\n org,\n isRetentionLimitEnforced,\n createBucket,\n onClose,\n}) => {\n const [state, dispatch] = useReducer(\n createBucketReducer,\n initialBucketState(isRetentionLimitEnforced, org.id)\n )\n\n const retentionRule = state.retentionRules.find(r => r.type === 'expire')\n const retentionSeconds = retentionRule ? retentionRule.everySeconds : 3600\n\n const handleChangeRuleType = (ruleType: RuleType): void => {\n if (ruleType === 'expire') {\n dispatch({type: 'updateRetentionRules', payload: DEFAULT_RULES})\n } else {\n dispatch({type: 'updateRetentionRules', payload: []})\n }\n dispatch({type: 'updateRuleType', payload: ruleType})\n }\n\n const handleChangeRetentionRule = (everySeconds: number): void => {\n const retentionRules = [\n {\n type: 'expire',\n everySeconds,\n },\n ]\n\n dispatch({type: 'updateRetentionRules', payload: retentionRules})\n }\n\n const handleSubmit = (e: FormEvent): void => {\n e.preventDefault()\n\n createBucket(state)\n onClose()\n }\n\n const handleChangeInput = (e: ChangeEvent): void => {\n const value = e.target.value\n\n if (e.target.name === 'name') {\n dispatch({type: 'updateName', payload: value})\n }\n }\n\n return (\n \n \n \n \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const org = getOrg(state)\n const isRetentionLimitEnforced = !!extractBucketMaxRetentionSeconds(\n state.cloud.limits\n )\n\n return {\n org,\n isRetentionLimitEnforced,\n }\n}\n\nconst mdtp = {\n createBucket,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(CreateBucketOverlay)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\nimport {get, find} from 'lodash'\nimport classnames from 'classnames'\n\n// Components\nimport {\n LinkButton,\n ComponentColor,\n ComponentSize,\n ButtonShape,\n} from '@influxdata/clockface'\nimport CloudOnly from 'src/shared/components/cloud/CloudOnly'\n\n// Constants\nimport {CLOUD_URL, CLOUD_CHECKOUT_PATH} from 'src/shared/constants'\nimport {\n HIDE_UPGRADE_CTA_KEY,\n PAID_ORG_HIDE_UPGRADE_SETTING,\n} from 'src/cloud/constants'\n\n// Types\nimport {AppState, OrgSetting} from 'src/types'\n\ninterface StateProps {\n inView: boolean\n}\n\ninterface OwnProps {\n className?: string\n buttonText?: string\n size?: ComponentSize\n}\n\nconst CloudUpgradeButton: FC = ({\n inView,\n size = ComponentSize.Small,\n className,\n buttonText = 'Upgrade Now',\n}) => {\n const cloudUpgradeButtonClass = classnames('upgrade-payg--button', {\n [`${className}`]: className,\n })\n\n return (\n \n {inView && (\n \n )}\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const settings = get(state, 'cloud.orgSettings.settings', [])\n const hideUpgradeButtonSetting = find(\n settings,\n (setting: OrgSetting) => setting.key === HIDE_UPGRADE_CTA_KEY\n )\n if (\n !hideUpgradeButtonSetting ||\n hideUpgradeButtonSetting.value !== PAID_ORG_HIDE_UPGRADE_SETTING.value\n ) {\n return {inView: true}\n }\n return {inView: false}\n}\n\nexport default connect(mstp)(CloudUpgradeButton)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport {\n OverlayContainer,\n Overlay,\n ComponentSize,\n GradientBox,\n Gradients,\n InfluxColors,\n} from '@influxdata/clockface'\nimport CloudUpgradeButton from 'src/shared/components/CloudUpgradeButton'\n\n// Types\nimport {AppState} from 'src/types'\n\ninterface OwnProps {\n onClose: () => void\n}\n\ninterface StateProps {\n assetName: string\n}\n\nconst AssetLimitOverlay: FC = ({assetName, onClose}) => {\n return (\n \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n

    \n You’ve reached the maximum allotted {assetName} on your current\n plan. Upgrade to Pay as you go to create more {assetName}.\n

    \n \n \n \n \n
    \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n return {\n assetName: get(state, 'overlays.params.asset', ''),\n }\n}\n\nexport default connect(mstp)(AssetLimitOverlay)\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport NoteEditorOverlay from 'src/dashboards/components/NoteEditorOverlay'\nimport AllAccessTokenOverlay from 'src/authorizations/components/AllAccessTokenOverlay'\nimport BucketsTokenOverlay from 'src/authorizations/components/BucketsTokenOverlay'\nimport TelegrafConfigOverlay from 'src/telegrafs/components/TelegrafConfigOverlay'\nimport TelegrafOutputOverlay from 'src/telegrafs/components/TelegrafOutputOverlay'\nimport OrgSwitcherOverlay from 'src/pageLayout/components/OrgSwitcherOverlay'\nimport CreateBucketOverlay from 'src/buckets/components/CreateBucketOverlay'\nimport AssetLimitOverlay from 'src/cloud/components/AssetLimitOverlay'\n\n// Actions\nimport {dismissOverlay} from 'src/overlays/actions/overlays'\n\ntype ReduxProps = ConnectedProps\ntype OverlayControllerProps = ReduxProps\n\nconst OverlayController: FunctionComponent = props => {\n let activeOverlay = <>\n let visibility = true\n\n const {overlayID, onClose, clearOverlayControllerState} = props\n\n const closer = () => {\n clearOverlayControllerState()\n if (onClose) {\n onClose()\n }\n }\n\n switch (overlayID) {\n case 'add-note':\n case 'edit-note':\n activeOverlay = \n break\n case 'add-master-token':\n activeOverlay = \n break\n case 'add-token':\n activeOverlay = \n break\n case 'telegraf-config':\n activeOverlay = \n break\n case 'telegraf-output':\n activeOverlay = \n break\n case 'switch-organizations':\n activeOverlay = \n break\n case 'create-bucket':\n activeOverlay = \n break\n case 'asset-limit':\n activeOverlay = \n break\n default:\n visibility = false\n }\n\n return {activeOverlay}\n}\n\nconst mstp = (state: AppState) => {\n const id = state.overlays.id\n const onClose = state.overlays.onClose\n\n return {\n overlayID: id,\n onClose,\n }\n}\n\nconst mdtp = {\n clearOverlayControllerState: dismissOverlay,\n}\n\nconst connector = connect(mstp, mdtp)\nexport default connector(OverlayController)\n","// Libraries\nimport React, {PureComponent} from 'react'\n\nconst supportLinks = [\n {link: 'https://v2.docs.influxdata.com/v2.0/', title: '📜 Documentation'},\n {link: 'https://community.influxdata.com', title: '💭 Community Forum'},\n {\n link:\n 'https://github.com/influxdata/influxdb/issues/new?template=feature_request.md',\n title: '✨ Feature Requests',\n },\n {\n link:\n 'https://github.com/influxdata/influxdb/issues/new?template=bug_report.md',\n title: '🐛 Report a bug',\n },\n]\n\nexport default class SupportLinks extends PureComponent {\n public render() {\n return (\n
      \n {supportLinks.map(({link, title}) => (\n
    • \n \n {title}\n \n
    • \n ))}\n
    \n )\n }\n}\n","// Libraries\nimport React, {SFC} from 'react'\nimport {Link} from 'react-router-dom'\n\n// Components\nimport {Button, ComponentSize} from '@influxdata/clockface'\n\nconst LogoutButton: SFC = () => (\n <>\n \n \n \n \n)\n\nexport default LogoutButton\n","import _ from 'lodash'\nimport {Dashboard} from 'src/types'\n\ninterface Greeting {\n text: string\n language: string\n}\n\nconst randomGreetings: Greeting[] = [\n {\n text: 'Greetings',\n language: 'English',\n },\n {\n text: 'Ahoy',\n language: 'Pirate',\n },\n {\n text: 'Howdy',\n language: 'Texas',\n },\n {\n text: 'Bonjour',\n language: 'French',\n },\n {\n text: 'Hola',\n language: 'Spanish',\n },\n {\n text: 'Ciao',\n language: 'Italian',\n },\n {\n text: 'Hallo',\n language: 'German',\n },\n {\n text: 'Guten Tag',\n language: 'German',\n },\n {\n text: 'Olà',\n language: 'Portuguese',\n },\n {\n text: 'Namaste',\n language: 'Hindi',\n },\n {\n text: 'Salaam',\n language: 'Farsi',\n },\n {\n text: 'Ohayo',\n language: 'Japanese',\n },\n {\n text: 'こんにちは',\n language: 'Japanese',\n },\n {\n text: 'Merhaba',\n language: 'Turkish',\n },\n {\n text: 'Szia',\n language: 'Hungarian',\n },\n {\n text: 'Jambo',\n language: 'Swahili',\n },\n {\n text: '你好',\n language: 'Chinese (Simplified)',\n },\n {\n text: 'مرحبا',\n language: 'Arabic',\n },\n {\n text: 'Բարեւ',\n language: 'Armenian',\n },\n {\n text: 'Zdravo',\n language: 'Croatian',\n },\n {\n text: 'Привет',\n language: 'Russian',\n },\n {\n text: 'Xin chào',\n language: 'Vietnamese',\n },\n {\n text: 'สวัสดี',\n language: 'Thai',\n },\n {\n text: 'สวัสดี',\n language: 'Thai',\n },\n {\n text: 'Dzień dobry',\n language: 'Polish',\n },\n {\n text: 'Hei',\n language: 'Finnish',\n },\n {\n text: 'γεια σας',\n language: 'Greek',\n },\n {\n text: '인사말',\n language: 'Korean',\n },\n {\n text: 'Salve',\n language: 'Latin',\n },\n {\n text: 'Cyfarchion',\n language: 'Welsh',\n },\n {\n text: 'Ukubingelela',\n language: 'Zulu',\n },\n {\n text: 'Beannachtaí',\n language: 'Irish',\n },\n {\n text: '01001000 01100101 01101100 01101100 01101111',\n language: 'Binary',\n },\n {\n text: '.... . .-.. .-.. ---',\n language: 'Morse Code',\n },\n {\n text: 'nuqneH',\n language: 'Klingon',\n },\n {\n text: 'Saluton',\n language: 'Esperanto',\n },\n {\n text: 'გამარჯობა',\n language: 'Georgian',\n },\n]\n\nexport const generateRandomGreeting = (): Greeting => {\n return _.sample(randomGreetings)\n}\n\nconst sortFunc = (a: Dashboard, b: Dashboard) => {\n const firstDashboard = `${a.name || ''}`.toLowerCase()\n const secondDashboard = `${b.name || ''}`.toLowerCase()\n return firstDashboard.localeCompare(secondDashboard)\n}\n\nexport const getSortedDashboardNames = (dashboards: Dashboard[]) => {\n return dashboards.sort(sortFunc)\n}\n","// Libraries\nimport React, {FC, useState, ChangeEvent} from 'react'\nimport {Link} from 'react-router-dom'\nimport {connect} from 'react-redux'\nimport {sortBy} from 'lodash'\n\n// Components\nimport {\n EmptyState,\n DapperScrollbars,\n Input,\n IconFont,\n InputRef,\n} from '@influxdata/clockface'\n\n// Types\nimport {Dashboard, Organization, AppState, ResourceType} from 'src/types'\nimport {ComponentSize} from '@influxdata/clockface'\nimport {getSortedDashboardNames} from 'src/me/constants'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll} from 'src/resources/selectors'\n\ninterface StateProps {\n dashboards: Dashboard[]\n org: Organization\n}\n\ntype Props = StateProps\n\nconst DashboardList: FC = ({dashboards, org}) => {\n const [searchTerm, setSearchTerm] = useState('')\n\n const handleInputChange = (e: ChangeEvent): void => {\n setSearchTerm(e.target.value)\n }\n\n let dashboardsList = (\n \n You don't have any Dashboards\n \n )\n\n if (dashboards && dashboards.length) {\n let recentlyModifiedDashboards = sortBy(dashboards, [\n 'meta.updatedAt',\n ]).reverse()\n\n if (searchTerm.length) {\n recentlyModifiedDashboards = recentlyModifiedDashboards.filter(\n dashboard =>\n dashboard.name.toLowerCase().includes(searchTerm.toLowerCase())\n )\n }\n\n dashboardsList = (\n \n
    \n {recentlyModifiedDashboards.map(({id, name}) => (\n \n {name}\n \n ))}\n
    \n
    \n )\n\n if (searchTerm && !recentlyModifiedDashboards.length) {\n dashboardsList = (\n \n \n No dashboards match {searchTerm}\n \n \n )\n }\n }\n\n return (\n <>\n \n {dashboardsList}\n \n )\n}\n\nconst mstp = (state: AppState) => {\n // map names and sort via a selector\n const dashboards = getSortedDashboardNames(\n getAll(state, ResourceType.Dashboards)\n )\n\n return {\n dashboards: dashboards,\n org: getOrg(state),\n }\n}\n\nexport default connect(mstp)(DashboardList)\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Constants\nimport {VERSION, GIT_SHA} from 'src/shared/constants'\n\ninterface Props {\n widthPixels?: number\n}\n\nclass VersionInfo extends PureComponent {\n public render() {\n return (\n
    \n

    \n Version {VERSION} {GIT_SHA && ({GIT_SHA.slice(0, 7)})}\n

    \n
    \n )\n }\n\n private get style() {\n if (this.props.widthPixels) {\n return {width: `${this.props.widthPixels}px`}\n }\n }\n}\n\nexport default VersionInfo\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport Support from 'src/me/components/Support'\nimport LogoutButton from 'src/me/components/LogoutButton'\nimport DashboardsList from 'src/me/components/DashboardsList'\nimport GetResources from 'src/resources/components/GetResources'\nimport {\n Panel,\n FlexBox,\n FlexDirection,\n ComponentSize,\n AlignItems,\n} from '@influxdata/clockface'\nimport VersionInfo from 'src/shared/components/VersionInfo'\n\n// Types\nimport {AppState, ResourceType} from 'src/types'\n\ninterface Props {\n me: AppState['me']\n}\n\nclass ResourceLists extends PureComponent {\n public render() {\n return (\n \n \n \n

    Account

    \n \n
    \n
    \n \n \n

    Recent Dashboards

    \n
    \n \n \n \n \n \n
    \n \n \n

    Useful Links

    \n
    \n \n \n \n \n \n \n
    \n \n )\n }\n}\n\nexport default ResourceLists\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Panel} from '@influxdata/clockface'\n\nconst supportLinks = [\n {\n link: 'https://v2.docs.influxdata.com/v2.0/query-data/get-started/',\n title: 'Get Started with Flux',\n },\n {\n link: 'https://v2.docs.influxdata.com/v2.0/visualize-data/explore-metrics/',\n title: 'Explore Metrics',\n },\n {\n link: 'https://v2.docs.influxdata.com/v2.0/visualize-data/dashboards/',\n title: 'Build a Dashboard',\n },\n {\n link: 'https://v2.docs.influxdata.com/v2.0/process-data/write-a-task/',\n title: 'Write a Task',\n },\n]\n\nexport default class SupportLinks extends PureComponent {\n public render() {\n return (\n \n \n

    Some Handy Guides and Tutorials

    \n
    \n \n
      \n {supportLinks.map(({link, title}) => (\n
    • \n \n {title}\n \n
    • \n ))}\n
    \n
    \n
    \n )\n }\n}\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport classnames from 'classnames'\n\ninterface Props {\n animate: boolean\n}\n\nconst CollectorGraphic: FunctionComponent = ({animate}) => {\n const className = classnames('getting-started--image collector-graphic', {\n 'getting-started--image__animating': animate,\n })\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default CollectorGraphic\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport classnames from 'classnames'\n\ninterface Props {\n animate: boolean\n}\n\nconst DashboardingGraphic: FunctionComponent = ({animate}) => {\n const className = classnames('getting-started--image dashboarding-graphic', {\n 'getting-started--image__animating': animate,\n })\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default DashboardingGraphic\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport classnames from 'classnames'\n\ninterface Props {\n animate: boolean\n}\n\nconst ExploreGraphic: FunctionComponent = ({animate}) => {\n const className = classnames('getting-started--image explore-graphic', {\n 'getting-started--image__animating': animate,\n })\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default ExploreGraphic\n","// Libraries\nimport React, {FunctionComponent, useState} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n Panel,\n Button,\n Gradients,\n InfluxColors,\n ComponentColor,\n ComponentSize,\n} from '@influxdata/clockface'\nimport CollectorGraphic from 'src/me/graphics/CollectorGraphic'\nimport DashboardingGraphic from 'src/me/graphics/DashboardingGraphic'\nimport ExploreGraphic from 'src/me/graphics/ExploreGraphic'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\n\ntype ReduxProps = ConnectedProps\ntype Props = RouteComponentProps & ReduxProps\n\nconst GettingStarted: FunctionComponent = ({orgID, history}) => {\n const [loadDataAnimating, setLoadDataAnimation] = useState(false)\n const handleLoadDataClick = (): void => {\n history.push(`/orgs/${orgID}/load-data/sources`)\n }\n const handleLoadDataMouseOver = (): void => {\n setLoadDataAnimation(true)\n }\n const handleLoadDataMouseOut = (): void => {\n setLoadDataAnimation(false)\n }\n\n const [dashboardingAnimating, setDashboardingAnimation] = useState(\n false\n )\n const handleDashboardsClick = (): void => {\n history.push(`/orgs/${orgID}/dashboards`)\n }\n const handleDashboardsMouseOver = (): void => {\n setDashboardingAnimation(true)\n }\n const handleDashboardsMouseOut = (): void => {\n setDashboardingAnimation(false)\n }\n\n const [alertsAnimating, setAlertsAnimation] = useState(false)\n const handleAlertsClick = (): void => {\n history.push(`/orgs/${orgID}/alerting`)\n }\n const handleAlertsMouseOver = (): void => {\n setAlertsAnimation(true)\n }\n const handleAlertsMouseOut = (): void => {\n setAlertsAnimation(false)\n }\n\n return (\n
    \n \n
    1
    \n \n \n \n \n \n \n \n \n
    2
    \n \n \n \n \n \n \n \n \n
    3
    \n \n \n \n \n \n \n \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const {id} = getOrg(state)\n return {\n orgID: id,\n }\n}\n\nconst connector = connect(mstp)\n\nexport default withRouter(connector(GettingStarted))\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\nimport {get, find} from 'lodash'\nimport classnames from 'classnames'\n\n// Components\nimport {\n FlexBox,\n JustifyContent,\n LinkButton,\n ComponentColor,\n ButtonShape,\n ComponentSize,\n} from '@influxdata/clockface'\nimport CloudUpgradeButton from 'src/shared/components/CloudUpgradeButton'\n\n// Constants\nimport {\n HIDE_UPGRADE_CTA_KEY,\n PAID_ORG_HIDE_UPGRADE_SETTING,\n} from 'src/cloud/constants'\n\n// Types\nimport {AppState, OrgSetting} from 'src/types'\n\ninterface StateProps {\n showUpgrade: boolean\n}\n\ninterface OwnProps {\n className?: string\n}\ntype Props = StateProps & OwnProps\n\nconst RateLimitAlertContent: FC = ({showUpgrade, className}) => {\n const rateLimitAlertContentClass = classnames('rate-alert--content', {\n [`${className}`]: className,\n })\n\n if (showUpgrade) {\n return (\n
    \n \n You've reached the maximum{' '}\n \n series cardinality\n {' '}\n available in your plan. Need to write more data?\n \n \n \n \n
    \n )\n }\n\n return (\n
    \n \n You've reached the maximum{' '}\n \n series cardinality\n {' '}\n available in your plan. Need to write more data?\n \n \n \n \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const settings = get(state, 'cloud.orgSettings.settings', [])\n const hideUpgradeButtonSetting = find(\n settings,\n (setting: OrgSetting) => setting.key === HIDE_UPGRADE_CTA_KEY\n )\n if (\n !hideUpgradeButtonSetting ||\n hideUpgradeButtonSetting.value !== PAID_ORG_HIDE_UPGRADE_SETTING.value\n ) {\n return {showUpgrade: true}\n }\n return {showUpgrade: false}\n}\n\nexport default connect(mstp)(RateLimitAlertContent)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\nimport classnames from 'classnames'\n\n// Components\nimport {\n FlexBox,\n FlexDirection,\n AlignItems,\n ComponentSize,\n IconFont,\n Gradients,\n InfluxColors,\n BannerPanel,\n} from '@influxdata/clockface'\nimport CloudUpgradeButton from 'src/shared/components/CloudUpgradeButton'\n\n// Utils\nimport {\n extractRateLimitResources,\n extractRateLimitStatus,\n} from 'src/cloud/utils/limits'\n\n// Constants\nimport {CLOUD} from 'src/shared/constants'\n\n// Types\nimport {AppState} from 'src/types'\nimport {LimitStatus} from 'src/cloud/actions/limits'\nimport RateLimitAlertContent from './RateLimitAlertContent'\n\ninterface StateProps {\n resources: string[]\n status: LimitStatus\n}\ninterface OwnProps {\n alertOnly?: boolean\n className?: string\n}\ntype Props = StateProps & OwnProps\n\nconst RateLimitAlert: FC = ({\n status,\n alertOnly,\n className,\n resources,\n}) => {\n const rateLimitAlertClass = classnames('rate-alert', {\n [`${className}`]: className,\n })\n\n if (\n CLOUD &&\n status === LimitStatus.EXCEEDED &&\n resources.includes('cardinality')\n ) {\n return (\n \n \n \n \n \n )\n }\n\n if (CLOUD && !alertOnly) {\n return \n }\n\n return null\n}\n\nconst mstp = (state: AppState) => {\n const {\n cloud: {limits},\n } = state\n\n const resources = extractRateLimitResources(limits)\n const status = extractRateLimitStatus(limits)\n\n return {\n status,\n resources,\n }\n}\n\nexport default connect(mstp)(RateLimitAlert)\n","import {getOrg} from 'src/organizations/selectors'\nimport {store} from 'src/index'\nimport {CLOUD} from 'src/shared/constants'\n\nexport const pageTitleSuffixer = (pageTitles: string[]): string => {\n const state = store.getState()\n const {name} = getOrg(state) || null\n const title = CLOUD ? 'InfluxDB Cloud' : 'InfluxDB'\n const titles = [...pageTitles, name, title]\n\n return titles.join(' | ')\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n Panel,\n FlexBox,\n FlexDirection,\n ComponentSize,\n AlignItems,\n Grid,\n Columns,\n Page,\n} from '@influxdata/clockface'\nimport Resources from 'src/me/components/Resources'\nimport Docs from 'src/me/components/Docs'\nimport GettingStarted from 'src/me/components/GettingStarted'\nimport RateLimitAlert from 'src/cloud/components/RateLimitAlert'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\n@ErrorHandling\nexport class MePage extends PureComponent {\n public render() {\n const {me} = this.props\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n const {me} = state\n\n return {me}\n}\n\nconst connector = connect(mstp)\n\nexport default connector(MePage)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport _ from 'lodash'\n\n// Components\nimport {\n IconFont,\n ComponentColor,\n ComponentSize,\n Dropdown,\n ComponentStatus,\n} from '@influxdata/clockface'\n\n// Actions\nimport {showOverlay, dismissOverlay} from 'src/overlays/actions/overlays'\n\n// Types\nimport {LimitStatus} from 'src/cloud/actions/limits'\n\n// Constants\nimport {CLOUD} from 'src/shared/constants'\n\ninterface OwnProps {\n onSelectNew: () => void\n onSelectImport: () => void\n onSelectTemplate?: () => void\n resourceName: string\n limitStatus?: LimitStatus\n}\n\ninterface DefaultProps {\n canImportFromTemplate: boolean\n status: ComponentStatus\n titleText: string\n}\n\ntype ReduxProps = ConnectedProps\n\ntype Props = OwnProps & DefaultProps & ReduxProps\n\nclass AddResourceDropdown extends PureComponent {\n public static defaultProps: DefaultProps = {\n canImportFromTemplate: false,\n status: ComponentStatus.Default,\n titleText: null,\n }\n\n public render() {\n const {titleText, status} = this.props\n return (\n (\n \n {titleText || `Create ${this.props.resourceName}`}\n \n )}\n menu={onCollapse => (\n \n {this.optionItems}\n \n )}\n >\n {this.optionItems}\n \n )\n }\n\n private get optionItems(): JSX.Element[] {\n const importOption = this.importOption\n const newOption = this.newOption\n const templateOption = this.templateOption\n\n const items = [\n \n {newOption}\n ,\n \n {importOption}\n ,\n ]\n\n if (!!this.props.canImportFromTemplate) {\n items.push(\n \n {templateOption}\n \n )\n }\n\n return items\n }\n\n private get newOption(): string {\n return `New ${this.props.resourceName}`\n }\n\n private get importOption(): string {\n return `Import ${this.props.resourceName}`\n }\n\n private get templateOption(): string {\n return `From a Template`\n }\n\n private handleLimit = (): void => {\n const {resourceName, onShowOverlay, onDismissOverlay} = this.props\n onShowOverlay('asset-limit', {asset: `${resourceName}s`}, onDismissOverlay)\n }\n\n private handleSelect = (selection: string): void => {\n const {\n onSelectNew,\n onSelectImport,\n onSelectTemplate,\n limitStatus = LimitStatus.OK,\n } = this.props\n\n if (CLOUD && limitStatus === LimitStatus.EXCEEDED) {\n this.handleLimit()\n return\n }\n\n if (selection === this.newOption) {\n onSelectNew()\n }\n if (selection === this.importOption) {\n onSelectImport()\n }\n if (selection == this.templateOption) {\n onSelectTemplate()\n }\n }\n}\n\nconst mdtp = {\n onShowOverlay: showOverlay,\n onDismissOverlay: dismissOverlay,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(AddResourceDropdown)\n","// Libraries\nimport React, {Component, ChangeEvent} from 'react'\nimport {debounce} from 'lodash'\n\n// Components\nimport {Input} from '@influxdata/clockface'\n\n// Types\nimport {IconFont} from '@influxdata/clockface'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n onSearch: (searchTerm: string) => void\n placeholderText: string\n searchTerm: string\n testID: string\n}\n\ninterface State {\n searchTerm: string\n}\n\n@ErrorHandling\nclass SearchWidget extends Component {\n public static defaultProps = {\n widthPixels: 440,\n placeholderText: 'Search...',\n searchTerm: '',\n testID: 'search-widget',\n }\n\n public componentDidUpdate(prevProps: Props) {\n if (this.props.searchTerm !== prevProps.searchTerm) {\n this.setState({searchTerm: this.props.searchTerm})\n }\n }\n\n constructor(props: Props) {\n super(props)\n this.state = {\n searchTerm: this.props.searchTerm,\n }\n }\n\n public UNSAFE_componentWillMount() {\n this.handleSearch = debounce(this.handleSearch, 50)\n }\n\n public render() {\n const {placeholderText, testID} = this.props\n const {searchTerm} = this.state\n\n return (\n \n )\n }\n\n private handleSearch = (): void => {\n this.props.onSearch(this.state.searchTerm)\n }\n\n private handleBlur = (e: ChangeEvent): void => {\n this.setState({searchTerm: e.target.value}, this.handleSearch)\n }\n\n private handleChange = (e: ChangeEvent): void => {\n this.setState({searchTerm: e.target.value}, this.handleSearch)\n }\n}\n\nexport default SearchWidget\n","import {Sort} from '@influxdata/clockface'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {\n ResourceType,\n Dashboard,\n Task,\n Variable,\n Label,\n Template,\n Bucket,\n Telegraf,\n Scraper,\n Authorization,\n} from 'src/types'\n\nexport type DashboardSortKey = keyof Dashboard | 'meta.updatedAt'\nexport type TaskSortKey = keyof Task\nexport type VariableSortKey = keyof Variable | 'arguments.type'\nexport type LabelSortKey = keyof Label | 'properties.description'\nexport type TemplateSortKey = keyof Template | 'meta.name' | 'meta.description'\nexport type BucketSortKey = keyof Bucket | 'retentionRules[0].everySeconds'\nexport type TelegrafSortKey = keyof Telegraf\nexport type ScraperSortKey = keyof Scraper\nexport type AuthorizationSortKey = keyof Authorization\n\nexport type SortKey =\n | DashboardSortKey\n | TaskSortKey\n | VariableSortKey\n | LabelSortKey\n | TemplateSortKey\n | BucketSortKey\n | TelegrafSortKey\n | ScraperSortKey\n | AuthorizationSortKey\n\nexport interface SortDropdownItem {\n label: string\n sortKey: SortKey\n sortType: SortTypes\n sortDirection: Sort\n}\n\nexport const generateSortItems = (\n resourceType: ResourceType\n): SortDropdownItem[] => {\n switch (resourceType) {\n case ResourceType.Dashboards:\n return [\n {\n label: 'Name (A → Z)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Name (Z → A)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Modified (Oldest)',\n sortKey: 'meta.updatedAt',\n sortType: SortTypes.Date,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Modified (Newest)',\n sortKey: 'meta.updatedAt',\n sortType: SortTypes.Date,\n sortDirection: Sort.Descending,\n },\n ]\n case ResourceType.Tasks:\n return [\n {\n label: 'Name (A → Z)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Name (Z → A)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Active',\n sortKey: 'status',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Inactive',\n sortKey: 'status',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Completed (Oldest)',\n sortKey: 'latestCompleted',\n sortType: SortTypes.Date,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Completed (Newest)',\n sortKey: 'latestCompleted',\n sortType: SortTypes.Date,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Schedule (Most Often)',\n sortKey: 'every',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Schedule (Least Often)',\n sortKey: 'every',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n ]\n case ResourceType.Variables:\n return [\n {\n label: 'Name (A → Z)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Name (Z → A)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Type (A → Z)',\n sortKey: 'arguments.type',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Type (Z → A)',\n sortKey: 'arguments.type',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n ]\n case ResourceType.Labels:\n return [\n {\n label: 'Name (A → Z)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Name (Z → A)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Description (A → Z)',\n sortKey: 'properties.description',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Description (Z → A)',\n sortKey: 'properties.description',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n ]\n case ResourceType.Templates:\n return [\n {\n label: 'Name (A → Z)',\n sortKey: 'meta.name',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Name (Z → A)',\n sortKey: 'meta.name',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Description (A → Z)',\n sortKey: 'meta.description',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Description (Z → A)',\n sortKey: 'meta.description',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n ]\n case ResourceType.Buckets:\n return [\n {\n label: 'Name (A → Z)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Name (Z → A)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Retention (Ascending)',\n sortKey: 'retentionRules[0].everySeconds',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Retention (Descending)',\n sortKey: 'retentionRules[0].everySeconds',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n ]\n case ResourceType.Telegrafs:\n return [\n {\n label: 'Name (A → Z)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Name (Z → A)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Description (Ascending)',\n sortKey: 'description',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Description (Descending)',\n sortKey: 'description',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n ]\n case ResourceType.Scrapers:\n return [\n {\n label: 'Name (A → Z)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Name (Z → A)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'URL (Ascending)',\n sortKey: 'url',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'URL (Descending)',\n sortKey: 'url',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Bucket (Ascending)',\n sortKey: 'bucket',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Bucket (Descending)',\n sortKey: 'bucket',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n ]\n case ResourceType.Authorizations:\n return [\n {\n label: 'Description (A → Z)',\n sortKey: 'description',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Description (Z → A)',\n sortKey: 'description',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Status (Active)',\n sortKey: 'status',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Status (Inactive)',\n sortKey: 'status',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Date Created (Oldest)',\n sortKey: 'createdAt',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Date Created (Newest)',\n sortKey: 'createdAt',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n ]\n }\n}\n","// Libraries\nimport React from 'react'\n\n// Components\nimport {Dropdown} from '@influxdata/clockface'\n\n// Utilities\nimport {generateSortItems} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\n\n// Types\nimport {Sort} from '@influxdata/clockface'\nimport {\n SortKey,\n SortDropdownItem,\n} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {ResourceType} from 'src/types'\n\ninterface ComponentProps {\n resourceType: ResourceType\n sortDirection: Sort\n sortKey: SortKey\n sortType: SortTypes\n onSelect: (sortKey: SortKey, sortDirection: Sort, sortType: SortTypes) => void\n width?: number\n}\n\nfunction ResourceSortDropdown({\n sortDirection,\n sortKey,\n sortType,\n onSelect,\n resourceType,\n width = 210,\n}: ComponentProps) {\n const sortDropdownItems = generateSortItems(resourceType)\n\n const {label} = sortDropdownItems.find(\n item =>\n item.sortKey === sortKey &&\n item.sortDirection === sortDirection &&\n item.sortType === sortType\n )\n\n const handleItemClick = (item: SortDropdownItem): void => {\n const {sortKey, sortDirection, sortType} = item\n onSelect(sortKey, sortDirection, sortType)\n }\n\n const button = (active, onClick) => (\n \n {`Sort by ${label}`}\n \n )\n\n const menu = onCollapse => (\n \n {sortDropdownItems.map(item => (\n \n {item.label}\n \n ))}\n \n )\n\n return (\n \n )\n}\n\nexport default ResourceSortDropdown\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {\n InputLabel,\n SlideToggle,\n ComponentSize,\n Page,\n Sort,\n FlexBox,\n FlexDirection,\n} from '@influxdata/clockface'\nimport AddResourceDropdown from 'src/shared/components/AddResourceDropdown'\nimport SearchWidget from 'src/shared/components/search_widget/SearchWidget'\nimport ResourceSortDropdown from 'src/shared/components/resource_sort_dropdown/ResourceSortDropdown'\nimport RateLimitAlert from 'src/cloud/components/RateLimitAlert'\n\n// Types\nimport {LimitStatus} from 'src/cloud/actions/limits'\nimport {setSearchTerm as setSearchTermAction} from 'src/tasks/actions/creators'\nimport {TaskSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {ResourceType} from 'src/types'\n\ninterface Props {\n onCreateTask: () => void\n setShowInactive: () => void\n showInactive: boolean\n onImportTask: () => void\n limitStatus: LimitStatus\n onImportFromTemplate: () => void\n searchTerm: string\n setSearchTerm: typeof setSearchTermAction\n sortKey: TaskSortKey\n sortDirection: Sort\n sortType: SortTypes\n onSort: (\n sortKey: TaskSortKey,\n sortDirection: Sort,\n sortType: SortTypes\n ) => void\n}\n\nexport default class TasksHeader extends PureComponent {\n public render() {\n const {\n onCreateTask,\n setShowInactive,\n showInactive,\n onImportTask,\n onImportFromTemplate,\n setSearchTerm,\n searchTerm,\n sortKey,\n sortType,\n sortDirection,\n onSort,\n limitStatus,\n } = this.props\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n Show Inactive\n \n \n \n \n \n \n )\n }\n}\n","// Libraries\nimport React, {Component, MouseEvent} from 'react'\nimport classnames from 'classnames'\nimport _ from 'lodash'\n\n// Components\nimport {Label} from '@influxdata/clockface'\n\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n active: boolean\n id: string\n name: string\n colorHex: string\n description: string\n onClick: (labelID: string) => void\n onMouseOver: (labelID: string) => void\n}\n\n@ErrorHandling\nclass InlineLabelsListItem extends Component {\n public render() {\n const {name, colorHex, description, id} = this.props\n\n return (\n \n
    \n )\n }\n\n private handleMouseOver = (): void => {\n const {onMouseOver, id} = this.props\n\n onMouseOver(id)\n }\n\n private handleClick = (e: MouseEvent): void => {\n e.stopPropagation()\n const {onClick, id} = this.props\n\n onClick(id)\n }\n\n private get className(): string {\n const {active} = this.props\n\n return classnames('inline-labels--list-item', {active})\n }\n}\n\nexport default InlineLabelsListItem\n","// Libraries\nimport React, {Component, MouseEvent} from 'react'\nimport classnames from 'classnames'\nimport _ from 'lodash'\n\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n active: boolean\n id: string\n name: string\n onClick: () => void\n onMouseOver: (labelID: string) => void\n}\n\n@ErrorHandling\nclass InlineLabelsCreateLabelButton extends Component {\n public render() {\n const {name} = this.props\n\n return (\n \n Create \"{`${name}`}\"\n
    \n )\n }\n\n private handleMouseOver = (): void => {\n const {onMouseOver, id} = this.props\n\n onMouseOver(id)\n }\n\n private handleClick = (e: MouseEvent): void => {\n e.stopPropagation()\n this.props.onClick()\n }\n\n private get className(): string {\n const {active} = this.props\n\n return classnames('inline-labels--list-item inline-labels--create-new', {\n active,\n })\n }\n}\n\nexport default InlineLabelsCreateLabelButton\n","// Libraries\nimport React, {Component} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport {EmptyState, DapperScrollbars} from '@influxdata/clockface'\nimport InlineLabelsListItem from 'src/shared/components/inlineLabels/InlineLabelsListItem'\nimport InlineLabelsCreateLabelButton from 'src/shared/components/inlineLabels/InlineLabelsCreateLabelButton'\n\n// Constants\nimport {ADD_NEW_LABEL_ITEM_ID} from 'src/shared/components/inlineLabels/InlineLabelsEditor'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Types\nimport {Label} from 'src/types'\nimport {ComponentSize} from '@influxdata/clockface'\n\ninterface Props {\n searchTerm: string\n selectedItemID: string\n onUpdateSelectedItemID: (labelID: string) => void\n filteredLabels: Label[]\n onItemClick: (labelID: string) => void\n allLabelsUsed: boolean\n onStartCreatingLabel: () => void\n}\n\n@ErrorHandling\nclass InlineLabelsList extends Component {\n public render() {\n return (\n
    \n \n \n {this.menuItems}\n
    \n \n
    \n )\n }\n\n private get menuItems(): JSX.Element[] | JSX.Element {\n const {\n filteredLabels,\n onItemClick,\n onUpdateSelectedItemID,\n selectedItemID,\n allLabelsUsed,\n searchTerm,\n onStartCreatingLabel,\n } = this.props\n\n if (filteredLabels.length) {\n return filteredLabels.map(label => {\n if (label.id === ADD_NEW_LABEL_ITEM_ID) {\n return (\n \n )\n }\n\n return (\n \n )\n })\n }\n\n if (allLabelsUsed) {\n return (\n \n \n This resource has all available labels,\n
    \n start typing to create a new label\n
    \n \n )\n }\n\n if (!searchTerm) {\n return (\n \n Start typing to create a new label\n \n )\n }\n }\n}\n\nexport default InlineLabelsList\n","// Libraries\nimport React, {\n PureComponent,\n ChangeEvent,\n KeyboardEvent,\n RefObject,\n} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport {Input, ButtonBaseRef} from '@influxdata/clockface'\nimport InlineLabelsList from 'src/shared/components/inlineLabels/InlineLabelsList'\n\n// Constants\nimport {ADD_NEW_LABEL_ITEM_ID} from 'src/shared/components/inlineLabels/InlineLabelsEditor'\n\n// Types\nimport {Label} from 'src/types'\nimport {\n Appearance,\n IconFont,\n Popover,\n PopoverPosition,\n PopoverInteraction,\n} from '@influxdata/clockface'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\nenum ArrowDirection {\n Up = -1,\n Down = 1,\n}\n\ninterface Props {\n searchTerm: string\n triggerRef: RefObject\n selectedItemID: string\n onUpdateSelectedItemID: (highlightedID: string) => void\n allLabelsUsed: boolean\n onStartCreatingLabel: () => void\n onInputChange: (e: ChangeEvent) => void\n filteredLabels: Label[]\n onAddLabel: (labelID: string) => void\n visible: boolean\n}\n\n@ErrorHandling\nexport default class InlineLabelPopover extends PureComponent {\n public render() {\n const {\n searchTerm,\n allLabelsUsed,\n selectedItemID,\n onAddLabel,\n triggerRef,\n onStartCreatingLabel,\n onUpdateSelectedItemID,\n onInputChange,\n filteredLabels,\n visible,\n } = this.props\n\n return (\n (\n <>\n
    Add Labels
    \n \n \n \n )}\n />\n )\n }\n\n private handleKeyDown = (e: KeyboardEvent): void => {\n const {selectedItemID, onAddLabel, onStartCreatingLabel} = this.props\n\n switch (e.key) {\n case 'Enter':\n e.preventDefault()\n e.stopPropagation()\n if (selectedItemID === ADD_NEW_LABEL_ITEM_ID) {\n onStartCreatingLabel()\n break\n }\n\n if (selectedItemID) {\n onAddLabel(selectedItemID)\n break\n }\n case 'ArrowUp':\n this.handleHighlightAdjacentItem(ArrowDirection.Up)\n break\n case 'ArrowDown':\n this.handleHighlightAdjacentItem(ArrowDirection.Down)\n break\n default:\n break\n }\n }\n\n private handleHighlightAdjacentItem = (direction: ArrowDirection): void => {\n const {selectedItemID, filteredLabels, onUpdateSelectedItemID} = this.props\n\n if (!filteredLabels.length || !selectedItemID) {\n return null\n }\n\n const selectedItemIndex = _.findIndex(\n filteredLabels,\n label => label.id === selectedItemID\n )\n\n const adjacentIndex = Math.min(\n Math.max(selectedItemIndex + direction, 0),\n filteredLabels.length - 1\n )\n\n const adjacentID = filteredLabels[adjacentIndex].id\n\n onUpdateSelectedItemID(adjacentID)\n }\n\n private handleRefocusInput = (e: ChangeEvent): void => {\n e.target.focus()\n }\n}\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Components\nimport {\n Input,\n Button,\n ColorPicker,\n Grid,\n Label,\n Form,\n} from '@influxdata/clockface'\n\n// Types\nimport {\n Columns,\n InputType,\n ButtonType,\n ComponentSize,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\n\n// Constants\nimport {INPUT_ERROR_COLOR} from 'src/labels/constants'\nconst MAX_LABEL_CHARS = 50\n\n// Utils\nimport {validateHexCode} from 'src/labels/utils/'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n id: string\n name: string\n description: string\n color: string\n onColorChange: (color: string, status?: ComponentStatus) => void\n onSubmit: () => void\n onCloseModal: () => void\n onInputChange: (e: ChangeEvent) => void\n onLabelPropertyChange: (e: ChangeEvent) => void\n onNameValidation: (name: string) => string | null\n buttonText: string\n isFormValid: boolean\n}\n\n@ErrorHandling\nexport default class LabelOverlayForm extends PureComponent {\n public render() {\n const {\n id,\n name,\n color,\n onSubmit,\n buttonText,\n description,\n onCloseModal,\n onInputChange,\n onLabelPropertyChange,\n onColorChange,\n isFormValid,\n } = this.props\n\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n {status => (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n }\n\n private get placeholderLabelName(): string {\n const {name} = this.props\n\n if (!name) {\n return 'Name this Label'\n }\n\n return name\n }\n\n private get validatedColor(): string {\n const {color} = this.props\n\n if (validateHexCode(color)) {\n return INPUT_ERROR_COLOR\n }\n\n return color\n }\n\n private handleNameValidation = (name: string): string | null => {\n return this.props.onNameValidation(name)\n }\n}\n","// Libraries\nimport React, {Component, ChangeEvent} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport LabelOverlayForm from 'src/labels/components/LabelOverlayForm'\nimport {Overlay, ComponentStatus} from '@influxdata/clockface'\n\n// Types\nimport {Label} from 'src/types'\n\n// Constants\nimport {EMPTY_LABEL} from 'src/labels/constants'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n isVisible: boolean\n onDismiss: () => void\n onCreateLabel: (label: Label) => void\n onNameValidation: (name: string) => string | null\n overrideDefaultName?: string\n}\ninterface State {\n label: Label\n colorStatus: ComponentStatus\n}\n\n@ErrorHandling\nclass CreateLabelOverlay extends Component {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n label: {...EMPTY_LABEL, name: this.props.overrideDefaultName},\n colorStatus: ComponentStatus.Default,\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.overrideDefaultName !== this.props.overrideDefaultName &&\n this.props.isVisible === false\n ) {\n const name = this.props.overrideDefaultName\n const label = {...this.state.label, name}\n\n this.setState({label})\n }\n }\n\n public render() {\n const {isVisible, onDismiss, onNameValidation} = this.props\n const {label} = this.state\n\n return (\n \n \n \n \n \n \n \n \n )\n }\n\n private get isFormValid(): boolean {\n const {label, colorStatus} = this.state\n const {onNameValidation} = this.props\n\n const nameIsValid = onNameValidation(label.name) === null && !!label.name\n const colorIsValid =\n colorStatus === ComponentStatus.Default ||\n colorStatus === ComponentStatus.Valid\n\n return nameIsValid && colorIsValid\n }\n\n private handleSubmit = () => {\n const {onCreateLabel, onDismiss} = this.props\n\n try {\n onCreateLabel(this.state.label)\n } finally {\n onDismiss()\n this.resetForm()\n }\n }\n\n private resetForm() {\n this.setState({\n label: EMPTY_LABEL,\n })\n }\n\n private handleInputChange = (e: ChangeEvent): void => {\n const {value, name} = e.target\n\n this.setState(prevState => ({\n label: {...prevState.label, [name]: value},\n }))\n }\n\n private handleLabelPropertyChange = (\n e: ChangeEvent\n ): void => {\n const {value, name} = e.target\n\n this.setState(prevState => ({\n label: {\n ...prevState.label,\n properties: {...prevState.label.properties, [name]: value},\n },\n }))\n }\n\n private handleColorChange = (\n color: string,\n colorStatus: ComponentStatus\n ): void => {\n const properties = {...this.state.label.properties, color}\n const label = {...this.state.label, properties}\n\n this.setState({label, colorStatus})\n }\n}\n\nexport default CreateLabelOverlay\n","// Libraries\nimport React, {Component, ChangeEvent, createRef} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport _ from 'lodash'\n\n// Components\nimport {\n ButtonBase,\n ButtonShape,\n ButtonBaseRef,\n ComponentColor,\n ClickOutside,\n} from '@influxdata/clockface'\nimport InlineLabelPopover from 'src/shared/components/inlineLabels/InlineLabelPopover'\nimport CreateLabelOverlay from 'src/labels/components/CreateLabelOverlay'\n\n// Utils\nimport {validateLabelUniqueness} from 'src/labels/utils'\n\n// Types\nimport {Label, RemoteDataState} from 'src/types'\nimport {OverlayState} from 'src/types/overlay'\nimport {createLabel} from 'src/labels/actions/thunks'\n\n// Constants\nexport const ADD_NEW_LABEL_ITEM_ID = 'add-new-label'\nexport const ADD_NEW_LABEL_LABEL: Label = {\n id: ADD_NEW_LABEL_ITEM_ID,\n name: '',\n properties: {\n color: '#000000',\n description: '',\n },\n status: RemoteDataState.NotStarted,\n}\n\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface OwnProps {\n selectedLabels: Label[]\n labels: Label[]\n onAddLabel: (label: Label) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\ninterface State {\n searchTerm: string\n selectedItemID: string\n isCreatingLabel: OverlayState\n isPopoverVisible: boolean\n}\n\n@ErrorHandling\nclass InlineLabelsEditor extends Component {\n private popoverTrigger = createRef()\n\n constructor(props: Props) {\n super(props)\n\n this.state = {\n selectedItemID: null,\n searchTerm: '',\n isCreatingLabel: OverlayState.Closed,\n isPopoverVisible: false,\n }\n }\n\n public componentDidMount() {\n this.handleAddPopoverEventListener()\n }\n\n public render() {\n const {isCreatingLabel, searchTerm} = this.state\n\n return (\n <>\n {this.popover}\n
    \n \n
    \n \n {this.noLabelsIndicator}\n
    \n \n \n )\n }\n\n private get popover(): JSX.Element {\n const {labels, selectedLabels} = this.props\n const {searchTerm, selectedItemID, isPopoverVisible} = this.state\n\n const labelsUsed =\n labels.length > 0 && labels.length === selectedLabels.length\n\n return (\n \n \n \n )\n }\n\n private get noLabelsIndicator(): JSX.Element {\n const {selectedLabels} = this.props\n\n if (selectedLabels.length) {\n return\n }\n\n const handleClick = (): void => {\n if (this.popoverTrigger.current) {\n this.popoverTrigger.current.click()\n }\n }\n\n return (\n \n Add a label\n
    \n )\n }\n\n private handleAddPopoverEventListener = (): void => {\n if (!this.popoverTrigger.current) {\n return\n }\n this.popoverTrigger.current.addEventListener('click', () => {\n this.setState({\n isPopoverVisible: true,\n })\n })\n }\n\n private onClickOutside = (e: MouseEvent): void => {\n if (e.target === this.popoverTrigger.current) {\n return\n }\n\n this.setState({\n isPopoverVisible: false,\n })\n }\n\n private handleAddLabel = async (labelID: string) => {\n const {onAddLabel, labels} = this.props\n\n const label = labels.find(label => label.id === labelID)\n\n if (label) {\n this.selectAvailableItem()\n await onAddLabel(label)\n }\n }\n\n private selectAvailableItem = (): void => {\n const {searchTerm} = this.state\n\n const filteredLabels = this.filterLabels(searchTerm)\n\n if (filteredLabels.length) {\n this.handleUpdateSelectedItemID(filteredLabels[0].id)\n }\n }\n\n private handleUpdateSelectedItemID = (selectedItemID: string): void => {\n this.setState({selectedItemID})\n }\n\n private handleInputChange = (e: ChangeEvent): void => {\n const searchTerm = e.target.value\n const filteredLabels = this.filterLabels(searchTerm)\n if (filteredLabels.length) {\n const selectedItemID = filteredLabels[0].id\n this.setState({searchTerm, selectedItemID})\n } else {\n this.setState({searchTerm})\n }\n }\n\n private filterLabels = (searchTerm: string): Label[] => {\n const filteredLabels = this.availableLabels.filter(label => {\n const lowercaseName = label.name.toLowerCase()\n const lowercaseSearchTerm = searchTerm.toLowerCase()\n\n return lowercaseName.includes(lowercaseSearchTerm)\n })\n\n const searchTermHasExactMatch = filteredLabels.reduce(\n (acc: boolean, current: Label) => {\n return acc === true || current.name === searchTerm\n },\n false\n )\n\n if (!searchTermHasExactMatch && searchTerm) {\n return this.filteredLabelsWithAddButton(filteredLabels)\n }\n\n return this.filteredLabelsWithoutAddButton(filteredLabels)\n }\n\n private filteredLabelsWithAddButton = (filteredLabels: Label[]): Label[] => {\n const {searchTerm} = this.state\n\n const updatedAddButton = {...ADD_NEW_LABEL_LABEL, name: searchTerm}\n\n const addButton = filteredLabels.find(\n label => label.id === updatedAddButton.id\n )\n\n if (addButton) {\n return filteredLabels.map(fl => {\n return fl.id === updatedAddButton.id ? updatedAddButton : fl\n })\n }\n\n return [updatedAddButton, ...filteredLabels]\n }\n\n private filteredLabelsWithoutAddButton = (\n filteredLabels: Label[]\n ): Label[] => {\n return filteredLabels.filter(label => label.id !== ADD_NEW_LABEL_ITEM_ID)\n }\n\n private get availableLabels(): Label[] {\n const {selectedLabels, labels} = this.props\n\n return _.differenceBy(labels, selectedLabels, label => label.name)\n }\n\n private handleCreateLabel = async (label: Label) => {\n const {onCreateLabel, onAddLabel} = this.props\n const {name, properties} = label\n\n await onCreateLabel(name, properties)\n const newLabel = this.props.labels.find(l => l.name === label.name)\n onAddLabel(newLabel)\n }\n\n private handleStartCreatingLabel = (): void => {\n this.setState({isCreatingLabel: OverlayState.Open, isPopoverVisible: false})\n }\n\n private handleStopCreatingLabel = (): void => {\n this.setState({isCreatingLabel: OverlayState.Closed, searchTerm: ''})\n }\n\n private handleEnsureUniqueLabelName = (name: string): string | null => {\n const {labels} = this.props\n const names = labels.map(label => label.name)\n\n return validateLabelUniqueness(names, name)\n }\n}\n\nconst mdtp = {\n onCreateLabel: createLabel,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(InlineLabelsEditor)\n","// Libraries\nimport React, {Component} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {Label as LabelComponent} from '@influxdata/clockface'\nimport InlineLabelsEditor from 'src/shared/components/inlineLabels/InlineLabelsEditor'\n\n// Types\nimport {Label, ResourceType, AppState} from 'src/types'\n\n// Selectors\nimport {getAll, getLabels} from 'src/resources/selectors'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\nexport enum LabelsEditMode {\n Editable = 'editable',\n Readonly = 'readonly',\n}\n\ninterface OwnProps {\n editMode?: LabelsEditMode // temporary for displaying labels\n selectedLabelIDs: string[]\n onRemoveLabel?: (label: Label) => void\n onAddLabel?: (label: Label) => void\n onFilterChange?: (searchTerm: string) => void\n}\n\ninterface StateProps {\n labels: Label[]\n selectedLabels: Label[]\n}\n\ntype Props = StateProps & OwnProps\n\n@ErrorHandling\nclass InlineLabels extends Component {\n public static defaultProps = {\n editMode: LabelsEditMode.Editable,\n }\n\n public render() {\n return
    {this.selectedLabels}
    \n }\n\n private get selectedLabels(): JSX.Element {\n const {selectedLabels, labels, onAddLabel} = this.props\n\n return (\n
    \n {this.isEditable && (\n \n )}\n {this.currentLabels}\n
    \n )\n }\n\n private get currentLabels(): JSX.Element[] {\n const {selectedLabels} = this.props\n const onDelete = this.isEditable ? this.handleDeleteLabel : null\n\n if (selectedLabels.length) {\n return selectedLabels.map(_label => {\n const label = {..._label}\n\n // TODO: clean this up during normalization effort at\n // the service layer and not in the view (alex)\n if (!label.hasOwnProperty('properties')) {\n label.properties = {\n color: '#FF0000',\n description: '',\n }\n }\n\n return (\n \n )\n })\n }\n }\n\n private get isEditable(): boolean {\n return this.props.editMode === LabelsEditMode.Editable\n }\n\n private handleLabelClick = (labelName: string) => {\n const {onFilterChange} = this.props\n\n onFilterChange(labelName)\n }\n\n private handleDeleteLabel = (labelID: string) => {\n const {onRemoveLabel, selectedLabels} = this.props\n const label = selectedLabels.find(label => label.id === labelID)\n\n onRemoveLabel(label)\n }\n}\n\nconst mstp = (state: AppState, props: OwnProps) => {\n const labels = getAll
    \n setHighlight(true)}\n onHide={() => setHighlight(false)}\n />\n \n )\n}\n\nexport default LastRunTaskStatus\n","// Libraries\nimport React, {PureComponent, MouseEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {\n SlideToggle,\n ComponentSize,\n ResourceCard,\n IconFont,\n InputLabel,\n FlexBox,\n AlignItems,\n FlexDirection,\n} from '@influxdata/clockface'\nimport {Context} from 'src/clockface'\nimport InlineLabels from 'src/shared/components/inlineLabels/InlineLabels'\nimport LastRunTaskStatus from 'src/shared/components/lastRunTaskStatus/LastRunTaskStatus'\n\n// Actions\nimport {addTaskLabel, deleteTaskLabel} from 'src/tasks/actions/thunks'\n\n// Types\nimport {ComponentColor} from '@influxdata/clockface'\nimport {Task, Label} from 'src/types'\n\n// Constants\nimport {DEFAULT_TASK_NAME} from 'src/dashboards/constants'\n\ninterface PassedProps {\n task: Task\n onActivate: (task: Task) => void\n onDelete: (task: Task) => void\n onClone: (task: Task) => void\n onRunTask: (taskID: string) => void\n onUpdate: (name: string, taskID: string) => void\n onFilterChange: (searchTerm: string) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = PassedProps & ReduxProps\n\nexport class TaskCard extends PureComponent<\n Props & RouteComponentProps<{orgID: string}>\n> {\n public render() {\n const {task} = this.props\n\n return (\n \n \n \n \n \n {this.activeToggle}\n <>Last completed at {task.latestCompleted}\n <>{`Scheduled to run ${this.schedule}`}\n \n {this.labels}\n \n \n )\n }\n\n private get activeToggle(): JSX.Element {\n const labelText = this.isTaskActive ? 'Active' : 'Inactive'\n return (\n \n \n {labelText}\n \n )\n }\n\n private get contextMenu(): JSX.Element {\n const {task, onClone, onDelete, onRunTask} = this.props\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleNameClick = (event: MouseEvent) => {\n const {\n match: {\n params: {orgID},\n },\n history,\n task,\n } = this.props\n const url = `/orgs/${orgID}/tasks/${task.id}/edit`\n\n if (event.metaKey) {\n window.open(url, '_blank')\n } else {\n history.push(url)\n }\n }\n\n private handleViewRuns = () => {\n const {\n history,\n task,\n match: {\n params: {orgID},\n },\n } = this.props\n history.push(`/orgs/${orgID}/tasks/${task.id}/runs`)\n }\n\n private handleRenameTask = (name: string) => {\n const {\n onUpdate,\n task: {id},\n } = this.props\n onUpdate(name, id)\n }\n\n private handleExport = () => {\n const {\n history,\n task,\n location: {pathname},\n } = this.props\n history.push(`${pathname}/${task.id}/export`)\n }\n\n private get labels(): JSX.Element {\n const {task, onFilterChange} = this.props\n\n return (\n \n )\n }\n\n private handleAddLabel = (label: Label) => {\n const {task, onAddTaskLabel} = this.props\n\n onAddTaskLabel(task.id, label)\n }\n\n private handleRemoveLabel = (label: Label) => {\n const {task, onDeleteTaskLabel} = this.props\n\n onDeleteTaskLabel(task.id, label)\n }\n\n private get isTaskActive(): boolean {\n const {task} = this.props\n if (task.status === 'active') {\n return true\n }\n return false\n }\n\n private changeToggle = () => {\n const {task, onActivate} = this.props\n if (task.status === 'active') {\n task.status = 'inactive'\n } else {\n task.status = 'active'\n }\n onActivate(task)\n }\n\n private get schedule(): string {\n const {task} = this.props\n if (task.every && task.offset) {\n return `every ${task.every}, offset ${task.offset}`\n }\n if (task.every) {\n return `every ${task.every}`\n }\n if (task.cron) {\n return task.cron\n }\n return ''\n }\n}\n\nconst mdtp = {\n onAddTaskLabel: addTaskLabel,\n onDeleteTaskLabel: deleteTaskLabel,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(TaskCard))\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {EmptyState} from '@influxdata/clockface'\nimport AddResourceDropdown from 'src/shared/components/AddResourceDropdown'\n\n// Types\nimport {ComponentSize} from '@influxdata/clockface'\n\ninterface Props {\n searchTerm: string\n onCreate: () => void\n totalCount: number\n onImportTask: () => void\n onImportFromTemplate: () => void\n}\n\nexport default class EmptyTasksLists extends PureComponent {\n public render() {\n const {\n searchTerm,\n onCreate,\n totalCount,\n onImportTask,\n onImportFromTemplate,\n } = this.props\n\n if (totalCount && searchTerm === '') {\n return (\n \n {`All ${totalCount} of your Tasks are inactive`}\n \n )\n }\n\n if (searchTerm === '') {\n return (\n \n \n Looks like you don't have any Tasks, why not create one?\"\n \n \n \n )\n }\n\n return (\n \n No Tasks match your search term\n \n )\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport {ResourceList} from '@influxdata/clockface'\nimport TaskCard from 'src/tasks/components/TaskCard'\n\n// Types\nimport EmptyTasksList from 'src/tasks/components/EmptyTasksList'\nimport {Task} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {Sort} from '@influxdata/clockface'\nimport {TaskSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\n\n// Selectors\nimport {getSortedResources} from 'src/shared/utils/sort'\n\ninterface Props {\n tasks: Task[]\n searchTerm: string\n onActivate: (task: Task) => void\n onDelete: (task: Task) => void\n onCreate: () => void\n onClone: (task: Task) => void\n onFilterChange: (searchTerm: string) => void\n totalCount: number\n onAddTaskLabel: any\n onRunTask: any\n onUpdate: (name: string, taskID: string) => void\n filterComponent?: JSX.Element\n onImportTask: () => void\n sortKey: TaskSortKey\n sortDirection: Sort\n sortType: SortTypes\n checkTaskLimits: any\n onImportFromTemplate: () => void\n}\n\ninterface State {\n taskLabelsEdit: Task\n isEditingTaskLabels: boolean\n}\n\nexport default class TasksList extends PureComponent {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n constructor(props) {\n super(props)\n this.state = {\n taskLabelsEdit: null,\n isEditingTaskLabels: false,\n }\n }\n\n public componentDidMount() {\n this.props.checkTaskLimits()\n }\n\n public render() {\n const {\n searchTerm,\n onCreate,\n totalCount,\n onImportTask,\n onImportFromTemplate,\n } = this.props\n\n return (\n <>\n \n \n }\n >\n {this.rows}\n \n \n \n )\n }\n\n private get rows(): JSX.Element[] {\n const {\n tasks,\n sortKey,\n sortDirection,\n sortType,\n onActivate,\n onDelete,\n onClone,\n onUpdate,\n onRunTask,\n onFilterChange,\n } = this.props\n\n const sortedTasks = this.memGetSortedResources(\n tasks,\n sortKey,\n sortDirection,\n sortType\n )\n\n return sortedTasks.map(task => (\n \n ))\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Actions\nimport {getAssetLimits as getAssetLimitsAction} from 'src/cloud/actions/limits'\n\n// Components\nimport {TechnoSpinner, SpinnerContainer} from '@influxdata/clockface'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Constants\nimport {CLOUD} from 'src/shared/constants'\n\ninterface OwnProps {\n children: React.ReactNode\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\nclass GetAssetLimits extends PureComponent {\n public componentDidMount() {\n if (CLOUD) {\n this.props.getAssetLimits()\n }\n }\n\n public render() {\n const {status} = this.props\n if (CLOUD) {\n return (\n }>\n {this.props.children}\n \n )\n }\n return this.props.children\n }\n}\n\nconst mstp = ({\n cloud: {\n limits: {status},\n },\n}: AppState) => ({status})\n\nconst mdtp = {getAssetLimits: getAssetLimitsAction}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(GetAssetLimits)\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {\n FlexBox,\n JustifyContent,\n Gradients,\n InfluxColors,\n GradientBox,\n Panel,\n Heading,\n HeadingElement,\n AlignItems,\n} from '@influxdata/clockface'\nimport CloudUpgradeButton from 'src/shared/components/CloudUpgradeButton'\n\n// Constants\nimport {CLOUD} from 'src/shared/constants'\n\n// Types\nimport {LimitStatus} from 'src/cloud/actions/limits'\n\ninterface Props {\n limitStatus: LimitStatus\n resourceName: string\n className?: string\n}\n\nconst AssetLimitAlert: FC = ({limitStatus, resourceName, className}) => {\n if (CLOUD && limitStatus === LimitStatus.EXCEEDED) {\n return (\n \n \n \n \n Need more {resourceName}?\n \n \n \n \n \n \n \n \n \n )\n }\n\n return null\n}\n\nexport default AssetLimitAlert\n","import React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport {\n Form,\n Button,\n SpinnerContainer,\n TechnoSpinner,\n Overlay,\n} from '@influxdata/clockface'\nimport {Controlled as ReactCodeMirror} from 'react-codemirror2'\nimport CopyButton from 'src/shared/components/CopyButton'\n\n// Actions\nimport {createTemplateFromResource} from 'src/templates/actions/thunks'\n\n// Utils\nimport {downloadTextFile} from 'src/shared/utils/download'\n\n// Types\nimport {DocumentCreate} from '@influxdata/influx'\nimport {ComponentColor, ComponentSize} from '@influxdata/clockface'\nimport {RemoteDataState, Notification} from 'src/types'\n\ninterface OwnProps {\n onDismissOverlay: () => void\n resource: DocumentCreate\n resourceName: string\n onCopyText?: (text: string, status: boolean) => Notification\n status: RemoteDataState\n isVisible: boolean\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass ExportOverlay extends PureComponent {\n public static defaultProps = {\n isVisible: true,\n }\n\n public render() {\n const {isVisible, resourceName, onDismissOverlay, status} = this.props\n\n return (\n \n \n
    \n \n \n }\n >\n {this.overlayBody}\n \n \n \n {this.downloadButton}\n {this.toTemplateButton}\n {this.copyButton}\n \n \n
    \n
    \n )\n }\n\n private doNothing = () => {}\n\n private get overlayBody(): JSX.Element {\n const options = {\n tabIndex: 1,\n mode: 'json',\n readonly: true,\n lineNumbers: true,\n autoRefresh: true,\n theme: 'time-machine',\n completeSingle: false,\n }\n return (\n \n \n
    \n )\n }\n\n private get resourceText(): string {\n return JSON.stringify(this.props.resource, null, 1)\n }\n\n private get copyButton(): JSX.Element {\n return (\n \n )\n }\n\n private get downloadButton(): JSX.Element {\n return (\n \n )\n }\n\n private get toTemplateButton(): JSX.Element {\n return (\n \n )\n }\n\n private handleExport = (): void => {\n const {resource, resourceName, onDismissOverlay} = this.props\n const name = get(resource, 'content.data.attributes.name', resourceName)\n downloadTextFile(JSON.stringify(resource, null, 1), name, '.json')\n onDismissOverlay()\n }\n\n private handleConvertToTemplate = () => {\n const {\n resource,\n onDismissOverlay,\n resourceName,\n onCreateTemplateFromResource,\n } = this.props\n\n onCreateTemplateFromResource(resource, resourceName)\n onDismissOverlay()\n }\n}\n\nconst mdtp = {\n onCreateTemplateFromResource: createTemplateFromResource,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(ExportOverlay)\n","import React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport ExportOverlay from 'src/shared/components/ExportOverlay'\n\n// Actions\nimport {convertToTemplate as convertToTemplateAction} from 'src/tasks/actions/thunks'\nimport {clearExportTemplate as clearExportTemplateAction} from 'src/templates/actions/thunks'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string; id: string}>\n\nclass TaskExportOverlay extends PureComponent {\n public componentDidMount() {\n const {\n match: {\n params: {id},\n },\n convertToTemplate,\n } = this.props\n\n convertToTemplate(id)\n }\n\n public render() {\n const {taskTemplate, status} = this.props\n\n return (\n \n )\n }\n\n private onDismiss = () => {\n const {history, clearExportTemplate} = this.props\n\n history.goBack()\n clearExportTemplate()\n }\n}\n\nconst mstp = (state: AppState) => ({\n taskTemplate: state.resources.templates.exportTemplate.item,\n status: state.resources.templates.exportTemplate.status,\n})\n\nconst mdtp = {\n convertToTemplate: convertToTemplateAction,\n clearExportTemplate: clearExportTemplateAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TaskExportOverlay))\n","import React, {PureComponent} from 'react'\nimport classnames from 'classnames'\nimport {\n Button,\n ComponentColor,\n ComponentSize,\n ButtonType,\n} from '@influxdata/clockface'\n\ninterface Props {\n fileTypesToAccept?: string\n containerClass?: string\n handleSubmit: (uploadContent: string) => void\n submitText: string\n submitOnDrop: boolean\n submitOnUpload: boolean\n compact: boolean\n onCancel?: () => void\n className?: string\n}\n\ninterface State {\n inputContent: string\n uploadContent: string | ArrayBuffer\n fileName: string\n dragClass: string\n}\n\nlet dragCounter = 0\nclass DragAndDrop extends PureComponent {\n public static defaultProps = {\n submitText: 'Write this File',\n submitOnDrop: false,\n submitOnUpload: false,\n compact: false,\n className: '',\n }\n\n private fileInput: HTMLInputElement\n\n constructor(props: Props) {\n super(props)\n\n this.state = {\n inputContent: null,\n uploadContent: '',\n fileName: '',\n dragClass: 'drag-none',\n }\n }\n\n public componentDidMount() {\n window.addEventListener('dragover', this.handleWindowDragOver)\n window.addEventListener('drop', this.handleFileDrop)\n window.addEventListener('dragenter', this.handleDragEnter)\n window.addEventListener('dragleave', this.handleDragLeave)\n }\n\n public componentWillUnmount() {\n window.removeEventListener('dragover', this.handleWindowDragOver)\n window.removeEventListener('drop', this.handleFileDrop)\n window.removeEventListener('dragenter', this.handleDragEnter)\n window.removeEventListener('dragleave', this.handleDragLeave)\n }\n\n public render() {\n return (\n
    \n
    \n {this.dragAreaHeader}\n
    \n (this.fileInput = r)}\n className=\"drag-and-drop--input\"\n accept={this.fileTypesToAccept}\n onChange={this.handleFileClick}\n />\n {this.buttons}\n
    \n
    \n )\n }\n\n private handleWindowDragOver = (event: DragEvent) => {\n event.preventDefault()\n }\n\n private get fileTypesToAccept(): string {\n const {fileTypesToAccept} = this.props\n\n if (!fileTypesToAccept) {\n return '*'\n }\n\n return fileTypesToAccept\n }\n\n private get containerClass(): string {\n const {dragClass} = this.state\n const {compact, className} = this.props\n\n return classnames('drag-and-drop', {\n compact,\n [dragClass]: true,\n [className]: className,\n })\n }\n\n private get infoClass(): string {\n const {uploadContent} = this.state\n\n return classnames('drag-and-drop--graphic', {success: uploadContent})\n }\n\n private get dragAreaClass(): string {\n const {uploadContent} = this.state\n\n return classnames('drag-and-drop--form', {active: !uploadContent})\n }\n\n private get dragAreaHeader(): JSX.Element {\n const {uploadContent, fileName} = this.state\n\n if (uploadContent) {\n return
    {fileName}
    \n }\n\n return (\n
    \n Drop a file here or click to upload\n
    \n )\n }\n\n private get buttons(): JSX.Element | null {\n const {uploadContent} = this.state\n const {submitText, submitOnDrop} = this.props\n\n if (!uploadContent) {\n return null\n }\n\n if (submitOnDrop) {\n return (\n \n \n \n )\n }\n\n return (\n \n \n \n \n )\n }\n\n private handleSubmit = () => {\n const {handleSubmit} = this.props\n const {uploadContent} = this.state\n\n handleSubmit(uploadContent as string)\n }\n\n private handleFileClick = (e: any): void => {\n const file: File = e.currentTarget.files[0]\n\n if (!file) {\n return\n }\n\n e.preventDefault()\n e.stopPropagation()\n\n const reader = new FileReader()\n reader.readAsText(file)\n reader.onload = () => {\n this.setState(\n {\n uploadContent: reader.result,\n fileName: file.name,\n },\n () => this.submitOnUpload()\n )\n }\n }\n\n private handleFileDrop = (e: any): void => {\n const file = e.dataTransfer.files[0]\n this.setState({\n dragClass: 'drag-none',\n })\n\n if (!file) {\n return\n }\n\n e.preventDefault()\n e.stopPropagation()\n\n const reader = new FileReader()\n reader.readAsText(file)\n reader.onload = () => {\n this.setState(\n {\n uploadContent: reader.result,\n fileName: file.name,\n },\n () => this.submitOnDrop()\n )\n }\n }\n\n private submitOnDrop() {\n const {submitOnDrop} = this.props\n if (submitOnDrop) {\n this.handleSubmit()\n }\n }\n\n private submitOnUpload() {\n const {submitOnUpload} = this.props\n if (submitOnUpload) {\n this.handleSubmit()\n }\n }\n\n private handleFileOpen = (): void => {\n const {uploadContent} = this.state\n if (uploadContent === '') {\n this.fileInput.click()\n }\n }\n\n private handleCancelFile = (): void => {\n const {onCancel} = this.props\n this.setState({uploadContent: ''})\n this.fileInput.value = ''\n if (onCancel) {\n onCancel()\n }\n }\n\n private handleDragEnter = (e: DragEvent): void => {\n dragCounter += 1\n e.preventDefault()\n this.setState({dragClass: 'drag-over'})\n }\n\n private handleDragLeave = (e: DragEvent): void => {\n dragCounter -= 1\n e.preventDefault()\n if (dragCounter === 0) {\n this.setState({dragClass: 'drag-none'})\n }\n }\n}\n\nexport default DragAndDrop\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {\n Form,\n SelectGroup,\n Button,\n TextArea,\n Overlay,\n} from '@influxdata/clockface'\nimport DragAndDrop from 'src/shared/components/DragAndDrop'\n\n// Types\nimport {\n ButtonType,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\n\nenum ImportOption {\n Upload = 'upload',\n Paste = 'paste',\n}\n\ninterface OwnProps {\n onDismissOverlay: () => void\n resourceName: string\n onSubmit: (importString: string, orgID: string) => void\n isVisible?: boolean\n status?: ComponentStatus\n updateStatus?: (status: ComponentStatus) => void\n}\n\ninterface State {\n selectedImportOption: ImportOption\n importContent: string\n}\n\ntype Props = OwnProps & RouteComponentProps<{orgID: string}>\n\nclass ImportOverlay extends PureComponent {\n public static defaultProps: {isVisible: boolean} = {\n isVisible: true,\n }\n\n public state: State = {\n selectedImportOption: ImportOption.Upload,\n importContent: '',\n }\n\n public render() {\n const {isVisible, resourceName} = this.props\n const {selectedImportOption} = this.state\n\n return (\n \n \n
    \n \n \n
    \n \n \n Upload File\n \n \n Paste JSON\n \n \n
    \n {this.importBody}\n
    \n {this.submitButton}\n \n
    \n
    \n )\n }\n\n private get importBody(): JSX.Element {\n const {selectedImportOption, importContent} = this.state\n const {status = ComponentStatus.Default} = this.props\n\n if (selectedImportOption === ImportOption.Upload) {\n return (\n \n )\n }\n if (selectedImportOption === ImportOption.Paste) {\n return (\n \n )\n }\n }\n\n private handleChangeTextArea = (\n e: ChangeEvent\n ): void => {\n const {updateStatus = () => {}} = this.props\n const importContent = e.target.value\n this.handleSetImportContent(importContent)\n updateStatus(ComponentStatus.Default)\n }\n\n private get submitButton(): JSX.Element {\n const {resourceName} = this.props\n const {selectedImportOption, importContent} = this.state\n const isEnabled =\n selectedImportOption === ImportOption.Paste ||\n (selectedImportOption === ImportOption.Upload && importContent)\n const status = isEnabled\n ? ComponentStatus.Default\n : ComponentStatus.Disabled\n\n return (\n \n )\n }\n\n private submit = () => {\n const {importContent} = this.state\n const {\n onSubmit,\n match: {\n params: {orgID},\n },\n } = this.props\n\n onSubmit(importContent, orgID)\n this.clearImportContent()\n }\n\n private clearImportContent = () => {\n this.setState((state, props) => {\n const {status = ComponentStatus.Default} = props\n return status === ComponentStatus.Error ? {...state} : {importContent: ''}\n })\n }\n\n private onDismiss = () => {\n const {onDismissOverlay} = this.props\n this.clearImportContent()\n onDismissOverlay()\n }\n\n private handleSetImportOption = (selectedImportOption: ImportOption) => {\n this.clearImportContent()\n this.setState({selectedImportOption})\n }\n\n private handleSetImportContent = (importContent: string) => {\n this.setState({importContent})\n }\n}\n\nexport default withRouter(ImportOverlay)\n","import React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport ImportOverlay from 'src/shared/components/ImportOverlay'\n\n// Copy\nimport {invalidJSON} from 'src/shared/copy/notifications'\n\n// Actions\nimport {createTaskFromTemplate as createTaskFromTemplateAction} from 'src/tasks/actions/thunks'\nimport {notify as notifyAction} from 'src/shared/actions/notifications'\n\n// Types\nimport {ComponentStatus} from '@influxdata/clockface'\n\n// Utils\nimport jsonlint from 'jsonlint-mod'\n\ninterface State {\n status: ComponentStatus\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string}>\n\nclass TaskImportOverlay extends PureComponent {\n public state: State = {\n status: ComponentStatus.Default,\n }\n\n public render() {\n return (\n \n )\n }\n\n private onDismiss = () => {\n const {history} = this.props\n\n history.goBack()\n }\n\n private updateOverlayStatus = (status: ComponentStatus) =>\n this.setState(() => ({status}))\n\n private handleImportTask = (importString: string) => {\n const {createTaskFromTemplate, notify} = this.props\n\n let template\n this.updateOverlayStatus(ComponentStatus.Default)\n try {\n template = jsonlint.parse(importString)\n } catch (error) {\n this.updateOverlayStatus(ComponentStatus.Error)\n notify(invalidJSON(error.message))\n return\n }\n\n createTaskFromTemplate(template)\n this.onDismiss()\n }\n}\n\nconst mdtp = {\n createTaskFromTemplate: createTaskFromTemplateAction,\n notify: notifyAction,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(TaskImportOverlay))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport {\n Panel,\n EmptyState,\n ComponentSize,\n Grid,\n Columns,\n DapperScrollbars,\n} from '@influxdata/clockface'\nimport {TemplateSummary, Template} from 'src/types'\n\ninterface Props {\n selectedTemplateSummary: TemplateSummary\n selectedTemplate: Template\n variables: string[]\n cells: string[]\n}\n\nclass TemplateBrowserDetails extends PureComponent {\n public render() {\n return (\n \n \n \n {this.panelContents}\n \n \n \n )\n }\n\n private get panelContents(): JSX.Element {\n const {selectedTemplateSummary} = this.props\n\n if (!selectedTemplateSummary) {\n return (\n \n Select a Template from the left\n \n )\n }\n\n return (\n \n \n \n {this.templateName}\n {this.templateDescription}\n \n {this.props.variables && (\n \n
    Variables
    \n {this.variablesList}\n
    \n )}\n {this.props.cells && (\n \n
    Cells
    \n {this.cellsList}\n
    \n )}\n
    \n
    \n )\n }\n\n private get variablesList(): JSX.Element | JSX.Element[] {\n const {variables} = this.props\n\n if (!variables.length) {\n return (\n

    \n No included variables\n

    \n )\n }\n\n return variables.map((variable, i) => (\n \n {variable}\n

    \n ))\n }\n\n private get cellsList(): JSX.Element | JSX.Element[] {\n const {cells} = this.props\n\n if (!cells.length) {\n return (\n

    \n No included cells\n

    \n )\n }\n\n return cells.map((cell, i) => (\n

    \n {cell}\n

    \n ))\n }\n\n private get templateDescription(): JSX.Element {\n const {selectedTemplateSummary} = this.props\n const description = _.get(selectedTemplateSummary, 'meta.description')\n\n if (description) {\n return (\n

    {description}

    \n )\n }\n\n return (\n

    \n No description\n

    \n )\n }\n\n private get templateName(): JSX.Element {\n const {selectedTemplateSummary} = this.props\n const name = _.get(selectedTemplateSummary, 'meta.name')\n\n const templateName = name || 'Untitled'\n const className = name\n ? 'import-template-overlay--name'\n : 'import-template-overlay--name missing'\n\n return

    {templateName}

    \n }\n}\n\nexport default TemplateBrowserDetails\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport classnames from 'classnames'\nimport {TemplateSummary} from 'src/types'\n\n// Components\nimport {Icon, IconFont} from '@influxdata/clockface'\n\ninterface Props {\n onClick: (template: TemplateSummary) => void\n template: TemplateSummary\n label: string\n selected: boolean\n testID: string\n}\n\nclass TemplateBrowser extends PureComponent {\n public render() {\n const {testID, label} = this.props\n\n return (\n \n \n {label}\n
    \n )\n }\n\n private get className(): string {\n const {selected} = this.props\n\n return classnames('import-template-overlay--template', {active: selected})\n }\n\n private handleClick = (): void => {\n const {onClick, template} = this.props\n\n onClick(template)\n }\n}\n\nexport default TemplateBrowser\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {get, orderBy} from 'lodash'\n\n// Components\nimport {DapperScrollbars} from '@influxdata/clockface'\nimport {TemplateSummary} from 'src/types'\nimport TemplateBrowserListItem from 'src/templates/components/createFromTemplateOverlay/TemplateBrowserListItem'\n\ninterface Props {\n templates: TemplateSummary[]\n selectedTemplateSummary: TemplateSummary\n onSelectTemplate: (selectedTemplateSummary: TemplateSummary) => void\n}\n\nclass TemplateBrowser extends PureComponent {\n public render() {\n const {selectedTemplateSummary, templates, onSelectTemplate} = this.props\n\n return (\n \n {orderBy(templates, [({meta: {name}}) => name.toLocaleLowerCase()]).map(\n t => (\n \n )\n )}\n \n )\n }\n}\n\nexport default TemplateBrowser\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport {TemplateSummary, Template} from 'src/types'\nimport TemplateBrowserDetails from 'src/templates/components/createFromTemplateOverlay/TemplateBrowserDetails'\nimport TemplateBrowserList from 'src/templates/components/createFromTemplateOverlay/TemplateBrowserList'\n\ninterface Props {\n templates: TemplateSummary[]\n selectedTemplateSummary: TemplateSummary\n selectedTemplate: Template\n variables?: string[]\n cells?: string[]\n onSelectTemplate: (selectedTemplateSummary: TemplateSummary) => void\n}\n\nclass TemplateBrowser extends PureComponent {\n public render() {\n const {\n selectedTemplateSummary,\n cells,\n variables,\n selectedTemplate,\n templates,\n onSelectTemplate,\n } = this.props\n\n return (\n
    \n \n \n
    \n )\n }\n}\n\nexport default TemplateBrowser\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect} from 'react-redux'\n\n// Components\nimport {\n EmptyState,\n ComponentSize,\n Button,\n IconFont,\n} from '@influxdata/clockface'\n\n// Types\nimport {AppState, Organization} from 'src/types'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\n\ninterface StateProps {\n org: Organization\n}\n\ntype Props = StateProps & RouteComponentProps<{orgID: string}>\n\nclass TemplateBrowserEmpty extends PureComponent {\n public render() {\n return (\n
    \n \n \n Looks like you don't have any Templates yet, why not import\n one?\n \n \n \n
    \n )\n }\n\n private handleButtonClick = (): void => {\n const {history, org} = this.props\n\n history.push(`/orgs/${org.id}/settings/templates/import`)\n }\n}\n\nconst mstp = (state: AppState) => ({\n org: getOrg(state),\n})\n\nexport default connect(\n mstp,\n null\n)(withRouter(TemplateBrowserEmpty))\n","// Types\nimport {AppState, ResourceType} from 'src/types'\n\nexport const getAll = (state: AppState, resource: ResourceType) => {\n const {resources} = state\n const allIDs: string[] = resources[resource].allIDs\n const byID = resources[resource].byID\n return allIDs.map(id => byID[id])\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {sortBy} from 'lodash'\n\n// Components\nimport {\n Button,\n ComponentColor,\n ComponentStatus,\n Overlay,\n} from '@influxdata/clockface'\nimport TemplateBrowser from 'src/templates/components/createFromTemplateOverlay/TemplateBrowser'\nimport TemplateBrowserEmpty from 'src/tasks/components/TemplateBrowserEmpty'\nimport GetResources from 'src/resources/components/GetResources'\n\n// Actions\nimport {createTaskFromTemplate as createTaskFromTemplateAction} from 'src/tasks/actions/thunks'\nimport {getTemplateByID} from 'src/templates/actions/thunks'\n\n// Types\nimport {\n TemplateSummary,\n Template,\n TemplateType,\n AppState,\n TaskTemplate,\n ResourceType,\n} from 'src/types'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors/getAll'\n\ninterface State {\n selectedTemplateSummary: TemplateSummary\n selectedTemplate: Template\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nclass TaskImportFromTemplateOverlay extends PureComponent<\n Props & RouteComponentProps<{orgID: string}>,\n State\n> {\n constructor(props) {\n super(props)\n this.state = {\n selectedTemplateSummary: null,\n selectedTemplate: null,\n }\n }\n\n render() {\n return (\n \n \n \n \n {this.overlayBody}\n \n \n \n \n \n \n \n )\n }\n\n private get overlayBody(): JSX.Element {\n const {selectedTemplateSummary, selectedTemplate} = this.state\n const {templates} = this.props\n\n if (!templates.length) {\n return \n }\n\n return (\n \n )\n }\n\n private get submitStatus(): ComponentStatus {\n const {selectedTemplate} = this.state\n\n return selectedTemplate ? ComponentStatus.Default : ComponentStatus.Disabled\n }\n\n private handleSelectTemplate = async (\n selectedTemplateSummary: TemplateSummary\n ): Promise => {\n const selectedTemplate = await getTemplateByID(selectedTemplateSummary.id)\n\n this.setState({\n selectedTemplateSummary,\n selectedTemplate,\n })\n }\n\n private onDismiss = () => {\n const {history, match} = this.props\n history.push(`/orgs/${match.params.orgID}/tasks`)\n }\n\n private onSubmit = () => {\n const {createTaskFromTemplate} = this.props\n const taskTemplate = this.state.selectedTemplate as TaskTemplate\n\n createTaskFromTemplate(taskTemplate)\n this.onDismiss()\n }\n}\n\nconst mstp = (state: AppState) => {\n const {\n resources: {\n templates: {status},\n },\n } = state\n const items = getAll(state, ResourceType.Templates)\n const filteredTemplates = items.filter(\n t => !t.meta.type || t.meta.type === TemplateType.Task\n )\n\n const templates = sortBy(filteredTemplates, item =>\n item.meta.name.toLocaleLowerCase()\n )\n\n return {\n templates,\n templateStatus: status,\n }\n}\n\nconst mdtp = {\n createTaskFromTemplate: createTaskFromTemplateAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TaskImportFromTemplateOverlay))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {Switch, Route} from 'react-router-dom'\n\n// Components\nimport TasksHeader from 'src/tasks/components/TasksHeader'\nimport TasksList from 'src/tasks/components/TasksList'\nimport {Page} from '@influxdata/clockface'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport FilterList from 'src/shared/components/FilterList'\nimport GetResources from 'src/resources/components/GetResources'\nimport GetAssetLimits from 'src/cloud/components/GetAssetLimits'\nimport AssetLimitAlert from 'src/cloud/components/AssetLimitAlert'\nimport TaskExportOverlay from 'src/tasks/components/TaskExportOverlay'\nimport TaskImportOverlay from 'src/tasks/components/TaskImportOverlay'\nimport TaskImportFromTemplateOverlay from 'src/tasks/components/TaskImportFromTemplateOverlay'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Actions\nimport {\n updateTaskStatus,\n updateTaskName,\n deleteTask,\n cloneTask,\n addTaskLabel,\n runTask,\n} from 'src/tasks/actions/thunks'\n\nimport {\n setSearchTerm as setSearchTermAction,\n setShowInactive as setShowInactiveAction,\n} from 'src/tasks/actions/creators'\n\nimport {checkTaskLimits as checkTasksLimitsAction} from 'src/cloud/actions/limits'\n\n// Types\nimport {AppState, Task, ResourceType} from 'src/types'\nimport {RouteComponentProps} from 'react-router-dom'\nimport {Sort} from '@influxdata/clockface'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {extractTaskLimits} from 'src/cloud/utils/limits'\nimport {TaskSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string}>\n\ninterface State {\n isImporting: boolean\n taskLabelsEdit: Task\n sortKey: TaskSortKey\n sortDirection: Sort\n sortType: SortTypes\n}\n\nconst Filter = FilterList()\n\n@ErrorHandling\nclass TasksPage extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n props.setSearchTerm('')\n if (!props.showInactive) {\n props.setShowInactive()\n }\n\n this.state = {\n isImporting: false,\n taskLabelsEdit: null,\n sortKey: 'name',\n sortDirection: Sort.Ascending,\n sortType: SortTypes.String,\n }\n }\n\n public render(): JSX.Element {\n const {sortKey, sortDirection, sortType} = this.state\n const {\n setSearchTerm,\n updateTaskName,\n searchTerm,\n setShowInactive,\n showInactive,\n onAddTaskLabel,\n onRunTask,\n checkTaskLimits,\n limitStatus,\n } = this.props\n\n return (\n <>\n \n \n \n \n \n \n {ts => (\n \n )}\n \n {this.hiddenTaskAlert}\n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleSort = (\n sortKey: TaskSortKey,\n sortDirection: Sort,\n sortType: SortTypes\n ) => {\n this.setState({sortKey, sortDirection, sortType})\n }\n\n private handleActivate = (task: Task) => {\n this.props.updateTaskStatus(task)\n }\n\n private handleDelete = (task: Task) => {\n this.props.deleteTask(task.id)\n }\n\n private handleClone = (task: Task) => {\n this.props.cloneTask(task)\n }\n\n private handleCreateTask = () => {\n const {\n history,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/tasks/new`)\n }\n\n private summonImportFromTemplateOverlay = () => {\n const {\n history,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/tasks/import-template`)\n }\n\n private summonImportOverlay = (): void => {\n const {\n history,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/tasks/import`)\n }\n\n private get filteredTasks(): Task[] {\n const {tasks, showInactive} = this.props\n const matchingTasks = tasks.filter(t => {\n let activeFilter = true\n if (!showInactive) {\n activeFilter = t.status === 'active'\n }\n\n return activeFilter\n })\n\n return matchingTasks\n }\n\n private get totalTaskCount(): number {\n return this.props.tasks.length\n }\n\n private get hiddenTaskAlert(): JSX.Element {\n const {showInactive, tasks} = this.props\n\n const hiddenCount = tasks.filter(t => t.status === 'inactive').length\n\n const allTasksAreHidden = hiddenCount === tasks.length\n\n if (allTasksAreHidden || showInactive) {\n return null\n }\n\n if (hiddenCount) {\n const pluralizer = hiddenCount === 1 ? '' : 's'\n const verb = hiddenCount === 1 ? 'is' : 'are'\n\n return (\n
    {`${hiddenCount} inactive task${pluralizer} ${verb} hidden from view`}
    \n )\n }\n }\n}\n\nconst mstp = (state: AppState) => {\n const {\n resources,\n cloud: {limits},\n } = state\n const {status, searchTerm, showInactive} = resources.tasks\n\n return {\n tasks: getAll(state, ResourceType.Tasks),\n status: status,\n searchTerm,\n showInactive,\n limitStatus: extractTaskLimits(limits),\n }\n}\n\nconst mdtp = {\n updateTaskStatus,\n updateTaskName,\n deleteTask,\n cloneTask,\n setSearchTerm: setSearchTermAction,\n setShowInactive: setShowInactiveAction,\n onAddTaskLabel: addTaskLabel,\n onRunTask: runTask,\n checkTaskLimits: checkTasksLimitsAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(TasksPage)\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Components\nimport {Form, Input, Grid} from '@influxdata/clockface'\n\n// Types\nimport {Columns, InputType} from '@influxdata/clockface'\nimport {TaskSchedule} from 'src/types'\n\ninterface Props {\n schedule: TaskSchedule\n cron: string\n offset: string\n interval: string\n onChangeInput: (e: ChangeEvent) => void\n}\n\nexport default class TaskScheduleFormFields extends PureComponent {\n public render() {\n const {offset, onChangeInput, interval, cron, schedule} = this.props\n\n return (\n <>\n \n \n \n \n \n\n \n \n \n \n \n \n )\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {get} from 'lodash'\nimport {connect} from 'react-redux'\n\n// Components\nimport {Dropdown, ComponentStatus} from '@influxdata/clockface'\n\n// Utils\nimport {isSystemBucket} from 'src/buckets/constants/index'\nimport {getAll, getStatus} from 'src/resources/selectors'\n\n// Types\nimport {RemoteDataState, AppState, Bucket, ResourceType} from 'src/types'\n\ninterface OwnProps {\n onChangeBucketName: (selectedBucketName: string) => void\n selectedBucketName: string\n}\n\ninterface StateProps {\n buckets: Bucket[]\n status: RemoteDataState\n}\n\ntype Props = OwnProps & StateProps\n\nclass TaskOptionsBucketDropdown extends PureComponent {\n public componentDidMount() {\n this.setSelectedToFirst()\n }\n\n public componentDidUpdate(prevProps: Props) {\n if (this.props.buckets !== prevProps.buckets) {\n this.setSelectedToFirst()\n }\n }\n\n public render() {\n const {selectedBucketName} = this.props\n\n return (\n (\n \n {selectedBucketName}\n \n )}\n menu={onCollapse => (\n \n {this.dropdownItems}\n \n )}\n />\n )\n }\n\n private get dropdownItems(): JSX.Element[] {\n const {buckets} = this.props\n\n if (!buckets || !buckets.length) {\n return [\n \n No Buckets found in Org\n ,\n ]\n }\n\n const nonSystemBuckets = buckets.filter(\n bucket => !isSystemBucket(bucket.name)\n )\n\n return nonSystemBuckets.map(bucket => {\n return (\n \n {bucket.name}\n \n )\n })\n }\n\n private get status(): ComponentStatus {\n const {status, buckets} = this.props\n if (status === RemoteDataState.Loading) {\n return ComponentStatus.Loading\n }\n if (!buckets || !buckets.length) {\n return ComponentStatus.Disabled\n }\n return ComponentStatus.Default\n }\n\n private get selectedName(): string {\n const {selectedBucketName, buckets} = this.props\n\n if (buckets && buckets.length) {\n if (selectedBucketName) {\n return selectedBucketName\n }\n return get(buckets, '0.name', '')\n }\n return 'no-buckets'\n }\n\n private setSelectedToFirst() {\n const {buckets, selectedBucketName, onChangeBucketName} = this.props\n const firstBucketNameInList = get(buckets, '0.name', '')\n\n if (selectedBucketName) {\n return\n }\n\n onChangeBucketName(firstBucketNameInList)\n }\n}\n\nconst mstp = (state: AppState) => {\n const buckets = getAll(state, ResourceType.Buckets).filter(\n (bucket: Bucket): boolean => bucket.type !== 'system'\n )\n const status = getStatus(state, ResourceType.Buckets)\n\n return {\n buckets,\n status,\n }\n}\n\nexport default connect(\n mstp,\n null\n)(TaskOptionsBucketDropdown)\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Components\nimport {\n Form,\n SelectGroup,\n Input,\n Button,\n FlexBox,\n Grid,\n} from '@influxdata/clockface'\nimport TaskScheduleFormField from 'src/tasks/components/TaskScheduleFormField'\nimport TaskOptionsBucketDropdown from 'src/tasks/components/TasksOptionsBucketDropdown'\nimport GetResources from 'src/resources/components/GetResources'\n\n// Types\nimport {\n Columns,\n ButtonType,\n ButtonShape,\n ComponentColor,\n ComponentStatus,\n FlexDirection,\n AlignItems,\n ComponentSize,\n} from '@influxdata/clockface'\nimport {ResourceType, TaskOptions, TaskSchedule} from 'src/types'\n\ninterface Props {\n taskOptions: TaskOptions\n isInOverlay: boolean\n canSubmit: boolean\n onSubmit: () => void\n dismiss: () => void\n onChangeScheduleType: (schedule: TaskSchedule) => void\n onChangeInput: (e: ChangeEvent) => void\n onChangeToBucketName: (bucketName: string) => void\n}\n\ninterface State {\n schedule: TaskSchedule\n}\n\nexport default class TaskForm extends PureComponent {\n public static defaultProps = {\n isInOverlay: false,\n canSubmit: true,\n onSubmit: () => {},\n dismiss: () => {},\n onChangeToBucketName: () => {},\n }\n\n constructor(props: Props) {\n super(props)\n\n this.state = {\n schedule: props.taskOptions.taskScheduleType,\n }\n }\n\n public render() {\n const {\n onChangeInput,\n onChangeToBucketName,\n taskOptions: {\n name,\n taskScheduleType,\n interval,\n offset,\n cron,\n toBucketName,\n },\n isInOverlay,\n } = this.props\n\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n Every\n \n \n Cron\n \n \n {this.cronHelper}\n \n \n \n \n {isInOverlay && (\n \n \n \n \n \n \n \n )}\n {isInOverlay && this.buttons}\n \n \n
    \n )\n }\n\n private get buttons(): JSX.Element {\n const {onSubmit, canSubmit, dismiss} = this.props\n return (\n \n \n \n \n \n \n )\n }\n\n private get cronHelper(): JSX.Element {\n const {taskOptions} = this.props\n\n if (taskOptions.taskScheduleType === TaskSchedule.cron) {\n return (\n \n

    \n For more information on cron syntax,{' '}\n \n click here\n \n

    \n
    \n )\n }\n }\n\n private handleChangeScheduleType = (schedule: TaskSchedule): void => {\n this.props.onChangeScheduleType(schedule)\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {\n ComponentColor,\n Button,\n ComponentStatus,\n Page,\n} from '@influxdata/clockface'\nimport CloudUpgradeButton from 'src/shared/components/CloudUpgradeButton'\n\ninterface Props {\n title: string\n canSubmit: boolean\n onCancel: () => void\n onSave: () => void\n}\n\nexport default class TaskHeader extends PureComponent {\n public render() {\n const {onCancel, onSave, title} = this.props\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private get status() {\n return this.props.canSubmit\n ? ComponentStatus.Default\n : ComponentStatus.Disabled\n }\n}\n","// Libraries\nimport {trimEnd} from 'lodash'\n\n// Types\nimport {TaskOptions, TaskSchedule} from 'src/types'\n\nexport const taskOptionsToFluxScript = (options: TaskOptions): string => {\n let fluxScript = `option task = { \\n name: \"${options.name}\",\\n`\n\n if (options.taskScheduleType === TaskSchedule.interval) {\n fluxScript = `${fluxScript} every: ${options.interval},\\n`\n } else if (options.taskScheduleType === TaskSchedule.cron) {\n fluxScript = `${fluxScript} cron: \"${options.cron}\",\\n`\n }\n\n if (options.offset) {\n fluxScript = `${fluxScript} offset: ${options.offset}\\n`\n }\n\n fluxScript = `${fluxScript}}`\n return fluxScript\n}\n\nexport const addDestinationToFluxScript = (\n script: string,\n options: TaskOptions\n): string => {\n const {toOrgName, toBucketName} = options\n\n if (toOrgName && toBucketName) {\n const trimmedScript = trimEnd(script)\n const trimmedOrgName = toOrgName.trim()\n const trimmedBucketName = toBucketName.trim()\n return `${trimmedScript}\\n |> to(bucket: \"${trimmedBucketName}\", org: \"${trimmedOrgName}\")`\n }\n\n return script\n}\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport TaskForm from 'src/tasks/components/TaskForm'\nimport TaskHeader from 'src/tasks/components/TaskHeader'\nimport {Page} from '@influxdata/clockface'\n\nimport FluxEditor from 'src/shared/components/FluxMonacoEditor'\n\n// Actions\nimport {\n setNewScript,\n setTaskOption,\n clearTask,\n} from 'src/tasks/actions/creators'\nimport {saveNewScript, cancel} from 'src/tasks/actions/thunks'\n\n// Utils\nimport {\n taskOptionsToFluxScript,\n addDestinationToFluxScript,\n} from 'src/utils/taskOptionsToFluxScript'\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Types\nimport {AppState, TaskOptionKeys, TaskSchedule} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nclass TaskPage extends PureComponent {\n constructor(props) {\n super(props)\n }\n\n public componentDidMount() {\n this.props.setTaskOption({\n key: 'taskScheduleType',\n value: TaskSchedule.interval,\n })\n }\n\n public componentWillUnmount() {\n this.props.clearTask()\n }\n\n public render(): JSX.Element {\n const {newScript, taskOptions} = this.props\n\n return (\n \n \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n )\n }\n\n private get isFormValid(): boolean {\n const {\n taskOptions: {name, cron, interval},\n newScript,\n } = this.props\n\n const hasSchedule = !!cron || !!interval\n return hasSchedule && !!name && !!newScript\n }\n\n private handleChangeScript = (script: string) => {\n this.props.setNewScript(script)\n }\n\n private handleChangeScheduleType = (value: TaskSchedule) => {\n this.props.setTaskOption({key: 'taskScheduleType', value})\n }\n\n private handleSave = () => {\n const {newScript, taskOptions} = this.props\n\n const taskOption: string = taskOptionsToFluxScript(taskOptions)\n const script: string = addDestinationToFluxScript(newScript, taskOptions)\n const preamble = `${taskOption}`\n\n this.props.saveNewScript(script, preamble)\n }\n\n private handleCancel = () => {\n this.props.cancel()\n }\n\n private handleChangeInput = (e: ChangeEvent) => {\n const {name, value} = e.target\n const key = name as TaskOptionKeys\n\n this.props.setTaskOption({key, value})\n }\n}\n\nconst mstp = (state: AppState) => {\n const {tasks} = state.resources\n const {taskOptions, newScript} = tasks\n\n return {\n taskOptions,\n newScript,\n }\n}\n\nconst mdtp = {\n setNewScript,\n saveNewScript,\n setTaskOption,\n clearTask,\n cancel,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(TaskPage)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\nimport moment from 'moment'\n\n// Components\nimport {IndexList} from '@influxdata/clockface'\n\n// Types\nimport {LogEvent} from 'src/types'\nimport {DEFAULT_TIME_FORMAT} from 'src/shared/constants'\n\ninterface Props {\n log: LogEvent\n}\n\nclass RunLogRow extends PureComponent {\n constructor(props: Props) {\n super(props)\n }\n\n public render() {\n const {log} = this.props\n\n return (\n \n \n \n {this.dateTimeString(log.time)}\n \n \n \n {log.message}\n \n \n )\n }\n\n private dateTimeString(dt: string): string {\n if (!dt) {\n return ''\n }\n\n const newdate = new Date(dt)\n const formatted = moment(newdate).format(DEFAULT_TIME_FORMAT)\n\n return formatted\n }\n}\n\nexport default RunLogRow\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\n\n//Components\nimport {Overlay, IndexList, DapperScrollbars} from '@influxdata/clockface'\nimport RunLogRow from 'src/tasks/components/RunLogRow'\n\n// Types\nimport {LogEvent} from 'src/types'\n\ninterface Props {\n onDismissOverlay: () => void\n logs: LogEvent[]\n}\n\nclass RunLogsOverlay extends PureComponent {\n constructor(props: Props) {\n super(props)\n }\n\n public render() {\n const {onDismissOverlay} = this.props\n\n return (\n \n \n \n \n \n \n \n \n \n } columnCount={2}>\n {this.listLogs}\n \n \n \n \n \n )\n }\n\n public get listLogs(): JSX.Element[] {\n const logs = this.props.logs.map(rl => (\n \n ))\n\n return logs\n }\n}\n\nexport default RunLogsOverlay\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport moment from 'moment'\n\n// Components\nimport {Overlay, IndexList} from '@influxdata/clockface'\nimport RunLogsOverlay from 'src/tasks/components/RunLogsList'\n\n// Actions\nimport {getLogs} from 'src/tasks/actions/thunks'\n\n// Types\nimport {ComponentSize, ComponentColor, Button} from '@influxdata/clockface'\nimport {AppState, Run} from 'src/types'\nimport {DEFAULT_TIME_FORMAT} from 'src/shared/constants'\n\ninterface OwnProps {\n taskID: string\n run: Run\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\ninterface State {\n isImportOverlayVisible: boolean\n}\n\nclass TaskRunsRow extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n isImportOverlayVisible: false,\n }\n }\n\n public render() {\n const {run} = this.props\n return (\n <>\n \n {run.status}\n \n {this.dateTimeString(run.scheduledFor)}\n \n {this.dateTimeString(run.startedAt)}\n {run.duration}\n \n \n {this.renderLogOverlay}\n \n \n \n )\n }\n\n private dateTimeString(dt: string): string {\n if (!dt) {\n return ''\n }\n const newdate = new Date(dt)\n const formatted = moment(newdate).format(DEFAULT_TIME_FORMAT)\n\n return formatted\n }\n\n private handleToggleOverlay = () => {\n const {taskID, run, getLogs} = this.props\n getLogs(taskID, run.id)\n\n this.setState({isImportOverlayVisible: !this.state.isImportOverlayVisible})\n }\n\n private get renderLogOverlay(): JSX.Element {\n const {isImportOverlayVisible} = this.state\n const {logs} = this.props\n\n return (\n \n \n \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n const {logs} = state.resources.tasks\n\n return {logs}\n}\n\nconst mdtp = {getLogs: getLogs}\n\nconst connector = connect(mstp, mdtp)\nexport default connector(TaskRunsRow)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport {EmptyState, IndexList} from '@influxdata/clockface'\nimport TaskRunsRow from 'src/tasks/components/TaskRunsRow'\n\n// Types\nimport {Sort, ComponentSize} from '@influxdata/clockface'\nimport {Run} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\n\n// Utils\nimport {getSortedResources} from 'src/shared/utils/sort'\n\ninterface Props {\n taskID: string\n runs: Run[]\n sortKey: string\n sortDirection: Sort\n sortType: SortTypes\n onClickColumn: (nextSort: Sort, sortKey: SortKey) => void\n}\n\ntype SortKey = keyof Run\n\nexport default class TaskRunsList extends PureComponent {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n public render() {\n const {sortKey, sortDirection, onClickColumn} = this.props\n\n return (\n \n \n \n \n \n \n \n \n \n \n Looks like this Task doesn't have any Runs\n \n \n }\n columnCount={5}\n >\n {this.sortedRuns}\n \n \n )\n }\n private get headerKeys(): SortKey[] {\n return ['status', 'scheduledFor', 'startedAt', 'duration']\n }\n\n private get sortedRuns(): JSX.Element[] {\n const {runs, sortKey, sortDirection, sortType, taskID} = this.props\n\n const sortedRuns = this.memGetSortedResources(\n runs,\n sortKey,\n sortDirection,\n sortType\n )\n\n const mostRecentRuns = sortedRuns.slice(0, 20)\n\n return mostRecentRuns.map(run => (\n \n ))\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Page, IconFont, Sort} from '@influxdata/clockface'\nimport TaskRunsList from 'src/tasks/components/TaskRunsList'\nimport CloudUpgradeButton from 'src/shared/components/CloudUpgradeButton'\n\n// Types\nimport {AppState, Run} from 'src/types'\nimport {\n SpinnerContainer,\n TechnoSpinner,\n Button,\n ComponentColor,\n} from '@influxdata/clockface'\n\n// Actions\nimport {getRuns, runTask} from 'src/tasks/actions/thunks'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Types\nimport {SortTypes} from 'src/shared/utils/sort'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{id: string; orgID: string}>\n\ninterface State {\n sortKey: SortKey\n sortDirection: Sort\n sortType: SortTypes\n}\n\ntype SortKey = keyof Run\n\nclass TaskRunsPage extends PureComponent {\n constructor(props) {\n super(props)\n this.state = {\n sortKey: 'scheduledFor',\n sortDirection: Sort.Descending,\n sortType: SortTypes.Date,\n }\n }\n\n public render() {\n const {match, runs} = this.props\n const {sortKey, sortDirection, sortType} = this.state\n\n return (\n }\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n public componentDidMount() {\n this.props.getRuns(this.props.match.params.id)\n }\n\n private handleClickColumn = (nextSort: Sort, sortKey: SortKey) => {\n let sortType = SortTypes.String\n\n if (sortKey !== 'status') {\n sortType = SortTypes.Date\n }\n\n this.setState({sortKey, sortDirection: nextSort, sortType})\n }\n\n private get title() {\n const {currentTask} = this.props\n\n if (currentTask) {\n return `${currentTask.name} - Runs`\n }\n return 'Runs'\n }\n\n private handleRunTask = () => {\n const {onRunTask, match, getRuns} = this.props\n onRunTask(match.params.id)\n getRuns(match.params.id)\n }\n\n private handleEditTask = () => {\n const {\n history,\n currentTask,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/tasks/${currentTask.id}/edit`)\n }\n}\n\nconst mstp = (state: AppState) => {\n const {runs, runStatus, currentTask} = state.resources.tasks\n\n return {\n runs,\n runStatus,\n currentTask,\n }\n}\n\nconst mdtp = {\n getRuns: getRuns,\n onRunTask: runTask,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TaskRunsPage))\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport TaskForm from 'src/tasks/components/TaskForm'\nimport TaskHeader from 'src/tasks/components/TaskHeader'\nimport {Page} from '@influxdata/clockface'\n\nimport FluxEditor from 'src/shared/components/FluxMonacoEditor'\n\n// Actions\nimport {\n setCurrentScript,\n setTaskOption,\n clearTask,\n} from 'src/tasks/actions/creators'\nimport {\n updateScript,\n selectTaskByID,\n cancel,\n setAllTaskOptionsByID,\n} from 'src/tasks/actions/thunks'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Types\nimport {AppState, TaskOptionKeys, TaskSchedule} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{id: string}>\n\nclass TaskEditPage extends PureComponent {\n constructor(props) {\n super(props)\n }\n\n public componentDidMount() {\n const {\n match: {\n params: {id},\n },\n } = this.props\n this.props.selectTaskByID(id)\n this.props.setAllTaskOptionsByID(id)\n }\n\n public componentWillUnmount() {\n this.props.clearTask()\n }\n\n public render(): JSX.Element {\n const {currentScript, taskOptions} = this.props\n\n return (\n \n \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n )\n }\n\n private get isFormValid(): boolean {\n const {\n taskOptions: {name, cron, interval},\n currentScript,\n } = this.props\n\n const hasSchedule = !!cron || !!interval\n return hasSchedule && !!name && !!currentScript\n }\n\n private handleChangeScript = (script: string) => {\n this.props.setCurrentScript(script)\n }\n\n private handleChangeScheduleType = (schedule: TaskSchedule) => {\n this.props.setTaskOption({key: 'taskScheduleType', value: schedule})\n }\n\n private handleSave = () => {\n this.props.updateScript()\n }\n\n private handleCancel = () => {\n this.props.cancel()\n }\n\n private handleChangeInput = (e: ChangeEvent) => {\n const {name, value} = e.target\n const key = name as TaskOptionKeys\n\n this.props.setTaskOption({key, value})\n }\n}\n\nconst mstp = (state: AppState) => {\n const {taskOptions, currentScript, currentTask} = state.resources.tasks\n\n return {\n taskOptions,\n currentScript,\n currentTask,\n }\n}\n\nconst mdtp = {\n setTaskOption,\n setCurrentScript,\n updateScript,\n cancel,\n selectTaskByID,\n setAllTaskOptionsByID,\n clearTask,\n}\n\nconst connector = connect(mstp, mdtp)\nexport default connector(TaskEditPage)\n","// Libraries\nimport React, {SFC, ReactElement} from 'react'\nimport {groupBy} from 'lodash'\n\n// Components\nimport {EmptyState, ComponentSize} from '@influxdata/clockface'\n\n// Types\nimport {FluxToolbarFunction} from 'src/types/shared'\n\ninterface Props {\n funcs: FluxToolbarFunction[]\n searchTerm?: string\n children: (funcs: {\n [category: string]: FluxToolbarFunction[]\n }) => JSX.Element | JSX.Element[]\n}\n\nconst TransformToolbarFunctions: SFC = props => {\n const {searchTerm, funcs, children} = props\n\n const filteredFunctions = funcs.filter(func =>\n func.name.toLowerCase().includes(searchTerm.toLowerCase())\n )\n\n const groupedFunctions = groupBy(filteredFunctions, 'category')\n\n if (filteredFunctions.length === 0) {\n return (\n \n No functions match your search\n \n )\n }\n\n return children(groupedFunctions) as ReactElement\n}\n\nexport default TransformToolbarFunctions\n","import React, {SFC} from 'react'\n\ninterface Props {\n description: string\n}\n\nconst TooltipDescription: SFC = ({description}) => (\n
    \n
    Description
    \n {description}\n
    \n)\n\nexport default TooltipDescription\n","import React, {PureComponent} from 'react'\n\ninterface Args {\n name: string\n type: string\n desc: string\n}\n\ninterface Props {\n argsList?: Args[]\n}\n\nclass TooltipArguments extends PureComponent {\n public render() {\n return (\n
    \n
    Arguments
    \n
    {this.arguments}
    \n
    \n )\n }\n\n private get arguments(): JSX.Element | JSX.Element[] {\n const {argsList} = this.props\n\n if (argsList.length > 0) {\n return argsList.map(a => {\n return (\n
    \n {a.name}:\n {a.type}\n
    {a.desc}
    \n
    \n )\n })\n }\n\n return
    None
    \n }\n}\n\nexport default TooltipArguments\n","import React, {SFC} from 'react'\n\ninterface Props {\n example: string\n}\n\nconst TooltipExample: SFC = ({example}) => (\n
    \n
    Example
    \n
    {example}
    \n
    \n)\n\nexport default TooltipExample\n","import React, {SFC} from 'react'\n\ninterface Props {\n link: string\n}\n\nconst TooltipLink: SFC = ({link}) => (\n

    \n Still have questions? Check out the{' '}\n \n Flux Docs\n \n .\n

    \n)\n\nexport default TooltipLink\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {DapperScrollbars} from '@influxdata/clockface'\nimport TooltipDescription from 'src/timeMachine/components/fluxFunctionsToolbar/TooltipDescription'\nimport TooltipArguments from 'src/timeMachine/components/fluxFunctionsToolbar/TooltipArguments'\nimport TooltipExample from 'src/timeMachine/components/fluxFunctionsToolbar/TooltipExample'\nimport TooltipLink from 'src/timeMachine/components/fluxFunctionsToolbar/TooltipLink'\n\n// Types\nimport {FluxToolbarFunction} from 'src/types/shared'\n\ninterface Props {\n func: FluxToolbarFunction\n}\n\nconst FunctionTooltipContents: FunctionComponent = ({\n func: {desc, args, example, link, name},\n}) => {\n return (\n
    \n \n
    \n \n \n \n \n
    \n
    \n
    \n )\n}\n\nexport default FunctionTooltipContents\n","// Libraries\nimport React, {FC, createRef} from 'react'\n\n// Component\nimport FunctionTooltipContents from 'src/timeMachine/components/fluxFunctionsToolbar/FunctionTooltipContents'\nimport {\n Popover,\n PopoverPosition,\n PopoverInteraction,\n Appearance,\n Button,\n ComponentSize,\n ComponentColor,\n} from '@influxdata/clockface'\n\n// Types\nimport {FluxToolbarFunction} from 'src/types/shared'\n\ninterface Props {\n func: FluxToolbarFunction\n onClickFunction: (func: FluxToolbarFunction) => void\n testID: string\n}\n\nconst defaultProps = {\n testID: 'flux-function',\n}\n\nconst ToolbarFunction: FC = ({func, onClickFunction, testID}) => {\n const functionRef = createRef()\n const handleClickFunction = () => {\n onClickFunction(func)\n }\n return (\n <>\n }\n />\n \n {func.name}\n \n \n \n )\n}\n\nToolbarFunction.defaultProps = defaultProps\n\nexport default ToolbarFunction\n","// Libraries\nimport React, {SFC} from 'react'\n\n// Components\nimport ToolbarFunction from 'src/timeMachine/components/fluxFunctionsToolbar/ToolbarFunction'\n\n// Types\nimport {FluxToolbarFunction} from 'src/types/shared'\n\ninterface Props {\n category: string\n funcs: FluxToolbarFunction[]\n onClickFunction: (func: FluxToolbarFunction) => void\n}\n\nconst FunctionCategory: SFC = props => {\n const {category, funcs, onClickFunction} = props\n\n return (\n
    \n
    {category}
    \n {funcs.map(func => (\n \n ))}\n
    \n )\n}\n\nexport default FunctionCategory\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport {debounce} from 'lodash'\n\n// Components\nimport {Input} from '@influxdata/clockface'\n\n// Types\nimport {InputType, IconFont} from '@influxdata/clockface'\n\ninterface Props {\n onSearch: (s: string) => void\n resourceName: string\n}\n\ninterface State {\n searchTerm: string\n}\n\nconst DEBOUNCE_MS = 100\n\nclass FluxToolbarSearch extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n searchTerm: '',\n }\n\n this.handleSearch = debounce(this.handleSearch, DEBOUNCE_MS)\n }\n\n public render() {\n return (\n
    \n \n
    \n )\n }\n\n private handleSearch = (): void => {\n this.props.onSearch(this.state.searchTerm)\n }\n\n private handleChange = (e: ChangeEvent): void => {\n this.setState({searchTerm: e.target.value}, this.handleSearch)\n }\n}\n\nexport default FluxToolbarSearch\n","import {FluxToolbarFunction} from 'src/types/shared'\n\nexport const FROM: FluxToolbarFunction = {\n name: 'from',\n args: [\n {\n name: 'bucket',\n desc: 'Name of the bucket to query.',\n type: 'String',\n },\n {\n name: 'bucketID',\n desc: 'String-encoded ID of the bucket to query.',\n type: 'String',\n },\n {\n name: 'host',\n desc:\n 'URL of the InfluxDB instance to query (only required when querying a different organization or remote InfluxDB instance).',\n type: 'String',\n },\n {\n name: 'org',\n desc:\n 'Organization name (only required when querying a different organization or remote InfluxDB instance).',\n type: 'String',\n },\n {\n name: 'orgID',\n desc:\n 'String-encoded organization ID (only required when querying a different organization or remote InfluxDB instance).',\n type: 'String',\n },\n {\n name: 'token',\n desc:\n 'InfluxDB authentication token (only required when querying a different organization or remote InfluxDB instance).',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Used to retrieve data from an InfluxDB data source. It returns a stream of tables from the specified bucket. Each unique series is contained within its own table. Each record in the table represents a single point in the series.',\n example: 'from(bucket: \"example-bucket\")',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/inputs/from/',\n}\n\nexport const RANGE: FluxToolbarFunction = {\n name: 'range',\n args: [\n {\n name: 'start',\n desc: 'The earliest time to include in results.',\n type: 'Duration | Time | Integer',\n },\n {\n name: 'stop',\n desc: 'The latest time to include in results. Defaults to `now()`.',\n type: 'Duration | Time | Integer',\n },\n ],\n package: '',\n desc:\n \"Filters records based on time bounds. Each input table's records are filtered to contain only records that exist within the time bounds. Each input table's group key value is modified to fit within the time bounds. Tables where all records exists outside the time bounds are filtered entirely.\",\n example: 'range(start: -15m, stop: now())',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/range/',\n}\n\nexport const MEAN: FluxToolbarFunction = {\n name: 'mean',\n args: [\n {\n name: 'column',\n desc: 'The column on which to compute the mean. Defaults to `\"_value\"`',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Computes the mean or average of non-null records in the input table.',\n example: 'mean(column: \"_value\")',\n category: 'Aggregates',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/mean/',\n}\n\nexport const UNION: FluxToolbarFunction = {\n name: 'union',\n args: [\n {\n name: 'tables',\n desc:\n 'Specifies the streams to union together. There must be at least two streams.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Concatenates two or more input streams into a single output stream. The output schemas of the `union()` function is the union of all input schemas. A sort operation may be added if a specific sort order is needed.',\n example: 'union(tables: [table1, table2])',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/union/',\n}\n\nexport const MATH_ABS: FluxToolbarFunction = {\n name: 'math.abs',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the absolute value of x.',\n example: 'math.abs(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/abs/',\n}\n\nexport const MATH_FLOOR: FluxToolbarFunction = {\n name: 'math.floor',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the greatest integer value less than or equal to x.',\n example: 'math.floor(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/floor/',\n}\n\nexport const STRINGS_TITLE: FluxToolbarFunction = {\n name: 'strings.title',\n args: [\n {\n name: 'v',\n desc: 'The string value to convert.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Converts a string to title case.',\n example: 'strings.title(v: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/title/',\n}\n\nexport const STRINGS_TRIM: FluxToolbarFunction = {\n name: 'strings.trim',\n args: [\n {\n name: 'v',\n desc: 'The string value to trim.',\n type: 'String',\n },\n {\n name: 'cutset',\n desc:\n 'The leading and trailing characters to trim from the string value. Only characters that match exactly are trimmed.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Removes specified leading and trailing characters from a string.',\n example: 'strings.trim(v: r._value, cutset: \"_\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/trim/',\n}\n\nexport const FLUX_FUNCTIONS: FluxToolbarFunction[] = [\n {\n name: 'aggregate.rate',\n args: [\n {\n name: 'every',\n desc: 'Duration of windows.',\n type: 'Duration',\n },\n {\n name: 'groupColumns',\n desc: 'List of columns to group by. Defaults to [].',\n type: 'Array of Strings',\n },\n {\n name: 'unit',\n desc:\n 'Time duration to use when calculating the rate. Defaults to `1s`.',\n type: 'Duration',\n },\n ],\n package: 'experimental/aggregate',\n desc: 'Calculates the rate of change per windows of time.',\n example: 'aggregate.rate(every: 1m, unit: 1s)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/aggregate/rate/',\n },\n {\n name: 'aggregateWindow',\n args: [\n {\n name: 'every',\n desc: 'The duration of windows.',\n type: 'Duration',\n },\n {\n name: 'fn',\n desc: 'The aggregate function used in the operation.',\n type: 'Unquoted String',\n },\n {\n name: 'column',\n desc: 'The column on which to operate. Defaults to `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'timeSrc',\n desc:\n 'The \"time source\" column from which time is copied for the aggregate record. Defaults to `\"_stop\"`.',\n type: 'String',\n },\n {\n name: 'timeDst',\n desc:\n 'The \"time destination\" column to which time is copied for the aggregate record. Defaults to `\"_time\"`.',\n type: 'String',\n },\n {\n name: 'createEmpty',\n desc:\n 'For windows without data, this will create an empty window and fill it with a `null` aggregate value.',\n type: 'Boolean',\n },\n ],\n package: '',\n desc: 'Applies an aggregate function to fixed windows of time.',\n example: 'aggregateWindow(every: v.windowPeriod, fn: mean)',\n category: 'Aggregates',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/aggregatewindow/',\n },\n {\n name: 'array.from',\n args: [\n {\n name: 'rows',\n desc: 'Array of records to construct a table with.',\n type: 'Array of Objects',\n },\n ],\n package: 'experimental/array',\n desc: 'Constructs a table from an array of objects.',\n example:\n 'array.from(rows: [{_time: 2020-01-01T00:00:00Z, _value: \"foo\"},{_time: 2020-01-02T00:00:00Z, _value: \"bar\"}])',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/array/from/',\n },\n {\n name: 'bigtable.from',\n args: [\n {\n name: 'token',\n desc:\n 'The Google Cloud IAM token to use to access the Cloud Bigtable database.',\n type: 'String',\n },\n {\n name: 'project',\n desc:\n 'The project ID of the Cloud Bigtable project to retrieve data from.',\n type: 'String',\n },\n {\n name: 'instance',\n desc:\n 'The instance ID of the Cloud Bigtable instance to retrieve data from.',\n type: 'String',\n },\n {\n name: 'table',\n desc: 'The name of the Cloud Bigtable table to retrieve data from.',\n type: 'String',\n },\n ],\n package: 'experimental/bigtable',\n desc: 'Retrieves data from a Google Cloud Bigtable data source.',\n example:\n 'bigtable.from(token: \"mySuPeRseCretTokEn\", project: \"exampleProjectID\", instance: \"exampleInstanceID\", table: \"example-table\")',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/bigtable/from/',\n },\n {\n name: 'bool',\n args: [\n {\n name: 'v',\n desc: 'The value to convert.',\n type: 'String, Integer, UInteger, Float',\n },\n ],\n package: '',\n desc: 'Converts a single value to a boolean.',\n example: 'bool(v: r._value)',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/bool/',\n },\n {\n name: 'bottom',\n args: [\n {\n name: 'n',\n desc: 'The number of rows to return.',\n type: 'Integer',\n },\n {\n name: 'columns',\n desc:\n 'List of columns by which to sort. Sort precedence is determined by list order (left to right) .Default is `[\"_value\"]`',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc: 'Sorts a table by columns and keeps only the bottom n rows.',\n example: 'bottom(n:10, columns: [\"_value\"])',\n category: 'Selectors',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/selectors/bottom/',\n },\n {\n name: 'buckets',\n args: [],\n package: '',\n desc: 'Returns a list of buckets in the organization.',\n example: 'buckets()',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/inputs/buckets/',\n },\n {\n name: 'bytes',\n args: [\n {\n name: 'v',\n desc: 'The value to convert.',\n type: 'String, Integer, UInteger, Float, Boolean',\n },\n ],\n package: '',\n desc: 'Converts a single value to bytes.',\n example: 'bytes(t: r._value)',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/bytes/',\n },\n {\n name: 'chandeMomentumOscillator',\n args: [\n {\n name: 'n',\n desc: 'The period or number of points to use in the calculation.',\n type: 'Integer',\n },\n {\n name: 'columns',\n desc: 'Columns to operate on. Defaults to `[\"_value\"]`.',\n type: 'Array of Strings`',\n },\n ],\n package: '',\n desc:\n 'Applies the technical momentum indicator developed by Tushar Chande.',\n example: 'chandeMomentumOscillator(n: 10)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/chandemomentumoscillator/',\n },\n {\n name: 'columns',\n args: [\n {\n name: 'column',\n desc:\n 'The name of the output column in which to store the column labels.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Lists the column labels of input tables.',\n example: 'columns(column: \"_value\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/columns/',\n },\n {\n name: 'contains',\n args: [\n {\n name: 'value',\n desc: 'The value to search for.',\n type: 'Boolean, Integer, UInteger, Float, String, Time',\n },\n {\n name: 'set',\n desc: 'The set of values in which to search.',\n type: 'Boolean, Integer, UInteger, Float, String, Time',\n },\n ],\n package: '',\n desc: 'Tests whether a value is a member of a set.',\n example: 'contains(value: 1, set: [1,2,3])',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/tests/contains/',\n },\n {\n name: 'count',\n args: [\n {\n name: 'column',\n desc: 'The column on which to operate. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Outputs the number of records in the specified column.',\n example: 'count(column: \"_value\")',\n category: 'Aggregates',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/count/',\n },\n {\n name: 'cov',\n args: [\n {\n name: 'x',\n desc: 'One input stream used to calculate the covariance.',\n type: 'Object',\n },\n {\n name: 'y',\n desc: 'The other input table used to calculate the covariance.',\n type: 'Object',\n },\n {\n name: 'on',\n desc: 'The list of columns on which to join.',\n type: 'Array of Strings',\n },\n {\n name: 'pearsonr',\n desc:\n 'Indicates whether the result should be normalized to be the Pearson R coefficient',\n type: 'Boolean',\n },\n ],\n package: '',\n desc:\n 'Computes the covariance between two streams by first joining the streams, then performing the covariance operation.',\n example:\n 'cov(x: table1, y: table2, on: [\"_time\", \"_field\"], pearsonr: false)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/cov/',\n },\n {\n name: 'covariance',\n args: [\n {\n name: 'columns',\n desc:\n 'A list of columns on which to operate. Exactly two columns must be provided.',\n type: 'Array of Strings',\n },\n {\n name: 'pearsonr',\n desc:\n 'Indicates whether the result should be normalized to be the Pearson R coefficient',\n type: 'Boolean',\n },\n {\n name: 'valueDst',\n desc:\n 'The column into which the result will be placed. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Computes the covariance between two columns.',\n example:\n 'covariance(columns: [\"column_x\", \"column_y\"], pearsonr: false, valueDst: \"_value\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/covariance/',\n },\n {\n name: 'csv.from',\n args: [\n {\n name: 'file',\n desc: 'The file path of the CSV file to query.',\n type: 'String',\n },\n {\n name: 'csv',\n desc:\n 'Raw CSV-formatted text. CSV data must be in the CSV format produced by the Flux HTTP response standard.',\n type: 'String',\n },\n ],\n package: 'csv',\n desc: 'Retrieves data from a comma-separated value (CSV) data source.',\n example: 'csv.from(csv: csvData)',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/csv/from/',\n },\n {\n name: 'csv.from',\n args: [\n {\n name: 'url',\n desc: 'The URL to retrieve annotated CSV from.',\n type: 'String',\n },\n ],\n package: 'experimental/csv',\n desc: 'Retrieves annotated CSV data from a URL.',\n example: 'csv.from(url: \"http://example.com/data.csv\")',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/csv/from/',\n },\n {\n name: 'cumulativeSum',\n args: [\n {\n name: 'columns',\n desc:\n 'A list of columns on which to operate. Defaults to `[\"_value\"]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Computes a running sum for non-null records in the table. The output table schema will be the same as the input table.',\n example: 'cumulativeSum(columns: [\"_value\"])',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/cumulativesum/',\n },\n {\n name: 'date.hour',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration',\n },\n ],\n package: 'date',\n desc: 'Returns the hour of a specified time. Results range from `[0-23]`.',\n example: 'date.hour(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/date/hour/',\n },\n {\n name: 'date.microsecond',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration',\n },\n ],\n package: 'date',\n desc:\n 'Returns the microsecond of a specified time. Results range from `[1-999999]`.',\n example: 'date.microsecond(t: 2019-07-17T12:05:21.012934584Z)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/date/microsecond/',\n },\n {\n name: 'date.millisecond',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration',\n },\n ],\n package: 'date',\n desc:\n 'Returns the millisecond of a specified time. Results range from `[1-999]`.',\n example: 'date.millisecond(t: 2019-07-17T12:05:21.012934584Z)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/date/millisecond/',\n },\n {\n name: 'date.minute',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration',\n },\n ],\n package: 'date',\n desc:\n 'Returns the minute of a specified time. Results range from `[0-59]`.',\n example: 'date.minute(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/date/minute/',\n },\n {\n name: 'date.month',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration',\n },\n ],\n package: 'date',\n desc: 'Returns the month of a specified time. Results range from `[1-12]`.',\n example: 'date.month(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/date/month/',\n },\n {\n name: 'date.monthDay',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration',\n },\n ],\n package: 'date',\n desc:\n 'Returns the day of the month for a specified time. Results range from `[1-31]`.',\n example: 'date.monthDay(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/date/monthday/',\n },\n {\n name: 'date.nanosecond',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration',\n },\n ],\n package: 'date',\n desc:\n 'Returns the nanosecond of a specified time. Results range from `[1-999999999]`.',\n example: 'date.nanosecond(t: 2019-07-17T12:05:21.012934584Z)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/date/nanosecond/',\n },\n {\n name: 'date.quarter',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration',\n },\n ],\n package: 'date',\n desc:\n 'Returns the quarter of the year for a specified time. Results range from `[1-4]`.',\n example: 'date.quarter(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/date/quarter/',\n },\n {\n name: 'date.second',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration',\n },\n ],\n package: 'date',\n desc:\n 'Returns the second of a specified time. Results range from `[0-59]`.',\n example: 'date.second(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/date/second/',\n },\n {\n name: 'date.truncate',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration',\n },\n {\n name: 'unit',\n desc:\n 'The unit time to truncate to. Only use `1` and the unit of time to specify the `unit`. For example, `1s`, `1m`, `1h`.',\n type: 'Duration',\n },\n ],\n package: 'date',\n desc:\n 'Truncates the time to a specified unit. Results range from `[0-59]`.',\n example: 'date.truncate(t: 2019-07-17T12:05:21.012Z, unit: 1s)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/date/truncate/',\n },\n {\n name: 'date.week',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration',\n },\n ],\n package: 'date',\n desc:\n 'Returns the ISO week of the year for a specified time. Results range from `[1-53]`.',\n example: 'date.week(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/date/week/',\n },\n {\n name: 'date.weekDay',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration',\n },\n ],\n package: 'date',\n desc:\n 'Returns the day of the week for a specified time. Results range from `[0-6]`.',\n example: 'date.weekDay(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/date/weekday/',\n },\n {\n name: 'date.year',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration',\n },\n ],\n package: 'date',\n desc: 'Returns the year of a specified time.',\n example: 'date.year(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/date/year/',\n },\n {\n name: 'date.yearDay',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration',\n },\n ],\n package: 'date',\n desc:\n 'Returns the day of the year for a specified time. Results include leap days and range from `[1-366]`.',\n example: 'date.yearDay(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/date/yearday/',\n },\n {\n name: 'derivative',\n args: [\n {\n name: 'unit',\n desc: 'The time duration used when creating the derivative.',\n type: 'Duration',\n },\n {\n name: 'nonNegative',\n desc:\n 'Indicates if the derivative is allowed to be negative. When set to `true`, if a value is less than the previous value, it is assumed the previous value should have been a zero.',\n type: 'Boolean',\n },\n {\n name: 'columns',\n desc:\n 'A list of columns on which to operate. Defaults to `[\"_value\"]`.',\n type: 'Array of Strings',\n },\n {\n name: 'timeColumn',\n desc: 'The column name for the time values. Defaults to `\"_time\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Computes the rate of change per unit of time between subsequent non-null records. The output table schema will be the same as the input table.',\n example:\n 'derivative(unit: 1s, nonNegative: true, columns: [\"_value\"], timeColumn: \"_time\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/derivative/',\n },\n {\n name: 'difference',\n args: [\n {\n name: 'nonNegative',\n desc:\n 'Indicates if the derivative is allowed to be negative. When set to `true`, if a value is less than the previous value, it is assumed the previous value should have been a zero.',\n type: 'Boolean',\n },\n {\n name: 'columns',\n desc:\n 'The columns to use to compute the difference. Defaults to `\"_value\"`.',\n type: 'Array of Strings',\n },\n {\n name: 'keepFirst',\n desc:\n 'Indicates the first row should be kept. If `true`, the difference will be `null`. Defaults to `false`.',\n type: 'Boolean',\n },\n ],\n package: '',\n desc:\n 'Computes the difference between subsequent non-null records in the specified columns.',\n example: 'difference(nonNegative: false, columns: [\"_value\"])',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/difference/',\n },\n {\n name: 'distinct',\n args: [\n {\n name: 'column',\n desc: 'Column on which to track unique values.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Returns the unique values for a given column.',\n example: 'distinct(column: \"host\")',\n category: 'Selectors',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/selectors/distinct/',\n },\n {\n name: 'doubleEMA',\n args: [\n {\n name: 'n',\n desc: 'The number of points to average.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Calculates the exponential moving average of values in the `_value` column grouped into `n` number of points, giving more weight to recent data at double the rate of `exponentialMovingAverage()`.',\n example: 'doubleEMA(n: 5)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/doubleema/',\n },\n {\n name: 'drop',\n args: [\n {\n name: 'columns',\n desc:\n 'A list of columns to be removed from the table. Cannot be used with `fn`.',\n type: 'Array of Strings',\n },\n {\n name: 'fn',\n desc:\n 'A function which takes a column name as a parameter and returns a boolean indicating whether or not the column should be removed from the table. Cannot be used with `columns`.',\n type: 'Function',\n },\n ],\n package: '',\n desc:\n 'Removes specified columns from a table. Columns can be specified either through a list or a predicate function. When a dropped column is part of the group key, it will be removed from the key.',\n example: 'drop(columns: [\"col1\", \"col2\"])',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/drop/',\n },\n {\n name: 'duplicate',\n args: [\n {\n name: 'column',\n desc: 'The column name to duplicate.',\n type: 'String',\n },\n {\n name: 'as',\n desc: 'The name assigned to the duplicate column.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Duplicates a specified column in a table.',\n example: 'duplicate(column: \"column-name\", as: \"duplicate-name\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/duplicate/',\n },\n {\n name: 'duration',\n args: [\n {\n name: 'v',\n desc: 'The value to convert.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Converts a single value to a duration.',\n example: 'duration(v: r._value)',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/duration/',\n },\n {\n name: 'experimental.addDuration',\n args: [\n {\n name: 'd',\n desc: 'The duration to add.',\n type: 'Duration',\n },\n {\n name: 'to',\n desc: 'The time to add the duration to.',\n type: 'Time',\n },\n ],\n package: 'experimental',\n desc:\n 'Adds a duration to a time value and returns the resulting time value.',\n example: 'experimental.addDuration(d: 12h, to: now())',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/addduration/',\n },\n {\n name: 'experimental.alignTime',\n args: [\n {\n name: 'alignTo',\n desc: 'UTC time to align tables to. Default is 1970-01-01T00:00:00Z.',\n type: 'Time',\n },\n ],\n package: 'experimental',\n desc: 'Aligns input tables to a common start time.',\n example: 'experimental.alignTime(alignTo: v.timeRangeStart)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/aligntime/',\n },\n {\n name: 'experimental.chain',\n args: [\n {\n name: 'first',\n desc: 'The first query to execute.',\n type: 'Stream of Tables',\n },\n {\n name: 'second',\n desc: 'The second query to execute.',\n type: 'Stream of Tables',\n },\n ],\n package: 'experimental',\n desc:\n 'Executes two queries sequentially rather than in parallel and outputs the results of the second query.',\n example: 'experimental.chain(first: query1, second: query2)',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/chain/',\n },\n {\n name: 'experimental.group',\n args: [\n {\n name: 'columns',\n desc:\n 'List of columns to use in the grouping operation. Defaults to `[]`.',\n type: 'Array of Strings',\n },\n {\n name: 'mode',\n desc:\n 'The mode used to group columns. Only the `extend` mode is available with this function.',\n type: 'String',\n },\n ],\n package: 'experimental',\n desc: 'Introduces an extend mode to the existing `group()` function.',\n example:\n 'experimental.group(columns: [\"host\", \"_measurement\"], mode: \"extend\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/group/',\n },\n {\n name: 'experimental.join',\n args: [\n {\n name: 'left',\n desc: 'First of two streams of tables to join.',\n type: 'Stream of tables',\n },\n {\n name: 'right',\n desc: 'Second of two streams of tables to join.',\n type: 'Stream of tables',\n },\n {\n name: 'fn',\n desc:\n 'A function that maps new output rows using left and right input rows.',\n type: 'Function',\n },\n ],\n package: 'experimental',\n desc:\n 'Joins two streams of tables on the group key and _time column. Use the fn parameter to map output tables.',\n example:\n 'experimental.join(left: left, right: right, fn: (left, right) => ({left with lv: left._value, rv: right._value }))',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/join/',\n },\n {\n name: 'experimental.objectKeys',\n args: [\n {\n name: 'o',\n desc: 'The object to return keys from.',\n type: 'Object',\n },\n ],\n package: 'experimental',\n desc: 'Returns an array of keys in a specified object.',\n example: 'experimental.objectKeys(o: {key1: \"value1\", key2: \"value2\"})',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/objectkeys/',\n },\n {\n name: 'experimental.set',\n args: [\n {\n name: 'o',\n desc: 'An object that defines the columns and values to set.',\n type: 'Object',\n },\n ],\n package: 'experimental',\n desc: 'Sets multiple static column values on all records.',\n example: 'experimental.set(o: {column1: \"value1\", column2: \"value2\"})',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/set/',\n },\n {\n name: 'experimental.subDuration',\n args: [\n {\n name: 'd',\n desc: 'The duration to subtract.',\n type: 'Duration',\n },\n {\n name: 'from',\n desc: 'The time to subtract the duration from.',\n type: 'Time',\n },\n ],\n package: 'experimental',\n desc:\n 'Subtracts a duration from a time value and returns the resulting time value.',\n example: 'experimental.subDuration(d: 12h, from: now())',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/subduration/',\n },\n {\n name: 'experimental.to',\n args: [\n {\n name: 'bucket',\n desc:\n 'The bucket to write data to. `bucket` and `bucketID` are mutually exclusive.',\n type: 'String',\n },\n {\n name: 'bucketID',\n desc:\n 'The ID of the bucket to write data to. `bucketID` and `bucket` are mutually exclusive.',\n type: 'String',\n },\n {\n name: 'org',\n desc:\n 'The organization name of the specified bucket. `org` and `orgID` are mutually exclusive.',\n type: 'String',\n },\n {\n name: 'orgID',\n desc:\n 'The organization ID of the specified bucket. `orgID` and `org` are mutually exclusive.',\n type: 'String',\n },\n ],\n package: 'experimental',\n desc:\n 'Writes data to an InfluxDB v2.0 bucket, but in a different structure than the built-in `to()` function.',\n example: 'experimental.to(bucket: \"example-bucket\", org: \"example-org\")',\n category: 'Outputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/to/',\n },\n {\n name: 'elapsed',\n args: [\n {\n name: 'unit',\n desc: 'The unit time to return. Defaults to `1s`.',\n type: 'Duration',\n },\n {\n name: 'timeColumn',\n desc:\n 'The column to use to compute the elapsed time. Defaults to `\"_time\"`.',\n type: 'String`',\n },\n {\n name: 'columnName',\n desc: 'The column to store elapsed times. Defaults to `\"elapsed\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Returns the time between subsequent records.',\n example: 'elapsed(unit: 1s)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/elapsed/',\n },\n {\n name: 'exponentialMovingAverage',\n args: [\n {\n name: 'n',\n desc: 'The number of points to average.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Calculates the exponential moving average of values in the `_value` column grouped into `n` number of points, giving more weight to recent data.',\n example: 'exponentialMovingAverage(n: 5)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/exponentialmovingaverage/',\n },\n {\n name: 'fill',\n args: [\n {\n name: 'column',\n desc:\n 'The column in which to replace null values. Defaults to `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'value',\n desc: 'The constant value to use in place of nulls.',\n type: 'Value type of `column`',\n },\n {\n name: 'usePrevious',\n desc:\n 'When `true`, assigns the value set in the previous non-null row.',\n type: 'Boolean',\n },\n ],\n package: '',\n desc:\n 'Replaces all null values in an input stream and replace them with a non-null value.',\n example: 'fill(column: \"_value\", usePrevious: true)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/fill/',\n },\n {\n name: 'filter',\n args: [\n {\n name: 'fn',\n desc:\n 'A single argument function that evaluates true or false. Records are passed to the function. Those that evaluate to true are included in the output tables.',\n type: 'Function',\n },\n {\n name: 'onEmpty',\n desc:\n 'Defines the behavior for empty tables. Potential values are `keep` and `drop`. Defaults to `drop`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Filters data based on conditions defined in the function. The output tables have the same schema as the corresponding input tables.',\n example: 'filter(fn: (r) => r._measurement == \"cpu\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/filter/',\n },\n {\n name: 'findColumn',\n args: [\n {\n name: 'fn',\n desc: 'Predicate function for matching keys in a table’s group key.',\n type: 'Function',\n },\n {\n name: 'column',\n desc: 'Name of the column to extract.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Returns an array of values in a specified column from the first table in a stream of tables where the group key values match the specified predicate.',\n example: 'findColumn(fn: (key) => key.host == \"host1\", column: \"_value\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/stream-table/findcolumn/',\n },\n {\n name: 'findRecord',\n args: [\n {\n name: 'fn',\n desc: 'Predicate function for matching keys in a table’s group key.',\n type: 'Function',\n },\n {\n name: 'idx',\n desc: 'Index of the record to extract.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Returns a record at a specified index from the first table in a stream of tables where the group key values match the specified predicate.',\n example: 'findRecord(fn: (key) => key.host == \"host1\", idx: 0)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/stream-table/findrecord/',\n },\n {\n name: 'first',\n args: [],\n package: '',\n desc: 'Selects the first non-null record from an input table.',\n example: 'first()',\n category: 'Selectors',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/selectors/first/',\n },\n {\n name: 'float',\n args: [\n {\n name: 'v',\n desc: 'The value to convert.',\n type: 'String, Integer, UInteger, Boolean',\n },\n ],\n package: '',\n desc: 'Converts a single value to a float.',\n example: 'float(v: r._value)',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/float/',\n },\n FROM,\n {\n name: 'geo.asTracks',\n args: [\n {\n name: 'groupBy',\n desc: 'Columns to group by. They should uniquely identify each track.',\n type: 'Array of Strings',\n },\n {\n name: 'orderBy',\n desc: 'Columns to order results by.',\n type: 'Array of Strings',\n },\n ],\n package: 'experimental/geo',\n desc:\n 'Groups geo-temporal data into tracks (sequential, related data points).',\n example: 'geo.asTracks(groupBy: [\"id\",\"tid\"], orderBy: [\"_time\"])',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/geo/astracks/',\n },\n {\n name: 'geo.filterRows',\n args: [\n {\n name: 'region',\n desc: 'Region containing the desired data points.',\n type: 'Object',\n },\n {\n name: 'minSize',\n desc:\n 'Minimum number of cells that cover the specified region. Default is `24`',\n type: 'Integer',\n },\n {\n name: 'maxSize',\n desc:\n 'Maximum number of cells that cover the specified region. Default is `-1`.',\n type: 'Object',\n },\n {\n name: 'level',\n desc: 'S2 cell level of grid cells. Default is `-1`',\n type: 'Integer',\n },\n {\n name: 's2CellIDLevel',\n desc: 'S2 Cell level used in `s2_cell_id` tag. Default is `-1`.',\n type: 'Integer',\n },\n {\n name: 'strict',\n desc: 'Enable strict geographic data filtering. Default is `true`',\n type: 'Boolean',\n },\n ],\n package: 'experimental/geo',\n desc:\n 'Filters data by a specified geographic region with the option of strict filtering.',\n example:\n 'geo.filterRows(region: {lat: 37.7858229, lon: -122.4058124, radius: 20.0}, strict: true)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/geo/filterrows/',\n },\n {\n name: 'geo.gridFilter',\n args: [\n {\n name: 'region',\n desc: 'Region containing the desired data points.',\n type: 'Object',\n },\n {\n name: 'minSize',\n desc:\n 'Minimum number of cells that cover the specified region. Default is `24`',\n type: 'Integer',\n },\n {\n name: 'maxSize',\n desc:\n 'Maximum number of cells that cover the specified region. Default is `-1`.',\n type: 'Object',\n },\n {\n name: 'level',\n desc: 'S2 cell level of grid cells. Default is `-1`',\n type: 'Integer',\n },\n {\n name: 's2CellIDLevel',\n desc: 'S2 Cell level used in `s2_cell_id` tag. Default is `-1`.',\n type: 'Integer',\n },\n ],\n package: 'experimental/geo',\n desc:\n 'Filters data by a specified geographic region using S2 geometry grid cells.',\n example:\n 'geo.gridFilter(region: {lat: 37.7858229, lon: -122.4058124, radius: 20.0})',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/geo/gridfilter/',\n },\n {\n name: 'geo.groupByArea',\n args: [\n {\n name: 'newColumn',\n desc:\n 'Name of the new column that stores the unique identifier for a geographic area.',\n type: 'String',\n },\n {\n name: 'level',\n desc:\n 'S2 Cell level used to determine the size of each geographic area.',\n type: 'Integer',\n },\n {\n name: 's2cellIDLevel',\n desc: 'S2 Cell level used in `s2_cell_id` tag. Default is `-1`.',\n type: 'Integer',\n },\n ],\n package: 'experimental/geo',\n desc: 'Groups rows by geographic area using S2 geometry grid cells.',\n example: 'geo.groupByArea(newColumn: \"geoArea\", level: 10)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/geo/groupbyarea/',\n },\n {\n name: 'geo.s2CellIDToken',\n args: [\n {\n name: 'point',\n desc:\n 'Longitude and latitude in decimal degrees (WGS 84) to use when generating the S2 cell ID token. Object must contain `lat` and `lon` properties.',\n type: 'Object',\n },\n {\n name: 'token',\n desc: 'S2 cell ID token to update.',\n type: 'String',\n },\n {\n name: 'level',\n desc: 'S2 cell level to use when generating the S2 cell ID token.',\n type: 'Integer',\n },\n ],\n package: 'experimental/geo',\n desc: 'Returns an S2 cell ID token.',\n example:\n 'geo.s2CellIDToken(point: {lat: 37.7858229, lon: -122.4058124}, level: 10)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/geo/s2cellidtoken/',\n },\n {\n name: 'geo.s2CellLatLon',\n args: [\n {\n name: 'token',\n desc: 'S2 cell ID token.',\n type: 'String',\n },\n ],\n package: 'experimental/geo',\n desc: 'Returns the latitude and longitude of the center of an S2 cell.',\n example: 'geo.s2CellLatLon(token: \"89c284\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/geo/s2celllatlon/',\n },\n {\n name: 'geo.shapeData',\n args: [\n {\n name: 'latField',\n desc: 'Name of existing latitude field.',\n type: 'String',\n },\n {\n name: 'lonField',\n desc: 'Name of existing longitude field.',\n type: 'String',\n },\n {\n name: 'level',\n desc: 'S2 cell level to use when generating the S2 cell ID token.',\n type: 'Integer',\n },\n ],\n package: 'experimental/geo',\n desc:\n 'Renames existing latitude and longitude fields to `lat` and `lon` and adds an `s2_cell_id` tag.',\n example:\n 'geo.shapeData(latField: \"latitude\", lonField: \"longitude\", level: 10)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/geo/shapedata/',\n },\n {\n name: 'geo.ST_Contains',\n args: [\n {\n name: 'region',\n desc: 'Region to test.',\n type: 'Object',\n },\n {\n name: 'geometry',\n desc:\n 'GIS geometry to test. Can be either point or linestring geometry.',\n type: 'Object',\n },\n ],\n package: 'experimental/geo',\n desc: 'Tests if the region contains the GIS geometry.',\n example:\n 'geo.ST_Contains(region: {lat: 40.7, lon: -73.3, radius: 20.0}, geometry: {lon: 39.7515, lat: 15.08433})',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/geo/st_contains/',\n },\n {\n name: 'geo.ST_Distance',\n args: [\n {\n name: 'region',\n desc: 'Region to test.',\n type: 'Object',\n },\n {\n name: 'geometry',\n desc:\n 'GIS geometry to test. Can be either point or linestring geometry.',\n type: 'Object',\n },\n ],\n package: 'experimental/geo',\n desc: 'Returns the distance between the region and GIS geometry.',\n example:\n 'geo.ST_Distance(region: {lat: 40.7, lon: -73.3, radius: 20.0}, geometry: {lon: 39.7515, lat: 15.08433})',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/geo/st_distance/',\n },\n {\n name: 'geo.ST_DWithin',\n args: [\n {\n name: 'region',\n desc: 'Region to test.',\n type: 'Object',\n },\n {\n name: 'geometry',\n desc:\n 'GIS geometry to test. Can be either point or linestring geometry.',\n type: 'Object',\n },\n {\n name: 'distance',\n desc: 'Maximum distance allowed between the region and geometry.',\n type: 'Float',\n },\n ],\n package: 'experimental/geo',\n desc: 'Tests if a region is within a specified distance from GIS geometry.',\n example:\n 'geo.ST_DWithin(region: {lat: 40.7, lon: -73.3, radius: 20.0}, geometry: {lon: 39.7515, lat: 15.08433}, distance: 1000.0)',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/geo/st_dwithin/',\n },\n {\n name: 'geo.ST_Intersects',\n args: [\n {\n name: 'region',\n desc: 'Region to test.',\n type: 'Object',\n },\n {\n name: 'geometry',\n desc:\n 'GIS geometry to test. Can be either point or linestring geometry.',\n type: 'Object',\n },\n ],\n package: 'experimental/geo',\n desc: 'Tests if a region intersects with GIS geometry.',\n example:\n 'geo.ST_Intersects(region: {lat: 40.7, lon: -73.3, radius: 20.0}, geometry: {linestring: \"39.7515 14.01433, 38.3527 13.9228, 36.9978 15.08433\"})',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/geo/st_intersects/',\n },\n {\n name: 'geo.ST_Length',\n args: [\n {\n name: 'geometry',\n desc:\n 'GIS geometry to test. Can be either point or linestring geometry.',\n type: 'Object',\n },\n ],\n package: 'experimental/geo',\n desc: 'Returns the spherical length of GIS geometry.',\n example:\n 'geo.ST_Length(geometry: {linestring: \"39.7515 14.01433, 38.3527 13.9228, 36.9978 15.08433\"})',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/geo/st_length/',\n },\n {\n name: 'geo.ST_LineString',\n args: [],\n package: 'experimental/geo',\n desc: 'Converts a series of geographic points into linestring',\n example: 'geo.ST_LineString()',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/geo/st_linestring/',\n },\n {\n name: 'geo.strictFilter',\n args: [\n {\n name: 'region',\n desc: 'Region containing the desired data points.',\n type: 'Object',\n },\n ],\n package: 'experimental/geo',\n desc: 'Filters data by latitude and longitude in a specified region.',\n example:\n 'geo.strictFilter(region: {lat: 37.7858229, lon: -122.4058124, radius: 20.0})',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/geo/strictfilter/',\n },\n {\n name: 'geo.toRows',\n args: [],\n package: 'experimental/geo',\n desc:\n 'Pivots geo-temporal data into row-wise sets based on time and other correlation columns.',\n example: 'geo.toRows(correlationKey: [\"_time\"])',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/geo/torows/',\n },\n {\n name: 'getColumn',\n args: [\n {\n name: 'column',\n desc: 'The name of the column to extract.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Extracts a column from a table given its label. If the label is not present in the set of columns, the function errors.',\n example: 'getColumn(column: \"_value\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/stream-table/getcolumn/',\n },\n {\n name: 'getRecord',\n args: [\n {\n name: 'idx',\n desc: 'The index of the record to extract.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Extracts a record from a table given the record’s index. If the index is out of bounds, the function errors.',\n example: 'getRecord(idx: 0)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/stream-table/getrecord/',\n },\n {\n name: 'group',\n args: [\n {\n name: 'columns',\n desc:\n 'List of columns to use in the grouping operation. Defaults to `[]`.',\n type: 'Array of Strings',\n },\n {\n name: 'mode',\n desc:\n 'The mode used to group columns. The following options are available: by, except. Defaults to `\"by\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Groups records based on their values for specific columns. It produces tables with new group keys based on provided properties.',\n example: 'group(columns: [\"host\", \"_measurement\"], mode:\"by\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/group/',\n },\n {\n name: 'highestAverage',\n args: [\n {\n name: 'n',\n desc: 'Number of records to return.',\n type: 'Integer',\n },\n {\n name: 'column',\n desc: 'Column by which to sort. Default is `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'groupColumns',\n desc:\n 'The columns on which to group before performing the aggregation. Default is `[]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Returns the top `n` records from all groups using the average of each group.',\n example: 'highestAverage(n:10, groupColumns: [\"host\"])',\n category: 'Selectors',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/selectors/highestaverage/',\n },\n {\n name: 'highestCurrent',\n args: [\n {\n name: 'n',\n desc: 'Number of records to return.',\n type: 'Integer',\n },\n {\n name: 'column',\n desc: 'Column by which to sort. Default is `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'groupColumns',\n desc:\n 'The columns on which to group before performing the aggregation. Default is `[]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Returns the top `n` records from all groups using the last value of each group.',\n example: 'highestCurrent(n:10, groupColumns: [\"host\"])',\n category: 'Selectors',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/selectors/highestcurrent/',\n },\n {\n name: 'highestMax',\n args: [\n {\n name: 'n',\n desc: 'Number of records to return.',\n type: 'Integer',\n },\n {\n name: 'column',\n desc: 'Column by which to sort. Default is `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'groupColumns',\n desc:\n 'The columns on which to group before performing the aggregation. Default is `[]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Returns the top `n` records from all groups using the maximum of each group.',\n example: 'highestMax(n:10, groupColumns: [\"host\"])',\n category: 'Selectors',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/selectors/highestmax/',\n },\n {\n name: 'histogram',\n args: [\n {\n name: 'column',\n desc:\n 'The name of a column containing input data values. The column type must be float. Defaults to `\"_value\"`.',\n type: 'Strings',\n },\n {\n name: 'upperBoundColumn',\n desc:\n 'The name of the column in which to store the histogram\\'s upper bounds. Defaults to `\"le\"`.',\n type: 'String',\n },\n {\n name: 'countColumn',\n desc:\n 'The name of the column in which to store the histogram counts. Defaults to `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'bins',\n desc:\n 'A list of upper bounds to use when computing the histogram frequencies. Each element in the array should contain a float value that represents the maximum value for a bin.',\n type: 'Array of Floats',\n },\n {\n name: 'normalize',\n desc:\n 'When `true`, will convert the counts into frequency values between 0 and 1. Defaults to `false`.',\n type: 'Boolean',\n },\n ],\n package: '',\n desc:\n 'Approximates the cumulative distribution function of a dataset by counting data frequencies for a list of buckets.',\n example:\n 'histogram(column: \"_value\", upperBoundColumn: \"le\", countColumn: \"_value\", bins: [50.0, 75.0, 90.0], normalize: false)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/histogram/',\n },\n {\n name: 'histogramQuantile',\n args: [\n {\n name: 'quantile',\n desc:\n 'A value between 0 and 1 indicating the desired quantile to compute.',\n type: 'Float',\n },\n {\n name: 'countColumn',\n desc:\n 'The name of the column in which to store the histogram counts. The count column type must be float. Defaults to `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'upperBoundColumn',\n desc:\n 'The name of the column in which to store the histogram\\'s upper bounds. The count column type must be float. Defaults to `\"le\"`.',\n type: 'String',\n },\n {\n name: 'valueColumn',\n desc:\n 'The name of the output column which will contain the computed quantile. Defaults to `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'minValue',\n desc:\n 'The assumed minimum value of the dataset. When the quantile falls below the lowest upper bound, interpolation is performed between `minValue` and the lowest upper bound. When `minValue` is equal to negative infinity, the lowest upper bound is used. Defaults to `0`.',\n type: 'Float',\n },\n ],\n package: '',\n desc:\n 'Approximates a quantile given a histogram that approximates the cumulative distribution of the dataset.',\n example:\n 'histogramQuantile(quantile: 0.5, countColumn: \"_value\", upperBoundColumn: \"le\", valueColumn: \"_value\", minValue: 0.0)',\n category: 'Aggregates',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/histogramquantile/',\n },\n {\n name: 'holtWinters',\n args: [\n {\n name: 'n',\n desc: 'Number of values to predict.',\n type: 'Integer',\n },\n {\n name: 'seasonality',\n desc: 'Number of points in a season. Defaults to `0`.',\n type: 'Integer',\n },\n {\n name: 'interval',\n desc: 'The interval between two data points.',\n type: 'Duration',\n },\n {\n name: 'withFit',\n desc:\n 'Returns \"fitted\" data points in results when `withFit` is set to `true`. Defaults to `false`.',\n type: 'Boolean',\n },\n {\n name: 'timeColumn',\n desc: 'The time column to use. Defaults to `\"_time\"`.',\n type: 'String',\n },\n {\n name: 'column',\n desc: 'The column to operate on. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Applies the Holt-Winters forecasting method to input tables. The Holt-Winters method predicts `n` seasonally-adjusted values for the specified `column` at the specified `interval`.',\n example: 'holtWinters(n: 10, interval: 1d)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/holtwinters/',\n },\n {\n name: 'hourSelection',\n args: [\n {\n name: 'start',\n desc:\n 'The first hour of the hour range (inclusive). Hours range from `[0-23]`',\n type: 'Integer',\n },\n {\n name: 'stop',\n desc:\n 'The last hour of the hour range (inclusive). Hours range from `[0-23]`.',\n type: 'Integer`',\n },\n {\n name: 'timeColumn',\n desc: 'The column that contains the time value. Default is `\"_time\"`.',\n type: 'String`',\n },\n ],\n package: '',\n desc:\n 'Retains all rows with time values in a specified hour range. Hours are specified in military time.',\n example: 'hourSelection(start: 9, stop: 17)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/hourselection/',\n },\n {\n name: 'http.get',\n args: [\n {\n name: 'url',\n desc: 'The URL to send the GET request to.',\n type: 'String',\n },\n {\n name: 'headers',\n desc: 'Headers to include with the GET request.',\n type: 'Object',\n },\n {\n name: 'timeout',\n desc: 'Timeout for the GET request. Default is `30s`.',\n type: 'Duration',\n },\n ],\n package: 'experimental/http',\n desc:\n 'Submits an HTTP GET request to the specified URL and returns the HTTP status code, response body, and response headers.',\n example:\n 'http.get(url: \"https://docs.influxdata.com/influxdb/v2.0/\", headers: {foo: \"bar\"})',\n category: 'Miscellaneous',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/http/get/',\n },\n {\n name: 'http.pathEscape',\n args: [\n {\n name: 'inputString',\n desc: 'The string to escape.',\n type: 'String',\n },\n ],\n package: 'http',\n desc:\n 'Escapes special characters in a string and replaces non-ASCII characters with hexadecimal representations (%XX).',\n example: 'http.pathEscape(inputString: \"/this/is/an/example-path.html\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/http/pathescape/',\n },\n {\n name: 'http.post',\n args: [\n {\n name: 'url',\n desc: 'The URL to POST to.',\n type: 'String',\n },\n {\n name: 'headers',\n desc: 'Headers to include with the POST request.',\n type: 'Object',\n },\n {\n name: 'data',\n desc: 'The data body to include with the POST request.',\n type: 'Bytes',\n },\n ],\n package: 'http',\n desc:\n 'Submits an HTTP POST request to the specified URL with headers and data and returns the HTTP status code.',\n example:\n 'http.post(url: \"http://localhost:9999/\", headers: {x:\"a\", y:\"b\"}, data: bytes(v: \"body\"))',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/http/post/',\n },\n {\n name: 'increase',\n args: [\n {\n name: 'columns',\n desc:\n 'List of columns to use in the operation. Defaults to `[\"_value\"]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Computes the total non-negative difference between values in a table.',\n example: 'increase(columns: [\"_value\"])',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/increase/',\n },\n {\n name: 'influxdb.cardinality',\n args: [\n {\n name: 'bucket',\n desc: 'Bucket to query cardinality from.',\n type: 'String',\n },\n {\n name: 'bucketID',\n desc: 'Bucket ID to query cardinality from.',\n type: 'String',\n },\n {\n name: 'org',\n desc: 'InfluxDB organization.',\n type: 'String',\n },\n {\n name: 'orgID',\n desc: 'InfluxDB organization ID.',\n type: 'String',\n },\n {\n name: 'host',\n desc: 'URL of the InfluxDB instance to query.',\n type: 'String',\n },\n {\n name: 'token',\n desc: 'InfluxDB authorization token.',\n type: 'String',\n },\n {\n name: 'start',\n desc: 'The earliest time to include when calculating cardinality.',\n type: 'Duration | Time',\n },\n {\n name: 'stop',\n desc: 'The latest time to include when calculating cardinality.',\n type: 'Duration | Time',\n },\n {\n name: 'predicate',\n desc:\n 'Predicate function that filters records. Default is `(r) => true.`',\n type: 'Function',\n },\n ],\n package: 'influxdata/influxdb',\n desc: 'Returns the series cardinality of data in InfluxDB.',\n example: 'influxdb.cardinality(bucket: \"example-bucket\", start: -1h)',\n category: 'Miscellaneous',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/influxdb/cardinality/',\n },\n {\n name: 'int',\n args: [\n {\n name: 'v',\n desc: 'The value to convert.',\n type: 'String, Integer, UInteger, Float, Boolean',\n },\n ],\n package: '',\n desc: 'Converts a single value to a integer.',\n example: 'int(v: r._value)',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/int/',\n },\n {\n name: 'integral',\n args: [\n {\n name: 'unit',\n desc: 'The time duration used when computing the integral.',\n type: 'Duration',\n },\n {\n name: 'column',\n desc: 'The column on which to operate. Defaults to `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'timeColumn',\n desc:\n 'Column that contains time values to use in the operation. Defaults to `\"_time\"`.',\n type: 'String',\n },\n {\n name: 'interpolate',\n desc: 'Type of interpolation to use. Defaults to `\"\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Computes the area under the curve per unit of time of subsequent non-null records. The curve is defined using `_time` as the domain and record values as the range.',\n example: 'integral(unit: 10s, column: \"_value\")',\n category: 'Aggregates',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/integral/',\n },\n {\n name: 'join',\n args: [\n {\n name: 'tables',\n desc: 'The map of streams to be joined.',\n type: 'Object',\n },\n {\n name: 'on',\n desc: 'The list of columns on which to join.',\n type: 'Array of Strings',\n },\n {\n name: 'method',\n desc:\n 'The method used to join. Possible values are: `inner`, `cross`, `left`, `right`, or `full`. Defaults to `\"inner\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Merges two or more input streams, whose values are equal on a set of common columns, into a single output stream. The resulting schema is the union of the input schemas. The resulting group key is the union of the input group keys.',\n example:\n 'join(tables: {key1: table1, key2: table2}, on: [\"_time\", \"_field\"], method: \"inner\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/join/',\n },\n {\n name: 'json.encode',\n args: [\n {\n name: 'v',\n desc: 'The value to encode.',\n type: 'Boolean, Duration, Float, Integer, String, Time, UInteger',\n },\n ],\n package: 'json',\n desc: 'Converts a value into JSON bytes.',\n example: 'json.encode(v: r._value)',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/json/encode/',\n },\n {\n name: 'kaufmansAMA',\n args: [\n {\n name: 'n',\n desc: 'The period or number of points to use in the calculation.',\n type: 'Integer',\n },\n {\n name: 'column',\n desc: 'The column to operate on. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Calculates Kaufman’s Adaptive Moving Average (KAMA) using values in an input table.',\n example: 'kaufmansAMA(n: 5)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/kaufmansama/',\n },\n {\n name: 'kaufmansER',\n args: [\n {\n name: 'n',\n desc: 'The period or number of points to use in the calculation.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Calculates the Kaufman’s Efficiency Ratio (KER) using values in an input table.',\n example: 'kaufmansER(n: 5)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/kaufmanser/',\n },\n {\n name: 'keep',\n args: [\n {\n name: 'columns',\n desc:\n 'Columns that should be included in the resulting table. Cannot be used with `fn`.',\n type: 'Array of Strings',\n },\n {\n name: 'fn',\n desc:\n 'A predicate function which takes a column name as a parameter and returns a boolean indicating whether or not the column should be removed from the table. Cannot be used with `columns`.',\n type: 'Function',\n },\n ],\n package: '',\n desc:\n 'Returns a table containing only the specified columns, ignoring all others. Only columns in the group key that are also specified in the `keep()` function will be kept in the resulting group key. It is the inverse of `drop`.',\n example: 'keep(columns: [\"col1\", \"col2\"])',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/keep/',\n },\n {\n name: 'keys',\n args: [\n {\n name: 'column',\n desc:\n 'Column is the name of the output column to store the group key labels. Defaults to `_value`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n \"Outputs the group key of input tables. For each input table, it outputs a table with the same group key columns, plus a _value column containing the labels of the input table's group key.\",\n example: 'keys(column: \"_value\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/keys/',\n },\n {\n name: 'keyValues',\n args: [\n {\n name: 'keyColumns',\n desc:\n 'A list of columns from which values are extracted. All columns indicated must be of the same type.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n \"Returns a table with the input table's group key plus two columns, `_key` and `_value`, that correspond to unique column + value pairs from the input table.\",\n example: 'keyValues(keyColumns: [\"usage_idle\", \"usage_user\"])',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/keyvalues/',\n },\n {\n name: 'last',\n args: [],\n package: '',\n desc: 'Selects the last non-null record from an input table.',\n example: 'last()',\n category: 'Selectors',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/selectors/last/',\n },\n {\n name: 'length',\n args: [\n {\n name: 'arr',\n desc: 'The array to evaluate.',\n type: 'Array',\n },\n ],\n package: '',\n desc: 'Returns the number of items in an array.',\n example: 'length(arr: [\"john\"])',\n category: 'Miscellaneous',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/misc/length/',\n },\n {\n name: 'limit',\n args: [\n {\n name: 'n',\n desc: 'The maximum number of records to output.',\n type: 'Integer',\n },\n {\n name: 'offset',\n desc:\n 'The number of records to skip at the beginning of a table before limiting to `n`. Defaults to `0`.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Limits each output table to the first `n` records, excluding the offset.',\n example: 'limit(n:10, offset: 0)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/limit/',\n },\n {\n name: 'linearBins',\n args: [\n {\n name: 'start',\n desc: 'The first value in the returned list.',\n type: 'Float',\n },\n {\n name: 'width',\n desc: 'The distance between subsequent bin values.',\n type: 'Float',\n },\n {\n name: 'count',\n desc: 'The number of bins to create.',\n type: 'Integer',\n },\n {\n name: 'infinity',\n desc:\n 'When `true`, adds an additional bin with a value of positive infinity. Defaults to `true`.',\n type: 'Boolean',\n },\n ],\n package: '',\n desc: 'Generates a list of linearly separated floats.',\n example: 'linearBins(start: 0.0, width: 5.0, count: 20, infinity: true)',\n category: 'Miscellaneous',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/misc/linearbins/',\n },\n {\n name: 'logarithmicBins',\n args: [\n {\n name: 'start',\n desc: 'The first value in the returned list.',\n type: 'Float',\n },\n {\n name: 'factor',\n desc: 'The multiplier applied to each subsequent bin.',\n type: 'Float',\n },\n {\n name: 'count',\n desc: 'The number of bins to create.',\n type: 'Integer',\n },\n {\n name: 'infinity',\n desc:\n 'When `true`, adds an additional bin with a value of positive infinity. Defaults to `true`.',\n type: 'Boolean',\n },\n ],\n package: '',\n desc: 'Generates a list of exponentially separated floats.',\n example:\n 'logarithmicBins(start: 1.0, factor: 2.0, count: 10, infinity: true)',\n category: 'Miscellaneous',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/misc/logarithmicbins/',\n },\n {\n name: 'lowestAverage',\n args: [\n {\n name: 'n',\n desc: 'Number of records to return.',\n type: 'Integer',\n },\n {\n name: 'column',\n desc: 'Column by which to sort. Default is `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'groupColumns',\n desc:\n 'The columns on which to group before performing the aggregation. Default is `[]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Returns the bottom `n` records from all groups using the average of each group.',\n example: 'lowestAverage(n:10, groupColumns: [\"host\"])',\n category: 'Selectors',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/selectors/lowestaverage/',\n },\n {\n name: 'lowestCurrent',\n args: [\n {\n name: 'n',\n desc: 'Number of records to return.',\n type: 'Integer',\n },\n {\n name: 'column',\n desc: 'Column by which to sort. Default is `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'groupColumns',\n desc:\n 'The columns on which to group before performing the aggregation. Default is `[]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Returns the bottom `n` records from all groups using the last value of each group.',\n example: 'lowestCurrent(n:10, groupColumns: [\"host\"])',\n category: 'Selectors',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/selectors/lowestcurrent/',\n },\n {\n name: 'lowestMin',\n args: [\n {\n name: 'n',\n desc: 'Number of records to return.',\n type: 'Integer',\n },\n {\n name: 'column',\n desc: 'Column by which to sort. Default is `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'groupColumns',\n desc:\n 'The columns on which to group before performing the aggregation. Default is `[]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Returns the bottom `n` records from all groups using the maximum of each group.',\n example: 'lowestMin(n:10, groupColumns: [\"host\"])',\n category: 'Selectors',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/selectors/lowestmin/',\n },\n {\n name: 'map',\n args: [\n {\n name: 'fn',\n desc:\n 'A single argument function that to apply to each record. The return value must be an object.',\n type: 'Function',\n },\n ],\n package: '',\n desc: 'Applies a function to each record in the input tables.',\n example: 'map(fn: (r) => ({ r with _value: r._value * r._value }))',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/map/',\n },\n MATH_ABS,\n {\n name: 'math.acos',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the arccosine of x in radians.',\n example: 'math.acos(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/acos/',\n },\n {\n name: 'math.acosh',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation. Should be greater than 1.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the inverse hyperbolic cosine of x.',\n example: 'math.acosh(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/acosh/',\n },\n {\n name: 'math.asin',\n args: [\n {\n name: 'x',\n desc:\n 'The value used in the operation. Should be greater than -1 and less than 1.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the arcsine of x in radians.',\n example: 'math.asin(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/asin/',\n },\n {\n name: 'math.asinh',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the inverse hyperbolic sine of x.',\n example: 'math.asinh(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/asinh/',\n },\n {\n name: 'math.atan',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the arctangent of x in radians.',\n example: 'math.atan(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/atan/',\n },\n {\n name: 'math.atan2',\n args: [\n {\n name: 'y',\n desc: 'The y coordinate used in the operation.',\n type: 'Float',\n },\n {\n name: 'x',\n desc: 'The x coordinate used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc:\n 'Returns the arc tangent of y/x, using the signs of the two to determine the quadrant of the return value.',\n example: 'math.atan2(y: r.y_coord, x: r.x_coord)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/atan2/',\n },\n {\n name: 'math.atanh',\n args: [\n {\n name: 'x',\n desc:\n 'The value used in the operation. Should be greater than -1 and less than 1.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the inverse hyperbolic tangent of x.',\n example: 'math.atanh(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/atanh/',\n },\n {\n name: 'math.cbrt',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the cube root of x.',\n example: 'math.cbrt(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/cbrt/',\n },\n {\n name: 'math.ceil',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the least integer value greater than or equal to x.',\n example: 'math.ceil(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/ceil/',\n },\n {\n name: 'math.copysign',\n args: [\n {\n name: 'x',\n desc: 'The magnitude used in the operation.',\n type: 'Float',\n },\n {\n name: 'y',\n desc: 'The sign used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns a value with the magnitude of x and the sign of y.',\n example: 'math.copysign(x: r._magnitude, r._sign)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/copysign/',\n },\n {\n name: 'math.cos',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the cosine of the radian argument x.',\n example: 'math.cos(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/cos/',\n },\n {\n name: 'math.cosh',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the hyperbolic cosine of x.',\n example: 'math.cosh(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/cosh/',\n },\n {\n name: 'math.dim',\n args: [\n {\n name: 'x',\n desc: 'The X value used in the operation.',\n type: 'Float',\n },\n {\n name: 'y',\n desc: 'The Y value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the maximum of (x - y) or 0.',\n example: 'math.dim(x: r._value1, y: r._value2)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/dim/',\n },\n {\n name: 'math.erf',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the error function of x.',\n example: 'math.erf(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/erf/',\n },\n {\n name: 'math.erfc',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the complementary error function of x.',\n example: 'math.erfc(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/erfc/',\n },\n {\n name: 'math.erfcinv',\n args: [\n {\n name: 'x',\n desc:\n 'The value used in the operation. Should be greater than 0 and less than 2.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the inverse of `math.erfc()`.',\n example: 'math.erfcinv(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/erfcinv/',\n },\n {\n name: 'math.erfinv',\n args: [\n {\n name: 'x',\n desc:\n 'The value used in the operation. Should be greater than -1 and less than 1.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the inverse error function of x.',\n example: 'math.erfinv(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/erfinv/',\n },\n {\n name: 'math.exp',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the base-e exponential of x (`e**x`).',\n example: 'math.exp(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/exp/',\n },\n {\n name: 'math.exp2',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the base-2 exponential of x (`2**x`).',\n example: 'math.exp2(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/exp2/',\n },\n {\n name: 'math.expm1',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the base-e exponential of x minus 1 (`e**x - 1`).',\n example: 'math.expm1(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/expm1/',\n },\n {\n name: 'math.float64bits',\n args: [\n {\n name: 'f',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc:\n 'Returns the IEEE 754 binary representation of f, with the sign bit of f and the result in the same bit position.',\n example: 'math.float64bits(f: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/float64bits/',\n },\n MATH_FLOOR,\n {\n name: 'math.frexp',\n args: [\n {\n name: 'f',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Breaks f into a normalized fraction and an integral power of two.',\n example: 'math.frexp(f: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/frexp/',\n },\n {\n name: 'math.gamma',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the Gamma function of x.',\n example: 'math.gamma(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/gamma/',\n },\n {\n name: 'math.hypot',\n args: [\n {\n name: 'p',\n desc: 'The p value used in the operation.',\n type: 'Float',\n },\n {\n name: 'q',\n desc: 'The q value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc:\n 'Returns the square root of `p*p + q*q`, taking care to avoid overflow and underflow.',\n example: 'math.hypot(p: r.opp, p: r.adj)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/hypot/',\n },\n {\n name: 'math.ilogb',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the binary exponent of x as an integer.',\n example: 'math.ilogb(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/ilogb/',\n },\n {\n name: 'math.isInf',\n args: [\n {\n name: 'f',\n desc: 'The value used in the evaluation.',\n type: 'Float',\n },\n {\n name: 'sign',\n desc: 'The sign used in the evaluation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Reports whether f is an infinity, according to sign.',\n example: 'math.isInf(f: r._value, sign: r.sign)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/isinf/',\n },\n {\n name: 'math.isNaN',\n args: [\n {\n name: 'f',\n desc: 'The value used in the evaluation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Reports whether f is an IEEE 754 NaN value.',\n example: 'math.isNaN(f: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/isnan/',\n },\n {\n name: 'math.j0',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the order-zero Bessel function of the first kind.',\n example: 'math.j0(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/j0/',\n },\n {\n name: 'math.j1',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the order-one Bessel function of the first kind.',\n example: 'math.j1(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/j1/',\n },\n {\n name: 'math.jn',\n args: [\n {\n name: 'n',\n desc: 'The order number.',\n type: 'Float',\n },\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the order-n Bessel function of the first kind.',\n example: 'math.jn(n: 2, x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/jn/',\n },\n {\n name: 'math.ldexp',\n args: [\n {\n name: 'frac',\n desc: 'The fraction used in the operation.',\n type: 'Float',\n },\n {\n name: 'exp',\n desc: 'The exponent used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns `frac × 2**exp`. It is the inverse of `math.frexp()`.',\n example: 'math.ldexp(frac: r.frac, exp: r.exp)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/ldexp/',\n },\n {\n name: 'math.lgamma',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc:\n 'Returns the natural logarithm and sign (-1 or +1) of `math.gamma(x:x)`.',\n example: 'math.lgamma(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/lgamma/',\n },\n {\n name: 'math.log',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the natural logarithm of x.',\n example: 'math.log(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/log/',\n },\n {\n name: 'math.log1p',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the natural logarithm of 1 plus its argument x.',\n example: 'math.log1p(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/log1p/',\n },\n {\n name: 'math.log2',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the binary logarithm of x.',\n example: 'math.log2(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/log2/',\n },\n {\n name: 'math.logb',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the binary exponent of x.',\n example: 'math.logb(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/logb/',\n },\n {\n name: 'math.mInf',\n args: [\n {\n name: 'sign',\n desc: 'The sign value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc:\n 'Returns positive infinity if `sign >= 0`, negative infinity if `sign < 0`.',\n example: 'math.mInf(sign: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/minf/',\n },\n {\n name: 'math.mMax',\n args: [\n {\n name: 'x',\n desc: 'The X value used in the operation.',\n type: 'Float',\n },\n {\n name: 'y',\n desc: 'The Y value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the larger of x or y.',\n example: 'math.mMax(x: r.x_value, y: r.y_value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/mmax/',\n },\n {\n name: 'math.mMin',\n args: [\n {\n name: 'x',\n desc: 'The X value used in the operation.',\n type: 'Float',\n },\n {\n name: 'y',\n desc: 'The Y value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the smaller of x or y.',\n example: 'math.mMin(x: r.x_value, y: r.y_value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/mmin/',\n },\n {\n name: 'math.mod',\n args: [\n {\n name: 'x',\n desc: 'The X value used in the operation.',\n type: 'Float',\n },\n {\n name: 'y',\n desc: 'The Y value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the floating-point remainder of x/y.',\n example: 'math.mod(x: r.x_value, y: r.y_value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/mod/',\n },\n {\n name: 'math.modf',\n args: [\n {\n name: 'f',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc:\n 'Returns integer and fractional floating-point numbers that sum to f. Both values have the same sign as f.',\n example: 'math.modf(f: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/modf/',\n },\n {\n name: 'math.NaN',\n args: [],\n package: 'math',\n desc: 'Returns an IEEE 754 NaN value.',\n example: 'math.NaN()',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/nan/',\n },\n {\n name: 'math.nextafter',\n args: [\n {\n name: 'x',\n desc: 'The X value used in the operation.',\n type: 'Float',\n },\n {\n name: 'y',\n desc: 'The Y value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the next representable float value after x towards y.',\n example: 'math.nextafter(x: r.x_value, y: r.y_value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/nextafter/',\n },\n {\n name: 'math.pow',\n args: [\n {\n name: 'x',\n desc: 'The X value used in the operation.',\n type: 'Float',\n },\n {\n name: 'y',\n desc: 'The Y value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the base-x exponential of y, `x**y`.',\n example: 'math.pow(x: r.x_value, y: r.y_value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/pow/',\n },\n {\n name: 'math.pow10',\n args: [\n {\n name: 'n',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the base-10 exponential of n, `10**n`.',\n example: 'math.pow10(n: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/pow10/',\n },\n {\n name: 'math.remainder',\n args: [\n {\n name: 'x',\n desc: 'The numerator used in the operation.',\n type: 'Float',\n },\n {\n name: 'y',\n desc: 'The denominator used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the IEEE 754 floating-point remainder of `x / y`.',\n example: 'math.remainder(x: r.numerator, y: r.denominator)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/remainder/',\n },\n {\n name: 'math.round',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the nearest integer, rounding half away from zero.',\n example: 'math.round(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/round/',\n },\n {\n name: 'math.roundtoeven',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the nearest integer, rounding ties to even.',\n example: 'math.roundtoeven(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/roundtoeven/',\n },\n {\n name: 'math.signbit',\n args: [\n {\n name: 'x',\n desc: 'The value used in the evaluation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Reports whether x is negative or negative zero.',\n example: 'math.signbit(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/signbit/',\n },\n {\n name: 'math.sin',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the sine of the radian argument x.',\n example: 'math.sin(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/sin/',\n },\n {\n name: 'math.sincos',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the values of `math.sin(x:x)` and `math.cos(x:x)`.',\n example: 'math.sincos(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/sincos/',\n },\n {\n name: 'math.sinh',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the hyperbolic sine of x.',\n example: 'math.sinh(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/sinh/',\n },\n {\n name: 'math.sqrt',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the square root of x.',\n example: 'math.sqrt(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/sqrt/',\n },\n {\n name: 'math.tan',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the tangent of the radian argument x.',\n example: 'math.tan(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/tan/',\n },\n {\n name: 'math.tanh',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the hyperbolic tangent of x.',\n example: 'math.tanh(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/tanh/',\n },\n {\n name: 'math.trunc',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the integer value of x.',\n example: 'math.trunc(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/trunc/',\n },\n {\n name: 'math.y0',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the order-zero Bessel function of the second kind.',\n example: 'math.y0(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/y0/',\n },\n {\n name: 'math.y1',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the order-one Bessel function of the second kind.',\n example: 'math.y1(x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/y1/',\n },\n {\n name: 'math.yn',\n args: [\n {\n name: 'n',\n desc: 'The order number used in the operation.',\n type: 'Float',\n },\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the order-n Bessel function of the second kind.',\n example: 'math.yn(n: 3, x: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/math/yn/',\n },\n {\n name: 'max',\n args: [],\n package: '',\n desc: 'Selects record with the highest `_value` from the input table.',\n example: 'max()',\n category: 'Selectors',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/selectors/max/',\n },\n MEAN,\n {\n name: 'median',\n args: [\n {\n name: 'column',\n desc: 'The column on which to compute the mean. Defaults to `\"_value\"`',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Returns the median `_value` of an input table. The `median()` function can only be used with float value types.',\n example: 'median(column: \"_value\")',\n category: 'Aggregates',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/median/',\n },\n {\n name: 'min',\n args: [],\n package: '',\n desc: 'Selects record with the lowest `_value` from the input table.',\n example: 'min()',\n category: 'Selectors',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/selectors/min/',\n },\n {\n name: 'mode',\n args: [\n {\n name: 'column',\n desc: 'The column to use to compute the mode. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Computes the mode or value that occurs most often in a specified column.',\n example: 'mode(column: \"_value\")',\n category: 'Aggregates',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/mode/',\n },\n {\n name: 'movingAverage',\n args: [\n {\n name: 'n',\n desc: 'The frequency of time windows.',\n type: 'Duration',\n },\n ],\n package: '',\n desc: 'Calculates the mean of values grouped into `n` number of points.',\n example: 'movingAverage(n: 5)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/movingaverage/',\n },\n {\n name: 'mqtt.to',\n args: [\n {\n name: 'broker',\n desc: 'The MQTT broker connection string.',\n type: 'String',\n },\n {\n name: 'topic',\n desc: 'The MQTT topic to send data to.',\n type: 'String',\n },\n {\n name: 'message',\n desc:\n 'The message or payload to send to the MQTT broker. The default payload is an output table.',\n type: 'String',\n },\n {\n name: 'qos',\n desc:\n 'The MQTT Quality of Service (QoS) level. Values range from 0-2. Default is 0.',\n type: 'Integer',\n },\n {\n name: 'clientid',\n desc: 'The MQTT client ID.',\n type: 'String',\n },\n {\n name: 'username',\n desc: 'The username to send to the MQTT broker.',\n type: 'String',\n },\n {\n name: 'password',\n desc: 'The password to send to the MQTT broker.',\n type: 'String',\n },\n {\n name: 'name',\n desc: 'The name for the MQTT message.',\n type: 'String',\n },\n {\n name: 'timeout',\n desc: 'The MQTT connection timeout. Default is 1s.',\n type: 'Duration',\n },\n {\n name: 'timeColumn',\n desc:\n 'The column to use as time values in the output line protocol. Default is `\"_time\"`.',\n type: 'String',\n },\n {\n name: 'tagColumns',\n desc:\n 'The columns to use as tag sets in the output line protocol. Default is `[]`.',\n type: 'Array of Strings',\n },\n {\n name: 'valueColumns',\n desc:\n 'The columns to use as field values in the output line protocol. Default is `[\"_value\"]`.',\n type: 'Array of Strings',\n },\n ],\n package: 'experimental/mqtt',\n desc: 'Outputs data to an MQTT broker using MQTT protocol.',\n example:\n 'mqtt.to(broker: \"tcp://localhost:8883\", topic: \"example-topic\", clientid: \"exampleID\", tagColumns: [\"exampleTagKey\"], valueColumns: [\"_value\"])',\n category: 'Outputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/mqtt/to/',\n },\n {\n name: 'pearsonr',\n args: [\n {\n name: 'x',\n desc: 'First input stream used in the operation.',\n type: 'Object',\n },\n {\n name: 'y',\n desc: 'Second input stream used in the operation.',\n type: 'Object',\n },\n {\n name: 'on',\n desc: 'List of columns on which to join.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Computes the Pearson R correlation coefficient between two streams by first joining the streams, then performing the covariance operation normalized to compute R.',\n example: 'pearsonr(x: table1, y: table2, on: [\"_time\", \"_field\"])',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/pearsonr/',\n },\n {\n name: 'pivot',\n args: [\n {\n name: 'rowKey',\n desc: 'List of columns used to uniquely identify a row for the output.',\n type: 'Array of Strings',\n },\n {\n name: 'columnKey',\n desc:\n 'List of columns used to pivot values onto each row identified by the rowKey.',\n type: 'Array of Strings',\n },\n {\n name: 'valueColumn',\n desc:\n 'The single column that contains the value to be moved around the pivot.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Collects values stored vertically (column-wise) in a table and aligns them horizontally (row-wise) into logical sets.',\n example:\n 'pivot(rowKey:[\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/pivot/',\n },\n {\n name: 'prometheus.histogramQuantile',\n args: [\n {\n name: 'quantile',\n desc: 'A value between 0.0 and 1.0 indicating the desired quantile.',\n type: 'Float',\n },\n ],\n package: 'experimental/prometheus',\n desc:\n 'Calculates quantiles on a set of values assuming the histogram data is scraped or read from a Prometheus data source.',\n example: 'prometheus.histogramQuantile(quantile: 0.99)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/prometheus/histogramquantile/',\n },\n {\n name: 'prometheus.scrape',\n args: [\n {\n name: 'url',\n desc: 'The URL to scrape Prometheus-formatted metrics from.',\n type: 'String',\n },\n ],\n package: 'experimental/prometheus',\n desc: 'Retrieves Prometheus-formatted metrics from a specified URL.',\n example: 'prometheus.scrape(url: \"http://localhost:9999/metrics\")',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/prometheus/scrape/',\n },\n {\n name: 'quantile',\n args: [\n {\n name: 'column',\n desc:\n 'The column on which to compute the quantile. Defaults to `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'q',\n desc: 'A value between 0 and 1 indicating the desired quantile.',\n type: 'Float',\n },\n {\n name: 'method',\n desc:\n 'Defines the method of computation. The available options are: `estimate_tdigest`, `exact_mean`, or `exact_selector`.',\n type: 'String',\n },\n {\n name: 'compression',\n desc:\n 'Indicates how many centroids to use when compressing the dataset. A larger number produces a more accurate result at the cost of increased memory requirements. Defaults to 1000.',\n type: 'Float',\n },\n ],\n package: '',\n desc:\n 'This is both an aggregate and selector function depending on the `method` used. When using the `estimate_tdigest` or `exact_mean` methods, it outputs non-null records with values that fall within the specified quantile. When using the `exact_selector` method, it outputs the non-null record with the value that represents the specified quantile.',\n example:\n 'quantile(column: \"_value\", q: 0.99, method: \"estimate_tdigest\", compression: 1000.0)',\n category: 'Aggregates',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/quantile/',\n },\n {\n name: 'query.filterFields',\n args: [\n {\n name: 'fields',\n desc: 'Fields to filter by.',\n type: 'Array of Strings',\n },\n ],\n package: 'experimental/query',\n desc: 'Filters input data by field.',\n example: 'query.filterFields(fields: [\"field_name\"])',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/query/filterfields/',\n },\n {\n name: 'query.filterMeasurement',\n args: [\n {\n name: 'measurement',\n desc: 'Measurement to filter by.',\n type: 'String',\n },\n ],\n package: 'experimental/query',\n desc: 'Filters input data by measurement.',\n example: 'query.filterMeasurement(measurement: \"measurement_name\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/query/filtermeasurement/',\n },\n {\n name: 'query.fromRange',\n args: [\n {\n name: 'bucket',\n desc: 'Name of the bucket to query.',\n type: 'String',\n },\n {\n name: 'start',\n desc: 'The earliest time to include in results.',\n type: 'Duration | Time | Integer',\n },\n {\n name: 'stop',\n desc: 'The latest time to include in results. Defaults to `now()`.',\n type: 'Duration | Time | Integer',\n },\n ],\n package: 'experimental/query',\n desc: 'Returns all data from a specified bucket within given time bounds.',\n example:\n 'query.fromRange(bucket: \"example-bucket\", start: v.timeRangeStart)',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/query/fromrange/',\n },\n {\n name: 'query.inBucket',\n args: [\n {\n name: 'bucket',\n desc: 'Name of the bucket to query.',\n type: 'String',\n },\n {\n name: 'start',\n desc: 'The earliest time to include in results.',\n type: 'Duration | Time | Integer',\n },\n {\n name: 'stop',\n desc: 'The latest time to include in results. Defaults to `now()`.',\n type: 'Duration | Time | Integer',\n },\n {\n name: 'measurement',\n desc: 'Measurement to filter by.',\n type: 'String',\n },\n {\n name: 'fields',\n desc: 'Fields to filter by.',\n type: 'Array of Strings',\n },\n {\n name: 'predicate',\n desc: 'A single argument function that evaluates true or false.',\n type: 'Function',\n },\n ],\n package: 'experimental/query',\n desc:\n 'Queries data from a specified bucket within given time bounds, filters data by measurement, field, and optional predicate expressions.',\n example:\n 'query.inBucket(bucket: \"example-bucket\", start: v.timeRangeStart, measurement: \"measurement_name\", fields: [\"field_name\"], predicate: (r) => r.host == \"host1\")',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/experimental/query/inbucket/',\n },\n RANGE,\n {\n name: 'reduce',\n args: [\n {\n name: 'fn',\n desc:\n 'Function to apply to each record with a reducer object. The function expects two objects: `r` and `accumulator`.',\n type: 'Function',\n },\n {\n name: 'identity',\n desc:\n 'Defines the reducer object and provides initial values to use when creating a reducer.',\n type: 'Object',\n },\n ],\n package: '',\n desc: 'Aggregates records in each table according to the reducer, `fn`',\n example:\n 'reduce(fn: (r, accumulator) => ({ sum: r._value + accumulator.sum }), identity: {sum: 0.0})',\n category: 'Aggregates',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/reduce/',\n },\n {\n name: 'regexp.compile',\n args: [\n {\n name: 'v',\n desc: 'The string value to parse into a regular expression.',\n type: 'String',\n },\n ],\n package: 'regexp',\n desc:\n 'Parses a string into a regular expression and returns a regexp object.',\n example: 'regexp.compile(v: \"[a-zA-Z]\")',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/regexp/compile/',\n },\n {\n name: 'regexp.findString',\n args: [\n {\n name: 'r',\n desc: 'The regular expression used to search `v`',\n type: 'Regexp',\n },\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n ],\n package: 'regexp',\n desc: 'Returns the left-most regular expression match in a string.',\n example: 'regexp.findString(r: /foo.?/, v: \"seafood fool\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/regexp/findstring/',\n },\n {\n name: 'regexp.findStringIndex',\n args: [\n {\n name: 'r',\n desc: 'The regular expression used to search `v`',\n type: 'Regexp',\n },\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n ],\n package: 'regexp',\n desc:\n 'Returns a two-element array of integers defining the beginning and ending indexes of the left-most regular expression match in a string.',\n example: 'regexp.findStringIndex(r: /ab?/, v: \"tablet\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/regexp/findstringindex/',\n },\n {\n name: 'regexp.getString',\n args: [\n {\n name: 'r',\n desc: 'The regular expression object to convert to a string.',\n type: 'Regexp',\n },\n ],\n package: 'regexp',\n desc: 'Returns the source string used to compile a regular expression.',\n example: 'regexp.getString(r: /[a-zA-Z]/)',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/regexp/getstring/',\n },\n {\n name: 'regexp.matchRegexpString',\n args: [\n {\n name: 'r',\n desc: 'The regular expression used to search `v`',\n type: 'Regexp',\n },\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n ],\n package: 'regexp',\n desc: 'Tests if a string contains any match to a regular expression.',\n example: 'regexp.matchRegexpString(r: /(go){2}/, v: \"gogogopher\")',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/regexp/matchregexpstring/',\n },\n {\n name: 'regexp.quoteMeta',\n args: [\n {\n name: 'v',\n desc:\n 'String value containing regular expression metacharacters to escape.',\n type: 'String',\n },\n ],\n package: 'regexp',\n desc: 'Escapes all regular expression metacharacters inside of a string.',\n example: 'regexp.quoteMeta(v: \".+*?()|[]{}^$\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/regexp/quotemeta/',\n },\n {\n name: 'regexp.replaceAllString',\n args: [\n {\n name: 'r',\n desc: 'The regular expression used to search `v`',\n type: 'Regexp',\n },\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The replacement for matches to `r`',\n type: 'String',\n },\n ],\n package: 'regexp',\n desc:\n 'Replaces all regular expression matches in a string with a specified replacement.',\n example: 'regexp.replaceAllString(r: /a(x*)b/, v: \"-ab-axxb-\", t: \"T\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/regexp/replaceallstring/',\n },\n {\n name: 'regexp.splitRegexp',\n args: [\n {\n name: 'r',\n desc: 'The regular expression used to search `v`',\n type: 'Regexp',\n },\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'i',\n desc: 'The number of substrings to return.',\n type: 'Integer',\n },\n ],\n package: 'regexp',\n desc:\n 'Splits a string into substrings separated by regular expression matches and returns an array of `i` substrings between matches.',\n example: 'regexp.splitRegexp(r: /a*/, v: \"abaabaccadaaae\", i: 5)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/regexp/splitregexp/',\n },\n {\n name: 'relativeStrengthIndex',\n args: [\n {\n name: 'n',\n desc:\n 'The number of values to use to calculate the relative strength index (RSI).',\n type: 'Integer',\n },\n {\n name: 'columns',\n desc: 'Columns to operate on. Defaults to `[\"_value\"]`.',\n type: 'Array of Strings`',\n },\n ],\n package: '',\n desc: 'Measures the relative speed and change of values in an input table.',\n example: 'relativeStrengthIndex(n: 5)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/relativestrengthindex/',\n },\n {\n name: 'rename',\n args: [\n {\n name: 'columns',\n desc:\n 'A map of columns to rename and their corresponding new names. Cannot be used with `fn`.',\n type: 'Object',\n },\n {\n name: 'fn',\n desc:\n 'A function mapping between old and new column names. Cannot be used with `columns`.',\n type: 'Function',\n },\n ],\n package: '',\n desc:\n 'Renames specified columns in a table. If a column is renamed and is part of the group key, the column name in the group key will be updated.',\n example: 'rename(columns: {host: \"server\", _field: \"my_field\"})',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/rename/',\n },\n {\n name: 'runtime.version',\n args: [],\n package: 'runtime',\n desc: 'Returns the current Flux version.',\n example: 'runtime.version()',\n category: 'Miscellaneous',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/runtime/version/',\n },\n {\n name: 'sample',\n args: [\n {\n name: 'n',\n desc: 'Sample every Nth element.',\n type: 'Integer',\n },\n {\n name: 'pos',\n desc:\n 'The position offset from the start of results where sampling begins. `pos` must be less than `n`. If `pos` is less than 0, a random offset is used. Defaults to `-1` (random offset).',\n type: 'Integer',\n },\n ],\n package: '',\n desc: 'Selects a subset of the records from the input table.',\n example: 'sample(n:5, pos: -1)',\n category: 'Selectors',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/selectors/sample/',\n },\n {\n name: 'schema.fieldKeys',\n args: [\n {\n name: 'bucket',\n desc: 'The bucket to list field keys from.',\n type: 'String',\n },\n {\n name: 'predicate',\n desc:\n 'Predicate function that filters field keys. Defaults is (r) => true.',\n type: 'Function',\n },\n {\n name: 'start',\n desc: 'The oldest time to include in results. Defaults is `-30d`.',\n type: 'Duration | Time',\n },\n ],\n package: 'influxdata/influxdb/schema',\n desc: 'Returns a list of fields in a bucket.',\n example: 'schema.fieldKeys(bucket: \"example-bucket\")',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/influxdb-schema/measurementfieldkeys/',\n },\n {\n name: 'schema.fieldsAsCols',\n args: [],\n package: 'influxdata/influxdb/schema',\n desc: 'Aligns fields within each input table that have the same timestamp.',\n example: 'schema.fieldsAsCols()',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/influxdb-schema/fieldsascols/',\n },\n {\n name: 'schema.measurementFieldKeys',\n args: [\n {\n name: 'bucket',\n desc: 'The bucket to list field keys from.',\n type: 'String',\n },\n {\n name: 'measurement',\n desc: 'The measurement to list field keys from.',\n type: 'String',\n },\n {\n name: 'start',\n desc: 'The oldest time to include in results. Defaults is `-30d`.',\n type: 'Duration | Time',\n },\n ],\n package: 'influxdata/influxdb/schema',\n desc: 'Returns a list of fields in a measurement.',\n example:\n 'schema.measurementFieldKeys(bucket: \"example-bucket\", measurement: \"example-measurement\")',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/influxdb-schema/measurementfieldkeys/',\n },\n {\n name: 'schema.measurementTagKeys',\n args: [\n {\n name: 'bucket',\n desc:\n 'The bucket from which to return tag keys for a specific measurement.',\n type: 'String',\n },\n {\n name: 'measurement',\n desc: 'The measurement from which to return tag keys.',\n type: 'String',\n },\n ],\n package: 'influxdata/influxdb/schema',\n desc: 'Returns a list of tag keys for a specific measurement.',\n example:\n 'schema.measurementTagKeys(bucket: \"example-bucket\", measurement: \"mem\")',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/influxdb-schema/measurementtagkeys/',\n },\n {\n name: 'schema.measurementTagValues',\n args: [\n {\n name: 'bucket',\n desc:\n 'The bucket from which to return tag keys for a specific measurement.',\n type: 'String',\n },\n {\n name: 'measurement',\n desc: 'The measurement from which to return tag values.',\n type: 'String',\n },\n {\n name: 'tag',\n desc: 'The tag from which to return all unique values.',\n type: 'String',\n },\n ],\n package: 'influxdata/influxdb/schema',\n desc: 'Returns a list of tag values for a specific measurement.',\n example:\n 'schema.measurementTagValues(bucket: \"example-bucket\", measurement: \"mem\", tag: \"host\")',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/influxdb-schema/measurementtagvalues/',\n },\n {\n name: 'schema.measurements',\n args: [\n {\n name: 'bucket',\n desc: 'The bucket from which to list measurements.',\n type: 'String',\n },\n ],\n package: 'influxdata/influxdb/schema',\n desc: 'Returns a list of measurements in a specific bucket.',\n example: 'schema.measurements(bucket: \"example-bucket\")',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/influxdb-schema/measurements/',\n },\n {\n name: 'schema.tagKeys',\n args: [\n {\n name: 'bucket',\n desc: 'The bucket from which to list tag keys.',\n type: 'String',\n },\n {\n name: 'predicate',\n desc:\n 'The predicate function that filters tag keys. Defaults to `(r) => true.`',\n type: 'Function',\n },\n {\n name: 'start',\n desc:\n 'Specifies the oldest time to be included in the results. Defaults to `-30d`.',\n type: 'Duration | Time',\n },\n ],\n package: 'influxdata/influxdb/schema',\n desc: 'Returns a list of tag keys for all series that match the predicate.',\n example: 'schema.tagKeys(bucket: \"example-bucket\")',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/influxdb-schema/tagkeys/',\n },\n {\n name: 'schema.tagValues',\n args: [\n {\n name: 'bucket',\n desc: 'The bucket from which to list tag values.',\n type: 'String',\n },\n {\n name: 'tag',\n desc: 'The tag for which to return unique values.',\n type: 'String',\n },\n {\n name: 'predicate',\n desc:\n 'The predicate function that filters tag values. Defaults to `(r) => true.`',\n type: 'Function',\n },\n {\n name: 'start',\n desc:\n 'Specifies the oldest time to be included in the results. Defaults to `-30d`.',\n type: 'Duration | Time',\n },\n ],\n package: 'influxdata/influxdb/schema',\n desc: 'Returns a list of unique values for a given tag.',\n example: 'schema.tagValues(bucket: \"example-bucket\", tag: \"example-tag\")',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/influxdb-schema/tagvalues/',\n },\n {\n name: 'secrets.get',\n args: [\n {\n name: 'key',\n desc: 'The secret key to retrieve.',\n type: 'String',\n },\n ],\n package: 'influxdata/influxdb/secrets',\n desc: 'Retrieves a secret from the InfluxDB secret store.',\n example: 'secrets.get(key: \"KEY_NAME\")',\n category: 'Miscellaneous',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/secrets/get/',\n },\n {\n name: 'set',\n args: [\n {\n name: 'key',\n desc: 'The label of the column to modify or set.',\n type: 'String',\n },\n {\n name: 'value',\n desc: 'The string value to set.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Assigns a static value to each record in the input table. The key may modify an existing column or add a new column to the tables. If the modified column is part of the group key, the output tables are regrouped as needed.',\n example: 'set(key: \"_field\", value: \"my_field\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/set/',\n },\n {\n name: 'skew',\n args: [\n {\n name: 'column',\n desc: 'The column on which to operate. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Outputs the skew of non-null records as a float.',\n example: 'skew(column: \"_value\")',\n category: 'Aggregates',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/skew/',\n },\n {\n name: 'sleep',\n args: [\n {\n name: 'v',\n desc: 'Defines input tables.',\n type: 'Object',\n },\n {\n name: 'duration',\n desc: 'The length of time to delay execution.',\n type: 'Duration',\n },\n ],\n package: '',\n desc: 'Delays execution by a specified duration.',\n example: 'sleep(duration: 5s)',\n category: 'Miscellaneous',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/misc/sleep/',\n },\n {\n name: 'sort',\n args: [\n {\n name: 'columns',\n desc:\n 'List of columns by which to sort. Sort precedence is determined by list order (left to right). Default is `[\"_value\"]`.',\n type: 'Array of Strings',\n },\n {\n name: 'desc',\n desc: 'Sort results in descending order. Default is `false`.',\n type: 'Boolean',\n },\n ],\n package: '',\n desc:\n 'Orders the records within each table. One output table is produced for each input table. The output tables will have the same schema as their corresponding input tables.',\n example: 'sort(columns: [\"_value\"], desc: false)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/sort/',\n },\n {\n name: 'spread',\n args: [\n {\n name: 'column',\n desc: 'The column on which to operate. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Outputs the difference between the minimum and maximum values in the specified column. Only `uint`, `int`, and `float` column types can be used.',\n example: 'spread(column: \"_value\")',\n category: 'Aggregates',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/spread/',\n },\n {\n name: 'sql.from',\n args: [\n {\n name: 'driverName',\n desc: 'The driver used to connect to the SQL database.',\n type: 'String',\n },\n {\n name: 'dataSourceName',\n desc:\n 'The connection string used to connect to the SQL database. The string’s form and structure depend on the driver.',\n type: 'String',\n },\n {\n name: 'query',\n desc: 'The query to run against the SQL database.',\n type: 'String',\n },\n ],\n package: 'sql',\n desc: 'Retrieves data from a SQL data source.',\n example:\n 'sql.from(driverName: \"postgres\", dataSourceName: \"postgresql://user:password@localhost\", query:\"SELECT * FROM example_table\")',\n category: 'Inputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/sql/from/',\n },\n {\n name: 'sql.to',\n args: [\n {\n name: 'driverName',\n desc: 'The driver used to connect to the SQL database.',\n type: 'String',\n },\n {\n name: 'dataSourceName',\n desc:\n 'The connection string used to connect to the SQL database. The string’s form and structure depend on the driver.',\n type: 'String',\n },\n {\n name: 'table',\n desc: 'The destination table.',\n type: 'String',\n },\n {\n name: 'batchSize',\n desc:\n 'The number of parameters or columns that can be queued within each call to `Exec`. Defaults to `10000`.',\n type: 'Integer',\n },\n ],\n package: 'sql',\n desc: 'Writes data to a SQL database.',\n example:\n 'sql.to(driverName: \"postgres\", dataSourceName: \"postgresql://user:password@localhost\", table: \"example_table\")',\n category: 'Outputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/sql/to/',\n },\n {\n name: 'stateCount',\n args: [\n {\n name: 'fn',\n desc:\n 'A single argument function that evaluates true or false to identify the state of the record.',\n type: 'Function',\n },\n {\n name: 'column',\n desc:\n 'The name of the column added to each record that contains the incremented state count.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Computes the number of consecutive records in a given state and stores the increment in a new column.',\n example: 'stateCount(fn: (r) => r._field == \"state\", column: \"stateCount\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/statecount/',\n },\n {\n name: 'stateDuration',\n args: [\n {\n name: 'fn',\n desc:\n 'A single argument function that evaluates true or false to identify the state of the record.',\n type: 'Function',\n },\n {\n name: 'column',\n desc:\n 'Name of the column added to each record that contains the incremented state duration.',\n type: 'String',\n },\n {\n name: 'unit',\n desc: 'Unit of time in which the state duration is incremented.',\n type: 'Duration',\n },\n ],\n package: '',\n desc:\n 'Computes the duration of a given state and stores the increment in a new column.',\n example:\n 'stateDuration(fn: (r) => r._measurement == \"state\", column: \"stateDuration\", unit: 1s)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/stateduration/',\n },\n {\n name: 'stddev',\n args: [\n {\n name: 'column',\n desc: 'The column on which to operate. Defaults to `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'mode',\n desc:\n 'The standard deviation mode (sample or population). Defaults to `\"sample\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Computes the standard deviation of non-null records in specified column.',\n example: 'stddev(column: \"_value\", mode: \"sample\")',\n category: 'Aggregates',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/stddev/',\n },\n {\n name: 'string',\n args: [\n {\n name: 'v',\n desc: 'The value to convert.',\n type: 'Integer, UInteger, Float, Boolean, Duration, Time',\n },\n ],\n package: '',\n desc: 'Converts a single value to a string.',\n example: 'string(v: r._value)',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/string/',\n },\n {\n name: 'strings.compare',\n args: [\n {\n name: 'v',\n desc: 'The string value to compare.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The string value to compare against.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Compares the lexicographical order of two strings.',\n example: 'strings.compare(v: \"a\", t: \"b\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/compare/',\n },\n {\n name: 'strings.containsAny',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'chars',\n desc: 'Characters to search for.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Reports whether a specified string contains characters from another string.',\n example: 'strings.containsAny(v: \"abc\", chars: \"and\")',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/containsany/',\n },\n {\n name: 'strings.containsStr',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'substr',\n desc: 'The substring to search for.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Reports whether a string contains a specified substring.',\n example: 'strings.containsStr(v: \"This and that\", substr: \"and\")',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/containsstr/',\n },\n {\n name: 'strings.countStr',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'substr',\n desc: 'The substring count.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Counts the number of non-overlapping instances of a substring appears in a string.',\n example: 'strings.countStr(v: \"Hello mellow fellow\", substr: \"ello\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/countstr/',\n },\n {\n name: 'strings.equalFold',\n args: [\n {\n name: 'v',\n desc: 'The string value to compare.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The string value to compare against.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Reports whether two UTF-8 strings are equal under Unicode case-folding.',\n example: 'strings.equalFold(v: \"Go\", t: \"go\")',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/equalfold/',\n },\n {\n name: 'strings.hasPrefix',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'prefix',\n desc: 'The prefix to search for.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Indicates if a string begins with a specified prefix.',\n example: 'strings.hasPrefix(v: \"go gopher\", prefix: \"go\")',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/hasprefix/',\n },\n {\n name: 'strings.hasSuffix',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'suffix',\n desc: 'The suffix to search for.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Indicates if a string ends with a specified suffix.',\n example: 'strings.hasSuffix(v: \"gopher go\", suffix: \"go\")',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/hassuffix/',\n },\n {\n name: 'strings.index',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'substr',\n desc: 'The substring to search for.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Returns the index of the first instance of a substring in a string. If the substring is not present, it returns `-1`.',\n example: 'strings.index(v: \"go gopher\", substr: \"go\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/index-func/',\n },\n {\n name: 'strings.indexAny',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'chars',\n desc: 'Characters to search for.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Returns the index of the first instance of specified characters in a string. If none of the specified characters are present, it returns -1.',\n example: 'strings.indexAny(v: \"chicken\", chars: \"aeiouy\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/indexany/',\n },\n {\n name: 'strings.isDigit',\n args: [\n {\n name: 'v',\n desc: 'The single-character string to test.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Tests if a single-character string is a digit (0-9).',\n example: 'strings.isDigit(v: \"7\")',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/isdigit/',\n },\n {\n name: 'strings.isLetter',\n args: [\n {\n name: 'v',\n desc: 'The single-character string to test.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Tests if a single-character string is a letter (a-z, A-Z).',\n example: 'strings.isLetter(v: \"A\")',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/isletter/',\n },\n {\n name: 'strings.isLower',\n args: [\n {\n name: 'v',\n desc: 'The single-character string to test.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Tests if a single-character string is lowercase.',\n example: 'strings.isLower(v: \"a\")',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/islower/',\n },\n {\n name: 'strings.isUpper',\n args: [\n {\n name: 'v',\n desc: 'The single-character string to test.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Tests if a single-character string is uppercase.',\n example: 'strings.isUpper(v: \"A\")',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/isupper/',\n },\n {\n name: 'strings.joinStr',\n args: [\n {\n name: 'arr',\n desc: 'The array of strings to concatenate.',\n type: 'Array of Strings',\n },\n {\n name: 'v',\n desc: 'The separator to use in the concatenated value.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Concatenates elements of a string array into a single string using a specified separator.',\n example: 'strings.joinStr(arr: [\"a\", \"b\", \"c\"], v: \",\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/joinstr/',\n },\n {\n name: 'strings.lastIndex',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'substr',\n desc: 'The substring to search for.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Returns the index of the last instance of a substring in a string. If the substring is not present, the function returns -1.',\n example: 'strings.lastIndex(v: \"go gopher\", substr: \"go\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/lastindex/',\n },\n {\n name: 'strings.lastIndexAny',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'chars',\n desc: 'Characters to search for.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Returns the index of the last instance of any specified characters in a string. If none of the specified characters are present, the function returns -1.',\n example: 'strings.lastIndexAny(v: \"chicken\", chars: \"aeiouy\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/lastindexany/',\n },\n {\n name: 'strings.repeat',\n args: [\n {\n name: 'v',\n desc: 'The string value to repeat.',\n type: 'String',\n },\n {\n name: 'i',\n desc: 'The number of times to repeat `v`.',\n type: 'Integer',\n },\n ],\n package: 'strings',\n desc: 'Returns a string consisting of `i` copies of a specified string.',\n example: 'strings.repeat(v: \"ha\", i: 3)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/repeat/',\n },\n {\n name: 'strings.replace',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The substring to replace.',\n type: 'String',\n },\n {\n name: 'u',\n desc: 'The replacement for `i` instances of `t`.',\n type: 'String',\n },\n {\n name: 'i',\n desc: 'The number of non-overlapping `t` matches to replace.',\n type: 'Integer',\n },\n ],\n package: 'strings',\n desc:\n 'Replaces the first `i` non-overlapping instances of a substring with a specified replacement.',\n example: 'strings.replace(v: \"oink oink oink\", t: \"oink\", u: \"moo\", i: 2)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/replace/',\n },\n {\n name: 'strings.replaceAll',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The substring to replace.',\n type: 'String',\n },\n {\n name: 'u',\n desc: 'The replacement for all instances of `t`.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Replaces all non-overlapping instances of a substring with a specified replacement.',\n example: 'strings.replaceAll(v: \"oink oink oink\", t: \"oink\", u: \"moo\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/replaceall/',\n },\n {\n name: 'strings.split',\n args: [\n {\n name: 'v',\n desc: 'The string value to split.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The string value that acts as the separator.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Splits a string on a specified separator and returns an array of substrings.',\n example: 'strings.split(v: \"a flux of foxes\", t: \" \")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/split/',\n },\n {\n name: 'strings.splitAfter',\n args: [\n {\n name: 'v',\n desc: 'The string value to split.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The string value that acts as the separator.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Splits a string after a specified separator and returns an array of substrings.',\n example: 'strings.splitAfter(v: \"a flux of foxes\", t: \" \")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/splitafter/',\n },\n {\n name: 'strings.splitAfterN',\n args: [\n {\n name: 'v',\n desc: 'The string value to split.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The string value that acts as the separator.',\n type: 'String',\n },\n {\n name: 'i',\n desc: 'The number of substrings to return.',\n type: 'Integer',\n },\n ],\n package: 'strings',\n desc:\n 'Splits a string after a specified separator and returns an array of `i` substrings.',\n example: 'strings.splitAfterN(v: \"a flux of foxes\", t: \" \", i: 2)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/splitaftern/',\n },\n {\n name: 'strings.splitN',\n args: [\n {\n name: 'v',\n desc: 'The string value to split.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The string value that acts as the separator.',\n type: 'String',\n },\n {\n name: 'i',\n desc: 'The number of substrings to return.',\n type: 'Integer',\n },\n ],\n package: 'strings',\n desc:\n 'Splits a string on a specified separator and returns an array of `i` substrings.',\n example: 'strings.splitN(v: \"a flux of foxes\", t: \" \", i: 2)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/splitn/',\n },\n {\n name: 'strings.strlen',\n args: [\n {\n name: 'v',\n desc: 'The string value to measure.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Returns the length of a string.',\n example: 'strings.strlen(v: \"a flux of foxes\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/strlen/',\n },\n {\n name: 'strings.substring',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'start',\n desc: 'The starting index of the substring.',\n type: 'Integer',\n },\n {\n name: 'end',\n desc: 'The ending index of the substring.',\n type: 'Integer',\n },\n ],\n package: 'strings',\n desc: 'Returns a substring based on start and end parameters.',\n example: 'strings.substring(v: \"influx\", start: 0, end: 3)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/substring/',\n },\n STRINGS_TITLE,\n {\n name: 'strings.toLower',\n args: [\n {\n name: 'v',\n desc: 'The string value to convert.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Converts a string to lower case.',\n example: 'strings.toLower(v: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/tolower/',\n },\n {\n name: 'strings.toTitle',\n args: [\n {\n name: 'v',\n desc: 'The string value to convert.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Converts all characters in a string to title case.',\n example: 'strings.toTitle(v: \"a flux of foxes\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/totitle/',\n },\n {\n name: 'strings.toUpper',\n args: [\n {\n name: 'v',\n desc: 'The string value to convert.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Converts a string to upper case.',\n example: 'strings.toUpper(v: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/toupper/',\n },\n STRINGS_TRIM,\n {\n name: 'strings.trimLeft',\n args: [\n {\n name: 'v',\n desc: 'The string to remove characters from.',\n type: 'String',\n },\n {\n name: 'cutset',\n desc: 'The leading characters to remove from the string.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Removes specified leading characters from a string.',\n example: 'strings.trimLeft(v: \".abc\", cutset: \".\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/trimleft/',\n },\n {\n name: 'strings.trimPrefix',\n args: [\n {\n name: 'v',\n desc: 'The string value to trim.',\n type: 'String',\n },\n {\n name: 'prefix',\n desc: 'The prefix to remove.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Removes a prefix from a string. Strings that do not start with the prefix are returned unchanged.',\n example: 'strings.trimPrefix(v: r._value, prefix: \"abc_\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/trimprefix/',\n },\n {\n name: 'strings.trimRight',\n args: [\n {\n name: 'v',\n desc: 'The string to remove characters from.',\n type: 'String',\n },\n {\n name: 'cutset',\n desc: 'The trailing characters to remove from the string.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Removes specified trailing characters from a string.',\n example: 'strings.trimRight(v: \"abc.\", cutset: \".\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/trimright/',\n },\n {\n name: 'strings.trimSpace',\n args: [\n {\n name: 'v',\n desc: 'The string value to trim.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Removes leading and trailing spaces from a string.',\n example: 'strings.trimSpace(v: r._value)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/trimspace/',\n },\n {\n name: 'strings.trimSuffix',\n args: [\n {\n name: 'v',\n desc: 'The string value to trim.',\n type: 'String',\n },\n {\n name: 'suffix',\n desc: 'The suffix to remove.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Removes a suffix from a string. Strings that do not end with the suffix are returned unchanged.',\n example: 'strings.trimSuffix(v: r._value, suffix: \"_123\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/strings/trimsuffix/',\n },\n {\n name: 'sum',\n args: [\n {\n name: 'column',\n desc: 'The column on which to operate. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Computes the sum of non-null records in the specified column.',\n example: 'sum(column: \"_value\")',\n category: 'Aggregates',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/sum/',\n },\n {\n name: 'system.time',\n args: [],\n package: 'system',\n desc: 'Returns the current system time.',\n example: 'system.time()',\n category: 'Miscellaneous',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/system/time/',\n },\n {\n name: 'tableFind',\n args: [\n {\n name: 'fn',\n desc: 'A predicate function for matching keys in a table group key.',\n type: 'Function',\n },\n ],\n package: '',\n desc:\n 'Extracts the first table in a stream of tables whose group key values match a predicate. If no table is found, the function errors.',\n example: 'tableFind(fn: (key) => key._field == \"fieldName\")',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/stream-table/tablefind/',\n },\n {\n name: 'tail',\n args: [\n {\n name: 'n',\n desc: 'The maximum number of records to output.',\n type: 'Integer',\n },\n {\n name: 'offset',\n desc:\n 'The number of records to skip at the end of a table before limiting to `n`. Defaults to `0`.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Limits each output table to the last `n` records, excluding the offset.',\n example: 'tail(n: 10)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/tail/',\n },\n {\n name: 'tasks.lastSuccess',\n args: [\n {\n name: 'orTime',\n desc:\n 'Default time value returned if the task has never successfully run.',\n type: 'Time',\n },\n ],\n package: 'influxdata/influxdb/tasks',\n desc:\n 'Returns the time of last successful run of an InfluxDB task or the value of the `orTime` parameter if the task has never successfully run.',\n example: 'tasks.lastSuccess(orTime: 2020-10-01T00:00:00Z)',\n category: 'Miscellaneous',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/influxdb-tasks/lastsuccess/',\n },\n {\n name: 'testing.assertEmpty',\n args: [],\n package: 'testing',\n desc: 'Tests if an input stream is empty.',\n example: 'testing.assertEmpty()',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/testing/assertempty/',\n },\n {\n name: 'testing.assertEquals',\n args: [\n {\n name: 'name',\n desc: 'Unique name given to the assertion.',\n type: 'String',\n },\n {\n name: 'got',\n desc: 'The stream containing data to test.',\n type: 'Stream of tables',\n },\n {\n name: 'want',\n desc: 'The stream that contains the expected data to test against.',\n type: 'Stream of tables',\n },\n ],\n package: 'testing',\n desc: 'Tests whether two streams have identical data.',\n example: 'testing.assertEquals(got: got, want: want)',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/testing/assertequals/',\n },\n {\n name: 'testing.diff',\n args: [\n {\n name: 'got',\n desc: 'The stream containing data to test.',\n type: 'Stream of tables',\n },\n {\n name: 'want',\n desc: 'The stream that contains the expected data to test against.',\n type: 'Stream of tables',\n },\n {\n name: 'epsilon',\n desc:\n 'How far apart two float values can be, but still considered equal. Defaults to `0.000000001`.',\n type: 'Float',\n },\n ],\n package: 'testing',\n desc: 'Produces a diff between two streams.',\n example: 'testing.assertEquals(got: got, want: want)',\n category: 'Tests',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/testing/diff/',\n },\n {\n name: 'time',\n args: [\n {\n name: 'v',\n desc: 'The value to convert.',\n type: 'String, Integer, UInteger',\n },\n ],\n package: '',\n desc: 'Converts a single value to a time.',\n example: 'time(v: r._value)',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/time/',\n },\n {\n name: 'timedMovingAverage',\n args: [\n {\n name: 'every',\n desc: 'The frequency of time windows.',\n type: 'Duration',\n },\n {\n name: 'period',\n desc: 'The length of each averaged time window.',\n type: 'Duration',\n },\n {\n name: 'column',\n desc:\n 'The column on which to compute the moving average. Defaults to `\"_value\"`',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Calculates the mean of values in a defined time range at a specified frequency.',\n example: 'timedMovingAverage(every: 1d, period: 5d)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/timedmovingaverage/',\n },\n {\n name: 'timeShift',\n args: [\n {\n name: 'duration',\n desc:\n 'The amount of time to add to each time value. May be a negative duration.',\n type: 'String',\n },\n {\n name: 'columns',\n desc:\n 'The list of all columns to be shifted. Defaults to `[\"_start\", \"_stop\", \"_time\"]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Adds a fixed duration to time columns. The output table schema is the same as the input table.',\n example: 'timeShift(duration: 10h, columns: [\"_start\", \"_stop\", \"_time\"])',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/shift/',\n },\n {\n name: 'timeWeightedAvg',\n args: [\n {\n name: 'unit',\n desc:\n 'The time duration used when computing the time-weighted average.',\n type: 'Duration',\n },\n ],\n package: '',\n desc:\n 'Computes the time-weighted average of non-null records in a table using linear interpolation.',\n example: 'timeWeightedAvg(unit: 1m)',\n category: 'Aggregates',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/timeweightedavg/',\n },\n {\n name: 'to',\n args: [\n {\n name: 'bucket',\n desc:\n 'The bucket to which data is written. Mutually exclusive with `bucketID`.',\n type: 'String',\n },\n {\n name: 'bucketID',\n desc:\n 'The ID of the bucket to which data is written. Mutually exclusive with `bucket`.',\n type: 'String',\n },\n {\n name: 'org',\n desc:\n 'The organization name of the specified `bucket`. Only required when writing to a remote host. Mutually exclusive with `orgID`.',\n type: 'String',\n },\n {\n name: 'orgID',\n desc:\n 'The organization ID of the specified `bucket`. Only required when writing to a remote host. Mutually exclusive with `org`.',\n type: 'String',\n },\n {\n name: 'host',\n desc:\n 'The remote InfluxDB host to which to write. If specified, a `token` is required.',\n type: 'String',\n },\n {\n name: 'token',\n desc:\n 'The authorization token to use when writing to a remote host. Required when a `host` is specified.',\n type: 'String',\n },\n {\n name: 'timeColumn',\n desc: 'The time column of the output. Default is `\"_time\"`.',\n type: 'String',\n },\n {\n name: 'tagColumns',\n desc:\n 'The tag columns of the output. Defaults to all columns with type `string`, excluding all value columns and the `_field` column if present.',\n type: 'Array of Strings',\n },\n {\n name: 'fieldFn',\n desc:\n 'Function that takes a record from the input table and returns an object. For each record from the input table, `fieldFn` returns an object that maps output the field key to the output value. Default is `(r) => ({ [r._field]: r._value })`',\n type: 'Function',\n },\n ],\n package: '',\n desc: 'The `to()` function writes data to an InfluxDB v2.0 bucket.',\n example: 'to(bucket: \"example-bucket\", org: \"example-org\")',\n category: 'Outputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/outputs/to/',\n },\n {\n name: 'toBool',\n args: [],\n package: '',\n desc: 'Converts all values in the `_value` column to a boolean.',\n example: 'toBool()',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/tobool',\n },\n {\n name: 'toFloat',\n args: [],\n package: '',\n desc: 'Converts all values in the `_value` column to a float.',\n example: 'toFloat()',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/tofloat/',\n },\n {\n name: 'toInt',\n args: [],\n package: '',\n desc: 'Converts all values in the `_value` column to a integer.',\n example: 'toInt()',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/toint/',\n },\n {\n name: 'toString',\n args: [],\n package: '',\n desc: 'Converts a value to a string.',\n example: 'toString()',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/tostring/',\n },\n {\n name: 'toTime',\n args: [],\n package: '',\n desc: 'Converts a value to a time.',\n example: 'toTime()',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/totime/',\n },\n {\n name: 'toUInt',\n args: [],\n package: '',\n desc: 'Converts a value to an unsigned integer.',\n example: 'toUInt()',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/touint/',\n },\n {\n name: 'top',\n args: [\n {\n name: 'n',\n desc: 'Number of rows to return.',\n type: 'Integer',\n },\n {\n name: 'columns',\n desc:\n 'List of columns by which to sort. Sort precedence is determined by list order (left to right). Default is `[\"_value\"]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc: 'Sorts a table by columns and keeps only the top n rows.',\n example: 'top(n:10, columns: [\"_value\"])',\n category: 'Selectors',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/selectors/top/',\n },\n {\n name: 'tripleEMA',\n args: [\n {\n name: 'n',\n desc: 'The number of points to average.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Calculates the exponential moving average of values in the `_value` column grouped into `n` number of points, giving more weight to recent data at triple the rate of `exponentialMovingAverage()`.',\n example: 'tripleEMA(n: 5)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/tripleema/',\n },\n {\n name: 'tripleExponentialDerivative',\n args: [\n {\n name: 'n',\n desc: 'The number of points to use in the calculation.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Calculates a triple exponential derivative (TRIX) of input tables using n points.',\n example: 'tripleExponentialDerivative(n: 5)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/tripleexponentialderivative/',\n },\n {\n name: 'truncateTimeColumn',\n args: [\n {\n name: 'unit',\n desc: 'The unit of time to truncate to.',\n type: 'Duration',\n },\n ],\n package: '',\n desc: 'Truncates all `_time` values to a specified unit.',\n example: 'truncateTimeColumn(unit: 1m)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/truncatetimecolumn/',\n },\n {\n name: 'uint',\n args: [\n {\n name: 'v',\n desc: 'The value to convert.',\n type: 'String, Integer, Boolean',\n },\n ],\n package: '',\n desc: 'Converts a single value to a uinteger.',\n example: 'uint(v: r._value)',\n category: 'Type Conversions',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/uint/',\n },\n UNION,\n {\n name: 'unique',\n args: [\n {\n name: 'column',\n desc: 'The column searched for unique values. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Returns all rows containing unique values in a specified column.',\n example: 'unique(column: \"_value\")',\n category: 'Selectors',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/selectors/unique/',\n },\n {\n name: 'window',\n args: [\n {\n name: 'every',\n desc: 'Duration of time between windows. Defaults to `period` value.',\n type: 'Duration',\n },\n {\n name: 'period',\n desc:\n 'Duration of the window. Period is the length of each interval. It can be negative, indicating the start and stop boundaries are reversed. Defaults to `every` value.',\n type: 'Duration',\n },\n {\n name: 'offset',\n desc:\n 'The offset duration relative to the `location` offset. It can be negative, indicating that the offset goes backwards in time. The default aligns the window boundaries with `now`.',\n type: 'Duration',\n },\n {\n name: 'intervals',\n desc:\n 'A function that returns an interval generator, a set of intervals used as windows. See docs for an example.',\n type: 'Function',\n },\n {\n name: 'timeColumn',\n desc: 'The column containing time. Defaults to `\"_time\"`.',\n type: 'String',\n },\n {\n name: 'startColumn',\n desc:\n 'The column containing the window start time. Defaults to `\"_start\"`.',\n type: 'String',\n },\n {\n name: 'stopColumn',\n desc:\n 'The column containing the window stop time. Defaults to `\"_stop\"`.',\n type: 'String',\n },\n {\n name: 'createEmpty',\n desc:\n 'Specifies whether empty tables should be created. Defaults to `false`.',\n type: 'Boolean',\n },\n ],\n package: '',\n desc:\n 'Groups records based on a time value. New columns are added to uniquely identify each window. Those columns are added to the group key of the output tables. A single input record will be placed into zero or more output tables, depending on the specific windowing function.',\n example: 'window(every: v.windowPeriod)',\n category: 'Transformations',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/window/',\n },\n {\n name: 'yield',\n args: [\n {\n name: 'name',\n desc: 'A unique name for the yielded results.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Indicates the input tables received should be delivered as a result of the query. Yield outputs the input stream unmodified. A query may have multiple results, each identified by the name provided to the `yield()` function.',\n example: 'yield(name: \"custom-name\")',\n category: 'Outputs',\n link:\n 'https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/outputs/yield/',\n },\n]\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport TransformToolbarFunctions from 'src/timeMachine/components/fluxFunctionsToolbar/TransformToolbarFunctions'\nimport FunctionCategory from 'src/timeMachine/components/fluxFunctionsToolbar/FunctionCategory'\nimport FluxToolbarSearch from 'src/timeMachine/components/FluxToolbarSearch'\nimport {DapperScrollbars} from '@influxdata/clockface'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Actions\nimport {setActiveQueryText} from 'src/timeMachine/actions'\n\n// Utils\nimport {getActiveQuery} from 'src/timeMachine/selectors'\n\n// Constants\nimport {FLUX_FUNCTIONS} from 'src/shared/constants/fluxFunctions'\n\n// Types\nimport {AppState, FluxToolbarFunction} from 'src/types'\n\ninterface OwnProps {\n onInsertFluxFunction: (func: FluxToolbarFunction) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\ninterface State {\n searchTerm: string\n}\n\nclass FluxFunctionsToolbar extends PureComponent {\n public state: State = {searchTerm: ''}\n\n public render() {\n const {searchTerm} = this.state\n\n return (\n <>\n \n \n
    \n \n {sortedFunctions =>\n Object.entries(sortedFunctions).map(([category, funcs]) => (\n \n ))\n }\n \n
    \n
    \n \n )\n }\n\n private handleSearch = (searchTerm: string): void => {\n this.setState({searchTerm})\n }\n\n private handleClickFunction = (func: FluxToolbarFunction) => {\n this.props.onInsertFluxFunction(func)\n }\n}\n\nconst mstp = (state: AppState) => {\n const activeQueryText = getActiveQuery(state).text\n\n return {activeQueryText}\n}\n\nconst mdtp = {\n onSetActiveQueryText: setActiveQueryText,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(ErrorHandling(FluxFunctionsToolbar))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n Dropdown,\n DropdownMenuTheme,\n ComponentStatus,\n} from '@influxdata/clockface'\n\n// Actions\nimport {selectValue} from 'src/variables/actions/thunks'\n\n// Utils\nimport {getVariable, normalizeValues} from 'src/variables/selectors'\n\n// Types\nimport {AppState, RemoteDataState} from 'src/types'\n\ninterface OwnProps {\n variableID: string\n testID?: string\n onSelect?: () => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass VariableDropdown extends PureComponent {\n render() {\n const {selectedValue, values} = this.props\n\n const dropdownStatus =\n values.length === 0 ? ComponentStatus.Disabled : ComponentStatus.Default\n\n const longestItemWidth = Math.floor(\n values.reduce(function(a, b) {\n return a.length > b.length ? a : b\n }, '').length * 9.5\n )\n\n const widthLength = Math.max(140, longestItemWidth)\n\n return (\n
    \n {/* TODO: Add variable description to title attribute when it is ready */}\n (\n \n {this.selectedText}\n \n )}\n menu={onCollapse => (\n \n {values.map(val => {\n return (\n \n {val}\n \n )\n })}\n \n )}\n />\n
    \n )\n }\n\n private handleSelect = (selectedValue: string) => {\n const {\n variableID,\n onSelectValue,\n onSelect,\n selectedValue: prevSelectedValue,\n } = this.props\n\n if (prevSelectedValue !== selectedValue) {\n onSelectValue(variableID, selectedValue)\n }\n\n if (onSelect) {\n onSelect()\n }\n }\n\n private get selectedText() {\n const {selectedValue, status} = this.props\n if (status === RemoteDataState.Loading) {\n return 'Loading'\n }\n\n if (selectedValue) {\n return selectedValue\n }\n\n return 'No Values'\n }\n}\n\nconst mstp = (state: AppState, props: OwnProps) => {\n const {variableID} = props\n const variable = getVariable(state, variableID)\n const selected =\n variable.selected && variable.selected.length ? variable.selected[0] : null\n\n return {\n status: variable.status,\n values: normalizeValues(variable),\n selectedValue: selected,\n }\n}\n\nconst mdtp = {\n onSelectValue: selectValue,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(VariableDropdown)\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Actions\nimport {executeQueries} from 'src/timeMachine/actions/queries'\n\n// Components\nimport {Form} from '@influxdata/clockface'\nimport VariableDropdown from 'src/variables/components/VariableDropdown'\n\ninterface OwnProps {\n variableID: string\n}\n\ntype ReduxProps = ConnectedProps\n\ntype Props = ReduxProps & OwnProps\n\nconst VariableTooltipContents: FunctionComponent = ({\n variableID,\n execute,\n}) => {\n const refresh = () => {\n execute()\n }\n return (\n \n \n \n \n \n )\n}\n\nconst mdtp = {\n execute: executeQueries,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(VariableTooltipContents)\n","// Libraries\nimport React, {FC, useRef} from 'react'\nimport {get} from 'lodash'\n\n// Components\nimport VariableTooltipContents from 'src/timeMachine/components/variableToolbar/VariableTooltipContents'\nimport {\n Button,\n Popover,\n PopoverPosition,\n PopoverInteraction,\n Appearance,\n ComponentColor,\n ComponentSize,\n} from '@influxdata/clockface'\n\n// Types\nimport {Variable} from 'src/types'\n\ninterface Props {\n variable: Variable\n onClickVariable: (variableName: string) => void\n testID?: string\n}\n\nfunction shouldShowTooltip(variable: Variable): boolean {\n // a system variable isn't selectable in this manor\n if (variable.arguments.type === 'system') {\n return false\n }\n\n // if a static list is empty or has a single component, we dont want to show the tooltip,\n // as it would have nothing for the user to do on it\n if (\n variable.arguments.type === 'constant' &&\n variable.arguments.values.length <= 1\n ) {\n return false\n }\n\n // if a static map object is empty or has a single component, we dont want to show the tooltip,\n // as it would have nothing for the user to do on it\n if (\n variable.arguments.type === 'map' &&\n Object.keys(variable.arguments.values).length <= 1\n ) {\n return false\n }\n\n if (\n variable.arguments.type === 'query' &&\n (!(variable.arguments.values as any).results ||\n (variable.arguments.values as any).results.length <= 1)\n ) {\n return false\n }\n\n return true\n}\n\nconst VariableItem: FC = ({\n variable,\n onClickVariable,\n testID = 'variable',\n}) => {\n const trigger = useRef(null)\n\n const handleClick = (): void => {\n const variableName = get(variable, 'name', 'variableName')\n onClickVariable(variableName)\n }\n\n if (!shouldShowTooltip(variable)) {\n return (\n \n {variable.name}\n \n \n )\n }\n\n return (\n <>\n \n {variable.name}\n \n \n }\n />\n \n )\n}\n\nexport default VariableItem\n","// Libraries\nimport React, {useState, useEffect, FunctionComponent} from 'react'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\n\n// Components\nimport FluxToolbarSearch from 'src/timeMachine/components/FluxToolbarSearch'\nimport {\n DapperScrollbars,\n EmptyState,\n ComponentSize,\n} from '@influxdata/clockface'\nimport VariableItem from 'src/timeMachine/components/variableToolbar/VariableItem'\n\n// Actions\nimport {hydrateVariables} from 'src/variables/actions/thunks'\n\n// Utils\nimport {getAllVariables, sortVariablesByName} from 'src/variables/selectors'\n\n// Types\nimport {AppState} from 'src/types'\n\ninterface OwnProps {\n onClickVariable: (variableName: string) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nconst VariableToolbar: FunctionComponent = ({\n variables,\n onClickVariable,\n}) => {\n const dispatch = useDispatch()\n const [searchTerm, setSearchTerm] = useState('')\n const filteredVariables = variables.filter(v => v.name.includes(searchTerm))\n\n useEffect(() => {\n dispatch(hydrateVariables())\n }, [dispatch])\n\n let content: JSX.Element | JSX.Element[] = (\n \n No variables match your search\n \n )\n\n if (Boolean(filteredVariables.length)) {\n content = filteredVariables.map(v => (\n \n ))\n }\n\n return (\n <>\n \n \n
    {content}
    \n
    \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const variables = getAllVariables(state)\n\n return {variables: sortVariablesByName(variables)}\n}\n\nconst connector = connect(mstp)\n\nexport default connector(VariableToolbar)\n","// Libraries\nimport React, {FC} from 'react'\nimport classnames from 'classnames'\n\ninterface Props {\n onClick: (id: string) => void\n id: string\n name: string\n active: boolean\n testID?: string\n}\n\nconst ToolbarTab: FC = ({\n onClick,\n name,\n active,\n testID = 'toolbar-tab',\n id,\n}) => {\n const toolbarTabClass = classnames('flux-toolbar--tab', {\n 'flux-toolbar--tab__active': active,\n })\n\n const handleClick = (): void => {\n if (active) {\n onClick('none')\n } else {\n onClick(id)\n }\n }\n\n return (\n \n
    {name}
    \n \n )\n}\n\nexport default ToolbarTab\n","// Libraries\nimport React, {FC, useState} from 'react'\n\n// Components\nimport FluxFunctionsToolbar from 'src/timeMachine/components/fluxFunctionsToolbar/FluxFunctionsToolbar'\nimport VariableToolbar from 'src/timeMachine/components/variableToolbar/VariableToolbar'\nimport FluxToolbarTab from 'src/timeMachine/components/FluxToolbarTab'\n\n// Types\nimport {FluxToolbarFunction} from 'src/types'\n\ninterface Props {\n activeQueryBuilderTab: string\n onInsertFluxFunction: (func: FluxToolbarFunction) => void\n onInsertVariable: (variableName: string) => void\n}\n\ntype FluxToolbarTabs = 'functions' | 'variables' | 'none'\n\nconst FluxToolbar: FC = ({\n activeQueryBuilderTab,\n onInsertFluxFunction,\n onInsertVariable,\n}) => {\n const [activeTab, setActiveTab] = useState('functions')\n\n const handleTabClick = (id: FluxToolbarTabs): void => {\n setActiveTab(id)\n }\n\n let activeToolbar\n\n if (activeTab === 'functions') {\n activeToolbar = (\n \n )\n }\n\n if (activeTab === 'variables') {\n activeToolbar = \n }\n\n const toolbarExpanded = activeTab === 'functions' || activeTab === 'variables'\n\n return (\n
    \n {toolbarExpanded && (\n \n {activeToolbar}\n
    \n )}\n
    \n \n {activeQueryBuilderTab !== 'customCheckQuery' && (\n \n )}\n
    \n \n )\n}\n\nexport default FluxToolbar\n","// Constants\nimport {FROM, UNION} from 'src/shared/constants/fluxFunctions'\n\nexport const functionRequiresNewLine = (funcName: string): boolean => {\n switch (funcName) {\n case FROM.name:\n case UNION.name: {\n return true\n }\n default:\n return false\n }\n}\n\nexport const generateImport = (\n funcPackage: string,\n script: string\n): false | string => {\n const importStatement = `import \"${funcPackage}\"`\n\n if (!funcPackage || script.includes(importStatement)) {\n return false\n }\n\n return importStatement\n}\n","// Libraries\nimport React, {FC, useState} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport FluxEditor from 'src/shared/components/FluxMonacoEditor'\nimport FluxToolbar from 'src/timeMachine/components/FluxToolbar'\n\n// Actions\nimport {setActiveQueryText} from 'src/timeMachine/actions'\nimport {saveAndExecuteQueries} from 'src/timeMachine/actions/queries'\n\n// Utils\nimport {getActiveQuery, getActiveTimeMachine} from 'src/timeMachine/selectors'\nimport {\n functionRequiresNewLine,\n generateImport,\n} from 'src/timeMachine/utils/insertFunction'\n\n// Types\nimport {AppState, FluxToolbarFunction, EditorType} from 'src/types'\nimport * as monacoEditor from 'monaco-editor/esm/vs/editor/editor.api'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst TimeMachineFluxEditor: FC = ({\n activeQueryText,\n onSubmitQueries,\n onSetActiveQueryText,\n activeTab,\n}) => {\n const [editorInstance, setEditorInstance] = useState(null)\n\n const handleInsertVariable = (variableName: string): void => {\n const p = editorInstance.getPosition()\n editorInstance.executeEdits('', [\n {\n range: new window.monaco.Range(\n p.lineNumber,\n p.column,\n p.lineNumber,\n p.column\n ),\n text: `v.${variableName}`,\n },\n ])\n onSetActiveQueryText(editorInstance.getValue())\n }\n\n const getInsertLineNumber = (currentLineNumber: number): number => {\n const scriptLines = activeQueryText.split('\\n')\n\n const currentLine =\n scriptLines[currentLineNumber] || scriptLines[scriptLines.length - 1]\n\n // Insert on the current line if its an empty line\n if (!currentLine.trim()) {\n return currentLineNumber\n }\n\n return currentLineNumber + 1\n }\n\n const defaultColumnPosition = 1 // beginning column of the row\n\n const getFluxTextAndRange = (\n func: FluxToolbarFunction\n ): {text: string; range: monacoEditor.Range} => {\n const p = editorInstance.getPosition()\n const insertLineNumber = getInsertLineNumber(p.lineNumber)\n\n let row = insertLineNumber\n\n const [currentRange] = editorInstance.getVisibleRanges()\n // Determines whether the new insert line is beyond the current range\n let shouldInsertOnLastLine = insertLineNumber > currentRange.endLineNumber\n // edge case for when user toggles to the script editor\n // this defaults the cursor to the initial position (top-left, 1:1 position)\n if (p.lineNumber === 1 && p.column === defaultColumnPosition) {\n // adds the function to the end of the query\n shouldInsertOnLastLine = true\n row = currentRange.endLineNumber + 1\n }\n\n let text = ''\n if (shouldInsertOnLastLine) {\n text = `\\n |> ${func.example}`\n } else {\n text = ` |> ${func.example}\\n`\n }\n\n if (functionRequiresNewLine(func.name)) {\n text = `\\n${func.example}\\n`\n }\n\n const range = new window.monaco.Range(\n row,\n defaultColumnPosition,\n row,\n defaultColumnPosition\n )\n\n return {text, range}\n }\n\n const handleInsertFluxFunction = (func: FluxToolbarFunction): void => {\n const {text, range} = getFluxTextAndRange(func)\n\n const edits = [\n {\n range,\n text,\n },\n ]\n const importStatement = generateImport(\n func.package,\n editorInstance.getValue()\n )\n if (importStatement) {\n edits.unshift({\n range: new window.monaco.Range(1, 1, 1, 1),\n text: `${importStatement}\\n`,\n })\n }\n editorInstance.executeEdits('', edits)\n onSetActiveQueryText(editorInstance.getValue())\n }\n\n return (\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n )\n}\n\nexport {TimeMachineFluxEditor}\n\nconst mstp = (state: AppState) => {\n const activeQueryText = getActiveQuery(state).text\n const {activeTab} = getActiveTimeMachine(state)\n\n return {activeQueryText, activeTab}\n}\n\nconst mdtp = {\n onSetActiveQueryText: setActiveQueryText,\n onSubmitQueries: saveAndExecuteQueries,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(TimeMachineFluxEditor)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect} from 'react-redux'\nimport moment from 'moment'\n\n// Components\nimport {Button, ComponentStatus, IconFont} from '@influxdata/clockface'\n\n// Utils\nimport {downloadTextFile} from 'src/shared/utils/download'\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState} from 'src/types'\n\ninterface StateProps {\n files: string[] | null\n}\n\nclass CSVExportButton extends PureComponent {\n public render() {\n return (\n \n )\n }\n\n private get buttonStatus(): ComponentStatus {\n const {files} = this.props\n\n if (files) {\n return ComponentStatus.Default\n }\n\n return ComponentStatus.Disabled\n }\n\n private get titleText(): string {\n const {files} = this.props\n\n if (files) {\n return 'Download query results as a .CSV file'\n }\n\n return 'Create a query in order to download results as .CSV'\n }\n\n private handleClick = () => {\n const {files} = this.props\n const csv = files.join('\\n\\n')\n const now = moment().format('YYYY-MM-DD-HH-mm')\n const filename = `${now} Chronograf Data`\n\n downloadTextFile(csv, filename, '.csv', 'text/csv')\n }\n}\n\nconst mstp = (state: AppState) => {\n const {\n queryResults: {files},\n } = getActiveTimeMachine(state)\n\n return {files}\n}\n\nexport default connect(mstp)(CSVExportButton)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n Button,\n ConfirmationButton,\n Appearance,\n ComponentColor,\n} from '@influxdata/clockface'\n\n// Actions\nimport {\n editActiveQueryWithBuilder,\n editActiveQueryAsFlux,\n resetActiveQuerySwitchToBuilder,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {getActiveQuery} from 'src/timeMachine/selectors'\nimport {\n confirmationState,\n ConfirmationState,\n} from 'src/timeMachine/utils/queryBuilder'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nclass TimeMachineQueriesSwitcher extends PureComponent {\n public render() {\n const {\n onEditAsFlux,\n onEditWithBuilder,\n onResetAndEditWithBuilder,\n } = this.props\n const {editMode, text, builderConfig} = this.props.activeQuery\n const scriptMode = editMode !== 'builder'\n\n let button = (\n \n )\n\n if (scriptMode) {\n button = (\n \n )\n }\n\n if (\n scriptMode &&\n confirmationState(text, builderConfig) === ConfirmationState.Required\n ) {\n button = (\n \n )\n }\n\n return button\n }\n}\n\nconst mstp = (state: AppState) => {\n const activeQuery = getActiveQuery(state)\n\n return {activeQuery}\n}\n\nconst mdtp = {\n onEditWithBuilder: editActiveQueryWithBuilder,\n onResetAndEditWithBuilder: resetActiveQuerySwitchToBuilder,\n onEditAsFlux: editActiveQueryAsFlux,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(TimeMachineQueriesSwitcher)\n","export enum AutoRefreshOptionType {\n Option = 'option',\n Header = 'header',\n}\n\nexport interface AutoRefreshOption {\n id: string\n milliseconds: number\n label: string\n type: AutoRefreshOptionType\n}\n\nconst autoRefreshOptions: AutoRefreshOption[] = [\n {\n id: 'auto-refresh-header',\n milliseconds: 1,\n label: 'Refresh',\n type: AutoRefreshOptionType.Header,\n },\n {\n id: 'auto-refresh-paused',\n milliseconds: 0,\n label: 'Paused',\n type: AutoRefreshOptionType.Option,\n },\n {\n id: 'auto-refresh-5s',\n milliseconds: 5000,\n label: '5s',\n type: AutoRefreshOptionType.Option,\n },\n {\n id: 'auto-refresh-10s',\n milliseconds: 10000,\n label: '10s',\n type: AutoRefreshOptionType.Option,\n },\n {\n id: 'auto-refresh-15s',\n milliseconds: 15000,\n label: '15s',\n type: AutoRefreshOptionType.Option,\n },\n {\n id: 'auto-refresh-30s',\n milliseconds: 30000,\n label: '30s',\n type: AutoRefreshOptionType.Option,\n },\n {\n id: 'auto-refresh-60s',\n milliseconds: 60000,\n label: '60s',\n type: AutoRefreshOptionType.Option,\n },\n]\n\nexport default autoRefreshOptions\n","// Libraries\nimport React, {Component} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport {\n SquareButton,\n IconFont,\n ComponentStatus,\n Dropdown,\n} from '@influxdata/clockface'\n\n// Constants\nimport autoRefreshOptions, {\n AutoRefreshOption,\n AutoRefreshOptionType,\n} from 'src/shared/data/autoRefreshes'\n\n// Types\nimport {AutoRefresh, AutoRefreshStatus} from 'src/types'\nimport {CLOUD} from 'src/shared/constants'\n\nconst DROPDOWN_WIDTH_COLLAPSED = 50\nconst DROPDOWN_WIDTH_FULL = 84\n\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n selected: AutoRefresh\n onChoose: (milliseconds: number) => void\n showManualRefresh: boolean\n onManualRefresh?: () => void\n}\n\n@ErrorHandling\nexport default class AutoRefreshDropdown extends Component {\n public static defaultProps = {\n showManualRefresh: true,\n }\n\n constructor(props) {\n super(props)\n\n this.state = {\n isOpen: false,\n }\n }\n\n public render() {\n if (CLOUD) {\n return
    {this.manualRefreshButton}
    \n }\n return (\n
    \n (\n \n {this.selectedOptionLabel}\n \n )}\n menu={onCollapse => (\n \n {autoRefreshOptions.map(option => {\n if (option.type === AutoRefreshOptionType.Header) {\n return (\n \n )\n }\n\n return (\n \n {option.label}\n \n )\n })}\n \n )}\n />\n {this.manualRefreshButton}\n
    \n )\n }\n\n public handleDropdownChange = (\n autoRefreshOption: AutoRefreshOption\n ): void => {\n this.props.onChoose(autoRefreshOption.milliseconds)\n }\n\n private get dropdownStatus(): ComponentStatus {\n if (this.isDisabled) {\n return ComponentStatus.Disabled\n }\n\n return ComponentStatus.Default\n }\n\n private get isDisabled(): boolean {\n const {selected} = this.props\n\n return selected.status === AutoRefreshStatus.Disabled\n }\n\n private get isPaused(): boolean {\n const {selected} = this.props\n\n return selected.status === AutoRefreshStatus.Paused || this.isDisabled\n }\n\n private get className(): string {\n return classnames('autorefresh-dropdown', {paused: this.isPaused})\n }\n\n private get dropdownIcon(): IconFont {\n if (this.isPaused) {\n return IconFont.Pause\n }\n\n return IconFont.Refresh\n }\n\n private get dropdownWidthPixels(): number {\n if (this.isPaused) {\n return DROPDOWN_WIDTH_COLLAPSED\n }\n\n return DROPDOWN_WIDTH_FULL\n }\n\n private get selectedOptionID(): string {\n const {selected} = this.props\n\n const selectedOption = autoRefreshOptions.find(\n option => option.milliseconds === selected.interval\n )\n\n return selectedOption.id\n }\n\n private get selectedOptionLabel(): string {\n const {selected} = this.props\n\n const selectedOption = autoRefreshOptions.find(\n option => option.milliseconds === selected.interval\n )\n\n return selectedOption.label\n }\n\n private get manualRefreshButton(): JSX.Element {\n const {showManualRefresh, onManualRefresh} = this.props\n\n if (!showManualRefresh) {\n return\n }\n\n if (this.isPaused) {\n return (\n \n )\n }\n\n return null\n }\n}\n","import {CLOUD} from 'src/shared/constants'\n\ntype func = (...args: any[]) => any\n\nexport class AutoRefresher {\n public subscribers: func[] = []\n\n private intervalID: NodeJS.Timer\n\n public subscribe(fn: func) {\n this.subscribers = [...this.subscribers, fn]\n }\n\n public unsubscribe(fn: func) {\n this.subscribers = this.subscribers.filter(f => f !== fn)\n }\n\n public poll(refreshMs: number) {\n this.clearInterval()\n\n if (refreshMs) {\n this.intervalID = setInterval(this.refresh, refreshMs)\n }\n }\n\n public stopPolling() {\n this.clearInterval()\n }\n\n private clearInterval() {\n if (!this.intervalID) {\n return\n }\n\n clearInterval(this.intervalID)\n this.intervalID = null\n }\n\n private refresh = () => {\n if (CLOUD) {\n return\n }\n this.subscribers.forEach(fn => fn())\n }\n}\n\nexport const GlobalAutoRefresher = new AutoRefresher()\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {isEqual} from 'lodash'\n\n// Components\nimport AutoRefreshDropdown from 'src/shared/components/dropdown_auto_refresh/AutoRefreshDropdown'\n\n// Utils\nimport {AutoRefresher} from 'src/utils/AutoRefresher'\n\n// Actions\nimport {executeQueries} from 'src/timeMachine/actions/queries'\nimport {AutoRefreshStatus, AppState} from 'src/types'\nimport {setAutoRefresh} from 'src/timeMachine/actions'\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nclass TimeMachineRefreshDropdown extends PureComponent {\n private autoRefresher = new AutoRefresher()\n\n public componentDidMount() {\n const {autoRefresh} = this.props\n if (autoRefresh.status === AutoRefreshStatus.Active) {\n this.autoRefresher.poll(autoRefresh.interval)\n }\n\n this.autoRefresher.subscribe(this.executeQueries)\n }\n\n public componentDidUpdate(prevProps) {\n const {autoRefresh} = this.props\n\n if (!isEqual(autoRefresh, prevProps.autoRefresh)) {\n if (autoRefresh.status === AutoRefreshStatus.Active) {\n this.autoRefresher.poll(autoRefresh.interval)\n return\n }\n\n this.autoRefresher.stopPolling()\n }\n }\n\n public componentWillUnmount() {\n this.autoRefresher.unsubscribe(this.executeQueries)\n this.autoRefresher.stopPolling()\n }\n\n public render() {\n const {autoRefresh} = this.props\n\n return (\n \n )\n }\n\n private handleChooseAutoRefresh = (interval: number) => {\n const {onSetAutoRefresh, autoRefresh} = this.props\n\n if (interval === 0) {\n onSetAutoRefresh({\n ...autoRefresh,\n status: AutoRefreshStatus.Paused,\n interval,\n })\n return\n }\n\n onSetAutoRefresh({\n ...autoRefresh,\n interval,\n status: AutoRefreshStatus.Active,\n })\n }\n\n private executeQueries = () => {\n this.props.onExecuteQueries()\n }\n}\n\nconst mstp = (state: AppState) => {\n const {autoRefresh} = getActiveTimeMachine(state)\n\n return {autoRefresh}\n}\n\nconst mdtp = {\n onExecuteQueries: executeQueries,\n onSetAutoRefresh: setAutoRefresh,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(TimeMachineRefreshDropdown)\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport ReactDatePicker from 'react-datepicker'\nimport moment from 'moment'\n\n// Components\nimport {Input, Grid, Form} from '@influxdata/clockface'\n\n// Styles\nimport 'react-datepicker/dist/react-datepicker.css'\n\n// Types\nimport {Columns, ComponentSize, ComponentStatus} from '@influxdata/clockface'\n\ninterface Props {\n label: string\n dateTime: string\n maxDate?: string\n minDate?: string\n onSelectDate: (date: string) => void\n}\n\ninterface State {\n inputValue: string\n inputFormat: string\n}\n\nconst isValidRTC3339 = (d: string): boolean => {\n return (\n moment(d, 'YYYY-MM-DD HH:mm', true).isValid() ||\n moment(d, 'YYYY-MM-DD HH:mm:ss', true).isValid() ||\n moment(d, 'YYYY-MM-DD HH:mm:ss.SSS', true).isValid() ||\n moment(d, 'YYYY-MM-DD', true).isValid()\n )\n}\n\nconst getFormat = (d: string): string => {\n if (moment(d, 'YYYY-MM-DD', true).isValid()) {\n return 'YYYY-MM-DD'\n }\n if (moment(d, 'YYYY-MM-DD HH:mm', true).isValid()) {\n return 'YYYY-MM-DD HH:mm'\n }\n if (moment(d, 'YYYY-MM-DD HH:mm:ss', true).isValid()) {\n return 'YYYY-MM-DD HH:mm:ss'\n }\n if (moment(d, 'YYYY-MM-DD HH:mm:ss.SSS', true).isValid()) {\n return 'YYYY-MM-DD HH:mm:ss.SSS'\n }\n return null\n}\n\nexport default class DatePicker extends PureComponent {\n private inCurrentMonth: boolean = false\n state = {\n inputValue: null,\n inputFormat: null,\n }\n\n public render() {\n const {dateTime, label, maxDate, minDate} = this.props\n\n const date = new Date(dateTime)\n\n return (\n
    \n \n \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n )\n }\n\n private get inputValue(): string {\n const {dateTime} = this.props\n const {inputValue, inputFormat} = this.state\n\n if (this.isInputValueInvalid) {\n return inputValue\n }\n\n if (inputFormat) {\n return moment(dateTime).format(inputFormat)\n }\n\n return moment(dateTime).format('YYYY-MM-DD HH:mm:ss.SSS')\n }\n\n private get isInputValueInvalid(): boolean {\n const {inputValue} = this.state\n if (inputValue === null) {\n return false\n }\n\n return !isValidRTC3339(inputValue)\n }\n\n private get inputErrorMessage(): string | undefined {\n if (this.isInputValueInvalid) {\n return 'Format must be YYYY-MM-DD [HH:mm:ss.SSS]'\n }\n\n return '\\u00a0\\u00a0'\n }\n\n private get inputStatus(): ComponentStatus {\n if (this.isInputValueInvalid) {\n return ComponentStatus.Error\n }\n return ComponentStatus.Default\n }\n\n private dayClassName = (date: Date) => {\n const day = date.getDate()\n\n if (day === 1) {\n this.inCurrentMonth = !this.inCurrentMonth\n }\n\n if (this.inCurrentMonth) {\n return 'range-picker--day-in-month'\n }\n\n return 'range-picker--day'\n }\n\n private handleSelectDate = (date: Date): void => {\n const {onSelectDate} = this.props\n onSelectDate(date.toISOString())\n }\n\n private handleChangeInput = (e: ChangeEvent): void => {\n const {onSelectDate} = this.props\n const value = e.target.value\n\n if (isValidRTC3339(value)) {\n onSelectDate(moment(value).toISOString())\n this.setState({inputValue: value, inputFormat: getFormat(value)})\n return\n }\n\n this.setState({inputValue: value, inputFormat: null})\n }\n}\n","// Libraries\nimport React, {PureComponent, CSSProperties} from 'react'\n\n// Components\nimport DatePicker from 'src/shared/components/dateRangePicker/DatePicker'\nimport {ClickOutside} from 'src/shared/components/ClickOutside'\n\n// Types\nimport {TimeRange} from 'src/types'\nimport {Button, ComponentColor, ComponentSize} from '@influxdata/clockface'\n\ninterface Props {\n timeRange: TimeRange\n onSetTimeRange: (timeRange: TimeRange) => void\n onClose: () => void\n position?: {\n top?: number\n right?: number\n bottom?: number\n left?: number\n position?: string\n }\n}\n\ninterface State {\n lower: string\n upper: string\n}\n\nclass DateRangePicker extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n const {\n timeRange: {lower, upper},\n } = props\n\n this.state = {lower, upper}\n }\n\n public render() {\n const {onClose} = this.props\n const {upper, lower} = this.state\n\n return (\n \n \n \n )\n}\n\nexport default DashedButton\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {\n Input,\n Panel,\n DismissButton,\n TextBlock,\n FlexBox,\n ComponentSize,\n FlexDirection,\n ComponentColor,\n} from '@influxdata/clockface'\n\n// Types\nimport {CheckTagSet} from 'src/types'\n\ninterface Props {\n index: number\n tagSet: CheckTagSet\n handleChangeTagRow: (i: number, tags: CheckTagSet) => void\n handleRemoveTagRow: (i: number) => void\n}\n\nconst CheckTagRow: FC = ({\n tagSet,\n index,\n handleChangeTagRow,\n handleRemoveTagRow,\n}) => {\n const handleChange = (e: React.ChangeEvent) => {\n handleChangeTagRow(index, {...tagSet, [e.target.name]: e.target.value})\n }\n\n return (\n \n {\n handleRemoveTagRow(index)\n }}\n color={ComponentColor.Default}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default CheckTagRow\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Form, ComponentSize, ComponentColor, Grid} from '@influxdata/clockface'\nimport DashedButton from 'src/shared/components/dashed_button/DashedButton'\nimport CheckTagRow from 'src/checks/components/CheckTagRow'\nimport BuilderCard from 'src/timeMachine/components/builderCard/BuilderCard'\nimport DurationInput from 'src/shared/components/DurationInput'\n\n// Actions\nimport {\n setOffset,\n removeTagSet,\n selectCheckEvery,\n editTagSetByIndex,\n} from 'src/alerting/actions/alertBuilder'\n\n// Constants\nimport {CHECK_OFFSET_OPTIONS} from 'src/alerting/constants'\nimport {DURATIONS} from 'src/timeMachine/constants/queryBuilder'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst EMPTY_TAG_SET = {\n key: '',\n value: '',\n}\n\nconst CheckMetaCard: FC = ({\n tags,\n offset,\n every,\n onSelectCheckEvery,\n onSetOffset,\n onRemoveTagSet,\n onEditTagSetByIndex,\n}) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {tags.map((t, i) => (\n \n ))}\n onEditTagSetByIndex(tags.length, EMPTY_TAG_SET)}\n color={ComponentColor.Primary}\n size={ComponentSize.Small}\n />\n \n \n )\n}\n\nconst mstp = ({alertBuilder: {tags, offset, every}}: AppState) => {\n return {\n tags: tags || [],\n offset,\n every,\n }\n}\n\nconst mdtp = {\n onSelectCheckEvery: selectCheckEvery,\n onSetOffset: setOffset,\n onRemoveTagSet: removeTagSet,\n onEditTagSetByIndex: editTagSetByIndex,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(CheckMetaCard)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n ComponentSize,\n TextArea,\n AutoComplete,\n Wrap,\n} from '@influxdata/clockface'\nimport BuilderCard from 'src/timeMachine/components/builderCard/BuilderCard'\n\n// Actions & Selectors\nimport {setStatusMessageTemplate} from 'src/alerting/actions/alertBuilder'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst CheckMessageCard: FC = ({\n statusMessageTemplate,\n onSetStatusMessageTemplate,\n}) => {\n const handleChange = (\n e: React.ChangeEvent\n ) => {\n onSetStatusMessageTemplate(e.target.value)\n }\n\n return (\n \n \n \n \n
    \n

    \n You can use any columns from your query as well as the following:\n

    \n

    \n {'${r._check_name}'} The name of this check\n

    \n

    \n {'${r._level}'} Indicates the level of the check\n

    \n

    \n {'${string(v: r.numericColumn)}'} Functions can be used{' '}\n as well\n

    \n

    \n Need help? Check out the Status Message Template{' '}\n \n Documentation\n \n

    \n
    \n
    \n \n )\n}\n\nconst mstp = ({alertBuilder: {statusMessageTemplate}}: AppState) => ({\n statusMessageTemplate,\n})\n\nconst mdtp = {\n onSetStatusMessageTemplate: setStatusMessageTemplate,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(CheckMessageCard)\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {\n FlexBox,\n Panel,\n ComponentSize,\n PanelBody,\n TextBlock,\n SelectDropdown,\n DismissButton,\n ButtonType,\n FlexDirection,\n ComponentColor,\n InfluxColors,\n} from '@influxdata/clockface'\n\n// Types\nimport {Threshold, ThresholdType} from 'src/types'\nimport {LEVEL_COLORS} from 'src/alerting/constants'\n\ninterface Props {\n threshold: Threshold\n removeLevel: () => void\n changeThresholdType: (toType: ThresholdType, within?: boolean) => void\n}\n\nconst OptionSelector = (threshold: Threshold) => {\n if (threshold.type == 'greater') {\n return 'is above'\n }\n if (threshold.type == 'lesser') {\n return 'is below'\n }\n if (threshold.within) {\n return 'is inside range'\n }\n return 'is outside range'\n}\n\nconst ThresholdStatement: FC = ({\n threshold,\n children,\n removeLevel,\n changeThresholdType,\n}) => {\n const dropdownOptions = {\n ['is above']: 'greater',\n ['is below']: 'lesser',\n ['is inside range']: 'range',\n ['is outside range']: 'range',\n }\n\n const levelColor: string = LEVEL_COLORS[threshold.level]\n const selectedOption = OptionSelector(threshold)\n\n const onChangeThresholdType = (option: string) => {\n changeThresholdType(dropdownOptions[option], option === 'is inside range')\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {children}\n \n \n \n \n \n \n )\n}\n\nexport default ThresholdStatement\n","import React from 'react'\n\nexport const convertUserInputToNumOrNaN = (\n e: React.ChangeEvent\n) => (e.target.value === '' ? NaN : Number(e.target.value))\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {FlexBox, Input, InputType} from '@influxdata/clockface'\nimport {GreaterThreshold, LesserThreshold} from 'src/types'\n\n// Utils\nimport {convertUserInputToNumOrNaN} from 'src/shared/utils/convertUserInput'\n\n// Types\ninterface Props {\n threshold: GreaterThreshold | LesserThreshold\n changeValue: (value: number) => void\n}\n\nconst ThresholdValueStatement: FC = ({threshold, changeValue}) => {\n const onChangeValue = (e: React.ChangeEvent) => {\n changeValue(convertUserInputToNumOrNaN(e))\n }\n return (\n \n \n \n )\n}\n\nexport default ThresholdValueStatement\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {FlexBox, TextBlock, Input, InputType} from '@influxdata/clockface'\nimport {RangeThreshold} from 'src/types'\n\n// Utils\nimport {convertUserInputToNumOrNaN} from 'src/shared/utils/convertUserInput'\n\n// Types\ninterface Props {\n threshold: RangeThreshold\n changeRange: (min: number, max: number) => void\n}\n\nconst ThresholdRangeStatement: FC = ({threshold, changeRange}) => {\n const onChangeMin = (e: React.ChangeEvent) => {\n const min = convertUserInputToNumOrNaN(e)\n\n changeRange(min, threshold.max)\n }\n\n const onChangeMax = (e: React.ChangeEvent) => {\n const max = convertUserInputToNumOrNaN(e)\n changeRange(threshold.min, max)\n }\n\n return (\n <>\n \n \n \n \n \n \n \n \n )\n}\n\nexport default ThresholdRangeStatement\n","// Libraries\nimport React, {FC, useState, useEffect} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport DashedButton from 'src/shared/components/dashed_button/DashedButton'\nimport ThresholdStatement from 'src/alerting/components/builder/ThresholdStatement'\nimport ThresholdValueInput from 'src/alerting/components/builder/ThresholdValueInput'\nimport ThresholdRangeInput from 'src/alerting/components/builder/ThresholdRangeInput'\n\n// Actions\nimport {useCheckYDomain} from 'src/alerting/utils/vis'\nimport {getVisTable} from 'src/timeMachine/selectors'\nimport {\n removeThreshold,\n updateThreshold,\n} from 'src/alerting/actions/alertBuilder'\n\n// Types\nimport {\n AppState,\n Threshold,\n ThresholdType,\n GreaterThreshold,\n LesserThreshold,\n RangeThreshold,\n CheckStatusLevel,\n} from 'src/types'\nimport {ComponentSize} from '@influxdata/clockface'\n\n// Constants\nimport {LEVEL_COMPONENT_COLORS} from 'src/alerting/constants'\n\ninterface OwnProps {\n threshold: Threshold\n level: CheckStatusLevel\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\nconst defaultThreshold = {\n type: 'greater' as 'greater',\n}\n\nconst ThresholdCondition: FC = ({\n level,\n table,\n threshold,\n onUpdateThreshold,\n onRemoveThreshold,\n}) => {\n const [inputs, changeInputs] = useState([\n get(threshold, 'value') || get(threshold, 'min', 0),\n get(threshold, 'max', 100),\n ])\n\n const min = get(threshold, 'value') || get(threshold, 'min', inputs[0])\n const max = get(threshold, 'max', inputs[1])\n\n useEffect(() => {\n changeInputs([min, max])\n }, [min, max])\n\n const [yDomain] = useCheckYDomain(table.getColumn('_value', 'number'), [])\n\n const addLevel = () => {\n const low = yDomain[0] || 0\n const high = yDomain[1] || 40\n const newThreshold = {\n ...defaultThreshold,\n value: (high - low) / 2 + low,\n level,\n }\n onUpdateThreshold(newThreshold)\n }\n\n const removeLevel = () => {\n onRemoveThreshold(level)\n }\n\n const changeValue = (value: number) => {\n const newThreshold = {...threshold, value} as\n | GreaterThreshold\n | LesserThreshold\n\n onUpdateThreshold(newThreshold)\n }\n\n const changeRange = (min: number, max: number) => {\n const newThreshold = {...threshold, min, max} as RangeThreshold\n\n onUpdateThreshold(newThreshold)\n }\n\n const changeThresholdType = (toType: ThresholdType, within?: boolean) => {\n if (toType === 'greater' || toType === 'lesser') {\n const valueThreshold = {\n type: toType,\n level: threshold.level,\n value: inputs[0],\n } as GreaterThreshold | LesserThreshold\n onUpdateThreshold(valueThreshold)\n }\n if (toType === 'range') {\n const rangeThreshold = {\n type: toType,\n level: threshold.level,\n min: inputs[0],\n max: inputs[1],\n within,\n } as RangeThreshold\n onUpdateThreshold(rangeThreshold)\n }\n }\n\n if (!threshold) {\n return (\n \n )\n }\n return (\n \n {threshold.type === 'range' ? (\n \n ) : (\n \n )}\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const giraffeResult = getVisTable(state)\n\n return {\n table: giraffeResult.table,\n }\n}\n\nconst mdtp = {\n onUpdateThreshold: updateThreshold,\n onRemoveThreshold: removeThreshold,\n}\n\nexport {ThresholdCondition}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(ThresholdCondition)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport ThresholdCondition from 'src/alerting/components/builder/ThresholdCondition'\n\n// Types\nimport {Threshold, AppState} from 'src/types'\n\ninterface StateProps {\n thresholds: {[k: string]: Threshold}\n}\n\nconst ThresholdConditions: FC = ({thresholds}) => {\n return (\n <>\n \n \n \n \n \n )\n}\n\nconst mstp = ({alertBuilder: {thresholds: thresholdsArray}}: AppState) => {\n const thresholds = {}\n thresholdsArray.forEach(t => {\n thresholds[t.level] = t\n })\n return {thresholds}\n}\n\nexport default connect(mstp)(ThresholdConditions)\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {\n Dropdown,\n ComponentColor,\n InfluxColors,\n DropdownMenuTheme,\n} from '@influxdata/clockface'\n\n// Types\nimport {CheckStatusLevel} from 'src/types'\n\ntype ColorLevel = {hex: InfluxColors; display: string; value: CheckStatusLevel}\n\nconst levels: ColorLevel[] = [\n {display: 'CRIT', hex: InfluxColors.Fire, value: 'CRIT'},\n {display: 'INFO', hex: InfluxColors.Ocean, value: 'INFO'},\n {display: 'WARN', hex: InfluxColors.Thunder, value: 'WARN'},\n {display: 'OK', hex: InfluxColors.Viridian, value: 'OK'},\n]\n\ninterface Props {\n selectedLevel: CheckStatusLevel\n onClickLevel: (level: CheckStatusLevel) => void\n}\n\nconst CheckLevelsDropdown: FC = ({selectedLevel, onClickLevel}) => {\n const selected = levels.find(l => l.value === selectedLevel)\n\n if (!selected) {\n throw new Error('Unknown level type provided to ')\n }\n\n const button = (active: boolean, onClick) => (\n \n
    \n \n
    {selected.value}
    \n
    \n \n )\n\n const items = levels.map(({value, display, hex}) => (\n onClickLevel(value)}\n testID={`check-levels--dropdown-item ${value}`}\n >\n
    \n \n
    {display}
    \n
    \n \n ))\n\n const menu = (onCollapse: () => void) => (\n \n {items}\n \n )\n\n return (\n \n )\n}\n\nexport default CheckLevelsDropdown\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n FlexBox,\n Panel,\n ComponentSize,\n PanelBody,\n TextBlock,\n FlexDirection,\n InfluxColors,\n} from '@influxdata/clockface'\nimport CheckLevelsDropdown from 'src/checks/components/CheckLevelsDropdown'\n\n// Actions\nimport {\n setStaleTime,\n setTimeSince,\n setLevel,\n} from 'src/alerting/actions/alertBuilder'\n\n// Types\nimport {AppState} from 'src/types'\nimport DurationInput from 'src/shared/components/DurationInput'\nimport {CHECK_OFFSET_OPTIONS} from 'src/alerting/constants'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst DeadmanConditions: FC = ({\n staleTime,\n timeSince,\n level,\n onSetStaleTime,\n onSetTimeSince,\n onSetLevel,\n}) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nconst mstp = ({alertBuilder: {staleTime, timeSince, level}}: AppState) => ({\n staleTime,\n timeSince,\n level,\n})\n\nconst mdtp = {\n onSetStaleTime: setStaleTime,\n onSetTimeSince: setTimeSince,\n onSetLevel: setLevel,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(DeadmanConditions)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {\n FlexBox,\n FlexDirection,\n AlignItems,\n ComponentSize,\n} from '@influxdata/clockface'\nimport ThresholdConditions from 'src/alerting/components/builder/ThresholdConditions'\nimport DeadmanConditions from 'src/alerting/components/builder/DeadmanConditions'\nimport BuilderCard from 'src/timeMachine/components/builderCard/BuilderCard'\n\n// Types\nimport {CheckType, AppState} from 'src/types'\n\ninterface StateProps {\n checkType: CheckType\n}\n\ntype Props = StateProps\n\nconst CheckConditionsCard: FC = ({checkType}) => {\n let cardTitle: string\n let conditionsComponent: JSX.Element\n\n if (checkType === 'deadman') {\n cardTitle = 'Deadman'\n conditionsComponent = \n } else if (checkType === 'threshold') {\n cardTitle = 'Thresholds'\n conditionsComponent = \n } else {\n throw new Error('Incorrect check type provided to ')\n }\n\n return (\n \n \n \n \n {conditionsComponent}\n \n \n \n )\n}\n\nconst mstp = ({alertBuilder: {type}}: AppState) => {\n return {checkType: type}\n}\n\nexport default connect(mstp, null)(CheckConditionsCard)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {ResourceCard} from '@influxdata/clockface'\n\n// Types\nimport {\n NotificationRuleDraft,\n AppState,\n NotificationEndpoint,\n ResourceType,\n} from 'src/types'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\ninterface OwnProps {\n rule: NotificationRuleDraft\n}\n\ninterface StateProps {\n endpoints: NotificationEndpoint[]\n}\n\ntype Props = OwnProps & StateProps\n\nconst MatchingRuleCard: FC = ({rule, endpoints}) => {\n const endpoint = endpoints.find(e => e.id === rule.endpointID)\n\n return (\n \n \n \n \n <>{`Checks every: ${rule.every}`}\n <>{`Sends notifications to: ${endpoint.name}`}\n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const endpoints = getAll(\n state,\n ResourceType.NotificationEndpoints\n )\n\n return {\n endpoints,\n }\n}\n\nexport default connect(mstp)(MatchingRuleCard)\n","// Libraries\nimport React, {FC, useState, useEffect} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {uniq} from 'lodash'\nimport {fromFlux} from '@influxdata/giraffe'\n\n// Components\nimport MatchingRuleCard from 'src/alerting/components/builder/MatchingRuleCard'\nimport {\n SpinnerContainer,\n TechnoSpinner,\n FlexBox,\n FlexDirection,\n AlignItems,\n} from '@influxdata/clockface'\n\n// Selectors & Utils\nimport {getOrg} from 'src/organizations/selectors'\nimport {ruleToDraftRule} from 'src/notifications/rules/utils'\n\n// API\nimport {getNotificationRules as apiGetNotificationRules} from 'src/client'\n\n//Types\nimport {\n NotificationRule,\n AppState,\n GenRule,\n NotificationRuleDraft,\n} from 'src/types'\nimport {EmptyState, ComponentSize, RemoteDataState} from '@influxdata/clockface'\nimport BuilderCard from 'src/timeMachine/components/builderCard/BuilderCard'\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst CheckMatchingRulesCard: FC = ({orgID, tags, queryResults}) => {\n const getMatchingRules = async (): Promise => {\n const checkTags = tags\n .filter(t => t.key && t.value)\n .map(t => [t.key, t.value])\n\n const queryTags = []\n\n if (queryResults) {\n const joined = queryResults.join('\\n\\n')\n const table = fromFlux(joined).table\n const fluxGroupKeyUnion = fromFlux(joined).fluxGroupKeyUnion.filter(\n v => v !== '_start' && v !== '_stop'\n )\n\n fluxGroupKeyUnion.forEach(gk => {\n const values = uniq(table.getColumn(gk, 'string'))\n values.forEach(v => {\n queryTags.push([gk, v])\n })\n })\n }\n\n const tagsList = [...checkTags, ...queryTags].map(t => [\n 'tag',\n `${t[0].trim()}:${t[1].trim()}`,\n ])\n\n const resp = await apiGetNotificationRules({\n query: [['orgID', orgID], ...tagsList] as any,\n })\n\n if (resp.status !== 200) {\n setMatchingRules({matchingRules: [], status: RemoteDataState.Error})\n return\n }\n\n const matchingRules: NotificationRuleDraft[] = resp.data.notificationRules.map(\n (r: GenRule) => ruleToDraftRule(r)\n )\n\n setMatchingRules({\n matchingRules,\n status: RemoteDataState.Done,\n })\n }\n\n const [{matchingRules, status}, setMatchingRules] = useState<{\n matchingRules: NotificationRuleDraft[]\n status: RemoteDataState\n }>({matchingRules: [], status: RemoteDataState.NotStarted})\n\n useEffect(() => {\n setMatchingRules({\n matchingRules,\n status: RemoteDataState.Loading,\n })\n\n getMatchingRules()\n }, [tags, queryResults]) // eslint-disable-line react-hooks/exhaustive-deps\n\n let contents: JSX.Element\n\n if (\n status === RemoteDataState.NotStarted ||\n status === RemoteDataState.Loading\n ) {\n contents = (\n } loading={status} />\n )\n } else if (!matchingRules.length) {\n contents = (\n \n \n Notification Rules configured to act on tag sets matching this Alert\n Check will show up here\n \n \n Looks like no notification rules match the tag set defined in this\n Alert Check\n \n \n )\n } else {\n contents = (\n <>\n {matchingRules.map(r => (\n \n ))}\n \n )\n }\n\n return (\n \n \n \n \n {contents}\n \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const {\n alertBuilder: {tags},\n } = state\n const {id: orgID} = getOrg(state)\n\n const {\n queryResults: {files},\n } = getActiveTimeMachine(state)\n\n return {tags, orgID, queryResults: files}\n}\n\nconst connector = connect(mstp)\n\nexport default connector(CheckMatchingRulesCard)\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport CheckMetaCard from 'src/checks/components/CheckMetaCard'\nimport CheckMessageCard from 'src/checks/components/CheckMessageCard'\nimport CheckConditionsCard from 'src/checks/components/CheckConditionsCard'\nimport CheckMatchingRulesCard from 'src/checks/components/CheckMatchingRulesCard'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\nconst AlertBuilder: FC = () => {\n return (\n
    \n \n \n \n {isFlagEnabled('matchingNotificationRules') && }\n
    \n )\n}\n\nexport default AlertBuilder\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {Button} from '@influxdata/clockface'\n\n// Actions\nimport {loadCustomCheckQueryState} from 'src/timeMachine/actions'\n\ninterface DispatchProps {\n onLoadCustomCheckQueryState: typeof loadCustomCheckQueryState\n}\n\nconst CustomizeCheckQueryButton: FC = ({\n onLoadCustomCheckQueryState,\n}) => {\n const switchToEditor = () => {\n onLoadCustomCheckQueryState()\n }\n return (\n \n )\n}\n\nconst mdtp = {\n onLoadCustomCheckQueryState: loadCustomCheckQueryState,\n}\n\nexport default connect<{}, DispatchProps>(null, mdtp)(CustomizeCheckQueryButton)\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {Button} from '@influxdata/clockface'\n\nconst HelpButton: FunctionComponent = () => {\n const handleClick = () => {\n const newTab = window.open(\n 'https://v2.docs.influxdata.com/v2.0/monitor-alert/checks/create/#configure-the-check'\n )\n newTab.focus()\n }\n\n return (\n \n )\n}\n\nexport default HelpButton\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport TimeMachineAlertBuilder from 'src/alerting/components/builder/AlertBuilder'\nimport {\n ComponentSize,\n FlexBox,\n FlexDirection,\n JustifyContent,\n} from '@influxdata/clockface'\nimport CustomizeCheckQueryButton from 'src/timeMachine/components/CustomizeCheckQueryButton'\nimport HelpButton from 'src/alerting/components/builder/HelpButton'\nimport RawDataToggle from 'src/timeMachine/components/RawDataToggle'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\nconst TimeMachineAlerting: FunctionComponent = () => {\n return (\n
    \n
    \n
    Configure a Check
    \n
    \n \n {isFlagEnabled('customCheckQuery') && }\n \n \n \n
    \n
    \n
    \n \n
    \n
    \n )\n}\n\nexport default TimeMachineAlerting\n","// Libraries\nimport React, {FunctionComponent, useState, useEffect} from 'react'\nimport {round} from 'lodash'\nimport classnames from 'classnames'\n\n// Types\nimport {RemoteDataState} from 'src/types'\n\n// Components\nimport {TechnoSpinner, ComponentSize} from '@influxdata/clockface'\n\ninterface Props {\n loading: RemoteDataState\n}\n\nconst ViewLoadingSpinner: FunctionComponent = ({loading}) => {\n const [timerActive, setTimerActive] = useState(false)\n const [seconds, setSeconds] = useState(0)\n\n const timerElementClass = classnames('view-loading-spinner--timer', {\n visible: seconds > 5,\n })\n\n const resetTimer = (): void => {\n setSeconds(0)\n setTimerActive(false)\n }\n\n useEffect(() => {\n if (loading === RemoteDataState.Done || RemoteDataState.Error) {\n resetTimer()\n }\n\n if (loading === RemoteDataState.Loading) {\n setTimerActive(true)\n }\n }, [loading])\n\n useEffect(() => {\n let interval = null\n if (timerActive) {\n interval = setInterval(() => {\n setSeconds(seconds => seconds + 0.1)\n }, 100)\n } else if (!timerActive && seconds !== 0) {\n clearInterval(interval)\n }\n return () => clearInterval(interval)\n }, [timerActive, seconds])\n\n if (loading === RemoteDataState.Loading) {\n return (\n
    \n \n
    {`${round(seconds, 1)}s`}
    \n
    \n )\n }\n\n return null\n}\n\nexport default ViewLoadingSpinner\n","// Libraries\nimport React, {Component, ErrorInfo} from 'react'\n\n// Components\nimport DefaultErrorMessage from 'src/shared/components/DefaultErrorMessage'\n\n// Utils\nimport {reportError, parseComponentName} from 'src/shared/utils/errors'\n\n// Types\nimport {ErrorMessageComponent} from 'src/types'\n\ninterface ErrorBoundaryProps {\n errorComponent: ErrorMessageComponent\n}\n\ninterface ErrorBoundaryState {\n error: Error\n}\n\nclass ErrorBoundary extends Component {\n public static defaultProps = {errorComponent: DefaultErrorMessage}\n\n public state: ErrorBoundaryState = {error: null}\n\n public static getDerivedStateFromError(error: Error) {\n return {error}\n }\n\n public componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n reportError(error, {component: parseComponentName(errorInfo)})\n }\n\n public render() {\n const {error} = this.state\n\n if (error) {\n return \n }\n\n return this.props.children\n }\n}\n\nexport default ErrorBoundary\n","// Libraries\nimport React, {SFC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {AutoSizer} from 'react-virtualized'\nimport classnames from 'classnames'\n\n// Components\nimport EmptyQueryView, {ErrorFormat} from 'src/shared/components/EmptyQueryView'\nimport ViewSwitcher from 'src/shared/components/ViewSwitcher'\nimport ViewLoadingSpinner from 'src/shared/components/ViewLoadingSpinner'\nimport RawFluxDataTable from 'src/timeMachine/components/RawFluxDataTable'\nimport ErrorBoundary from 'src/shared/components/ErrorBoundary'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\nimport {checkResultsLength} from 'src/shared/utils/vis'\nimport {\n getVisTable,\n getXColumnSelection,\n getYColumnSelection,\n getFillColumnsSelection,\n getSymbolColumnsSelection,\n} from 'src/timeMachine/selectors'\nimport {getTimeRangeWithTimezone, getTimeZone} from 'src/dashboards/selectors'\n\n// Types\nimport {RemoteDataState, AppState} from 'src/types'\n\n// Selectors\nimport {getActiveTimeRange} from 'src/timeMachine/selectors/index'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst TimeMachineVis: SFC = ({\n loading,\n errorMessage,\n timeRange,\n isInitialFetch,\n isViewingRawData,\n files,\n checkType,\n checkThresholds,\n viewProperties,\n giraffeResult,\n xColumn,\n yColumn,\n fillColumns,\n symbolColumns,\n timeZone,\n statuses,\n}) => {\n // If the current selections for `xColumn`/`yColumn`/ etc. are invalid given\n // the current Flux response, attempt to make a valid selection instead. This\n // fallback logic is contained within the selectors that supply each of these\n // props. Note that in a dashboard context, we display an error instead of\n // attempting to fall back to an valid selection.\n const resolvedViewProperties = {\n ...viewProperties,\n xColumn,\n yColumn,\n fillColumns,\n symbolColumns,\n }\n\n const noQueries =\n loading === RemoteDataState.NotStarted || !viewProperties.queries.length\n const timeMachineViewClassName = classnames('time-machine--view', {\n 'time-machine--view__empty': noQueries,\n })\n\n return (\n
    \n \n \n \n {isViewingRawData ? (\n \n {({width, height}) =>\n width &&\n height && (\n \n )\n }\n \n ) : (\n \n )}\n \n \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const activeTimeMachine = getActiveTimeMachine(state)\n const {\n isViewingRawData,\n view: {properties: viewProperties},\n queryResults: {\n status: loading,\n errorMessage,\n isInitialFetch,\n files,\n statuses,\n },\n } = activeTimeMachine\n const timeRange = getTimeRangeWithTimezone(state)\n const {\n alertBuilder: {type: checkType, thresholds: checkThresholds},\n } = state\n\n const giraffeResult = getVisTable(state)\n const xColumn = getXColumnSelection(state)\n const yColumn = getYColumnSelection(state)\n const fillColumns = getFillColumnsSelection(state)\n const symbolColumns = getSymbolColumnsSelection(state)\n const timeZone = getTimeZone(state)\n\n return {\n loading,\n checkType,\n checkThresholds,\n errorMessage,\n isInitialFetch,\n files,\n viewProperties,\n isViewingRawData,\n giraffeResult,\n xColumn,\n yColumn,\n fillColumns,\n symbolColumns,\n timeZone,\n timeRange: getActiveTimeRange(timeRange, viewProperties.queries),\n statuses,\n }\n}\n\nconst connector = connect(mstp)\n\nexport default connector(TimeMachineVis)\n","// Libraries\nimport React, {SFC} from 'react'\n\n// Components\nimport {Dropdown, Form, Grid} from '@influxdata/clockface'\n\n// Utils\nimport {resolveGeom} from 'src/shared/utils/vis'\n\n// Types\nimport {XYGeom} from 'src/types'\nimport {Columns} from '@influxdata/clockface'\n\ninterface Props {\n geom: XYGeom\n onSetGeom: (geom: XYGeom) => void\n}\n\nconst getGeomLabel = (geom: XYGeom): string => {\n switch (geom) {\n case 'monotoneX':\n return 'Smooth'\n case 'step':\n return 'Step'\n default:\n case 'line':\n return 'Linear'\n }\n}\n\nconst Geom: SFC = ({geom, onSetGeom}) => {\n return (\n \n \n (\n \n {getGeomLabel(resolveGeom(geom))}\n \n )}\n menu={onCollapse => (\n \n \n Linear\n \n \n Smooth\n \n \n Step\n \n \n )}\n />\n \n \n )\n}\n\nexport default Geom\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Components\nimport {Form, Input, Grid} from '@influxdata/clockface'\n\n// Types\nimport {Columns} from '@influxdata/clockface'\n\ninterface Props {\n label: string\n onUpdateYAxisLabel: (label: string) => void\n}\nclass YAxisTitle extends PureComponent {\n public render() {\n const {label} = this.props\n\n return (\n \n \n \n \n \n )\n }\n\n private handleChange = (e: ChangeEvent) => {\n const {onUpdateYAxisLabel} = this.props\n\n onUpdateYAxisLabel(e.target.value)\n }\n}\n\nexport default YAxisTitle\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Components\nimport {Input, FormElement, Grid} from '@influxdata/clockface'\n\n// Types\nimport {Columns} from '@influxdata/clockface'\n\ninterface Props {\n prefix: string\n suffix: string\n axisName: string\n onUpdateAxisPrefix: (prefix: string) => void\n onUpdateAxisSuffix: (suffix: string) => void\n}\n\nclass AxisAffixes extends PureComponent {\n public render() {\n const {prefix, suffix, axisName} = this.props\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleUpdateAxisPrefix = (e: ChangeEvent): void => {\n const {onUpdateAxisPrefix} = this.props\n const prefix = e.target.value\n onUpdateAxisPrefix(prefix)\n }\n\n private handleUpdateAxisSuffix = (e: ChangeEvent): void => {\n const {onUpdateAxisSuffix} = this.props\n const suffix = e.target.value\n onUpdateAxisSuffix(suffix)\n }\n}\n\nexport default AxisAffixes\n","// Libraries\nimport React, {CSSProperties, FunctionComponent} from 'react'\n\nconst generateGradientStyle = (colors: string[]): CSSProperties => {\n const stops = colors\n .map((hex, i) => `${hex} ${Math.round((i / (colors.length - 1)) * 100)}%`)\n .join(', ')\n\n return {\n background: `linear-gradient(to right, ${stops})`,\n }\n}\n\ninterface Props {\n name: string\n colors: string[]\n}\n\nconst ColorSchemeDropdownItem: FunctionComponent = ({name, colors}) => {\n return (\n
    \n \n
    {name}
    \n
    \n )\n}\n\nexport default ColorSchemeDropdownItem\n","// Libraries\nimport React, {SFC} from 'react'\n\n// Components\nimport {Dropdown, DropdownMenuTheme} from '@influxdata/clockface'\nimport ColorSchemeDropdownItem from 'src/shared/components/ColorSchemeDropdownItem'\n\n// Constants\nimport {LINE_COLOR_SCALES} from 'src/shared/constants/graphColorPalettes'\n\n// Types\nimport {Color} from 'src/types/colors'\n\ninterface Props {\n value: Color[]\n onChange: (colors: Color[]) => void\n}\n\ninterface Scale {\n name: string\n id: string\n colors: Array<{hex: string}>\n}\n\nconst findSelectedScale = (colors: Color[]): Scale => {\n const key = (colors: Color[]) => colors.map(color => color.hex).join(', ')\n const needle = key(colors)\n const selectedScale = LINE_COLOR_SCALES.find(\n d => key(d.colors as Color[]) === needle\n )\n\n if (selectedScale) {\n return selectedScale\n } else {\n return LINE_COLOR_SCALES[0]\n }\n}\n\nconst ColorSchemeDropdown: SFC = ({value, onChange}) => {\n const selectedScale = findSelectedScale(value)\n\n return (\n (\n \n c.hex)}\n />\n \n )}\n menu={onCollapse => (\n \n {LINE_COLOR_SCALES.map(({id, name, colors}) => (\n \n c.hex)}\n />\n \n ))}\n \n )}\n />\n )\n}\n\nexport default ColorSchemeDropdown\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Form, Grid} from '@influxdata/clockface'\nimport ColorSchemeDropdown from 'src/shared/components/ColorSchemeDropdown'\n\n// Types\nimport {Columns} from '@influxdata/clockface'\nimport {Color} from 'src/types/colors'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n colors: Color[]\n onUpdateColors: (colors: Color[]) => void\n}\n\n@ErrorHandling\nclass LineGraphColorSelector extends PureComponent {\n public render() {\n const {colors, onUpdateColors} = this.props\n\n return (\n \n \n \n \n \n )\n }\n}\n\nexport default LineGraphColorSelector\n","// Libraries\nimport React, {useState, SFC, KeyboardEvent} from 'react'\n\n// Components\nimport {Form, Input, SelectGroup, Grid} from '@influxdata/clockface'\n\n// Utils\nimport {useOneWayState} from 'src/shared/utils/useOneWayState'\n\n// Types\nimport {Columns, ButtonShape} from '@influxdata/clockface'\n\ninterface MinMaxInputsProps {\n initialMin: string\n initialMax: string\n onSetMinMax: (minMax: [number, number]) => void\n}\n\nconst MinMaxInputs: SFC = ({\n initialMin,\n initialMax,\n onSetMinMax,\n}) => {\n const [minInput, setMinInput] = useOneWayState(initialMin)\n const [maxInput, setMaxInput] = useOneWayState(initialMax)\n\n const emitIfValid = () => {\n let newMin = parseFloat(minInput)\n let newMax = parseFloat(maxInput)\n if (isNaN(newMin)) {\n newMin = null\n }\n\n if (isNaN(newMax)) {\n newMax = null\n }\n\n if (initialMin === minInput && initialMax === maxInput) {\n // Only emit the change event if an actual change has occurred\n return\n }\n\n onSetMinMax([newMin, newMax])\n }\n\n const handleKeyPress = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n emitIfValid()\n }\n }\n\n return (\n <>\n \n \n setMinInput(e.target.value)}\n onBlur={emitIfValid}\n onKeyPress={handleKeyPress}\n testID=\"auto-domain--min\"\n />\n \n \n \n \n setMaxInput(e.target.value)}\n onBlur={emitIfValid}\n onKeyPress={handleKeyPress}\n testID=\"auto-domain--max\"\n />\n \n \n \n )\n}\n\nconst formatDomainValue = (value: number | null): string => {\n return value === null ? '' : String(value)\n}\n\ninterface AutoDomainInputProps {\n domain: [number, number]\n onSetDomain: (domain: [number, number]) => void\n label?: string\n}\n\nconst AutoDomainInput: SFC = ({\n domain,\n onSetDomain,\n label = 'Set Domain',\n}) => {\n const [showInputs, setShowInputs] = useState(!!domain)\n\n const handleChooseAuto = () => {\n setShowInputs(false)\n onSetDomain(null)\n }\n\n const handleChooseCustom = () => {\n setShowInputs(true)\n }\n\n const initialMin = Array.isArray(domain) ? formatDomainValue(domain[0]) : ''\n const initialMax = Array.isArray(domain) ? formatDomainValue(domain[1]) : ''\n\n return (\n \n \n \n \n \n \n Auto\n \n \n Custom\n \n \n \n \n {showInputs && (\n \n \n \n )}\n \n \n )\n}\n\nexport default AutoDomainInput\n","import {AxisScale, Base} from 'src/types'\n\nexport const AXES_SCALE_OPTIONS = {\n LINEAR: 'linear' as AxisScale,\n LOG: 'log' as AxisScale,\n BASE_2: '2' as Base,\n BASE_10: '10' as Base,\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Form, SelectGroup, Grid} from '@influxdata/clockface'\n\n// Constants\nimport {AXES_SCALE_OPTIONS} from 'src/dashboards/constants/cellEditor'\n\n// Types\nimport {Columns, ButtonShape} from '@influxdata/clockface'\n\ninterface Props {\n base: string\n onUpdateYAxisBase: (base: string) => void\n}\n\nconst {BASE_2, BASE_10} = AXES_SCALE_OPTIONS\n\nclass YAxisBase extends PureComponent {\n public render() {\n const {base, onUpdateYAxisBase} = this.props\n\n return (\n \n \n \n \n None\n \n \n SI\n \n \n Binary\n \n \n \n \n )\n }\n}\n\nexport default YAxisBase\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {SelectDropdown, Form, ComponentStatus} from '@influxdata/clockface'\n\ninterface Props {\n selectedColumn: string\n availableColumns: string[]\n axisName: string\n onSelectColumn: (col: string) => void\n}\n\nconst ColumnSelector: FunctionComponent = ({\n selectedColumn,\n onSelectColumn,\n availableColumns,\n axisName,\n}) => {\n return (\n \n \n \n )\n}\n\nexport default ColumnSelector\n","// Libraries\nimport React, {FC} from 'react'\n\ninterface Props {\n label: string\n checked: boolean\n onSetChecked: (checked: boolean) => void\n testID?: string\n}\n\n// TODO: Replace this with the Clockface checkbox once available\n//\n// See https://github.com/influxdata/influxdb/issues/14125.\nconst Checkbox: FC = ({label, checked, onSetChecked, testID}) => {\n return (\n \n )\n}\n\nexport default Checkbox\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport {SelectDropdown} from '@influxdata/clockface'\n\n// Utils\nimport {resolveTimeFormat} from 'src/dashboards/utils/tableGraph'\n\n// Constants\nimport {FORMAT_OPTIONS} from 'src/dashboards/constants'\n\ninterface Props {\n timeFormat: string\n onTimeFormatChange: (format: string) => void\n}\n\nconst TimeFormatSetting: FunctionComponent = ({\n timeFormat,\n onTimeFormatChange,\n}) => (\n option.text)}\n selectedOption={resolveTimeFormat(timeFormat)}\n onSelect={onTimeFormatChange}\n />\n)\n\nexport default TimeFormatSetting\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Grid, Form, Dropdown} from '@influxdata/clockface'\nimport Geom from 'src/timeMachine/components/view_options/Geom'\nimport YAxisTitle from 'src/timeMachine/components/view_options/YAxisTitle'\nimport AxisAffixes from 'src/timeMachine/components/view_options/AxisAffixes'\nimport ColorSelector from 'src/timeMachine/components/view_options/ColorSelector'\nimport AutoDomainInput from 'src/shared/components/AutoDomainInput'\nimport YAxisBase from 'src/timeMachine/components/view_options/YAxisBase'\nimport ColumnSelector from 'src/shared/components/ColumnSelector'\nimport Checkbox from 'src/shared/components/Checkbox'\nimport TimeFormat from 'src/timeMachine/components/view_options/TimeFormat'\n\n// Actions\nimport {\n setColors,\n setYAxisLabel,\n setAxisPrefix,\n setAxisSuffix,\n setYAxisBounds,\n setYAxisBase,\n setGeom,\n setXColumn,\n setYColumn,\n setShadeBelow,\n setLinePosition,\n setTimeFormat,\n SetHoverDimension,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {parseYBounds} from 'src/shared/utils/vis'\nimport {\n getXColumnSelection,\n getYColumnSelection,\n getNumericColumns,\n getActiveTimeMachine,\n} from 'src/timeMachine/selectors'\n\n// Types\nimport {\n AppState,\n XYGeom,\n Axes,\n Color,\n NewView,\n XYViewProperties,\n ViewType,\n} from 'src/types'\n\ninterface OwnProps {\n type: ViewType\n axes: Axes\n geom?: XYGeom\n colors: Color[]\n shadeBelow?: boolean\n hoverDimension?: 'auto' | 'x' | 'y' | 'xy'\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass BandOptions extends PureComponent {\n public render() {\n const {\n axes: {\n y: {label, prefix, suffix, base},\n },\n colors,\n geom,\n shadeBelow,\n onUpdateColors,\n onUpdateYAxisLabel,\n onUpdateAxisPrefix,\n onUpdateAxisSuffix,\n onUpdateYAxisBase,\n onSetShadeBelow,\n onSetGeom,\n onSetYColumn,\n yColumn,\n onSetXColumn,\n xColumn,\n numericColumns,\n onSetTimeFormat,\n timeFormat,\n hoverDimension = 'auto',\n onSetHoverDimension,\n } = this.props\n\n return (\n <>\n \n

    Customize Band Plot

    \n
    Data
    \n \n \n \n \n \n
    Options
    \n
    \n {geom && }\n c.type === 'scale')}\n onUpdateColors={onUpdateColors}\n />\n \n \n \n \n
    \n \n (\n \n {hoverDimension}\n \n )}\n menu={onCollapse => (\n \n \n Auto\n \n \n X Axis\n \n \n Y Axis\n \n \n X & Y Axis\n \n \n )}\n />\n \n
    \n \n
    Y Axis
    \n
    \n \n \n onUpdateAxisPrefix(prefix, 'y')}\n onUpdateAxisSuffix={suffix => onUpdateAxisSuffix(suffix, 'y')}\n />\n \n \n \n \n )\n }\n\n private get yDomain(): [number, number] {\n return parseYBounds(this.props.axes.y.bounds)\n }\n\n private setBoundValues = (value: number | null): string | null => {\n return value === null ? null : String(value)\n }\n\n private handleSetYDomain = (yDomain: [number, number]): void => {\n let bounds: [string | null, string | null]\n\n if (yDomain) {\n const [min, max] = yDomain\n bounds = [this.setBoundValues(min), this.setBoundValues(max)]\n } else {\n bounds = [null, null]\n }\n\n this.props.onUpdateYAxisBounds(bounds)\n }\n}\n\nconst mstp = (state: AppState) => {\n const xColumn = getXColumnSelection(state)\n const yColumn = getYColumnSelection(state)\n const numericColumns = getNumericColumns(state)\n const view = getActiveTimeMachine(state).view as NewView\n const {timeFormat} = view.properties\n return {xColumn, yColumn, numericColumns, timeFormat}\n}\n\nconst mdtp = {\n onUpdateYAxisLabel: setYAxisLabel,\n onUpdateAxisPrefix: setAxisPrefix,\n onUpdateAxisSuffix: setAxisSuffix,\n onUpdateYAxisBounds: setYAxisBounds,\n onUpdateYAxisBase: setYAxisBase,\n onSetXColumn: setXColumn,\n onSetYColumn: setYColumn,\n onSetShadeBelow: setShadeBelow,\n onUpdateColors: setColors,\n onSetGeom: setGeom,\n onSetPosition: setLinePosition,\n onSetTimeFormat: setTimeFormat,\n onSetHoverDimension: SetHoverDimension,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(BandOptions)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {capitalize} from 'lodash'\n\n// Components\nimport {Grid, Form, Dropdown} from '@influxdata/clockface'\nimport Geom from 'src/timeMachine/components/view_options/Geom'\nimport YAxisTitle from 'src/timeMachine/components/view_options/YAxisTitle'\nimport AxisAffixes from 'src/timeMachine/components/view_options/AxisAffixes'\nimport ColorSelector from 'src/timeMachine/components/view_options/ColorSelector'\nimport AutoDomainInput from 'src/shared/components/AutoDomainInput'\nimport YAxisBase from 'src/timeMachine/components/view_options/YAxisBase'\nimport ColumnSelector from 'src/shared/components/ColumnSelector'\nimport Checkbox from 'src/shared/components/Checkbox'\nimport TimeFormat from 'src/timeMachine/components/view_options/TimeFormat'\n\n// Actions\nimport {\n setColors,\n setYAxisLabel,\n setAxisPrefix,\n setAxisSuffix,\n setYAxisBounds,\n setYAxisBase,\n setGeom,\n setXColumn,\n setYColumn,\n setShadeBelow,\n setLinePosition,\n setTimeFormat,\n SetHoverDimension,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {parseYBounds} from 'src/shared/utils/vis'\nimport {\n getXColumnSelection,\n getYColumnSelection,\n getNumericColumns,\n getActiveTimeMachine,\n} from 'src/timeMachine/selectors'\n\n// Types\nimport {\n AppState,\n XYGeom,\n Axes,\n Color,\n NewView,\n XYViewProperties,\n ViewType,\n} from 'src/types'\nimport {LinePosition} from '@influxdata/giraffe'\n\ninterface OwnProps {\n type: ViewType\n axes: Axes\n geom?: XYGeom\n colors: Color[]\n shadeBelow?: boolean\n hoverDimension?: 'auto' | 'x' | 'y' | 'xy'\n position: LinePosition\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass LineOptions extends PureComponent {\n public render() {\n const {\n axes: {\n y: {label, prefix, suffix, base},\n },\n colors,\n geom,\n shadeBelow,\n position,\n onSetPosition,\n onUpdateColors,\n onUpdateYAxisLabel,\n onUpdateAxisPrefix,\n onUpdateAxisSuffix,\n onUpdateYAxisBase,\n onSetShadeBelow,\n onSetGeom,\n onSetYColumn,\n yColumn,\n onSetXColumn,\n xColumn,\n numericColumns,\n onSetTimeFormat,\n timeFormat,\n hoverDimension = 'auto',\n onSetHoverDimension,\n } = this.props\n\n return (\n <>\n \n

    Customize Line Graph

    \n
    Data
    \n \n \n \n \n \n
    Options
    \n
    \n {geom && }\n c.type === 'scale')}\n onUpdateColors={onUpdateColors}\n />\n \n \n \n \n
    \n \n (\n \n {hoverDimension}\n \n )}\n menu={onCollapse => (\n \n \n Auto\n \n \n X Axis\n \n \n Y Axis\n \n \n X & Y Axis\n \n \n )}\n />\n \n
    \n \n
    Y Axis
    \n
    \n \n \n onUpdateAxisPrefix(prefix, 'y')}\n onUpdateAxisSuffix={suffix => onUpdateAxisSuffix(suffix, 'y')}\n />\n \n \n \n (\n \n {capitalize(position)}\n \n )}\n menu={onCollapse => (\n \n \n Overlaid\n \n \n Stacked\n \n \n )}\n />\n \n \n \n )\n }\n\n private get yDomain(): [number, number] {\n return parseYBounds(this.props.axes.y.bounds)\n }\n\n private setBoundValues = (value: number | null): string | null => {\n return value === null ? null : String(value)\n }\n\n private handleSetYDomain = (yDomain: [number, number]): void => {\n let bounds: [string | null, string | null]\n\n if (yDomain) {\n const [min, max] = yDomain\n bounds = [this.setBoundValues(min), this.setBoundValues(max)]\n } else {\n bounds = [null, null]\n }\n\n this.props.onUpdateYAxisBounds(bounds)\n }\n}\n\nconst mstp = (state: AppState) => {\n const xColumn = getXColumnSelection(state)\n const yColumn = getYColumnSelection(state)\n const numericColumns = getNumericColumns(state)\n const view = getActiveTimeMachine(state).view as NewView\n const {timeFormat} = view.properties\n return {xColumn, yColumn, numericColumns, timeFormat}\n}\n\nconst mdtp = {\n onUpdateYAxisLabel: setYAxisLabel,\n onUpdateAxisPrefix: setAxisPrefix,\n onUpdateAxisSuffix: setAxisSuffix,\n onUpdateYAxisBounds: setYAxisBounds,\n onUpdateYAxisBase: setYAxisBase,\n onSetXColumn: setXColumn,\n onSetYColumn: setYColumn,\n onSetShadeBelow: setShadeBelow,\n onUpdateColors: setColors,\n onSetGeom: setGeom,\n onSetPosition: setLinePosition,\n onSetTimeFormat: setTimeFormat,\n onSetHoverDimension: SetHoverDimension,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(LineOptions)\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Components\nimport {\n Form,\n Input,\n Grid,\n Toggle,\n InputToggleType,\n InputLabel,\n FlexBox,\n AlignItems,\n ComponentSize,\n} from '@influxdata/clockface'\n\n// Types\nimport {Columns} from '@influxdata/clockface'\n\ninterface Props {\n prefix: string\n tickPrefix: string\n suffix: string\n tickSuffix: string\n type: string\n onUpdatePrefix: (prefix: string) => void\n onUpdateTickPrefix: (tickPrefix: string) => void\n onUpdateSuffix: (suffix: string) => void\n onUpdateTickSuffix: (tickSuffix: string) => void\n}\n\nclass Affixes extends PureComponent {\n public render() {\n const {prefix, suffix} = this.props\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n {this.optionalTicks}\n \n )\n }\n\n private get optionalTicks(): JSX.Element {\n const {type, tickPrefix, tickSuffix} = this.props\n\n if (type === 'single-stat') {\n return null\n } else {\n return (\n <>\n \n \n \n Optional Prefix\n \n \n \n \n \n Optional Suffix\n \n \n \n )\n }\n }\n\n private handleUpdatePrefix = (e: ChangeEvent): void => {\n const {onUpdatePrefix} = this.props\n const prefix = e.target.value\n onUpdatePrefix(prefix)\n }\n\n private handleUpdateSuffix = (e: ChangeEvent): void => {\n const {onUpdateSuffix} = this.props\n const suffix = e.target.value\n onUpdateSuffix(suffix)\n }\n private handleUpdateTickSuffix = (e: string): void => {\n const {onUpdateTickSuffix} = this.props\n if (e === 'false' || !!!e) {\n onUpdateTickSuffix('true')\n } else {\n onUpdateTickSuffix('false')\n }\n }\n private handleUpdateTickPrefix = (e: string): void => {\n const {onUpdateTickPrefix} = this.props\n if (e === 'false' || !!!e) {\n onUpdateTickPrefix('true')\n } else {\n onUpdateTickPrefix('false')\n }\n }\n}\n\nexport default Affixes\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Utils\nimport {convertUserInputToNumOrNaN} from 'src/shared/utils/convertUserInput'\n\n// Components\nimport {\n Form,\n Grid,\n AutoInput,\n AutoInputMode,\n Input,\n InputType,\n} from '@influxdata/clockface'\n\n// Constants\nimport {MIN_DECIMAL_PLACES, MAX_DECIMAL_PLACES} from 'src/dashboards/constants'\n\n// Types\nimport {DecimalPlaces} from 'src/types'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props extends DecimalPlaces {\n onDecimalPlacesChange: (decimalPlaces: DecimalPlaces) => void\n}\n\ninterface State {\n mode: AutoInputMode\n value: number\n}\n\n@ErrorHandling\nclass DecimalPlacesOption extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n mode: this.props.digits ? AutoInputMode.Custom : AutoInputMode.Auto,\n value: this.props.digits,\n }\n }\n\n public render() {\n const {mode} = this.state\n\n return (\n \n \n \n }\n />\n \n \n )\n }\n\n public handleSetValue = (event: ChangeEvent): void => {\n const value = convertUserInputToNumOrNaN(event)\n const {digits, onDecimalPlacesChange} = this.props\n\n if (value === value && value >= MIN_DECIMAL_PLACES) {\n onDecimalPlacesChange({\n digits: Math.min(value, MAX_DECIMAL_PLACES),\n isEnforced: true,\n })\n } else {\n onDecimalPlacesChange({digits, isEnforced: false})\n }\n this.setState({value})\n }\n\n private handleChangeMode = (mode: AutoInputMode): void => {\n this.setState({mode})\n }\n}\n\nexport default DecimalPlacesOption\n","// Libraries\nimport React, {FC, CSSProperties} from 'react'\nimport {capitalize} from 'lodash'\n\n// Components\nimport {\n Dropdown,\n ComponentStatus,\n DropdownMenuTheme,\n} from '@influxdata/clockface'\n\n// Types\nimport {ColorLabel} from 'src/types/colors'\n\ninterface PassedProps {\n selected: ColorLabel\n colors: ColorLabel[]\n onChoose: (colors: ColorLabel) => void\n}\n\ninterface DefaultProps {\n disabled?: boolean\n style?: CSSProperties\n}\n\ntype Props = PassedProps & DefaultProps\n\nconst ColorDropdown: FC = props => {\n const {selected, colors, onChoose, disabled, style} = props\n\n const status = disabled ? ComponentStatus.Disabled : ComponentStatus.Default\n\n return (\n (\n \n
    \n \n
    \n {capitalize(selected.name)}\n
    \n
    \n
    \n )}\n menu={onCollapse => (\n \n {colors.map(color => (\n \n
    \n \n
    \n {capitalize(color.name)}\n
    \n
    \n \n ))}\n
    \n )}\n />\n )\n}\n\nColorDropdown.defaultProps = {\n disabled: false,\n style: {flex: '0 0 120px'},\n}\n\nexport default ColorDropdown\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {\n Input,\n SquareButton,\n IconFont,\n ComponentStatus,\n TextBlock,\n FlexBox,\n ComponentSize,\n FlexDirection,\n AlignItems,\n} from '@influxdata/clockface'\nimport ColorDropdown from 'src/shared/components/ColorDropdown'\n\n// Constants\nimport {\n THRESHOLD_COLORS,\n BASE_THRESHOLD_ID,\n COLOR_TYPE_MIN,\n COLOR_TYPE_MAX,\n} from 'src/shared/constants/thresholds'\n\ninterface Props {\n id: string\n type: string\n name: string\n value: string\n error?: string\n onChangeValue: (value: string) => void\n onChangeColor: (name: string, hex: string) => void\n onRemove: () => void\n onBlur: () => void\n}\n\nconst ThresholdSetting: FunctionComponent = ({\n id,\n type,\n name,\n value,\n error,\n onChangeValue,\n onChangeColor,\n onRemove,\n onBlur,\n}) => {\n const isBaseThreshold = id === BASE_THRESHOLD_ID\n\n let label: string = ''\n\n if (isBaseThreshold) {\n label = 'Base'\n } else if (type === COLOR_TYPE_MIN) {\n label = 'Minimum'\n } else if (type === COLOR_TYPE_MAX) {\n label = 'Maximum'\n } else {\n label = 'Value is >='\n }\n\n const isRemovable =\n !isBaseThreshold && type !== COLOR_TYPE_MIN && type !== COLOR_TYPE_MAX\n\n const inputStatus = error ? ComponentStatus.Error : ComponentStatus.Default\n\n const dropdownStyle = isBaseThreshold\n ? {flex: '1 0 120px'}\n : {flex: '0 0 120px'}\n\n return (\n <>\n \n \n {!isBaseThreshold && (\n onChangeValue(e.target.value)}\n onBlur={onBlur}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n onBlur()\n }\n }}\n />\n )}\n d.name === name)}\n onChoose={({name, hex}) => onChangeColor(name, hex)}\n style={dropdownStyle}\n />\n {isRemovable && (\n \n )}\n \n {error && (\n \n {error}\n \n )}\n \n )\n}\n\nexport default ThresholdSetting\n","// Libraries\nimport uuid from 'uuid'\n\n// Constants\nimport {\n THRESHOLD_COLORS,\n DEFAULT_VALUE_MIN,\n DEFAULT_VALUE_MAX,\n COLOR_TYPE_THRESHOLD,\n COLOR_TYPE_MIN,\n COLOR_TYPE_MAX,\n BASE_THRESHOLD_ID,\n} from 'src/shared/constants/thresholds'\n\n// Types\nimport {Color} from 'src/types'\n\n/*\n Sort a list of thresholds for rendering.\n\n - Base or minimum thresholds come first\n - Max thresholds come last\n - All other thresholds are sorted by value\n\n*/\nexport const sortThresholds = (thresholds: Color[]): Color[] => {\n const result = [...thresholds]\n\n result.sort((a, b) =>\n a.id === BASE_THRESHOLD_ID ? -Infinity : a.value - b.value\n )\n\n return result\n}\n\n/*\n Given a list of thresholds, return an object of error messages for any\n invalid threshold in the list.\n\n A threshold is invalid if:\n\n - Its value is NaN\n - Its value is less than the min threshold in the list\n - Its value is more than the max threshold in the list\n\n*/\nexport const validateThresholds = (\n thresholds: Color[]\n): {[thresholdID: string]: string} => {\n const minThreshold = thresholds.find(({type}) => type === COLOR_TYPE_MIN)\n const maxThreshold = thresholds.find(({type}) => type === COLOR_TYPE_MAX)\n const errors = {}\n\n for (const {id, value, type} of thresholds) {\n if (isNaN(value)) {\n errors[id] = 'Please enter a valid number'\n } else if (\n minThreshold &&\n type !== COLOR_TYPE_MIN &&\n value < minThreshold.value\n ) {\n errors[id] = 'Please enter a value greater than the minimum threshold'\n } else if (\n maxThreshold &&\n type !== COLOR_TYPE_MAX &&\n value > maxThreshold.value\n ) {\n errors[id] = 'Please enter a value less than the maximum threshold'\n }\n }\n\n return errors\n}\n\n/*\n Given a list of thresholds, produce a new threshold that is suitable for\n adding to the list.\n*/\nexport const addThreshold = (thresholds: Color[]): Color => {\n const values = thresholds.map(threshold => threshold.value)\n\n let minValue = Math.min(...values)\n let maxValue = Math.max(...values)\n\n if (minValue === Infinity || isNaN(minValue) || minValue === maxValue) {\n minValue = DEFAULT_VALUE_MIN\n maxValue = DEFAULT_VALUE_MAX\n }\n\n const value = randomTick(minValue, maxValue)\n\n const colorChoice =\n THRESHOLD_COLORS[Math.floor(Math.random() * THRESHOLD_COLORS.length)]\n\n const firstThresholdType = thresholds[0].type\n\n const thresholdType =\n firstThresholdType === COLOR_TYPE_MIN ||\n firstThresholdType === COLOR_TYPE_MAX\n ? COLOR_TYPE_THRESHOLD\n : firstThresholdType\n\n const threshold = {\n ...colorChoice,\n id: uuid.v4(),\n type: thresholdType,\n value,\n }\n\n return threshold\n}\n\n/*\n Generate a nice random number between `min` and `max` inclusive.\n*/\nconst randomTick = (min: number, max: number): number => {\n const domainWidth = max - min\n\n let roundTo\n\n if (domainWidth > 1000) {\n roundTo = 100\n } else if (domainWidth > 100) {\n roundTo = 10\n } else if (domainWidth > 50) {\n roundTo = 5\n } else if (domainWidth > 10) {\n roundTo = 1\n } else {\n roundTo = null\n }\n\n let value: number\n\n if (roundTo) {\n value = Math.round((Math.random() * (max - min)) / roundTo) * roundTo\n } else {\n value = Number((Math.random() * (max - min)).toFixed(2))\n }\n\n return value\n}\n","// Libraries\nimport React, {useMemo, useEffect, FunctionComponent} from 'react'\nimport {cloneDeep} from 'lodash'\n\n// Components\nimport ThresholdSetting from 'src/shared/components/ThresholdSetting'\nimport {\n Button,\n ButtonShape,\n IconFont,\n FlexBox,\n ComponentSize,\n FlexDirection,\n AlignItems,\n} from '@influxdata/clockface'\n\n// Utils\nimport {useOneWayReducer} from 'src/shared/utils/useOneWayReducer'\nimport {\n sortThresholds,\n validateThresholds,\n addThreshold,\n} from 'src/shared/utils/thresholds'\n\n// Types\nimport {Color} from 'src/types'\n\ninterface Props {\n thresholds: Color[]\n onSetThresholds: (thresholds: Color[]) => void\n}\n\ninterface State {\n thresholds: Color[]\n inputs: {[thresholdID: string]: string}\n errors: {[thresholdID: string]: string}\n isValid: boolean\n isDirty: boolean\n}\n\ntype Action =\n | {type: 'COLOR_CHANGED'; id: string; name: string; hex: string}\n | {type: 'VALUE_CHANGED'; id: string; value: string}\n | {type: 'VALUE_BLURRED'; id: string}\n | {type: 'THRESHOLD_REMOVED'; id: string}\n | {type: 'THRESHOLD_ADDED'}\n\nconst reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case 'COLOR_CHANGED': {\n const {id, name, hex} = action\n\n const thresholds = state.thresholds.map(threshold =>\n threshold.id === id ? {...threshold, name, hex} : threshold\n )\n\n return {...state, thresholds, isDirty: true}\n }\n\n case 'VALUE_CHANGED': {\n const {id, value} = action\n\n const inputs = {...state.inputs, [id]: value}\n\n return {...state, inputs, isDirty: true, isValid: false}\n }\n\n case 'VALUE_BLURRED': {\n const thresholds = state.thresholds.map(threshold =>\n threshold.id === action.id\n ? {...threshold, value: parseFloat(state.inputs[action.id])}\n : threshold\n )\n\n const errors = validateThresholds(thresholds)\n\n const isValid = Object.values(errors).length === 0\n\n return {...state, thresholds, errors, isValid}\n }\n\n case 'THRESHOLD_ADDED': {\n const newThreshold = addThreshold(state.thresholds)\n\n const thresholds = sortThresholds([...state.thresholds, newThreshold])\n\n const inputs = {\n ...state.inputs,\n [newThreshold.id]: String(newThreshold.value),\n }\n\n return {...state, thresholds, inputs, isDirty: true}\n }\n\n case 'THRESHOLD_REMOVED': {\n const thresholds = state.thresholds.filter(\n threshold => threshold.id !== action.id\n )\n\n return {...state, thresholds, isDirty: true}\n }\n\n default:\n const unknownAction: never = action\n const unknownActionType = (unknownAction as any).type\n\n throw new Error(\n `unhandled action of type \"${unknownActionType}\" in ThresholdsSettings`\n )\n }\n}\n\nconst ThresholdsSettings: FunctionComponent = ({\n thresholds,\n onSetThresholds,\n}) => {\n const initialState: State = useMemo(\n () => ({\n thresholds: sortThresholds(\n cloneDeep(thresholds.filter(({type}) => type !== 'scale'))\n ),\n inputs: thresholds.reduce(\n (acc, {id, value}) => ({...acc, [id]: String(value)}),\n {}\n ),\n errors: {},\n isDirty: false,\n isValid: true,\n }),\n [thresholds]\n )\n\n const [state, dispatch] = useOneWayReducer(reducer, initialState)\n\n useEffect(() => {\n if (state.isDirty && state.isValid) {\n onSetThresholds(state.thresholds)\n }\n }, [state, onSetThresholds])\n\n return (\n \n dispatch({type: 'THRESHOLD_ADDED'})}\n />\n {state.thresholds.map(threshold => {\n const onChangeValue = value =>\n dispatch({\n type: 'VALUE_CHANGED',\n id: threshold.id,\n value,\n })\n\n const onChangeColor = (name, hex) =>\n dispatch({\n type: 'COLOR_CHANGED',\n id: threshold.id,\n name,\n hex,\n })\n\n const onRemove = () =>\n dispatch({\n type: 'THRESHOLD_REMOVED',\n id: threshold.id,\n })\n\n const onBlur = () =>\n dispatch({\n type: 'VALUE_BLURRED',\n id: threshold.id,\n })\n\n return (\n \n )\n })}\n \n )\n}\n\nexport default ThresholdsSettings\n","import {\n useRef,\n useReducer,\n useCallback,\n Reducer,\n ReducerState,\n ReducerAction,\n Dispatch,\n} from 'react'\n\n/*\n Works like `useReducer`, except if the `defaultState` argument changes then\n the reducer state will reset to `defaultState`.\n\n It is assumed that the passed `reducer` function has a stable identity over\n the lifetime of the component.\n*/\nexport const useOneWayReducer = >(\n reducer: R,\n defaultState: ReducerState\n): [ReducerState, Dispatch>] => {\n // The value of `defaultState` the last time the hook was called\n const prevDefaultState = useRef(defaultState)\n\n // Whether or not the next run of the reducer should be against its internal\n // state, or against the defaultState\n const reduceDefaultState = useRef(false)\n\n const wrappedReducer = useCallback(\n (state: ReducerState, action: ReducerAction) => {\n if (reduceDefaultState.current) {\n reduceDefaultState.current = false\n\n return reducer(prevDefaultState.current, action)\n }\n\n return reducer(state, action)\n },\n [reducer]\n )\n\n const [reducerState, dispatch] = useReducer(wrappedReducer, defaultState)\n\n if (defaultState !== prevDefaultState.current) {\n reduceDefaultState.current = true\n prevDefaultState.current = defaultState\n\n return [defaultState, dispatch]\n }\n\n return [reducerState, dispatch]\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Grid} from '@influxdata/clockface'\nimport Affixes from 'src/timeMachine/components/view_options/Affixes'\nimport DecimalPlacesOption from 'src/timeMachine/components/view_options/DecimalPlaces'\nimport ThresholdsSettings from 'src/shared/components/ThresholdsSettings'\n\n// Actions\nimport {\n setDecimalPlaces,\n setPrefix,\n setTickPrefix,\n setSuffix,\n setTickSuffix,\n setColors,\n} from 'src/timeMachine/actions'\n\n// Types\nimport {ViewType} from 'src/types'\nimport {DecimalPlaces} from 'src/types/dashboards'\nimport {Color} from 'src/types/colors'\n\ninterface OwnProps {\n type: ViewType\n colors: Color[]\n decimalPlaces?: DecimalPlaces\n prefix: string\n tickPrefix: string\n suffix: string\n tickSuffix: string\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass GaugeOptions extends PureComponent {\n public render() {\n const {\n prefix,\n tickPrefix,\n suffix,\n tickSuffix,\n onUpdatePrefix,\n onUpdateTickPrefix,\n onUpdateSuffix,\n onUpdateTickSuffix,\n onUpdateColors,\n } = this.props\n\n return (\n <>\n \n

    Customize Gauge

    \n
    \n \n {this.decimalPlaces}\n \n

    Colorized Thresholds

    \n
    \n \n \n \n \n )\n }\n\n private get decimalPlaces(): JSX.Element {\n const {onUpdateDecimalPlaces, decimalPlaces} = this.props\n\n if (!decimalPlaces) {\n return null\n }\n\n return (\n \n )\n }\n}\n\nconst mdtp = {\n onUpdatePrefix: setPrefix,\n onUpdateTickPrefix: setTickPrefix,\n onUpdateSuffix: setSuffix,\n onUpdateTickSuffix: setTickSuffix,\n onUpdateDecimalPlaces: setDecimalPlaces,\n onUpdateColors: setColors,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(GaugeOptions)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport {Form, SelectGroup} from '@influxdata/clockface'\n\n// Actions\nimport {\n setBackgroundThresholdColoring,\n setTextThresholdColoring,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState} from 'src/types'\nimport {ButtonShape} from '@influxdata/clockface'\nimport {Color} from 'src/types/colors'\n\nenum ThresholdColoringSetting {\n Background = 'background',\n Text = 'text',\n}\n\ninterface StateProps {\n colors: Color[]\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = StateProps & ReduxProps\n\nclass ThresholdColoring extends PureComponent {\n public render() {\n return (\n \n \n \n Background\n \n \n Text\n \n \n \n )\n }\n\n private get activeSetting(): ThresholdColoringSetting {\n const {colors} = this.props\n const activeSetting: ThresholdColoringSetting = get(\n colors.filter(c => c.type !== 'scale'),\n '0.type',\n ThresholdColoringSetting.Text\n )\n\n return activeSetting\n }\n\n private handleClick = (setting: ThresholdColoringSetting): void => {\n if (setting === ThresholdColoringSetting.Background) {\n this.props.onSetBackground()\n } else if (setting === ThresholdColoringSetting.Text) {\n this.props.onSetText()\n }\n }\n}\n\nconst mstp = (state: AppState) => {\n const colors = getActiveTimeMachine(state).view.properties.colors as Color[]\n\n return {colors}\n}\n\nconst mdtp = {\n onSetBackground: setBackgroundThresholdColoring,\n onSetText: setTextThresholdColoring,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(ThresholdColoring)\n","// Libraries\nimport React, {SFC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Grid} from '@influxdata/clockface'\nimport Affixes from 'src/timeMachine/components/view_options/Affixes'\nimport DecimalPlacesOption from 'src/timeMachine/components/view_options/DecimalPlaces'\nimport ThresholdColoring from 'src/timeMachine/components/view_options/ThresholdColoring'\nimport ThresholdsSettings from 'src/shared/components/ThresholdsSettings'\n\n// Actions\nimport {\n setDecimalPlaces,\n setPrefix,\n setTickPrefix,\n setSuffix,\n setTickSuffix,\n setColors,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {\n AppState,\n NewView,\n Color,\n SingleStatViewProperties,\n DecimalPlaces,\n} from 'src/types'\n\ninterface StateProps {\n colors: Color[]\n prefix: string\n tickPrefix: string\n suffix: string\n tickSuffix: string\n decimalPlaces: DecimalPlaces\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = StateProps & ReduxProps\n\nconst SingleStatOptions: SFC = props => {\n const {\n colors,\n prefix,\n tickPrefix,\n suffix,\n tickSuffix,\n decimalPlaces,\n onSetPrefix,\n onSetTickPrefix,\n onSetSuffix,\n onSetTickSuffix,\n onSetDecimalPlaces,\n onSetColors,\n } = props\n\n return (\n <>\n \n

    Customize Single-Stat

    \n
    \n \n {decimalPlaces && (\n \n )}\n \n

    Colorized Thresholds

    \n
    \n \n \n \n \n \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const view = getActiveTimeMachine(state).view as NewView<\n SingleStatViewProperties\n >\n const {\n colors,\n prefix,\n suffix,\n decimalPlaces,\n tickPrefix,\n tickSuffix,\n } = view.properties\n\n return {colors, prefix, suffix, decimalPlaces, tickPrefix, tickSuffix}\n}\n\nconst mdtp = {\n onSetPrefix: setPrefix,\n onSetTickPrefix: setTickPrefix,\n onSetSuffix: setSuffix,\n onSetTickSuffix: setTickSuffix,\n onSetDecimalPlaces: setDecimalPlaces,\n onSetColors: setColors,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(SingleStatOptions)\n","// Libraries\nimport React, {Component, ChangeEvent} from 'react'\nimport {findDOMNode} from 'react-dom'\nimport {\n DragSourceSpec,\n DropTargetConnector,\n DragSourceMonitor,\n DragSource,\n DropTarget,\n DragSourceConnector,\n ConnectDragSource,\n ConnectDropTarget,\n ConnectDragPreview,\n} from 'react-dnd'\n\n// Components\nimport {Input, Icon} from '@influxdata/clockface'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Types\nimport {ComponentStatus, IconFont} from '@influxdata/clockface'\nimport {FieldOption} from 'src/types'\n\n// Constants\nconst columnType = 'column'\n\ninterface Props {\n internalName: string\n displayName: string\n visible: boolean\n index: number\n id: string\n key: string\n onUpdateColumn: (column: FieldOption) => void\n isDragging?: boolean\n connectDragSource?: ConnectDragSource\n connectDropTarget?: ConnectDropTarget\n connectDragPreview?: ConnectDragPreview\n onMoveColumn: (dragIndex: number, hoverIndex: number) => void\n}\n\nconst columnSource: DragSourceSpec = {\n beginDrag(props) {\n return {\n id: props.id,\n index: props.index,\n }\n },\n}\n\nconst columnTarget = {\n hover(props, monitor, component) {\n const dragIndex = monitor.getItem().index\n const hoverIndex = props.index\n\n // Don't replace items with themselves\n if (dragIndex === hoverIndex) {\n return\n }\n\n // Determine rectangle on screen\n const domNode = findDOMNode(component) as Element\n const hoverBoundingRect = domNode.getBoundingClientRect()\n\n // Get vertical middle\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2\n\n // Determine mouse position\n const clientOffset = monitor.getClientOffset()\n\n // Get pixels to the top\n const hoverClientY = clientOffset.y - hoverBoundingRect.top\n\n // Only perform the move when the mouse has crossed half of the items height\n // When dragging downwards, only move when the cursor is below 50%\n // When dragging upwards, only move when the cursor is above 50%\n\n // Dragging downwards\n if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {\n return\n }\n\n // Dragging upwards\n if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {\n return\n }\n // Time to actually perform the action\n props.onMoveColumn(dragIndex, hoverIndex)\n\n // Note: we're mutating the monitor item here!\n // Generally it's better to avoid mutations,\n // but it's good here for the sake of performance\n // to avoid expensive index searches.\n monitor.getItem().index = hoverIndex\n },\n}\n\nfunction ColumnDropTarget(dropColumnType, dropColumnTarget, dropHandler) {\n return target =>\n DropTarget(dropColumnType, dropColumnTarget, dropHandler)(target) as any\n}\n\nfunction ColumnDragSource(dragColumnType, dragColumnSource, dragHandler) {\n return target =>\n DragSource(dragColumnType, dragColumnSource, dragHandler)(target) as any\n}\n\n@ErrorHandling\n@ColumnDropTarget(columnType, columnTarget, (connect: DropTargetConnector) => ({\n connectDropTarget: connect.dropTarget(),\n}))\n@ColumnDragSource(\n columnType,\n columnSource,\n (connect: DragSourceConnector, monitor: DragSourceMonitor) => ({\n connectDragSource: connect.dragSource(),\n connectDragPreview: connect.dragPreview(),\n isDragging: monitor.isDragging(),\n })\n)\nexport default class DraggableColumn extends Component {\n constructor(props) {\n super(props)\n\n this.handleColumnRename = this.handleColumnRename.bind(this)\n this.handleToggleVisible = this.handleToggleVisible.bind(this)\n }\n public render(): JSX.Element | null {\n const {\n internalName,\n displayName,\n connectDragPreview,\n connectDropTarget,\n } = this.props\n\n return connectDragPreview(\n connectDropTarget(\n
    \n
    \n {this.dragHandle}\n {this.visibilityToggle}\n
    {internalName}
    \n
    \n \n
    \n )\n )\n }\n\n private get inputStatus(): ComponentStatus {\n const {visible} = this.props\n\n if (visible) {\n return ComponentStatus.Default\n }\n\n return ComponentStatus.Disabled\n }\n\n private get dragHandle(): JSX.Element {\n const {connectDragSource} = this.props\n\n return connectDragSource(\n
    \n \n
    \n )\n }\n\n private get visibilityToggle(): JSX.Element {\n const {visible, internalName} = this.props\n\n if (visible) {\n return (\n \n \n \n )\n }\n\n return (\n \n \n \n )\n }\n\n private get labelClassName(): string {\n const {visible} = this.props\n\n if (visible) {\n return 'customizable-field--label'\n }\n\n return 'customizable-field--label__hidden'\n }\n\n private get columnClassName(): string {\n const {isDragging} = this.props\n\n if (isDragging) {\n return 'customizable-field dragging'\n }\n\n return 'customizable-field'\n }\n\n private handleColumnRename = (e: ChangeEvent): void => {\n const {onUpdateColumn, internalName, visible} = this.props\n onUpdateColumn({internalName, displayName: e.target.value, visible})\n }\n\n private handleToggleVisible = (): void => {\n const {onUpdateColumn, internalName, displayName, visible} = this.props\n onUpdateColumn({internalName, displayName, visible: !visible})\n }\n}\n","import React from 'react'\nimport HTML5Backend from 'react-dnd-html5-backend'\nimport {DndProvider} from 'react-dnd'\n\nexport default function(\n Component: React.ComponentClass | React.StatelessComponent\n) {\n return (props: TProps) => (\n \n \n \n )\n}\n","// Libraries\nimport React, {Component} from 'react'\n\n// Components\nimport {Form, EmptyState, Grid} from '@influxdata/clockface'\nimport DraggableColumn from 'src/shared/components/draggable_column/DraggableColumn'\n\n// Types\nimport {FieldOption} from 'src/types/dashboards'\nimport {ComponentSize} from '@influxdata/clockface'\nimport withDragDropContext from 'src/shared/decorators/withDragDropContext'\n\ninterface Props {\n className?: string\n columns: FieldOption[]\n onMoveColumn: (dragIndex: number, hoverIndex: number) => void\n onUpdateColumn: (column: FieldOption) => void\n}\n\nclass ColumnsOptions extends Component {\n public render() {\n const {className} = this.props\n\n return (\n \n \n
    {this.draggableColumns}
    \n
    \n
    \n )\n }\n\n private get draggableColumns(): JSX.Element | JSX.Element[] {\n const {columns, onMoveColumn, onUpdateColumn} = this.props\n\n if (columns.length) {\n return columns.map((column: FieldOption, i: number) => (\n \n ))\n }\n\n return (\n \n \n This query returned no columns\n \n \n )\n }\n}\n\nexport default withDragDropContext(ColumnsOptions)\n","// Libraries\nimport React, {SFC} from 'react'\n\n// Components\nimport {\n Form,\n InputLabel,\n SlideToggle,\n FlexBox,\n Grid,\n} from '@influxdata/clockface'\n\n// Types\nimport {Columns, FlexDirection, ComponentSize} from '@influxdata/clockface'\n\ninterface Props {\n fixed: boolean\n onToggleFixFirstColumn: () => void\n}\n\nconst GraphOptionsFixFirstColumn: SFC = ({\n fixed,\n onToggleFixFirstColumn,\n}) => (\n \n \n \n \n Scroll with table\n \n Fixed\n \n \n \n \n)\n\nexport default GraphOptionsFixFirstColumn\n","// Libraries\nimport _ from 'lodash'\nimport React from 'react'\n\n// Component\nimport {Form, Grid, Dropdown} from '@influxdata/clockface'\n\n// Types\nimport {FieldOption} from 'src/types/dashboards'\n\ninterface Props {\n selected: FieldOption\n fieldOptions: FieldOption[]\n onChange: (fieldOption: FieldOption) => void\n}\n\nconst SortBy = ({fieldOptions, onChange, selected}: Props) => {\n return (\n \n \n (\n \n {_.get(selected, 'displayName', 'Choose a sort field')}\n \n )}\n menu={onCollapse => (\n \n {fieldOptions\n .filter(field => !!field.internalName)\n .map(field => (\n \n {field.displayName}\n \n ))}\n \n )}\n />\n \n \n )\n}\n\nexport default SortBy\n","// Libraries\nimport React, {Component} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport DecimalPlacesOption from 'src/timeMachine/components/view_options/DecimalPlaces'\nimport ColumnOptions from 'src/shared/components/columns_options/ColumnsOptions'\nimport FixFirstColumn from 'src/timeMachine/components/view_options/FixFirstColumn'\nimport TimeFormat from 'src/timeMachine/components/view_options/TimeFormat'\nimport SortBy from 'src/timeMachine/components/view_options/SortBy'\nimport {Grid, Form} from '@influxdata/clockface'\nimport ThresholdsSettings from 'src/shared/components/ThresholdsSettings'\nimport ThresholdColoring from 'src/timeMachine/components/view_options/ThresholdColoring'\n\n// Constants\n\n// Actions\nimport {\n setDecimalPlaces,\n setColors,\n setFieldOptions,\n updateFieldOption,\n setTableOptions,\n setTimeFormat,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Types\nimport {\n AppState,\n NewView,\n DecimalPlaces,\n TableViewProperties,\n FieldOption,\n TableOptions as ViewTableOptions,\n Color,\n} from 'src/types'\nimport {move} from 'src/shared/utils/move'\n\ninterface StateProps {\n colors: Color[]\n timeFormat: string\n fieldOptions: FieldOption[]\n decimalPlaces: DecimalPlaces\n tableOptions: ViewTableOptions\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = StateProps & ReduxProps\n\n@ErrorHandling\nexport class TableOptions extends Component {\n public render() {\n const {\n timeFormat,\n onSetColors,\n fieldOptions,\n tableOptions,\n colors,\n decimalPlaces,\n onSetTimeFormat,\n onSetDecimalPlaces,\n } = this.props\n\n const filteredColumns = this.filterFieldOptions(fieldOptions)\n\n const {fixFirstColumn, sortBy} = tableOptions\n\n return (\n <>\n \n

    Customize Table

    \n
    \n {!!fieldOptions.length && (\n \n )}\n \n \n \n \n \n {decimalPlaces && (\n \n )}\n \n

    Column Settings

    \n
    \n {/* TODO (watts): this currently doesn't working removing for alpha.\n */}\n \n \n \n

    Colorized Thresholds

    \n
    \n \n \n \n \n \n \n \n )\n }\n\n private filterFieldOptions = (fieldOptions: FieldOption[]) => {\n return fieldOptions.filter(\n col =>\n col.internalName !== 'time' &&\n col.internalName !== '' &&\n col.internalName !== 'result' &&\n col.internalName !== 'table'\n )\n }\n\n private handleChangeSortBy = (sortBy: FieldOption) => {\n const {tableOptions, onSetTableOptions} = this.props\n onSetTableOptions({...tableOptions, sortBy})\n }\n\n private handleMoveColumn = (dragIndex: number, hoverIndex: number) => {\n const fieldOptions = move(\n this.filterFieldOptions(this.props.fieldOptions),\n dragIndex,\n hoverIndex\n )\n this.props.onSetFieldOptions(fieldOptions)\n }\n\n private handleUpdateColumn = (fieldOption: FieldOption) => {\n this.props.onUpdateFieldOption(fieldOption)\n }\n\n private handleToggleFixFirstColumn = () => {\n const {onSetTableOptions, tableOptions} = this.props\n const fixFirstColumn = !tableOptions.fixFirstColumn\n onSetTableOptions({...tableOptions, fixFirstColumn})\n }\n}\n\nconst mstp = (state: AppState) => {\n const view = getActiveTimeMachine(state).view as NewView\n const {\n colors,\n decimalPlaces,\n fieldOptions,\n tableOptions,\n timeFormat,\n } = view.properties\n\n return {colors, decimalPlaces, fieldOptions, tableOptions, timeFormat}\n}\n\nconst mdtp = {\n onSetDecimalPlaces: setDecimalPlaces,\n onSetColors: setColors,\n onSetFieldOptions: setFieldOptions,\n onUpdateFieldOption: updateFieldOption,\n onSetTableOptions: setTableOptions,\n onSetTimeFormat: setTimeFormat,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(TableOptions)\n","export const move = (values: T[], fromIndex: number, toIndex: number) => {\n if (fromIndex === toIndex) {\n return values.slice()\n }\n\n const targetValue = values[fromIndex]\n\n const valuesRemoved = [\n ...values.slice(0, fromIndex),\n ...values.slice(fromIndex + 1),\n ]\n\n return [\n ...valuesRemoved.slice(0, toIndex),\n targetValue,\n ...valuesRemoved.slice(toIndex),\n ]\n}\n","// Libraries\nimport React, {FunctionComponent, ChangeEvent} from 'react'\n\n// Components\nimport {AutoInput, AutoInputMode, Input, InputType} from '@influxdata/clockface'\n\n// Utils\nimport {convertUserInputToNumOrNaN} from 'src/shared/utils/convertUserInput'\n\n// Actions\nimport {setBinCount} from 'src/timeMachine/actions'\n\ninterface Props {\n binCount?: number\n onSetBinCount: typeof setBinCount\n}\n\nconst BinCountInput: FunctionComponent = ({binCount, onSetBinCount}) => {\n const handleInputChange = (e: ChangeEvent): void => {\n const binCount = convertUserInputToNumOrNaN(e)\n\n onSetBinCount(binCount)\n }\n\n const handleChangeMode = (mode: AutoInputMode): void => {\n if (mode === AutoInputMode.Auto) {\n onSetBinCount(null)\n } else {\n onSetBinCount(30)\n }\n }\n\n return (\n \n }\n />\n )\n}\n\nexport default BinCountInput\n","// Libraries\nimport React, {SFC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport _ from 'lodash'\n\n// Components\nimport {\n Form,\n Input,\n Grid,\n Dropdown,\n MultiSelectDropdown,\n} from '@influxdata/clockface'\nimport ColorSchemeDropdown from 'src/shared/components/ColorSchemeDropdown'\nimport AutoDomainInput from 'src/shared/components/AutoDomainInput'\nimport BinCountInput from 'src/timeMachine/components/view_options/BinCountInput'\n\n// Actions\nimport {\n setXColumn,\n setFillColumns,\n setBinCount,\n setHistogramPosition,\n setColors,\n setXDomain,\n setXAxisLabel,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {\n getXColumnSelection,\n getNumericColumns,\n getGroupableColumns,\n getFillColumnsSelection,\n} from 'src/timeMachine/selectors'\n\n// Types\nimport {ComponentStatus} from '@influxdata/clockface'\nimport {HistogramPosition} from '@influxdata/giraffe'\nimport {Color} from 'src/types/colors'\nimport {AppState} from 'src/types'\nimport ColumnSelector from 'src/shared/components/ColumnSelector'\n\ninterface OwnProps {\n position: HistogramPosition\n binCount: number\n colors: Color[]\n xDomain: number[]\n xAxisLabel: string\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nconst HistogramOptions: SFC = props => {\n const {\n xColumn,\n fillColumns,\n numericColumns,\n availableGroupColumns,\n position,\n binCount,\n colors,\n xDomain,\n xAxisLabel,\n onSetXColumn,\n onSetFillColumns,\n onSetPosition,\n onSetBinCount,\n onSetColors,\n onSetXDomain,\n onSetXAxisLabel,\n } = props\n\n const groupDropdownStatus = availableGroupColumns.length\n ? ComponentStatus.Default\n : ComponentStatus.Disabled\n\n const onSelectFillColumns = (option: string) => {\n const columnExists = fillColumns.find(col => col === option)\n let updatedColumns = fillColumns\n\n if (columnExists) {\n updatedColumns = fillColumns.filter(fc => fc !== option)\n } else {\n updatedColumns = [...fillColumns, option]\n }\n\n onSetFillColumns(updatedColumns)\n }\n\n return (\n \n

    Customize Histogram

    \n
    Data
    \n \n \n \n \n
    Options
    \n \n \n \n \n (\n \n {_.capitalize(position)}\n \n )}\n menu={onCollapse => (\n \n \n Overlaid\n \n \n Stacked\n \n \n )}\n />\n \n \n \n \n
    X Axis
    \n \n onSetXAxisLabel(e.target.value)}\n />\n \n \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const numericColumns = getNumericColumns(state)\n const availableGroupColumns = getGroupableColumns(state)\n const xColumn = getXColumnSelection(state)\n const fillColumns = getFillColumnsSelection(state)\n\n return {numericColumns, availableGroupColumns, xColumn, fillColumns}\n}\n\nconst mdtp = {\n onSetXColumn: setXColumn,\n onSetFillColumns: setFillColumns,\n onSetBinCount: setBinCount,\n onSetPosition: setHistogramPosition,\n onSetColors: setColors,\n onSetXDomain: setXDomain,\n onSetXAxisLabel: setXAxisLabel,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(HistogramOptions)\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {Dropdown, DropdownMenuTheme} from '@influxdata/clockface'\nimport ColorSchemeDropdownItem from 'src/shared/components/ColorSchemeDropdownItem'\n\ninterface Props {\n colorSchemes: Array<{name: string; colors: string[]}>\n selectedColorScheme: string[]\n onSelectColorScheme: (scheme: string[]) => void\n}\n\nconst HexColorSchemeDropdown: FunctionComponent = ({\n colorSchemes,\n selectedColorScheme,\n onSelectColorScheme,\n}) => {\n const selected = colorSchemes.find(\n scheme =>\n scheme.colors.length === selectedColorScheme.length &&\n scheme.colors.every((color, i) => color === selectedColorScheme[i])\n )\n\n let selectedName\n let resolvedSchemes\n\n if (selected) {\n selectedName = selected.name\n resolvedSchemes = colorSchemes\n } else {\n selectedName = 'Custom'\n resolvedSchemes = [\n ...colorSchemes,\n {name: 'Custom', colors: selectedColorScheme},\n ]\n }\n\n return (\n (\n \n \n \n )}\n menu={onCollapse => (\n \n {resolvedSchemes.map(({name, colors}) => (\n \n \n \n ))}\n \n )}\n />\n )\n}\n\nexport default HexColorSchemeDropdown\n","// Libraries\nimport React, {FunctionComponent, ChangeEvent, useState} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {VIRIDIS, MAGMA, INFERNO, PLASMA} from '@influxdata/giraffe'\nimport {\n Form,\n Grid,\n Input,\n Columns,\n InputType,\n ComponentStatus,\n} from '@influxdata/clockface'\nimport TimeFormat from 'src/timeMachine/components/view_options/TimeFormat'\n\n// Utils\nimport {convertUserInputToNumOrNaN} from 'src/shared/utils/convertUserInput'\n\n// Components\nimport AutoDomainInput from 'src/shared/components/AutoDomainInput'\nimport HexColorSchemeDropdown from 'src/shared/components/HexColorSchemeDropdown'\nimport ColumnSelector from 'src/shared/components/ColumnSelector'\n\n// Actions\nimport {\n setXColumn,\n setYColumn,\n setBinSize,\n setColorHexes,\n setXDomain,\n setYDomain,\n setXAxisLabel,\n setYAxisLabel,\n setAxisPrefix,\n setAxisSuffix,\n setTimeFormat,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {\n getXColumnSelection,\n getYColumnSelection,\n getNumericColumns,\n getActiveTimeMachine,\n} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState, NewView, HeatmapViewProperties} from 'src/types'\n\nconst HEATMAP_COLOR_SCHEMES = [\n {name: 'Magma', colors: MAGMA},\n {name: 'Inferno', colors: INFERNO},\n {name: 'Viridis', colors: VIRIDIS},\n {name: 'Plasma', colors: PLASMA},\n]\n\ninterface OwnProps {\n xDomain: number[]\n yDomain: number[]\n xAxisLabel: string\n yAxisLabel: string\n xPrefix: string\n xSuffix: string\n yPrefix: string\n ySuffix: string\n colors: string[]\n binSize: number\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\nconst HeatmapOptions: FunctionComponent = props => {\n const [binInputStatus, setBinInputStatus] = useState(ComponentStatus.Default)\n const [binInput, setBinInput] = useState(props.binSize)\n\n const onSetBinSize = (e: ChangeEvent) => {\n const val = convertUserInputToNumOrNaN(e)\n setBinInput(val)\n\n if (isNaN(val) || val < 5) {\n setBinInputStatus(ComponentStatus.Error)\n return\n }\n\n setBinInputStatus(ComponentStatus.Default)\n props.onSetBinSize(val)\n }\n\n return (\n \n

    Customize Heatmap

    \n
    Data
    \n \n \n \n \n \n
    Options
    \n \n \n \n \n \n \n
    X Axis
    \n \n props.onSetXAxisLabel(e.target.value)}\n />\n \n \n \n \n props.onSetPrefix(e.target.value, 'x')}\n />\n \n \n \n \n props.onSetSuffix(e.target.value, 'x')}\n />\n \n \n \n \n
    Y Axis
    \n \n props.onSetYAxisLabel(e.target.value)}\n />\n \n \n \n \n props.onSetPrefix(e.target.value, 'y')}\n />\n \n \n \n \n props.onSetSuffix(e.target.value, 'y')}\n />\n \n \n \n \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const xColumn = getXColumnSelection(state)\n const yColumn = getYColumnSelection(state)\n const numericColumns = getNumericColumns(state)\n const view = getActiveTimeMachine(state).view as NewView<\n HeatmapViewProperties\n >\n const {timeFormat} = view.properties\n return {xColumn, yColumn, numericColumns, timeFormat}\n}\n\nconst mdtp = {\n onSetXColumn: setXColumn,\n onSetYColumn: setYColumn,\n onSetBinSize: setBinSize,\n onSetColors: setColorHexes,\n onSetXDomain: setXDomain,\n onSetYDomain: setYDomain,\n onSetXAxisLabel: setXAxisLabel,\n onSetYAxisLabel: setYAxisLabel,\n onSetPrefix: setAxisPrefix,\n onSetSuffix: setAxisSuffix,\n onSetTimeFormat: setTimeFormat,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(HeatmapOptions)\n","// Libraries\nimport React, {SFC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Form, Input, Grid, MultiSelectDropdown} from '@influxdata/clockface'\nimport AxisAffixes from 'src/timeMachine/components/view_options/AxisAffixes'\nimport TimeFormat from 'src/timeMachine/components/view_options/TimeFormat'\n\n// Actions\nimport {\n setFillColumns,\n setSymbolColumns,\n setYAxisLabel,\n setXAxisLabel,\n setAxisPrefix,\n setAxisSuffix,\n setColorHexes,\n setYDomain,\n setXColumn,\n setYColumn,\n setTimeFormat,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {\n getGroupableColumns,\n getFillColumnsSelection,\n getSymbolColumnsSelection,\n getXColumnSelection,\n getYColumnSelection,\n getNumericColumns,\n getActiveTimeMachine,\n} from 'src/timeMachine/selectors'\n\n// Constants\nimport {GIRAFFE_COLOR_SCHEMES} from 'src/shared/constants'\n\n// Types\nimport {ComponentStatus} from '@influxdata/clockface'\nimport {AppState, NewView, ScatterViewProperties} from 'src/types'\nimport HexColorSchemeDropdown from 'src/shared/components/HexColorSchemeDropdown'\nimport AutoDomainInput from 'src/shared/components/AutoDomainInput'\nimport ColumnSelector from 'src/shared/components/ColumnSelector'\n\ninterface OwnProps {\n xColumn: string\n yColumn: string\n fillColumns: string[]\n symbolColumns: string[]\n xDomain: number[]\n yDomain: number[]\n xAxisLabel: string\n yAxisLabel: string\n xPrefix: string\n xSuffix: string\n yPrefix: string\n ySuffix: string\n colors: string[]\n showNoteWhenEmpty: boolean\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nconst ScatterOptions: SFC = props => {\n const {\n fillColumns,\n symbolColumns,\n availableGroupColumns,\n yAxisLabel,\n xAxisLabel,\n onSetFillColumns,\n onSetSymbolColumns,\n colors,\n onSetColors,\n onSetYAxisLabel,\n onSetXAxisLabel,\n yPrefix,\n ySuffix,\n onUpdateAxisSuffix,\n onUpdateAxisPrefix,\n yDomain,\n onSetYDomain,\n xColumn,\n yColumn,\n numericColumns,\n onSetXColumn,\n onSetYColumn,\n onSetTimeFormat,\n timeFormat,\n } = props\n\n const groupDropdownStatus = availableGroupColumns.length\n ? ComponentStatus.Default\n : ComponentStatus.Disabled\n\n const handleFillColumnSelect = (column: string): void => {\n let updatedFillColumns\n\n if (fillColumns.includes(column)) {\n updatedFillColumns = fillColumns.filter(col => col !== column)\n } else {\n updatedFillColumns = [...fillColumns, column]\n }\n\n onSetFillColumns(updatedFillColumns)\n }\n\n const handleSymbolColumnSelect = (column: string): void => {\n let updatedSymbolColumns\n\n if (symbolColumns.includes(column)) {\n updatedSymbolColumns = symbolColumns.filter(col => col !== column)\n } else {\n updatedSymbolColumns = [...symbolColumns, column]\n }\n\n onSetSymbolColumns(updatedSymbolColumns)\n }\n\n return (\n \n

    Customize Scatter Plot

    \n
    Data
    \n\n \n \n \n \n \n \n \n \n \n \n \n
    Options
    \n \n \n \n
    X Axis
    \n \n onSetXAxisLabel(e.target.value)}\n />\n \n
    Y Axis
    \n \n onSetYAxisLabel(e.target.value)}\n />\n \n \n onUpdateAxisPrefix(prefix, 'y')}\n onUpdateAxisSuffix={suffix => onUpdateAxisSuffix(suffix, 'y')}\n />\n \n \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const availableGroupColumns = getGroupableColumns(state)\n const fillColumns = getFillColumnsSelection(state)\n const symbolColumns = getSymbolColumnsSelection(state)\n const xColumn = getXColumnSelection(state)\n const yColumn = getYColumnSelection(state)\n const numericColumns = getNumericColumns(state)\n const view = getActiveTimeMachine(state).view as NewView<\n ScatterViewProperties\n >\n const {timeFormat} = view.properties\n\n return {\n availableGroupColumns,\n fillColumns,\n symbolColumns,\n xColumn,\n yColumn,\n numericColumns,\n timeFormat,\n }\n}\n\nconst mdtp = {\n onSetFillColumns: setFillColumns,\n onSetSymbolColumns: setSymbolColumns,\n onSetColors: setColorHexes,\n onSetYAxisLabel: setYAxisLabel,\n onSetXAxisLabel: setXAxisLabel,\n onUpdateAxisPrefix: setAxisPrefix,\n onUpdateAxisSuffix: setAxisSuffix,\n onSetYDomain: setYDomain,\n onSetXColumn: setXColumn,\n onSetYColumn: setYColumn,\n onSetTimeFormat: setTimeFormat,\n}\n\nconst connector = connect(mstp, mdtp)\nexport default connector(ScatterOptions)\n","// Libraries\nimport React, {SFC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Form, Grid, Input} from '@influxdata/clockface'\nimport TimeFormat from 'src/timeMachine/components/view_options/TimeFormat'\n\n// Actions\nimport {\n setFillColumns,\n setYAxisLabel,\n setXAxisLabel,\n setColorHexes,\n setYDomain,\n setXColumn,\n setYSeriesColumns,\n setTimeFormat,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {\n getGroupableColumns,\n getFillColumnsSelection,\n getXColumnSelection,\n getYColumnSelection,\n getNumericColumns,\n getStringColumns,\n getActiveTimeMachine,\n} from 'src/timeMachine/selectors'\n\n// Constants\nimport {GIRAFFE_COLOR_SCHEMES} from 'src/shared/constants'\n\n// Types\nimport {AppState, NewView, MosaicViewProperties} from 'src/types'\nimport HexColorSchemeDropdown from 'src/shared/components/HexColorSchemeDropdown'\nimport ColumnSelector from 'src/shared/components/ColumnSelector'\n\ninterface OwnProps {\n xColumn: string\n yColumn: string\n fillColumns: string\n xDomain: number[]\n yDomain: number[]\n xAxisLabel: string\n yAxisLabel: string\n colors: string[]\n showNoteWhenEmpty: boolean\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nconst MosaicOptions: SFC = props => {\n const {\n fillColumns,\n yAxisLabel,\n xAxisLabel,\n onSetFillColumns,\n colors,\n onSetColors,\n onSetYAxisLabel,\n onSetXAxisLabel,\n xColumn,\n yColumn,\n stringColumns,\n numericColumns,\n onSetXColumn,\n onSetYSeriesColumns,\n onSetTimeFormat,\n timeFormat,\n } = props\n\n const handleFillColumnSelect = (column: string): void => {\n const fillColumn = [column]\n onSetFillColumns(fillColumn)\n }\n\n const onSelectYSeriesColumns = (colName: string) => {\n onSetYSeriesColumns([colName])\n }\n\n return (\n \n

    Customize Mosaic Plot

    \n
    Data
    \n \n \n \n \n \n \n
    Options
    \n \n \n \n
    X Axis
    \n \n onSetXAxisLabel(e.target.value)}\n />\n \n
    Y Axis
    \n \n onSetYAxisLabel(e.target.value)}\n />\n {' '}\n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const availableGroupColumns = getGroupableColumns(state)\n const fillColumns = getFillColumnsSelection(state)\n const xColumn = getXColumnSelection(state)\n const yColumn = getYColumnSelection(state)\n const stringColumns = getStringColumns(state)\n const numericColumns = getNumericColumns(state)\n const view = getActiveTimeMachine(state).view as NewView\n const {timeFormat} = view.properties\n\n return {\n availableGroupColumns,\n fillColumns,\n xColumn,\n yColumn,\n stringColumns,\n numericColumns,\n timeFormat,\n }\n}\n\nconst mdtp = {\n onSetFillColumns: setFillColumns,\n onSetColors: setColorHexes,\n onSetYAxisLabel: setYAxisLabel,\n onSetXAxisLabel: setXAxisLabel,\n onSetYDomain: setYDomain,\n onSetXColumn: setXColumn,\n onSetYSeriesColumns: setYSeriesColumns,\n onSetTimeFormat: setTimeFormat,\n}\n\nconst connector = connect(mstp, mdtp)\nexport default connector(MosaicOptions)\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport BandOptions from 'src/timeMachine/components/view_options/BandOptions'\nimport LineOptions from 'src/timeMachine/components/view_options/LineOptions'\nimport GaugeOptions from 'src/timeMachine/components/view_options/GaugeOptions'\nimport SingleStatOptions from 'src/timeMachine/components/view_options/SingleStatOptions'\nimport TableOptions from 'src/timeMachine/components/view_options/TableOptions'\nimport HistogramOptions from 'src/timeMachine/components/view_options/HistogramOptions'\nimport HeatmapOptions from 'src/timeMachine/components/view_options/HeatmapOptions'\nimport ScatterOptions from 'src/timeMachine/components/view_options/ScatterOptions'\nimport MosaicOptions from 'src/timeMachine/components/view_options/MosaicOptions'\n\n// Types\nimport {View, NewView} from 'src/types'\n\ninterface Props {\n view: View | NewView\n}\n\nclass OptionsSwitcher extends PureComponent {\n public render() {\n const {view} = this.props\n\n switch (view.properties.type) {\n case 'line-plus-single-stat':\n return (\n <>\n \n \n \n )\n case 'xy':\n return \n case 'band':\n return \n case 'gauge':\n return \n case 'single-stat':\n return \n case 'table':\n return \n case 'histogram':\n return \n case 'heatmap':\n return \n case 'scatter':\n return \n case 'mosaic':\n return \n default:\n return
    \n }\n }\n}\n\nexport default OptionsSwitcher\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Actions\nimport {setType} from 'src/timeMachine/actions'\n\n// Components\nimport OptionsSwitcher from 'src/timeMachine/components/view_options/OptionsSwitcher'\nimport {Grid, DapperScrollbars} from '@influxdata/clockface'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nclass ViewOptions extends PureComponent {\n public render() {\n return (\n
    \n \n
    \n \n \n \n \n \n
    \n \n
    \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n const {view} = getActiveTimeMachine(state)\n\n return {view}\n}\n\nconst mdtp = {\n onUpdateType: setType,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(ViewOptions)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n Button,\n ComponentColor,\n ComponentSize,\n ComponentStatus,\n} from '@influxdata/clockface'\n\n// Actions\nimport {executeCheckQuery} from 'src/timeMachine/actions/queries'\n\n// Utils\nimport {getActiveTimeMachine, getActiveQuery} from 'src/timeMachine/selectors'\n\n// Types\nimport {RemoteDataState} from 'src/types'\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\ninterface State {\n didClick: boolean\n}\n\nclass SubmitQueryButton extends PureComponent {\n public state: State = {didClick: false}\n\n public componentDidUpdate(prevProps: Props) {\n if (\n prevProps.queryStatus === RemoteDataState.Loading &&\n this.props.queryStatus === RemoteDataState.Done\n ) {\n this.setState({didClick: false})\n }\n }\n\n public render() {\n return (\n \n )\n }\n\n private get buttonStatus(): ComponentStatus {\n const {queryStatus, submitButtonDisabled} = this.props\n const {didClick} = this.state\n\n if (submitButtonDisabled) {\n return ComponentStatus.Disabled\n }\n\n if (queryStatus === RemoteDataState.Loading && didClick) {\n // Only show loading state for button if it was just clicked\n return ComponentStatus.Loading\n }\n\n return ComponentStatus.Default\n }\n\n private handleClick = (): void => {\n this.props.onExecuteCheckQuery()\n this.setState({didClick: true})\n }\n}\n\nconst mstp = (state: AppState) => {\n const submitButtonDisabled = getActiveQuery(state).text === ''\n const queryStatus = getActiveTimeMachine(state).queryResults.status\n\n return {submitButtonDisabled, queryStatus}\n}\n\nconst mdtp = {\n onExecuteCheckQuery: executeCheckQuery,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(SubmitQueryButton)\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport TimeMachineFluxEditor from 'src/timeMachine/components/TimeMachineFluxEditor'\nimport SubmitCheckQueryButton from 'src/timeMachine/components/SubmitCheckQueryButton'\nimport RawDataToggle from 'src/timeMachine/components/RawDataToggle'\nimport QueryTabs from 'src/timeMachine/components/QueryTabs'\nimport {\n ComponentSize,\n FlexBox,\n FlexDirection,\n JustifyContent,\n} from '@influxdata/clockface'\n\nconst TimeMachineCheckQuery: FC = () => {\n return (\n
    \n
    \n \n
    \n \n \n \n \n
    \n
    \n
    \n \n
    \n
    \n )\n}\n\nexport default TimeMachineCheckQuery\n","// Libraries\nimport React, {useState, FunctionComponent} from 'react'\nimport {connect} from 'react-redux'\nimport classnames from 'classnames'\n\n// Components\nimport {DraggableResizer, Orientation} from '@influxdata/clockface'\nimport TimeMachineQueries from 'src/timeMachine/components/Queries'\nimport TimeMachineAlerting from 'src/timeMachine/components/TimeMachineAlerting'\nimport TimeMachineVis from 'src/timeMachine/components/Vis'\nimport ViewOptions from 'src/timeMachine/components/view_options/ViewOptions'\nimport TimeMachineCheckQuery from 'src/timeMachine/components/TimeMachineCheckQuery'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState, TimeMachineTab} from 'src/types'\n\nconst INITIAL_RESIZER_HANDLE = 0.5\n\ninterface StateProps {\n activeTab: TimeMachineTab\n isViewingVisOptions: boolean\n}\n\nconst TimeMachine: FunctionComponent = ({\n activeTab,\n isViewingVisOptions,\n}) => {\n const [dragPosition, setDragPosition] = useState([INITIAL_RESIZER_HANDLE])\n\n const containerClassName = classnames('time-machine', {\n 'time-machine--split': isViewingVisOptions,\n })\n\n let bottomContents: JSX.Element = null\n if (activeTab === 'alerting') {\n bottomContents = \n } else if (activeTab === 'queries') {\n bottomContents = \n } else if (activeTab === 'customCheckQuery') {\n bottomContents = \n }\n\n return (\n <>\n {isViewingVisOptions && }\n
    \n \n \n
    \n \n
    \n
    \n \n \n
    \n {bottomContents}\n
    \n
    \n \n \n
    \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const {activeTab, isViewingVisOptions} = getActiveTimeMachine(state)\n\n return {activeTab, isViewingVisOptions}\n}\n\nexport default connect(mstp)(TimeMachine)\n","// Libraries\nimport {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {CLOUD} from 'src/shared/constants'\n\n// Actions\nimport {getReadWriteCardinalityLimits as getReadWriteCardinalityLimitsAction} from 'src/cloud/actions/limits'\n\ninterface OwnProps {\n children: React.ReactNode\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass LimitChecker extends PureComponent {\n public componentDidMount() {\n if (CLOUD) {\n this.props.getReadWriteCardinalityLimits()\n }\n }\n\n public render() {\n return this.props.children\n }\n}\n\nconst mdtp = {\n getReadWriteCardinalityLimits: getReadWriteCardinalityLimitsAction,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(LimitChecker)\n","import qs from 'qs'\nimport {pickBy} from 'lodash'\nimport {RouteComponentProps} from 'react-router-dom'\n\nexport const readQueryParams = (): {[key: string]: any} => {\n return qs.parse(window.location.search, {ignoreQueryPrefix: true})\n}\n\n/*\n Given an object of query parameter keys and values, updates any corresponding\n query parameters in the URL to match. If the supplied object has a null value\n for a key, that query parameter will be removed from the URL altogether.\n*/\nexport const updateQueryParams = (\n updatedQueryParams: object,\n history: RouteComponentProps['history']\n): void => {\n const currentQueryString = window.location.search\n const newQueryParams = pickBy(\n {\n ...qs.parse(currentQueryString, {ignoreQueryPrefix: true}),\n ...updatedQueryParams,\n },\n v => !!v\n )\n\n const newQueryString = qs.stringify(newQueryParams)\n\n history.replace(`${window.location.pathname}?${newQueryString}`)\n}\n","// Libraries\nimport React, {FC, useEffect} from 'react'\nimport {useDispatch} from 'react-redux'\n\n// Components\nimport TimeMachine from 'src/timeMachine/components/TimeMachine'\nimport LimitChecker from 'src/cloud/components/LimitChecker'\n\n// Actions\nimport {setActiveTimeMachine} from 'src/timeMachine/actions'\nimport {setBuilderBucketIfExists} from 'src/timeMachine/actions/queryBuilder'\n\n// Utils\nimport {HoverTimeProvider} from 'src/dashboards/utils/hoverTime'\nimport {queryBuilderFetcher} from 'src/timeMachine/apis/QueryBuilderFetcher'\nimport {readQueryParams} from 'src/shared/utils/queryParams'\n\nconst DataExplorer: FC = () => {\n const dispatch = useDispatch()\n\n useEffect(() => {\n const bucketQP = readQueryParams()['bucket']\n dispatch(setActiveTimeMachine('de'))\n queryBuilderFetcher.clearCache()\n dispatch(setBuilderBucketIfExists(bucketQP))\n }, [dispatch])\n\n return (\n \n
    \n \n \n \n
    \n
    \n )\n}\n\nexport default DataExplorer\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {IconFont, Button, ComponentColor} from '@influxdata/clockface'\n\nclass SaveAsButton extends PureComponent {\n public render() {\n return (\n <>\n \n \n )\n }\n\n private handleShowOverlay = () => {\n const {\n location: {pathname},\n } = this.props\n\n this.props.history.push(`${pathname}/save`)\n }\n}\n\nexport default withRouter(SaveAsButton)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Button, IconFont, ComponentColor} from '@influxdata/clockface'\n\n// Actions\nimport {toggleVisOptions} from 'src/timeMachine/actions'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState} from 'src/types'\n\ninterface StateProps {\n isViewingVisOptions: boolean\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = StateProps & ReduxProps\n\nexport const VisOptionsButton: FC = ({\n isViewingVisOptions,\n onToggleVisOptions,\n}) => {\n const color = isViewingVisOptions\n ? ComponentColor.Primary\n : ComponentColor.Default\n\n return (\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const {isViewingVisOptions} = getActiveTimeMachine(state)\n\n return {isViewingVisOptions}\n}\n\nconst mdtp = {\n onToggleVisOptions: toggleVisOptions,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(VisOptionsButton)\n","import {TimeZone} from 'src/types'\n\nexport const TIME_ZONES: Array<{timeZone: TimeZone; displayName: string}> = [\n {timeZone: 'Local', displayName: 'Local Time'},\n {timeZone: 'UTC', displayName: 'UTC'},\n\n // We can expose more time zone settings in the future, if we want:\n //\n // {timeZone: 'America/Los_Angeles', displayName: 'Los Angeles'}\n //\n]\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {SelectDropdown, IconFont} from '@influxdata/clockface'\n\n// Actions & Selectors\nimport {setTimeZone} from 'src/shared/actions/app'\nimport {getTimeZone} from 'src/dashboards/selectors'\n\n// Constants\nimport {TIME_ZONES} from 'src/shared/constants/timeZones'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst TimeZoneDropdown: FunctionComponent = ({\n timeZone: selectedTimeZone,\n onSetTimeZone,\n}) => {\n return (\n tz.timeZone)}\n selectedOption={selectedTimeZone}\n onSelect={onSetTimeZone}\n buttonIcon={IconFont.Annotate}\n style={{width: '115px'}}\n />\n )\n}\n\nexport {TimeZoneDropdown}\n\nconst mstp = (state: AppState) => {\n return {timeZone: getTimeZone(state)}\n}\n\nconst mdtp = {onSetTimeZone: setTimeZone}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(TimeZoneDropdown)\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Button} from '@influxdata/clockface'\nimport {FeatureFlag} from 'src/shared/utils/featureFlag'\n\nconst DeleteDataButton: FunctionComponent = ({\n location: {pathname},\n history,\n}) => {\n const onClick = () => history.push(`${pathname}/delete-data`)\n\n return (\n \n \n \n )\n}\n\nexport default withRouter(DeleteDataButton)\n","import React, {PureComponent} from 'react'\n\n// utils\nimport _ from 'lodash'\n\n// components\nimport {Dropdown, DropdownItemType} from '@influxdata/clockface'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// types\nimport {Dashboard} from 'src/types'\nimport {DashboardTemplate} from 'src/dashboards/constants'\n\ninterface Props {\n onSelect: (selectedIDs: string[], value: Dashboard) => void\n selectedIDs: string[]\n dashboards: Dashboard[]\n newDashboardName: string\n}\n\n@ErrorHandling\nclass DashboardsDropdown extends PureComponent {\n public render() {\n return (\n (\n \n {this.dropdownLabel}\n \n )}\n menu={() => (\n \n {this.dropdownItems}\n \n )}\n />\n )\n }\n\n private handleSelectDashboard = (dashboard: Dashboard): void => {\n const {onSelect, selectedIDs} = this.props\n\n let updatedSelection: string[]\n\n if (selectedIDs.includes(dashboard.id)) {\n updatedSelection = selectedIDs.filter(id => id !== dashboard.id)\n } else {\n updatedSelection = [...selectedIDs, dashboard.id]\n }\n\n onSelect(updatedSelection, dashboard)\n }\n\n private get dropdownLabel(): string {\n const {dashboards, selectedIDs, newDashboardName} = this.props\n\n if (!selectedIDs.length) {\n return 'Choose at least 1 dashboard'\n }\n\n const dashboardsWithNew = [\n ...dashboards,\n {...DashboardTemplate, name: newDashboardName},\n ]\n\n return dashboardsWithNew\n .filter(d => selectedIDs.includes(d.id))\n .map(d => d.name)\n .join(', ')\n }\n\n private get dropdownItems(): JSX.Element[] {\n const {dashboards, selectedIDs} = this.props\n const dashboardItems = dashboards.map(d => {\n return (\n \n {d.name}\n \n )\n })\n\n return [this.newDashboardItem, this.dividerItem, ...dashboardItems]\n }\n\n private get newDashboardItem(): JSX.Element {\n const {selectedIDs} = this.props\n\n return (\n \n {DashboardTemplate.name}\n \n )\n }\n\n private get dividerItem(): JSX.Element {\n return \n }\n}\nexport default DashboardsDropdown\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get, isEmpty} from 'lodash'\n\n// Selectors\nimport {getSaveableView} from 'src/timeMachine/selectors'\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll} from 'src/resources/selectors'\nimport {sortDashboardByName} from 'src/dashboards/selectors'\n\n// Components\nimport {Form, Input, Button, Grid} from '@influxdata/clockface'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport DashboardsDropdown from 'src/dataExplorer/components/DashboardsDropdown'\n\nimport {\n DashboardTemplate,\n DEFAULT_DASHBOARD_NAME,\n DEFAULT_CELL_NAME,\n} from 'src/dashboards/constants'\n\n// Actions\nimport {getDashboards} from 'src/dashboards/actions/thunks'\nimport {\n createCellWithView,\n createDashboardWithView,\n} from 'src/cells/actions/thunks'\nimport {notify} from 'src/shared/actions/notifications'\n\n// Types\nimport {AppState, Dashboard, View, ResourceType} from 'src/types'\nimport {\n Columns,\n InputType,\n ButtonType,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\n\ninterface State {\n targetDashboardIDs: string[]\n cellName: string\n isNameDashVisible: boolean\n newDashboardName: string\n}\n\ninterface OwnProps {\n dismiss: () => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\n@ErrorHandling\nclass SaveAsCellForm extends PureComponent {\n public state: State = {\n targetDashboardIDs: [],\n cellName: '',\n isNameDashVisible: false,\n newDashboardName: DEFAULT_DASHBOARD_NAME,\n }\n\n public componentDidMount() {\n const {onGetDashboards} = this.props\n onGetDashboards()\n }\n\n public render() {\n const {dismiss, dashboards} = this.props\n const {\n cellName,\n isNameDashVisible,\n targetDashboardIDs,\n newDashboardName,\n } = this.state\n return (\n
    \n \n \n \n \n \n \n \n {isNameDashVisible && this.nameDashboard}\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n }\n\n private get nameDashboard(): JSX.Element {\n const {newDashboardName} = this.state\n return (\n \n \n \n \n \n )\n }\n\n private get isFormValid(): boolean {\n const {targetDashboardIDs} = this.state\n return !isEmpty(targetDashboardIDs)\n }\n\n private handleSubmit = () => {\n const {\n onCreateCellWithView,\n onCreateDashboardWithView,\n dashboards,\n view,\n dismiss,\n orgID,\n } = this.props\n const {targetDashboardIDs} = this.state\n\n const cellName = this.state.cellName || DEFAULT_CELL_NAME\n const newDashboardName =\n this.state.newDashboardName || DEFAULT_DASHBOARD_NAME\n\n const viewWithProps: View = {...view, name: cellName}\n\n try {\n targetDashboardIDs.forEach(dashID => {\n if (dashID === DashboardTemplate.id) {\n onCreateDashboardWithView(orgID, newDashboardName, viewWithProps)\n return\n }\n\n const selectedDashboard = dashboards.find(d => d.id === dashID)\n onCreateCellWithView(selectedDashboard.id, viewWithProps)\n })\n } catch (error) {\n console.error(error)\n } finally {\n this.resetForm()\n dismiss()\n }\n }\n\n private resetForm() {\n this.setState({\n targetDashboardIDs: [],\n cellName: '',\n isNameDashVisible: false,\n newDashboardName: DEFAULT_DASHBOARD_NAME,\n })\n }\n\n private handleSelectDashboardID = (\n selectedIDs: string[],\n value: Dashboard\n ) => {\n if (value.id === DashboardTemplate.id) {\n this.setState({\n isNameDashVisible: selectedIDs.includes(DashboardTemplate.id),\n })\n }\n this.setState({targetDashboardIDs: selectedIDs})\n }\n\n private handleChangeDashboardName = (e: ChangeEvent) => {\n this.setState({newDashboardName: e.target.value})\n }\n\n private handleChangeCellName = (e: ChangeEvent) => {\n this.setState({cellName: e.target.value})\n }\n}\n\nconst mstp = (state: AppState) => {\n const view = getSaveableView(state)\n const org = getOrg(state)\n const dashboards = getAll(state, ResourceType.Dashboards)\n\n return {\n dashboards: sortDashboardByName(dashboards),\n view,\n orgID: get(org, 'id', ''),\n }\n}\n\nconst mdtp = {\n onGetDashboards: getDashboards,\n onCreateCellWithView: createCellWithView,\n onCreateDashboardWithView: createDashboardWithView,\n notify,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(SaveAsCellForm)\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport TaskForm from 'src/tasks/components/TaskForm'\n\n// Actions\nimport {saveNewScript} from 'src/tasks/actions/thunks'\nimport {\n setTaskOption,\n clearTask,\n setNewScript,\n} from 'src/tasks/actions/creators'\n\n// Utils\nimport {formatVarsOption} from 'src/variables/utils/formatVarsOption'\nimport {\n taskOptionsToFluxScript,\n addDestinationToFluxScript,\n} from 'src/utils/taskOptionsToFluxScript'\nimport {getAllVariables, asAssignment} from 'src/variables/selectors'\nimport {getOrg} from 'src/organizations/selectors'\nimport {getActiveQuery} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState, TaskSchedule, TaskOptionKeys} from 'src/types'\n\ninterface OwnProps {\n dismiss: () => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass SaveAsTaskForm extends PureComponent<\n Props & RouteComponentProps<{orgID: string}>\n> {\n public componentDidMount() {\n const {setTaskOption, setNewScript} = this.props\n\n setTaskOption({\n key: 'taskScheduleType',\n value: TaskSchedule.interval,\n })\n\n setNewScript(this.activeScript)\n }\n\n public componentWillUnmount() {\n const {clearTask} = this.props\n\n clearTask()\n }\n\n public render() {\n const {taskOptions, dismiss} = this.props\n\n return (\n \n )\n }\n\n private get isFormValid(): boolean {\n const {\n taskOptions: {name, cron, interval},\n } = this.props\n\n const hasSchedule = !!cron || !!interval\n\n return hasSchedule && !!name && !!this.activeScript\n }\n\n private get activeScript(): string {\n const {activeQuery} = this.props\n\n return activeQuery.text\n }\n\n private handleSubmit = () => {\n const {saveNewScript, newScript, taskOptions} = this.props\n\n // Don't embed variables that are not used in the script\n const vars = [...this.props.userDefinedVars].filter(assignment =>\n newScript.includes(assignment.id.name)\n )\n\n const varOption: string = formatVarsOption(vars) // option v = { ... }\n const taskOption: string = taskOptionsToFluxScript(taskOptions) // option task = { ... }\n const preamble = `${varOption}\\n\\n${taskOption}`\n const script = addDestinationToFluxScript(newScript, taskOptions)\n\n saveNewScript(script, preamble)\n }\n\n private handleChangeToBucketName = (bucketName: string) => {\n const {setTaskOption} = this.props\n\n setTaskOption({key: 'toBucketName', value: bucketName})\n }\n\n private handleChangeScheduleType = (taskScheduleType: TaskSchedule) => {\n const {setTaskOption} = this.props\n\n setTaskOption({key: 'taskScheduleType', value: taskScheduleType})\n }\n\n private handleChangeInput = (e: ChangeEvent) => {\n const {setTaskOption} = this.props\n\n const key = e.target.name as TaskOptionKeys\n const value = e.target.value\n\n setTaskOption({key, value})\n }\n}\n\nconst mstp = (state: AppState) => {\n const {newScript, taskOptions} = state.resources.tasks\n const activeQuery = getActiveQuery(state)\n const org = getOrg(state)\n const userDefinedVars = getAllVariables(state)\n .map(v => asAssignment(v))\n .filter(v => !!v)\n\n return {\n newScript,\n taskOptions: {...taskOptions, toOrgName: org.name},\n activeQuery,\n userDefinedVars,\n }\n}\n\nconst mdtp = {\n saveNewScript,\n setTaskOption,\n clearTask,\n setNewScript,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(SaveAsTaskForm))\n","import _ from 'lodash'\nimport Papa from 'papaparse'\n\ninterface MapResult {\n values: {[key: string]: string}\n errors: string[]\n}\n\nexport const csvToMap = (csv: string): MapResult => {\n let errors = []\n const trimmed = _.trimEnd(csv, '\\n')\n const parsedTVS = Papa.parse(trimmed)\n const templateValuesData: string[][] = _.get(parsedTVS, 'data', [[]])\n\n if (templateValuesData.length === 0) {\n return {values: {}, errors}\n }\n\n const keys = new Set()\n const values = {}\n\n for (const arr of templateValuesData) {\n if (arr.length === 2 || (arr.length === 3 && arr[2] === '')) {\n const key = trimAndRemoveQuotes(arr[0])\n const value = trimAndRemoveQuotes(arr[1])\n\n if (!keys.has(key) && key !== '') {\n values[key] = value\n keys.add(key)\n }\n } else {\n errors = [...errors, arr[0]]\n }\n }\n\n return {values, errors}\n}\n\nexport const trimAndRemoveQuotes = (elt: string): string => {\n const trimmed = elt.trim()\n const dequoted = trimmed.replace(/(^\")|(\"$)/g, '')\n\n return dequoted\n}\n\nexport const mapToCSV = (values: {[key: string]: string}): string =>\n Object.entries(values)\n .map(([key, value]) => `${key},\"${value}\"`)\n .join('\\n')\n","export const pluralize = (collection: any): string =>\n Object.keys(collection).length === 1 ? '' : 's'\n","import React, {PureComponent, ChangeEvent} from 'react'\nimport _ from 'lodash'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Component\nimport {\n Grid,\n Form,\n TextArea,\n Dropdown,\n Columns,\n Icon,\n IconFont,\n} from '@influxdata/clockface'\n\n// Utils\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {csvToMap, mapToCSV} from 'src/variables/utils/mapBuilder'\nimport {pluralize} from 'src/shared/utils/pluralize'\n\n// Actions\nimport {notify as notifyAction} from 'src/shared/actions/notifications'\n\n// Constants\nimport {invalidMapType} from 'src/shared/copy/notifications'\n\ntype Values = {[key: string]: string}\ninterface OwnProps {\n values: Values\n onChange: (update: {values: Values; errors: string[]}) => void\n onSelectDefault: (selectedKey: string) => void\n selected?: string[]\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\ninterface State {\n templateValuesString: string\n}\n\n@ErrorHandling\nclass MapVariableBuilder extends PureComponent {\n state: State = {\n templateValuesString: mapToCSV(this.props.values),\n }\n\n public render() {\n const {onSelectDefault} = this.props\n const {templateValuesString} = this.state\n const {entries} = this\n\n return (\n \n \n \n \n \n \n \n \n

    \n Mapping contains {entries.length} key-value pair\n {pluralize(entries)}\n

    \n
    \n \n \n (\n \n {this.defaultID}\n \n )}\n menu={onCollapse => (\n \n {entries.map(v => (\n \n {v.key}{' '}\n {v.value}\n \n ))}\n \n )}\n />\n \n \n
    \n
    \n )\n }\n\n private get defaultID(): string {\n const {selected} = this.props\n const {entries} = this\n const firstEntry = _.get(entries, '0.key', 'Enter values above')\n\n return _.get(selected, '0', firstEntry)\n }\n\n private get entries(): {key: string; value: string}[] {\n const {values} = this.props\n if (!values) {\n return []\n }\n\n return Object.entries(values).map(([key, value]) => ({\n key,\n value,\n }))\n }\n\n private handleBlur = (): void => {\n const {onChange} = this.props\n const {templateValuesString} = this.state\n\n const update = this.constructValuesFromString(templateValuesString)\n\n onChange(update)\n }\n\n private handleChange = (e: ChangeEvent): void => {\n const templateValuesString = e.target.value\n this.setState({templateValuesString})\n }\n\n private constructValuesFromString(templateValuesString: string) {\n const {notify} = this.props\n\n const {errors, values} = csvToMap(templateValuesString)\n\n if (errors.length > 0) {\n notify(invalidMapType())\n }\n\n return {values, errors}\n }\n}\n\nconst mdtp = {\n notify: notifyAction,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(MapVariableBuilder)\n","import React, {PureComponent, ChangeEvent} from 'react'\nimport Papa from 'papaparse'\nimport _ from 'lodash'\n\n// Component\nimport {\n Grid,\n Form,\n TextArea,\n SelectDropdown,\n Columns,\n} from '@influxdata/clockface'\n\n// Utils\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {trimAndRemoveQuotes} from 'src/variables/utils/mapBuilder'\nimport {pluralize} from 'src/shared/utils/pluralize'\n\ninterface Props {\n values: string[]\n onChange: (values: string[]) => void\n onSelectDefault: (selectedKey: string) => void\n selected?: string[]\n}\n\ninterface State {\n csv: string\n}\n\n@ErrorHandling\nexport default class CSVTemplateBuilder extends PureComponent {\n state: State = {\n csv: this.props.values.map(value => `\"${value}\"`).join(',\\n '),\n }\n\n public render() {\n const {onSelectDefault, values} = this.props\n const {csv} = this.state\n\n return (\n \n \n \n \n \n \n \n \n

    \n CSV contains {values.length} value\n {pluralize(values)}\n

    \n
    \n \n \n \n \n \n
    \n
    \n )\n }\n\n private get defaultID(): string {\n const {selected, values} = this.props\n const firstEntry = _.get(values, '0', 'Enter values above')\n\n return _.get(selected, '0', firstEntry)\n }\n\n private handleBlur = (): void => {\n const {onChange} = this.props\n const {csv} = this.state\n\n const update = this.getUniqueValuesFromCSV(csv)\n\n onChange(update)\n }\n\n private handleChange = (e: ChangeEvent): void => {\n const csv = e.target.value\n this.setState({csv})\n }\n\n private getUniqueValuesFromCSV(csv: string): string[] {\n const parsedTVS = Papa.parse(csv)\n const templateValuesData: string[][] = _.get(parsedTVS, 'data', [[]])\n\n const valueSet: Set = new Set()\n for (const row of templateValuesData) {\n for (const value of row) {\n const trimmedValue = trimAndRemoveQuotes(value)\n\n if (trimmedValue !== '') {\n valueSet.add(trimmedValue)\n }\n }\n }\n\n return [...valueSet]\n }\n}\n","import React, {PureComponent} from 'react'\n\n// Components\nimport MapVariableBuilder from 'src/variables/components/MapVariableBuilder'\nimport CSVVariableBuilder from 'src/variables/components/CSVVariableBuilder'\nimport {Form} from '@influxdata/clockface'\n\nimport FluxEditor from 'src/shared/components/FluxMonacoEditor'\n\n// Types\nimport {KeyValueMap, VariableProperties} from 'src/types'\n\ninterface Props {\n args: VariableProperties\n onChange: (update: {args: VariableProperties; isValid: boolean}) => void\n onSelectMapDefault: (selectedKey: string) => void\n selected: string[]\n}\n\nclass VariableArgumentsEditor extends PureComponent {\n render() {\n const {args, onSelectMapDefault, selected} = this.props\n switch (args.type) {\n case 'query':\n return (\n \n
    \n \n
    \n
    \n )\n case 'map':\n return (\n \n )\n case 'constant':\n return (\n \n )\n }\n }\n\n private handleChangeCSV = (values: string[]) => {\n const {onChange} = this.props\n\n const updatedArgs = {type: 'constant' as 'constant', values}\n const isValid = values.length > 0\n\n onChange({args: updatedArgs, isValid})\n }\n\n private handleChangeQuery = (query: string) => {\n const {onChange} = this.props\n\n const values = {language: 'flux' as 'flux', query}\n const updatedArgs = {type: 'query' as 'query', values}\n\n const isValid = !query.match(/^\\s*$/)\n\n onChange({args: updatedArgs, isValid})\n }\n\n private handleChangeMap = (update: {\n values: KeyValueMap\n errors: string[]\n }) => {\n const {onChange} = this.props\n\n const updatedArgs = {type: 'map' as 'map', values: update.values}\n\n const isValid =\n update.errors.length === 0 && Object.keys(update.values).length > 0\n\n onChange({args: updatedArgs, isValid})\n }\n}\n\nexport default VariableArgumentsEditor\n","import {Variable} from 'src/types'\nimport {\n TIME_RANGE_START,\n TIME_RANGE_STOP,\n WINDOW_PERIOD,\n} from 'src/variables/constants'\n\nconst reservedVarNames = [TIME_RANGE_START, TIME_RANGE_STOP, WINDOW_PERIOD]\n\nexport const validateVariableName = (\n varName: string,\n variables: Variable[]\n): {error: string | null} => {\n if ((varName || '').match(/^\\s*$/)) {\n return {error: 'Variable name cannot be empty'}\n }\n\n const lowerName = varName.toLocaleLowerCase()\n\n const reservedMatch = reservedVarNames.find(\n r => r.toLocaleLowerCase() === lowerName\n )\n\n if (!!reservedMatch) {\n return {\n error: `Variable name is reserved: ${reservedMatch}`,\n }\n }\n\n const matchingName = variables.find(\n v => v.name.toLocaleLowerCase() === lowerName\n )\n\n if (!!matchingName) {\n return {\n error: `Variable name must be unique`,\n }\n }\n\n if (!varName[0].match(/[A-Z]|[_]/i)) {\n return {\n error: `Variable name must begin with a letter or underscore`,\n }\n }\n\n return {error: null}\n}\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Components\nimport {\n Form,\n Input,\n Button,\n Grid,\n Columns,\n Dropdown,\n} from '@influxdata/clockface'\nimport VariableArgumentsEditor from 'src/variables/components/VariableArgumentsEditor'\n\n// Utils\nimport {validateVariableName} from 'src/variables/utils/validation'\n\n// Constants\nimport {variableItemTypes} from 'src/variables/constants'\n\n// Types\nimport {Props} from 'src/variables/components/VariableFormContext'\nimport {\n ButtonType,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\nimport {VariableArguments, VariableArgumentType} from 'src/types'\n\ninterface State {\n isNameValid: boolean\n hasValidArgs: boolean\n firstRun: boolean\n selected: string[]\n}\n\nexport default class VariableForm extends PureComponent {\n constructor(props) {\n super(props)\n this.state = {\n isNameValid: false,\n hasValidArgs: false,\n firstRun: true,\n selected: null,\n }\n }\n\n public render() {\n const {name, variableType, onHideOverlay, submitButtonText} = this.props\n const {selected} = this.state\n\n const submitText = submitButtonText || 'Create Variable'\n\n return (\n
    \n \n \n \n
    \n \n {status => (\n \n )}\n \n
    \n
    \n \n \n (\n \n {this.typeDropdownLabel}\n \n )}\n menu={onCollapse => (\n \n {variableItemTypes.map(v => (\n \n {v.label}\n \n ))}\n \n )}\n />\n \n \n
    \n \n \n \n \n \n \n \n \n \n {\n setPopoverVisibility(true)\n }}\n onHide={() => {\n setPopoverVisibility(false)\n }}\n />\n \n )\n}\n\nconst mdtp = {\n onDeleteCell: deleteCell,\n onCloneCell: createCellWithView,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default withRouter(connector(CellContext))\n","// Library\nimport React, {Component, RefObject, CSSProperties} from 'react'\nimport {isEqual} from 'lodash'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {\n default as fromFlux,\n FromFluxResult,\n} from 'src/shared/utils/fromFlux.legacy'\nimport {fromFlux as fromFluxGiraffe} from '@influxdata/giraffe'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\n// API\nimport {RunQueryResult, RunQuerySuccessResult} from 'src/shared/apis/query'\nimport {runStatusesQuery} from 'src/alerting/utils/statusEvents'\nimport {getCachedResultsThunk} from 'src/shared/apis/queryCache'\n\n// Utils\nimport {\n getTimeRangeWithTimezone,\n isCurrentPageDashboard as isCurrentPageDashboardSelector,\n} from 'src/dashboards/selectors'\nimport {getVariables, asAssignment} from 'src/variables/selectors'\nimport {getRangeVariable} from 'src/variables/utils/getTimeRangeVars'\nimport {isInQuery} from 'src/variables/utils/hydrateVars'\nimport {getWindowVars} from 'src/variables/utils/getWindowVars'\nimport {buildVarsOption} from 'src/variables/utils/buildVarsOption'\nimport 'intersection-observer'\nimport {getAll} from 'src/resources/selectors'\nimport {getOrgIDFromBuckets} from 'src/timeMachine/actions/queries'\nimport {\n isDemoDataAvailabilityError,\n demoDataError,\n} from 'src/cloud/utils/demoDataErrors'\nimport {hashCode} from 'src/shared/apis/queryCache'\nimport {RunQueryPromiseMutex} from 'src/shared/apis/singleQuery'\n\n// Constants\nimport {\n rateLimitReached,\n resultTooLarge,\n demoDataAvailability,\n} from 'src/shared/copy/notifications'\nimport {TIME_RANGE_START, TIME_RANGE_STOP} from 'src/variables/constants'\n\n// Actions & Selectors\nimport {notify as notifyAction} from 'src/shared/actions/notifications'\nimport {hasUpdatedTimeRangeInVEO} from 'src/shared/selectors/app'\nimport {setCellMount as setCellMountAction} from 'src/perf/actions'\n\n// Types\nimport {\n RemoteDataState,\n Check,\n StatusRow,\n Bucket,\n ResourceType,\n DashboardQuery,\n AppState,\n CancelBox,\n} from 'src/types'\nimport {event} from 'src/cloud/utils/reporting'\n\ninterface QueriesState {\n files: string[] | null\n loading: RemoteDataState\n errorMessage: string\n isInitialFetch: boolean\n duration: number\n giraffeResult: FromFluxResult\n statuses: StatusRow[][]\n}\n\ninterface OwnProps {\n cellID?: string\n className?: string\n style?: CSSProperties\n queries: DashboardQuery[]\n submitToken: number\n implicitSubmit?: boolean\n children: (r: QueriesState) => JSX.Element\n check?: Partial\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps & RouteComponentProps<{orgID: string}>\n\ninterface State {\n loading: RemoteDataState\n files: string[] | null\n errorMessage: string\n fetchCount: number\n duration: number\n giraffeResult: FromFluxResult\n statuses: StatusRow[][]\n}\n\nconst defaultState = (): State => ({\n loading: RemoteDataState.NotStarted,\n files: null,\n fetchCount: 0,\n errorMessage: '',\n duration: 0,\n giraffeResult: null,\n statuses: [[]],\n})\n\ntype HashMapMutex = {\n [queryID: string]: ReturnType\n}\n\nclass TimeSeries extends Component {\n public static defaultProps = {\n implicitSubmit: true,\n className: 'time-series-container',\n style: null,\n }\n public state: State = defaultState()\n\n private hashMapMutex: HashMapMutex = {}\n\n private observer: IntersectionObserver\n private ref: RefObject = React.createRef()\n private isIntersecting: boolean = false\n private pendingReload: boolean = true\n\n private pendingResults: Array> = []\n private pendingCheckStatuses: CancelBox = null\n\n public componentDidMount() {\n const {cellID, setCellMount} = this.props\n this.observer = new IntersectionObserver(entries => {\n entries.forEach(entry => {\n const {isIntersecting} = entry\n const reload =\n !this.isIntersecting && isIntersecting && this.pendingReload\n\n if (reload) {\n this.reload()\n }\n\n if (reload && cellID) {\n setCellMount(cellID, new Date().getTime())\n }\n\n this.isIntersecting = isIntersecting\n })\n })\n\n this.observer.observe(this.ref.current)\n }\n\n public componentDidUpdate(prevProps: Props) {\n const {setCellMount, cellID} = this.props\n const reload = this.shouldReload(prevProps) && this.isIntersecting\n if (reload) {\n this.reload()\n }\n\n if (reload && cellID) {\n setCellMount(cellID, new Date().getTime())\n }\n }\n\n public componentWillUnmount() {\n this.observer && this.observer.disconnect()\n this.pendingResults.forEach(({cancel}) => cancel())\n }\n\n public render() {\n const {\n giraffeResult,\n files,\n loading,\n errorMessage,\n fetchCount,\n duration,\n statuses,\n } = this.state\n const {className, style} = this.props\n\n return (\n
    \n {this.props.children({\n giraffeResult,\n files,\n loading,\n errorMessage,\n duration,\n isInitialFetch: fetchCount === 1,\n statuses,\n })}\n
    \n )\n }\n\n private reload = async () => {\n const {\n buckets,\n check,\n isCurrentPageDashboard,\n notify,\n onGetCachedResultsThunk,\n variables,\n } = this.props\n const queries = this.props.queries.filter(({text}) => !!text.trim())\n\n if (!queries.length) {\n this.setState(defaultState())\n\n return\n }\n\n this.setState({\n loading: RemoteDataState.Loading,\n fetchCount: this.state.fetchCount + 1,\n errorMessage: '',\n })\n\n try {\n const startTime = Date.now()\n let errorMessage: string = ''\n\n // Cancel any existing queries\n this.pendingResults.forEach(({cancel}) => {\n if (cancel) {\n cancel()\n }\n })\n const usedVars = variables.filter(v => v.arguments.type !== 'system')\n const waitList = usedVars.filter(v => v.status !== RemoteDataState.Done)\n\n // If a variable is loading, and a cell requires it, leave the cell to never resolve,\n // keeping it in a loading state until the variable is resolved\n if (usedVars.length && waitList.length) {\n await new Promise(() => {})\n }\n\n const vars = variables.map(v => asAssignment(v))\n // Issue new queries\n this.pendingResults = queries.map(({text}) => {\n const orgID =\n getOrgIDFromBuckets(text, buckets) || this.props.match.params.orgID\n\n const windowVars = getWindowVars(text, vars)\n const extern = buildVarsOption([...vars, ...windowVars])\n event('runQuery', {context: 'TimeSeries'})\n if (\n isCurrentPageDashboard &&\n isFlagEnabled('queryCacheForDashboards')\n ) {\n return onGetCachedResultsThunk(orgID, text)\n }\n const queryID = hashCode(text)\n if (!this.hashMapMutex[queryID]) {\n this.hashMapMutex[queryID] = RunQueryPromiseMutex()\n }\n return this.hashMapMutex[queryID].run(orgID, text, extern) as CancelBox<\n RunQueryResult\n >\n })\n\n // Wait for new queries to complete\n const results = await Promise.all(this.pendingResults.map(r => r.promise))\n\n let statuses = [] as StatusRow[][]\n if (check) {\n const extern = buildVarsOption(vars)\n this.pendingCheckStatuses = runStatusesQuery(\n this.props.match.params.orgID,\n check.id,\n extern\n )\n statuses = await this.pendingCheckStatuses.promise // TODO handle errors\n }\n\n const duration = Date.now() - startTime\n\n for (const result of results) {\n if (result.type === 'UNKNOWN_ERROR') {\n if (isDemoDataAvailabilityError(result.code, result.message)) {\n notify(\n demoDataAvailability(demoDataError(this.props.match.params.orgID))\n )\n }\n errorMessage = result.message\n throw new Error(result.message)\n }\n\n if (result.type === 'RATE_LIMIT_ERROR') {\n errorMessage = result.message\n notify(rateLimitReached(result.retryAfter))\n\n throw new Error(result.message)\n }\n\n if (result.didTruncate) {\n notify(resultTooLarge(result.bytesRead))\n }\n }\n\n const files = (results as RunQuerySuccessResult[]).map(r => r.csv)\n let giraffeResult\n\n if (isFlagEnabled('fluxParser')) {\n giraffeResult = fromFlux(files.join('\\n\\n'))\n } else {\n giraffeResult = fromFluxGiraffe(files.join('\\n\\n'))\n }\n\n this.pendingReload = false\n\n this.setState({\n giraffeResult,\n errorMessage,\n files,\n duration,\n loading: RemoteDataState.Done,\n statuses,\n })\n } catch (error) {\n if (error.name === 'CancellationError') {\n return\n }\n\n console.error(error)\n\n this.setState({\n errorMessage: error.message,\n giraffeResult: null,\n loading: RemoteDataState.Error,\n statuses: [[]],\n })\n }\n\n this.pendingReload = false\n }\n\n private shouldReload(prevProps: Props) {\n if (this.props.hasUpdatedTimeRangeInVEO) {\n return false\n }\n\n if (\n prevProps.hasUpdatedTimeRangeInVEO &&\n !this.props.hasUpdatedTimeRangeInVEO\n ) {\n return true\n }\n\n if (prevProps.submitToken !== this.props.submitToken) {\n return true\n }\n\n if (!this.props.implicitSubmit) {\n return false\n }\n\n if (!isEqual(prevProps.queries, this.props.queries)) {\n return true\n }\n\n if (!isEqual(prevProps.variables, this.props.variables)) {\n return true\n }\n\n return false\n }\n}\n\nconst mstp = (state: AppState, props: OwnProps) => {\n const timeRange = getTimeRangeWithTimezone(state)\n\n // NOTE: cannot use getAllVariables here because the TimeSeries\n // component appends it automatically. That should be fixed\n // NOTE: limit the variables returned to those that are used,\n // as this prevents resending when other queries get sent\n const queries = props.queries\n ? props.queries.map(q => q.text).filter(t => !!t.trim())\n : []\n const vars = getVariables(state).filter(v =>\n queries.some(t => isInQuery(t, v))\n )\n const variables = [\n ...vars,\n getRangeVariable(TIME_RANGE_START, timeRange),\n getRangeVariable(TIME_RANGE_STOP, timeRange),\n ]\n\n return {\n hasUpdatedTimeRangeInVEO: hasUpdatedTimeRangeInVEO(state),\n isCurrentPageDashboard: isCurrentPageDashboardSelector(state),\n queryLink: state.links.query.self,\n buckets: getAll(state, ResourceType.Buckets),\n variables,\n }\n}\n\nconst mdtp = {\n notify: notifyAction,\n onGetCachedResultsThunk: getCachedResultsThunk,\n setCellMount: setCellMountAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TimeSeries))\n","import {FC, useEffect} from 'react'\nimport {useSelector} from 'react-redux'\nimport {useParams} from 'react-router-dom'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\n// Types\nimport {AppState} from 'src/types'\n\ninterface Props {\n id: string\n type: string\n}\n\nconst getState = (cellID: string) => (state: AppState) => {\n const {perf} = state\n const {dashboard, cells} = perf\n const {scroll} = dashboard\n\n return {\n scroll,\n cellMountStartMs: cells.byID[cellID]?.mountStartMs,\n }\n}\n\nconst CellEvent: FC = ({id, type}) => {\n const params = useParams<{dashboardID?: string}>()\n const dashboardID = params?.dashboardID\n\n const {cellMountStartMs} = useSelector(getState(id))\n\n useEffect(() => {\n if (!cellMountStartMs) {\n return\n }\n\n const hasIDs = dashboardID && id\n if (!hasIDs) {\n return\n }\n\n const visRenderedMs = new Date().getTime()\n const timeToAppearMs = visRenderedMs - cellMountStartMs\n\n const tags = {dashboardID, cellID: id, type}\n const fields = {timeToAppearMs}\n\n event('Cell Render Cycle', tags, fields)\n }, [cellMountStartMs, dashboardID, id, type])\n\n return null\n}\n\nexport default CellEvent\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect} from 'react-redux'\n\n// Components\nimport TimeSeries from 'src/shared/components/TimeSeries'\nimport EmptyQueryView, {ErrorFormat} from 'src/shared/components/EmptyQueryView'\nimport ViewSwitcher from 'src/shared/components/ViewSwitcher'\nimport ViewLoadingSpinner from 'src/shared/components/ViewLoadingSpinner'\nimport CellEvent from 'src/perf/components/CellEvent'\n\n// Utils\nimport {GlobalAutoRefresher} from 'src/utils/AutoRefresher'\nimport {getTimeRangeWithTimezone} from 'src/dashboards/selectors'\nimport {checkResultsLength} from 'src/shared/utils/vis'\nimport {getActiveTimeRange} from 'src/timeMachine/selectors/index'\n\n// Types\nimport {\n TimeRange,\n TimeZone,\n AppState,\n DashboardQuery,\n QueryViewProperties,\n Theme,\n} from 'src/types'\n\ninterface OwnProps {\n id: string\n manualRefresh: number\n properties: QueryViewProperties\n}\n\ninterface StateProps {\n theme: Theme\n timeRange: TimeRange\n ranges: TimeRange | null\n timeZone: TimeZone\n}\n\ninterface State {\n submitToken: number\n}\n\ntype Props = OwnProps & StateProps & RouteComponentProps<{orgID: string}>\n\nclass RefreshingView extends PureComponent {\n public static defaultProps = {\n inView: true,\n manualRefresh: 0,\n }\n\n constructor(props) {\n super(props)\n\n this.state = {submitToken: 0}\n }\n\n public componentDidMount() {\n GlobalAutoRefresher.subscribe(this.incrementSubmitToken)\n }\n\n public componentWillUnmount() {\n GlobalAutoRefresher.unsubscribe(this.incrementSubmitToken)\n }\n\n public render() {\n const {id, ranges, properties, manualRefresh, timeZone, theme} = this.props\n const {submitToken} = this.state\n\n return (\n \n {({\n giraffeResult,\n files,\n loading,\n errorMessage,\n isInitialFetch,\n statuses,\n }) => {\n return (\n <>\n \n \n <>\n \n \n \n \n \n )\n }}\n \n )\n }\n\n private get queries(): DashboardQuery[] {\n const {properties} = this.props\n\n switch (properties.type) {\n case 'single-stat':\n case 'gauge':\n return [properties.queries[0]]\n default:\n return properties.queries\n }\n }\n\n private get fallbackNote(): string {\n const {properties} = this.props\n\n switch (properties.type) {\n case 'check':\n return null\n default:\n const {note, showNoteWhenEmpty} = properties\n\n return showNoteWhenEmpty ? note : null\n }\n }\n\n private incrementSubmitToken = () => {\n this.setState({submitToken: Date.now()})\n }\n}\n\nconst mstp = (state: AppState, ownProps: OwnProps) => {\n const timeRange = getTimeRangeWithTimezone(state)\n const ranges = getActiveTimeRange(timeRange, ownProps.properties.queries)\n const {timeZone, theme} = state.app.persisted\n\n return {\n timeRange,\n ranges,\n timeZone,\n theme,\n }\n}\n\nexport default connect(mstp)(\n withRouter(RefreshingView)\n)\n","// Libraries\nimport React, {Component} from 'react'\nimport {connect} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport CellHeader from 'src/shared/components/cells/CellHeader'\nimport CellContext from 'src/shared/components/cells/CellContext'\nimport ScrollableMarkdown from 'src/shared/components/views/ScrollableMarkdown'\nimport RefreshingView from 'src/shared/components/RefreshingView'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport EmptyGraphMessage from 'src/shared/components/EmptyGraphMessage'\n\n// Utils\nimport {getByID} from 'src/resources/selectors'\n\n// Types\nimport {RemoteDataState, AppState, View, Cell, ResourceType} from 'src/types'\n\ninterface StateProps {\n view: View\n}\n\ninterface OwnProps {\n cell: Cell\n manualRefresh: number\n}\n\ninterface State {\n inView: boolean\n}\n\ntype Props = StateProps & OwnProps\n\n@ErrorHandling\nclass CellComponent extends Component {\n public render() {\n const {cell, view} = this.props\n\n return (\n <>\n \n \n \n \n {this.view}\n \n \n )\n }\n\n private get viewName(): string {\n const {view} = this.props\n\n if (view && view.properties && view.properties.type !== 'markdown') {\n return view.name\n }\n\n return 'Note'\n }\n\n private get viewNote(): string {\n const {view} = this.props\n\n if (!view || !view.properties || !view.properties.type) {\n return ''\n }\n\n const isMarkdownView = view.properties.type === 'markdown'\n const showNoteWhenEmpty = get(view, 'properties.showNoteWhenEmpty')\n\n if (isMarkdownView || showNoteWhenEmpty) {\n return ''\n }\n\n return get(view, 'properties.note', '')\n }\n\n private get view(): JSX.Element {\n const {manualRefresh, view} = this.props\n\n if (!view || view.status !== RemoteDataState.Done) {\n return \n }\n\n if (!view.properties) {\n return null\n }\n\n if (view.properties.type === 'markdown') {\n return \n }\n\n return (\n \n )\n }\n\n private handleCSVDownload = (): void => {\n throw new Error('csv download not implemented')\n }\n}\n\nconst mstp = (state: AppState, ownProps: OwnProps) => {\n const view = getByID(state, ResourceType.Views, ownProps.cell.id)\n\n return {view}\n}\n\nexport default connect(mstp)(CellComponent)\n","// Libraries\nimport React, {SFC} from 'react'\n\nconst GradientBorder: SFC = () => (\n
    \n
    \n
    \n
    \n
    \n
    \n)\n\nexport default GradientBorder\n","// Libraries\nimport React, {useState, useEffect, useRef, RefObject} from 'react'\nimport {useDispatch} from 'react-redux'\nimport 'intersection-observer'\n\n// Actions\nimport {setScroll, ScrollState, ComponentKey} from 'src/perf/actions'\n\n// TODO: use `onScroll` of clockface scrollable elements once\n// https://github.com/influxdata/clockface/issues/523 get merged in\nexport function useDetectScroll(ref: RefObject) {\n const [y, setY] = useState(Infinity)\n const [scroll, setScrollY] = useState('not scrolled')\n\n useEffect(() => {\n const current = ref.current\n const observer = new IntersectionObserver(([entry]) => {\n setY(prevY => {\n const newY = entry.boundingClientRect.y\n if (prevY !== newY && prevY !== Infinity) {\n setScrollY('scrolled')\n }\n\n return newY\n })\n })\n\n if (current) {\n observer.observe(current)\n }\n\n return () => {\n observer.unobserve(current)\n }\n }, [ref, y])\n\n return scroll\n}\n\ninterface Props {\n component: ComponentKey\n}\n\nfunction ScrollDetector({component}: Props) {\n const ref = useRef(null)\n const dispatch = useDispatch()\n const scroll = useDetectScroll(ref)\n\n useEffect(() => {\n dispatch(setScroll(component, scroll))\n }, [scroll, component, dispatch])\n\n return \n}\n\nexport default ScrollDetector\n","import {AppState, Cell} from 'src/types'\n\nexport const getCells = (\n {resources}: AppState,\n dashboardID: string\n): Cell[] => {\n const dashboard = resources.dashboards.byID[dashboardID]\n if (!dashboard || !dashboard.cells) {\n return []\n }\n\n const cellIDs = dashboard.cells\n\n return cellIDs\n .filter(id => !!resources.cells.byID[id]) // added filter since it was returning undefined cells\n .map(id => resources.cells.byID[id])\n}\n","// Libraries\nimport React, {Component} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport ReactGridLayout, {WidthProvider, Layout} from 'react-grid-layout'\nimport {get} from 'lodash'\n\n// Components\nconst Grid = WidthProvider(ReactGridLayout)\nimport CellComponent from 'src/shared/components/cells/Cell'\nimport GradientBorder from 'src/shared/components/cells/GradientBorder'\nimport ScrollDetector from 'src/perf/components/ScrollDetector'\n\n// Actions\nimport {updateCells} from 'src/cells/actions/thunks'\n\n// Utils\nimport {fastMap} from 'src/utils/fast'\nimport {getCells} from 'src/cells/selectors'\n\n// Constants\nimport {LAYOUT_MARGIN, DASHBOARD_LAYOUT_ROW_HEIGHT} from 'src/shared/constants'\n\n// Types\nimport {AppState, Cell, RemoteDataState} from 'src/types'\n\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface OwnProps {\n manualRefresh: number\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\n@ErrorHandling\nclass Cells extends Component {\n public render() {\n const {views, cells, manualRefresh} = this.props\n\n return (\n <>\n \n \n {fastMap(cells, cell => (\n \n \n \n
    \n ))}\n \n \n )\n }\n\n private get cells(): Layout[] {\n const {views} = this.props\n return this.props.cells\n .filter(c => c.status === RemoteDataState.Done)\n .map(c => {\n const view = views[c.id]\n const cell = {\n ...c,\n x: c.x,\n y: c.y,\n h: c.h,\n w: c.w,\n i: c.id,\n }\n if (get(view, 'properties.type') === 'gauge') {\n cell.minW = 5\n cell.minH = 2.5\n cell.maxW = 20\n }\n return cell\n })\n }\n\n private handleLayoutChange = grid => {\n const {cells} = this.props\n\n let changed = false\n\n const newCells = cells.map(cell => {\n const l = grid.find(ly => ly.i === cell.id)\n\n if (\n cell.x !== l.x ||\n cell.y !== l.y ||\n cell.h !== l.h ||\n cell.w !== l.w\n ) {\n changed = true\n }\n\n const newCell = {\n x: l.x,\n y: l.y,\n h: l.h,\n w: l.w,\n }\n\n return {\n ...cell,\n ...newCell,\n }\n })\n\n if (changed) {\n this.handlePositionChange(newCells)\n }\n }\n private handlePositionChange = (cells: Cell[]) => {\n const {dashboard, updateCells} = this.props\n updateCells(dashboard, cells)\n }\n}\nconst mstp = (state: AppState) => {\n const dashboard = state.currentDashboard.id\n\n return {\n dashboard,\n cells: getCells(state, dashboard),\n views: state.resources.views.byID,\n }\n}\nconst mdtp = {\n updateCells: updateCells,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(Cells)\n","// Libraries\nimport React, {Component} from 'react'\nimport {connect} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Button, EmptyState} from '@influxdata/clockface'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\n\n// Types\nimport {IconFont, ComponentSize, ComponentColor} from '@influxdata/clockface'\nimport {AppState} from 'src/types'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface StateProps {\n org: string\n dashboard: string\n}\n\ntype Props = RouteComponentProps & StateProps\n\n@ErrorHandling\nclass DashboardEmpty extends Component {\n public render() {\n return (\n
    \n \n
    \n
    \n
    \n \n This Dashboard doesn't have any Cells, why not add one?\n \n \n \n
    \n )\n }\n\n private handleAdd = () => {\n const {history, org, dashboard} = this.props\n history.push(`/orgs/${org}/dashboards/${dashboard}/cells/new`)\n }\n}\n\nconst mstp = (state: AppState) => {\n return {\n org: getOrg(state).id,\n dashboard: state.currentDashboard.id,\n }\n}\n\nexport default connect(mstp)(withRouter(DashboardEmpty))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport Cells from 'src/shared/components/cells/Cells'\nimport DashboardEmpty from 'src/dashboards/components/dashboard_empty/DashboardEmpty'\nimport {\n Page,\n SpinnerContainer,\n TechnoSpinner,\n RemoteDataState,\n} from '@influxdata/clockface'\n\n// Types\nimport {Cell, AppState} from 'src/types'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Utils\nimport {getCells} from 'src/cells/selectors'\n\ninterface StateProps {\n cells: Cell[]\n status: RemoteDataState\n}\ninterface OwnProps {\n manualRefresh: number\n}\n\ntype Props = OwnProps & StateProps\n\n@ErrorHandling\nclass DashboardComponent extends PureComponent {\n public render() {\n const {cells, status, manualRefresh} = this.props\n\n return (\n }>\n \n {!!cells.length ? (\n \n ) : (\n \n )}\n {/* This element is used as a portal container for note tooltips in cell headers */}\n
    \n \n \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n return {\n cells: getCells(state, state.currentDashboard.id),\n status: state.resources.cells.status,\n }\n}\n\nexport default connect(mstp)(DashboardComponent)\n","import React, {Component, ComponentClass} from 'react'\n\nexport interface ManualRefreshProps {\n manualRefresh: number\n onManualRefresh: () => void\n}\n\ninterface ManualRefreshState {\n manualRefresh: number\n}\n\nfunction ManualRefresh

    (\n WrappedComponent: ComponentClass

    \n): ComponentClass

    {\n return class extends Component

    {\n public constructor(props: P & ManualRefreshProps) {\n super(props)\n this.state = {\n manualRefresh: Date.now(),\n }\n }\n\n public render() {\n return (\n \n )\n }\n\n private handleManualRefresh = (): void => {\n this.setState({\n manualRefresh: Date.now(),\n })\n }\n }\n}\n\nexport default ManualRefresh\n","// Libraries\nimport * as React from 'react'\nimport {\n DragSource,\n DropTarget,\n ConnectDropTarget,\n ConnectDragSource,\n ConnectDragPreview,\n DropTargetConnector,\n DragSourceConnector,\n DragSourceMonitor,\n} from 'react-dnd'\nimport classnames from 'classnames'\n\n// Components\nimport VariableDropdown from 'src/variables/components/VariableDropdown'\n\n// Constants\nconst dropdownType = 'dropdown'\n\nconst dropdownSource = {\n beginDrag(props: Props) {\n return {\n id: props.id,\n index: props.index,\n }\n },\n}\n\ninterface Props {\n id: string\n index: number\n name: string\n moveDropdown: (dragIndex: number, hoverIndex: number) => void\n}\n\ninterface DropdownSourceCollectedProps {\n isDragging: boolean\n connectDragSource: ConnectDragSource\n connectDragPreview: ConnectDragPreview\n}\n\ninterface DropdownTargetCollectedProps {\n connectDropTarget?: ConnectDropTarget\n}\n\nconst dropdownTarget = {\n hover(props, monitor, component) {\n if (!component) {\n return null\n }\n const dragIndex = monitor.getItem().index\n const hoverIndex = props.index\n\n // Don't replace items with themselves\n if (dragIndex === hoverIndex) {\n return\n }\n\n // Time to actually perform the action\n props.moveDropdown(dragIndex, hoverIndex)\n\n monitor.getItem().index = hoverIndex\n },\n}\n\nclass Dropdown extends React.Component<\n Props & DropdownSourceCollectedProps & DropdownTargetCollectedProps\n> {\n public render() {\n const {\n name,\n id,\n isDragging,\n connectDragSource,\n connectDropTarget,\n connectDragPreview,\n } = this.props\n\n const className = classnames('variable-dropdown', {\n 'variable-dropdown__dragging': isDragging,\n })\n\n return connectDropTarget(\n

    \n {connectDragPreview(\n
    \n {/* TODO: Add variable description to title attribute when it is ready */}\n
    \n {connectDragSource(\n
    \n \n
    \n )}\n {name}\n
    \n \n
    \n )}\n
    \n
    \n )\n }\n}\n\nexport default DropTarget(\n dropdownType,\n dropdownTarget,\n (connect: DropTargetConnector) => ({\n connectDropTarget: connect.dropTarget(),\n })\n)(\n DragSource(\n dropdownType,\n dropdownSource,\n (connect: DragSourceConnector, monitor: DragSourceMonitor) => ({\n connectDragSource: connect.dragSource(),\n connectDragPreview: connect.dragPreview(),\n isDragging: monitor.isDragging(),\n })\n )(Dropdown)\n)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {isEmpty} from 'lodash'\nimport classnames from 'classnames'\n\n// Components\nimport {\n EmptyState,\n TechnoSpinner,\n SpinnerContainer,\n} from '@influxdata/clockface'\nimport ErrorBoundary from 'src/shared/components/ErrorBoundary'\n\n// Utils\nimport {\n getVariables,\n getDashboardVariablesStatus,\n} from 'src/variables/selectors'\nimport {filterUnusedVars} from 'src/shared/utils/filterUnusedVars'\n\n// Actions\nimport {moveVariable} from 'src/variables/actions/thunks'\n\n// Types\nimport {AppState} from 'src/types'\nimport {ComponentSize} from '@influxdata/clockface'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {RemoteDataState} from 'src/types'\nimport DraggableDropdown from 'src/dashboards/components/variablesControlBar/DraggableDropdown'\nimport withDragDropContext from 'src/shared/decorators/withDragDropContext'\n\ninterface State {\n initialLoading: RemoteDataState\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\n@ErrorHandling\nclass VariablesControlBar extends PureComponent {\n public state: State = {initialLoading: RemoteDataState.Loading}\n\n static getDerivedStateFromProps(props: Props, state: State) {\n if (\n props.variablesStatus === RemoteDataState.Done &&\n state.initialLoading !== RemoteDataState.Done\n ) {\n return {initialLoading: RemoteDataState.Done}\n }\n\n return {}\n }\n\n render() {\n const {show, inPresentationMode} = this.props\n if (!show) {\n return false\n }\n return (\n \n }\n className=\"variables-spinner-container\"\n >\n {this.bar}\n \n
    \n )\n }\n\n private get emptyBar(): JSX.Element {\n return (\n \n \n This dashboard doesn't have any cells with defined variables.{' '}\n \n Learn How\n \n \n \n )\n }\n\n private get barContents(): JSX.Element {\n const {variables, variablesStatus} = this.props\n return (\n
    \n {variables.map((v, i) => (\n \n \n \n ))}\n {variablesStatus === RemoteDataState.Loading && (\n \n )}\n
    \n )\n }\n\n private get bar(): JSX.Element {\n const {variables} = this.props\n\n if (isEmpty(variables)) {\n return this.emptyBar\n }\n\n return this.barContents\n }\n\n private handleMoveDropdown = (\n originalIndex: number,\n newIndex: number\n ): void => {\n const {moveVariable} = this.props\n moveVariable(originalIndex, newIndex)\n }\n}\n\nconst mdtp = {\n moveVariable,\n}\n\nconst mstp = (state: AppState) => {\n const dashboardID = state.currentDashboard.id\n const variables = getVariables(state)\n const variablesStatus = getDashboardVariablesStatus(state)\n const show = state.userSettings.showVariablesControls\n\n const {\n app: {\n ephemeral: {inPresentationMode},\n },\n } = state\n\n const varsInUse = filterUnusedVars(\n variables,\n Object.values(state.resources.views.byID).filter(\n variable => variable.dashboardID === dashboardID\n )\n )\n\n return {\n variables: varsInUse,\n variablesStatus,\n inPresentationMode,\n show,\n }\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default withDragDropContext(connector(VariablesControlBar))\n","// Libraries\nimport React, {PureComponent, MouseEvent} from 'react'\n\n// Components\nimport RenamablePageTitle from 'src/pageLayout/components/RenamablePageTitle'\nimport {\n SquareButton,\n ComponentColor,\n ComponentSize,\n IconFont,\n Page,\n} from '@influxdata/clockface'\nimport VisOptionsButton from 'src/timeMachine/components/VisOptionsButton'\nimport ViewTypeDropdown from 'src/timeMachine/components/view_options/ViewTypeDropdown'\n\n// Constants\nimport {\n DEFAULT_CELL_NAME,\n CELL_NAME_MAX_LENGTH,\n} from 'src/dashboards/constants/index'\n\ninterface Props {\n name: string\n onSetName: (name: string) => void\n onCancel: () => void\n onSave: () => void\n}\n\nconst saveButtonClass = 'veo-header--save-cell-button'\n\nclass VEOHeader extends PureComponent {\n public render() {\n const {name, onSetName, onCancel, onSave} = this.props\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleClickOutsideTitle = (e: MouseEvent) => {\n const {onSave} = this.props\n const target = e.target as HTMLButtonElement\n\n if (!target.className.includes(saveButtonClass)) {\n return\n }\n\n onSave()\n }\n}\n\nexport default VEOHeader\n","// Libraries\nimport React, {FunctionComponent, useEffect} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport {Overlay, SpinnerContainer, TechnoSpinner} from '@influxdata/clockface'\nimport TimeMachine from 'src/timeMachine/components/TimeMachine'\nimport VEOHeader from 'src/dashboards/components/VEOHeader'\n\n// Actions\nimport {disableUpdatedTimeRangeInVEO} from 'src/shared/actions/app'\nimport {setName} from 'src/timeMachine/actions'\nimport {saveVEOView} from 'src/dashboards/actions/thunks'\nimport {getViewAndResultsForVEO} from 'src/views/actions/thunks'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState, RemoteDataState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps &\n RouteComponentProps<{orgID: string; cellID: string; dashboardID: string}>\n\nconst EditViewVEO: FunctionComponent = ({\n activeTimeMachineID,\n onSaveView,\n onSetName,\n match: {\n params: {orgID, cellID, dashboardID},\n },\n history,\n view,\n}) => {\n const dispatch = useDispatch()\n useEffect(() => {\n // TODO split this up into \"loadView\" \"setActiveTimeMachine\"\n // and something to tell the component to pull from the context\n // of the dashboardID\n dispatch(getViewAndResultsForVEO(dashboardID, cellID, 'veo'))\n }, [dispatch, dashboardID, cellID])\n\n const handleClose = () => {\n history.push(`/orgs/${orgID}/dashboards/${dashboardID}`)\n dispatch(disableUpdatedTimeRangeInVEO())\n }\n\n const handleSave = () => {\n try {\n onSaveView(dashboardID)\n handleClose()\n } catch (e) {}\n }\n\n const viewMatchesRoute = get(view, 'id', null) === cellID\n\n let loadingState = RemoteDataState.Loading\n if (activeTimeMachineID === 'veo' && viewMatchesRoute) {\n loadingState = RemoteDataState.Done\n }\n\n return (\n \n
    \n }\n loading={loadingState}\n >\n \n
    \n \n
    \n \n
    \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const {activeTimeMachineID} = state.timeMachines\n const {view} = getActiveTimeMachine(state)\n\n return {view, activeTimeMachineID}\n}\n\nconst mdtp = {\n onSetName: setName,\n onSaveView: saveVEOView,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(EditViewVEO))\n","// Libraries\nimport React, {FunctionComponent, useEffect} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport {Overlay, SpinnerContainer, TechnoSpinner} from '@influxdata/clockface'\nimport TimeMachine from 'src/timeMachine/components/TimeMachine'\nimport VEOHeader from 'src/dashboards/components/VEOHeader'\n\n// Actions\nimport {loadNewVEO} from 'src/timeMachine/actions'\nimport {setName} from 'src/timeMachine/actions'\nimport {saveVEOView} from 'src/dashboards/actions/thunks'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState, RemoteDataState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps &\n RouteComponentProps<{orgID: string; dashboardID: string}>\n\nconst NewViewVEO: FunctionComponent = ({\n activeTimeMachineID,\n onSaveView,\n onSetName,\n match: {\n params: {orgID, dashboardID},\n },\n history,\n view,\n}) => {\n const dispatch = useDispatch()\n useEffect(() => {\n dispatch(loadNewVEO())\n }, [dispatch, dashboardID])\n\n const handleClose = () => {\n history.push(`/orgs/${orgID}/dashboards/${dashboardID}`)\n }\n\n const handleSave = () => {\n try {\n onSaveView(dashboardID)\n handleClose()\n } catch (error) {\n console.error(error)\n }\n }\n\n let loadingState = RemoteDataState.Loading\n const viewIsNew = !get(view, 'id', null)\n if (activeTimeMachineID === 'veo' && viewIsNew) {\n loadingState = RemoteDataState.Done\n }\n\n return (\n \n
    \n }\n loading={loadingState}\n >\n \n
    \n \n
    \n \n
    \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const {activeTimeMachineID} = state.timeMachines\n const {view} = getActiveTimeMachine(state)\n\n return {view, activeTimeMachineID}\n}\n\nconst mdtp = {\n onSetName: setName,\n onSaveView: saveVEOView,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(NewViewVEO))\n","// Libraries\nimport React, {FC, Component, ComponentClass, useEffect} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {useDispatch} from 'react-redux'\nimport {OverlayID} from 'src/overlays/reducers/overlays'\n\n// Actions\nimport {showOverlay, dismissOverlay} from 'src/overlays/actions/overlays'\n\n// NOTE(alex b): I don't know what is wrong with the type definition of react-router\n// but it doesn't include params on an injected router upon route resolution\n\nexport type OverlayDismissalWithRoute = (\n history: RouteComponentProps['history'],\n params: {[x: string]: string}\n) => void\n\ninterface OwnProps {\n overlayID: OverlayID\n onClose: OverlayDismissalWithRoute\n}\n\ntype OverlayHandlerProps = OwnProps & RouteComponentProps\n\nconst OverlayHandler: FC = props => {\n const {overlayID, onClose, match, history} = props\n\n const dispatch = useDispatch()\n\n useEffect(() => {\n const closer = () => {\n onClose(history, match.params)\n }\n\n dispatch(showOverlay(overlayID, match.params, closer))\n\n return () => dispatch(dismissOverlay())\n }, [overlayID]) // eslint-disable-line react-hooks/exhaustive-deps\n\n return null\n}\n\nconst routedComponent = withRouter(OverlayHandler)\n\nexport default routedComponent\n\ninterface RouteOverlayProps {\n overlayID: OverlayID\n}\n\nexport function RouteOverlay

    (\n WrappedComponent: typeof routedComponent,\n overlayID: string,\n onClose?: OverlayDismissalWithRoute\n): ComponentClass

    {\n return class extends Component

    {\n public render() {\n return (\n \n )\n }\n }\n}\n","import OverlayHandler, {\n RouteOverlay,\n} from 'src/overlays/components/RouteOverlay'\n\nexport const AddNoteOverlay = RouteOverlay(\n OverlayHandler,\n 'add-note',\n (history, params) => {\n history.push(`/orgs/${params.orgID}/dashboards/${params.dashboardID}`)\n }\n)\nexport const EditNoteOverlay = RouteOverlay(\n OverlayHandler,\n 'edit-note',\n (history, params) => {\n history.push(`/orgs/${params.orgID}/dashboards/${params.dashboardID}`)\n }\n)\nexport const AllAccessTokenOverlay = RouteOverlay(\n OverlayHandler,\n 'add-master-token',\n (history, params) => {\n history.push(`/orgs/${params.orgID}/load-data/tokens`)\n }\n)\nexport const BucketsTokenOverlay = RouteOverlay(\n OverlayHandler,\n 'add-token',\n (history, params) => {\n history.push(`/orgs/${params.orgID}/load-data/tokens`)\n }\n)\nexport const TelegrafConfigOverlay = RouteOverlay(\n OverlayHandler,\n 'telegraf-config',\n (history, params) => {\n history.push(`/orgs/${params.orgID}/load-data/telegrafs`)\n }\n)\n\nexport const TelegrafOutputOverlay = RouteOverlay(\n OverlayHandler,\n 'telegraf-output',\n (history, params) => {\n history.push(`/orgs/${params.orgID}/load-data/telegrafs`)\n }\n)\n","export const LOGIN = '/login'\nexport const LOGOUT = '/logout'\nexport const SIGNIN = '/signin'\n\nexport const BUCKETS = 'buckets'\nexport const BUCKET_ID = ':bucketID'\n\nexport const DASHBOARDS = 'dashboards'\nexport const DASHBOARD_ID = ':dashboardID'\n\nexport const ORGS = 'orgs'\nexport const ORG_ID = ':orgID'\n\nexport const SCRAPERS = 'scrapers'\n\nexport const SETTINGS = 'settings'\n\nexport const TELEGRAFS = 'telegrafs'\n\nexport const TOKENS = 'tokens'\n\nexport const VARIABLES = 'variables'\n\nexport const LOAD_DATA = 'load-data'\n\nexport const CLIENT_LIBS = 'client-libraries'\nexport const TELEGRAF_PLUGINS = 'telegraf-plugins'\nexport const DEVELOPER_TOOLS = 'developer-tools'\nexport const FLUX_SOURCES = 'flux-sources'\nexport const INTEGRATIONS = 'integrations'\n","// Libraries\nimport React, {Component} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {Switch, Route} from 'react-router-dom'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport DashboardHeader from 'src/dashboards/components/DashboardHeader'\nimport DashboardComponent from 'src/dashboards/components/Dashboard'\nimport ManualRefresh from 'src/shared/components/ManualRefresh'\nimport {HoverTimeProvider} from 'src/dashboards/utils/hoverTime'\nimport VariablesControlBar from 'src/dashboards/components/variablesControlBar/VariablesControlBar'\nimport LimitChecker from 'src/cloud/components/LimitChecker'\nimport RateLimitAlert from 'src/cloud/components/RateLimitAlert'\nimport EditVEO from 'src/dashboards/components/EditVEO'\nimport NewVEO from 'src/dashboards/components/NewVEO'\nimport {AddNoteOverlay, EditNoteOverlay} from 'src/overlays/components'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\nimport {event} from 'src/cloud/utils/reporting'\nimport {resetQueryCache} from 'src/shared/apis/queryCache'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\n// Selectors\nimport {getByID} from 'src/resources/selectors'\n\n// Types\nimport {AppState, AutoRefresh, ResourceType, Dashboard} from 'src/types'\nimport {ManualRefreshProps} from 'src/shared/components/ManualRefresh'\n\ninterface OwnProps {\n autoRefresh: AutoRefresh\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ManualRefreshProps & ReduxProps\n\nimport {\n ORGS,\n ORG_ID,\n DASHBOARDS,\n DASHBOARD_ID,\n} from 'src/shared/constants/routes'\n\nconst dashRoute = `/${ORGS}/${ORG_ID}/${DASHBOARDS}/${DASHBOARD_ID}`\n\n@ErrorHandling\nclass DashboardPage extends Component {\n public componentDidMount() {\n if (isFlagEnabled('queryCacheForDashboards')) {\n resetQueryCache()\n }\n\n this.emitRenderCycleEvent()\n }\n\n public componentWillUnmount() {\n if (isFlagEnabled('queryCacheForDashboards')) {\n resetQueryCache()\n }\n }\n\n public render() {\n const {autoRefresh, manualRefresh, onManualRefresh} = this.props\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private get pageTitle(): string {\n const {dashboard} = this.props\n const title = dashboard && dashboard.name ? dashboard.name : 'Loading...'\n\n return pageTitleSuffixer([title])\n }\n\n private emitRenderCycleEvent = () => {\n const {dashboard, startVisitMs} = this.props\n\n const tags = {\n dashboardID: dashboard.id,\n }\n\n const now = new Date().getTime()\n const timeToAppearMs = now - startVisitMs\n\n const fields = {timeToAppearMs}\n event('Dashboard and Variable Initial Render', tags, fields)\n }\n}\n\nconst mstp = (state: AppState) => {\n const dashboard = getByID(\n state,\n ResourceType.Dashboards,\n state.currentDashboard.id\n )\n\n return {\n startVisitMs: state.perf.dashboard.byID[dashboard.id]?.startVisitMs,\n dashboard,\n }\n}\n\nconst connector = connect(mstp)\n\nexport default connector(ManualRefresh(DashboardPage))\n","// Libraries\nimport React, {FC, useEffect} from 'react'\nimport {useDispatch, useSelector} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {getTimeRange} from 'src/dashboards/selectors'\n\n// Actions\nimport {\n setDashboardTimeRange,\n updateQueryParams,\n} from 'src/dashboards/actions/ranges'\n\ntype Props = RouteComponentProps<{dashboardID: string}>\n\nconst GetTimeRange: FC = ({location, match}: Props) => {\n const dispatch = useDispatch()\n const timeRange = useSelector(getTimeRange)\n const isEditing = location.pathname.includes('edit')\n const isNew = location.pathname.includes('new')\n\n useEffect(() => {\n if (isEditing || isNew) {\n return\n }\n\n // TODO: map this to current contextID\n dispatch(setDashboardTimeRange(match.params.dashboardID, timeRange))\n const {lower, upper} = timeRange\n dispatch(\n updateQueryParams({\n lower,\n upper,\n })\n )\n }, [dispatch, isEditing, isNew, match.params.dashboardID, timeRange])\n\n return

    \n}\n\nexport default withRouter(GetTimeRange)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport qs from 'qs'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Actions\nimport {setDashboard} from 'src/shared/actions/currentDashboard'\nimport {selectValue} from 'src/variables/actions/thunks'\nimport {setDashboardVisit} from 'src/perf/actions'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\n// Selector\nimport {getVariables} from 'src/variables/selectors'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ninterface OwnProps {\n children: React.ReactNode\n}\n\ntype Props = ReduxProps &\n OwnProps &\n RouteComponentProps<{orgID: string; dashboardID: string}>\n\nclass DashboardRoute extends PureComponent {\n pendingVars: [{[key: string]: any}]\n\n // this function takes the hydrated variables from state\n // and runs the `selectValue` action against them if the\n // selected value in the search params doesn't match the\n // selected value in the redux store\n // urlVars represents the `vars` object variable in the\n // query params here, and unwrapping / validation is\n // handled elsewhere\n syncVariables(props, urlVars) {\n const {variables, selectValue} = props\n\n variables.forEach(v => {\n let val\n\n if (v.selected) {\n val = v.selected[0]\n }\n\n if (urlVars[v.name] && val !== urlVars[v.name]) {\n val = urlVars[v.name]\n selectValue(v.id, val)\n }\n })\n }\n\n componentDidMount() {\n const {dashboard, updateDashboard, variables, dashboardVisit} = this.props\n const dashboardID = this.props.match.params.dashboardID\n dashboardVisit(dashboardID, new Date().getTime())\n event('Dashboard Visit', {dashboardID})\n const urlVars = qs.parse(this.props.location.search, {\n ignoreQueryPrefix: true,\n })\n\n // always keep the dashboard in sync\n if (dashboard !== dashboardID) {\n updateDashboard(dashboardID)\n }\n\n // nothing to sync as the query params aren't defining\n // any variables\n if (!urlVars.hasOwnProperty('vars')) {\n return\n }\n\n // resource is still loading\n // we have to wait for it so that we can filter out arbitrary user input\n // from the redux state before committing it back to localstorage\n if (!variables.length) {\n this.pendingVars = urlVars.vars\n return\n }\n\n this.syncVariables(this.props, urlVars.vars)\n }\n\n componentDidUpdate(props) {\n if (props.variables === this.props.variables) {\n return\n }\n\n if (!this.props.variables.length) {\n return\n }\n\n if (!this.pendingVars) {\n return\n }\n\n this.syncVariables(this.props, this.pendingVars)\n\n delete this.pendingVars\n }\n\n componentWillUnmount() {\n this.props.updateDashboard(null)\n }\n\n render() {\n if (!this.props.dashboard) {\n return false\n }\n\n return <>{this.props.children}\n }\n}\n\nconst mstp = (state: AppState) => {\n const variables = getVariables(state)\n\n return {\n variables,\n dashboard: state.currentDashboard.id,\n }\n}\n\nconst mdtp = {\n dashboardVisit: setDashboardVisit,\n updateDashboard: setDashboard,\n selectValue: selectValue,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(DashboardRoute))\n","// Libraries\nimport React, {FC, useEffect} from 'react'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\n\n// Components\nimport GetResource from 'src/resources/components/GetResource'\nimport GetResources from 'src/resources/components/GetResources'\nimport DashboardPage from 'src/dashboards/components/DashboardPage'\nimport GetTimeRange from 'src/dashboards/components/GetTimeRange'\nimport DashboardRoute from 'src/shared/components/DashboardRoute'\n\n// Actions\nimport {setCurrentPage} from 'src/shared/reducers/currentPage'\n\n// Utils\nimport {GlobalAutoRefresher} from 'src/utils/AutoRefresher'\n\n// Constants\nimport {AUTOREFRESH_DEFAULT} from 'src/shared/constants'\n\n// Types\nimport {AppState, ResourceType, AutoRefreshStatus} from 'src/types'\n\nconst {Active} = AutoRefreshStatus\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst DashboardContainer: FC = ({autoRefresh, dashboard}) => {\n const dispatch = useDispatch()\n\n useEffect(() => {\n if (autoRefresh.status === Active) {\n GlobalAutoRefresher.poll(autoRefresh.interval)\n return\n }\n\n GlobalAutoRefresher.stopPolling()\n\n return function cleanup() {\n GlobalAutoRefresher.stopPolling()\n }\n }, [autoRefresh.status, autoRefresh.interval])\n\n useEffect(() => {\n dispatch(setCurrentPage('dashboard'))\n return () => {\n dispatch(setCurrentPage('not set'))\n }\n }, [dispatch])\n\n return (\n \n \n \n \n \n \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const dashboard = state.currentDashboard.id\n const autoRefresh = state.autoRefresh[dashboard] || AUTOREFRESH_DEFAULT\n return {\n autoRefresh,\n dashboard,\n }\n}\n\nconst connector = connect(mstp)\n\nexport default connector(DashboardContainer)\n","import React, {FC, useState, RefObject} from 'react'\n\nexport interface Ref {\n panel: RefObject\n focus: boolean\n}\n\nexport interface RefMap {\n [key: string]: Ref\n}\n\nexport interface RefContextType {\n get: (id: string) => Ref\n update: (id: string, data: Partial) => void\n}\n\nexport const DEFAULT_CONTEXT: RefContextType = {\n get: () => ({} as Ref),\n update: () => {},\n}\n\nexport const RefContext = React.createContext(DEFAULT_CONTEXT)\n\nexport const RefProvider: FC = ({children}) => {\n const [refs, setRefs] = useState({})\n\n const get = (id: string) => {\n return (\n refs[id] || {\n panel: null,\n focus: false,\n }\n )\n }\n const update = (id: string, data: Partial) => {\n refs[id] = {\n ...get(id),\n ...data,\n }\n setRefs({\n ...refs,\n })\n }\n\n return (\n \n {children}\n \n )\n}\n","// Libraries\nimport React, {FC, useState, RefObject} from 'react'\n\nexport interface ScrollContextType {\n scrollPosition: number\n scrollToPipe: (panelRef: RefObject) => void\n}\n\nexport const DEFAULT_CONTEXT: ScrollContextType = {\n scrollPosition: 0,\n scrollToPipe: () => {},\n}\n\nexport const ScrollContext = React.createContext(\n DEFAULT_CONTEXT\n)\n\nexport const ScrollProvider: FC = ({children}) => {\n const [scrollPosition, setListScrollPosition] = useState(\n DEFAULT_CONTEXT.scrollPosition\n )\n\n const scrollToPipe = (panelRef: RefObject) => {\n if (panelRef && panelRef.current) {\n const {offsetTop} = panelRef.current\n setListScrollPosition(offsetTop)\n }\n }\n\n return (\n \n {children}\n \n )\n}\n","import React, {FC, useState, useCallback} from 'react'\nimport {AutoRefresh, TimeRange} from 'src/types'\nimport {DEFAULT_TIME_RANGE} from 'src/shared/constants/timeRanges'\nimport {AUTOREFRESH_DEFAULT} from 'src/shared/constants'\n\nexport interface TimeBlock {\n range: TimeRange\n refresh: AutoRefresh\n}\n\nexport interface TimeState {\n [key: string]: TimeBlock\n}\n\nexport const DEFAULT_STATE: TimeBlock = {\n range: DEFAULT_TIME_RANGE,\n refresh: AUTOREFRESH_DEFAULT,\n}\n\nexport interface TimeContext {\n timeContext: TimeState\n addTimeContext: (id: string, block?: TimeBlock) => void\n updateTimeContext: (id: string, block: TimeBlock) => void\n removeTimeContext: (id: string) => void\n}\n\nexport const DEFAULT_CONTEXT: TimeContext = {\n timeContext: {},\n addTimeContext: () => {},\n updateTimeContext: () => {},\n removeTimeContext: () => {},\n}\n\nexport const TimeContext = React.createContext(DEFAULT_CONTEXT)\n\nexport const TimeProvider: FC = ({children}) => {\n const [timeContext, setTimeContext] = useState({})\n\n const addTimeContext = useCallback((id: string, block?: TimeBlock) => {\n setTimeContext(ranges => {\n if (ranges.hasOwnProperty(id)) {\n throw new Error(\n `TimeContext[${id}] already exists: use updateContext instead`\n )\n return ranges\n }\n\n return {\n ...ranges,\n [id]: {...(block || DEFAULT_STATE)},\n }\n })\n }, [])\n\n const updateTimeContext = useCallback((id: string, block: TimeBlock) => {\n setTimeContext(ranges => {\n return {\n ...ranges,\n [id]: {\n ...(ranges[id] || {}),\n ...block,\n },\n }\n })\n }, [])\n\n const removeTimeContext = useCallback((id: string) => {\n setTimeContext(ranges => {\n if (!ranges.hasOwnProperty(id)) {\n throw new Error(`TimeContext[${id}] doesn't exist`)\n return ranges\n }\n delete ranges[id]\n return {...ranges}\n })\n }, [])\n\n return (\n \n {children}\n \n )\n}\n","import React, {FC, useContext} from 'react'\n\nimport {AppSettingContext} from 'src/notebooks/context/app'\n\nimport {TimeZoneDropdown as StatelessTimeZoneDropdown} from 'src/shared/components/TimeZoneDropdown'\nimport {TimeZone} from 'src/types'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\nconst TimeZoneDropdown: FC = React.memo(() => {\n const {timeZone, onSetTimeZone} = useContext(AppSettingContext)\n\n const setTimeZone = (tz: TimeZone) => {\n event('Time Zone Changed', {timeZone: tz as string})\n\n onSetTimeZone(tz)\n }\n\n return (\n \n )\n})\n\nexport default TimeZoneDropdown\n","import React, {FC, useMemo, useCallback} from 'react'\nimport {default as StatelessTimeRangeDropdown} from 'src/shared/components/TimeRangeDropdown'\nimport {TimeContextProps} from 'src/notebooks/components/header'\nimport {TimeBlock} from 'src/notebooks/context/time'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\nconst TimeRangeDropdown: FC = ({context, update}) => {\n const {range} = context\n\n const updateRange = useCallback(\n range => {\n event(\n 'Time Range Updated',\n {\n type: range.type,\n },\n {upper: range.upper as string, lower: range.lower}\n )\n\n update({\n range,\n } as TimeBlock)\n },\n [update]\n )\n\n return useMemo(() => {\n return (\n \n )\n }, [range, updateRange])\n}\n\nexport default TimeRangeDropdown\n","import React, {FC, useMemo, useCallback} from 'react'\nimport {default as StatelessAutoRefreshDropdown} from 'src/shared/components/dropdown_auto_refresh/AutoRefreshDropdown'\nimport {TimeContextProps} from 'src/notebooks/components/header'\nimport {TimeBlock} from 'src/notebooks/context/time'\nimport {AutoRefreshStatus} from 'src/types'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\nconst AutoRefreshDropdown: FC = ({context, update}) => {\n const {refresh} = context\n\n const updateRefresh = useCallback(\n (interval: number) => {\n const status =\n interval === 0 ? AutoRefreshStatus.Paused : AutoRefreshStatus.Active\n\n event('Auto Refresh Updated', {\n interval: '' + interval,\n })\n\n update({\n refresh: {\n status,\n interval,\n },\n } as TimeBlock)\n },\n [update]\n )\n\n return useMemo(() => {\n return (\n \n )\n }, [refresh, updateRefresh])\n}\n\nexport default AutoRefreshDropdown\n","import React, {FC, useState, useCallback, RefObject} from 'react'\nimport {RemoteDataState} from 'src/types'\nimport {PipeData} from 'src/notebooks'\nimport {FluxResult} from 'src/notebooks'\n\nexport interface PipeMeta {\n title: string\n visible: boolean\n loading: RemoteDataState\n focus: boolean\n panelRef: RefObject\n}\n\n// TODO: this is screaming for normalization. figure out frontend uuids for cells\nexport interface NotebookContextType {\n id: string\n name: string\n pipes: PipeData[]\n meta: PipeMeta[] // data only used for the view layer for Notebooks\n results: FluxResult[]\n addPipe: (pipe: PipeData, insertAtIndex?: number) => void\n updatePipe: (idx: number, pipe: Partial) => void\n updateMeta: (idx: number, pipe: Partial) => void\n updateResult: (idx: number, result: Partial) => void\n updateName: (name: string) => void\n movePipe: (currentIdx: number, newIdx: number) => void\n removePipe: (idx: number) => void\n}\n\nexport const DEFAULT_CONTEXT: NotebookContextType = {\n id: 'new',\n name: 'Name this Flow',\n pipes: [],\n meta: [],\n results: [],\n addPipe: () => {},\n updateName: () => {},\n updatePipe: () => {},\n updateMeta: () => {},\n updateResult: () => {},\n movePipe: () => {},\n removePipe: () => {},\n}\n\n// NOTE: this just loads some test data for exploring the\n// interactions between types. Make sure it's never true\n// during the pull review process\nconst TEST_MODE = false\nif (TEST_MODE) {\n const TEST_NOTEBOOK = require('src/notebooks/context/notebook.mock.json')\n DEFAULT_CONTEXT.id = TEST_NOTEBOOK.id\n DEFAULT_CONTEXT.pipes = TEST_NOTEBOOK.pipes\n DEFAULT_CONTEXT.meta = TEST_NOTEBOOK.meta\n DEFAULT_CONTEXT.results = new Array(TEST_NOTEBOOK.pipes.length)\n}\n\nexport const NotebookContext = React.createContext(\n DEFAULT_CONTEXT\n)\n\nlet GENERATOR_INDEX = 0\n\nconst getHumanReadableName = (type: string): string => {\n ++GENERATOR_INDEX\n\n switch (type) {\n case 'data':\n return `Bucket ${GENERATOR_INDEX}`\n case 'visualization':\n return `Visualization ${GENERATOR_INDEX}`\n case 'markdown':\n return `Markdown ${GENERATOR_INDEX}`\n case 'query':\n return `Flux Script ${GENERATOR_INDEX}`\n default:\n return `Cell ${GENERATOR_INDEX}`\n }\n}\n\nexport const NotebookProvider: FC = ({children}) => {\n const [id] = useState(DEFAULT_CONTEXT.id)\n const [pipes, setPipes] = useState(DEFAULT_CONTEXT.pipes)\n const [meta, setMeta] = useState(DEFAULT_CONTEXT.meta)\n const [results, setResults] = useState(DEFAULT_CONTEXT.results)\n const [name, setName] = useState(DEFAULT_CONTEXT.name)\n\n const _setPipes = useCallback(setPipes, [id, setPipes])\n const _setMeta = useCallback(setMeta, [id, setMeta])\n const _setResults = useCallback(setResults, [id, setResults])\n\n const updateName = (newName: string) => setName(newName)\n\n const addPipe = useCallback(\n (pipe: PipeData, insertAtIndex?: number) => {\n let add = data => {\n return pipes => {\n pipes.push(data)\n return pipes.slice()\n }\n }\n\n if (insertAtIndex !== undefined) {\n add = data => {\n return pipes => {\n pipes.splice(insertAtIndex + 1, 0, data)\n return pipes.slice()\n }\n }\n }\n\n if (pipes.length && pipe.type !== 'query') {\n _setResults(add({...results[results.length - 1]}))\n _setMeta(\n add({\n title: getHumanReadableName(pipe.type),\n visible: true,\n loading: meta[meta.length - 1].loading,\n focus: false,\n })\n )\n } else {\n _setResults(add({}))\n _setMeta(\n add({\n title: getHumanReadableName(pipe.type),\n visible: true,\n loading: RemoteDataState.NotStarted,\n focus: false,\n })\n )\n }\n\n if (pipe.type === 'query') {\n if (!pipes.filter(p => p.type === 'query').length) {\n _setPipes(add(pipe))\n } else {\n const _pipe = {\n ...pipe,\n queries: [\n {\n ...pipe.queries[0],\n },\n ],\n }\n _setPipes(add(_pipe))\n }\n } else {\n _setPipes(add(pipe))\n }\n },\n [pipes, meta, results, _setPipes, _setMeta, _setResults]\n )\n\n const updatePipe = useCallback(\n (idx: number, pipe: Partial) => {\n _setPipes(pipes => {\n pipes[idx] = {\n ...pipes[idx],\n ...pipe,\n }\n return pipes.slice()\n })\n },\n [_setPipes]\n )\n\n const updateMeta = useCallback(\n (idx: number, pipe: Partial) => {\n _setMeta(pipes => {\n pipes[idx] = {\n ...pipes[idx],\n ...pipe,\n }\n return pipes.slice()\n })\n },\n [_setMeta]\n )\n\n const updateResult = useCallback(\n (idx: number, results: Partial) => {\n _setResults(pipes => {\n pipes[idx] = {\n ...results,\n } as FluxResult\n return pipes.slice()\n })\n },\n [_setResults]\n )\n\n const movePipe = useCallback(\n (currentIdx: number, newIdx: number) => {\n const move = list => {\n const idx = ((newIdx % list.length) + list.length) % list.length\n\n if (idx === currentIdx) {\n return list\n }\n\n const pipe = list.splice(currentIdx, 1)\n\n list.splice(idx, 0, pipe[0])\n\n return list.slice()\n }\n _setPipes(move)\n _setMeta(move)\n _setResults(move)\n },\n [_setPipes, _setResults, _setMeta]\n )\n\n const removePipe = useCallback(\n (idx: number) => {\n const remove = pipes => {\n pipes.splice(idx, 1)\n return pipes.slice()\n }\n _setPipes(remove)\n _setMeta(remove)\n _setResults(remove)\n },\n [_setPipes, _setMeta, _setResults]\n )\n\n return (\n \n {children}\n \n )\n}\n","import React, {FC, useContext, useMemo} from 'react'\nimport {connect} from 'react-redux'\nimport {AppState, Variable, Organization} from 'src/types'\nimport {runQuery} from 'src/shared/apis/query'\nimport {getWindowVars} from 'src/variables/utils/getWindowVars'\nimport {buildVarsOption} from 'src/variables/utils/buildVarsOption'\nimport {getTimeRangeVars} from 'src/variables/utils/getTimeRangeVars'\nimport {getVariables, asAssignment} from 'src/variables/selectors'\nimport {getOrg} from 'src/organizations/selectors'\nimport {NotebookContext} from 'src/notebooks/context/notebook'\nimport {TimeContext} from 'src/notebooks/context/time'\nimport {fromFlux as parse} from '@influxdata/giraffe'\nimport {event} from 'src/cloud/utils/reporting'\nimport {FluxResult} from 'src/notebooks'\n\nexport interface QueryContextType {\n query: (text: string) => Promise\n}\n\nexport const DEFAULT_CONTEXT: QueryContextType = {\n query: () => Promise.resolve({} as FluxResult),\n}\n\nexport const QueryContext = React.createContext(\n DEFAULT_CONTEXT\n)\n\ntype Props = StateProps\nexport const QueryProvider: FC = ({children, variables, org}) => {\n const {id} = useContext(NotebookContext)\n const {timeContext} = useContext(TimeContext)\n const time = timeContext[id]\n\n const vars = useMemo(() => {\n if (time && time.range) {\n return variables\n .map(v => asAssignment(v))\n .concat(getTimeRangeVars(time.range))\n }\n\n variables.map(v => asAssignment(v))\n }, [variables, time])\n\n const query = (text: string) => {\n const windowVars = getWindowVars(text, vars)\n const extern = buildVarsOption([...vars, ...windowVars])\n\n event('runQuery', {context: 'notebooks'})\n return runQuery(org.id, text, extern)\n .promise.then(raw => {\n if (raw.type !== 'SUCCESS') {\n throw new Error(raw.message)\n }\n\n return raw\n })\n .then(raw => {\n return {\n source: text,\n raw: raw.csv,\n parsed: parse(raw.csv),\n error: null,\n }\n })\n }\n\n if (!time) {\n return null\n }\n\n return (\n {children}\n )\n}\n\ninterface StateProps {\n variables: Variable[]\n org: Organization\n}\n\nconst mstp = (state: AppState) => {\n const variables = getVariables(state)\n const org = getOrg(state)\n\n return {\n org,\n variables,\n }\n}\n\nconst ConnectedQueryProvider = connect(mstp)(QueryProvider)\n\nexport default ConnectedQueryProvider\n","// Libraries\nimport React, {FC, useContext, useState, useEffect} from 'react'\nimport {SubmitQueryButton} from 'src/timeMachine/components/SubmitQueryButton'\nimport QueryProvider, {QueryContext} from 'src/notebooks/context/query'\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\nimport {ResultsContext} from 'src/notebooks/context/results'\nimport {TimeContext} from 'src/notebooks/context/time'\nimport {IconFont} from '@influxdata/clockface'\nimport {notify} from 'src/shared/actions/notifications'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\n// Types\nimport {RemoteDataState} from 'src/types'\n\nconst PREVIOUS_REGEXP = /__PREVIOUS_RESULT__/g\nconst COMMENT_REMOVER = /(\\/\\*([\\s\\S]*?)\\*\\/)|(\\/\\/(.*)$)/gm\n\nconst fakeNotify = notify\n\nexport const Submit: FC = () => {\n const {query} = useContext(QueryContext)\n const {id, notebook} = useContext(NotebookContext)\n const {add, update} = useContext(ResultsContext)\n const {timeContext} = useContext(TimeContext)\n const [isLoading, setLoading] = useState(RemoteDataState.NotStarted)\n const time = timeContext[id]\n const tr = !!time && time.range\n\n useEffect(() => {\n submit()\n }, [tr]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const forceUpdate = (id, data) => {\n try {\n update(id, data)\n } catch (_e) {\n add(id, data)\n }\n }\n\n const submit = () => {\n event('Notebook Submit Button Clicked')\n let queryIncludesPreviousResult = false\n setLoading(RemoteDataState.Loading)\n Promise.all(\n notebook.data.allIDs\n .reduce((stages, pipeID, index) => {\n notebook.meta.update(pipeID, {loading: RemoteDataState.Loading})\n const pipe = notebook.data.get(pipeID)\n\n if (pipe.type === 'query') {\n let text = pipe.queries[pipe.activeQuery].text.replace(\n COMMENT_REMOVER,\n ''\n )\n let requirements = {}\n\n if (!text.replace(/\\s/g, '').length) {\n if (stages.length) {\n stages[stages.length - 1].instances.push(pipeID)\n }\n return stages\n }\n\n if (PREVIOUS_REGEXP.test(text)) {\n requirements = {\n ...(index === 0 ? {} : stages[stages.length - 1].requirements),\n [`prev_${index}`]: stages[stages.length - 1].text,\n }\n text = text.replace(PREVIOUS_REGEXP, `prev_${index}`)\n queryIncludesPreviousResult = true\n }\n\n stages.push({\n text,\n instances: [pipeID],\n requirements,\n })\n } else if (pipe.type === 'data') {\n const {bucketName} = pipe\n\n const text = `from(bucket: \"${bucketName}\")|>range(start: v.timeRangeStart, stop: v.timeRangeStop)`\n\n stages.push({\n text,\n instances: [pipeID],\n requirements: {},\n })\n } else if (pipe.type === 'queryBuilder') {\n const {\n aggregateFunction,\n bucketName,\n field,\n measurement,\n tags,\n } = pipe\n\n let text = `from(bucket: \"${bucketName}\")|>range(start: v.timeRangeStart, stop: v.timeRangeStop)`\n if (measurement) {\n text += `|> filter(fn: (r) => r[\"_measurement\"] == \"${measurement}\")`\n }\n if (field) {\n text += `|> filter(fn: (r) => r[\"_field\"] == \"${field}\")`\n }\n if (tags && Object.keys(tags)?.length > 0) {\n Object.keys(tags)\n .filter((tagName: string) => !!tags[tagName])\n .forEach((tagName: string) => {\n const tagValues = tags[tagName]\n if (tagValues.length === 1) {\n text += `|> filter(fn: (r) => r[\"${tagName}\"] == \"${tagValues[0]}\")`\n } else {\n tagValues.forEach((val, i) => {\n if (i === 0) {\n text += `|> filter(fn: (r) => r[\"${tagName}\"] == \"${val}\"`\n }\n if (tagValues.length - 1 === i) {\n text += ` or r[\"${tagName}\"] == \"${val}\")`\n } else {\n text += ` or r[\"${tagName}\"] == \"${val}\"`\n }\n })\n }\n })\n }\n\n if (aggregateFunction?.name) {\n text += ` |> aggregateWindow(every: v.windowPeriod, fn: ${aggregateFunction.name}, createEmpty: false)\n |> yield(name: \"${aggregateFunction.name}\")`\n }\n\n stages.push({\n text,\n instances: [pipeID],\n requirements: {},\n })\n } else if (stages.length) {\n stages[stages.length - 1].instances.push(pipeID)\n }\n\n return stages\n }, [])\n .map(queryStruct => {\n const queryText =\n Object.entries(queryStruct.requirements)\n .map(([key, value]) => `${key} = (\\n${value}\\n)\\n\\n`)\n .join('') + queryStruct.text\n\n return query(queryText)\n .then(response => {\n queryStruct.instances.forEach(pipeID => {\n forceUpdate(pipeID, response)\n notebook.meta.update(pipeID, {loading: RemoteDataState.Done})\n })\n })\n .catch(e => {\n queryStruct.instances.forEach(pipeID => {\n forceUpdate(pipeID, {\n error: e.message,\n })\n notebook.meta.update(pipeID, {loading: RemoteDataState.Error})\n })\n })\n })\n )\n\n .then(() => {\n event('Notebook Submit Resolved')\n\n if (queryIncludesPreviousResult) {\n event('flows_queryIncludesPreviousResult')\n } else {\n event('flows_queryExcludesPreviousResult')\n }\n\n setLoading(RemoteDataState.Done)\n })\n .catch(e => {\n event('Notebook Submit Resolved')\n\n // NOTE: this shouldn't fire, but lets wrap it for completeness\n setLoading(RemoteDataState.Error)\n throw e\n })\n }\n\n const hasQueries = notebook.data.all\n .map(p => p.type)\n .filter(p => p === 'query' || p === 'data' || p === 'queryBuilder').length\n\n return (\n \n )\n}\n\nexport default () => (\n \n \n \n)\n","import React, {FC, useContext} from 'react'\nimport {SlideToggle, InputLabel} from '@influxdata/clockface'\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\n\nconst PresentationMode: FC = () => {\n const {notebook, update} = useContext(NotebookContext)\n\n const handleChange = () => {\n update({readOnly: !notebook.readOnly})\n }\n\n const toggleClassName = `flows-presentationmode-${\n !!notebook.readOnly ? 'disable' : 'enable'\n }`\n\n return (\n <>\n \n Presentation\n \n )\n}\n\nexport default PresentationMode\n","// Libraries\nimport React, {FC, useContext, useCallback} from 'react'\n\n// Contexts\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\nimport {TimeProvider, TimeContext, TimeBlock} from 'src/notebooks/context/time'\nimport AppSettingProvider from 'src/notebooks/context/app'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport TimeZoneDropdown from 'src/notebooks/components/header/TimeZoneDropdown'\nimport TimeRangeDropdown from 'src/notebooks/components/header/TimeRangeDropdown'\nimport AutoRefreshDropdown from 'src/notebooks/components/header/AutoRefreshDropdown'\nimport Submit from 'src/notebooks/components/header/Submit'\nimport PresentationMode from 'src/notebooks/components/header/PresentationMode'\nimport RenamablePageTitle from 'src/pageLayout/components/RenamablePageTitle'\n\nconst FULL_WIDTH = true\n\nexport interface TimeContextProps {\n context: TimeBlock\n update: (data: TimeBlock) => void\n}\n\nconst NotebookHeader: FC = () => {\n const {id, update, notebook} = useContext(NotebookContext)\n const {timeContext, addTimeContext, updateTimeContext} = useContext(\n TimeContext\n )\n\n const updateTime = useCallback(\n (data: TimeBlock) => {\n updateTimeContext(id, data)\n },\n [id, updateTimeContext]\n )\n\n if (!timeContext.hasOwnProperty(id)) {\n addTimeContext(id)\n return null\n }\n\n const handleRename = (name: string) => {\n update({...notebook, name})\n }\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default () => (\n \n \n \n \n \n)\n","import {FC, createElement, useContext} from 'react'\n\nimport {PIPE_DEFINITIONS, PipeProp} from 'src/notebooks'\nimport {PipeContext} from 'src/notebooks/context/pipe'\n\nconst Pipe: FC = props => {\n const {data} = useContext(PipeContext)\n\n if (!PIPE_DEFINITIONS.hasOwnProperty(data.type)) {\n throw new Error(`Pipe type [${data.type}] not registered`)\n return null\n }\n\n return createElement(PIPE_DEFINITIONS[data.type].component, props)\n}\n\nexport default Pipe\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {SquareButton, IconFont} from '@influxdata/clockface'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\ninterface Props {\n onRemove?: () => void\n}\n\nconst RemoveButton: FC = ({onRemove}) => {\n if (!onRemove) {\n return null\n }\n\n const handleClick = (): void => {\n event('Notebook Panel Removed')\n\n onRemove()\n }\n\n return (\n \n )\n}\n\nexport default RemoveButton\n","// Libraries\nimport React, {FC, ReactNode, Children} from 'react'\n\ninterface Props {\n title: string\n children: ReactNode\n}\n\nconst CellFamily: FC = ({title, children}) => {\n if (Children.count(children) === 0) {\n return null\n }\n\n return (\n
    \n
    {title}
    \n {children}\n
    \n )\n}\n\nexport default CellFamily\n","// Libraries\nimport React, {FC, useContext} from 'react'\n\n// Components\nimport {Button, ComponentColor} from '@influxdata/clockface'\nimport CellFamily from 'src/notebooks/components/CellFamily'\n\n// Constants\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\nimport {ResultsContext} from 'src/notebooks/context/results'\nimport {PIPE_DEFINITIONS} from 'src/notebooks'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\nimport {TypeRegistration} from 'src/notebooks'\n\n// Styles\nimport 'src/notebooks/components/AddButtons.scss'\n\ninterface Props {\n index?: number\n onInsert?: () => void\n eventName: string\n}\n\nconst SUPPORTED_FAMILIES = [\n {\n name: 'Input',\n family: 'inputs',\n },\n {\n name: 'Transform',\n family: 'transform',\n },\n {\n name: 'Pass Throughs',\n family: 'passThrough',\n },\n {\n name: 'Test',\n family: 'test',\n },\n {\n name: 'Output',\n family: 'output',\n },\n {\n name: 'Side Effects',\n family: 'sideEffects',\n },\n]\n\nconst AddButtons: FC = ({index, onInsert, eventName}) => {\n const {add} = useContext(NotebookContext)\n const results = useContext(ResultsContext)\n\n const pipeFamilies = Object.entries(\n Object.values(PIPE_DEFINITIONS)\n .filter(\n def =>\n !def.disabled && (!def.featureFlag || isFlagEnabled(def.featureFlag))\n )\n .reduce((acc, def) => {\n if (!acc.hasOwnProperty(def.family)) {\n acc[def.family] = []\n }\n\n acc[def.family].push(def)\n\n return acc\n }, {})\n ).reduce((acc, [key, val]) => {\n acc[key] = (val as TypeRegistration[]).sort((a, b) => {\n const aPriority = a.priority || 0\n const bPriority = b.priority || 0\n\n if (aPriority === bPriority) {\n return a.button.localeCompare(b.button)\n }\n\n return bPriority - aPriority\n })\n return acc\n }, {})\n\n const cellFamilies = SUPPORTED_FAMILIES.filter(fam =>\n pipeFamilies.hasOwnProperty(fam.family)\n ).map(fam => {\n const pipes = pipeFamilies[fam.family].map(def => {\n return (\n {\n let data = def.initial\n if (typeof data === 'function') {\n data = data()\n }\n\n onInsert && onInsert()\n\n event(eventName, {\n type: def.type,\n })\n\n const id = add(\n {\n ...data,\n type: def.type,\n },\n index\n )\n\n results.add(id)\n }}\n color={ComponentColor.Secondary}\n />\n )\n })\n return (\n \n {pipes}\n \n )\n })\n\n return
    {cellFamilies}
    \n}\n\nexport default AddButtons\n","// Libraries\nimport React, {FC, useRef, useContext} from 'react'\n\n// Components\nimport {\n Popover,\n Appearance,\n ComponentColor,\n ComponentSize,\n SquareButton,\n IconFont,\n FlexBox,\n FlexDirection,\n AlignItems,\n PopoverPosition,\n} from '@influxdata/clockface'\nimport AddButtons from 'src/notebooks/components/AddButtons'\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\n\n// Styles\nimport 'src/notebooks/components/panel/InsertCellButton.scss'\n\ninterface Props {\n id: string\n}\n\nconst InsertCellButton: FC = ({id}) => {\n const {notebook} = useContext(NotebookContext)\n const dividerRef = useRef(null)\n const buttonRef = useRef(null)\n const popoverVisible = useRef(false)\n const index = notebook.data.indexOf(id)\n\n const handlePopoverShow = () => {\n popoverVisible.current = true\n dividerRef.current &&\n dividerRef.current.classList.add('notebook-divider__popped')\n }\n\n const handlePopoverHide = () => {\n popoverVisible.current = false\n dividerRef.current &&\n dividerRef.current.classList.remove('notebook-divider__popped')\n }\n\n return (\n
    \n \n (\n \n

    Insert Cell Here

    \n \n \n )}\n />\n
    \n )\n}\n\nexport default InsertCellButton\n","// Libraries\nimport React, {FC, useContext} from 'react'\n\n// Components\nimport {SquareButton, IconFont} from '@influxdata/clockface'\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\nexport interface Props {\n id: string\n}\n\nconst PanelVisibilityToggle: FC = ({id}) => {\n const {notebook} = useContext(NotebookContext)\n const meta = notebook.meta.get(id)\n\n const icon = meta.visible ? IconFont.EyeOpen : IconFont.EyeClosed\n const title = meta.visible ? 'Collapse cell' : 'Expand cell'\n\n const handleClick = (): void => {\n event('Panel Visibility Toggled', {\n state: !meta.visible ? 'true' : 'false',\n })\n\n notebook.meta.update(id, {\n visible: !meta.visible,\n })\n }\n\n return \n}\n\nexport default PanelVisibilityToggle\n","// Libraries\nimport React, {FC, MouseEvent} from 'react'\n\n// Components\nimport {SquareButton, IconFont, ComponentStatus} from '@influxdata/clockface'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\ninterface Props {\n onClick?: () => void\n direction: 'up' | 'down'\n active: boolean\n}\n\nconst MovePanelUpButton: FC = ({onClick, direction, active}) => {\n const status = active ? ComponentStatus.Default : ComponentStatus.Disabled\n const icon = direction === 'up' ? IconFont.CaretUp : IconFont.CaretDown\n\n const handleClick = (e: MouseEvent): void => {\n if (onClick) {\n event('Notebook Panel Moved', {\n direction,\n })\n\n e.stopPropagation()\n onClick()\n }\n }\n\n const title = `Move this cell ${direction}`\n\n return (\n \n )\n}\n\nexport default MovePanelUpButton\n","// Libraries\nimport React, {FC, ChangeEvent, useContext} from 'react'\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\n\ninterface Props {\n id: string\n}\n\nconst NotebookPanelTitle: FC = ({id}) => {\n const {notebook} = useContext(NotebookContext)\n const title = notebook.meta.get(id).title\n const onTitleChange = (value: string) => {\n notebook.meta.update(id, {\n title: value,\n })\n }\n\n let sourceName\n let titleElement =
    {title}
    \n\n const onChange = (e: ChangeEvent): void => {\n onTitleChange(e.target.value)\n }\n\n titleElement = (\n \n )\n\n return (\n <>\n {sourceName}\n {titleElement}\n \n )\n}\n\nexport default NotebookPanelTitle\n","// Libraries\nimport React, {\n FC,\n useContext,\n useCallback,\n useEffect,\n ReactNode,\n MouseEvent,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport {\n FlexBox,\n ComponentSize,\n AlignItems,\n JustifyContent,\n ClickOutside,\n} from '@influxdata/clockface'\nimport RemovePanelButton from 'src/notebooks/components/panel/RemovePanelButton'\nimport InsertCellButton from 'src/notebooks/components/panel/InsertCellButton'\nimport PanelVisibilityToggle from 'src/notebooks/components/panel/PanelVisibilityToggle'\nimport MovePanelButton from 'src/notebooks/components/panel/MovePanelButton'\nimport NotebookPanelTitle from 'src/notebooks/components/panel/NotebookPanelTitle'\nimport {FeatureFlag} from 'src/shared/utils/featureFlag'\n\n// Types\nimport {PipeContextProps} from 'src/notebooks'\n\n// Contexts\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\nimport {RefContext} from 'src/notebooks/context/refs'\n\nexport interface Props extends PipeContextProps {\n id: string\n}\n\nexport interface HeaderProps {\n id: string\n controls?: ReactNode\n}\n\nconst NotebookPanelHeader: FC = ({id, controls}) => {\n const {notebook} = useContext(NotebookContext)\n const removePipe = () => {\n notebook.data.remove(id)\n notebook.meta.remove(id)\n }\n const index = notebook.data.indexOf(id)\n const canBeMovedUp = index > 0\n const canBeMovedDown = index < notebook.data.allIDs.length - 1\n\n const moveUp = useCallback(() => {\n if (canBeMovedUp) {\n notebook.data.move(id, index - 1)\n }\n }, [index, canBeMovedUp, notebook.data])\n\n const moveDown = useCallback(() => {\n if (canBeMovedDown) {\n notebook.data.move(id, index + 1)\n }\n }, [index, canBeMovedDown, notebook.data])\n\n const remove = useCallback(() => removePipe(), [removePipe, id])\n\n return (\n
    \n
    \n
    \n
    \n \n \n \n \n {controls}\n \n \n \n \n \n \n \n
    \n )\n}\n\nconst NotebookPanel: FC = ({id, children, controls}) => {\n const {notebook} = useContext(NotebookContext)\n const refs = useContext(RefContext)\n const panelRef = useRef(null)\n\n const isVisible = notebook.meta.get(id).visible\n const isFocused = refs.get(id).focus\n\n const panelClassName = classnames('notebook-panel', {\n [`notebook-panel__visible`]: isVisible,\n [`notebook-panel__hidden`]: !isVisible,\n 'notebook-panel__focus': isFocused,\n })\n\n useEffect(() => {\n refs.update(id, {panel: panelRef})\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const updatePanelFocus = useCallback(\n (focus: boolean): void => {\n refs.update(id, {focus})\n },\n [id, refs] // eslint-disable-line react-hooks/exhaustive-deps\n )\n\n const handleClick = (e: MouseEvent): void => {\n e.stopPropagation()\n updatePanelFocus(true)\n }\n\n const handleClickOutside = (): void => {\n updatePanelFocus(false)\n }\n\n if (\n notebook.readOnly &&\n !/^(visualization|markdown)$/.test(notebook.data.get(id).type)\n ) {\n return null\n }\n return (\n \n
    \n \n
    {children}
    \n {!notebook.readOnly && }\n
    \n
    \n )\n}\n\nexport default NotebookPanel\n","import React, {FC, createElement, useMemo} from 'react'\n\nimport {PipeContextProps} from 'src/notebooks'\nimport Pipe from 'src/notebooks/components/Pipe'\nimport NotebookPanel from 'src/notebooks/components/panel/NotebookPanel'\nimport {PipeProvider} from 'src/notebooks/context/pipe'\n\nexport interface NotebookPipeProps {\n id: string\n}\n\nconst NotebookPipe: FC = ({id}) => {\n const panel: FC = useMemo(\n () => props => {\n const _props = {\n ...props,\n id,\n }\n\n return createElement(NotebookPanel, _props)\n },\n [id]\n )\n\n return (\n \n \n \n )\n}\n\nexport default NotebookPipe\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport AddButtons from 'src/notebooks/components/AddButtons'\n\n// Styles\nimport 'src/notebooks/components/EmptyPipeList.scss'\n\nconst EmptyPipeList: FC = () => {\n return (\n
    \n
    \n

    Welcome to Flows

    \n

    \n This is a more flexible way to explore, visualize, and (eventually)\n alert on your data\n

    \n

    \n Get started by Adding a Cell below\n

    \n
    \n \n
    \n
    \n )\n}\n\nexport default EmptyPipeList\n","// Libraries\nimport React, {FC, useContext} from 'react'\n\n// Contexts\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\nimport {ScrollContext} from 'src/notebooks/context/scroll'\n\n// Components\nimport NotebookPipe from 'src/notebooks/components/NotebookPipe'\nimport EmptyPipeList from 'src/notebooks/components/EmptyPipeList'\nimport {DapperScrollbars} from '@influxdata/clockface'\n\nconst PipeList: FC = () => {\n const {scrollPosition} = useContext(ScrollContext)\n const {notebook} = useContext(NotebookContext)\n const {data} = notebook\n\n if (!data || !data.allIDs.length) {\n return \n }\n\n const _pipes = data.allIDs.map(id => {\n return \n })\n\n return (\n \n {_pipes}\n \n )\n}\n\nexport default PipeList\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Icon, IconFont} from '@influxdata/clockface'\n\n// Actions\nimport {setNotebookMiniMapState} from 'src/shared/actions/app'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst MiniMapToggle: FC = ({\n notebookMiniMapState,\n handleSetNotebookMiniMapState,\n}) => {\n const active = notebookMiniMapState === 'expanded'\n\n const handleChange = (): void => {\n event('Notebook Toggled Table of Contents', {\n state: active ? 'collapsed' : 'expanded',\n })\n\n if (active) {\n handleSetNotebookMiniMapState('collapsed')\n } else {\n handleSetNotebookMiniMapState('expanded')\n }\n }\n\n const glyph = active ? IconFont.Minimize : IconFont.Maximize\n const title = active\n ? 'Click to minimize Table of Contents'\n : 'Click to maximize Table of Contents'\n\n const headerClassName = `notebook-minimap--header flows-toc-${\n active ? 'collapse' : 'expand'\n }`\n\n return (\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const {\n app: {\n persisted: {notebookMiniMapState},\n },\n } = state\n\n return {\n notebookMiniMapState,\n }\n}\n\nconst mdtp = {\n handleSetNotebookMiniMapState: setNotebookMiniMapState,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(MiniMapToggle)\n","// Libraries\nimport React, {FC} from 'react'\nimport classnames from 'classnames'\n\ninterface Props {\n title: string\n focus: boolean\n visible: boolean\n onClick: () => void\n}\n\nconst MiniMapItem: FC = ({title, focus, onClick, visible}) => {\n const className = classnames('notebook-minimap--item', {\n 'notebook-minimap--item__focus': focus,\n 'notebook-minimap--item__hidden': !visible,\n })\n\n const handleClick = (): void => {\n onClick()\n }\n\n return (\n
    \n {title}\n
    \n )\n}\n\nexport default MiniMapItem\n","// Libraries\nimport React, {FC, useContext} from 'react'\nimport {connect} from 'react-redux'\n\n// Contexts\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\nimport {RefContext} from 'src/notebooks/context/refs'\nimport {ScrollContext} from 'src/notebooks/context/scroll'\n\n// Components\nimport {DapperScrollbars} from '@influxdata/clockface'\nimport MiniMapToggle from 'src/notebooks/components/minimap/MiniMapToggle'\nimport MiniMapItem from 'src/notebooks/components/minimap/MiniMapItem'\n\n// Types\nimport {AppState, NotebookMiniMapState} from 'src/types'\n\n// Styles\nimport 'src/notebooks/components/minimap/MiniMap.scss'\n\ninterface StateProps {\n notebookMiniMapState: NotebookMiniMapState\n}\n\nconst MiniMap: FC = ({notebookMiniMapState}) => {\n const {notebook} = useContext(NotebookContext)\n const refs = useContext(RefContext)\n const {scrollToPipe} = useContext(ScrollContext)\n\n if (notebookMiniMapState === 'collapsed') {\n return (\n
    \n \n
    \n )\n }\n\n const pipes = notebook.data.allIDs.map(id => {\n const {title, visible} = notebook.meta.get(id)\n const {panel, focus} = refs.get(id)\n\n return (\n {\n scrollToPipe(panel)\n refs.update(id, {focus: true})\n }}\n />\n )\n })\n\n return (\n
    \n \n \n
    {pipes}
    \n
    \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const {\n app: {\n persisted: {notebookMiniMapState},\n },\n } = state\n\n return {\n notebookMiniMapState,\n }\n}\n\nexport default connect(mstp, null)(MiniMap)\n","import React from 'react'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport FlowHeader from 'src/notebooks/components/header'\nimport PipeList from 'src/notebooks/components/PipeList'\nimport MiniMap from 'src/notebooks/components/minimap/MiniMap'\n\nconst FlowPage = () => {\n return (\n \n \n \n
    \n \n \n
    \n \n
    \n )\n}\n\nexport default FlowPage\n","// Libraries\nimport React, {FC, useContext, useEffect} from 'react'\nimport {useParams} from 'react-router-dom'\n\n// Components\nimport {ResultsProvider} from 'src/notebooks/context/results'\nimport {RefProvider} from 'src/notebooks/context/refs'\nimport CurrentNotebookProvider, {\n NotebookContext,\n} from 'src/notebooks/context/notebook.current'\nimport {ScrollProvider} from 'src/notebooks/context/scroll'\nimport FlowPage from 'src/notebooks/components/FlowPage'\n\nconst NotebookFromRoute = () => {\n const {id} = useParams()\n const {change} = useContext(NotebookContext)\n\n useEffect(() => {\n change(id)\n }, [id, change])\n\n return null\n}\n// NOTE: uncommon, but using this to scope the project\n// within the page and not bleed it's dependancies outside\n// of the feature flag\nimport 'src/notebooks/style.scss'\n\nconst NotebookPage: FC = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default NotebookPage\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Tabs, Orientation, ComponentSize} from '@influxdata/clockface'\nimport {FeatureFlag} from 'src/shared/utils/featureFlag'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport CloudExclude from 'src/shared/components/cloud/CloudExclude'\n\ninterface OwnProps {\n activeTab: string\n orgID: string\n}\n\ntype Props = OwnProps & RouteComponentProps<{orgID: string}>\n\n@ErrorHandling\nclass LoadDataNavigation extends PureComponent {\n public render() {\n const {activeTab, orgID, history} = this.props\n\n const handleTabClick = (id: string): void => {\n history.push(`/orgs/${orgID}/load-data/${id}`)\n }\n\n const tabs = [\n {\n text: 'Sources',\n id: 'sources',\n cloudExclude: false,\n featureFlag: null,\n },\n {\n text: 'Buckets',\n id: 'buckets',\n cloudExclude: false,\n featureFlag: null,\n },\n {\n text: 'Telegraf',\n id: 'telegrafs',\n cloudExclude: false,\n featureFlag: null,\n },\n {\n text: 'Scrapers',\n id: 'scrapers',\n cloudExclude: true,\n featureFlag: null,\n },\n {\n text: 'Tokens',\n id: 'tokens',\n cloudExclude: false,\n featureFlag: null,\n },\n ]\n\n const activeTabName = tabs.find(t => t.id === activeTab).text\n\n return (\n \n {tabs.map(t => {\n let tabElement = (\n \n )\n\n if (t.cloudExclude) {\n tabElement = {tabElement}\n }\n\n if (t.featureFlag) {\n tabElement = (\n \n {tabElement}\n \n )\n }\n return tabElement\n })}\n \n )\n }\n}\n\nexport default withRouter(LoadDataNavigation)\n","// Libraries\nimport React, {FC, ReactNode} from 'react'\nimport _ from 'lodash'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport LoadDataNavigation from 'src/settings/components/LoadDataNavigation'\nimport {Tabs, Orientation, Page} from '@influxdata/clockface'\n\n// Utils\nimport {getOrg} from 'src/organizations/selectors'\n\n// Types\nimport {AppState} from 'src/types'\n\ninterface ComponentProps {\n activeTab: string\n children?: ReactNode\n}\n\ntype StateProps = ConnectedProps\n\ntype Props = ComponentProps & StateProps\n\nconst LoadDataTabbedPage: FC = ({activeTab, orgID, children}) => {\n return (\n \n \n \n {children}\n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const org = getOrg(state)\n\n return {orgID: org.id}\n}\n\nconst connector = connect(mstp)\n\nexport default connector(LoadDataTabbedPage)\n","import React, {FC} from 'react'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport RateLimitAlert from 'src/cloud/components/RateLimitAlert'\n\nconst LoadDataHeader: FC = () => {\n return (\n \n \n \n \n )\n}\n\nexport default LoadDataHeader\n","// Libraries\nimport React, {SFC} from 'react'\n\ninterface Props {\n childrenLeft?: JSX.Element[] | JSX.Element\n childrenRight?: JSX.Element[] | JSX.Element\n}\n\nconst TabbedPageHeader: SFC = ({childrenLeft, childrenRight}) => {\n let leftHeader = <>\n let rightHeader = <>\n\n if (childrenLeft) {\n leftHeader =
    {childrenLeft}
    \n }\n\n if (childrenRight) {\n rightHeader = (\n
    {childrenRight}
    \n )\n }\n\n return (\n
    \n {leftHeader}\n {rightHeader}\n
    \n )\n}\n\nexport default TabbedPageHeader\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Context, Alignment, ComponentSize} from 'src/clockface'\n\nimport {\n ButtonShape,\n ComponentColor,\n IconFont,\n FlexBox,\n AlignItems,\n FlexDirection,\n} from '@influxdata/clockface'\n\n// Types\nimport {OwnBucket} from 'src/types'\n\ninterface Props {\n bucket: OwnBucket\n onDeleteBucket: (bucket: OwnBucket) => void\n}\n\nexport default class BucketContextMenu extends PureComponent {\n public render() {\n return (\n <>\n \n \n {this.deleteButton}\n \n \n \n )\n }\n\n private get deleteButton() {\n const {bucket, onDeleteBucket} = this.props\n if (bucket.type === 'user') {\n return (\n \n \n \n )\n } else {\n return null\n }\n }\n}\n","// Libraries\nimport React, {FC} from 'react'\nimport CopyToClipboard from 'react-copy-to-clipboard'\nimport {capitalize} from 'lodash'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Constants\nimport {\n copyToClipboardSuccess,\n copyToClipboardFailed,\n} from 'src/shared/copy/notifications'\n\n// Actions\nimport {notify as notifyAction} from 'src/shared/actions/notifications'\n\n// Components\nimport {ResourceCard} from '@influxdata/clockface'\n\n// Types\nimport {OwnBucket} from 'src/types'\n\ninterface OwnProps {\n bucket: OwnBucket\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nconst BucketCardMeta: FC = ({bucket, notify}) => {\n const handleCopyAttempt = (\n copiedText: string,\n isSuccessful: boolean\n ): void => {\n const text = copiedText.slice(0, 30).trimRight()\n const truncatedText = `${text}...`\n\n if (isSuccessful) {\n notify(copyToClipboardSuccess(truncatedText, 'Bucket ID'))\n } else {\n notify(copyToClipboardFailed(truncatedText, 'Bucket ID'))\n }\n }\n\n const persistentBucketMeta = (\n \n Retention: {capitalize(bucket.readableRetention)}\n \n )\n\n if (bucket.type === 'system') {\n return (\n \n \n System Bucket\n \n {persistentBucketMeta}\n \n )\n }\n\n return (\n \n {persistentBucketMeta}\n \n \n ID: {bucket.id}\n Copy to Clipboard\n \n \n \n )\n}\n\nconst mdtp = {\n notify: notifyAction,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(BucketCardMeta)\n","// Libraries\nimport React, {PureComponent, createRef, RefObject} from 'react'\n\n// Components\nimport CloudExclude from 'src/shared/components/cloud/CloudExclude'\nimport {\n Button,\n ButtonRef,\n IconFont,\n ComponentSize,\n ComponentColor,\n Popover,\n Appearance,\n PopoverPosition,\n} from '@influxdata/clockface'\n\ninterface Props {\n onAddCollector: () => void\n onAddLineProtocol: () => void\n onAddClientLibrary: () => void\n onAddScraper: () => void\n}\n\nexport default class BucketAddDataButton extends PureComponent {\n private triggerRef: RefObject = createRef()\n\n public render() {\n const {\n onAddCollector,\n onAddLineProtocol,\n onAddClientLibrary,\n onAddScraper,\n } = this.props\n\n return (\n <>\n (\n
    \n
    \n
    \n Configure Telegraf Agent\n
    \n
    \n Configure a Telegraf agent to push data into your bucket.\n
    \n
    \n \n \n Line Protocol\n
    \n
    \n Quickly load an existing line protocol file.\n
    \n
    \n \n \n Client Library\n
    \n
    \n Write data easily from your own application.\n
    \n
    \n \n
    \n
    \n Scrape Metrics\n
    \n
    \n Add a scrape target to pull data into your bucket.\n
    \n
    \n
    \n
    \n )}\n />\n \n \n )\n }\n}\n","// Libraries\nimport React, {FC} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n Button,\n FlexBox,\n FlexDirection,\n ComponentSize,\n} from '@influxdata/clockface'\nimport BucketAddDataButton from 'src/buckets/components/BucketAddDataButton'\nimport InlineLabels from 'src/shared/components/inlineLabels/InlineLabels'\nimport {FeatureFlag} from 'src/shared/utils/featureFlag'\n\n// Actions\nimport {addBucketLabel, deleteBucketLabel} from 'src/buckets/actions/thunks'\nimport {setBucketInfo} from 'src/dataLoaders/actions/steps'\nimport {setDataLoadersType} from 'src/dataLoaders/actions/dataLoaders'\n\n// Types\nimport {Label, OwnBucket} from 'src/types'\nimport {DataLoaderType} from 'src/types/dataLoaders'\n\ninterface OwnProps {\n bucket: OwnBucket\n bucketType: 'user' | 'system'\n orgID: string\n onDeleteData: (b: OwnBucket) => void\n onFilterChange: (searchTerm: string) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype RouterProps = RouteComponentProps<{orgID: string}>\ntype Props = OwnProps & ReduxProps & RouterProps\n\nconst BucketCardActions: FC = ({\n bucket,\n bucketType,\n orgID,\n onFilterChange,\n onAddBucketLabel,\n onDeleteBucketLabel,\n onDeleteData,\n history,\n onSetDataLoadersBucket,\n onSetDataLoadersType,\n}) => {\n if (bucketType === 'system') {\n return null\n }\n\n const handleAddLabel = (label: Label) => {\n onAddBucketLabel(bucket.id, label)\n }\n\n const handleRemoveLabel = (label: Label) => {\n onDeleteBucketLabel(bucket.id, label)\n }\n\n const handleClickSettings = () => {\n history.push(`/orgs/${orgID}/load-data/buckets/${bucket.id}/edit`)\n }\n\n const handleAddCollector = () => {\n onSetDataLoadersBucket(orgID, bucket.name, bucket.id)\n\n onSetDataLoadersType(DataLoaderType.Streaming)\n history.push(`/orgs/${orgID}/load-data/buckets/${bucket.id}/telegrafs/new`)\n }\n\n const handleAddLineProtocol = () => {\n onSetDataLoadersBucket(orgID, bucket.name, bucket.id)\n\n history.push(\n `/orgs/${orgID}/load-data/buckets/${bucket.id}/line-protocols/new`\n )\n }\n\n const handleAddClientLibrary = (): void => {\n onSetDataLoadersBucket(orgID, bucket.name, bucket.id)\n onSetDataLoadersType(DataLoaderType.ClientLibrary)\n\n history.push(`/orgs/${orgID}/load-data/client-libraries`)\n }\n\n const handleAddScraper = () => {\n onSetDataLoadersBucket(orgID, bucket.name, bucket.id)\n\n onSetDataLoadersType(DataLoaderType.Scraping)\n history.push(`/orgs/${orgID}/load-data/buckets/${bucket.id}/scrapers/new`)\n }\n\n return (\n \n \n \n \n \n onDeleteData(bucket)}\n />\n \n \n )\n}\n\nconst mdtp = {\n onAddBucketLabel: addBucketLabel,\n onDeleteBucketLabel: deleteBucketLabel,\n onSetDataLoadersBucket: setBucketInfo,\n onSetDataLoadersType: setDataLoadersType,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(BucketCardActions))\n","// Libraries\nimport React, {FC} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport _ from 'lodash'\n\n// Components\nimport {ResourceCard} from '@influxdata/clockface'\nimport BucketContextMenu from 'src/buckets/components/BucketContextMenu'\nimport BucketCardMeta from 'src/buckets/components/BucketCardMeta'\nimport BucketCardActions from 'src/buckets/components/BucketCardActions'\n\n// Constants\nimport {isSystemBucket} from 'src/buckets/constants/index'\n\n// Types\nimport {OwnBucket} from 'src/types'\n\ninterface Props {\n bucket: OwnBucket\n onDeleteData: (b: OwnBucket) => void\n onDeleteBucket: (b: OwnBucket) => void\n onUpdateBucket: (b: OwnBucket) => void\n onFilterChange: (searchTerm: string) => void\n}\n\nconst BucketCard: FC> = ({\n bucket,\n onDeleteBucket,\n onFilterChange,\n onDeleteData,\n history,\n match: {\n params: {orgID},\n },\n}) => {\n const handleNameClick = () => {\n history.push(`/orgs/${orgID}/data-explorer?bucket=${bucket.name}`)\n }\n\n return (\n \n )\n }\n >\n \n \n \n \n )\n}\n\nexport default withRouter(BucketCard)\n","// API\nimport {\n getDemoDataBuckets as getDemoDataBucketsAJAX,\n getDemoDataBucketMembership as getDemoDataBucketMembershipAJAX,\n deleteDemoDataBucketMembership as deleteDemoDataBucketMembershipAJAX,\n getNormalizedDemoDataBucket,\n} from 'src/cloud/apis/demodata'\nimport {createDashboardFromTemplate} from 'src/templates/api'\nimport {getBucket} from 'src/client'\n\n// Actions\nimport {addBucket, removeBucket} from 'src/buckets/actions/creators'\nimport {notify} from 'src/shared/actions/notifications'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\n\n// Constants\nimport {DemoDataTemplates} from 'src/cloud/constants'\nimport {\n demoDataAddBucketFailed,\n demoDataDeleteBucketFailed,\n demoDataSucceeded,\n} from 'src/shared/copy/notifications'\n\n// Utils\nimport {reportError} from 'src/shared/utils/errors'\nimport {getErrorMessage} from 'src/utils/api'\nimport {event} from 'src/cloud/utils/reporting'\n\n// Types\nimport {Bucket, RemoteDataState, GetState, DemoBucket} from 'src/types'\n\nexport type Actions =\n | ReturnType\n | ReturnType\n\nexport const setDemoDataStatus = (status: RemoteDataState) => ({\n type: 'SET_DEMODATA_STATUS' as 'SET_DEMODATA_STATUS',\n payload: {status},\n})\n\nexport const setDemoDataBuckets = (buckets: Bucket[]) => ({\n type: 'SET_DEMODATA_BUCKETS' as 'SET_DEMODATA_BUCKETS',\n payload: {buckets},\n})\n\nexport const getDemoDataBuckets = () => async (\n dispatch,\n getState: GetState\n) => {\n const {\n cloud: {\n demoData: {status},\n },\n } = getState()\n if (status === RemoteDataState.NotStarted) {\n dispatch(setDemoDataStatus(RemoteDataState.Loading))\n }\n\n try {\n const buckets = await getDemoDataBucketsAJAX()\n\n dispatch(setDemoDataBuckets(buckets))\n } catch (error) {\n console.error(error)\n\n reportError(error, {\n name: 'getDemoDataBuckets function',\n })\n\n dispatch(setDemoDataStatus(RemoteDataState.Error))\n }\n}\n\nexport const getDemoDataBucketMembership = ({\n name: bucketName,\n id: bucketID,\n}) => async (dispatch, getState: GetState) => {\n const state = getState()\n\n const {id: orgID} = getOrg(state)\n\n try {\n await getDemoDataBucketMembershipAJAX(bucketID)\n\n const normalizedBucket = await getNormalizedDemoDataBucket(bucketID)\n\n dispatch(addBucket(normalizedBucket))\n } catch (error) {\n dispatch(\n notify(demoDataAddBucketFailed(bucketName, getErrorMessage(error)))\n )\n\n reportError(error, {\n name: 'addDemoDataBucket failed in getDemoDataBucketMembership',\n })\n\n return\n }\n\n try {\n const template = await DemoDataTemplates[bucketName]\n\n if (!template) {\n throw new Error(`dashboard template was not found`)\n }\n\n const createdDashboard = await createDashboardFromTemplate(template, orgID)\n\n const url = `/orgs/${orgID}/dashboards/${createdDashboard.id}`\n\n dispatch(notify(demoDataSucceeded(bucketName, url)))\n\n event('demoData_bucketAdded', {demo_dataset: bucketName})\n } catch (error) {\n const errorMessage = getErrorMessage(error)\n\n dispatch(notify(demoDataAddBucketFailed(bucketName, errorMessage)))\n\n if (errorMessage != 'creating dashboard would exceed quota') {\n reportError(error, {\n name: 'addDemoDataDashboard failed in getDemoDataBucketMembership',\n })\n }\n }\n}\n\nexport const deleteDemoDataBucketMembership = (\n bucket: DemoBucket\n) => async dispatch => {\n try {\n await deleteDemoDataBucketMembershipAJAX(bucket.id)\n\n // an unsuccessful delete membership req can also return 204 to prevent userID sniffing, so need to check that bucket is really unreachable\n const resp = await getBucket({bucketID: bucket.id})\n\n if (resp.status === 200) {\n throw new Error('Request to remove demo data bucket did not succeed')\n }\n\n dispatch(removeBucket(bucket.id))\n event('demoData_bucketDeleted', {demo_dataset: bucket.name})\n } catch (error) {\n dispatch(notify(demoDataDeleteBucketFailed(bucket.name, error)))\n\n reportError(error, {\n name: 'deleteDemoDataBucket failed in deleteDemoDataBucketMembership',\n })\n }\n}\n","// Libraries\nimport React, {FC} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport CopyToClipboard from 'react-copy-to-clipboard'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Constants\nimport {\n copyToClipboardSuccess,\n copyToClipboardFailed,\n} from 'src/shared/copy/notifications'\n\n// Components\nimport {\n ResourceCard,\n Label,\n Alignment,\n AlignItems,\n ComponentSize,\n ComponentColor,\n ButtonShape,\n FlexDirection,\n FlexBox,\n IconFont,\n} from '@influxdata/clockface'\nimport {Context} from 'src/clockface'\n\n// Actions\nimport {deleteDemoDataBucketMembership} from 'src/cloud/actions/demodata'\nimport {notify as notifyAction} from 'src/shared/actions/notifications'\n\n// Types\nimport {DemoBucket} from 'src/types'\n\ninterface OwnProps {\n bucket: DemoBucket\n}\ntype ReduxProps = ConnectedProps\ntype RouterProps = RouteComponentProps<{orgID: string}>\ntype Props = OwnProps & ReduxProps & RouterProps\n\nconst DemoDataBucketCard: FC = ({\n bucket,\n history,\n match: {\n params: {orgID},\n },\n removeBucket,\n notify,\n}) => {\n const handleNameClick = () => {\n history.push(`/orgs/${orgID}/data-explorer?bucket=${bucket.name}`)\n }\n\n const handleCopyAttempt = (\n copiedText: string,\n isSuccessful: boolean\n ): void => {\n const text = copiedText.slice(0, 30).trimRight()\n const truncatedText = `${text}...`\n\n if (isSuccessful) {\n notify(copyToClipboardSuccess(truncatedText, 'Bucket ID'))\n } else {\n notify(copyToClipboardFailed(truncatedText, 'Bucket ID'))\n }\n }\n\n return (\n \n \n \n \n \n \n \n }\n >\n \n \n \n Demo Data Bucket\n \n <>Retention: {bucket.readableRetention}\n \n \n ID: {bucket.id}\n Copy to Clipboard\n \n \n \n \n \n \n \n )\n}\n\nconst mdtp = {\n removeBucket: deleteDemoDataBucketMembership,\n notify: notifyAction,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(DemoDataBucketCard))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport BucketCard from 'src/buckets/components/BucketCard'\nimport DemoDataBucketCard from 'src/buckets/components/DemoDataBucketCard'\nimport {ResourceList} from '@influxdata/clockface'\n\n// Selectors\nimport {getSortedResources} from 'src/shared/utils/sort'\n\n// Types\nimport {Bucket, OwnBucket} from 'src/types'\nimport {Sort} from '@influxdata/clockface'\n\n// Utils\nimport {SortTypes} from 'src/shared/utils/sort'\n\ninterface Props {\n buckets: Bucket[]\n emptyState: JSX.Element\n onUpdateBucket: (b: OwnBucket) => void\n onDeleteBucket: (b: OwnBucket) => void\n onFilterChange: (searchTerm: string) => void\n sortKey: string\n sortDirection: Sort\n sortType: SortTypes\n}\n\nclass BucketList extends PureComponent<\n Props & RouteComponentProps<{orgID: string}>\n> {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n public render() {\n return (\n \n \n {this.listBuckets}\n \n \n )\n }\n\n private get listBuckets(): JSX.Element[] {\n const {\n buckets,\n sortKey,\n sortDirection,\n sortType,\n onDeleteBucket,\n onFilterChange,\n onUpdateBucket,\n } = this.props\n const sortedBuckets = this.memGetSortedResources(\n buckets,\n sortKey,\n sortDirection,\n sortType\n )\n\n return sortedBuckets.map(bucket => {\n if (bucket.type === 'demodata') {\n return \n }\n return (\n \n )\n })\n }\n\n private handleStartDeleteData = (bucket: OwnBucket) => {\n const {orgID} = this.props.match.params\n\n this.props.history.push(\n `/orgs/${orgID}/load-data/buckets/${bucket.id}/delete-data`\n )\n }\n}\n\nexport default withRouter(BucketList)\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {Panel, Gradients} from '@influxdata/clockface'\n\nconst BucketExplainer: FunctionComponent = () => (\n \n \n
    What is a Bucket?
    \n
    \n \n

    \n A bucket is a named location where time series data is stored. All\n buckets have a Retention Policy, a duration of time that each\n data point persists.\n
    \n
    \n Here's{' '}\n \n how to write data\n {' '}\n into your bucket.\n

    \n
    \n
    \n)\n\nexport default BucketExplainer\n","// Libraries\nimport React, {FC, useEffect} from 'react'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\nimport {get, sortBy} from 'lodash'\n\n// Actions\nimport {\n getDemoDataBucketMembership as getDemoDataBucketMembershipAction,\n getDemoDataBuckets,\n} from 'src/cloud/actions/demodata'\n\n// Components\nimport {ComponentColor, Dropdown, Icon, IconFont} from '@influxdata/clockface'\n\n// Types\nimport {AppState, Bucket, ResourceType} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst DemoDataDropdown: FC = ({\n ownBucketsByID,\n demoDataBuckets,\n getDemoDataBucketMembership,\n}) => {\n const dispatch = useDispatch()\n useEffect(() => {\n dispatch(getDemoDataBuckets())\n }, [dispatch])\n\n if (!demoDataBuckets.length) {\n return null\n }\n\n const sortedBuckets = sortBy(demoDataBuckets, d => {\n return d.name.toLocaleLowerCase()\n })\n\n const dropdownItems = sortedBuckets.map(b => {\n if (ownBucketsByID[b.id]) {\n return (\n \n
    \n \n {b.name}\n
    \n \n )\n }\n\n return (\n \n
    \n \n {b.name}\n
    \n \n )\n })\n\n return (\n (\n \n Add Demo Data\n \n )}\n menu={onCollapse => (\n {dropdownItems}\n )}\n />\n )\n}\n\nconst mstp = (state: AppState) => ({\n ownBucketsByID: state.resources[ResourceType.Buckets].byID,\n demoDataBuckets: get(state, 'cloud.demoData.buckets', []) as Bucket[],\n})\n\nconst mdtp = {\n getDemoDataBucketMembership: getDemoDataBucketMembershipAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(DemoDataDropdown)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Button, ComponentColor, IconFont} from '@influxdata/clockface'\n\n// Actions\nimport {showOverlay, dismissOverlay} from 'src/overlays/actions/overlays'\n\ninterface OwnProps {\n color?: ComponentColor\n resourceName: string\n buttonText?: string\n}\n\ntype ReduxProps = ConnectedProps\n\nconst AssetLimitButton: FC = ({\n color = ComponentColor.Primary,\n buttonText,\n resourceName,\n onShowOverlay,\n onDismissOverlay,\n}) => {\n const handleClick = () => {\n onShowOverlay('asset-limit', {asset: `${resourceName}s`}, onDismissOverlay)\n }\n return (\n \n )\n}\n\nconst mdtp = {\n onShowOverlay: showOverlay,\n onDismissOverlay: dismissOverlay,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(AssetLimitButton)\n","// Libraries\nimport React, {FC, useEffect} from 'react'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\n\n// Components\nimport {Button, IconFont, ComponentColor} from '@influxdata/clockface'\nimport AssetLimitButton from 'src/cloud/components/AssetLimitButton'\n\n// Actions\nimport {checkBucketLimits, LimitStatus} from 'src/cloud/actions/limits'\nimport {showOverlay, dismissOverlay} from 'src/overlays/actions/overlays'\n\n// Utils\nimport {extractBucketLimits} from 'src/cloud/utils/limits'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Constants\nimport {CLOUD} from 'src/shared/constants'\n\ntype ReduxProps = ConnectedProps\n\nconst CreateBucketButton: FC = ({\n limitStatus,\n onShowOverlay,\n onDismissOverlay,\n}) => {\n const dispatch = useDispatch()\n useEffect(() => {\n // Check bucket limits when component mounts\n dispatch(checkBucketLimits())\n }, [dispatch])\n\n const handleItemClick = (): void => {\n onShowOverlay('create-bucket', null, onDismissOverlay)\n }\n\n if (CLOUD && limitStatus === LimitStatus.EXCEEDED) {\n return \n }\n\n return (\n \n )\n}\n\nconst mstp = (state: AppState) => {\n return {\n limitStatus: extractBucketLimits(state.cloud.limits),\n }\n}\n\nconst mdtp = {\n onShowOverlay: showOverlay,\n onDismissOverlay: dismissOverlay,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(CreateBucketButton)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {isEmpty} from 'lodash'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {\n Grid,\n ComponentSize,\n Sort,\n EmptyState,\n Columns,\n} from '@influxdata/clockface'\nimport SearchWidget from 'src/shared/components/search_widget/SearchWidget'\nimport TabbedPageHeader from 'src/shared/components/tabbed_page/TabbedPageHeader'\nimport FilterList from 'src/shared/components/FilterList'\nimport BucketList from 'src/buckets/components/BucketList'\nimport AssetLimitAlert from 'src/cloud/components/AssetLimitAlert'\nimport BucketExplainer from 'src/buckets/components/BucketExplainer'\nimport DemoDataDropdown from 'src/buckets/components/DemoDataDropdown'\nimport {FeatureFlag} from 'src/shared/utils/featureFlag'\nimport ResourceSortDropdown from 'src/shared/components/resource_sort_dropdown/ResourceSortDropdown'\nimport CreateBucketButton from 'src/buckets/components/CreateBucketButton'\n\n// Actions\nimport {\n createBucket,\n updateBucket,\n deleteBucket,\n} from 'src/buckets/actions/thunks'\nimport {checkBucketLimits as checkBucketLimitsAction} from 'src/cloud/actions/limits'\n\n// Utils\nimport {extractBucketLimits} from 'src/cloud/utils/limits'\nimport {getAll} from 'src/resources/selectors'\nimport {SortTypes} from 'src/shared/utils/sort'\n\n// Types\nimport {AppState, Bucket, ResourceType, OwnBucket} from 'src/types'\nimport {BucketSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\n\ninterface State {\n searchTerm: string\n sortKey: BucketSortKey\n sortDirection: Sort\n sortType: SortTypes\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst FilterBuckets = FilterList()\n\n@ErrorHandling\nclass BucketsTab extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n searchTerm: '',\n sortKey: 'name',\n sortDirection: Sort.Ascending,\n sortType: SortTypes.String,\n }\n }\n\n public componentDidMount() {\n this.props.checkBucketLimits()\n }\n\n public render() {\n const {buckets, limitStatus} = this.props\n const {searchTerm, sortKey, sortDirection, sortType} = this.state\n\n const leftHeaderItems = (\n <>\n \n \n \n )\n\n const rightHeaderItems = (\n <>\n \n \n \n \n \n )\n\n return (\n <>\n \n \n \n \n \n {bs => (\n \n )}\n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleSort = (\n sortKey: BucketSortKey,\n sortDirection: Sort,\n sortType: SortTypes\n ): void => {\n this.setState({sortKey, sortDirection, sortType})\n }\n\n private handleDeleteBucket = ({id, name}: OwnBucket) => {\n this.props.deleteBucket(id, name)\n }\n\n private handleFilterUpdate = (searchTerm: string): void => {\n this.setState({searchTerm})\n }\n\n private get emptyState(): JSX.Element {\n const {searchTerm} = this.state\n\n if (isEmpty(searchTerm)) {\n return (\n \n \n Looks like there aren't any Buckets, why not create one?\n \n \n \n )\n }\n\n return (\n \n No Buckets match your query\n \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n const buckets = getAll(state, ResourceType.Buckets)\n return {\n buckets,\n limitStatus: extractBucketLimits(state.cloud.limits),\n }\n}\n\nconst mdtp = {\n createBucket,\n updateBucket,\n deleteBucket,\n checkBucketLimits: checkBucketLimitsAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(BucketsTab)\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Dropdown} from '@influxdata/clockface'\n\n// Types\nimport {WritePrecision} from 'src/types'\nimport {Precision} from 'src/types/dataLoaders'\n\ninterface Props {\n setPrecision: (precision: WritePrecision) => void\n precision: WritePrecision\n}\n\nconst writePrecisions: WritePrecision[] = [\n WritePrecision.Ns,\n WritePrecision.Us,\n WritePrecision.Ms,\n WritePrecision.S,\n]\n\nconst makePrecisionReadable = {\n [WritePrecision.Ns]: Precision.Nanoseconds,\n [WritePrecision.Us]: Precision.Microseconds,\n [WritePrecision.S]: Precision.Seconds,\n [WritePrecision.Ms]: Precision.Milliseconds,\n}\n\nclass PrecisionDropdown extends PureComponent {\n public render() {\n const {setPrecision, precision} = this.props\n return (\n (\n \n {`Precision: ${makePrecisionReadable[precision]}`}\n \n )}\n menu={onCollapse => (\n \n {writePrecisions.map(value => (\n \n {makePrecisionReadable[value]}\n \n ))}\n \n )}\n />\n )\n }\n}\n\nexport default PrecisionDropdown\n","import React, {PureComponent} from 'react'\n\nimport {SelectGroup} from '@influxdata/clockface'\n\nimport {LineProtocolTab} from 'src/types'\n\ninterface Props {\n active: boolean\n tab: LineProtocolTab\n onClick: (tab: LineProtocolTab) => void\n}\n\nexport default class extends PureComponent {\n public render() {\n const {tab, active} = this.props\n\n return (\n \n {tab}\n \n )\n }\n\n private handleClick = () => {\n this.props.onClick(this.props.tab)\n }\n}\n","import React, {PureComponent} from 'react'\n\nimport {SelectGroup, ButtonShape} from '@influxdata/clockface'\nimport {LineProtocolTab} from 'src/types'\n\nimport Tab from 'src/buckets/components/lineProtocol/configure/Tab'\n\ninterface Props {\n tabs: LineProtocolTab[]\n activeLPTab: LineProtocolTab\n onClick: (tab: LineProtocolTab) => void\n}\n\nexport default class extends PureComponent {\n public render() {\n const {tabs, activeLPTab} = this.props\n return (\n \n {tabs.map(t => (\n \n ))}\n \n )\n }\n\n private handleTabClick = (tab: LineProtocolTab) => {\n const {activeLPTab, onClick} = this.props\n if (tab !== activeLPTab) {\n onClick(tab)\n }\n }\n}\n","// Libraries\nimport React, {FC} from 'react'\nimport {MAX_FILE_SIZE} from './DragAndDrop'\n\ninterface Props {\n uploadContent: string\n fileName: string\n fileSize: number\n}\n\nconst DragAndDropHeader: FC = ({uploadContent, fileName, fileSize}) => {\n if (fileSize > MAX_FILE_SIZE) {\n return (\n \n {fileName} is greater than 10MB\n
    \n )\n }\n\n if (uploadContent) {\n return
    {fileName}
    \n }\n\n return (\n
    \n Drop a file here or click to upload. Max size 10MB.\n
    \n )\n}\n\nexport default DragAndDropHeader\n","import React, {FC} from 'react'\nimport {\n Button,\n ComponentColor,\n ComponentSize,\n ButtonType,\n} from '@influxdata/clockface'\n\ninterface Props {\n fileSize: number\n uploadContent: string\n onCancel: () => void\n onSubmit: () => void\n}\n\nconst MAX_FILE_SIZE = 1e7 // 10MB\n\nconst DragAndDropButtons: FC = ({\n fileSize,\n uploadContent,\n onCancel,\n onSubmit,\n}) => {\n if (fileSize > MAX_FILE_SIZE) {\n return (\n \n \n \n )\n }\n\n if (!uploadContent) {\n return null\n }\n\n return (\n \n \n \n \n )\n}\n\nexport default DragAndDropButtons\n","// Libraries\nimport React, {FC} from 'react'\nimport cn from 'classnames'\n\ninterface Props {\n uploadContent: string\n}\n\nconst DragInfo: FC = ({uploadContent}) => {\n const className = cn('drag-and-drop--graphic', {success: uploadContent})\n\n return
    \n}\n\nexport default DragInfo\n","import React, {PureComponent, ChangeEvent, RefObject} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport DragAndDropHeader from './DragAndDropHeader'\nimport DragAndDropButtons from './DragAndDropButtons'\nimport DragInfo from './DragInfo'\n\nexport const MAX_FILE_SIZE = 1e7\n\ninterface Props {\n className: string\n onSubmit: () => void\n onSetBody: (body: string) => void\n}\n\ninterface State {\n fileSize: number\n inputContent: string\n uploadContent: string\n fileName: string\n dragClass: string\n}\n\nlet dragCounter = 0\nclass DragAndDrop extends PureComponent {\n private fileInput: RefObject\n\n constructor(props: Props) {\n super(props)\n\n this.fileInput = React.createRef()\n\n this.state = {\n fileSize: -Infinity,\n inputContent: null,\n uploadContent: '',\n fileName: '',\n dragClass: 'drag-none',\n }\n }\n\n public componentDidMount() {\n window.addEventListener('dragover', this.handleWindowDragOver)\n window.addEventListener('drop', this.handleFileDrop)\n window.addEventListener('dragenter', this.handleDragEnter)\n window.addEventListener('dragleave', this.handleDragLeave)\n }\n\n public componentWillUnmount() {\n window.removeEventListener('dragover', this.handleWindowDragOver)\n window.removeEventListener('drop', this.handleFileDrop)\n window.removeEventListener('dragenter', this.handleDragEnter)\n window.removeEventListener('dragleave', this.handleDragLeave)\n }\n\n public render() {\n const {uploadContent, fileName, fileSize} = this.state\n\n return (\n
    \n
    \n \n \n \n \n
    \n
    \n )\n }\n\n private handleSubmit = () => {\n this.props.onSubmit()\n }\n\n private handleWindowDragOver = (event: DragEvent) => {\n event.preventDefault()\n }\n\n private get containerClass(): string {\n const {dragClass} = this.state\n const {className} = this.props\n\n return classnames('drag-and-drop', {\n [dragClass]: true,\n [className]: className,\n })\n }\n\n private get dragAreaClass(): string {\n const {uploadContent} = this.state\n\n return classnames('drag-and-drop--form', {active: !uploadContent})\n }\n\n private handleFileClick = (e: ChangeEvent): void => {\n const file: File = e.currentTarget.files[0]\n const fileSize = file.size\n\n this.setState({\n fileName: file.name,\n fileSize,\n })\n\n if (fileSize >= MAX_FILE_SIZE) {\n return\n }\n\n e.preventDefault()\n e.stopPropagation()\n\n this.uploadFile(file)\n }\n\n private handleFileDrop = (e: DragEvent): void => {\n const file: File = e.dataTransfer.files[0]\n const fileSize = file.size\n\n this.setState({\n fileName: file.name,\n fileSize: file.size,\n dragClass: 'drag-none',\n })\n\n if (fileSize >= MAX_FILE_SIZE) {\n return\n }\n\n e.preventDefault()\n e.stopPropagation()\n\n this.uploadFile(file)\n }\n\n private uploadFile = (file: File) => {\n const reader = new FileReader()\n reader.onload = () => {\n this.setState(\n {\n uploadContent: reader.result as string,\n fileName: file.name,\n },\n () => {\n this.props.onSetBody(this.state.uploadContent)\n }\n )\n }\n reader.readAsText(file)\n }\n\n private handleFileOpen = (): void => {\n const {uploadContent} = this.state\n if (uploadContent === '') {\n this.fileInput.current.click()\n }\n }\n\n private handleCancelFile = (): void => {\n this.setState({uploadContent: '', fileSize: -Infinity})\n this.fileInput.current.value = ''\n }\n\n private handleDragEnter = (e: DragEvent): void => {\n dragCounter += 1\n e.preventDefault()\n this.setState({dragClass: 'drag-over'})\n }\n\n private handleDragLeave = (e: DragEvent): void => {\n dragCounter -= 1\n e.preventDefault()\n if (dragCounter === 0) {\n this.setState({dragClass: 'drag-none'})\n }\n }\n}\n\nexport default DragAndDrop\n","// Types\nimport {RemoteDataState, WritePrecision, LineProtocolTab} from 'src/types'\n\nexport const SET_BODY = 'SET_BODY'\nexport const SET_TAB = 'SET_TAB'\nexport const SET_WRITE_STATUS = 'SET_WRITE_STATUS'\nexport const SET_PRECISION = 'SET_PRECISION'\nexport const RESET_LINE_PROTOCOL_STATE = 'RESET_LINE_PROTOCOL_STATE'\n\nexport type Action =\n | ReturnType\n | ReturnType\n | ReturnType\n | ReturnType\n | ReturnType\n\nexport const setBody = (body: string) =>\n ({\n type: SET_BODY,\n body,\n } as const)\n\nexport const setTab = (tab: LineProtocolTab) =>\n ({\n type: SET_TAB,\n tab,\n } as const)\n\nexport const setWriteStatus = (writeStatus: RemoteDataState, writeError = '') =>\n ({\n type: SET_WRITE_STATUS,\n writeStatus,\n writeError,\n } as const)\n\nexport const setPrecision = (precision: WritePrecision) =>\n ({\n type: SET_PRECISION,\n precision,\n } as const)\n\nexport const reset = () =>\n ({\n type: RESET_LINE_PROTOCOL_STATE,\n } as const)\n","// Libraries\nimport React, {FC, ChangeEvent, useContext} from 'react'\n\n// Components\nimport {TextArea} from '@influxdata/clockface'\nimport DragAndDrop from 'src/buckets/components/lineProtocol/configure/DragAndDrop'\nimport {Context} from 'src/buckets/components/lineProtocol/LineProtocolWizard'\n\n// Action\nimport {setBody} from 'src/buckets/components/lineProtocol/LineProtocol.creators'\n\ninterface Props {\n onSubmit: () => void\n}\n\nconst TabBody: FC = ({onSubmit}) => {\n const [{body, tab}, dispatch] = useContext(Context)\n\n const handleTextChange = (e: ChangeEvent) => {\n dispatch(setBody(e.target.value))\n }\n\n const handleSetBody = (b: string) => {\n dispatch(setBody(b))\n }\n\n switch (tab) {\n case 'Upload File':\n return (\n \n )\n case 'Enter Manually':\n return (\n \n )\n }\n}\n\nexport default TabBody\n","// Libraries\nimport React, {FC, useContext} from 'react'\nimport cn from 'classnames'\n\n// Components\nimport {SparkleSpinner} from '@influxdata/clockface'\nimport {Context} from 'src/buckets/components/lineProtocol/LineProtocolWizard'\n\n// Types\nimport {RemoteDataState} from 'src/types'\n\nconst getStatusText = (s, writeError) => {\n let status = ''\n let message = ''\n switch (s) {\n case RemoteDataState.Loading:\n status = 'Loading...'\n message = 'Just a moment'\n break\n case RemoteDataState.Done:\n status = 'Data Written Successfully'\n message = 'Hooray!'\n break\n case RemoteDataState.Error:\n status = 'Unable to Write Data'\n message = `${writeError}`\n break\n }\n\n return {\n status,\n message,\n }\n}\n\nconst className = status =>\n cn(`line-protocol--status`, {\n loading: status === RemoteDataState.Loading,\n success: status === RemoteDataState.Done,\n error: status === RemoteDataState.Error,\n })\n\nconst StatusIndicator: FC = () => {\n const [{writeStatus, writeError}] = useContext(Context)\n\n return (\n
    \n

    \n {getStatusText(writeStatus, writeError).status}\n

    \n \n

    \n {getStatusText(writeStatus, writeError).message}\n

    \n
    \n )\n}\n\nexport default StatusIndicator\n","// Libraries\nimport React, {useContext, FC} from 'react'\n\n// Components\nimport PrecisionDropdown from 'src/buckets/components/lineProtocol/configure/PrecisionDropdown'\nimport TabSelector from 'src/buckets/components/lineProtocol/configure/TabSelector'\nimport TabBody from 'src/buckets/components/lineProtocol/configure/TabBody'\nimport {Context} from 'src/buckets/components/lineProtocol/LineProtocolWizard'\n\n// Types\nimport {LineProtocolTab, RemoteDataState, WritePrecision} from 'src/types'\n\n// Actions\nimport {\n setBody,\n setTab,\n setPrecision,\n} from 'src/buckets/components/lineProtocol/LineProtocol.creators'\nimport StatusIndicator from '../verify/StatusIndicator'\n\ninterface OwnProps {\n tabs: LineProtocolTab[]\n onSubmit: () => void\n}\n\ntype Props = OwnProps\n\nconst LineProtocolTabs: FC = ({tabs, onSubmit}) => {\n const [state, dispatch] = useContext(Context)\n const {tab, precision, writeStatus} = state\n\n const handleTabClick = (tab: LineProtocolTab) => {\n dispatch(setBody(''))\n dispatch(setTab(tab))\n }\n\n const handleSetPrecision = (p: WritePrecision) => {\n dispatch(setPrecision(p))\n }\n\n if (writeStatus !== RemoteDataState.NotStarted) {\n return \n }\n\n return (\n <>\n
    \n \n \n
    \n \n \n )\n}\n\nexport default LineProtocolTabs\n","// Libraries\nimport React, {FC} from 'react'\n\nconst LineProtocolHelperText: FC<{}> = () => {\n return (\n

    \n Need help writing InfluxDB Line Protocol?{' '}\n \n See Documentation\n \n

    \n )\n}\n\nexport default LineProtocolHelperText\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {Form, Overlay} from '@influxdata/clockface'\nimport LineProtocolTabs from 'src/buckets/components/lineProtocol/configure/LineProtocolTabs'\nimport LineProtocolHelperText from 'src/buckets/components/lineProtocol/LineProtocolHelperText'\n\n// Types\nimport {LineProtocolTab} from 'src/types/index'\n\ntype OwnProps = {onSubmit: () => void}\ntype Props = OwnProps\n\nconst tabs: LineProtocolTab[] = ['Upload File', 'Enter Manually']\n\nconst LineProtocol: FC = ({onSubmit}) => {\n return (\n
    \n \n \n \n \n
    \n )\n}\n\nexport default LineProtocol\n","import {RemoteDataState, WritePrecision} from 'src/types'\nimport {produce} from 'immer'\n\nimport {\n Action,\n SET_BODY,\n SET_PRECISION,\n SET_WRITE_STATUS,\n SET_TAB,\n RESET_LINE_PROTOCOL_STATE,\n} from 'src/buckets/components/lineProtocol/LineProtocol.creators'\n\nexport interface LineProtocolState {\n body: string\n tab: 'Upload File' | 'Enter Manually'\n writeStatus: RemoteDataState\n writeError: string\n precision: WritePrecision\n}\n\nexport const initialState = (): LineProtocolState => ({\n body: '',\n tab: 'Upload File',\n writeStatus: RemoteDataState.NotStarted,\n writeError: '',\n precision: WritePrecision.Ns,\n})\n\nconst lineProtocolReducer = (\n state = initialState(),\n action: Action\n): LineProtocolState =>\n produce(state, draftState => {\n switch (action.type) {\n case SET_BODY: {\n draftState.body = action.body\n\n return\n }\n case SET_TAB: {\n draftState.tab = action.tab\n\n return\n }\n case SET_WRITE_STATUS: {\n draftState.writeStatus = action.writeStatus\n draftState.writeError = action.writeError\n\n return\n }\n case SET_PRECISION: {\n draftState.precision = action.precision\n\n return\n }\n case RESET_LINE_PROTOCOL_STATE: {\n draftState.body = ''\n draftState.writeStatus = RemoteDataState.NotStarted\n draftState.writeError = ''\n\n return\n }\n }\n })\n\nexport default lineProtocolReducer\n","// Libraries\nimport React, {FC, useContext} from 'react'\n\n// Components\nimport {Context} from './LineProtocolWizard'\nimport {\n Button,\n ButtonType,\n ComponentColor,\n ComponentSize,\n ComponentStatus,\n} from '@influxdata/clockface'\n\n// Types\nimport {RemoteDataState} from 'src/types'\n\ninterface Props {\n onSubmit: () => void\n onCancel: () => void\n onClose: () => void\n}\n\nconst EnterManuallyButtons: FC = ({onSubmit, onCancel, onClose}) => {\n const [{writeStatus, body}] = useContext(Context)\n const status = body ? ComponentStatus.Default : ComponentStatus.Disabled\n\n if (writeStatus === RemoteDataState.Error) {\n return (\n \n )\n }\n\n if (writeStatus === RemoteDataState.Done) {\n return (\n \n )\n }\n\n return (\n \n )\n}\n\nexport default EnterManuallyButtons\n","// Libraries\nimport React, {FC, useContext} from 'react'\n\n// Components\nimport {Context} from './LineProtocolWizard'\nimport {\n Button,\n ButtonType,\n ComponentColor,\n ComponentSize,\n} from '@influxdata/clockface'\n\n// Types\nimport {RemoteDataState} from 'src/types'\n\ninterface Props {\n onClose: () => void\n onCancel: () => void\n}\n\nconst UploadFileButtons: FC = ({onClose, onCancel}) => {\n const [{writeStatus}] = useContext(Context)\n\n if (writeStatus === RemoteDataState.Error) {\n return (\n \n )\n }\n\n if (writeStatus === RemoteDataState.Done) {\n return (\n \n )\n }\n\n return null\n}\n\nexport default UploadFileButtons\n","// Libraries\nimport React, {FC, useContext} from 'react'\nimport {useHistory, useParams} from 'react-router'\n\n// Actions\nimport {reset} from 'src/buckets/components/lineProtocol/LineProtocol.creators'\n\n// Components\nimport {Context} from 'src/buckets/components/lineProtocol/LineProtocolWizard'\nimport EnterManuallyButtons from './EnterManuallyButtons'\nimport UploadFileButtons from './UploadFileButtons'\n\ninterface Props {\n onSubmit: () => void\n}\n\nconst LineProtocolButtons: FC = ({onSubmit}) => {\n const history = useHistory()\n const {orgID} = useParams<{orgID: string}>()\n const [{tab}, dispatch] = useContext(Context)\n const handleCancel = () => {\n dispatch(reset())\n }\n\n const handleClose = () => {\n history.push(`/orgs/${orgID}/load-data/buckets`)\n }\n\n if (tab === 'Enter Manually') {\n return (\n \n )\n }\n\n if (tab === 'Upload File') {\n return \n }\n\n return null\n}\n\nexport default LineProtocolButtons\n","// Libraries\nimport React, {useReducer, Dispatch} from 'react'\nimport {useHistory, useParams} from 'react-router-dom'\nimport {useSelector} from 'react-redux'\n\n// Components\nimport {Overlay, OverlayFooter} from '@influxdata/clockface'\nimport LineProtocol from 'src/buckets/components/lineProtocol/configure/LineProtocol'\nimport {getByID} from 'src/resources/selectors'\n\n// Actions\nimport {writeLineProtocolAction} from 'src/buckets/components/lineProtocol/LineProtocol.thunks'\n\n// Reducers\nimport reducer, {\n initialState,\n LineProtocolState,\n} from 'src/buckets/components/lineProtocol/LineProtocol.reducer'\n\n// Types\nimport {ResourceType, AppState, Bucket} from 'src/types'\nimport {Action} from 'src/buckets/components/lineProtocol/LineProtocol.creators'\nimport LineProtocolFooterButtons from './LineProtocolFooterButtons'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\n\ntype LineProtocolContext = [LineProtocolState, Dispatch]\nexport const Context = React.createContext(null)\n\nconst getState = (bucketID: string) => (state: AppState) => {\n const bucket = getByID(state, ResourceType.Buckets, bucketID)\n const org = getOrg(state).name\n return {bucket: bucket?.name || '', org}\n}\n\nconst LineProtocolWizard = () => {\n const history = useHistory()\n const {bucketID, orgID} = useParams()\n const {bucket, org} = useSelector(getState(bucketID))\n\n const [state, dispatch] = useReducer(reducer, initialState())\n const {body, precision} = state\n\n const handleDismiss = () => {\n history.push(`/orgs/${orgID}/load-data/buckets`)\n }\n\n const handleSubmit = () => {\n writeLineProtocolAction(dispatch, org, bucket, body, precision)\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default LineProtocolWizard\n","// Libraries\nimport {Dispatch} from 'react'\n\n// Action Creators\nimport {\n setWriteStatus,\n Action,\n} from 'src/buckets/components/lineProtocol/LineProtocol.creators'\n\n// APIs\nimport {postWrite as apiPostWrite} from 'src/client'\n\n// Types\nimport {RemoteDataState, WritePrecision} from 'src/types'\n\nexport const writeLineProtocolAction = async (\n dispatch: Dispatch,\n org: string,\n bucket: string,\n body: string,\n precision: WritePrecision\n) => {\n try {\n dispatch(setWriteStatus(RemoteDataState.Loading))\n\n const resp = await apiPostWrite({\n data: body,\n query: {org, bucket, precision},\n })\n\n if (resp.status === 204) {\n dispatch(setWriteStatus(RemoteDataState.Done))\n } else if (resp.status === 429) {\n dispatch(\n setWriteStatus(\n RemoteDataState.Error,\n 'Failed due to plan limits: read cardinality reached'\n )\n )\n } else if (resp.status === 403) {\n dispatch(setWriteStatus(RemoteDataState.Error, resp.data.message))\n } else {\n const message = resp?.data?.message || 'Failed to write data'\n dispatch(setWriteStatus(RemoteDataState.Error, message))\n throw new Error(message)\n }\n } catch (error) {\n console.error(error)\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {downloadTextFile} from 'src/shared/utils/download'\nimport {ComponentColor, Button} from '@influxdata/clockface'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\nimport {AppState} from 'src/types'\n\ninterface OwnProps {\n onDismiss: () => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\nexport class TelegrafEditorFooter extends PureComponent {\n public render() {\n if (!isFlagEnabled('telegrafEditor')) {\n return false\n }\n\n return (\n <>\n \n \n \n )\n }\n\n private handleDownloadConfig = () => {\n downloadTextFile(this.props.script, 'telegraf', '.conf')\n }\n\n private handleSaveConfig = () => {\n this.props.onDismiss()\n }\n}\n\nconst mstp = (state: AppState) => {\n const script = state.telegrafEditor.text\n\n return {\n script,\n }\n}\n\nconst connector = connect(mstp)\n\nexport default connector(TelegrafEditorFooter)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport Loadable from 'react-loadable'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {Overlay} from '@influxdata/clockface'\nimport TelegrafEditorFooter from 'src/dataLoaders/components/TelegrafEditorFooter'\n\nconst spinner =
    \nconst TelegrafEditor = Loadable({\n loader: () => import('src/dataLoaders/components/TelegrafEditor'),\n loading() {\n return spinner\n },\n})\nconst CollectorsStepSwitcher = Loadable({\n loader: () =>\n import(\n 'src/dataLoaders/components/collectorsWizard/CollectorsStepSwitcher'\n ),\n loading() {\n return spinner\n },\n})\nimport {isFlagEnabled, FeatureFlag} from 'src/shared/utils/featureFlag'\n\n// Actions\nimport {notify as notifyAction} from 'src/shared/actions/notifications'\nimport {\n setBucketInfo,\n incrementCurrentStepIndex,\n decrementCurrentStepIndex,\n setCurrentStepIndex,\n clearSteps,\n} from 'src/dataLoaders/actions/steps'\n\nimport {\n clearDataLoaders,\n setActiveTelegrafPlugin,\n setPluginConfiguration,\n} from 'src/dataLoaders/actions/dataLoaders'\nimport {reset} from 'src/dataLoaders/actions/telegrafEditor'\n\n// Types\nimport {AppState, Bucket, ResourceType} from 'src/types'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\nimport {getOrg} from 'src/organizations/selectors'\n\n// Utils\nimport {isSystemBucket} from 'src/buckets/constants'\n\nexport interface CollectorsStepProps {\n currentStepIndex: number\n onIncrementCurrentStepIndex: () => void\n onDecrementCurrentStepIndex: () => void\n notify: typeof notifyAction\n onExit: () => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string}>\n\n@ErrorHandling\nclass CollectorsWizard extends PureComponent {\n public componentDidMount() {\n const {bucket, buckets} = this.props\n if (!bucket && buckets && buckets.length) {\n const {orgID, name, id} = buckets[0]\n this.props.onSetBucketInfo(orgID, name, id)\n }\n this.props.onSetCurrentStepIndex(0)\n }\n\n public render() {\n const {buckets} = this.props\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleDismiss = () => {\n const {history, org} = this.props\n\n if (isFlagEnabled('telegrafEditor')) {\n const {onClearTelegrafEditor} = this.props\n onClearTelegrafEditor()\n } else {\n const {onClearDataLoaders, onClearSteps} = this.props\n onClearDataLoaders()\n onClearSteps()\n }\n history.push(`/orgs/${org.id}/load-data/telegrafs`)\n }\n\n private get stepProps(): CollectorsStepProps {\n const {\n notify,\n currentStepIndex,\n onDecrementCurrentStepIndex,\n onIncrementCurrentStepIndex,\n } = this.props\n\n return {\n currentStepIndex,\n onIncrementCurrentStepIndex,\n onDecrementCurrentStepIndex,\n notify,\n onExit: this.handleDismiss,\n }\n }\n}\n\nconst mstp = (state: AppState) => {\n const {\n links,\n dataLoading: {\n dataLoaders: {telegrafPlugins},\n steps: {currentStep, substep, bucket},\n },\n me: {name},\n telegrafEditor,\n } = state\n\n const buckets = getAll(state, ResourceType.Buckets)\n\n const nonSystemBuckets = buckets.filter(\n bucket => !isSystemBucket(bucket.name)\n )\n\n const org = getOrg(state)\n\n return {\n links,\n telegrafPlugins,\n text: telegrafEditor.text,\n currentStepIndex: currentStep,\n substep,\n username: name,\n bucket,\n buckets: nonSystemBuckets,\n org,\n }\n}\n\nconst mdtp = {\n notify: notifyAction,\n onSetBucketInfo: setBucketInfo,\n onIncrementCurrentStepIndex: incrementCurrentStepIndex,\n onDecrementCurrentStepIndex: decrementCurrentStepIndex,\n onSetCurrentStepIndex: setCurrentStepIndex,\n onClearDataLoaders: clearDataLoaders,\n onClearSteps: clearSteps,\n onClearTelegrafEditor: reset,\n onSetActiveTelegrafPlugin: setActiveTelegrafPlugin,\n onSetPluginConfiguration: setPluginConfiguration,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(CollectorsWizard))\n","// Libraries\nimport React, {\n FunctionComponent,\n useEffect,\n useState,\n ChangeEvent,\n FormEvent,\n useCallback,\n} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport {\n Overlay,\n RemoteDataState,\n SpinnerContainer,\n TechnoSpinner,\n} from '@influxdata/clockface'\nimport BucketOverlayForm from 'src/buckets/components/BucketOverlayForm'\n\n// Actions\nimport {updateBucket} from 'src/buckets/actions/thunks'\nimport {notify} from 'src/shared/actions/notifications'\n\n// APIs\nimport * as api from 'src/client'\n\n// Constants\nimport {DEFAULT_SECONDS} from 'src/buckets/components/Retention'\nimport {getBucketFailed} from 'src/shared/copy/notifications'\n\n//Types\nimport {OwnBucket} from 'src/types'\n\ninterface DispatchProps {\n onUpdateBucket: typeof updateBucket\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{bucketID: string; orgID: string}>\n\nconst UpdateBucketOverlay: FunctionComponent = ({\n onUpdateBucket,\n match,\n history,\n}) => {\n const {orgID, bucketID} = match.params\n const dispatch = useDispatch()\n const [bucketDraft, setBucketDraft] = useState(null)\n\n const [loadingStatus, setLoadingStatus] = useState(RemoteDataState.Loading)\n\n const [retentionSelection, setRetentionSelection] = useState(DEFAULT_SECONDS)\n\n const handleClose = useCallback(() => {\n history.push(`/orgs/${orgID}/load-data/buckets`)\n }, [orgID, history])\n\n useEffect(() => {\n const fetchBucket = async () => {\n const resp = await api.getBucket({bucketID})\n\n if (resp.status !== 200) {\n dispatch(notify(getBucketFailed(bucketID, resp.data.message)))\n handleClose()\n return\n }\n setBucketDraft(resp.data as OwnBucket)\n\n const rules = get(resp.data, 'retentionRules', [])\n const rule = rules.find(r => r.type === 'expire')\n if (rule) {\n setRetentionSelection(rule.everySeconds)\n }\n\n setLoadingStatus(RemoteDataState.Done)\n }\n fetchBucket()\n }, [bucketID, handleClose, dispatch])\n\n const handleChangeRetentionRule = (everySeconds: number): void => {\n setBucketDraft({\n ...bucketDraft,\n retentionRules: [{type: 'expire' as 'expire', everySeconds}],\n })\n setRetentionSelection(everySeconds)\n }\n\n const handleChangeRuleType = (ruleType: 'expire' | null) => {\n if (ruleType) {\n setBucketDraft({\n ...bucketDraft,\n retentionRules: [\n {type: 'expire' as 'expire', everySeconds: retentionSelection},\n ],\n })\n } else {\n setBucketDraft({\n ...bucketDraft,\n retentionRules: [],\n })\n }\n }\n\n const handleSubmit = (e: FormEvent): void => {\n e.preventDefault()\n onUpdateBucket(bucketDraft)\n handleClose()\n }\n\n const handleChangeInput = (e: ChangeEvent) => {\n const key = e.target.name\n const value = e.target.value\n setBucketDraft({...bucketDraft, [key]: value})\n }\n\n const handleClickRename = () => {\n history.push(`/orgs/${orgID}/load-data/buckets/${bucketID}/rename`)\n }\n\n const rules = get(bucketDraft, 'retentionRules', [])\n const rule = rules.find(r => r.type === 'expire')\n\n const retentionSeconds = rule ? rule.everySeconds : retentionSelection\n const ruleType = rule ? ('expire' as 'expire') : null\n\n return (\n \n \n \n }\n loading={loadingStatus}\n >\n \n \n \n \n \n \n )\n}\n\nconst mdtp = {\n onUpdateBucket: updateBucket,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connect<{}, DispatchProps>(\n null,\n mdtp\n)(withRouter(UpdateBucketOverlay))\n","// Libraries\nimport React, {PureComponent} from 'react'\n\nimport _ from 'lodash'\n\n// Components\nimport {\n Button,\n IconFont,\n ComponentColor,\n Alert,\n FlexBox,\n AlignItems,\n FlexDirection,\n ComponentSize,\n ButtonType,\n Form,\n} from '@influxdata/clockface'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n message: string\n effectedItems: string[]\n onConfirm: () => void\n confirmButtonText: string\n}\n\n@ErrorHandling\nclass DangerConfirmationForm extends PureComponent {\n public render() {\n return (\n
    \n \n \n Bad things could happen if you don't read this!\n \n \n <>\n

    {this.props.message}

    \n
      \n {this.props.effectedItems.map(item => (\n
    • {item}
    • \n ))}\n
    \n \n
    \n \n \n \n \n \n )\n }\n}\n\nexport default DangerConfirmationForm\n","// Libraries\nimport React, {PureComponent} from 'react'\n\nimport _ from 'lodash'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport DangerConfirmationForm from 'src/shared/components/dangerConfirmation/DangerConfirmationForm'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n message: string\n effectedItems: string[]\n title: string\n onClose: () => void\n confirmButtonText: string\n}\n\ninterface State {\n isConfirmed: boolean\n}\n\n@ErrorHandling\nclass DangerConfirmationOverlay extends PureComponent {\n public state = {\n isConfirmed: false,\n }\n\n public render() {\n return (\n \n \n \n {this.overlayContents}\n \n \n )\n }\n\n private get overlayTitle() {\n const {title} = this.props\n\n if (this.state.isConfirmed) {\n return title\n }\n\n return 'Are you sure?'\n }\n\n private get overlayContents() {\n const {message, effectedItems, confirmButtonText} = this.props\n if (this.state.isConfirmed) {\n return this.props.children\n }\n\n return (\n \n )\n }\n\n private handleCloseOverlay = () => {\n this.props.onClose()\n }\n\n private handleConfirm = () => {\n this.setState({isConfirmed: true})\n }\n}\n\nexport default DangerConfirmationOverlay\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {ComponentStatus} from 'src/clockface'\nimport {\n Form,\n Input,\n Button,\n ButtonType,\n ComponentColor,\n FlexBox,\n AlignItems,\n FlexDirection,\n ComponentSize,\n} from '@influxdata/clockface'\n\n// Actions\nimport {renameBucket} from 'src/buckets/actions/thunks'\n\n// Types\nimport {AppState, Bucket, ResourceType, OwnBucket} from 'src/types'\n\n// Selectors\nimport {getAll, getByID} from 'src/resources/selectors'\n\ninterface State {\n bucket: OwnBucket\n}\n\ntype ReduxProps = ConnectedProps\ntype RouterProps = RouteComponentProps<{bucketID: string; orgID: string}>\ntype Props = ReduxProps & RouterProps\n\nclass RenameBucketForm extends PureComponent {\n public state = {bucket: this.props.startBucket}\n\n public render() {\n const {bucket} = this.state\n\n return (\n
    \n \n {status => (\n <>\n \n \n \n \n \n \n \n \n )}\n \n \n )\n }\n\n private saveButtonStatus = (\n validationStatus: ComponentStatus\n ): ComponentStatus => {\n if (\n this.state.bucket.name === this.props.startBucket.name ||\n validationStatus === ComponentStatus.Error\n ) {\n return ComponentStatus.Disabled\n }\n\n return validationStatus\n }\n\n private handleValidation = (bucketName: string): string | null => {\n if (!bucketName) {\n return 'Name is required'\n }\n\n if (this.props.buckets.find(b => b.name === bucketName)) {\n return 'This bucket name is taken'\n }\n }\n\n private handleSubmit = (): void => {\n const {startBucket, onRenameBucket} = this.props\n const {bucket} = this.state\n\n onRenameBucket(startBucket.name, bucket)\n this.handleClose()\n }\n\n private handleChangeInput = (e: ChangeEvent) => {\n const name = e.target.value\n const bucket = {...this.state.bucket, name}\n\n this.setState({bucket})\n }\n\n private handleClose = () => {\n const {history, match} = this.props\n\n history.push(`/orgs/${match.params.orgID}/load-data/buckets`)\n }\n}\n\nconst mstp = (state: AppState, props: RouterProps) => {\n const {bucketID} = props.match.params\n\n const startBucket = getByID(state, ResourceType.Buckets, bucketID)\n const buckets = getAll(state, ResourceType.Buckets).filter(\n b => b.id !== bucketID\n )\n\n return {\n startBucket,\n buckets,\n }\n}\n\nconst mdtp = {\n onRenameBucket: renameBucket,\n}\n\nconst connector = connect(mstp, mdtp)\n\n// state mapping requires router\nexport default withRouter(connector(RenameBucketForm))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\nimport _ from 'lodash'\n\n// Components\nimport DangerConfirmationOverlay from 'src/shared/components/dangerConfirmation/DangerConfirmationOverlay'\nimport RenameBucketForm from 'src/buckets/components/RenameBucketForm'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n@ErrorHandling\nclass RenameBucketOverlay extends PureComponent<\n RouteComponentProps<{orgID: string}>\n> {\n public render() {\n return (\n \n \n \n )\n }\n\n private get message(): string {\n return 'Updating the name of a Bucket can have unintended consequences. Anything that references this Bucket by name will stop working including:'\n }\n\n private get effectedItems(): string[] {\n return [\n 'Queries',\n 'Dashboards',\n 'Tasks',\n 'Telegraf Configurations',\n 'Templates',\n ]\n }\n\n private handleClose = () => {\n const {history, match} = this.props\n\n history.push(`/orgs/${match.params.orgID}/load-data/buckets`)\n }\n}\n\nexport default withRouter(RenameBucketOverlay)\n","// Libraries\nimport React, {PureComponent, ChangeEvent, FormEvent} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport {Form, Input, Grid, Button, ButtonType} from '@influxdata/clockface'\nimport BucketDropdown from 'src/dataLoaders/components/BucketsDropdown'\n\n// Types\nimport {Bucket} from 'src/types'\nimport {Columns, ComponentStatus, ComponentColor} from '@influxdata/clockface'\n\ninterface Props {\n buckets: Bucket[]\n name: string\n url: string\n selectedBucketID: string\n onInputChange: (e: ChangeEvent) => void\n onSelectBucket: (bucket: Bucket) => void\n onSubmit: (e: FormEvent) => void\n onDismiss: () => void\n}\n\nexport class ScraperTarget extends PureComponent {\n constructor(props: Props) {\n super(props)\n }\n\n public render() {\n const {\n onInputChange,\n url,\n name,\n onSelectBucket,\n buckets,\n selectedBucketID,\n onSubmit,\n onDismiss,\n } = this.props\n\n return (\n
    \n \n \n \n \n {status => (\n \n )}\n \n \n \n \n \n \n \n \n \n {status => (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n }\n\n private get submitButtonStatus(): ComponentStatus {\n const {name, url, selectedBucketID} = this.props\n\n if (!url || !name || !selectedBucketID) {\n return ComponentStatus.Disabled\n }\n\n return ComponentStatus.Default\n }\n\n private handleNameValidation = (name: string): string | null => {\n if (!name) {\n return 'Name cannot be empty'\n }\n\n return null\n }\n\n private handleUrlValidation = (url: string): string | null => {\n if (!url) {\n return 'Target URL cannot be empty'\n }\n\n const isURLValid =\n _.startsWith(url, 'http://') || _.startsWith(url, 'https://')\n\n if (!isURLValid) {\n return 'Target URL must begin with \"http://\"'\n }\n\n return null\n }\n}\n\nexport default ScraperTarget\n","// Libraries\nimport React, {PureComponent, ChangeEvent, FormEvent} from 'react'\nimport {get} from 'lodash'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport CreateScraperForm from 'src/scrapers/components/CreateScraperForm'\n\n// Actions\nimport {createScraper} from 'src/scrapers/actions/thunks'\n\n// Types\nimport {ScraperTargetRequest} from '@influxdata/influx'\nimport {AppState, Bucket, ResourceType} from 'src/types'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\ninterface OwnProps {\n visible: boolean\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps &\n ReduxProps &\n RouteComponentProps<{orgID: string; bucketID: string}>\n\ninterface State {\n scraper: ScraperTargetRequest\n}\n\nclass CreateScraperOverlay extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n const {\n match: {\n params: {bucketID, orgID},\n },\n buckets,\n } = this.props\n\n const firstBucketID = get(buckets, '0.id', '')\n\n this.state = {\n scraper: {\n name: 'Name this Scraper',\n type: ScraperTargetRequest.TypeEnum.Prometheus,\n url: `${this.origin}/metrics`,\n orgID,\n bucketID: bucketID ? bucketID : firstBucketID,\n },\n }\n }\n\n public render() {\n const {scraper} = this.state\n const {buckets} = this.props\n\n return (\n \n \n \n \n
    \n Scrapers collect data from multiple targets at regular intervals\n and to write to a bucket\n
    \n \n
    \n
    \n
    \n )\n }\n\n private handleInputChange = (e: ChangeEvent) => {\n const value = e.target.value\n const key = e.target.name\n const scraper = {...this.state.scraper, [key]: value}\n\n this.setState({\n scraper,\n })\n }\n\n private handleSelectBucket = (bucket: Bucket) => {\n const {orgID, id} = bucket\n\n const scraper = {...this.state.scraper, orgID: orgID, bucketID: id}\n\n this.setState({scraper})\n }\n\n private handleFormSubmit = (e: FormEvent): void => {\n const {onCreateScraper} = this.props\n const {scraper} = this.state\n e.preventDefault()\n onCreateScraper(scraper)\n this.onDismiss()\n }\n\n private get origin(): string {\n return window.location.origin\n }\n\n private onDismiss = (): void => {\n this.props.history.goBack()\n }\n}\n\nconst mstp = (state: AppState) => ({\n buckets: getAll(state, ResourceType.Buckets),\n})\n\nconst mdtp = {\n onCreateScraper: createScraper,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(CreateScraperOverlay))\n","// Libraries\nimport React, {FunctionComponent, useEffect} from 'react'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {Overlay, SpinnerContainer, TechnoSpinner} from '@influxdata/clockface'\n\n// Components\nimport DeleteDataForm from 'src/shared/components/DeleteDataForm/DeleteDataForm'\n\n// Actions\nimport {\n resetPredicateState,\n setBucketAndKeys,\n} from 'src/shared/actions/predicates'\n\n// Types\nimport {Bucket, AppState, RemoteDataState, ResourceType} from 'src/types'\nimport {getAll} from 'src/resources/selectors'\n\ntype ReduxProps = ConnectedProps\ntype Props = RouteComponentProps<{orgID: string; bucketID: string}> & ReduxProps\n\nconst DeleteDataOverlay: FunctionComponent = ({\n buckets,\n history,\n match: {\n params: {orgID, bucketID},\n },\n}) => {\n const dispatch = useDispatch()\n const bucket = buckets.find(bucket => bucket.id === bucketID)\n const bucketName = bucket?.name\n\n useEffect(() => {\n if (bucketName) {\n dispatch(setBucketAndKeys(bucketName))\n }\n }, [bucketName, dispatch])\n\n const handleDismiss = () => {\n dispatch(resetPredicateState())\n history.push(`/orgs/${orgID}/load-data/buckets/`)\n }\n\n return (\n \n \n \n \n }\n loading={bucket ? RemoteDataState.Done : RemoteDataState.Loading}\n >\n \n \n \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n return {\n buckets: getAll(state, ResourceType.Buckets),\n }\n}\n\nconst connector = connect(mstp)\n\nexport default connector(withRouter(DeleteDataOverlay))\n","// Libraries\nimport React, {Component} from 'react'\nimport {Switch, Route} from 'react-router-dom'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport LoadDataTabbedPage from 'src/settings/components/LoadDataTabbedPage'\nimport LoadDataHeader from 'src/settings/components/LoadDataHeader'\nimport BucketsTab from 'src/buckets/components/BucketsTab'\nimport GetResources from 'src/resources/components/GetResources'\nimport GetAssetLimits from 'src/cloud/components/GetAssetLimits'\nimport LimitChecker from 'src/cloud/components/LimitChecker'\nimport LineProtocolWizard from 'src/buckets/components/lineProtocol/LineProtocolWizard'\nimport CollectorsWizard from 'src/dataLoaders/components/collectorsWizard/CollectorsWizard'\nimport UpdateBucketOverlay from 'src/buckets/components/UpdateBucketOverlay'\nimport RenameBucketOverlay from 'src/buckets/components/RenameBucketOverlay'\nimport CreateScraperOverlay from 'src/scrapers/components/CreateScraperOverlay'\nimport DeleteDataOverlay from 'src/shared/components/DeleteDataOverlay'\nimport {Page} from '@influxdata/clockface'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Constants\nimport {ORGS, ORG_ID, BUCKETS, BUCKET_ID} from 'src/shared/constants/routes'\n\n// Types\nimport {ResourceType} from 'src/types'\n\nconst bucketsPath = `/${ORGS}/${ORG_ID}/load-data/${BUCKETS}/${BUCKET_ID}`\n\n@ErrorHandling\nclass BucketsIndex extends Component {\n public render() {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nexport default BucketsIndex\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Actions\nimport {\n deleteAuthorization,\n updateAuthorization,\n} from 'src/authorizations/actions/thunks'\n\n// Components\nimport {\n ComponentSize,\n FlexBox,\n InputLabel,\n SlideToggle,\n ComponentColor,\n ResourceCard,\n IconFont,\n} from '@influxdata/clockface'\n\nimport {Context} from 'src/clockface'\n\n// Types\nimport {Authorization} from 'src/types'\nimport {DEFAULT_TOKEN_DESCRIPTION} from 'src/dashboards/constants'\n\ninterface OwnProps {\n auth: Authorization\n onClickDescription: (authID: string) => void\n}\n\ntype ReduxProps = ConnectedProps\n\ntype Props = ReduxProps & OwnProps\n\nclass TokenRow extends PureComponent {\n public render() {\n const {description} = this.props.auth\n const {auth} = this.props\n const labelText = this.isTokenEnabled ? 'Active' : 'Inactive'\n return (\n \n \n \n {[<>Created at: {auth.createdAt}]}\n \n \n \n {labelText}\n \n \n )\n }\n\n private get contextMenu(): JSX.Element {\n return (\n \n \n \n \n \n )\n }\n\n private get isTokenEnabled(): boolean {\n const {auth} = this.props\n return auth.status === 'active'\n }\n\n private changeToggle = () => {\n const {auth, onUpdate} = this.props\n if (auth.status === 'active') {\n auth.status = 'inactive'\n } else {\n auth.status = 'active'\n }\n onUpdate(auth)\n }\n\n private handleDelete = () => {\n const {id, description} = this.props.auth\n this.props.onDelete(id, description)\n }\n\n private handleClickDescription = () => {\n const {onClickDescription, auth} = this.props\n onClickDescription(auth.id)\n }\n\n private handleUpdateName = (value: string) => {\n const {auth, onUpdate} = this.props\n onUpdate({...auth, description: value})\n }\n}\n\nconst mdtp = {\n onDelete: deleteAuthorization,\n onUpdate: updateAuthorization,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(TokenRow)\n","// Libraries\nimport React, {Component} from 'react'\nimport classnames from 'classnames'\n\n// Types\nimport {\n PermissionsWidgetMode,\n PermissionsWidgetSelection,\n} from 'src/shared/components/permissionsWidget/PermissionsWidget'\nimport {IconFont} from 'src/clockface'\n\ninterface Props {\n mode?: PermissionsWidgetMode\n id: string\n testID?: string\n label: string\n selected: PermissionsWidgetSelection\n onToggle?: (\n permissionID: string,\n newState: PermissionsWidgetSelection\n ) => void\n}\n\nclass PermissionsWidgetItem extends Component {\n public render() {\n const {label, testID} = this.props\n\n return (\n \n {this.checkbox}\n \n \n )\n }\n\n private get checkbox(): JSX.Element {\n const {mode, selected} = this.props\n\n if (mode === PermissionsWidgetMode.Write) {\n return (\n
    \n \n
    \n )\n }\n\n if (selected === PermissionsWidgetSelection.Selected) {\n return (\n
    \n \n
    \n )\n }\n\n return (\n
    \n \n
    \n )\n }\n\n private get className(): string {\n const {selected, mode} = this.props\n\n return classnames('permissions-widget--item', {\n selected: selected === PermissionsWidgetSelection.Selected,\n unselected: selected === PermissionsWidgetSelection.Unselected,\n selectable: mode === PermissionsWidgetMode.Write,\n })\n }\n\n private handleClick = (): void => {\n const {id, mode, selected, onToggle} = this.props\n\n if (mode === PermissionsWidgetMode.Read || !onToggle) {\n return\n }\n\n if (selected === PermissionsWidgetSelection.Selected) {\n onToggle(id, PermissionsWidgetSelection.Unselected)\n } else if (selected === PermissionsWidgetSelection.Unselected) {\n onToggle(id, PermissionsWidgetSelection.Selected)\n }\n }\n}\n\nexport default PermissionsWidgetItem\n","// Libraries\nimport React, {Component} from 'react'\n\n// Components\nimport {\n Button,\n ComponentSize,\n FlexBox,\n FlexDirection,\n JustifyContent,\n} from '@influxdata/clockface'\nimport PermissionsWidgetItem from 'src/shared/components/permissionsWidget/PermissionsWidgetItem'\n\n// Types\nimport {PermissionsWidgetMode} from 'src/shared/components/permissionsWidget/PermissionsWidget'\n\ninterface Props {\n children: JSX.Element[] | JSX.Element\n mode?: PermissionsWidgetMode\n id: string\n title: string\n onSelectAll?: (sectionID: string) => void\n onDeselectAll?: (sectionID: string) => void\n testID?: string\n}\n\nclass PermissionsWidgetSection extends Component {\n public render() {\n const {title, testID} = this.props\n\n return (\n \n
    \n

    {title}

    \n {this.selectionButtons}\n
    \n
      \n {this.sectionItems}\n
    \n \n )\n }\n\n private get sectionItems(): JSX.Element[] {\n const {children, mode} = this.props\n\n return React.Children.map(children, (child: JSX.Element) => {\n if (child.type !== PermissionsWidgetItem) {\n return null\n }\n\n return \n })\n }\n\n private get selectionButtons(): JSX.Element {\n const {mode, title} = this.props\n\n if (mode === PermissionsWidgetMode.Write) {\n return (\n \n \n \n \n )\n }\n }\n\n private handleSelectAll = (): void => {\n const {id, onSelectAll} = this.props\n\n if (onSelectAll) {\n onSelectAll(id)\n }\n }\n\n private handleDeselectAll = (): void => {\n const {id, onDeselectAll} = this.props\n\n if (onDeselectAll) {\n onDeselectAll(id)\n }\n }\n}\n\nexport default PermissionsWidgetSection\n","// Libraries\nimport React, {Component, CSSProperties} from 'react'\n\n// Components\nimport {DapperScrollbars} from '@influxdata/clockface'\nimport PermissionsWidgetSection from 'src/shared/components/permissionsWidget/PermissionsWidgetSection'\nimport PermissionsWidgetItem from 'src/shared/components/permissionsWidget/PermissionsWidgetItem'\n\nexport enum PermissionsWidgetMode {\n Read = 'read',\n Write = 'write',\n}\n\nexport enum PermissionsWidgetSelection {\n Selected = 'selected',\n Unselected = 'unselected',\n}\n\ninterface Props {\n children: JSX.Element[] | JSX.Element\n mode: PermissionsWidgetMode\n heightPixels: number\n className?: string\n}\n\nclass PermissionsWidget extends Component {\n public static defaultProps = {\n heightPixels: 500,\n }\n\n public static Section = PermissionsWidgetSection\n public static Item = PermissionsWidgetItem\n\n public render() {\n return (\n
    \n
    {this.headerText}
    \n
    \n {this.sections}\n
    \n
    \n )\n }\n\n private get className(): string {\n const {className} = this.props\n\n if (className) {\n return `permissions-widget ${className}`\n }\n\n return 'permissions-widget'\n }\n\n private get sections() {\n const {children, mode} = this.props\n\n return React.Children.map(children, (child: JSX.Element) => {\n if (child.type !== PermissionsWidgetSection) {\n return null\n }\n\n return \n })\n }\n\n private get style(): CSSProperties {\n const {heightPixels} = this.props\n\n return {height: `${heightPixels}px`}\n }\n\n private get headerText(): string {\n const {mode} = this.props\n\n if (mode === PermissionsWidgetMode.Read) {\n return 'Summary of access permissions'\n } else if (mode === PermissionsWidgetMode.Write) {\n return 'Summary of access permissions, each item can be toggled ON or OFF'\n }\n }\n}\n\nexport default PermissionsWidget\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {get} from 'lodash'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport PermissionsWidget, {\n PermissionsWidgetMode,\n PermissionsWidgetSelection,\n} from 'src/shared/components/permissionsWidget/PermissionsWidget'\nimport CodeSnippet from 'src/shared/components/CodeSnippet'\n\nimport {\n authorizationCopySuccess,\n authorizationCopyFailed,\n} from 'src/shared/copy/notifications'\n\n// Types\nimport {Authorization, Permission} from 'src/types'\n\ninterface Props {\n auth: Authorization\n onDismissOverlay: () => void\n}\n\nexport default class ViewTokenOverlay extends PureComponent {\n public render() {\n const {description} = this.props.auth\n\n const permissions = this.permissions\n\n const notes = (_text, success) => {\n if (success) {\n return authorizationCopySuccess()\n }\n return authorizationCopyFailed()\n }\n\n return (\n \n \n \n \n \n {Object.keys(permissions).map(type => {\n return (\n \n {permissions[type].map((action, i) => (\n \n ))}\n \n )\n })}\n \n \n \n )\n }\n\n private get permissions(): {[x: string]: Permission['action'][]} {\n const p = this.props.auth.permissions.reduce((acc, {action, resource}) => {\n const {type} = resource\n const name = get(resource, 'name', '')\n let key = `${type}`\n if (name) {\n key = `${type}-${name}`\n }\n\n let actions = get(acc, key, [])\n\n if (name && actions) {\n return {...acc, [key]: [...actions, action]}\n }\n\n actions = get(acc, key || resource.type, [])\n return {...acc, [type]: [...actions, action]}\n }, {})\n\n return p\n }\n\n private itemID = (\n permission: string,\n action: Permission['action']\n ): string => {\n return `${permission}-${action}-${permission || '*'}-${permission || '*'}`\n }\n\n private handleDismiss = () => {\n this.props.onDismissOverlay()\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport {Overlay, ResourceList} from '@influxdata/clockface'\nimport TokenRow from 'src/authorizations/components/TokenRow'\nimport ViewTokenOverlay from 'src/authorizations/components/ViewTokenOverlay'\n\n// Types\nimport {Authorization} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {Sort} from '@influxdata/clockface'\n\n// Utils\nimport {getSortedResources} from 'src/shared/utils/sort'\n\ntype SortKey = keyof Authorization\n\ninterface Props {\n auths: Authorization[]\n emptyState: JSX.Element\n searchTerm: string\n sortKey: string\n sortDirection: Sort\n sortType: SortTypes\n onClickColumn: (nextSort: Sort, sortKey: SortKey) => void\n}\n\ninterface State {\n isTokenOverlayVisible: boolean\n authInView: Authorization\n}\n\nexport default class TokenList extends PureComponent {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n constructor(props) {\n super(props)\n this.state = {\n isTokenOverlayVisible: false,\n authInView: null,\n }\n }\n\n public render() {\n const {isTokenOverlayVisible, authInView} = this.state\n\n return (\n <>\n \n \n {this.rows}\n \n \n\n \n \n \n \n )\n }\n\n private get rows(): JSX.Element[] {\n const {auths, sortDirection, sortKey, sortType} = this.props\n const sortedAuths = this.memGetSortedResources(\n auths,\n sortKey,\n sortDirection,\n sortType\n )\n\n return sortedAuths.map(auth => (\n \n ))\n }\n\n private handleDismissOverlay = () => {\n this.setState({isTokenOverlayVisible: false})\n }\n\n private handleClickDescription = (authID: string): void => {\n const authInView = this.props.auths.find(a => a.id === authID)\n this.setState({isTokenOverlayVisible: true, authInView})\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Dropdown} from '@influxdata/clockface'\n\n// Types\nimport {IconFont, ComponentColor} from '@influxdata/clockface'\n\ntype Props = RouteComponentProps<{orgID: string}>\n\nclass GenerateTokenDropdown extends PureComponent {\n public render() {\n return (\n (\n \n Generate\n \n )}\n menu={onCollapse => (\n \n {this.optionItems}\n \n )}\n />\n )\n }\n\n private get optionItems(): JSX.Element[] {\n return [\n \n {this.bucketReadWriteOption}\n ,\n \n {this.allAccessOption}\n ,\n ]\n }\n\n private get bucketReadWriteOption(): string {\n return 'Read/Write Token'\n }\n\n private get allAccessOption(): string {\n return 'All Access Token'\n }\n\n private handleSelect = (selection: string): void => {\n if (selection === this.allAccessOption) {\n this.handleAllAccess()\n } else if (selection === this.bucketReadWriteOption) {\n this.handleReadWrite()\n }\n }\n\n private handleAllAccess = () => {\n const {\n history,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/load-data/tokens/generate/all-access`)\n }\n\n private handleReadWrite = () => {\n const {\n history,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/load-data/tokens/generate/buckets`)\n }\n}\n\nexport default withRouter(GenerateTokenDropdown)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {isEmpty} from 'lodash'\n\n// Components\nimport {Sort, ComponentSize, EmptyState} from '@influxdata/clockface'\nimport SearchWidget from 'src/shared/components/search_widget/SearchWidget'\nimport TokenList from 'src/authorizations/components/TokenList'\nimport FilterList from 'src/shared/components/FilterList'\nimport TabbedPageHeader from 'src/shared/components/tabbed_page/TabbedPageHeader'\nimport GenerateTokenDropdown from 'src/authorizations/components/GenerateTokenDropdown'\nimport ResourceSortDropdown from 'src/shared/components/resource_sort_dropdown/ResourceSortDropdown'\n\n// Types\nimport {AppState, Authorization, ResourceType} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\nenum AuthSearchKeys {\n Description = 'description',\n Status = 'status',\n CreatedAt = 'createdAt',\n}\n\ninterface State {\n searchTerm: string\n sortKey: SortKey\n sortDirection: Sort\n sortType: SortTypes\n}\n\ninterface StateProps {\n tokens: Authorization[]\n}\n\ntype SortKey = keyof Authorization\n\ntype Props = StateProps & RouteComponentProps<{orgID: string}>\n\nconst FilterAuthorizations = FilterList()\n\nclass TokensTab extends PureComponent {\n constructor(props) {\n super(props)\n this.state = {\n searchTerm: '',\n sortKey: 'description',\n sortDirection: Sort.Ascending,\n sortType: SortTypes.String,\n }\n }\n\n public render() {\n const {searchTerm, sortKey, sortDirection, sortType} = this.state\n const {tokens} = this.props\n\n const leftHeaderItems = (\n <>\n \n \n \n )\n\n const rightHeaderItems = \n\n return (\n <>\n \n \n {filteredAuths => (\n \n )}\n \n \n )\n }\n\n private handleSort = (\n sortKey: SortKey,\n sortDirection: Sort,\n sortType: SortTypes\n ): void => {\n this.setState({sortKey, sortDirection, sortType})\n }\n\n private handleClickColumn = (nextSort: Sort, sortKey: SortKey) => {\n const sortType = SortTypes.String\n this.setState({sortKey, sortDirection: nextSort, sortType})\n }\n\n private handleChangeSearchTerm = (searchTerm: string): void => {\n this.setState({searchTerm})\n }\n\n private get searchKeys(): AuthSearchKeys[] {\n return [\n AuthSearchKeys.Status,\n AuthSearchKeys.Description,\n AuthSearchKeys.CreatedAt,\n ]\n }\n\n private get emptyState(): JSX.Element {\n const {searchTerm} = this.state\n\n if (isEmpty(searchTerm)) {\n return (\n \n \n Looks like there aren't any Tokens, why not generate one?\n \n \n \n )\n }\n\n return (\n \n No Tokens match your query\n \n )\n }\n}\n\nconst mstp = (state: AppState) => ({\n tokens: getAll(state, ResourceType.Authorizations),\n})\n\nexport default connect(mstp)(withRouter(TokensTab))\n","// Libraries\nimport React, {Component} from 'react'\nimport {Switch, Route} from 'react-router-dom'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport LoadDataTabbedPage from 'src/settings/components/LoadDataTabbedPage'\nimport LoadDataHeader from 'src/settings/components/LoadDataHeader'\nimport GetResources from 'src/resources/components/GetResources'\nimport TokensTab from 'src/authorizations/components/TokensTab'\nimport {\n AllAccessTokenOverlay,\n BucketsTokenOverlay,\n} from 'src/overlays/components'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Types\nimport {ResourceType} from 'src/types'\n\nimport {ORGS, ORG_ID, TOKENS} from 'src/shared/constants/routes'\n\nconst tokensPath = `/${ORGS}/${ORG_ID}/load-data/${TOKENS}/generate`\n\n@ErrorHandling\nclass TokensIndex extends Component {\n public render() {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nexport default TokensIndex\n","// Libraries\nimport React, {PureComponent, MouseEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps, Link} from 'react-router-dom'\n\n// Components\nimport {Context} from 'src/clockface'\nimport {ResourceCard, IconFont} from '@influxdata/clockface'\nimport {ComponentColor} from '@influxdata/clockface'\nimport InlineLabels from 'src/shared/components/inlineLabels/InlineLabels'\n\n// Actions\nimport {\n addTelegrafLabelsAsync,\n removeTelegrafLabelsAsync,\n} from 'src/telegrafs/actions/thunks'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\n\n// Constants\nimport {DEFAULT_COLLECTOR_NAME} from 'src/dashboards/constants'\n\n// Types\nimport {AppState, Label, Telegraf} from 'src/types'\n\ninterface OwnProps {\n collector: Telegraf\n onDelete: (telegraf: Telegraf) => void\n onUpdate: (telegraf: Telegraf) => void\n onFilterChange: (searchTerm: string) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass CollectorRow extends PureComponent<\n Props & RouteComponentProps<{orgID: string}>\n> {\n public render() {\n const {collector, org} = this.props\n\n return (\n \n \n \n \n \n {/* todo(glinton): verify what sets this. It seems like it is using the 'config' section of 'influxdb_v2' output?? */}\n Bucket: {collector.metadata.buckets.join(', ')}\n \n \n Setup Instructions\n \n \n {this.labels}\n \n )\n }\n\n private get contextMenu(): JSX.Element {\n return (\n \n \n \n \n \n )\n }\n\n private handleUpdateName = (name: string) => {\n const {onUpdate, collector} = this.props\n\n onUpdate({...collector, name})\n }\n\n private handleUpdateDescription = (description: string) => {\n const {onUpdate, collector} = this.props\n\n onUpdate({...collector, description})\n }\n\n private get labels(): JSX.Element {\n const {collector, onFilterChange} = this.props\n\n return (\n \n )\n }\n\n private handleAddLabel = async (label: Label) => {\n const {collector, onAddLabels} = this.props\n\n await onAddLabels(collector.id, [label])\n }\n\n private handleRemoveLabel = async (label: Label) => {\n const {collector, onRemoveLabels} = this.props\n\n await onRemoveLabels(collector.id, [label])\n }\n\n private handleNameClick = (e: MouseEvent) => {\n e.preventDefault()\n\n this.handleOpenConfig()\n }\n\n private handleOpenConfig = (): void => {\n const {collector, history, org} = this.props\n history.push(`/orgs/${org.id}/load-data/telegrafs/${collector.id}/view`)\n }\n\n private handleDeleteConfig = (): void => {\n this.props.onDelete(this.props.collector)\n }\n}\n\nconst mstp = (state: AppState) => {\n const org = getOrg(state)\n\n return {org}\n}\n\nconst mdtp = {\n onAddLabels: addTelegrafLabelsAsync,\n onRemoveLabels: removeTelegrafLabelsAsync,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(CollectorRow))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport {ResourceList} from '@influxdata/clockface'\nimport CollectorRow from 'src/telegrafs/components/CollectorCard'\nimport FilterList from 'src/shared/components/FilterList'\n\n// Types\nimport {Sort} from '@influxdata/clockface'\nimport {SortTypes, getSortedResources} from 'src/shared/utils/sort'\nimport {AppState, Telegraf, ResourceType} from 'src/types'\nimport {updateTelegraf, deleteTelegraf} from 'src/telegrafs/actions/thunks'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\ninterface OwnProps {\n emptyState: JSX.Element\n sortKey: string\n sortDirection: Sort\n sortType: SortTypes\n onFilterChange: (searchTerm: string) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass CollectorList extends PureComponent {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n public render() {\n const {emptyState} = this.props\n\n return (\n \n \n {this.collectorsList}\n \n \n )\n }\n\n public get collectorsList(): JSX.Element[] {\n const {\n collectors,\n sortKey,\n sortDirection,\n sortType,\n onDeleteTelegraf,\n onUpdateTelegraf,\n onFilterChange,\n } = this.props\n\n const sortedCollectors = this.memGetSortedResources(\n collectors,\n sortKey,\n sortDirection,\n sortType\n )\n\n if (collectors !== undefined) {\n return sortedCollectors.map(collector => (\n \n onDeleteTelegraf(telegraf.id, telegraf.name)\n }\n onUpdate={onUpdateTelegraf}\n onFilterChange={onFilterChange}\n />\n ))\n }\n }\n}\n\nconst mstp = (state: AppState) => ({\n collectors: getAll(state, ResourceType.Telegrafs),\n})\n\nconst mdtp = {\n onUpdateTelegraf: updateTelegraf,\n onDeleteTelegraf: deleteTelegraf,\n}\n\ntype FilteredOwnProps = OwnProps & {\n searchTerm: string\n}\n\ntype FilteredProps = Props & FilteredOwnProps\n\nconst FilterTelegrafs = FilterList()\nclass FilteredCollectorList extends PureComponent {\n render() {\n const {\n searchTerm,\n collectors,\n emptyState,\n onFilterChange,\n sortKey,\n sortDirection,\n sortType,\n onUpdateTelegraf,\n onDeleteTelegraf,\n } = this.props\n return (\n \n {cs => (\n \n )}\n \n )\n }\n}\n\nconst connector = connect(mstp, mdtp)\n\nconst FilteredList = connector(FilteredCollectorList)\n\nexport {FilteredCollectorList, FilteredList}\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {\n Panel,\n EmptyState,\n InfluxColors,\n Gradients,\n ComponentSize,\n} from '@influxdata/clockface'\nimport {TextAlignProperty} from 'csstype'\n\ninterface Props {\n hasNoTelegrafs?: boolean\n textAlign?: TextAlignProperty\n bodySize?: ComponentSize\n}\n\nconst TelegrafExplainer: FunctionComponent = ({\n hasNoTelegrafs = false,\n textAlign = 'inherit',\n bodySize,\n}) => (\n \n {hasNoTelegrafs && (\n \n What is Telegraf?\n \n )}\n {!hasNoTelegrafs && (\n \n
    What is Telegraf?
    \n
    \n )}\n \n Telegraf is an agent written in Go for collecting metrics and writing them\n into InfluxDB or other possible outputs.\n
    \n
    \n Here's a handy guide for{' '}\n \n Getting Started with Telegraf\n \n
    \n
    \n)\n\nexport default TelegrafExplainer\n","// Libraries\nimport React, {SFC} from 'react'\n\n// Components\nimport {ComponentColor, IconFont, Alert} from '@influxdata/clockface'\n\ninterface Props {\n visible: boolean\n resourceName: string\n}\n\nconst NoBucketsWarning: SFC = ({visible, resourceName}) => {\n return (\n visible && (\n \n You don't currently have any buckets. Any{' '}\n {resourceName} you have will not be able to write data\n until a bucket is created and they are directed to that bucket.\n \n )\n )\n}\n\nexport default NoBucketsWarning\n","// Libraries\nimport _ from 'lodash'\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {\n Button,\n EmptyState,\n Grid,\n Sort,\n Columns,\n IconFont,\n ComponentSize,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\nimport SearchWidget from 'src/shared/components/search_widget/SearchWidget'\nimport TabbedPageHeader from 'src/shared/components/tabbed_page/TabbedPageHeader'\nimport {FilteredList} from 'src/telegrafs/components/CollectorList'\nimport TelegrafExplainer from 'src/telegrafs/components/TelegrafExplainer'\nimport NoBucketsWarning from 'src/buckets/components/NoBucketsWarning'\nimport GetResources from 'src/resources/components/GetResources'\nimport ResourceSortDropdown from 'src/shared/components/resource_sort_dropdown/ResourceSortDropdown'\n\n// Actions\nimport {updateTelegraf, deleteTelegraf} from 'src/telegrafs/actions/thunks'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Types\nimport {OverlayState, AppState, Bucket, ResourceType} from 'src/types'\nimport {\n setTelegrafConfigID,\n setTelegrafConfigName,\n clearDataLoaders,\n} from 'src/dataLoaders/actions/dataLoaders'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {TelegrafSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll} from 'src/resources/selectors'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string}>\n\ninterface State {\n dataLoaderOverlay: OverlayState\n searchTerm: string\n instructionsOverlay: OverlayState\n collectorID?: string\n sortKey: TelegrafSortKey\n sortDirection: Sort\n sortType: SortTypes\n}\n\n@ErrorHandling\nclass Collectors extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n dataLoaderOverlay: OverlayState.Closed,\n searchTerm: '',\n instructionsOverlay: OverlayState.Closed,\n collectorID: null,\n sortKey: 'name',\n sortDirection: Sort.Ascending,\n sortType: SortTypes.String,\n }\n }\n\n public render() {\n const {hasTelegrafs} = this.props\n const {searchTerm, sortKey, sortDirection, sortType} = this.state\n\n const collecorsLeftHeaderItems = (\n <>\n \n \n \n )\n\n const collecorsRightHeaderItems = (\n <>\n \n {this.createButton}\n \n )\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n {hasTelegrafs && (\n \n \n \n )}\n \n \n \n )\n }\n\n private handleSort = (\n sortKey: TelegrafSortKey,\n sortDirection: Sort,\n sortType: SortTypes\n ): void => {\n this.setState({sortKey, sortDirection, sortType})\n }\n\n private get hasNoBuckets(): boolean {\n const {buckets} = this.props\n\n if (!buckets || !buckets.length) {\n return true\n }\n\n return false\n }\n\n private get createButton(): JSX.Element {\n let status = ComponentStatus.Default\n let titleText = 'Create a new Telegraf Configuration'\n\n if (this.hasNoBuckets) {\n status = ComponentStatus.Disabled\n titleText =\n 'You need at least 1 bucket in order to create a Telegraf Configuration'\n }\n\n return (\n \n )\n }\n\n private handleAddCollector = () => {\n const {\n history,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/load-data/telegrafs/new`)\n }\n\n private handleJustTheOutput = () => {\n const {\n history,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/load-data/telegrafs/output`)\n }\n\n private get emptyState(): JSX.Element {\n const {orgName} = this.props\n const {searchTerm} = this.state\n\n if (_.isEmpty(searchTerm)) {\n return (\n \n \n {`${orgName}`} does not own any Telegraf Configurations, why\n not create one?\n \n {this.createButton}\n
    \n
    \n \n
    \n )\n }\n\n return (\n \n \n No Telegraf Configurations match your query\n \n \n )\n }\n\n private handleFilterChange = (searchTerm: string): void => {\n this.handleFilterUpdate(searchTerm)\n }\n\n private handleFilterUpdate = (searchTerm: string) => {\n this.setState({searchTerm})\n }\n}\nconst mstp = (state: AppState) => {\n const {telegrafs} = state.resources\n const orgName = getOrg(state).name\n const buckets = getAll(state, ResourceType.Buckets)\n const hasTelegrafs = !!telegrafs.allIDs.length\n\n return {\n hasTelegrafs,\n orgName,\n buckets,\n }\n}\n\nconst mdtp = {\n onSetTelegrafConfigID: setTelegrafConfigID,\n onSetTelegrafConfigName: setTelegrafConfigName,\n onClearDataLoaders: clearDataLoaders,\n onUpdateTelegraf: updateTelegraf,\n onDeleteTelegraf: deleteTelegraf,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(Collectors))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get} from 'lodash'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {Overlay} from '@influxdata/clockface'\nimport TelegrafInstructions from 'src/dataLoaders/components/verifyStep/TelegrafInstructions'\nimport GetResources from 'src/resources/components/GetResources'\n\n// Types\nimport {Telegraf, AppState, ResourceType} from 'src/types'\n\n// Selectors\nimport {getAll, getToken} from 'src/resources/selectors'\nimport {clearDataLoaders} from 'src/dataLoaders/actions/dataLoaders'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string; id: string}>\n\n@ErrorHandling\nexport class TelegrafInstructionsOverlay extends PureComponent {\n public render() {\n const {token} = this.props\n return (\n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private get collector() {\n const {\n match: {\n params: {id},\n },\n collectors,\n } = this.props\n return collectors.find(c => c.id === id)\n }\n\n private handleDismiss = (): void => {\n const {\n history,\n match: {\n params: {orgID},\n },\n onClearDataLoaders,\n } = this.props\n this.setState({\n collectorID: null,\n })\n onClearDataLoaders()\n history.push(`/orgs/${orgID}/load-data/telegrafs/`)\n }\n}\n\nconst mstp = (state: AppState) => {\n const {\n me: {name},\n } = state\n\n const token = getToken(state)\n const telegrafs = getAll(state, ResourceType.Telegrafs)\n\n return {\n username: name,\n token,\n collectors: telegrafs,\n }\n}\n\nconst mdtp = {\n onClearDataLoaders: clearDataLoaders,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TelegrafInstructionsOverlay))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {Route, Switch} from 'react-router-dom'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport LoadDataTabbedPage from 'src/settings/components/LoadDataTabbedPage'\nimport LoadDataHeader from 'src/settings/components/LoadDataHeader'\nimport Collectors from 'src/telegrafs/components/Collectors'\nimport GetResources from 'src/resources/components/GetResources'\nimport LimitChecker from 'src/cloud/components/LimitChecker'\nimport TelegrafInstructionsOverlay from 'src/telegrafs/components/TelegrafInstructionsOverlay'\nimport CollectorsWizard from 'src/dataLoaders/components/collectorsWizard/CollectorsWizard'\nimport {Page} from '@influxdata/clockface'\nimport OverlayHandler, {\n RouteOverlay,\n} from 'src/overlays/components/RouteOverlay'\n\nconst TelegrafConfigOverlay = RouteOverlay(\n OverlayHandler as any,\n 'telegraf-config',\n (history, params) => {\n history.push(`/orgs/${params.orgID}/load-data/telegrafs`)\n }\n)\nconst TelegrafOutputOverlay = RouteOverlay(\n OverlayHandler as any,\n 'telegraf-output',\n (history, params) => {\n history.push(`/orgs/${params.orgID}/load-data/telegrafs`)\n }\n)\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Types\nimport {ResourceType} from 'src/types'\n\n// Constant\nimport {ORGS, ORG_ID, TELEGRAFS} from 'src/shared/constants/routes'\n\nconst telegrafsPath = `/${ORGS}/${ORG_ID}/load-data/${TELEGRAFS}`\n\n@ErrorHandling\nclass TelegrafsPage extends PureComponent {\n public render() {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nexport default TelegrafsPage\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Context} from 'src/clockface'\nimport {ResourceCard} from '@influxdata/clockface'\nimport {Scraper} from 'src/types'\n\n// Constants\nimport {DEFAULT_SCRAPER_NAME} from 'src/dashboards/constants'\nimport {IconFont, ComponentColor} from '@influxdata/clockface'\n\ninterface Props {\n scraper: Scraper\n onDeleteScraper: (scraper) => void\n onUpdateScraper: (scraper: Scraper) => void\n}\n\nexport default class ScraperRow extends PureComponent {\n public render() {\n const {scraper} = this.props\n return (\n \n \n \n {[<>Bucket: {scraper.bucket}, <>URL: {scraper.url}]}\n \n \n )\n }\n\n private get contextMenu(): JSX.Element {\n return (\n \n \n \n \n \n )\n }\n\n private handleDeleteScraper = () => {\n const {onDeleteScraper, scraper} = this.props\n onDeleteScraper(scraper)\n }\n\n private handleUpdateScraperName = (name: string) => {\n const {onUpdateScraper, scraper} = this.props\n onUpdateScraper({...scraper, name})\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport {ResourceList} from '@influxdata/clockface'\nimport ScraperRow from 'src/scrapers/components/ScraperRow'\n\n// Types\nimport {Scraper} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {Sort} from '@influxdata/clockface'\n\n// Selectors\nimport {getSortedResources} from 'src/shared/utils/sort'\n\ninterface Props {\n scrapers: Scraper[]\n emptyState: JSX.Element\n onDeleteScraper: (scraper) => void\n onUpdateScraper: (scraper: Scraper) => void\n sortKey: string\n sortDirection: Sort\n sortType: SortTypes\n}\n\nexport default class ScraperList extends PureComponent {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n public render() {\n const {emptyState} = this.props\n\n return (\n \n \n {this.scrapersList}\n \n \n )\n }\n\n public get scrapersList(): JSX.Element[] {\n const {\n scrapers,\n sortKey,\n sortDirection,\n sortType,\n onDeleteScraper,\n onUpdateScraper,\n } = this.props\n const sortedScrapers = this.memGetSortedResources(\n scrapers,\n sortKey,\n sortDirection,\n sortType\n )\n\n if (scrapers !== undefined) {\n return sortedScrapers.map(scraper => (\n \n ))\n }\n return\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {isEmpty} from 'lodash'\n\n// Components\nimport {Button, EmptyState, Sort} from '@influxdata/clockface'\nimport SearchWidget from 'src/shared/components/search_widget/SearchWidget'\nimport TabbedPageHeader from 'src/shared/components/tabbed_page/TabbedPageHeader'\nimport ScraperList from 'src/scrapers/components/ScraperList'\nimport NoBucketsWarning from 'src/buckets/components/NoBucketsWarning'\nimport FilterList from 'src/shared/components/FilterList'\nimport ResourceSortDropdown from 'src/shared/components/resource_sort_dropdown/ResourceSortDropdown'\n\n// Actions\nimport {updateScraper, deleteScraper} from 'src/scrapers/actions/thunks'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {SortTypes} from 'src/shared/utils/sort'\n\n// Types\nimport {\n IconFont,\n ComponentSize,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\nimport {AppState, Bucket, Scraper, ResourceType} from 'src/types'\nimport {ScraperSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll} from 'src/resources/selectors'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string}>\n\ninterface State {\n searchTerm: string\n sortKey: ScraperSortKey\n sortDirection: Sort\n sortType: SortTypes\n}\n\nconst FilterScrapers = FilterList()\n\n@ErrorHandling\nclass Scrapers extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n searchTerm: '',\n sortKey: 'name',\n sortDirection: Sort.Ascending,\n sortType: SortTypes.String,\n }\n }\n\n public render() {\n const {searchTerm, sortKey, sortDirection, sortType} = this.state\n const {scrapers} = this.props\n\n const leftHeaderItems = (\n <>\n \n \n \n )\n\n return (\n <>\n \n \n \n {sl => (\n \n )}\n \n \n )\n }\n\n private handleSort = (\n sortKey: ScraperSortKey,\n sortDirection: Sort,\n sortType: SortTypes\n ): void => {\n this.setState({sortKey, sortDirection, sortType})\n }\n\n private get hasNoBuckets(): boolean {\n const {buckets} = this.props\n\n if (!buckets || !buckets.length) {\n return true\n }\n\n return false\n }\n\n private createScraperButton = (testID: string): JSX.Element => {\n let status = ComponentStatus.Default\n let titleText = 'Create a new Scraper'\n\n if (this.hasNoBuckets) {\n status = ComponentStatus.Disabled\n titleText = 'You need at least 1 bucket in order to create a scraper'\n }\n\n return (\n \n )\n }\n\n private get emptyState(): JSX.Element {\n const {org} = this.props\n const {searchTerm} = this.state\n\n if (isEmpty(searchTerm)) {\n return (\n \n \n {`${org.name}`} does not own any Scrapers, why not create\n one?\n \n {this.createScraperButton('create-scraper-button-empty')}\n \n )\n }\n\n return (\n \n No Scrapers match your query\n \n )\n }\n\n private handleUpdateScraper = (scraper: Scraper) => {\n const {onUpdateScraper} = this.props\n onUpdateScraper(scraper)\n }\n\n private handleDeleteScraper = (scraper: Scraper) => {\n const {onDeleteScraper} = this.props\n onDeleteScraper(scraper)\n }\n\n private handleShowOverlay = () => {\n const {history, org} = this.props\n\n if (this.hasNoBuckets) {\n return\n }\n\n history.push(`/orgs/${org.id}/load-data/scrapers/new`)\n }\n\n private handleFilterChange = (searchTerm: string) => {\n this.setState({searchTerm})\n }\n}\n\nconst mstp = (state: AppState) => ({\n scrapers: getAll(state, ResourceType.Scrapers),\n buckets: getAll(state, ResourceType.Buckets),\n org: getOrg(state),\n})\n\nconst mdtp = {\n onDeleteScraper: deleteScraper,\n onUpdateScraper: updateScraper,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(Scrapers))\n","// Libraries\nimport React, {Component} from 'react'\nimport {Switch, Route} from 'react-router-dom'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport LoadDataHeader from 'src/settings/components/LoadDataHeader'\nimport LoadDataTabbedPage from 'src/settings/components/LoadDataTabbedPage'\nimport GetResources from 'src/resources/components/GetResources'\nimport Scrapers from 'src/scrapers/components/Scrapers'\nimport CreateScraperOverlay from 'src/scrapers/components/CreateScraperOverlay'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Types\nimport {ResourceType} from 'src/types'\n\n// Constants\nimport {ORGS, ORG_ID, SCRAPERS} from 'src/shared/constants/routes'\n\nconst scrapersPath = `/${ORGS}/${ORG_ID}/load-data/${SCRAPERS}`\n\n@ErrorHandling\nclass ScrapersIndex extends Component {\n public render() {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nexport default ScrapersIndex\n","// Libraries\nimport React, {FC, ChangeEvent, useContext} from 'react'\n\n// Contexts\nimport {WriteDataSearchContext} from 'src/writeData/containers/WriteDataPage'\n\n// Components\nimport {Input, InputRef, ComponentSize, IconFont} from '@influxdata/clockface'\n\nconst WriteDataSearchBar: FC = () => {\n const {searchTerm, setSearchTerm} = useContext(WriteDataSearchContext)\n const handleInputChange = (e: ChangeEvent): void => {\n setSearchTerm(e.target.value)\n }\n\n return (\n \n )\n}\n\nexport default WriteDataSearchBar\n","// Constants\nimport {CLIENT_LIBS} from 'src/shared/constants/routes'\n\n// Types\nimport {WriteDataItem, WriteDataSection} from 'src/writeData/constants'\n\n// Markdown\nimport ArduinoMarkdown from 'src/writeData/components/clientLibraries/Arduino.md'\nimport CSharpMarkdown from 'src/writeData/components/clientLibraries/CSharp.md'\nimport GoMarkdown from 'src/writeData/components/clientLibraries/Go.md'\nimport JavaMarkdown from 'src/writeData/components/clientLibraries/Java.md'\nimport NodeMarkdown from 'src/writeData/components/clientLibraries/Node.md'\nimport PythonMarkdown from 'src/writeData/components/clientLibraries/Python.md'\nimport RubyMarkdown from 'src/writeData/components/clientLibraries/Ruby.md'\nimport PHPMarkdown from 'src/writeData/components/clientLibraries/PHP.md'\nimport KotlinMarkdown from 'src/writeData/components/clientLibraries/Kotlin.md'\nimport ScalaMarkdown from 'src/writeData/components/clientLibraries/Scala.md'\n\n// Graphics\nimport arduinoLogo from 'src/writeData/graphics/arduinoLogo.svg'\nimport csharpLogo from 'src/writeData/graphics/csharpLogo.svg'\nimport goLogo from 'src/writeData/graphics/goLogo.svg'\nimport javaLogo from 'src/writeData/graphics/javaLogo.svg'\nimport nodeLogo from 'src/writeData/graphics/nodeLogo.svg'\nimport pythonLogo from 'src/writeData/graphics/pythonLogo.svg'\nimport rubyLogo from 'src/writeData/graphics/rubyLogo.svg'\nimport phpLogo from 'src/writeData/graphics/phpLogo.svg'\nimport kotlinLogo from 'src/writeData/graphics/kotlinLogo.svg'\nimport scalaLogo from 'src/writeData/graphics/scalaLogo.svg'\n\nexport const WRITE_DATA_CLIENT_LIBRARIES: WriteDataItem[] = [\n {\n id: 'arduino',\n name: 'Arduino',\n url: `${CLIENT_LIBS}/arduino`,\n image: arduinoLogo,\n markdown: ArduinoMarkdown,\n },\n {\n id: 'csharp',\n name: 'C#',\n url: `${CLIENT_LIBS}/csharp`,\n image: csharpLogo,\n markdown: CSharpMarkdown,\n },\n {\n id: 'go',\n name: 'GO',\n url: `${CLIENT_LIBS}/go`,\n image: goLogo,\n markdown: GoMarkdown,\n },\n {\n id: 'java',\n name: 'Java',\n url: `${CLIENT_LIBS}/java`,\n image: javaLogo,\n markdown: JavaMarkdown,\n },\n {\n id: 'javascript-node',\n name: 'JavaScript/Node.js',\n url: `${CLIENT_LIBS}/javascript-node`,\n image: nodeLogo,\n markdown: NodeMarkdown,\n },\n {\n id: 'python',\n name: 'Python',\n url: `${CLIENT_LIBS}/python`,\n image: pythonLogo,\n markdown: PythonMarkdown,\n },\n {\n id: 'ruby',\n name: 'Ruby',\n url: `${CLIENT_LIBS}/ruby`,\n image: rubyLogo,\n markdown: RubyMarkdown,\n },\n {\n id: 'php',\n name: 'PHP',\n url: `${CLIENT_LIBS}/php`,\n image: phpLogo,\n markdown: PHPMarkdown,\n },\n {\n id: 'kotlin',\n name: 'Kotlin',\n url: `${CLIENT_LIBS}/kotlin`,\n image: kotlinLogo,\n markdown: KotlinMarkdown,\n },\n {\n id: 'scala',\n name: 'Scala',\n url: `${CLIENT_LIBS}/scala`,\n image: scalaLogo,\n markdown: ScalaMarkdown,\n },\n]\n\nconst WRITE_DATA_CLIENT_LIBRARIES_SECTION: WriteDataSection = {\n id: CLIENT_LIBS,\n name: 'Client Libraries',\n description: 'Back-end, front-end, and mobile applications',\n items: WRITE_DATA_CLIENT_LIBRARIES,\n featureFlag: 'load-data-client-libraries',\n}\n\nexport default WRITE_DATA_CLIENT_LIBRARIES_SECTION\n","export default \"For more detailed and up to date information check out the [GitHub Repository](https://github.com/tobiasschuerg/InfluxDB-Client-for-Arduino)\\n\\n##### Install Library\\n\\nLibrary Manager\\n\\n```\\n1. Open the Arduino IDE and click to the \\\"Sketch\\\" menu and then Include Library > Manage Libraries.\\n2. Type 'influxdb' in the search box\\n3. Install the 'InfluxDBClient for Arduino' library\\n```\\n\\nManual Installation\\n\\n```\\n1. cd /library.\\n2. git clone https://github.com/tobiasschuerg/InfluxDB-Client-for-Arduino\\n3. Restart the Arduino IDE\\n```\\n\\n##### Initialize the Client\\n\\n```\\n#if defined(ESP32)\\n#include \\nWiFiMulti wifiMulti;\\n#define DEVICE \\\"ESP32\\\"\\n#elif defined(ESP8266)\\n#include \\nESP8266WiFiMulti wifiMulti;\\n#define DEVICE \\\"ESP8266\\\"\\n#endif\\n\\n#include \\n#include \\n\\n// WiFi AP SSID\\n#define WIFI_SSID \\\"SSID\\\"\\n// WiFi password\\n#define WIFI_PASSWORD \\\"PASSWORD\\\"\\n// InfluxDB v2 server url, e.g. https://eu-central-1-1.aws.cloud2.influxdata.com (Use: InfluxDB UI -> Load Data -> Client Libraries)\\n#define INFLUXDB_URL \\\"<%= server %>\\\"\\n// InfluxDB v2 server or cloud API authentication token (Use: InfluxDB UI -> Data -> Tokens -> *\\n *[System[( (EventID >= 5152 and EventID <= 5158) or EventID=5379 or EventID=4672)]]\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n '''\\n\\n ## System field names:\\n ## \\\"Source\\\", \\\"EventID\\\", \\\"Version\\\", \\\"Level\\\", \\\"Task\\\", \\\"Opcode\\\", \\\"Keywords\\\", \\\"TimeCreated\\\",\\n ## \\\"EventRecordID\\\", \\\"ActivityID\\\", \\\"RelatedActivityID\\\", \\\"ProcessID\\\", \\\"ThreadID\\\", \\\"ProcessName\\\",\\n ## \\\"Channel\\\", \\\"Computer\\\", \\\"UserID\\\", \\\"UserName\\\", \\\"Message\\\", \\\"LevelText\\\", \\\"TaskText\\\", \\\"OpcodeText\\\"\\n\\n ## In addition to System, Data fields can be unrolled from additional XML nodes in event.\\n ## Human-readable representation of those nodes is formatted into event Message field,\\n ## but XML is more machine-parsable\\n\\n # Process UserData XML to fields, if this node exists in Event XML\\n process_userdata = true\\n\\n # Process EventData XML to fields, if this node exists in Event XML\\n process_eventdata = true\\n\\n ## Separator character to use for unrolled XML Data field names\\n separator = \\\"_\\\"\\n\\n ## Get only first line of Message field. For most events first line is usually more than enough\\n only_first_line_of_message = true\\n\\n ## Parse timestamp from TimeCreated.SystemTime event field.\\n ## Will default to current time of telegraf processing on parsing error or if set to false\\n timestamp_from_event = true\\n\\n ## Fields to include as tags. Globbing supported (\\\"Level*\\\" for both \\\"Level\\\" and \\\"LevelText\\\")\\n event_tags = [\\\"Source\\\", \\\"EventID\\\", \\\"Level\\\", \\\"LevelText\\\", \\\"Task\\\", \\\"TaskText\\\", \\\"Opcode\\\", \\\"OpcodeText\\\", \\\"Keywords\\\", \\\"Channel\\\", \\\"Computer\\\"]\\n\\n ## Default list of fields to send. All fields are sent by default. Globbing supported\\n event_fields = [\\\"*\\\"]\\n\\n ## Fields to exclude. Also applied to data fields. Globbing supported\\n exclude_fields = [\\\"TimeCreated\\\", \\\"Binary\\\", \\\"Data_Address*\\\"]\\n\\n ## Skip those tags or fields if their value is empty or equals to zero. Globbing supported\\n exclude_empty = [\\\"*ActivityID\\\", \\\"UserID\\\"]\\n```\\n\\n### Filtering\\n\\nThere are three types of filtering: **Event Log** name, **XPath Query** and **XML Query**.\\n\\n**Event Log** name filtering is simple:\\n\\n```toml\\n eventlog_name = \\\"Application\\\"\\n xpath_query = '''\\n```\\n\\nFor **XPath Query** filtering set the `xpath_query` value, and `eventlog_name` will be ignored:\\n\\n```toml\\n eventlog_name = \\\"\\\"\\n xpath_query = \\\"Event/System[EventID=999]\\\"\\n```\\n\\n**XML Query** is the most flexible: you can Select or Suppress any values, and give ranges for other values. XML query is the recommended form, because it is most flexible. You can create or debug XML Query by creating Custom View in Windows Event Viewer and then copying resulting XML in config file.\\n\\nXML Query documentation:\\n\\n\\n\\n### Metrics\\n\\nYou can send any field, *System*, *Computed* or *XML* as tag field. List of those fields is in the `event_tags` config array. Globbing is supported in this array, i.e. `Level*` for all fields beginning with `Level`, or `L?vel` for all fields where the name is `Level`, `L3vel`, `L@vel` and so on. Tag fields are converted to strings automatically.\\n\\nBy default, all other fields are sent, but you can limit that either by listing it in `event_fields` config array with globbing, or by adding some field name masks in the `exclude_fields` config array.\\n\\nYou can limit sending fields with empty values by adding masks of names of such fields in the `exclude_empty` config array. Value considered empty, if the System field of type `int` or `uint32` is equal to zero, or if any field of type `string` is an empty string.\\n\\nList of System fields:\\n\\n- Source (string)\\n- EventID (int)\\n- Version (int)\\n- Level (int)\\n- LevelText (string)\\n- Opcode (int)\\n- OpcodeText (string)\\n- Task (int)\\n- TaskText (string)\\n- Keywords (string): comma-separated in case of multiple values\\n- TimeCreated (string)\\n- EventRecordID (string)\\n- ActivityID (string)\\n- RelatedActivityID (string)\\n- ProcessID (int)\\n- ThreadID (int)\\n- ProcessName (string): derived from ProcessID\\n- Channel (string)\\n- Computer (string): useful if consumed from Forwarded Events\\n- UserID (string): SID\\n- UserName (string): derived from UserID, presented in form of DOMAIN\\\\Username\\n- Message (string)\\n\\n### Computed fields\\n\\nFields `Level`, `Opcode` and `Task` are converted to text and saved as computed `*Text` fields.\\n\\n`Keywords` field is converted from hex uint64 value by the `_EvtFormatMessage` WINAPI function. There can be more than one value, in that case they will be comma-separated. If keywords can't be converted (bad device driver or forwarded from another computer with unknown Event Channel), hex uint64 is saved as is.\\n\\n`ProcessName` field is found by looking up ProcessID. Can be empty if telegraf doesn't have enough permissions.\\n\\n`Username` field is found by looking up SID from UserID.\\n\\n`Message` field is rendered from the event data, and can be several kilobytes of text with line breaks. For most events the first line of this text is more then enough, and additional info is more useful to be parsed as XML fields. So, for brevity, plugin takes only the first line. You can set `only_first_line_of_message` parameter to `false` to take full message text.\\n\\n`TimeCreated` field is a string in RFC3339Nano format. By default Telegraf parses it as an event timestamp. If there is a field parse error or `timestamp_from_event` configration parameter is set to `false`, then event timestamp will be set to the exact time when Telegraf has parsed this event, so it will be rounded to the nearest minute.\\n\\n### Additional Fields\\n\\nThe content of **Event Data** and **User Data** XML Nodes can be added as additional fields, and is added by default. You can disable that by setting `process_userdata` or `process_eventdata` parameters to `false`.\\n\\nFor the fields from additional XML Nodes the `Name` attribute is taken as the name, and inner text is the value. Type of those fields is always string.\\n\\nName of the field is formed from XML Path by adding _ inbetween levels. For example, if UserData XML looks like this:\\n\\n```xml\\n\\n \\n KB4566782\\n 5112\\n Installed\\n 0x0\\n UpdateAgentLCU\\n \\n\\n```\\n\\nIt will be converted to following fields:\\n\\n```text\\nCbsPackageChangeState_PackageIdentifier = \\\"KB4566782\\\"\\nCbsPackageChangeState_IntendedPackageState = \\\"5112\\\"\\nCbsPackageChangeState_IntendedPackageStateTextized = \\\"Installed\\\"\\nCbsPackageChangeState_ErrorCode = \\\"0x0\\\"\\nCbsPackageChangeState_Client = \\\"UpdateAgentLCU\\\"\\n```\\n\\nIf there are more than one field with the same name, all those fields are given suffix with number: `_1`, `_2` and so on.\\n\\n### Localization\\n\\nHuman readable Event Description is in the Message field. But it is better to be skipped in favour of the Event XML values, because they are more machine-readable.\\n\\nKeywords, LevelText, TaskText, OpcodeText and Message are saved with the current Windows locale by default. You can override this, for example, to English locale by setting `locale` config parameter to `1033`. Unfortunately, **Event Data** and **User Data** XML Nodes are in default Windows locale only.\\n\\nLocale should be present on the computer. English locale is usually available on all localized versions of modern Windows. List of locales:\\n\\n\\n\\n### Example Output\\n\\nSome values are changed for anonymity.\\n\\n```text\\nwin_eventlog,Channel=System,Computer=PC,EventID=105,Keywords=0x8000000000000000,Level=4,LevelText=Information,Opcode=10,OpcodeText=General,Source=WudfUsbccidDriver,Task=1,TaskText=Driver,host=PC ProcessName=\\\"WUDFHost.exe\\\",UserName=\\\"NT AUTHORITY\\\\\\\\LOCAL SERVICE\\\",Data_dwMaxCCIDMessageLength=\\\"271\\\",Data_bPINSupport=\\\"0x0\\\",Data_bMaxCCIDBusySlots=\\\"1\\\",EventRecordID=1914688i,UserID=\\\"S-1-5-19\\\",Version=0i,Data_bClassGetEnvelope=\\\"0x0\\\",Data_wLcdLayout=\\\"0x0\\\",Data_bClassGetResponse=\\\"0x0\\\",TimeCreated=\\\"2020-08-21T08:43:26.7481077Z\\\",Message=\\\"The Smartcard reader reported the following class descriptor (part 2).\\\" 1597999410000000000\\n\\nwin_eventlog,Channel=Security,Computer=PC,EventID=4798,Keywords=Audit\\\\ Success,Level=0,LevelText=Information,Opcode=0,OpcodeText=Info,Source=Microsoft-Windows-Security-Auditing,Task=13824,TaskText=User\\\\ Account\\\\ Management,host=PC Data_TargetDomainName=\\\"PC\\\",Data_SubjectUserName=\\\"User\\\",Data_CallerProcessId=\\\"0x3d5c\\\",Data_SubjectLogonId=\\\"0x46d14f8d\\\",Version=0i,EventRecordID=223157i,Message=\\\"A user's local group membership was enumerated.\\\",Data_TargetUserName=\\\"User\\\",Data_TargetSid=\\\"S-1-5-21-.-.-.-1001\\\",Data_SubjectUserSid=\\\"S-1-5-21-.-.-.-1001\\\",Data_CallerProcessName=\\\"C:\\\\\\\\Windows\\\\\\\\explorer.exe\\\",ActivityID=\\\"{0d4cc11d-7099-0002-4dc1-4c0d9970d601}\\\",UserID=\\\"\\\",Data_SubjectDomainName=\\\"PC\\\",TimeCreated=\\\"2020-08-21T08:43:27.3036771Z\\\",ProcessName=\\\"lsass.exe\\\" 1597999410000000000\\n\\nwin_eventlog,Channel=Microsoft-Windows-Dhcp-Client/Admin,Computer=PC,EventID=1002,Keywords=0x4000000000000001,Level=2,LevelText=Error,Opcode=76,OpcodeText=IpLeaseDenied,Source=Microsoft-Windows-Dhcp-Client,Task=3,TaskText=Address\\\\ Configuration\\\\ State\\\\ Event,host=PC Version=0i,Message=\\\"The IP address lease 10.20.30.40 for the Network Card with network address 0xaabbccddeeff has been denied by the DHCP server 10.20.30.1 (The DHCP Server sent a DHCPNACK message).\\\",UserID=\\\"S-1-5-19\\\",Data_HWLength=\\\"6\\\",Data_HWAddress=\\\"545595B7EA01\\\",TimeCreated=\\\"2020-08-21T08:43:42.8265853Z\\\",EventRecordID=34i,ProcessName=\\\"svchost.exe\\\",UserName=\\\"NT AUTHORITY\\\\\\\\LOCAL SERVICE\\\" 1597999430000000000\\n\\nwin_eventlog,Channel=System,Computer=PC,EventID=10016,Keywords=Classic,Level=3,LevelText=Warning,Opcode=0,OpcodeText=Info,Source=Microsoft-Windows-DistributedCOM,Task=0,host=PC Data_param3=\\\"Активация\\\",Data_param6=\\\"PC\\\",Data_param8=\\\"S-1-5-21-2007059868-50816014-3139024325-1001\\\",Version=0i,UserName=\\\"PC\\\\\\\\User\\\",Data_param1=\\\"по умолчанию для компьютера\\\",Data_param2=\\\"Локально\\\",Data_param7=\\\"User\\\",Data_param9=\\\"LocalHost (с использованием LRPC)\\\",Data_param10=\\\"Microsoft.Windows.ShellExperienceHost_10.0.19041.423_neutral_neutral_cw5n1h2txyewy\\\",ActivityID=\\\"{839cac9e-73a1-4559-a847-62f3a5e73e44}\\\",ProcessName=\\\"svchost.exe\\\",Message=\\\"The по умолчанию для компьютера permission settings do not grant Локально Активация permission for the COM Server application with CLSID \\\",Data_param5=\\\"{316CDED5-E4AE-4B15-9113-7055D84DCC97}\\\",Data_param11=\\\"S-1-15-2-.-.-.-.-.-.-2861478708\\\",TimeCreated=\\\"2020-08-21T08:43:45.5233759Z\\\",EventRecordID=1914689i,UserID=\\\"S-1-5-21-.-.-.-1001\\\",Data_param4=\\\"{C2F03A33-21F5-47FA-B4BB-156362A2F239}\\\" 1597999430000000000\\n\\n```\\n\";","export default \"# Windows Performance Counters Input Plugin\\n\\nThis document presents the input plugin to read Performance Counters on Windows operating systems.\\n\\nThe configuration is parsed and then tested for validity, such as\\nwhether the Object, Instance and Counter exist on Telegraf startup.\\n\\nCounter paths are refreshed periodically, see the [CountersRefreshInterval](#countersrefreshinterval)\\nconfiguration parameter for more info.\\n\\nIn case of query for all instances `[\\\"*\\\"]`, the plugin does not return the instance `_Total`\\nby default. See [IncludeTotal](#includetotal) for more info.\\n\\n## Basics\\n\\nThe examples contained in this file have been found on the internet\\nas counters used when performance monitoring\\n Active Directory and IIS in particular.\\n There are a lot of other good objects to monitor, if you know what to look for.\\n This file is likely to be updated in the future with more examples for\\n useful configurations for separate scenarios.\\n\\n### Plugin wide\\n\\nPlugin wide entries are underneath `[[inputs.win_perf_counters]]`.\\n\\n#### PrintValid\\n\\nBool, if set to `true` will print out all matching performance objects.\\n\\nExample:\\n`PrintValid=true`\\n\\n#### UseWildcardsExpansion\\n\\nIf `UseWildcardsExpansion` is set to true, wildcards can be used in the\\ninstance name and the counter name. When using localized Windows, counters\\nwill be also be localized. Instance indexes will also be returned in the\\ninstance name.\\n\\nPartial wildcards (e.g. `chrome*`) are supported only in the instance name on Windows Vista and newer.\\n\\nIf disabled, wildcards (not partial) in instance names can still be used, but\\ninstance indexes will not be returned in the instance names.\\n\\nExample:\\n`UseWildcardsExpansion=true`\\n\\n#### CountersRefreshInterval\\n\\nConfigured counters are matched against available counters at the interval\\nspecified by the `CountersRefreshInterval` parameter. The default value is `1m` (1 minute).\\n\\nIf wildcards are used in instance or counter names, they are expanded at this point, if the `UseWildcardsExpansion` param is set to `true`.\\n\\nSetting the `CountersRefreshInterval` too low (order of seconds) can cause Telegraf to create\\na high CPU load.\\n\\nSet it to `0s` to disable periodic refreshing.\\n\\nExample:\\n`CountersRefreshInterval=1m`\\n\\n#### PreVistaSupport\\n\\n_Deprecated. Necessary features on Windows Vista and newer are checked dynamically_\\n\\nBool, if set to `true`, the plugin will use the localized PerfCounter interface that has been present since before Vista for backwards compatibility.\\n\\nIt is recommended NOT to use this on OSes starting with Vista and newer because it requires more configuration to use this than the newer interface present since Vista.\\n\\nExample for Windows Server 2003, this would be set to true:\\n`PreVistaSupport=true`\\n\\n#### UsePerfCounterTime\\n\\nBool, if set to `true` will request a timestamp along with the PerfCounter data. \\nIf se to `false`, current time will be used.\\n\\nSupported on Windows Vista/Windows Server 2008 and newer\\nExample:\\n`UsePerfCounterTime=true`\\n\\n### Object\\n\\nSee Entry below.\\n\\n### Entry\\nA new configuration entry consists of the TOML header starting with,\\n`[[inputs.win_perf_counters.object]]`.\\nThis must follow before other plugin configurations,\\nbeneath the main win_perf_counters entry, `[[inputs.win_perf_counters]]`.\\n\\nFollowing this are 3 required key/value pairs and three optional parameters and their usage.\\n\\n#### ObjectName\\n**Required**\\n\\nObjectName is the Object to query for, like Processor, DirectoryServices, LogicalDisk or similar.\\n\\nExample: `ObjectName = \\\"LogicalDisk\\\"`\\n\\n#### Instances\\n**Required**\\n\\nThe instances key (this is an array) declares the instances of a counter you would like returned,\\nit can be one or more values.\\n\\nExample: `Instances = [\\\"C:\\\",\\\"D:\\\",\\\"E:\\\"]`\\n\\nThis will return only for the instances\\nC:, D: and E: where relevant. To get all instances of a Counter, use `[\\\"*\\\"]` only.\\nBy default any results containing `_Total` are stripped,\\nunless this is specified as the wanted instance.\\nAlternatively see the option `IncludeTotal` below.\\n\\nIt is also possible to set partial wildcards, eg. `[\\\"chrome*\\\"]`, if the `UseWildcardsExpansion` param is set to `true`\\n\\nSome Objects do not have instances to select from at all.\\nHere only one option is valid if you want data back,\\nand that is to specify `Instances = [\\\"------\\\"]`.\\n\\n#### Counters\\n**Required**\\n\\nThe Counters key (this is an array) declares the counters of the ObjectName\\nyou would like returned, it can also be one or more values.\\n\\nExample: `Counters = [\\\"% Idle Time\\\", \\\"% Disk Read Time\\\", \\\"% Disk Write Time\\\"]`\\n\\nThis must be specified for every counter you want the results of, or use\\n`[\\\"*\\\"]` for all the counters of the object, if the `UseWildcardsExpansion` param\\nis set to `true`.\\n\\n#### Measurement\\n*Optional*\\n\\nThis key is optional. If it is not set it will be `win_perf_counters`.\\nIn InfluxDB this is the key underneath which the returned data is stored.\\nSo for ordering your data in a good manner,\\nthis is a good key to set with a value when you want your IIS and Disk results stored\\nseparately from Processor results.\\n\\nExample: `Measurement = \\\"win_disk\\\"``\\n\\n#### IncludeTotal\\n*Optional*\\n\\nThis key is optional. It is a simple bool.\\nIf it is not set to true or included it is treated as false.\\nThis key only has effect if the Instances key is set to `[\\\"*\\\"]`\\nand you would also like all instances containing `_Total` to be returned,\\nlike `_Total`, `0,_Total` and so on where applicable\\n(Processor Information is one example).\\n\\n#### WarnOnMissing\\n*Optional*\\n\\nThis key is optional. It is a simple bool.\\nIf it is not set to true or included it is treated as false.\\nThis only has effect on the first execution of the plugin.\\nIt will print out any ObjectName/Instance/Counter combinations\\nasked for that do not match. Useful when debugging new configurations.\\n\\n#### FailOnMissing\\n*Internal*\\n\\nThis key should not be used. It is for testing purposes only.\\nIt is a simple bool. If it is not set to true or included this is treated as false.\\nIf this is set to true, the plugin will abort and end prematurely\\nif any of the combinations of ObjectName/Instances/Counters are invalid.\\n\\n## Examples\\n\\n### Generic Queries\\n```toml\\n[[inputs.win_perf_counters]]\\n [[inputs.win_perf_counters.object]]\\n # Processor usage, alternative to native, reports on a per core.\\n ObjectName = \\\"Processor\\\"\\n Instances = [\\\"*\\\"]\\n Counters = [\\\"% Idle Time\\\", \\\"% Interrupt Time\\\", \\\"% Privileged Time\\\", \\\"% User Time\\\", \\\"% Processor Time\\\"]\\n Measurement = \\\"win_cpu\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n\\n [[inputs.win_perf_counters.object]]\\n # Disk times and queues\\n ObjectName = \\\"LogicalDisk\\\"\\n Instances = [\\\"*\\\"]\\n Counters = [\\\"% Idle Time\\\", \\\"% Disk Time\\\",\\\"% Disk Read Time\\\", \\\"% Disk Write Time\\\", \\\"% User Time\\\", \\\"Current Disk Queue Length\\\"]\\n Measurement = \\\"win_disk\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n\\n [[inputs.win_perf_counters.object]]\\n ObjectName = \\\"System\\\"\\n Counters = [\\\"Context Switches/sec\\\",\\\"System Calls/sec\\\", \\\"Processor Queue Length\\\"]\\n Instances = [\\\"------\\\"]\\n Measurement = \\\"win_system\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n\\n [[inputs.win_perf_counters.object]]\\n # Example query where the Instance portion must be removed to get data back, such as from the Memory object.\\n ObjectName = \\\"Memory\\\"\\n Counters = [\\\"Available Bytes\\\",\\\"Cache Faults/sec\\\",\\\"Demand Zero Faults/sec\\\",\\\"Page Faults/sec\\\",\\\"Pages/sec\\\",\\\"Transition Faults/sec\\\",\\\"Pool Nonpaged Bytes\\\",\\\"Pool Paged Bytes\\\"]\\n Instances = [\\\"------\\\"] # Use 6 x - to remove the Instance bit from the query.\\n Measurement = \\\"win_mem\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n\\n [[inputs.win_perf_counters.object]]\\n # more counters for the Network Interface Object can be found at\\n # https://msdn.microsoft.com/en-us/library/ms803962.aspx\\n ObjectName = \\\"Network Interface\\\"\\n Counters = [\\\"Bytes Received/sec\\\",\\\"Bytes Sent/sec\\\",\\\"Packets Received/sec\\\",\\\"Packets Sent/sec\\\"]\\n Instances = [\\\"*\\\"] # Use 6 x - to remove the Instance bit from the query.\\n Measurement = \\\"win_net\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n```\\n\\n### Active Directory Domain Controller\\n```toml\\n[[inputs.win_perf_counters]]\\n [inputs.win_perf_counters.tags]\\n monitorgroup = \\\"ActiveDirectory\\\"\\n [[inputs.win_perf_counters.object]]\\n ObjectName = \\\"DirectoryServices\\\"\\n Instances = [\\\"*\\\"]\\n Counters = [\\\"Base Searches/sec\\\",\\\"Database adds/sec\\\",\\\"Database deletes/sec\\\",\\\"Database modifys/sec\\\",\\\"Database recycles/sec\\\",\\\"LDAP Client Sessions\\\",\\\"LDAP Searches/sec\\\",\\\"LDAP Writes/sec\\\"]\\n Measurement = \\\"win_ad\\\" # Set an alternative measurement to win_perf_counters if wanted.\\n #Instances = [\\\"\\\"] # Gathers all instances by default, specify to only gather these\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n\\n [[inputs.win_perf_counters.object]]\\n ObjectName = \\\"Security System-Wide Statistics\\\"\\n Instances = [\\\"*\\\"]\\n Counters = [\\\"NTLM Authentications\\\",\\\"Kerberos Authentications\\\",\\\"Digest Authentications\\\"]\\n Measurement = \\\"win_ad\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n\\n [[inputs.win_perf_counters.object]]\\n ObjectName = \\\"Database\\\"\\n Instances = [\\\"*\\\"]\\n Counters = [\\\"Database Cache % Hit\\\",\\\"Database Cache Page Fault Stalls/sec\\\",\\\"Database Cache Page Faults/sec\\\",\\\"Database Cache Size\\\"]\\n Measurement = \\\"win_db\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n```\\n\\n### DFS Namespace + Domain Controllers\\n```toml\\n[[inputs.win_perf_counters]]\\n [[inputs.win_perf_counters.object]]\\n # AD, DFS N, Useful if the server hosts a DFS Namespace or is a Domain Controller\\n ObjectName = \\\"DFS Namespace Service Referrals\\\"\\n Instances = [\\\"*\\\"]\\n Counters = [\\\"Requests Processed\\\",\\\"Requests Failed\\\",\\\"Avg. Response Time\\\"]\\n Measurement = \\\"win_dfsn\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n #WarnOnMissing = false # Print out when the performance counter is missing, either of object, counter or instance.\\n```\\n\\n### DFS Replication + Domain Controllers\\n```toml\\n[[inputs.win_perf_counters]]\\n [[inputs.win_perf_counters.object]]\\n # AD, DFS R, Useful if the server hosts a DFS Replication folder or is a Domain Controller\\n ObjectName = \\\"DFS Replication Service Volumes\\\"\\n Instances = [\\\"*\\\"]\\n Counters = [\\\"Data Lookups\\\",\\\"Database Commits\\\"]\\n Measurement = \\\"win_dfsr\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n #WarnOnMissing = false # Print out when the performance counter is missing, either of object, counter or instance.\\n```\\n\\n### DNS Server + Domain Controllers\\n```toml\\n[[inputs.win_perf_counters]]\\n [[inputs.win_perf_counters.object]]\\n ObjectName = \\\"DNS\\\"\\n Counters = [\\\"Dynamic Update Received\\\",\\\"Dynamic Update Rejected\\\",\\\"Recursive Queries\\\",\\\"Recursive Queries Failure\\\",\\\"Secure Update Failure\\\",\\\"Secure Update Received\\\",\\\"TCP Query Received\\\",\\\"TCP Response Sent\\\",\\\"UDP Query Received\\\",\\\"UDP Response Sent\\\",\\\"Total Query Received\\\",\\\"Total Response Sent\\\"]\\n Instances = [\\\"------\\\"]\\n Measurement = \\\"win_dns\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n```\\n\\n### IIS / ASP.NET\\n```toml\\n[[inputs.win_perf_counters]]\\n [[inputs.win_perf_counters.object]]\\n # HTTP Service request queues in the Kernel before being handed over to User Mode.\\n ObjectName = \\\"HTTP Service Request Queues\\\"\\n Instances = [\\\"*\\\"]\\n Counters = [\\\"CurrentQueueSize\\\",\\\"RejectedRequests\\\"]\\n Measurement = \\\"win_http_queues\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n\\n [[inputs.win_perf_counters.object]]\\n # IIS, ASP.NET Applications\\n ObjectName = \\\"ASP.NET Applications\\\"\\n Counters = [\\\"Cache Total Entries\\\",\\\"Cache Total Hit Ratio\\\",\\\"Cache Total Turnover Rate\\\",\\\"Output Cache Entries\\\",\\\"Output Cache Hits\\\",\\\"Output Cache Hit Ratio\\\",\\\"Output Cache Turnover Rate\\\",\\\"Compilations Total\\\",\\\"Errors Total/Sec\\\",\\\"Pipeline Instance Count\\\",\\\"Requests Executing\\\",\\\"Requests in Application Queue\\\",\\\"Requests/Sec\\\"]\\n Instances = [\\\"*\\\"]\\n Measurement = \\\"win_aspnet_app\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n\\n [[inputs.win_perf_counters.object]]\\n # IIS, ASP.NET\\n ObjectName = \\\"ASP.NET\\\"\\n Counters = [\\\"Application Restarts\\\",\\\"Request Wait Time\\\",\\\"Requests Current\\\",\\\"Requests Queued\\\",\\\"Requests Rejected\\\"]\\n Instances = [\\\"*\\\"]\\n Measurement = \\\"win_aspnet\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n\\n [[inputs.win_perf_counters.object]]\\n # IIS, Web Service\\n ObjectName = \\\"Web Service\\\"\\n Counters = [\\\"Get Requests/sec\\\",\\\"Post Requests/sec\\\",\\\"Connection Attempts/sec\\\",\\\"Current Connections\\\",\\\"ISAPI Extension Requests/sec\\\"]\\n Instances = [\\\"*\\\"]\\n Measurement = \\\"win_websvc\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n\\n [[inputs.win_perf_counters.object]]\\n # Web Service Cache / IIS\\n ObjectName = \\\"Web Service Cache\\\"\\n Counters = [\\\"URI Cache Hits %\\\",\\\"Kernel: URI Cache Hits %\\\",\\\"File Cache Hits %\\\"]\\n Instances = [\\\"*\\\"]\\n Measurement = \\\"win_websvc_cache\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n```\\n\\n### Process\\n```toml\\n[[inputs.win_perf_counters]]\\n [[inputs.win_perf_counters.object]]\\n # Process metrics, in this case for IIS only\\n ObjectName = \\\"Process\\\"\\n Counters = [\\\"% Processor Time\\\",\\\"Handle Count\\\",\\\"Private Bytes\\\",\\\"Thread Count\\\",\\\"Virtual Bytes\\\",\\\"Working Set\\\"]\\n Instances = [\\\"w3wp\\\"]\\n Measurement = \\\"win_proc\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n```\\n\\n### .NET Monitoring\\n```toml\\n[[inputs.win_perf_counters]]\\n [[inputs.win_perf_counters.object]]\\n # .NET CLR Exceptions, in this case for IIS only\\n ObjectName = \\\".NET CLR Exceptions\\\"\\n Counters = [\\\"# of Exceps Thrown / sec\\\"]\\n Instances = [\\\"w3wp\\\"]\\n Measurement = \\\"win_dotnet_exceptions\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n\\n [[inputs.win_perf_counters.object]]\\n # .NET CLR Jit, in this case for IIS only\\n ObjectName = \\\".NET CLR Jit\\\"\\n Counters = [\\\"% Time in Jit\\\",\\\"IL Bytes Jitted / sec\\\"]\\n Instances = [\\\"w3wp\\\"]\\n Measurement = \\\"win_dotnet_jit\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n\\n [[inputs.win_perf_counters.object]]\\n # .NET CLR Loading, in this case for IIS only\\n ObjectName = \\\".NET CLR Loading\\\"\\n Counters = [\\\"% Time Loading\\\"]\\n Instances = [\\\"w3wp\\\"]\\n Measurement = \\\"win_dotnet_loading\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n\\n [[inputs.win_perf_counters.object]]\\n # .NET CLR LocksAndThreads, in this case for IIS only\\n ObjectName = \\\".NET CLR LocksAndThreads\\\"\\n Counters = [\\\"# of current logical Threads\\\",\\\"# of current physical Threads\\\",\\\"# of current recognized threads\\\",\\\"# of total recognized threads\\\",\\\"Queue Length / sec\\\",\\\"Total # of Contentions\\\",\\\"Current Queue Length\\\"]\\n Instances = [\\\"w3wp\\\"]\\n Measurement = \\\"win_dotnet_locks\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n\\n [[inputs.win_perf_counters.object]]\\n # .NET CLR Memory, in this case for IIS only\\n ObjectName = \\\".NET CLR Memory\\\"\\n Counters = [\\\"% Time in GC\\\",\\\"# Bytes in all Heaps\\\",\\\"# Gen 0 Collections\\\",\\\"# Gen 1 Collections\\\",\\\"# Gen 2 Collections\\\",\\\"# Induced GC\\\",\\\"Allocated Bytes/sec\\\",\\\"Finalization Survivors\\\",\\\"Gen 0 heap size\\\",\\\"Gen 1 heap size\\\",\\\"Gen 2 heap size\\\",\\\"Large Object Heap size\\\",\\\"# of Pinned Objects\\\"]\\n Instances = [\\\"w3wp\\\"]\\n Measurement = \\\"win_dotnet_mem\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n\\n [[inputs.win_perf_counters.object]]\\n # .NET CLR Security, in this case for IIS only\\n ObjectName = \\\".NET CLR Security\\\"\\n Counters = [\\\"% Time in RT checks\\\",\\\"Stack Walk Depth\\\",\\\"Total Runtime Checks\\\"]\\n Instances = [\\\"w3wp\\\"]\\n Measurement = \\\"win_dotnet_security\\\"\\n #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).\\n```\\n\\n## Troubleshooting\\n\\nIf you are getting an error about an invalid counter, use the `typeperf` command to check the counter path\\non the command line.\\nE.g. `typeperf \\\"Process(chrome*)\\\\% Processor Time\\\"`\\n\\nIf no metrics are emitted even with the default config, you may need to repair\\nyour performance counters.\\n\\n1. Launch the Command Prompt as Administrator (right click Runs As Administrator).\\n1. Drop into the C:\\\\WINDOWS\\\\System32 directory by typing `C:` then `cd \\\\Windows\\\\System32`\\n1. Rebuild your counter values, which may take a few moments so please be\\n patient, by running:\\n ```\\n lodctr /r\\n ```\\n\";","export default \"# Windows Services Input Plugin\\n\\nReports information about Windows service status.\\n\\nMonitoring some services may require running Telegraf with administrator privileges.\\n\\n### Configuration:\\n\\n```toml\\n[[inputs.win_services]]\\n ## Names of the services to monitor. Leave empty to monitor all the available services on the host. Globs accepted.\\n service_names = [\\n \\\"LanmanServer\\\",\\n \\\"TermService\\\",\\n \\\"Win*\\\",\\n ]\\n```\\n\\n### Measurements & Fields:\\n\\n- win_services\\n - state : integer\\n - startup_mode : integer\\n\\nThe `state` field can have the following values:\\n- 1 - stopped\\n- 2 - start pending\\n- 3 - stop pending\\n- 4 - running\\n- 5 - continue pending\\n- 6 - pause pending\\n- 7 - paused\\n\\nThe `startup_mode` field can have the following values:\\n- 0 - boot start\\n- 1 - system start\\n- 2 - auto start\\n- 3 - demand start\\n- 4 - disabled\\n\\n### Tags:\\n\\n- All measurements have the following tags:\\n - service_name\\n - display_name\\n\\n### Example Output:\\n```\\nwin_services,host=WIN2008R2H401,display_name=Server,service_name=LanmanServer state=4i,startup_mode=2i 1500040669000000000\\nwin_services,display_name=Remote\\\\ Desktop\\\\ Services,service_name=TermService,host=WIN2008R2H401 state=1i,startup_mode=3i 1500040669000000000\\n```\\n### TICK Scripts\\n\\nA sample TICK script for a notification about a not running service.\\nIt sends a notification whenever any service changes its state to be not _running_ and when it changes that state back to _running_.\\nThe notification is sent via an HTTP POST call.\\n\\n```\\nstream\\n |from()\\n .database('telegraf')\\n .retentionPolicy('autogen')\\n .measurement('win_services')\\n .groupBy('host','service_name')\\n |alert()\\n .crit(lambda: \\\"state\\\" != 4)\\n .stateChangesOnly()\\n .message('Service {{ index .Tags \\\"service_name\\\" }} on Host {{ index .Tags \\\"host\\\" }} is in state {{ index .Fields \\\"state\\\" }} ')\\n .post('http://localhost:666/alert/service')\\n```\\n\";","export default \"# Wireguard Input Plugin\\n\\nThe Wireguard input plugin collects statistics on the local Wireguard server\\nusing the [`wgctrl`](https://github.com/WireGuard/wgctrl-go) library. It\\nreports gauge metrics for Wireguard interface device(s) and its peers.\\n\\n### Configuration\\n\\n```toml\\n# Collect Wireguard server interface and peer statistics\\n[[inputs.wireguard]]\\n ## Optional list of Wireguard device/interface names to query.\\n ## If omitted, all Wireguard interfaces are queried.\\n # devices = [\\\"wg0\\\"]\\n```\\n\\n### Metrics\\n\\n- `wireguard_device`\\n - tags:\\n - `name` (interface device name, e.g. `wg0`)\\n - `type` (Wireguard tunnel type, e.g. `linux_kernel` or `userspace`)\\n - fields:\\n - `listen_port` (int, UDP port on which the interface is listening)\\n - `firewall_mark` (int, device's current firewall mark)\\n - `peers` (int, number of peers associated with the device)\\n\\n- `wireguard_peer`\\n - tags:\\n - `device` (associated interface device name, e.g. `wg0`)\\n - `public_key` (peer public key, e.g. `NZTRIrv/ClTcQoNAnChEot+WL7OH7uEGQmx8oAN9rWE=`)\\n - fields:\\n - `persistent_keepalive_interval_ns` (int, keepalive interval in nanoseconds; 0 if unset)\\n - `protocol_version` (int, Wireguard protocol version number)\\n - `allowed_ips` (int, number of allowed IPs for this peer)\\n - `last_handshake_time_ns` (int, Unix timestamp of the last handshake for this peer in nanoseconds)\\n - `rx_bytes` (int, number of bytes received from this peer)\\n - `tx_bytes` (int, number of bytes transmitted to this peer)\\n\\n### Troubleshooting\\n\\n#### Error: `operation not permitted`\\n\\nWhen the kernelspace implementation of Wireguard is in use (as opposed to its\\nuserspace implementations), Telegraf communicates with the module over netlink.\\nThis requires Telegraf to either run as root, or for the Telegraf binary to\\nhave the `CAP_NET_ADMIN` capability.\\n\\nTo add this capability to the Telegraf binary (to allow this communication under\\nthe default user `telegraf`):\\n\\n```bash\\n$ sudo setcap CAP_NET_ADMIN+epi $(which telegraf)\\n```\\n\\nN.B.: This capability is a filesystem attribute on the binary itself. The\\nattribute needs to be re-applied if the Telegraf binary is rotated (e.g.\\non installation of new a Telegraf version from the system package manager).\\n\\n#### Error: `error enumerating Wireguard devices`\\n\\nThis usually happens when the device names specified in config are invalid.\\nEnsure that `sudo wg show` succeeds, and that the device names in config match\\nthose printed by this command.\\n\\n### Example Output\\n\\n```\\nwireguard_device,host=WGVPN,name=wg0,type=linux_kernel firewall_mark=51820i,listen_port=58216i 1582513589000000000\\nwireguard_device,host=WGVPN,name=wg0,type=linux_kernel peers=1i 1582513589000000000\\nwireguard_peer,device=wg0,host=WGVPN,public_key=NZTRIrv/ClTcQoNAnChEot+WL7OH7uEGQmx8oAN9rWE= allowed_ips=2i,persistent_keepalive_interval_ns=60000000000i,protocol_version=1i 1582513589000000000\\nwireguard_peer,device=wg0,host=WGVPN,public_key=NZTRIrv/ClTcQoNAnChEot+WL7OH7uEGQmx8oAN9rWE= last_handshake_time_ns=1582513584530013376i,rx_bytes=6484i,tx_bytes=13540i 1582513589000000000\\n```\\n\";","export default \"# Wireless Input Plugin\\n\\nThe wireless plugin gathers metrics about wireless link quality by reading the `/proc/net/wireless` file. This plugin currently supports linux only.\\n\\n### Configuration:\\n\\n```toml\\n# Monitor wifi signal strength and quality\\n[[inputs.wireless]]\\n ## Sets 'proc' directory path\\n ## If not specified, then default is /proc\\n # host_proc = \\\"/proc\\\"\\n```\\n\\n### Metrics:\\n\\n- metric\\n - tags:\\n - interface (wireless interface)\\n - fields:\\n - status (int64, gauge) - Its current state. This is a device dependent information\\n - link (int64, percentage, gauge) - general quality of the reception\\n - level (int64, dBm, gauge) - signal strength at the receiver\\n - noise (int64, dBm, gauge) - silence level (no packet) at the receiver\\n - nwid (int64, packets, counter) - number of discarded packets due to invalid network id\\n - crypt (int64, packets, counter) - number of packet unable to decrypt\\n - frag (int64, packets, counter) - fragmented packets\\n - retry (int64, packets, counter) - cumulative retry counts\\n - misc (int64, packets, counter) - dropped for un-specified reason\\n - missed_beacon (int64, packets, counter) - missed beacon packets\\n\\n### Example Output:\\n\\nThis section shows example output in Line Protocol format.\\n\\n```\\nwireless,host=example.localdomain,interface=wlan0 misc=0i,frag=0i,link=60i,level=-50i,noise=-256i,nwid=0i,crypt=0i,retry=1525i,missed_beacon=0i,status=0i 1519843022000000000\\n```\\n\";","export default \"# x509 Certificate Input Plugin\\n\\nThis plugin provides information about X509 certificate accessible via local\\nfile or network connection.\\n\\n\\n### Configuration\\n\\n```toml\\n# Reads metrics from a SSL certificate\\n[[inputs.x509_cert]]\\n ## List certificate sources\\n sources = [\\\"/etc/ssl/certs/ssl-cert-snakeoil.pem\\\", \\\"https://example.org:443\\\"]\\n\\n ## Timeout for SSL connection\\n # timeout = \\\"5s\\\"\\n\\n ## Pass a different name into the TLS request (Server Name Indication).\\n ## This is synonymous with tls_server_name, and only one of the two\\n ## options may be specified at one time.\\n ## example: server_name = \\\"myhost.example.org\\\"\\n # server_name = \\\"myhost.example.org\\\"\\n\\n ## Optional TLS Config\\n # tls_ca = \\\"/etc/telegraf/ca.pem\\\"\\n # tls_cert = \\\"/etc/telegraf/cert.pem\\\"\\n # tls_key = \\\"/etc/telegraf/key.pem\\\"\\n # tls_server_name = \\\"myhost.example.org\\\"\\n```\\n\\n\\n### Metrics\\n\\n- x509_cert\\n - tags:\\n - source - source of the certificate\\n - organization\\n - organizational_unit\\n - country\\n - province\\n - locality\\n - verification\\n - serial_number\\n - signature_algorithm\\n - public_key_algorithm\\n - issuer_common_name\\n - issuer_serial_number\\n - san\\n - fields:\\n - verification_code (int)\\n - verification_error (string)\\n - expiry (int, seconds)\\n - age (int, seconds)\\n - startdate (int, seconds)\\n - enddate (int, seconds)\\n\\n\\n### Example output\\n\\n```\\nx509_cert,common_name=ubuntu,source=/etc/ssl/certs/ssl-cert-snakeoil.pem,verification=valid age=7693222i,enddate=1871249033i,expiry=307666777i,startdate=1555889033i,verification_code=0i 1563582256000000000\\nx509_cert,common_name=www.example.org,country=US,locality=Los\\\\ Angeles,organization=Internet\\\\ Corporation\\\\ for\\\\ Assigned\\\\ Names\\\\ and\\\\ Numbers,organizational_unit=Technology,province=California,source=https://example.org:443,verification=invalid age=20219055i,enddate=1606910400i,expiry=43328144i,startdate=1543363200i,verification_code=1i,verification_error=\\\"x509: certificate signed by unknown authority\\\" 1563582256000000000\\nx509_cert,common_name=DigiCert\\\\ SHA2\\\\ Secure\\\\ Server\\\\ CA,country=US,organization=DigiCert\\\\ Inc,source=https://example.org:443,verification=valid age=200838255i,enddate=1678276800i,expiry=114694544i,startdate=1362744000i,verification_code=0i 1563582256000000000\\nx509_cert,common_name=DigiCert\\\\ Global\\\\ Root\\\\ CA,country=US,organization=DigiCert\\\\ Inc,organizational_unit=www.digicert.com,source=https://example.org:443,verification=valid age=400465455i,enddate=1952035200i,expiry=388452944i,startdate=1163116800i,verification_code=0i 1563582256000000000\\n```\\n\";","export default \"# ZFS Input Plugin\\n\\nThis ZFS plugin provides metrics from your ZFS filesystems. It supports ZFS on\\nLinux and FreeBSD. It gets ZFS stat from `/proc/spl/kstat/zfs` on Linux and\\nfrom `sysctl`, 'zfs' and `zpool` on FreeBSD.\\n\\n### Configuration:\\n\\n```toml\\n[[inputs.zfs]]\\n ## ZFS kstat path. Ignored on FreeBSD\\n ## If not specified, then default is:\\n # kstatPath = \\\"/proc/spl/kstat/zfs\\\"\\n\\n ## By default, telegraf gather all zfs stats\\n ## Override the stats list using the kstatMetrics array:\\n ## For FreeBSD, the default is:\\n # kstatMetrics = [\\\"arcstats\\\", \\\"zfetchstats\\\", \\\"vdev_cache_stats\\\"]\\n ## For Linux, the default is:\\n # kstatMetrics = [\\\"abdstats\\\", \\\"arcstats\\\", \\\"dnodestats\\\", \\\"dbufcachestats\\\",\\n # \\\"dmu_tx\\\", \\\"fm\\\", \\\"vdev_mirror_stats\\\", \\\"zfetchstats\\\", \\\"zil\\\"]\\n\\n ## By default, don't gather zpool stats\\n # poolMetrics = false\\n\\n ## By default, don't gather dataset stats\\n # datasetMetrics = false\\n```\\n\\n### Measurements & Fields:\\n\\nBy default this plugin collects metrics about ZFS internals pool and dataset.\\nThese metrics are either counters or measure sizes\\nin bytes. These metrics will be in the `zfs` measurement with the field\\nnames listed bellow.\\n\\nIf `poolMetrics` is enabled then additional metrics will be gathered for\\neach pool.\\n\\nIf `datasetMetrics` is enabled then additional metrics will be gathered for\\neach dataset.\\n\\n- zfs\\n With fields listed bellow.\\n\\n#### ARC Stats (FreeBSD and Linux)\\n\\n- arcstats_allocated (FreeBSD only)\\n- arcstats_anon_evict_data (Linux only)\\n- arcstats_anon_evict_metadata (Linux only)\\n- arcstats_anon_evictable_data (FreeBSD only)\\n- arcstats_anon_evictable_metadata (FreeBSD only)\\n- arcstats_anon_size\\n- arcstats_arc_loaned_bytes (Linux only)\\n- arcstats_arc_meta_limit\\n- arcstats_arc_meta_max\\n- arcstats_arc_meta_min (FreeBSD only)\\n- arcstats_arc_meta_used\\n- arcstats_arc_no_grow (Linux only)\\n- arcstats_arc_prune (Linux only)\\n- arcstats_arc_tempreserve (Linux only)\\n- arcstats_c\\n- arcstats_c_max\\n- arcstats_c_min\\n- arcstats_data_size\\n- arcstats_deleted\\n- arcstats_demand_data_hits\\n- arcstats_demand_data_misses\\n- arcstats_demand_hit_predictive_prefetch (FreeBSD only)\\n- arcstats_demand_metadata_hits\\n- arcstats_demand_metadata_misses\\n- arcstats_duplicate_buffers\\n- arcstats_duplicate_buffers_size\\n- arcstats_duplicate_reads\\n- arcstats_evict_l2_cached\\n- arcstats_evict_l2_eligible\\n- arcstats_evict_l2_ineligible\\n- arcstats_evict_l2_skip (FreeBSD only)\\n- arcstats_evict_not_enough (FreeBSD only)\\n- arcstats_evict_skip\\n- arcstats_hash_chain_max\\n- arcstats_hash_chains\\n- arcstats_hash_collisions\\n- arcstats_hash_elements\\n- arcstats_hash_elements_max\\n- arcstats_hdr_size\\n- arcstats_hits\\n- arcstats_l2_abort_lowmem\\n- arcstats_l2_asize\\n- arcstats_l2_cdata_free_on_write\\n- arcstats_l2_cksum_bad\\n- arcstats_l2_compress_failures\\n- arcstats_l2_compress_successes\\n- arcstats_l2_compress_zeros\\n- arcstats_l2_evict_l1cached (FreeBSD only)\\n- arcstats_l2_evict_lock_retry\\n- arcstats_l2_evict_reading\\n- arcstats_l2_feeds\\n- arcstats_l2_free_on_write\\n- arcstats_l2_hdr_size\\n- arcstats_l2_hits\\n- arcstats_l2_io_error\\n- arcstats_l2_misses\\n- arcstats_l2_read_bytes\\n- arcstats_l2_rw_clash\\n- arcstats_l2_size\\n- arcstats_l2_write_buffer_bytes_scanned (FreeBSD only)\\n- arcstats_l2_write_buffer_iter (FreeBSD only)\\n- arcstats_l2_write_buffer_list_iter (FreeBSD only)\\n- arcstats_l2_write_buffer_list_null_iter (FreeBSD only)\\n- arcstats_l2_write_bytes\\n- arcstats_l2_write_full (FreeBSD only)\\n- arcstats_l2_write_in_l2 (FreeBSD only)\\n- arcstats_l2_write_io_in_progress (FreeBSD only)\\n- arcstats_l2_write_not_cacheable (FreeBSD only)\\n- arcstats_l2_write_passed_headroom (FreeBSD only)\\n- arcstats_l2_write_pios (FreeBSD only)\\n- arcstats_l2_write_spa_mismatch (FreeBSD only)\\n- arcstats_l2_write_trylock_fail (FreeBSD only)\\n- arcstats_l2_writes_done\\n- arcstats_l2_writes_error\\n- arcstats_l2_writes_hdr_miss (Linux only)\\n- arcstats_l2_writes_lock_retry (FreeBSD only)\\n- arcstats_l2_writes_sent\\n- arcstats_memory_direct_count (Linux only)\\n- arcstats_memory_indirect_count (Linux only)\\n- arcstats_memory_throttle_count\\n- arcstats_meta_size (Linux only)\\n- arcstats_mfu_evict_data (Linux only)\\n- arcstats_mfu_evict_metadata (Linux only)\\n- arcstats_mfu_ghost_evict_data (Linux only)\\n- arcstats_mfu_ghost_evict_metadata (Linux only)\\n- arcstats_metadata_size (FreeBSD only)\\n- arcstats_mfu_evictable_data (FreeBSD only)\\n- arcstats_mfu_evictable_metadata (FreeBSD only)\\n- arcstats_mfu_ghost_evictable_data (FreeBSD only)\\n- arcstats_mfu_ghost_evictable_metadata (FreeBSD only)\\n- arcstats_mfu_ghost_hits\\n- arcstats_mfu_ghost_size\\n- arcstats_mfu_hits\\n- arcstats_mfu_size\\n- arcstats_misses\\n- arcstats_mru_evict_data (Linux only)\\n- arcstats_mru_evict_metadata (Linux only)\\n- arcstats_mru_ghost_evict_data (Linux only)\\n- arcstats_mru_ghost_evict_metadata (Linux only)\\n- arcstats_mru_evictable_data (FreeBSD only)\\n- arcstats_mru_evictable_metadata (FreeBSD only)\\n- arcstats_mru_ghost_evictable_data (FreeBSD only)\\n- arcstats_mru_ghost_evictable_metadata (FreeBSD only)\\n- arcstats_mru_ghost_hits\\n- arcstats_mru_ghost_size\\n- arcstats_mru_hits\\n- arcstats_mru_size\\n- arcstats_mutex_miss\\n- arcstats_other_size\\n- arcstats_p\\n- arcstats_prefetch_data_hits\\n- arcstats_prefetch_data_misses\\n- arcstats_prefetch_metadata_hits\\n- arcstats_prefetch_metadata_misses\\n- arcstats_recycle_miss (Linux only)\\n- arcstats_size\\n- arcstats_sync_wait_for_async (FreeBSD only)\\n\\n#### Zfetch Stats (FreeBSD and Linux)\\n\\n- zfetchstats_bogus_streams (Linux only)\\n- zfetchstats_colinear_hits (Linux only)\\n- zfetchstats_colinear_misses (Linux only)\\n- zfetchstats_hits\\n- zfetchstats_max_streams (FreeBSD only)\\n- zfetchstats_misses\\n- zfetchstats_reclaim_failures (Linux only)\\n- zfetchstats_reclaim_successes (Linux only)\\n- zfetchstats_streams_noresets (Linux only)\\n- zfetchstats_streams_resets (Linux only)\\n- zfetchstats_stride_hits (Linux only)\\n- zfetchstats_stride_misses (Linux only)\\n\\n#### Vdev Cache Stats (FreeBSD)\\n\\n- vdev_cache_stats_delegations\\n- vdev_cache_stats_hits\\n- vdev_cache_stats_misses\\n\\n#### Pool Metrics (optional)\\n\\nOn Linux (reference: kstat accumulated time and queue length statistics):\\n\\n- zfs_pool\\n - nread (integer, bytes)\\n - nwritten (integer, bytes)\\n - reads (integer, count)\\n - writes (integer, count)\\n - wtime (integer, nanoseconds) \\n - wlentime (integer, queuelength * nanoseconds)\\n - wupdate (integer, timestamp)\\n - rtime (integer, nanoseconds)\\n - rlentime (integer, queuelength * nanoseconds)\\n - rupdate (integer, timestamp)\\n - wcnt (integer, count)\\n - rcnt (integer, count)\\n\\nOn FreeBSD:\\n\\n- zfs_pool\\n - allocated (integer, bytes)\\n - capacity (integer, bytes)\\n - dedupratio (float, ratio)\\n - free (integer, bytes)\\n - size (integer, bytes)\\n - fragmentation (integer, percent)\\n\\n#### Dataset Metrics (optional, only on FreeBSD)\\n\\n- zfs_dataset\\n - avail (integer, bytes)\\n - used (integer, bytes)\\n - usedsnap (integer, bytes\\n - usedds (integer, bytes)\\n\\n### Tags:\\n\\n- ZFS stats (`zfs`) will have the following tag:\\n - pools - A `::` concatenated list of all ZFS pools on the machine.\\n - datasets - A `::` concatenated list of all ZFS datasets on the machine.\\n\\n- Pool metrics (`zfs_pool`) will have the following tag:\\n - pool - with the name of the pool which the metrics are for.\\n - health - the health status of the pool. (FreeBSD only)\\n\\n- Dataset metrics (`zfs_dataset`) will have the following tag:\\n - dataset - with the name of the dataset which the metrics are for.\\n\\n### Example Output:\\n\\n```\\n$ ./telegraf --config telegraf.conf --input-filter zfs --test\\n* Plugin: zfs, Collection 1\\n> zfs_pool,health=ONLINE,pool=zroot allocated=1578590208i,capacity=2i,dedupratio=1,fragmentation=1i,free=64456531968i,size=66035122176i 1464473103625653908\\n> zfs_dataset,dataset=zata avail=10741741326336,used=8564135526400,usedsnap=0,usedds=90112\\n> zfs,pools=zroot arcstats_allocated=4167764i,arcstats_anon_evictable_data=0i,arcstats_anon_evictable_metadata=0i,arcstats_anon_size=16896i,arcstats_arc_meta_limit=10485760i,arcstats_arc_meta_max=115269568i,arcstats_arc_meta_min=8388608i,arcstats_arc_meta_used=51977456i,arcstats_c=16777216i,arcstats_c_max=41943040i,arcstats_c_min=16777216i,arcstats_data_size=0i,arcstats_deleted=1699340i,arcstats_demand_data_hits=14836131i,arcstats_demand_data_misses=2842945i,arcstats_demand_hit_predictive_prefetch=0i,arcstats_demand_metadata_hits=1655006i,arcstats_demand_metadata_misses=830074i,arcstats_duplicate_buffers=0i,arcstats_duplicate_buffers_size=0i,arcstats_duplicate_reads=123i,arcstats_evict_l2_cached=0i,arcstats_evict_l2_eligible=332172623872i,arcstats_evict_l2_ineligible=6168576i,arcstats_evict_l2_skip=0i,arcstats_evict_not_enough=12189444i,arcstats_evict_skip=195190764i,arcstats_hash_chain_max=2i,arcstats_hash_chains=10i,arcstats_hash_collisions=43134i,arcstats_hash_elements=2268i,arcstats_hash_elements_max=6136i,arcstats_hdr_size=565632i,arcstats_hits=16515778i,arcstats_l2_abort_lowmem=0i,arcstats_l2_asize=0i,arcstats_l2_cdata_free_on_write=0i,arcstats_l2_cksum_bad=0i,arcstats_l2_compress_failures=0i,arcstats_l2_compress_successes=0i,arcstats_l2_compress_zeros=0i,arcstats_l2_evict_l1cached=0i,arcstats_l2_evict_lock_retry=0i,arcstats_l2_evict_reading=0i,arcstats_l2_feeds=0i,arcstats_l2_free_on_write=0i,arcstats_l2_hdr_size=0i,arcstats_l2_hits=0i,arcstats_l2_io_error=0i,arcstats_l2_misses=0i,arcstats_l2_read_bytes=0i,arcstats_l2_rw_clash=0i,arcstats_l2_size=0i,arcstats_l2_write_buffer_bytes_scanned=0i,arcstats_l2_write_buffer_iter=0i,arcstats_l2_write_buffer_list_iter=0i,arcstats_l2_write_buffer_list_null_iter=0i,arcstats_l2_write_bytes=0i,arcstats_l2_write_full=0i,arcstats_l2_write_in_l2=0i,arcstats_l2_write_io_in_progress=0i,arcstats_l2_write_not_cacheable=380i,arcstats_l2_write_passed_headroom=0i,arcstats_l2_write_pios=0i,arcstats_l2_write_spa_mismatch=0i,arcstats_l2_write_trylock_fail=0i,arcstats_l2_writes_done=0i,arcstats_l2_writes_error=0i,arcstats_l2_writes_lock_retry=0i,arcstats_l2_writes_sent=0i,arcstats_memory_throttle_count=0i,arcstats_metadata_size=17014784i,arcstats_mfu_evictable_data=0i,arcstats_mfu_evictable_metadata=16384i,arcstats_mfu_ghost_evictable_data=5723648i,arcstats_mfu_ghost_evictable_metadata=10709504i,arcstats_mfu_ghost_hits=1315619i,arcstats_mfu_ghost_size=16433152i,arcstats_mfu_hits=7646611i,arcstats_mfu_size=305152i,arcstats_misses=3676993i,arcstats_mru_evictable_data=0i,arcstats_mru_evictable_metadata=0i,arcstats_mru_ghost_evictable_data=0i,arcstats_mru_ghost_evictable_metadata=80896i,arcstats_mru_ghost_hits=324250i,arcstats_mru_ghost_size=80896i,arcstats_mru_hits=8844526i,arcstats_mru_size=16693248i,arcstats_mutex_miss=354023i,arcstats_other_size=34397040i,arcstats_p=4172800i,arcstats_prefetch_data_hits=0i,arcstats_prefetch_data_misses=0i,arcstats_prefetch_metadata_hits=24641i,arcstats_prefetch_metadata_misses=3974i,arcstats_size=51977456i,arcstats_sync_wait_for_async=0i,vdev_cache_stats_delegations=779i,vdev_cache_stats_hits=323123i,vdev_cache_stats_misses=59929i,zfetchstats_hits=0i,zfetchstats_max_streams=0i,zfetchstats_misses=0i 1464473103634124908\\n```\\n\\n### Description\\n\\nA short description for some of the metrics.\\n\\n#### ARC Stats\\n\\n`arcstats_hits` Total amount of cache hits in the arc.\\n\\n`arcstats_misses` Total amount of cache misses in the arc.\\n\\n`arcstats_demand_data_hits` Amount of cache hits for demand data, this is what matters (is good) for your application/share.\\n\\n`arcstats_demand_data_misses` Amount of cache misses for demand data, this is what matters (is bad) for your application/share.\\n\\n`arcstats_demand_metadata_hits` Amount of cache hits for demand metadata, this matters (is good) for getting filesystem data (ls,find,…)\\n\\n`arcstats_demand_metadata_misses` Amount of cache misses for demand metadata, this matters (is bad) for getting filesystem data (ls,find,…)\\n\\n`arcstats_prefetch_data_hits` The zfs prefetcher tried to prefetch something, but it was already cached (boring)\\n\\n`arcstats_prefetch_data_misses` The zfs prefetcher prefetched something which was not in the cache (good job, could become a demand hit in the future)\\n\\n`arcstats_prefetch_metadata_hits` Same as above, but for metadata\\n\\n`arcstats_prefetch_metadata_misses` Same as above, but for metadata\\n\\n`arcstats_mru_hits` Cache hit in the “most recently used cache”, we move this to the mfu cache.\\n\\n`arcstats_mru_ghost_hits` Cache hit in the “most recently used ghost list” we had this item in the cache, but evicted it, maybe we should increase the mru cache size.\\n\\n`arcstats_mfu_hits` Cache hit in the “most frequently used cache” we move this to the beginning of the mfu cache.\\n\\n`arcstats_mfu_ghost_hits` Cache hit in the “most frequently used ghost list” we had this item in the cache, but evicted it, maybe we should increase the mfu cache size.\\n\\n`arcstats_allocated` New data is written to the cache.\\n\\n`arcstats_deleted` Old data is evicted (deleted) from the cache.\\n\\n`arcstats_evict_l2_cached` We evicted something from the arc, but its still cached in the l2 if we need it.\\n\\n`arcstats_evict_l2_eligible` We evicted something from the arc, and it’s not in the l2 this is sad. (maybe we hadn’t had enough time to store it there)\\n\\n`arcstats_evict_l2_ineligible` We evicted something which cannot be stored in the l2.\\n Reasons could be:\\n - We have multiple pools, we evicted something from a pool without an l2 device.\\n - The zfs property secondary cache.\\n\\n`arcstats_c` Arc target size, this is the size the system thinks the arc should have.\\n\\n`arcstats_size` Total size of the arc.\\n\\n`arcstats_l2_hits` Hits to the L2 cache. (It was not in the arc, but in the l2 cache)\\n\\n`arcstats_l2_misses` Miss to the L2 cache. (It was not in the arc, and not in the l2 cache)\\n\\n`arcstats_l2_size` Size of the l2 cache.\\n\\n`arcstats_l2_hdr_size` Size of the metadata in the arc (ram) used to manage (lookup if something is in the l2) the l2 cache.\\n\\n#### Zfetch Stats\\n\\n`zfetchstats_hits` Counts the number of cache hits, to items which are in the cache because of the prefetcher.\\n\\n`zfetchstats_misses` Counts the number of prefetch cache misses.\\n\\n`zfetchstats_colinear_hits` Counts the number of cache hits, to items which are in the cache because of the prefetcher (prefetched linear reads)\\n\\n`zfetchstats_stride_hits` Counts the number of cache hits, to items which are in the cache because of the prefetcher (prefetched stride reads)\\n\\n#### Vdev Cache Stats (FreeBSD only)\\nnote: the vdev cache is deprecated in some ZFS implementations\\n\\n`vdev_cache_stats_hits` Hits to the vdev (device level) cache.\\n\\n`vdev_cache_stats_misses` Misses to the vdev (device level) cache.\\n\\n#### ABD Stats (Linux Only)\\nABD is a linear/scatter dual typed buffer for ARC\\n\\n`abdstats_linear_cnt` number of linear ABDs which are currently allocated\\n\\n`abdstats_linear_data_size` amount of data stored in all linear ABDs\\n\\n`abdstats_scatter_cnt` number of scatter ABDs which are currently allocated\\n\\n`abdstats_scatter_data_size` amount of data stored in all scatter ABDs\\n\\n#### DMU Stats (Linux Only)\\n\\n`dmu_tx_dirty_throttle` counts when writes are throttled due to the amount of dirty data growing too large\\n\\n`dmu_tx_memory_reclaim` counts when memory is low and throttling activity\\n\\n`dmu_tx_memory_reserve` counts when memory footprint of the txg exceeds the ARC size\\n\\n#### Fault Management Ereport errors (Linux Only)\\n\\n`fm_erpt-dropped` counts when an error report cannot be created (eg available memory is too low)\\n\\n#### ZIL (Linux Only)\\nnote: ZIL measurements are system-wide, neither per-pool nor per-dataset\\n\\n`zil_commit_count` counts when ZFS transactions are committed to a ZIL\\n\";","export default \"# Zipkin Input Plugin\\n\\nThis plugin implements the Zipkin http server to gather trace and timing data needed to troubleshoot latency problems in microservice architectures.\\n\\n*Please Note: This plugin is experimental; Its data schema may be subject to change\\nbased on its main usage cases and the evolution of the OpenTracing standard.*\\n\\n## Configuration:\\n```toml\\n[[inputs.zipkin]]\\n path = \\\"/api/v1/spans\\\" # URL path for span data\\n port = 9411 # Port on which Telegraf listens\\n```\\n\\nThe plugin accepts spans in `JSON` or `thrift` if the `Content-Type` is `application/json` or `application/x-thrift`, respectively.\\nIf `Content-Type` is not set, then the plugin assumes it is `JSON` format.\\n\\n## Tracing:\\n\\nThis plugin uses Annotations tags and fields to track data from spans\\n\\n- __TRACE:__ is a set of spans that share a single root span.\\nTraces are built by collecting all Spans that share a traceId.\\n\\n- __SPAN:__ is a set of Annotations and BinaryAnnotations that correspond to a particular RPC.\\n\\n- __Annotations:__ for each annotation & binary annotation of a span a metric is output. *Records an occurrence in time at the beginning and end of a request.*\\n\\n Annotations may have the following values:\\n\\n - __CS (client start):__ beginning of span, request is made.\\n - __SR (server receive):__ server receives request and will start processing it\\n network latency & clock jitters differ it from cs\\n - __SS (server send):__ server is done processing and sends request back to client\\n amount of time it took to process request will differ it from sr\\n - __CR (client receive):__ end of span, client receives response from server\\n RPC is considered complete with this annotation\\n\\n### Tags\\n* __\\\"id\\\":__ The 64 bit ID of the span.\\n* __\\\"parent_id\\\":__ An ID associated with a particular child span. If there is no child span, the parent ID is set to ID.\\n* __\\\"trace_id\\\":__ The 64 or 128-bit ID of a particular trace. Every span in a trace shares this ID. Concatenation of high and low and converted to hexadecimal.\\n* __\\\"name\\\":__ Defines a span\\n\\n##### Annotations have these additional tags:\\n\\n* __\\\"service_name\\\":__ Defines a service\\n* __\\\"annotation\\\":__ The value of an annotation\\n* __\\\"endpoint_host\\\":__ Listening port concat with IPV4, if port is not present it will not be concatenated\\n\\n##### Binary Annotations have these additional tag:\\n\\n * __\\\"service_name\\\":__ Defines a service\\n * __\\\"annotation\\\":__ The value of an annotation\\n * __\\\"endpoint_host\\\":__ Listening port concat with IPV4, if port is not present it will not be concatenated\\n * __\\\"annotation_key\\\":__ label describing the annotation\\n\\n\\n### Fields:\\n * __\\\"duration_ns\\\":__ The time in nanoseconds between the end and beginning of a span.\\n\\n\\n\\n### Sample Queries:\\n\\n__Get All Span Names for Service__ `my_web_server`\\n```sql\\nSHOW TAG VALUES FROM \\\"zipkin\\\" with key=\\\"name\\\" WHERE \\\"service_name\\\" = 'my_web_server'\\n```\\n - __Description:__ returns a list containing the names of the spans which have annotations with the given `service_name` of `my_web_server`.\\n\\n__Get All Service Names__\\n```sql\\nSHOW TAG VALUES FROM \\\"zipkin\\\" WITH KEY = \\\"service_name\\\"\\n```\\n - __Description:__ returns a list of all `distinct` endpoint service names.\\n\\n__Find spans with longest duration__\\n```sql\\nSELECT max(\\\"duration_ns\\\") FROM \\\"zipkin\\\" WHERE \\\"service_name\\\" = 'my_service' AND \\\"name\\\" = 'my_span_name' AND time > now() - 20m GROUP BY \\\"trace_id\\\",time(30s) LIMIT 5\\n```\\n - __Description:__ In the last 20 minutes find the top 5 longest span durations for service `my_server` and span name `my_span_name`\\n\\n\\n### Recommended InfluxDB setup\\n\\nThis test will create high cardinality data so we recommend using the [tsi influxDB engine](https://www.influxdata.com/path-1-billion-time-series-influxdb-high-cardinality-indexing-ready-testing/).\\n#### How To Set Up InfluxDB For Work With Zipkin\\n\\n ##### Steps\\n 1. ___Update___ InfluxDB to >= 1.3, in order to use the new tsi engine.\\n\\n 2. ___Generate___ a config file with the following command:\\n```sh\\ninfluxd config > /path/for/config/file\\n```\\n 3. ___Add___ the following to your config file, under the `[data]` tab:\\n```toml\\n[data]\\n index-version = \\\"tsi1\\\"\\n```\\n\\n 4. ___Start___ `influxd` with your new config file:\\n```sh\\ninfluxd -config=/path/to/your/config/file\\n```\\n\\n 5. ___Update___ your retention policy:\\n```sql\\nALTER RETENTION POLICY \\\"autogen\\\" ON \\\"telegraf\\\" DURATION 1d SHARD DURATION 30m\\n```\\n\\n### Example Input Trace:\\n\\n- [Cli microservice with two services Test](https://github.com/openzipkin/zipkin-go-opentracing/tree/master/examples/cli_with_2_services)\\n- [Test data from distributed trace repo sample json](https://github.com/mattkanwisher/distributedtrace/blob/master/testclient/sample.json)\\n#### [Trace Example from Zipkin model](http://zipkin.io/pages/data_model.html)\\n```json\\n{\\n \\\"traceId\\\": \\\"bd7a977555f6b982\\\",\\n \\\"name\\\": \\\"query\\\",\\n \\\"id\\\": \\\"be2d01e33cc78d97\\\",\\n \\\"parentId\\\": \\\"ebf33e1a81dc6f71\\\",\\n \\\"timestamp\\\": 1458702548786000,\\n \\\"duration\\\": 13000,\\n \\\"annotations\\\": [\\n {\\n \\\"endpoint\\\": {\\n \\\"serviceName\\\": \\\"zipkin-query\\\",\\n \\\"ipv4\\\": \\\"192.168.1.2\\\",\\n \\\"port\\\": 9411\\n },\\n \\\"timestamp\\\": 1458702548786000,\\n \\\"value\\\": \\\"cs\\\"\\n },\\n {\\n \\\"endpoint\\\": {\\n \\\"serviceName\\\": \\\"zipkin-query\\\",\\n \\\"ipv4\\\": \\\"192.168.1.2\\\",\\n \\\"port\\\": 9411\\n },\\n \\\"timestamp\\\": 1458702548799000,\\n \\\"value\\\": \\\"cr\\\"\\n }\\n ],\\n \\\"binaryAnnotations\\\": [\\n {\\n \\\"key\\\": \\\"jdbc.query\\\",\\n \\\"value\\\": \\\"select distinct `zipkin_spans`.`trace_id` from `zipkin_spans` join `zipkin_annotations` on (`zipkin_spans`.`trace_id` = `zipkin_annotations`.`trace_id` and `zipkin_spans`.`id` = `zipkin_annotations`.`span_id`) where (`zipkin_annotations`.`endpoint_service_name` = ? and `zipkin_spans`.`start_ts` between ? and ?) order by `zipkin_spans`.`start_ts` desc limit ?\\\",\\n \\\"endpoint\\\": {\\n \\\"serviceName\\\": \\\"zipkin-query\\\",\\n \\\"ipv4\\\": \\\"192.168.1.2\\\",\\n \\\"port\\\": 9411\\n }\\n },\\n {\\n \\\"key\\\": \\\"sa\\\",\\n \\\"value\\\": true,\\n \\\"endpoint\\\": {\\n \\\"serviceName\\\": \\\"spanstore-jdbc\\\",\\n \\\"ipv4\\\": \\\"127.0.0.1\\\",\\n \\\"port\\\": 3306\\n }\\n }\\n ]\\n}\\n```\\n\";","export default \"# Zookeeper Input Plugin\\n\\nThe zookeeper plugin collects variables outputted from the 'mntr' command\\n[Zookeeper Admin](https://zookeeper.apache.org/doc/current/zookeeperAdmin.html).\\n\\n### Configuration\\n\\n```toml\\n# Reads 'mntr' stats from one or many zookeeper servers\\n[[inputs.zookeeper]]\\n ## An array of address to gather stats about. Specify an ip or hostname\\n ## with port. ie localhost:2181, 10.0.0.1:2181, etc.\\n\\n ## If no servers are specified, then localhost is used as the host.\\n ## If no port is specified, 2181 is used\\n servers = [\\\":2181\\\"]\\n\\n ## Timeout for metric collections from all servers. Minimum timeout is \\\"1s\\\".\\n # timeout = \\\"5s\\\"\\n\\n ## Optional TLS Config\\n # enable_tls = true\\n # tls_ca = \\\"/etc/telegraf/ca.pem\\\"\\n # tls_cert = \\\"/etc/telegraf/cert.pem\\\"\\n # tls_key = \\\"/etc/telegraf/key.pem\\\"\\n ## If false, skip chain & host verification\\n # insecure_skip_verify = true\\n```\\n\\n### Metrics:\\n\\nExact field names are based on Zookeeper response and may vary between\\nconfiguration, platform, and version.\\n\\n- zookeeper\\n - tags:\\n - server\\n - port\\n - state\\n - fields:\\n - approximate_data_size (integer)\\n - avg_latency (integer)\\n - ephemerals_count (integer)\\n - max_file_descriptor_count (integer)\\n - max_latency (integer)\\n - min_latency (integer)\\n - num_alive_connections (integer)\\n - open_file_descriptor_count (integer)\\n - outstanding_requests (integer)\\n - packets_received (integer)\\n - packets_sent (integer)\\n - version (string)\\n - watch_count (integer)\\n - znode_count (integer)\\n - followers (integer, leader only)\\n - synced_followers (integer, leader only)\\n - pending_syncs (integer, leader only)\\n\\n### Debugging:\\n\\nIf you have any issues please check the direct Zookeeper output using netcat:\\n```sh\\n$ echo mntr | nc localhost 2181\\nzk_version 3.4.9-3--1, built on Thu, 01 Jun 2017 16:26:44 -0700\\nzk_avg_latency 0\\nzk_max_latency 0\\nzk_min_latency 0\\nzk_packets_received 8\\nzk_packets_sent 7\\nzk_num_alive_connections 1\\nzk_outstanding_requests 0\\nzk_server_state standalone\\nzk_znode_count 129\\nzk_watch_count 0\\nzk_ephemerals_count 0\\nzk_approximate_data_size 10044\\nzk_open_file_descriptor_count 44\\nzk_max_file_descriptor_count 4096\\n```\\n\\n### Example Output\\n\\n```\\nzookeeper,server=localhost,port=2181,state=standalone ephemerals_count=0i,approximate_data_size=10044i,open_file_descriptor_count=44i,max_latency=0i,packets_received=7i,outstanding_requests=0i,znode_count=129i,max_file_descriptor_count=4096i,version=\\\"3.4.9-3--1\\\",avg_latency=0i,packets_sent=6i,num_alive_connections=1i,watch_count=0i,min_latency=0i 1522351112000000000\\n```\\n\";","// Constants\nimport WRITE_DATA_CLIENT_LIBRARIES_SECTION from 'src/writeData/constants/contentClientLibraries'\nimport WRITE_DATA_TELEGRAF_PLUGINS_SECTION from 'src/writeData/constants/contentTelegrafPlugins'\nimport WRITE_DATA_INTEGRATIONS_SECTION from 'src/writeData/constants/contentIntegrations'\nimport WRITE_DATA_FLUX_SOURCES_SECTION from 'src/writeData/constants/contentFluxSources'\nimport WRITE_DATA_DEVELOPER_TOOLS_SECTION from 'src/writeData/constants/contentDeveloperTools'\n\n// Types\nexport interface WriteDataItem {\n id: string\n name: string\n url: string\n image?: string\n markdown?: string\n}\n\nexport interface WriteDataSection {\n id: string\n name: string\n description: string\n items: WriteDataItem[]\n featureFlag: string\n}\n\n// Sections\nexport const WRITE_DATA_SECTIONS: WriteDataSection[] = [\n WRITE_DATA_CLIENT_LIBRARIES_SECTION,\n WRITE_DATA_TELEGRAF_PLUGINS_SECTION,\n WRITE_DATA_INTEGRATIONS_SECTION,\n WRITE_DATA_DEVELOPER_TOOLS_SECTION,\n WRITE_DATA_FLUX_SOURCES_SECTION,\n]\n\n// Functions\nexport const doesItemMatchSearchTerm = (\n itemName: string,\n searchTerm: string\n): boolean => {\n return (\n itemName.toLowerCase().includes(searchTerm.toLowerCase()) ||\n searchTerm.toLowerCase().includes(itemName.toLowerCase())\n )\n}\n\nexport const sectionContainsMatchingItems = (\n section: WriteDataSection,\n searchTerm: string\n): boolean => {\n const matches = section.items.filter(item =>\n doesItemMatchSearchTerm(item.name, searchTerm)\n )\n\n return !!matches.length\n}\n","// Constants\nimport {INTEGRATIONS} from 'src/shared/constants/routes'\n\n// Types\nimport {WriteDataItem, WriteDataSection} from 'src/writeData/constants'\n\nexport const WRITE_DATA_INTEGRATIONS: WriteDataItem[] = [\n {\n id: 'my-cool-integration',\n name: 'My Cool Integration',\n url: `${INTEGRATIONS}/my-cool-integration`,\n },\n]\n\nconst WRITE_DATA_INTEGRATIONS_SECTION: WriteDataSection = {\n id: INTEGRATIONS,\n name: 'Integrations',\n description: 'Description goes here',\n items: WRITE_DATA_INTEGRATIONS,\n featureFlag: 'load-data-integrations',\n}\n\nexport default WRITE_DATA_INTEGRATIONS_SECTION\n","// Constants\nimport {DEVELOPER_TOOLS} from 'src/shared/constants/routes'\n\n// Types\nimport {WriteDataItem, WriteDataSection} from 'src/writeData/constants'\n\nexport const WRITE_DATA_DEVELOPER_TOOLS: WriteDataItem[] = [\n {\n id: 'dev-tool-a',\n name: 'Dev Tool A',\n url: `${DEVELOPER_TOOLS}/dev-tool-a`,\n },\n]\n\nconst WRITE_DATA_DEVELOPER_TOOLS_SECTION: WriteDataSection = {\n id: DEVELOPER_TOOLS,\n name: 'Developer Tools',\n description: 'Description goes here',\n items: WRITE_DATA_DEVELOPER_TOOLS,\n featureFlag: 'load-data-dev-tools',\n}\n\nexport default WRITE_DATA_DEVELOPER_TOOLS_SECTION\n","// Constants\nimport {FLUX_SOURCES} from 'src/shared/constants/routes'\n\n// Types\nimport {WriteDataItem, WriteDataSection} from 'src/writeData/constants'\n\nexport const WRITE_DATA_FLUX_SOURCES: WriteDataItem[] = [\n {\n id: 'big-table',\n name: 'Big Table',\n url: `${FLUX_SOURCES}/big-table`,\n },\n]\n\nconst WRITE_DATA_FLUX_SOURCES_SECTION: WriteDataSection = {\n id: FLUX_SOURCES,\n name: 'Flux Sources',\n description: 'Description goes here',\n items: WRITE_DATA_FLUX_SOURCES,\n featureFlag: 'load-data-flux-sources',\n}\n\nexport default WRITE_DATA_FLUX_SOURCES_SECTION\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {SelectableCard, SquareGrid, ComponentSize} from '@influxdata/clockface'\n\n// Utils\nimport {getOrg} from 'src/organizations/selectors'\n\n// Graphics\nimport placeholderLogo from 'src/writeData/graphics/placeholderLogo.svg'\n\n// Types\nimport {WriteDataItem} from 'src/writeData/constants'\nimport {AppState} from 'src/types'\n\n// Constants\nimport {ORGS} from 'src/shared/constants/routes'\n\n// Styles\nimport 'src/writeData/components/WriteDataItem.scss'\n\ninterface StateProps {\n orgID: string\n}\n\ntype Props = WriteDataItem & RouteComponentProps & StateProps\n\nconst WriteDataItem: FC = ({id, name, url, image, history, orgID}) => {\n const handleClick = (): void => {\n history.push(`/${ORGS}/${orgID}/load-data/${url}`)\n }\n\n let thumb = \n\n if (image) {\n thumb = \n }\n\n return (\n \n \n
    {thumb}
    \n \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const {id} = getOrg(state)\n return {orgID: id}\n}\n\nexport default connect(mstp)(withRouter(WriteDataItem))\n","// Libraries\nimport React, {FC, useContext} from 'react'\n\n// Contexts\nimport {WriteDataSearchContext} from 'src/writeData/containers/WriteDataPage'\n\n// Components\nimport {\n SquareGrid,\n ComponentSize,\n Heading,\n HeadingElement,\n FontWeight,\n} from '@influxdata/clockface'\nimport WriteDataItem from 'src/writeData/components/WriteDataItem'\n\n// Constants\nimport {doesItemMatchSearchTerm} from 'src/writeData/constants'\n\n// Types\nimport {WriteDataSection} from 'src/writeData/constants'\n\nconst WriteDataSection: FC> = ({\n id,\n name,\n description,\n items,\n}) => {\n const {searchTerm} = useContext(WriteDataSearchContext)\n\n const filteredItems = items.filter(item =>\n doesItemMatchSearchTerm(item.name, searchTerm)\n )\n\n const sortedItems = filteredItems.sort((a, b) =>\n a.name.toLowerCase().localeCompare(b.name.toLowerCase())\n )\n\n return (\n \n \n {name}\n \n \n {description}\n \n \n {sortedItems.map(item => (\n \n ))}\n \n
    \n )\n}\n\nexport default WriteDataSection\n","// Libraries\nimport React, {FC, useContext} from 'react'\n\n// Contexts\nimport {WriteDataSearchContext} from 'src/writeData/containers/WriteDataPage'\n\n// Constants\nimport {\n WRITE_DATA_SECTIONS,\n sectionContainsMatchingItems,\n} from 'src/writeData/constants'\n\n// Utils\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\n// Components\nimport {EmptyState, ComponentSize} from '@influxdata/clockface'\nimport WriteDataSection from 'src/writeData/components/WriteDataSection'\n\nconst WriteDataSections: FC = () => {\n const {searchTerm} = useContext(WriteDataSearchContext)\n\n const filteredSections = WRITE_DATA_SECTIONS.filter(section => {\n const containsMatches = sectionContainsMatchingItems(section, searchTerm)\n const featureFlagEnabled = isFlagEnabled(section.featureFlag)\n\n return containsMatches && featureFlagEnabled\n })\n\n if (!filteredSections.length) {\n return (\n \n

    \n Nothing matched {`\"${searchTerm}\"`}\n

    \n
    \n )\n }\n\n return (\n <>\n {filteredSections.map(section => (\n \n ))}\n \n )\n}\n\nexport default WriteDataSections\n","// Libraries\nimport React, {FC, useState, createContext} from 'react'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport WriteDataSearchBar from 'src/writeData/components/WriteDataSearchBar'\nimport WriteDataSections from 'src/writeData/components/WriteDataSections'\nimport LoadDataHeader from 'src/settings/components/LoadDataHeader'\nimport LoadDataTabbedPage from 'src/settings/components/LoadDataTabbedPage'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\ninterface WriteDataSearchContextType {\n searchTerm: string\n setSearchTerm: (searchTerm: string) => void\n}\n\nexport const WriteDataSearchContext = createContext(\n {\n searchTerm: '',\n setSearchTerm: () => {},\n }\n)\n\nconst WriteDataPage: FC = () => {\n const [searchTerm, setSearchTerm] = useState('')\n\n return (\n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default WriteDataPage\n","// Libraries\nimport React, {FC} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport {Tabs, Orientation, ComponentSize} from '@influxdata/clockface'\nimport CloudExclude from 'src/shared/components/cloud/CloudExclude'\nimport CloudOnly from 'src/shared/components/cloud/CloudOnly'\nimport {FeatureFlag} from 'src/shared/utils/featureFlag'\n\nexport interface TabbedPageTab {\n text: string\n id: string\n cloudExclude?: boolean\n cloudOnly?: boolean\n featureFlagName?: string\n featureFlagValue?: boolean\n}\n\ninterface Props {\n activeTab: string\n tabs: TabbedPageTab[]\n onTabClick: (id: string) => void\n}\n\nconst SettingsNavigation: FC = ({activeTab, tabs, onTabClick}) => {\n return (\n \n {tabs.map(t => {\n let tab = (\n \n )\n\n if (t.cloudExclude) {\n tab = {tab}\n }\n\n if (t.cloudOnly) {\n tab = {tab}\n }\n\n if (t.featureFlagName) {\n tab = (\n \n {tab}\n \n )\n }\n\n return tab\n })}\n \n )\n}\n\nexport default SettingsNavigation\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport TabbedPageTabs from 'src/shared/tabbedPage/TabbedPageTabs'\n\n// Types\nimport {TabbedPageTab} from 'src/shared/tabbedPage/TabbedPageTabs'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface OwnProps {\n activeTab: string\n orgID: string\n}\n\ntype Props = OwnProps & RouteComponentProps<{orgID: string}>\n\n@ErrorHandling\nclass SettingsNavigation extends PureComponent {\n public render() {\n const {activeTab, orgID, history} = this.props\n\n const handleTabClick = (id: string): void => {\n history.push(`/orgs/${orgID}/settings/${id}`)\n }\n\n const tabs: TabbedPageTab[] = [\n {\n text: 'Variables',\n id: 'variables',\n },\n {\n text: 'Templates',\n id: 'templates',\n },\n {\n text: 'Labels',\n id: 'labels',\n },\n ]\n\n return (\n \n )\n }\n}\n\nexport default withRouter(SettingsNavigation)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport SettingsNavigation from 'src/settings/components/SettingsNavigation'\nimport {Tabs, Orientation, Page} from '@influxdata/clockface'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n activeTab: string\n orgID: string\n}\n\n@ErrorHandling\nclass SettingsTabbedPage extends PureComponent {\n public render() {\n const {activeTab, orgID, children} = this.props\n\n return (\n \n \n \n {children}\n \n \n )\n }\n}\n\nexport default SettingsTabbedPage\n","import React, {Component} from 'react'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport RateLimitAlert from 'src/cloud/components/RateLimitAlert'\n\nclass SettingsHeader extends Component {\n public render() {\n return (\n \n \n \n \n )\n }\n}\n\nexport default SettingsHeader\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Context} from 'src/clockface'\nimport {IconFont, ComponentColor} from '@influxdata/clockface'\n\n// Types\nimport {Variable} from 'src/types'\n\ninterface Props {\n variable: Variable\n onExport: () => void\n onRename: () => void\n onDelete: (variable: Variable) => void\n}\n\nexport default class VariableContextMenu extends PureComponent {\n public render() {\n const {variable, onExport, onRename, onDelete} = this.props\n\n return (\n \n \n \n \n \n \n \n \n \n )\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {ResourceCard} from '@influxdata/clockface'\nimport InlineLabels from 'src/shared/components/inlineLabels/InlineLabels'\nimport VariableContextMenu from 'src/variables/components/VariableContextMenu'\n\n// Types\nimport {Label, Variable} from 'src/types'\n\n// Actions\nimport {\n addVariableLabelAsync,\n removeVariableLabelAsync,\n} from 'src/variables/actions/thunks'\n\ninterface OwnProps {\n variable: Variable\n onDeleteVariable: (variable: Variable) => void\n onEditVariable: (variable: Variable) => void\n onFilterChange: (searchTerm: string) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass VariableCard extends PureComponent<\n Props & RouteComponentProps<{orgID: string}>\n> {\n public render() {\n const {variable, onDeleteVariable} = this.props\n\n return (\n \n }\n >\n \n \n <>Type: {variable.arguments.type}\n \n {this.labels}\n \n )\n }\n\n private handleNameClick = (): void => {\n const {variable, match, history} = this.props\n\n history.push(\n `/orgs/${match.params.orgID}/settings/variables/${variable.id}/edit`\n )\n }\n\n private get labels(): JSX.Element {\n const {variable, onFilterChange} = this.props\n\n return (\n \n )\n }\n\n private handleAddLabel = (label: Label): void => {\n const {variable, onAddVariableLabel} = this.props\n\n onAddVariableLabel(variable.id, label)\n }\n\n private handleRemoveLabel = (label: Label): void => {\n const {variable, onRemoveVariableLabel} = this.props\n\n onRemoveVariableLabel(variable.id, label)\n }\n\n private handleExport = () => {\n const {history, variable, match} = this.props\n\n history.push(\n `/orgs/${match.params.orgID}/settings/variables/${variable.id}/export`\n )\n }\n\n private handleRenameVariable = () => {\n const {history, variable, match} = this.props\n\n history.push(\n `/orgs/${match.params.orgID}/settings/variables/${variable.id}/rename`\n )\n }\n}\n\nconst mdtp = {\n onAddVariableLabel: addVariableLabelAsync,\n onRemoveVariableLabel: removeVariableLabelAsync,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(VariableCard))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport {ResourceList} from '@influxdata/clockface'\nimport VariableCard from 'src/variables/components/VariableCard'\n\n// Types\nimport {OverlayState, Variable} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {Sort} from '@influxdata/clockface'\n\n// Selectors\nimport {getSortedResources} from 'src/shared/utils/sort'\n\ninterface Props {\n variables: Variable[]\n emptyState: JSX.Element\n onDeleteVariable: (variable: Variable) => void\n onFilterChange: (searchTerm: string) => void\n sortKey: string\n sortDirection: Sort\n sortType: SortTypes\n}\n\ninterface State {\n variableID: string\n variableOverlayState: OverlayState\n sortedVariables: Variable[]\n}\n\nexport default class VariableList extends PureComponent {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n constructor(props) {\n super(props)\n\n this.state = {\n variableID: null,\n variableOverlayState: OverlayState.Closed,\n sortedVariables: this.props.variables,\n }\n }\n\n public render() {\n const {emptyState} = this.props\n\n return (\n <>\n \n \n {this.rows}\n \n \n \n )\n }\n\n private get rows(): JSX.Element[] {\n const {\n variables,\n sortKey,\n sortDirection,\n sortType,\n onDeleteVariable,\n onFilterChange,\n } = this.props\n\n const sortedVariables = this.memGetSortedResources(\n variables,\n sortKey,\n sortDirection,\n sortType\n )\n\n return sortedVariables.map((variable, index) => (\n \n ))\n }\n\n private handleStartEdit = (variable: Variable) => {\n this.setState({\n variableID: variable.id,\n variableOverlayState: OverlayState.Open,\n })\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Utils\nimport {deleteVariable} from 'src/variables/actions/thunks'\nimport {getVariables} from 'src/variables/selectors'\n\n// Components\nimport {EmptyState} from '@influxdata/clockface'\nimport SearchWidget from 'src/shared/components/search_widget/SearchWidget'\nimport TabbedPageHeader from 'src/shared/components/tabbed_page/TabbedPageHeader'\nimport VariableList from 'src/variables/components/VariableList'\nimport Filter from 'src/shared/components/FilterList'\nimport AddResourceDropdown from 'src/shared/components/AddResourceDropdown'\nimport ResourceSortDropdown from 'src/shared/components/resource_sort_dropdown/ResourceSortDropdown'\nimport GetResources from 'src/resources/components/GetResources'\nimport {Sort} from '@influxdata/clockface'\n\n// Types\nimport {AppState, OverlayState, ResourceType, Variable} from 'src/types'\nimport {ComponentSize} from '@influxdata/clockface'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {VariableSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\n\ntype ReduxProps = ConnectedProps\ntype Props = RouteComponentProps<{orgID: string}> & ReduxProps\n\ninterface State {\n searchTerm: string\n importOverlayState: OverlayState\n sortKey: VariableSortKey\n sortDirection: Sort\n sortType: SortTypes\n}\n\nconst FilterList = Filter()\n\nclass VariablesTab extends PureComponent {\n public state: State = {\n searchTerm: '',\n importOverlayState: OverlayState.Closed,\n sortKey: 'name',\n sortDirection: Sort.Ascending,\n sortType: SortTypes.String,\n }\n\n public render() {\n const {variables} = this.props\n const {searchTerm, sortKey, sortDirection, sortType} = this.state\n\n const leftHeaderItems = (\n <>\n \n \n \n )\n\n const rightHeaderItems = (\n \n )\n\n return (\n <>\n \n \n \n {variables => (\n \n )}\n \n \n \n )\n }\n\n private handleSort = (\n sortKey: VariableSortKey,\n sortDirection: Sort,\n sortType: SortTypes\n ): void => {\n this.setState({sortKey, sortDirection, sortType})\n }\n\n private get emptyState(): JSX.Element {\n const {searchTerm} = this.state\n\n if (!searchTerm) {\n return (\n \n \n Looks like there aren't any Variables, why not create one?\n \n \n \n )\n }\n\n return (\n \n No Variables match your query\n \n )\n }\n\n private handleFilterChange = (searchTerm: string) => {\n this.handleFilterUpdate(searchTerm)\n }\n\n private handleFilterUpdate = (searchTerm: string) => {\n this.setState({searchTerm})\n }\n\n private handleOpenImportOverlay = (): void => {\n const {history, match} = this.props\n\n history.push(`/orgs/${match.params.orgID}/settings/variables/import`)\n }\n\n private handleOpenCreateOverlay = (): void => {\n const {history, match} = this.props\n\n history.push(`/orgs/${match.params.orgID}/settings/variables/new`)\n }\n\n private handleDeleteVariable = (variable: Variable): void => {\n const {onDeleteVariable} = this.props\n onDeleteVariable(variable.id)\n }\n}\n\nconst mstp = (state: AppState) => {\n const variables = getVariables(state)\n\n return {variables}\n}\n\nconst mdtp = {\n onDeleteVariable: deleteVariable,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(VariablesTab))\n","import React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport ImportOverlay from 'src/shared/components/ImportOverlay'\n\n// Copy\nimport {invalidJSON} from 'src/shared/copy/notifications'\n\n// Actions\nimport {\n createVariableFromTemplate as createVariableFromTemplateAction,\n getVariables as getVariablesAction,\n} from 'src/variables/actions/thunks'\nimport {notify as notifyAction} from 'src/shared/actions/notifications'\n\n// Types\nimport {ComponentStatus} from '@influxdata/clockface'\n\n// Utils\nimport jsonlint from 'jsonlint-mod'\n\ninterface State {\n status: ComponentStatus\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = RouteComponentProps<{orgID: string}> & ReduxProps\n\nclass VariableImportOverlay extends PureComponent {\n public state: State = {\n status: ComponentStatus.Default,\n }\n\n public render() {\n return (\n \n )\n }\n\n private onDismiss = () => {\n const {history} = this.props\n\n history.goBack()\n }\n\n private updateOverlayStatus = (status: ComponentStatus) =>\n this.setState(() => ({status}))\n\n private handleImportVariable = (uploadContent: string) => {\n const {createVariableFromTemplate, getVariables, notify} = this.props\n\n let template\n this.updateOverlayStatus(ComponentStatus.Default)\n try {\n template = jsonlint.parse(uploadContent)\n } catch (error) {\n this.updateOverlayStatus(ComponentStatus.Error)\n notify(invalidJSON(error.message))\n return\n }\n\n createVariableFromTemplate(template)\n getVariables()\n\n this.onDismiss()\n }\n}\n\nconst mdtp = {\n createVariableFromTemplate: createVariableFromTemplateAction,\n getVariables: getVariablesAction,\n notify: notifyAction,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(VariableImportOverlay))\n","import React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport ExportOverlay from 'src/shared/components/ExportOverlay'\n\n// Actions\nimport {convertToTemplate as convertToTemplateAction} from 'src/variables/actions/thunks'\nimport {clearExportTemplate as clearExportTemplateAction} from 'src/templates/actions/thunks'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = RouteComponentProps<{orgID: string; id: string}> & ReduxProps\n\nclass VariableExportOverlay extends PureComponent {\n public componentDidMount() {\n const {\n match: {\n params: {id},\n },\n convertToTemplate,\n } = this.props\n\n convertToTemplate(id)\n }\n\n public render() {\n const {variableTemplate, status} = this.props\n\n return (\n \n )\n }\n\n private onDismiss = () => {\n const {history, clearExportTemplate} = this.props\n\n history.goBack()\n clearExportTemplate()\n }\n}\n\nconst mstp = (state: AppState) => ({\n variableTemplate: state.resources.templates.exportTemplate.item,\n status: state.resources.templates.exportTemplate.status,\n})\n\nconst mdtp = {\n convertToTemplate: convertToTemplateAction,\n clearExportTemplate: clearExportTemplateAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(VariableExportOverlay))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport VariableFormContext from 'src/variables/components/VariableFormContext'\nimport GetResources from 'src/resources/components/GetResources'\n\n// Types\nimport {ResourceType} from 'src/types'\n\ntype Props = RouteComponentProps<{orgID: string}>\n\nclass CreateVariableOverlay extends PureComponent {\n public render() {\n return (\n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleHideOverlay = () => {\n const {\n history,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/settings/variables`)\n }\n}\n\nexport {CreateVariableOverlay}\nexport default withRouter(CreateVariableOverlay)\n","// Libraries\nimport React, {PureComponent, ChangeEvent, FormEvent} from 'react'\nimport _ from 'lodash'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Form, Input, Button, Grid, Columns} from '@influxdata/clockface'\n\n// Utils\nimport {validateVariableName} from 'src/variables/utils/validation'\nimport {getVariables} from 'src/variables/selectors'\n\n// Actions\nimport {updateVariable} from 'src/variables/actions/thunks'\n\n// Types\nimport {AppState, Variable} from 'src/types'\nimport {\n ButtonType,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\n\ninterface OwnProps {\n onClose: () => void\n}\n\ninterface State {\n workingVariable: Variable\n isNameValid: boolean\n}\n\ntype ReduxProps = ConnectedProps\ntype RouterProps = RouteComponentProps<{orgID: string; id: string}>\ntype Props = OwnProps & RouterProps & ReduxProps\n\nclass RenameVariableOverlayForm extends PureComponent {\n public state: State = {\n workingVariable: this.props.startVariable,\n isNameValid: true,\n }\n\n public render() {\n const {onClose} = this.props\n const {workingVariable, isNameValid} = this.state\n\n return (\n
    \n \n \n \n
    \n \n {status => (\n \n )}\n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n
    \n
    \n )\n }\n\n private handleSubmit = (e: FormEvent): void => {\n const {workingVariable} = this.state\n\n e.preventDefault()\n\n this.props.onUpdateVariable(workingVariable.id, workingVariable)\n this.props.onClose()\n }\n\n private handleNameValidation = (name: string) => {\n const {variables} = this.props\n const {error} = validateVariableName(name, variables)\n\n this.setState({isNameValid: !error})\n\n return error\n }\n\n private handleChangeInput = (e: ChangeEvent) => {\n const name = e.target.value\n\n const workingVariable = {...this.state.workingVariable, name}\n\n this.setState({\n workingVariable,\n })\n }\n}\n\nconst mstp = (state: AppState, {match}: RouterProps) => {\n const variables = getVariables(state)\n const startVariable = variables.find(v => v.id === match.params.id)\n\n return {variables, startVariable}\n}\n\nconst mdtp = {\n onUpdateVariable: updateVariable,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default withRouter(connector(RenameVariableOverlayForm))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\nimport _ from 'lodash'\n\n// Components\nimport DangerConfirmationOverlay from 'src/shared/components/dangerConfirmation/DangerConfirmationOverlay'\nimport RenameVariableForm from 'src/variables/components/RenameVariableForm'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n@ErrorHandling\nclass RenameVariableOverlay extends PureComponent<\n RouteComponentProps<{orgID: string}>\n> {\n public render() {\n return (\n \n \n \n )\n }\n\n private get message(): string {\n return 'Updating the name of a Variable can have unintended consequences. Anything that references this Variable by name will stop working including:'\n }\n\n private get effectedItems(): string[] {\n return ['Queries', 'Dashboards', 'Telegraf Configurations', 'Templates']\n }\n\n private handleClose = () => {\n const {history, match} = this.props\n\n history.push(`/orgs/${match.params.orgID}/settings/variables`)\n }\n}\n\nexport default withRouter(RenameVariableOverlay)\n","// Libraries\nimport React, {PureComponent, FormEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {\n Form,\n Input,\n Button,\n Grid,\n Dropdown,\n Columns,\n Overlay,\n} from '@influxdata/clockface'\nimport VariableArgumentsEditor from 'src/variables/components/VariableArgumentsEditor'\n\n// Actions\nimport {updateVariable} from 'src/variables/actions/thunks'\n\n// Utils\nimport {getVariables} from 'src/variables/selectors'\n\n// Constants\nimport {variableItemTypes} from 'src/variables/constants'\n\n// Types\nimport {\n ButtonType,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\nimport {VariableArguments, AppState, Variable} from 'src/types'\n\ninterface State {\n workingVariable: Variable\n isNameValid: boolean\n hasValidArgs: boolean\n}\n\ntype RouterProps = RouteComponentProps<{orgID: string; id: string}>\ntype ReduxProps = ConnectedProps\ntype Props = RouterProps & ReduxProps\n\nclass UpdateVariableOverlay extends PureComponent {\n public state: State = {\n workingVariable: this.props.startVariable,\n isNameValid: true,\n hasValidArgs: true,\n }\n\n public render() {\n const {workingVariable, hasValidArgs} = this.state\n\n return (\n \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n
    \n \n \n (\n \n {this.typeDropdownLabel}\n \n )}\n menu={onCollapse => (\n \n {variableItemTypes.map(v => (\n \n {v.label}\n \n ))}\n \n )}\n />\n \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n )\n }\n\n private get typeDropdownLabel(): string {\n const {workingVariable} = this.state\n\n return variableItemTypes.find(\n variable => variable.type === workingVariable.arguments.type\n ).label\n }\n\n private handleChangeType = (selectedType: string) => {\n const {isNameValid, workingVariable} = this.state\n const defaults = {hasValidArgs: false, isNameValid}\n\n switch (selectedType) {\n case 'query':\n return this.setState({\n ...defaults,\n workingVariable: {\n ...workingVariable,\n arguments: {\n type: 'query',\n values: {\n query: '',\n language: 'flux',\n },\n },\n selected: null,\n },\n })\n case 'map':\n return this.setState({\n ...defaults,\n workingVariable: {\n ...workingVariable,\n selected: null,\n arguments: {\n type: 'map',\n values: {},\n },\n },\n })\n case 'constant':\n return this.setState({\n ...defaults,\n workingVariable: {\n ...workingVariable,\n selected: null,\n arguments: {\n type: 'constant',\n values: [],\n },\n },\n })\n }\n }\n\n private handleSelectMapDefault = (selected: string) => {\n const {workingVariable} = this.state\n\n this.setState({\n workingVariable: {\n ...workingVariable,\n selected: [selected],\n },\n })\n }\n\n private handleChangeArgs = ({\n args,\n isValid,\n }: {\n args: VariableArguments\n isValid: boolean\n }) => {\n const {workingVariable} = this.state\n\n this.setState({\n workingVariable: {\n ...workingVariable,\n arguments: args,\n },\n hasValidArgs: isValid,\n })\n }\n\n private handleSubmit = (e: FormEvent): void => {\n e.preventDefault()\n const {workingVariable} = this.state\n\n this.props.onUpdateVariable(workingVariable.id, workingVariable)\n this.handleClose()\n }\n\n private handleClose = () => {\n const {history, match} = this.props\n\n history.push(`/orgs/${match.params.orgID}/settings/variables`)\n }\n}\n\nconst mstp = (state: AppState, {match}: RouterProps) => {\n const variables = getVariables(state)\n const startVariable = variables.find(v => v.id === match.params.id)\n\n return {variables, startVariable}\n}\n\nconst mdtp = {\n onUpdateVariable: updateVariable,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default withRouter(connector(UpdateVariableOverlay))\n","// Libraries\nimport React, {Component} from 'react'\nimport {connect} from 'react-redux'\nimport {Switch, Route} from 'react-router-dom'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport SettingsTabbedPage from 'src/settings/components/SettingsTabbedPage'\nimport SettingsHeader from 'src/settings/components/SettingsHeader'\nimport {Page} from '@influxdata/clockface'\nimport VariablesTab from 'src/variables/components/VariablesTab'\nimport GetResources from 'src/resources/components/GetResources'\nimport VariableImportOverlay from 'src/variables/components/VariableImportOverlay'\nimport VariableExportOverlay from 'src/variables/components/VariableExportOverlay'\nimport CreateVariableOverlay from 'src/variables/components/CreateVariableOverlay'\nimport RenameVariableOverlay from 'src/variables/components/RenameVariableOverlay'\nimport UpdateVariableOverlay from 'src/variables/components/UpdateVariableOverlay'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Types\nimport {AppState, Organization, ResourceType} from 'src/types'\n\ninterface StateProps {\n org: Organization\n}\n\nimport {ORGS, ORG_ID, SETTINGS, VARIABLES} from 'src/shared/constants/routes'\n\nconst varsPath = `/${ORGS}/${ORG_ID}/${SETTINGS}/${VARIABLES}`\n\n@ErrorHandling\nclass VariablesIndex extends Component {\n public render() {\n const {org} = this.props\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n return {org: state.resources.orgs.org}\n}\n\nexport default connect(mstp)(VariablesIndex)\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {\n EmptyState,\n IconFont,\n ComponentColor,\n Button,\n} from '@influxdata/clockface'\n\n// Types\nimport {ComponentSize} from '@influxdata/clockface'\n\ninterface Props {\n searchTerm: string\n onImport: () => void\n}\n\nconst EmptyTemplatesList: FunctionComponent = ({\n searchTerm,\n onImport,\n}) => {\n if (searchTerm === '') {\n return (\n \n \n Looks like you don't have any Templates, why not create one?\n \n \n \n )\n }\n\n return (\n \n No Templates match your search term\n \n )\n}\n\nexport default EmptyTemplatesList\n","import * as defaultTemplates from 'src/templates/constants/defaultTemplates'\n\nconst DEFAULT_TEMPLATE_NAME = 'Untitled Template'\n\nexport {defaultTemplates, DEFAULT_TEMPLATE_NAME}\n","// Libraries\nimport React, {PureComponent, MouseEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get, capitalize} from 'lodash'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {\n Button,\n ComponentSize,\n FlexBox,\n FlexDirection,\n JustifyContent,\n} from '@influxdata/clockface'\n\n// Components\nimport {Context} from 'src/clockface'\nimport {ResourceCard, IconFont} from '@influxdata/clockface'\nimport InlineLabels from 'src/shared/components/inlineLabels/InlineLabels'\n\n// Actions\nimport {\n deleteTemplate,\n cloneTemplate,\n updateTemplate,\n createResourceFromTemplate,\n removeTemplateLabelsAsync,\n addTemplateLabelsAsync,\n} from 'src/templates/actions/thunks'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\n\n// Types\nimport {ComponentColor} from '@influxdata/clockface'\nimport {AppState, Label, TemplateSummary} from 'src/types'\n\n// Constants\nimport {DEFAULT_TEMPLATE_NAME} from 'src/templates/constants'\n\ninterface OwnProps {\n template: TemplateSummary\n onFilterChange: (searchTerm: string) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\nclass TemplateCard extends PureComponent<\n Props & RouteComponentProps<{orgID: string}>\n> {\n public render() {\n const {template, onFilterChange} = this.props\n\n return (\n \n \n {this.description}\n \n {capitalize(get(template, 'content.data.type', ''))}\n \n \n \n )\n }\n\n private handleUpdateTemplateName = (name: string) => {\n const {template} = this.props\n\n this.props.onUpdate(template.id, {\n ...template,\n meta: {...template.meta, name},\n })\n }\n\n private handleUpdateTemplateDescription = (description: string) => {\n const {template} = this.props\n\n this.props.onUpdate(template.id, {\n ...template,\n meta: {...template.meta, description},\n })\n }\n\n private get description(): JSX.Element {\n const {template} = this.props\n const description = get(template, 'meta.description', '')\n const name = get(template, 'meta.name', '')\n\n return (\n \n )\n }\n\n private get contextMenu(): JSX.Element {\n const {\n template: {id},\n onDelete,\n } = this.props\n return (\n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleCreate = () => {\n const {onCreateFromTemplate, template} = this.props\n\n onCreateFromTemplate(template.id)\n }\n\n private handleClone = () => {\n const {\n template: {id},\n onClone,\n } = this.props\n onClone(id)\n }\n\n private handleNameClick = (e: MouseEvent): void => {\n e.preventDefault()\n\n this.handleViewTemplate()\n }\n\n private handleViewTemplate = () => {\n const {history, template, org} = this.props\n history.push(`/orgs/${org.id}/settings/templates/${template.id}/view`)\n }\n\n private handleAddLabel = (label: Label): void => {\n const {template, onAddTemplateLabels} = this.props\n\n onAddTemplateLabels(template.id, [label])\n }\n\n private handleRemoveLabel = (label: Label): void => {\n const {template, onRemoveTemplateLabels} = this.props\n\n onRemoveTemplateLabels(template.id, [label])\n }\n}\n\nconst mstp = (state: AppState) => {\n return {\n org: getOrg(state),\n }\n}\n\nconst mdtp = {\n onDelete: deleteTemplate,\n onClone: cloneTemplate,\n onUpdate: updateTemplate,\n onCreateFromTemplate: createResourceFromTemplate,\n onAddTemplateLabels: addTemplateLabelsAsync,\n onRemoveTemplateLabels: removeTemplateLabelsAsync,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TemplateCard))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport {ResourceList} from '@influxdata/clockface'\nimport EmptyTemplatesList from 'src/templates/components/EmptyTemplatesList'\nimport TemplateCard from 'src/templates/components/TemplateCard'\n\n// Types\nimport {TemplateSummary} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {Sort} from 'src/clockface'\n\n// Selectors\nimport {getSortedResources} from 'src/shared/utils/sort'\n\ninterface Props {\n templates: TemplateSummary[]\n searchTerm: string\n onFilterChange: (searchTerm: string) => void\n onImport: () => void\n sortKey: string\n sortDirection: Sort\n sortType: SortTypes\n}\n\nexport default class TemplatesList extends PureComponent {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n public render() {\n const {searchTerm, onImport} = this.props\n\n return (\n <>\n \n \n }\n >\n {this.rows}\n \n \n \n )\n }\n\n private get rows(): JSX.Element[] {\n const {\n templates,\n sortKey,\n sortDirection,\n sortType,\n onFilterChange,\n } = this.props\n\n const sortedTemplates = this.memGetSortedResources(\n templates,\n sortKey,\n sortDirection,\n sortType\n )\n\n return sortedTemplates.map(t => (\n \n ))\n }\n}\n","// Libraries\nimport React, {PureComponent, MouseEvent} from 'react'\nimport {get, capitalize} from 'lodash'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {\n Button,\n ComponentSize,\n FlexBox,\n FlexDirection,\n JustifyContent,\n} from '@influxdata/clockface'\n\n// Components\nimport {ResourceCard} from '@influxdata/clockface'\n\n// Actions\nimport {createResourceFromStaticTemplate} from 'src/templates/actions/thunks'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\n\n// Types\nimport {ComponentColor} from '@influxdata/clockface'\nimport {AppState, TemplateSummary} from 'src/types'\n\n// Constants\ninterface OwnProps {\n template: TemplateSummary\n name: string\n onFilterChange: (searchTerm: string) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\nclass StaticTemplateCard extends PureComponent<\n Props & RouteComponentProps<{orgID: string}>\n> {\n public render() {\n const {template} = this.props\n\n return (\n \n \n {this.description}\n \n {capitalize(get(template, 'content.data.type', ''))}\n \n \n )\n }\n\n private get contextMenu(): JSX.Element {\n return (\n \n \n \n )\n }\n\n private get description(): JSX.Element {\n const {template} = this.props\n const description = get(template, 'content.data.attributes.description')\n\n return (\n \n )\n }\n\n private handleCreate = () => {\n const {onCreateFromTemplate, name} = this.props\n\n onCreateFromTemplate(name)\n }\n\n private handleNameClick = (e: MouseEvent) => {\n e.preventDefault()\n this.handleViewTemplate()\n }\n\n private handleViewTemplate = () => {\n const {history, org, name} = this.props\n\n history.push(`/orgs/${org.id}/settings/templates/${name}/static/view`)\n }\n}\n\nconst mstp = (state: AppState) => {\n return {\n org: getOrg(state),\n }\n}\n\nconst mdtp = {\n onCreateFromTemplate: createResourceFromStaticTemplate,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(StaticTemplateCard))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport {ResourceList} from '@influxdata/clockface'\nimport EmptyTemplatesList from 'src/templates/components/EmptyTemplatesList'\nimport StaticTemplateCard from 'src/templates/components/StaticTemplateCard'\n\n// Types\nimport {Template, TemplateSummary, RemoteDataState} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {Sort} from 'src/clockface'\n\n// Selectors\nimport {getSortedResources} from 'src/shared/utils/sort'\n\nexport type TemplateOrSummary = Template | TemplateSummary\n\nexport interface StaticTemplate {\n name: string\n template: TemplateOrSummary\n}\n\ninterface Props {\n templates: StaticTemplate[]\n searchTerm: string\n onFilterChange: (searchTerm: string) => void\n onImport: () => void\n sortKey: string\n sortDirection: Sort\n sortType: SortTypes\n}\n\nexport default class StaticTemplatesList extends PureComponent {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n public render() {\n const {searchTerm, onImport} = this.props\n\n return (\n \n \n }\n >\n {this.rows}\n \n \n )\n }\n\n private get rows(): JSX.Element[] {\n const {\n templates,\n sortKey,\n sortDirection,\n sortType,\n onFilterChange,\n } = this.props\n\n const sortedTemplates = this.memGetSortedResources(\n templates,\n `template.${sortKey}`,\n sortDirection,\n sortType\n )\n\n return sortedTemplates.map(t => (\n \n ))\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport FilterList from 'src/shared/components/FilterList'\nimport TemplatesList from 'src/templates/components/TemplatesList'\nimport StaticTemplatesList, {\n StaticTemplate,\n TemplateOrSummary,\n} from 'src/templates/components/StaticTemplatesList'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport SearchWidget from 'src/shared/components/search_widget/SearchWidget'\nimport GetResources from 'src/resources/components/GetResources'\nimport TabbedPageHeader from 'src/shared/components/tabbed_page/TabbedPageHeader'\nimport ResourceSortDropdown from 'src/shared/components/resource_sort_dropdown/ResourceSortDropdown'\n\n// Types\nimport {AppState, ResourceType, TemplateSummary} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {\n Sort,\n Button,\n ComponentColor,\n IconFont,\n SelectGroup,\n} from '@influxdata/clockface'\nimport {TemplateSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\nimport {staticTemplates as statics} from 'src/templates/constants/defaultTemplates'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors/getAll'\n\n// Constants\nconst staticTemplates: StaticTemplate[] = _.map(statics, (template, name) => ({\n name,\n template: template as TemplateOrSummary,\n}))\n\ninterface OwnProps {\n onImport: () => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\ninterface State {\n searchTerm: string\n sortKey: TemplateSortKey\n sortDirection: Sort\n sortType: SortTypes\n activeTab: string\n}\n\nconst FilterStaticTemplates = FilterList()\nconst FilterTemplateSummaries = FilterList()\n\n@ErrorHandling\nclass TemplatesPage extends PureComponent {\n constructor(props) {\n super(props)\n\n this.state = {\n searchTerm: '',\n sortKey: 'meta.name',\n sortDirection: Sort.Ascending,\n sortType: SortTypes.String,\n activeTab: 'static-templates',\n }\n }\n\n public render() {\n const {onImport} = this.props\n const {activeTab, sortType, sortKey, sortDirection} = this.state\n\n const leftHeaderItems = (\n <>\n {this.filterComponent}\n \n \n Static Templates\n \n \n User Templates\n \n \n \n \n )\n\n return (\n <>\n \n }\n />\n {this.templatesList}\n \n )\n }\n\n private handleClickTab = val => {\n this.setState({activeTab: val})\n }\n\n private handleSort = (\n sortKey: TemplateSortKey,\n sortDirection: Sort,\n sortType: SortTypes\n ): void => {\n this.setState({sortKey, sortDirection, sortType})\n }\n\n private get templatesList(): JSX.Element {\n const {templates, onImport} = this.props\n const {searchTerm, sortKey, sortDirection, sortType, activeTab} = this.state\n\n if (activeTab === 'static-templates') {\n return (\n \n {ts => {\n return (\n \n )\n }}\n \n )\n }\n\n if (activeTab === 'user-templates') {\n return (\n \n \n {ts => {\n return (\n \n )\n }}\n \n \n )\n }\n }\n\n private get filterComponent(): JSX.Element {\n const {searchTerm} = this.state\n\n return (\n \n )\n }\n\n private setSearchTerm = (searchTerm: string) => {\n this.setState({searchTerm})\n }\n}\nconst mstp = (state: AppState) => ({\n templates: getAll(state, ResourceType.Templates),\n})\n\nconst connector = connect(mstp)\n\nexport default connector(TemplatesPage)\n","import React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport ImportOverlay from 'src/shared/components/ImportOverlay'\n\n// Copy\nimport {invalidJSON} from 'src/shared/copy/notifications'\n\n// Actions\nimport {createTemplate as createTemplateAction} from 'src/templates/actions/thunks'\nimport {notify as notifyAction} from 'src/shared/actions/notifications'\n\n// Types\nimport {AppState, ResourceType, Organization} from 'src/types'\nimport {ComponentStatus} from '@influxdata/clockface'\n\n// Utils\nimport jsonlint from 'jsonlint-mod'\nimport {getByID} from 'src/resources/selectors'\n\ninterface State {\n status: ComponentStatus\n}\n\ntype ReduxProps = ConnectedProps\ntype RouterProps = RouteComponentProps<{orgID: string}>\ntype Props = ReduxProps & RouterProps\n\nclass TemplateImportOverlay extends PureComponent {\n public state: State = {\n status: ComponentStatus.Default,\n }\n\n public render() {\n return (\n \n )\n }\n\n private onDismiss = () => {\n const {history} = this.props\n\n history.goBack()\n }\n\n private updateOverlayStatus = (status: ComponentStatus) =>\n this.setState(() => ({status}))\n\n private handleImportTemplate = (importString: string) => {\n const {createTemplate, notify} = this.props\n\n let template\n this.updateOverlayStatus(ComponentStatus.Default)\n try {\n template = jsonlint.parse(importString)\n } catch (error) {\n this.updateOverlayStatus(ComponentStatus.Error)\n notify(invalidJSON(error.message))\n return\n }\n createTemplate(template)\n this.onDismiss()\n }\n}\n\nconst mstp = (state: AppState, props: RouterProps) => {\n const org = getByID(\n state,\n ResourceType.Orgs,\n props.match.params.orgID\n )\n\n return {org}\n}\n\nconst mdtp = {\n notify: notifyAction,\n createTemplate: createTemplateAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TemplateImportOverlay))\n","import React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport ExportOverlay from 'src/shared/components/ExportOverlay'\n\n// Actions\nimport {\n convertToTemplate as convertToTemplateAction,\n clearExportTemplate as clearExportTemplateAction,\n} from 'src/templates/actions/thunks'\n\n// Types\nimport {AppState} from 'src/types'\n\ninterface OwnProps {\n match: {id: string}\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps &\n ReduxProps &\n RouteComponentProps<{orgID: string; id: string}>\n\nclass TemplateExportOverlay extends PureComponent {\n public componentDidMount() {\n const {\n match: {\n params: {id},\n },\n convertToTemplate,\n } = this.props\n convertToTemplate(id)\n }\n\n public render() {\n const {exportTemplate, status} = this.props\n\n return (\n \n )\n }\n\n private onDismiss = () => {\n const {history, clearExportTemplate} = this.props\n\n history.goBack()\n clearExportTemplate()\n }\n}\n\nconst mstp = (state: AppState) => ({\n exportTemplate: state.resources.templates.exportTemplate.item,\n status: state.resources.templates.exportTemplate.status,\n})\n\nconst mdtp = {\n convertToTemplate: convertToTemplateAction,\n clearExportTemplate: clearExportTemplateAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TemplateExportOverlay))\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {\n Button,\n SpinnerContainer,\n TechnoSpinner,\n Overlay,\n ComponentSize,\n} from '@influxdata/clockface'\nimport {Controlled as ReactCodeMirror} from 'react-codemirror2'\nimport CopyButton from 'src/shared/components/CopyButton'\n\n// Types\nimport {ComponentColor} from '@influxdata/clockface'\nimport {RemoteDataState, DashboardTemplate} from 'src/types'\nimport {DocumentCreate} from '@influxdata/influx'\n\ninterface Props {\n onDismissOverlay: () => void\n resource: DashboardTemplate | DocumentCreate\n overlayHeading: string\n status: RemoteDataState\n isVisible: boolean\n}\n\nexport default class ViewOverlay extends PureComponent {\n public static defaultProps = {\n isVisible: true,\n }\n\n public render() {\n const {isVisible, overlayHeading, onDismissOverlay, status} = this.props\n\n return (\n \n \n \n \n }\n >\n {this.overlayBody}\n \n \n \n {this.closeButton}\n {this.copyButton}\n \n \n \n )\n }\n\n private doNothing = () => {}\n\n private get overlayBody(): JSX.Element {\n const options = {\n tabIndex: 1,\n mode: 'json',\n readonly: true,\n lineNumbers: true,\n autoRefresh: true,\n theme: 'time-machine',\n completeSingle: false,\n }\n\n return (\n
    \n \n
    \n )\n }\n\n private get resourceText(): string {\n return JSON.stringify(this.props.resource, null, 1)\n }\n\n private get copyButton(): JSX.Element {\n return (\n \n )\n }\n\n private get closeButton(): JSX.Element {\n return (\n \n )\n }\n}\n","import React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport _ from 'lodash'\n\n// Components\nimport ViewOverlay from 'src/shared/components/ViewOverlay'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Actions\nimport {\n convertToTemplate as convertToTemplateAction,\n clearExportTemplate as clearExportTemplateAction,\n} from 'src/templates/actions/thunks'\n\n// Types\nimport {AppState} from 'src/types'\n\ninterface OwnProps {\n match: {id: string}\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps &\n ReduxProps &\n RouteComponentProps<{orgID: string; id: string}>\n\n@ErrorHandling\nclass TemplateExportOverlay extends PureComponent {\n public componentDidMount() {\n const {\n match: {\n params: {id},\n },\n convertToTemplate,\n } = this.props\n convertToTemplate(id)\n }\n\n public render() {\n const {exportTemplate, status} = this.props\n\n return (\n \n )\n }\n\n private get overlayTitle() {\n const {exportTemplate} = this.props\n if (exportTemplate) {\n return exportTemplate.meta.name\n }\n return ''\n }\n\n private onDismiss = () => {\n const {history, clearExportTemplate} = this.props\n\n history.goBack()\n clearExportTemplate()\n }\n}\n\nconst mstp = (state: AppState) => ({\n exportTemplate: state.resources.templates.exportTemplate.item,\n status: state.resources.templates.exportTemplate.status,\n})\n\nconst mdtp = {\n convertToTemplate: convertToTemplateAction,\n clearExportTemplate: clearExportTemplateAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TemplateExportOverlay))\n","import React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport _ from 'lodash'\n\n// Components\nimport ViewOverlay from 'src/shared/components/ViewOverlay'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Types\nimport {RemoteDataState} from '@influxdata/clockface'\n\nimport {staticTemplates} from 'src/templates/constants/defaultTemplates'\nimport {DashboardTemplate} from 'src/types'\n\ninterface OwnProps {\n match: {id: string}\n}\n\ntype Props = OwnProps & RouteComponentProps<{orgID: string; id: string}>\n\n@ErrorHandling\nclass TemplateExportOverlay extends PureComponent {\n public render() {\n return (\n \n )\n }\n\n private get template(): DashboardTemplate {\n const {\n match: {\n params: {id},\n },\n } = this.props\n\n return staticTemplates[id]\n }\n\n private get overlayTitle() {\n return this.template.meta.name\n }\n\n private onDismiss = () => {\n const {history} = this.props\n\n history.goBack()\n }\n}\n\nexport default withRouter(TemplateExportOverlay)\n","import React, {FC, CSSProperties} from 'react'\n\ninterface Props {\n strokeColor: string\n fillColor?: string\n strokeWidth?: number\n width: number\n height: number\n}\n\nexport const CommunityTemplateInstallInstructionsIcon: FC = ({\n strokeColor,\n fillColor = 'none',\n strokeWidth = 2,\n width,\n height,\n}) => {\n const lineStyle: CSSProperties = {\n strokeWidth,\n stroke: strokeColor,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n strokeMiterlimit: 10,\n }\n\n const polygonStyle: CSSProperties = {\n ...lineStyle,\n fill: fillColor,\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {\n Gradients,\n Heading,\n HeadingElement,\n Panel,\n Button,\n ComponentColor,\n ComponentSize,\n FlexBox,\n FlexDirection,\n AlignItems,\n InfluxColors,\n} from '@influxdata/clockface'\n\nimport {CommunityTemplateInstallInstructionsIcon} from 'src/templates/components/CommunityTemplateInstallInstructionsIcon'\n\ninterface Props {\n templateName: string\n resourceCount?: number\n onClickInstall?: () => void\n}\n\nexport const CommunityTemplateInstallInstructions: FC = ({\n templateName,\n resourceCount,\n onClickInstall,\n}) => {\n let installButton\n let resourcePlural = 'resources'\n\n if (resourceCount === 1) {\n resourcePlural = 'resource'\n }\n\n if (onClickInstall && resourceCount > 0) {\n installButton = (\n \n )\n }\n\n return (\n \n \n \n \n \n {templateName}\n \n

    \n Installing this template will create{' '}\n \n {resourceCount} {resourcePlural}\n {' '}\n in your system\n

    \n\n

    \n There might be extra steps needed to complete your template\n installation, check github to find any further instruction\n

    \n
    \n {installButton}\n \n
    \n )\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {MarkdownRenderer} from 'src/shared/components/views/MarkdownRenderer'\nimport {fetchReadMe} from 'src/templates/api'\nimport {reportError} from 'src/shared/utils/errors'\n\ninterface Props {\n directory: string\n}\n\nconst cloudImageRenderer = (): any =>\n \"We don't support images in markdown for security purposes\"\n\nexport class CommunityTemplateReadme extends PureComponent {\n state = {readMeData: ''}\n componentDidMount = async () => {\n try {\n const response = await fetchReadMe(this.props.directory)\n this.setState({readMeData: response})\n } catch (error) {\n reportError(error, {\n name: 'The community template fetch github readme failed',\n })\n\n this.setState({\n readMeData: \"## We can't find the readme associated with this template\",\n })\n }\n }\n\n render = () => {\n return (\n \n )\n }\n}\n","// Libraries\nimport React, {FC, ReactNode} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport {\n Heading,\n HeadingElement,\n Panel,\n ComponentSize,\n AlignItems,\n InputToggleType,\n Toggle,\n FlexBox,\n IconFont,\n FlexDirection,\n ComponentColor,\n} from '@influxdata/clockface'\n\ninterface Props {\n title?: string\n description?: string\n children?: ReactNode\n handleToggle: () => void\n shouldInstall: boolean\n shouldDisableToggle?: boolean\n}\n\nconst CommunityTemplateListItem: FC = ({\n title,\n children,\n description,\n handleToggle,\n shouldInstall = true,\n shouldDisableToggle = false,\n}) => {\n const descriptionClassName = classnames(\n 'community-templates--item-description',\n {\n 'community-templates--item-description__blank': !description,\n }\n )\n\n return (\n \n \n \n \n {title && {title}}\n

    \n {description || 'No description'}\n

    \n {children}\n \n \n
    \n )\n}\n\nexport default CommunityTemplateListItem\n","// Libraries\nimport React, {FC, ReactNode, useState} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport {\n Heading,\n HeadingElement,\n Icon,\n IconFont,\n FlexBox,\n ComponentSize,\n AlignItems,\n FlexDirection,\n} from '@influxdata/clockface'\n\ninterface Props {\n title: string\n count: number\n children?: ReactNode\n}\n\nconst CommunityTemplateListGroup: FC = ({title, count, children}) => {\n const [mode, setMode] = useState<'expanded' | 'collapsed'>('collapsed')\n const groupClassName = classnames('community-templates--list-group', {\n [`community-templates--list-group__${mode}`]: mode,\n })\n\n const handleToggleMode = () => {\n if (mode === 'expanded') {\n setMode('collapsed')\n } else {\n setMode('expanded')\n }\n }\n\n if (!React.Children.count(children)) {\n return null\n }\n\n return (\n
    \n \n
    \n \n
    \n \n {title}\n \n {`(${count} selected)`}\n
    \n {mode === 'expanded' && (\n \n {children}\n \n )}\n
    \n )\n}\n\nexport default CommunityTemplateListGroup\n","import React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Input, InputType, Table} from '@influxdata/clockface'\n\n// Types\nimport {AppState} from 'src/types'\n\nimport {updateTemplateEnvReferences} from 'src/templates/actions/creators'\n\nexport type EnvRef = any\n\ninterface OwnProps {\n resource: any\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\nclass CommunityTemplateEnvReferencesUnconnected extends PureComponent {\n private handleChange = ref => {\n return event => {\n this.props.updateTemplateEnvReferences(\n ref.envRefKey,\n ref.resourceField,\n event.target.value,\n ref.valueType\n )\n }\n }\n\n private renderInputForEnvRef = (ref: EnvRef) => {\n switch (ref.valueType) {\n case 'float':\n case 'number':\n case 'integer': {\n return (\n \n )\n }\n case 'string':\n default: {\n return (\n \n )\n }\n }\n }\n\n private getFieldType(ref: EnvRef) {\n return ref.resourceField.split('.').pop()\n }\n\n render() {\n return (\n \n \n \n Parameter\n Value\n \n \n \n {this.props.resource.envReferences.map(ref => {\n return (\n \n \n {this.getFieldType(ref)}\n \n {this.renderInputForEnvRef(ref)}\n \n )\n })}\n \n
    \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n return {\n stagedTemplateEnvReferences:\n state.resources.templates.stagedTemplateEnvReferences,\n }\n}\n\nconst mdtp = {\n updateTemplateEnvReferences,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport const CommunityTemplateEnvReferences = connector(\n CommunityTemplateEnvReferencesUnconnected\n)\n","// Libraries\nimport React, {PureComponent} from 'react'\n\nimport {\n AlignItems,\n ComponentSize,\n FlexBox,\n FlexDirection,\n Panel,\n} from '@influxdata/clockface'\n\nimport {CommunityTemplateEnvReferences} from 'src/templates/components/CommunityTemplateEnvReferences'\n\ninterface OwnProps {\n resource: any\n}\n\ntype Props = OwnProps\n\nexport class CommunityTemplateParameters extends PureComponent {\n render() {\n if (Object.keys(this.props.resource.envReferences).length < 1) {\n return null\n }\n\n return (\n \n \n \n \n \n \n \n )\n }\n}\n","import {CommunityTemplate} from 'src/types'\n\nconst isResourceSelected = resource => resource.shouldInstall\n\nexport const getResourceInstallCount = (collection: any[]): number => {\n return collection.filter(isResourceSelected).length\n}\n\nexport const getTotalResourceCount = (summary: CommunityTemplate): number => {\n let resourceCount = 0\n Object.keys(summary).forEach(resourceType => {\n resourceCount += getResourceInstallCount(summary[resourceType])\n })\n\n return resourceCount\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Components\nimport {\n Panel,\n FlexBox,\n ComponentSize,\n FlexDirection,\n AlignItems,\n Label,\n} from '@influxdata/clockface'\nimport CommunityTemplateListItem from 'src/templates/components/CommunityTemplateListItem'\nimport CommunityTemplateListGroup from 'src/templates/components/CommunityTemplateListGroup'\n\nimport {CommunityTemplateParameters} from 'src/templates/components/CommunityTemplateParameters'\n\nimport {toggleTemplateResourceInstall} from 'src/templates/actions/creators'\nimport {getResourceInstallCount} from 'src/templates/selectors'\n\nimport {event} from 'src/cloud/utils/reporting'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nclass CommunityTemplateResourceContentUnconnected extends PureComponent {\n render() {\n const {summary} = this.props\n if (!Object.keys(summary).length) {\n return (\n \n Calculating template resource needs...\n \n )\n }\n\n return (\n \n \n {Array.isArray(summary.dashboards) &&\n summary.dashboards.map(dashboard => {\n let chartCount = 0\n if (dashboard.charts && dashboard.charts.length) {\n chartCount = dashboard.charts.length\n }\n return (\n \n \n {\n event('template_resource_uncheck', {\n templateResourceType: 'dashboards',\n })\n this.props.toggleTemplateResourceInstall(\n 'dashboards',\n dashboard.templateMetaName,\n !dashboard.shouldInstall\n )\n }}\n title={dashboard.name}\n description={dashboard.description}\n >\n Charts: {chartCount}\n \n \n\n {resourceHasEnvRefs(dashboard) && (\n \n \n \n )}\n \n )\n })}\n \n \n {Array.isArray(summary.telegrafConfigs) &&\n summary.telegrafConfigs.map(telegrafConfig => {\n return (\n \n \n {\n event('template_resource_uncheck', {\n templateResourceType: 'telegraf',\n })\n this.props.toggleTemplateResourceInstall(\n 'telegrafConfigs',\n telegrafConfig.templateMetaName,\n !telegrafConfig.shouldInstall\n )\n }}\n title={telegrafConfig.templateMetaName}\n description={telegrafConfig.description}\n />\n \n {resourceHasEnvRefs(telegrafConfig) && (\n \n \n \n )}\n \n )\n })}\n \n \n {Array.isArray(summary.buckets) &&\n summary.buckets.map(bucket => {\n return (\n \n \n {\n event('template_resource_uncheck', {\n templateResourceType: 'buckets',\n })\n this.props.toggleTemplateResourceInstall(\n 'buckets',\n bucket.templateMetaName,\n !bucket.shouldInstall\n )\n }}\n key={bucket.templateMetaName}\n title={bucket.name}\n description={bucket.description}\n />\n \n {resourceHasEnvRefs(bucket) && (\n \n \n \n )}\n \n )\n })}\n \n\n \n {Array.isArray(summary.summaryTask) &&\n summary.summaryTask.map(task => {\n return (\n \n \n {\n event('template_resource_uncheck', {\n templateResourceType: 'tasks',\n })\n this.props.toggleTemplateResourceInstall(\n 'summaryTask',\n task.templateMetaName,\n !task.shouldInstall\n )\n }}\n key={task.templateMetaName}\n title={task.name}\n description={task.description}\n />\n \n {resourceHasEnvRefs(task) && (\n \n \n \n )}\n \n )\n })}\n \n\n \n {Array.isArray(summary.checks) &&\n summary.checks.map(check => {\n return (\n \n \n {\n event('template_resource_uncheck', {\n templateResourceType: 'checks',\n })\n this.props.toggleTemplateResourceInstall(\n 'checks',\n check.templateMetaName,\n !check.shouldInstall\n )\n }}\n key={check.templateMetaName}\n title={check.check.name}\n description={check.description}\n />\n \n {resourceHasEnvRefs(check) && (\n \n \n \n )}\n \n )\n })}\n \n \n {Array.isArray(summary.variables) &&\n summary.variables.map(variable => {\n return (\n \n \n {\n event('template_resource_uncheck', {\n templateResourceType: 'variables',\n })\n this.props.toggleTemplateResourceInstall(\n 'variables',\n variable.templateMetaName,\n !variable.shouldInstall\n )\n }}\n key={variable.templateMetaName}\n title={variable.name}\n description={variable.description}\n >\n Type: {variable.arguments.type}\n \n \n {resourceHasEnvRefs(variable) && (\n \n \n \n )}\n \n )\n })}\n \n \n {Array.isArray(summary.notificationRules) &&\n summary.notificationRules.map(notificationRule => {\n return (\n \n \n {\n event('template_resource_uncheck', {\n templateResourceType: 'notification rules',\n })\n this.props.toggleTemplateResourceInstall(\n 'notificationRules',\n notificationRule.templateMetaName,\n !notificationRule.shouldInstall\n )\n }}\n key={notificationRule.templateMetaName}\n title={notificationRule.name}\n description={notificationRule.description}\n />\n \n {resourceHasEnvRefs(summary) && (\n \n \n \n )}\n \n )\n })}\n \n\n \n {Array.isArray(summary.notificationEndpoints) &&\n summary.notificationEndpoints.map(notificationEndpoint => {\n return (\n \n \n {\n event('template_resource_uncheck', {\n templateResourceType: 'notification rules',\n })\n this.props.toggleTemplateResourceInstall(\n 'notificationEndpoints',\n notificationEndpoint.templateMetaName,\n !notificationEndpoint.shouldInstall\n )\n }}\n key={notificationEndpoint.templateMetaName}\n title={notificationEndpoint.notificationEndpoint.name}\n description={notificationEndpoint.description}\n />\n \n {resourceHasEnvRefs(summary) && (\n \n \n \n )}\n \n )\n })}\n \n\n \n {Array.isArray(summary.labels) &&\n summary.labels.map(label => {\n return (\n \n \n {\n event('template_resource_uncheck', {\n templateResourceType: 'labels',\n })\n this.props.toggleTemplateResourceInstall(\n 'labels',\n label.templateMetaName,\n !label.shouldInstall\n )\n }}\n key={label.templateMetaName}\n >\n \n \n \n {resourceHasEnvRefs(label) && (\n \n \n \n )}\n \n )\n })}\n \n \n )\n }\n}\n\nconst resourceHasEnvRefs = (resource: any): boolean => {\n return (\n resource.envReferences && Object.keys(resource.envReferences).length > 0\n )\n}\n\nconst mstp = (state: AppState) => {\n return {summary: state.resources.templates.stagedCommunityTemplate.summary}\n}\n\nconst mdtp = {\n toggleTemplateResourceInstall,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport const CommunityTemplateResourceContent = connector(\n CommunityTemplateResourceContentUnconnected\n)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Alignment, Orientation, Overlay, Tabs} from '@influxdata/clockface'\nimport {CommunityTemplateInstallInstructions} from 'src/templates/components/CommunityTemplateInstallInstructions'\nimport {CommunityTemplateReadme} from 'src/templates/components/CommunityTemplateReadme'\nimport {CommunityTemplateResourceContent} from 'src/templates/components/CommunityTemplateResourceContent'\n\n// Types\nimport {ComponentStatus} from '@influxdata/clockface'\n\ninterface OwnProps {\n isVisible?: boolean\n onDismissOverlay: () => void\n onInstall: () => void\n resourceCount: number\n status?: ComponentStatus\n templateName: string\n templateDirectory: string\n updateStatus?: (status: ComponentStatus) => void\n}\n\ninterface State {\n activeTab: ActiveTab\n}\n\nenum Tab {\n IncludedResources,\n Readme,\n}\n\ntype ActiveTab = Tab.IncludedResources | Tab.Readme\n\ntype Props = OwnProps & RouteComponentProps<{orgID: string}>\n\nclass CommunityTemplateOverlayUnconnected extends PureComponent {\n state: State = {\n activeTab: Tab.IncludedResources,\n }\n\n public static defaultProps: {isVisible: boolean} = {\n isVisible: true,\n }\n\n public render() {\n const {\n isVisible,\n onInstall,\n resourceCount,\n templateName,\n templateDirectory,\n } = this.props\n\n return (\n \n \n \n \n \n \n \n \n \n \n {this.state.activeTab === Tab.IncludedResources ? (\n \n ) : (\n \n )}\n \n \n \n \n )\n }\n\n private setTabToIncludedResources = () => {\n this.setState({activeTab: Tab.IncludedResources})\n }\n\n private setTabToReadme = () => {\n this.setState({activeTab: Tab.Readme})\n }\n\n private onDismiss = () => {\n this.props.onDismissOverlay()\n }\n}\n\nexport const CommunityTemplateOverlay = withRouter(\n CommunityTemplateOverlayUnconnected\n)\n","import React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {CommunityTemplateOverlay} from 'src/templates/components/CommunityTemplateOverlay'\n\n// Actions\nimport {setStagedCommunityTemplate} from 'src/templates/actions/creators'\nimport {createTemplate, fetchAndSetStacks} from 'src/templates/actions/thunks'\nimport {notify} from 'src/shared/actions/notifications'\n\nimport {getTotalResourceCount} from 'src/templates/selectors'\n\n// Types\nimport {AppState, Organization, ResourceType} from 'src/types'\nimport {ComponentStatus} from '@influxdata/clockface'\n\n// Utils\nimport {getByID} from 'src/resources/selectors'\nimport {getTemplateNameFromUrl} from 'src/templates/utils'\nimport {reportError} from 'src/shared/utils/errors'\n\nimport {\n installTemplate,\n reviewTemplate,\n updateStackName,\n} from 'src/templates/api'\n\nimport {\n communityTemplateInstallFailed,\n communityTemplateInstallSucceeded,\n communityTemplateRenameFailed,\n} from 'src/shared/copy/notifications'\n\nimport {event} from 'src/cloud/utils/reporting'\n\ninterface State {\n status: ComponentStatus\n}\n\ntype ReduxProps = ConnectedProps\ntype RouterProps = RouteComponentProps<{\n orgID: string\n}>\n\ntype Props = ReduxProps & RouterProps\n\nclass UnconnectedTemplateImportOverlay extends PureComponent {\n public state: State = {\n status: ComponentStatus.Default,\n }\n\n public componentDidMount() {\n if (!this.props.stagedTemplateUrl) {\n this.onDismiss()\n return\n }\n this.reviewTemplateResources(\n this.props.org.id,\n this.props.stagedTemplateUrl\n )\n }\n\n public render() {\n const templateDetails = getTemplateNameFromUrl(this.props.stagedTemplateUrl)\n const templateName = templateDetails.name\n const templateDirectory = templateDetails.directory\n\n return (\n \n )\n }\n\n private reviewTemplateResources = async (\n orgID: string,\n templateUrl: string\n ) => {\n try {\n const summary = await reviewTemplate(orgID, templateUrl)\n\n this.props.setStagedCommunityTemplate(summary)\n return summary\n } catch (err) {\n this.props.notify(communityTemplateInstallFailed(err.message))\n reportError(err, {\n name: 'The community template fetch for preview failed',\n })\n }\n }\n\n private onDismiss = () => {\n this.props.history.push(`/orgs/${this.props.org.id}/settings/templates`)\n }\n\n private updateOverlayStatus = (status: ComponentStatus) =>\n this.setState(() => ({status}))\n\n private handleInstallTemplate = async () => {\n let summary\n try {\n summary = await installTemplate(\n this.props.org.id,\n this.props.stagedTemplateUrl,\n this.props.resourcesToSkip,\n this.props.stagedTemplateEnvReferences\n )\n } catch (err) {\n this.props.notify(communityTemplateInstallFailed(err.message))\n reportError(err, {name: 'Failed to install community template'})\n }\n\n try {\n const templateDetails = getTemplateNameFromUrl(\n this.props.stagedTemplateUrl\n )\n await updateStackName(summary.stackID, templateDetails.name)\n\n event('template_install', {templateName: templateDetails.name})\n\n this.props.notify(communityTemplateInstallSucceeded(templateDetails.name))\n } catch (err) {\n this.props.notify(communityTemplateRenameFailed())\n reportError(err, {name: 'The community template rename failed'})\n } finally {\n this.props.fetchAndSetStacks(this.props.org.id)\n this.onDismiss()\n }\n }\n}\n\nconst mstp = (state: AppState, props: RouterProps) => {\n const org = getByID(\n state,\n ResourceType.Orgs,\n props.match.params.orgID\n )\n\n // convert the env references into a format pkger is happy with\n const stagedTemplateEnvReferences = {}\n for (const [refKey, refObject] of Object.entries(\n state.resources.templates.stagedTemplateEnvReferences\n )) {\n switch (refObject.valueType) {\n case 'string':\n case 'time':\n case 'duration': {\n stagedTemplateEnvReferences[refKey] = refObject.value\n continue\n }\n case 'number':\n case 'float': {\n stagedTemplateEnvReferences[refKey] = parseFloat(refObject.value as any)\n continue\n }\n case 'integer': {\n stagedTemplateEnvReferences[refKey] = parseInt(\n refObject.value as any,\n 10\n )\n continue\n }\n }\n }\n\n return {\n org,\n stagedTemplateEnvReferences,\n flags: state.flags.original,\n resourceCount: getTotalResourceCount(\n state.resources.templates.stagedCommunityTemplate.summary\n ),\n resourcesToSkip:\n state.resources.templates.stagedCommunityTemplate.resourcesToSkip,\n stagedTemplateUrl: state.resources.templates.stagedTemplateUrl,\n }\n}\n\nconst mdtp = {\n createTemplate,\n notify,\n setStagedCommunityTemplate,\n fetchAndSetStacks,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport const CommunityTemplateImportOverlay = connector(\n withRouter(UnconnectedTemplateImportOverlay)\n)\n","// Libraries\nimport React, {FC} from 'react'\nimport {Link} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\nimport {event} from 'src/cloud/utils/reporting'\n\n// Types\nimport {\n AppState,\n Dashboard,\n Task,\n Label,\n Bucket,\n Telegraf,\n Variable,\n ResourceType,\n Check,\n NotificationEndpoint,\n NotificationRule,\n} from 'src/types'\n\ninterface ComponentProps {\n link: string\n metaName: string\n resourceID: string\n}\n\ntype ReduxProps = ConnectedProps\n\ntype Props = ComponentProps & ReduxProps\n\nconst recordClick = () => {\n event('template_view_resource')\n}\n\nconst CommunityTemplateHumanReadableResourceUnconnected: FC = ({\n link,\n metaName,\n resourceID,\n allResources,\n}) => {\n const matchingResource = allResources.find(\n resource => resource.id === resourceID\n )\n\n const humanName = matchingResource ? matchingResource.name : metaName\n\n return (\n \n {humanName}\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const labels = getAll
    \n {summaryState === 'expanded' && (\n \n {tableRows}\n
    \n )}\n \n )\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {CommunityTemplateReadme} from 'src/templates/components/CommunityTemplateReadme'\nimport {Overlay, Button, IconFont, ComponentSize} from '@influxdata/clockface'\n\ninterface Props {\n directory: string\n}\n\ninterface State {\n isVisible: boolean\n}\n\nexport class CommunityTemplateReadMeOverlay extends PureComponent<\n Props,\n State\n> {\n state = {isVisible: false}\n\n render() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private showOverlay = () => {\n this.setState({isVisible: true})\n }\n\n private onDismiss = () => {\n this.setState({isVisible: false})\n }\n}\n","import React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {getTemplateNameFromUrl} from 'src/templates/utils'\n\n// Components\nimport {\n Appearance,\n ComponentColor,\n ComponentSize,\n ComponentStatus,\n ConfirmationButton,\n IconFont,\n Table,\n VerticalAlignment,\n ButtonShape,\n Alignment,\n} from '@influxdata/clockface'\nimport {CommunityTemplatesResourceSummary} from 'src/templates/components/CommunityTemplatesResourceSummary'\nimport {CommunityTemplateReadMeOverlay} from 'src/templates/components/CommunityTemplateReadMeOverlay'\n\n// Redux\nimport {notify} from 'src/shared/actions/notifications'\nimport {\n communityTemplateDeleteSucceeded,\n communityTemplateDeleteFailed,\n communityTemplateFetchStackFailed,\n} from 'src/shared/copy/notifications'\nimport {fetchAndSetStacks} from 'src/templates/actions/thunks'\n\n// Types\nimport {AppState} from 'src/types'\nimport {TemplateKind} from 'src/client'\n\n// API\nimport {deleteStack} from 'src/templates/api'\n\n//Utils\nimport {reportError} from 'src/shared/utils/errors'\n\nimport {event} from 'src/cloud/utils/reporting'\n\ninterface OwnProps {\n orgID: string\n}\n\ntype ReduxProps = ConnectedProps\n\ntype Props = OwnProps & ReduxProps\n\nexport interface Resource {\n apiVersion?: string\n resourceID?: string\n kind?: TemplateKind\n templateMetaName?: string\n associations?: {\n kind?: TemplateKind\n metaName?: string\n }[]\n}\n\nclass CommunityTemplatesInstalledListUnconnected extends PureComponent {\n public componentDidMount() {\n try {\n this.props.fetchAndSetStacks(this.props.orgID)\n } catch (err) {\n this.props.notify(communityTemplateFetchStackFailed(err.message))\n reportError(err, {name: 'The community template fetch stack failed'})\n }\n }\n\n private renderStackSources(sources: string[]) {\n return sources.map(source => {\n if (source.includes('github') && source.includes('influxdata')) {\n const directory = getTemplateNameFromUrl(source).directory\n return (\n \n )\n }\n\n return source\n })\n }\n\n private generateDeleteHandlerForStack = (\n stackID: string,\n stackName: string\n ) => {\n return async () => {\n try {\n await deleteStack(stackID, this.props.orgID)\n\n event('template_delete', {templateName: stackName})\n\n this.props.notify(communityTemplateDeleteSucceeded(stackName))\n } catch (err) {\n this.props.notify(communityTemplateDeleteFailed(err.message))\n reportError(err, {name: 'The community template delete failed'})\n } finally {\n this.props.fetchAndSetStacks(this.props.orgID)\n }\n }\n }\n\n render() {\n if (!this.props.stacks.length) {\n return

    You haven't installed any templates yet

    \n }\n\n return (\n <>\n

    Installed Templates

    \n \n \n \n \n Template Name\n \n \n Installed Resources\n \n \n Install Date\n \n \n Source\n \n \n  \n \n \n \n \n {this.props.stacks.map(stack => {\n return (\n \n \n \n {stack.name}\n \n \n \n \n \n \n \n {new Date(stack.createdAt).toDateString()}\n \n \n \n {this.renderStackSources(stack.sources)}\n \n \n \n \n \n )\n })}\n \n
    \n \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n return {\n stacks: state.resources.templates.stacks.filter(\n stack => stack.eventType !== 'delete' && stack.eventType !== 'uninstall'\n ),\n }\n}\n\nconst mdtp = {\n fetchAndSetStacks,\n notify,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport const CommunityTemplatesInstalledList = connector(\n CommunityTemplatesInstalledListUnconnected\n)\n","import React, {Component} from 'react'\nimport {\n withRouter,\n matchPath,\n RouteComponentProps,\n Switch,\n Route,\n} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {notify} from 'src/shared/actions/notifications'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {CommunityTemplateImportOverlay} from 'src/templates/components/CommunityTemplateImportOverlay'\nimport {CommunityTemplatesInstalledList} from 'src/templates/components/CommunityTemplatesInstalledList'\n\nimport {\n Bullet,\n Button,\n ComponentColor,\n ComponentSize,\n Heading,\n HeadingElement,\n Input,\n Page,\n Panel,\n FlexDirection,\n IconFont,\n} from '@influxdata/clockface'\nimport SettingsTabbedPage from 'src/settings/components/SettingsTabbedPage'\nimport SettingsHeader from 'src/settings/components/SettingsHeader'\n\nimport {communityTemplatesImportPath} from 'src/templates/containers/TemplatesIndex'\n\nimport GetResources from 'src/resources/components/GetResources'\nimport {getOrg} from 'src/organizations/selectors'\n\nimport {setStagedTemplateUrl} from 'src/templates/actions/creators'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\nimport {\n getGithubUrlFromTemplateDetails,\n getTemplateNameFromUrl,\n} from 'src/templates/utils'\nimport {reportError} from 'src/shared/utils/errors'\n\nimport {communityTemplateUnsupportedFormatError} from 'src/shared/copy/notifications'\n\n// Types\nimport {AppState, ResourceType} from 'src/types'\n\nimport {event} from 'src/cloud/utils/reporting'\n\nconst communityTemplatesUrl =\n 'https://github.com/influxdata/community-templates#templates'\nconst templatesPath = '/orgs/:orgID/settings/templates'\n\ntype Params = {\n params: {directory: string; templateName: string; templateExtension: string}\n}\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{templateName: string}>\n\n@ErrorHandling\nclass UnconnectedTemplatesIndex extends Component {\n state = {\n templateUrl: '',\n }\n\n public componentDidMount() {\n // if this component mounts, and the install template is on the screen\n // (i.e. the user reloaded the page with the install template active)\n // grab the template name, and fill in the text input\n const match = matchPath(this.props.location.pathname, {\n path: communityTemplatesImportPath,\n }) as Params\n\n if (\n match?.params?.directory &&\n match?.params?.templateName &&\n match?.params?.templateExtension\n ) {\n this.setState({\n templateUrl: getGithubUrlFromTemplateDetails(\n match.params.directory,\n match.params.templateName,\n match.params.templateExtension\n ),\n })\n }\n }\n\n public render() {\n const {org} = this.props\n return (\n <>\n \n \n \n {/* todo: maybe make this not a div */}\n
    \n \n }\n title={\n \n Find a template then return here to install it\n \n }\n size={ComponentSize.Small}\n >\n \n \n \n \n }\n title={\n \n Paste the Template's Github URL below\n \n }\n size={ComponentSize.Small}\n />\n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n \n \n \n )\n }\n\n private startTemplateInstall = () => {\n if (!this.state.templateUrl) {\n this.props.notify(communityTemplateUnsupportedFormatError())\n return false\n }\n\n try {\n this.props.setStagedTemplateUrl(this.state.templateUrl)\n\n event('template_click_lookup', {\n templateName: getTemplateNameFromUrl(this.state.templateUrl).name,\n })\n\n this.props.history.push(\n `/orgs/${this.props.org.id}/settings/templates/import`\n )\n } catch (err) {\n this.props.notify(communityTemplateUnsupportedFormatError())\n reportError(err, {\n name: 'The community template getTemplateDetails failed',\n })\n }\n }\n\n private handleTemplateChange = evt => {\n this.setState({templateUrl: evt.target.value})\n }\n\n private onClickBrowseCommunityTemplates = () => {\n event('template_click_browse')\n\n window.open(communityTemplatesUrl)\n }\n}\n\nconst mstp = (state: AppState) => {\n return {\n org: getOrg(state),\n }\n}\n\nconst mdtp = {\n notify,\n setStagedTemplateUrl,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport const CommunityTemplatesIndex = connector(\n withRouter(UnconnectedTemplatesIndex)\n)\n","import React, {Component} from 'react'\nimport {RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {Switch, Route} from 'react-router-dom'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {Page} from '@influxdata/clockface'\nimport SettingsTabbedPage from 'src/settings/components/SettingsTabbedPage'\nimport SettingsHeader from 'src/settings/components/SettingsHeader'\nimport TemplatesPage from 'src/templates/components/TemplatesPage'\nimport GetResources from 'src/resources/components/GetResources'\nimport TemplateImportOverlay from 'src/templates/components/TemplateImportOverlay'\nimport TemplateExportOverlay from 'src/templates/components/TemplateExportOverlay'\nimport TemplateViewOverlay from 'src/templates/components/TemplateViewOverlay'\nimport StaticTemplateViewOverlay from 'src/templates/components/StaticTemplateViewOverlay'\n\nimport {CommunityTemplatesIndex} from 'src/templates/containers/CommunityTemplatesIndex'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\nimport {getOrg} from 'src/organizations/selectors'\n\n// Types\nimport {AppState, ResourceType} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = RouteComponentProps & ReduxProps\n\nconst templatesPath = '/orgs/:orgID/settings/templates'\nexport const communityTemplatesImportPath = `${templatesPath}/import/:directory/:templateName/:templateExtension`\n\n@ErrorHandling\nclass TemplatesIndex extends Component {\n public render() {\n const {org, flags} = this.props\n if (flags.communityTemplates) {\n return \n }\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleImport = () => {\n const {history, org} = this.props\n history.push(`/orgs/${org.id}/settings/templates/import`)\n }\n}\n\nconst mstp = (state: AppState) => {\n return {\n org: getOrg(state),\n flags: state.flags.original,\n }\n}\n\nconst connector = connect(mstp)\n\nexport default connector(TemplatesIndex)\n","// Libraries\nimport React, {Component, ChangeEvent} from 'react'\n\n// Components\nimport LabelOverlayForm from 'src/labels/components/LabelOverlayForm'\nimport {ComponentStatus, Overlay} from '@influxdata/clockface'\n\n// Types\nimport {Label} from 'src/types'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n label: Label\n onDismiss: () => void\n onUpdateLabel: (label: Label) => void\n onNameValidation: (name: string) => string | null\n}\n\ninterface State {\n label: Label\n colorStatus: ComponentStatus\n}\n\n@ErrorHandling\nclass UpdateLabelOverlay extends Component {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n label: props.label,\n colorStatus: ComponentStatus.Default,\n }\n }\n\n public render() {\n const {onDismiss, onNameValidation} = this.props\n const {label} = this.state\n\n return (\n \n \n \n \n \n \n )\n }\n\n private get isFormValid(): boolean {\n const {label, colorStatus} = this.state\n\n const nameIsValid = this.props.onNameValidation(label.name) === null\n const colorIsValid =\n colorStatus === ComponentStatus.Default ||\n colorStatus == ComponentStatus.Valid\n\n return nameIsValid && colorIsValid\n }\n\n private handleSubmit = () => {\n const {onUpdateLabel, onDismiss} = this.props\n\n onUpdateLabel(this.state.label)\n onDismiss()\n }\n\n private handleInputChange = (e: ChangeEvent): void => {\n const {value, name} = e.target\n\n this.setState(prevState => ({\n label: {...prevState.label, [name]: value},\n }))\n }\n\n private handleLabelPropertyChange = (\n e: ChangeEvent\n ): void => {\n const {value, name} = e.target\n\n this.setState(prevState => ({\n label: {\n ...prevState.label,\n properties: {...prevState.label.properties, [name]: value},\n },\n }))\n }\n\n private handleColorHexChange = (\n color: string,\n colorStatus: ComponentStatus\n ): void => {\n const properties = {...this.state.label.properties, color}\n const label = {...this.state.label, properties}\n\n this.setState({label, colorStatus})\n }\n}\n\nexport default UpdateLabelOverlay\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Context} from 'src/clockface'\nimport {IconFont, ComponentColor} from '@influxdata/clockface'\n\n// Types\nimport {Label} from 'src/types'\n\ninterface Props {\n label: Label\n onDelete: (labelID: string) => void\n}\n\nexport default class LabelContextMenu extends PureComponent {\n public render() {\n const {label, onDelete} = this.props\n\n return (\n \n \n \n \n \n )\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport {\n ComponentSize,\n Label as LabelComponent,\n ResourceCard,\n FlexDirection,\n AlignItems,\n} from '@influxdata/clockface'\n\n// Types\nimport {Label} from 'src/types'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport LabelContextMenu from './LabelContextMenu'\n\ninterface Props {\n label: Label\n onClick: (labelID: string) => void\n onDelete: (labelID: string) => void\n}\n\n@ErrorHandling\nexport default class LabelCard extends PureComponent {\n public render() {\n const {label, onDelete} = this.props\n\n const labelHasDescription = !!label.properties.description\n\n const descriptionClassName = classnames('label-card--description', {\n 'label-card--description__untitled': !labelHasDescription,\n })\n\n const description = labelHasDescription\n ? label.properties.description\n : 'No description'\n\n return (\n }\n direction={FlexDirection.Row}\n alignItems={AlignItems.Center}\n >\n \n \n {description}\n

    \n \n )\n }\n\n private handleClick = (): void => {\n const {label, onClick} = this.props\n\n onClick(label.id)\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Overlay, ResourceList} from '@influxdata/clockface'\nimport UpdateLabelOverlay from 'src/labels/components/UpdateLabelOverlay'\nimport LabelCard from 'src/labels/components/LabelCard'\n\n// Utils\nimport {validateLabelUniqueness} from 'src/labels/utils/'\nimport memoizeOne from 'memoize-one'\n\n// Types\nimport {OverlayState, Label} from 'src/types'\nimport {Sort} from '@influxdata/clockface'\nimport {SortTypes} from 'src/shared/utils/sort'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Selectors\nimport {getSortedResources} from 'src/shared/utils/sort'\n\ninterface Props {\n labels: Label[]\n emptyState: JSX.Element\n onUpdateLabel: (label: Label) => void\n onDeleteLabel: (labelID: string) => void\n sortKey: string\n sortDirection: Sort\n sortType: SortTypes\n}\n\ninterface State {\n labelID: string\n overlayState: OverlayState\n}\n\n@ErrorHandling\nexport default class LabelList extends PureComponent {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n public state: State = {\n labelID: null,\n overlayState: OverlayState.Closed,\n }\n\n public render() {\n return (\n <>\n \n \n {this.rows}\n \n \n \n \n \n \n )\n }\n\n private get rows(): JSX.Element[] {\n const {labels, sortKey, sortDirection, sortType, onDeleteLabel} = this.props\n const sortedLabels = this.memGetSortedResources(\n labels,\n sortKey,\n sortDirection,\n sortType\n )\n\n return sortedLabels.map((label, index) => (\n \n ))\n }\n\n private get label(): Label | null {\n if (this.state.labelID) {\n return this.props.labels.find(l => l.id === this.state.labelID)\n }\n }\n\n private handleCloseModal = () => {\n this.setState({overlayState: OverlayState.Closed})\n }\n\n private handleStartEdit = (labelID: string): void => {\n this.setState({labelID, overlayState: OverlayState.Open})\n }\n\n private get isOverlayVisible(): boolean {\n const {labelID, overlayState} = this.state\n return !!labelID && overlayState === OverlayState.Open\n }\n\n private handleUpdateLabel = (updatedLabel: Label) => {\n this.props.onUpdateLabel(updatedLabel)\n this.setState({overlayState: OverlayState.Closed})\n }\n\n private handleNameValidation = (name: string): string | null => {\n const {labels} = this.props\n\n const names = labels.map(label => label.name).filter(l => l !== name)\n\n return validateLabelUniqueness(names, name)\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Button, EmptyState} from '@influxdata/clockface'\nimport SearchWidget from 'src/shared/components/search_widget/SearchWidget'\nimport CreateLabelOverlay from 'src/labels/components/CreateLabelOverlay'\nimport TabbedPageHeader from 'src/shared/components/tabbed_page/TabbedPageHeader'\nimport LabelList from 'src/labels/components/LabelList'\nimport FilterList from 'src/shared/components/FilterList'\nimport ResourceSortDropdown from 'src/shared/components/resource_sort_dropdown/ResourceSortDropdown'\n\n// Actions\nimport {createLabel, updateLabel, deleteLabel} from 'src/labels/actions/thunks'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\n// Utils\nimport {validateLabelUniqueness} from 'src/labels/utils/'\n\n// Types\nimport {AppState, Label, ResourceType} from 'src/types'\nimport {\n IconFont,\n ComponentSize,\n ComponentColor,\n Sort,\n} from '@influxdata/clockface'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {LabelSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface State {\n searchTerm: string\n isOverlayVisible: boolean\n sortKey: LabelSortKey\n sortDirection: Sort\n sortType: SortTypes\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst FilterLabels = FilterList
    \n )\n}\n\nexport default LevelTableField\n","// Libraries\nimport React, {FC} from 'react'\nimport moment from 'moment'\n\n// Constants\nimport {DEFAULT_TIME_FORMAT} from 'src/shared/constants'\n\n// Types\nimport {StatusRow, NotificationRow} from 'src/types'\n\ninterface Props {\n row: StatusRow | NotificationRow\n}\n\nconst TimeTableField: FC = ({row: {time}}) => {\n return (\n
    \n {moment.utc(time).format(DEFAULT_TIME_FORMAT)}\n
    \n )\n}\n\nexport default TimeTableField\n","import {\n useEffect,\n useLayoutEffect,\n useRef,\n EffectCallback,\n DependencyList,\n} from 'react'\n\n/*\n Behaves like `useEffect`, but won't fire after the initial render of a\n component.\n*/\nexport const useMountedEffect = (\n effect: EffectCallback,\n inputs?: DependencyList\n) => {\n const isFirstRender = useRef(true)\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false\n\n return\n }\n\n return effect()\n }, inputs) // eslint-disable-line react-hooks/exhaustive-deps\n}\n\nexport const useMountedLayoutEffect = (\n effect: EffectCallback,\n inputs?: DependencyList\n) => {\n const isFirstRender = useRef(true)\n\n useLayoutEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false\n\n return\n }\n\n return effect()\n }, inputs) // eslint-disable-line react-hooks/exhaustive-deps\n}\n","import {\n SearchExpr,\n SearchBooleanOperator,\n SearchTagExpr,\n SearchTagOperator,\n SearchBooleanExpr,\n SearchStringLiteral,\n SearchRegexLiteral,\n} from 'src/eventViewer/types'\n\n/*\n Parse search input into an AST.\n\n For example, given this search input:\n\n \"foo\" == \"bar\" and \"baz\" != \"foo\"\n\n We would obtain the following AST:\n\n {\n type: 'BooleanExpression',\n operator: 'and',\n left: {\n type: 'BooleanExpression',\n operator: '==',\n left: {type: 'StringLiteral', value: 'foo'},\n right: {type: 'StringLiteral', value: 'bar'},\n },\n right: {\n type: 'BooleanExpression',\n operator: '!=',\n left: {type: 'StringLiteral', value: 'baz'},\n right: {type: 'StringLiteral', value: 'foo'},\n },\n }\n\n\n Empty input will return `null`. If the input cannot be parsed, an exception\n will be thrown.\n\n Currently the search grammar is (roughly) a subset of the Flux grammar,\n though I expect that to change in the future.\n*/\nexport const parseSearchInput = (input: string): SearchExpr | null => {\n if (input.trim() === '') {\n return null\n }\n\n return new Parser(input).parse()\n}\n\n/*\n Format the AST for a search term into a Flux boolean expression that can be\n used as a predicate in a `filter` call.\n\n For example, the AST:\n\n {\n type: 'BooleanExpression',\n operator: '==',\n left: {type: 'StringLiteral', value: 'foo'},\n right: {type: 'StringLiteral', value: 'bar'},\n }\n\n Would be printed as the Flux expression:\n\n r[\"foo\"] == \"bar\"\n\n Which is intended to be used in a Flux filter call like so:\n\n // ...\n |> filter(fn: (r) => r[\"foo\"] == \"bar\")\n\n*/\nexport const searchExprToFlux = (searchExpr: SearchExpr | null): string => {\n if (searchExpr === null) {\n return 'true'\n }\n\n switch (searchExpr.type) {\n case 'BooleanExpression': {\n const left = searchExprToFlux(searchExpr.left)\n const right = searchExprToFlux(searchExpr.right)\n\n return `(${left}) ${searchExpr.operator} (${right})`\n }\n\n case 'TagExpression': {\n const left = searchExpr.left.value\n const right = searchExpr.right.value\n const delim = searchExpr.right.type === 'RegexLiteral' ? '/' : '\"'\n\n return `r[\"${left}\"] ${searchExpr.operator} ${delim}${right}${delim}`\n }\n\n default: {\n const badExpr = JSON.stringify(searchExpr)\n\n throw new Error(`cannot convert search expression to Flux: ${badExpr} `)\n }\n }\n}\n\nexport const isSearchInputValid = (input: string): boolean => {\n try {\n parseSearchInput(input)\n } catch {\n return false\n }\n\n return true\n}\n\ntype Token =\n | SearchStringLiteral\n | SearchRegexLiteral\n | {type: '('}\n | {type: ')'}\n | {type: 'and'}\n | {type: 'or'}\n | {type: '=='}\n | {type: '!='}\n | {type: '=~'}\n | {type: '!~'}\n\nclass Lexer {\n private input: string\n private i: number = 0\n\n constructor(input) {\n this.input = input\n }\n\n public lex(): Token[] {\n const tokens: Token[] = []\n\n while (this.current()) {\n switch (this.current()) {\n case ' ':\n case '\\r':\n case '\\n':\n this.advance()\n break\n case '(':\n tokens.push({type: '('})\n this.advance()\n break\n case ')':\n tokens.push({type: ')'})\n this.advance()\n break\n case 'a':\n this.advance()\n this.expect('n')\n this.advance()\n this.expect('d')\n tokens.push({type: 'and'})\n this.advance()\n break\n case 'o':\n this.advance()\n this.expect('r')\n tokens.push({type: 'or'})\n this.advance()\n break\n case '=':\n case '!':\n const head = this.current()\n this.advance()\n this.expect('=', '~')\n tokens.push({type: `${head}${this.current()}`} as Token)\n this.advance()\n break\n case '\"':\n this.advance()\n tokens.push({type: 'StringLiteral', value: this.readToDelimiter('\"')})\n this.advance()\n break\n case '/':\n this.advance()\n tokens.push({type: 'RegexLiteral', value: this.readToDelimiter('/')})\n this.advance()\n break\n default:\n throw new Error(`unexpected character \"${this.current()}\"`)\n }\n }\n\n return tokens\n }\n\n private readToDelimiter(delimiter: string): string {\n let value = ''\n\n while (this.current() !== delimiter) {\n if (!this.current()) {\n throw new Error('unexpected end of input')\n }\n\n value += this.current()\n this.advance()\n }\n\n return value\n }\n\n private current() {\n return this.input[this.i]\n }\n\n private advance() {\n this.i += 1\n\n return this.input[this.i]\n }\n\n private expect(...expected: string[]) {\n const actual = this.input[this.i]\n\n if (!expected.includes(actual)) {\n throw new Error(\n `expected one of \"${JSON.stringify(expected)}\" but got \"${actual}\"`\n )\n }\n\n return actual\n }\n}\n\nclass Parser {\n private input: string\n private i: number = 0\n private tokens: Token[]\n\n private static PRECEDENCES = {\n ')': 0,\n and: 1,\n or: 1,\n '==': 2,\n '!=': 2,\n '=~': 2,\n '!~': 2,\n '(': 3,\n }\n\n constructor(input) {\n this.input = input\n }\n\n public parse(): SearchExpr {\n this.tokens = new Lexer(this.input).lex()\n\n return this.parseExpr()\n }\n\n private parseExpr(precedence = 0): SearchExpr {\n let left\n\n switch (this.current().type) {\n case 'StringLiteral':\n left = this.parseStringLiteral()\n break\n case 'RegexLiteral':\n left = this.parseRegexLiteral()\n break\n\n case '(':\n left = this.parseGroupedExpr()\n break\n\n default:\n throw new Error(`unexpected token ${this.current().type}`)\n }\n\n while (!!this.next() && precedence < this.nextPrecedence()) {\n this.advance()\n\n switch (left.type) {\n case 'StringLiteral':\n left = this.parseTagExpr(left)\n break\n\n case 'BooleanExpression':\n case 'TagExpression':\n left = this.parseBooleanExpr(left)\n break\n\n default:\n throw new Error(`unexpected node ${left.type}`)\n }\n }\n\n return left\n }\n\n private parseBooleanExpr(left): SearchBooleanExpr {\n this.expect('and', 'or')\n const operator = this.current().type as SearchBooleanOperator\n const precedence = this.currentPrecedence()\n\n this.advance()\n const right = this.parseExpr(precedence)\n\n return {type: 'BooleanExpression', operator, left, right}\n }\n\n private parseTagExpr(left): SearchTagExpr {\n this.expect('==', '!=', '=~', '!~')\n const operator = this.current().type as SearchTagOperator\n\n this.advance()\n const right = operator.endsWith('~')\n ? this.parseRegexLiteral()\n : this.parseStringLiteral()\n\n return {type: 'TagExpression', operator, left, right}\n }\n\n private parseStringLiteral(): SearchStringLiteral {\n this.expect('StringLiteral')\n\n return this.current() as SearchStringLiteral\n }\n\n private parseRegexLiteral(): SearchRegexLiteral {\n this.expect('RegexLiteral')\n\n return this.current() as SearchRegexLiteral\n }\n\n private parseGroupedExpr(): SearchExpr {\n this.advance()\n const expr = this.parseExpr(0)\n this.advance()\n this.expect(')')\n return expr\n }\n\n private advance(): void {\n this.i += 1\n }\n\n private current(): Token {\n return this.tokens[this.i]\n }\n\n private next(): Token {\n return this.tokens[this.i + 1]\n }\n\n private currentPrecedence(): number {\n return Parser.PRECEDENCES[this.tokens[this.i].type]\n }\n\n private nextPrecedence(): number {\n return Parser.PRECEDENCES[this.tokens[this.i + 1].type]\n }\n\n private expect(...expectedTypes: Token['type'][]) {\n const expectedMsg = `expected one of ${JSON.stringify(expectedTypes)} `\n\n if (!this.current()) {\n throw new Error(`${expectedMsg} but found nothing`)\n }\n\n const actual = this.current().type\n\n if (!expectedTypes.includes(actual)) {\n throw new Error(`${expectedMsg} but got ${actual}`)\n }\n }\n}\n","// Utils\nimport {parseSearchInput} from 'src/eventViewer/utils/search'\n\n// Types\nimport {Dispatch as ReactDispatch} from 'react'\nimport {RemoteDataState} from 'src/types'\nimport {Row, LoadRows, SearchExpr} from 'src/eventViewer/types'\n\nexport interface State {\n // All rows currently in the table\n rows: Row[]\n\n // The offset to use next time we load data\n offset: number\n\n // The number of rows to load next time we load data\n limit: number\n\n // The definition of \"now\" when running queries that are relative to \"now\"\n now: number | null\n\n // The search text a user has typed into the search bar\n searchInput: string\n\n // A parsed representation of the whichever search input is currently being\n // used to filter results (not necessarily derived from the current text\n // input, which may not be valid / parsable)\n searchExpr: SearchExpr | null\n\n // A timeout ID used to debounce performing the search on user input\n searchTimeoutID: any\n\n // Tracks the loading status of the next rows being loading\n nextRowsStatus: RemoteDataState\n\n // If the next rows failed to load, this field should contain a\n // human-friendly error message indicating why the rows failed to load\n nextRowsErrorMessage: string | null\n\n // A function that can be used to cancel any rows currently being loaded\n nextRowsCanceller: null | (() => void)\n\n // If a user has loaded all the rows that exist\n hasReachedEnd: boolean\n\n // The current vertical scroll offset, i.e. how many pixels into the table we\n // have currently scrolled\n scrollTop: number\n\n // When set, the table will render once with this exact vertical scroll\n // offset, then dispatch an action to set this property to null\n nextScrollTop: number | null\n}\n\nexport type Action =\n | {type: 'NEXT_ROWS_LOADED'; rows: Row[]}\n | {type: 'NEXT_ROWS_FAILED_TO_LOAD'; errorMessage: string}\n | {type: 'NEXT_ROWS_LOADING'; cancel: () => void; now?: number}\n | {type: 'SEARCH_TYPED'; searchInput: string}\n | {type: 'SEARCH_SCHEDULED'; searchTimeoutID: any}\n | {type: 'SEARCH_STARTED'; cancel: () => void; expr: SearchExpr; now: number}\n | {type: 'SEARCH_COMPLETED'; rows: Row[]; limit: number}\n | {type: 'SEARCH_FAILED'; errorMessage: string}\n | {type: 'SEARCH_CLEARED'; now: number; cancel: () => void}\n | {type: 'SCROLLED'; scrollTop: number}\n | {type: 'CONSUMED_NEXT_SCROLL_INDEX'}\n | {type: 'CLICKED_BACK_TO_TOP'}\n | {type: 'REFRESHED'; cancel: () => void; now: number}\n\nexport type Dispatch = ReactDispatch\n\nexport const INITIAL_STATE: State = {\n rows: [],\n offset: 0,\n limit: 100,\n now: null,\n nextRowsStatus: RemoteDataState.NotStarted,\n nextRowsErrorMessage: null,\n nextRowsCanceller: null,\n hasReachedEnd: false,\n searchInput: '',\n searchExpr: null,\n searchTimeoutID: null,\n scrollTop: 0,\n nextScrollTop: null,\n}\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case 'NEXT_ROWS_LOADING': {\n return {\n ...state,\n nextRowsStatus: RemoteDataState.Loading,\n nextRowsCanceller: action.cancel,\n now: action.now ? action.now : state.now,\n }\n }\n\n case 'NEXT_ROWS_FAILED_TO_LOAD': {\n return {\n ...state,\n nextRowsStatus: RemoteDataState.Error,\n nextRowsErrorMessage: action.errorMessage,\n }\n }\n\n case 'NEXT_ROWS_LOADED': {\n const rows = [...state.rows, ...action.rows]\n\n return {\n ...state,\n rows,\n nextRowsStatus: RemoteDataState.Done,\n offset: rows.length,\n hasReachedEnd: action.rows.length === 0,\n }\n }\n\n case 'SEARCH_TYPED': {\n return {...state, searchInput: action.searchInput}\n }\n\n case 'SEARCH_SCHEDULED': {\n return {...state, searchTimeoutID: action.searchTimeoutID}\n }\n\n case 'SEARCH_STARTED': {\n return {\n ...state,\n rows: [],\n offset: 0,\n now: action.now,\n searchExpr: action.expr,\n nextRowsCanceller: action.cancel,\n nextRowsStatus: RemoteDataState.Loading,\n hasReachedEnd: false,\n }\n }\n\n case 'SEARCH_COMPLETED': {\n return {\n ...state,\n rows: action.rows,\n nextRowsStatus: RemoteDataState.Done,\n offset: action.rows.length,\n hasReachedEnd: action.rows.length < action.limit,\n }\n }\n\n case 'SEARCH_FAILED': {\n return {\n ...state,\n nextRowsStatus: RemoteDataState.Error,\n nextRowsErrorMessage: action.errorMessage,\n }\n }\n\n case 'SEARCH_CLEARED': {\n return {\n ...state,\n rows: [],\n offset: 0,\n now: action.now,\n nextRowsStatus: RemoteDataState.Loading,\n nextScrollTop: 0,\n hasReachedEnd: false,\n nextRowsCanceller: action.cancel,\n searchExpr: null,\n }\n }\n\n case 'SCROLLED': {\n return {...state, scrollTop: action.scrollTop}\n }\n\n case 'CLICKED_BACK_TO_TOP': {\n return {...state, nextScrollTop: 0}\n }\n\n case 'CONSUMED_NEXT_SCROLL_INDEX': {\n return {...state, nextScrollTop: null}\n }\n\n case 'REFRESHED': {\n return {\n ...state,\n rows: [],\n offset: 0,\n now: action.now,\n nextRowsStatus: RemoteDataState.Loading,\n hasReachedEnd: false,\n nextRowsCanceller: action.cancel,\n nextScrollTop: 0,\n }\n }\n\n default: {\n const neverAction: never = action\n\n throw new Error(`unhandled action \"${(neverAction as any).type}\"`)\n }\n }\n}\n\nexport const loadNextRows = async (\n state: State,\n dispatch: Dispatch,\n loadRows: LoadRows,\n now?: number\n): Promise => {\n if (\n state.nextRowsStatus === RemoteDataState.Loading ||\n state.nextRowsStatus === RemoteDataState.Error ||\n state.hasReachedEnd\n ) {\n return\n }\n\n try {\n const {promise, cancel} = loadRows({\n offset: state.offset,\n limit: state.limit,\n until: now || state.now,\n filter: state.searchExpr,\n })\n\n dispatch({type: 'NEXT_ROWS_LOADING', cancel, now})\n\n const rows = await promise\n\n dispatch({type: 'NEXT_ROWS_LOADED', rows})\n } catch (error) {\n if (error.name === 'CancellationError') {\n return\n }\n\n dispatch({type: 'NEXT_ROWS_FAILED_TO_LOAD', errorMessage: error.message})\n }\n}\n\nexport const search = (\n state: State,\n dispatch: Dispatch,\n loadRows: LoadRows,\n searchInput: string,\n searchImmediately = false\n) => {\n clearTimeout(state.searchTimeoutID)\n dispatch({type: 'SEARCH_TYPED', searchInput})\n\n let searchExpr: SearchExpr | null = null\n let parsingFailed = false\n\n try {\n searchExpr = parseSearchInput(searchInput)\n } catch {\n parsingFailed = true\n }\n\n if (parsingFailed || (searchExpr === null && state.searchExpr === null)) {\n return\n } else if (searchExpr === null) {\n clearSearch(state, dispatch, loadRows)\n } else if (searchImmediately) {\n performSearch(state, dispatch, loadRows, searchExpr)\n } else {\n const searchTimeoutID = setTimeout(() => {\n performSearch(state, dispatch, loadRows, searchExpr)\n }, 500)\n\n dispatch({type: 'SEARCH_SCHEDULED', searchTimeoutID})\n }\n}\n\nconst performSearch = async (\n state: State,\n dispatch: Dispatch,\n loadRows: LoadRows,\n searchExpr: SearchExpr\n): Promise => {\n try {\n if (state.nextRowsCanceller) {\n // Cancel existing pending search, if there is one\n state.nextRowsCanceller()\n }\n\n const now = Date.now()\n const limit = state.limit\n\n const {promise, cancel} = loadRows({\n offset: 0,\n limit,\n until: now,\n filter: searchExpr,\n })\n\n dispatch({type: 'SEARCH_STARTED', cancel, now, expr: searchExpr})\n\n const rows = await promise\n\n dispatch({type: 'SEARCH_COMPLETED', rows, limit})\n } catch (error) {\n if (error.name === 'CancellationError') {\n return\n }\n\n dispatch({type: 'SEARCH_FAILED', errorMessage: error.message})\n }\n}\n\nconst clearSearch = async (\n state: State,\n dispatch: Dispatch,\n loadRows: LoadRows\n): Promise => {\n try {\n if (state.nextRowsCanceller) {\n // Cancel existing pending search, if there is one\n state.nextRowsCanceller()\n }\n\n const now = Date.now()\n\n const {promise, cancel} = loadRows({\n offset: 0,\n limit: state.limit,\n until: now,\n })\n\n dispatch({type: 'SEARCH_CLEARED', now, cancel})\n\n const rows = await promise\n\n dispatch({type: 'NEXT_ROWS_LOADED', rows})\n } catch (error) {\n if (error.name === 'CancellationError') {\n return\n }\n\n dispatch({type: 'NEXT_ROWS_FAILED_TO_LOAD', errorMessage: error.message})\n }\n}\n\nexport const refresh = async (\n state: State,\n dispatch: Dispatch,\n loadRows: LoadRows\n): Promise => {\n try {\n if (state.nextRowsCanceller) {\n // Cancel existing pending fetch, if one exists\n state.nextRowsCanceller()\n }\n\n const now = Date.now()\n\n const {promise, cancel} = loadRows({\n offset: 0,\n limit: state.limit,\n until: now,\n filter: state.searchExpr,\n })\n\n dispatch({type: 'REFRESHED', cancel, now})\n\n const rows = await promise\n\n dispatch({type: 'NEXT_ROWS_LOADED', rows})\n } catch (error) {\n if (error.name === 'CancellationError') {\n return\n }\n\n dispatch({type: 'NEXT_ROWS_FAILED_TO_LOAD', errorMessage: error.message})\n }\n}\n\n/*\n Given the current state, how many rows should be rendered in the table?\n*/\nexport const getRowCount = (state: State): number => {\n const isInitialLoad =\n state.rows.length === 0 &&\n state.offset === 0 &&\n state.nextRowsStatus === RemoteDataState.Loading\n\n if (isInitialLoad && state.nextRowsStatus !== RemoteDataState.Error) {\n return state.rows.length + 100\n }\n\n return state.rows.length + 1\n}\n","// Libraries\nimport {useEffect, useReducer, FC, ReactElement} from 'react'\n\n// Utils\nimport {useMountedLayoutEffect} from 'src/shared/utils/useMountedEffect'\nimport {\n reducer,\n INITIAL_STATE,\n loadNextRows,\n refresh,\n} from 'src/eventViewer/components/EventViewer.reducer'\n\n// Types\nimport {LoadRows, EventViewerChildProps} from 'src/eventViewer/types'\nimport {State} from 'src/eventViewer/components/EventViewer.reducer'\n\ninterface Props {\n loadRows: LoadRows\n children: (props: EventViewerChildProps) => ReactElement\n initialState?: Partial\n}\n\nconst EventViewer: FC = ({loadRows, children, initialState}) => {\n const [state, dispatch] = useReducer(reducer, {\n ...INITIAL_STATE,\n ...initialState,\n })\n\n useEffect(() => {\n loadNextRows(state, dispatch, loadRows, Date.now())\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n useMountedLayoutEffect(() => {\n refresh(state, dispatch, loadRows)\n }, [loadRows])\n\n return children({\n state,\n dispatch,\n loadRows,\n })\n}\n\nexport default EventViewer\n","// Libraries\nimport React, {FC} from 'react'\n\n// Types\nimport {Fields} from 'src/eventViewer/types'\n\ninterface Props {\n fields: Fields\n}\n\nconst Header: FC = ({fields}) => {\n return (\n
    \n {fields.map(({rowKey, columnWidth, columnName}) => {\n const style = {flexBasis: `${columnWidth}px`}\n\n return (\n
    \n {columnName}\n
    \n )\n })}\n
    \n )\n}\n\nexport default Header\n","import React, {FC, CSSProperties} from 'react'\n\nimport {Row, Fields} from 'src/eventViewer/types'\n\ninterface Props {\n row: Row\n style: CSSProperties\n fields: Fields\n}\n\nconst TableRow: FC = ({row, style, fields}) => {\n return (\n
    \n
    \n {fields.map(({component: Component, columnWidth, rowKey}) => {\n const style = {flexBasis: `${columnWidth}px`}\n\n let content\n\n if (row[rowKey] === undefined) {\n content = null\n } else if (Component) {\n content = \n } else {\n content = String(row[rowKey])\n }\n\n return (\n
    \n {content}\n
    \n )\n })}\n
    \n
    \n )\n}\n\nexport default TableRow\n","// Libraries\nimport React, {FC, CSSProperties} from 'react'\nimport {range} from 'lodash'\n\nconst PLACEHOLDER_MIN_WIDTH = 80\nconst PLACEHOLDER_MAX_WIDTH = 140\nconst PLACEHOLDER_HEIGHT = 10\nconst RANDOM_NUMBERS = range(30).map(_ => Math.random())\n\ninterface Props {\n index: number\n style: CSSProperties\n}\n\nconst LoadingRow: FC = ({index, style}) => {\n const randomNumber = RANDOM_NUMBERS[index % RANDOM_NUMBERS.length]\n\n const width = Math.floor(\n PLACEHOLDER_MIN_WIDTH +\n randomNumber * (PLACEHOLDER_MAX_WIDTH - PLACEHOLDER_MIN_WIDTH)\n )\n\n return (\n
    \n
    \n \n
    \n
    \n )\n}\n\nexport default LoadingRow\n","import React, {CSSProperties, FC} from 'react'\n\ninterface Props {\n style: CSSProperties\n}\n\nconst FooterRow: FC = ({style}) => {\n return (\n
    \n
    No more data found.
    \n
    \n )\n}\n\nexport default FooterRow\n","import React, {CSSProperties, FC} from 'react'\n\ninterface Props {\n style: CSSProperties\n index: number\n}\n\nconst ErrorRow: FC = ({style, index}) => {\n return (\n
    \n
    \n {index === 0 ? 'Failed to load :(' : 'Failed to load next rows :('}\n
    \n
    \n )\n}\n\nexport default ErrorRow\n","// Libraries\nimport React, {useLayoutEffect, FC, useEffect, useState} from 'react'\nimport {useDispatch} from 'react-redux'\nimport {AutoSizer, InfiniteLoader, List} from 'react-virtualized'\n\n// Components\nimport Header from 'src/eventViewer/components/Header'\nimport TableRow from 'src/eventViewer/components/TableRow'\nimport LoadingRow from 'src/eventViewer/components/LoadingRow'\nimport FooterRow from 'src/eventViewer/components/FooterRow'\nimport ErrorRow from 'src/eventViewer/components/ErrorRow'\n\n// Actions\nimport {notify} from 'src/shared/actions/notifications'\n\n// Utils\nimport {\n loadNextRows,\n getRowCount,\n} from 'src/eventViewer/components/EventViewer.reducer'\n\n// Types\nimport {EventViewerChildProps, Fields} from 'src/eventViewer/types'\nimport {RemoteDataState} from 'src/types'\n\n// Constants\nimport {checkStatusLoading} from 'src/shared/copy/notifications'\n\ntype OwnProps = {\n fields: Fields\n}\n\ntype Props = EventViewerChildProps & OwnProps\n\nconst rowLoadedFn = state => ({index}) => !!state.rows[index]\n\nconst EventTable: FC = ({state, dispatch, loadRows, fields}) => {\n const rowCount = getRowCount(state)\n\n const isRowLoaded = rowLoadedFn(state)\n\n const isRowLoadedBoolean = !!state.rows[0]\n\n const loadMoreRows = () => loadNextRows(state, dispatch, loadRows)\n\n const [isLongRunningQuery, setIsLongRunningQuery] = useState(false)\n\n const reduxDispatch = useDispatch()\n\n useEffect(() => {\n const timeoutID = setTimeout(() => {\n setIsLongRunningQuery(true)\n }, 5000)\n return () => clearTimeout(timeoutID)\n }, [setIsLongRunningQuery])\n\n useEffect(() => {\n if (isLongRunningQuery && !isRowLoadedBoolean) {\n reduxDispatch(notify(checkStatusLoading))\n }\n }, [isLongRunningQuery, isRowLoadedBoolean, reduxDispatch])\n\n const rowRenderer = ({key, index, style}) => {\n const isLastRow = index === state.rows.length\n\n if (isLastRow && state.nextRowsStatus === RemoteDataState.Error) {\n return \n }\n\n if (isLastRow && state.hasReachedEnd) {\n return \n }\n\n if (!state.rows[index]) {\n return \n }\n\n return (\n \n )\n }\n\n const scrollTop =\n state.nextScrollTop === null ? undefined : state.nextScrollTop\n\n useLayoutEffect(() => {\n dispatch({type: 'CONSUMED_NEXT_SCROLL_INDEX'})\n }, [scrollTop, dispatch])\n\n return (\n
    \n
    \n
    \n \n {({width, height}) => {\n if (!width || !height) {\n return null\n }\n\n return (\n \n {({onRowsRendered, registerChild}) => (\n \n dispatch({type: 'SCROLLED', scrollTop})\n }\n />\n )}\n \n )\n }}\n \n
    \n
    \n )\n}\n\nexport default EventTable\n","// Libraries\nimport React, {FC} from 'react'\nimport {Button, IconFont} from '@influxdata/clockface'\n\n// Utils\nimport {refresh} from 'src/eventViewer/components/EventViewer.reducer'\n\n// Types\nimport {EventViewerChildProps} from 'src/eventViewer/types'\n\nconst BackToTopButton: FC = ({\n state,\n dispatch,\n loadRows,\n}) => {\n if (state.scrollTop === 0) {\n return (\n refresh(state, dispatch, loadRows)}\n />\n )\n }\n\n return (\n dispatch({type: 'CLICKED_BACK_TO_TOP'})}\n />\n )\n}\n\nexport default BackToTopButton\n","// Libraries\nimport React, {useState, FC} from 'react'\nimport {\n Input,\n Icon,\n IconFont,\n ComponentStatus,\n DropdownMenu,\n DropdownDivider,\n DropdownItem,\n ClickOutside,\n} from '@influxdata/clockface'\n\n// Actions\nimport {search} from 'src/eventViewer/components/EventViewer.reducer'\n\n// Utils\nimport {isSearchInputValid} from 'src/eventViewer/utils/search'\n\n// Types\nimport {EventViewerChildProps} from 'src/eventViewer/types'\n\nconst SUGGESTION_CLASS = 'status-search-bar--suggestion'\n\ntype Props = EventViewerChildProps & {\n placeholder?: string\n exampleSearches: string[]\n}\n\nconst SearchBar: FC = ({\n placeholder,\n exampleSearches,\n state,\n dispatch,\n loadRows,\n}) => {\n const [isFocused, setIsFocused] = useState(false)\n\n const inputStatus = isSearchInputValid(state.searchInput)\n ? ComponentStatus.Default\n : ComponentStatus.Error\n\n const handleClickSuggestion = (suggestion: string) => {\n search(state, dispatch, loadRows, suggestion, true)\n setIsFocused(false)\n }\n\n const handleClickOutside = e => {\n const didClickSuggestion =\n e.target.classList.contains(SUGGESTION_CLASS) ||\n e.target.parentNode.classList.contains(SUGGESTION_CLASS)\n\n if (!didClickSuggestion) {\n setIsFocused(false)\n }\n }\n\n return (\n
    \n \n search(state, dispatch, loadRows, e.target.value)}\n onFocus={() => setIsFocused(true)}\n testID=\"check-status-input\"\n />\n \n {state.searchInput.trim() !== '' && (\n search(state, dispatch, loadRows, '', true)}\n >\n \n
    \n )}\n {isFocused && (\n \n \n {exampleSearches.map(s => (\n \n {s}\n \n ))}\n \n )}\n
    \n )\n}\n\nexport default SearchBar\n","// Libraries\nimport React, {FC} from 'react'\nimport {SelectGroup} from '@influxdata/clockface'\n\n// Components\nimport BackToTopButton from 'src/eventViewer/components/BackToTopButton'\nimport SearchBar from 'src/alerting/components/SearchBar'\nimport {Page} from '@influxdata/clockface'\n\n// Types\nimport {AlertHistoryType} from 'src/types'\nimport {EventViewerChildProps} from 'src/eventViewer/types'\n\n// Constants\nimport {\n EXAMPLE_STATUS_SEARCHES,\n EXAMPLE_NOTIFICATION_SEARCHES,\n} from 'src/alerting/constants/history'\n\ninterface Props {\n historyType: AlertHistoryType\n onSetHistoryType: (t: AlertHistoryType) => void\n eventViewerProps: EventViewerChildProps\n}\n\nconst AlertHistoryControls: FC = ({\n eventViewerProps,\n historyType,\n onSetHistoryType,\n}) => {\n return (\n <>\n \n \n onSetHistoryType('statuses')}\n titleText=\"View Status History\"\n active={historyType === 'statuses'}\n >\n Statuses\n \n onSetHistoryType('notifications')}\n titleText=\"View Notification History\"\n active={historyType === 'notifications'}\n >\n Notifications\n \n \n \n \n \n \n \n \n )\n}\n\nexport default AlertHistoryControls\n","// Libraries\nimport {useEffect, FC} from 'react'\nimport {RouteComponentProps, withRouter} from 'react-router-dom'\n\n// Utils\nimport {updateQueryParams} from 'src/shared/utils/queryParams'\n\n// Constants\nimport {\n HISTORY_TYPE_QUERY_PARAM,\n SEARCH_QUERY_PARAM,\n} from 'src/alerting/constants/history'\n\n// Types\nimport {AlertHistoryType} from 'src/types'\n\ninterface Props {\n searchInput: string\n historyType: AlertHistoryType\n}\n\nconst AlertHistoryQueryParams: FC = ({\n searchInput,\n historyType,\n history,\n}) => {\n useEffect(() => {\n updateQueryParams(\n {\n [SEARCH_QUERY_PARAM]: searchInput || null,\n [HISTORY_TYPE_QUERY_PARAM]: historyType || null,\n },\n history\n )\n }, [searchInput, historyType, history])\n\n return null\n}\n\nexport default withRouter(AlertHistoryQueryParams)\n","// Libraries\nimport {cloneDeep} from 'lodash'\nimport {fromFlux} from '@influxdata/giraffe'\n\n// Utils\nimport {runQuery, RunQueryResult} from 'src/shared/apis/query'\nimport {parseSearchInput, searchExprToFlux} from 'src/eventViewer/utils/search'\nimport {findNodes} from 'src/shared/utils/ast'\nimport {readQueryParams} from 'src/shared/utils/queryParams'\nimport {event} from 'src/cloud/utils/reporting'\n\n// Constants\nimport {\n HISTORY_TYPE_QUERY_PARAM,\n SEARCH_QUERY_PARAM,\n} from 'src/alerting/constants/history'\nimport {MONITORING_BUCKET} from 'src/alerting/constants'\n\n// Types\nimport {State as EventViewerState} from 'src/eventViewer/components/EventViewer.reducer'\n\nimport {\n CancelBox,\n StatusRow,\n NotificationRow,\n AlertHistoryType,\n} from 'src/types'\n\nimport {\n LoadRowsOptions,\n Row,\n SearchExpr,\n SearchTagExpr,\n} from 'src/eventViewer/types'\n\nexport const loadStatuses = (\n orgID: string,\n {offset, limit, since, until, filter}: LoadRowsOptions\n): CancelBox => {\n const start = since ? Math.round(since / 1000) : '-1d'\n const fluxFilter = filter ? searchExprToFlux(renameTagKeys(filter)) : null\n\n const query = `\nfrom(bucket: \"${MONITORING_BUCKET}\")\n |> range(start: ${start}, stop: ${Math.round(until / 1000)})\n |> filter(fn: (r) => r._measurement == \"statuses\" and r._field == \"_message\")\n |> filter(fn: (r) => exists r._check_id and exists r._value and exists r._check_name and exists r._level)\n |> keep(columns: [\"_time\", \"_value\", \"_check_id\", \"_check_name\", \"_level\"])\n |> rename(columns: {\"_time\": \"time\",\n \"_value\": \"message\",\n \"_check_id\": \"checkID\",\n \"_check_name\": \"checkName\",\n \"_level\": \"level\"})\n |> group()${fluxFilter ? `\\n |> filter(fn: (r) => ${fluxFilter})` : ''}\n |> sort(columns: [\"time\"], desc: true)\n |> limit(n: ${limit}, offset: ${offset})\n`\n\n event('runQuery', {context: 'alertHistory'})\n return processResponse(runQuery(orgID, query)) as CancelBox\n}\n\nexport const loadNotifications = (\n orgID: string,\n {offset, limit, since, until, filter}: LoadRowsOptions\n): CancelBox => {\n const start = since ? Math.round(since / 1000) : '-60d'\n const fluxFilter = filter ? searchExprToFlux(renameTagKeys(filter)) : null\n\n const query = `\nfrom(bucket: \"${MONITORING_BUCKET}\")\n |> range(start: ${start}, stop: ${Math.round(until / 1000)})\n |> filter(fn: (r) => r._measurement == \"notifications\")\n |> filter(fn: (r) => r._field !~ /^_/)\n |> filter(fn: (r) => exists r._check_id and exists r._check_name and exists r._notification_rule_id and exists r._notification_rule_name and exists r._notification_endpoint_id and exists r._notification_endpoint_name and exists r._level and exists r._sent)\n |> keep(columns: [\"_time\",\n \"_check_id\",\n \"_check_name\",\n \"_notification_rule_id\",\n \"_notification_rule_name\",\n \"_notification_endpoint_id\",\n \"_notification_endpoint_name\",\n \"_level\",\n \"_sent\"])\n |> rename(columns: {\"_time\": \"time\",\n \"_check_id\": \"checkID\",\n \"_check_name\": \"checkName\",\n \"_notification_rule_id\": \"notificationRuleID\",\n \"_notification_rule_name\": \"notificationRuleName\",\n \"_notification_endpoint_id\": \"notificationEndpointID\",\n \"_notification_endpoint_name\": \"notificationEndpointName\",\n \"_level\": \"level\",\n \"_sent\": \"sent\"})\n |> group()${fluxFilter ? `\\n |> filter(fn: (r) => ${fluxFilter})` : ''}\n |> sort(columns: [\"time\"], desc: true)\n |> limit(n: ${limit}, offset: ${offset})\n`\n event('runQuery', {context: 'alertHistory'})\n return processResponse(runQuery(orgID, query)) as CancelBox\n}\n\n/*\n Rename the tag keys used in a search term to match the precise tag keys we\n query using Flux.\n\n For example if a user writes:\n\n \"notification rule\" == \"my rule\"\n\n Then we will rewrite \"notification rule\" as \"notificationRule\". The following\n tag keys would also be rewritten as \"notificationRule\":\n\n - \"notificationRule\"\n - \"rule\"\n - \"notification_rule\"\n - \"_notification_rule\"\n\n The rewrite rules for the \"notificationEndpoint\" work similarly.\n*/\nconst renameTagKeys = (searchExpr: SearchExpr) => {\n const rewrittenExpr = cloneDeep(searchExpr)\n\n const tagExprNodes: SearchTagExpr[] = findNodes(\n rewrittenExpr,\n n => n && n.type === 'TagExpression'\n )\n\n const tagKeyNodes = tagExprNodes.map(n => n.left)\n\n for (const node of tagKeyNodes) {\n const normal = node.value\n .trim()\n .toLowerCase()\n .replace(' ', '')\n .replace('_', '')\n\n if (normal === 'notificationrule' || normal === 'rule') {\n node.value = 'notificationRule'\n } else if (normal === 'notificationEndpoint' || normal === 'endpoint') {\n node.value = 'notificationEndpoint'\n }\n }\n\n return rewrittenExpr\n}\n\n/*\n Convert a Flux CSV response into a list of objects.\n*/\nexport const processResponse = ({\n promise: queryPromise,\n cancel,\n}: CancelBox): CancelBox => {\n const promise = queryPromise.then(resp => {\n if (resp.type !== 'SUCCESS') {\n return Promise.reject(new Error(resp.message))\n }\n\n const {table} = fromFlux(resp.csv)\n const rows: Row[] = []\n\n for (let i = 0; i < table.length; i++) {\n const row = {}\n\n for (const key of table.columnKeys) {\n row[key] = table.getColumn(key)[i]\n }\n\n rows.push(row)\n }\n\n return rows\n })\n\n return {\n promise,\n cancel,\n }\n}\n\nexport const getInitialHistoryType = (): AlertHistoryType => {\n return readQueryParams()[HISTORY_TYPE_QUERY_PARAM] || 'statuses'\n}\n\nexport const getInitialState = (): Partial => {\n const searchInput = readQueryParams()[SEARCH_QUERY_PARAM]\n\n if (!searchInput) {\n return {}\n }\n\n try {\n const searchExpr = parseSearchInput(searchInput)\n\n return {searchInput, searchExpr}\n } catch {\n return {searchInput}\n }\n}\n","// Libraries\nimport React, {useMemo, useState, FC, createContext} from 'react'\nimport {Page} from '@influxdata/clockface'\nimport {connect} from 'react-redux'\n\n// Components\nimport EventViewer from 'src/eventViewer/components/EventViewer'\nimport EventTable from 'src/eventViewer/components/EventTable'\nimport AlertHistoryControls from 'src/alerting/components/AlertHistoryControls'\nimport AlertHistoryQueryParams from 'src/alerting/components/AlertHistoryQueryParams'\nimport GetResources from 'src/resources/components/GetResources'\nimport RateLimitAlert from 'src/cloud/components/RateLimitAlert'\n\n// Constants\nimport {\n STATUS_FIELDS,\n NOTIFICATION_FIELDS,\n} from 'src/alerting/constants/history'\n\n// Utils\nimport {\n loadStatuses,\n loadNotifications,\n getInitialHistoryType,\n getInitialState,\n} from 'src/alerting/utils/history'\nimport {getCheckIDs} from 'src/checks/selectors'\nimport {getEndpointIDs} from 'src/notifications/endpoints/selectors'\nimport {getRuleIDs} from 'src/notifications/rules/selectors'\n\n// Types\nimport {ResourceIDs} from 'src/checks/reducers'\nimport {ResourceType, AlertHistoryType, AppState} from 'src/types'\nimport {RouteComponentProps} from 'react-router-dom'\n\nexport const ResourceIDsContext = createContext(null)\n\ninterface StateProps {\n resourceIDs: ResourceIDs\n}\n\ntype Props = RouteComponentProps<{orgID: string}> & StateProps\n\nconst AlertHistoryIndex: FC = ({\n match: {\n params: {orgID},\n },\n resourceIDs,\n}) => {\n const [historyType, setHistoryType] = useState(\n getInitialHistoryType()\n )\n\n const loadRows = useMemo(() => {\n return historyType === 'statuses'\n ? options => loadStatuses(orgID, options)\n : options => loadNotifications(orgID, options)\n }, [orgID, historyType])\n\n const fields =\n historyType === 'statuses' ? STATUS_FIELDS : NOTIFICATION_FIELDS\n\n return (\n \n \n \n {props => (\n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n )}\n
    \n
    \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const checkIDs = getCheckIDs(state)\n const endpointIDs = getEndpointIDs(state)\n const ruleIDs = getRuleIDs(state)\n\n const resourceIDs = {\n checkIDs,\n endpointIDs,\n ruleIDs,\n }\n\n return {resourceIDs}\n}\n\nexport default connect(mstp)(AlertHistoryIndex)\n","/*\n Given a route relative to an org, returns an absolute route including the\n current org.\n\n For example,\n\n formatOrgRoute('/alerting/history')\n\n would return\n\n '/orgs/someID/alerting/history'\n\n*/\nexport const formatOrgRoute = (route: string): string => {\n return (\n location.pathname\n .split('/')\n .slice(0, 3)\n .join('/') + route\n )\n}\n","// Libraries\nimport React, {FC, useContext} from 'react'\nimport {Link} from 'react-router-dom'\n\n// Context\nimport {ResourceIDsContext} from 'src/alerting/components/AlertHistoryIndex'\n\n// Utils\nimport {formatOrgRoute} from 'src/shared/utils/formatOrgRoute'\n\n// Types\nimport {StatusRow, NotificationRow} from 'src/types'\n\ninterface Props {\n row: StatusRow | NotificationRow\n}\n\nconst CheckTableField: FC = ({row: {checkName, checkID}}) => {\n const {checkIDs} = useContext(ResourceIDsContext)\n\n if (!checkIDs[checkID]) {\n return (\n \n {checkName}\n \n )\n }\n\n const href = formatOrgRoute(`/alerting/checks/${checkID}/edit`)\n\n return {checkName}\n}\n\nexport default CheckTableField\n","// Components\nimport LevelTableField from 'src/alerting/components/LevelTableField'\nimport TimeTableField from 'src/alerting/components/TimeTableField'\nimport CheckTableField from 'src/checks/components/CheckTableField'\nimport NotificationRuleTableField from 'src/alerting/components/NotificationRuleTableField'\nimport NotificationEndpointTableField from 'src/notifications/endpoints/components/NotificationEndpointTableField'\nimport SentTableField from 'src/alerting/components/SentTableField'\n\n// Types\nimport {Fields} from 'src/eventViewer/types'\n\nexport const STATUS_FIELDS: Fields = [\n {\n rowKey: 'time',\n columnName: 'Time',\n columnWidth: 160,\n component: TimeTableField,\n },\n {\n rowKey: 'level',\n columnName: 'Level',\n columnWidth: 50,\n component: LevelTableField,\n },\n {\n rowKey: 'checkID',\n columnName: 'Check',\n columnWidth: 150,\n component: CheckTableField,\n },\n {\n rowKey: 'message',\n columnName: 'Message',\n columnWidth: 300,\n },\n]\n\nexport const NOTIFICATION_FIELDS: Fields = [\n {\n rowKey: 'time',\n columnName: 'Time',\n columnWidth: 160,\n component: TimeTableField,\n },\n {\n rowKey: 'level',\n columnName: 'Level',\n columnWidth: 50,\n component: LevelTableField,\n },\n {\n rowKey: 'checkID',\n columnName: 'Check',\n columnWidth: 150,\n component: CheckTableField,\n },\n {\n rowKey: 'notificationRuleID',\n columnName: 'Notification Rule',\n columnWidth: 200,\n component: NotificationRuleTableField,\n },\n {\n rowKey: 'notificationEndpointID',\n columnName: 'Notification Endpoint',\n columnWidth: 200,\n component: NotificationEndpointTableField,\n },\n {\n rowKey: 'sent',\n columnName: 'Sent',\n columnWidth: 50,\n component: SentTableField,\n },\n]\n\nexport const EXAMPLE_STATUS_SEARCHES = [\n '\"check\" == \"my check\"',\n '\"level\" != \"ok\"',\n '\"level\" == \"warn\"',\n '\"level\" == \"crit\"',\n '\"message\" =~ /exceeded capacity/',\n '\"check\" == \"my check\" and (\"level\" == \"crit\" or \"level\" == \"warn\")',\n]\n\nexport const EXAMPLE_NOTIFICATION_SEARCHES = [\n '\"check\" == \"my check\"',\n '\"level\" == \"crit\"',\n '\"level\" != \"ok\"',\n '\"notification rule\" == \"my rule\"',\n]\n\nexport const HISTORY_TYPE_QUERY_PARAM = 'type'\nexport const SEARCH_QUERY_PARAM = 'filter'\n","// Libraries\nimport React, {FC, useContext} from 'react'\nimport {Link} from 'react-router-dom'\n\n// Context\nimport {ResourceIDsContext} from 'src/alerting/components/AlertHistoryIndex'\n\n// Utils\nimport {formatOrgRoute} from 'src/shared/utils/formatOrgRoute'\n\n// Types\nimport {NotificationRow} from 'src/types'\n\ninterface Props {\n row: NotificationRow\n}\n\nconst NotificationRuleTableField: FC = ({\n row: {notificationRuleName, notificationRuleID},\n}) => {\n const {ruleIDs} = useContext(ResourceIDsContext)\n if (!ruleIDs[notificationRuleID]) {\n return (\n \n {notificationRuleName}\n \n )\n }\n\n const href = formatOrgRoute(`/alerting/rules/${notificationRuleID}/edit`)\n\n return {notificationRuleName}\n}\n\nexport default NotificationRuleTableField\n","// Libraries\nimport React, {FC, useContext} from 'react'\nimport {Link} from 'react-router-dom'\n\n// Context\nimport {ResourceIDsContext} from 'src/alerting/components/AlertHistoryIndex'\n\n// Utils\nimport {formatOrgRoute} from 'src/shared/utils/formatOrgRoute'\n\n// Types\nimport {NotificationRow} from 'src/types'\n\ninterface Props {\n row: NotificationRow\n}\n\nconst NotificationEndpointTableField: FC = ({\n row: {notificationEndpointName, notificationEndpointID},\n}) => {\n const {endpointIDs} = useContext(ResourceIDsContext)\n\n if (!endpointIDs[notificationEndpointID]) {\n return (\n \n {notificationEndpointName}\n \n )\n }\n\n const href = formatOrgRoute(\n `/alerting/endpoints/${notificationEndpointID}/edit`\n )\n\n return {notificationEndpointName}\n}\n\nexport default NotificationEndpointTableField\n","// Libraries\nimport React, {FC} from 'react'\nimport {Icon, IconFont} from '@influxdata/clockface'\n\n// Types\nimport {NotificationRow} from 'src/types'\n\ninterface Props {\n row: NotificationRow\n}\n\nconst SentTableField: FC = ({row: {sent}}) => {\n const modifier = sent === 'true' ? 'sent' : 'not-sent'\n\n return (\n
    \n {sent === 'true' ? (\n \n ) : (\n \n )}\n
    \n )\n}\n\nexport default SentTableField\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {\n SlideToggle,\n ComponentSize,\n ResourceCard,\n FlexBox,\n FlexDirection,\n AlignItems,\n JustifyContent,\n} from '@influxdata/clockface'\nimport CheckCardContext from 'src/checks/components/CheckCardContext'\nimport InlineLabels from 'src/shared/components/inlineLabels/InlineLabels'\nimport LastRunTaskStatus from 'src/shared/components/lastRunTaskStatus/LastRunTaskStatus'\n\n// Constants\nimport {DEFAULT_CHECK_NAME} from 'src/alerting/constants'\nimport {SEARCH_QUERY_PARAM} from 'src/alerting/constants/history'\n\n// Actions and Selectors\nimport {\n updateCheckDisplayProperties,\n deleteCheck,\n addCheckLabel,\n deleteCheckLabel,\n cloneCheck,\n} from 'src/checks/actions/thunks'\nimport {notify} from 'src/shared/actions/notifications'\nimport {updateCheckFailed} from 'src/shared/copy/notifications'\n\n// Types\nimport {Check, Label} from 'src/types'\n\n// Utilities\nimport {relativeTimestampFormatter} from 'src/shared/utils/relativeTimestampFormatter'\n\ninterface OwnProps {\n check: Check\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps & RouteComponentProps<{orgID: string}>\n\nconst CheckCard: FC = ({\n onRemoveCheckLabel,\n onAddCheckLabel,\n onCloneCheck,\n onNotify,\n check,\n onUpdateCheckDisplayProperties,\n deleteCheck,\n match: {\n params: {orgID},\n },\n history,\n}) => {\n const {id, activeStatus, name, description} = check\n\n const onUpdateName = (name: string) => {\n try {\n onUpdateCheckDisplayProperties(check.id, {name})\n } catch (error) {\n onNotify(updateCheckFailed(error.message))\n }\n }\n\n const onUpdateDescription = (description: string) => {\n try {\n onUpdateCheckDisplayProperties(check.id, {description})\n } catch (e) {\n onNotify(updateCheckFailed(e.message))\n }\n }\n\n const onDelete = () => {\n deleteCheck(check.id)\n }\n\n const onClone = () => {\n onCloneCheck(check)\n }\n\n const onToggle = () => {\n const status = activeStatus === 'active' ? 'inactive' : 'active'\n\n try {\n onUpdateCheckDisplayProperties(id, {status})\n } catch (error) {\n onNotify(updateCheckFailed(error.message))\n }\n }\n\n const onCheckClick = () => {\n history.push(`/orgs/${orgID}/alerting/checks/${id}/edit`)\n }\n\n const onView = () => {\n const queryParams = new URLSearchParams({\n [SEARCH_QUERY_PARAM]: `\"checkID\" == \"${id}\"`,\n })\n\n history.push(`/orgs/${orgID}/checks/${id}/?${queryParams}`)\n }\n\n const handleAddCheckLabel = (label: Label) => {\n onAddCheckLabel(id, label)\n }\n\n const handleRemoveCheckLabel = (label: Label) => {\n onRemoveCheckLabel(id, label.id)\n }\n\n return (\n \n }\n >\n \n \n \n \n \n \n \n \n <>Last completed at {check.latestCompleted}\n <>{relativeTimestampFormatter(check.updatedAt, 'Last updated ')}\n \n \n \n \n )\n}\n\nconst mdtp = {\n onUpdateCheckDisplayProperties: updateCheckDisplayProperties,\n deleteCheck: deleteCheck,\n onAddCheckLabel: addCheckLabel,\n onRemoveCheckLabel: deleteCheckLabel,\n onCloneCheck: cloneCheck,\n onNotify: notify,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(CheckCard))\n","//Libraries\nimport React, {FunctionComponent} from 'react'\n\n//Components\nimport CheckCard from 'src/checks/components/CheckCard'\nimport FilterList from 'src/shared/components/FilterList'\nimport {\n EmptyState,\n ResourceList,\n Panel,\n Gradients,\n Button,\n IconFont,\n ComponentColor,\n ButtonShape,\n} from '@influxdata/clockface'\n\n// Types\nimport {Check} from 'src/types'\nimport {ComponentSize} from '@influxdata/clockface'\n\nconst FilterChecks = FilterList()\n\ninterface Props {\n checks: Check[]\n searchTerm: string\n showFirstTimeWidget: boolean\n onCreateThreshold: () => void\n onCreateDeadman: () => void\n}\n\nconst CheckCards: FunctionComponent = ({\n checks,\n searchTerm,\n showFirstTimeWidget,\n onCreateThreshold,\n onCreateDeadman,\n}) => {\n const cards = cs => cs.map(c => )\n const body = filtered => (\n \n }\n >\n {cards(filtered)}\n \n )\n const filteredChecks = (\n \n {filtered => body(filtered)}\n \n )\n\n return (\n <>\n {filteredChecks}\n \n )\n}\n\ninterface EmptyProps {\n showFirstTimeWidget: boolean\n onCreateThreshold: () => void\n onCreateDeadman: () => void\n searchTerm: string\n}\n\nconst EmptyChecksList: FunctionComponent = ({\n showFirstTimeWidget,\n onCreateThreshold,\n onCreateDeadman,\n searchTerm,\n}) => {\n if (searchTerm) {\n return (\n \n \n No checks match your search\n \n \n )\n }\n\n if (showFirstTimeWidget) {\n return (\n \n \n

    Get started monitoring by creating a check

    \n
    When a value crosses a specific threshold:
    \n \n
    If a service stops sending metrics:
    \n \n
    \n
    \n )\n }\n\n return (\n \n \n Looks like you have not created a Check yet\n
    \n
    \n You will need one to be notified about\n
    any changes in system status\n
    \n
    \n )\n}\n\nexport default CheckCards\n","// Libraries\nimport React, {FC, ReactChild, useState} from 'react'\nimport {connect} from 'react-redux'\n\n// Types\nimport {AppState, ResourceType, ColumnTypes} from 'src/types'\nimport {LimitStatus, MonitoringLimits} from 'src/cloud/actions/limits'\n\n// Components\nimport {\n Panel,\n InfluxColors,\n DapperScrollbars,\n Input,\n IconFont,\n FlexBox,\n FlexDirection,\n ComponentSize,\n QuestionMarkTooltip,\n ComponentColor,\n} from '@influxdata/clockface'\nimport AssetLimitAlert from 'src/cloud/components/AssetLimitAlert'\nimport AssetLimitButton from 'src/cloud/components/AssetLimitButton'\n\n// Utils\nimport {\n extractChecksLimits,\n extractRulesLimits,\n extractEndpointsLimits,\n} from 'src/cloud/utils/limits'\n\n// Constants\nimport {CLOUD} from 'src/shared/constants'\n\ninterface OwnProps {\n type: ColumnTypes\n title: string\n createButton: JSX.Element\n questionMarkTooltipContents: JSX.Element | string\n children: (searchTerm: string) => ReactChild\n tabIndex: number\n}\n\ninterface StateProps {\n limitStatus: MonitoringLimits\n}\n\nconst AlertsColumnHeader: FC = ({\n type,\n children,\n title,\n limitStatus,\n createButton,\n questionMarkTooltipContents,\n tabIndex,\n}) => {\n const [searchTerm, onChangeSearchTerm] = useState('')\n\n const formattedTitle = title.toLowerCase().replace(' ', '-')\n const panelClassName = `alerting-index--column alerting-index--${formattedTitle}`\n const resourceName = title.substr(0, title.length - 1)\n\n const isLimitExceeded =\n CLOUD &&\n limitStatus[type] === LimitStatus.EXCEEDED &&\n type !== ResourceType.Checks\n\n const assetLimitButton = (\n \n )\n\n return (\n \n \n \n

    {title}

    \n \n
    \n {isLimitExceeded ? assetLimitButton : createButton}\n
    \n
    \n onChangeSearchTerm(e.target.value)}\n testID={`filter--input ${type}`}\n tabIndex={tabIndex}\n />\n
    \n
    \n \n
    \n {children(searchTerm)}\n \n
    \n \n
    \n \n )\n}\n\nconst mstp = ({cloud: {limits}}: AppState) => {\n return {\n limitStatus: {\n [ResourceType.Checks]: extractChecksLimits(limits),\n [ResourceType.NotificationRules]: extractRulesLimits(limits),\n [ResourceType.NotificationEndpoints]: extractEndpointsLimits(limits),\n },\n }\n}\n\nexport default connect(mstp)(AlertsColumnHeader)\n","// Libraries\nimport React, {FunctionComponent, MouseEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Dropdown, ComponentColor, IconFont} from '@influxdata/clockface'\n\n// Actions\nimport {showOverlay, dismissOverlay} from 'src/overlays/actions/overlays'\n\n// Types\nimport {CheckType} from 'src/types'\nimport {LimitStatus} from 'src/cloud/actions/limits'\n\n// Constants\nimport {CLOUD} from 'src/shared/constants'\n\ninterface OwnProps {\n onCreateThreshold: () => void\n onCreateDeadman: () => void\n limitStatus: LimitStatus\n}\n\ntype ReduxProps = ConnectedProps\n\nconst CreateCheckDropdown: FunctionComponent = ({\n onCreateThreshold,\n onCreateDeadman,\n onDismissOverlay,\n onShowOverlay,\n limitStatus,\n}) => {\n const handleItemClick = (type: CheckType): void => {\n if (CLOUD && limitStatus === LimitStatus.EXCEEDED) {\n onShowOverlay('asset-limit', {asset: 'Checks'}, onDismissOverlay)\n return\n }\n\n if (type === 'threshold') {\n onCreateThreshold()\n }\n\n if (type === 'deadman') {\n onCreateDeadman()\n }\n }\n\n const DropdownButton = (\n active: boolean,\n onClick: (e: MouseEvent) => void\n ) => (\n \n Create\n \n )\n\n const DropdownMenu = (onCollapse: () => void) => (\n \n \n Threshold Check\n \n \n Deadman Check\n \n \n )\n\n return (\n \n )\n}\n\nconst mdtp = {\n onShowOverlay: showOverlay,\n onDismissOverlay: dismissOverlay,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(CreateCheckDropdown)\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\nimport {sortChecksByName} from 'src/checks/selectors'\nimport {sortRulesByName} from 'src/notifications/rules/selectors'\nimport {sortEndpointsByName} from 'src/notifications/endpoints/selectors'\n\n// Components\nimport CheckCards from 'src/checks/components/CheckCards'\nimport AlertsColumn from 'src/alerting/components/AlertsColumn'\nimport CreateCheckDropdown from 'src/checks/components/CreateCheckDropdown'\n\n// Types\nimport {\n Check,\n NotificationRuleDraft,\n AppState,\n NotificationEndpoint,\n ResourceType,\n} from 'src/types'\n\n// Utils\nimport {extractChecksLimits} from 'src/cloud/utils/limits'\n\ninterface OwnProps {\n tabIndex: number\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps & RouteComponentProps<{orgID: string}>\n\nconst ChecksColumn: FunctionComponent = ({\n checks,\n history,\n match: {\n params: {orgID},\n },\n rules,\n endpoints,\n limitStatus,\n tabIndex,\n}) => {\n const handleCreateThreshold = () => {\n history.push(`/orgs/${orgID}/alerting/checks/new-threshold`)\n }\n\n const handleCreateDeadman = () => {\n history.push(`/orgs/${orgID}/alerting/checks/new-deadman`)\n }\n\n const tooltipContents = (\n <>\n A Check is a periodic query that the system\n
    \n performs against your time series data\n
    \n that will generate a status\n
    \n
    \n \n Read Documentation\n
    \n \n )\n\n const noAlertingResourcesExist =\n !checks.length && !rules.length && !endpoints.length\n\n const createButton = (\n \n )\n\n return (\n \n {searchTerm => (\n \n )}\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const {\n cloud: {limits},\n } = state\n\n const checks = getAll(state, ResourceType.Checks)\n\n const endpoints = getAll(\n state,\n ResourceType.NotificationEndpoints\n )\n\n const rules = getAll(\n state,\n ResourceType.NotificationRules\n )\n\n return {\n checks: sortChecksByName(checks),\n rules: sortRulesByName(rules),\n endpoints: sortEndpointsByName(endpoints),\n limitStatus: extractChecksLimits(limits),\n }\n}\n\nconst connector = connect(mstp)\n\nexport default connector(withRouter(ChecksColumn))\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {Context, IconFont} from 'src/clockface'\nimport {ComponentColor} from '@influxdata/clockface'\n\ninterface Props {\n onDelete: () => void\n onClone: () => void\n onView: () => void\n}\n\nconst RuleCardContext: FunctionComponent = ({\n onDelete,\n onClone,\n onView,\n}) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default RuleCardContext\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {\n SlideToggle,\n ComponentSize,\n ResourceCard,\n FlexBox,\n FlexDirection,\n AlignItems,\n JustifyContent,\n} from '@influxdata/clockface'\nimport NotificationRuleCardContext from 'src/notifications/rules/components/RuleCardContext'\nimport InlineLabels from 'src/shared/components/inlineLabels/InlineLabels'\nimport LastRunTaskStatus from 'src/shared/components/lastRunTaskStatus/LastRunTaskStatus'\n\n// Constants\nimport {DEFAULT_NOTIFICATION_RULE_NAME} from 'src/alerting/constants'\nimport {\n SEARCH_QUERY_PARAM,\n HISTORY_TYPE_QUERY_PARAM,\n} from 'src/alerting/constants/history'\n\n// Actions and Selectors\nimport {\n updateRuleProperties,\n deleteRule,\n addRuleLabel,\n deleteRuleLabel,\n cloneRule,\n} from 'src/notifications/rules/actions/thunks'\n\n// Types\nimport {NotificationRuleDraft, Label, AlertHistoryType} from 'src/types'\n\n// Utilities\nimport {relativeTimestampFormatter} from 'src/shared/utils/relativeTimestampFormatter'\n\ninterface OwnProps {\n rule: NotificationRuleDraft\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & RouteComponentProps<{orgID: string}> & ReduxProps\n\nconst RuleCard: FC = ({\n rule,\n onUpdateRuleProperties,\n deleteNotificationRule,\n onCloneRule,\n onAddRuleLabel,\n onRemoveRuleLabel,\n match: {\n params: {orgID},\n },\n history,\n}) => {\n const {\n id,\n activeStatus,\n name,\n lastRunError,\n lastRunStatus,\n description,\n latestCompleted,\n } = rule\n\n const onUpdateName = (name: string) => {\n onUpdateRuleProperties(id, {name})\n }\n\n const onUpdateDescription = (description: string) => {\n onUpdateRuleProperties(id, {description})\n }\n\n const onDelete = () => {\n deleteNotificationRule(id)\n }\n\n const onClone = () => {\n onCloneRule(rule)\n }\n\n const onToggle = () => {\n const status = activeStatus === 'active' ? 'inactive' : 'active'\n\n onUpdateRuleProperties(id, {status})\n }\n\n const onRuleClick = () => {\n history.push(`/orgs/${orgID}/alerting/rules/${id}/edit`)\n }\n\n const onView = () => {\n const historyType: AlertHistoryType = 'notifications'\n\n const queryParams = new URLSearchParams({\n [HISTORY_TYPE_QUERY_PARAM]: historyType,\n [SEARCH_QUERY_PARAM]: `\"notificationRuleID\" == \"${id}\"`,\n })\n\n history.push(`/orgs/${orgID}/alert-history?${queryParams}`)\n }\n\n const handleAddRuleLabel = (label: Label) => {\n onAddRuleLabel(id, label)\n }\n\n const handleRemoveRuleLabel = (label: Label) => {\n onRemoveRuleLabel(id, label.id)\n }\n\n return (\n \n }\n >\n \n \n \n \n \n \n \n \n <>Last completed at {latestCompleted}\n <>{relativeTimestampFormatter(rule.updatedAt, 'Last updated ')}\n \n \n \n \n )\n}\n\nconst mdtp = {\n onUpdateRuleProperties: updateRuleProperties,\n deleteNotificationRule: deleteRule,\n onAddRuleLabel: addRuleLabel,\n onRemoveRuleLabel: deleteRuleLabel,\n onCloneRule: cloneRule,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(RuleCard))\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport NotificationRuleCard from 'src/notifications/rules/components/RuleCard'\nimport {EmptyState, ResourceList} from '@influxdata/clockface'\nimport FilterList from 'src/shared/components/FilterList'\n\n// Types\nimport {NotificationRuleDraft} from 'src/types'\nimport {ComponentSize} from '@influxdata/clockface'\n\ninterface Props {\n rules: NotificationRuleDraft[]\n searchTerm: string\n}\n\nconst FilterRules = FilterList()\n\nconst NotificationRuleCards: FC = ({rules, searchTerm}) => {\n const cards = rules =>\n rules.map(nr => )\n\n const filteredCards = (\n \n {filtered => (\n }\n >\n {cards(filtered)}\n \n )}\n \n )\n\n return {filteredCards}\n}\n\nconst EmptyNotificationRulesList: FC<{searchTerm: string}> = ({searchTerm}) => {\n if (searchTerm) {\n return (\n \n \n No rules match your search\n \n \n )\n }\n\n return (\n \n \n You need at least 1 Notification Endpoint before\n
    \n you can create a Notification Rule\n
    \n
    \n )\n}\n\nexport default NotificationRuleCards\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport {connect} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Types\nimport {\n NotificationEndpoint,\n NotificationRuleDraft,\n AppState,\n ResourceType,\n} from 'src/types'\n\n// Components\nimport {\n Button,\n IconFont,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\nimport NotificationRuleCards from 'src/notifications/rules/components/RuleCards'\nimport AlertsColumn from 'src/alerting/components/AlertsColumn'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\ninterface OwnProps {\n tabIndex: number\n}\n\ninterface StateProps {\n rules: NotificationRuleDraft[]\n endpoints: NotificationEndpoint[]\n}\n\ntype Props = OwnProps & StateProps & RouteComponentProps<{orgID: string}>\n\nconst NotificationRulesColumn: FunctionComponent = ({\n rules,\n history,\n match,\n endpoints,\n tabIndex,\n}) => {\n const handleOpenOverlay = () => {\n const newRuleRoute = `/orgs/${match.params.orgID}/alerting/rules/new`\n history.push(newRuleRoute)\n }\n\n const tooltipContents = (\n <>\n A Notification Rule will query statuses\n
    \n written by Checks to determine if a\n
    \n notification should be sent to a\n
    \n Notification Endpoint\n
    \n
    \n \n Read Documentation\n \n \n )\n\n const buttonStatus = !!endpoints.length\n ? ComponentStatus.Default\n : ComponentStatus.Disabled\n\n const buttonTitleText = !!endpoints.length\n ? 'Create a Notification Rule'\n : 'You need at least 1 Notification Endpoint to create a Notification Rule'\n\n const createButton = (\n \n )\n\n return (\n \n {searchTerm => (\n \n )}\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const rules = getAll(\n state,\n ResourceType.NotificationRules\n )\n\n const endpoints = getAll(\n state,\n ResourceType.NotificationEndpoints\n )\n\n return {rules, endpoints}\n}\n\nexport default connect(\n mstp,\n null\n)(withRouter(NotificationRulesColumn))\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {Context, IconFont} from 'src/clockface'\nimport {ComponentColor} from '@influxdata/clockface'\n\ninterface Props {\n onDelete: () => void\n onClone: () => void\n onView: () => void\n}\n\nconst EndpointCardContext: FC = ({onDelete, onView}) => {\n return (\n \n \n \n \n \n \n \n \n )\n}\n\nexport default EndpointCardContext\n","// Libraries\nimport React, {FC} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Actions\nimport {\n addEndpointLabel,\n deleteEndpointLabel,\n deleteEndpoint,\n updateEndpointProperties,\n cloneEndpoint,\n} from 'src/notifications/endpoints/actions/thunks'\n\n// Components\nimport {\n SlideToggle,\n ComponentSize,\n ResourceCard,\n FlexDirection,\n AlignItems,\n FlexBox,\n} from '@influxdata/clockface'\nimport EndpointCardMenu from 'src/notifications/endpoints/components/EndpointCardMenu'\nimport InlineLabels from 'src/shared/components/inlineLabels/InlineLabels'\n\n// Constants\nimport {\n SEARCH_QUERY_PARAM,\n HISTORY_TYPE_QUERY_PARAM,\n} from 'src/alerting/constants/history'\n\n// Types\nimport {NotificationEndpoint, Label, AlertHistoryType} from 'src/types'\n\n// Utilities\nimport {relativeTimestampFormatter} from 'src/shared/utils/relativeTimestampFormatter'\n\ninterface OwnProps {\n endpoint: NotificationEndpoint\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & RouteComponentProps<{orgID: string}> & ReduxProps\n\nconst EndpointCard: FC = ({\n history,\n match: {\n params: {orgID},\n },\n endpoint,\n onUpdateEndpointProperties,\n onCloneEndpoint,\n onDeleteEndpoint,\n onAddEndpointLabel,\n onRemoveEndpointLabel,\n}) => {\n const {id, name, description, activeStatus} = endpoint\n\n const handleUpdateName = (name: string) => {\n onUpdateEndpointProperties(id, {name})\n }\n\n const handleClick = () => {\n history.push(`/orgs/${orgID}/alerting/endpoints/${id}/edit`)\n }\n\n const handleToggle = () => {\n const toStatus = activeStatus === 'active' ? 'inactive' : 'active'\n onUpdateEndpointProperties(id, {status: toStatus})\n }\n\n const handleView = () => {\n const historyType: AlertHistoryType = 'notifications'\n\n const queryParams = new URLSearchParams({\n [HISTORY_TYPE_QUERY_PARAM]: historyType,\n [SEARCH_QUERY_PARAM]: `\"notificationEndpointID\" == \"${id}\"`,\n })\n\n history.push(`/orgs/${orgID}/alert-history?${queryParams}`)\n }\n const handleDelete = () => {\n onDeleteEndpoint(id)\n }\n const handleClone = () => {\n onCloneEndpoint(endpoint)\n }\n const contextMenu = (\n \n )\n\n const handleAddEndpointLabel = (label: Label) => {\n onAddEndpointLabel(id, label)\n }\n const handleRemoveEndpointLabel = (label: Label) => {\n onRemoveEndpointLabel(id, label.id)\n }\n\n const handleUpdateDescription = (description: string) => {\n onUpdateEndpointProperties(id, {description})\n }\n\n return (\n \n \n \n \n \n \n <>{relativeTimestampFormatter(endpoint.updatedAt, 'Last updated ')}\n \n \n \n \n )\n}\n\nconst mdtp = {\n onDeleteEndpoint: deleteEndpoint,\n onAddEndpointLabel: addEndpointLabel,\n onRemoveEndpointLabel: deleteEndpointLabel,\n onUpdateEndpointProperties: updateEndpointProperties,\n onCloneEndpoint: cloneEndpoint,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(EndpointCard))\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport EndpointCard from 'src/notifications/endpoints/components/EndpointCard'\nimport {EmptyState, ResourceList, ComponentSize} from '@influxdata/clockface'\nimport FilterList from 'src/shared/components/FilterList'\n\n// Types\nimport {NotificationEndpoint} from 'src/types'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\ninterface Props {\n endpoints: NotificationEndpoint[]\n searchTerm: string\n}\n\nconst FilterEndpoints = FilterList()\n\nconst EndpointCards: FC = ({endpoints, searchTerm}) => {\n const cards = endpoints =>\n endpoints.map(endpoint => (\n \n ))\n\n const body = (\n \n {filteredEndpoints => (\n }\n >\n {cards(filteredEndpoints)}\n \n )}\n \n )\n\n return {body}\n}\n\nconst EmptyEndpointList: FC<{searchTerm: string}> = ({searchTerm}) => {\n if (searchTerm) {\n return (\n \n \n \"No endpoints match your search\n \n \n )\n }\n const conditionalEndpoints: Array = []\n if (isFlagEnabled('notification-endpoint-telegram')) {\n conditionalEndpoints.push('Telegram')\n }\n\n return (\n \n \n Want to send notifications to Slack, PagerDuty,\n
    \n {conditionalEndpoints.join(', ')}or an HTTP server?\n
    \n
    \n Try creating a Notification Endpoint\n
    \n
    \n )\n}\n\nexport default EndpointCards\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Button, IconFont, ComponentColor} from '@influxdata/clockface'\nimport EndpointCards from 'src/notifications/endpoints/components/EndpointCards'\nimport AlertsColumn from 'src/alerting/components/AlertsColumn'\nimport {AppState, NotificationEndpoint, ResourceType} from 'src/types'\n\n// Utils\nimport {getAll} from 'src/resources/selectors'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\ninterface StateProps {\n endpoints: NotificationEndpoint[]\n}\ninterface OwnProps {\n tabIndex: number\n}\n\ntype Props = OwnProps & RouteComponentProps<{orgID: string}> & StateProps\n\nconst EndpointsColumn: FC = ({history, match, endpoints, tabIndex}) => {\n const handleOpenOverlay = () => {\n const newRuleRoute = `/orgs/${match.params.orgID}/alerting/endpoints/new`\n history.push(newRuleRoute)\n }\n\n const conditionalEndpoints: Array = []\n if (isFlagEnabled('notification-endpoint-telegram')) {\n conditionalEndpoints.push('Telegram')\n }\n\n const tooltipContents = (\n <>\n A Notification Endpoint stores the information to connect\n
    \n to a third party service that can receive notifications\n
    \n like Slack, PagerDuty, {conditionalEndpoints.join(', ')}or an HTTP server\n
    \n
    \n \n Read Documentation\n \n \n )\n\n const createButton = (\n \n )\n\n return (\n \n {searchTerm => (\n \n )}\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const endpoints = getAll(\n state,\n ResourceType.NotificationEndpoints\n )\n\n return {endpoints}\n}\n\nexport default connect(mstp)(withRouter(EndpointsColumn))\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {SelectGroup, ButtonShape} from '@influxdata/clockface'\n\n// Actions\nimport {setActiveTab} from 'src/timeMachine/actions'\n\n// Types\nimport {TimeMachineTab, DashboardDraftQuery} from 'src/types'\n\ninterface Props {\n setActiveTab: typeof setActiveTab\n activeTab: TimeMachineTab\n draftQueries: DashboardDraftQuery[]\n}\n\nconst CheckAlertingButton: FunctionComponent = ({\n setActiveTab,\n activeTab,\n}) => {\n const handleClick = (nextTab: TimeMachineTab) => () => {\n if (activeTab !== nextTab) {\n setActiveTab(nextTab)\n }\n }\n\n return (\n \n \n 1. Define Query\n \n \n 2. Configure Check\n \n \n )\n}\n\nexport default CheckAlertingButton\n","// Libraries\nimport React, {FunctionComponent, useRef, RefObject} from 'react'\n\n// Components\nimport {\n SquareButton,\n ButtonRef,\n ComponentColor,\n ComponentSize,\n ComponentStatus,\n Icon,\n IconFont,\n Popover,\n PopoverInteraction,\n PopoverPosition,\n Appearance,\n} from '@influxdata/clockface'\n\ninterface Props {\n onSave: () => void\n status: ComponentStatus\n className: string\n checkType: string\n singleField: boolean\n singleAggregateFunc: boolean\n oneOrMoreThresholds: boolean\n}\n\nconst CheckEOSaveButton: FunctionComponent = ({\n onSave,\n status,\n className,\n checkType,\n singleField,\n singleAggregateFunc,\n oneOrMoreThresholds,\n}) => {\n const triggerRef: RefObject = useRef(null)\n\n return (\n <>\n (\n
    \n

    {`To create a ${checkType} check, you must select:`}

    \n
      \n \n {checkType === 'threshold' && (\n <>\n \n \n \n )}\n
    \n
    \n )}\n />\n \n \n )\n}\n\nexport default CheckEOSaveButton\n\ninterface ChecklistItemProps {\n selected: boolean\n text: string\n}\n\nconst QueryChecklistItem: FunctionComponent = ({\n selected,\n text,\n}) => {\n const className = selected\n ? 'query-checklist--item valid'\n : 'query-checklist--item error'\n const icon = selected ? IconFont.Checkmark : IconFont.Remove\n\n return (\n
  • \n \n {text}\n
  • \n )\n}\n","// Libraries\nimport React, {useState, FC, MouseEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport RenamablePageTitle from 'src/pageLayout/components/RenamablePageTitle'\nimport {\n SquareButton,\n ComponentSize,\n ComponentStatus,\n IconFont,\n Page,\n} from '@influxdata/clockface'\nimport CheckAlertingButton from 'src/checks/components/CheckAlertingButton'\nimport CheckEOSaveButton from 'src/checks/components/CheckEOSaveButton'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\nimport {\n isCheckSaveable,\n isDraftQueryAlertable,\n} from 'src/timeMachine/utils/queryBuilder'\n\n// Actions\nimport {setActiveTab} from 'src/timeMachine/actions'\n\n// Constants\nimport {DEFAULT_CHECK_NAME, CHECK_NAME_MAX_LENGTH} from 'src/alerting/constants'\n\n// Types\nimport {RemoteDataState, AppState} from 'src/types'\n\ninterface OwnProps {\n name: string\n onSetName: (name: string) => void\n onCancel: () => void\n onSave: () => Promise\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nconst saveButtonClass = 'veo-header--save-cell-button'\n\nconst CheckEOHeader: FC = ({\n name,\n onSetName,\n onCancel,\n onSave,\n setActiveTab,\n activeTab,\n draftQueries,\n checkType,\n thresholds,\n}) => {\n const [saveStatus, setSaveStatus] = useState(RemoteDataState.NotStarted)\n\n const handleSave = () => {\n if (saveStatus === RemoteDataState.Loading) {\n return\n }\n\n setSaveStatus(RemoteDataState.Loading)\n onSave()\n setSaveStatus(RemoteDataState.NotStarted)\n }\n\n const handleClickOutsideTitle = (e: MouseEvent) => {\n if ((e.target as Element).classList.contains(saveButtonClass)) {\n handleSave()\n }\n }\n\n const saveButtonStatus = () => {\n if (!isCheckSaveable(draftQueries, checkType, thresholds)) {\n return ComponentStatus.Disabled\n }\n\n if (saveStatus == RemoteDataState.Loading) {\n return ComponentStatus.Loading\n }\n\n return ComponentStatus.Default\n }\n\n const {singleField, singleAggregateFunc} = isDraftQueryAlertable(draftQueries)\n const oneOrMoreThresholds =\n checkType === 'threshold' && thresholds && !!thresholds.length\n\n return (\n <>\n \n \n \n \n \n {activeTab !== 'customCheckQuery' && (\n \n )}\n \n \n \n \n \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const {activeTab, draftQueries} = getActiveTimeMachine(state)\n const {\n alertBuilder: {type, thresholds},\n } = state\n\n return {activeTab, draftQueries, checkType: type, thresholds}\n}\n\nconst mdtp = {\n setActiveTab: setActiveTab,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(CheckEOHeader)\n","// Libraries\nimport React, {FunctionComponent, useEffect} from 'react'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Overlay, SpinnerContainer, TechnoSpinner} from '@influxdata/clockface'\nimport CheckEOHeader from 'src/checks/components/CheckEOHeader'\nimport TimeMachine from 'src/timeMachine/components/TimeMachine'\n\n// Actions\nimport {createCheckFromTimeMachine} from 'src/checks/actions/thunks'\nimport {setActiveTimeMachine} from 'src/timeMachine/actions'\nimport {\n resetAlertBuilder,\n updateName,\n initializeAlertBuilder,\n} from 'src/alerting/actions/alertBuilder'\n\n// Utils\nimport {createView} from 'src/views/helpers'\n\n// Types\nimport {AppState, RemoteDataState, CheckViewProperties} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string}>\n\nconst NewCheckOverlay: FunctionComponent = ({\n status,\n match: {\n params: {orgID},\n },\n checkName,\n history,\n onSaveCheckFromTimeMachine,\n onResetAlertBuilder,\n onUpdateAlertBuilderName,\n}) => {\n const dispatch = useDispatch()\n\n useEffect(() => {\n const view = createView('threshold')\n dispatch(initializeAlertBuilder('threshold'))\n dispatch(\n setActiveTimeMachine('alerting', {\n view,\n })\n )\n }, [dispatch])\n\n const handleClose = () => {\n history.push(`/orgs/${orgID}/alerting`)\n onResetAlertBuilder()\n }\n\n return (\n \n
    \n }\n loading={status || RemoteDataState.Loading}\n >\n \n
    \n \n
    \n \n
    \n
    \n )\n}\n\nconst mstp = ({alertBuilder: {name, status}}: AppState) => {\n return {checkName: name, status}\n}\n\nconst mdtp = {\n onSaveCheckFromTimeMachine: createCheckFromTimeMachine as any,\n onResetAlertBuilder: resetAlertBuilder,\n onUpdateAlertBuilderName: updateName,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(NewCheckOverlay))\n","// Libraries\nimport React, {FunctionComponent, useEffect} from 'react'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Overlay, SpinnerContainer, TechnoSpinner} from '@influxdata/clockface'\nimport CheckEOHeader from 'src/checks/components/CheckEOHeader'\nimport TimeMachine from 'src/timeMachine/components/TimeMachine'\n\n// Actions\nimport {createCheckFromTimeMachine} from 'src/checks/actions/thunks'\nimport {setActiveTimeMachine} from 'src/timeMachine/actions'\nimport {\n resetAlertBuilder,\n updateName,\n initializeAlertBuilder,\n} from 'src/alerting/actions/alertBuilder'\n\n// Utils\nimport {createView} from 'src/views/helpers'\n\n// Types\nimport {AppState, RemoteDataState, CheckViewProperties} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string}>\n\nconst NewCheckOverlay: FunctionComponent = ({\n match: {\n params: {orgID},\n },\n status,\n checkName,\n history,\n onSaveCheckFromTimeMachine,\n onResetAlertBuilder,\n onUpdateAlertBuilderName,\n}) => {\n const dispatch = useDispatch()\n\n useEffect(() => {\n const view = createView('deadman')\n dispatch(initializeAlertBuilder('deadman'))\n dispatch(\n setActiveTimeMachine('alerting', {\n view,\n })\n )\n }, [dispatch])\n\n const handleClose = () => {\n history.push(`/orgs/${orgID}/alerting`)\n onResetAlertBuilder()\n }\n\n return (\n \n
    \n }\n loading={status || RemoteDataState.Loading}\n >\n \n
    \n \n
    \n \n
    \n
    \n )\n}\n\nconst mstp = ({alertBuilder: {name, status}}: AppState) => {\n return {checkName: name, status}\n}\n\nconst mdtp = {\n onSaveCheckFromTimeMachine: createCheckFromTimeMachine,\n onResetAlertBuilder: resetAlertBuilder,\n onUpdateAlertBuilderName: updateName,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(NewCheckOverlay))\n","// Libraries\nimport React, {FunctionComponent, useEffect} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport {Overlay, SpinnerContainer, TechnoSpinner} from '@influxdata/clockface'\nimport CheckEOHeader from 'src/checks/components/CheckEOHeader'\nimport TimeMachine from 'src/timeMachine/components/TimeMachine'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Actions\nimport {\n updateCheckFromTimeMachine,\n getCheckForTimeMachine,\n} from 'src/checks/actions/thunks'\nimport {executeQueries} from 'src/timeMachine/actions/queries'\nimport {resetAlertBuilder, updateName} from 'src/alerting/actions/alertBuilder'\n\n// Types\nimport {AppState, RemoteDataState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = RouteComponentProps<{orgID: string; checkID: string}> & ReduxProps\n\nconst EditCheckEditorOverlay: FunctionComponent = ({\n onUpdateAlertBuilderName,\n onResetAlertBuilder,\n onSaveCheckFromTimeMachine,\n activeTimeMachineID,\n status,\n history,\n match: {\n params: {checkID, orgID},\n },\n checkName,\n loadedCheckID,\n view,\n}) => {\n const dispatch = useDispatch()\n const query = get(view, 'properties.queries[0]', null)\n\n useEffect(() => {\n dispatch(getCheckForTimeMachine(checkID))\n }, [dispatch, checkID])\n\n useEffect(() => {\n dispatch(executeQueries())\n }, [dispatch, query])\n\n const handleClose = () => {\n history.push(`/orgs/${orgID}/alerting`)\n onResetAlertBuilder()\n }\n\n let loadingStatus = RemoteDataState.Loading\n\n if (status === RemoteDataState.Error) {\n loadingStatus = RemoteDataState.Error\n }\n if (\n status === RemoteDataState.Done &&\n activeTimeMachineID === 'alerting' &&\n loadedCheckID === checkID\n ) {\n loadingStatus = RemoteDataState.Done\n }\n\n return (\n \n
    \n }\n loading={loadingStatus}\n >\n \n
    \n \n
    \n \n
    \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const {\n timeMachines: {activeTimeMachineID},\n alertBuilder: {status, name, id},\n } = state\n\n const {view} = getActiveTimeMachine(state)\n\n return {\n loadedCheckID: id,\n checkName: name,\n status,\n activeTimeMachineID,\n view,\n }\n}\n\nconst mdtp = {\n onSaveCheckFromTimeMachine: updateCheckFromTimeMachine,\n onResetAlertBuilder: resetAlertBuilder,\n onUpdateAlertBuilderName: updateName,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(EditCheckEditorOverlay))\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {Form, Grid, Columns} from '@influxdata/clockface'\nimport DurationInput from 'src/shared/components/DurationInput'\n\n// Types\nimport {RuleState} from './RuleOverlay.reducer'\nimport {DURATIONS} from 'src/timeMachine/constants/queryBuilder'\nimport {NotificationRuleDraft} from 'src/types'\nimport {CHECK_OFFSET_OPTIONS} from 'src/alerting/constants'\n\ninterface Props {\n rule: RuleState\n onChange: (key: keyof NotificationRuleDraft) => (value: string) => void\n}\n\nconst RuleSchedule: FC = ({rule, onChange}) => {\n const {every, offset} = rule\n\n return (\n \n \n \n \n \n \n\n \n \n \n \n \n \n )\n}\n\nexport default RuleSchedule\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {\n Dropdown,\n ComponentColor,\n InfluxColors,\n DropdownMenuTheme,\n} from '@influxdata/clockface'\n\n// Types\nimport {RuleStatusLevel} from 'src/types'\n\ntype LevelType = 'currentLevel' | 'previousLevel'\ntype ColorLevel = {hex: InfluxColors; display: string; value: RuleStatusLevel}\n\ninterface Props {\n selectedLevel: RuleStatusLevel\n otherLevel: RuleStatusLevel\n type: LevelType\n onClickLevel: (type: LevelType, level: RuleStatusLevel) => void\n}\n\nconst RuleLevelsDropdown: FC = ({\n type,\n selectedLevel,\n otherLevel,\n onClickLevel,\n}) => {\n let levels: ColorLevel[] = [\n {display: 'CRIT', hex: InfluxColors.Fire, value: 'CRIT'},\n {display: 'INFO', hex: InfluxColors.Ocean, value: 'INFO'},\n {display: 'WARN', hex: InfluxColors.Thunder, value: 'WARN'},\n {display: 'OK', hex: InfluxColors.Viridian, value: 'OK'},\n {display: 'ANY', hex: InfluxColors.Sidewalk, value: 'ANY'},\n ]\n if (otherLevel) {\n levels = levels.filter(l => l.value !== otherLevel)\n }\n\n const selected = levels.find(l => l.value === selectedLevel)\n\n if (!selected) {\n throw new Error('Unknown level type provided to ')\n }\n\n const button = (active, onClick) => (\n \n
    \n \n
    {selected.value}
    \n
    \n \n )\n\n const items = levels.map(({value, display, hex}) => (\n onClickLevel(type, value)}\n testID={`levels--dropdown-item ${value}`}\n >\n
    \n \n
    {display}
    \n
    \n \n ))\n\n const menu = onCollapse => (\n \n {items}\n \n )\n\n return (\n \n )\n}\n\nexport default RuleLevelsDropdown\n","// Libraries\nimport {v4} from 'uuid'\nimport {omit} from 'lodash'\n\n// Types\nimport {NotificationRuleDraft} from 'src/types'\nimport {Action} from './RuleOverlay.actions'\n\nexport type LevelType = 'currentLevel' | 'previousLevel'\nexport type RuleState = NotificationRuleDraft\n\nexport const reducer = (state: RuleState, action: Action) => {\n switch (action.type) {\n case 'UPDATE_RULE': {\n const {rule} = action\n return {...state, ...rule}\n }\n\n case 'SET_ACTIVE_SCHEDULE': {\n const {schedule} = action\n let newState: RuleState = state\n\n if (schedule === 'every') {\n newState = omit(state, 'cron') as NotificationRuleDraft\n }\n\n if (schedule === 'cron') {\n newState = omit(state, 'every') as NotificationRuleDraft\n }\n\n return {...newState, [schedule]: ''}\n }\n\n case 'UPDATE_STATUS_RULES': {\n const {statusRule} = action\n const statusRules = state.statusRules.map(s => {\n if (s.cid !== statusRule.cid) {\n return s\n }\n\n return statusRule\n })\n\n return {...state, statusRules}\n }\n\n case 'ADD_TAG_RULE': {\n const {tagRule} = action\n return {\n ...state,\n tagRules: [...state.tagRules, {...tagRule, id: v4()}],\n }\n }\n\n case 'UPDATE_TAG_RULES': {\n const {tagRule} = action\n const tagRules = state.tagRules.map(t => {\n if (t.cid !== tagRule.cid) {\n return t\n }\n\n return tagRule\n })\n\n return {...state, tagRules}\n }\n\n case 'DELETE_STATUS_RULE': {\n const {statusRuleID} = action\n const statusRules = state.statusRules.filter(s => {\n return s.cid !== statusRuleID\n })\n\n return {\n ...state,\n statusRules,\n }\n }\n\n case 'DELETE_TAG_RULE': {\n const {tagRuleID} = action\n\n const tagRules = state.tagRules.filter(tr => {\n return tr.cid !== tagRuleID\n })\n\n return {...state, tagRules}\n }\n\n case 'UPDATE_STATUS_LEVEL': {\n const {levelType, level, statusID} = action\n\n const statusRules = state.statusRules.map(status => {\n if (status.cid !== statusID) {\n return status\n }\n\n const value = {\n ...status.value,\n [levelType]: level,\n }\n\n return {...status, value}\n })\n\n return {...state, statusRules}\n }\n\n case 'SET_TAG_RULE_OPERATOR': {\n const {tagRuleID, operator} = action\n const tagRules = state.tagRules.map(tagRule => {\n if (tagRule.cid !== tagRuleID) {\n return tagRule\n }\n\n return {\n ...tagRule,\n value: {\n ...tagRule.value,\n operator,\n },\n }\n })\n\n return {...state, tagRules}\n }\n\n default:\n const neverAction: never = action\n\n throw new Error(\n `Unhandled action \"${\n (neverAction as any).type\n }\" in RuleOverlay.reducer.ts`\n )\n }\n}\n","// Libraries\nimport React, {\n FC,\n Dispatch,\n createContext,\n useReducer,\n useRef,\n useContext,\n} from 'react'\n\n// Reducer\nimport {Action} from './RuleOverlay.actions'\nimport {RuleState, reducer} from './RuleOverlay.reducer'\n\nconst RuleStateContext = createContext(null)\nconst RuleDispatchContext = createContext>(null)\n\nexport const useRuleState = (): RuleState => {\n return useContext(RuleStateContext)\n}\n\nexport const useRuleDispatch = (): Dispatch => {\n return useContext(RuleDispatchContext)\n}\n\nconst RuleOverlayProvider: FC<{initialState: RuleState}> = ({\n initialState,\n children,\n}) => {\n const prevInitialStateRef = useRef(initialState)\n\n const [state, dispatch] = useReducer((state: RuleState, action: Action) => {\n if (prevInitialStateRef.current !== initialState) {\n prevInitialStateRef.current = initialState\n\n return initialState\n }\n\n return reducer(state, action)\n }, initialState)\n\n return (\n \n \n {children}\n \n \n )\n}\n\nexport default RuleOverlayProvider\n","// Libraries\nimport React, {FC} from 'react'\n\n// Types\nimport {StatusRuleDraft} from 'src/types'\n\n// Components\nimport {Dropdown} from '@influxdata/clockface'\n\n// Utils\nimport {useRuleDispatch} from './RuleOverlayProvider'\nimport {\n CHANGES,\n changeStatusRule,\n activeChange,\n} from 'src/notifications/rules/utils'\n\ninterface Props {\n status: StatusRuleDraft\n}\n\nconst StatusChangeDropdown: FC = ({status}) => {\n const dispatch = useRuleDispatch()\n\n const statusChange = (s, c) =>\n dispatch({\n type: 'UPDATE_STATUS_RULES',\n statusRule: changeStatusRule(s, c),\n })\n\n const items = CHANGES.map(change => (\n statusChange(status, change)}\n >\n {change}\n \n ))\n\n const buttonText = activeChange(status)\n\n const button = (active, onClick) => (\n \n {buttonText}\n \n )\n\n const menu = onCollapse => (\n {items}\n )\n\n return (\n \n )\n}\n\nexport default StatusChangeDropdown\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {\n FlexBox,\n TextBlock,\n FlexDirection,\n ComponentSize,\n} from '@influxdata/clockface'\nimport RuleLevelsDropdown from 'src/notifications/rules/components/RuleLevelsDropdown'\nimport StatusChangeDropdown from 'src/notifications/rules/components/StatusChangeDropdown'\nimport {LevelType} from 'src/notifications/rules/components/RuleOverlay.reducer'\n\n// Utils\nimport {useRuleDispatch} from './RuleOverlayProvider'\n\n// Types\nimport {StatusRuleDraft, RuleStatusLevel} from 'src/types'\n\ninterface Props {\n status: StatusRuleDraft\n}\n\nconst StatusLevels: FC = ({status}) => {\n const {currentLevel, previousLevel} = status.value\n const dispatch = useRuleDispatch()\n\n const onClickLevel = (levelType: LevelType, level: RuleStatusLevel) => {\n dispatch({\n type: 'UPDATE_STATUS_LEVEL',\n statusID: status.cid,\n levelType,\n level,\n })\n }\n\n return (\n \n \n \n \n \n {!!previousLevel && (\n \n \n \n )}\n {!!previousLevel && }\n \n \n \n \n )\n}\n\nexport default StatusLevels\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {Panel, ComponentSize} from '@influxdata/clockface'\nimport StatusLevels from 'src/notifications/rules/components/StatusLevels'\n\n// Types\nimport {StatusRuleDraft} from 'src/types'\n\ninterface Props {\n status: StatusRuleDraft\n}\n\nconst StatusRuleComponent: FC = ({status}) => {\n return (\n \n \n \n \n \n )\n}\n\nexport default StatusRuleComponent\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {Dropdown} from '@influxdata/clockface'\n\n// Types\nimport {TagRuleDraft} from 'src/types'\n\ninterface Props {\n selectedOperator: Operator\n onSelect: (operator: Operator) => void\n}\n\nexport type Operator = TagRuleDraft['value']['operator']\n\nconst operators: {operator: Operator; display: string}[] = [\n {operator: 'equal', display: '=='},\n]\n\nconst TagRuleOperatorDropdown: FC = ({selectedOperator, onSelect}) => {\n const items = operators.map(({operator, display}) => (\n onSelect(operator)}\n >\n {display}\n \n ))\n\n const buttonText = operators.find(o => o.operator === selectedOperator)\n\n const button = (active, onClick) => (\n \n {buttonText.display}\n \n )\n\n const menu = onCollapse => (\n {items}\n )\n\n return \n}\n\nexport default TagRuleOperatorDropdown\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {\n Input,\n Panel,\n DismissButton,\n TextBlock,\n FlexBox,\n ComponentSize,\n FlexDirection,\n ComponentColor,\n InfluxColors,\n} from '@influxdata/clockface'\n\nimport TagRuleOperatorDropdown, {\n Operator,\n} from 'src/notifications/rules/components/TagRuleOperatorDropdown'\n\n// Utils\nimport {useRuleDispatch} from './RuleOverlayProvider'\n\n// Types\nimport {TagRuleDraft} from 'src/types'\n\ninterface Props {\n tagRule: TagRuleDraft\n}\n\nconst TagRule: FC = ({tagRule}) => {\n const {key, value, operator} = tagRule.value\n const dispatch = useRuleDispatch()\n\n const onChange = ({target}) => {\n const {name, value} = target\n\n const newValue = {\n ...tagRule.value,\n [name]: value,\n }\n\n dispatch({\n type: 'UPDATE_TAG_RULES',\n tagRule: {\n ...tagRule,\n value: newValue,\n },\n })\n }\n\n const onSelectOperator = (operator: Operator) => {\n dispatch({\n type: 'SET_TAG_RULE_OPERATOR',\n tagRuleID: tagRule.cid,\n operator,\n })\n }\n\n const onDelete = () => {\n dispatch({\n type: 'DELETE_TAG_RULE',\n tagRuleID: tagRule.cid,\n })\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default TagRule\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {\n Grid,\n Columns,\n FlexBox,\n FlexDirection,\n ComponentSize,\n ComponentColor,\n AlignItems,\n} from '@influxdata/clockface'\nimport StatusRuleComponent from 'src/notifications/rules/components/StatusRule'\nimport TagRuleComponent from 'src/notifications/rules/components/TagRule'\nimport DashedButton from 'src/shared/components/dashed_button/DashedButton'\n\n// Utils\nimport {useRuleDispatch} from './RuleOverlayProvider'\n\n// Constants\nimport {newTagRuleDraft} from 'src/notifications/rules/utils'\n\n// Types\nimport {RuleState} from './RuleOverlay.reducer'\n\ninterface Props {\n rule: RuleState\n}\n\nconst RuleConditions: FC = ({rule}) => {\n const dispatch = useRuleDispatch()\n const {statusRules, tagRules} = rule\n\n const addTagRule = () => {\n dispatch({\n type: 'ADD_TAG_RULE',\n tagRule: newTagRuleDraft(),\n })\n }\n\n const statuses = statusRules.map(status => (\n \n ))\n\n const tags = tagRules.map(tagRule => (\n \n ))\n\n return (\n \n Conditions\n \n \n {statuses}\n {tags}\n \n \n \n \n
    \n
    \n
    \n )\n}\n\nexport default RuleConditions\n","// Libraries\nimport React, {FC} from 'react'\nimport {get} from 'lodash'\n\n// Components\nimport {Dropdown, ComponentStatus} from '@influxdata/clockface'\n\n// Types\nimport {NotificationEndpoint} from 'src/types'\n\ninterface Props {\n selectedEndpointID: string\n endpoints: NotificationEndpoint[]\n onSelectEndpoint: (endpointID: string) => void\n}\n\nconst RuleEndpointDropdown: FC = ({\n endpoints,\n selectedEndpointID,\n onSelectEndpoint,\n}) => {\n if (!endpoints.length) {\n const button = () => (\n {}}>\n No Endpoints Found\n \n )\n\n const menu = () => null\n\n return \n }\n\n const items = endpoints.map(({id, name}) => (\n onSelectEndpoint(id)}\n >\n {name}\n \n ))\n\n const selectedEndpoint =\n endpoints.find(e => e.id === selectedEndpointID) || endpoints[0]\n\n const button = (active, onClick) => (\n \n {get(selectedEndpoint, 'name')}\n \n )\n\n const menu = onCollapse => (\n {items}\n )\n\n return (\n \n )\n}\n\nexport default RuleEndpointDropdown\n","// Libraries\nimport React, {FC, ChangeEvent} from 'react'\n\n// Components\nimport {Form, TextArea} from '@influxdata/clockface'\n\ninterface Props {\n channel: string\n messageTemplate: string\n onChange: (e: ChangeEvent) => void\n}\n\nconst SlackMessage: FC = ({messageTemplate, onChange}) => {\n return (\n <>\n \n \n \n \n )\n}\n\nexport default SlackMessage\n","// Libraries\nimport React, {FC, ChangeEvent} from 'react'\n\n// Components\nimport {Form, Input, TextArea} from '@influxdata/clockface'\n\ninterface Props {\n to: string\n subjectTemplate\n bodyTemplate: string\n onChange: (e: ChangeEvent) => void\n}\n\nconst SMTPMessage: FC = ({\n to,\n subjectTemplate,\n bodyTemplate,\n onChange,\n}) => {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default SMTPMessage\n","// Libraries\nimport React, {FC, ChangeEvent} from 'react'\n\n// Components\nimport {Form, TextArea} from '@influxdata/clockface'\n\ninterface Props {\n messageTemplate: string\n onChange: (e: ChangeEvent) => void\n}\n\nconst PagerDutyMessage: FC = ({messageTemplate, onChange}) => {\n return (\n \n \n \n )\n}\n\nexport default PagerDutyMessage\n","// Libraries\nimport React, {FC, ChangeEvent} from 'react'\n\n// Components\nimport {Form, TextArea} from '@influxdata/clockface'\nimport {TelegramNotificationRuleBase} from 'src/types/alerting'\n\ninterface EventHandlers {\n onChange: (e: ChangeEvent) => void\n}\ntype Props = Omit & EventHandlers\n\nconst TelegramMessage: FC = ({messageTemplate, onChange}) => {\n return (\n \n \n \n /*\n // keep it simple, the following elements are possible, but too advanced\n \n \n \n \n \n \n */\n )\n}\n\nexport default TelegramMessage\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport SlackMessage from './SlackMessage'\nimport SMTPMessage from './SMTPMessage'\nimport PagerDutyMessage from './PagerDutyMessage'\nimport TelegramMessage from './TelegramMessage'\n\n// Utils\nimport {useRuleDispatch} from './RuleOverlayProvider'\n\n// Types\nimport {NotificationRuleDraft} from 'src/types'\n\ninterface Props {\n rule: NotificationRuleDraft\n}\n\nconst RuleMessageContents: FC = ({rule}) => {\n const dispatch = useRuleDispatch()\n const onChange = ({target}) => {\n const {name, value} = target\n\n dispatch({\n type: 'UPDATE_RULE',\n rule: {\n ...rule,\n [name]: value,\n },\n })\n }\n\n switch (rule.type) {\n case 'slack': {\n const {messageTemplate, channel} = rule\n return (\n \n )\n }\n case 'smtp': {\n const {to, subjectTemplate, bodyTemplate} = rule\n return (\n \n )\n }\n case 'pagerduty': {\n const {messageTemplate} = rule\n return (\n \n )\n }\n case 'telegram': {\n const {messageTemplate} = rule\n return (\n \n )\n }\n case 'http': {\n return <>\n }\n\n default:\n throw new Error('Unexpected endpoint type in .')\n }\n}\n\nexport default RuleMessageContents\n","// Libraries\nimport React, {FC, useEffect} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {Form, Panel, Grid, Columns} from '@influxdata/clockface'\nimport RuleEndpointDropdown from 'src/notifications/rules/components/RuleEndpointDropdown'\nimport RuleMessageContents from 'src/notifications/rules/components/RuleMessageContents'\n\n// Utils\nimport {getRuleVariantDefaults} from 'src/notifications/rules/utils'\nimport {getAll} from 'src/resources/selectors'\nimport {useRuleDispatch} from './RuleOverlayProvider'\n\n// Types\nimport {\n NotificationEndpoint,\n NotificationRuleDraft,\n AppState,\n ResourceType,\n} from 'src/types'\n\ninterface StateProps {\n endpoints: NotificationEndpoint[]\n}\n\ninterface OwnProps {\n rule: NotificationRuleDraft\n}\n\ntype Props = OwnProps & StateProps\n\nconst RuleMessage: FC = ({endpoints, rule}) => {\n const dispatch = useRuleDispatch()\n\n const onSelectEndpoint = endpointID => {\n dispatch({\n type: 'UPDATE_RULE',\n rule: {\n ...rule,\n ...getRuleVariantDefaults(endpoints, endpointID),\n endpointID,\n },\n })\n }\n\n useEffect(() => {\n if (!rule.endpointID && endpoints.length) {\n onSelectEndpoint(endpoints[0].id)\n }\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n \n Message\n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const endpoints = getAll(\n state,\n ResourceType.NotificationEndpoints\n )\n\n return {\n endpoints,\n }\n}\n\nexport default connect(mstp)(RuleMessage)\n","import React, {useState, FC} from 'react'\n\n// Components\nimport {\n ComponentColor,\n Form,\n Button,\n ComponentStatus,\n Grid,\n Columns,\n} from '@influxdata/clockface'\n\n// Utils\nimport {useRuleState} from './RuleOverlayProvider'\n\nimport {NotificationRuleDraft, RemoteDataState} from 'src/types'\n\ninterface Props {\n saveButtonText: string\n onSave: (draftRule: NotificationRuleDraft) => Promise\n}\n\nconst RuleOverlayFooter: FC = ({saveButtonText, onSave}) => {\n const rule = useRuleState()\n\n const [saveStatus, setSaveStatus] = useState(RemoteDataState.NotStarted)\n const [errorMessage, setErrorMessage] = useState(null)\n\n const handleSave = async () => {\n if (saveStatus === RemoteDataState.Loading) {\n return\n }\n\n try {\n setSaveStatus(RemoteDataState.Loading)\n setErrorMessage(null)\n\n await onSave(rule)\n } catch (e) {\n setSaveStatus(RemoteDataState.Error)\n setErrorMessage(e.message)\n }\n }\n\n const buttonStatus =\n saveStatus === RemoteDataState.Loading\n ? ComponentStatus.Loading\n : ComponentStatus.Default\n\n return (\n <>\n \n \n {errorMessage && (\n
    {errorMessage}
    \n )}\n \n \n \n
    \n
    \n \n )\n}\n\nexport default RuleOverlayFooter\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {\n Grid,\n Panel,\n Columns,\n ComponentSize,\n Form,\n Input,\n} from '@influxdata/clockface'\nimport RuleSchedule from 'src/notifications/rules/components/RuleSchedule'\nimport RuleConditions from 'src/notifications/rules/components/RuleConditions'\nimport RuleMessage from 'src/notifications/rules/components/RuleMessage'\nimport RuleOverlayFooter from 'src/notifications/rules/components/RuleOverlayFooter'\n\n// Utils\nimport {useRuleState, useRuleDispatch} from './RuleOverlayProvider'\n\n// Types\nimport {NotificationRuleDraft} from 'src/types'\n\ninterface Props {\n saveButtonText: string\n onSave: (draftRule: NotificationRuleDraft) => Promise\n}\n\nconst RuleOverlayContents: FC = ({saveButtonText, onSave}) => {\n const rule = useRuleState()\n const dispatch = useRuleDispatch()\n\n const handleChange = e => {\n const {name, value} = e.target\n\n dispatch({\n type: 'UPDATE_RULE',\n rule: {...rule, [name]: value} as NotificationRuleDraft,\n })\n }\n\n const handleChangeParameter = (key: keyof NotificationRuleDraft) => (\n value: string\n ) => {\n dispatch({\n type: 'UPDATE_RULE',\n rule: {...rule, [key]: value} as NotificationRuleDraft,\n })\n }\n\n return (\n \n
    \n \n About\n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n \n \n \n
    \n )\n}\n\nexport default RuleOverlayContents\n","// Libraries\nimport React, {useMemo, FC} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Actions\nimport {createRule} from 'src/notifications/rules/actions/thunks'\n\n// Components\nimport RuleOverlayContents from 'src/notifications/rules/components/RuleOverlayContents'\nimport {Overlay} from '@influxdata/clockface'\n\n// Utils\nimport RuleOverlayProvider from 'src/notifications/rules/components/RuleOverlayProvider'\nimport {initRuleDraft} from 'src/notifications/rules/utils'\n\n// Types\nimport {NotificationRuleDraft} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = RouteComponentProps<{orgID: string}> & ReduxProps\n\nconst NewRuleOverlay: FC = ({\n match: {\n params: {orgID},\n },\n history,\n onCreateRule,\n}) => {\n const handleDismiss = () => {\n history.push(`/orgs/${orgID}/alerting`)\n }\n\n const handleCreateRule = async (rule: NotificationRuleDraft) => {\n await onCreateRule(rule)\n\n handleDismiss()\n }\n\n const initialState = useMemo(() => initRuleDraft(orgID), [orgID])\n\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nconst mdtp = {\n onCreateRule: createRule,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(NewRuleOverlay))\n","// Libraries\nimport React, {FC} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Constants\nimport {getNotificationRuleFailed} from 'src/shared/copy/notifications'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport RuleOverlayContents from 'src/notifications/rules/components/RuleOverlayContents'\n\n// Actions\nimport {updateRule} from 'src/notifications/rules/actions/thunks'\nimport {notify} from 'src/shared/actions/notifications'\n\n// Utils\nimport RuleOverlayProvider from './RuleOverlayProvider'\nimport {getByID} from 'src/resources/selectors'\n\n// Types\nimport {NotificationRuleDraft, AppState, ResourceType} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype RouterProps = RouteComponentProps<{orgID: string; ruleID: string}>\ntype Props = RouterProps & ReduxProps\n\nconst EditRuleOverlay: FC = ({\n match,\n history,\n stateRule,\n onUpdateRule,\n onNotify,\n}) => {\n const handleDismiss = () => {\n history.push(`/orgs/${match.params.orgID}/alerting`)\n }\n\n if (!stateRule) {\n onNotify(getNotificationRuleFailed(match.params.ruleID))\n handleDismiss()\n return null\n }\n\n const handleUpdateRule = async (rule: NotificationRuleDraft) => {\n await onUpdateRule(rule)\n\n handleDismiss()\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nconst mstp = (state: AppState, {match}: RouterProps) => {\n const {ruleID} = match.params\n\n const stateRule = getByID(\n state,\n ResourceType.NotificationRules,\n ruleID\n )\n\n return {\n stateRule,\n }\n}\n\nconst mdtp = {\n onNotify: notify,\n onUpdateRule: updateRule,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(EditRuleOverlay))\n","import {omit} from 'lodash'\n\n// Types\nimport {NotificationEndpoint, NotificationEndpointBase} from 'src/types'\nimport {DEFAULT_ENDPOINT_URLS} from 'src/alerting/constants'\n\nexport type Action =\n | {type: 'UPDATE_ENDPOINT'; endpoint: NotificationEndpoint}\n | {type: 'UPDATE_ENDPOINT_TYPE'; endpoint: NotificationEndpoint}\n | {type: 'DELETE_ENDPOINT'; endpointID: string}\n\nexport type EndpointState = NotificationEndpoint\n\nexport const reducer = (\n state: EndpointState,\n action: Action\n): EndpointState => {\n switch (action.type) {\n case 'UPDATE_ENDPOINT': {\n const {endpoint} = action\n return {...state, ...endpoint}\n }\n case 'UPDATE_ENDPOINT_TYPE': {\n const {endpoint} = action\n if (state.type != endpoint.type) {\n const baseProps: NotificationEndpointBase = omit(endpoint, [\n 'url',\n 'token',\n 'username',\n 'password',\n 'method',\n 'authMethod',\n 'contentTemplate',\n 'headers',\n 'clientURL',\n 'routingKey',\n ])\n\n switch (endpoint.type) {\n case 'pagerduty':\n return {\n ...baseProps,\n type: 'pagerduty',\n clientURL: `${location.origin}/orgs/${baseProps.orgID}/alert-history`,\n routingKey: '',\n }\n case 'http':\n return {\n ...baseProps,\n type: 'http',\n method: 'POST',\n authMethod: 'none',\n url: DEFAULT_ENDPOINT_URLS.http,\n }\n case 'slack':\n return {\n ...baseProps,\n type: 'slack',\n url: DEFAULT_ENDPOINT_URLS.slack,\n token: '',\n }\n case 'telegram':\n return {\n ...baseProps,\n type: 'telegram',\n token: '',\n channel: '',\n }\n }\n }\n return state\n }\n case 'DELETE_ENDPOINT': {\n return state\n }\n\n default:\n const neverAction: never = action\n\n throw new Error(\n `Unhandled action \"${\n (neverAction as any).type\n }\" in EndpointsOverlay.reducer.ts`\n )\n }\n}\n","// Libraries\nimport React, {\n FC,\n Dispatch,\n createContext,\n useReducer,\n useRef,\n useContext,\n} from 'react'\n\n// Reducer\nimport {EndpointState, Action, reducer} from './EndpointOverlay.reducer'\n\nconst EndpointStateContext = createContext(null)\nconst EndpointDispatchContext = createContext>(null)\n\nexport const EndpointOverlayProvider: FC<{initialState: EndpointState}> = ({\n initialState,\n children,\n}) => {\n const prevInitialStateRef = useRef(initialState)\n\n const [state, dispatch] = useReducer(\n (state: EndpointState, action: Action) => {\n if (prevInitialStateRef.current !== initialState) {\n prevInitialStateRef.current = initialState\n\n return initialState\n }\n\n return reducer(state, action)\n },\n initialState\n )\n\n return (\n \n \n {children}\n \n \n )\n}\n\nexport const useEndpointState = (): EndpointState => {\n return useContext(EndpointStateContext)\n}\n\nexport const useEndpointDispatch = (): Dispatch => {\n return useContext(EndpointDispatchContext)\n}\n\nexport const useEndpointReducer = (): [EndpointState, Dispatch] => {\n return [useEndpointState(), useEndpointDispatch()]\n}\n","// Libraries\nimport React, {FC, ChangeEvent} from 'react'\n\n// Components\nimport {Input, FormElement, Panel, Grid, Columns} from '@influxdata/clockface'\n\ninterface Props {\n url: string\n onChange: (e: ChangeEvent) => void\n}\n\nconst EndpointOptionsSlack: FC = ({url, onChange}) => {\n return (\n \n \n

    Slack Options

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default EndpointOptionsSlack\n","// Libraries\nimport React, {FC, ChangeEvent} from 'react'\n\n// Components\nimport {Input, FormElement, InputType, Panel, Grid} from '@influxdata/clockface'\n\ninterface Props {\n clientURL: string\n routingKey: string\n onChange: (e: ChangeEvent) => void\n}\n\nconst EndpointOptionsPagerDuty: FC = ({\n clientURL,\n routingKey,\n onChange,\n}) => {\n return (\n \n \n

    Pagerduty Options

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default EndpointOptionsPagerDuty\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {Dropdown} from '@influxdata/clockface'\n\n// Types\nimport {HTTPMethodType} from 'src/types'\n\ninterface MethodType {\n name: string\n type: HTTPMethodType\n id: HTTPMethodType\n}\n\ninterface Props {\n selectedType: string\n onSelectType: (type: HTTPMethodType) => void\n}\n\nconst types: MethodType[] = [{name: 'POST', type: 'POST', id: 'POST'}]\n\nconst MethodTypeDropdown: FC = ({selectedType, onSelectType}) => {\n const items = types.map(({id, type, name}) => (\n \n {name}\n \n ))\n\n const selected = types.find(t => t.type === selectedType)\n\n if (!selected) {\n throw new Error('Incorrect method type provided to ')\n }\n\n const button = (active, onClick) => (\n \n {selected.name}\n \n )\n\n const menu = onCollapse => (\n {items}\n )\n\n return (\n \n )\n}\n\nexport default MethodTypeDropdown\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {Dropdown} from '@influxdata/clockface'\n\n// Types\nimport {HTTPAuthMethodType} from 'src/types'\n\ninterface AuthMethodType {\n name: string\n type: HTTPAuthMethodType\n id: HTTPAuthMethodType\n}\n\ninterface Props {\n selectedType: string\n onSelectType: (type: HTTPAuthMethodType) => void\n}\n\nconst types: AuthMethodType[] = [\n {name: 'none', type: 'none', id: 'none'},\n {name: 'basic', type: 'basic', id: 'basic'},\n {name: 'bearer', type: 'bearer', id: 'bearer'},\n]\n\nconst AuthMethodTypeDropdown: FC = ({selectedType, onSelectType}) => {\n const items = types.map(({id, type, name}) => (\n \n {name}\n \n ))\n\n const selected = types.find(t => t.type === selectedType)\n\n if (!selected) {\n throw new Error(\n 'Incorrect authMethod type provided to '\n )\n }\n\n const button = (active, onClick) => (\n \n {selected.name}\n \n )\n\n const menu = onCollapse => (\n {items}\n )\n\n return (\n \n )\n}\n\nexport default AuthMethodTypeDropdown\n","// Libraries\nimport React, {FC, ChangeEvent} from 'react'\n\n// Components\nimport {\n Input,\n FormElement,\n InputType,\n Panel,\n Grid,\n Columns,\n} from '@influxdata/clockface'\nimport MethodTypeDropdown from 'src/notifications/endpoints/components/MethodTypeDropdown'\nimport AuthMethodTypeDropdown from 'src/notifications/endpoints/components/AuthMethodTypeDropdown'\n\n// Types\nimport {HTTPNotificationEndpoint} from 'src/types'\n\ninterface Props {\n url: string\n token?: string\n username?: string\n password?: string\n method?: HTTPNotificationEndpoint['method']\n authMethod?: HTTPNotificationEndpoint['authMethod']\n contentTemplate: string\n onChange: (e: ChangeEvent) => void\n onChangeParameter: (key: string) => (value: string) => void\n}\n\nconst EndpointOptionsHTTP: FC = ({\n url,\n onChange,\n token,\n username,\n password,\n method,\n authMethod,\n onChangeParameter,\n}) => {\n return (\n \n \n

    HTTP Options

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n {authMethod === 'bearer' && (\n \n \n \n \n \n )}\n {authMethod === 'basic' && (\n <>\n \n \n \n \n \n \n \n \n \n \n \n )}\n \n \n \n
    \n )\n}\n\nexport default EndpointOptionsHTTP\n","// Libraries\nimport React, {FC, ChangeEvent} from 'react'\n\n// Components\nimport {\n Input,\n InputType,\n FormElement,\n Panel,\n Grid,\n Columns,\n} from '@influxdata/clockface'\n\ninterface Props {\n token: string\n channel: string\n onChange: (e: ChangeEvent) => void\n}\n\nconst EndpointOptionsTelegram: FC = ({token, channel, onChange}) => {\n return (\n \n \n

    Telegram Options

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default EndpointOptionsTelegram\n","// Libraries\nimport React, {FC, ChangeEvent} from 'react'\n\n// Components\nimport EndpointOptionsSlack from './EndpointOptionsSlack'\nimport EndpointOptionsPagerDuty from './EndpointOptionsPagerDuty'\nimport EndpointOptionsHTTP from './EndpointOptionsHTTP'\nimport EndpointOptionsTelegram from './EndpointOptionsTelegram'\n\n// Types\nimport {\n NotificationEndpoint,\n SlackNotificationEndpoint,\n PagerDutyNotificationEndpoint,\n HTTPNotificationEndpoint,\n TelegramNotificationEndpoint,\n} from 'src/types'\n\ninterface Props {\n endpoint: NotificationEndpoint\n onChange: (e: ChangeEvent) => void\n onChangeParameter: (key: string) => (value: string) => void\n}\n\nconst EndpointOptions: FC = ({\n endpoint,\n onChange,\n onChangeParameter,\n}) => {\n switch (endpoint.type) {\n case 'slack': {\n const {url} = endpoint as SlackNotificationEndpoint\n return \n }\n case 'pagerduty': {\n const {clientURL, routingKey} = endpoint as PagerDutyNotificationEndpoint\n return (\n \n )\n }\n case 'telegram': {\n const {token, channel} = endpoint as TelegramNotificationEndpoint\n return (\n \n )\n }\n case 'http': {\n const {\n url,\n token,\n username,\n password,\n method,\n authMethod,\n contentTemplate,\n } = endpoint as HTTPNotificationEndpoint\n return (\n \n )\n }\n\n default:\n throw new Error(\n `Unknown endpoint type for endpoint: ${JSON.stringify(\n endpoint,\n null,\n 2\n )}`\n )\n }\n}\n\nexport default EndpointOptions\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {Dropdown} from '@influxdata/clockface'\n\n// Utils\nimport {extractBlockedEndpoints} from 'src/cloud/utils/limits'\n\n// Types\nimport {NotificationEndpointType, AppState} from 'src/types'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\ninterface EndpointType {\n id: NotificationEndpointType\n type: NotificationEndpointType\n name: string\n}\n\nfunction isFlaggedOn(type: string) {\n if (type === 'telegram') {\n return isFlagEnabled('notification-endpoint-telegram')\n }\n return true\n}\n\ninterface StateProps {\n blockedEndpoints: string[]\n}\n\ninterface OwnProps {\n selectedType: string\n onSelectType: (type: NotificationEndpointType) => void\n}\n\ntype Props = OwnProps & StateProps\n\nconst types: EndpointType[] = [\n {name: 'HTTP', type: 'http', id: 'http'},\n {name: 'Slack', type: 'slack', id: 'slack'},\n {name: 'Pagerduty', type: 'pagerduty', id: 'pagerduty'},\n {name: 'Telegram', type: 'telegram', id: 'telegram'},\n]\n\nconst EndpointTypeDropdown: FC = ({\n selectedType,\n onSelectType,\n blockedEndpoints,\n}) => {\n const items = types\n .filter(({type}) => !blockedEndpoints.includes(type) && isFlaggedOn(type))\n .map(({id, type, name}) => (\n \n {name}\n \n ))\n\n const selected = types.find(t => t.type === selectedType)\n\n if (!selected) {\n throw new Error(\n 'Incorrect endpoint type provided to '\n )\n }\n\n const button = (active, onClick) => (\n \n {selected.name}\n \n )\n\n const menu = onCollapse => (\n {items}\n )\n\n return (\n \n )\n}\n\nconst mstp = ({cloud: {limits}}: AppState) => {\n return {\n blockedEndpoints: extractBlockedEndpoints(limits),\n }\n}\n\nexport default connect(mstp)(EndpointTypeDropdown)\n","// Libraries\nimport React, {useState, FC} from 'react'\n\n// Components\nimport {\n Button,\n ComponentColor,\n ComponentStatus,\n Overlay,\n} from '@influxdata/clockface'\n\n// Hooks\nimport {useEndpointState} from './EndpointOverlayProvider'\n\n// Types\nimport {NotificationEndpoint, RemoteDataState} from 'src/types'\n\ninterface Props {\n saveButtonText: string\n onSave: (endpoint: NotificationEndpoint) => void\n onCancel: () => void\n onSetErrorMessage: (error: string) => void\n}\n\nconst EndpointOverlayFooter: FC = ({\n saveButtonText,\n onSave,\n onCancel,\n onSetErrorMessage,\n}) => {\n const endpoint = useEndpointState()\n\n const [saveStatus, setSaveStatus] = useState(RemoteDataState.NotStarted)\n\n const handleSave = () => {\n if (saveStatus === RemoteDataState.Loading) {\n return\n }\n\n try {\n setSaveStatus(RemoteDataState.Loading)\n onSetErrorMessage(null)\n\n onSave(endpoint)\n } catch (e) {\n setSaveStatus(RemoteDataState.Error)\n onSetErrorMessage(e.message)\n }\n }\n\n const buttonStatus =\n saveStatus === RemoteDataState.Loading\n ? ComponentStatus.Loading\n : ComponentStatus.Default\n\n return (\n \n \n \n \n )\n}\n\nexport default EndpointOverlayFooter\n","// Libraries\nimport React, {FC, ChangeEvent, useState} from 'react'\n\n// Components\nimport {\n Grid,\n Form,\n Input,\n TextArea,\n Overlay,\n Columns,\n Alert,\n ComponentColor,\n IconFont,\n} from '@influxdata/clockface'\nimport EndpointOptions from 'src/notifications/endpoints/components/EndpointOptions'\nimport EndpointTypeDropdown from 'src/notifications/endpoints/components/EndpointTypeDropdown'\nimport EndpointOverlayFooter from 'src/notifications/endpoints/components/EndpointOverlayFooter'\n\n// Hooks\nimport {useEndpointReducer} from './EndpointOverlayProvider'\n\n// Types\nimport {NotificationEndpointType, NotificationEndpoint} from 'src/types'\n\ninterface Props {\n onSave: (endpoint: NotificationEndpoint) => void\n onCancel: () => void\n saveButtonText: string\n}\n\nconst EndpointOverlayContents: FC = ({\n onSave,\n saveButtonText,\n onCancel,\n}) => {\n const [endpoint, dispatch] = useEndpointReducer()\n const [errorMessage, setErrorMessage] = useState(null)\n\n const handleChange = (\n e: ChangeEvent\n ) => {\n const {name, value} = e.target\n dispatch({\n type: 'UPDATE_ENDPOINT',\n endpoint: {...endpoint, [name]: value},\n })\n }\n\n const handleChangeParameter = (key: string) => (value: string) => {\n dispatch({\n type: 'UPDATE_ENDPOINT',\n endpoint: {...endpoint, [key]: value},\n })\n }\n\n const handleSelectType = (type: NotificationEndpointType) => {\n dispatch({\n type: 'UPDATE_ENDPOINT_TYPE',\n endpoint: {...endpoint, type} as NotificationEndpoint,\n })\n }\n\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {errorMessage && (\n \n {errorMessage}\n \n )}\n \n \n \n \n \n \n )\n}\n\nexport default EndpointOverlayContents\n","// Libraries\nimport React, {FC, useMemo} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Actions\nimport {createEndpoint} from 'src/notifications/endpoints/actions/thunks'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport {EndpointOverlayProvider} from 'src/notifications/endpoints/components/EndpointOverlayProvider'\nimport EndpointOverlayContents from 'src/notifications/endpoints/components/EndpointOverlayContents'\n\n// Constants\nimport {NEW_ENDPOINT_DRAFT} from 'src/alerting/constants'\nimport {NotificationEndpoint} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = RouteComponentProps<{orgID: string}> & ReduxProps\n\nconst NewRuleOverlay: FC = ({match, history, onCreateEndpoint}) => {\n const {orgID} = match.params\n\n const handleDismiss = () => {\n history.push(`/orgs/${orgID}/alerting`)\n }\n\n const handleCreateEndpoint = (endpoint: NotificationEndpoint) => {\n onCreateEndpoint(endpoint)\n handleDismiss()\n }\n\n const initialState = useMemo(() => ({...NEW_ENDPOINT_DRAFT, orgID}), [orgID])\n\n return (\n \n \n \n \n \n \n \n \n )\n}\n\nconst mdtp = {\n onCreateEndpoint: createEndpoint,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(NewRuleOverlay))\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Constants\nimport {getEndpointFailed} from 'src/shared/copy/notifications'\n\n// Actions\nimport {updateEndpoint} from 'src/notifications/endpoints/actions/thunks'\nimport {notify} from 'src/shared/actions/notifications'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport {EndpointOverlayProvider} from 'src/notifications/endpoints/components/EndpointOverlayProvider'\nimport EndpointOverlayContents from 'src/notifications/endpoints/components/EndpointOverlayContents'\n\n// Types\nimport {NotificationEndpoint, AppState, ResourceType} from 'src/types'\n\n// Utils\nimport {getByID} from 'src/resources/selectors'\n\ntype ReduxProps = ConnectedProps\ntype RouterProps = RouteComponentProps<{orgID: string; endpointID: string}>\ntype Props = RouterProps & ReduxProps\n\nconst EditEndpointOverlay: FC = ({\n match,\n history,\n onUpdateEndpoint,\n onNotify,\n endpoint,\n}) => {\n const handleDismiss = () => {\n history.push(`/orgs/${match.params.orgID}/alerting`)\n }\n\n if (!endpoint) {\n onNotify(getEndpointFailed(match.params.endpointID))\n handleDismiss()\n return null\n }\n\n const handleEditEndpoint = (endpoint: NotificationEndpoint) => {\n onUpdateEndpoint(endpoint)\n\n handleDismiss()\n }\n\n return (\n \n \n \n \n \n \n \n \n \n )\n}\n\nconst mdtp = {\n onUpdateEndpoint: updateEndpoint,\n onNotify: notify,\n}\n\nconst mstp = (state: AppState, {match}: RouterProps) => {\n const endpoint = getByID(\n state,\n ResourceType.NotificationEndpoints,\n match.params.endpointID\n )\n\n return {endpoint}\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default withRouter(connector(EditEndpointOverlay))\n","// Libraries\nimport React, {FunctionComponent, useState} from 'react'\nimport {Switch, Route} from 'react-router-dom'\n\n//Components\nimport {Page, SelectGroup, ButtonShape} from '@influxdata/clockface'\nimport ChecksColumn from 'src/checks/components/ChecksColumn'\nimport RulesColumn from 'src/notifications/rules/components/RulesColumn'\nimport EndpointsColumn from 'src/notifications/endpoints/components/EndpointsColumn'\nimport GetAssetLimits from 'src/cloud/components/GetAssetLimits'\nimport RateLimitAlert from 'src/cloud/components/RateLimitAlert'\nimport GetResources from 'src/resources/components/GetResources'\nimport NewThresholdCheckEO from 'src/checks/components/NewThresholdCheckEO'\nimport NewDeadmanCheckEO from 'src/checks/components/NewDeadmanCheckEO'\nimport EditCheckEO from 'src/checks/components/EditCheckEO'\nimport NewRuleOverlay from 'src/notifications/rules/components/NewRuleOverlay'\nimport EditRuleOverlay from 'src/notifications/rules/components/EditRuleOverlay'\nimport NewEndpointOverlay from 'src/notifications/endpoints/components/NewEndpointOverlay'\nimport EditEndpointOverlay from 'src/notifications/endpoints/components/EditEndpointOverlay'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Types\nimport {ResourceType} from 'src/types'\n\nconst alertsPath = '/orgs/:orgID/alerting'\n\ntype ActiveColumn = 'checks' | 'endpoints' | 'rules'\n\nconst AlertingIndex: FunctionComponent = () => {\n const [activeColumn, setActiveColumn] = useState('checks')\n\n const pageContentsClassName = `alerting-index alerting-index__${activeColumn}`\n\n const handleTabClick = (selectGroupOptionID: ActiveColumn): void => {\n setActiveColumn(selectGroupOptionID)\n }\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n Checks\n \n \n Notification Endpoints\n \n \n Notification Rules\n \n \n
    \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default AlertingIndex\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport SearchBar from 'src/alerting/components/SearchBar'\n\n// Types\nimport {EventViewerChildProps} from 'src/eventViewer/types'\n\n// Constants\nimport {EXAMPLE_STATUS_SEARCHES} from 'src/alerting/constants/history'\n\ninterface Props {\n eventViewerProps: EventViewerChildProps\n}\n\nconst CheckHistoryControls: FC = ({eventViewerProps}) => {\n return (\n \n )\n}\n\nexport default CheckHistoryControls\n","// Libraries\nimport React, {FC, createContext, useState} from 'react'\nimport {get} from 'lodash'\n\n// Components\nimport {Plot} from '@influxdata/giraffe'\nimport CheckPlot from 'src/shared/components/CheckPlot'\nimport EmptyQueryView, {ErrorFormat} from 'src/shared/components/EmptyQueryView'\nimport TimeSeries from 'src/shared/components/TimeSeries'\nimport ViewLoadingSpinner from 'src/shared/components/ViewLoadingSpinner'\n\n// Types\nimport {ResourceIDs} from 'src/checks/reducers'\nimport {Check, TimeZone, CheckViewProperties} from 'src/types'\n\n// Utils\nimport {createView} from 'src/views/helpers'\nimport {checkResultsLength} from 'src/shared/utils/vis'\n\nexport const ResourceIDsContext = createContext(null)\n\ninterface OwnProps {\n check: Check\n timeZone: TimeZone\n}\n\ntype Props = OwnProps\n\nconst CheckHistoryVisualization: FC = ({check, timeZone}) => {\n const view = createView(get(check, 'threshold'))\n\n const [submitToken] = useState(0)\n const [manualRefresh] = useState(0)\n\n return (\n \n {({giraffeResult, loading, errorMessage, isInitialFetch, statuses}) => {\n return (\n <>\n \n \n \n {config => }\n \n \n \n )\n }}\n \n )\n}\n\nexport default CheckHistoryVisualization\n","// Libraries\nimport React, {useMemo, FC} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport EventViewer from 'src/eventViewer/components/EventViewer'\nimport CheckHistoryControls from 'src/checks/components/CheckHistoryControls'\nimport CheckHistoryVisualization from 'src/checks/components/CheckHistoryVisualization'\nimport AlertHistoryQueryParams from 'src/alerting/components/AlertHistoryQueryParams'\nimport EventTable from 'src/eventViewer/components/EventTable'\nimport GetResources from 'src/resources/components/GetResources'\nimport CloudUpgradeButton from 'src/shared/components/CloudUpgradeButton'\n\n//Context\nimport {ResourceIDsContext} from 'src/alerting/components/AlertHistoryIndex'\n\n// Constants\nimport {STATUS_FIELDS} from 'src/alerting/constants/history'\n\n// Utils\nimport {loadStatuses, getInitialState} from 'src/alerting/utils/history'\nimport {getCheckIDs} from 'src/checks/selectors'\nimport {getTimeZone} from 'src/dashboards/selectors'\n\n// Types\nimport {ResourceIDs} from 'src/checks/reducers'\nimport {AppState, Check, TimeZone, ResourceType} from 'src/types'\nimport {getByID} from 'src/resources/selectors'\nimport {RouteComponentProps} from 'react-router-dom'\n\ninterface StateProps {\n check: Check\n timeZone: TimeZone\n resourceIDs: ResourceIDs\n}\n\ntype Props = RouteComponentProps<{orgID: string; checkID: string}> & StateProps\n\nconst CheckHistory: FC = ({\n match: {\n params: {orgID},\n },\n check,\n timeZone,\n resourceIDs,\n}) => {\n const loadRows = useMemo(() => options => loadStatuses(orgID, options), [\n orgID,\n ])\n const historyType = 'statuses'\n const fields = STATUS_FIELDS\n return (\n \n \n \n {props => (\n \n \n \n \n \n \n \n \n \n \n \n \n
    \n {check.type !== 'custom' && (\n \n )}\n
    \n \n
    \n
    \n \n \n )}\n
    \n
    \n
    \n )\n}\n\nconst mstp = (state: AppState, props: Props) => {\n const timeZone = getTimeZone(state)\n const checkIDs = getCheckIDs(state)\n const check = getByID(\n state,\n ResourceType.Checks,\n props.match.params.checkID\n )\n\n const resourceIDs = {\n checkIDs,\n endpointIDs: null,\n ruleIDs: null,\n }\n\n return {check, timeZone, resourceIDs}\n}\n\nexport default connect(mstp)(CheckHistory)\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Member} from 'src/types'\nimport {Context} from 'src/clockface'\n\nimport CloudExclude from 'src/shared/components/cloud/CloudExclude'\nimport {IconFont, ComponentColor} from '@influxdata/clockface'\n\ninterface Props {\n member: Member\n onDelete: (member: Member) => void\n}\n\nexport default class MemberContextMenu extends PureComponent {\n public render() {\n const {member} = this.props\n\n return (\n \n \n \n \n \n \n \n )\n }\n\n private handleDelete = () => {\n const {member, onDelete} = this.props\n onDelete(member)\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Member} from 'src/types'\nimport {ResourceCard} from '@influxdata/clockface'\nimport MemberContextMenu from 'src/members/components/MemberContextMenu'\n\ninterface Props {\n member: Member\n onDelete: (member: Member) => void\n}\n\nexport default class MemberCard extends PureComponent {\n public render() {\n const {member, onDelete} = this.props\n\n return (\n }\n >\n \n \n <>Role: {member.role}\n \n \n )\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport {ResourceList} from '@influxdata/clockface'\nimport MemberCard from 'src/members/components/MemberCard'\n\n// Types\nimport {Member} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {Sort} from '@influxdata/clockface'\n\n// Selectors\nimport {getSortedResources} from 'src/shared/utils/sort'\n\ntype SortKey = keyof Member\n\ninterface Props {\n members: Member[]\n emptyState: JSX.Element\n onDelete: (member: Member) => void\n sortKey: string\n sortDirection: Sort\n sortType: SortTypes\n onClickColumn: (nextSort: Sort, sortKey: SortKey) => void\n}\n\nexport default class MemberList extends PureComponent {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n public render() {\n const {sortKey, sortDirection, onClickColumn} = this.props\n\n return (\n \n \n \n \n \n \n {this.rows}\n \n \n )\n }\n\n private get headerKeys(): SortKey[] {\n return ['name', 'role']\n }\n\n private get rows(): JSX.Element[] {\n const {members, sortKey, sortDirection, sortType, onDelete} = this.props\n const sortedMembers = this.memGetSortedResources(\n members,\n sortKey,\n sortDirection,\n sortType\n )\n\n return sortedMembers.map(member => (\n \n ))\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n// Libraries\nimport {isEmpty} from 'lodash'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport TabbedPageHeader from 'src/shared/components/tabbed_page/TabbedPageHeader'\nimport {EmptyState, Sort} from '@influxdata/clockface'\nimport SearchWidget from 'src/shared/components/search_widget/SearchWidget'\nimport MemberList from 'src/members/components/MemberList'\nimport FilterList from 'src/shared/components/FilterList'\n\n// Actions\nimport {deleteMember} from 'src/members/actions/thunks'\n\n// Types\nimport {ComponentSize} from '@influxdata/clockface'\nimport {AppState, Member, ResourceType} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\ninterface State {\n searchTerm: string\n sortKey: SortKey\n sortDirection: Sort\n sortType: SortTypes\n}\n\ntype SortKey = keyof Member\n\nconst FilterMembers = FilterList()\n\nclass Members extends PureComponent<\n Props & RouteComponentProps<{orgID: string}>,\n State\n> {\n constructor(props) {\n super(props)\n this.state = {\n searchTerm: '',\n sortKey: 'name',\n sortDirection: Sort.Ascending,\n sortType: SortTypes.String,\n }\n }\n public render() {\n const {searchTerm, sortKey, sortDirection, sortType} = this.state\n\n return (\n <>\n \n }\n />\n \n {ms => (\n \n )}\n \n \n )\n }\n\n private handleClickColumn = (nextSort: Sort, sortKey: SortKey) => {\n const sortType = SortTypes.String\n this.setState({sortKey, sortDirection: nextSort, sortType})\n }\n\n private removeMember = (member: Member) => {\n const {onRemoveMember} = this.props\n onRemoveMember(member)\n }\n\n private handleFilterChange = (searchTerm: string): void => {\n this.setState({searchTerm})\n }\n\n private get emptyState(): JSX.Element {\n const {searchTerm} = this.state\n\n if (isEmpty(searchTerm)) {\n return (\n \n \n Looks like there aren't any Members.\n \n \n )\n }\n\n return (\n \n No Members match your query\n \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n const members = getAll(state, ResourceType.Members)\n return {members}\n}\n\nconst mdtp = {\n onRemoveMember: deleteMember,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(Members))\n","import React, {Component} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport OrgTabbedPage from 'src/organizations/components/OrgTabbedPage'\nimport OrgHeader from 'src/organizations/components/OrgHeader'\nimport {Page} from '@influxdata/clockface'\nimport GetResources from 'src/resources/components/GetResources'\nimport Members from 'src/members/components/Members'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\nimport {getByID} from 'src/resources/selectors'\n\n// Types\nimport {AppState, Organization, ResourceType} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype RouterProps = RouteComponentProps<{orgID: string}>\ntype Props = RouterProps & ReduxProps\n\n@ErrorHandling\nclass MembersIndex extends Component {\n constructor(props) {\n super(props)\n }\n\n public render() {\n const {org, children} = this.props\n\n return (\n <>\n \n \n \n \n \n \n \n \n {children}\n \n )\n }\n}\n\nconst mstp = (state: AppState, props: RouterProps) => {\n const org = getByID(\n state,\n ResourceType.Orgs,\n props.match.params.orgID\n )\n\n return {\n org,\n }\n}\n\nconst connector = connect(mstp)\n\nexport default connector(withRouter(MembersIndex))\n","import {FC} from 'react'\nimport {RouteComponentProps} from 'react-router-dom'\n\nconst RouteToDashboardList: FC> = ({\n history,\n match,\n}) => {\n history.push(`/orgs/${match.params.orgID}/dashboards-list`)\n return null\n}\n\nexport default RouteToDashboardList\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {Page, SquareGrid, ComponentSize} from '@influxdata/clockface'\nimport WriteDataItem from 'src/writeData/components/WriteDataItem'\n\n// Constants\nimport {WriteDataSection} from 'src/writeData/constants'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\ninterface Props {\n content: WriteDataSection\n}\n\nconst WriteDataIndexView: FC = ({children, content}) => {\n const {items, name} = content\n\n return (\n <>\n \n \n \n \n \n \n {items.map(item => (\n \n ))}\n \n \n \n {children}\n \n )\n}\n\nexport default WriteDataIndexView\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport WriteDataIndexView from 'src/writeData/components/WriteDataIndexView'\n\n// Constants\nimport WRITE_DATA_CLIENT_LIBRARIES_SECTION from 'src/writeData/constants/contentClientLibraries'\n\nconst ClientLibrariesIndex: FC = ({children}) => {\n return (\n <>\n \n {children}\n \n )\n}\n\nexport default ClientLibrariesIndex\n","// Libraries\nimport React, {FC, ReactNode, createContext, useState} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Utils\nimport {getAll} from 'src/resources/selectors'\nimport {getOrg} from 'src/organizations/selectors'\n\n// Types\nimport {\n AppState,\n ResourceType,\n Bucket,\n Authorization,\n Organization,\n} from 'src/types'\n\ninterface ComponentProps {\n children: ReactNode\n}\n\ntype ReduxProps = ConnectedProps\n\ntype Props = ComponentProps & ReduxProps\n\nexport interface WriteDataDetailsContextType {\n organization: Organization\n origin: string\n bucket: Bucket\n buckets: Bucket[]\n changeBucket: (bucket: Bucket) => void\n token: Authorization\n tokens: Authorization[]\n changeToken: (token: Authorization) => void\n}\n\nexport const DEFAULT_WRITE_DATA_DETAILS_CONTEXT: WriteDataDetailsContextType = {\n organization: null,\n origin: '',\n bucket: null,\n buckets: [],\n changeBucket: () => {},\n token: null,\n tokens: [],\n changeToken: () => {},\n}\n\nexport const WriteDataDetailsContext = createContext<\n WriteDataDetailsContextType\n>(DEFAULT_WRITE_DATA_DETAILS_CONTEXT)\n\nconst WriteDataDetailsContextProvider: FC = ({\n organization,\n buckets,\n tokens,\n children,\n}) => {\n const userBuckets = buckets.filter(b => b.type === 'user')\n const initialToken = tokens.length ? tokens[0] : null\n const [bucket, changeBucket] = useState(userBuckets[0])\n const [token, changeToken] = useState(initialToken)\n const origin = window.location.origin\n\n const value = {\n organization,\n origin,\n bucket,\n buckets: userBuckets,\n changeBucket,\n token,\n tokens,\n changeToken,\n }\n\n return (\n \n {children}\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const buckets = getAll(state, ResourceType.Buckets)\n const tokens = getAll(state, ResourceType.Authorizations)\n const organization = getOrg(state)\n\n return {\n buckets,\n tokens,\n organization,\n }\n}\n\nconst connector = connect(mstp)\n\nexport default connector(WriteDataDetailsContextProvider)\n","// Libraries\nimport React, {FC, useContext} from 'react'\nimport {useParams} from 'react-router-dom'\n\n// Contexts\nimport {WriteDataDetailsContext} from 'src/writeData/components/WriteDataDetailsContext'\n\n// Components\nimport CodeSnippet from 'src/shared/components/CodeSnippet'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\ninterface Props {\n code: string\n language: string\n}\n\n// NOTE: this is just a simplified form of the resig classic:\n// https://johnresig.com/blog/javascript-micro-templating/\nfunction transform(template, vars) {\n const output = new Function(\n 'vars',\n 'var output=' +\n JSON.stringify(template).replace(\n /<%=(.+?)%>/g,\n '\"+(vars[\"$1\".trim()])+\"'\n ) +\n ';return output;'\n )\n return output(vars)\n}\n\nconst WriteDataCodeSnippet: FC = ({code, language}) => {\n const {contentID} = useParams()\n const {bucket, token, origin, organization} = useContext(\n WriteDataDetailsContext\n )\n\n const vars = {\n token: token ? token.token : '',\n bucket: bucket.name,\n server: origin,\n org: organization.name,\n }\n\n const copyText = transform(code, vars)\n\n const sendCopyEvent = (): void => {\n event('dataSources_copyCode', {dataSourceName: `${contentID}`})\n }\n\n return (\n \n )\n}\n\nexport default WriteDataCodeSnippet\n","// Libraries\nimport React, {FC, ReactNode} from 'react'\nimport {useParams} from 'react-router-dom'\nimport ReactMarkdown, {Renderer} from 'react-markdown'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport WriteDataCodeSnippet from 'src/writeData/components/WriteDataCodeSnippet'\nimport WriteDataDetailsContextProvider from 'src/writeData/components/WriteDataDetailsContext'\nimport GetResources from 'src/resources/components/GetResources'\n\n// Types\nimport {WriteDataSection} from 'src/writeData/constants'\nimport {ResourceType} from 'src/types'\n\n// Graphics\nimport placeholderLogo from 'src/writeData/graphics/placeholderLogo.svg'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Styles\nimport 'src/writeData/components/WriteDataDetailsView.scss'\n\ninterface Props {\n section: WriteDataSection\n children?: ReactNode\n}\n\nconst codeRenderer: Renderer = (props: any): any => {\n return \n}\n\nconst WriteDataDetailsView: FC = ({section, children}) => {\n const {contentID} = useParams()\n const {name, markdown, image} = section.items.find(\n item => item.id === contentID\n )\n\n let thumbnail = (\n \n )\n let pageContent = <>\n\n if (image) {\n thumbnail = \n }\n\n if (markdown) {\n pageContent = (\n \n )\n }\n\n return (\n \n \n \n \n \n \n \n
    \n
    {thumbnail}
    \n \n {children}\n {pageContent}\n
    \n \n
    \n \n
    \n \n )\n}\n\nexport default WriteDataDetailsView\n","// Libraries\nimport React, {FC, useContext} from 'react'\n\n// Contexts\nimport {WriteDataDetailsContext} from 'src/writeData/components/WriteDataDetailsContext'\n\n// Components\nimport {\n List,\n ComponentSize,\n Heading,\n HeadingElement,\n Gradients,\n InfluxColors,\n EmptyState,\n} from '@influxdata/clockface'\n\nconst WriteDataHelperTokens: FC = () => {\n const {token, tokens, changeToken} = useContext(WriteDataDetailsContext)\n\n let body = (\n \n

    \n You don't have any Tokens\n

    \n
    \n )\n\n const isSelected = (tokenID: string): boolean => {\n if (!token) {\n return false\n }\n\n return tokenID === token.id\n }\n\n if (tokens.length) {\n body = (\n \n {tokens.map(t => (\n \n {t.description}\n \n ))}\n \n )\n }\n\n return (\n <>\n \n Token\n \n {body}\n \n )\n}\n\nexport default WriteDataHelperTokens\n","// Libraries\nimport React, {FC, useContext} from 'react'\n\n// Contexts\nimport {WriteDataDetailsContext} from 'src/writeData/components/WriteDataDetailsContext'\n\n// Components\nimport {\n List,\n ComponentSize,\n Heading,\n HeadingElement,\n Gradients,\n InfluxColors,\n EmptyState,\n} from '@influxdata/clockface'\n\nconst WriteDataHelperBuckets: FC = () => {\n const {bucket, buckets, changeBucket} = useContext(WriteDataDetailsContext)\n\n let body = (\n \n

    You don't have any Buckets

    \n
    \n )\n\n const isSelected = (bucketID: string): boolean => {\n if (!bucket) {\n return false\n }\n\n return bucketID === bucket.id\n }\n\n if (buckets.length) {\n body = (\n \n {buckets.map(b => (\n \n {b.name}\n \n ))}\n \n )\n }\n\n return (\n <>\n \n Bucket\n \n {body}\n \n )\n}\n\nexport default WriteDataHelperBuckets\n","// Libraries\nimport React, {FC, useState} from 'react'\n\n// Components\nimport {\n Panel,\n InfluxColors,\n Heading,\n HeadingElement,\n FontWeight,\n Grid,\n Columns,\n Icon,\n IconFont,\n ComponentSize,\n} from '@influxdata/clockface'\nimport WriteDataHelperTokens from 'src/writeData/components/WriteDataHelperTokens'\nimport WriteDataHelperBuckets from 'src/writeData/components/WriteDataHelperBuckets'\n\nconst WriteDataHelper: FC<{}> = () => {\n const [mode, changeMode] = useState<'expanded' | 'collapsed'>('expanded')\n\n const handleToggleClick = (): void => {\n if (mode === 'expanded') {\n changeMode('collapsed')\n } else {\n changeMode('expanded')\n }\n }\n\n return (\n \n \n \n \n \n Code Sample Options\n \n \n \n {mode === 'expanded' && (\n \n

    \n Control how code samples in the documentation are populated with\n system resources. Not all code samples make use of system resources.\n

    \n \n \n \n \n \n \n \n \n \n \n
    \n )}\n
    \n )\n}\n\nexport default WriteDataHelper\n","// Libraries\nimport React, {FC, PureComponent} from 'react'\nimport {Switch, Route} from 'react-router-dom'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport ClientLibrariesIndex from 'src/writeData/components/clientLibraries/ClientLibrariesIndex'\nimport WriteDataDetailsView from 'src/writeData/components/WriteDataDetailsView'\nimport WriteDataHelper from 'src/writeData/components/WriteDataHelper'\n\n// Constants\nimport {ORGS, ORG_ID, CLIENT_LIBS} from 'src/shared/constants/routes'\nimport WRITE_DATA_CLIENT_LIBRARIES_SECTION from 'src/writeData/constants/contentClientLibraries'\n\nconst clientLibPath = `/${ORGS}/${ORG_ID}/load-data/${CLIENT_LIBS}`\n\nconst ClientLibrariesDetailsPage: FC = () => {\n return (\n \n \n \n )\n}\n\n@ErrorHandling\nclass ClientLibrariesPage extends PureComponent {\n public render() {\n const {children} = this.props\n\n return (\n <>\n \n \n \n \n {children}\n \n )\n }\n}\n\nexport default ClientLibrariesPage\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport WriteDataIndexView from 'src/writeData/components/WriteDataIndexView'\n\n// Constants\nimport WRITE_DATA_TELEGRAF_PLUGINS_SECTION from 'src/writeData/constants/contentTelegrafPlugins'\n\nconst TelegrafPluginsIndex: FC = ({children}) => {\n return (\n <>\n \n {children}\n \n )\n}\n\nexport default TelegrafPluginsIndex\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {\n Panel,\n InfluxColors,\n Heading,\n FontWeight,\n HeadingElement,\n} from '@influxdata/clockface'\n\nconst TelegrafPluginsExplainer: FC = () => {\n return (\n \n \n \n Getting Started with Telegraf\n \n \n \n

    \n Telegraf is InfluxData’s data collection agent for collecting and\n reporting metrics. Its vast library of input plugins and\n “plug-and-play” architecture lets you quickly and easily collect\n metrics from many different sources.\n

    \n

    \n You will need to have Telegraf installed in order to use this plugin.\n See our handy{' '}\n \n Installation Guide\n \n

    \n
    \n
    \n )\n}\n\nexport default TelegrafPluginsExplainer\n","// Libraries\nimport React, {FC, PureComponent} from 'react'\nimport {Switch, Route} from 'react-router-dom'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport TelegrafPluginsIndex from 'src/writeData/components/telegrafPlugins/TelegrafPluginsIndex'\nimport TelegrafPluginsExplainer from 'src/writeData/components/telegrafPlugins/TelegrafPluginsExplainer'\nimport WriteDataDetailsView from 'src/writeData/components/WriteDataDetailsView'\n\n// Constants\nimport {ORGS, ORG_ID, TELEGRAF_PLUGINS} from 'src/shared/constants/routes'\nimport WRITE_DATA_TELEGRAF_PLUGINS_SECTION from 'src/writeData/constants/contentTelegrafPlugins'\n\nconst telegrafPluginPath = `/${ORGS}/${ORG_ID}/load-data/${TELEGRAF_PLUGINS}`\n\nconst TelegrafPluginsDetailsPage: FC = () => {\n return (\n \n \n \n )\n}\n\n@ErrorHandling\nclass TelegrafPluginsPage extends PureComponent {\n public render() {\n const {children} = this.props\n\n return (\n <>\n \n \n \n \n {children}\n \n )\n }\n}\n\nexport default TelegrafPluginsPage\n","// Libraries\nimport React, {useContext} from 'react'\nimport {useHistory, useParams} from 'react-router-dom'\n\n// Components\nimport {Button, IconFont, ComponentColor} from '@influxdata/clockface'\nimport {NotebookListContext} from 'src/notebooks/context/notebook.list'\n\nconst FlowCreateButton = () => {\n const history = useHistory()\n const {orgID} = useParams()\n const {add} = useContext(NotebookListContext)\n\n const handleCreate = async () => {\n const id = await add()\n history.push(`/orgs/${orgID}/notebooks/${id}`)\n }\n\n return (\n \n )\n}\n\nexport default FlowCreateButton\n","import React from 'react'\nimport {ComponentSize, EmptyState} from '@influxdata/clockface'\nimport FlowCreateButton from './FlowCreateButton'\n\nconst FlowsIndexEmpty = () => {\n return (\n \n \n Looks like there aren't any Flows, why not create one?\n \n \n \n )\n}\n\nexport default FlowsIndexEmpty\n","import React, {FC} from 'react'\nimport {useParams, useHistory} from 'react-router-dom'\n\n// Components\nimport {ResourceCard} from '@influxdata/clockface'\n\ninterface Props {\n id: string\n name: string\n}\n\nconst FlowCard: FC = ({id, name}) => {\n const {orgID} = useParams()\n const history = useHistory()\n\n const handleClick = () => {\n history.push(`/orgs/${orgID}/notebooks/${id}`)\n }\n\n return (\n \n \n \n )\n}\n\nexport default FlowCard\n","import React, {useContext} from 'react'\n\nimport {ResourceList, Grid, Columns} from '@influxdata/clockface'\nimport {NotebookListContext} from 'src/notebooks/context/notebook.list'\nimport FlowsIndexEmpty from 'src/notebooks/components/FlowsIndexEmpty'\n\nimport FlowCard from 'src/notebooks/components/FlowCard'\n\nconst FlowCards = () => {\n const {notebooks} = useContext(NotebookListContext)\n return (\n \n \n \n \n }>\n {Object.entries(notebooks).map(([id, {name}]) => {\n return \n })}\n \n \n
    \n
    \n
    \n )\n}\n\nexport default FlowCards\n","// Libraries\nimport React from 'react'\n\n// Components\nimport {Page, PageHeader} from '@influxdata/clockface'\nimport FlowCreateButton from 'src/notebooks/components/FlowCreateButton'\nimport NotebookListProvider from 'src/notebooks/context/notebook.list'\nimport FlowCards from 'src/notebooks/components/FlowCards'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\nconst FlowsIndex = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default FlowsIndex\n","// Libraries\nimport React, {useEffect, useState, FC} from 'react'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\nimport {Route, Switch} from 'react-router-dom'\n\n// Components\nimport {MePage} from 'src/me'\nimport TasksPage from 'src/tasks/containers/TasksPage'\nimport TaskPage from 'src/tasks/containers/TaskPage'\nimport TaskRunsPage from 'src/tasks/components/TaskRunsPage'\nimport TaskEditPage from 'src/tasks/containers/TaskEditPage'\nimport DataExplorerPage from 'src/dataExplorer/components/DataExplorerPage'\nimport DashboardsIndex from 'src/dashboards/components/dashboard_index/DashboardsIndex'\nimport DashboardContainer from 'src/dashboards/components/DashboardContainer'\nimport NotebookPage from 'src/notebooks/components/Notebook'\nimport BucketsIndex from 'src/buckets/containers/BucketsIndex'\nimport TokensIndex from 'src/authorizations/containers/TokensIndex'\nimport TelegrafsPage from 'src/telegrafs/containers/TelegrafsPage'\nimport ScrapersIndex from 'src/scrapers/containers/ScrapersIndex'\nimport WriteDataPage from 'src/writeData/containers/WriteDataPage'\nimport VariablesIndex from 'src/variables/containers/VariablesIndex'\nimport TemplatesIndex from 'src/templates/containers/TemplatesIndex'\nimport LabelsIndex from 'src/labels/containers/LabelsIndex'\nimport OrgProfilePage from 'src/organizations/containers/OrgProfilePage'\nimport AlertingIndex from 'src/alerting/components/AlertingIndex'\nimport AlertHistoryIndex from 'src/alerting/components/AlertHistoryIndex'\nimport CheckHistory from 'src/checks/components/CheckHistory'\nimport MembersIndex from 'src/members/containers/MembersIndex'\nimport RouteToDashboardList from 'src/dashboards/components/RouteToDashboardList'\nimport ClientLibrariesPage from 'src/writeData/containers/ClientLibrariesPage'\nimport TelegrafPluginsPage from 'src/writeData/containers/TelegrafPluginsPage'\nimport FlowsIndex from 'src/notebooks/components/FlowsIndex'\n\n// Types\nimport {AppState, Organization, ResourceType} from 'src/types'\n\n// Constants\nimport {CLOUD} from 'src/shared/constants'\nimport {\n LOAD_DATA,\n TELEGRAF_PLUGINS,\n CLIENT_LIBS,\n} from 'src/shared/constants/routes'\n\n// Actions\nimport {setOrg} from 'src/organizations/actions/creators'\n\n// Utils\nimport {updateReportingContext} from 'src/cloud/utils/reporting'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\n// Decorators\nimport {RouteComponentProps} from 'react-router-dom'\nimport {\n RemoteDataState,\n SpinnerContainer,\n TechnoSpinner,\n} from '@influxdata/clockface'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\ninterface OwnProps {\n children: React.ReactElement\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps & RouteComponentProps<{orgID: string}>\n\nconst SetOrg: FC = ({\n match: {\n params: {orgID},\n },\n orgs,\n history,\n}) => {\n const [loading, setLoading] = useState(RemoteDataState.Loading)\n const dispatch = useDispatch()\n const foundOrg = orgs.find(o => o.id === orgID)\n const firstOrgID = orgs[0]?.id\n\n useEffect(() => {\n // does orgID from url match any orgs that exist\n if (foundOrg) {\n dispatch(setOrg(foundOrg))\n updateReportingContext({orgID: orgID})\n setLoading(RemoteDataState.Done)\n return\n }\n updateReportingContext({orgID: null})\n\n if (!orgs.length) {\n history.push(`/no-orgs`)\n return\n }\n\n // else default to first org\n history.push(`/orgs/${firstOrgID}`)\n }, [orgID, firstOrgID, foundOrg, dispatch, history, orgs.length])\n\n const orgPath = '/orgs/:orgID'\n\n return (\n }>\n \n {/* Alerting */}\n \n \n \n\n {/* Tasks */}\n \n \n \n \n\n {/* Data Explorer */}\n \n\n {/* Dashboards */}\n \n \n \n\n {/* Flows */}\n {isFlagEnabled('notebooks') && (\n \n )}\n\n {isFlagEnabled('notebooks') && (\n \n )}\n\n {/* Write Data */}\n \n \n \n\n {/* Load Data */}\n \n \n \n \n \n\n {/* Settings */}\n \n \n \n \n\n {/* Members */}\n {!CLOUD && (\n \n )}\n\n {/* About */}\n \n\n {/* Getting Started */}\n \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const orgs = getAll(state, ResourceType.Orgs)\n\n return {orgs}\n}\n\nconst connector = connect(mstp)\n\nexport default connector(SetOrg)\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {RouteComponentProps, withRouter} from 'react-router-dom'\n\nimport {sample, startCase} from 'lodash'\n\n// Components\nimport {Form, Input, Button, Overlay} from '@influxdata/clockface'\n\n// Types\nimport {Bucket, Organization} from 'src/types'\nimport {\n ButtonType,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\n\n// Actions\nimport {createOrgWithBucket} from 'src/organizations/actions/thunks'\n\ninterface OwnProps {}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps & RouteComponentProps\n\ninterface State {\n org: Organization\n bucket: Bucket\n orgNameInputStatus: ComponentStatus\n bucketNameInputStatus: ComponentStatus\n orgErrorMessage: string\n bucketErrorMessage: string\n}\n\nclass CreateOrgOverlay extends PureComponent {\n constructor(props) {\n super(props)\n this.state = {\n org: {name: ''},\n bucket: {name: '', retentionRules: [], readableRetention: 'forever'},\n orgNameInputStatus: ComponentStatus.Default,\n bucketNameInputStatus: ComponentStatus.Default,\n orgErrorMessage: '',\n bucketErrorMessage: '',\n }\n }\n\n public render() {\n const {\n org,\n orgNameInputStatus,\n orgErrorMessage,\n bucket,\n bucketNameInputStatus,\n bucketErrorMessage,\n } = this.state\n\n return (\n \n \n \n
    \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private get className(): string {\n const {disabled} = this.props\n\n return classnames('context-menu--item', {\n 'context-menu--item__disabled': disabled,\n })\n }\n\n private get description(): JSX.Element {\n const {description} = this.props\n if (description) {\n return
    {description}
    \n }\n }\n\n private handleClick = (): void => {\n const {action, onCollapseMenu, value} = this.props\n\n action(value)\n\n if (onCollapseMenu) {\n onCollapseMenu()\n }\n }\n}\n\nexport default ContextMenuItem\n","// Libraries\nimport React, {Component} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport ContextMenuItem from 'src/clockface/components/context_menu/ContextMenuItem'\nimport {ClickOutside} from 'src/shared/components/ClickOutside'\nimport {Button} from '@influxdata/clockface'\n\n// Types\nimport {\n ComponentColor,\n IconFont,\n ComponentSize,\n ButtonShape,\n} from '@influxdata/clockface'\n\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n children: JSX.Element | JSX.Element[]\n icon: IconFont\n onBoostZIndex?: (boostZIndex: boolean) => void\n text: string\n color: ComponentColor\n shape: ButtonShape\n testID: string\n}\n\ninterface State {\n isExpanded: boolean\n}\n\n@ErrorHandling\nclass ContextMenu extends Component {\n public static defaultProps = {\n color: ComponentColor.Primary,\n shape: ButtonShape.Square,\n text: '',\n testID: 'context-menu',\n }\n\n constructor(props: Props) {\n super(props)\n\n this.state = {\n isExpanded: false,\n }\n }\n\n public render() {\n const {icon, text, shape, color, testID} = this.props\n\n return (\n \n
    \n \n {this.menu}\n
    \n
    \n )\n }\n\n private handleExpandMenu = (): void => {\n const {onBoostZIndex} = this.props\n\n if (onBoostZIndex) {\n onBoostZIndex(true)\n }\n\n this.setState({isExpanded: true})\n }\n\n private handleCollapseMenu = (): void => {\n const {onBoostZIndex} = this.props\n\n if (onBoostZIndex) {\n onBoostZIndex(false)\n }\n\n this.setState({isExpanded: false})\n }\n\n private get menu(): JSX.Element {\n const {children} = this.props\n\n return (\n
    \n
    \n {React.Children.map(children, (child: JSX.Element) => {\n if (child.type === ContextMenuItem) {\n return (\n \n )\n } else {\n return child\n }\n })}\n
    \n
    \n )\n }\n\n private get listClassName(): string {\n const {color} = this.props\n\n return classnames('context-menu--list', {\n [`context-menu--${color}`]: color,\n })\n }\n\n private get menuClassName(): string {\n const {isExpanded} = this.state\n\n return classnames('context-menu--list-container', {open: isExpanded})\n }\n\n private get toggleClassName(): string {\n const {color} = this.props\n const {isExpanded} = this.state\n\n return classnames('context-menu--toggle', {\n [`context-menu--${color}`]: color,\n active: isExpanded,\n })\n }\n}\n\nexport default ContextMenu\n","export enum ComponentColor {\n Default = 'default',\n Primary = 'primary',\n Secondary = 'secondary',\n Success = 'success',\n Warning = 'warning',\n Danger = 'danger',\n Alert = 'alert',\n}\n\nexport enum ComponentSize {\n ExtraSmall = 'xs',\n Small = 'sm',\n Medium = 'md',\n Large = 'lg',\n}\n\nexport enum ComponentStatus {\n Default = 'default',\n Loading = 'loading',\n Error = 'error',\n Valid = 'valid',\n Disabled = 'disabled',\n}\n\nexport enum DropdownMenuColors {\n Amethyst = 'amethyst',\n Malachite = 'malachite',\n Sapphire = 'sapphire',\n Onyx = 'onyx',\n}\n\nexport enum DropdownMenuPosition {\n Above = 'above',\n Below = 'below',\n}\n\nexport type DropdownChild =\n | Array\n | string\n | JSX.Element\n | Element\n\nexport enum ButtonShape {\n Default = 'none',\n Square = 'square',\n StretchToFit = 'stretch',\n}\n\nexport enum ButtonType {\n Button = 'button',\n Submit = 'submit',\n}\n\nexport enum Greys {\n Obsidian = '#0f0e15',\n Raven = '#181820',\n Kevlar = '#202028',\n Castle = '#292933',\n Onyx = '#31313d',\n Pepper = '#383846',\n Smoke = '#434453',\n Graphite = '#545667',\n Storm = '#676978',\n Mountain = '#757888',\n Wolf = '#8e91a1',\n Sidewalk = '#999dab',\n Forge = '#a4a8b6',\n Mist = '#bec2cc',\n Chromium = '#c6cad3',\n Platinum = '#d4d7dd',\n Pearl = '#e7e8eb',\n Whisper = '#eeeff2',\n Cloud = '#f6f6f8',\n Ghost = '#fafafc',\n White = '#ffffff',\n}\n\nexport enum IconFont {\n AddCell = 'add-cell',\n AlertTriangle = 'alert-triangle',\n Alerts = 'alerts',\n Annotate = 'annotate',\n AnnotatePlus = 'annotate-plus',\n AuthZero = 'authzero',\n BarChart = 'bar-chart',\n Bell = 'bell',\n BellRinging = 'bell-ringing',\n BellSolid = 'bell-solid',\n Calendar = 'calendar',\n Capacitor = 'capacitor2',\n CaretDown = 'caret-down',\n CaretLeft = 'caret-left',\n CaretRight = 'caret-right',\n CaretUp = 'caret-up',\n Chat = 'chat',\n Checkmark = 'checkmark',\n Circle = 'circle',\n CircleThick = 'circle-thick',\n Clock = 'clock',\n CogOutline = 'cog-outline',\n CogThick = 'cog-thick',\n Collapse = 'collapse',\n CrownOutline = 'crown-outline',\n CrownSolid = 'crown2',\n Cube = 'cube',\n Cubouniform = 'cubo-uniform',\n CuboNav = 'cubo-nav',\n Dashboards = 'dashboards',\n DashF = 'dash-f',\n DashH = 'dash-h',\n DashJ = 'dash-j',\n Disks = 'disks',\n Download = 'download',\n Duplicate = 'duplicate',\n ExpandA = 'expand-a',\n ExpandB = 'expand-b',\n Export = 'export',\n Eye = 'eye',\n EyeClosed = 'eye-closed',\n EyeOpen = 'eye-open',\n GitHub = 'github',\n Google = 'google',\n GraphLine = 'graphline-2',\n Group = 'group',\n Heroku = 'heroku',\n HerokuSimple = '',\n Import = 'import',\n Link = 'link',\n OAuth = 'oauth',\n Octagon = 'octagon',\n Okta = 'okta',\n Pause = 'pause',\n Pencil = 'pencil',\n Play = 'play',\n Plus = 'plus',\n PlusSkinny = 'plus-skinny',\n Pulse = 'pulse-c',\n Refresh = 'refresh',\n Remove = 'remove',\n Search = 'search',\n Server = 'server2',\n Shuffle = 'shuffle',\n Square = 'square',\n TextBlock = 'text-block',\n Trash = 'trash',\n Triangle = 'triangle',\n User = 'user',\n UserAdd = 'user-add',\n UserOutline = 'user-outline',\n UserRemove = 'user-remove',\n UsersDuo = 'users-duo',\n UsersTrio = 'users-trio',\n Wood = 'wood',\n Wrench = 'wrench',\n Star = 'star',\n Stop = 'stop',\n Zap = 'zap',\n}\n\nexport enum Columns {\n One = 1,\n Two = 2,\n Three = 3,\n Four = 4,\n Five = 5,\n Six = 6,\n Seven = 7,\n Eight = 8,\n Nine = 9,\n Ten = 10,\n Eleven = 11,\n Twelve = 12,\n}\n\nexport enum Alignment {\n Left = 'left',\n Center = 'center',\n Right = 'right',\n}\n\nexport enum Sort {\n Descending = 'desc',\n Ascending = 'asc',\n None = 'none',\n}\n\nexport enum Stack {\n Rows = 'rows',\n Columns = 'columns',\n}\n\nexport enum NavMenuType {\n RouterLink = 'router',\n HTTPLink = 'http',\n ShowDropdown = 'showDropdown',\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport ContextMenu from 'src/clockface/components/context_menu/ContextMenu'\nimport ContextMenuItem from 'src/clockface/components/context_menu/ContextMenuItem'\n\n// Types\nimport {Alignment} from 'src/clockface/types'\n\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n children: JSX.Element | JSX.Element[]\n align: Alignment\n className?: string\n}\n\ninterface State {\n boostZIndex: boolean\n}\n\n@ErrorHandling\nclass Context extends PureComponent {\n public static defaultProps = {\n align: Alignment.Right,\n }\n\n public static Menu = ContextMenu\n public static Item = ContextMenuItem\n\n constructor(props: Props) {\n super(props)\n\n this.state = {\n boostZIndex: false,\n }\n }\n\n public render() {\n const {children} = this.props\n\n return (\n
    \n {React.Children.map(children, (child: JSX.Element) => {\n if (child.type === ContextMenu) {\n return (\n \n )\n } else {\n return child\n }\n })}\n
    \n )\n }\n\n private handleBoostZIndex = (boostZIndex: boolean): void => {\n this.setState({boostZIndex})\n }\n\n private get className(): string {\n const {align, className} = this.props\n const {boostZIndex} = this.state\n\n return classnames('context-menu', {\n [`${className}`]: className,\n 'context-menu--boost-z': boostZIndex,\n 'context-menu--align-left': align === Alignment.Left,\n 'context-menu--align-right': align === Alignment.Right,\n })\n }\n}\n\nexport default Context\n","// API\nimport {\n getReadWriteCardinalityLimits as getReadWriteCardinalityLimitsAJAX,\n getLimits as getLimitsAJAX,\n} from 'src/cloud/apis/limits'\n\n// Actions\nimport {notify} from 'src/shared/actions/notifications'\n\n// Constants\nimport {readLimitReached} from 'src/shared/copy/notifications'\n\n// Types\nimport {\n Bucket,\n GetState,\n Limits,\n RemoteDataState,\n ResourceType,\n ColumnTypes,\n} from 'src/types'\n\n// Selectors\nimport {\n extractDashboardMax,\n extractBucketMax,\n extractTaskMax,\n extractChecksMax,\n extractRulesMax,\n extractEndpointsMax,\n} from 'src/cloud/utils/limits'\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll} from 'src/resources/selectors'\n\nexport enum LimitStatus {\n OK = 'ok',\n EXCEEDED = 'exceeded',\n}\n\nexport type MonitoringLimits = {\n [type in ColumnTypes]: LimitStatus\n}\n\nexport enum ActionTypes {\n SetLimits = 'SET_LIMITS',\n SetLimitsStatus = 'SET_LIMITS_STATUS',\n SetDashboardLimitStatus = 'SET_DASHBOARD_LIMIT_STATUS',\n SetBucketLimitStatus = 'SET_BUCKET_LIMIT_STATUS',\n SetTaskLimitStatus = 'SET_TASK_LIMIT_STATUS',\n SetChecksLimitStatus = 'SET_CHECKS_LIMIT_STATUS',\n SetRulesLimitStatus = 'SET_RULES_LIMIT_STATUS',\n SetEndpointsLimitStatus = 'SET_ENDPOINTS_LIMIT_STATUS',\n SetReadRateLimitStatus = 'SET_READ_RATE_LIMIT_STATUS',\n SetWriteRateLimitStatus = 'SET_WRITE_RATE_LIMIT_STATUS',\n SetCardinalityLimitStatus = 'SET_CARDINALITY_LIMIT_STATUS',\n}\n\nexport type Actions =\n | SetLimits\n | SetLimitsStatus\n | SetDashboardLimitStatus\n | SetBucketLimitStatus\n | SetTaskLimitStatus\n | SetChecksLimitStatus\n | SetRulesLimitStatus\n | SetEndpointsLimitStatus\n | SetReadRateLimitStatus\n | SetWriteRateLimitStatus\n | SetCardinalityLimitStatus\n\nexport interface SetLimits {\n type: ActionTypes.SetLimits\n payload: {limits: Limits}\n}\n\nexport const setLimits = (limits: Limits): SetLimits => {\n return {\n type: ActionTypes.SetLimits,\n payload: {limits},\n }\n}\n\nexport interface SetDashboardLimitStatus {\n type: ActionTypes.SetDashboardLimitStatus\n payload: {limitStatus: LimitStatus}\n}\n\nexport const setDashboardLimitStatus = (\n limitStatus: LimitStatus\n): SetDashboardLimitStatus => {\n return {\n type: ActionTypes.SetDashboardLimitStatus,\n payload: {limitStatus},\n }\n}\n\nexport interface SetBucketLimitStatus {\n type: ActionTypes.SetBucketLimitStatus\n payload: {limitStatus: LimitStatus}\n}\n\nexport const setBucketLimitStatus = (\n limitStatus: LimitStatus\n): SetBucketLimitStatus => {\n return {\n type: ActionTypes.SetBucketLimitStatus,\n payload: {limitStatus},\n }\n}\n\nexport interface SetTaskLimitStatus {\n type: ActionTypes.SetTaskLimitStatus\n payload: {limitStatus: LimitStatus}\n}\n\nexport const setTaskLimitStatus = (\n limitStatus: LimitStatus\n): SetTaskLimitStatus => {\n return {\n type: ActionTypes.SetTaskLimitStatus,\n payload: {limitStatus},\n }\n}\n\nexport interface SetChecksLimitStatus {\n type: ActionTypes.SetChecksLimitStatus\n payload: {limitStatus: LimitStatus}\n}\n\nexport const setChecksLimitStatus = (\n limitStatus: LimitStatus\n): SetChecksLimitStatus => {\n return {\n type: ActionTypes.SetChecksLimitStatus,\n payload: {limitStatus},\n }\n}\n\nexport interface SetRulesLimitStatus {\n type: ActionTypes.SetRulesLimitStatus\n payload: {limitStatus: LimitStatus}\n}\n\nexport const setRulesLimitStatus = (\n limitStatus: LimitStatus\n): SetRulesLimitStatus => {\n return {\n type: ActionTypes.SetRulesLimitStatus,\n payload: {limitStatus},\n }\n}\n\nexport interface SetEndpointsLimitStatus {\n type: ActionTypes.SetEndpointsLimitStatus\n payload: {limitStatus: LimitStatus}\n}\n\nexport const setEndpointsLimitStatus = (\n limitStatus: LimitStatus\n): SetEndpointsLimitStatus => {\n return {\n type: ActionTypes.SetEndpointsLimitStatus,\n payload: {limitStatus},\n }\n}\n\nexport interface SetReadRateLimitStatus {\n type: ActionTypes.SetReadRateLimitStatus\n payload: {limitStatus: LimitStatus}\n}\n\nexport const setReadRateLimitStatus = (\n limitStatus: LimitStatus\n): SetReadRateLimitStatus => {\n return {\n type: ActionTypes.SetReadRateLimitStatus,\n payload: {limitStatus},\n }\n}\n\nexport interface SetWriteRateLimitStatus {\n type: ActionTypes.SetWriteRateLimitStatus\n payload: {limitStatus: LimitStatus}\n}\n\nexport const setWriteRateLimitStatus = (\n limitStatus: LimitStatus\n): SetWriteRateLimitStatus => {\n return {\n type: ActionTypes.SetWriteRateLimitStatus,\n payload: {limitStatus},\n }\n}\n\nexport interface SetCardinalityLimitStatus {\n type: ActionTypes.SetCardinalityLimitStatus\n payload: {limitStatus: LimitStatus}\n}\n\nexport const setCardinalityLimitStatus = (\n limitStatus: LimitStatus\n): SetCardinalityLimitStatus => {\n return {\n type: ActionTypes.SetCardinalityLimitStatus,\n payload: {limitStatus},\n }\n}\n\nexport interface SetLimitsStatus {\n type: ActionTypes.SetLimitsStatus\n payload: {\n status: RemoteDataState\n }\n}\n\nexport const setLimitsStatus = (status: RemoteDataState): SetLimitsStatus => {\n return {\n type: ActionTypes.SetLimitsStatus,\n payload: {status},\n }\n}\n\nexport const getReadWriteCardinalityLimits = () => async (\n dispatch,\n getState: GetState\n) => {\n try {\n const org = getOrg(getState())\n\n const limits = await getReadWriteCardinalityLimitsAJAX(org.id)\n\n if (limits.read.status === LimitStatus.EXCEEDED) {\n dispatch(notify(readLimitReached()))\n dispatch(setReadRateLimitStatus(LimitStatus.EXCEEDED))\n } else {\n dispatch(setReadRateLimitStatus(LimitStatus.OK))\n }\n\n if (limits.write.status === LimitStatus.EXCEEDED) {\n dispatch(setWriteRateLimitStatus(LimitStatus.EXCEEDED))\n } else {\n dispatch(setWriteRateLimitStatus(LimitStatus.OK))\n }\n\n if (limits.cardinality.status === LimitStatus.EXCEEDED) {\n dispatch(setCardinalityLimitStatus(LimitStatus.EXCEEDED))\n } else {\n dispatch(setCardinalityLimitStatus(LimitStatus.OK))\n }\n } catch (error) {\n console.error(error)\n }\n}\n\nexport const getAssetLimits = () => async (dispatch, getState: GetState) => {\n dispatch(setLimitsStatus(RemoteDataState.Loading))\n try {\n const org = getOrg(getState())\n\n const limits = await getLimitsAJAX(org.id)\n dispatch(setLimits(limits))\n dispatch(setLimitsStatus(RemoteDataState.Done))\n } catch (error) {\n console.error(error)\n dispatch(setLimitsStatus(RemoteDataState.Error))\n }\n}\n\nexport const checkDashboardLimits = () => (dispatch, getState: GetState) => {\n try {\n const state = getState()\n const {\n cloud: {limits},\n resources,\n } = state\n\n const dashboardsMax = extractDashboardMax(limits)\n const dashboardsCount = resources.dashboards.allIDs.length\n\n if (dashboardsCount >= dashboardsMax) {\n dispatch(setDashboardLimitStatus(LimitStatus.EXCEEDED))\n } else {\n dispatch(setDashboardLimitStatus(LimitStatus.OK))\n }\n } catch (error) {\n console.error(error)\n }\n}\n\nexport const checkBucketLimits = () => (dispatch, getState: GetState) => {\n try {\n const state = getState()\n const {\n cloud: {limits},\n } = state\n const allBuckets = getAll(state, ResourceType.Buckets)\n const bucketsMax = extractBucketMax(limits)\n const buckets = allBuckets.filter(bucket => {\n return bucket.type == 'user'\n })\n const bucketsCount = buckets.length\n\n if (bucketsCount >= bucketsMax) {\n dispatch(setBucketLimitStatus(LimitStatus.EXCEEDED))\n } else {\n dispatch(setBucketLimitStatus(LimitStatus.OK))\n }\n } catch (error) {\n console.error(error)\n }\n}\n\nexport const checkTaskLimits = () => (dispatch, getState: GetState) => {\n try {\n const {\n cloud: {limits},\n resources,\n } = getState()\n const tasksMax = extractTaskMax(limits)\n const tasksCount = resources.tasks.allIDs.length\n\n if (tasksCount >= tasksMax) {\n dispatch(setTaskLimitStatus(LimitStatus.EXCEEDED))\n } else {\n dispatch(setTaskLimitStatus(LimitStatus.OK))\n }\n } catch (error) {\n console.error(error)\n }\n}\n\nexport const checkChecksLimits = () => (dispatch, getState: GetState) => {\n try {\n const {\n resources,\n cloud: {limits},\n } = getState()\n\n const checksMax = extractChecksMax(limits)\n const checksCount = resources.checks.allIDs.length\n if (checksCount >= checksMax) {\n dispatch(setChecksLimitStatus(LimitStatus.EXCEEDED))\n } else {\n dispatch(setChecksLimitStatus(LimitStatus.OK))\n }\n } catch (error) {\n console.error(error)\n }\n}\n\nexport const checkRulesLimits = () => (dispatch, getState: GetState) => {\n try {\n const {\n resources,\n cloud: {limits},\n } = getState()\n\n const rulesMax = extractRulesMax(limits)\n const rulesCount = resources.rules.allIDs.length\n\n if (rulesCount >= rulesMax) {\n dispatch(setRulesLimitStatus(LimitStatus.EXCEEDED))\n } else {\n dispatch(setRulesLimitStatus(LimitStatus.OK))\n }\n } catch (error) {\n console.error(error)\n }\n}\n\nexport const checkEndpointsLimits = () => (dispatch, getState: GetState) => {\n try {\n const state = getState()\n const endpointsCount = state.resources.endpoints.allIDs.length\n const endpointsMax = extractEndpointsMax(state.cloud.limits)\n\n if (endpointsCount >= endpointsMax) {\n dispatch(setEndpointsLimitStatus(LimitStatus.EXCEEDED))\n } else {\n dispatch(setEndpointsLimitStatus(LimitStatus.OK))\n }\n } catch (error) {\n console.error(error)\n }\n}\n","import AJAX from 'src/utils/ajax'\nimport {Limits, LimitsStatus} from 'src/types'\n\nexport const getReadWriteCardinalityLimits = async (\n orgID: string\n): Promise => {\n try {\n const {data} = await AJAX({\n method: 'GET',\n url: `/api/v2private/orgs/${orgID}/limits/status`,\n })\n\n return data\n } catch (error) {\n console.error(error)\n throw error\n }\n}\n\nexport const getLimits = async (orgID: string): Promise => {\n try {\n const {data} = await AJAX({\n method: 'GET',\n url: `/api/v2private/orgs/${orgID}/limits`,\n })\n\n return data\n } catch (error) {\n console.error(error)\n throw error\n }\n}\n","import {\n DEFAULT_VERTICAL_TIME_AXIS,\n DEFAULT_FIX_FIRST_COLUMN,\n} from 'src/shared/constants/tableGraph'\nimport {Cell, Dashboard, RemoteDataState} from 'src/types'\nimport {DecimalPlaces} from 'src/types'\nimport {DEFAULT_TIME_FORMAT} from 'src/shared/constants'\n\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {Sort} from '@influxdata/clockface'\nimport {DashboardSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\n\nexport const UNTITLED_GRAPH: string = 'Untitled Graph'\n\nexport const DEFAULT_DECIMAL_PLACES: DecimalPlaces = {\n isEnforced: true,\n digits: 2,\n}\n\nexport interface TimeField {\n internalName: string\n displayName: string\n visible: boolean\n}\nexport const DEFAULT_TIME_FIELD: TimeField = {\n internalName: '_time',\n displayName: 'time',\n visible: true,\n}\n\nexport const DEFAULT_TABLE_OPTIONS = {\n verticalTimeAxis: DEFAULT_VERTICAL_TIME_AXIS,\n sortBy: DEFAULT_TIME_FIELD,\n wrapping: 'truncate',\n fixFirstColumn: DEFAULT_FIX_FIRST_COLUMN,\n}\n\nexport const FORMAT_OPTIONS: Array<{text: string}> = [\n {text: DEFAULT_TIME_FORMAT},\n {text: 'DD/MM/YYYY HH:mm:ss.sss'},\n {text: 'MM/DD/YYYY HH:mm:ss.sss'},\n {text: 'YYYY/MM/DD HH:mm:ss'},\n {text: 'hh:mm a'},\n {text: 'HH:mm'},\n {text: 'HH:mm:ss'},\n {text: 'HH:mm:ss ZZ'},\n {text: 'HH:mm:ss.sss'},\n {text: 'MMMM D, YYYY HH:mm:ss'},\n {text: 'dddd, MMMM D, YYYY HH:mm:ss'},\n]\n\nexport type NewDefaultCell = Pick<\n Cell,\n Exclude\n>\n\nexport const NEW_DEFAULT_DASHBOARD_CELL: NewDefaultCell = {\n x: 0,\n y: 0,\n w: 4,\n h: 4,\n status: RemoteDataState.Done,\n}\n\nexport type EmptyDefaultDashboard = Pick<\n Dashboard,\n Exclude<\n keyof Dashboard,\n 'templates' | 'links' | 'organization' | 'cells' | 'labels' | 'orgID'\n >\n> & {\n cells: NewDefaultCell[]\n}\n\nexport const DEFAULT_DASHBOARD_SORT_OPTIONS = {\n sortDirection: Sort.Ascending,\n sortType: SortTypes.String,\n sortKey: 'name' as DashboardSortKey,\n}\n\nexport const EMPTY_DASHBOARD: EmptyDefaultDashboard = {\n id: '0',\n name: '',\n cells: [NEW_DEFAULT_DASHBOARD_CELL],\n status: RemoteDataState.Done,\n sortOptions: DEFAULT_DASHBOARD_SORT_OPTIONS,\n}\n\nexport const DashboardTemplate: EmptyDefaultDashboard = {\n id: '0',\n name: 'Create a New Dashboard',\n cells: [],\n status: RemoteDataState.Done,\n sortOptions: DEFAULT_DASHBOARD_SORT_OPTIONS,\n}\n\ntype NewDefaultDashboard = Pick<\n Dashboard,\n Exclude & {\n cells: NewDefaultCell[]\n }\n>\nexport const DEFAULT_CELL_NAME = 'Name this Cell'\nexport const DEFAULT_DASHBOARD_NAME = 'Name this Dashboard'\nexport const DEFAULT_BUCKET_NAME = 'Name this Bucket'\nexport const DEFAULT_COLLECTOR_NAME = 'Name this Collector'\nexport const DEFAULT_TASK_NAME = 'Name this Task'\nexport const DEFAULT_SCRAPER_NAME = 'Name this Scraper'\nexport const DEFAULT_TOKEN_DESCRIPTION = 'Describe this Token'\n\nexport const NEW_DASHBOARD: NewDefaultDashboard = {\n name: DEFAULT_DASHBOARD_NAME,\n cells: [NEW_DEFAULT_DASHBOARD_CELL],\n}\n\nexport const TYPE_QUERY_CONFIG: string = 'queryConfig'\nexport const TYPE_SHIFTED: string = 'shifted queryConfig'\nexport const TYPE_FLUX: string = 'flux'\nexport const DASHBOARD_NAME_MAX_LENGTH: number = 50\nexport const CELL_NAME_MAX_LENGTH: number = 68\n\nexport enum CEOTabs {\n Queries = 'Queries',\n Vis = 'Visualization',\n}\n\nexport const MIN_DECIMAL_PLACES = 0\nexport const MAX_DECIMAL_PLACES = 10\n\n// used in importing dashboards and mapping sources\nexport const DYNAMIC_SOURCE = 'dynamic'\nexport const DYNAMIC_SOURCE_INFO = {\n name: 'Dynamic Source',\n id: DYNAMIC_SOURCE,\n link: '',\n}\n\nexport const UPDATED_AT_TIME_FORMAT = 'YYYY-MM-DD HH:MM:ss'\n","import React, {FC, useContext} from 'react'\nimport {PipeData, FluxResult} from 'src/notebooks'\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\nimport {ResultsContext} from 'src/notebooks/context/results'\nimport {RemoteDataState} from 'src/types'\n\nexport interface PipeContextType {\n data: PipeData\n update: (data: PipeData) => void\n loading: RemoteDataState\n results: FluxResult\n readOnly: boolean\n}\n\nexport const DEFAULT_CONTEXT: PipeContextType = {\n data: {},\n update: () => {},\n loading: RemoteDataState.NotStarted,\n results: {\n source: '',\n raw: '',\n parsed: {},\n } as FluxResult,\n readOnly: false,\n}\n\nexport const PipeContext = React.createContext(DEFAULT_CONTEXT)\n\ninterface PipeContextProps {\n id: string\n}\n\nexport const PipeProvider: FC = ({id, children}) => {\n const {notebook} = useContext(NotebookContext)\n const results = useContext(ResultsContext)\n const updater = (_data: PipeData) => {\n notebook.data.update(id, _data)\n }\n\n let _result\n\n try {\n _result = results.get(id)\n } catch (_e) {\n _result = {...DEFAULT_CONTEXT.results}\n }\n\n return (\n \n {children}\n \n )\n}\n","// Libraries\nimport {get} from 'lodash'\n\n// Utils\nimport {getActiveQuery} from 'src/timeMachine/selectors'\nimport {getRangeVariable} from 'src/variables/utils/getTimeRangeVars'\nimport {getTimeRange, getTimeRangeWithTimezone} from 'src/dashboards/selectors'\nimport {getWindowPeriodVariable} from 'src/variables/utils/getWindowVars'\nimport {\n TIME_RANGE_START,\n TIME_RANGE_STOP,\n WINDOW_PERIOD,\n} from 'src/variables/constants'\nimport {currentContext} from 'src/shared/selectors/currentContext'\n\n// Types\nimport {\n RemoteDataState,\n MapArguments,\n QueryArguments,\n CSVArguments,\n} from 'src/types'\nimport {VariableAssignment} from 'src/types/ast'\nimport {AppState, VariableArgumentType, Variable} from 'src/types'\n\nexport const extractVariableEditorName = (state: AppState): string => {\n return state.variableEditor.name\n}\n\nexport const extractVariableEditorType = (\n state: AppState\n): VariableArgumentType => {\n return state.variableEditor.selected\n}\n\nexport const extractVariableEditorQuery = (state: AppState): QueryArguments => {\n return (\n state.variableEditor.argsQuery || {\n type: 'query',\n values: {\n query: '',\n language: 'flux',\n },\n }\n )\n}\n\nexport const extractVariableEditorMap = (state: AppState): MapArguments => {\n return (\n state.variableEditor.argsMap || {\n type: 'map',\n values: {},\n }\n )\n}\n\nexport const extractVariableEditorConstant = (\n state: AppState\n): CSVArguments => {\n return (\n state.variableEditor.argsConstant || {\n type: 'constant',\n values: [],\n }\n )\n}\n\nexport const getUserVariableNames = (\n state: AppState,\n contextID: string\n): string[] => {\n const allIDs = get(state, ['resources', 'variables', 'allIDs'], [])\n const contextIDs = get(\n state,\n ['resources', 'variables', 'values', contextID, 'order'],\n []\n )\n\n return contextIDs\n .filter(v => allIDs.includes(v))\n .concat(allIDs.filter(v => !contextIDs.includes(v)))\n}\n\n// this function grabs all user defined variables\n// and hydrates them based on their context\nexport const getVariables = (\n state: AppState,\n contextID?: string\n): Variable[] => {\n const vars = getUserVariableNames(state, contextID || currentContext(state))\n .reduce((prev, curr) => {\n prev.push(getVariable(state, curr))\n\n return prev\n }, [])\n .filter(v => !!v)\n\n return vars\n}\n\n// the same as the above method, but includes system\n// variables\nexport const getAllVariables = (\n state: AppState,\n contextID?: string\n): Variable[] => {\n const vars = getUserVariableNames(state, contextID || currentContext(state))\n .concat([TIME_RANGE_START, TIME_RANGE_STOP, WINDOW_PERIOD])\n .reduce((prev, curr) => {\n prev.push(getVariable(state, curr))\n return prev\n }, [])\n .filter(v => !!v)\n return vars\n}\n\nexport const sortVariablesByName = (variables: Variable[]): Variable[] =>\n variables.sort((a, b) =>\n a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1\n )\n\nexport const getVariable = (state: AppState, variableID: string): Variable => {\n const contextID = currentContext(state)\n const ctx = get(state, ['resources', 'variables', 'values', contextID])\n let vari = get(state, ['resources', 'variables', 'byID', variableID])\n\n if (ctx && ctx.values && ctx.values.hasOwnProperty(variableID)) {\n vari = {...vari, ...ctx.values[variableID]}\n }\n\n if (variableID === TIME_RANGE_START || variableID === TIME_RANGE_STOP) {\n const timeRange = getTimeRangeWithTimezone(state)\n vari = getRangeVariable(variableID, timeRange)\n }\n\n if (variableID === WINDOW_PERIOD) {\n const {text} = getActiveQuery(state)\n const variables = getVariables(state)\n const range = getTimeRange(state)\n const timeVars = [\n getRangeVariable(TIME_RANGE_START, range),\n getRangeVariable(TIME_RANGE_STOP, range),\n ].map(v => asAssignment(v))\n\n const assignments = variables.reduce((acc, curr) => {\n if (!curr.name || !curr.selected) {\n return acc\n }\n\n return [...acc, asAssignment(curr)]\n }, timeVars)\n\n vari = (getWindowPeriodVariable(text, assignments) || [])[0]\n }\n\n if (!vari) {\n return vari\n }\n\n if (vari.arguments.type === 'query') {\n if (!ctx || !ctx.values || !ctx.values.hasOwnProperty(variableID)) {\n // TODO load that ish for the context\n // hydrateQueries(state, contextID, variableID)\n }\n }\n\n // Now validate that the selected value makes sense for\n // the current situation\n const vals = normalizeValues(vari)\n vari = {...vari}\n if (\n !vari.selected ||\n (vari.selected && vari.selected.length && !vals.includes(vari.selected[0]))\n ) {\n vari.selected = []\n }\n\n if (!vari.selected.length && vals.length) {\n vari.selected.push(vals[0])\n }\n\n return vari\n}\n\nexport const normalizeValues = (variable: Variable): string[] => {\n switch (variable.arguments.type) {\n case 'query':\n return variable.arguments.values.results || []\n case 'map':\n return Object.keys(variable.arguments.values) || []\n case 'constant':\n return variable.arguments.values || []\n default:\n return []\n }\n}\n\nexport const asAssignment = (variable: Variable): VariableAssignment => {\n const out = {\n type: 'VariableAssignment' as const,\n id: {\n type: 'Identifier' as const,\n name: variable.name,\n },\n } as VariableAssignment\n\n if (variable.id === WINDOW_PERIOD) {\n out.init = {\n type: 'DurationLiteral',\n values: [{magnitude: variable.arguments.values[0] || 10000, unit: 'ms'}],\n }\n\n return out\n }\n\n if (variable.id === TIME_RANGE_START || variable.id === TIME_RANGE_STOP) {\n const val = variable.arguments.values[0]\n\n if (!isNaN(Date.parse(val))) {\n out.init = {\n type: 'DateTimeLiteral',\n value: new Date(val).toISOString(),\n }\n } else if (val === 'now()') {\n out.init = {\n type: 'CallExpression',\n callee: {\n type: 'Identifier',\n name: 'now',\n },\n }\n } else if (val) {\n out.init = {\n type: 'UnaryExpression',\n operator: '-',\n argument: {\n type: 'DurationLiteral',\n values: val,\n },\n }\n }\n\n return out\n }\n\n if (variable.arguments.type === 'map') {\n if (!variable.selected) {\n variable.selected = [Object.keys(variable.arguments.values)[0]]\n }\n out.init = {\n type: 'StringLiteral',\n value: variable.arguments.values[variable.selected[0]],\n }\n }\n\n if (variable.arguments.type === 'constant') {\n if (!variable.selected) {\n variable.selected = [variable.arguments.values[0]]\n }\n out.init = {\n type: 'StringLiteral',\n value: variable.selected[0],\n }\n }\n\n if (variable.arguments.type === 'query') {\n if (!variable.selected || !variable.selected[0]) {\n out.init = {\n type: 'StringLiteral',\n value: '',\n }\n } else {\n out.init = {\n type: 'StringLiteral',\n value: variable.selected[0],\n }\n }\n }\n\n return out\n}\n\n// TODO kill this function\nexport const getTimeMachineValuesStatus = (\n state: AppState\n): RemoteDataState => {\n const activeTimeMachineID = state.timeMachines.activeTimeMachineID\n const valuesStatus = get(\n state,\n `resources.variables.values.${activeTimeMachineID}.status`\n )\n\n return valuesStatus\n}\n\n// TODO kill this function\nexport const getDashboardVariablesStatus = (\n state: AppState\n): RemoteDataState => {\n return get(state, 'resources.variables.status')\n}\n","// Libraries\nimport {Client} from '@influxdata/influx'\nimport {get} from 'lodash'\nimport {getAPIBasepath} from 'src/utils/basepath'\n\nconst basePath = `${getAPIBasepath()}/api/v2`\n\nexport const getErrorMessage = (e: any) => {\n let message = get(e, 'response.data.error.message')\n\n if (!message) {\n message = get(e, 'response.data.error')\n }\n\n if (!message) {\n message = get(e, 'response.headers.x-influx-error')\n }\n\n if (!message) {\n message = get(e, 'response.data.message')\n }\n\n if (!message) {\n message = get(e, 'message')\n }\n\n if (!message) {\n message = 'unknown error'\n }\n\n return message\n}\n\nexport const client = new Client(basePath)\n","import {ThresholdCheck, TagRuleDraft, NotificationEndpoint} from 'src/types'\nimport {CheckStatusLevel} from 'src/client'\nimport {\n ComponentColor,\n InfluxColors,\n RemoteDataState,\n} from '@influxdata/clockface'\n\nexport const DEFAULT_CHECK_NAME = 'Name this Check'\nexport const DEFAULT_NOTIFICATION_RULE_NAME = 'Name this Notification Rule'\n\nexport const CHECK_NAME_MAX_LENGTH = 68\nexport const DEFAULT_CHECK_EVERY = '1m'\nexport const DEFAULT_CHECK_OFFSET = '0s'\nexport const DEFAULT_CHECK_TAGS = []\nexport const DEFAULT_CHECK_REPORT_ZERO = false\nexport const DEFAULT_DEADMAN_LEVEL: CheckStatusLevel = 'CRIT'\nexport const DEFAULT_STATUS_MESSAGE =\n 'Check: ${ r._check_name } is: ${ r._level }'\n\nexport const CHECK_OFFSET_OPTIONS = [\n '0s',\n '5s',\n '15s',\n '1m',\n '5m',\n '15m',\n '1h',\n '6h',\n '12h',\n '24h',\n '2d',\n '7d',\n '30d',\n]\n\nexport const MONITORING_BUCKET = '_monitoring'\n\nexport const LEVEL_COLORS = {\n OK: InfluxColors.Viridian,\n INFO: InfluxColors.Ocean,\n WARN: InfluxColors.Thunder,\n CRIT: InfluxColors.Fire,\n UNKNOWN: InfluxColors.Amethyst,\n}\n\nexport const LEVEL_COMPONENT_COLORS = {\n OK: ComponentColor.Success,\n INFO: ComponentColor.Primary,\n WARN: ComponentColor.Warning,\n CRIT: ComponentColor.Danger,\n}\n\nexport const DEFAULT_THRESHOLD_CHECK: Partial = {\n name: DEFAULT_CHECK_NAME,\n type: 'threshold',\n activeStatus: 'active',\n thresholds: [],\n every: DEFAULT_CHECK_EVERY,\n offset: DEFAULT_CHECK_OFFSET,\n statusMessageTemplate: DEFAULT_STATUS_MESSAGE,\n}\n\nexport const NEW_TAG_RULE_DRAFT: TagRuleDraft = {\n cid: '',\n value: {\n key: '',\n value: '',\n operator: 'equal',\n },\n}\n\nexport const DEFAULT_ENDPOINT_URLS = {\n slack: 'https://hooks.slack.com/services/X/X/X',\n pagerduty: 'https://events.pagerduty.com/v2/enqueue',\n http: 'https://www.example.com/endpoint',\n}\n\nexport const NEW_ENDPOINT_DRAFT: NotificationEndpoint = {\n name: 'Name this Endpoint',\n description: '',\n activeStatus: 'active',\n type: 'slack',\n token: '',\n url: DEFAULT_ENDPOINT_URLS['slack'],\n status: RemoteDataState.Done,\n labels: [],\n}\n\nexport const NEW_ENDPOINT_FIXTURES: NotificationEndpoint[] = [\n {\n id: '1',\n orgID: '1',\n userID: '1',\n description: 'interrupt everyone at work',\n name: 'Slack',\n activeStatus: 'active',\n type: 'slack',\n url: 'insert.slack.url.here',\n token: 'plerps',\n status: RemoteDataState.Done,\n labels: [],\n },\n {\n id: '3',\n orgID: '1',\n userID: '1',\n description: 'interrupt someone by all means known to man',\n name: 'PagerDuty',\n activeStatus: 'active',\n type: 'pagerduty',\n clientURL: 'insert.pagerduty.client.url.here',\n routingKey: 'plerps',\n status: RemoteDataState.Done,\n labels: [],\n },\n]\n","// Libraries\nimport {schema} from 'normalizr'\n\n// Types\nimport {ResourceType, GenLabel} from 'src/types'\n\n// Utils\nimport {addLabelDefaults} from 'src/labels/utils'\n\n/* Labels */\nexport const labelSchema = new schema.Entity(\n ResourceType.Labels,\n {},\n {\n processStrategy: (label: GenLabel) => addLabelDefaults(label),\n }\n)\n\nexport const arrayOfLabels = [labelSchema]\n","import {get} from 'lodash'\nimport {ASSET_LIMIT_ERROR_STATUS} from 'src/cloud/constants/index'\nimport {LimitsState} from 'src/cloud/reducers/limits'\nimport {LimitStatus} from 'src/cloud/actions/limits'\n\nexport const isLimitError = (error): boolean => {\n return get(error, 'response.status', '') === ASSET_LIMIT_ERROR_STATUS\n}\n\nexport const extractBucketLimits = (limits: LimitsState): LimitStatus => {\n return get(limits, 'buckets.limitStatus')\n}\nexport const extractBucketMax = (limits: LimitsState): number => {\n return get(limits, 'buckets.maxAllowed') || Infinity // if maxAllowed == 0, there are no limits on asset\n}\n\nexport const extractBucketMaxRetentionSeconds = (\n limits: LimitsState\n): number => {\n return get(limits, 'buckets.maxRetentionSeconds', null)\n}\n\nexport const extractDashboardLimits = (limits: LimitsState): LimitStatus => {\n return get(limits, 'dashboards.limitStatus')\n}\nexport const extractDashboardMax = (limits: LimitsState): number => {\n return get(limits, 'dashboards.maxAllowed') || Infinity\n}\n\nexport const extractTaskLimits = (limits: LimitsState): LimitStatus => {\n return get(limits, 'tasks.limitStatus')\n}\nexport const extractTaskMax = (limits: LimitsState): number => {\n return get(limits, 'tasks.maxAllowed') || Infinity\n}\n\nexport const extractChecksLimits = (limits: LimitsState): LimitStatus => {\n return get(limits, 'checks.limitStatus')\n}\nexport const extractChecksMax = (limits: LimitsState): number => {\n return get(limits, 'checks.maxAllowed') || Infinity\n}\n\nexport const extractRulesLimits = (limits: LimitsState): LimitStatus => {\n return get(limits, 'rules.limitStatus')\n}\nexport const extractRulesMax = (limits: LimitsState): number => {\n return get(limits, 'rules.maxAllowed') || Infinity\n}\nexport const extractBlockedRules = (limits: LimitsState): string[] => {\n return get(limits, 'rules.blocked') || []\n}\n\nexport const extractEndpointsLimits = (limits: LimitsState): LimitStatus => {\n return get(limits, 'endpoints.limitStatus')\n}\nexport const extractEndpointsMax = (limits: LimitsState): number => {\n return get(limits, 'endpoints.maxAllowed') || Infinity\n}\nexport const extractBlockedEndpoints = (limits: LimitsState): string[] => {\n return get(limits, 'endpoints.blocked') || []\n}\n\nexport const extractLimitedMonitoringResources = (\n limits: LimitsState\n): string => {\n const rateLimitedResources = []\n\n if (get(limits, 'checks.limitStatus') === LimitStatus.EXCEEDED) {\n rateLimitedResources.push('checks')\n }\n\n if (get(limits, 'rules.limitStatus') === LimitStatus.EXCEEDED) {\n rateLimitedResources.push('rules')\n }\n\n if (get(limits, 'endpoints.limitStatus') === LimitStatus.EXCEEDED) {\n rateLimitedResources.push('endpoints')\n }\n\n return rateLimitedResources.join(', ')\n}\n\nexport const extractRateLimitStatus = (limits: LimitsState): LimitStatus => {\n const statuses = [\n get(limits, 'rate.writeKBs.limitStatus'),\n get(limits, 'rate.readKBs.limitStatus'),\n get(limits, 'rate.cardinality.limitStatus'),\n ]\n\n if (statuses.includes(LimitStatus.EXCEEDED)) {\n return LimitStatus.EXCEEDED\n }\n\n return LimitStatus.OK\n}\n\nexport const extractRateLimitResources = (limits: LimitsState): string[] => {\n const rateLimitedResources = []\n\n if (get(limits, 'rate.readKBs.limitStatus') === LimitStatus.EXCEEDED) {\n rateLimitedResources.push('read')\n }\n\n if (get(limits, 'rate.writeKBs.limitStatus') === LimitStatus.EXCEEDED) {\n rateLimitedResources.push('write')\n }\n\n if (get(limits, 'rate.cardinality.limitStatus') === LimitStatus.EXCEEDED) {\n rateLimitedResources.push('cardinality')\n }\n\n return rateLimitedResources\n}\n","// Libraries\nimport {normalize} from 'normalizr'\nimport {get} from 'lodash'\n\n// Actions\nimport {notify} from 'src/shared/actions/notifications'\nimport {setExportTemplate} from 'src/templates/actions/creators'\nimport {\n setVariables,\n setVariable,\n selectValue as selectValueInState,\n removeVariable,\n moveVariable as moveVariableInState,\n} from 'src/variables/actions/creators'\nimport {updateQueryVars} from 'src/dashboards/actions/ranges'\n\n// Schemas\nimport {variableSchema, arrayOfVariables} from 'src/schemas/variables'\n\n// APIs\nimport * as api from 'src/client'\nimport {hydrateVars} from 'src/variables/utils/hydrateVars'\nimport {createVariableFromTemplate as createVariableFromTemplateAJAX} from 'src/templates/api'\n\n// Utils\nimport {\n getVariable as getVariableFromState,\n getVariables as getVariablesFromState,\n getAllVariables as getAllVariablesFromState,\n normalizeValues,\n} from 'src/variables/selectors'\nimport {variableToTemplate} from 'src/shared/utils/resourceToTemplate'\nimport {findDependentVariables} from 'src/variables/utils/exportVariables'\nimport {getOrg} from 'src/organizations/selectors'\nimport {getLabels, getStatus} from 'src/resources/selectors'\nimport {currentContext} from 'src/shared/selectors/currentContext'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\n// Constants\nimport * as copy from 'src/shared/copy/notifications'\n\n// Types\nimport {Dispatch} from 'react'\nimport {\n AppState,\n GetState,\n RemoteDataState,\n VariableTemplate,\n Label,\n GenVariable,\n Variable,\n VariableEntities,\n ResourceType,\n} from 'src/types'\nimport {Action as NotifyAction} from 'src/shared/actions/notifications'\nimport {\n Action as VariableAction,\n EditorAction,\n} from 'src/variables/actions/creators'\nimport {RouterAction} from 'connected-react-router'\nimport {filterUnusedVars} from 'src/shared/utils/filterUnusedVars'\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\ntype Action = VariableAction | EditorAction | NotifyAction\n\nexport const getVariables = (controller?: AbortController) => async (\n dispatch: Dispatch,\n getState: GetState\n) => {\n try {\n const state = getState()\n\n if (\n getStatus(state, ResourceType.Variables) === RemoteDataState.NotStarted\n ) {\n dispatch(setVariables(RemoteDataState.Loading))\n }\n\n const org = getOrg(state)\n const resp = await api.getVariables(\n {query: {orgID: org.id}},\n {signal: controller?.signal}\n )\n if (!resp) {\n return\n }\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const variables = normalize(\n resp.data.variables,\n arrayOfVariables\n )\n\n const varsByID = getVariablesFromState(state).reduce((prev, curr) => {\n prev[curr.id] = curr\n return prev\n }, {})\n\n // migrate the selected values from the existing variables into the new ones\n variables.result\n .map(k => {\n return variables.entities.variables[k]\n })\n .filter(e => {\n return varsByID.hasOwnProperty(e.id)\n })\n .forEach(v => {\n variables.entities.variables[v.id].selected = varsByID[v.id].selected\n })\n\n // Make sure all the queries are marked for update\n variables.result\n .map(k => {\n return variables.entities.variables[k]\n })\n .filter(e => {\n return e.arguments.type === 'query'\n })\n .forEach(v => {\n variables.entities.variables[v.id].status = RemoteDataState.NotStarted\n })\n\n await dispatch(setVariables(RemoteDataState.Done, variables))\n } catch (error) {\n console.error(error)\n dispatch(setVariables(RemoteDataState.Error))\n dispatch(notify(copy.getVariablesFailed()))\n }\n}\n\nconst getActiveView = (state: AppState) => {\n if (state.currentPage === 'dashboard') {\n const dashboardID = state.currentDashboard.id\n return Object.values(state.resources.views.byID).filter(\n variable => variable.dashboardID === dashboardID\n )\n }\n if (get(state, ['timeMachines', 'activeTimeMachineID']) === 'de') {\n const de = getActiveTimeMachine(state)\n return [de.view]\n }\n return []\n}\n\nexport const hydrateVariables = (\n skipCache?: boolean,\n controller?: AbortController\n) => async (dispatch: Dispatch, getState: GetState) => {\n const state = getState()\n const org = getOrg(state)\n const vars = getVariablesFromState(state)\n const views = getActiveView(state)\n const usedVars = views.length ? filterUnusedVars(vars, views) : vars\n\n const hydration = hydrateVars(usedVars, getAllVariablesFromState(state), {\n orgID: org.id,\n url: state.links.query.self,\n skipCache,\n controller,\n })\n\n hydration.on('status', (variable, status) => {\n if (status === RemoteDataState.Loading) {\n dispatch(setVariable(variable.id, status))\n return\n }\n if (status === RemoteDataState.Done) {\n const _variable = normalize(\n variable,\n variableSchema\n )\n dispatch(setVariable(variable.id, RemoteDataState.Done, _variable))\n }\n })\n await hydration.promise\n}\n\nexport const hydrateChangedVariable = (variableID: string) => async (\n dispatch: Dispatch,\n getState: GetState\n) => {\n const state = getState()\n const org = getOrg(state)\n const variable = getVariableFromState(state, variableID)\n const hydration = hydrateVars([variable], getAllVariablesFromState(state), {\n orgID: org.id,\n url: state.links.query.self,\n skipCache: true,\n })\n hydration.on('status', (variable, status) => {\n if (status === RemoteDataState.Loading) {\n dispatch(setVariable(variable.id, status))\n return\n }\n if (status === RemoteDataState.Done) {\n const _variable = normalize(\n variable,\n variableSchema\n )\n dispatch(setVariable(variable.id, RemoteDataState.Done, _variable))\n }\n })\n await hydration.promise\n}\n\nexport const getVariable = (id: string) => async (\n dispatch: Dispatch\n) => {\n try {\n dispatch(setVariable(id, RemoteDataState.Loading))\n\n const resp = await api.getVariable({variableID: id})\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const variable = normalize(\n resp.data,\n variableSchema\n )\n\n dispatch(setVariable(id, RemoteDataState.Done, variable))\n } catch (error) {\n console.error(error)\n dispatch(setVariable(id, RemoteDataState.Error))\n dispatch(notify(copy.getVariableFailed()))\n }\n}\n\nexport const createVariable = (\n variable: Pick\n) => async (dispatch: Dispatch, getState: GetState) => {\n try {\n const org = getOrg(getState())\n const resp = await api.postVariable({\n data: {\n ...variable,\n orgID: org.id,\n },\n })\n\n if (resp.status !== 201) {\n throw new Error(resp.data.message)\n }\n\n const createdVar = normalize(\n resp.data,\n variableSchema\n )\n\n dispatch(setVariable(resp.data.id, RemoteDataState.Done, createdVar))\n dispatch(notify(copy.createVariableSuccess(variable.name)))\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.createVariableFailed(error.message)))\n }\n}\n\nexport const createVariableFromTemplate = (\n template: VariableTemplate\n) => async (dispatch: Dispatch, getState: GetState) => {\n try {\n const state = getState()\n const org = getOrg(state)\n const resp = await createVariableFromTemplateAJAX(template, org.id)\n\n const createdVar = normalize(\n resp,\n variableSchema\n )\n\n dispatch(setVariable(resp.id, RemoteDataState.Done, createdVar))\n dispatch(notify(copy.createVariableSuccess(resp.name)))\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.createVariableFailed(error.message)))\n }\n}\n\nexport const updateVariable = (id: string, props: Variable) => async (\n dispatch: Dispatch,\n getState: GetState\n) => {\n try {\n dispatch(setVariable(id, RemoteDataState.Loading))\n\n const state = getState()\n const labels = getLabels(state, props.labels)\n\n const resp = await api.patchVariable({\n variableID: id,\n data: {\n ...(props as GenVariable),\n labels,\n },\n })\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const variable = normalize(\n resp.data,\n variableSchema\n )\n\n dispatch(setVariable(id, RemoteDataState.Done, variable))\n dispatch(notify(copy.updateVariableSuccess(resp.data.name)))\n } catch (error) {\n console.error(error)\n dispatch(setVariable(id, RemoteDataState.Error))\n dispatch(notify(copy.updateVariableFailed(error.message)))\n }\n}\n\nexport const deleteVariable = (id: string) => async (\n dispatch: Dispatch\n) => {\n try {\n dispatch(setVariable(id, RemoteDataState.Loading))\n const resp = await api.deleteVariable({variableID: id})\n if (resp.status !== 204) {\n throw new Error(resp.data.message)\n }\n dispatch(removeVariable(id))\n dispatch(notify(copy.deleteVariableSuccess()))\n } catch (error) {\n console.error(error)\n dispatch(setVariable(id, RemoteDataState.Done))\n dispatch(notify(copy.deleteVariableFailed(error.message)))\n }\n}\n\nexport const moveVariable = (originalIndex: number, newIndex: number) => async (\n dispatch,\n getState: GetState\n) => {\n const contextID = currentContext(getState())\n await dispatch(moveVariableInState(originalIndex, newIndex, contextID))\n}\n\nexport const convertToTemplate = (variableID: string) => async (\n dispatch,\n getState: GetState\n): Promise => {\n try {\n dispatch(setExportTemplate(RemoteDataState.Loading))\n const state = getState()\n const org = getOrg(state)\n const resp = await api.getVariable({variableID})\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const allVariables = await api.getVariables({query: {orgID: org.id}})\n\n if (allVariables.status !== 200) {\n throw new Error(allVariables.data.message)\n }\n\n const normVariable = normalize(\n resp.data,\n variableSchema\n )\n\n const normVariables = normalize(\n allVariables.data.variables,\n arrayOfVariables\n )\n\n const variable = normVariable.entities.variables[normVariable.result]\n const variables = Object.values(normVariables.entities.variables)\n\n const dependencies = findDependentVariables(variable, variables)\n const variableTemplate = variableToTemplate(state, variable, dependencies)\n\n dispatch(setExportTemplate(RemoteDataState.Done, variableTemplate))\n } catch (error) {\n dispatch(setExportTemplate(RemoteDataState.Error))\n dispatch(notify(copy.createTemplateFailed(error)))\n }\n}\n\nexport const addVariableLabelAsync = (\n variableID: string,\n label: Label\n) => async (dispatch): Promise => {\n try {\n const posted = await api.postVariablesLabel({\n variableID,\n data: {labelID: label.id},\n })\n\n if (posted.status !== 201) {\n throw new Error(posted.data.message)\n }\n\n const resp = await api.getVariable({variableID})\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const variable = normalize(\n resp.data,\n variableSchema\n )\n\n dispatch(setVariable(variableID, RemoteDataState.Done, variable))\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.addVariableLabelFailed()))\n }\n}\n\nexport const removeVariableLabelAsync = (\n variableID: string,\n label: Label\n) => async (dispatch: Dispatch) => {\n try {\n const deleted = await api.deleteVariablesLabel({\n variableID,\n labelID: label.id,\n })\n\n if (deleted.status !== 204) {\n throw new Error(deleted.data.message)\n }\n\n const resp = await api.getVariable({variableID})\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const variable = normalize(\n resp.data,\n variableSchema\n )\n\n dispatch(setVariable(variableID, RemoteDataState.Done, variable))\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.removeVariableLabelFailed()))\n }\n}\n\nexport const selectValue = (variableID: string, selected: string) => async (\n dispatch: Dispatch<\n Action | ReturnType | RouterAction\n >,\n getState: GetState\n) => {\n const state = getState()\n const contextID = currentContext(state)\n const variable = getVariableFromState(state, variableID)\n // Validate that we can make this selection\n const vals = normalizeValues(variable)\n if (!vals.includes(selected)) {\n // TODO: there is an issue that's causing non-state set values to\n // return with no results and not respect query params\n return\n }\n\n await dispatch(selectValueInState(contextID, variableID, selected))\n // only hydrate the changedVariable\n if (isFlagEnabled('hydratevars')) {\n dispatch(hydrateChangedVariable(variableID))\n } else {\n dispatch(hydrateVariables(true))\n }\n dispatch(updateQueryVars({[variable.name]: selected}))\n}\n","// Libraries\nimport {normalize} from 'normalizr'\nimport {Dispatch} from 'react'\nimport {push} from 'connected-react-router'\n\n// APIs\nimport * as dashAPI from 'src/dashboards/apis'\nimport * as api from 'src/client'\nimport * as tempAPI from 'src/templates/api'\nimport {createCellWithView} from 'src/cells/actions/thunks'\n\n// Schemas\nimport {\n dashboardSchema,\n arrayOfDashboards,\n labelSchema,\n arrayOfViews,\n arrayOfCells,\n} from 'src/schemas'\nimport {viewsFromCells} from 'src/schemas/dashboards'\n\n// Actions\nimport {\n notify,\n PublishNotificationAction,\n} from 'src/shared/actions/notifications'\nimport {\n deleteTimeRange,\n updateTimeRangeFromQueryParams,\n} from 'src/dashboards/actions/ranges'\nimport {getVariables, hydrateVariables} from 'src/variables/actions/thunks'\nimport {setExportTemplate} from 'src/templates/actions/creators'\nimport {checkDashboardLimits} from 'src/cloud/actions/limits'\nimport {setCells, Action as CellAction} from 'src/cells/actions/creators'\nimport {\n setViewsAndCells,\n setViews,\n Action as ViewAction,\n} from 'src/views/actions/creators'\nimport {updateViewAndVariables} from 'src/views/actions/thunks'\nimport {setLabelOnResource} from 'src/labels/actions/creators'\nimport * as creators from 'src/dashboards/actions/creators'\n\n// Utils\nimport {filterUnusedVars} from 'src/shared/utils/filterUnusedVars'\nimport {dashboardToTemplate} from 'src/shared/utils/resourceToTemplate'\nimport {exportVariables} from 'src/variables/utils/exportVariables'\nimport {getSaveableView} from 'src/timeMachine/selectors'\nimport {incrementCloneName} from 'src/utils/naming'\nimport {isLimitError} from 'src/cloud/utils/limits'\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll, getByID, getStatus} from 'src/resources/selectors'\n\n// Constants\nimport * as copy from 'src/shared/copy/notifications'\nimport {DEFAULT_DASHBOARD_NAME} from 'src/dashboards/constants/index'\nimport {DASHBOARD_LIMIT} from 'src/resources/constants'\n\n// Types\nimport {\n Dashboard,\n GetState,\n View,\n Cell,\n DashboardTemplate,\n Label,\n RemoteDataState,\n DashboardEntities,\n ViewEntities,\n ResourceType,\n VariableEntities,\n Variable,\n LabelEntities,\n} from 'src/types'\nimport {CellsWithViewProperties} from 'src/client'\nimport {arrayOfVariables} from 'src/schemas/variables'\n\ntype Action = creators.Action\n\n// Thunks\nexport const createDashboard = () => async (\n dispatch,\n getState: GetState\n): Promise => {\n try {\n const org = getOrg(getState())\n\n const newDashboard = {\n name: DEFAULT_DASHBOARD_NAME,\n cells: [],\n orgID: org.id,\n }\n\n const resp = await api.postDashboard({data: newDashboard})\n\n if (resp.status !== 201) {\n throw new Error(resp.data.message)\n }\n\n const normDash = normalize(\n resp.data,\n dashboardSchema\n )\n\n await dispatch(\n creators.setDashboard(resp.data.id, RemoteDataState.Done, normDash)\n )\n\n dispatch(push(`/orgs/${org.id}/dashboards/${resp.data.id}`))\n dispatch(checkDashboardLimits())\n } catch (error) {\n console.error(error)\n\n if (isLimitError(error)) {\n dispatch(notify(copy.resourceLimitReached('dashboards')))\n } else {\n dispatch(notify(copy.dashboardCreateFailed()))\n }\n }\n}\n\nexport const cloneDashboard = (\n dashboardID: string,\n dashboardName: string\n) => async (dispatch, getState: GetState): Promise => {\n try {\n const state = getState()\n\n const org = getOrg(state)\n const dashboards = getAll(state, ResourceType.Dashboards)\n const allDashboardNames = dashboards.map(d => d.name)\n const clonedName = incrementCloneName(allDashboardNames, dashboardName)\n\n const getResp = await api.getDashboard({\n dashboardID,\n query: {include: 'properties'},\n })\n\n if (getResp.status !== 200) {\n throw new Error(getResp.data.message)\n }\n\n const {entities, result} = normalize(\n getResp.data,\n dashboardSchema\n )\n\n const dash: Dashboard = entities.dashboards[result]\n const cells = Object.values(entities.cells || {})\n\n const postResp = await api.postDashboard({\n data: {\n orgID: org.id,\n name: clonedName,\n description: dash.description || '',\n },\n })\n\n if (postResp.status !== 201) {\n throw new Error(postResp.data.message)\n }\n\n const normDash = normalize(\n postResp.data,\n dashboardSchema\n )\n\n await dispatch(\n creators.setDashboard(postResp.data.id, RemoteDataState.Done, normDash)\n )\n\n const pendingLabels = getResp.data.labels.map(l =>\n api.postDashboardsLabel({\n dashboardID: postResp.data.id,\n data: {labelID: l.id},\n })\n )\n\n const mappedLabels = await Promise.all(pendingLabels)\n\n if (mappedLabels.length > 0 && mappedLabels.some(l => l.status !== 201)) {\n throw new Error('An error occurred cloning the labels for this dashboard')\n }\n\n const clonedDashboardID = postResp.data.id\n\n const clonedViews = await dashAPI.cloneUtilFunc(\n cells,\n dashboardID,\n clonedDashboardID\n )\n\n const newViews = await Promise.all(clonedViews)\n\n if (newViews.length > 0 && newViews.some(v => v.status !== 200)) {\n throw new Error('An error occurred cloning the dashboard')\n }\n\n dispatch(checkDashboardLimits())\n dispatch(push(`/orgs/${org.id}/dashboards/${postResp.data.id}`))\n } catch (error) {\n console.error(error)\n if (isLimitError(error)) {\n dispatch(notify(copy.resourceLimitReached('dashboards')))\n } else {\n dispatch(notify(copy.dashboardCreateFailed()))\n }\n }\n}\n\ntype FullAction = Action | CellAction | ViewAction\n\nexport const getDashboards = () => async (\n dispatch: Dispatch,\n getState: GetState\n): Promise => {\n try {\n const {setDashboards} = creators\n\n const state = getState()\n if (\n getStatus(state, ResourceType.Dashboards) === RemoteDataState.NotStarted\n ) {\n dispatch(setDashboards(RemoteDataState.Loading))\n }\n\n const org = getOrg(state)\n\n const resp = await api.getDashboards({\n query: {\n orgID: org.id,\n limit: DASHBOARD_LIMIT,\n },\n })\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const dashboards = normalize(\n resp.data.dashboards,\n arrayOfDashboards\n )\n\n dispatch(setDashboards(RemoteDataState.Done, dashboards))\n\n if (!dashboards.result.length) {\n return\n }\n\n const normalizedCellsArray = []\n const normalizedViewsArray = []\n\n setTimeout(() => {\n Object.values(dashboards.entities.dashboards)\n .map(dashboard => {\n return {\n id: dashboard.id,\n cells: dashboard.cells.map(cell => dashboards.entities.cells[cell]),\n }\n })\n .forEach(entity => {\n const viewsData = viewsFromCells(entity.cells, entity.id)\n\n const normViews = normalize(\n viewsData,\n arrayOfViews\n )\n\n normalizedViewsArray.push(normViews)\n\n const normCells = normalize(\n entity.cells,\n arrayOfCells\n )\n\n normalizedCellsArray.push(normCells)\n })\n dispatch(\n setViewsAndCells(\n RemoteDataState.Done,\n normalizedCellsArray,\n normalizedViewsArray\n )\n )\n }, 0)\n } catch (error) {\n dispatch(creators.setDashboards(RemoteDataState.Error))\n console.error(error)\n throw error\n }\n}\n\nexport const createDashboardFromTemplate = (\n template: DashboardTemplate\n) => async (dispatch, getState: GetState) => {\n try {\n const org = getOrg(getState())\n\n await tempAPI.createDashboardFromTemplate(template, org.id)\n\n const resp = await api.getDashboards({query: {orgID: org.id}})\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const dashboards = normalize(\n resp.data.dashboards,\n arrayOfDashboards\n )\n\n dispatch(creators.setDashboards(RemoteDataState.Done, dashboards))\n dispatch(notify(copy.importDashboardSucceeded()))\n dispatch(checkDashboardLimits())\n } catch (error) {\n if (isLimitError(error)) {\n dispatch(notify(copy.resourceLimitReached('dashboards')))\n } else {\n dispatch(notify(copy.importDashboardFailed(error)))\n }\n }\n}\n\nexport const deleteDashboard = (dashboardID: string, name: string) => async (\n dispatch\n): Promise => {\n dispatch(creators.removeDashboard(dashboardID))\n dispatch(deleteTimeRange(dashboardID))\n\n try {\n const resp = await api.deleteDashboard({dashboardID})\n\n if (resp.status !== 204) {\n throw new Error(resp.data.message)\n }\n\n dispatch(notify(copy.dashboardDeleted(name)))\n dispatch(checkDashboardLimits())\n } catch (error) {\n dispatch(notify(copy.dashboardDeleteFailed(name, error.message)))\n }\n}\n\nexport const getDashboard = (\n dashboardID: string,\n controller?: AbortController\n) => async (dispatch, getState: GetState): Promise => {\n try {\n dispatch(creators.setDashboard(dashboardID, RemoteDataState.Loading))\n\n // Fetch the dashboard, views, and all variables a user has access to\n const [resp] = await Promise.all([\n api.getDashboard(\n {dashboardID, query: {include: 'properties'}},\n {signal: controller?.signal}\n ),\n dispatch(getVariables(controller)),\n ])\n\n if (!resp) {\n return\n }\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const skipCache = true\n dispatch(hydrateVariables(skipCache, controller))\n\n const normDash = normalize(\n resp.data,\n dashboardSchema\n )\n\n const cellViews: CellsWithViewProperties = resp.data.cells || []\n const viewsData = viewsFromCells(cellViews, dashboardID)\n setTimeout(() => {\n const normCells = normalize(\n cellViews,\n arrayOfCells\n )\n\n dispatch(setCells(dashboardID, RemoteDataState.Done, normCells))\n const normViews = normalize(\n viewsData,\n arrayOfViews\n )\n\n dispatch(setViews(RemoteDataState.Done, normViews))\n // Now that all the necessary state has been loaded, set the dashboard\n dispatch(\n creators.setDashboard(dashboardID, RemoteDataState.Done, normDash)\n )\n dispatch(updateTimeRangeFromQueryParams(dashboardID))\n }, 0)\n } catch (error) {\n if (error.name === 'AbortError') {\n return\n }\n\n const org = getOrg(getState())\n dispatch(push(`/orgs/${org.id}/dashboards-list`))\n dispatch(notify(copy.dashboardGetFailed(dashboardID, error.message)))\n return\n }\n}\n\nexport const updateDashboard = (\n id: string,\n updates: Partial\n) => async (\n dispatch: Dispatch,\n getState: GetState\n): Promise => {\n const state = getState()\n\n const currentDashboard = getByID(\n state,\n ResourceType.Dashboards,\n id\n )\n\n const dashboard = {...currentDashboard, ...updates}\n\n try {\n const resp = await api.patchDashboard({\n dashboardID: dashboard.id,\n data: {\n name: dashboard.name,\n description: dashboard.description,\n },\n })\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const updatedDashboard = normalize(\n resp.data,\n dashboardSchema\n )\n\n dispatch(creators.editDashboard(updatedDashboard))\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.dashboardUpdateFailed()))\n }\n}\n\nexport const addDashboardLabel = (dashboardID: string, label: Label) => async (\n dispatch: Dispatch\n) => {\n try {\n const resp = await api.postDashboardsLabel({\n dashboardID,\n data: {labelID: label.id},\n })\n\n if (resp.status !== 201) {\n throw new Error(resp.data.message)\n }\n\n const normLabel = normalize(\n resp.data.label,\n labelSchema\n )\n\n dispatch(setLabelOnResource(dashboardID, normLabel))\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.addDashboardLabelFailed()))\n }\n}\n\nexport const removeDashboardLabel = (\n dashboardID: string,\n label: Label\n) => async (dispatch: Dispatch) => {\n try {\n const resp = await api.deleteDashboardsLabel({\n dashboardID,\n labelID: label.id,\n })\n\n if (resp.status !== 204) {\n throw new Error(resp.data.message)\n }\n\n dispatch(creators.removeDashboardLabel(dashboardID, label.id))\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.removedDashboardLabelFailed()))\n }\n}\n\nexport const convertToTemplate = (dashboardID: string) => async (\n dispatch,\n getState: GetState\n): Promise => {\n try {\n dispatch(setExportTemplate(RemoteDataState.Loading))\n const state = getState()\n const org = getOrg(state)\n\n const dashResp = await api.getDashboard({dashboardID})\n\n if (dashResp.status !== 200) {\n throw new Error(dashResp.data.message)\n }\n\n const {entities, result} = normalize(\n dashResp.data,\n dashboardSchema\n )\n\n const dashboard = entities.dashboards[result]\n const cells = dashboard.cells.map(cellID => entities.cells[cellID])\n\n const pendingViews = dashboard.cells.map(cellID =>\n dashAPI.getView(dashboardID, cellID)\n )\n\n const views = await Promise.all(pendingViews)\n const resp = await api.getVariables({query: {orgID: org.id}})\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n let vars = []\n\n // dumb bug\n // https://github.com/paularmstrong/normalizr/issues/290\n if (resp.data.variables.length) {\n const normVars = normalize(\n resp.data.variables,\n arrayOfVariables\n )\n\n vars = Object.values(normVars.entities.variables)\n }\n\n const variables = filterUnusedVars(vars, views)\n const exportedVariables = exportVariables(variables, vars)\n const dashboardTemplate = dashboardToTemplate(\n state,\n dashboard,\n cells,\n views,\n exportedVariables\n )\n\n dispatch(setExportTemplate(RemoteDataState.Done, dashboardTemplate))\n } catch (error) {\n console.error(error)\n dispatch(setExportTemplate(RemoteDataState.Error))\n dispatch(notify(copy.createTemplateFailed(error)))\n }\n}\n\nexport const saveVEOView = (dashboardID: string) => async (\n dispatch,\n getState: GetState\n): Promise => {\n const view = getSaveableView(getState())\n\n try {\n if (view.id) {\n await dispatch(updateViewAndVariables(dashboardID, view))\n } else {\n await dispatch(createCellWithView(dashboardID, view))\n }\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.cellAddFailed(error.message)))\n throw error\n }\n}\n","// Libraries\nimport {normalize} from 'normalizr'\n\n// APIs\nimport {client} from 'src/utils/api'\nimport {fetchStacks} from 'src/templates/api'\nimport {createDashboardFromTemplate} from 'src/dashboards/actions/thunks'\nimport {createVariableFromTemplate} from 'src/variables/actions/thunks'\nimport {createTaskFromTemplate} from 'src/tasks/actions/thunks'\n\n// Schemas\nimport {templateSchema, arrayOfTemplates} from 'src/schemas/templates'\n\n// Actions\nimport {notify, Action as NotifyAction} from 'src/shared/actions/notifications'\nimport {\n addTemplateSummary,\n setStacks,\n populateTemplateSummaries,\n removeTemplateSummary,\n setExportTemplate,\n setTemplatesStatus,\n setTemplateSummary,\n Action as TemplateAction,\n} from 'src/templates/actions/creators'\n\n// Constants\nimport * as copy from 'src/shared/copy/notifications'\nimport {staticTemplates} from 'src/templates/constants/defaultTemplates'\n\n// Types\nimport {Dispatch} from 'react'\nimport {DocumentCreate, TemplateType} from '@influxdata/influx'\nimport {\n RemoteDataState,\n GetState,\n DashboardTemplate,\n VariableTemplate,\n TemplateSummary,\n TemplateSummaryEntities,\n Label,\n Template,\n TaskTemplate,\n ResourceType,\n} from 'src/types'\n\n// Utils\nimport {templateToExport} from 'src/shared/utils/resourceToTemplate'\nimport {getOrg} from 'src/organizations/selectors'\nimport {getLabels, getStatus} from 'src/resources/selectors'\n\ntype Action = TemplateAction | NotifyAction\n\nexport const getTemplateByID = async (id: string): Promise