Skip to content

Commit c752225

Browse files
committed
chnage cursor and add websocket emitter to custom elementdelete
1 parent be8ce90 commit c752225

File tree

5 files changed

+35
-9
lines changed

5 files changed

+35
-9
lines changed

app/src/components/left/DragDropPanel.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import HTMLItem from './HTMLItem';
44
import React from 'react';
55
import { RootState } from '../../redux/store';
66
import { deleteElement } from '../../redux/reducers/slice/appStateSlice';
7+
import { emitEvent } from '../../helperFunctions/socket';
78

89
/*
910
DESCRIPTION: This is the top half of the left panel, starting from the 'HTML
@@ -23,10 +24,18 @@ const DragDropPanel = (props): JSX.Element => {
2324

2425
const state = useSelector((store: RootState) => store.appState);
2526
const contextParam = useSelector((store: RootState) => store.contextSlice);
27+
const roomCode = useSelector((store: RootState) => store.roomSlice.roomCode);
2628

2729
const handleDelete = (id: number): void => {
2830
dispatch(deleteElement({ id: id, contextParam: contextParam }));
31+
if (roomCode) {
32+
emitEvent('deleteElementAction', roomCode, {
33+
id,
34+
contextParam
35+
});
36+
}
2937
};
38+
3039
// filter out separator so that it will not appear on the html panel
3140
const htmlTypesToRender = state.HTMLTypes.filter(
3241
(type) => type.name !== 'separator'

app/src/components/left/ElementsContainer.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,23 @@ import DragDropPanel from './DragDropPanel';
77

88
import { deleteChild } from '../../redux/reducers/slice/appStateSlice';
99
import { RootState } from '../../redux/store';
10+
import { emitEvent } from '../../helperFunctions/socket';
1011

1112
// Left-hand portion of the app, where predefined component options are displayed
1213
const ElementsContainer = (props): JSX.Element => {
1314
const contextParam = useSelector((store: RootState) => store.contextSlice);
15+
const roomCode = useSelector((store: RootState) => store.roomSlice.roomCode);
1416

1517
const dispatch = useDispatch();
1618

1719
const handleDelete = () => {
1820
dispatch(deleteChild({ id: {}, contextParam: contextParam }));
21+
// if (roomCode) {
22+
// emitEvent('deleteChildAction', roomCode, {
23+
// id,
24+
// contextParam
25+
// });
26+
// }
1927
};
2028

2129
const keyBindedFunc = useCallback((e) => {

app/src/components/left/RoomsContainer.tsx

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {
1414
addChild,
1515
changeFocus,
1616
deleteChild,
17+
deleteElement,
1718
changePosition,
1819
resetState,
1920
updateStateUsed,
@@ -39,7 +40,6 @@ import {
3940
getSocket,
4041
disconnectSocket
4142
} from '../../helperFunctions/socket';
42-
import Canvas from '../components/main/Canvas';
4343

4444
// // for websockets
4545
// // Part - join room and room code functionality
@@ -109,22 +109,27 @@ const RoomsContainer = () => {
109109
});
110110

111111
socket.on('child data from server', (childData: object) => {
112-
console.log('child data received by users', childData);
112+
// console.log('child data received by users', childData);
113113
store.dispatch(addChild(childData));
114114
});
115115

116116
socket.on('focus data from server', (focusData: object) => {
117-
console.log('focus data received from server', focusData);
117+
// console.log('focus data received from server', focusData);
118118
store.dispatch(changeFocus(focusData));
119119
});
120120

121121
socket.on('delete data from server', (deleteData: object) => {
122-
console.log('delete data received from server', deleteData);
122+
// console.log('delete data received from server', deleteData);
123123
store.dispatch(deleteChild(deleteData));
124124
});
125125

126+
socket.on('delete element data from server', (deleteElementData: object) => {
127+
// console.log('delete element data received from server', deleteElementData);
128+
store.dispatch(deleteElement(deleteElementData));
129+
});
130+
126131
socket.on('update data from server', (updateData: BottomPanelObj) => {
127-
console.log('update data received from server', updateData);
132+
// console.log('update data received from server', updateData);
128133
store.dispatch(updateStateUsed({stateUsedObj: updateData.stateUsedObj, contextParam: updateData.contextParam}));
129134
store.dispatch(updateUseContext({useContextObj: updateData.useContextObj, contextParam: updateData.contextParam}));
130135
store.dispatch(updateCss({style: updateData.style, contextParam: updateData.contextParam}));
@@ -133,7 +138,7 @@ const RoomsContainer = () => {
133138
});
134139

135140
socket.on('update css data from server', (cssData: object) => {
136-
console.log('CSS data received from server', cssData);
141+
// console.log('CSS data received from server', cssData);
137142
store.dispatch(updateStylesheet(cssData));
138143
});
139144

app/src/components/main/Canvas.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { RootState } from '../../redux/store';
1515
import { combineStyles } from '../../helperFunctions/combineStyles';
1616
import renderChildren from '../../helperFunctions/renderChildren';
1717
import { emitEvent, getSocket } from '../../helperFunctions/socket';
18-
import { GiBoba } from 'react-icons/gi';
18+
import { FaMousePointer } from 'react-icons/fa';
1919
import { Console } from 'console';
2020

2121
function Canvas(props: {}): JSX.Element {
@@ -175,7 +175,7 @@ function Canvas(props: {}): JSX.Element {
175175
childId: childId
176176
});
177177
}
178-
console.log('emit changeFocusAction event is triggered in canvas');
178+
// console.log('emit changeFocusAction event is triggered in canvas');
179179
};
180180

181181
// onClickHandler is responsible for changing the focused component and child component
@@ -341,7 +341,7 @@ function Canvas(props: {}): JSX.Element {
341341
color: userColors[userList.indexOf(cursor.remoteUserName)]
342342
}}
343343
>
344-
{<GiBoba />}
344+
{<FaMousePointer />}
345345
{cursor.remoteUserName}
346346
</div>
347347
)

server/server.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,10 @@ io.on('connection', (client) => {
205205
client.to(roomCode).emit('delete data from server', deleteData);
206206
});
207207

208+
client.on('deleteElementAction', (roomCode: string, deleteElementData: object) => {
209+
client.to(roomCode).emit('delete element data from server', deleteElementData);
210+
});
211+
208212
client.on('updateChildAction', (roomCode: string, updateData: object) => {
209213
client.to(roomCode).emit('update data from server', updateData);
210214
});

0 commit comments

Comments
 (0)