Convert CreateEditVariableModal.svelte

This commit is contained in:
Adria Navarro 2025-03-21 12:47:54 +01:00
parent 2b671478d3
commit ca52cf7e10
6 changed files with 19 additions and 12 deletions

View File

@ -13,7 +13,7 @@
export let quiet = false export let quiet = false
export let align: "left" | "right" | "center" | undefined = undefined export let align: "left" | "right" | "center" | undefined = undefined
export let autofocus: boolean | null = false export let autofocus: boolean | null = false
export let autocomplete: boolean | undefined export let autocomplete: boolean | string | undefined
const dispatch = createEventDispatcher() const dispatch = createEventDispatcher()

View File

@ -14,7 +14,7 @@
export let updateOnChange = true export let updateOnChange = true
export let quiet = false export let quiet = false
export let autofocus: boolean | undefined = undefined export let autofocus: boolean | undefined = undefined
export let autocomplete: boolean | undefined = undefined export let autocomplete: boolean | string | undefined = undefined
export let helpText: string | undefined = undefined export let helpText: string | undefined = undefined
const dispatch = createEventDispatcher() const dispatch = createEventDispatcher()

View File

@ -1,7 +1,9 @@
import { ActionMenu } from "./types" import { ActionMenu } from "./types"
import { ModalContext } from "./types"
declare module "svelte" { declare module "svelte" {
export function getContext(key: "actionMenu"): ActionMenu | undefined export function getContext(key: "actionMenu"): ActionMenu | undefined
export function getContext(key: "bbui-modal"): ModalContext
} }
export const Modal = "bbui-modal" export const Modal = "bbui-modal"

View File

@ -0,0 +1,2 @@
export * from "./actionMenu"
export * from "./modalContext"

View File

@ -0,0 +1,3 @@
export interface ModalContext {
hide: () => void
}

View File

@ -1,4 +1,4 @@
<script> <script lang="ts">
import { import {
ModalContent, ModalContent,
Button, Button,
@ -14,23 +14,23 @@
const modalContext = getContext(Context.Modal) const modalContext = getContext(Context.Modal)
export let save export let save: any
export let row export let row: any
let deleteDialog let deleteDialog: ConfirmDialog
let name = row?.name || "" let name = row?.name || ""
let productionValue let productionValue: string
let developmentValue let developmentValue: string
let useProductionValue = true let useProductionValue = true
const HasSpacesRegex = /[\\"\s]/ const HasSpacesRegex = /[\\"\s]/
const deleteVariable = async name => { const deleteVariable = async (name: string) => {
try { try {
await environment.deleteVariable(name) await environment.deleteVariable(name)
modalContext.hide() modalContext.hide()
notifications.success("Environment variable deleted") notifications.success("Environment variable deleted")
} catch (err) { } catch (err: any) {
notifications.error(err.message) notifications.error(err.message)
} }
} }
@ -43,7 +43,7 @@
development: developmentValue, development: developmentValue,
}) })
notifications.success("Environment variable saved") notifications.success("Environment variable saved")
} catch (err) { } catch (err: any) {
notifications.error(`Error saving environment variable - ${err.message}`) notifications.error(`Error saving environment variable - ${err.message}`)
} }
} }
@ -58,7 +58,7 @@
disabled={row} disabled={row}
label="Name" label="Name"
bind:value={name} bind:value={name}
error={HasSpacesRegex.test(name) && "Must not include spaces"} error={HasSpacesRegex.test(name) ? "Must not include spaces" : undefined}
/> />
<div> <div>
<Heading size="XS">Production</Heading> <Heading size="XS">Production</Heading>