windmill-components 1.13.25 → 1.22.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/common.js +1 -5
- package/components/AppConnect.svelte +281 -0
- package/components/AppConnect.svelte.d.ts +22 -0
- package/components/ArgInfo.svelte +11 -16
- package/components/ArgInput.svelte +73 -70
- package/components/ArgInput.svelte.d.ts +6 -1
- package/components/AutosizedTextarea.svelte +6 -8
- package/components/Badge.svelte +4 -10
- package/components/Button.svelte +22 -18
- package/components/ButtonAndDropdown.svelte +6 -12
- package/components/CenteredModal.svelte +30 -0
- package/components/CenteredModal.svelte.d.ts +19 -0
- package/components/ChevronButton.svelte +4 -9
- package/components/DisplayResult.svelte +58 -57
- package/components/Dropdown.svelte +8 -13
- package/components/Editor.svelte +108 -149
- package/components/Editor.svelte.d.ts +3 -1
- package/components/FieldHeader.svelte +7 -12
- package/components/FlowBuilder.svelte +72 -121
- package/components/FlowBuilder.svelte.d.ts +0 -2
- package/components/FlowEditor.svelte +185 -73
- package/components/FlowEditor.svelte.d.ts +4 -4
- package/components/FlowJobResult.svelte +23 -0
- package/components/FlowJobResult.svelte.d.ts +17 -0
- package/components/FlowPreview.svelte +36 -51
- package/components/FlowPreview.svelte.d.ts +7 -1
- package/components/FlowStatusViewer.svelte +66 -40
- package/components/FlowStatusViewer.svelte.d.ts +1 -1
- package/components/FlowViewer.svelte +100 -0
- package/components/FlowViewer.svelte.d.ts +24 -0
- package/components/GroupModal.svelte +13 -20
- package/components/IconedResourceType.svelte +15 -18
- package/components/InviteGlobalUser.svelte +8 -15
- package/components/InviteUser.svelte +9 -16
- package/components/ItemPicker.svelte +11 -14
- package/components/JobStatus.svelte +6 -11
- package/components/Modal.svelte +14 -17
- package/components/ModuleStep.svelte +125 -64
- package/components/ModuleStep.svelte.d.ts +4 -8
- package/components/ObjectResourceInput.svelte +15 -20
- package/components/ObjectTypeNarrowing.svelte +7 -12
- package/components/PageHeader.svelte +4 -9
- package/components/Password.svelte +6 -8
- package/components/Path.svelte +78 -38
- package/components/Path.svelte.d.ts +2 -0
- package/components/RadioButton.svelte +7 -8
- package/components/RadioButtonV2.svelte +33 -0
- package/components/RadioButtonV2.svelte.d.ts +20 -0
- package/components/Required.svelte +2 -4
- package/components/ResourceEditor.svelte +44 -48
- package/components/ResourcePicker.svelte +6 -7
- package/components/ResourcePicker.svelte.d.ts +2 -2
- package/components/ResourceTypePicker.svelte +8 -13
- package/components/RunForm.svelte +15 -20
- package/components/SchemaEditor.svelte +31 -61
- package/components/SchemaForm.svelte +126 -134
- package/components/SchemaForm.svelte.d.ts +6 -4
- package/components/SchemaModal.svelte +25 -40
- package/components/SchemaModal.svelte.d.ts +1 -1
- package/components/SchemaViewer.svelte +6 -12
- package/components/ScriptBuilder.svelte +76 -101
- package/components/ScriptEditor.svelte +55 -60
- package/components/ScriptPicker.svelte +28 -34
- package/components/ScriptPicker.svelte.d.ts +1 -0
- package/components/ScriptSchema.svelte +13 -17
- package/components/ShareModal.svelte +23 -29
- package/components/SharedBadge.svelte +11 -16
- package/components/StringTypeNarrowing.svelte +8 -11
- package/components/Switch.svelte.d.ts +2 -2
- package/components/TableCustom.svelte +5 -8
- package/components/TableSimple.svelte +9 -8
- package/components/Tabs.svelte +6 -8
- package/components/Toggle.svelte +34 -0
- package/components/Toggle.svelte.d.ts +28 -0
- package/components/Tooltip.svelte +56 -89
- package/components/Tooltip.svelte.d.ts +1 -5
- package/components/VariableEditor.svelte +30 -29
- package/components/flows/CopyFirstStepSchema.svelte +10 -0
- package/components/flows/CopyFirstStepSchema.svelte.d.ts +14 -0
- package/components/flows/DynamicInputHelpBox.svelte +72 -0
- package/components/flows/DynamicInputHelpBox.svelte.d.ts +14 -0
- package/components/flows/FlowInputs.svelte +27 -0
- package/components/flows/FlowInputs.svelte.d.ts +19 -0
- package/components/flows/FlowModuleHeader.svelte +91 -0
- package/components/flows/FlowModuleHeader.svelte.d.ts +22 -0
- package/components/flows/flowStore.d.ts +17 -0
- package/components/flows/flowStore.js +161 -0
- package/components/flows/pickers/FlowScriptPicker.svelte +11 -0
- package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +22 -0
- package/components/flows/pickers/PickHubScript.svelte +30 -0
- package/components/flows/pickers/PickHubScript.svelte.d.ts +18 -0
- package/components/flows/pickers/PickScript.svelte +38 -0
- package/components/flows/pickers/PickScript.svelte.d.ts +18 -0
- package/components/flows/utils.d.ts +21 -0
- package/components/flows/utils.js +164 -0
- package/components/icons/DbIcon.svelte +2 -5
- package/components/icons/Mail.svelte +2 -5
- package/components/icons/Mysql.svelte +2 -5
- package/components/icons/PostgresIcon.svelte +2 -5
- package/components/icons/Slack.svelte +2 -5
- package/components/propertyPicker/ObjectViewer.svelte +113 -0
- package/components/propertyPicker/ObjectViewer.svelte.d.ts +21 -0
- package/components/propertyPicker/OverlayPropertyPicker.svelte +69 -0
- package/components/propertyPicker/OverlayPropertyPicker.svelte.d.ts +21 -0
- package/components/propertyPicker/PropPicker.svelte +24 -0
- package/components/propertyPicker/PropPicker.svelte.d.ts +18 -0
- package/components/propertyPicker/WarningMessage.svelte +43 -0
- package/components/propertyPicker/WarningMessage.svelte.d.ts +16 -0
- package/components/propertyPicker/utils.d.ts +2 -0
- package/components/propertyPicker/utils.js +40 -0
- package/gen/core/ApiError.d.ts +3 -1
- package/gen/core/ApiError.js +4 -6
- package/gen/core/ApiRequestOptions.js +1 -2
- package/gen/core/ApiResult.js +1 -2
- package/gen/core/CancelablePromise.js +2 -7
- package/gen/core/OpenAPI.js +2 -5
- package/gen/core/request.js +8 -13
- package/gen/index.d.ts +3 -0
- package/gen/index.js +28 -58
- package/gen/models/AuditLog.js +2 -5
- package/gen/models/CompletedJob.d.ts +3 -1
- package/gen/models/CompletedJob.js +3 -5
- package/gen/models/ContextualVariable.js +1 -2
- package/gen/models/CreateResource.d.ts +1 -0
- package/gen/models/CreateResource.js +1 -2
- package/gen/models/CreateVariable.d.ts +2 -0
- package/gen/models/CreateVariable.js +1 -2
- package/gen/models/CreateWorkspace.js +1 -2
- package/gen/models/EditResource.js +1 -2
- package/gen/models/EditResourceType.js +1 -2
- package/gen/models/EditSchedule.js +1 -2
- package/gen/models/EditVariable.js +1 -2
- package/gen/models/EditWorkspaceUser.js +1 -2
- package/gen/models/Flow.js +1 -2
- package/gen/models/FlowModule.d.ts +2 -0
- package/gen/models/FlowModule.js +1 -2
- package/gen/models/FlowModuleValue.d.ts +14 -2
- package/gen/models/FlowModuleValue.js +9 -5
- package/gen/models/FlowPreview.js +1 -2
- package/gen/models/FlowStatus.js +1 -2
- package/gen/models/FlowStatusModule.d.ts +6 -0
- package/gen/models/FlowStatusModule.js +2 -5
- package/gen/models/FlowValue.js +1 -2
- package/gen/models/GlobalUserInfo.js +2 -5
- package/gen/models/Group.js +1 -2
- package/gen/models/InputTransform.js +2 -5
- package/gen/models/Job.js +2 -5
- package/gen/models/ListableVariable.d.ts +2 -0
- package/gen/models/ListableVariable.js +1 -2
- package/gen/models/Login.js +1 -2
- package/gen/models/MainArgSignature.js +1 -2
- package/gen/models/NewSchedule.js +1 -2
- package/gen/models/NewToken.js +1 -2
- package/gen/models/NewUser.js +1 -2
- package/gen/models/Preview.js +2 -5
- package/gen/models/QueuedJob.d.ts +2 -1
- package/gen/models/QueuedJob.js +3 -5
- package/gen/models/Resource.d.ts +1 -0
- package/gen/models/Resource.js +1 -2
- package/gen/models/ResourceType.js +1 -2
- package/gen/models/Schedule.js +1 -2
- package/gen/models/Script.d.ts +1 -0
- package/gen/models/Script.js +2 -5
- package/gen/models/ScriptArgs.js +1 -2
- package/gen/models/SlackToken.d.ts +8 -0
- package/gen/models/SlackToken.js +4 -0
- package/gen/models/TokenResponse.d.ts +6 -0
- package/gen/models/TokenResponse.js +4 -0
- package/gen/models/TruncatedToken.js +1 -2
- package/gen/models/User.js +1 -2
- package/gen/models/UserWorkspaceList.js +1 -2
- package/gen/models/WorkerPing.js +1 -2
- package/gen/models/Workspace.js +1 -2
- package/gen/models/WorkspaceInvite.js +1 -2
- package/gen/services/AdminService.d.ts +6 -2
- package/gen/services/AdminService.js +6 -10
- package/gen/services/AuditService.d.ts +24 -8
- package/gen/services/AuditService.js +5 -9
- package/gen/services/FlowService.d.ts +37 -10
- package/gen/services/FlowService.js +23 -12
- package/gen/services/GranularAclService.d.ts +6 -2
- package/gen/services/GranularAclService.js +6 -10
- package/gen/services/GroupService.d.ts +18 -6
- package/gen/services/GroupService.js +11 -15
- package/gen/services/JobService.d.ts +167 -46
- package/gen/services/JobService.js +42 -22
- package/gen/services/OauthService.d.ts +104 -0
- package/gen/services/OauthService.js +133 -0
- package/gen/services/ResourceService.d.ts +39 -7
- package/gen/services/ResourceService.js +44 -18
- package/gen/services/ScheduleService.d.ts +36 -6
- package/gen/services/ScheduleService.js +39 -13
- package/gen/services/ScriptService.d.ts +66 -19
- package/gen/services/ScriptService.js +32 -20
- package/gen/services/SettingsService.js +5 -9
- package/gen/services/UserService.d.ts +49 -11
- package/gen/services/UserService.js +42 -29
- package/gen/services/VariableService.d.ts +19 -4
- package/gen/services/VariableService.js +24 -13
- package/gen/services/WorkerService.d.ts +6 -2
- package/gen/services/WorkerService.js +4 -8
- package/gen/services/WorkspaceService.d.ts +29 -24
- package/gen/services/WorkspaceService.js +23 -42
- package/infer.js +5 -9
- package/logout.js +20 -18
- package/package.json +51 -24
- package/script_helpers.d.ts +4 -0
- package/script_helpers.js +70 -0
- package/scripts.d.ts +2 -1
- package/scripts.js +11 -15
- package/stores.d.ts +6 -0
- package/stores.js +30 -22
- package/user.js +10 -15
- package/utils.d.ts +15 -1
- package/utils.js +191 -52
package/components/Editor.svelte
CHANGED
|
@@ -1,120 +1,97 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.reloadWebsocket = exports.setCode = exports.insertAtBeginning = exports.insertAtCursor = exports.getCode = exports.websocketAlive = exports.automaticLayout = exports.formatAction = exports.cmdEnterAction = exports.hash = exports.code = exports.lang = exports.deno = void 0;
|
|
30
|
-
const stores_1 = require("$app/stores");
|
|
31
|
-
const env_1 = require("$app/env");
|
|
32
|
-
const svelte_1 = require("svelte");
|
|
33
|
-
const editor_worker_worker_1 = __importDefault(require("monaco-editor/esm/vs/editor/editor.worker?worker"));
|
|
34
|
-
const json_worker_worker_1 = __importDefault(require("monaco-editor/esm/vs/language/json/json.worker?worker"));
|
|
35
|
-
const ts_worker_worker_1 = __importDefault(require("monaco-editor/esm/vs/language/typescript/ts.worker?worker"));
|
|
36
|
-
const svelte_2 = require("svelte");
|
|
37
|
-
const dispatch = (0, svelte_2.createEventDispatcher)();
|
|
1
|
+
<script>import { browser, dev } from '$app/env';
|
|
2
|
+
import { page } from '$app/stores';
|
|
3
|
+
import { buildExtraLib } from '../utils';
|
|
4
|
+
import editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker';
|
|
5
|
+
import jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker';
|
|
6
|
+
import tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker';
|
|
7
|
+
import { createEventDispatcher, onDestroy, onMount } from 'svelte';
|
|
8
|
+
import { buildWorkerDefinition } from 'monaco-editor-workers';
|
|
38
9
|
let divEl = null;
|
|
39
10
|
let editor;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
11
|
+
export let deno = false;
|
|
12
|
+
export let lang = deno ? 'typescript' : 'python';
|
|
13
|
+
export let code = '';
|
|
14
|
+
export let hash = (Math.random() + 1).toString(36).substring(2);
|
|
15
|
+
export let cmdEnterAction = undefined;
|
|
16
|
+
export let formatAction = undefined;
|
|
17
|
+
export let automaticLayout = true;
|
|
18
|
+
export let websocketAlive = { pyright: false, black: false, deno: false };
|
|
19
|
+
export let extraLib = lang == 'typescript' && !deno ? buildExtraLib() : '';
|
|
20
|
+
export let extraLibPath = 'file:///node_modules/@types/windmill/index.d.ts';
|
|
47
21
|
let websockets = [];
|
|
48
22
|
let uri = '';
|
|
49
23
|
let disposeMethod;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
24
|
+
const dispatch = createEventDispatcher();
|
|
25
|
+
if (browser) {
|
|
26
|
+
if (dev) {
|
|
27
|
+
buildWorkerDefinition('../../../node_modules/monaco-editor-workers/dist/workers', import.meta.url, false);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
// @ts-ignore
|
|
31
|
+
self.MonacoEnvironment = {
|
|
32
|
+
getWorker: function (_moduleId, label) {
|
|
33
|
+
if (label === 'json') {
|
|
34
|
+
return new jsonWorker();
|
|
35
|
+
}
|
|
36
|
+
else if (label === 'typescript' || label === 'javascript') {
|
|
37
|
+
return new tsWorker();
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
return new editorWorker();
|
|
41
|
+
}
|
|
62
42
|
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
65
45
|
}
|
|
66
|
-
function getCode() {
|
|
46
|
+
export function getCode() {
|
|
67
47
|
return editor?.getValue();
|
|
68
48
|
}
|
|
69
|
-
|
|
70
|
-
function insertAtCursor(code) {
|
|
49
|
+
export function insertAtCursor(code) {
|
|
71
50
|
if (editor) {
|
|
72
51
|
editor.trigger('keyboard', 'type', { text: code });
|
|
73
52
|
}
|
|
74
53
|
}
|
|
75
|
-
|
|
76
|
-
function insertAtBeginning(code) {
|
|
54
|
+
export function insertAtBeginning(code) {
|
|
77
55
|
if (editor) {
|
|
78
56
|
const range = { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 1 };
|
|
79
57
|
const op = { range: range, text: code, forceMoveMarkers: true };
|
|
80
58
|
editor.executeEdits('external', [op]);
|
|
81
59
|
}
|
|
82
60
|
}
|
|
83
|
-
|
|
84
|
-
function setCode(ncode) {
|
|
61
|
+
export function setCode(ncode) {
|
|
85
62
|
if (editor) {
|
|
86
63
|
return editor.setValue(ncode);
|
|
87
64
|
}
|
|
88
65
|
else {
|
|
89
|
-
|
|
66
|
+
code = ncode;
|
|
90
67
|
}
|
|
91
68
|
}
|
|
92
|
-
exports.setCode = setCode;
|
|
93
69
|
function format() {
|
|
94
70
|
if (editor) {
|
|
95
71
|
editor.getAction('editor.action.formatDocument').run();
|
|
96
|
-
if (
|
|
97
|
-
|
|
72
|
+
if (formatAction) {
|
|
73
|
+
formatAction();
|
|
98
74
|
}
|
|
99
75
|
}
|
|
100
76
|
}
|
|
101
|
-
async function reloadWebsocket() {
|
|
77
|
+
export async function reloadWebsocket() {
|
|
102
78
|
closeWebsockets();
|
|
103
|
-
if (
|
|
79
|
+
if (lang == 'python' || deno) {
|
|
104
80
|
// install Monaco language client services
|
|
105
|
-
const { MonacoLanguageClient } = await
|
|
106
|
-
const { CloseAction, ErrorAction } = await
|
|
107
|
-
const vscode = await
|
|
108
|
-
const {
|
|
81
|
+
const { MonacoLanguageClient } = await import('monaco-languageclient');
|
|
82
|
+
const { CloseAction, ErrorAction } = await import('vscode-languageclient');
|
|
83
|
+
const vscode = await import('vscode');
|
|
84
|
+
const { toSocket, WebSocketMessageReader, WebSocketMessageWriter } = await import('vscode-ws-jsonrpc');
|
|
85
|
+
const { RequestType } = await import('vscode-jsonrpc');
|
|
109
86
|
function createLanguageClient(transports, name, initializationOptions) {
|
|
110
87
|
const client = new MonacoLanguageClient({
|
|
111
88
|
name: name,
|
|
112
89
|
clientOptions: {
|
|
113
|
-
documentSelector:
|
|
90
|
+
documentSelector: deno ? ['typescript'] : ['python'],
|
|
114
91
|
errorHandler: {
|
|
115
|
-
error: () => ({ action: ErrorAction.
|
|
92
|
+
error: () => ({ action: ErrorAction.Continue }),
|
|
116
93
|
closed: () => ({
|
|
117
|
-
action: CloseAction.
|
|
94
|
+
action: CloseAction.DoNotRestart
|
|
118
95
|
})
|
|
119
96
|
},
|
|
120
97
|
markdown: {
|
|
@@ -153,22 +130,34 @@ async function reloadWebsocket() {
|
|
|
153
130
|
const languageClient = createLanguageClient({ reader, writer }, name, options);
|
|
154
131
|
languageClient.start();
|
|
155
132
|
socket.onClose((_code, _reason) => {
|
|
156
|
-
|
|
133
|
+
websocketAlive[name] = false;
|
|
134
|
+
try {
|
|
135
|
+
languageClient.stop();
|
|
136
|
+
}
|
|
137
|
+
catch (err) {
|
|
138
|
+
console.error(err);
|
|
139
|
+
}
|
|
157
140
|
});
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
141
|
+
if (name == 'deno') {
|
|
142
|
+
vscode.commands.getCommands().then((v) => {
|
|
143
|
+
if (!v.includes('deno.cache')) {
|
|
144
|
+
vscode.commands.registerCommand('deno.cache', (uris = []) => {
|
|
145
|
+
languageClient.sendRequest(new RequestType('deno/cache'), {
|
|
146
|
+
referrer: { uri },
|
|
147
|
+
uris: uris.map((uri) => ({ uri }))
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
}
|
|
162
151
|
});
|
|
163
|
-
}
|
|
164
|
-
|
|
152
|
+
}
|
|
153
|
+
websocketAlive[name] = true;
|
|
165
154
|
};
|
|
166
155
|
}
|
|
167
156
|
catch (err) {
|
|
168
157
|
console.error(`connection to ${name} language server failed`);
|
|
169
158
|
}
|
|
170
159
|
}
|
|
171
|
-
if (
|
|
160
|
+
if (deno) {
|
|
172
161
|
await connectToLanguageServer(`wss://${$page.url.host}/ws/deno`, 'deno', {
|
|
173
162
|
certificateStores: null,
|
|
174
163
|
enablePaths: [],
|
|
@@ -225,7 +214,6 @@ async function reloadWebsocket() {
|
|
|
225
214
|
}
|
|
226
215
|
}
|
|
227
216
|
}
|
|
228
|
-
exports.reloadWebsocket = reloadWebsocket;
|
|
229
217
|
function closeWebsockets() {
|
|
230
218
|
for (const x of websockets) {
|
|
231
219
|
try {
|
|
@@ -238,8 +226,8 @@ function closeWebsockets() {
|
|
|
238
226
|
websockets = [];
|
|
239
227
|
}
|
|
240
228
|
async function loadMonaco() {
|
|
241
|
-
const monaco = await
|
|
242
|
-
if (
|
|
229
|
+
const monaco = await import('monaco-editor');
|
|
230
|
+
if (lang == 'python') {
|
|
243
231
|
monaco.languages.register({
|
|
244
232
|
id: 'python',
|
|
245
233
|
extensions: ['.py'],
|
|
@@ -248,26 +236,26 @@ async function loadMonaco() {
|
|
|
248
236
|
});
|
|
249
237
|
}
|
|
250
238
|
let path = 'unknown';
|
|
251
|
-
if (
|
|
252
|
-
path = `${
|
|
239
|
+
if (lang == 'python') {
|
|
240
|
+
path = `${hash}.py`;
|
|
253
241
|
}
|
|
254
|
-
else if (
|
|
255
|
-
path = `${
|
|
242
|
+
else if (lang == 'json') {
|
|
243
|
+
path = `${hash}.json`;
|
|
256
244
|
}
|
|
257
|
-
else if (
|
|
258
|
-
path = `${
|
|
245
|
+
else if (lang == 'javascript') {
|
|
246
|
+
path = `${hash}.js`;
|
|
259
247
|
}
|
|
260
|
-
else if (
|
|
261
|
-
path = `${
|
|
248
|
+
else if (lang == 'typescript') {
|
|
249
|
+
path = `${hash}.ts`;
|
|
262
250
|
}
|
|
263
251
|
uri = `file:///${path}`;
|
|
264
|
-
const model = monaco.editor.createModel(
|
|
252
|
+
const model = monaco.editor.createModel(code, lang, monaco.Uri.parse(uri));
|
|
265
253
|
model.updateOptions({ tabSize: 4, insertSpaces: true });
|
|
266
254
|
editor = monaco.editor.create(divEl, {
|
|
267
255
|
model: model,
|
|
268
|
-
value:
|
|
269
|
-
language:
|
|
270
|
-
automaticLayout
|
|
256
|
+
value: code,
|
|
257
|
+
language: lang,
|
|
258
|
+
automaticLayout,
|
|
271
259
|
readOnly: false,
|
|
272
260
|
autoDetectHighContrast: true,
|
|
273
261
|
//lineNumbers: 'off',
|
|
@@ -278,21 +266,27 @@ async function loadMonaco() {
|
|
|
278
266
|
scrollBeyondLastLine: false,
|
|
279
267
|
minimap: {
|
|
280
268
|
enabled: false
|
|
269
|
+
},
|
|
270
|
+
scrollbar: {
|
|
271
|
+
alwaysConsumeMouseWheel: false
|
|
272
|
+
},
|
|
273
|
+
lightbulb: {
|
|
274
|
+
enabled: true
|
|
281
275
|
}
|
|
282
276
|
});
|
|
283
277
|
editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS, function () {
|
|
284
278
|
format();
|
|
285
279
|
});
|
|
286
280
|
editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter, function () {
|
|
287
|
-
if (
|
|
288
|
-
|
|
281
|
+
if (cmdEnterAction) {
|
|
282
|
+
cmdEnterAction();
|
|
289
283
|
}
|
|
290
284
|
});
|
|
291
285
|
editor.onDidChangeModelContent((event) => {
|
|
292
|
-
|
|
286
|
+
code = getCode();
|
|
293
287
|
dispatch('change');
|
|
294
288
|
});
|
|
295
|
-
if (
|
|
289
|
+
if (lang == 'json') {
|
|
296
290
|
monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
|
|
297
291
|
validate: true,
|
|
298
292
|
allowComments: false,
|
|
@@ -300,13 +294,13 @@ async function loadMonaco() {
|
|
|
300
294
|
enableSchemaRequest: true
|
|
301
295
|
});
|
|
302
296
|
}
|
|
303
|
-
if (
|
|
297
|
+
if (lang == 'typescript') {
|
|
304
298
|
monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
|
|
305
299
|
target: monaco.languages.typescript.ScriptTarget.Latest,
|
|
306
300
|
allowNonTsExtensions: true,
|
|
307
301
|
noLib: true
|
|
308
302
|
});
|
|
309
|
-
if (
|
|
303
|
+
if (deno) {
|
|
310
304
|
monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({
|
|
311
305
|
noSemanticValidation: true,
|
|
312
306
|
noSuggestionDiagnostics: true,
|
|
@@ -314,47 +308,12 @@ async function loadMonaco() {
|
|
|
314
308
|
});
|
|
315
309
|
}
|
|
316
310
|
else {
|
|
317
|
-
monaco.languages.typescript.typescriptDefaults.addExtraLib(
|
|
318
|
-
/**
|
|
319
|
-
* get variable (including secret) at path
|
|
320
|
-
* @param {string} path - path of the variable (e.g: g/all/pretty_secret)
|
|
321
|
-
*/
|
|
322
|
-
export function variable(path: string): string;
|
|
323
|
-
|
|
324
|
-
/**
|
|
325
|
-
* get resource at path
|
|
326
|
-
* @param {string} path - path of the resource (e.g: g/all/my_resource)
|
|
327
|
-
*/
|
|
328
|
-
export function resource(path: string): any;
|
|
329
|
-
|
|
330
|
-
/**
|
|
331
|
-
* get result of step n.
|
|
332
|
-
* If n is negative, for instance -1, it is the step just before this one.
|
|
333
|
-
* Step 0 is flow input.
|
|
334
|
-
* @param {number} n - step number.
|
|
335
|
-
*/
|
|
336
|
-
export function step(n: number): any;
|
|
337
|
-
|
|
338
|
-
/**
|
|
339
|
-
* flow input as an object
|
|
340
|
-
*/
|
|
341
|
-
export const flow_input: any;
|
|
342
|
-
|
|
343
|
-
/**
|
|
344
|
-
* previous result as an object
|
|
345
|
-
*/
|
|
346
|
-
export const previous_result: any;
|
|
347
|
-
|
|
348
|
-
/**
|
|
349
|
-
* static params of this same step
|
|
350
|
-
*/
|
|
351
|
-
export const params: any;
|
|
352
|
-
`, 'file:///node_modules/@types/windmill/index.d.ts');
|
|
311
|
+
monaco.languages.typescript.typescriptDefaults.addExtraLib(extraLib, extraLibPath);
|
|
353
312
|
}
|
|
354
313
|
}
|
|
355
|
-
if (
|
|
356
|
-
const { MonacoServices } = await
|
|
357
|
-
MonacoServices.install(
|
|
314
|
+
if (lang == 'python' || deno) {
|
|
315
|
+
const { MonacoServices } = await import('monaco-languageclient');
|
|
316
|
+
MonacoServices.install();
|
|
358
317
|
}
|
|
359
318
|
reloadWebsocket();
|
|
360
319
|
return () => {
|
|
@@ -369,12 +328,12 @@ export const params: any;
|
|
|
369
328
|
}
|
|
370
329
|
};
|
|
371
330
|
}
|
|
372
|
-
|
|
373
|
-
if (
|
|
331
|
+
onMount(() => {
|
|
332
|
+
if (browser) {
|
|
374
333
|
loadMonaco().then((x) => (disposeMethod = x));
|
|
375
334
|
}
|
|
376
335
|
});
|
|
377
|
-
|
|
336
|
+
onDestroy(() => {
|
|
378
337
|
if (disposeMethod) {
|
|
379
338
|
disposeMethod();
|
|
380
339
|
}
|
|
@@ -4,7 +4,7 @@ declare const __propDef: {
|
|
|
4
4
|
[x: string]: any;
|
|
5
5
|
deno?: boolean | undefined;
|
|
6
6
|
lang?: string | undefined;
|
|
7
|
-
code
|
|
7
|
+
code?: string | undefined;
|
|
8
8
|
hash?: string | undefined;
|
|
9
9
|
cmdEnterAction?: (() => void) | undefined;
|
|
10
10
|
formatAction?: (() => void) | undefined;
|
|
@@ -14,6 +14,8 @@ declare const __propDef: {
|
|
|
14
14
|
black: boolean;
|
|
15
15
|
deno: boolean;
|
|
16
16
|
} | undefined;
|
|
17
|
+
extraLib?: string | undefined;
|
|
18
|
+
extraLibPath?: string | undefined;
|
|
17
19
|
getCode?: (() => string) | undefined;
|
|
18
20
|
insertAtCursor?: ((code: string) => void) | undefined;
|
|
19
21
|
insertAtBeginning?: ((code: string) => void) | undefined;
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
exports.format = '';
|
|
9
|
-
exports.contentEncoding = '';
|
|
10
|
-
exports.type = undefined;
|
|
11
|
-
exports.required = false;
|
|
12
|
-
exports.itemsType = undefined;
|
|
1
|
+
<script>import Required from './Required.svelte';
|
|
2
|
+
export let label;
|
|
3
|
+
export let format = '';
|
|
4
|
+
export let contentEncoding = '';
|
|
5
|
+
export let type = undefined;
|
|
6
|
+
export let required = false;
|
|
7
|
+
export let itemsType = undefined;
|
|
13
8
|
</script>
|
|
14
9
|
|
|
15
10
|
<h3>
|