windmill-components 1.433.0 → 1.444.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/components/ArgInput.svelte +12 -16
- package/package/components/ArgInput.svelte.d.ts +1 -0
- package/package/components/AssignableTags.svelte +3 -1
- package/package/components/AssignableTags.svelte.d.ts +1 -0
- package/package/components/AuthSettings.svelte +248 -0
- package/package/components/AuthSettings.svelte.d.ts +19 -0
- package/package/components/AutoscalingConfigEditor.svelte +2 -2
- package/package/components/CronInput.svelte +2 -2
- package/package/components/DeployWorkspace.svelte +1 -1
- package/package/components/Description.svelte +9 -0
- package/package/components/Description.svelte.d.ts +18 -0
- package/package/components/Dev.svelte +18 -3
- package/package/components/DisplayResult.svelte +7 -4
- package/package/components/DisplayResult.svelte.d.ts +1 -0
- package/package/components/DropdownV2.svelte +2 -1
- package/package/components/DropdownV2.svelte.d.ts +1 -0
- package/package/components/EditableSchemaForm.svelte +2 -2
- package/package/components/Editor.svelte +9 -6
- package/package/components/Editor.svelte.d.ts +4 -2
- package/package/components/EditorBar.svelte +51 -6
- package/package/components/ErrorOrRecoveryHandler.svelte +4 -3
- package/package/components/ExecutionDuration.svelte +2 -1
- package/package/components/FieldHeader.svelte +9 -1
- package/package/components/FieldHeader.svelte.d.ts +1 -0
- package/package/components/FlowBuilder.svelte +16 -3
- package/package/components/FlowGraphViewer.svelte +2 -0
- package/package/components/FlowPreviewContent.svelte +6 -15
- package/package/components/FlowStatusViewerInner.svelte +80 -55
- package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -0
- package/package/components/HighlightCode.svelte +3 -0
- package/package/components/InputTransformSchemaForm.svelte +1 -1
- package/package/components/InstanceSetting.svelte +774 -0
- package/package/components/InstanceSetting.svelte.d.ts +27 -0
- package/package/components/InstanceSettings.svelte +68 -1005
- package/package/components/InstanceSettings.svelte.d.ts +0 -4
- package/package/components/Label.svelte +16 -6
- package/package/components/Label.svelte.d.ts +3 -0
- package/package/components/Login.svelte +17 -9
- package/package/components/OAuthSetting.svelte +4 -3
- package/package/components/OauthExtraParams.svelte +1 -1
- package/package/components/OauthScopes.svelte +2 -2
- package/package/components/ObjectStoreConfigSettings.svelte +141 -128
- package/package/components/QueueMetricsDrawer.svelte +5 -5
- package/package/components/ResourceEditor.svelte +4 -0
- package/package/components/ResourceEditor.svelte.d.ts +1 -0
- package/package/components/ResourceEditorDrawer.svelte +15 -3
- package/package/components/ResourceEditorDrawer.svelte.d.ts +2 -2
- package/package/components/ResourcePicker.svelte +16 -5
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/RunPageSchedules.svelte +15 -10
- package/package/components/SavedInputs.svelte +1 -1
- package/package/components/ScheduleEditorInner.svelte +58 -27
- package/package/components/SchemaForm.svelte +7 -5
- package/package/components/SchemaForm.svelte.d.ts +1 -0
- package/package/components/ScriptBuilder.svelte +58 -5
- package/package/components/ScriptEditor.svelte +78 -40
- package/package/components/ScriptEditor.svelte.d.ts +17 -2
- package/package/components/ScriptPicker.svelte +41 -34
- package/package/components/ScriptPicker.svelte.d.ts +1 -0
- package/package/components/ScriptVersionHistory.svelte +1 -1
- package/package/components/Section.svelte +38 -35
- package/package/components/Section.svelte.d.ts +2 -0
- package/package/components/ServiceLogsInner.svelte +1 -1
- package/package/components/SimpleEditor.svelte +2 -0
- package/package/components/Subsection.svelte +52 -0
- package/package/components/Subsection.svelte.d.ts +27 -0
- package/package/components/SuperadminSettings.svelte +23 -13
- package/package/components/TemplateEditor.svelte +4 -3
- package/package/components/TestConnection.svelte +5 -0
- package/package/components/TestJobLoader.svelte +2 -1
- package/package/components/TestJobLoader.svelte.d.ts +1 -1
- package/package/components/Toggle.svelte +2 -4
- package/package/components/UserSettings.svelte +1 -1
- package/package/components/WorkerGroup.svelte +4 -4
- package/package/components/WorkerTagPicker.svelte +4 -2
- package/package/components/WorkerTagPicker.svelte.d.ts +1 -0
- package/package/components/WorkerTagSelect.svelte +2 -0
- package/package/components/WorkerTagSelect.svelte.d.ts +1 -0
- package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -1
- package/package/components/apps/components/display/dbtable/utils.js +26 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +8 -2
- package/package/components/apps/components/inputs/AppDateInput.svelte +7 -1
- package/package/components/apps/components/inputs/AppS3FileInput.svelte +1 -1
- package/package/components/apps/editor/AppEditor.svelte +5 -34
- package/package/components/apps/editor/AppEditor.svelte.d.ts +1 -0
- package/package/components/apps/editor/AppEditorBottomPanel.svelte +4 -7
- package/package/components/apps/editor/AppEditorBottomPanel.svelte.d.ts +1 -3
- package/package/components/apps/editor/AppEditorHeader.svelte +148 -58
- package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +1 -0
- package/package/components/apps/editor/DeploymentHistory.svelte +1 -1
- package/package/components/apps/editor/RunnableJobPanel.svelte +6 -2
- package/package/components/apps/editor/RunnableJobPanel.svelte.d.ts +1 -0
- package/package/components/apps/editor/appUtils.d.ts +1 -0
- package/package/components/apps/editor/appUtils.js +17 -0
- package/package/components/apps/editor/component/components.d.ts +82 -81
- package/package/components/apps/editor/component/components.js +4 -3
- package/package/components/apps/editor/componentsPanel/ComponentList.svelte +1 -1
- package/package/components/apps/editor/componentsPanel/GroupList.svelte +12 -2
- package/package/components/apps/editor/contextPanel/ContextPanel.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +53 -56
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +3 -2
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +16 -9
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +1 -0
- package/package/components/apps/inputType.d.ts +2 -2
- package/package/components/apps/types.d.ts +2 -0
- package/package/components/common/alert/ConnectionIndicator.svelte +30 -0
- package/package/components/common/alert/ConnectionIndicator.svelte.d.ts +20 -0
- package/package/components/common/alert/Notification.svelte +15 -0
- package/package/components/common/alert/Notification.svelte.d.ts +17 -0
- package/package/components/common/button/AnimatedButton.svelte +1 -1
- package/package/components/common/button/RefreshButton.svelte +30 -0
- package/package/components/common/button/RefreshButton.svelte.d.ts +18 -0
- package/package/components/common/fileDownload/FileDownload.svelte +4 -3
- package/package/components/common/fileDownload/FileDownload.svelte.d.ts +1 -0
- package/package/components/common/fileUpload/FileUpload.svelte +3 -3
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/common/layout/List.svelte +35 -0
- package/package/components/common/layout/List.svelte.d.ts +21 -0
- package/package/components/common/layout/ListElement.svelte +3 -0
- package/package/components/common/layout/ListElement.svelte.d.ts +27 -0
- package/package/components/common/menu/MenuV2.svelte +3 -2
- package/package/components/common/menu/MenuV2.svelte.d.ts +1 -0
- package/package/components/common/modal/Modal.svelte +6 -4
- package/package/components/common/modal/Modal.svelte.d.ts +1 -0
- package/package/components/common/modal/Modal2.svelte +101 -0
- package/package/components/common/modal/Modal2.svelte.d.ts +28 -0
- package/package/components/common/popup/Popup.svelte +5 -1
- package/package/components/common/popup/Popup.svelte.d.ts +2 -0
- package/package/components/common/toggleButton-v2/ToggleButton.svelte +1 -1
- package/package/components/copilot/FlowCopilotStatus.svelte +1 -1
- package/package/components/details/ClipboardPanel.svelte +12 -2
- package/package/components/details/ClipboardPanel.svelte.d.ts +2 -0
- package/package/components/details/CopyableCodeBlock.svelte +24 -0
- package/package/components/details/CopyableCodeBlock.svelte.d.ts +19 -0
- package/package/components/details/DetailPageLayout.svelte +3 -1
- package/package/components/details/EmailTriggerConfigSection.svelte +119 -0
- package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +38 -0
- package/package/components/details/EmailTriggerPanel.svelte +27 -74
- package/package/components/details/EmailTriggerPanel.svelte.d.ts +7 -1
- package/package/components/flows/FlowEditor.svelte +1 -1
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
- package/package/components/flows/FlowHistoryInner.svelte +1 -1
- package/package/components/flows/content/BranchPredicateEditor.svelte +1 -1
- package/package/components/flows/content/FlowEditorPanel.svelte +30 -1
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +2 -0
- package/package/components/flows/content/FlowInput.svelte +2 -15
- package/package/components/flows/content/FlowInputs.svelte +1 -1
- package/package/components/flows/content/FlowInputsQuick.svelte +2 -2
- package/package/components/flows/content/FlowModuleComponent.svelte +9 -5
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +2 -2
- package/package/components/flows/content/FlowModuleHeader.svelte +4 -1
- package/package/components/flows/content/FlowModuleSuspend.svelte +1 -1
- package/package/components/flows/content/FlowPathViewer.svelte +3 -1
- package/package/components/flows/content/FlowRetries.svelte +32 -5
- package/package/components/flows/content/FlowSettings.svelte +56 -48
- package/package/components/flows/flowStateUtils.d.ts +10 -1
- package/package/components/flows/flowStateUtils.js +23 -0
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +9 -19
- package/package/components/flows/map/InsertModuleButton.svelte +3 -3
- package/package/components/flows/map/VirtualItem.svelte +29 -1
- package/package/components/flows/map/VirtualItem.svelte.d.ts +2 -0
- package/package/components/flows/pickers/TopLevelNode.svelte +2 -2
- package/package/components/flows/previousResults.js +8 -2
- package/package/components/flows/types.d.ts +1 -0
- package/package/components/graph/FlowGraphV2.svelte +16 -2
- package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -0
- package/package/components/graph/graphBuilder.js +1 -0
- package/package/components/graph/renderers/nodes/InputNode.svelte +2 -0
- package/package/components/graph/renderers/nodes/InputNode.svelte.d.ts +2 -0
- package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +1 -1
- package/package/components/icons/CSharpIcon.svelte +14 -0
- package/package/components/icons/CSharpIcon.svelte.d.ts +25 -0
- package/package/components/icons/GitIcon.svelte +5 -2
- package/package/components/icons/XeroIcon.svelte +24 -0
- package/package/components/icons/XeroIcon.svelte.d.ts +17 -0
- package/package/components/icons/index.d.ts +3 -1
- package/package/components/icons/index.js +4 -2
- package/package/components/instanceSettings.d.ts +3 -1
- package/package/components/instanceSettings.js +77 -69
- package/package/components/meltComponents/Popover.svelte +82 -0
- package/package/components/meltComponents/Popover.svelte.d.ts +21 -0
- package/package/components/propertyPicker/PropPicker.svelte +5 -3
- package/package/components/runs/JobLoader.svelte +5 -2
- package/package/components/runs/JobPreview.svelte +5 -5
- package/package/components/runs/RunRow.svelte +3 -4
- package/package/components/runs/RunsFilter.svelte +4 -4
- package/package/components/schema/EditableSchemaDrawer.svelte +4 -4
- package/package/components/schema/PropertyEditor.svelte +1 -1
- package/package/components/schema/SchemaFormDND.svelte +2 -0
- package/package/components/schema/SchemaFormDND.svelte.d.ts +1 -0
- package/package/components/scriptEditor/LogPanel.svelte +176 -164
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
- package/package/components/search/GlobalSearchModal.svelte +3 -3
- package/package/components/sidebar/CriticalAlertModal.svelte +155 -9
- package/package/components/sidebar/CriticalAlertModalInner.svelte +65 -212
- package/package/components/sidebar/CriticalAlertModalInner.svelte.d.ts +2 -4
- package/package/components/sidebar/CriticalAlertTable.svelte +142 -0
- package/package/components/sidebar/CriticalAlertTable.svelte.d.ts +25 -0
- package/package/components/sidebar/OperatorMenu.svelte +30 -8
- package/package/components/sidebar/SideBarNotification.svelte +3 -6
- package/package/components/sidebar/SidebarContent.svelte +5 -5
- package/package/components/sidebar/WorkspaceMenu.svelte +9 -5
- package/package/components/sidebar/WorkspaceMenu.svelte.d.ts +1 -0
- package/package/components/sidebar/changelogs.js +82 -17
- package/package/components/splitPanes/SplitPanesOrColumnOnMobile.svelte +21 -21
- package/package/components/table/AutoDataTable.svelte +1 -1
- package/package/components/table/Cell.svelte +5 -3
- package/package/components/table/Cell.svelte.d.ts +1 -0
- package/package/components/table/DataTable.svelte +65 -58
- package/package/components/table/DataTable.svelte.d.ts +2 -0
- package/package/components/table/Head.svelte +1 -1
- package/package/components/table/Row.svelte +3 -1
- package/package/components/table/Row.svelte.d.ts +1 -0
- package/package/components/toast.js +3 -1
- package/package/components/triggers/CaptureButton.svelte +77 -0
- package/package/components/triggers/CaptureButton.svelte.d.ts +16 -0
- package/package/components/triggers/CaptureIcon.svelte +17 -0
- package/package/components/triggers/CaptureIcon.svelte.d.ts +23 -0
- package/package/components/triggers/CaptureSection.svelte +76 -0
- package/package/components/triggers/CaptureSection.svelte.d.ts +42 -0
- package/package/components/triggers/CaptureTable.svelte +224 -0
- package/package/components/triggers/CaptureTable.svelte.d.ts +43 -0
- package/package/components/triggers/CaptureWrapper.svelte +237 -0
- package/package/components/triggers/CaptureWrapper.svelte.d.ts +35 -0
- package/package/components/triggers/KafkaTriggerEditor.svelte +2 -2
- package/package/components/triggers/KafkaTriggerEditor.svelte.d.ts +2 -2
- package/package/components/triggers/KafkaTriggerEditorInner.svelte +47 -119
- package/package/components/triggers/KafkaTriggerEditorInner.svelte.d.ts +2 -2
- package/package/components/triggers/KafkaTriggersConfigSection.svelte +215 -0
- package/package/components/triggers/KafkaTriggersConfigSection.svelte.d.ts +36 -0
- package/package/components/triggers/KafkaTriggersPanel.svelte +73 -45
- package/package/components/triggers/KafkaTriggersPanel.svelte.d.ts +6 -0
- package/package/components/triggers/RouteEditor.svelte +2 -2
- package/package/components/triggers/RouteEditor.svelte.d.ts +2 -2
- package/package/components/triggers/RouteEditorConfigSection.svelte +162 -0
- package/package/components/triggers/RouteEditorConfigSection.svelte.d.ts +43 -0
- package/package/components/triggers/RouteEditorInner.svelte +98 -163
- package/package/components/triggers/RouteEditorInner.svelte.d.ts +2 -2
- package/package/components/triggers/RoutesPanel.svelte +69 -54
- package/package/components/triggers/RoutesPanel.svelte.d.ts +5 -0
- package/package/components/triggers/ScheduledPollPanel.svelte +5 -9
- package/package/components/triggers/TriggersEditor.svelte +119 -89
- package/package/components/triggers/TriggersEditor.svelte.d.ts +7 -0
- package/package/components/triggers/TriggersEditorSection.svelte +109 -0
- package/package/components/triggers/TriggersEditorSection.svelte.d.ts +29 -0
- package/package/components/triggers/TriggersWrapper.svelte +60 -0
- package/package/components/triggers/TriggersWrapper.svelte.d.ts +21 -0
- package/package/components/triggers/WebhooksConfigSection.svelte +382 -0
- package/package/components/triggers/WebhooksConfigSection.svelte.d.ts +39 -0
- package/package/components/triggers/WebhooksPanel.svelte +32 -331
- package/package/components/triggers/WebhooksPanel.svelte.d.ts +7 -1
- package/package/components/triggers/WebsocketEditorConfigSection.svelte +176 -0
- package/package/components/triggers/WebsocketEditorConfigSection.svelte.d.ts +37 -0
- package/package/components/triggers/WebsocketTriggerEditor.svelte +2 -2
- package/package/components/triggers/WebsocketTriggerEditor.svelte.d.ts +2 -2
- package/package/components/triggers/WebsocketTriggerEditorInner.svelte +29 -150
- package/package/components/triggers/WebsocketTriggerEditorInner.svelte.d.ts +2 -2
- package/package/components/triggers/WebsocketTriggersPanel.svelte +70 -45
- package/package/components/triggers/WebsocketTriggersPanel.svelte.d.ts +6 -0
- package/package/components/triggers.d.ts +6 -2
- package/package/components/triggers.js +16 -0
- package/package/components/wizards/AgGridWizard.svelte +4 -4
- package/package/editorUtils.d.ts +2 -0
- package/package/editorUtils.js +6 -3
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +17 -8
- package/package/gen/schemas.gen.js +17 -8
- package/package/gen/services.gen.d.ts +55 -5
- package/package/gen/services.gen.js +108 -5
- package/package/gen/types.gen.d.ts +180 -13
- package/package/hubPaths.json +6 -3
- package/package/infer.js +9 -0
- package/package/script_helpers.d.ts +5 -0
- package/package/script_helpers.js +68 -8
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +5 -1
- package/package/stores.d.ts +1 -0
- package/package/utils.d.ts +3 -1
- package/package/utils.js +20 -4
- package/package.json +11 -8
- package/package/components/flows/content/CapturePayload.svelte +0 -114
- package/package/components/flows/content/CapturePayload.svelte.d.ts +0 -17
|
@@ -1,64 +1,29 @@
|
|
|
1
|
-
<script>import
|
|
2
|
-
import Toggle from '../Toggle.svelte';
|
|
1
|
+
<script>import Toggle from '../Toggle.svelte';
|
|
3
2
|
import { SettingService } from '../../gen';
|
|
4
|
-
import {
|
|
5
|
-
import { onMount } from 'svelte';
|
|
6
|
-
import { devopsRole, workspaceStore, instanceSettingsSelectedTab, superadmin, userStore } from '../../stores';
|
|
3
|
+
import { devopsRole, instanceSettingsSelectedTab, superadmin } from '../../stores';
|
|
7
4
|
import { goto } from '$app/navigation';
|
|
8
|
-
import
|
|
9
|
-
import
|
|
5
|
+
import List from '../common/layout/List.svelte';
|
|
6
|
+
import RefreshButton from '../common/button/RefreshButton.svelte';
|
|
7
|
+
import CriticalAlertTable from './CriticalAlertTable.svelte';
|
|
8
|
+
import Alert from '../common/alert/Alert.svelte';
|
|
10
9
|
export let updateHasUnacknowledgedCriticalAlerts;
|
|
11
10
|
export let getCriticalAlerts;
|
|
12
11
|
export let acknowledgeCriticalAlert;
|
|
13
12
|
export let acknowledgeAllCriticalAlerts;
|
|
14
13
|
export let numUnacknowledgedCriticalAlerts;
|
|
15
|
-
let
|
|
14
|
+
let filteredAlerts = [];
|
|
16
15
|
let isRefreshing = false;
|
|
17
16
|
let hasCriticalAlertChannels = true;
|
|
18
|
-
export let muteSettings = {
|
|
19
|
-
workspace: true,
|
|
20
|
-
global: true
|
|
21
|
-
};
|
|
22
|
-
$: muteSettings;
|
|
23
|
-
$: {
|
|
24
|
-
if (initialMuteSettings.workspace !== muteSettings.workspace ||
|
|
25
|
-
initialMuteSettings.global !== muteSettings.global) {
|
|
26
|
-
saveMuteSettings();
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
$: numUnacknowledgedCriticalAlerts >= 0 && getAlerts(true);
|
|
30
|
-
let initialMuteSettings = muteSettings;
|
|
31
|
-
async function saveMuteSettings() {
|
|
32
|
-
if (initialMuteSettings.workspace !== muteSettings.workspace) {
|
|
33
|
-
// Workspace
|
|
34
|
-
await SettingService.workspaceMuteCriticalAlertsUi({
|
|
35
|
-
workspace: $workspaceStore,
|
|
36
|
-
requestBody: {
|
|
37
|
-
mute_critical_alerts: muteSettings.workspace
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
if ($superadmin && initialMuteSettings.global !== muteSettings.global) {
|
|
42
|
-
// Global
|
|
43
|
-
await SettingService.setGlobal({
|
|
44
|
-
key: 'critical_alert_mute_ui',
|
|
45
|
-
requestBody: { value: muteSettings.global }
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
sendUserToast(`Critical alert UI mute settings changed.\nPlease reload page for UI changes to take effect.`);
|
|
49
|
-
getAlerts(true);
|
|
50
|
-
initialMuteSettings = { ...muteSettings };
|
|
51
|
-
}
|
|
52
17
|
$: loading = isRefreshing;
|
|
53
|
-
|
|
18
|
+
$: if (numUnacknowledgedCriticalAlerts) {
|
|
54
19
|
refreshAlerts();
|
|
55
|
-
|
|
56
|
-
});
|
|
20
|
+
}
|
|
57
21
|
// Pagination
|
|
58
22
|
let page = 1;
|
|
59
23
|
let pageSize = 10;
|
|
60
24
|
let hasMore = true;
|
|
61
25
|
let hideAcknowledged = false;
|
|
26
|
+
export let workspaceContext = false;
|
|
62
27
|
async function acknowledgeAll() {
|
|
63
28
|
await acknowledgeAllCriticalAlerts();
|
|
64
29
|
getAlerts(false);
|
|
@@ -66,14 +31,14 @@ async function acknowledgeAll() {
|
|
|
66
31
|
async function fetchAlerts(pageNumber) {
|
|
67
32
|
isRefreshing = true;
|
|
68
33
|
try {
|
|
69
|
-
const
|
|
34
|
+
const res = await getCriticalAlerts({
|
|
70
35
|
page: pageNumber,
|
|
71
36
|
pageSize: pageSize,
|
|
72
37
|
acknowledged: hideAcknowledged ? false : undefined
|
|
73
38
|
});
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
39
|
+
hasMore = pageNumber < res.total_pages;
|
|
40
|
+
totalNumberOfAlerts = res.total_rows;
|
|
41
|
+
filteredAlerts = res.alerts;
|
|
77
42
|
updateHasUnacknowledgedCriticalAlerts();
|
|
78
43
|
}
|
|
79
44
|
finally {
|
|
@@ -83,9 +48,9 @@ async function fetchAlerts(pageNumber) {
|
|
|
83
48
|
}
|
|
84
49
|
}
|
|
85
50
|
async function getAlerts(reset) {
|
|
86
|
-
if (reset)
|
|
51
|
+
if (reset) {
|
|
87
52
|
page = 1;
|
|
88
|
-
|
|
53
|
+
}
|
|
89
54
|
await fetchAlerts(page);
|
|
90
55
|
}
|
|
91
56
|
async function checkCriticalAlertChannels() {
|
|
@@ -96,193 +61,81 @@ async function acknowledgeAlert(id) {
|
|
|
96
61
|
await acknowledgeCriticalAlert({ id });
|
|
97
62
|
getAlerts(false);
|
|
98
63
|
}
|
|
99
|
-
function
|
|
100
|
-
if (!dateString)
|
|
101
|
-
return '';
|
|
102
|
-
const date = new Date(dateString);
|
|
103
|
-
return new Intl.DateTimeFormat('en-US', {
|
|
104
|
-
year: 'numeric',
|
|
105
|
-
month: 'short',
|
|
106
|
-
day: 'numeric',
|
|
107
|
-
hour: '2-digit',
|
|
108
|
-
minute: '2-digit',
|
|
109
|
-
second: '2-digit'
|
|
110
|
-
}).format(date);
|
|
111
|
-
}
|
|
112
|
-
async function refreshAlerts() {
|
|
64
|
+
export async function refreshAlerts() {
|
|
113
65
|
if ($superadmin)
|
|
114
66
|
checkCriticalAlertChannels();
|
|
115
67
|
await getAlerts(true);
|
|
116
68
|
}
|
|
117
69
|
function goToPreviousPage() {
|
|
118
70
|
if (page > 1) {
|
|
119
|
-
|
|
71
|
+
page -= 1;
|
|
72
|
+
fetchAlerts(page);
|
|
120
73
|
}
|
|
121
74
|
}
|
|
122
75
|
function goToNextPage() {
|
|
123
76
|
if (hasMore) {
|
|
124
|
-
|
|
77
|
+
page += 1;
|
|
78
|
+
fetchAlerts(page);
|
|
125
79
|
}
|
|
126
80
|
}
|
|
127
81
|
function goToCoreTab() {
|
|
128
82
|
goto('/#superadmin-settings');
|
|
129
83
|
instanceSettingsSelectedTab.set('Core');
|
|
130
84
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
workspaceContextChanged(workspaceContext);
|
|
134
|
-
}
|
|
135
|
-
async function workspaceContextChanged(_ctx) {
|
|
136
|
-
await getAlerts(true);
|
|
85
|
+
function onFiltersChange() {
|
|
86
|
+
getAlerts(true);
|
|
137
87
|
}
|
|
88
|
+
// Update filter change handlers
|
|
89
|
+
$: hideAcknowledged, workspaceContext, onFiltersChange();
|
|
90
|
+
let totalNumberOfAlerts = 0;
|
|
138
91
|
</script>
|
|
139
92
|
|
|
140
|
-
<
|
|
141
|
-
|
|
142
|
-
<div class="
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
<a href="/#superadmin-settings" on:click|preventDefault={goToCoreTab}
|
|
149
|
-
>Instance Settings</a
|
|
150
|
-
>
|
|
151
|
-
page to configure critical alert channels.
|
|
152
|
-
</p>
|
|
153
|
-
</div>
|
|
154
|
-
{/if}
|
|
93
|
+
<List gap="sm">
|
|
94
|
+
{#if !hasCriticalAlertChannels && $superadmin}
|
|
95
|
+
<div class="w-full">
|
|
96
|
+
<Alert title="No critical alert channels are set up" type="warning" size="xs">
|
|
97
|
+
Go to the
|
|
98
|
+
<a href="/#superadmin-settings" on:click|preventDefault={goToCoreTab}>Instance settings</a>
|
|
99
|
+
page to configure critical alert channels.
|
|
100
|
+
</Alert>
|
|
155
101
|
</div>
|
|
102
|
+
{/if}
|
|
156
103
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
size="xs"
|
|
163
|
-
disabled={numUnacknowledgedCriticalAlerts === 0}
|
|
164
|
-
on:click={acknowledgeAll}
|
|
165
|
-
>
|
|
166
|
-
Acknowledge All</Button
|
|
167
|
-
>
|
|
168
|
-
</div>
|
|
169
|
-
|
|
170
|
-
{#if $devopsRole}
|
|
171
|
-
<div class="flex flex-row py-2 pb-3">
|
|
172
|
-
<Toggle
|
|
173
|
-
bind:checked={workspaceContext}
|
|
174
|
-
options={{ right: `Workspace: '${$workspaceStore}'`, left: "Context: 'Global'" }}
|
|
175
|
-
size="xs"
|
|
176
|
-
/>
|
|
177
|
-
</div>
|
|
178
|
-
{/if}
|
|
179
|
-
|
|
180
|
-
{#if $superadmin || $userStore?.is_admin}
|
|
181
|
-
<Section label="Mute Settings" collapsable={true} small={true}>
|
|
182
|
-
{#if $superadmin}
|
|
183
|
-
<div class="flex flex-row pb-1">
|
|
184
|
-
<Toggle
|
|
185
|
-
bind:checked={muteSettings.global}
|
|
186
|
-
options={{ right: 'Mute critical alerts instance wide' }}
|
|
187
|
-
size="xs"
|
|
188
|
-
/>
|
|
189
|
-
</div>
|
|
190
|
-
{/if}
|
|
191
|
-
|
|
192
|
-
<div class="flex flex-row pb-1">
|
|
104
|
+
<div class="w-full">
|
|
105
|
+
<List horizontal justify="between">
|
|
106
|
+
<div class="w-full">
|
|
107
|
+
<List horizontal justify="start" gap="md">
|
|
108
|
+
{#if $devopsRole}
|
|
193
109
|
<Toggle
|
|
194
|
-
bind:checked={
|
|
195
|
-
options={{ right:
|
|
110
|
+
bind:checked={workspaceContext}
|
|
111
|
+
options={{ right: `Workspace only` }}
|
|
196
112
|
size="xs"
|
|
197
113
|
/>
|
|
198
|
-
|
|
199
|
-
</Section>
|
|
200
|
-
{/if}
|
|
114
|
+
{/if}
|
|
201
115
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
<Toggle
|
|
205
|
-
bind:checked={hideAcknowledged}
|
|
206
|
-
on:change={refreshAlerts}
|
|
207
|
-
options={{ right: 'Hide Acknowledged' }}
|
|
208
|
-
size="xs"
|
|
209
|
-
/>
|
|
210
|
-
</div>
|
|
211
|
-
<button
|
|
212
|
-
class="mb-1 p-2 rounded-full hover:bg-gray-200"
|
|
213
|
-
on:click={refreshAlerts}
|
|
214
|
-
disabled={loading}
|
|
215
|
-
>
|
|
216
|
-
<RefreshCw class={loading ? 'animate-spin ' : ''} size="20" />
|
|
217
|
-
</button>
|
|
116
|
+
<Toggle bind:checked={hideAcknowledged} options={{ right: 'Non-Acked only' }} size="xs" />
|
|
117
|
+
</List>
|
|
218
118
|
</div>
|
|
219
|
-
</div>
|
|
220
|
-
</div>
|
|
221
119
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
<
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
<th class="w-[150px] px-4 py-2 text-center">Created At</th>
|
|
230
|
-
{#if $devopsRole}
|
|
231
|
-
<th class="w-[80px] px-4 py-2 text-center">Workspace</th>
|
|
232
|
-
{/if}
|
|
233
|
-
<th class="w-[180px] px-4 py-2 text-center">Acknowledge</th>
|
|
234
|
-
</tr>
|
|
235
|
-
</thead>
|
|
236
|
-
<tbody>
|
|
237
|
-
{#each alerts as { id, alert_type, message, created_at, acknowledged, workspace_id }}
|
|
238
|
-
{#if !hideAcknowledged || !acknowledged}
|
|
239
|
-
<tr class="bg-gray-100 dark:bg-gray-700 dark:text-white text-center">
|
|
240
|
-
<td class="border px-4 py-2 w-[100px]">
|
|
241
|
-
{#if alert_type === 'recovered_critical_error'}
|
|
242
|
-
<span title="Recovered Critical Alert">
|
|
243
|
-
<CheckCircle2 size="20" color="green" />
|
|
244
|
-
</span>
|
|
245
|
-
{:else}
|
|
246
|
-
<span title="Critical Alert">
|
|
247
|
-
<AlertCircle size="20" color="red" />
|
|
248
|
-
</span>
|
|
249
|
-
{/if}
|
|
250
|
-
</td>
|
|
251
|
-
<td class="border px-4 py-2">{message}</td>
|
|
252
|
-
<!-- Flexible width -->
|
|
253
|
-
<td class="border px-4 py-2 w-[150px]">{formatDate(created_at)}</td>
|
|
254
|
-
{#if $devopsRole}
|
|
255
|
-
<td class="border px-4 py-2 w-[150px]">{workspace_id ? workspace_id : 'global'}</td>
|
|
256
|
-
{/if}
|
|
257
|
-
<td class="border px-4 py-2 w-[180px]">
|
|
258
|
-
<div class="flex justify-center items-center">
|
|
259
|
-
{#if !acknowledged}
|
|
260
|
-
<Button
|
|
261
|
-
color="green"
|
|
262
|
-
startIcon={{ icon: CheckSquare2 }}
|
|
263
|
-
size="xs2"
|
|
264
|
-
on:click={() => {
|
|
265
|
-
if (id) acknowledgeAlert(id)
|
|
266
|
-
}}>Acknowledge</Button
|
|
267
|
-
>
|
|
268
|
-
{:else}
|
|
269
|
-
<CheckCircle2 size="20" color="green" />
|
|
270
|
-
{/if}
|
|
271
|
-
</div>
|
|
272
|
-
</td>
|
|
273
|
-
</tr>
|
|
274
|
-
{/if}
|
|
275
|
-
{/each}
|
|
276
|
-
</tbody>
|
|
277
|
-
</table>
|
|
278
|
-
</div>
|
|
279
|
-
<div class="flex flex-1 pt-2 gap-x-4 justify-end">
|
|
280
|
-
<Button size="xs2" on:click={goToPreviousPage} disabled={page <= 1}>Previous</Button>
|
|
281
|
-
<span>Page {page}</span>
|
|
282
|
-
<Button size="xs2" on:click={goToNextPage} disabled={!hasMore}>Next</Button>
|
|
120
|
+
<List wFull={false} horizontal gap="md" justify="end">
|
|
121
|
+
<div class="text-xs text-tertiary whitespace-nowrap"
|
|
122
|
+
>{`${totalNumberOfAlerts === 1000 ? '1000+' : totalNumberOfAlerts ?? '?'} items`}
|
|
123
|
+
</div>
|
|
124
|
+
<RefreshButton {loading} on:click={refreshAlerts} />
|
|
125
|
+
</List>
|
|
126
|
+
</List>
|
|
283
127
|
</div>
|
|
284
128
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
129
|
+
<CriticalAlertTable
|
|
130
|
+
alerts={filteredAlerts}
|
|
131
|
+
{acknowledgeAlert}
|
|
132
|
+
{hideAcknowledged}
|
|
133
|
+
{goToNextPage}
|
|
134
|
+
{goToPreviousPage}
|
|
135
|
+
bind:page
|
|
136
|
+
{hasMore}
|
|
137
|
+
{acknowledgeAll}
|
|
138
|
+
{numUnacknowledgedCriticalAlerts}
|
|
139
|
+
{pageSize}
|
|
140
|
+
/>
|
|
141
|
+
</List>
|
|
@@ -6,11 +6,8 @@ declare const __propDef: {
|
|
|
6
6
|
acknowledgeCriticalAlert: any;
|
|
7
7
|
acknowledgeAllCriticalAlerts: any;
|
|
8
8
|
numUnacknowledgedCriticalAlerts: any;
|
|
9
|
-
muteSettings?: {
|
|
10
|
-
workspace: boolean;
|
|
11
|
-
global: boolean;
|
|
12
|
-
} | undefined;
|
|
13
9
|
workspaceContext?: boolean | undefined;
|
|
10
|
+
refreshAlerts?: (() => Promise<void>) | undefined;
|
|
14
11
|
};
|
|
15
12
|
events: {
|
|
16
13
|
[evt: string]: CustomEvent<any>;
|
|
@@ -21,5 +18,6 @@ export type CriticalAlertModalInnerProps = typeof __propDef.props;
|
|
|
21
18
|
export type CriticalAlertModalInnerEvents = typeof __propDef.events;
|
|
22
19
|
export type CriticalAlertModalInnerSlots = typeof __propDef.slots;
|
|
23
20
|
export default class CriticalAlertModalInner extends SvelteComponent<CriticalAlertModalInnerProps, CriticalAlertModalInnerEvents, CriticalAlertModalInnerSlots> {
|
|
21
|
+
get refreshAlerts(): () => Promise<void>;
|
|
24
22
|
}
|
|
25
23
|
export {};
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
<script>import Cell from '../table/Cell.svelte';
|
|
2
|
+
import DataTable from '../table/DataTable.svelte';
|
|
3
|
+
import Head from '../table/Head.svelte';
|
|
4
|
+
import Row from '../table/Row.svelte';
|
|
5
|
+
import Button from '../common/button/Button.svelte';
|
|
6
|
+
import { AlertCircle, CheckCircle2 } from 'lucide-svelte';
|
|
7
|
+
import { devopsRole } from '../../stores';
|
|
8
|
+
import List from '../common/layout/List.svelte';
|
|
9
|
+
import { Skeleton } from '../common';
|
|
10
|
+
export let alerts;
|
|
11
|
+
export let hideAcknowledged = false;
|
|
12
|
+
export let goToNextPage;
|
|
13
|
+
export let goToPreviousPage;
|
|
14
|
+
export let acknowledgeAlert;
|
|
15
|
+
export let acknowledgeAll;
|
|
16
|
+
export let numUnacknowledgedCriticalAlerts;
|
|
17
|
+
export let page = 1;
|
|
18
|
+
export let hasMore = true;
|
|
19
|
+
export let pageSize = 0;
|
|
20
|
+
let headerHeight = 0;
|
|
21
|
+
let contentHeight = 0;
|
|
22
|
+
function formatDate(dateString) {
|
|
23
|
+
if (!dateString)
|
|
24
|
+
return '';
|
|
25
|
+
const date = new Date(dateString);
|
|
26
|
+
return new Intl.DateTimeFormat('en-US', {
|
|
27
|
+
year: 'numeric',
|
|
28
|
+
month: 'short',
|
|
29
|
+
day: 'numeric',
|
|
30
|
+
hour: '2-digit',
|
|
31
|
+
minute: '2-digit',
|
|
32
|
+
second: '2-digit'
|
|
33
|
+
}).format(date);
|
|
34
|
+
}
|
|
35
|
+
$: availableHeight = (contentHeight - headerHeight - pageSize - 1) / pageSize;
|
|
36
|
+
</script>
|
|
37
|
+
|
|
38
|
+
<div class="relative grow min-h-0 w-full">
|
|
39
|
+
<DataTable
|
|
40
|
+
size="xs"
|
|
41
|
+
paginated
|
|
42
|
+
on:next={goToNextPage}
|
|
43
|
+
on:previous={goToPreviousPage}
|
|
44
|
+
bind:currentPage={page}
|
|
45
|
+
{hasMore}
|
|
46
|
+
bind:contentHeight
|
|
47
|
+
>
|
|
48
|
+
<Head>
|
|
49
|
+
<tr bind:clientHeight={headerHeight}>
|
|
50
|
+
<Cell head first class="min-w-12"> </Cell>
|
|
51
|
+
<Cell head class="min-w-24 w-full">Message</Cell>
|
|
52
|
+
<Cell head class="min-w-28">Created At</Cell>
|
|
53
|
+
{#if $devopsRole}
|
|
54
|
+
<Cell head class="min-w-24">Context</Cell>
|
|
55
|
+
{/if}
|
|
56
|
+
<Cell head last class="min-w-36">
|
|
57
|
+
<List horizontal gap="sm">
|
|
58
|
+
<span>Acked</span>
|
|
59
|
+
|
|
60
|
+
<Button
|
|
61
|
+
color="green"
|
|
62
|
+
startIcon={{ icon: CheckCircle2 }}
|
|
63
|
+
size="xs2"
|
|
64
|
+
disabled={numUnacknowledgedCriticalAlerts === 0}
|
|
65
|
+
on:click={acknowledgeAll}
|
|
66
|
+
title="Acknowledge all"
|
|
67
|
+
>
|
|
68
|
+
All</Button
|
|
69
|
+
>
|
|
70
|
+
</List>
|
|
71
|
+
</Cell>
|
|
72
|
+
</tr>
|
|
73
|
+
</Head>
|
|
74
|
+
{#if alerts == undefined}
|
|
75
|
+
<tbody>
|
|
76
|
+
{#each new Array(3) as _}
|
|
77
|
+
<Row>
|
|
78
|
+
{#each new Array(5) as _}
|
|
79
|
+
<Cell>
|
|
80
|
+
<Skeleton layout={[[5]]} />
|
|
81
|
+
</Cell>
|
|
82
|
+
{/each}
|
|
83
|
+
</Row>
|
|
84
|
+
{/each}
|
|
85
|
+
</tbody>
|
|
86
|
+
{:else if alerts.length === 0}
|
|
87
|
+
<div class="absolute top-0 left-0 w-full h-full center-center">
|
|
88
|
+
<p class="text-center text-gray-500 mt-4">No critical alerts.</p>
|
|
89
|
+
</div>
|
|
90
|
+
{:else}
|
|
91
|
+
<tbody class="divide-y border-b w-full overflow-y-auto">
|
|
92
|
+
{#each alerts as { id, alert_type, message, created_at, acknowledged, workspace_id }}
|
|
93
|
+
{#if !hideAcknowledged || !acknowledged}
|
|
94
|
+
<Row disabled={acknowledged}>
|
|
95
|
+
<Cell class="py-0">
|
|
96
|
+
<div class="flex items-center justify-center" style="height: {availableHeight}px">
|
|
97
|
+
{#if alert_type === 'recovered_critical_error'}
|
|
98
|
+
<span title="Recovered Critical Alert">
|
|
99
|
+
<CheckCircle2 size="20" color="green" />
|
|
100
|
+
</span>
|
|
101
|
+
{:else}
|
|
102
|
+
<span title="Critical Alert">
|
|
103
|
+
<AlertCircle size="20" color="red" />
|
|
104
|
+
</span>
|
|
105
|
+
{/if}
|
|
106
|
+
</div>
|
|
107
|
+
</Cell>
|
|
108
|
+
|
|
109
|
+
<Cell wrap>
|
|
110
|
+
<div class="flex-shrink min-w-0 break-words">{message}</div>
|
|
111
|
+
</Cell>
|
|
112
|
+
<!-- Flexible width -->
|
|
113
|
+
<Cell wrap>{formatDate(created_at)}</Cell>
|
|
114
|
+
{#if $devopsRole}
|
|
115
|
+
<Cell>{workspace_id ? workspace_id : 'global'}</Cell>
|
|
116
|
+
{/if}
|
|
117
|
+
<Cell>
|
|
118
|
+
<div class="w-full flex justify-center items-center">
|
|
119
|
+
{#if !acknowledged}
|
|
120
|
+
<Button
|
|
121
|
+
color="green"
|
|
122
|
+
startIcon={{ icon: CheckCircle2 }}
|
|
123
|
+
size="xs2"
|
|
124
|
+
on:click={() => {
|
|
125
|
+
if (id) acknowledgeAlert(id)
|
|
126
|
+
}}
|
|
127
|
+
title="Acknowledge"
|
|
128
|
+
>
|
|
129
|
+
Acknowledge
|
|
130
|
+
</Button>
|
|
131
|
+
{:else}
|
|
132
|
+
<CheckCircle2 size="20" />
|
|
133
|
+
{/if}
|
|
134
|
+
</div>
|
|
135
|
+
</Cell>
|
|
136
|
+
</Row>
|
|
137
|
+
{/if}
|
|
138
|
+
{/each}
|
|
139
|
+
</tbody>
|
|
140
|
+
{/if}
|
|
141
|
+
</DataTable>
|
|
142
|
+
</div>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
alerts: any[];
|
|
5
|
+
hideAcknowledged?: boolean | undefined;
|
|
6
|
+
goToNextPage: () => void;
|
|
7
|
+
goToPreviousPage: () => void;
|
|
8
|
+
acknowledgeAlert: (id: number) => void;
|
|
9
|
+
acknowledgeAll: () => void;
|
|
10
|
+
numUnacknowledgedCriticalAlerts: number;
|
|
11
|
+
page?: number | undefined;
|
|
12
|
+
hasMore?: boolean | undefined;
|
|
13
|
+
pageSize?: number | undefined;
|
|
14
|
+
};
|
|
15
|
+
events: {
|
|
16
|
+
[evt: string]: CustomEvent<any>;
|
|
17
|
+
};
|
|
18
|
+
slots: {};
|
|
19
|
+
};
|
|
20
|
+
export type CriticalAlertTableProps = typeof __propDef.props;
|
|
21
|
+
export type CriticalAlertTableEvents = typeof __propDef.events;
|
|
22
|
+
export type CriticalAlertTableSlots = typeof __propDef.slots;
|
|
23
|
+
export default class CriticalAlertTable extends SvelteComponent<CriticalAlertTableProps, CriticalAlertTableEvents, CriticalAlertTableSlots> {
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<script>import { Home, Menu as MenuIcon, Play, Settings, LogOut, Moon, Sun, Code2, LayoutDashboard, Building, Calendar } from 'lucide-svelte';
|
|
1
|
+
<script>import { Home, Menu as MenuIcon, Play, Settings, LogOut, Moon, Sun, Code2, LayoutDashboard, Building, Calendar, ServerCog } from 'lucide-svelte';
|
|
2
2
|
import { base } from '../../base';
|
|
3
3
|
import Menu from '../common/menu/MenuV2.svelte';
|
|
4
4
|
import MultiplayerMenu from './MultiplayerMenu.svelte';
|
|
5
|
-
import { enterpriseLicense } from '../../stores';
|
|
5
|
+
import { enterpriseLicense, superadmin } from '../../stores';
|
|
6
6
|
import MenuButton from './MenuButton.svelte';
|
|
7
7
|
import { MenuItem } from '@rgossiaux/svelte-headlessui';
|
|
8
8
|
import MenuLink from './MenuLink.svelte';
|
|
@@ -20,10 +20,6 @@ const mainMenuLinks = [
|
|
|
20
20
|
{ label: 'Schedules', href: `${base}/schedules`, icon: Calendar }
|
|
21
21
|
];
|
|
22
22
|
let secondMenuLinks = [
|
|
23
|
-
{
|
|
24
|
-
label: 'Schedules',
|
|
25
|
-
href: `${base}/schedules`
|
|
26
|
-
},
|
|
27
23
|
{
|
|
28
24
|
label: 'Resources',
|
|
29
25
|
href: `${base}/resources`
|
|
@@ -33,7 +29,19 @@ let secondMenuLinks = [
|
|
|
33
29
|
href: `${base}/variables`
|
|
34
30
|
},
|
|
35
31
|
{
|
|
36
|
-
label: '
|
|
32
|
+
label: 'Custom HTTP Routes',
|
|
33
|
+
href: `${base}/routes`
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
label: 'Websocket Triggers',
|
|
37
|
+
href: `${base}/websockets`
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
label: 'Kafka Triggers',
|
|
41
|
+
href: `${base}/kafka`
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
label: 'Audit logs',
|
|
37
45
|
href: `${base}/audit_logs`
|
|
38
46
|
},
|
|
39
47
|
{
|
|
@@ -131,9 +139,23 @@ let moreOpen = false;
|
|
|
131
139
|
tabindex="-1"
|
|
132
140
|
>
|
|
133
141
|
<Building size={14} />
|
|
134
|
-
All
|
|
142
|
+
All workspaces
|
|
135
143
|
</a>
|
|
136
144
|
|
|
145
|
+
{#if $superadmin}
|
|
146
|
+
<MenuItem
|
|
147
|
+
href="#superadmin-settings"
|
|
148
|
+
class={twMerge(
|
|
149
|
+
'flex flex-row gap-3.5 items-center px-2 py-2 ',
|
|
150
|
+
'text-secondary text-xs',
|
|
151
|
+
'hover:bg-surface-hover hover:text-primary cursor-pointer'
|
|
152
|
+
)}
|
|
153
|
+
>
|
|
154
|
+
<ServerCog size={14} />
|
|
155
|
+
Instance settings
|
|
156
|
+
</MenuItem>
|
|
157
|
+
{/if}
|
|
158
|
+
|
|
137
159
|
<MenuItem
|
|
138
160
|
href="#"
|
|
139
161
|
on:click={() => logout()}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
<script>
|
|
1
|
+
<script>import Notification from '../common/alert/Notification.svelte';
|
|
2
|
+
export let notificationCount = 0;
|
|
2
3
|
export let small = false;
|
|
3
4
|
</script>
|
|
4
5
|
|
|
5
6
|
{#if !small}
|
|
6
|
-
<
|
|
7
|
-
class="bg-red-500 text-white text-[0.6rem] rounded-md w-5 h-5 flex items-center justify-center"
|
|
8
|
-
>
|
|
9
|
-
{notificationCount > 9 ? '9+' : notificationCount}
|
|
10
|
-
</div>
|
|
7
|
+
<Notification {notificationCount} notificationLimit={9} />
|
|
11
8
|
{:else}
|
|
12
9
|
<div class="bg-red-500 rounded-md w-3 h-3 flex items-center justify-center" />
|
|
13
10
|
{/if}
|
|
@@ -112,7 +112,7 @@ $: secondaryMenuLinks = [
|
|
|
112
112
|
...(!$superadmin && !$userStore?.is_admin
|
|
113
113
|
? [
|
|
114
114
|
{
|
|
115
|
-
label: 'Leave
|
|
115
|
+
label: 'Leave workspace',
|
|
116
116
|
action: () => {
|
|
117
117
|
leaveWorkspaceModal = true;
|
|
118
118
|
},
|
|
@@ -153,14 +153,14 @@ $: secondaryMenuLinks = [
|
|
|
153
153
|
icon: Logs,
|
|
154
154
|
subItems: [
|
|
155
155
|
{
|
|
156
|
-
label: 'Audit
|
|
156
|
+
label: 'Audit logs',
|
|
157
157
|
href: `${base}/audit_logs`,
|
|
158
158
|
icon: Eye
|
|
159
159
|
},
|
|
160
160
|
...($devopsRole
|
|
161
161
|
? [
|
|
162
162
|
{
|
|
163
|
-
label: 'Service
|
|
163
|
+
label: 'Service logs',
|
|
164
164
|
href: `${base}/service_logs`,
|
|
165
165
|
icon: Logs
|
|
166
166
|
}
|
|
@@ -169,7 +169,7 @@ $: secondaryMenuLinks = [
|
|
|
169
169
|
...($enterpriseLicense
|
|
170
170
|
? [
|
|
171
171
|
{
|
|
172
|
-
label: 'Critical
|
|
172
|
+
label: 'Critical alerts',
|
|
173
173
|
action: () => {
|
|
174
174
|
isCriticalAlertsUIOpen.set(true);
|
|
175
175
|
},
|
|
@@ -181,7 +181,7 @@ $: secondaryMenuLinks = [
|
|
|
181
181
|
]
|
|
182
182
|
}
|
|
183
183
|
: {
|
|
184
|
-
label: 'Audit
|
|
184
|
+
label: 'Audit logs',
|
|
185
185
|
href: `${base}/audit_logs`,
|
|
186
186
|
icon: Eye,
|
|
187
187
|
disabled: $userStore?.operator
|