mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 02:11:05 +00:00
refactor(timepicker): forward events, remove dispatch
This commit is contained in:
parent
4b1ed0adce
commit
bb18cdf797
3 changed files with 16 additions and 15 deletions
|
@ -1,12 +1,16 @@
|
||||||
<script>
|
<script>
|
||||||
import Layout from '../../internal/ui/Layout.svelte';
|
import Layout from '../../internal/ui/Layout.svelte';
|
||||||
|
import { SelectItem } from '../Select';
|
||||||
import TimePicker from './TimePicker.svelte';
|
import TimePicker from './TimePicker.svelte';
|
||||||
import TimePickerSelect from './TimePickerSelect.svelte';
|
import TimePickerSelect from './TimePickerSelect.svelte';
|
||||||
import { SelectItem } from '../Select';
|
|
||||||
|
|
||||||
let value = '';
|
let value = '';
|
||||||
let select1 = 'PM';
|
let select1 = 'PM';
|
||||||
let select2 = 'Time zone 1';
|
let select2 = 'Time zone 1';
|
||||||
|
|
||||||
|
$: {
|
||||||
|
console.log(value, select1, select2);
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Layout>
|
<Layout>
|
||||||
|
|
|
@ -23,18 +23,21 @@
|
||||||
<div class={cx('--time-picker__input')}>
|
<div class={cx('--time-picker__input')}>
|
||||||
{#if labelText}
|
{#if labelText}
|
||||||
<label
|
<label
|
||||||
for={id}
|
class={cx('--label', hideLabel && '--visually-hidden', disabled && '--label--disabled')}
|
||||||
class={cx('--label', hideLabel && '--visually-hidden', disabled && '--label--disabled')}>
|
for={id}>
|
||||||
{labelText}
|
{labelText}
|
||||||
</label>
|
</label>
|
||||||
{/if}
|
{/if}
|
||||||
<input
|
<input
|
||||||
data-invalid={invalid || undefined}
|
data-invalid={invalid || undefined}
|
||||||
class={cx('--time-picker__input-field', '--text-input', light && '--text-input--light', invalid && '--text-input--invalid')}
|
class={cx('--time-picker__input-field', '--text-input', light && '--text-input--light', invalid && '--text-input--invalid')}
|
||||||
|
on:change
|
||||||
on:input
|
on:input
|
||||||
on:input={({ target }) => {
|
on:input={({ target }) => {
|
||||||
value = target.value;
|
value = target.value;
|
||||||
}}
|
}}
|
||||||
|
on:focus
|
||||||
|
on:blur
|
||||||
{pattern}
|
{pattern}
|
||||||
{placeholder}
|
{placeholder}
|
||||||
{maxlength}
|
{maxlength}
|
||||||
|
@ -42,7 +45,6 @@
|
||||||
{type}
|
{type}
|
||||||
{value}
|
{value}
|
||||||
{disabled} />
|
{disabled} />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<slot />
|
<slot />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -9,21 +9,16 @@
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
|
|
||||||
import { createEventDispatcher, setContext } from 'svelte';
|
import { setContext } from 'svelte';
|
||||||
import { writable } from 'svelte/store';
|
import { writable } from 'svelte/store';
|
||||||
import ChevronDownGlyph from 'carbon-icons-svelte/lib/ChevronDownGlyph';
|
import ChevronDownGlyph from 'carbon-icons-svelte/lib/ChevronDownGlyph';
|
||||||
import { cx } from '../../lib';
|
import { cx } from '../../lib';
|
||||||
|
|
||||||
const dispatch = createEventDispatcher();
|
|
||||||
|
|
||||||
let selected = writable(value);
|
let selected = writable(value);
|
||||||
|
|
||||||
setContext('TimePickerSelect', { selected });
|
setContext('TimePickerSelect', { selected });
|
||||||
|
|
||||||
$: {
|
$: selected.set(value);
|
||||||
selected.set(value);
|
|
||||||
dispatch('change', $selected);
|
|
||||||
}
|
|
||||||
$: value = $selected;
|
$: value = $selected;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -39,12 +34,12 @@
|
||||||
{/if}
|
{/if}
|
||||||
<select
|
<select
|
||||||
class={cx('--select-input')}
|
class={cx('--select-input')}
|
||||||
{id}
|
|
||||||
{disabled}
|
|
||||||
{value}
|
|
||||||
on:change={({ target }) => {
|
on:change={({ target }) => {
|
||||||
selected.set(target.value);
|
selected.set(target.value);
|
||||||
}}>
|
}}
|
||||||
|
{id}
|
||||||
|
{disabled}
|
||||||
|
{value}>
|
||||||
<slot />
|
<slot />
|
||||||
</select>
|
</select>
|
||||||
<ChevronDownGlyph
|
<ChevronDownGlyph
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue