diff --git a/models/presence/package.json b/models/presence/package.json index 6eb2d0d6ad2..07051d9c01c 100644 --- a/models/presence/package.json +++ b/models/presence/package.json @@ -29,6 +29,7 @@ }, "dependencies": { "@hcengineering/core": "^0.6.32", + "@hcengineering/contact": "^0.6.24", "@hcengineering/model": "^0.6.11", "@hcengineering/model-core": "^0.6.0", "@hcengineering/model-presentation": "^0.6.0", diff --git a/packages/presentation/src/components/DrawingBoardToolbar.svelte b/packages/presentation/src/components/DrawingBoardToolbar.svelte index b6026ed1969..18dfa2dc190 100644 --- a/packages/presentation/src/components/DrawingBoardToolbar.svelte +++ b/packages/presentation/src/components/DrawingBoardToolbar.svelte @@ -1,5 +1,5 @@ + +
{ + toggleFollowee(person._id) + }} + >
{/each} {/if} {/if} + + diff --git a/plugins/presence-resources/src/components/PresenceContext.svelte b/plugins/presence-resources/src/components/PresenceContext.svelte index e46985ce17a..c288232756c 100644 --- a/plugins/presence-resources/src/components/PresenceContext.svelte +++ b/plugins/presence-resources/src/components/PresenceContext.svelte @@ -1,5 +1,5 @@ + +
{ + toggleFollowee(person._id) + }} + > +
{formatName(person.name)}
{/each} + + diff --git a/plugins/presence-resources/src/components/WorkbenchExtension.svelte b/plugins/presence-resources/src/components/WorkbenchExtension.svelte index 1e93be67ae3..715edc2aa9a 100644 --- a/plugins/presence-resources/src/components/WorkbenchExtension.svelte +++ b/plugins/presence-resources/src/components/WorkbenchExtension.svelte @@ -1,3 +1,18 @@ + + @@ -150,7 +223,8 @@ {#if loading}
@@ -160,7 +234,8 @@ {:else}
{ savedCmds.push([cmd]) @@ -184,12 +260,21 @@ changingCmdId = undefined }, cmdDeleted: deleteCommand, + panning: () => { + panning = true + }, panned: (newOffset) => { + panning = false offset = newOffset - // savedProps.set('offset', offset) }, editorCreated: (editor) => { cmdEditor = editor + }, + pointerMoved: (canvasPos) => { + onPointerMoved(canvasPos) + }, + personCursorMoved: (nodePos) => { + personCursorNodePos = nodePos } }} > @@ -212,11 +297,29 @@ on:clear={() => { savedCmds.delete(0, savedCmds.length) offset = { x: 0, y: 0 } - // savedProps.set('offset', { x: 0, y: 0 }) }} /> {/if} + {#if personCursorVisible && personCursorNodePos !== undefined && followee !== undefined} +
+
+ +
+
+ + + +
+
+ {/if}
{/if} {/if} @@ -226,11 +329,43 @@ position: relative; width: 100%; background-color: var(--drawing-bg-color); - border: 1px solid var(--theme-navpanel-border); border-radius: var(--small-BorderRadius); + border: 1px solid var(--theme-navpanel-border); + + &.fullSize { + border-radius: unset; + border: none; + } &.selected { border: 1px solid var(--theme-editbox-focus-border); } } + + .personCursor { + position: absolute; + z-index: 20; + width: 40px; + height: 40px; + } + + .personAvatar { + position: absolute; + left: 7px; + top: 17px; + border-radius: 20%; + box-shadow: 0.05rem 0.05rem 0.3rem rgba(0, 0, 0, 0.5); + } + + .arrowFrame { + position: absolute; + } + + .cursorArrow { + fill: #efefef; + stroke: #222222; + stroke-width: 1.2; + stroke-linejoin: round; + filter: drop-shadow(2px 2px 3px rgba(0, 0, 0, 0.3)); + } diff --git a/plugins/text-editor-resources/src/components/DrawingBoardNodeView.svelte b/plugins/text-editor-resources/src/components/DrawingBoardNodeView.svelte index 53e7fc25b72..4bb5085bf36 100644 --- a/plugins/text-editor-resources/src/components/DrawingBoardNodeView.svelte +++ b/plugins/text-editor-resources/src/components/DrawingBoardNodeView.svelte @@ -1,5 +1,5 @@