windmill-components 1.55.1 → 1.55.2

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.
Files changed (199) hide show
  1. package/common.d.ts +1 -1
  2. package/common.js +3 -0
  3. package/components/AppConnect.svelte +2 -2
  4. package/components/ArgInput.svelte +1 -1
  5. package/components/CronInput.svelte +54 -53
  6. package/components/Dropdown.svelte +21 -9
  7. package/components/Editor.svelte +10 -10
  8. package/components/EditorBar.svelte +2 -2
  9. package/components/FlowBuilder.svelte +41 -25
  10. package/components/FlowGraphViewer.svelte +6 -2
  11. package/components/FlowMetadata.svelte +8 -3
  12. package/components/FolderEditor.svelte +299 -0
  13. package/components/FolderEditor.svelte.d.ts +16 -0
  14. package/components/FolderInfo.svelte +13 -0
  15. package/components/FolderInfo.svelte.d.ts +16 -0
  16. package/components/FolderUsageInfo.svelte +17 -0
  17. package/components/FolderUsageInfo.svelte.d.ts +16 -0
  18. package/components/GroupEditor.svelte +287 -0
  19. package/components/GroupEditor.svelte.d.ts +18 -0
  20. package/components/GroupInfo.svelte +22 -0
  21. package/components/GroupInfo.svelte.d.ts +16 -0
  22. package/components/InputTransformForm.svelte +16 -7
  23. package/components/MoveDrawer.svelte +75 -0
  24. package/components/MoveDrawer.svelte.d.ts +19 -0
  25. package/components/Path.svelte +243 -96
  26. package/components/Path.svelte.d.ts +1 -4
  27. package/components/RadioButton.svelte +2 -0
  28. package/components/RadioButton.svelte.d.ts +1 -0
  29. package/components/ResourceEditor.svelte +11 -16
  30. package/components/RunForm.svelte +20 -3
  31. package/components/RunForm.svelte.d.ts +1 -1
  32. package/components/ScheduleEditor.svelte +226 -0
  33. package/components/ScheduleEditor.svelte.d.ts +26 -0
  34. package/components/ScriptBuilder.svelte +109 -114
  35. package/components/ScriptEditor.svelte +17 -14
  36. package/components/ScriptEditor.svelte.d.ts +1 -0
  37. package/components/ScriptPicker.svelte +55 -29
  38. package/components/ScriptPicker.svelte.d.ts +1 -0
  39. package/components/ShareModal.svelte +94 -73
  40. package/components/ShareModal.svelte.d.ts +2 -4
  41. package/components/SimpleEditor.svelte +15 -10
  42. package/components/TemplateEditor.svelte +496 -0
  43. package/components/TemplateEditor.svelte.d.ts +25 -0
  44. package/components/TestJobLoader.svelte +1 -1
  45. package/components/VariableEditor.svelte +2 -1
  46. package/components/apps/CreateApp.svelte +1 -1
  47. package/components/apps/components/buttons/AppButton.svelte +3 -3
  48. package/components/apps/components/dataDisplay/AppBarChart.svelte +5 -4
  49. package/components/apps/components/dataDisplay/AppPieChart.svelte +3 -3
  50. package/components/apps/components/dateInputs/AppDateInput.svelte +34 -0
  51. package/components/apps/components/dateInputs/AppDateInput.svelte.d.ts +22 -0
  52. package/components/apps/components/form/AppForm.svelte +4 -5
  53. package/components/apps/components/form/AppForm.svelte.d.ts +0 -1
  54. package/components/apps/components/helpers/AlignWrapper.svelte +3 -4
  55. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +2 -3
  56. package/components/apps/components/helpers/InputValue.svelte +54 -5
  57. package/components/apps/components/helpers/InputValue.svelte.d.ts +1 -0
  58. package/components/apps/components/helpers/NonRunnableComponent.svelte +2 -1
  59. package/components/apps/components/helpers/RefreshButton.svelte +20 -0
  60. package/components/apps/components/helpers/RefreshButton.svelte.d.ts +16 -0
  61. package/components/apps/components/helpers/RunnableComponent.svelte +38 -42
  62. package/components/apps/components/helpers/RunnableWrapper.svelte +6 -3
  63. package/components/apps/components/numberInputs/AppNumberInput.svelte +8 -11
  64. package/components/apps/components/numberInputs/AppNumberInput.svelte.d.ts +1 -0
  65. package/components/apps/components/selectInputs/AppCheckbox.svelte +1 -1
  66. package/components/apps/components/selectInputs/AppSelect.svelte +26 -0
  67. package/components/apps/components/selectInputs/AppSelect.svelte.d.ts +22 -0
  68. package/components/apps/components/table/AppTable.svelte +159 -0
  69. package/components/apps/components/{dataDisplay → table}/AppTable.svelte.d.ts +0 -0
  70. package/components/apps/components/table/AppTableFooter.svelte +54 -0
  71. package/components/apps/components/table/AppTableFooter.svelte.d.ts +20 -0
  72. package/components/apps/components/table/tableOptions.d.ts +10 -0
  73. package/components/apps/components/table/tableOptions.js +11 -0
  74. package/components/apps/components/textInputs/AppTextInput.svelte +17 -10
  75. package/components/apps/components/textInputs/AppTextInput.svelte.d.ts +2 -0
  76. package/components/apps/editor/AppEditor.svelte +35 -20
  77. package/components/apps/editor/AppEditorHeader.svelte +15 -7
  78. package/components/apps/editor/AppPreview.svelte +5 -3
  79. package/components/apps/editor/AppPreview.svelte.d.ts +4 -1
  80. package/components/apps/editor/ComponentEditor.svelte +21 -3
  81. package/components/apps/editor/ComponentEditor.svelte.d.ts +2 -0
  82. package/components/apps/editor/ComponentHeader.svelte +21 -4
  83. package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -0
  84. package/components/apps/editor/GridEditor.svelte +40 -20
  85. package/components/apps/editor/RecomputeAllComponents.svelte +5 -7
  86. package/components/apps/editor/componentsPanel/ComponentList.svelte +30 -82
  87. package/components/apps/editor/componentsPanel/data.js +78 -29
  88. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +5 -1
  89. package/components/apps/editor/contextPanel/ContextPanel.svelte +35 -152
  90. package/components/apps/editor/contextPanel/ContextPanel.svelte.d.ts +1 -3
  91. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +64 -0
  92. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +18 -0
  93. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +95 -0
  94. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +20 -0
  95. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +32 -0
  96. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +19 -0
  97. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +63 -0
  98. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +17 -0
  99. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +44 -0
  100. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte.d.ts +14 -0
  101. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +126 -0
  102. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte.d.ts +16 -0
  103. package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +41 -0
  104. package/components/apps/editor/settingsPanel/AlignmentEditor.svelte.d.ts +17 -0
  105. package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +44 -0
  106. package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte.d.ts +18 -0
  107. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +48 -130
  108. package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +3 -0
  109. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +2 -2
  110. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +1 -1
  111. package/components/apps/editor/settingsPanel/Recompute.svelte +2 -2
  112. package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +46 -0
  113. package/components/apps/editor/settingsPanel/SelectedRunnable.svelte.d.ts +17 -0
  114. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +1 -1
  115. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +1 -1
  116. package/components/apps/editor/settingsPanel/{ConnectedInputEditor.svelte → inputEditor/ConnectedInputEditor.svelte} +1 -2
  117. package/components/apps/editor/settingsPanel/{ConnectedInputEditor.svelte.d.ts → inputEditor/ConnectedInputEditor.svelte.d.ts} +1 -1
  118. package/components/apps/editor/settingsPanel/inputEditor/RunnableInputEditor.svelte +12 -0
  119. package/components/apps/editor/settingsPanel/inputEditor/RunnableInputEditor.svelte.d.ts +17 -0
  120. package/components/apps/editor/settingsPanel/{StaticInputEditor.svelte → inputEditor/StaticInputEditor.svelte} +5 -5
  121. package/components/apps/editor/settingsPanel/{StaticInputEditor.svelte.d.ts → inputEditor/StaticInputEditor.svelte.d.ts} +1 -1
  122. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +6 -3
  123. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +66 -22
  124. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +2 -3
  125. package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte +1 -1
  126. package/components/apps/gridUtils.d.ts +3 -1
  127. package/components/apps/gridUtils.js +16 -1
  128. package/components/apps/inputType.d.ts +10 -4
  129. package/components/apps/rx.d.ts +8 -8
  130. package/components/apps/rx.js +17 -9
  131. package/components/apps/types.d.ts +14 -2
  132. package/components/apps/utils.d.ts +4 -3
  133. package/components/apps/utils.js +37 -5
  134. package/components/common/drawer/Drawer.svelte +1 -1
  135. package/components/common/drawer/Drawer.svelte.d.ts +1 -0
  136. package/components/common/table/FlowRow.svelte +21 -7
  137. package/components/common/table/FlowRow.svelte.d.ts +2 -0
  138. package/components/common/table/ScriptRow.svelte +22 -7
  139. package/components/common/table/ScriptRow.svelte.d.ts +2 -0
  140. package/components/common/toggleButton/ToggleButton.svelte +1 -1
  141. package/components/common/toggleButton/ToggleButtonGroup.svelte +1 -1
  142. package/components/common/toggleButton/ToggleButtonGroup.svelte.d.ts +1 -0
  143. package/components/flows/content/FlowEditorPanel.svelte +10 -16
  144. package/components/flows/content/FlowInputs.svelte +18 -4
  145. package/components/flows/content/FlowInputs.svelte.d.ts +1 -0
  146. package/components/flows/content/FlowModuleComponent.svelte +1 -1
  147. package/components/flows/content/FlowModuleWrapper.svelte +26 -1
  148. package/components/flows/content/FlowSchedules.svelte +5 -0
  149. package/components/flows/content/FlowSettings.svelte +13 -23
  150. package/components/flows/content/FlowSettings.svelte.d.ts +0 -1
  151. package/components/flows/header/FlowPreviewButtons.svelte +1 -0
  152. package/components/flows/map/FlowErrorHandlerItem.svelte +1 -1
  153. package/components/flows/map/FlowModuleSchemaMap.svelte +12 -3
  154. package/components/flows/map/FlowSettingsItem.svelte +8 -15
  155. package/components/flows/map/InsertModuleButton.svelte +29 -2
  156. package/components/flows/map/InsertModuleButton.svelte.d.ts +3 -1
  157. package/components/flows/map/MapItem.svelte +2 -1
  158. package/components/flows/map/MapItem.svelte.d.ts +1 -0
  159. package/components/flows/pickers/WorkspaceScriptPicker.svelte +3 -0
  160. package/components/flows/previousResults.js +1 -1
  161. package/components/graph/FlowGraph.svelte +13 -13
  162. package/components/home/ItemsList.svelte +20 -12
  163. package/components/jobs/JobDetail.svelte +9 -3
  164. package/components/sidebar/SidebarContent.svelte +4 -3
  165. package/components/sidebar/UserMenu.svelte +1 -1
  166. package/editorUtils.d.ts +7 -1
  167. package/editorUtils.js +98 -3
  168. package/es5.d.ts.txt +4526 -0
  169. package/gen/index.d.ts +2 -0
  170. package/gen/index.js +1 -0
  171. package/gen/models/CompletedJob.d.ts +1 -0
  172. package/gen/models/EditSchedule.d.ts +0 -2
  173. package/gen/models/Folder.d.ts +5 -0
  174. package/gen/models/Folder.js +4 -0
  175. package/gen/models/QueuedJob.d.ts +1 -0
  176. package/gen/models/Script.d.ts +1 -1
  177. package/gen/models/User.d.ts +1 -0
  178. package/gen/services/FolderService.d.ts +128 -0
  179. package/gen/services/FolderService.js +151 -0
  180. package/gen/services/GranularAclService.d.ts +3 -3
  181. package/gen/services/GroupService.d.ts +5 -1
  182. package/gen/services/GroupService.js +4 -1
  183. package/gen/services/JobService.d.ts +25 -5
  184. package/gen/services/JobService.js +10 -5
  185. package/gen/services/ScriptService.d.ts +2 -1
  186. package/gen/services/UserService.d.ts +9 -0
  187. package/gen/services/UserService.js +15 -0
  188. package/package.json +33 -9
  189. package/script_helpers.d.ts +2 -2
  190. package/script_helpers.js +4 -4
  191. package/stores.d.ts +1 -0
  192. package/utils.d.ts +3 -0
  193. package/utils.js +44 -7
  194. package/components/GroupModal.svelte +0 -98
  195. package/components/GroupModal.svelte.d.ts +0 -17
  196. package/components/apps/components/dataDisplay/AppTable.svelte +0 -132
  197. package/components/apps/components/dataDisplay/app.md +0 -49
  198. package/components/apps/editor/contextPanel/InlineScriptCreationPanel.svelte +0 -29
  199. package/components/apps/editor/contextPanel/InlineScriptCreationPanel.svelte.d.ts +0 -16
