Merge branch 'develop' of https://github.com/tainacan/tainacan into develop

This commit is contained in:
weryques 2018-08-06 13:43:57 -03:00
commit dab6ac8405
9 changed files with 50 additions and 45 deletions

View File

@ -35,7 +35,7 @@
<div
class="active-filter-item"
:class="{
'not-sortable-item': filter.id == undefined || openedFilterId != '' || choosenMetadatum.name == filter.name,
'not-sortable-item': filter.id == undefined || openedFilterId != '' || choosenMetadatum.name == filter.name || isUpdatingFiltersOrder,
'not-focusable-item': openedFilterId == filter.id,
'disabled-filter': filter.enabled == false,
'inherited-filter': filter.collection_id != collectionId || isRepositoryLevel
@ -70,7 +70,8 @@
<span
class="controls"
v-if="filter.filter_type != undefined">
<b-switch
<b-switch
:disabled="isUpdatingFiltersOrder"
size="is-small"
:value="filter.enabled"
@input="onChangeEnable($event, index)"/>
@ -203,6 +204,7 @@ export default {
isLoadingFilters: false,
isLoadingFilterTypes: false,
isLoadingFilter: false,
iisUpdatingFiltersOrder: false,
openedFilterId: '',
formWithErrors: '',
editForms: {},
@ -288,7 +290,10 @@ export default {
for (let filter of this.activeFilterList) {
filtersOrder.push({'id': filter.id, 'enabled': filter.enabled});
}
this.updateCollectionFiltersOrder({ collectionId: this.collectionId, filtersOrder: filtersOrder });
this.isUpdatingFiltersOrder = true;
this.updateCollectionFiltersOrder({ collectionId: this.collectionId, filtersOrder: filtersOrder })
.then(() => this.isUpdatingFiltersOrder = false)
.catch(() => this.isUpdatingFiltersOrder = false);
},
updateListOfMetadata() {
@ -311,7 +316,10 @@ export default {
filtersOrder.push({'id': filter.id, 'enabled': filter.enabled});
}
filtersOrder[index].enabled = $event;
this.updateCollectionFiltersOrder({ collectionId: this.collectionId, filtersOrder: filtersOrder });
this.isUpdatingFiltersOrder = true;
this.updateCollectionFiltersOrder({ collectionId: this.collectionId, filtersOrder: filtersOrder })
.then(() => this.isUpdatingFiltersOrder = false)
.catch(() => this.isUpdatingFiltersOrder = false);
},
addMetadatumViaButton(metadatumType, metadatumIndex) {
this.availableMetadatumList.splice(metadatumIndex, 1);

View File

@ -39,7 +39,7 @@
<div
class="active-metadatum-item"
:class="{
'not-sortable-item': metadatum.id == undefined || openedMetadatumId != '' ,
'not-sortable-item': metadatum.id == undefined || openedMetadatumId != '' || isUpdatingMetadataOrder,
'not-focusable-item': openedMetadatumId == metadatum.id,
'disabled-metadatum': metadatum.enabled == false,
'inherited-metadatum': metadatum.collection_id != collectionId || isRepositoryLevel
@ -75,6 +75,7 @@
class="controls"
v-if="metadatum.id !== undefined">
<b-switch
:disabled="isUpdatingMetadataOrder"
size="is-small"
:value="metadatum.enabled"
@input="onChangeEnable($event, index)"/>
@ -351,6 +352,7 @@ export default {
isLoadingMetadatumTypes: true,
isLoadingMetadata: false,
isLoadingMetadatum: false,
isUpdatingMetadataOrder: false,
openedMetadatumId: '',
formWithErrors: '',
hightlightedMetadatum: '',
@ -449,7 +451,10 @@ export default {
for (let metadatum of this.activeMetadatumList) {
metadataOrder.push({'id': metadatum.id, 'enabled': metadatum.enabled});
}
this.updateCollectionMetadataOrder({ collectionId: this.collectionId, metadataOrder: metadataOrder });
this.isUpdatingMetadataOrder = true;
this.updateCollectionMetadataOrder({ collectionId: this.collectionId, metadataOrder: metadataOrder })
.then(() => this.isUpdatingMetadataOrder = false)
.catch(() => this.isUpdatingMetadataOrder = false);
},
onChangeEnable($event, index) {
let metadataOrder = [];
@ -457,7 +462,10 @@ export default {
metadataOrder.push({'id': metadatum.id, 'enabled': metadatum.enabled});
}
metadataOrder[index].enabled = $event;
this.updateCollectionMetadataOrder({ collectionId: this.collectionId, metadataOrder: metadataOrder });
this.isUpdatingMetadataOrder = true;
this.updateCollectionMetadataOrder({ collectionId: this.collectionId, metadataOrder: metadataOrder })
.then(() => this.isUpdatingMetadataOrder = false)
.catch(() => this.isUpdatingMetadataOrder = false);
},
addMetadatumViaButton(metadatumType) {
let lastIndex = this.activeMetadatumList.length;

View File

@ -774,16 +774,6 @@
this.isFilterModalActive = false;
}
},
onSwipeFiltersMenuRight() {
let screenWidth = window.screen.width;
if (!this.isFilterModalActive && screenWidth <= 768)
this.isFilterModalActive = true;
},
onSwipeFiltersMenuLeft() {
if (this.isFilterModalActive)
this.isFilterModalActive = false;
},
onOpenImportersModal() {
this.$modal.open({
parent: this,

View File

@ -21,7 +21,7 @@
background-color: white !important;
}
}
&:not(.is-multiple)::after {
&:not(.is-loading)::after {
content: "\F35D" !important;
font: normal normal normal 24px/1 "Material Design Icons" !important;
border: none !important;
@ -31,5 +31,8 @@
color: $secondary !important;
display: flex !important;
align-items: initial;
}
}
&.is-loading.is-small::after {
font-size: 0.875rem;
}
}

View File

@ -179,27 +179,6 @@
padding: 0.75rem 1px 0.75rem 0 !important;
}
.select {
padding-top: 0px !important;
select {
font-size: 14px;
border-radius: 1px !important;
font-weight: normal;
height: 30px !important;
padding: 2px 25px 2px 15px !important;
margin-top: 0px !important;
margin-bottom: 0px !important;
}
&:not(.is-multiple)::after {
content: "\F35D" !important;
font: normal normal normal 24px/1 "Material Design Icons" !important;
transform: none;
margin-top: -0.6em;
right: 0.95em;
color: $turquoise3;
}
}
.collapse {
.label {
display: inline-flex;
@ -213,7 +192,7 @@
width: 100%;
}
.input, .textarea, .taginput-container {
.taginput-container {
font-size: 14px;
border-radius: 1px !important;
box-shadow: none !important;

View File

@ -89,8 +89,7 @@ export const deleteFilter = ({ commit }, filterId ) => {
.then( res => {
commit('deleteFilter', res.data );
resolve( res.data );
}).catch((error) => {
console.log(error);
}).catch((error) => {
reject( error );
});
@ -111,6 +110,7 @@ export const updateCollectionFiltersOrder = ({ commit }, { collectionId, filters
filters_order: filtersOrder
}).then( res => {
commit('collection/setCollection', res.data, { root: true });
commit('updateFiltersOrderFromCollection', res.data.filters_order);
resolve( res.data );
}).catch( error => {
reject( error.response );

View File

@ -24,6 +24,14 @@ export const setFilters = (state, filters) => {
state.filters = filters;
}
export const updateFiltersOrderFromCollection = (state, filtersOrder) => {
for (let i = 0; i < state.filters.length; i++) {
let updatedFilterIndex = filtersOrder.findIndex(aFilter => aFilter.id == state.filters[i].id);
if (updatedFilterIndex >= 0)
state.filters[i].enabled = filtersOrder[updatedFilterIndex].enabled;
}
}
export const setFilterTypes = (state, filterTypes) => {
state.filterTypes = filterTypes;
}

View File

@ -122,12 +122,13 @@ export const deleteMetadatum = ({commit}, {collectionId, metadatumId, isReposito
});
};
export const updateCollectionMetadataOrder = ({ dispatch }, {collectionId, metadataOrder}) => {
export const updateCollectionMetadataOrder = ({ commit }, {collectionId, metadataOrder}) => {
return new Promise((resolve, reject) => {
axios.tainacan.patch('/collections/' + collectionId, {
metadata_order: metadataOrder
}).then(res => {
//dispatch('collection/setCollection', res.data, {root: true});
commit('collection/setCollection', res.data, { root: true });
commit('updateMetadataOrderFromCollection', res.data.metadata_order);
resolve(res.data);
}).catch(error => {
reject(error.response);

View File

@ -15,6 +15,14 @@ export const setMetadata = (state, metadata) => {
state.metadata = metadata;
}
export const updateMetadataOrderFromCollection = (state, metadataOrder) => {
for (let i = 0; i < state.metadata.length; i++) {
let updatedMetadatumIndex = metadataOrder.findIndex(aMetadatum => aMetadatum.id == state.metadata[i].id);
if (updatedMetadatumIndex >= 0)
state.metadata[i].enabled = metadataOrder[updatedMetadatumIndex].enabled;
}
}
export const setMetadatumTypes = (state, metadatumTypes) => {
state.metadatumTypes = metadatumTypes;
}