Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Glm/use melt menu #5271

Closed
wants to merge 79 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
b891a40
use melt menu for DropDownV2
Guilhem-lm Feb 4, 2025
582f2cd
delete MenuV2
Guilhem-lm Feb 4, 2025
0e58d96
remove unused FlowCopilotButton
Guilhem-lm Feb 4, 2025
767b6fe
clean code
Guilhem-lm Feb 4, 2025
c868c27
replace detail page dropdown with DropdownV2
Guilhem-lm Feb 4, 2025
c584efd
nit
Guilhem-lm Feb 4, 2025
5c3ea42
nit
Guilhem-lm Feb 5, 2025
e2de8f4
Merge branch 'glm/replace_menuV2' into glm/use_melt_menu
Guilhem-lm Feb 11, 2025
8ef175e
fix action arg type
Guilhem-lm Feb 11, 2025
0256783
replace ButtonDropdown with DropdownV2
Guilhem-lm Feb 11, 2025
6add112
Merge remote-tracking branch 'origin/main' into glm/use_melt_menu
Guilhem-lm Feb 12, 2025
335ae41
remove unused ButtonDropDown
Guilhem-lm Feb 12, 2025
7df118e
Add new tooltip component
Guilhem-lm Feb 12, 2025
dc32bcb
reolace addUser popup with popover
Guilhem-lm Feb 12, 2025
10a5eab
use tooltip in ToggleButton
Guilhem-lm Feb 12, 2025
cc5c50b
polish popover
Guilhem-lm Feb 12, 2025
4135784
use melt popover in EditableSchemaForm
Guilhem-lm Feb 12, 2025
526e659
add floating config and usePointerdownOutside to popover props
Guilhem-lm Feb 12, 2025
bdce1b7
replace popup with melt popover in RunForm
Guilhem-lm Feb 12, 2025
0aae35c
replace Popup with melt Popover in FlowCopilotStatus
Guilhem-lm Feb 12, 2025
51549db
replace Popup with melt Popover in FlowPropertyEditor
Guilhem-lm Feb 12, 2025
3e277fa
Merge remote-tracking branch 'origin/main' into glm/use_melt_menu
Guilhem-lm Feb 12, 2025
69ebe10
Merge remote-tracking branch 'origin/glm/replace_menuV2' into glm/use…
Guilhem-lm Feb 12, 2025
a038513
fix flicker due to z index change
Guilhem-lm Feb 12, 2025
b97af4d
clean FlowPropertyEditor workaround flicker
Guilhem-lm Feb 12, 2025
f376592
replace Popup with melt Popover in ScriptGen
Guilhem-lm Feb 12, 2025
b1f4a8e
replace popup with popover in ScriptFix
Guilhem-lm Feb 12, 2025
fa19726
replace popup with melt popover in RegexGen
Guilhem-lm Feb 12, 2025
d37d090
replace popup wwith melt popover in CronGen
Guilhem-lm Feb 12, 2025
3b40f40
replace popup with popover in StepinputGen
Guilhem-lm Feb 12, 2025
6c5cde4
Merge remote-tracking branch 'origin/main' into glm/use_melt_menu
Guilhem-lm Feb 12, 2025
0c431b0
replace popup with melt popover in ApiConnectForm
Guilhem-lm Feb 12, 2025
590c325
Merge branch 'glm/replace_menuV2' into glm/use_melt_menu
Guilhem-lm Feb 12, 2025
7438e94
Fix toggleButton
Guilhem-lm Feb 12, 2025
dec0704
replace popup with melt popover
Guilhem-lm Feb 12, 2025
d93e342
Migrating popup to popover
Guilhem-lm Feb 13, 2025
215c48a
wip migrate popup to popover
Guilhem-lm Feb 13, 2025
db4c027
Merge remote-tracking branch 'origin/main' into glm/use_melt_menu
Guilhem-lm Feb 17, 2025
7fd5929
replace popup with melt popover
Guilhem-lm Feb 17, 2025
6b8ee38
replace popup with popover for app components
Guilhem-lm Feb 17, 2025
76f826a
fix nit
Guilhem-lm Feb 17, 2025
762e58b
Apply automatic changes
Guilhem-lm Feb 17, 2025
4c48665
dropdown v2 default stop propagation
Guilhem-lm Feb 17, 2025
f793080
fix melt tooltip display
Guilhem-lm Feb 17, 2025
a6bad01
replace popup with melt popover in settings pages
Guilhem-lm Feb 17, 2025
5684035
nit
Guilhem-lm Feb 17, 2025
4960f3c
remove unused ButtonDropdown
Guilhem-lm Feb 17, 2025
d483940
remove unused Popup component
Guilhem-lm Feb 17, 2025
5e73d41
remove unused TotorialItem
Guilhem-lm Feb 17, 2025
4c0177c
fix typo
Guilhem-lm Feb 18, 2025
5f696f1
migrate ToggleButtonGroup to melt
Guilhem-lm Feb 18, 2025
d6271a1
improve version detection from source
rubenfiszel Feb 17, 2025
60f8924
nits
rubenfiszel Feb 17, 2025
c792270
fix: windmill_admin has implicit bypass rls on v2_job even if role no…
rubenfiszel Feb 17, 2025
a2f0be9
chore(main): release 1.463.3 (#5308)
rubenfiszel Feb 17, 2025
3eb1af6
fix: improve que job indices for faster performances
rubenfiszel Feb 17, 2025
8641a7e
fix: improve que job indices for faster performances
rubenfiszel Feb 17, 2025
731802a
nit on bench scripts
rubenfiszel Feb 17, 2025
be1fcc0
fix: improve que job indices for faster performances
rubenfiszel Feb 17, 2025
9e99910
nit benchmarks improvement
rubenfiszel Feb 17, 2025
ee0ef7d
output incorrect jobs in benchmarks
rubenfiszel Feb 17, 2025
170d8f7
fix: improve teams settings in workspace settings (#5316)
alpetric Feb 17, 2025
e8cf945
ensure index creation of root_job_by_path
rubenfiszel Feb 17, 2025
0568474
chore(main): release 1.463.4 (#5309)
rubenfiszel Feb 17, 2025
effcccf
nit benchmarks
rubenfiszel Feb 18, 2025
851e2f2
make benchmarks even more stable
rubenfiszel Feb 18, 2025
5cad0bf
improve benchmarks
rubenfiszel Feb 18, 2025
b2f2e55
fix: fix teams cleanup preventing start
rubenfiszel Feb 18, 2025
e1a414d
chore(main): release 1.463.5 (#5318)
rubenfiszel Feb 18, 2025
1b18794
fix: make teams cleanup non critical
rubenfiszel Feb 18, 2025
375228d
fix: pin chrono tz version to 0.10.1
rubenfiszel Feb 18, 2025
e16344d
fix: improve v2 migration finalizer to avoid deadlocks
rubenfiszel Feb 18, 2025
b292f54
Merge branch 'glm/replace_menuV2' into glm/use_melt_menu
Guilhem-lm Feb 18, 2025
ac6a337
clean code
Guilhem-lm Feb 18, 2025
6bf388d
fix addProperty display
Guilhem-lm Feb 18, 2025
cc7b819
fix glitch when toggle in Popover
Guilhem-lm Feb 18, 2025
d2c8681
Merge branch 'glm/replace_menuV2' into glm/use_melt_menu
Guilhem-lm Feb 19, 2025
fe5e8d8
add class to flow icon
Guilhem-lm Feb 19, 2025
424cb4e
fix migrate toggle butttons to melt
Guilhem-lm Feb 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions frontend/src/.d.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
declare namespace svelte.JSX {
interface DOMAttributes<T> {
onclick_outside?: CompositionEventHandler<T>
onpointerdown_outside?: (event: CustomEvent) => void
onpointerdown_connecting?: (event: CustomEvent) => void
declare namespace svelteHTML {
interface HTMLAttributes<T> {
'on:click_outside'?: (event: CustomEvent) => void
'on:pointerdown_outside'?: (event: CustomEvent) => void
'on:pointerdown_connecting'?: (event: CustomEvent) => void
}
}
111 changes: 57 additions & 54 deletions frontend/src/lib/components/AddUser.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
import { createEventDispatcher } from 'svelte'
import { globalEmailInvite, superadmin, workspaceStore } from '$lib/stores'
import { SettingService, UserService, WorkspaceService } from '$lib/gen'
import { Button, Popup } from './common'
import { Button } from './common'
import Popover from './meltComponents/Popover.svelte'
import { sendUserToast } from '$lib/toast'
import { isCloudHosted } from '$lib/cloud'
import { goto } from '$lib/navigation'
Expand Down Expand Up @@ -72,64 +73,66 @@
let selected: 'operator' | 'developer' | 'admin' = 'developer'
</script>

<Popup
floatingConfig={{ strategy: 'absolute', placement: 'bottom-end' }}
containerClasses="border rounded-lg shadow-lg p-4 bg-surface"
>
<svelte:fragment slot="button">
<Popover placement="bottom-end">
<svelte:fragment slot="trigger">
<Button color="dark" size="xs" nonCaptureEvent={true} startIcon={{ icon: UserPlus }}>
Add new user
</Button>
</svelte:fragment>
<div class="flex flex-col w-72 p-2">
<span class="text-sm mb-2 leading-6 font-semibold">Add a new user</span>
<svelte:fragment slot="content">
<div class="flex flex-col w-72 p-4">
<span class="text-sm mb-2 leading-6 font-semibold">Add a new user</span>

<span class="text-xs mb-1 leading-6">Email</span>
<input type="email mb-1" on:keyup={handleKeyUp} placeholder="email" bind:value={email} />
<span class="text-xs mb-1 leading-6">Email</span>
<input type="email mb-1" on:keyup={handleKeyUp} placeholder="email" bind:value={email} />

{#if !automateUsernameCreation}
<span class="text-xs mb-1 pt-2 leading-6">Username</span>
<input type="text" on:keyup={handleKeyUp} placeholder="username" bind:value={username} />
{/if}
{#if !automateUsernameCreation}
<span class="text-xs mb-1 pt-2 leading-6">Username</span>
<input type="text" on:keyup={handleKeyUp} placeholder="username" bind:value={username} />
{/if}

<span class="text-xs mb-1 pt-2 leading-6">Role</span>
<ToggleButtonGroup bind:selected class="mb-4">
<ToggleButton
value="operator"
<span class="text-xs mb-1 pt-2 leading-6">Role</span>
<ToggleButtonGroup bind:selected class="mb-4" let:item>
<ToggleButton
value="operator"
size="sm"
label="Operator"
tooltip="An operator can only execute and view scripts/flows/apps from your workspace, and only those that he has visibility on."
{item}
/>
<ToggleButton
position="center"
value="developer"
size="sm"
label="Developer"
tooltip="A Developer can execute and view scripts/flows/apps, but they can also create new ones and edit those they are allowed to by their path (either u/ or Writer or Admin of their folder found at /f)."
{item}
/>
<ToggleButton
position="right"
value="admin"
size="sm"
label="Admin"
tooltip="An admin has full control over a specific Windmill workspace, including the ability to manage users, edit entities, and control permissions within the workspace."
{item}
/>
</ToggleButtonGroup>
<Button
variant="contained"
color="blue"
size="sm"
label="Operator"
tooltip="An operator can only execute and view scripts/flows/apps from your workspace, and only those that he has visibility on."
/>
<ToggleButton
position="center"
value="developer"
size="sm"
label="Developer"
tooltip="A Developer can execute and view scripts/flows/apps, but they can also create new ones and edit those they are allowed to by their path (either u/ or Writer or Admin of their folder found at /f)."
/>
<ToggleButton
position="right"
value="admin"
size="sm"
label="Admin"
tooltip="An admin has full control over a specific Windmill workspace, including the ability to manage users, edit entities, and control permissions within the workspace."
/>
</ToggleButtonGroup>
<Button
variant="contained"
color="blue"
size="sm"
on:click={() => {
addUser().then(() => {
// @ts-ignore
email = undefined
// @ts-ignore
username = undefined
})
}}
disabled={email === undefined || (!automateUsernameCreation && username === undefined)}
>
Add
</Button>
</div>
</Popup>
on:click={() => {
addUser().then(() => {
// @ts-ignore
email = undefined
// @ts-ignore
username = undefined
})
}}
disabled={email === undefined || (!automateUsernameCreation && username === undefined)}
>
Add
</Button>
</div>
</svelte:fragment>
</Popover>
57 changes: 29 additions & 28 deletions frontend/src/lib/components/ApiConnectForm.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import Toggle from './Toggle.svelte'
import TestConnection from './TestConnection.svelte'
import SupabaseIcon from './icons/SupabaseIcon.svelte'
import Popup from './common/popup/Popup.svelte'
import Popover from './meltComponents/Popover.svelte'
import Button from './common/button/Button.svelte'
import { Loader2 } from 'lucide-svelte'

Expand Down Expand Up @@ -129,13 +129,12 @@
/>
<TestConnection {resourceType} {args} />
{#if resourceType == 'postgresql'}
<Popup
let:close
<Popover
floatingConfig={{
placement: 'bottom'
}}
>
<svelte:fragment slot="button">
<svelte:fragment slot="trigger">
<Button
spacingSize="sm"
size="xs"
Expand All @@ -147,32 +146,34 @@
From connection string
</Button>
</svelte:fragment>
<div class="block text-primary">
<div class="w-[550px] flex flex-col items-start gap-1">
<div class="flex flex-row gap-1 w-full">
<input
type="text"
bind:value={connectionString}
placeholder="postgres://user:password@host:5432/dbname?sslmode=disable"
/>
<Button
size="xs"
color="blue"
buttonType="button"
on:click={() => {
parseConnectionString(close)
}}
disabled={connectionString.length <= 0}
>
Apply
</Button>
<svelte:fragment slot="content" let:close>
<div class="block text-primary p-4">
<div class="w-[550px] flex flex-col items-start gap-1">
<div class="flex flex-row gap-1 w-full">
<input
type="text"
bind:value={connectionString}
placeholder="postgres://user:password@host:5432/dbname?sslmode=disable"
/>
<Button
size="xs"
color="blue"
buttonType="button"
on:click={() => {
parseConnectionString(close)
}}
disabled={connectionString.length <= 0}
>
Apply
</Button>
</div>
{#if !validConnectionString}
<p class="text-red-500 text-xs">Could not parse connection string</p>
{/if}
</div>
{#if !validConnectionString}
<p class="text-red-500 text-xs">Could not parse connection string</p>
{/if}
</div>
</div>
</Popup>
</svelte:fragment>
</Popover>
{/if}
{#if resourceType == 'postgresql' && supabaseWizard}
<a
Expand Down
3 changes: 2 additions & 1 deletion frontend/src/lib/components/ArgInput.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -759,9 +759,10 @@
value = { label: oneOfSelected }
redraw += 1
}}
let:item
>
{#each oneOf as obj}
<ToggleButton value={obj.title} label={obj.title} />
<ToggleButton value={obj.title} label={obj.title} {item} />
{/each}
</ToggleButtonGroup>
{#if oneOfSelected}
Expand Down
16 changes: 10 additions & 6 deletions frontend/src/lib/components/AssignableTags.svelte
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<script lang="ts">
import { Button, Popup } from './common'
import { Button } from './common'
import { Pen } from 'lucide-svelte'
import Popover from './meltComponents/Popover.svelte'

import Tooltip from './Tooltip.svelte'
import AssignableTagsInner from './AssignableTagsInner.svelte'
Expand All @@ -11,12 +12,13 @@
export let showWorkspaceRestriction = false
</script>

<Popup
<Popover
floatingConfig={{ strategy: 'absolute', placement: placement }}
containerClasses="border rounded-lg shadow-lg p-4 bg-surface"
{disabled}
closeButton
usePointerDownOutside
>
<svelte:fragment slot="button">
<svelte:fragment slot="trigger">
<Button {color} size="xs" nonCaptureEvent={true} {disabled}>
<div class="flex flex-row gap-1 items-center"
><Pen size={14} /> Custom tags&nbsp;<Tooltip light
Expand All @@ -28,5 +30,7 @@
>
</Button>
</svelte:fragment>
<AssignableTagsInner {showWorkspaceRestriction} on:refresh />
</Popup>
<svelte:fragment slot="content">
<AssignableTagsInner {showWorkspaceRestriction} on:refresh />
</svelte:fragment>
</Popover>
2 changes: 1 addition & 1 deletion frontend/src/lib/components/AssignableTagsInner.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
loadCustomTags()
</script>

<div class="flex flex-col w-72 p-2 gap-2">
<div class="flex flex-col w-72 p-4 gap-2">
{#if customTags == undefined}
<Loader2 class="animate-spin" />
{:else}
Expand Down
12 changes: 9 additions & 3 deletions frontend/src/lib/components/Auth0Setting.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,15 @@
<label class="block pb-2">
<div class="flex gap-2 items-end">
<div>
<ToggleButtonGroup bind:selected={value['custom']}>
<ToggleButton value={false} label={'Org'} />
<ToggleButton value={true} label="Custom" />
<ToggleButtonGroup
selected={value['custom'] ? 'custom' : 'org'}
on:selected={({ detail }) => {
value['custom'] = detail === 'custom'
}}
let:item
>
<ToggleButton value="org" label={'Org'} {item} />
<ToggleButton value="custom" label="Custom" {item} />
</ToggleButtonGroup>
</div>
<div class="grow">
Expand Down
29 changes: 12 additions & 17 deletions frontend/src/lib/components/AutoscalingConfigEditor.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -264,28 +264,23 @@
on:selected={(e) => dispatch('dirty')}
bind:selected={config.integration.type}
class="mb-4 mt-2"
let:item
>
<ToggleButton
value="dryrun"
size="sm"
label="Dry run"
tooltip="See autoscaling events but not actual scaling actions will be performed"
{item}
/>
<ToggleButton
value="script"
size="sm"
label="Custom script"
tooltip="Run a custom script to scale your worker group"
{item}
/>
<ToggleButton position="center" disabled value="ecs" size="sm" label="ECS (soon)" />
<ToggleButton position="right" disabled value="nomad" size="sm" label="Nomad (soon)" />
<ToggleButton
position="right"
disabled
value="kubernetes"
size="sm"
label="Kubernetes (soon)"
/>
<ToggleButton disabled value="ecs" label="ECS (soon)" {item} />
<ToggleButton disabled value="nomad" label="Nomad (soon)" {item} />
<ToggleButton disabled value="kubernetes" label="Kubernetes (soon)" {item} />
</ToggleButtonGroup>

{#if config.integration.type === 'script'}
Expand Down Expand Up @@ -347,12 +342,12 @@
</div>
{/if}
{:else}
<ToggleButtonGroup selected={'script'} disabled class="mb-4 mt-2">
<ToggleButton value="dryrun" size="sm" label="Dry run" />
<ToggleButton value="script" size="sm" label="Custom script" />
<ToggleButton position="center" value="ecs" size="sm" label="ECS (soon)" />
<ToggleButton position="right" value="nomad" size="sm" label="Nomad (soon)" />
<ToggleButton position="right" value="kubernetes" size="sm" label="Kubernetes (soon)" />
<ToggleButtonGroup selected={'script'} disabled class="mb-4 mt-2" let:item>
<ToggleButton value="dryrun" label="Dry run" {item} />
<ToggleButton value="script" label="Custom script" {item} />
<ToggleButton value="ecs" label="ECS (soon)" {item} />
<ToggleButton value="nomad" label="Nomad (soon)" {item} />
<ToggleButton value="kubernetes" label="Kubernetes (soon)" {item} />
</ToggleButtonGroup>

<label>
Expand Down
Loading