aboutsummaryrefslogtreecommitdiffstats
path: root/frontend/src/Search.svelte
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>