fix(dashboard): fix cards not updating after editing
This commit is contained in:
		@@ -13,14 +13,10 @@
 | 
			
		||||
 | 
			
		||||
    let err: string[] = [];
 | 
			
		||||
 | 
			
		||||
    let input: Group = {...group};
 | 
			
		||||
    let input: Group = group;
 | 
			
		||||
 | 
			
		||||
    const dispatch = createEventDispatcher();
 | 
			
		||||
 | 
			
		||||
    function update() {
 | 
			
		||||
        dispatch('update', group);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function deletion() {
 | 
			
		||||
        dispatch('deletion', group.id);
 | 
			
		||||
    }
 | 
			
		||||
@@ -45,7 +41,6 @@
 | 
			
		||||
            let res = await api().groups(group.id).patch({data});
 | 
			
		||||
            group = {...group, ...res};
 | 
			
		||||
            err = [];
 | 
			
		||||
            update();
 | 
			
		||||
            editMode = false;
 | 
			
		||||
            loading = false;
 | 
			
		||||
        } catch (error) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
    import { Row, Col, Button, Alert, ListGroup, ListGroupItem, Spinner } from 'sveltestrap';
 | 
			
		||||
    import { createEventDispatcher } from 'svelte';
 | 
			
		||||
    import ListPagination from "../ListPagination.svelte";
 | 
			
		||||
    import twemoji from "twemoji";
 | 
			
		||||
    import FaUserPlus from 'svelte-icons/fa/FaUserPlus.svelte'
 | 
			
		||||
@@ -29,7 +28,9 @@
 | 
			
		||||
 | 
			
		||||
    let smallPages = true;
 | 
			
		||||
 | 
			
		||||
    $: if (group.members) {
 | 
			
		||||
    updateMemberList();
 | 
			
		||||
 | 
			
		||||
    function updateMemberList() {
 | 
			
		||||
        membersInGroup = members.filter(member => group.members.includes(member.uuid));
 | 
			
		||||
        membersInGroup = membersInGroup.sort((a, b) => a.name.localeCompare(b.name));
 | 
			
		||||
 | 
			
		||||
@@ -61,12 +62,6 @@ function memberListRenderer(item: any) {
 | 
			
		||||
  addFormatter({
 | 
			
		||||
    'member-list': memberListRenderer
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  const dispatch = createEventDispatcher();
 | 
			
		||||
 | 
			
		||||
  function update() {
 | 
			
		||||
      dispatch("updateMembers", group)
 | 
			
		||||
  }
 | 
			
		||||
    
 | 
			
		||||
    async function submitAdd() {
 | 
			
		||||
        let data = membersToBeAdded;
 | 
			
		||||
@@ -74,7 +69,7 @@ function memberListRenderer(item: any) {
 | 
			
		||||
            loading = true;
 | 
			
		||||
            await api().groups(group.id).members.add.post({data});
 | 
			
		||||
            data.forEach(member => group.members.push(member));
 | 
			
		||||
            update();
 | 
			
		||||
            updateMemberList();
 | 
			
		||||
            err = null;
 | 
			
		||||
            membersToBeAdded = [];
 | 
			
		||||
            loading = false;
 | 
			
		||||
@@ -91,7 +86,7 @@ function memberListRenderer(item: any) {
 | 
			
		||||
            loading = true;
 | 
			
		||||
            await api().groups(group.id).members.remove.post({data});
 | 
			
		||||
            group.members = group.members.filter(m => !data.includes(m));
 | 
			
		||||
            update();
 | 
			
		||||
            updateMemberList();
 | 
			
		||||
            err = null;
 | 
			
		||||
            membersToBeRemoved = [];
 | 
			
		||||
            loading = false;
 | 
			
		||||
 
 | 
			
		||||
@@ -15,14 +15,10 @@
 | 
			
		||||
 | 
			
		||||
    let err: string[] = [];
 | 
			
		||||
 | 
			
		||||
    let input: Member = {...member};
 | 
			
		||||
    let input: Member = member;
 | 
			
		||||
 | 
			
		||||
    const dispatch = createEventDispatcher();
 | 
			
		||||
 | 
			
		||||
    function update() {
 | 
			
		||||
        dispatch('update', member);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    function deletion() {
 | 
			
		||||
        dispatch('deletion', member.id);
 | 
			
		||||
    }
 | 
			
		||||
@@ -71,7 +67,6 @@
 | 
			
		||||
            let res = await api().members(member.id).patch({data});
 | 
			
		||||
            member = res;
 | 
			
		||||
            err = [];
 | 
			
		||||
            update();
 | 
			
		||||
            editMode = false;
 | 
			
		||||
            loading = false;
 | 
			
		||||
        } catch (error) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
    import { Row, Col, Button, Alert, ListGroup, ListGroupItem, Spinner } from 'sveltestrap';
 | 
			
		||||
    import { createEventDispatcher } from 'svelte';
 | 
			
		||||
    import ListPagination from "../ListPagination.svelte";
 | 
			
		||||
    import twemoji from "twemoji";
 | 
			
		||||
    import Svelecte, { addFormatter } from 'svelecte';
 | 
			
		||||
@@ -30,7 +29,9 @@
 | 
			
		||||
    let currentPage = 1;
 | 
			
		||||
    let smallPages = true;
 | 
			
		||||
 | 
			
		||||
    $: if (groups) {
 | 
			
		||||
    updateGroupLists();
 | 
			
		||||
 | 
			
		||||
    function updateGroupLists() {
 | 
			
		||||
        groupsWithMember = groups.filter(group => group.members && group.members.includes(member.uuid));
 | 
			
		||||
        groupsWithMember.sort((a, b) => a.name.localeCompare(b.name));
 | 
			
		||||
 | 
			
		||||
@@ -63,19 +64,13 @@
 | 
			
		||||
        'member-list': groupListRenderer
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    const dispatch = createEventDispatcher();
 | 
			
		||||
 | 
			
		||||
    function updateGroups() {
 | 
			
		||||
        dispatch("updateGroups", groups);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async function submitAdd() {
 | 
			
		||||
        let data = groupsToBeAdded;
 | 
			
		||||
        try {
 | 
			
		||||
            loading = true;
 | 
			
		||||
            await api().members(member.id).groups.add.post({data});
 | 
			
		||||
            groups.forEach(group =>  data.includes(group.uuid) && group.members.push(member.uuid));
 | 
			
		||||
            updateGroups();
 | 
			
		||||
            updateGroupLists();
 | 
			
		||||
            err = null;
 | 
			
		||||
            groupsToBeAdded = [];
 | 
			
		||||
            loading = false;
 | 
			
		||||
@@ -92,7 +87,7 @@
 | 
			
		||||
            loading = true;
 | 
			
		||||
            await api().members(member.id).groups.remove.post({data});
 | 
			
		||||
            groups.forEach(group => {if (data.includes(group.uuid)) group.members = group.members.filter(m => m !== member.uuid)});
 | 
			
		||||
            updateGroups();
 | 
			
		||||
            updateGroupLists();
 | 
			
		||||
            err = null;
 | 
			
		||||
            groupsToBeRemoved = [];
 | 
			
		||||
            loading = false;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user