mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-19 00:02:03 +00:00
7c36e554d7
* (frontend) add quick access menu in flow editor * (frontend) add quick access menu in flow editor * improve UI * make design prettier * add scroll effects * improve loading preview * change no items found * prevent scroll using menu * change user folder button * set default integration icon * reduce column width * ajust font * add defaults script button * add shadow divider * fix scroll * add chevron * Change toogle bar * Add preprocessor menu * add handler * simplify scroll * fix display * fix minor issues * delete useless log * revert node tree changes * merge main * fix z-index issues * iterate * fix: improve allowed domains setting for sso * chore(main): release 1.402.3 (#4458) * chore(main): release 1.402.3 * Apply automatic changes --------- Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com> * improve allowed domains change handling * send stats when renewing key if last >24h (#4430) * feat: send stats when renewing key if last >24h * nits * fix: sqlx * nit * renewal reason * stats reason * update ee ref * Update ee-repo-ref.txt --------- Co-authored-by: Ruben Fiszel <ruben@windmill.dev> * fix: skip one migration to avoid using md5 for azure support * all * all * Apply automatic changes * all * done? * nit * nit * nit * nit * nit noAi if prefilter is not all * fix shadow * fix error handler * fix error handler * Polishing default script settings * all * all * full * all * add deno_core as features * all * remove warnings * all * npm check * npm check * new script script * nits * nits item 0 * nits item 0 --------- Co-authored-by: Guilhem Le Mouel <guilhem.le-mouel.ext@altran.com> Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com> Co-authored-by: Ruben Fiszel <ruben@windmill.dev> Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com> Co-authored-by: HugoCasa <hugo@casademont.ch> Co-authored-by: Guilhem <guilhem@mbp-de-windmill.home>
90 lines
2.8 KiB
Svelte
90 lines
2.8 KiB
Svelte
<script lang="ts">
|
|
import { WorkspaceService, type Script, type WorkspaceDefaultScripts } from '$lib/gen'
|
|
import { defaultScripts, workspaceStore } from '$lib/stores'
|
|
import { flip } from 'svelte/animate'
|
|
import Toggle from './Toggle.svelte'
|
|
import { defaultScriptLanguages } from '$lib/scripts'
|
|
import Alert from './common/alert/Alert.svelte'
|
|
|
|
export let small = false
|
|
$: langs = computeLangs($defaultScripts)
|
|
|
|
function computeLangs(defaultScripts: WorkspaceDefaultScripts | undefined): Script['language'][] {
|
|
const allLangs = Object.keys(defaultScriptLanguages) as Script['language'][]
|
|
if (!defaultScripts || defaultScripts.order == undefined) return allLangs
|
|
return defaultScripts.order
|
|
?.concat(allLangs.filter((l) => !defaultScripts.order?.includes(l)))
|
|
.filter((x) => x != 'nativets') as Script['language'][]
|
|
}
|
|
|
|
async function changePosition(i: number, up: boolean) {
|
|
let norder = langs
|
|
if (up) {
|
|
;[norder[i], norder[i - 1]] = [norder[i - 1], norder[i]]
|
|
} else {
|
|
;[norder[i], norder[i + 1]] = [norder[i + 1], norder[i]]
|
|
}
|
|
defaultScripts.update((s) => ({ ...s, order: norder }))
|
|
await WorkspaceService.editDefaultScripts({
|
|
workspace: $workspaceStore!,
|
|
requestBody: $defaultScripts
|
|
})
|
|
}
|
|
</script>
|
|
|
|
<Alert title="Global to workspace" type="info" class="mb-4" size={small ? 'xs' : 'sm'}>
|
|
This setting is only available to admins and will affect all users in the workspace.
|
|
</Alert>
|
|
<div class="h-full w-full flex-col {small ? 'gap-0' : 'gap-2'} flex">
|
|
{#each langs as lang, i (lang)}
|
|
<div
|
|
animate:flip={{ duration: 300 }}
|
|
class="w-full p-2 rounded {small
|
|
? ''
|
|
: 'border border-secondary'} grid grid-cols-3 items-center"
|
|
><h3 class={small ? 'text-xs font-medium justify-center' : ''}>{lang}</h3>
|
|
<div>
|
|
{#if i > 0}
|
|
<button
|
|
on:click={() => changePosition(i ?? 0, true)}
|
|
class={small ? 'mr-2 text-secondary text-sm' : 'text-lg mr-2'}
|
|
title="Move up"
|
|
>
|
|
↑</button
|
|
>
|
|
{/if}
|
|
{#if i < langs.length - 1}
|
|
<button
|
|
on:click={() => changePosition(i ?? 0, false)}
|
|
class={small ? 'mr-2 text-secondary text-sm' : 'text-lg mr-2'}
|
|
title="Move down">↓</button
|
|
>
|
|
{/if}</div
|
|
>
|
|
<!-- <Toggle options={{ right: 'custom default' }} size="xs" /> -->
|
|
<div class="flex justify-end">
|
|
<Toggle
|
|
options={{ right: 'hide' }}
|
|
size="xs"
|
|
color="red"
|
|
checked={$defaultScripts?.hidden?.includes(lang)}
|
|
on:change={(e) => {
|
|
let toggled = e.detail
|
|
if (toggled) {
|
|
defaultScripts.update((s) => ({
|
|
...(s ?? {}),
|
|
hidden: [...(s?.hidden ?? []), lang]
|
|
}))
|
|
} else {
|
|
defaultScripts.update((s) => ({
|
|
...(s ?? {}),
|
|
hidden: (s?.hidden ?? []).filter((h) => h != lang)
|
|
}))
|
|
}
|
|
}}
|
|
/>
|
|
</div>
|
|
</div>
|
|
{/each}
|
|
</div>
|