@@ -84,8 +226,6 @@
v-for="(column, index) in tableFields"
v-if="column.display"
:label="column.name"
- :aria-label="(column.field != 'row_thumbnail' && column.field != 'row_creation' && column.field != 'row_author')
- ? column.name + '' + (item.metadata ? item.metadata[column.slug].value_as_string : '') : ''"
class="column-default-width"
:class="{
'thumbnail-cell': column.field == 'row_thumbnail',
@@ -119,7 +259,7 @@
+ :src="item['thumbnail'].thumb ? item['thumbnail'].thumb : thumbPlaceholderPath">
@import "../../scss/_variables.scss";
+ @import "../../scss/_view-mode-grid.scss";
+ @import "../../scss/_view-mode-cards.scss";
.selection-control {
diff --git a/src/admin/components/lists/terms-list.vue b/src/admin/components/lists/terms-list.vue
index 918ff369a..770dd48ea 100644
--- a/src/admin/components/lists/terms-list.vue
+++ b/src/admin/components/lists/terms-list.vue
@@ -85,7 +85,8 @@
diff --git a/src/admin/components/other/alert-icon.vue b/src/admin/components/other/alert-icon.vue
new file mode 100644
index 000000000..df4ac4d3b
--- /dev/null
+++ b/src/admin/components/other/alert-icon.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/admin/components/other/check-icon.vue b/src/admin/components/other/check-icon.vue
new file mode 100644
index 000000000..5e1054c8d
--- /dev/null
+++ b/src/admin/components/other/check-icon.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/admin/components/other/custom-dialog.vue b/src/admin/components/other/custom-dialog.vue
new file mode 100644
index 000000000..6b44849e2
--- /dev/null
+++ b/src/admin/components/other/custom-dialog.vue
@@ -0,0 +1,57 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/admin/components/other/question-icon.vue b/src/admin/components/other/question-icon.vue
new file mode 100644
index 000000000..eaac32147
--- /dev/null
+++ b/src/admin/components/other/question-icon.vue
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/admin/js/router.js b/src/admin/js/router.js
index 486cd10f5..6df3cdb23 100644
--- a/src/admin/js/router.js
+++ b/src/admin/js/router.js
@@ -35,6 +35,7 @@ const routes = [
{ path: '/collections', name: 'CollectionsPage', component: CollectionsPage, meta: {title: i18nGet('title_repository_collections_page'), icon: 'folder-multiple'} },
{ path: '/collections/new', name: 'CollectionCreationForm', component: CollectionEditionForm, meta: {title: i18nGet('title_create_collection'), icon: 'folder-multiple'} },
+ { path: '/collections/new/:mapper', name: 'MappedCollectionCreationForm', component: CollectionEditionForm, meta: {title: i18nGet('title_create_collection'), icon: 'folder-multiple'} },
{ path: '/collections/:collectionId', component: CollectionPage, meta: {title: i18nGet('title_collection_page'), icon: 'folder-multiple'},
children: [
diff --git a/src/admin/js/utilities.js b/src/admin/js/utilities.js
index a821cdbb5..40deae979 100644
--- a/src/admin/js/utilities.js
+++ b/src/admin/js/utilities.js
@@ -212,6 +212,9 @@ RouterHelperPlugin.install = function (Vue, options = {}) {
getNewCollectionPath() {
return '/collections/new';
},
+ getNewMappedCollectionPath(mapperSlug) {
+ return '/collections/new/' + mapperSlug;
+ },
getNewItemPath(collectionId) {
return '/collections/' + collectionId + '/items/new';
},
diff --git a/src/admin/pages/lists/collections-page.vue b/src/admin/pages/lists/collections-page.vue
index e12a0a0c0..904e2e0f6 100644
--- a/src/admin/pages/lists/collections-page.vue
+++ b/src/admin/pages/lists/collections-page.vue
@@ -1,5 +1,6 @@
+
@@ -132,6 +140,7 @@ export default {
totalCollections: 0,
page: 1,
collectionsPerPage: 12,
+ isLoadingFieldMappers: true,
status: ''
}
},
@@ -142,9 +151,15 @@ export default {
...mapActions('collection', [
'fetchCollections',
]),
+ ...mapActions('fields', [
+ 'fetchFieldMappers'
+ ]),
...mapGetters('collection', [
'getCollections'
]),
+ ...mapGetters('fields', [
+ 'getFieldMappers'
+ ]),
onChangeTab(status) {
this.status = status;
this.loadCollections();
@@ -177,11 +192,17 @@ export default {
}
},
computed: {
+ field_mappers: {
+ get() {
+ return this.getFieldMappers();
+ }
+ },
collections() {
return this.getCollections();
}
},
created() {
+ this.isLoadingFieldTypes = true;
this.$userPrefs.get('collections_per_page')
.then((value) => {
this.collectionsPerPage = value;
@@ -189,6 +210,13 @@ export default {
.catch(() => {
this.$userPrefs.set('collections_per_page', 12, null);
});
+ this.fetchFieldMappers()
+ .then(() => {
+ this.isLoadingFieldMappers = false;
+ })
+ .catch(() => {
+ this.isLoadingFieldMappers = false;
+ });
},
mounted(){
this.loadCollections();
diff --git a/src/admin/pages/lists/items-page.vue b/src/admin/pages/lists/items-page.vue
index 54c39926d..935ecde7b 100644
--- a/src/admin/pages/lists/items-page.vue
+++ b/src/admin/pages/lists/items-page.vue
@@ -4,7 +4,8 @@
-
-