diff --git a/src/admin/pages/lists/items-page.vue b/src/admin/pages/lists/items-page.vue index 11f9c0a3c..6f2ace620 100644 --- a/src/admin/pages/lists/items-page.vue +++ b/src/admin/pages/lists/items-page.vue @@ -942,15 +942,15 @@ else if (metadatum.display == 'yes') display = true; - // // Deciding display based on user prefs - // if (prefsFetchOnlyObject != undefined && - // prefsFetchOnlyObject.meta != undefined) { - // let index = prefsFetchOnlyObject.meta.findIndex(metadatumId => metadatumId == metadatum.id); - // if (index >= 0) - // display = true; - // else - // display = false; - // } + // Deciding display based on user prefs + if (prefsFetchOnlyObject != undefined && + prefsFetchOnlyObject.meta != undefined) { + let index = prefsFetchOnlyObject.meta.findIndex(metadatumId => metadatumId == metadatum.id); + if (index >= 0) + display = true; + else + display = false; + } metadata.push({ name: metadatum.name, @@ -1044,7 +1044,7 @@ '2': 'author_name', '3': 'title', '4': 'description' - }); + }, true); this.sortingMetadata.push({ name: this.$i18n.get('label_title'), @@ -1133,14 +1133,28 @@ let prefsViewMode = !this.isRepositoryLevel ? 'view_mode_' + this.collectionId : 'view_mode'; if (this.$userPrefs.get(prefsViewMode) == undefined) this.$eventBusSearch.setInitialViewMode(this.defaultViewMode); - else - this.$eventBusSearch.setInitialViewMode(this.$userPrefs.get(prefsViewMode)); + else { + let existingViewModeIndex = Object.keys(this.registeredViewModes).findIndex(viewMode => viewMode == this.$userPrefs.get(prefsViewMode)); + if (existingViewModeIndex >= 0) + this.$eventBusSearch.setInitialViewMode(this.$userPrefs.get(prefsViewMode)); + else + this.$eventBusSearch.setInitialViewMode(this.defaultViewMode); + } } else { let prefsAdminViewMode = !this.isRepositoryLevel ? 'admin_view_mode_' + this.collectionId : 'admin_view_mode'; if (this.$userPrefs.get(prefsAdminViewMode) == undefined) - this.$eventBusSearch.setInitialAdminViewMode('cards'); - else - this.$eventBusSearch.setInitialAdminViewMode(this.$userPrefs.get(prefsAdminViewMode)); + this.$eventBusSearch.setInitialAdminViewMode('table'); + else { + let existingViewMode = this.$userPrefs.get(prefsAdminViewMode); + if (existingViewMode == 'cards' || + existingViewMode == 'table' || + existingViewMode == 'records' || + existingViewMode == 'grid' || + existingViewMode == 'masonry') + this.$eventBusSearch.setInitialAdminViewMode(this.$userPrefs.get(prefsAdminViewMode)); + else + this.$eventBusSearch.setInitialAdminViewMode('table'); + } } // Watches window resize to adjust filter's top position and compression on mobile diff --git a/src/admin/pages/lists/term-items-page.vue b/src/admin/pages/lists/term-items-page.vue index b488b2811..0c589adb1 100644 --- a/src/admin/pages/lists/term-items-page.vue +++ b/src/admin/pages/lists/term-items-page.vue @@ -942,15 +942,15 @@ else if (metadatum.display == 'yes') display = true; - // // Deciding display based on user prefs - // if (prefsFetchOnlyObject != undefined && - // prefsFetchOnlyObject.meta != undefined) { - // let index = prefsFetchOnlyObject.meta.findIndex(metadatumId => metadatumId == metadatum.id); - // if (index >= 0) - // display = true; - // else - // display = false; - // } + // Deciding display based on user prefs + if (prefsFetchOnlyObject != undefined && + prefsFetchOnlyObject.meta != undefined) { + let index = prefsFetchOnlyObject.meta.findIndex(metadatumId => metadatumId == metadatum.id); + if (index >= 0) + display = true; + else + display = false; + } metadata.push( { @@ -1042,7 +1042,7 @@ '2': 'author_name', '3': 'title', '4': 'description' - }); + }, true); this.sortingMetadata.push({ name: this.$i18n.get('label_title'), @@ -1132,14 +1132,28 @@ let prefsViewMode = !this.isRepositoryLevel ? 'view_mode_' + this.collectionId : 'view_mode'; if (this.$userPrefs.get(prefsViewMode) == undefined) this.$eventBusSearch.setInitialViewMode(this.defaultViewMode); - else - this.$eventBusSearch.setInitialViewMode(this.$userPrefs.get(prefsViewMode)); + else { + let existingViewModeIndex = Object.keys(this.registeredViewModes).findIndex(viewMode => viewMode == this.$userPrefs.get(prefsViewMode)); + if (existingViewModeIndex >= 0) + this.$eventBusSearch.setInitialViewMode(this.$userPrefs.get(prefsViewMode)); + else + this.$eventBusSearch.setInitialViewMode(this.defaultViewMode); + } } else { let prefsAdminViewMode = !this.isRepositoryLevel ? 'admin_view_mode_' + this.collectionId : 'admin_view_mode'; if (this.$userPrefs.get(prefsAdminViewMode) == undefined) - this.$eventBusSearch.setInitialAdminViewMode('cards'); - else - this.$eventBusSearch.setInitialAdminViewMode(this.$userPrefs.get(prefsAdminViewMode)); + this.$eventBusSearch.setInitialAdminViewMode('table'); + else { + let existingViewMode = this.$userPrefs.get(prefsAdminViewMode); + if (existingViewMode == 'cards' || + existingViewMode == 'table' || + existingViewMode == 'records' || + existingViewMode == 'grid' || + existingViewMode == 'masonry') + this.$eventBusSearch.setInitialAdminViewMode(this.$userPrefs.get(prefsAdminViewMode)); + else + this.$eventBusSearch.setInitialAdminViewMode('table'); + } } // Watches window resize to adjust filter's top position and compression on mobile diff --git a/src/admin/scss/_view-mode-cards.scss b/src/admin/scss/_view-mode-cards.scss index 05269b6b2..1c26edf52 100644 --- a/src/admin/scss/_view-mode-cards.scss +++ b/src/admin/scss/_view-mode-cards.scss @@ -22,8 +22,8 @@ margin: 15px; max-width: 425px; min-width: 425px; - min-height: 215px; - max-height: 215px; + min-height: 210px; + max-height: 210px; cursor: pointer; @media screen and (max-width: 480px) { @@ -79,7 +79,7 @@ } .metadata-title { flex-shrink: 0; - padding: 0.5rem 4.75rem 0.5rem 2.75rem; + padding: 0.6rem 4.75rem 0.5rem 2.75rem; margin-bottom: -27px; min-height: 40px; font-size: 0.875rem !important; diff --git a/src/admin/scss/_view-mode-grid.scss b/src/admin/scss/_view-mode-grid.scss index d29b062a7..383a403c8 100644 --- a/src/admin/scss/_view-mode-grid.scss +++ b/src/admin/scss/_view-mode-grid.scss @@ -40,10 +40,8 @@ opacity: 0; padding: 3px 8px; transition: visibility 0.2s, opacity 0.2s; - margin-top: -43px; + margin-top: -31px; background-color: $gray2; - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; a { margin-left: 12px; diff --git a/src/js/event-bus-search.js b/src/js/event-bus-search.js index 9be18447f..285fe9ca6 100644 --- a/src/js/event-bus-search.js +++ b/src/js/event-bus-search.js @@ -189,14 +189,16 @@ export default { this.$store.dispatch('search/add_fetchonly_meta', metadatum ); this.updateURLQueries(); }, - addFetchOnly( metadatum ){ + addFetchOnly( metadatum, ignorePrefs ){ this.$store.dispatch('search/add_fetchonly', metadatum ); this.updateURLQueries(); - let prefsFetchOnly = this.collectionId != undefined ? 'fetch_only_' + this.collectionId : 'fetch_only'; - if (JSON.stringify(this.$userPrefs.get(prefsFetchOnly)) != JSON.stringify(metadatum)) { - this.$userPrefs.set(prefsFetchOnly, metadatum) - .catch(() => { this.$console.log("Error setting user prefs for fetch_only"); }); + if (!ignorePrefs) { + let prefsFetchOnly = this.collectionId != undefined ? 'fetch_only_' + this.collectionId : 'fetch_only'; + if (JSON.stringify(this.$userPrefs.get(prefsFetchOnly)) != JSON.stringify(metadatum)) { + this.$userPrefs.set(prefsFetchOnly, metadatum) + .catch(() => { this.$console.log("Error setting user prefs for fetch_only"); }); + } } }, cleanFetchOnly() { diff --git a/src/theme-helper/view-mode-cards.vue b/src/theme-helper/view-mode-cards.vue index 08886ae65..360871f21 100644 --- a/src/theme-helper/view-mode-cards.vue +++ b/src/theme-helper/view-mode-cards.vue @@ -132,7 +132,7 @@ export default { @import "../../src/admin/scss/_view-mode-cards.scss"; .tainacan-cards-container .tainacan-card .metadata-title { - padding: 0.75rem; + padding: 0.6rem 0.75rem; margin-bottom: 0px; } diff --git a/src/theme-helper/view-mode-masonry.vue b/src/theme-helper/view-mode-masonry.vue index 9ec611f16..b3beabfd8 100644 --- a/src/theme-helper/view-mode-masonry.vue +++ b/src/theme-helper/view-mode-masonry.vue @@ -84,8 +84,8 @@ export default { $tainacan-input-color: #1d1d1d; $gray1: #f2f2f2; $gray2: #e5e5e5; - $gray4: #898d8f; $gray3: #dcdcdc; + $gray4: #898d8f; @import "../../src/admin/scss/_view-mode-masonry.scss"; diff --git a/src/theme-helper/view-mode-records.vue b/src/theme-helper/view-mode-records.vue index 0f9b8f418..950d529e3 100644 --- a/src/theme-helper/view-mode-records.vue +++ b/src/theme-helper/view-mode-records.vue @@ -134,7 +134,7 @@ export default { @import "../../src/admin/scss/_view-mode-records.scss"; .tainacan-records-container .tainacan-record .metadata-title { - padding: 0.75rem; + padding: 0.6rem 0.75rem; margin-bottom: 0px; }