diff --git a/src/admin/class-tainacan-admin.php b/src/admin/class-tainacan-admin.php index 432ec9dbd..e4ac9fda4 100644 --- a/src/admin/class-tainacan-admin.php +++ b/src/admin/class-tainacan-admin.php @@ -125,6 +125,8 @@ class Admin { wp_enqueue_script('jcrop'); wp_enqueue_script( 'customize-controls' ); + do_action('tainacan-enqueue-admin-scripts'); + } /** diff --git a/src/admin/components/lists/filters-list.vue b/src/admin/components/lists/filters-list.vue index 2980c6eea..3f9caed47 100644 --- a/src/admin/components/lists/filters-list.vue +++ b/src/admin/components/lists/filters-list.vue @@ -384,7 +384,6 @@ export default { .then(() => { // Reload Available Metadatum Types List this.updateListOfMetadata(); - }) .catch((error) => { this.$console.log(error)}); @@ -444,7 +443,7 @@ export default { } }, - created() { + mounted() { this.isRepositoryLevel = this.$route.name == 'FiltersPage' ? true : false; if (this.isRepositoryLevel) diff --git a/src/admin/components/lists/metadata-list.vue b/src/admin/components/lists/metadata-list.vue index a67823cce..37ed6db0d 100644 --- a/src/admin/components/lists/metadata-list.vue +++ b/src/admin/components/lists/metadata-list.vue @@ -445,7 +445,8 @@ export default { 'updateMetadata', 'updateCollectionMetadataOrder', 'fetchMetadatumMappers', - 'updateMetadataMapperMetadata' + 'updateMetadataMapperMetadata', + 'cleanMetadata' ]), ...mapGetters('metadata',[ 'getMetadatumTypes', @@ -746,7 +747,6 @@ export default { else this.collectionId = this.$route.params.collectionId; - this.fetchMetadata({collectionId: this.collectionId, isRepositoryLevel: this.isRepositoryLevel, isContextEdit: true, includeDisabled: true}) .then(() => { this.isLoadingMetadata = false; @@ -756,7 +756,8 @@ export default { }); } }, - created() { + mounted() { + this.cleanMetadata(); this.isLoadingMetadatumTypes = true; this.isLoadingMetadata = true; diff --git a/src/admin/js/router.js b/src/admin/js/router.js index eb3f8ad1a..a48b72276 100644 --- a/src/admin/js/router.js +++ b/src/admin/js/router.js @@ -65,7 +65,7 @@ const routes = [ { path: '/taxonomies', name: 'Page', component: Page, meta: {title: i18nGet('title_taxonomies_page'), icon: 'shape'} }, { path: '/taxonomies/new', name: 'TaxonomyCreationForm', component: TaxonomyEditionForm, meta: {title: i18nGet('title_create_taxonomy_page'), icon: 'shape'} }, { path: '/taxonomies/:taxonomyId/edit', name: 'TaxonomyEditionForm', component: TaxonomyEditionForm, meta: {title: i18nGet('title_taxonomy_edition_page'), icon: 'shape'} }, - { path: '/taxonomies/:taxonomyId', name: 'TaxonomyPage', component: TaxonomyPage, meta: {title: i18nGet('title_taxonomy_page'), icon: 'shape'} }, + { path: '/taxonomies/:taxonomyId', redirect: '/taxonomies/:taxonomyId/edit' }, { path: '/events', name: 'EventsPage', component: EventsPage, meta: {title: i18nGet('title_repository_events_page'), icon: 'flash'} }, { path: '/events/:eventId', name: 'EventPage', component: EventPage, meta: {title: i18nGet('title_event_page'), icon: 'flash'} }, diff --git a/src/admin/pages/lists/collections-page.vue b/src/admin/pages/lists/collections-page.vue index 3f957c27f..957e5c646 100644 --- a/src/admin/pages/lists/collections-page.vue +++ b/src/admin/pages/lists/collections-page.vue @@ -169,6 +169,7 @@ export default { methods: { ...mapActions('collection', [ 'fetchCollections', + 'cleanCollections' ]), ...mapActions('metadata', [ 'fetchMetadatumMappers' @@ -201,7 +202,8 @@ export default { this.page = page; this.loadCollections(); }, - loadCollections() { + loadCollections() { + this.cleanCollections(); this.isLoading = true; this.fetchCollections({ 'page': this.page, 'collectionsPerPage': this.collectionsPerPage, 'status': this.status }) .then((res) => { diff --git a/src/classes/filter-types/taxonomy/Checkbox.vue b/src/classes/filter-types/taxonomy/Checkbox.vue index a0df76334..9c9134ba1 100644 --- a/src/classes/filter-types/taxonomy/Checkbox.vue +++ b/src/classes/filter-types/taxonomy/Checkbox.vue @@ -144,7 +144,7 @@ } } - if(this.filter.max_options && (this.options.length >= this.filter.max_options || hasChildren)){ + if (this.filter.max_options && (this.options.length >= this.filter.max_options || hasChildren)) { if(this.options.length > this.filter.max_options){ this.options.splice(this.filter.max_options); } diff --git a/src/classes/metadata-types/taxonomy/Taxonomy.vue b/src/classes/metadata-types/taxonomy/Taxonomy.vue index 8b2115615..823e1e1b9 100644 --- a/src/classes/metadata-types/taxonomy/Taxonomy.vue +++ b/src/classes/metadata-types/taxonomy/Taxonomy.vue @@ -2,7 +2,7 @@
+ + {{ $i18n.get('label_view_more') + ' (' + Number(totalTerms - terms.length) + ' ' + $i18n.get('terms') + ')' }} + { + let endpoint = '/taxonomy/' + this.taxonomy + '/terms?hideempty=0&order=asc'; + + if (this.getComponent == 'tainacan-taxonomy-checkbox' || this.getComponent == 'tainacan-taxonomy-radio') + endpoint = endpoint + '&number=' + this.termsNumber + '&offset=' + this.offset; + + axios.get(endpoint) + .then( res => { + if (this.getComponent == 'tainacan-taxonomy-checkbox' || this.getComponent == 'tainacan-taxonomy-radio') { + this.totalTerms = Number(res.headers['x-wp-total']); + this.offset += this.termsNumber; + } for (let item of res.data) { this.terms.push( item ); } @@ -164,5 +185,6 @@ .add-new-term{ margin-top: 15px; margin-bottom: 30px; + font-size: 0.75rem; } \ No newline at end of file diff --git a/src/classes/metadata-types/taxonomy/TaxonomyCheckbox.vue b/src/classes/metadata-types/taxonomy/TaxonomyCheckbox.vue index df8f16b61..bc98bb410 100644 --- a/src/classes/metadata-types/taxonomy/TaxonomyCheckbox.vue +++ b/src/classes/metadata-types/taxonomy/TaxonomyCheckbox.vue @@ -28,7 +28,7 @@ }, data(){ return { - checked: [] + checked: [], } }, watch: { diff --git a/src/classes/metadata-types/taxonomy/TaxonomyTaginput.vue b/src/classes/metadata-types/taxonomy/TaxonomyTaginput.vue index d5706ad80..d185e8372 100644 --- a/src/classes/metadata-types/taxonomy/TaxonomyTaginput.vue +++ b/src/classes/metadata-types/taxonomy/TaxonomyTaginput.vue @@ -63,7 +63,7 @@ ...mapGetters('taxonomy', [ 'getTerms' ]), - autoCompleteTerm: _.debounce( function(value){ + autoCompleteTerm: _.debounce( function(value) { this.termList = []; this.labels = []; this.isFetching = true; diff --git a/src/js/store/modules/collection/actions.js b/src/js/store/modules/collection/actions.js index 4878af031..346e60863 100644 --- a/src/js/store/modules/collection/actions.js +++ b/src/js/store/modules/collection/actions.js @@ -110,7 +110,6 @@ export const deleteItem = ({ commit }, { itemId, isPermanently }) => { }; export const fetchCollections = ({commit} , { page, collectionsPerPage, status }) => { - commit('cleanCollections'); return new Promise((resolve, reject) => { let endpoint = '/collections?paged='+page+'&perpage='+collectionsPerPage+'&context=edit'; @@ -130,6 +129,10 @@ export const fetchCollections = ({commit} , { page, collectionsPerPage, status } }); }; +export const cleanCollections = ({ commit }) => { + commit('cleanCollections'); +}; + export const fetchCollection = ({ commit }, id) => { commit('cleanCollection'); return new Promise((resolve, reject) =>{ diff --git a/src/js/store/modules/metadata/actions.js b/src/js/store/modules/metadata/actions.js index f2ab942c4..13eb7c87e 100644 --- a/src/js/store/modules/metadata/actions.js +++ b/src/js/store/modules/metadata/actions.js @@ -1,7 +1,6 @@ import axios from '../../../axios/axios'; export const fetchMetadata = ({commit}, {collectionId, isRepositoryLevel, isContextEdit, includeDisabled}) => { - commit('cleanMetadata'); return new Promise((resolve, reject) => { let endpoint = ''; @@ -25,7 +24,6 @@ export const fetchMetadata = ({commit}, {collectionId, isRepositoryLevel, isCont resolve(metadata); }) .catch((error) => { - console.log(error); reject(error); }); }); @@ -122,6 +120,10 @@ export const deleteMetadatum = ({commit}, {collectionId, metadatumId, isReposito }); }; +export const cleanMetadata = ({commit}) => { + commit('cleanMetadata'); +}; + export const updateCollectionMetadataOrder = ({ commit }, {collectionId, metadataOrder}) => { return new Promise((resolve, reject) => { axios.tainacan.patch('/collections/' + collectionId, { diff --git a/src/js/store/modules/metadata/getters.js b/src/js/store/modules/metadata/getters.js index 24ffd903e..6a6838046 100644 --- a/src/js/store/modules/metadata/getters.js +++ b/src/js/store/modules/metadata/getters.js @@ -1,5 +1,4 @@ export const getMetadata = state => { - return state.metadata; }