Personal files: Fix select multiple + fix Shared personal files link

pull/3924/head
Julio Montoya 5 years ago
parent db06820d69
commit 990ff5eb03
  1. 34
      assets/vue/components/resource_links/EditLinks.vue
  2. 7
      assets/vue/mixins/ListMixin.js

@ -45,8 +45,11 @@
<VueMultiselect
placeholder="Share with User"
v-model="selectedUsers"
:loading="isLoading"
:options="users"
:multiple="true"
:searchable="true"
:internal-search="false"
@search-change="asyncFind"
limit-text="3"
limit="3"
@ -76,8 +79,6 @@ import useVuelidate from "@vuelidate/core";
import VueMultiselect from 'vue-multiselect'
import isEmpty from 'lodash/isEmpty';
import union from 'lodash/union';
export default {
name: 'EditLinks',
components: {
@ -95,28 +96,15 @@ export default {
{value: 0, label: 'Draft'},
];
//const { item } = toRefs(props);
const users = ref([]);
const selectedUsers = ref([]);
//const { item } = toRefs(props);
//const item = props.item;
/*const item = computed(
() => props.item
);*/
/*const itemProp = computed(
() => item
);*/
const isLoading = ref(false);
function addUser() {
selectedUsers.value.forEach(userResult => {
if (isEmpty(props.item.resourceLinkListFromEntity)) {
props.item.resourceLinkListFromEntity = [];
}
props.item.resourceLinkListFromEntity.push(
{
uid: userResult.id,
@ -131,26 +119,22 @@ export default {
return;
}
isLoading.value = true;
axios.get(ENTRYPOINT + 'users', {
params: {
username: query
}
}).then(response => {
isLoading.value = false;
let data = response.data;
data['hydra:member'].forEach(userResult => {
if (users.value.indexOf(userResult) >= 0) {
return;
}
users.value.push(userResult);
});
users.value = data['hydra:member'];
}).catch(function (error) {
isLoading.value = false;
console.log(error);
});
}
return {v$: useVuelidate(), visibilityList, users, selectedUsers, asyncFind, addUser};
return {v$: useVuelidate(), visibilityList, users, selectedUsers, asyncFind, addUser, isLoading};
},
};
</script>

@ -197,6 +197,11 @@ export default {
sharedDocumentHandler() {
let folderParams = this.$route.query;
this.filters['shared'] = 1;
this.filters['loadNode'] = 0;
delete this.filters['resourceNode.parent'];
this.resetList = true;
this.$router.push({ name: `${this.$options.servicePrefix}Shared` , query: folderParams});
},
@ -223,6 +228,8 @@ export default {
this.$route.params.node = resourceId;
//folderParams['node'] = resourceId;
this.filters[`resourceNode.parent`] = resourceId;
this.$router.push({
name: `${this.$options.servicePrefix}List`,
params: {node: resourceId},

Loading…
Cancel
Save