Number and boolean default values (#10131)

This commit is contained in:
Denis Bykhov
2025-10-23 09:02:59 +07:00
committed by GitHub
parent 7f130e3987
commit 521bfc585a
2 changed files with 41 additions and 7 deletions
@@ -14,13 +14,38 @@
-->
<script lang="ts">
import { TypeBoolean } from '@hcengineering/model'
import { Label } from '@hcengineering/ui'
import setting from '../../plugin'
import { createEventDispatcher, onMount } from 'svelte'
import core, { Type } from '@hcengineering/core'
import { BooleanEditor } from '@hcengineering/view-resources'
export let type: Type<boolean> | undefined
export let defaultValue: boolean | undefined
const dispatch = createEventDispatcher()
onMount(() => {
dispatch('change', {
type: TypeBoolean()
})
if (type?._class !== core.class.TypeBoolean) {
change()
}
})
function change () {
dispatch('change', {
type: TypeBoolean(),
defaultValue
})
}
</script>
<span class="label">
<Label label={setting.string.DefaultValue} />
</span>
<BooleanEditor
bind:value={defaultValue}
onChange={(value) => {
defaultValue = value
change()
}}
/>
@@ -16,11 +16,12 @@
import type { TypeNumber as TypeNumberType } from '@hcengineering/core'
import core from '@hcengineering/core'
import { TypeNumber } from '@hcengineering/model'
import { EditBox, Label, NumberInput, Toggle } from '@hcengineering/ui'
import { Label, NumberInput, Toggle } from '@hcengineering/ui'
import { createEventDispatcher, onMount } from 'svelte'
import setting from '../../plugin'
export let type: TypeNumberType
export let defaultValue: number | undefined
export let editable: boolean = true
const dispatch = createEventDispatcher()
@@ -30,12 +31,12 @@
let isInteger = type?.digits === 0
function updateType (): void {
dispatch('change', { type: TypeNumber(min, max, isInteger ? 0 : undefined) })
dispatch('change', { type: TypeNumber(min, max, isInteger ? 0 : undefined), defaultValue })
}
onMount(() => {
if (type?._class !== core.class.TypeNumber) {
dispatch('change', { type: TypeNumber() })
updateType()
}
})
@@ -46,8 +47,16 @@
</script>
<span class="label">
<Label label={setting.string.MinValue} />
<Label label={setting.string.DefaultValue} />
</span>
<NumberInput
bind:value={defaultValue}
disabled={!editable}
maxWidth={'100%'}
placeholder={setting.string.DefaultValue}
on:change={updateType}
/>
<Label label={setting.string.MinValue} />
<NumberInput
bind:value={min}
disabled={!editable}