@@ -6,14 +6,17 @@ import { getScriptByPath } from '../utils';
6
6
  import RadioButton from './RadioButton.svelte';
7
7
  import { Button, Drawer, DrawerContent } from './common';
8
8
  import HighlightCode from './HighlightCode.svelte';
9
+ import FlowPathViewer from './flows/content/FlowPathViewer.svelte';
9
10
  export let initialPath = undefined;
10
11
  export let scriptPath = undefined;
11
12
  export let allowFlow = false;
12
13
  export let allowHub = false;
13
14
  export let itemKind = allowHub ? 'hub' : 'script';
14
15
  export let kind = Script.kind.SCRIPT;
16
+ export let disabled = false;
15
17
  let items = [];
16
18
  let drawerViewer;
19
+ let drawerFlowViewer;
17
20
  let code = '';
18
21
  let lang;
19
22
  let options = [['Script', 'script']];
@@ -44,41 +47,64 @@ async function loadItems() {
44
47
  $: itemKind && $workspaceStore && loadItems();
45
48
  </script>
46
49
 
50
+ <Drawer bind:this={drawerViewer} size="900px">
51
+ <DrawerContent title="Script {scriptPath}" on:close={drawerViewer.closeDrawer}>
52
+ <HighlightCode {code} language={lang} />
53
+ </DrawerContent>
54
+ </Drawer>
55
+
56
+ <Drawer bind:this={drawerFlowViewer} size="900px">
57
+ <DrawerContent title="Flow {scriptPath}" on:close={drawerFlowViewer.closeDrawer}>
58
+ <FlowPathViewer path={scriptPath ?? ''} />
59
+ </DrawerContent>
60
+ </Drawer>
61
+
47
62
  <div class="flex flex-row items-center gap-4 w-full">
48
63
  {#if options.length > 1}
49
64
  <div class="w-80 mt-1">
50
- <RadioButton bind:value={itemKind} {options} />
65
+ <RadioButton {disabled} bind:value={itemKind} {options} />
51
66
  </div>
52
67
  {/if}
53
68
 
54
- <Select
55
- value={items.find((x) => x.value == initialPath)}
56
- class="grow"
57
- on:change={() => {
58
- dispatch('select', { path: scriptPath })
59
- }}
60
- bind:justValue={scriptPath}
61
- {items}
62
- placeholder="Pick a {itemKind}"
63
- />
64
- {#if scriptPath !== undefined && scriptPath !== ''}
65
- <Button
66
- color="light"
67
- size="xs"
68
- on:click={async () => {
69
- const { language, content } = await getScriptByPath(scriptPath ?? '')
70
- code = content
71
- lang = language
72
- drawerViewer.openDrawer()
69
+ {#if disabled}
70
+ <input type="text" value={scriptPath} disabled />
71
+ {:else}
72
+ <Select
73
+ value={items.find((x) => x.value == initialPath)}
74
+ class="grow"
75
+ on:change={() => {
76
+ dispatch('select', { path: scriptPath })
73
77
  }}
74
- >
75
- Show code
76
- </Button>
78
+ bind:justValue={scriptPath}
79
+ {items}
80
+ placeholder="Pick a {itemKind}"
81
+ />
77
82
  {/if}
78
- </div>
79
83
 
80
- <Drawer bind:this={drawerViewer}>
81
- <DrawerContent title="Script {scriptPath}" on:close={drawerViewer.closeDrawer}>
82
- <HighlightCode {code} language={lang} />
83
- </DrawerContent>
84
- </Drawer>
84
+ {#if scriptPath !== undefined && scriptPath !== ''}
85
+ {#if itemKind == 'flow'}
86
+ <Button
87
+ color="light"
88
+ size="xs"
89
+ on:click={async () => {
90
+ drawerFlowViewer.openDrawer()
91
+ }}
92
+ >
93
+ Show flow
94
+ </Button>
95
+ {:else}
96
+ <Button
97
+ color="light"
98
+ size="xs"
99
+ on:click={async () => {
100
+ const { language, content } = await getScriptByPath(scriptPath ?? '')
101
+ code = content
102
+ lang = language
103
+ drawerViewer.openDrawer()
104
+ }}
105
+ >
106
+ Show code
107
+ </Button>
108
+ {/if}
109
+ {/if}
110
+ </div>
@@ -8,6 +8,7 @@ declare const __propDef: {
8
8
  allowHub?: boolean | undefined;
9
9
  itemKind?: "flow" | "script" | "hub" | undefined;
10
10
  kind?: Script.kind | undefined;
11
+ disabled?: boolean | undefined;
11
12
  };
12
13
  events: {
13
14
  select: CustomEvent<any>;
@@ -1,16 +1,16 @@
1
1
  <script>import TableCustom from './TableCustom.svelte';
2
2
  import { GranularAclService } from '../gen/services/GranularAclService';
3
- import { sendUserToast } from '../utils';
3
+ import { isOwner, sendUserToast } from '../utils';
4
4
  import { GroupService, UserService } from '../gen';
5
5
  import { createEventDispatcher } from 'svelte';
6
6
  import AutoComplete from 'simple-svelte-autocomplete';
7
- import { workspaceStore } from '../stores';
8
- import { Alert, Button, Drawer } from './common';
7
+ import { userStore, workspaceStore } from '../stores';
8
+ import { Alert, Button, Drawer, ToggleButton, ToggleButtonGroup } from './common';
9
9
  import DrawerContent from './common/drawer/DrawerContent.svelte';
10
- import Toggle from './Toggle.svelte';
10
+ import Tooltip from './Tooltip.svelte';
11
11
  const dispatch = createEventDispatcher();
12
- export let kind;
13
- export let path = '';
12
+ let kind;
13
+ let path = '';
14
14
  let ownerKind = 'user';
15
15
  let owner = '';
16
16
  let newOwner = '';
@@ -20,15 +20,19 @@ let groups = [];
20
20
  let usernames = [];
21
21
  let drawer;
22
22
  $: newOwner = [ownerKind === 'group' ? 'g' : 'u', owner].join('/');
23
- export async function openDrawer(newPath) {
24
- if (newPath) {
25
- path = newPath;
26
- }
23
+ let own = false;
24
+ export async function openDrawer(newPath, kind_l) {
25
+ path = newPath;
26
+ kind = kind_l;
27
27
  loadAcls();
28
28
  loadGroups();
29
29
  loadUsernames();
30
+ await loadOwner();
30
31
  drawer.openDrawer();
31
32
  }
33
+ async function loadOwner() {
34
+ own = await isOwner(path, $userStore, $workspaceStore);
35
+ }
32
36
  async function loadAcls() {
33
37
  acls = Object.entries(await GranularAclService.getGranularAcls({ workspace: $workspaceStore, path, kind }));
34
38
  }
@@ -47,7 +51,7 @@ async function deleteAcl(owner) {
47
51
  requestBody: { owner }
48
52
  });
49
53
  loadAcls();
50
- dispatch('change');
54
+ dispatch('change', { path, kind });
51
55
  }
52
56
  catch (err) {
53
57
  sendUserToast(err.toString(), true);
@@ -61,76 +65,93 @@ async function addAcl(owner, write) {
61
65
  requestBody: { owner, write }
62
66
  });
63
67
  loadAcls();
64
- dispatch('change');
68
+ dispatch('change', { path, kind });
65
69
  }
66
70
  </script>
67
71
 
68
72
  <Drawer bind:this={drawer}>
69
73
  <DrawerContent title="Share {path}" on:close={drawer.closeDrawer}>
70
- <div>
71
- <Alert type="info" title="Owners/Editors/Readers"
72
- >Owner is the user or group that is prefix of its path. Sharing allow other users or group
73
- to be able to read or write to this item without being an owner.</Alert
74
+ <div class="flex flex-col gap-6">
75
+ <h1>{path}</h1>
76
+ <h2
77
+ >Extra Permissions ({acls?.length ?? 0}) &nbsp; <Tooltip
78
+ >Items already have default permissions. If belonging to an user or group, that group or
79
+ user owns it and can write to it as well as modify its permisions and move it. Folders
80
+ have read/write that apply to the whole folder and are additive to the items permissions.</Tooltip
81
+ ></h2
74
82
  >
75
- <div class="flex flex-row flex-wrap pb-0 my-5 items-end">
76
- <div class="flex gap-4 mr-2 flex-row">
77
- <label class="flex flex-col">
78
- <span class="text-gray-700 text-sm"> Owner Kind </span>
79
- <select
80
- class="block mt-1 w-20"
81
- bind:value={ownerKind}
82
- on:change={() => {
83
- if (ownerKind === 'group') {
84
- owner = 'all'
85
- } else {
86
- owner = ''
87
- }
88
- }}
89
- >
90
- <option>user</option>
91
- <option>group</option>
92
- </select>
93
- </label>
94
- <label class="flex flex-col" for="inp">
95
- <span class="text-sm text-gray-700">Owner</span>
96
- <div class="block mt-1">
97
- <div class="static z-50">
98
- <AutoComplete
99
- items={ownerKind === 'user' ? usernames : groups}
100
- bind:selectedItem={owner}
101
- />
102
- </div>
83
+ {#if !own}
84
+ <Alert type="warning" title="Not owner"
85
+ >Since you do not own this item, you cannot modify its permission</Alert
86
+ >
87
+ {/if}
88
+ <div>
89
+ {#if own}
90
+ <div class="flex flex-row flex-wrap gap-2 items-center">
91
+ <div>
92
+ <ToggleButtonGroup bind:selected={ownerKind} on:selected={() => (owner = '')}>
93
+ <ToggleButton position="left" value="user" size="xs">User</ToggleButton>
94
+ <ToggleButton position="right" value="group" size="xs">Group</ToggleButton>
95
+ </ToggleButtonGroup>
103
96
  </div>
104
- </label>
105
- <label class="flex flex-col items-end" for="inp">
106
- <span class="text-sm text-gray-700">Editor</span>
107
- <Toggle bind:checked={write} />
108
- </label>
109
- </div>
110
- <div class="mt-2">
111
- <Button size="sm" on:click={() => addAcl(newOwner, write)}>Add permission</Button>
112
- </div>
97
+ {#key ownerKind}
98
+ <AutoComplete
99
+ items={ownerKind === 'user' ? usernames : groups}
100
+ bind:selectedItem={owner}
101
+ />
102
+ {/key}
103
+ <Button size="sm" on:click={() => addAcl(newOwner, write)}>Add permission</Button>
104
+ </div>
105
+ {/if}
106
+ <TableCustom>
107
+ <tr slot="header-row">
108
+ <th>owner</th>
109
+ <th />
110
+ <th />
111
+ </tr>
112
+ <tbody slot="body">
113
+ {#each acls as [owner, write]}
114
+ <tr>
115
+ <td>{owner}</td>
116
+ <td
117
+ >{#if own}
118
+ <div>
119
+ <ToggleButtonGroup
120
+ selected={write ? 'writer' : 'viewer'}
121
+ on:selected={async (e) => {
122
+ const role = e.detail
123
+ if (role == 'writer') {
124
+ await addAcl(owner, true)
125
+ } else {
126
+ await addAcl(owner, false)
127
+ }
128
+ loadAcls()
129
+ }}
130
+ >
131
+ <ToggleButton position="left" value="viewer" size="xs">Viewer</ToggleButton>
132
+ <ToggleButton position="right" value="writer" size="xs">Writer</ToggleButton
133
+ >
134
+ </ToggleButtonGroup>
135
+ </div>
136
+ {:else}{write}{/if}</td
137
+ >
138
+ <td>
139
+ {#if own}
140
+ <Button
141
+ variant="border"
142
+ color="red"
143
+ size="xs"
144
+ on:click={() => deleteAcl(owner)}
145
+ >
146
+ Delete
147
+ </Button>
148
+ {/if}
149
+ </td>
150
+ </tr>
151
+ {/each}
152
+ </tbody>
153
+ </TableCustom>
113
154
  </div>
114
- <TableCustom>
115
- <tr slot="header-row">
116
- <th>owner</th>
117
- <th>has write permission</th>
118
- <th />
119
- </tr>
120
- <tbody slot="body">
121
- {#each acls as [owner, write]}
122
- <tr>
123
- <td>{owner}</td>
124
- <td>{write}</td>
125
- <td>
126
- <Button variant="border" color="red" size="sm" on:click={() => deleteAcl(owner)}>
127
- Delete
128
- </Button>
129
- </td>
130
- </tr>
131
- {/each}
132
- </tbody>
133
- </TableCustom>
134
155
  </div>
135
156
  </DrawerContent>
136
157
  </Drawer>
@@ -1,9 +1,7 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
- kind: 'script' | 'group_' | 'resource' | 'schedule' | 'variable' | 'flow';
5
- path?: string | undefined;
6
- openDrawer?: ((newPath?: string) => Promise<void>) | undefined;
4
+ openDrawer?: ((newPath: string, kind_l: "flow" | "script" | "resource" | "group_" | "schedule" | "variable") => Promise<void>) | undefined;
7
5
  };
8
6
  events: {
9
7
  change: CustomEvent<any>;
@@ -16,6 +14,6 @@ export type ShareModalProps = typeof __propDef.props;
16
14
  export type ShareModalEvents = typeof __propDef.events;
17
15
  export type ShareModalSlots = typeof __propDef.slots;
18
16
  export default class ShareModal extends SvelteComponentTyped<ShareModalProps, ShareModalEvents, ShareModalSlots> {
19
- get openDrawer(): (newPath?: string | undefined) => Promise<void>;
17
+ get openDrawer(): (newPath: string, kind_l: "flow" | "script" | "resource" | "group_" | "schedule" | "variable") => Promise<void>;
20
18
  }
21
19
  export {};
@@ -1,4 +1,5 @@
1
1
  <script context="module">import * as monaco from 'monaco-editor';
2
+ import libStdContent from '../es5.d.ts.txt?raw';
2
3
  monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
3
4
  target: monaco.languages.typescript.ScriptTarget.Latest,
4
5
  allowNonTsExtensions: true,
@@ -129,16 +130,20 @@ async function loadMonaco() {
129
130
  code = getCode();
130
131
  dispatch('blur');
131
132
  });
132
- if (lang == 'javascript' && extraLib != '') {
133
- monaco.languages.typescript.javascriptDefaults.setExtraLibs([
134
- {
135
- content: extraLib,
136
- filePath: 'windmill.d.ts'
137
- }
138
- ]);
139
- }
140
- else {
141
- monaco.languages.typescript.javascriptDefaults.setExtraLibs([]);
133
+ if (lang == 'javascript') {
134
+ const stdLib = { content: libStdContent, filePath: 'es5.d.ts' };
135
+ if (extraLib != '') {
136
+ monaco.languages.typescript.javascriptDefaults.setExtraLibs([
137
+ {
138
+ content: extraLib,
139
+ filePath: 'windmill.d.ts'
140
+ },
141
+ stdLib
142
+ ]);
143
+ }
144
+ else {
145
+ monaco.languages.typescript.javascriptDefaults.setExtraLibs([stdLib]);
146
+ }
142
147
  }
143
148
  }
144
149
  onMount(() => {