4
4
data-test-document-list-item-id ={{ @document.id }}
5
5
tabindex =" 0"
6
6
draggable =" true"
7
- {{ on " click" (fn @onClickDocument @document )}}
8
- {{ on " dblclick" (fn @onDoubleClickDocument @document )}}
9
- {{ on " dragstart" (fn @onDragStart @document )}}
7
+ {{ on " click" (fn ( optional @onClickDocument ) @document )}}
8
+ {{ on " dblclick" (fn ( optional @onDoubleClickDocument ) @document )}}
9
+ {{ on " dragstart" (fn ( optional @onDragStart ) @document )}}
10
10
>
11
- <td class =" uk-preserve-width" >
12
- <FaIcon
13
- @icon =" file-alt"
14
- @prefix =" far"
15
- @size =" 1x"
16
- data-test-file-icon
17
- {{ set-style color = @document.category.color }}
18
- />
19
- </td >
20
- <td >
21
- <span >{{ @document.title }} </span >
22
- <div
23
- class =" document-thumbnail"
24
- uk-dropdown =" pos: right-center; offset: 15; delay-show: 400; delay-hide: 100; container: .alexandria-container;"
25
- >
26
- <img
27
- data-src =" {{ @document.thumbnail.value }} "
28
- alt =" {{ @document.title }} "
29
- uk-img
30
- />
31
- </div >
32
- </td >
33
- <td class =" list-marks uk-flex" >
34
- {{ #each @document.marks as |mark |}}
35
- <div title ={{ mark.name }} data-test-document-mark ={{ mark.id }} >
36
- <FaIcon @icon ={{ mark.icon }} @fixedWidth ={{ true }} />
37
- </div >
38
- {{ /each }}
39
- </td >
40
- <td >
41
- {{ format-date
42
- @document.date
43
- month =" 2-digit"
44
- day =" 2-digit"
45
- year =" numeric"
46
- }}
47
- </td >
48
- <td >
49
- {{ format-date
50
- @document.latestFile.value.createdAt
51
- month =" 2-digit"
52
- day =" 2-digit"
53
- year =" numeric"
54
- hour =" 2-digit"
55
- minute =" 2-digit"
56
- }}
57
- </td >
58
- <td >
59
- {{ await (resolve-user @document.createdByUser )}}
60
- </td >
61
- <td >
62
- {{ await (resolve-group @document.createdByGroup )}}
63
- </td >
11
+ {{ #each-in @columns as |key settings |}}
12
+ {{ #if (eq key " type" )}}
13
+ <td class =" uk-preserve-width" >
14
+ <FaIcon
15
+ @icon =" file-alt"
16
+ @prefix =" far"
17
+ @size =" 1x"
18
+ uk-tooltip ={{ @document.category.name }}
19
+ data-test-file-icon
20
+ {{ set-style color = @document.category.color }}
21
+ />
22
+ </td >
23
+ {{ else if (eq key "title")}}
24
+ <td >
25
+ <span >{{ @document.title }} </span >
26
+ <div
27
+ class =" document-thumbnail"
28
+ uk-dropdown =" pos: right-center; offset: 15; delay-show: 400; delay-hide: 100; container: .alexandria-container;"
29
+ >
30
+ <img
31
+ data-src =" {{ @document.thumbnail.value }} "
32
+ alt =" {{ @document.title }} "
33
+ uk-img
34
+ />
35
+ </div >
36
+ </td >
37
+ {{ else if (eq key "marks")}}
38
+ <td class =" list-marks uk-flex" >
39
+ {{ #each @document.marks as |mark |}}
40
+ <div uk-tooltip ={{ mark.name }} data-test-document-mark ={{ mark.id }} >
41
+ <FaIcon @icon ={{ mark.icon }} @fixedWidth ={{ true }} />
42
+ </div >
43
+ {{ /each }}
44
+ </td >
45
+ {{ else if (eq key "link")}}
46
+ <td >
47
+ Link
48
+ <LinkTo
49
+ @route ={{ this.config.documentListLinkTo.route }}
50
+ @query ={{ hash document = @document.id }}
51
+ >
52
+ {{ this.config.documentListLinkTo.label }}
53
+ </LinkTo >
54
+ </td >
55
+ {{ else if (eq key "date")}}
56
+ <td >
57
+ {{ format-date
58
+ @document.date
59
+ month =" 2-digit"
60
+ day =" 2-digit"
61
+ year =" numeric"
62
+ }}
63
+ </td >
64
+ {{ else if (eq key "modifiedAt")}}
65
+ <td >
66
+ {{ format-date
67
+ @document.latestFile.value.createdAt
68
+ month =" 2-digit"
69
+ day =" 2-digit"
70
+ year =" numeric"
71
+ hour =" 2-digit"
72
+ minute =" 2-digit"
73
+ }}
74
+ </td >
75
+ {{ else if (eq key "createdByUser")}}
76
+ <td >
77
+ {{ await (resolve-user @document.createdByUser )}}
78
+ </td >
79
+ {{ else if (eq key "createdByGroup")}}
80
+ <td >
81
+ {{ await (resolve-group @document.createdByGroup )}}
82
+ </td >
83
+ {{ /if }}
84
+ {{ /each-in }}
64
85
</tr >
0 commit comments