3
3
<label class =" mr-2" >Files</label >
4
4
<div class =" card" >
5
5
<div id =" filearea" class =" card-body overflow-auto" >
6
- <div v-for =" (file, file_id) in stored_files" :key =" file_id" class =" file-group" >
7
- <a @click =" deleteFile($event, file_id)" >
8
- <font-awesome-icon icon =" times" fixed-width class =" delete-file-button" />
9
- </a >
10
- <a class =" filelink" target =" _blank" :href =" `${$API_URL}/files/${file_id}/${file.name}`" >
11
- {{ file.name }}
12
- </a >
13
- <font-awesome-icon
14
- v-if =" file.is_live == true"
15
- v-show =" true"
16
- class =" link-icon"
17
- :icon =" ['fa', 'link']"
18
- />
19
- <font-awesome-icon
20
- v-else-if =" file.source_server_name != null"
21
- v-show =" true"
22
- class =" unlink-icon"
23
- :icon =" ['fa', 'unlink']"
24
- />
25
- <span v-if =" file.source_server_name != null" >
26
- <span class =" server-name" >
27
- <font-awesome-icon :icon =" ['fas', 'hdd']" class =" toplevel-icon" />
28
- {{ file.source_server_name }}
29
- </span >
30
- <span class =" last-updated-text" >
31
- (updated
32
- {{
33
- formatDistance(new Date(file.last_modified_remote), new Date(), {
34
- addSuffix: true,
35
- })
36
- }}, last synced
37
- {{
38
- formatDistance(new Date(file.last_modified), new Date(), {
39
- addSuffix: true,
40
- })
41
- }})
42
- </span >
43
- </span >
44
- <span v-else class =" last-updated-text" >
45
- (uploaded
46
- {{
47
- formatDistance(new Date(file.last_modified), new Date(), {
48
- addSuffix: true,
49
- })
50
- }})
51
- </span >
52
- </div >
6
+ <FileListItem
7
+ v-for =" (file, file_id) in stored_files"
8
+ :key =" file_id"
9
+ :file =" file"
10
+ :file-id =" file_id"
11
+ @delete-file-from-sample =" deleteFile"
12
+ />
53
13
</div >
54
14
<div class =" row" >
55
- <button id =" uppy-trigger" class =" btn btn-default btn-sm mb-3 ml-4" type =" button" >
15
+ <button
16
+ id =" uppy-trigger"
17
+ class =" btn btn-default btn-sm mb-3 ml-4 text-start d-flex align-items-center"
18
+ type =" button"
19
+ >
56
20
<font-awesome-icon class =" upload-icon" icon =" file" fixed-width />
57
- Upload files...</ button
58
- > <!-- Surrounding divs so that buttons don't become full-width in the card -- >
21
+ < span class = " ms-1 " > Upload files</ span >
22
+ </ button >
59
23
<button
60
- class =" btn btn-default btn-sm mb-3 ml-2"
24
+ class =" btn btn-default btn-sm mb-3 ml-2 text-start d-flex align-items-center "
61
25
type =" button"
62
26
@click =" setFileSelectModalOpen"
63
27
>
64
28
<font-awesome-icon class =" remote-upload-icon" icon =" cloud-upload-alt" fixed-width />
65
- Add files from server...
29
+ < span class = " ms-1 " > Add files from server</ span >
66
30
</button >
67
31
</div >
68
32
</div >
69
33
</div >
70
34
</template >
71
35
72
36
<script >
37
+ import FileListItem from " ./FileListItem.vue" ;
73
38
import { deleteFileFromSample } from " @/server_fetch_utils" ;
74
- import { formatDistance } from " date-fns" ;
75
39
76
40
export default {
41
+ components: {
42
+ FileListItem,
43
+ },
77
44
props: {
78
45
item_id: {
79
46
type: String ,
@@ -90,8 +57,7 @@ export default {
90
57
};
91
58
},
92
59
methods: {
93
- formatDistance,
94
- deleteFile (event , file_id ) {
60
+ deleteFile (file_id ) {
95
61
deleteFileFromSample (this .item_id , file_id);
96
62
return false ;
97
63
},
@@ -120,7 +86,8 @@ export default {
120
86
.unlink-icon ,
121
87
.upload-icon ,
122
88
.remote-upload-icon {
123
- margin-left : 0.4rem ;
89
+ margin-left : 0.2rem ;
90
+ margin-right : 0.2rem ;
124
91
color : #888 ;
125
92
font-size : small ;
126
93
}
@@ -132,25 +99,5 @@ export default {
132
99
133
100
#uppy-trigger {
134
101
scroll-anchor : auto ;
135
- width : 8rem ;
136
- }
137
-
138
- .last-updated-text {
139
- font-size : 0.8em ;
140
- color : #888 ;
141
- font-style : italic ;
142
- vertical-align : middle ;
143
- }
144
-
145
- .server-name {
146
- font-family : " Andalé Mono" , monospace ;
147
- font-weight : 400 ;
148
- /* font-style: italic;*/
149
- color : teal ;
150
- border : solid 1px teal ;
151
- padding : 0.1rem 0.25rem ;
152
- margin-left : 0.5rem ;
153
- border-radius : 0.2rem ;
154
- font-size : 0.8em ;
155
102
}
156
103
</style >
0 commit comments