@activecollab/components 2.0.440 → 2.0.442
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Dialog/Dialog.js +8 -1
- package/dist/cjs/components/Dialog/Dialog.js.map +1 -1
- package/dist/cjs/components/Modal/Modal.js +16 -4
- package/dist/cjs/components/Modal/Modal.js.map +1 -1
- package/dist/cjs/components/Transitions/Fade/Fade.js +3 -2
- package/dist/cjs/components/Transitions/Fade/Fade.js.map +1 -1
- package/dist/cjs/components/Transitions/SlideFromTop/SlideFromTop.js +7 -5
- package/dist/cjs/components/Transitions/SlideFromTop/SlideFromTop.js.map +1 -1
- package/dist/cjs/presentation/shared/UserDetailsDialog.js +125 -0
- package/dist/cjs/presentation/shared/UserDetailsDialog.js.map +1 -0
- package/dist/cjs/presentation/shared/index.js +15 -0
- package/dist/cjs/presentation/shared/index.js.map +1 -1
- package/dist/cjs/presentation/whiteboard/bottomDock.js +10 -3
- package/dist/cjs/presentation/whiteboard/bottomDock.js.map +1 -1
- package/dist/cjs/presentation/whiteboard/canvasElements.js +114 -25
- package/dist/cjs/presentation/whiteboard/canvasElements.js.map +1 -1
- package/dist/cjs/presentation/whiteboard/entityCardActions.js +79 -0
- package/dist/cjs/presentation/whiteboard/entityCardActions.js.map +1 -0
- package/dist/cjs/presentation/whiteboard/inspector.js +20 -5
- package/dist/cjs/presentation/whiteboard/inspector.js.map +1 -1
- package/dist/cjs/presentation/whiteboard/outline.js +4 -2
- package/dist/cjs/presentation/whiteboard/outline.js.map +1 -1
- package/dist/cjs/presentation/whiteboard/projectElements.js +188 -53
- package/dist/cjs/presentation/whiteboard/projectElements.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/esm/components/Dialog/Dialog.js +10 -3
- package/dist/esm/components/Dialog/Dialog.js.map +1 -1
- package/dist/esm/components/Modal/Modal.d.ts +5 -0
- package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
- package/dist/esm/components/Modal/Modal.js +16 -4
- package/dist/esm/components/Modal/Modal.js.map +1 -1
- package/dist/esm/components/Transitions/Fade/Fade.d.ts +1 -0
- package/dist/esm/components/Transitions/Fade/Fade.d.ts.map +1 -1
- package/dist/esm/components/Transitions/Fade/Fade.js +2 -1
- package/dist/esm/components/Transitions/Fade/Fade.js.map +1 -1
- package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.d.ts +2 -0
- package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.d.ts.map +1 -1
- package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.js +6 -4
- package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.js.map +1 -1
- package/dist/esm/presentation/shared/UserDetailsDialog.d.ts +45 -0
- package/dist/esm/presentation/shared/UserDetailsDialog.d.ts.map +1 -0
- package/dist/esm/presentation/shared/UserDetailsDialog.js +115 -0
- package/dist/esm/presentation/shared/UserDetailsDialog.js.map +1 -0
- package/dist/esm/presentation/shared/index.d.ts +2 -0
- package/dist/esm/presentation/shared/index.d.ts.map +1 -1
- package/dist/esm/presentation/shared/index.js +1 -0
- package/dist/esm/presentation/shared/index.js.map +1 -1
- package/dist/esm/presentation/whiteboard/bottomDock.d.ts +3 -2
- package/dist/esm/presentation/whiteboard/bottomDock.d.ts.map +1 -1
- package/dist/esm/presentation/whiteboard/bottomDock.js +9 -4
- package/dist/esm/presentation/whiteboard/bottomDock.js.map +1 -1
- package/dist/esm/presentation/whiteboard/canvasElements.d.ts.map +1 -1
- package/dist/esm/presentation/whiteboard/canvasElements.js +94 -25
- package/dist/esm/presentation/whiteboard/canvasElements.js.map +1 -1
- package/dist/esm/presentation/whiteboard/entityCardActions.d.ts +37 -0
- package/dist/esm/presentation/whiteboard/entityCardActions.d.ts.map +1 -0
- package/dist/esm/presentation/whiteboard/entityCardActions.js +69 -0
- package/dist/esm/presentation/whiteboard/entityCardActions.js.map +1 -0
- package/dist/esm/presentation/whiteboard/inspector.d.ts.map +1 -1
- package/dist/esm/presentation/whiteboard/inspector.js +29 -7
- package/dist/esm/presentation/whiteboard/inspector.js.map +1 -1
- package/dist/esm/presentation/whiteboard/outline.d.ts +1 -1
- package/dist/esm/presentation/whiteboard/outline.d.ts.map +1 -1
- package/dist/esm/presentation/whiteboard/outline.js +5 -3
- package/dist/esm/presentation/whiteboard/outline.js.map +1 -1
- package/dist/esm/presentation/whiteboard/projectElements.d.ts +40 -8
- package/dist/esm/presentation/whiteboard/projectElements.d.ts.map +1 -1
- package/dist/esm/presentation/whiteboard/projectElements.js +181 -55
- package/dist/esm/presentation/whiteboard/projectElements.js.map +1 -1
- package/dist/index.js +34 -10
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvasElements.d.ts","sourceRoot":"","sources":["../../../../src/presentation/whiteboard/canvasElements.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,YAAY,EAKb,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,SAAS,EAMV,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,gBAAgB,EAChB,QAAQ,EAGR,iBAAiB,EAEjB,eAAe,EAShB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"canvasElements.d.ts","sourceRoot":"","sources":["../../../../src/presentation/whiteboard/canvasElements.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,YAAY,EAKb,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,SAAS,EAMV,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,gBAAgB,EAChB,QAAQ,EAGR,iBAAiB,EAEjB,eAAe,EAShB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAGL,cAAc,EAIf,MAAM,eAAe,CAAC;AACvB,OAAO,EAIL,cAAc,EAMf,MAAM,eAAe,CAAC;AAEvB,OAAO,EAIL,iBAAiB,EAWlB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,+CAA+C,CAAC;AAE7E;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,wBAAwB,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IAKvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAKxE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,YAAY,EAAE,KAAK,CAAC,QAAQ,CAC1B,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAC/D,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1C,SAAS,EAAE,KAAK,CAAC,QAAQ,CACvB,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CACxD,CAAC;IACF,WAAW,EAAE,eAAe,CAAC;IAC7B,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;IAGtE,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACjE,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAGjE,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IAG9E,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAE3E,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGlC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACzE;AAUD,eAAO,MAAM,cAAc,GAAI,sTAyB5B,mBAAmB,KAAG,YAitCxB,CAAC"}
|
|
@@ -2,9 +2,11 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
3
3
|
import { CARD_PREVIEW_HEIGHT, SHAPE_DEFAULT_SIZES, isShapeTool } from "./bottomDock";
|
|
4
4
|
import { CANVAS_ELEMENTS, PostitFormattingToolbar, ResizeHandles, ShapeFormattingToolbar, StyledCanvasElement, StyledCanvasLayer, StyledSticky, defaultShapeState, gridLevel, renderShapeBody, snapValue, stickyGradient } from "./elements";
|
|
5
|
+
import { PersonCardToolbar, personDetailsProps } from "./entityCardActions";
|
|
5
6
|
import { FILE_DEFAULT_WIDTH, FileElement, binaryFrom, describeFile, revokeThumbnail } from "./fileElement";
|
|
6
7
|
import { CARD_DRAW_THRESHOLD, LINK_DEFAULT_WIDTH, LinkElement, StyledLinkDraft, StyledShapePreview, clampCardWidth, isValidLinkUrl, shapePreviewGlyph } from "./linkElement";
|
|
7
|
-
import {
|
|
8
|
+
import { UserDetailsDialog } from "../shared";
|
|
9
|
+
import { PERSON_DEFAULT_SIZE, PLACEHOLDER_MIN_HEIGHT, PLACEHOLDER_MIN_WIDTH, ProjectElementNode, ProjectElementPicker, RESOLVE_MS, StyledPersonDraft, StyledProjectDraft, StyledProjectElementBox, clampPersonSize, isProjectTool, projectCardWidth } from "./projectElements";
|
|
8
10
|
|
|
9
11
|
/**
|
|
10
12
|
* A card is full of its own controls — the URL field, the display toggle, the
|
|
@@ -37,7 +39,7 @@ export const DRAG_THROUGH_SELECTOR = "[data-drag-through]";
|
|
|
37
39
|
Link elements are created here too — by drawing a box with the Link tool
|
|
38
40
|
armed, or by pasting a URL onto the canvas. */
|
|
39
41
|
export const CanvasElements = _ref => {
|
|
40
|
-
var _projectElements$find;
|
|
42
|
+
var _projectElements$find, _projectElements$find2, _projectElements$find3;
|
|
41
43
|
let gridSize = _ref.gridSize,
|
|
42
44
|
snapToGrid = _ref.snapToGrid,
|
|
43
45
|
activeTool = _ref.activeTool,
|
|
@@ -435,7 +437,8 @@ export const CanvasElements = _ref => {
|
|
|
435
437
|
height: size.height,
|
|
436
438
|
status: "placeholder",
|
|
437
439
|
project: null,
|
|
438
|
-
task: null
|
|
440
|
+
task: null,
|
|
441
|
+
person: null
|
|
439
442
|
}]);
|
|
440
443
|
setSelectedId(id);
|
|
441
444
|
setPickerFor(id);
|
|
@@ -444,21 +447,21 @@ export const CanvasElements = _ref => {
|
|
|
444
447
|
/* The picker answered. The card keeps the placeholder's top-left and flashes
|
|
445
448
|
a skeleton while the "backend" fills the details in — the same two-phase
|
|
446
449
|
honesty the file card's upload / preparing pair has. */
|
|
447
|
-
const resolveProjectElement = useCallback((id,
|
|
450
|
+
const resolveProjectElement = useCallback((id, fill) => {
|
|
448
451
|
setPickerFor(null);
|
|
449
452
|
setProjectElements(current => current.map(entry => entry.id === id ? _extends({}, entry, {
|
|
450
|
-
status: "resolving"
|
|
451
|
-
|
|
452
|
-
task
|
|
453
|
-
}) : entry));
|
|
453
|
+
status: "resolving"
|
|
454
|
+
}, fill) : entry));
|
|
454
455
|
const timer = window.setTimeout(() => {
|
|
455
456
|
setProjectElements(current => current.map(entry => entry.id === id ? _extends({}, entry, {
|
|
456
457
|
status: "resolved",
|
|
457
458
|
/* The card takes its natural width HERE rather than the
|
|
458
459
|
renderer deriving it, so from this moment on there is a
|
|
459
460
|
single stored width for the canvas, the drag and the
|
|
460
|
-
Inspector's Width field to agree on.
|
|
461
|
-
|
|
461
|
+
Inspector's Width field to agree on. A person keeps the
|
|
462
|
+
square that was drawn: the avatar fills whatever circle
|
|
463
|
+
the gesture made. */
|
|
464
|
+
width: entry.kind === "person" ? entry.width : projectCardWidth(entry.kind)
|
|
462
465
|
}) : entry));
|
|
463
466
|
}, RESOLVE_MS);
|
|
464
467
|
resolveTimersRef.current.push(timer);
|
|
@@ -474,6 +477,20 @@ export const CanvasElements = _ref => {
|
|
|
474
477
|
}, [setProjectElements, setSelectedId]);
|
|
475
478
|
const pickerElement = (_projectElements$find = projectElements.find(entry => entry.id === pickerFor)) != null ? _projectElements$find : null;
|
|
476
479
|
|
|
480
|
+
/* A selected element's Delete, the same removal the link and file cards' own
|
|
481
|
+
toolbars do: the board element goes, the entity is never touched. */
|
|
482
|
+
const deleteProjectElement = useCallback(id => {
|
|
483
|
+
setProjectElements(current => current.filter(entry => entry.id !== id));
|
|
484
|
+
setSelectedId(selected => selected === id ? null : selected);
|
|
485
|
+
}, [setProjectElements, setSelectedId]);
|
|
486
|
+
|
|
487
|
+
/* Which person's Details dialog is open — keyed off the element id so the
|
|
488
|
+
element stays the single source of the person it shows. */
|
|
489
|
+
const _useState6 = useState(null),
|
|
490
|
+
detailsId = _useState6[0],
|
|
491
|
+
setDetailsId = _useState6[1];
|
|
492
|
+
const detailsPerson = (_projectElements$find2 = (_projectElements$find3 = projectElements.find(entry => entry.id === detailsId)) == null ? void 0 : _projectElements$find3.person) != null ? _projectElements$find2 : null;
|
|
493
|
+
|
|
477
494
|
/* ---- draw-to-place ------------------------------------------------ */
|
|
478
495
|
|
|
479
496
|
const drawRef = useRef(null);
|
|
@@ -528,6 +545,14 @@ export const CanvasElements = _ref => {
|
|
|
528
545
|
width,
|
|
529
546
|
height
|
|
530
547
|
} : SHAPE_DEFAULT_SIZES[origin.tool]);
|
|
548
|
+
} else if (origin.tool === "person") {
|
|
549
|
+
/* A person is a square: the drawn WIDTH is its side, clamped to the
|
|
550
|
+
person bounds, and a plain click drops the default size. */
|
|
551
|
+
const side = drawn ? clampPersonSize(width) : PERSON_DEFAULT_SIZE;
|
|
552
|
+
addProjectElement(at, {
|
|
553
|
+
width: side,
|
|
554
|
+
height: side
|
|
555
|
+
}, "person");
|
|
531
556
|
} else if (isProjectTool(origin.tool)) {
|
|
532
557
|
/* Both dimensions matter here (a project card is not auto-height the
|
|
533
558
|
way a link is), and a card smaller than the minimum could not hold
|
|
@@ -570,9 +595,9 @@ export const CanvasElements = _ref => {
|
|
|
570
595
|
|
|
571
596
|
/* Where the armed tool's hover preview sits — cleared while a draw gesture
|
|
572
597
|
runs (the rubber band takes over) and whenever the tool disarms. */
|
|
573
|
-
const
|
|
574
|
-
hoverPoint =
|
|
575
|
-
setHoverPoint =
|
|
598
|
+
const _useState7 = useState(null),
|
|
599
|
+
hoverPoint = _useState7[0],
|
|
600
|
+
setHoverPoint = _useState7[1];
|
|
576
601
|
useEffect(() => {
|
|
577
602
|
if (activeTool === "select") {
|
|
578
603
|
setHoverPoint(null);
|
|
@@ -795,23 +820,25 @@ export const CanvasElements = _ref => {
|
|
|
795
820
|
onDelete: () => deleteFile(entry.id)
|
|
796
821
|
}));
|
|
797
822
|
}), projectElements.map(entry => {
|
|
798
|
-
var _positions$entry$id$x2, _positions$entry$id3, _positions$entry$id$y2, _positions$entry$id4;
|
|
823
|
+
var _positions$entry$id$x2, _positions$entry$id3, _positions$entry$id$y2, _positions$entry$id4, _locks$entry$id;
|
|
799
824
|
const selected = entry.id === selectedId;
|
|
800
825
|
return /*#__PURE__*/React.createElement(StyledProjectElementBox, {
|
|
801
826
|
key: entry.id,
|
|
802
|
-
className: [selected ? "selected" : "", entry.limited ? "limited" : "",
|
|
827
|
+
className: [selected ? "selected" : "", entry.limited ? "limited" : "", entry.kind === "person" ? "person" : "",
|
|
803
828
|
/* A resolved card is a StackedCard, and the shell draws its own
|
|
804
829
|
ring — so the box stands down, exactly as it does for the link
|
|
805
|
-
and file cards. The placeholder, the resolving flash
|
|
806
|
-
limited card are not StackedCards and keep
|
|
807
|
-
|
|
830
|
+
and file cards. The placeholder, the resolving flash, the
|
|
831
|
+
limited card and the person chip are not StackedCards and keep
|
|
832
|
+
the box's ring. */
|
|
833
|
+
entry.status === "resolved" && !entry.limited && entry.kind !== "person" ? "is-card" : ""].filter(Boolean).join(" "),
|
|
808
834
|
style: {
|
|
809
835
|
left: (_positions$entry$id$x2 = (_positions$entry$id3 = positions[entry.id]) == null ? void 0 : _positions$entry$id3.x) != null ? _positions$entry$id$x2 : 0,
|
|
810
836
|
top: (_positions$entry$id$y2 = (_positions$entry$id4 = positions[entry.id]) == null ? void 0 : _positions$entry$id4.y) != null ? _positions$entry$id$y2 : 0,
|
|
811
837
|
width: entry.width,
|
|
812
838
|
/* Only the placeholder box is measured in both directions; the
|
|
813
|
-
resolved card is auto-height like every other card here.
|
|
814
|
-
|
|
839
|
+
resolved card is auto-height like every other card here. A
|
|
840
|
+
person is a fixed square in every state. */
|
|
841
|
+
height: entry.status === "resolved" && entry.kind !== "person" ? undefined : entry.height
|
|
815
842
|
},
|
|
816
843
|
onMouseDown: event => entry.limited ? handleLimitedMouseDown(event, entry.id) : handleElementMouseDown(event, entry.id),
|
|
817
844
|
onClickCapture: handleElementClickCapture,
|
|
@@ -819,7 +846,12 @@ export const CanvasElements = _ref => {
|
|
|
819
846
|
}, /*#__PURE__*/React.createElement(ProjectElementNode, {
|
|
820
847
|
element: entry,
|
|
821
848
|
selected: selected
|
|
822
|
-
})
|
|
849
|
+
}), selected && entry.kind === "person" && entry.status === "resolved" && !entry.limited && entry.person ? /*#__PURE__*/React.createElement(PersonCardToolbar, {
|
|
850
|
+
onDetails: () => setDetailsId(entry.id),
|
|
851
|
+
locked: (_locks$entry$id = locks[entry.id]) != null ? _locks$entry$id : false,
|
|
852
|
+
onToggleLock: () => toggleLock(entry.id),
|
|
853
|
+
onDelete: () => deleteProjectElement(entry.id)
|
|
854
|
+
}) : null);
|
|
823
855
|
}), draft && !isShapeTool(draft.tool) && !isProjectTool(draft.tool) ? /*#__PURE__*/React.createElement(StyledLinkDraft, {
|
|
824
856
|
style: {
|
|
825
857
|
left: draft.x,
|
|
@@ -829,7 +861,17 @@ export const CanvasElements = _ref => {
|
|
|
829
861
|
}
|
|
830
862
|
}, /*#__PURE__*/React.createElement("span", {
|
|
831
863
|
className: "draft-width"
|
|
832
|
-
}, "W", " ", draft.width >= CARD_DRAW_THRESHOLD ? clampCardWidth(draft.width) : draft.tool === "file" ? FILE_DEFAULT_WIDTH : LINK_DEFAULT_WIDTH, " ", "\xB7 height follows content")) : null, draft &&
|
|
864
|
+
}, "W", " ", draft.width >= CARD_DRAW_THRESHOLD ? clampCardWidth(draft.width) : draft.tool === "file" ? FILE_DEFAULT_WIDTH : LINK_DEFAULT_WIDTH, " ", "\xB7 height follows content")) : null, draft && draft.tool === "person" ? (() => {
|
|
865
|
+
const side = draft.width >= CARD_DRAW_THRESHOLD ? clampPersonSize(draft.width) : PERSON_DEFAULT_SIZE;
|
|
866
|
+
return /*#__PURE__*/React.createElement(StyledPersonDraft, {
|
|
867
|
+
style: {
|
|
868
|
+
left: draft.x,
|
|
869
|
+
top: draft.y,
|
|
870
|
+
width: side,
|
|
871
|
+
height: side
|
|
872
|
+
}
|
|
873
|
+
});
|
|
874
|
+
})() : null, draft && isProjectTool(draft.tool) && draft.tool !== "person" ? /*#__PURE__*/React.createElement(StyledProjectDraft, {
|
|
833
875
|
style: {
|
|
834
876
|
left: draft.x,
|
|
835
877
|
top: draft.y,
|
|
@@ -858,6 +900,16 @@ export const CanvasElements = _ref => {
|
|
|
858
900
|
}, size)
|
|
859
901
|
}, shapePreviewGlyph(activeTool, size.width, size.height));
|
|
860
902
|
}
|
|
903
|
+
if (activeTool === "person") {
|
|
904
|
+
return /*#__PURE__*/React.createElement(StyledPersonDraft, {
|
|
905
|
+
style: {
|
|
906
|
+
left: at.x,
|
|
907
|
+
top: at.y,
|
|
908
|
+
width: PERSON_DEFAULT_SIZE,
|
|
909
|
+
height: PERSON_DEFAULT_SIZE
|
|
910
|
+
}
|
|
911
|
+
});
|
|
912
|
+
}
|
|
861
913
|
if (isProjectTool(activeTool)) {
|
|
862
914
|
return /*#__PURE__*/React.createElement(StyledProjectDraft, {
|
|
863
915
|
style: {
|
|
@@ -887,10 +939,27 @@ export const CanvasElements = _ref => {
|
|
|
887
939
|
rx: 8,
|
|
888
940
|
ry: 8
|
|
889
941
|
})));
|
|
890
|
-
})() : null,
|
|
942
|
+
})() : null, detailsPerson ? /*#__PURE__*/React.createElement(UserDetailsDialog, _extends({
|
|
943
|
+
open: true
|
|
944
|
+
}, personDetailsProps(detailsPerson), {
|
|
945
|
+
onClose: () => setDetailsId(null)
|
|
946
|
+
})) : null, pickerElement ? /*#__PURE__*/React.createElement(ProjectElementPicker, {
|
|
891
947
|
kind: pickerElement.kind,
|
|
892
|
-
onSelectProject: project => resolveProjectElement(pickerElement.id,
|
|
893
|
-
|
|
948
|
+
onSelectProject: project => resolveProjectElement(pickerElement.id, {
|
|
949
|
+
project,
|
|
950
|
+
task: null,
|
|
951
|
+
person: null
|
|
952
|
+
}),
|
|
953
|
+
onSelectTask: (project, task) => resolveProjectElement(pickerElement.id, {
|
|
954
|
+
project,
|
|
955
|
+
task,
|
|
956
|
+
person: null
|
|
957
|
+
}),
|
|
958
|
+
onSelectPerson: person => resolveProjectElement(pickerElement.id, {
|
|
959
|
+
project: null,
|
|
960
|
+
task: null,
|
|
961
|
+
person
|
|
962
|
+
}),
|
|
894
963
|
onCancel: () => cancelProjectElement(pickerElement.id)
|
|
895
964
|
}) : null);
|
|
896
965
|
};
|