|
30 | 30 | <oc-status-indicators :resource="resource" :indicators="shareIndicators" /> |
31 | 31 | <p class="my-0 mx-2" v-text="detailSharingInformation" /> |
32 | 32 | </div> |
33 | | - <div class="flex justify-end min-h-5"> |
34 | | - <oc-spinner |
35 | | - v-if="versionsLoading" |
36 | | - v-oc-tooltip="$gettext('Loading version information')" |
37 | | - size="small" |
38 | | - :aria-label="$gettext('Loading version information')" |
39 | | - /> |
40 | | - <oc-icon |
41 | | - v-else-if="versionsError" |
42 | | - v-oc-tooltip="$gettext('Version information could not be loaded')" |
43 | | - name="error-warning" |
44 | | - fill-type="line" |
45 | | - size="small" |
46 | | - class="text-role-error" |
47 | | - /> |
| 33 | + <div class="relative"> |
| 34 | + <div |
| 35 | + v-if="versionsLoading || versionsError" |
| 36 | + class="absolute top-0 right-0 z-20 flex items-center" |
| 37 | + > |
| 38 | + <oc-spinner |
| 39 | + v-if="versionsLoading" |
| 40 | + v-oc-tooltip="$gettext('Loading version information')" |
| 41 | + size="small" |
| 42 | + :aria-label="$gettext('Loading version information')" |
| 43 | + /> |
| 44 | + <oc-icon |
| 45 | + v-else |
| 46 | + v-oc-tooltip="$gettext('Version information could not be loaded')" |
| 47 | + name="error-warning" |
| 48 | + fill-type="line" |
| 49 | + size="small" |
| 50 | + class="text-role-error" |
| 51 | + /> |
| 52 | + </div> |
| 53 | + <dl |
| 54 | + class="details-list" |
| 55 | + :aria-label="$gettext('Overview of the information about the selected file')" |
| 56 | + > |
| 57 | + <template v-if="hasDeletionDate"> |
| 58 | + <dt>{{ $gettext('Deleted at') }}</dt> |
| 59 | + <dd data-testid="delete-timestamp">{{ capitalizedTimestamp }}</dd> |
| 60 | + </template> |
| 61 | + <template v-if="hasTimestamp"> |
| 62 | + <dt>{{ $gettext('Last modified') }}</dt> |
| 63 | + <dd data-testid="timestamp"> |
| 64 | + <oc-button |
| 65 | + v-if="showVersions" |
| 66 | + v-oc-tooltip="seeVersionsLabel" |
| 67 | + appearance="raw" |
| 68 | + :aria-label="seeVersionsLabel" |
| 69 | + no-hover |
| 70 | + @click="openSideBarPanel('versions')" |
| 71 | + > |
| 72 | + {{ capitalizedTimestamp }} |
| 73 | + </oc-button> |
| 74 | + <span v-else v-text="capitalizedTimestamp" /> |
| 75 | + </dd> |
| 76 | + </template> |
| 77 | + <template v-if="resource.locked"> |
| 78 | + <dt>{{ $gettext('Locked via') }}</dt> |
| 79 | + <dd data-testid="locked-by"> |
| 80 | + <span>{{ resource.lockOwner }}</span> |
| 81 | + <span v-if="resource.lockTime">({{ formatDateRelative(resource.lockTime) }})</span> |
| 82 | + </dd> |
| 83 | + </template> |
| 84 | + <template v-if="showSharedVia"> |
| 85 | + <dt>{{ $gettext('Shared via') }}</dt> |
| 86 | + <dd data-testid="shared-via"> |
| 87 | + <router-link :to="sharedAncestorRoute"> |
| 88 | + <span v-oc-tooltip="sharedViaTooltip" v-text="sharedAncestor.path" /> |
| 89 | + </router-link> |
| 90 | + </dd> |
| 91 | + </template> |
| 92 | + <template v-if="showSharedBy"> |
| 93 | + <dt>{{ $gettext('Shared by') }}</dt> |
| 94 | + <dd data-testid="shared-by">{{ sharedByDisplayNames }}</dd> |
| 95 | + </template> |
| 96 | + <template v-if="ownerDisplayName && ownerDisplayName !== sharedByDisplayNames"> |
| 97 | + <dt>{{ $gettext('Owner') }}</dt> |
| 98 | + <dd data-testid="ownerDisplayName"> |
| 99 | + <p class="m-0"> |
| 100 | + {{ ownerDisplayName }} |
| 101 | + <span v-if="ownedByCurrentUser" v-text="$gettext('(me)')" /> |
| 102 | + </p> |
| 103 | + </dd> |
| 104 | + </template> |
| 105 | + <template v-if="showSize"> |
| 106 | + <dt>{{ $gettext('Size') }}</dt> |
| 107 | + <dd data-testid="sizeInfo">{{ resourceSize }}</dd> |
| 108 | + </template> |
| 109 | + <web-dav-details v-if="showWebDavDetails" :space="space" /> |
| 110 | + <template v-if="versionsRowVisible"> |
| 111 | + <dt>{{ $gettext('Version') }}</dt> |
| 112 | + <dd data-testid="versionsInfo"> |
| 113 | + <span v-if="versionsPlaceholder" aria-hidden="true"> </span> |
| 114 | + <oc-button |
| 115 | + v-else |
| 116 | + v-oc-tooltip="seeVersionsLabel" |
| 117 | + appearance="raw" |
| 118 | + :aria-label="seeVersionsLabel" |
| 119 | + no-hover |
| 120 | + @click="openSideBarPanel('versions')" |
| 121 | + > |
| 122 | + {{ versions.length }} |
| 123 | + </oc-button> |
| 124 | + </dd> |
| 125 | + </template> |
| 126 | + <custom-component-target :extension-point="fileSideBarFileDetailsTableExtensionPoint" /> |
| 127 | + </dl> |
48 | 128 | </div> |
49 | | - <dl |
50 | | - class="details-list" |
51 | | - :aria-label="$gettext('Overview of the information about the selected file')" |
52 | | - > |
53 | | - <template v-if="hasDeletionDate"> |
54 | | - <dt>{{ $gettext('Deleted at') }}</dt> |
55 | | - <dd data-testid="delete-timestamp">{{ capitalizedTimestamp }}</dd> |
56 | | - </template> |
57 | | - <template v-if="hasTimestamp"> |
58 | | - <dt>{{ $gettext('Last modified') }}</dt> |
59 | | - <dd data-testid="timestamp"> |
60 | | - <oc-button |
61 | | - v-if="showVersions" |
62 | | - v-oc-tooltip="seeVersionsLabel" |
63 | | - appearance="raw" |
64 | | - :aria-label="seeVersionsLabel" |
65 | | - no-hover |
66 | | - @click="openSideBarPanel('versions')" |
67 | | - > |
68 | | - {{ capitalizedTimestamp }} |
69 | | - </oc-button> |
70 | | - <span v-else v-text="capitalizedTimestamp" /> |
71 | | - </dd> |
72 | | - </template> |
73 | | - <template v-if="resource.locked"> |
74 | | - <dt>{{ $gettext('Locked via') }}</dt> |
75 | | - <dd data-testid="locked-by"> |
76 | | - <span>{{ resource.lockOwner }}</span> |
77 | | - <span v-if="resource.lockTime">({{ formatDateRelative(resource.lockTime) }})</span> |
78 | | - </dd> |
79 | | - </template> |
80 | | - <template v-if="showSharedVia"> |
81 | | - <dt>{{ $gettext('Shared via') }}</dt> |
82 | | - <dd data-testid="shared-via"> |
83 | | - <router-link :to="sharedAncestorRoute"> |
84 | | - <span v-oc-tooltip="sharedViaTooltip" v-text="sharedAncestor.path" /> |
85 | | - </router-link> |
86 | | - </dd> |
87 | | - </template> |
88 | | - <template v-if="showSharedBy"> |
89 | | - <dt>{{ $gettext('Shared by') }}</dt> |
90 | | - <dd data-testid="shared-by">{{ sharedByDisplayNames }}</dd> |
91 | | - </template> |
92 | | - <template v-if="ownerDisplayName && ownerDisplayName !== sharedByDisplayNames"> |
93 | | - <dt>{{ $gettext('Owner') }}</dt> |
94 | | - <dd data-testid="ownerDisplayName"> |
95 | | - <p class="m-0"> |
96 | | - {{ ownerDisplayName }} |
97 | | - <span v-if="ownedByCurrentUser" v-text="$gettext('(me)')" /> |
98 | | - </p> |
99 | | - </dd> |
100 | | - </template> |
101 | | - <template v-if="showSize"> |
102 | | - <dt>{{ $gettext('Size') }}</dt> |
103 | | - <dd data-testid="sizeInfo">{{ resourceSize }}</dd> |
104 | | - </template> |
105 | | - <web-dav-details v-if="showWebDavDetails" :space="space" /> |
106 | | - <template v-if="versionsRowVisible"> |
107 | | - <dt>{{ $gettext('Version') }}</dt> |
108 | | - <dd data-testid="versionsInfo"> |
109 | | - <span v-if="versionsPlaceholder" aria-hidden="true"> </span> |
110 | | - <oc-button |
111 | | - v-else |
112 | | - v-oc-tooltip="seeVersionsLabel" |
113 | | - appearance="raw" |
114 | | - :aria-label="seeVersionsLabel" |
115 | | - no-hover |
116 | | - @click="openSideBarPanel('versions')" |
117 | | - > |
118 | | - {{ versions.length }} |
119 | | - </oc-button> |
120 | | - </dd> |
121 | | - </template> |
122 | | - <custom-component-target :extension-point="fileSideBarFileDetailsTableExtensionPoint" /> |
123 | | - </dl> |
124 | 129 | <div v-if="hasTags" class="mt-2"> |
125 | 130 | <div class="inline-flex items-center text-sm mb-0.5"> |
126 | 131 | {{ $gettext('Tags') }} |
|
0 commit comments