diff --git a/.eslintrc.js b/.eslintrc.js
index a90b749d1..d83512ef7 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -52,9 +52,8 @@ module.exports = {
'spaced-comment': 'off',
'vue/attributes-order': ['error', {
order: [
- 'DEFINITION',
'LIST_RENDERING',
- 'CONDITIONALS',
+ ['CONDITIONALS', 'DEFINITION'],
'RENDER_MODIFIERS',
'GLOBAL',
['UNIQUE', 'SLOT'],
diff --git a/src/assets/scss/_variables.scss b/src/assets/scss/_variables.scss
index b7f98400f..0493f80d0 100644
--- a/src/assets/scss/_variables.scss
+++ b/src/assets/scss/_variables.scss
@@ -61,6 +61,8 @@ $padding-top-btn: 6px;
$font-size-dropdown-menu: $font-size-btn;
$min-width-dropdown-menu: 150px;
+$padding-block-dl: 10px;
+
// Forms
$padding-top-form-control: 6px;
@@ -94,6 +96,7 @@ $color-subpanel-border-strong: #c3c3c3;
$ease-extreme-out: cubic-bezier(.05, .9, 0, 1);
+
////////////////////////////////////////////////////////////////////////////////
// COMPONENTS
diff --git a/src/assets/scss/app.scss b/src/assets/scss/app.scss
index 463a689cc..0f8954c84 100644
--- a/src/assets/scss/app.scss
+++ b/src/assets/scss/app.scss
@@ -42,8 +42,7 @@ p { @include text-block; }
dl > * {
border-bottom: 1px solid #ddd;
- padding-bottom: 10px;
- padding-top: 10px;
+ padding-block: $padding-block-dl;
&:first-of-type { padding-top: 0; }
@@ -75,7 +74,7 @@ dl:not(.dl-horizontal) {
// down to the fact that .dl-horizontal uses a CSS grid, while other
// elements use flexbox.
.dl-horizontal {
- $padding-between: 10px;
+ $padding-between: 12px;
$dt-width: 160px + $padding-panel-body + $padding-between;
display: grid;
diff --git a/src/components/app.vue b/src/components/app.vue
index 0fc9331ff..85e91e509 100644
--- a/src/components/app.vue
+++ b/src/components/app.vue
@@ -27,7 +27,9 @@ except according to the terms contained in the LICENSE file.
+
+
@@ -48,7 +50,12 @@ import { loadAsync } from '../util/load-async';
export default {
name: 'App',
- components: { Alert, Navbar, FeedbackButton: defineAsyncComponent(loadAsync('FeedbackButton')) },
+ components: {
+ Alert,
+ HoverCards: defineAsyncComponent(loadAsync('HoverCards')),
+ Navbar,
+ FeedbackButton: defineAsyncComponent(loadAsync('FeedbackButton'))
+ },
inject: ['alert', 'config'],
setup() {
const { visiblyLoggedIn } = useSessions();
diff --git a/src/components/audit/row.vue b/src/components/audit/row.vue
index 090e30bba..e95472334 100644
--- a/src/components/audit/row.vue
+++ b/src/components/audit/row.vue
@@ -29,7 +29,9 @@ except according to the terms contained in the LICENSE file.
-
+
{{ target.title }}
@@ -47,7 +49,11 @@ except according to the terms contained in the LICENSE file.
diff --git a/src/components/dataset/row.vue b/src/components/dataset/row.vue
index 540d10cc1..669fd6b53 100644
--- a/src/components/dataset/row.vue
+++ b/src/components/dataset/row.vue
@@ -12,7 +12,8 @@ except according to the terms contained in the LICENSE file.
- {{ dataset.name }}
+
|
{{ $n(dataset.entities, 'default') }}
@@ -39,6 +40,7 @@ except according to the terms contained in the LICENSE file.
diff --git a/src/components/hover-card/dataset.vue b/src/components/hover-card/dataset.vue
new file mode 100644
index 000000000..da3124357
--- /dev/null
+++ b/src/components/hover-card/dataset.vue
@@ -0,0 +1,68 @@
+
+
+
+ {{ dataset.name }}
+ {{ $t('resource.entityList') }}
+
+
+ - {{ $t('resource.entities') }}
+ - {{ $n(dataset.entities, 'default') }}
+
+ - {{ $t('resource.properties') }}
+ - {{ $n(dataset.properties.length, 'default') }}
+
+ - {{ $t('header.lastEntity') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/hover-card/entity.vue b/src/components/hover-card/entity.vue
new file mode 100644
index 000000000..45f17b7f1
--- /dev/null
+++ b/src/components/hover-card/entity.vue
@@ -0,0 +1,52 @@
+
+
+
+ {{ entity.currentVersion.label }}
+ {{ $t('resource.entity') }}
+
+
+ - {{ $t('resource.entityList') }}
+ - {{ dataset.name }}
+
+ - {{ $t('common.lastUpdate') }}
+
+
+
+
+
+
+
+
+
diff --git a/src/components/hover-card/form.vue b/src/components/hover-card/form.vue
new file mode 100644
index 000000000..95add02cf
--- /dev/null
+++ b/src/components/hover-card/form.vue
@@ -0,0 +1,43 @@
+
+
+
+ {{ form.nameOrId }}
+ {{ $t('resource.form') }}
+
+
+ - {{ $t('common.version') }}
+
+
+ - {{ $t('resource.submissions') }}
+ - {{ $n(form.submissions, 'default') }}
+
+ - {{ $t('header.lastSubmission') }}
+
+
+
+
+
+
+
diff --git a/src/components/hover-card/submission.vue b/src/components/hover-card/submission.vue
new file mode 100644
index 000000000..15b94a3e9
--- /dev/null
+++ b/src/components/hover-card/submission.vue
@@ -0,0 +1,63 @@
+
+
+
+
+
+ {{ submission.instanceName }}
+
+
+ {{ part }}
+
+
+ {{ $t('resource.submission') }}
+
+
+ - {{ $t('resource.form') }}
+ - {{ form.nameOrId }}
+
+ - {{ $t('header.submitterName') }}
+ - {{ submission.__system.submitterName }}
+
+ - {{ $t('header.submissionDate') }}
+
+
+ - {{ $t('common.reviewState') }}
+ -
+
+
+
+
+
+
+
+
diff --git a/src/components/hover-cards.vue b/src/components/hover-cards.vue
new file mode 100644
index 000000000..401a042ea
--- /dev/null
+++ b/src/components/hover-cards.vue
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
diff --git a/src/components/link-if-can.vue b/src/components/link-if-can.vue
index a341c5168..18a0c7a6f 100644
--- a/src/components/link-if-can.vue
+++ b/src/components/link-if-can.vue
@@ -10,15 +10,17 @@ including this file, may be copied, modified, propagated, or distributed
except according to the terms contained in the LICENSE file.
-->
-
+
-
+
diff --git a/src/components/project/dataset-row.vue b/src/components/project/dataset-row.vue
index 64d3935d3..7647a10c8 100644
--- a/src/components/project/dataset-row.vue
+++ b/src/components/project/dataset-row.vue
@@ -15,7 +15,8 @@ except according to the terms contained in the LICENSE file.
|
- {{ dataset.name }}
+
|
@@ -47,10 +48,11 @@ except according to the terms contained in the LICENSE file.
-
-
| |