aboutsummaryrefslogtreecommitdiff
path: root/viewer/src/@types
diff options
context:
space:
mode:
Diffstat (limited to 'viewer/src/@types')
-rw-r--r--viewer/src/@types/Operation.ts (renamed from viewer/src/@types/tag/Operation.ts)8
-rw-r--r--viewer/src/@types/gallery.d.ts74
-rw-r--r--viewer/src/@types/scrollposition.d.ts (renamed from viewer/src/@types/tag/index.d.ts)15
-rw-r--r--viewer/src/@types/tag.d.ts (renamed from viewer/src/@types/gallery/index.d.ts)48
-rw-r--r--viewer/src/@types/v-lazy-image.d.ts20
-rw-r--r--viewer/src/@types/vue-dragscroll.d.ts20
6 files changed, 141 insertions, 44 deletions
diff --git a/viewer/src/@types/tag/Operation.ts b/viewer/src/@types/Operation.ts
index f1e7a41..e7aad27 100644
--- a/viewer/src/@types/tag/Operation.ts
+++ b/viewer/src/@types/Operation.ts
@@ -18,7 +18,7 @@
18*/ 18*/
19 19
20export enum Operation { 20export enum Operation {
21 INTERSECTION = '', 21 INTERSECTION = "",
22 ADDITION = '+', 22 ADDITION = "+",
23 SUBSTRACTION = '-', 23 SUBSTRACTION = "-",
24}; \ No newline at end of file 24};
diff --git a/viewer/src/@types/gallery.d.ts b/viewer/src/@types/gallery.d.ts
new file mode 100644
index 0000000..066aedf
--- /dev/null
+++ b/viewer/src/@types/gallery.d.ts
@@ -0,0 +1,74 @@
1/* ldgallery - A static generator which turns a collection of tagged
2-- pictures into a searchable web gallery.
3--
4-- Copyright (C) 2019-2020 Guillaume FOUET
5--
6-- This program is free software: you can redistribute it and/or modify
7-- it under the terms of the GNU Affero General Public License as
8-- published by the Free Software Foundation, either version 3 of the
9-- License, or (at your option) any later version.
10--
11-- This program is distributed in the hope that it will be useful,
12-- but WITHOUT ANY WARRANTY; without even the implied warranty of
13-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14-- GNU Affero General Public License for more details.
15--
16-- You should have received a copy of the GNU Affero General Public License
17-- along with this program. If not, see <https://www.gnu.org/licenses/>.
18*/
19
20declare namespace Gallery {
21 interface Config {
22 galleryRoot: string,
23 }
24
25 interface GalleryProperties {
26 galleryTitle: string,
27 tagCategories: RawTag[]
28 }
29 interface Index {
30 properties: GalleryProperties,
31 tree: Directory
32 }
33
34 interface Other extends Item {
35 properties: OtherProperties,
36 }
37 interface Picture extends Item {
38 properties: PictureProperties,
39 }
40 interface Directory extends Item {
41 properties: DirectoryProperties,
42 }
43 interface Item {
44 title: string,
45 datetime: string,
46 description: string,
47 tags: RawTag[],
48 path: string,
49 thumbnail?: Thumbnail
50 properties: OtherProperties | PictureProperties | DirectoryProperties,
51 }
52 interface Resolution {
53 width: number,
54 height: number,
55 }
56 interface OtherProperties {
57 type: "other",
58 }
59 interface PictureProperties {
60 type: "picture",
61 resource: string,
62 resolution: Resolution
63 }
64 interface DirectoryProperties {
65 type: "directory",
66 items: Item[]
67 }
68 interface Thumbnail {
69 resource: string,
70 resolution: Resolution
71 }
72 type RawTag = string;
73 type ItemType = "other" | "picture" | "directory";
74}
diff --git a/viewer/src/@types/tag/index.d.ts b/viewer/src/@types/scrollposition.d.ts
index c77fc3b..b2147fa 100644
--- a/viewer/src/@types/tag/index.d.ts
+++ b/viewer/src/@types/scrollposition.d.ts
@@ -17,17 +17,4 @@
17-- along with this program. If not, see <https://www.gnu.org/licenses/>. 17-- along with this program. If not, see <https://www.gnu.org/licenses/>.
18*/ 18*/
19 19
20declare namespace Tag { 20type ScrollPosition = { [index: string]: number }
21 interface Node {
22 tag: Gallery.RawTag;
23 items: Gallery.Item[];
24 children: Index;
25 }
26 interface Search extends Node {
27 parent?: Node;
28 operation: string; // Enum Operation
29 display: string;
30 }
31 type SearchByOperation = { [index: string]: Tag.Search[] };
32 type Index = { [index: string]: Node };
33} \ No newline at end of file
diff --git a/viewer/src/@types/gallery/index.d.ts b/viewer/src/@types/tag.d.ts
index 25407e8..76f1207 100644
--- a/viewer/src/@types/gallery/index.d.ts
+++ b/viewer/src/@types/tag.d.ts
@@ -17,29 +17,25 @@
17-- along with this program. If not, see <https://www.gnu.org/licenses/>. 17-- along with this program. If not, see <https://www.gnu.org/licenses/>.
18*/ 18*/
19 19
20declare namespace Gallery { 20declare namespace Tag {
21 interface Picture extends Item { 21 interface Node {
22 properties: PictureProperties, 22 tag: Gallery.RawTag;
23 } 23 tagfiltered: Gallery.RawTag;
24 interface Directory extends Item { 24 rootPart: boolean;
25 properties: DirectoryProperties, 25 childPart: boolean;
26 } 26 items: Gallery.Item[];
27 interface Item { 27 children: Index;
28 title: string, 28 }
29 datetime: string, 29 interface Search extends Node {
30 description: string, 30 parent?: Node;
31 tags: RawTag[], 31 operation: string; // Enum Operation
32 path: string, 32 display: string;
33 thumbnail?: string, 33 }
34 properties: PictureProperties | DirectoryProperties, 34 type SearchByOperation = { [index: string]: Tag.Search[] };
35 } 35 type Index = { [index: string]: Node };
36 interface PictureProperties { 36
37 type: "picture", 37 interface Category {
38 resource: string, 38 tag: string;
39 } 39 index: Index;
40 interface DirectoryProperties { 40 }
41 type: "directory", 41}
42 items: Item[]
43 }
44 type RawTag = string;
45} \ No newline at end of file
diff --git a/viewer/src/@types/v-lazy-image.d.ts b/viewer/src/@types/v-lazy-image.d.ts
new file mode 100644
index 0000000..2777921
--- /dev/null
+++ b/viewer/src/@types/v-lazy-image.d.ts
@@ -0,0 +1,20 @@
1/* ldgallery - A static generator which turns a collection of tagged
2-- pictures into a searchable web gallery.
3--
4-- Copyright (C) 2019-2020 Guillaume FOUET
5--
6-- This program is free software: you can redistribute it and/or modify
7-- it under the terms of the GNU Affero General Public License as
8-- published by the Free Software Foundation, either version 3 of the
9-- License, or (at your option) any later version.
10--
11-- This program is distributed in the hope that it will be useful,
12-- but WITHOUT ANY WARRANTY; without even the implied warranty of
13-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14-- GNU Affero General Public License for more details.
15--
16-- You should have received a copy of the GNU Affero General Public License
17-- along with this program. If not, see <https://www.gnu.org/licenses/>.
18*/
19
20declare module "v-lazy-image";
diff --git a/viewer/src/@types/vue-dragscroll.d.ts b/viewer/src/@types/vue-dragscroll.d.ts
new file mode 100644
index 0000000..c07c7d8
--- /dev/null
+++ b/viewer/src/@types/vue-dragscroll.d.ts
@@ -0,0 +1,20 @@
1/* ldgallery - A static generator which turns a collection of tagged
2-- pictures into a searchable web gallery.
3--
4-- Copyright (C) 2019-2020 Guillaume FOUET
5--
6-- This program is free software: you can redistribute it and/or modify
7-- it under the terms of the GNU Affero General Public License as
8-- published by the Free Software Foundation, either version 3 of the
9-- License, or (at your option) any later version.
10--
11-- This program is distributed in the hope that it will be useful,
12-- but WITHOUT ANY WARRANTY; without even the implied warranty of
13-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14-- GNU Affero General Public License for more details.
15--
16-- You should have received a copy of the GNU Affero General Public License
17-- along with this program. If not, see <https://www.gnu.org/licenses/>.
18*/
19
20declare module "vue-dragscroll";