@optimizely/ocp-local-env 1.0.0-beta.9 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -133
- package/dist/package.json +15 -9
- package/dist/public/bundle.fa87c838198caf8c051a.js +3 -0
- package/dist/public/{bundle.82dc5d29fffb9f205051.js.LICENSE.txt → bundle.fa87c838198caf8c051a.js.LICENSE.txt} +3 -3
- package/dist/public/bundle.fa87c838198caf8c051a.js.map +1 -0
- package/dist/public/index.html +1 -1
- package/dist/src/cli.js +2 -2
- package/dist/src/cli.js.map +1 -1
- package/dist/src/executor/FunctionExecutor.js +8 -5
- package/dist/src/executor/FunctionExecutor.js.map +1 -1
- package/dist/src/executor/JobExecutor.js +0 -17
- package/dist/src/executor/JobExecutor.js.map +1 -1
- package/dist/src/executor/LifecycleExecutor.js +11 -2
- package/dist/src/executor/LifecycleExecutor.js.map +1 -1
- package/dist/src/executor/watcher.d.ts +6 -0
- package/dist/src/executor/watcher.js +45 -0
- package/dist/src/executor/watcher.js.map +1 -1
- package/dist/src/local_engine/LocalJobApi.d.ts +31 -2
- package/dist/src/local_engine/LocalJobApi.js +42 -17
- package/dist/src/local_engine/LocalJobApi.js.map +1 -1
- package/dist/src/local_engine/LocalNotifier.d.ts +3 -2
- package/dist/src/local_engine/LocalNotifier.js +7 -0
- package/dist/src/local_engine/LocalNotifier.js.map +1 -1
- package/dist/src/local_engine/LocalSourceApi.d.ts +40 -0
- package/dist/src/local_engine/LocalSourceApi.js +69 -0
- package/dist/src/local_engine/LocalSourceApi.js.map +1 -0
- package/dist/src/local_engine/local-engine-child-base.d.ts +0 -12
- package/dist/src/local_engine/local-engine-child-base.js +0 -127
- package/dist/src/local_engine/local-engine-child-base.js.map +1 -1
- package/dist/src/local_engine/local-engine-client.d.ts +19 -29
- package/dist/src/local_engine/local-engine-client.js +45 -94
- package/dist/src/local_engine/local-engine-client.js.map +1 -1
- package/dist/src/local_engine/local-engine-types.d.ts +13 -50
- package/dist/src/local_engine/local-engine-unified.d.ts +6 -13
- package/dist/src/local_engine/local-engine-unified.js +108 -222
- package/dist/src/local_engine/local-engine-unified.js.map +1 -1
- package/dist/src/local_engine/localSDKConfig.d.ts +6 -0
- package/dist/src/local_engine/localSDKConfig.js +66 -1
- package/dist/src/local_engine/localSDKConfig.js.map +1 -1
- package/dist/src/local_engine/storage/BaseKVStoreWrapper.d.ts +1 -2
- package/dist/src/local_engine/storage/BaseKVStoreWrapper.js.map +1 -1
- package/dist/src/local_engine/storage/LocalConfigStore.d.ts +7 -13
- package/dist/src/local_engine/storage/LocalConfigStore.js +9 -31
- package/dist/src/local_engine/storage/LocalConfigStore.js.map +1 -1
- package/dist/src/local_engine/storage/LocalKVStore.d.ts +4 -0
- package/dist/src/local_engine/storage/LocalKVStore.js +23 -0
- package/dist/src/local_engine/storage/LocalKVStore.js.map +1 -1
- package/dist/src/local_engine/storage/SourceDataStore.d.ts +16 -14
- package/dist/src/local_engine/storage/SourceDataStore.js +57 -57
- package/dist/src/local_engine/storage/SourceDataStore.js.map +1 -1
- package/dist/src/local_engine/utils.d.ts +2 -0
- package/dist/src/local_engine/utils.js +4 -2
- package/dist/src/local_engine/utils.js.map +1 -1
- package/dist/src/server/api/deploy.d.ts +20 -0
- package/dist/src/server/api/deploy.js +399 -0
- package/dist/src/server/api/deploy.js.map +1 -0
- package/dist/src/server/api/destinations.js +1 -1
- package/dist/src/server/api/destinations.js.map +1 -1
- package/dist/src/server/api/env.d.ts +2 -0
- package/dist/src/server/api/env.js +28 -0
- package/dist/src/server/api/env.js.map +1 -0
- package/dist/src/server/api/functions.js +13 -12
- package/dist/src/server/api/functions.js.map +1 -1
- package/dist/src/server/api/opalTools.d.ts +4 -0
- package/dist/src/server/api/opalTools.js +81 -0
- package/dist/src/server/api/opalTools.js.map +1 -0
- package/dist/src/server/api/schema.d.ts +6 -0
- package/dist/src/server/api/schema.js +95 -0
- package/dist/src/server/api/schema.js.map +1 -0
- package/dist/src/server/api/sources.d.ts +1 -2
- package/dist/src/server/api/sources.js +16 -275
- package/dist/src/server/api/sources.js.map +1 -1
- package/dist/src/server/api/v1.js +63 -55
- package/dist/src/server/api/v1.js.map +1 -1
- package/dist/src/server/api.d.ts +4 -0
- package/dist/src/server/api.js +131 -9
- package/dist/src/server/api.js.map +1 -1
- package/dist/src/server/app-discovery.js +37 -4
- package/dist/src/server/app-discovery.js.map +1 -1
- package/dist/src/server/app-env.d.ts +21 -0
- package/dist/src/server/app-env.js +122 -0
- package/dist/src/server/app-env.js.map +1 -0
- package/dist/src/server/browserFocus.d.ts +5 -0
- package/dist/src/server/browserFocus.js +39 -0
- package/dist/src/server/browserFocus.js.map +1 -0
- package/dist/src/server/config.d.ts +3 -0
- package/dist/src/server/config.js +7 -0
- package/dist/src/server/config.js.map +1 -1
- package/dist/src/server/mockDataGenerator.d.ts +1 -2
- package/dist/src/server/mockDataGenerator.js +77 -35
- package/dist/src/server/mockDataGenerator.js.map +1 -1
- package/dist/src/server/mockToolDataGenerator.d.ts +12 -0
- package/dist/src/server/mockToolDataGenerator.js +393 -0
- package/dist/src/server/mockToolDataGenerator.js.map +1 -0
- package/dist/src/server.js +152 -168
- package/dist/src/server.js.map +1 -1
- package/dist/src/types/app.d.ts +1 -3
- package/dist/src/types/app.js.map +1 -1
- package/dist/src/ui/components/App.js +303 -47
- package/dist/src/ui/components/App.js.map +1 -1
- package/dist/src/ui/components/DeployModal.d.ts +16 -0
- package/dist/src/ui/components/DeployModal.js +75 -0
- package/dist/src/ui/components/DeployModal.js.map +1 -0
- package/dist/src/ui/components/DestinationBatchEditor.d.ts +9 -1
- package/dist/src/ui/components/DestinationBatchEditor.js +12 -4
- package/dist/src/ui/components/DestinationBatchEditor.js.map +1 -1
- package/dist/src/ui/components/DestinationsView.js +5 -1
- package/dist/src/ui/components/DestinationsView.js.map +1 -1
- package/dist/src/ui/components/EntityNotAvailable.d.ts +15 -0
- package/dist/src/ui/components/EntityNotAvailable.js +27 -0
- package/dist/src/ui/components/EntityNotAvailable.js.map +1 -0
- package/dist/src/ui/components/EnvViewer.d.ts +8 -0
- package/dist/src/ui/components/EnvViewer.js +35 -0
- package/dist/src/ui/components/EnvViewer.js.map +1 -0
- package/dist/src/ui/components/FunctionsView.d.ts +2 -6
- package/dist/src/ui/components/FunctionsView.js +52 -75
- package/dist/src/ui/components/FunctionsView.js.map +1 -1
- package/dist/src/ui/components/JobsView.js +4 -4
- package/dist/src/ui/components/JobsView.js.map +1 -1
- package/dist/src/ui/components/KVStoreViewer.js +5 -5
- package/dist/src/ui/components/KVStoreViewer.js.map +1 -1
- package/dist/src/ui/components/KeyValueEditor.d.ts +15 -0
- package/dist/src/ui/components/KeyValueEditor.js +12 -0
- package/dist/src/ui/components/KeyValueEditor.js.map +1 -0
- package/dist/src/ui/components/NotificationViewer.d.ts +2 -11
- package/dist/src/ui/components/NotificationViewer.js +69 -15
- package/dist/src/ui/components/NotificationViewer.js.map +1 -1
- package/dist/src/ui/components/OdpSchemaView.d.ts +3 -0
- package/dist/src/ui/components/OdpSchemaView.js +58 -0
- package/dist/src/ui/components/OdpSchemaView.js.map +1 -0
- package/dist/src/ui/components/OpalToolsView.d.ts +9 -0
- package/dist/src/ui/components/OpalToolsView.js +399 -0
- package/dist/src/ui/components/OpalToolsView.js.map +1 -0
- package/dist/src/ui/components/ResponseViewer.d.ts +39 -0
- package/dist/src/ui/components/ResponseViewer.js +43 -0
- package/dist/src/ui/components/ResponseViewer.js.map +1 -0
- package/dist/src/ui/components/SecretsStoreViewer.js +3 -2
- package/dist/src/ui/components/SecretsStoreViewer.js.map +1 -1
- package/dist/src/ui/components/SettingsStoreViewer.js +3 -2
- package/dist/src/ui/components/SettingsStoreViewer.js.map +1 -1
- package/dist/src/ui/components/SourceEmittedDataPanel.d.ts +8 -0
- package/dist/src/ui/components/SourceEmittedDataPanel.js +103 -0
- package/dist/src/ui/components/SourceEmittedDataPanel.js.map +1 -0
- package/dist/src/ui/components/SourcesView.js +4 -8
- package/dist/src/ui/components/SourcesView.js.map +1 -1
- package/dist/src/ui/components/StoreViewer.js +2 -1
- package/dist/src/ui/components/StoreViewer.js.map +1 -1
- package/dist/src/ui/components/TabbedConsole.d.ts +11 -0
- package/dist/src/ui/components/TabbedConsole.js +134 -44
- package/dist/src/ui/components/TabbedConsole.js.map +1 -1
- package/dist/src/ui/components/ToolSettingsView.d.ts +7 -0
- package/dist/src/ui/components/ToolSettingsView.js +25 -0
- package/dist/src/ui/components/ToolSettingsView.js.map +1 -0
- package/dist/src/ui/components/common/EyeIcon.js +2 -1
- package/dist/src/ui/components/common/EyeIcon.js.map +1 -1
- package/dist/src/ui/hooks/useKeyValuePairs.d.ts +52 -0
- package/dist/src/ui/hooks/useKeyValuePairs.js +66 -0
- package/dist/src/ui/hooks/useKeyValuePairs.js.map +1 -0
- package/dist/src/ui/store/formStateSlice.d.ts +19 -2
- package/dist/src/ui/store/formStateSlice.js +69 -4
- package/dist/src/ui/store/formStateSlice.js.map +1 -1
- package/dist/src/ui/types/common.d.ts +33 -0
- package/dist/src/ui/types/common.js +6 -0
- package/dist/src/ui/types/common.js.map +1 -0
- package/package.json +15 -9
- package/dist/public/bundle.82dc5d29fffb9f205051.js +0 -3
- package/dist/public/bundle.82dc5d29fffb9f205051.js.map +0 -1
- package/dist/src/executor/SourceExecutor.d.ts +0 -32
- package/dist/src/executor/SourceExecutor.js +0 -163
- package/dist/src/executor/SourceExecutor.js.map +0 -1
- package/dist/src/local_engine/storage/SourceJobExecutionStore.d.ts +0 -25
- package/dist/src/local_engine/storage/SourceJobExecutionStore.js +0 -61
- package/dist/src/local_engine/storage/SourceJobExecutionStore.js.map +0 -1
- package/dist/src/ui/components/SourceDataViewer.d.ts +0 -8
- package/dist/src/ui/components/SourceDataViewer.js +0 -84
- package/dist/src/ui/components/SourceDataViewer.js.map +0 -1
- package/dist/src/ui/components/SourceJobsSection.d.ts +0 -8
- package/dist/src/ui/components/SourceJobsSection.js +0 -99
- package/dist/src/ui/components/SourceJobsSection.js.map +0 -1
- package/dist/src/ui/components/SourceLifecycleSection.d.ts +0 -7
- package/dist/src/ui/components/SourceLifecycleSection.js +0 -58
- package/dist/src/ui/components/SourceLifecycleSection.js.map +0 -1
- package/dist/src/ui/components/SourceWebhookEditor.d.ts +0 -8
- package/dist/src/ui/components/SourceWebhookEditor.js +0 -181
- package/dist/src/ui/components/SourceWebhookEditor.js.map +0 -1
|
@@ -6,8 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
7
|
const react_1 = require("react");
|
|
8
8
|
const StoreViewer_1 = __importDefault(require("./StoreViewer"));
|
|
9
|
+
const NotificationViewer_1 = __importDefault(require("./NotificationViewer"));
|
|
10
|
+
const EnvViewer_1 = __importDefault(require("./EnvViewer"));
|
|
11
|
+
const SourceEmittedDataPanel_1 = require("./SourceEmittedDataPanel");
|
|
9
12
|
const useQueryParams_1 = require("../hooks/useQueryParams");
|
|
10
|
-
const
|
|
13
|
+
const axiom_icons_1 = require("@optimizely/axiom-icons");
|
|
14
|
+
const TabbedConsole = ({ logs, onClearLogs, storeTimestamps, onRefreshStores, notificationCount = 0, hasSources = false, sourceDataVersion = 0, sourceDataTotalEmitted = 0, notificationVersion = 0, envVersion = 0, deployLogs = [], deployVersion = 0, deployStatus }) => {
|
|
11
15
|
const { getParam, setParam } = (0, useQueryParams_1.useQueryParams)();
|
|
12
16
|
// Derive activeTab from URL, default to 'console'
|
|
13
17
|
const activeTab = getParam('console') || 'console';
|
|
@@ -21,15 +25,27 @@ const TabbedConsole = ({ logs, onClearLogs, storeTimestamps, onRefreshStores, no
|
|
|
21
25
|
const stored = localStorage.getItem('consoleHeight');
|
|
22
26
|
return stored ? parseInt(stored, 10) : 200;
|
|
23
27
|
});
|
|
28
|
+
const [sourceDataCount, setSourceDataCount] = (0, react_1.useState)(0);
|
|
29
|
+
// Track which inactive tabs have unseen updates
|
|
30
|
+
const [unseenTabs, setUnseenTabs] = (0, react_1.useState)(new Set());
|
|
24
31
|
const [logFilter, setLogFilter] = (0, react_1.useState)('app');
|
|
25
32
|
const [categoryFilter, setCategoryFilter] = (0, react_1.useState)('all');
|
|
26
33
|
const [levelFilter, setLevelFilter] = (0, react_1.useState)('all');
|
|
34
|
+
const [isDragging, setIsDragging] = (0, react_1.useState)(false);
|
|
35
|
+
const panelRef = (0, react_1.useRef)(null);
|
|
27
36
|
const dragStateRef = (0, react_1.useRef)({
|
|
28
|
-
isMouseDown: false,
|
|
29
|
-
isDragging: false,
|
|
30
37
|
startY: 0,
|
|
31
38
|
startHeight: 200
|
|
32
39
|
});
|
|
40
|
+
const cleanupRef = (0, react_1.useRef)(null);
|
|
41
|
+
// Cleanup drag listeners on unmount
|
|
42
|
+
(0, react_1.useEffect)(() => {
|
|
43
|
+
return () => {
|
|
44
|
+
if (cleanupRef.current) {
|
|
45
|
+
cleanupRef.current();
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}, []);
|
|
33
49
|
// Log categories organized by source type
|
|
34
50
|
const APP_CATEGORIES = [
|
|
35
51
|
'function',
|
|
@@ -47,6 +63,55 @@ const TabbedConsole = ({ logs, onClearLogs, storeTimestamps, onRefreshStores, no
|
|
|
47
63
|
'ipc',
|
|
48
64
|
'process'
|
|
49
65
|
];
|
|
66
|
+
// Update source data badge count from SSE-provided totalEmitted (no extra fetch needed)
|
|
67
|
+
(0, react_1.useEffect)(() => {
|
|
68
|
+
if (!hasSources)
|
|
69
|
+
return;
|
|
70
|
+
setSourceDataCount(sourceDataTotalEmitted);
|
|
71
|
+
}, [sourceDataTotalEmitted, hasSources]);
|
|
72
|
+
// Mark source data tab as unseen when new data arrives while tab is inactive
|
|
73
|
+
const prevSourceDataVersion = (0, react_1.useRef)(sourceDataVersion);
|
|
74
|
+
(0, react_1.useEffect)(() => {
|
|
75
|
+
if (sourceDataVersion > prevSourceDataVersion.current && activeTab !== 'sourceData') {
|
|
76
|
+
setUnseenTabs(prev => new Set(prev).add('sourceData'));
|
|
77
|
+
}
|
|
78
|
+
prevSourceDataVersion.current = sourceDataVersion;
|
|
79
|
+
}, [sourceDataVersion, activeTab]);
|
|
80
|
+
// Mark notifications tab as unseen when new notification arrives while tab is inactive
|
|
81
|
+
const prevNotificationVersion = (0, react_1.useRef)(notificationVersion);
|
|
82
|
+
(0, react_1.useEffect)(() => {
|
|
83
|
+
if (notificationVersion > prevNotificationVersion.current && activeTab !== 'notifications') {
|
|
84
|
+
setUnseenTabs(prev => new Set(prev).add('notifications'));
|
|
85
|
+
}
|
|
86
|
+
prevNotificationVersion.current = notificationVersion;
|
|
87
|
+
}, [notificationVersion, activeTab]);
|
|
88
|
+
// Mark env tab as unseen when env changes while tab is inactive
|
|
89
|
+
const prevEnvVersion = (0, react_1.useRef)(envVersion);
|
|
90
|
+
(0, react_1.useEffect)(() => {
|
|
91
|
+
if (envVersion > prevEnvVersion.current && activeTab !== 'env') {
|
|
92
|
+
setUnseenTabs(prev => new Set(prev).add('env'));
|
|
93
|
+
}
|
|
94
|
+
prevEnvVersion.current = envVersion;
|
|
95
|
+
}, [envVersion, activeTab]);
|
|
96
|
+
// Mark console tab as unseen when new log entries arrive while tab is inactive.
|
|
97
|
+
// We track the last log ID rather than array length because the logs array is
|
|
98
|
+
// capped at 50 entries — length stops increasing once the cap is reached.
|
|
99
|
+
const prevLastLogId = (0, react_1.useRef)(logs.length > 0 ? logs[logs.length - 1].id : null);
|
|
100
|
+
(0, react_1.useEffect)(() => {
|
|
101
|
+
const lastId = logs.length > 0 ? logs[logs.length - 1].id : null;
|
|
102
|
+
if (lastId !== null && lastId !== prevLastLogId.current && activeTab !== 'console') {
|
|
103
|
+
setUnseenTabs(prev => new Set(prev).add('console'));
|
|
104
|
+
}
|
|
105
|
+
prevLastLogId.current = lastId;
|
|
106
|
+
}, [logs, activeTab]);
|
|
107
|
+
// Mark deploy tab as unseen when new deploy logs arrive while tab is inactive
|
|
108
|
+
const prevDeployVersion = (0, react_1.useRef)(deployVersion);
|
|
109
|
+
(0, react_1.useEffect)(() => {
|
|
110
|
+
if (deployVersion > prevDeployVersion.current && activeTab !== 'deploy') {
|
|
111
|
+
setUnseenTabs(prev => new Set(prev).add('deploy'));
|
|
112
|
+
}
|
|
113
|
+
prevDeployVersion.current = deployVersion;
|
|
114
|
+
}, [deployVersion, activeTab]);
|
|
50
115
|
// Save expanded state to localStorage when it changes
|
|
51
116
|
(0, react_1.useEffect)(() => {
|
|
52
117
|
localStorage.setItem('consoleExpanded', JSON.stringify(expanded));
|
|
@@ -55,7 +120,7 @@ const TabbedConsole = ({ logs, onClearLogs, storeTimestamps, onRefreshStores, no
|
|
|
55
120
|
(0, react_1.useEffect)(() => {
|
|
56
121
|
localStorage.setItem('consoleHeight', String(height));
|
|
57
122
|
}, [height]);
|
|
58
|
-
const
|
|
123
|
+
const filteredLogs = (0, react_1.useMemo)(() => {
|
|
59
124
|
let filtered = logs;
|
|
60
125
|
// Filter by source (all/app/engine)
|
|
61
126
|
if (logFilter === 'app') {
|
|
@@ -75,11 +140,10 @@ const TabbedConsole = ({ logs, onClearLogs, storeTimestamps, onRefreshStores, no
|
|
|
75
140
|
filtered = filtered.filter(log => levels.indexOf(log.level) >= minLevelIndex);
|
|
76
141
|
}
|
|
77
142
|
return filtered;
|
|
78
|
-
};
|
|
143
|
+
}, [logs, logFilter, categoryFilter, levelFilter]);
|
|
79
144
|
const renderTabContent = () => {
|
|
80
145
|
switch (activeTab) {
|
|
81
146
|
case 'console':
|
|
82
|
-
const filteredLogs = filterLogs(logs);
|
|
83
147
|
return ((0, jsx_runtime_1.jsxs)("div", { className: "console-tab-content", children: [(0, jsx_runtime_1.jsxs)("div", { className: "console-controls", children: [(0, jsx_runtime_1.jsxs)("div", { className: "filter-row", children: [(0, jsx_runtime_1.jsxs)("div", { className: "filter-group", children: [(0, jsx_runtime_1.jsx)("label", { className: "filter-label", children: "Source:" }), (0, jsx_runtime_1.jsxs)("select", { className: "filter-select", value: logFilter, onChange: (e) => setLogFilter(e.target.value), children: [(0, jsx_runtime_1.jsx)("option", { value: "app", children: "App" }), (0, jsx_runtime_1.jsx)("option", { value: "engine", children: "Engine (System)" }), (0, jsx_runtime_1.jsx)("option", { value: "all", children: "All Sources" })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "filter-group", children: [(0, jsx_runtime_1.jsx)("label", { className: "filter-label", children: "Level:" }), (0, jsx_runtime_1.jsxs)("select", { className: "filter-select", value: levelFilter, onChange: (e) => setLevelFilter(e.target.value), children: [(0, jsx_runtime_1.jsx)("option", { value: "all", children: "All Levels" }), (0, jsx_runtime_1.jsx)("option", { value: "debug", children: "Debug+" }), (0, jsx_runtime_1.jsx)("option", { value: "info", children: "Info+" }), (0, jsx_runtime_1.jsx)("option", { value: "warn", children: "Warn+" }), (0, jsx_runtime_1.jsx)("option", { value: "error", children: "Error Only" })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "filter-group", children: [(0, jsx_runtime_1.jsx)("label", { className: "filter-label", children: "Category:" }), (0, jsx_runtime_1.jsxs)("select", { className: "filter-select", value: categoryFilter, onChange: (e) => setCategoryFilter(e.target.value), children: [(0, jsx_runtime_1.jsx)("option", { value: "all", children: "All Categories" }), (0, jsx_runtime_1.jsx)("optgroup", { label: "\u2500\u2500\u2500 App \u2500\u2500\u2500", children: APP_CATEGORIES.map(cat => ((0, jsx_runtime_1.jsx)("option", { value: cat, children: cat }, cat))) }), (0, jsx_runtime_1.jsx)("optgroup", { label: "\u2500\u2500\u2500 System \u2500\u2500\u2500", children: SYSTEM_CATEGORIES.map(cat => ((0, jsx_runtime_1.jsx)("option", { value: cat, children: cat }, cat))) })] })] })] }), (0, jsx_runtime_1.jsx)("button", { className: "clear-logs-btn", onClick: onClearLogs, children: "Clear Logs" })] }), (0, jsx_runtime_1.jsx)("div", { className: "log-container", children: filteredLogs.length > 0 ? (filteredLogs.map((log) => {
|
|
84
148
|
// Format log inline with access to all fields
|
|
85
149
|
const time = new Date(log.timestamp).toLocaleTimeString();
|
|
@@ -93,8 +157,19 @@ const TabbedConsole = ({ logs, onClearLogs, storeTimestamps, onRefreshStores, no
|
|
|
93
157
|
case 'secrets':
|
|
94
158
|
case 'kv':
|
|
95
159
|
case 'sharedKv':
|
|
96
|
-
case 'notifications':
|
|
97
160
|
return ((0, jsx_runtime_1.jsx)("div", { className: "store-tab-content", children: (0, jsx_runtime_1.jsx)(StoreViewer_1.default, { initialTab: activeTab, hideTabs: true, storeTimestamps: storeTimestamps, onRefreshStores: onRefreshStores }) }));
|
|
161
|
+
case 'notifications':
|
|
162
|
+
return ((0, jsx_runtime_1.jsx)(NotificationViewer_1.default, { apiBaseUrl: "/devserver/api", notificationVersion: notificationVersion }));
|
|
163
|
+
case 'sourceData':
|
|
164
|
+
return ((0, jsx_runtime_1.jsx)(SourceEmittedDataPanel_1.SourceEmittedDataPanel, { apiBaseUrl: "/devserver/api", sourceDataVersion: sourceDataVersion, onDataCountChange: setSourceDataCount }));
|
|
165
|
+
case 'env':
|
|
166
|
+
return ((0, jsx_runtime_1.jsx)(EnvViewer_1.default, { apiBaseUrl: "/devserver/api", envVersion: envVersion }));
|
|
167
|
+
case 'deploy': {
|
|
168
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "console-tab-content", children: (0, jsx_runtime_1.jsx)("div", { className: "log-container", ref: (el) => {
|
|
169
|
+
if (el)
|
|
170
|
+
el.scrollTop = el.scrollHeight;
|
|
171
|
+
}, children: deployLogs.length > 0 ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [deployLogs.map((line, idx) => ((0, jsx_runtime_1.jsx)("div", { className: `log-line${line.startsWith('───') ? ' deploy-separator' : ''}`, children: line }, idx))), deployStatus?.deployInProgress && ((0, jsx_runtime_1.jsxs)("div", { className: "log-line deploy-spinner-line", children: [(0, jsx_runtime_1.jsx)("span", { className: "deploy-log-spinner" }), " Deploy in progress..."] }))] })) : ((0, jsx_runtime_1.jsx)("div", { className: "no-logs", children: "No deploy output yet. Click Deploy to start." })) }) }));
|
|
172
|
+
}
|
|
98
173
|
default:
|
|
99
174
|
return null;
|
|
100
175
|
}
|
|
@@ -103,52 +178,51 @@ const TabbedConsole = ({ logs, onClearLogs, storeTimestamps, onRefreshStores, no
|
|
|
103
178
|
const handleResizeMouseDown = (e) => {
|
|
104
179
|
e.preventDefault();
|
|
105
180
|
e.stopPropagation();
|
|
181
|
+
// Clean up any existing listeners first (safety measure)
|
|
182
|
+
if (cleanupRef.current) {
|
|
183
|
+
cleanupRef.current();
|
|
184
|
+
}
|
|
106
185
|
dragStateRef.current = {
|
|
107
|
-
isMouseDown: true,
|
|
108
|
-
isDragging: false,
|
|
109
186
|
startY: e.clientY,
|
|
110
187
|
startHeight: height
|
|
111
188
|
};
|
|
189
|
+
setIsDragging(true);
|
|
190
|
+
document.body.style.cursor = 'ns-resize';
|
|
191
|
+
document.body.style.userSelect = 'none';
|
|
112
192
|
const handleMouseMove = (e) => {
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
return;
|
|
122
|
-
current.isDragging = true;
|
|
123
|
-
document.body.style.cursor = 'ns-resize';
|
|
124
|
-
document.body.style.userSelect = 'none';
|
|
125
|
-
}
|
|
126
|
-
// Only resize if we're actually dragging
|
|
127
|
-
if (current.isDragging) {
|
|
128
|
-
const deltaY = current.startY - e.clientY; // Inverted: moving up increases height
|
|
129
|
-
const newHeight = current.startHeight + deltaY;
|
|
130
|
-
const minHeight = 100;
|
|
131
|
-
const maxHeight = window.innerHeight * 0.8;
|
|
132
|
-
const clampedHeight = Math.max(minHeight, Math.min(maxHeight, newHeight));
|
|
133
|
-
setHeight(clampedHeight);
|
|
193
|
+
const deltaY = dragStateRef.current.startY - e.clientY; // Inverted: moving up increases height
|
|
194
|
+
const newHeight = dragStateRef.current.startHeight + deltaY;
|
|
195
|
+
const minHeight = 100;
|
|
196
|
+
const maxHeight = window.innerHeight * 0.8;
|
|
197
|
+
const clampedHeight = Math.max(minHeight, Math.min(maxHeight, newHeight));
|
|
198
|
+
// Direct DOM manipulation for instant feedback (bypasses React render cycle)
|
|
199
|
+
if (panelRef.current) {
|
|
200
|
+
panelRef.current.style.height = `${clampedHeight}px`;
|
|
134
201
|
}
|
|
135
202
|
};
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
203
|
+
const stopDragging = () => {
|
|
204
|
+
// Sync the final height to React state
|
|
205
|
+
if (panelRef.current) {
|
|
206
|
+
const finalHeight = parseInt(panelRef.current.style.height, 10);
|
|
207
|
+
if (!isNaN(finalHeight)) {
|
|
208
|
+
setHeight(finalHeight);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
setIsDragging(false);
|
|
143
212
|
document.body.style.cursor = '';
|
|
144
213
|
document.body.style.userSelect = '';
|
|
145
|
-
// Remove event listeners
|
|
146
|
-
document.removeEventListener('mousemove', handleMouseMove);
|
|
147
|
-
document.removeEventListener('mouseup',
|
|
214
|
+
// Remove all event listeners
|
|
215
|
+
document.removeEventListener('mousemove', handleMouseMove, true);
|
|
216
|
+
document.removeEventListener('mouseup', stopDragging, true);
|
|
217
|
+
window.removeEventListener('blur', stopDragging);
|
|
218
|
+
cleanupRef.current = null;
|
|
148
219
|
};
|
|
149
|
-
//
|
|
150
|
-
|
|
151
|
-
|
|
220
|
+
// Store cleanup function for external access
|
|
221
|
+
cleanupRef.current = stopDragging;
|
|
222
|
+
// Add event listeners with capture phase for more reliable handling
|
|
223
|
+
document.addEventListener('mousemove', handleMouseMove, true);
|
|
224
|
+
document.addEventListener('mouseup', stopDragging, true);
|
|
225
|
+
window.addEventListener('blur', stopDragging);
|
|
152
226
|
};
|
|
153
227
|
// Handle tab click - switch tab and expand console if collapsed
|
|
154
228
|
const handleTabClick = (tab) => {
|
|
@@ -156,8 +230,24 @@ const TabbedConsole = ({ logs, onClearLogs, storeTimestamps, onRefreshStores, no
|
|
|
156
230
|
if (!expanded) {
|
|
157
231
|
setExpanded(true);
|
|
158
232
|
}
|
|
233
|
+
// Clear unseen indicator for this tab
|
|
234
|
+
setUnseenTabs(prev => {
|
|
235
|
+
if (!prev.has(tab))
|
|
236
|
+
return prev;
|
|
237
|
+
const updated = new Set(prev);
|
|
238
|
+
updated.delete(tab);
|
|
239
|
+
return updated;
|
|
240
|
+
});
|
|
159
241
|
};
|
|
160
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: `console-panel ${expanded ? 'expanded' : 'collapsed'}
|
|
242
|
+
return ((0, jsx_runtime_1.jsxs)("div", { ref: panelRef, className: `console-panel ${expanded ? 'expanded' : 'collapsed'}${isDragging ? ' resizing' : ''}`, style: { height: expanded ? `${height}px` : '32px' }, children: [isDragging && ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
243
|
+
position: 'fixed',
|
|
244
|
+
top: 0,
|
|
245
|
+
left: 0,
|
|
246
|
+
right: 0,
|
|
247
|
+
bottom: 0,
|
|
248
|
+
zIndex: 9999,
|
|
249
|
+
cursor: 'ns-resize',
|
|
250
|
+
} })), expanded && ((0, jsx_runtime_1.jsx)("div", { className: "console-resize-handle", onMouseDown: handleResizeMouseDown })), (0, jsx_runtime_1.jsxs)("div", { className: "console-tab-headers", children: [(0, jsx_runtime_1.jsxs)("button", { className: `console-tab ${activeTab === 'console' ? 'active' : ''}${unseenTabs.has('console') ? ' unseen' : ''}`, onClick: () => handleTabClick('console'), children: [(0, jsx_runtime_1.jsx)(axiom_icons_1.IconMemoPad, { size: "2xs" }), (0, jsx_runtime_1.jsx)("span", { className: "tab-label", children: "Console" }), (0, jsx_runtime_1.jsx)("span", { className: "tab-count", children: filteredLogs.length })] }), (0, jsx_runtime_1.jsxs)("button", { className: `console-tab ${activeTab === 'settings' ? 'active' : ''}`, onClick: () => handleTabClick('settings'), children: [(0, jsx_runtime_1.jsx)(axiom_icons_1.IconGear, { size: "2xs" }), (0, jsx_runtime_1.jsx)("span", { className: "tab-label", children: "Settings" })] }), (0, jsx_runtime_1.jsxs)("button", { className: `console-tab ${activeTab === 'secrets' ? 'active' : ''}`, onClick: () => handleTabClick('secrets'), children: [(0, jsx_runtime_1.jsx)(axiom_icons_1.IconKey, { size: "2xs" }), (0, jsx_runtime_1.jsx)("span", { className: "tab-label", children: "Secrets" })] }), (0, jsx_runtime_1.jsxs)("button", { className: `console-tab ${activeTab === 'kv' ? 'active' : ''}`, onClick: () => handleTabClick('kv'), children: [(0, jsx_runtime_1.jsx)(axiom_icons_1.IconGripVertical, { size: "2xs" }), (0, jsx_runtime_1.jsx)("span", { className: "tab-label", children: "KV Store" })] }), (0, jsx_runtime_1.jsxs)("button", { className: `console-tab ${activeTab === 'sharedKv' ? 'active' : ''}`, onClick: () => handleTabClick('sharedKv'), children: [(0, jsx_runtime_1.jsx)(axiom_icons_1.IconKeySkeletonLeftRight, { size: "2xs" }), (0, jsx_runtime_1.jsx)("span", { className: "tab-label", children: "Shared KV" })] }), (0, jsx_runtime_1.jsxs)("button", { className: `console-tab ${activeTab === 'notifications' ? 'active' : ''}${unseenTabs.has('notifications') ? ' unseen' : ''}`, onClick: () => handleTabClick('notifications'), children: [(0, jsx_runtime_1.jsx)(axiom_icons_1.IconBell, { size: "2xs" }), (0, jsx_runtime_1.jsx)("span", { className: "tab-label", children: "Notifications" }), notificationCount > 0 && ((0, jsx_runtime_1.jsx)("span", { className: "notification-badge", children: notificationCount }))] }), hasSources && ((0, jsx_runtime_1.jsxs)("button", { className: `console-tab ${activeTab === 'sourceData' ? 'active' : ''}${unseenTabs.has('sourceData') ? ' unseen' : ''}`, onClick: () => handleTabClick('sourceData'), children: [(0, jsx_runtime_1.jsx)(axiom_icons_1.IconDownload, { size: "2xs" }), (0, jsx_runtime_1.jsx)("span", { className: "tab-label", children: "Emitted Source Data" }), sourceDataCount > 0 && ((0, jsx_runtime_1.jsx)("span", { className: "notification-badge", children: sourceDataCount }))] })), (0, jsx_runtime_1.jsxs)("button", { className: `console-tab ${activeTab === 'env' ? 'active' : ''}${unseenTabs.has('env') ? ' unseen' : ''}`, onClick: () => handleTabClick('env'), children: [(0, jsx_runtime_1.jsx)(axiom_icons_1.IconBracketsCurly, { size: "2xs" }), (0, jsx_runtime_1.jsx)("span", { className: "tab-label", children: "Environment" })] }), (0, jsx_runtime_1.jsxs)("button", { className: `console-tab ${activeTab === 'deploy' ? 'active' : ''}${unseenTabs.has('deploy') ? ' unseen' : ''}`, onClick: () => handleTabClick('deploy'), children: [(0, jsx_runtime_1.jsx)(axiom_icons_1.IconUpload, { size: "2xs" }), (0, jsx_runtime_1.jsx)("span", { className: "tab-label", children: "Deploy" }), deployStatus?.deployInProgress && ((0, jsx_runtime_1.jsx)("span", { className: "deploy-tab-spinner" })), !deployStatus?.deployInProgress && deployStatus?.lastDeploySuccess === true && ((0, jsx_runtime_1.jsx)("span", { className: "deploy-tab-dot deploy-tab-dot-success" })), !deployStatus?.deployInProgress && deployStatus?.lastDeploySuccess === false && ((0, jsx_runtime_1.jsx)("span", { className: "deploy-tab-dot deploy-tab-dot-error" }))] }), (0, jsx_runtime_1.jsx)("button", { className: "console-toggle", onClick: () => setExpanded(!expanded), children: expanded ? (0, jsx_runtime_1.jsx)(axiom_icons_1.IconCaretDownSolid, {}) : (0, jsx_runtime_1.jsx)(axiom_icons_1.IconCaretUpSolid, {}) })] }), expanded && ((0, jsx_runtime_1.jsx)("div", { className: "console-content", children: (0, jsx_runtime_1.jsx)("div", { className: "console-tab-body", children: renderTabContent() }) }))] }));
|
|
161
251
|
};
|
|
162
252
|
exports.default = TabbedConsole;
|
|
163
253
|
//# sourceMappingURL=TabbedConsole.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabbedConsole.js","sourceRoot":"","sources":["../../../../src/ui/components/TabbedConsole.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TabbedConsole.js","sourceRoot":"","sources":["../../../../src/ui/components/TabbedConsole.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const EyeIcon_1 = __importDefault(require("./common/EyeIcon"));
|
|
9
|
+
const ToolSettingsView = ({ odpApiKey, onSave }) => {
|
|
10
|
+
const [apiKey, setApiKey] = (0, react_1.useState)(odpApiKey);
|
|
11
|
+
const [showKey, setShowKey] = (0, react_1.useState)(false);
|
|
12
|
+
(0, react_1.useEffect)(() => {
|
|
13
|
+
setApiKey(odpApiKey);
|
|
14
|
+
}, [odpApiKey]);
|
|
15
|
+
const hasChanges = apiKey !== odpApiKey;
|
|
16
|
+
const handleSave = () => {
|
|
17
|
+
onSave(apiKey);
|
|
18
|
+
};
|
|
19
|
+
const handleCancel = () => {
|
|
20
|
+
setApiKey(odpApiKey);
|
|
21
|
+
};
|
|
22
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "tool-settings-view", children: [(0, jsx_runtime_1.jsxs)("div", { className: "tool-settings-header", children: [(0, jsx_runtime_1.jsx)("h2", { children: "Tool Settings" }), (0, jsx_runtime_1.jsxs)("p", { className: "tool-settings-subtitle", children: ["ODP configuration is stored in ", (0, jsx_runtime_1.jsx)("code", { children: ".ocp-local/config.json" })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "tool-settings-form", children: (0, jsx_runtime_1.jsxs)("div", { className: "tool-settings-field", children: [(0, jsx_runtime_1.jsx)("label", { className: "tool-settings-field-label", children: "ODP API Key" }), (0, jsx_runtime_1.jsxs)("p", { className: "tool-settings-field-description", children: ["The API key for your ODP/OCP account. When set, the app can read and write data to your account using the ", (0, jsx_runtime_1.jsx)("code", { children: "@zaiusinc/node-sdk" }), ". You can find this key in the ODP settings under APIs."] }), (0, jsx_runtime_1.jsxs)("div", { className: "tool-settings-input-row", children: [(0, jsx_runtime_1.jsx)("input", { type: showKey ? 'text' : 'password', className: "tool-settings-input", value: apiKey, onChange: (e) => setApiKey(e.target.value), placeholder: "Enter your ODP API key" }), (0, jsx_runtime_1.jsx)(EyeIcon_1.default, { isVisible: showKey, onClick: () => setShowKey(!showKey) })] }), hasChanges && ((0, jsx_runtime_1.jsxs)("div", { className: "tool-settings-controls", children: [(0, jsx_runtime_1.jsx)("button", { className: "save-btn", onClick: handleSave, children: "Save" }), (0, jsx_runtime_1.jsx)("button", { className: "cancel-btn", onClick: handleCancel, children: "Cancel" })] }))] }) })] }));
|
|
23
|
+
};
|
|
24
|
+
exports.default = ToolSettingsView;
|
|
25
|
+
//# sourceMappingURL=ToolSettingsView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolSettingsView.js","sourceRoot":"","sources":["../../../../src/ui/components/ToolSettingsView.tsx"],"names":[],"mappings":";;;;;;AAAA,iCAAmD;AACnD,+DAAuC;AAOvC,MAAM,gBAAgB,GAAoC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE;IAClF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,SAAS,CAAC,CAAC;IAChD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE9C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,SAAS,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,UAAU,GAAG,MAAM,KAAK,SAAS,CAAC;IAExC,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,SAAS,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO,CACL,iCAAK,SAAS,EAAC,oBAAoB,aACjC,iCAAK,SAAS,EAAC,sBAAsB,aACnC,2DAAsB,EACtB,+BAAG,SAAS,EAAC,wBAAwB,gDACJ,sEAAmC,IAChE,IACA,EACN,gCAAK,SAAS,EAAC,oBAAoB,YACjC,iCAAK,SAAS,EAAC,qBAAqB,aAClC,kCAAO,SAAS,EAAC,2BAA2B,4BAAoB,EAChE,+BAAG,SAAS,EAAC,iCAAiC,2HAElC,kEAA+B,+DAEvC,EACJ,iCAAK,SAAS,EAAC,yBAAyB,aACtC,kCACE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EACnC,SAAS,EAAC,qBAAqB,EAC/B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC1C,WAAW,EAAC,wBAAwB,GACpC,EACF,uBAAC,iBAAO,IAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAI,IAChE,EACL,UAAU,IAAI,CACb,iCAAK,SAAS,EAAC,wBAAwB,aACrC,mCAAQ,SAAS,EAAC,UAAU,EAAC,OAAO,EAAE,UAAU,qBAAe,EAC/D,mCAAQ,SAAS,EAAC,YAAY,EAAC,OAAO,EAAE,YAAY,uBAAiB,IACjE,CACP,IACG,GACF,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
const axiom_icons_1 = require("@optimizely/axiom-icons");
|
|
4
5
|
/**
|
|
5
6
|
* Toggleable eye icon for showing/hiding sensitive values
|
|
6
7
|
*/
|
|
7
8
|
const EyeIcon = ({ isVisible, onClick, className = '' }) => {
|
|
8
|
-
return ((0, jsx_runtime_1.jsx)("button", { className: `eye-icon ${isVisible ? 'visible' : 'hidden'} ${className}`, onClick: onClick, title: isVisible ? 'Hide value' : 'Show value', type: "button", children: isVisible ?
|
|
9
|
+
return ((0, jsx_runtime_1.jsx)("button", { className: `eye-icon ${isVisible ? 'visible' : 'hidden'} ${className}`, onClick: onClick, title: isVisible ? 'Hide value' : 'Show value', type: "button", children: isVisible ? (0, jsx_runtime_1.jsx)(axiom_icons_1.IconEye, {}) : (0, jsx_runtime_1.jsx)(axiom_icons_1.IconEyeSlash, {}) }));
|
|
9
10
|
};
|
|
10
11
|
exports.default = EyeIcon;
|
|
11
12
|
//# sourceMappingURL=EyeIcon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EyeIcon.js","sourceRoot":"","sources":["../../../../../src/ui/components/common/EyeIcon.tsx"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"EyeIcon.js","sourceRoot":"","sources":["../../../../../src/ui/components/common/EyeIcon.tsx"],"names":[],"mappings":";;;AACA,yDAAgE;AAQhE;;GAEG;AACH,MAAM,OAAO,GAA2B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE;IACjF,OAAO,CACL,mCACE,SAAS,EAAE,YAAY,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,SAAS,EAAE,EACtE,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAC9C,IAAI,EAAC,QAAQ,YAEZ,SAAS,CAAC,CAAC,CAAC,uBAAC,qBAAO,KAAG,CAAC,CAAC,CAAC,uBAAC,0BAAY,KAAG,GACpC,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { KeyValuePair } from '../store/formStateSlice';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for the useKeyValuePairs hook
|
|
4
|
+
*/
|
|
5
|
+
interface UseKeyValuePairsConfig {
|
|
6
|
+
/** Current params array */
|
|
7
|
+
params: KeyValuePair[];
|
|
8
|
+
/** Current headers array */
|
|
9
|
+
headers: KeyValuePair[];
|
|
10
|
+
/** Callback to update form state */
|
|
11
|
+
onUpdate: (updates: {
|
|
12
|
+
params?: KeyValuePair[];
|
|
13
|
+
headers?: KeyValuePair[];
|
|
14
|
+
}) => void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Return value from the useKeyValuePairs hook
|
|
18
|
+
*/
|
|
19
|
+
interface UseKeyValuePairsReturn {
|
|
20
|
+
/** Add a new key-value pair to params or headers */
|
|
21
|
+
addKeyValuePair: (type: 'params' | 'headers') => void;
|
|
22
|
+
/** Update a specific field in a key-value pair */
|
|
23
|
+
updateKeyValuePair: (type: 'params' | 'headers', index: number, field: 'key' | 'value' | 'enabled', value: string | boolean) => void;
|
|
24
|
+
/** Remove a key-value pair at the specified index */
|
|
25
|
+
removeKeyValuePair: (type: 'params' | 'headers', index: number) => void;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Custom hook for managing key-value pairs (params and headers) in request forms.
|
|
29
|
+
*
|
|
30
|
+
* This hook provides a consistent interface for adding, updating, and removing
|
|
31
|
+
* key-value pairs, shared across FunctionsView, OpalToolsView, and other
|
|
32
|
+
* components that need params/headers management.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const { addKeyValuePair, updateKeyValuePair, removeKeyValuePair } = useKeyValuePairs({
|
|
37
|
+
* params: currentState.params,
|
|
38
|
+
* headers: currentState.headers,
|
|
39
|
+
* onUpdate: (updates) => updateFormState(updates),
|
|
40
|
+
* });
|
|
41
|
+
*
|
|
42
|
+
* // In JSX:
|
|
43
|
+
* <KeyValueEditor
|
|
44
|
+
* items={params}
|
|
45
|
+
* onAdd={() => addKeyValuePair('params')}
|
|
46
|
+
* onUpdate={(index, field, value) => updateKeyValuePair('params', index, field, value)}
|
|
47
|
+
* onRemove={(index) => removeKeyValuePair('params', index)}
|
|
48
|
+
* />
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export declare function useKeyValuePairs(config: UseKeyValuePairsConfig): UseKeyValuePairsReturn;
|
|
52
|
+
export {};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useKeyValuePairs = useKeyValuePairs;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
/**
|
|
6
|
+
* Custom hook for managing key-value pairs (params and headers) in request forms.
|
|
7
|
+
*
|
|
8
|
+
* This hook provides a consistent interface for adding, updating, and removing
|
|
9
|
+
* key-value pairs, shared across FunctionsView, OpalToolsView, and other
|
|
10
|
+
* components that need params/headers management.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const { addKeyValuePair, updateKeyValuePair, removeKeyValuePair } = useKeyValuePairs({
|
|
15
|
+
* params: currentState.params,
|
|
16
|
+
* headers: currentState.headers,
|
|
17
|
+
* onUpdate: (updates) => updateFormState(updates),
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* // In JSX:
|
|
21
|
+
* <KeyValueEditor
|
|
22
|
+
* items={params}
|
|
23
|
+
* onAdd={() => addKeyValuePair('params')}
|
|
24
|
+
* onUpdate={(index, field, value) => updateKeyValuePair('params', index, field, value)}
|
|
25
|
+
* onRemove={(index) => removeKeyValuePair('params', index)}
|
|
26
|
+
* />
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
function useKeyValuePairs(config) {
|
|
30
|
+
const { params, headers, onUpdate } = config;
|
|
31
|
+
const addKeyValuePair = (0, react_1.useCallback)((type) => {
|
|
32
|
+
const newPair = { key: '', value: '', enabled: true };
|
|
33
|
+
if (type === 'params') {
|
|
34
|
+
onUpdate({ params: [...params, newPair] });
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
onUpdate({ headers: [...headers, newPair] });
|
|
38
|
+
}
|
|
39
|
+
}, [params, headers, onUpdate]);
|
|
40
|
+
const updateKeyValuePair = (0, react_1.useCallback)((type, index, field, value) => {
|
|
41
|
+
if (type === 'params') {
|
|
42
|
+
const newParams = [...params];
|
|
43
|
+
newParams[index] = { ...newParams[index], [field]: value };
|
|
44
|
+
onUpdate({ params: newParams });
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const newHeaders = [...headers];
|
|
48
|
+
newHeaders[index] = { ...newHeaders[index], [field]: value };
|
|
49
|
+
onUpdate({ headers: newHeaders });
|
|
50
|
+
}
|
|
51
|
+
}, [params, headers, onUpdate]);
|
|
52
|
+
const removeKeyValuePair = (0, react_1.useCallback)((type, index) => {
|
|
53
|
+
if (type === 'params') {
|
|
54
|
+
onUpdate({ params: params.filter((_, i) => i !== index) });
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
onUpdate({ headers: headers.filter((_, i) => i !== index) });
|
|
58
|
+
}
|
|
59
|
+
}, [params, headers, onUpdate]);
|
|
60
|
+
return {
|
|
61
|
+
addKeyValuePair,
|
|
62
|
+
updateKeyValuePair,
|
|
63
|
+
removeKeyValuePair,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=useKeyValuePairs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyValuePairs.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useKeyValuePairs.ts"],"names":[],"mappings":";;AAwDA,4CAmDC;AA3GD,iCAAoC;AAgCpC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,gBAAgB,CAAC,MAA8B;IAC7D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE7C,MAAM,eAAe,GAAG,IAAA,mBAAW,EACjC,CAAC,IAA0B,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAiB,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACpE,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,EACD,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAC5B,CAAC;IAEF,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EACpC,CACE,IAA0B,EAC1B,KAAa,EACb,KAAkC,EAClC,KAAuB,EACvB,EAAE;QACF,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAC9B,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;YAC3D,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;YAChC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;YAC7D,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,EACD,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAC5B,CAAC;IAEF,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EACpC,CAAC,IAA0B,EAAE,KAAa,EAAE,EAAE;QAC5C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,EACD,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAC5B,CAAC;IAEF,OAAO;QACL,eAAe;QACf,kBAAkB;QAClB,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
|
|
@@ -5,7 +5,7 @@ export interface KeyValuePair {
|
|
|
5
5
|
}
|
|
6
6
|
export interface FunctionFormState {
|
|
7
7
|
httpMethod: string;
|
|
8
|
-
|
|
8
|
+
pathSuffix: string;
|
|
9
9
|
params: KeyValuePair[];
|
|
10
10
|
headers: KeyValuePair[];
|
|
11
11
|
requestBody: string;
|
|
@@ -26,17 +26,31 @@ export interface SourceFormState {
|
|
|
26
26
|
webhookParams: KeyValuePair[];
|
|
27
27
|
webhookHeaders: KeyValuePair[];
|
|
28
28
|
}
|
|
29
|
+
export interface OpalToolFormState {
|
|
30
|
+
requestBody: string;
|
|
31
|
+
params: KeyValuePair[];
|
|
32
|
+
headers: KeyValuePair[];
|
|
33
|
+
authData: string;
|
|
34
|
+
}
|
|
29
35
|
export interface FormState {
|
|
30
36
|
appName: string;
|
|
31
37
|
functions: Record<string, FunctionFormState>;
|
|
32
38
|
jobs: Record<string, JobFormState>;
|
|
33
39
|
destinations: Record<string, DestinationFormState>;
|
|
34
40
|
sources: Record<string, SourceFormState>;
|
|
41
|
+
opalTools: Record<string, OpalToolFormState>;
|
|
35
42
|
}
|
|
36
43
|
export declare const getDefaultFunctionFormState: () => FunctionFormState;
|
|
37
44
|
export declare const getDefaultJobFormState: () => JobFormState;
|
|
38
45
|
export declare const getDefaultDestinationFormState: () => DestinationFormState;
|
|
39
46
|
export declare const getDefaultSourceFormState: () => SourceFormState;
|
|
47
|
+
export declare const getDefaultOpalToolFormState: () => OpalToolFormState;
|
|
48
|
+
/**
|
|
49
|
+
* Generate default auth data JSON based on auth requirements.
|
|
50
|
+
* - For non-OptiID providers: simpler template with just access_token
|
|
51
|
+
* - For OptiID: full template with customer_id, instance_id, access_token, product_sku
|
|
52
|
+
*/
|
|
53
|
+
export declare function generateDefaultAuthData(authRequirements: any[]): string;
|
|
40
54
|
export declare const setAppName: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "formState/setAppName">, updateFunctionState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
41
55
|
id: string;
|
|
42
56
|
data: Partial<FunctionFormState>;
|
|
@@ -49,6 +63,9 @@ export declare const setAppName: import("@reduxjs/toolkit").ActionCreatorWithPay
|
|
|
49
63
|
}, "formState/updateDestinationState">, updateSourceState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
50
64
|
id: string;
|
|
51
65
|
data: Partial<SourceFormState>;
|
|
52
|
-
}, "formState/updateSourceState">,
|
|
66
|
+
}, "formState/updateSourceState">, updateOpalToolState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
67
|
+
id: string;
|
|
68
|
+
data: Partial<OpalToolFormState>;
|
|
69
|
+
}, "formState/updateOpalToolState">, clearAllState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"formState/clearAllState">, hydrateFromStorage: import("@reduxjs/toolkit").ActionCreatorWithPayload<FormState, "formState/hydrateFromStorage">;
|
|
53
70
|
declare const _default: import("redux").Reducer<FormState>;
|
|
54
71
|
export default _default;
|