Restore proper functionality for showing other users inside grids
This commit is contained in:
parent
f8f970bf7e
commit
46d8ad2864
|
@ -112,10 +112,10 @@
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
}
|
}
|
||||||
.cell.focused {
|
.cell.focused {
|
||||||
--cell-color: var(--spectrum-global-color-blue-400);
|
--cell-color: var(--spectrum-global-color-blue-400) !important;
|
||||||
}
|
}
|
||||||
.cell.error {
|
.cell.error {
|
||||||
--cell-color: var(--spectrum-global-color-red-500);
|
--cell-color: var(--spectrum-global-color-red-500) !important;
|
||||||
}
|
}
|
||||||
.cell.readonly {
|
.cell.readonly {
|
||||||
--cell-color: var(--spectrum-global-color-gray-600);
|
--cell-color: var(--spectrum-global-color-gray-600);
|
||||||
|
@ -141,7 +141,7 @@
|
||||||
left: 0;
|
left: 0;
|
||||||
padding: 1px 4px 3px 4px;
|
padding: 1px 4px 3px 4px;
|
||||||
margin: 0 0 -2px 0;
|
margin: 0 0 -2px 0;
|
||||||
background: var(--user-color);
|
background: var(--cell-color);
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
display: block;
|
display: block;
|
||||||
color: white;
|
color: white;
|
||||||
|
@ -162,4 +162,10 @@
|
||||||
.error .label {
|
.error .label {
|
||||||
background: var(--spectrum-global-color-red-500);
|
background: var(--spectrum-global-color-red-500);
|
||||||
}
|
}
|
||||||
|
.selected-other:not(.error) .label {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.selected-other:not(.error):hover .label {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -193,7 +193,7 @@
|
||||||
row={newRow}
|
row={newRow}
|
||||||
focused={$focusedCellId === cellId}
|
focused={$focusedCellId === cellId}
|
||||||
width={column.width}
|
width={column.width}
|
||||||
rowIdx={0}
|
rowIdx={offset === 0 ? 0 : 1}
|
||||||
invertX={columnIdx >= $columnHorizontalInversionIndex}
|
invertX={columnIdx >= $columnHorizontalInversionIndex}
|
||||||
{invertY}
|
{invertY}
|
||||||
>
|
>
|
||||||
|
|
|
@ -85,11 +85,11 @@ export const deriveStores = context => {
|
||||||
|
|
||||||
const updateUser = user => {
|
const updateUser = user => {
|
||||||
const $users = get(users)
|
const $users = get(users)
|
||||||
const index = $users.findIndex(x => x.id === user.id)
|
if (!$users.some(x => x.id === user.id)) {
|
||||||
if (index === -1) {
|
|
||||||
users.set([...$users, user])
|
users.set([...$users, user])
|
||||||
} else {
|
} else {
|
||||||
users.update(state => {
|
users.update(state => {
|
||||||
|
const index = state.findIndex(x => x.id === user.id)
|
||||||
state[index] = user
|
state[index] = user
|
||||||
return state.slice()
|
return state.slice()
|
||||||
})
|
})
|
||||||
|
|
|
@ -40,7 +40,7 @@ export default class GridSocket extends Socket {
|
||||||
|
|
||||||
// Handle users selecting a new cell
|
// Handle users selecting a new cell
|
||||||
socket.on("select-cell", cellId => {
|
socket.on("select-cell", cellId => {
|
||||||
socket.data.user.selectedCellId = cellId
|
socket.data.user.focusedCellId = cellId
|
||||||
if (currentRoom) {
|
if (currentRoom) {
|
||||||
socket.to(currentRoom).emit("user-update", socket.data.user)
|
socket.to(currentRoom).emit("user-update", socket.data.user)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue