windmill-components 1.13.21 → 1.13.24
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 +5 -1
- package/components/ArgInfo.svelte +16 -11
- package/components/ArgInput.svelte +50 -45
- package/components/AutosizedTextarea.svelte +8 -6
- package/components/Badge.svelte +10 -4
- package/components/Button.svelte +11 -6
- package/components/ButtonAndDropdown.svelte +12 -6
- package/components/ChevronButton.svelte +9 -4
- package/components/DisplayResult.svelte +11 -6
- package/components/Dropdown.svelte +13 -8
- package/components/Editor.svelte +95 -62
- package/components/FieldHeader.svelte +12 -7
- package/components/FlowBuilder.svelte +44 -53
- package/components/FlowBuilder.svelte.d.ts +1 -1
- package/components/FlowEditor.svelte +25 -19
- package/components/FlowEditor.svelte.d.ts +1 -1
- package/components/FlowPreview.svelte +31 -27
- package/components/FlowPreview.svelte.d.ts +1 -1
- package/components/FlowStatusViewer.svelte +21 -17
- package/components/FlowStatusViewer.svelte.d.ts +1 -1
- package/components/GroupModal.svelte +20 -13
- package/components/IconedResourceType.svelte +16 -11
- package/components/InviteGlobalUser.svelte +15 -8
- package/components/InviteUser.svelte +16 -9
- package/components/ItemPicker.svelte +14 -11
- package/components/JobStatus.svelte +10 -5
- package/components/JobStatus.svelte.d.ts +1 -1
- package/components/Modal.svelte +14 -9
- package/components/ModuleStep.svelte +24 -20
- package/components/ModuleStep.svelte.d.ts +1 -1
- package/components/ObjectResourceInput.svelte +20 -16
- package/components/ObjectTypeNarrowing.svelte +12 -7
- package/components/PageHeader.svelte +9 -4
- package/components/Password.svelte +8 -6
- package/components/Path.svelte +30 -23
- package/components/RadioButton.svelte +7 -6
- package/components/Required.svelte +4 -2
- package/components/ResourceEditor.svelte +38 -35
- package/components/ResourcePicker.svelte +7 -6
- package/components/ResourceTypePicker.svelte +13 -8
- package/components/RunForm.svelte +19 -15
- package/components/RunForm.svelte.d.ts +1 -1
- package/components/SchemaEditor.svelte +67 -48
- package/components/SchemaForm.svelte +22 -16
- package/components/SchemaModal.svelte +40 -25
- package/components/SchemaViewer.svelte +12 -6
- package/components/ScriptBuilder.svelte +44 -38
- package/components/ScriptBuilder.svelte.d.ts +1 -1
- package/components/ScriptEditor.svelte +59 -54
- package/components/ScriptPicker.svelte +37 -36
- package/components/ScriptSchema.svelte +17 -13
- package/components/ShareModal.svelte +34 -33
- package/components/SharedBadge.svelte +16 -11
- package/components/StringTypeNarrowing.svelte +11 -8
- package/components/TableCustom.svelte +8 -5
- package/components/TableSimple.svelte +8 -9
- package/components/Tabs.svelte +8 -6
- package/components/Tooltip.svelte +11 -5
- package/components/VariableEditor.svelte +37 -34
- package/components/icons/DbIcon.svelte +5 -2
- package/components/icons/Mail.svelte +5 -2
- package/components/icons/Mysql.svelte +5 -2
- package/components/icons/PostgresIcon.svelte +5 -2
- package/components/icons/Slack.svelte +5 -2
- package/gen/core/ApiError.js +9 -1
- package/gen/core/ApiRequestOptions.js +2 -1
- package/gen/core/ApiResult.js +2 -1
- package/gen/core/CancelablePromise.js +15 -3
- package/gen/core/OpenAPI.js +4 -1
- package/gen/core/request.js +13 -8
- package/gen/index.js +58 -27
- package/gen/models/AuditLog.js +5 -2
- package/gen/models/CompletedJob.js +5 -2
- package/gen/models/ContextualVariable.js +2 -1
- package/gen/models/CreateResource.js +2 -1
- package/gen/models/CreateVariable.js +2 -1
- package/gen/models/CreateWorkspace.js +2 -1
- package/gen/models/EditResource.js +2 -1
- package/gen/models/EditResourceType.js +2 -1
- package/gen/models/EditSchedule.js +2 -1
- package/gen/models/EditVariable.js +2 -1
- package/gen/models/EditWorkspaceUser.js +2 -1
- package/gen/models/Flow.js +2 -1
- package/gen/models/FlowModule.js +2 -1
- package/gen/models/FlowModuleValue.js +5 -2
- package/gen/models/FlowPreview.js +2 -1
- package/gen/models/FlowStatus.js +2 -1
- package/gen/models/FlowStatusModule.js +5 -2
- package/gen/models/FlowValue.js +2 -1
- package/gen/models/GlobalUserInfo.js +5 -2
- package/gen/models/Group.js +2 -1
- package/gen/models/InputTransform.js +5 -2
- package/gen/models/Job.js +5 -2
- package/gen/models/ListableVariable.js +2 -1
- package/gen/models/Login.js +2 -1
- package/gen/models/MainArgSignature.js +2 -1
- package/gen/models/NewSchedule.js +2 -1
- package/gen/models/NewToken.js +2 -1
- package/gen/models/NewUser.js +2 -1
- package/gen/models/Preview.js +5 -2
- package/gen/models/QueuedJob.js +5 -2
- package/gen/models/Resource.js +2 -1
- package/gen/models/ResourceType.js +2 -1
- package/gen/models/Schedule.js +2 -1
- package/gen/models/Script.js +5 -2
- package/gen/models/ScriptArgs.js +2 -1
- package/gen/models/TruncatedToken.js +2 -1
- package/gen/models/User.js +2 -1
- package/gen/models/UserWorkspaceList.js +2 -1
- package/gen/models/WorkerPing.js +2 -1
- package/gen/models/Workspace.js +2 -1
- package/gen/models/WorkspaceInvite.js +2 -1
- package/gen/services/AdminService.js +10 -6
- package/gen/services/AuditService.js +9 -5
- package/gen/services/FlowService.js +12 -8
- package/gen/services/GranularAclService.js +10 -6
- package/gen/services/GroupService.js +15 -11
- package/gen/services/JobService.js +20 -16
- package/gen/services/ResourceService.js +18 -14
- package/gen/services/ScheduleService.js +13 -9
- package/gen/services/ScriptService.js +19 -15
- package/gen/services/SettingsService.js +9 -5
- package/gen/services/UserService.js +29 -25
- package/gen/services/VariableService.js +13 -9
- package/gen/services/WorkerService.js +8 -4
- package/gen/services/WorkspaceService.js +20 -16
- package/infer.js +32 -34
- package/logout.js +17 -12
- package/package.json +1 -1
- package/scripts.js +15 -11
- package/stores.js +22 -18
- package/user.js +15 -10
- package/utils.js +52 -26
package/common.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pathToMeta = void 0;
|
|
4
|
+
function pathToMeta(path) {
|
|
2
5
|
const splitted = path.split('/');
|
|
3
6
|
let ownerKind;
|
|
4
7
|
if (splitted[0] == 'g') {
|
|
@@ -21,3 +24,4 @@ export function pathToMeta(path) {
|
|
|
21
24
|
name: splitted.slice(2).join('/')
|
|
22
25
|
};
|
|
23
26
|
}
|
|
27
|
+
exports.pathToMeta = pathToMeta;
|
|
@@ -1,21 +1,26 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
<script>"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
|
+
exports.value = void 0;
|
|
7
|
+
const utils_1 = require("$lib/utils");
|
|
8
|
+
const Modal_svelte_1 = __importDefault(require("./Modal.svelte"));
|
|
9
|
+
const Tooltip_svelte_1 = __importDefault(require("./Tooltip.svelte"));
|
|
10
|
+
const json_1 = __importDefault(require("svelte-highlight/languages/json"));
|
|
11
|
+
const github_1 = __importDefault(require("svelte-highlight/styles/github"));
|
|
12
|
+
const svelte_highlight_1 = require("svelte-highlight");
|
|
13
|
+
const gen_1 = require("$lib/gen");
|
|
14
|
+
const stores_1 = require("$lib/stores");
|
|
10
15
|
let resourceViewer;
|
|
11
16
|
let resource;
|
|
12
17
|
function isString(value) {
|
|
13
18
|
return typeof value === 'string' || value instanceof String;
|
|
14
19
|
}
|
|
15
20
|
async function getResource(path) {
|
|
16
|
-
resource = await ResourceService.getResource({ workspace: $workspaceStore, path });
|
|
21
|
+
resource = await gen_1.ResourceService.getResource({ workspace: $workspaceStore, path });
|
|
17
22
|
}
|
|
18
|
-
let asJson = JSON.stringify(value, null, 4);
|
|
23
|
+
let asJson = JSON.stringify(exports.value, null, 4);
|
|
19
24
|
</script>
|
|
20
25
|
|
|
21
26
|
<svelte:head>
|
|
@@ -1,39 +1,43 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
1
|
+
<script>"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
|
+
exports.evalValueToRaw = exports.displayHeader = exports.itemsType = exports.editableSchema = exports.disabled = exports.enum_ = exports.maxRows = exports.minRows = exports.valid = exports.pattern = exports.required = exports.type = exports.contentEncoding = exports.format = exports.description = exports.defaultValue = exports.value = exports.label = void 0;
|
|
7
|
+
const Tooltip_svelte_1 = __importDefault(require("./Tooltip.svelte"));
|
|
8
|
+
const transition_1 = require("svelte/transition");
|
|
9
|
+
const free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
|
|
10
|
+
const StringTypeNarrowing_svelte_1 = __importDefault(require("./StringTypeNarrowing.svelte"));
|
|
11
|
+
const svelte_awesome_1 = __importDefault(require("svelte-awesome"));
|
|
12
|
+
const ResourcePicker_svelte_1 = __importDefault(require("./ResourcePicker.svelte"));
|
|
13
|
+
const ObjectTypeNarrowing_svelte_1 = __importDefault(require("./ObjectTypeNarrowing.svelte"));
|
|
14
|
+
const ObjectResourceInput_svelte_1 = __importDefault(require("./ObjectResourceInput.svelte"));
|
|
15
|
+
const FieldHeader_svelte_1 = __importDefault(require("./FieldHeader.svelte"));
|
|
16
|
+
exports.label = '';
|
|
17
|
+
exports.defaultValue = undefined;
|
|
18
|
+
exports.description = '';
|
|
19
|
+
exports.format = '';
|
|
20
|
+
exports.contentEncoding = '';
|
|
21
|
+
exports.type = undefined;
|
|
22
|
+
exports.required = false;
|
|
23
|
+
exports.valid = exports.required ? false : true;
|
|
24
|
+
exports.minRows = 1;
|
|
25
|
+
exports.maxRows = 10;
|
|
26
|
+
exports.enum_ = undefined;
|
|
27
|
+
exports.disabled = false;
|
|
28
|
+
exports.editableSchema = false;
|
|
29
|
+
exports.itemsType = undefined;
|
|
30
|
+
exports.displayHeader = true;
|
|
31
|
+
let seeEditable = exports.enum_ != undefined || exports.pattern != undefined;
|
|
32
|
+
$: minHeight = `${1 + exports.minRows * 1.2}em`;
|
|
33
|
+
$: maxHeight = exports.maxRows ? `${1 + exports.maxRows * 1.2}em` : `auto`;
|
|
34
|
+
$: validateInput(exports.pattern, exports.value);
|
|
31
35
|
let error = '';
|
|
32
36
|
let rawValue;
|
|
33
37
|
$: {
|
|
34
38
|
if (rawValue) {
|
|
35
39
|
try {
|
|
36
|
-
value = JSON.parse(rawValue);
|
|
40
|
+
exports.value = JSON.parse(rawValue);
|
|
37
41
|
}
|
|
38
42
|
catch (err) {
|
|
39
43
|
error = err.toString();
|
|
@@ -41,22 +45,23 @@ $: {
|
|
|
41
45
|
}
|
|
42
46
|
}
|
|
43
47
|
$: {
|
|
44
|
-
if (!type || type == 'object' || (type == 'array' && itemsType?.type == undefined)) {
|
|
48
|
+
if (!exports.type || exports.type == 'object' || (exports.type == 'array' && exports.itemsType?.type == undefined)) {
|
|
45
49
|
evalValueToRaw();
|
|
46
50
|
}
|
|
47
|
-
if (defaultValue) {
|
|
48
|
-
let stringified = JSON.stringify(defaultValue, null, 4);
|
|
51
|
+
if (exports.defaultValue) {
|
|
52
|
+
let stringified = JSON.stringify(exports.defaultValue, null, 4);
|
|
49
53
|
if (stringified.length > 50) {
|
|
50
|
-
minRows = 3;
|
|
54
|
+
exports.minRows = 3;
|
|
51
55
|
}
|
|
52
|
-
if (type != 'string') {
|
|
53
|
-
minRows = Math.max(minRows, Math.min(stringified.split(/\r\n|\r|\n/).length + 1, maxRows));
|
|
56
|
+
if (exports.type != 'string') {
|
|
57
|
+
exports.minRows = Math.max(exports.minRows, Math.min(stringified.split(/\r\n|\r|\n/).length + 1, exports.maxRows));
|
|
54
58
|
}
|
|
55
59
|
}
|
|
56
60
|
}
|
|
57
|
-
|
|
58
|
-
rawValue = JSON.stringify(value, null, 4);
|
|
61
|
+
function evalValueToRaw() {
|
|
62
|
+
rawValue = JSON.stringify(exports.value, null, 4);
|
|
59
63
|
}
|
|
64
|
+
exports.evalValueToRaw = evalValueToRaw;
|
|
60
65
|
function fileChanged(e, cb) {
|
|
61
66
|
let t = e.target;
|
|
62
67
|
if (t && 'files' in t && t.files.length > 0) {
|
|
@@ -71,18 +76,18 @@ function fileChanged(e, cb) {
|
|
|
71
76
|
}
|
|
72
77
|
}
|
|
73
78
|
function validateInput(pattern, v) {
|
|
74
|
-
if (required && v == undefined) {
|
|
79
|
+
if (exports.required && v == undefined) {
|
|
75
80
|
error = 'This field is required';
|
|
76
|
-
valid = false;
|
|
81
|
+
exports.valid = false;
|
|
77
82
|
}
|
|
78
83
|
else {
|
|
79
84
|
if (pattern && !testRegex(pattern, v)) {
|
|
80
85
|
error = `Should match ${pattern}`;
|
|
81
|
-
valid = false;
|
|
86
|
+
exports.valid = false;
|
|
82
87
|
}
|
|
83
88
|
else {
|
|
84
89
|
error = '';
|
|
85
|
-
valid = true;
|
|
90
|
+
exports.valid = true;
|
|
86
91
|
}
|
|
87
92
|
}
|
|
88
93
|
}
|
|
@@ -96,8 +101,8 @@ function testRegex(pattern, value) {
|
|
|
96
101
|
}
|
|
97
102
|
}
|
|
98
103
|
$: {
|
|
99
|
-
if (value == undefined) {
|
|
100
|
-
value = defaultValue;
|
|
104
|
+
if (exports.value == undefined) {
|
|
105
|
+
exports.value = exports.defaultValue;
|
|
101
106
|
}
|
|
102
107
|
}
|
|
103
108
|
</script>
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
<script>"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.maxRows = exports.minRows = exports.placeholder = exports.value = void 0;
|
|
4
|
+
exports.placeholder = '';
|
|
5
|
+
exports.minRows = 1;
|
|
6
|
+
exports.maxRows = 20;
|
|
7
|
+
$: minHeight = `${1 + exports.minRows * 1.2}em`;
|
|
8
|
+
$: maxHeight = exports.maxRows ? `${1 + exports.maxRows * 1.2}em` : `auto`;
|
|
7
9
|
</script>
|
|
8
10
|
|
|
9
11
|
<div class="container">
|
package/components/Badge.svelte
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
<script>"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
|
+
exports.tooltip = exports.twTextColor = exports.twBgColor = void 0;
|
|
7
|
+
const Tooltip_svelte_1 = __importDefault(require("./Tooltip.svelte"));
|
|
8
|
+
exports.twBgColor = 'bg-blue-200';
|
|
9
|
+
exports.twTextColor = 'text-gray-700';
|
|
10
|
+
exports.tooltip = undefined;
|
|
5
11
|
</script>
|
|
6
12
|
|
|
7
13
|
<span class="{twBgColor} {twTextColor} text-2xs rounded px-1 whitespace-nowrap">
|
package/components/Button.svelte
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
<script>"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
|
+
exports.disabled = exports.category = void 0;
|
|
7
|
+
const free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
|
|
8
|
+
const svelte_1 = require("svelte");
|
|
9
|
+
const svelte_awesome_1 = __importDefault(require("svelte-awesome"));
|
|
10
|
+
exports.disabled = false;
|
|
11
|
+
const dispatch = (0, svelte_1.createEventDispatcher)();
|
|
7
12
|
</script>
|
|
8
13
|
|
|
9
14
|
<button
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
<script>"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
|
+
exports.dropdownItems = void 0;
|
|
7
|
+
const free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
|
|
8
|
+
const svelte_1 = require("svelte");
|
|
9
|
+
const svelte_awesome_1 = __importDefault(require("svelte-awesome"));
|
|
10
|
+
const Dropdown_svelte_1 = __importDefault(require("./Dropdown.svelte"));
|
|
11
|
+
exports.dropdownItems = [];
|
|
12
|
+
const dispatch = (0, svelte_1.createEventDispatcher)();
|
|
7
13
|
</script>
|
|
8
14
|
|
|
9
15
|
<div class="bg-blue-500 rounded-sm {$$props.class} inline-block py-0 my-0 ">
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
<script>"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
|
+
exports.viewOptions = exports.text = void 0;
|
|
7
|
+
const free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
|
|
8
|
+
const svelte_awesome_1 = __importDefault(require("svelte-awesome"));
|
|
9
|
+
exports.viewOptions = false;
|
|
5
10
|
</script>
|
|
6
11
|
|
|
7
12
|
<button
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
<script>"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
|
+
exports.result = void 0;
|
|
7
|
+
const svelte_highlight_1 = require("svelte-highlight");
|
|
8
|
+
const github_1 = __importDefault(require("svelte-highlight/styles/github"));
|
|
9
|
+
const languages_1 = require("svelte-highlight/languages");
|
|
10
|
+
const TableCustom_svelte_1 = __importDefault(require("./TableCustom.svelte"));
|
|
11
|
+
let resultKind = inferResultKind(exports.result);
|
|
7
12
|
function isArray(obj) {
|
|
8
13
|
return Object.prototype.toString.call(obj) === '[object Array]';
|
|
9
14
|
}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
<script>"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
|
+
exports.relative = exports.name = exports.dropdownItems = void 0;
|
|
7
|
+
const utils_1 = require("$lib/utils");
|
|
8
|
+
const svelte_1 = require("svelte");
|
|
9
|
+
const svelte_awesome_1 = __importDefault(require("svelte-awesome"));
|
|
10
|
+
const free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
|
|
5
11
|
let open = false;
|
|
6
|
-
|
|
7
|
-
export let name = undefined;
|
|
12
|
+
exports.name = undefined;
|
|
8
13
|
// The dropdown is positioned versus its first relatively positioned partent
|
|
9
14
|
// By default, the dropdown is positioned relative to its button
|
|
10
15
|
// This can cause the dropdown to be hidden if it is in an overflow-hidden div.
|
|
11
16
|
// In that case, set relative to false and control the dropdown positioning from the div
|
|
12
|
-
|
|
13
|
-
const dispatch = createEventDispatcher();
|
|
17
|
+
exports.relative = true;
|
|
18
|
+
const dispatch = (0, svelte_1.createEventDispatcher)();
|
|
14
19
|
function openMenu() {
|
|
15
20
|
open = true;
|
|
16
21
|
}
|
package/components/Editor.svelte
CHANGED
|
@@ -1,84 +1,116 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
<script>"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
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)();
|
|
9
38
|
let divEl = null;
|
|
10
39
|
let editor;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
export let websocketAlive = { pyright: false, black: false, deno: false };
|
|
40
|
+
exports.deno = false;
|
|
41
|
+
exports.lang = exports.deno ? 'typescript' : 'python';
|
|
42
|
+
exports.hash = (Math.random() + 1).toString(36).substring(2);
|
|
43
|
+
exports.cmdEnterAction = undefined;
|
|
44
|
+
exports.formatAction = undefined;
|
|
45
|
+
exports.automaticLayout = true;
|
|
46
|
+
exports.websocketAlive = { pyright: false, black: false, deno: false };
|
|
19
47
|
let websockets = [];
|
|
20
48
|
let uri = '';
|
|
21
49
|
let disposeMethod;
|
|
22
|
-
if (browser) {
|
|
50
|
+
if (env_1.browser) {
|
|
23
51
|
// @ts-ignore
|
|
24
52
|
self.MonacoEnvironment = {
|
|
25
53
|
getWorker: function (_moduleId, label) {
|
|
26
54
|
if (label === 'json') {
|
|
27
|
-
return new
|
|
55
|
+
return new json_worker_worker_1.default();
|
|
28
56
|
}
|
|
29
57
|
else if (label === 'typescript' || label === 'javascript') {
|
|
30
|
-
return new
|
|
58
|
+
return new ts_worker_worker_1.default();
|
|
31
59
|
}
|
|
32
60
|
else {
|
|
33
|
-
return new
|
|
61
|
+
return new editor_worker_worker_1.default();
|
|
34
62
|
}
|
|
35
63
|
}
|
|
36
64
|
};
|
|
37
65
|
}
|
|
38
|
-
|
|
66
|
+
function getCode() {
|
|
39
67
|
return editor?.getValue();
|
|
40
68
|
}
|
|
41
|
-
|
|
69
|
+
exports.getCode = getCode;
|
|
70
|
+
function insertAtCursor(code) {
|
|
42
71
|
if (editor) {
|
|
43
72
|
editor.trigger('keyboard', 'type', { text: code });
|
|
44
73
|
}
|
|
45
74
|
}
|
|
46
|
-
|
|
75
|
+
exports.insertAtCursor = insertAtCursor;
|
|
76
|
+
function insertAtBeginning(code) {
|
|
47
77
|
if (editor) {
|
|
48
78
|
const range = { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 1 };
|
|
49
79
|
const op = { range: range, text: code, forceMoveMarkers: true };
|
|
50
80
|
editor.executeEdits('external', [op]);
|
|
51
81
|
}
|
|
52
82
|
}
|
|
53
|
-
|
|
83
|
+
exports.insertAtBeginning = insertAtBeginning;
|
|
84
|
+
function setCode(ncode) {
|
|
54
85
|
if (editor) {
|
|
55
86
|
return editor.setValue(ncode);
|
|
56
87
|
}
|
|
57
88
|
else {
|
|
58
|
-
code = ncode;
|
|
89
|
+
exports.code = ncode;
|
|
59
90
|
}
|
|
60
91
|
}
|
|
92
|
+
exports.setCode = setCode;
|
|
61
93
|
function format() {
|
|
62
94
|
if (editor) {
|
|
63
95
|
editor.getAction('editor.action.formatDocument').run();
|
|
64
|
-
if (formatAction) {
|
|
65
|
-
formatAction();
|
|
96
|
+
if (exports.formatAction) {
|
|
97
|
+
(0, exports.formatAction)();
|
|
66
98
|
}
|
|
67
99
|
}
|
|
68
100
|
}
|
|
69
|
-
|
|
101
|
+
async function reloadWebsocket() {
|
|
70
102
|
closeWebsockets();
|
|
71
|
-
if (lang == 'python' || deno) {
|
|
103
|
+
if (exports.lang == 'python' || exports.deno) {
|
|
72
104
|
// install Monaco language client services
|
|
73
|
-
const { MonacoLanguageClient } = await
|
|
74
|
-
const { CloseAction, ErrorAction } = await
|
|
75
|
-
const vscode = await
|
|
76
|
-
const { RequestType, toSocket, WebSocketMessageReader, WebSocketMessageWriter } = await
|
|
105
|
+
const { MonacoLanguageClient } = await Promise.resolve().then(() => __importStar(require('monaco-languageclient')));
|
|
106
|
+
const { CloseAction, ErrorAction } = await Promise.resolve().then(() => __importStar(require('vscode-languageclient')));
|
|
107
|
+
const vscode = await Promise.resolve().then(() => __importStar(require('vscode')));
|
|
108
|
+
const { RequestType, toSocket, WebSocketMessageReader, WebSocketMessageWriter } = await Promise.resolve().then(() => __importStar(require('@codingame/monaco-jsonrpc')));
|
|
77
109
|
function createLanguageClient(transports, name, initializationOptions) {
|
|
78
110
|
const client = new MonacoLanguageClient({
|
|
79
111
|
name: name,
|
|
80
112
|
clientOptions: {
|
|
81
|
-
documentSelector: deno ? ['typescript'] : ['python'],
|
|
113
|
+
documentSelector: exports.deno ? ['typescript'] : ['python'],
|
|
82
114
|
errorHandler: {
|
|
83
115
|
error: () => ({ action: ErrorAction.Shutdown }),
|
|
84
116
|
closed: () => ({
|
|
@@ -121,7 +153,7 @@ export async function reloadWebsocket() {
|
|
|
121
153
|
const languageClient = createLanguageClient({ reader, writer }, name, options);
|
|
122
154
|
languageClient.start();
|
|
123
155
|
socket.onClose((_code, _reason) => {
|
|
124
|
-
websocketAlive[name] = false;
|
|
156
|
+
exports.websocketAlive[name] = false;
|
|
125
157
|
});
|
|
126
158
|
vscode.commands.registerCommand('deno.cache', (uris = []) => {
|
|
127
159
|
languageClient.sendRequest(new RequestType('deno/cache'), {
|
|
@@ -129,14 +161,14 @@ export async function reloadWebsocket() {
|
|
|
129
161
|
uris: uris.map((uri) => ({ uri }))
|
|
130
162
|
});
|
|
131
163
|
});
|
|
132
|
-
websocketAlive[name] = true;
|
|
164
|
+
exports.websocketAlive[name] = true;
|
|
133
165
|
};
|
|
134
166
|
}
|
|
135
167
|
catch (err) {
|
|
136
168
|
console.error(`connection to ${name} language server failed`);
|
|
137
169
|
}
|
|
138
170
|
}
|
|
139
|
-
if (deno) {
|
|
171
|
+
if (exports.deno) {
|
|
140
172
|
await connectToLanguageServer(`wss://${$page.url.host}/ws/deno`, 'deno', {
|
|
141
173
|
certificateStores: null,
|
|
142
174
|
enablePaths: [],
|
|
@@ -193,6 +225,7 @@ export async function reloadWebsocket() {
|
|
|
193
225
|
}
|
|
194
226
|
}
|
|
195
227
|
}
|
|
228
|
+
exports.reloadWebsocket = reloadWebsocket;
|
|
196
229
|
function closeWebsockets() {
|
|
197
230
|
for (const x of websockets) {
|
|
198
231
|
try {
|
|
@@ -205,8 +238,8 @@ function closeWebsockets() {
|
|
|
205
238
|
websockets = [];
|
|
206
239
|
}
|
|
207
240
|
async function loadMonaco() {
|
|
208
|
-
const monaco = await
|
|
209
|
-
if (lang == 'python') {
|
|
241
|
+
const monaco = await Promise.resolve().then(() => __importStar(require('monaco-editor')));
|
|
242
|
+
if (exports.lang == 'python') {
|
|
210
243
|
monaco.languages.register({
|
|
211
244
|
id: 'python',
|
|
212
245
|
extensions: ['.py'],
|
|
@@ -215,26 +248,26 @@ async function loadMonaco() {
|
|
|
215
248
|
});
|
|
216
249
|
}
|
|
217
250
|
let path = 'unknown';
|
|
218
|
-
if (lang == 'python') {
|
|
219
|
-
path = `${hash}.py`;
|
|
251
|
+
if (exports.lang == 'python') {
|
|
252
|
+
path = `${exports.hash}.py`;
|
|
220
253
|
}
|
|
221
|
-
else if (lang == 'json') {
|
|
222
|
-
path = `${hash}.json`;
|
|
254
|
+
else if (exports.lang == 'json') {
|
|
255
|
+
path = `${exports.hash}.json`;
|
|
223
256
|
}
|
|
224
|
-
else if (lang == 'javascript') {
|
|
225
|
-
path = `${hash}.js`;
|
|
257
|
+
else if (exports.lang == 'javascript') {
|
|
258
|
+
path = `${exports.hash}.js`;
|
|
226
259
|
}
|
|
227
|
-
else if (lang == 'typescript') {
|
|
228
|
-
path = `${hash}.ts`;
|
|
260
|
+
else if (exports.lang == 'typescript') {
|
|
261
|
+
path = `${exports.hash}.ts`;
|
|
229
262
|
}
|
|
230
263
|
uri = `file:///${path}`;
|
|
231
|
-
const model = monaco.editor.createModel(code, lang, monaco.Uri.parse(uri));
|
|
264
|
+
const model = monaco.editor.createModel(exports.code, exports.lang, monaco.Uri.parse(uri));
|
|
232
265
|
model.updateOptions({ tabSize: 4, insertSpaces: true });
|
|
233
266
|
editor = monaco.editor.create(divEl, {
|
|
234
267
|
model: model,
|
|
235
|
-
value: code,
|
|
236
|
-
language: lang,
|
|
237
|
-
automaticLayout,
|
|
268
|
+
value: exports.code,
|
|
269
|
+
language: exports.lang,
|
|
270
|
+
automaticLayout: exports.automaticLayout,
|
|
238
271
|
readOnly: false,
|
|
239
272
|
autoDetectHighContrast: true,
|
|
240
273
|
//lineNumbers: 'off',
|
|
@@ -251,15 +284,15 @@ async function loadMonaco() {
|
|
|
251
284
|
format();
|
|
252
285
|
});
|
|
253
286
|
editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter, function () {
|
|
254
|
-
if (cmdEnterAction) {
|
|
255
|
-
cmdEnterAction();
|
|
287
|
+
if (exports.cmdEnterAction) {
|
|
288
|
+
(0, exports.cmdEnterAction)();
|
|
256
289
|
}
|
|
257
290
|
});
|
|
258
291
|
editor.onDidChangeModelContent((event) => {
|
|
259
|
-
code = getCode();
|
|
292
|
+
exports.code = getCode();
|
|
260
293
|
dispatch('change');
|
|
261
294
|
});
|
|
262
|
-
if (lang == 'json') {
|
|
295
|
+
if (exports.lang == 'json') {
|
|
263
296
|
monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
|
|
264
297
|
validate: true,
|
|
265
298
|
allowComments: false,
|
|
@@ -267,13 +300,13 @@ async function loadMonaco() {
|
|
|
267
300
|
enableSchemaRequest: true
|
|
268
301
|
});
|
|
269
302
|
}
|
|
270
|
-
if (lang == 'typescript') {
|
|
303
|
+
if (exports.lang == 'typescript') {
|
|
271
304
|
monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
|
|
272
305
|
target: monaco.languages.typescript.ScriptTarget.Latest,
|
|
273
306
|
allowNonTsExtensions: true,
|
|
274
307
|
noLib: true
|
|
275
308
|
});
|
|
276
|
-
if (deno) {
|
|
309
|
+
if (exports.deno) {
|
|
277
310
|
monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({
|
|
278
311
|
noSemanticValidation: true,
|
|
279
312
|
noSuggestionDiagnostics: true,
|
|
@@ -319,8 +352,8 @@ export const params: any;
|
|
|
319
352
|
`, 'file:///node_modules/@types/windmill/index.d.ts');
|
|
320
353
|
}
|
|
321
354
|
}
|
|
322
|
-
if (lang == 'python' || deno) {
|
|
323
|
-
const { MonacoServices } = await
|
|
355
|
+
if (exports.lang == 'python' || exports.deno) {
|
|
356
|
+
const { MonacoServices } = await Promise.resolve().then(() => __importStar(require('monaco-languageclient')));
|
|
324
357
|
MonacoServices.install(monaco);
|
|
325
358
|
}
|
|
326
359
|
reloadWebsocket();
|
|
@@ -336,12 +369,12 @@ export const params: any;
|
|
|
336
369
|
}
|
|
337
370
|
};
|
|
338
371
|
}
|
|
339
|
-
onMount(() => {
|
|
340
|
-
if (browser) {
|
|
372
|
+
(0, svelte_1.onMount)(() => {
|
|
373
|
+
if (env_1.browser) {
|
|
341
374
|
loadMonaco().then((x) => (disposeMethod = x));
|
|
342
375
|
}
|
|
343
376
|
});
|
|
344
|
-
onDestroy(() => {
|
|
377
|
+
(0, svelte_1.onDestroy)(() => {
|
|
345
378
|
if (disposeMethod) {
|
|
346
379
|
disposeMethod();
|
|
347
380
|
}
|