@voplus/morpho-document 1.4.30 → 1.4.32

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.
Files changed (30) hide show
  1. package/es/controls/DocumentMenu/index.js +2 -1
  2. package/es/controls/DocumentMenu/index.js.map +1 -1
  3. package/es/controls/DocumentMenu/items/{Duplicate.d.ts → Copy.d.ts} +2 -2
  4. package/es/controls/DocumentMenu/items/{Duplicate.js → Copy.js} +12 -9
  5. package/es/controls/DocumentMenu/items/Copy.js.map +1 -0
  6. package/es/controls/DocumentMenu/items/Paste.js +3 -1
  7. package/es/controls/DocumentMenu/items/Paste.js.map +1 -1
  8. package/es/controls/DocumentMenu/items/index.d.ts +1 -0
  9. package/es/controls/DocumentMenu/items/index.js +1 -0
  10. package/es/controls/DocumentMenu/items/index.js.map +1 -1
  11. package/es/controls/MentionState/index.d.ts +9 -0
  12. package/es/controls/MentionState/index.js +25 -0
  13. package/es/controls/MentionState/index.js.map +1 -0
  14. package/es/{services/viewer.less → controls/MentionState/index.less} +4 -4
  15. package/es/controls/MentionState/state.d.ts +9 -0
  16. package/es/controls/MentionState/state.js +38 -0
  17. package/es/controls/MentionState/state.js.map +1 -0
  18. package/es/data/hook.d.ts +2 -0
  19. package/es/data/hook.js +13 -0
  20. package/es/data/hook.js.map +1 -0
  21. package/es/services/DocumentActivityLogRenderer.js +2 -2
  22. package/es/services/DocumentActivityLogRenderer.js.map +1 -1
  23. package/es/services/MentionViewer.d.ts +6 -0
  24. package/es/services/MentionViewer.js +20 -0
  25. package/es/services/MentionViewer.js.map +1 -0
  26. package/package.json +1 -1
  27. package/es/controls/DocumentMenu/items/Duplicate.js.map +0 -1
  28. package/es/services/Viewer.d.ts +0 -11
  29. package/es/services/Viewer.js +0 -76
  30. package/es/services/Viewer.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { Access, Delete, Lock, Move, Notifications, OpenReferenceView, Paste, Pin, PrintActivities, Publish, PublishLock, Revert, Unlock, Unpin } from "./items";
1
+ import { Access, Delete, Lock, Move, Notifications, OpenReferenceView, Paste, Pin, PrintActivities, Publish, PublishLock, Revert, Unlock, Unpin, Copy, } from "./items";
2
2
  import { DocumentMenuContext, DocumentMenuState, useDocument } from "@voplus/morpho-document-core";
3
3
  import React, { useMemo } from "react";
4
4
  import PageMenu from "../PageMenu";
