Skip to content

Commit 95a2401

Browse files
committed
Merge branch 'eddiew-master'
2 parents 8322a4b + 939543f commit 95a2401

File tree

3 files changed

+36
-4
lines changed

3 files changed

+36
-4
lines changed

packages/textfield/Input.svelte

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
$: if (type === 'file') {
3737
delete valueProp.value;
3838
} else {
39-
valueProp.value = value;
39+
valueProp.value = value === undefined ? '' : value;
4040
}
4141
4242
onMount(() => {
@@ -46,7 +46,12 @@
4646
});
4747
4848
function toNumber(value) {
49-
return value === '' ? undefined : +value;
49+
if (value === '') {
50+
const nan = new Number(Number.NaN);
51+
nan.length = 0;
52+
return nan;
53+
}
54+
return +value;
5055
}
5156
5257
function valueUpdater(e) {

packages/textfield/Textfield.svelte

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
{type}
3434
{disabled}
3535
bind:value
36+
bind:files
3637
bind:dirty
3738
bind:invalid
3839
{updateInvalid}
@@ -112,6 +113,7 @@
112113
export let label = null;
113114
export let type = 'text';
114115
export let value = uninitializedValue;
116+
export let files = uninitializedValue;
115117
export let dirty = false;
116118
export let invalid = uninitializedValue;
117119
export let updateInvalid = invalid === uninitializedValue;
@@ -122,11 +124,11 @@
122124
let element;
123125
let textField;
124126
125-
$: valued = value !== uninitializedValue;
127+
$: valued = value !== uninitializedValue || files !== uninitializedValue;
126128
127129
$: placeholderProp = (fullwidth && label) ? {placeholder: label} : {};
128130
129-
$: if (textField && valued && textField.value !== value) {
131+
$: if (textField && value !== uninitializedValue && textField.value !== value) {
130132
textField.value = value;
131133
}
132134

site/src/routes/demo/textfield.svelte

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,24 @@
423423
</div>
424424
</div>
425425

426+
<div>
427+
Different Types:
428+
429+
<div class="columns margins">
430+
<div>
431+
<Textfield bind:value={valueTypeNumber} label="Number" type="number" />
432+
</div>
433+
434+
<div>
435+
<Textfield bind:value={valueTypeDate} label="DateTime-Local" type="datetime-local" />
436+
</div>
437+
438+
<div>
439+
<Textfield bind:files={valueTypeFiles} label="File" type="file" on:change={handleFiles} />
440+
</div>
441+
</div>
442+
</div>
443+
426444
<div>
427445
Manual Setup:
428446

@@ -530,6 +548,9 @@
530548
let valueFullwidth = '';
531549
let valueFullwidthTextarea = '';
532550
let valueElementsLabel = '';
551+
let valueTypeNumber = 0;
552+
let valueTypeDate = '';
553+
let valueTypeFiles = [];
533554
let valueManualA = '';
534555
let valueManualB = '';
535556
let valueManualC = '';
@@ -540,6 +561,10 @@
540561
valueClickable = '';
541562
dirtyClickable = false;
542563
}
564+
565+
function handleFiles() {
566+
alert('Selected '+valueTypeFiles.length+' file(s).');
567+
}
543568
</script>
544569

545570
<style>

0 commit comments

Comments
 (0)