blob: 2f192ebea2083e05ce07f7e860b3637b2d34e91b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
<script lang="ts">
export let filters: any;
let id: number,
author: string,
title: string,
year: number,
isbn: string,
format: string,
pages: string,
description: string,
publisher: string;
export function clear() {
id = null;
author = null;
title = null;
year = null;
isbn = null;
format = null;
pages = null;
description = null;
publisher = null;
}
$: {
if (id) filters["id"] = id;
else delete filters["id"];
if (author) filters["author"] = author;
else delete filters["author"];
if (title) filters["title"] = title;
else delete filters["title"];
if (year) filters["year"] = year;
else delete filters["year"];
if (publisher) filters["publisher"] = publisher;
else delete filters["publisher"];
if (isbn) filters["isbn"] = isbn;
else delete filters["isbn"];
if (format) filters["format"] = format;
else delete filters["format"];
if (pages) filters["pages"] = pages;
else delete filters["pages"];
if (description) filters["description"] = description;
else delete filters["description"];
filters["key"] = Math.random();
}
</script>
<main>
<label for="id">Id:</label>
<input type="number" id="id" bind:value={id} /><br />
<label for="author">Author:</label>
<input type="text" id="author" bind:value={author} /><br />
<label for="title">Title:</label>
<input type="text" id="title" bind:value={title} /><br />
<label for="year">Year:</label>
<input type="number" id="year" bind:value={year} /><br />
<label for="publisher">Publisher:</label>
<input type="number" id="publisher" bind:value={publisher} /><br />
<label for="isbn">Isbn:</label>
<!-- @tsignore -->
<input bind:value={isbn} id="isbn" /><br />
<label for="format">Format:</label>
<input bind:value={format} id="format" /><br />
<label for="pages">Pages:</label>
<input bind:value={pages} id="pages" /><br />
<label for="description">Description:</label>
<input
bind:value={description}
id="description"
style="margin-bottom: 0;"
/><br />
<!-- <button on:click={search}>Filter</button> -->
</main>
<style>
main {
position: fixed;
left: 0;
right: 0;
margin: auto;
height: fit-content;
width: fit-content;
/* border: 1px solid black; */
font-size: 1.9em;
margin-bottom: 30px;
color: white;
background-color: rgba(0, 0, 0, 0.75);
padding: 50px;
}
input {
font-size: 1em;
margin-bottom: 30px;
}
</style>
|