@@ -24,6 +24,7 @@ const DocumentMenu = (props) => {
24
24
  const document = useDocument(props.id);
25
25
  return (React.createElement("div", { className: classnames("document-menu", props.className) },
26
26
  React.createElement(DocumentMenuContext.Provider, { value: context }, props.children ? (props.children) : document.type == "Shortcut" ? (React.createElement(ShortcutMenu, { id: props.id })) : document.type === "Page" ? (React.createElement(PageMenu, { id: props.id, closeAside: props.closeAside })) : document.type === "Text" ? (React.createElement(TextMenu, { id: props.id, closeAside: props.closeAside })) : (React.createElement(React.Fragment, null,
27
+ React.createElement(Copy, null),
27
28
  React.createElement(Move, null),
28
29
  React.createElement(Paste, null),
29
30
  React.createElement(Lock, null),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/DocumentMenu/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/DocumentMenu/index.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
- declare const Duplicate: (props: {
2
+ declare const Copy: (props: {
3
3
  /** disabled Button */
4
4
  disabled?: boolean | undefined;
5
5
  /** function of Click */
6
6
  action?: ((context?: any) => void) | undefined;
7
7
  }) => JSX.Element;
8
- export default Duplicate;
8
+ export default Copy;
@@ -4,24 +4,27 @@ import { useDocument, useDocumentMenuContext, useDocumentStore, } from "@voplus/
4
4
  import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
5
5
  import { faCopy } from "@fortawesome/pro-light-svg-icons";
6
6
  import { observe } from "@voplus/morpho-ui";
7
- const Duplicate = (props) => {
7
+ const Copy = (props) => {
8
8
  const { disabled, action } = props;
9
9
  const context = useDocumentMenuContext();
10
10
  const store = useDocumentStore();
11
11
  const document = useDocument(context.id, {
12
- // reload: (i: IDocument) => !i.actions,
12
+ reload: (i) => !i.actions,
13
13
  includes: "actions",
14
14
  });
15
15
  const parent = useDocument(document.parentId);
16
- return observe(() => !document.system ? (React.createElement(Button, { type: "link", disabled: disabled || (parent === null || parent === void 0 ? void 0 : parent.readonly) == true, onClick: onClick },
17
- React.createElement(FAIcon, { icon: faCopy }),
18
- React.createElement("span", null, "Duplicate"))) : null);
16
+ return observe(() => {
17
+ var _a;
18
+ return ((_a = document.actions) === null || _a === void 0 ? void 0 : _a.canCopy) ? (React.createElement(Button, { type: "link", disabled: disabled || (parent === null || parent === void 0 ? void 0 : parent.readonly) == true, onClick: onClick },
19
+ React.createElement(FAIcon, { icon: faCopy }),
20
+ React.createElement("span", null, "Copy"))) : null;
21
+ });
19
22
  function onClick() {
20
23
  if (action)
21
24
  return action();
22
- // store.copy([context.id]);
23
- message.success("Document cut.");
25
+ store.copy([context.id]);
26
+ message.success("Document copy.");
24
27
  }
25
28
  };
26
- export default Duplicate;
27
- //# sourceMappingURL=Duplicate.js.map
29
+ export default Copy;
30
+ //# sourceMappingURL=Copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Copy.js","sourceRoot":"","sources":["../../../../src/controls/DocumentMenu/items/Copy.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAEN,WAAW,EACX,sBAAsB,EACtB,gBAAgB,GAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,IAAI,GAAG,CAAC,KAKb,EAAE,EAAE;IACJ,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEnC,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE;QACxC,MAAM,EAAE,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO;QACpC,QAAQ,EAAE,SAAS;KACnB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAe,CAA0B,CAAC;IAE9E,OAAO,OAAO,CAAC,GAAG,EAAE;;QACnB,OAAA,CAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,OAAO,EAAC,CAAC,CAAC,CAC3B,oBAAC,MAAM,IAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,QAAQ,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,KAAI,IAAI,EAAE,OAAO,EAAE,OAAO;YACnF,oBAAC,MAAM,IAAC,IAAI,EAAE,MAAM,GAAI;YACxB,yCAAiB,CACT,CACT,CAAC,CAAC,CAAC,IAAI,CAAA;KAAA,CACR,CAAC;IACF,SAAS,OAAO;QACf,IAAI,MAAM;YAAE,OAAO,MAAM,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnC,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -9,7 +9,9 @@ const Paste = (props) => {
9
9
  const context = useDocumentMenuContext();
10
10
  const store = useDocumentStore();
11
11
  const document = useDocument(context.id);
12
- return observe(() => !document.system ? (React.createElement(Button, { type: "link", disabled: disabled || store.moveIds.length === 0 || document.readonly, onClick: onClick },
12
+ return observe(() => !document.system ? (React.createElement(Button, { type: "link", disabled: disabled ||
13
+ (store.moveIds.length === 0 && store.copyIds.length === 0) ||
14
+ document.readonly, onClick: onClick },
13
15
  React.createElement(FAIcon, { icon: faPaste }),
14
16
  React.createElement("span", null, "Paste"))) : null);
15
17
  function onClick() {
@@ -1 +1 @@
1
- {"version":3,"file":"Paste.js","sourceRoot":"","sources":["../../../../src/controls/DocumentMenu/items/Paste.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACN,WAAW,EACX,sBAAsB,EACtB,gBAAgB,GAChB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,KAAK,GAAG,CAAC,KAKd,EAAE,EAAE;IACJ,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEnC,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEzC,OAAO,OAAO,CAAC,GAAG,EAAE,CACnB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAClB,oBAAC,MAAM,IACN,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,EACrE,OAAO,EAAE,OAAO;QAEhB,oBAAC,MAAM,IAAC,IAAI,EAAE,OAAO,GAAI;QACzB,0CAAkB,CACV,CACT,CAAC,CAAC,CAAC,IAAI,CACR,CAAC;IACF,SAAS,OAAO;QACf,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IACD,KAAK,UAAU,KAAK;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE;YAC1D,OAAO,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SAC7C;QACD,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9B,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Paste.js","sourceRoot":"","sources":["../../../../src/controls/DocumentMenu/items/Paste.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACN,WAAW,EACX,sBAAsB,EACtB,gBAAgB,GAChB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,KAAK,GAAG,CAAC,KAKd,EAAE,EAAE;IACJ,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEnC,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEzC,OAAO,OAAO,CAAC,GAAG,EAAE,CACnB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAClB,oBAAC,MAAM,IACN,IAAI,EAAC,MAAM,EACX,QAAQ,EACP,QAAQ;YACR,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;YAC1D,QAAQ,CAAC,QAAQ,EAElB,OAAO,EAAE,OAAO;QAEhB,oBAAC,MAAM,IAAC,IAAI,EAAE,OAAO,GAAI;QACzB,0CAAkB,CACV,CACT,CAAC,CAAC,CAAC,IAAI,CACR,CAAC;IACF,SAAS,OAAO;QACf,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IACD,KAAK,UAAU,KAAK;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE;YAC1D,OAAO,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SAC7C;QACD,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9B,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -13,3 +13,4 @@ export { default as Print } from "./Print";
13
13
  export { default as Pin } from "./Pin";
14
14
  export { default as Unpin } from "./Unpin";
15
15
  export { default as PrintActivities } from "./PrintActivities";
16
+ export { default as Copy } from "./Copy";
@@ -13,4 +13,5 @@ export { default as Print } from "./Print";
13
13
  export { default as Pin } from "./Pin";
14
14
  export { default as Unpin } from "./Unpin";
15
15
  export { default as PrintActivities } from "./PrintActivities";
16
+ export { default as Copy } from "./Copy";
16
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/controls/DocumentMenu/items/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/controls/DocumentMenu/items/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import "./index.less";
3
+ import { ActivityStore } from "../../data/ActivityStore";
4
+ declare const MentionState: (props: {
5
+ store: ActivityStore;
6
+ activityId: string;
7
+ unitId: string;
8
+ }) => JSX.Element;
9
+ export default MentionState;
@@ -0,0 +1,25 @@
1
+ import "./index.less";
2
+ import React, { useMemo, useRef } from "react";
3
+ import { faCheckCircle, faCircle } from "@fortawesome/pro-light-svg-icons";
4
+ import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
5
+ import { Popover } from "@voplus/antd";
6
+ import { State } from "./state";
7
+ import { faDotCircle } from "@fortawesome/pro-duotone-svg-icons";
8
+ import { observe } from "@voplus/morpho-ui";
9
+ import useOnScreen from "../../data/hook";
10
+ const MentionState = (props) => {
11
+ const { activityId, unitId, store } = props;
12
+ const ref = useRef(null);
13
+ /** 检查元素是否在 DOM 中可见 */
14
+ const isVisible = useOnScreen(ref);
15
+ const state = useMemo(() => new State(store), []);
16
+ state.update(activityId, unitId, isVisible);
17
+ return observe(() => {
18
+ var _a, _b, _c;
19
+ return (React.createElement("div", { ref: ref }, ((_a = state.mention) === null || _a === void 0 ? void 0 : _a.length) > 1 ? (React.createElement(Popover, { content: React.createElement("div", null, state.mention.map((item) => (React.createElement("div", { key: item.recipient.id, className: "contact-item" },
20
+ item.status !== "Unread" ? (React.createElement(FAIcon, { icon: faCheckCircle, color: "#0fce0f" })) : (React.createElement(FAIcon, { icon: faCircle, color: "#bfbebe" })),
21
+ React.createElement("span", null, item.recipient.name))))), title: "Contact Reads the status" }, state.mention.every((i) => i.status !== "Unread") ? (React.createElement(FAIcon, { icon: faCheckCircle, color: "#0fce0f" })) : state.mention.every((i) => i.status === "Unread") ? (React.createElement(FAIcon, { icon: faCircle, color: "#bfbebe" })) : (React.createElement(FAIcon, { icon: faDotCircle, color: "chartreuse" })))) : (React.createElement(React.Fragment, null, ((_b = state.mention) === null || _b === void 0 ? void 0 : _b.every((i) => i.status !== "Unread")) ? (React.createElement(FAIcon, { icon: faCheckCircle, color: "#0fce0f" })) : ((_c = state.mention) === null || _c === void 0 ? void 0 : _c.every((i) => i.status === "Unread")) ? (React.createElement(FAIcon, { icon: faCircle, color: "#bfbebe" })) : (React.createElement(FAIcon, { icon: faDotCircle, color: "chartreuse" }))))));
22
+ });
23
+ };
24
+ export default MentionState;
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/MentionState/index.tsx"],"names":[],"mappings":"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"}
@@ -6,9 +6,9 @@
6
6
  position: relative;
7
7
  .mention-state {
8
8
  position: absolute;
9
- top: -12px;
10
- right: -8px;
11
- // font-size: 5px;
9
+ font-size: 7px;
10
+ top: -10px;
11
+ right: -5px;
12
12
  }
13
13
  }
14
14
  .contact-item {
@@ -17,4 +17,4 @@
17
17
  margin-right: 8px;
18
18
  }
19
19
  }
20
- }
20
+ }
@@ -0,0 +1,9 @@
1
+ import { ActivityStore, IRecipientsStatus } from "../../data/ActivityStore";
2
+ export declare class State {
3
+ private _store;
4
+ constructor(_store: ActivityStore);
5
+ /** loading */
6
+ mention: IRecipientsStatus[];
7
+ /** new document submit function */
8
+ update: (activityId: string, unitId: string, isVisible?: boolean | undefined) => Promise<void>;
9
+ }
@@ -0,0 +1,38 @@
1
+ import { __decorate } from "tslib";
2
+ import { action, makeObservable, observable } from "mobx";
3
+ export class State {
4
+ constructor(_store) {
5
+ Object.defineProperty(this, "_store", {
6
+ enumerable: true,
7
+ configurable: true,
8
+ writable: true,
9
+ value: _store
10
+ });
11
+ /** loading */
12
+ Object.defineProperty(this, "mention", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: void 0
17
+ });
18
+ /** new document submit function */
19
+ Object.defineProperty(this, "update", {
20
+ enumerable: true,
21
+ configurable: true,
22
+ writable: true,
23
+ value: async (activityId, unitId, isVisible) => {
24
+ var _a;
25
+ if (isVisible && !((_a = this.mention) === null || _a === void 0 ? void 0 : _a.length))
26
+ this.mention = await this._store.recipientsStatus(activityId, unitId);
27
+ }
28
+ });
29
+ makeObservable(this);
30
+ }
31
+ }
32
+ __decorate([
33
+ observable
34
+ ], State.prototype, "mention", void 0);
35
+ __decorate([
36
+ action
37
+ ], State.prototype, "update", void 0);
38
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/controls/MentionState/state.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAE1D,MAAM,OAAO,KAAK;IACd,YAA2B,MAAqB;;;;;mBAArB;;QAG3B,cAAc;QACF;;;;;WAAoC;QAEhD,mCAAmC;QAEnC;;;;mBAAgB,KAAK,EAAE,UAAkB,EAAE,MAAc,EAAE,SAAmB,EAAE,EAAE;;gBAC9E,IAAI,SAAS,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,CAAA;oBAClC,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC9E,CAAC;WAAC;QAVE,cAAc,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;CAWJ;AATe;IAAX,UAAU;sCAAqC;AAIhD;IADC,MAAM;qCAIL"}
@@ -0,0 +1,2 @@
1
+ /** 检查元素是否在 DOM 中可见 */
2
+ export default function useOnScreen(ref: any): boolean;
@@ -0,0 +1,13 @@
1
+ import { useEffect, useState } from "react";
2
+ /** 检查元素是否在 DOM 中可见 */
3
+ export default function useOnScreen(ref) {
4
+ const [isIntersecting, setIntersecting] = useState(false);
5
+ const observer = new IntersectionObserver(([entry]) => setIntersecting(entry.isIntersecting));
6
+ useEffect(() => {
7
+ observer.observe(ref.current);
8
+ // Remove the observer as soon as the component is unmounted
9
+ return () => { observer.disconnect(); };
10
+ }, []);
11
+ return isIntersecting;
12
+ }
13
+ //# sourceMappingURL=hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/data/hook.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,sBAAsB;AACtB,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,GAAQ;IAExC,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEzD,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CACrC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,CACrD,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACX,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7B,4DAA4D;QAC5D,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAA,CAAC,CAAC,CAAA;IAC1C,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,cAAc,CAAA;AACzB,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { faCommentDots, faFileMinus, faFilePlus, faPencilAlt, faTrashAlt, faUpload, } from "@fortawesome/pro-light-svg-icons";
2
2
  import { ActivityRenderer } from "@voplus/morpho-document-core/es/services/ActivityLogRenderService/ActivityRenderer";
3
3
  import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
4
+ import MentionViewer from "./MentionViewer";
4
5
  import React from "react";
5
- import Viewer from "./Viewer";
6
6
  export const ActivityActionType = {
7
7
  Created: "Created",
8
8
  Changed: "Changed",
@@ -52,7 +52,7 @@ class DocumentActivityLogRenderer extends ActivityRenderer {
52
52
  React.createElement("div", { className: "time-line-comment-header" }, this.TimelineItemHeader(item)),
53
53
  React.createElement("div", { className: "time-line-comment-body" }, (_a = item.propertyObjects) === null || _a === void 0 ? void 0 : _a.map((o, index) => (React.createElement(React.Fragment, { key: index },
54
54
  !!index && React.createElement("hr", { className: "time-line-comment-hr" }),
55
- React.createElement(Viewer, { id: item.id, html: o.value })))))));
55
+ React.createElement(MentionViewer, { activityId: item.id, html: o.value })))))));
56
56
  }
57
57
  return super.Log(item, options);
58
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentActivityLogRenderer.js","sourceRoot":"","sources":["../../src/services/DocumentActivityLogRenderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentActivityLogRenderer.js","sourceRoot":"","sources":["../../src/services/DocumentActivityLogRenderer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ declare const MentionViewer: (props: {
3
+ activityId: string;
4
+ html?: string;
5
+ }) => JSX.Element;
6
+ export default MentionViewer;
@@ -0,0 +1,20 @@
1
+ import MentionState from "../controls/MentionState";
2
+ import React from "react";
3
+ import ReactDOM from "react-dom";
4
+ import Viewer from "@voplus/morpho-text/es/controls/ProseMirror/Viewer";
5
+ import { observe } from "@voplus/morpho-ui";
6
+ import { useActivityStore, } from "../data/ActivityStore";
7
+ const MentionViewer = (props) => {
8
+ const store = useActivityStore();
9
+ return observe(() => React.createElement(Viewer, { html: props.html, onPrepareMention: (mention, unitId) => {
10
+ const renderMention = document.createElement("i");
11
+ renderMention.className = "mention-state";
12
+ ReactDOM.render(React.createElement(MentionState, { store: store, activityId: props.activityId, unitId: unitId }), renderMention);
13
+ mention.appendChild(renderMention);
14
+ return () => {
15
+ ReactDOM.unmountComponentAtNode(renderMention);
16
+ };
17
+ } }));
18
+ };
19
+ export default MentionViewer;
20
+ //# sourceMappingURL=MentionViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MentionViewer.js","sourceRoot":"","sources":["../../src/services/MentionViewer.tsx"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,MAAM,MAAM,oDAAoD,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,GAAG,MAAM,uBAAuB,CAAC;AAE1D,MAAM,aAAa,GAAG,CAAC,KAA4C,EAAE,EAAE;IACnE,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IAEjC,OAAO,OAAO,CAAC,GAAG,EAAE,CAChB,oBAAC,MAAM,IACH,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,gBAAgB,EAAE,CAAC,OAAgB,EAAE,MAAc,EAAE,EAAE;YACnD,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAClD,aAAa,CAAC,SAAS,GAAG,eAAe,CAAC;YAC1C,QAAQ,CAAC,MAAM,CACX,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,GAAI,EAC5E,aAAa,CAChB,CAAC;YACF,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YACnC,OAAO,GAAG,EAAE;gBACR,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;YACnD,CAAC,CAAA;QACL,CAAC,GACH,CACL,CAAA;AACL,CAAC,CAAA;AAED,eAAe,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voplus/morpho-document",
3
- "version": "1.4.30",
3
+ "version": "1.4.32",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://voplus.visualstudio.com/morpho-document/_git/morpho-document"
@@ -1 +0,0 @@
1
- {"version":3,"file":"Duplicate.js","sourceRoot":"","sources":["../../../../src/controls/DocumentMenu/items/Duplicate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAEN,WAAW,EACX,sBAAsB,EACtB,gBAAgB,GAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,SAAS,GAAG,CAAC,KAKlB,EAAE,EAAE;IACJ,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEnC,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE;QACxC,wCAAwC;QACxC,QAAQ,EAAE,SAAS;KACnB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAe,CAA0B,CAAC;IAE9E,OAAO,OAAO,CAAC,GAAG,EAAE,CACnB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAClB,oBAAC,MAAM,IAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,QAAQ,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,KAAI,IAAI,EAAE,OAAO,EAAE,OAAO;QACnF,oBAAC,MAAM,IAAC,IAAI,EAAE,MAAM,GAAI;QACxB,8CAAsB,CACd,CACT,CAAC,CAAC,CAAC,IAAI,CACR,CAAC;IACF,SAAS,OAAO;QACf,IAAI,MAAM;YAAE,OAAO,MAAM,EAAE,CAAC;QAC5B,4BAA4B;QAC5B,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1,11 +0,0 @@
1
- /// <reference types="react" />
2
- import "@voplus/morpho-text/es/controls/ProseMirror/githubstyles.less";
3
- import "./viewer.less";
4
- /** 测试用(Activities Commented 显示metion 读、未读),用完就删掉 */
5
- declare const Viewer: (props: {
6
- id: string;
7
- html?: string;
8
- onClick?: () => void;
9
- showNoContent?: boolean;
10
- }) => JSX.Element;
11
- export default Viewer;
@@ -1,76 +0,0 @@
1
- import "@voplus/morpho-text/es/controls/ProseMirror/githubstyles.less";
2
- import "./viewer.less";
3
- import { Empty, Popover } from "@voplus/antd";
4
- import React, { useLayoutEffect, useRef, useState } from "react";
5
- import { faCheckCircle, faCircle, faDotCircle } from "@fortawesome/pro-light-svg-icons";
6
- import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
7
- import FileQuickView from "@voplus/morpho-text/es/controls/ProseMirror/Mention/FileQuickView";
8
- import ReactDOM from "react-dom";
9
- import { Scrollbars } from "react-custom-scrollbars";
10
- import UnitQuickView from "@voplus/morpho-text/es/controls/ProseMirror/Mention/UnitQuickView";
11
- import { observe } from "@voplus/morpho-ui";
12
- import { refreshImageURL } from "@voplus/morpho-text/es/controls/ProseMirror/helpers";
13
- import { useActivityStore } from "../data/ActivityStore";
14
- import { useFileStore } from "@voplus/morpho-text/es/data";
15
- /** 测试用(Activities Commented 显示metion 读、未读),用完就删掉 */
16
- const Viewer = (props) => {
17
- const ref = useRef(null);
18
- const [fileId, setFileId] = useState(null);
19
- const [unitId, setUnitId] = useState(null);
20
- const storeFile = useFileStore();
21
- const aStore = useActivityStore();
22
- useLayoutEffect(prepareDOM, []);
23
- return observe(() => {
24
- var _a;
25
- return (React.createElement(React.Fragment, null,
26
- React.createElement(Scrollbars, { hideTracksWhenNotNeeded: true, autoHeight: true, autoHeightMax: "100%" },
27
- React.createElement("div", { className: "ProseMirror-container", style: { border: "unset" } }, props.html ? (React.createElement("div", { ref: ref, className: "ProseMirror", dangerouslySetInnerHTML: { __html: (_a = props.html) !== null && _a !== void 0 ? _a : "" }, onClick: props.onClick })) : (props.showNoContent && (React.createElement("div", { onClick: props.onClick, style: { width: "100%", marginLeft: "auto", marginRight: "auto" } },
28
- React.createElement(Empty, { image: Empty.PRESENTED_IMAGE_SIMPLE, description: "No content", style: { width: "50%", marginLeft: "auto", marginRight: "auto" } })))))),
29
- fileId && React.createElement(FileQuickView, { id: fileId, visible: true, onCancel: () => setFileId(null) }),
30
- unitId && React.createElement(UnitQuickView, { id: unitId, visible: true, onCancel: () => setUnitId(null) })));
31
- });
32
- function prepareDOM() {
33
- // register mention, reference clicks
34
- if (!ref.current)
35
- return;
36
- const references = ref.current.querySelectorAll("span[data-file-id]");
37
- references === null || references === void 0 ? void 0 : references.forEach((e) => {
38
- e.addEventListener("click", onClickReference);
39
- });
40
- const mentions = ref.current.querySelectorAll("span[data-mention-id]");
41
- mentions === null || mentions === void 0 ? void 0 : mentions.forEach(async (e) => {
42
- const unitId = e.getAttribute("data-mention-id");
43
- const contact = await aStore.recipientsStatus(props.id, unitId);
44
- const state = document.createElement("i");
45
- state.className = "mention-state";
46
- ReactDOM.render(React.createElement(React.Fragment, null, contact.length > 1 ?
47
- React.createElement(Popover, { content: React.createElement("div", null, contact.map((item) => (React.createElement("div", { key: item.recipient.id, className: "contact-item" },
48
- item.status === "Read" ? (React.createElement(FAIcon, { icon: faCheckCircle, color: "#0fce0f" })) : (React.createElement(FAIcon, { icon: faCircle, color: "#bfbebe" })),
49
- React.createElement("span", null, item.recipient.name))))), title: "Contact Reads the status" }, contact.every((i) => i.status === "Read") ? (React.createElement(FAIcon, { icon: faCheckCircle, color: "#0fce0f" })) : contact.every((i) => i.status === "Unread") ? (React.createElement(FAIcon, { icon: faCircle, color: "#bfbebe" })) : (React.createElement(FAIcon, { icon: faDotCircle, color: "#0fce0f" })))
50
- :
51
- React.createElement(React.Fragment, null, contact.every((i) => i.status === "Read") ? (React.createElement(FAIcon, { icon: faCheckCircle, color: "#0fce0f" })) : contact.every((i) => i.status === "Unread") ? (React.createElement(FAIcon, { icon: faCircle, color: "#bfbebe" })) : (React.createElement(FAIcon, { icon: faDotCircle, color: "#0fce0f" })))), state);
52
- e.appendChild(state);
53
- e.addEventListener("click", onClickMention);
54
- });
55
- // replace image urls
56
- refreshImageURL(ref.current, storeFile);
57
- }
58
- function onClickReference(ev) {
59
- ev.stopPropagation();
60
- const span = ev.target;
61
- const id = span === null || span === void 0 ? void 0 : span.getAttribute("data-file-id");
62
- if (id) {
63
- setFileId(id);
64
- }
65
- }
66
- function onClickMention(ev) {
67
- ev.stopPropagation();
68
- const span = ev.target;
69
- const id = span === null || span === void 0 ? void 0 : span.getAttribute("data-mention-id");
70
- if (id) {
71
- setUnitId(id);
72
- }
73
- }
74
- };
75
- export default Viewer;
76
- //# sourceMappingURL=Viewer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Viewer.js","sourceRoot":"","sources":["../../src/services/Viewer.tsx"],"names":[],"mappings":"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"}