Remove edges from rooms query
This commit is contained in:
parent
e0c95ad9ce
commit
6ce00694d7
|
|
@ -13,24 +13,18 @@ describe('Room Team Management - Read only', () => {
|
|||
},
|
||||
},
|
||||
RoomsQuery: {
|
||||
rooms: {
|
||||
edges: [
|
||||
{
|
||||
node: {
|
||||
id: '',
|
||||
slug: '',
|
||||
title: 'some room',
|
||||
entryCount: 3,
|
||||
appearance: 'red',
|
||||
description: 'some description',
|
||||
schoolClass: {
|
||||
id: SELECTED_CLASS_ID,
|
||||
name: 'bla',
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
rooms: [{
|
||||
id: '',
|
||||
slug: '',
|
||||
title: 'some room',
|
||||
entryCount: 3,
|
||||
appearance: 'red',
|
||||
description: 'some description',
|
||||
schoolClass: {
|
||||
id: SELECTED_CLASS_ID,
|
||||
name: 'bla',
|
||||
},
|
||||
}],
|
||||
},
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -156,9 +156,7 @@ describe('The Room Page', () => {
|
|||
MeQuery,
|
||||
RoomsQuery() {
|
||||
return {
|
||||
rooms: {
|
||||
edges: rooms.map(room => ({node: room})),
|
||||
},
|
||||
rooms
|
||||
};
|
||||
},
|
||||
RoomEntriesQuery: {
|
||||
|
|
|
|||
|
|
@ -4,17 +4,11 @@ describe('The Rooms Page', () => {
|
|||
const getOperations = (isTeacher) => ({
|
||||
MeQuery: getMinimalMe({isTeacher}),
|
||||
RoomsQuery: {
|
||||
rooms: {
|
||||
edges: [
|
||||
{
|
||||
node: {
|
||||
schoolClass: {
|
||||
id: btoa('SchoolClassNode:selectedClassId'),
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
rooms: [{
|
||||
schoolClass: {
|
||||
id: btoa('SchoolClassNode:selectedClassId'),
|
||||
},
|
||||
}],
|
||||
},
|
||||
});
|
||||
|
||||
|
|
@ -23,9 +17,7 @@ describe('The Rooms Page', () => {
|
|||
return {
|
||||
...operations,
|
||||
RoomsQuery: {
|
||||
rooms: {
|
||||
edges: [],
|
||||
},
|
||||
rooms: [],
|
||||
},
|
||||
};
|
||||
};
|
||||
|
|
@ -105,9 +97,7 @@ describe('The Rooms Page', () => {
|
|||
MeQuery,
|
||||
RoomsQuery() {
|
||||
return {
|
||||
rooms: {
|
||||
edges: rooms.map(room => ({node: room})),
|
||||
},
|
||||
rooms
|
||||
};
|
||||
},
|
||||
AddRoom({input: {room: {title, appearance, description}}}) {
|
||||
|
|
|
|||
|
|
@ -59,9 +59,16 @@
|
|||
},
|
||||
update: (store, {data: {deleteRoom: {success}}}) => {
|
||||
if (success) {
|
||||
const data = store.readQuery({query: ROOMS_QUERY});
|
||||
if (data) {
|
||||
data.rooms.edges.splice(data.rooms.edges.findIndex(edge => edge.node.id === this.id), 1);
|
||||
const {rooms} = store.readQuery({query: ROOMS_QUERY});
|
||||
if (rooms) {
|
||||
const index = rooms.findIndex(edge => edge.node.id === this.id);
|
||||
const slicedRooms = [
|
||||
rooms.slice(0, index),
|
||||
rooms.slice(index+1)
|
||||
];
|
||||
const data = {
|
||||
rooms: slicedRooms
|
||||
};
|
||||
store.writeQuery({query: ROOMS_QUERY, data});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,12 +53,25 @@
|
|||
try {
|
||||
const query = ROOM_ENTRIES_QUERY;
|
||||
const variables = {slug: this.room.slug};
|
||||
const data = store.readQuery({query, variables});
|
||||
if (data.room && data.room.roomEntries) {
|
||||
data.room.roomEntries.edges.unshift({
|
||||
const {room} = store.readQuery({query, variables});
|
||||
if (room && room.roomEntries) {
|
||||
const newEdge ={
|
||||
node: roomEntry,
|
||||
__typename: 'RoomEntryNode'
|
||||
});
|
||||
__typename: 'RoomEntryNodeEdge'
|
||||
};
|
||||
const edges = [
|
||||
newEdge,
|
||||
...room.roomEntries.edges
|
||||
];
|
||||
const data = {
|
||||
room: {
|
||||
...room,
|
||||
roomEntries: {
|
||||
...room.roomEntries,
|
||||
edges
|
||||
}
|
||||
}
|
||||
};
|
||||
store.writeQuery({query, variables, data});
|
||||
}
|
||||
} catch (e) {
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
#import "../fragments/roomParts.gql"
|
||||
query RoomsQuery {
|
||||
rooms {
|
||||
edges {
|
||||
node {
|
||||
...RoomParts
|
||||
}
|
||||
}
|
||||
...RoomParts
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,12 +40,15 @@
|
|||
},
|
||||
update: (store, {data: {addRoom: {room}}}) => {
|
||||
try {
|
||||
const data = store.readQuery({query: ROOMS_QUERY});
|
||||
if (data.rooms) {
|
||||
data.rooms.edges.push({
|
||||
node: room,
|
||||
__typename: 'RoomNodeEdge'
|
||||
});
|
||||
const {rooms} = store.readQuery({query: ROOMS_QUERY});
|
||||
if (rooms) {
|
||||
const expandedRooms = [
|
||||
...rooms,
|
||||
room
|
||||
];
|
||||
const data = {
|
||||
rooms: expandedRooms
|
||||
};
|
||||
store.writeQuery({query: ROOMS_QUERY, data});
|
||||
}
|
||||
} catch (e) {
|
||||
|
|
|
|||
|
|
@ -69,9 +69,6 @@
|
|||
apollo: {
|
||||
rooms: {
|
||||
query: ROOMS_QUERY,
|
||||
update(data) {
|
||||
return this.$getRidOfEdges(data).rooms;
|
||||
},
|
||||
pollInterval: 5000,
|
||||
},
|
||||
me: {
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ class RoomsQuery(object):
|
|||
room_entry = graphene.Field(RoomEntryNode, id=graphene.ID(), slug=graphene.String())
|
||||
room = graphene.Field(RoomNode, slug=graphene.String(), id=graphene.ID(), appearance=graphene.String())
|
||||
|
||||
rooms = DjangoFilterConnectionField(RoomNode)
|
||||
rooms = graphene.List(RoomNode)
|
||||
all_room_entries = DjangoFilterConnectionField(RoomEntryNode)
|
||||
|
||||
def resolve_rooms(self, info, **kwargs):
|
||||
|
|
|
|||
|
|
@ -474,7 +474,7 @@ type CustomQuery {
|
|||
objectiveGroups(offset: Int, before: String, after: String, first: Int, last: Int, title: String, module_Slug: String): ObjectiveGroupNodeConnection
|
||||
roomEntry(id: ID, slug: String): RoomEntryNode
|
||||
room(slug: String, id: ID, appearance: String): RoomNode
|
||||
rooms(offset: Int, before: String, after: String, first: Int, last: Int, slug: String, appearance: String): RoomNodeConnection
|
||||
rooms: [RoomNode]
|
||||
allRoomEntries(offset: Int, before: String, after: String, first: Int, last: Int, slug: String): RoomEntryNodeConnection
|
||||
moduleRoom(slug: String, classId: ID): RoomNode
|
||||
me: PrivateUserNode
|
||||
|
|
@ -933,16 +933,6 @@ type RoomNode implements Node {
|
|||
entryCount: Int
|
||||
}
|
||||
|
||||
type RoomNodeConnection {
|
||||
pageInfo: PageInfo!
|
||||
edges: [RoomNodeEdge]!
|
||||
}
|
||||
|
||||
type RoomNodeEdge {
|
||||
node: RoomNode
|
||||
cursor: String!
|
||||
}
|
||||
|
||||
input SchoolClassInput {
|
||||
id: ID
|
||||
name: String
|
||||
|
|
|
|||
Loading…
Reference in New Issue