@univerjs-pro/collaboration-client-ui 1.0.2 → 1.0.4

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 (93) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +1 -1
  3. package/lib/cjs/locale/ar-SA.js +1 -1
  4. package/lib/cjs/locale/ca-ES.js +1 -1
  5. package/lib/cjs/locale/de-DE.js +1 -1
  6. package/lib/cjs/locale/en-US.js +1 -1
  7. package/lib/cjs/locale/es-ES.js +1 -1
  8. package/lib/cjs/locale/fa-IR.js +1 -1
  9. package/lib/cjs/locale/fr-FR.js +1 -1
  10. package/lib/cjs/locale/id-ID.js +1 -1
  11. package/lib/cjs/locale/it-IT.js +1 -1
  12. package/lib/cjs/locale/ja-JP.js +1 -1
  13. package/lib/cjs/locale/ko-KR.js +1 -1
  14. package/lib/cjs/locale/pl-PL.js +1 -1
  15. package/lib/cjs/locale/pt-BR.js +1 -1
  16. package/lib/cjs/locale/ru-RU.js +1 -1
  17. package/lib/cjs/locale/sk-SK.js +1 -1
  18. package/lib/cjs/locale/vi-VN.js +1 -1
  19. package/lib/cjs/locale/zh-CN.js +1 -1
  20. package/lib/cjs/locale/zh-HK.js +1 -1
  21. package/lib/cjs/locale/zh-TW.js +1 -1
  22. package/lib/es/facade.js +1 -1
  23. package/lib/es/index.js +1 -1
  24. package/lib/es/locale/ar-SA.js +1 -1
  25. package/lib/es/locale/ca-ES.js +1 -1
  26. package/lib/es/locale/de-DE.js +1 -1
  27. package/lib/es/locale/en-US.js +1 -1
  28. package/lib/es/locale/es-ES.js +1 -1
  29. package/lib/es/locale/fa-IR.js +1 -1
  30. package/lib/es/locale/fr-FR.js +1 -1
  31. package/lib/es/locale/id-ID.js +1 -1
  32. package/lib/es/locale/it-IT.js +1 -1
  33. package/lib/es/locale/ja-JP.js +1 -1
  34. package/lib/es/locale/ko-KR.js +1 -1
  35. package/lib/es/locale/pl-PL.js +1 -1
  36. package/lib/es/locale/pt-BR.js +1 -1
  37. package/lib/es/locale/ru-RU.js +1 -1
  38. package/lib/es/locale/sk-SK.js +1 -1
  39. package/lib/es/locale/vi-VN.js +1 -1
  40. package/lib/es/locale/zh-CN.js +1 -1
  41. package/lib/es/locale/zh-HK.js +1 -1
  42. package/lib/es/locale/zh-TW.js +1 -1
  43. package/lib/facade.js +1 -1
  44. package/lib/index.css +37 -0
  45. package/lib/index.js +1 -1
  46. package/lib/locale/ar-SA.js +1 -1
  47. package/lib/locale/ca-ES.js +1 -1
  48. package/lib/locale/de-DE.js +1 -1
  49. package/lib/locale/en-US.js +1 -1
  50. package/lib/locale/es-ES.js +1 -1
  51. package/lib/locale/fa-IR.js +1 -1
  52. package/lib/locale/fr-FR.js +1 -1
  53. package/lib/locale/id-ID.js +1 -1
  54. package/lib/locale/it-IT.js +1 -1
  55. package/lib/locale/ja-JP.js +1 -1
  56. package/lib/locale/ko-KR.js +1 -1
  57. package/lib/locale/pl-PL.js +1 -1
  58. package/lib/locale/pt-BR.js +1 -1
  59. package/lib/locale/ru-RU.js +1 -1
  60. package/lib/locale/sk-SK.js +1 -1
  61. package/lib/locale/vi-VN.js +1 -1
  62. package/lib/locale/zh-CN.js +1 -1
  63. package/lib/locale/zh-HK.js +1 -1
  64. package/lib/locale/zh-TW.js +1 -1
  65. package/lib/types/controllers/collab-cursor/board-collab-cursor-entity.d.ts +32 -0
  66. package/lib/types/controllers/collab-cursor/board-collab-cursor-render.controller.d.ts +21 -0
  67. package/lib/types/controllers/collab-cursor/slide-collab-cursor-entity.d.ts +35 -0
  68. package/lib/types/controllers/collab-cursor/slide-collab-cursor-render.controller.d.ts +21 -0
  69. package/lib/types/services/formula-calculation-guard/formula-calculation-guard.service.d.ts +38 -0
  70. package/lib/types/services/formula-calculation-guard/util.d.ts +11 -0
  71. package/lib/types/views/shapes/slide-collab-cursor.shape.d.ts +15 -0
  72. package/lib/umd/facade.js +1 -1
  73. package/lib/umd/index.js +1 -1
  74. package/lib/umd/locale/ar-SA.js +1 -1
  75. package/lib/umd/locale/ca-ES.js +1 -1
  76. package/lib/umd/locale/de-DE.js +1 -1
  77. package/lib/umd/locale/en-US.js +1 -1
  78. package/lib/umd/locale/es-ES.js +1 -1
  79. package/lib/umd/locale/fa-IR.js +1 -1
  80. package/lib/umd/locale/fr-FR.js +1 -1
  81. package/lib/umd/locale/id-ID.js +1 -1
  82. package/lib/umd/locale/it-IT.js +1 -1
  83. package/lib/umd/locale/ja-JP.js +1 -1
  84. package/lib/umd/locale/ko-KR.js +1 -1
  85. package/lib/umd/locale/pl-PL.js +1 -1
  86. package/lib/umd/locale/pt-BR.js +1 -1
  87. package/lib/umd/locale/ru-RU.js +1 -1
  88. package/lib/umd/locale/sk-SK.js +1 -1
  89. package/lib/umd/locale/vi-VN.js +1 -1
  90. package/lib/umd/locale/zh-CN.js +1 -1
  91. package/lib/umd/locale/zh-HK.js +1 -1
  92. package/lib/umd/locale/zh-TW.js +1 -1
  93. package/package.json +17 -17
@@ -1 +1 @@
1
- function _0x256c(){const _0xaa5162=['協作房間已滿,您的編輯將暫存於本機。','您在另一個分頁開啟了同一個檔案。為避免資料遺失,此分頁將無法進行編輯。','768528ysaYeA','認證錯誤','重試並重新整理','伺服器未回應協作請求,您的編輯將儲存在本機。','連線失敗,請檢查您的網絡。','2789110UQadPR','正在擷取伺服器資料...','174pZDLsR','連線失敗,將在稍後重試連線。','本機檔案','您的操作與伺服器權限存在衝突。請將您的本機編輯儲存至其他地方,重新整理頁面後將會被捨棄。','已同步','您有未儲存至伺服器的離線編輯,請檢查網絡後重試。','已離線,編輯將儲存在本機','協作衝突','點擊重新連線','96752VbbGwm','152005uCrdBk','867598akUYzW','12mwYiRU','您的本機文件與伺服器文件存在衝突。請將您的本機編輯儲存至其他地方,因為重新整理頁面後將會遺失。','5324391ELjXBo','資料載入停留在\x20{0}/{1},請重新整理頁面後再試。','1029542HcYhyx'];_0x256c=function(){return _0xaa5162;};return _0x256c();}const _0x25796c=_0x1427;function _0x1427(_0x4a2dad,_0x48a5cb){_0x4a2dad=_0x4a2dad-0xaf;const _0x256c38=_0x256c();let _0x1427f2=_0x256c38[_0x4a2dad];return _0x1427f2;}(function(_0x550c96,_0x123232){const _0x274291=_0x1427,_0x1ee2cd=_0x550c96();while(!![]){try{const _0x4a208d=-parseInt(_0x274291(0xc6))/0x1+parseInt(_0x274291(0xb1))/0x2+parseInt(_0x274291(0xc7))/0x3*(parseInt(_0x274291(0xc4))/0x4)+parseInt(_0x274291(0xb9))/0x5+-parseInt(_0x274291(0xbb))/0x6*(-parseInt(_0x274291(0xc5))/0x7)+parseInt(_0x274291(0xb4))/0x8+-parseInt(_0x274291(0xaf))/0x9;if(_0x4a208d===_0x123232)break;else _0x1ee2cd['push'](_0x1ee2cd['shift']());}catch(_0x59d99f){_0x1ee2cd['push'](_0x1ee2cd['shift']());}}}(_0x256c,0x6a6ed));const e={'collaboration-client-ui':{'collabClient':{'tooltip':{'reconnect':_0x25796c(0xc3)}},'collabStatus':{'fetchMiss':_0x25796c(0xba),'conflict':'編輯衝突','notCollab':_0x25796c(0xbd),'synced':_0x25796c(0xbf),'syncing':'同步中...','offline':_0x25796c(0xc1)},'snapshotLoading':{'timeout':_0x25796c(0xb0),'refresh':'重新整理頁面'},'session':{'connection-failed':_0x25796c(0xb8),'will-retry':_0x25796c(0xbc),'room-full':_0x25796c(0xb2),'collaboration-timeout':_0x25796c(0xb7)},'conflict':{'processing':'正在處理協同衝突…','clearFailed':'無法清除本機衝突資料。重新整理頁面可能再次還原異常資料,請重試。','retry':_0x25796c(0xb6),'title':_0x25796c(0xc2),'content':_0x25796c(0xc8)},'permission':{'title':_0x25796c(0xb5),'content':_0x25796c(0xbe)},'collaboration':{'offline-data-not-saved':_0x25796c(0xc0),'single-unit':{'warning':_0x25796c(0xb3)},'closeRoom':'由於協作房間已關閉,編輯權限已被收回。'},'auth':{'needGotoLoginAlert':'您的登入已過期,點擊「確定」重新登入,點擊「取消」儲存您的本機編輯。'}}};export{e as default};
1
+ const _0x56fd6a=_0x2995;function _0x2dd1(){const _0x42ec8c=['25482kfqDJx','正在擷取伺服器資料...','13WYcfNQ','重試並重新整理','7phqlqF','本機檔案','91494074vHOzeW','646998udKyVB','4597809pqRzkZ','無法清除本機衝突資料。重新整理頁面可能再次還原異常資料,請重試。','54iWEXge','點擊重新連線','您的登入已過期,點擊「確定」重新登入,點擊「取消」儲存您的本機編輯。','288CVwTPI','75rnWspj','4nrVtXX','同步中...','您在另一個分頁開啟了同一個檔案。為避免資料遺失,此分頁將無法進行編輯。','2323900vSPkCI','1187024GufTGC','協作衝突','資料載入停留在\x20{0}/{1},請重新整理頁面後再試。','2DooJzz','已離線,編輯將儲存在本機','伺服器未回應協作請求,您的編輯將儲存在本機。','1694664ayNxmD','您的本機文件與伺服器文件存在衝突。請將您的本機編輯儲存至其他地方,因為重新整理頁面後將會遺失。'];_0x2dd1=function(){return _0x42ec8c;};return _0x2dd1();}function _0x2995(_0x4e04af,_0x506448){_0x4e04af=_0x4e04af-0x1ad;const _0x2dd1f4=_0x2dd1();let _0x2995d8=_0x2dd1f4[_0x4e04af];return _0x2995d8;}(function(_0x43299c,_0x9b3312){const _0x1bc94b=_0x2995,_0x2cd6fd=_0x43299c();while(!![]){try{const _0x3ad4c9=parseInt(_0x1bc94b(0x1c0))/0x1*(-parseInt(_0x1bc94b(0x1c3))/0x2)+parseInt(_0x1bc94b(0x1b5))/0x3*(-parseInt(_0x1bc94b(0x1bc))/0x4)+-parseInt(_0x1bc94b(0x1bb))/0x5*(-parseInt(_0x1bc94b(0x1ad))/0x6)+-parseInt(_0x1bc94b(0x1b1))/0x7*(parseInt(_0x1bc94b(0x1c6))/0x8)+-parseInt(_0x1bc94b(0x1b7))/0x9*(parseInt(_0x1bc94b(0x1bf))/0xa)+-parseInt(_0x1bc94b(0x1b4))/0xb*(parseInt(_0x1bc94b(0x1ba))/0xc)+-parseInt(_0x1bc94b(0x1af))/0xd*(-parseInt(_0x1bc94b(0x1b3))/0xe);if(_0x3ad4c9===_0x9b3312)break;else _0x2cd6fd['push'](_0x2cd6fd['shift']());}catch(_0xd8fdbf){_0x2cd6fd['push'](_0x2cd6fd['shift']());}}}(_0x2dd1,0xd257c));const e={'collaboration-client-ui':{'collabClient':{'tooltip':{'reconnect':_0x56fd6a(0x1b8)}},'collabStatus':{'fetchMiss':_0x56fd6a(0x1ae),'conflict':'編輯衝突','notCollab':_0x56fd6a(0x1b2),'synced':'已同步','syncing':_0x56fd6a(0x1bd),'offline':_0x56fd6a(0x1c4)},'snapshotLoading':{'timeout':_0x56fd6a(0x1c2),'refresh':'重新整理頁面'},'session':{'connection-failed':'連線失敗,請檢查您的網絡。','will-retry':'連線失敗,將在稍後重試連線。','room-full':'協作房間已滿,您的編輯將暫存於本機。','collaboration-timeout':_0x56fd6a(0x1c5)},'conflict':{'processing':'正在處理協同衝突…','clearFailed':_0x56fd6a(0x1b6),'retry':_0x56fd6a(0x1b0),'title':_0x56fd6a(0x1c1),'content':_0x56fd6a(0x1c7)},'permission':{'title':'認證錯誤','content':'您的操作與伺服器權限存在衝突。請將您的本機編輯儲存至其他地方,重新整理頁面後將會被捨棄。'},'collaboration':{'offline-data-not-saved':'您有未儲存至伺服器的離線編輯,請檢查網絡後重試。','single-unit':{'warning':_0x56fd6a(0x1be)},'closeRoom':'由於協作房間已關閉,編輯權限已被收回。'},'auth':{'needGotoLoginAlert':_0x56fd6a(0x1b9)}}};export{e as default};
@@ -1 +1 @@
1
- const _0xc5f442=_0x2d33;(function(_0x136aee,_0xe04114){const _0x5589ae=_0x2d33,_0x618c79=_0x136aee();while(!![]){try{const _0x4f6594=parseInt(_0x5589ae(0x135))/0x1*(-parseInt(_0x5589ae(0x13a))/0x2)+parseInt(_0x5589ae(0x137))/0x3*(parseInt(_0x5589ae(0x13c))/0x4)+-parseInt(_0x5589ae(0x147))/0x5*(parseInt(_0x5589ae(0x139))/0x6)+parseInt(_0x5589ae(0x13b))/0x7+-parseInt(_0x5589ae(0x133))/0x8*(-parseInt(_0x5589ae(0x146))/0x9)+parseInt(_0x5589ae(0x12f))/0xa+-parseInt(_0x5589ae(0x134))/0xb*(-parseInt(_0x5589ae(0x140))/0xc);if(_0x4f6594===_0xe04114)break;else _0x618c79['push'](_0x618c79['shift']());}catch(_0x7649ad){_0x618c79['push'](_0x618c79['shift']());}}}(_0x4943,0xdc29c));function _0x2d33(_0x44d605,_0x507e38){_0x44d605=_0x44d605-0x12f;const _0x494369=_0x4943();let _0x2d3331=_0x494369[_0x44d605];return _0x2d3331;}const e={'collaboration-client-ui':{'collabClient':{'tooltip':{'reconnect':'點擊重新連線'}},'collabStatus':{'fetchMiss':'正在擷取伺服器資料...','conflict':_0xc5f442(0x13f),'notCollab':_0xc5f442(0x141),'synced':_0xc5f442(0x136),'syncing':_0xc5f442(0x13d),'offline':'已離線,編輯將儲存在本機'},'snapshotLoading':{'timeout':_0xc5f442(0x142),'refresh':'重新整理頁面'},'session':{'connection-failed':'連線失敗,請檢查您的網路。','will-retry':'連線失敗,將在稍後重試連線。','room-full':_0xc5f442(0x138),'collaboration-timeout':_0xc5f442(0x145)},'conflict':{'processing':'正在處理協同衝突…','clearFailed':'無法清除本機衝突資料。重新整理頁面可能再次還原異常資料,請重試。','retry':_0xc5f442(0x131),'title':'協作衝突','content':_0xc5f442(0x130)},'permission':{'title':_0xc5f442(0x132),'content':_0xc5f442(0x143)},'collaboration':{'offline-data-not-saved':_0xc5f442(0x13e),'single-unit':{'warning':'您在另一個分頁開啟了同一個檔案。為避免資料遺失,此分頁將無法進行編輯。'},'closeRoom':_0xc5f442(0x144)},'auth':{'needGotoLoginAlert':'您的登入已過期,點擊「確定」重新登入,點擊「取消」儲存您的本機編輯。'}}};function _0x4943(){const _0x3cb9c0=['4474500pqltou','您的本機文件與伺服器文件存在衝突。請將您的本機編輯儲存至其他地方,因為重新整理頁面後將會遺失。','重試並重新整理','認證錯誤','4079368cHoRxA','11cnAdKG','7QVBnBG','已同步','249771voheLd','協作房間已滿,您的編輯將暫存於本機。','89934dgPeLS','400422ppvYji','1560881rbnEzi','20SYtKmA','同步中...','您有未儲存至伺服器的離線編輯,請檢查網路後重試。','編輯衝突','14048340CaofCU','本機檔案','資料載入停留在\x20{0}/{1},請重新整理頁面後再試。','您的操作與伺服器權限存在衝突。請將您的本機編輯儲存至其他地方,重新整理頁面後將會被捨棄。','由於協作房間已關閉,編輯權限已被收回。','伺服器未回應協作請求,您的編輯將儲存在本機。','27hRiZOL','495evfNFT'];_0x4943=function(){return _0x3cb9c0;};return _0x4943();}export{e as default};
1
+ const _0x4b54f9=_0x4fbf;(function(_0x272278,_0x170d1c){const _0x2eb8ac=_0x4fbf,_0x4b76ab=_0x272278();while(!![]){try{const _0x11ac1c=parseInt(_0x2eb8ac(0xaa))/0x1+-parseInt(_0x2eb8ac(0xa8))/0x2+parseInt(_0x2eb8ac(0x9f))/0x3*(-parseInt(_0x2eb8ac(0xb0))/0x4)+-parseInt(_0x2eb8ac(0xb9))/0x5*(parseInt(_0x2eb8ac(0xb2))/0x6)+-parseInt(_0x2eb8ac(0xa0))/0x7*(parseInt(_0x2eb8ac(0xa4))/0x8)+-parseInt(_0x2eb8ac(0xae))/0x9*(parseInt(_0x2eb8ac(0xa1))/0xa)+-parseInt(_0x2eb8ac(0xb6))/0xb*(-parseInt(_0x2eb8ac(0xab))/0xc);if(_0x11ac1c===_0x170d1c)break;else _0x4b76ab['push'](_0x4b76ab['shift']());}catch(_0x4ec139){_0x4b76ab['push'](_0x4b76ab['shift']());}}}(_0x3953,0xf175f));const e={'collaboration-client-ui':{'collabClient':{'tooltip':{'reconnect':_0x4b54f9(0xad)}},'collabStatus':{'fetchMiss':_0x4b54f9(0xac),'conflict':_0x4b54f9(0xaf),'notCollab':'本機檔案','synced':_0x4b54f9(0xa9),'syncing':'同步中...','offline':_0x4b54f9(0xa6)},'snapshotLoading':{'timeout':'資料載入停留在\x20{0}/{1},請重新整理頁面後再試。','refresh':_0x4b54f9(0xa5)},'session':{'connection-failed':'連線失敗,請檢查您的網路。','will-retry':'連線失敗,將在稍後重試連線。','room-full':_0x4b54f9(0x9e),'collaboration-timeout':_0x4b54f9(0xb5)},'conflict':{'processing':_0x4b54f9(0xb4),'clearFailed':_0x4b54f9(0xa3),'retry':_0x4b54f9(0xb8),'title':'協作衝突','content':_0x4b54f9(0xa7)},'permission':{'title':_0x4b54f9(0xb3),'content':_0x4b54f9(0xb1)},'collaboration':{'offline-data-not-saved':_0x4b54f9(0xa2),'single-unit':{'warning':'您在另一個分頁開啟了同一個檔案。為避免資料遺失,此分頁將無法進行編輯。'},'closeRoom':_0x4b54f9(0xba)},'auth':{'needGotoLoginAlert':_0x4b54f9(0xb7)}}};export{e as default};function _0x4fbf(_0x4419fb,_0x290ed1){_0x4419fb=_0x4419fb-0x9e;const _0x3953dd=_0x3953();let _0x4fbfaf=_0x3953dd[_0x4419fb];return _0x4fbfaf;}function _0x3953(){const _0x1377c6=['您的操作與伺服器權限存在衝突。請將您的本機編輯儲存至其他地方,重新整理頁面後將會被捨棄。','678SmVHyj','認證錯誤','正在處理協同衝突…','伺服器未回應協作請求,您的編輯將儲存在本機。','658570SKYwkf','您的登入已過期,點擊「確定」重新登入,點擊「取消」儲存您的本機編輯。','重試並重新整理','85145pnjSSl','由於協作房間已關閉,編輯權限已被收回。','協作房間已滿,您的編輯將暫存於本機。','3dwdGBp','2470783XtYPIM','10owavcH','您有未儲存至伺服器的離線編輯,請檢查網路後重試。','無法清除本機衝突資料。重新整理頁面可能再次還原異常資料,請重試。','8iRMamU','重新整理頁面','已離線,編輯將儲存在本機','您的本機文件與伺服器文件存在衝突。請將您的本機編輯儲存至其他地方,因為重新整理頁面後將會遺失。','3287624dHIVfe','已同步','129889QLUexF','1164PKsofW','正在擷取伺服器資料...','點擊重新連線','3412791rJszQx','編輯衝突','2591996cXkpfj'];_0x3953=function(){return _0x1377c6;};return _0x3953();}
@@ -0,0 +1,32 @@
1
+ import type * as RxjsTypes from "rxjs";
2
+ import type { ICollaborationUser } from '@univerjs-pro/collaboration';
3
+ import type { CollaborationSession } from '@univerjs-pro/collaboration-client';
4
+ import type { IBoardCollabSelectionPayload, IElementCollabCursor } from '../../models/cursor';
5
+ import { IBoardElementStateService } from '@univerjs-pro/boards-ui';
6
+ import { MemberService } from '@univerjs-pro/collaboration-client';
7
+ import { RxDisposable } from '@univerjs/core';
8
+ import { ColorAssignService } from '../../services/color-assign/color-assign.service';
9
+ export declare function parseBoardCursorSelection(selection: string): IBoardCollabSelectionPayload | null;
10
+ export declare class BoardCollabCursorEntity extends RxDisposable {
11
+ readonly unitID: string;
12
+ private readonly _session;
13
+ private readonly _colorAssignService;
14
+ private readonly _memberService;
15
+ private readonly _boardElementStateService;
16
+ private _online;
17
+ private _init;
18
+ private _cursorInfo$;
19
+ cursorInfo$: RxjsTypes.Observable<Map<string, IElementCollabCursor>>;
20
+ get cursorInfo(): Readonly<Map<string, IElementCollabCursor>>;
21
+ private _roomMembers$;
22
+ roomMembers$: RxjsTypes.Observable<ICollaborationUser[]>;
23
+ get roomMembers(): Readonly<ICollaborationUser[]>;
24
+ constructor(unitID: string, _session: CollaborationSession, _colorAssignService: ColorAssignService, _memberService: MemberService, _boardElementStateService: IBoardElementStateService);
25
+ dispose(): void;
26
+ init(): void;
27
+ private _onCursorUpdate;
28
+ private _onCursorDelete;
29
+ private _updateLocalCursor;
30
+ private _toggleOnline;
31
+ private _toggleOffline;
32
+ }
@@ -0,0 +1,21 @@
1
+ import type { BoardModel } from '@univerjs-pro/boards';
2
+ import type { IRenderContext, IRenderModule } from '@univerjs/engine-render';
3
+ import { RxDisposable, ThemeService } from '@univerjs/core';
4
+ import { CollabCursorController } from './collab-cursor.controller';
5
+ export declare class BoardCollabCursorRenderController extends RxDisposable implements IRenderModule {
6
+ private readonly _context;
7
+ private readonly _collabCursorController;
8
+ private readonly _themeService;
9
+ private _cursors;
10
+ private _renderScheduled;
11
+ private _isApplyingOverlays;
12
+ private _latestCursors;
13
+ constructor(_context: IRenderContext<BoardModel>, _collabCursorController: CollabCursorController, _themeService: ThemeService);
14
+ dispose(): void;
15
+ private _init;
16
+ private _scheduleRender;
17
+ private _render;
18
+ private _removeCollabCursors;
19
+ private _getSceneObjectByKey;
20
+ private _getObjectBounds;
21
+ }
@@ -0,0 +1,35 @@
1
+ import type * as RxjsTypes from "rxjs";
2
+ import type { ICollaborationUser } from '@univerjs-pro/collaboration';
3
+ import type { CollaborationSession } from '@univerjs-pro/collaboration-client';
4
+ import type { IElementCollabCursor, ISlideCollabSelectionPayload } from '../../models/cursor';
5
+ import { MemberService } from '@univerjs-pro/collaboration-client';
6
+ import { ISlideDrawingStateService } from '@univerjs-pro/slides-ui';
7
+ import { RxDisposable } from '@univerjs/core';
8
+ import { ColorAssignService } from '../../services/color-assign/color-assign.service';
9
+ export declare function parseSlideCursorSelection(selection: string): ISlideCollabSelectionPayload | null;
10
+ /**
11
+ * Stores slide collaborator cursor presence without mutating local slide selection.
12
+ */
13
+ export declare class SlideCollabCursorEntity extends RxDisposable {
14
+ readonly unitID: string;
15
+ private readonly _session;
16
+ private readonly _colorAssignService;
17
+ private readonly _memberService;
18
+ private readonly _slideDrawingStateService;
19
+ private _online;
20
+ private _init;
21
+ private _cursorInfo$;
22
+ cursorInfo$: RxjsTypes.Observable<Map<string, IElementCollabCursor>>;
23
+ get cursorInfo(): Readonly<Map<string, IElementCollabCursor>>;
24
+ private _roomMembers$;
25
+ roomMembers$: RxjsTypes.Observable<ICollaborationUser[]>;
26
+ get roomMembers(): Readonly<ICollaborationUser[]>;
27
+ constructor(unitID: string, _session: CollaborationSession, _colorAssignService: ColorAssignService, _memberService: MemberService, _slideDrawingStateService: ISlideDrawingStateService);
28
+ dispose(): void;
29
+ init(): void;
30
+ private _onCursorUpdate;
31
+ private _onCursorDelete;
32
+ private _updateLocalCursor;
33
+ private _toggleOnline;
34
+ private _toggleOffline;
35
+ }
@@ -0,0 +1,21 @@
1
+ import type { SlideModel } from '@univerjs-pro/slides';
2
+ import type { IRenderContext, IRenderModule } from '@univerjs/engine-render';
3
+ import { RxDisposable, ThemeService } from '@univerjs/core';
4
+ import { CollabCursorController } from './collab-cursor.controller';
5
+ export declare class SlideCollabCursorRenderController extends RxDisposable implements IRenderModule {
6
+ private readonly _context;
7
+ private readonly _collabCursorController;
8
+ private readonly _themeService;
9
+ private _cursors;
10
+ private _renderScheduled;
11
+ private _isApplyingOverlays;
12
+ private _latestCursors;
13
+ constructor(_context: IRenderContext<SlideModel>, _collabCursorController: CollabCursorController, _themeService: ThemeService);
14
+ dispose(): void;
15
+ private _init;
16
+ private _scheduleRender;
17
+ private _render;
18
+ private _removeCollabCursors;
19
+ private _getSceneObjectByKey;
20
+ private _getObjectBounds;
21
+ }
@@ -0,0 +1,38 @@
1
+ import { Disposable, ICommandService, IConfigService, ILogService, IUniverInstanceService, LocaleService } from '@univerjs/core';
2
+ import { HTTPService } from '@univerjs/network';
3
+ import { IMessageService } from '@univerjs/ui';
4
+ /**
5
+ * Implementation of formula calculation guard service
6
+ */
7
+ export declare class FormulaCalculationGuardService extends Disposable {
8
+ private readonly _messageService;
9
+ private readonly _commandService;
10
+ private readonly _configService;
11
+ private readonly _httpService;
12
+ private readonly _univerInstanceService;
13
+ protected readonly _logService: ILogService;
14
+ private readonly _localeService;
15
+ private _pollingInterval;
16
+ private _maxFormulaLimit;
17
+ private _currentUsage;
18
+ private _taskIds;
19
+ private _lastResponseTimestamp;
20
+ constructor(_messageService: IMessageService, _commandService: ICommandService, _configService: IConfigService, _httpService: HTTPService, _univerInstanceService: IUniverInstanceService, _logService: ILogService, _localeService: LocaleService);
21
+ private _initCommandInterceptor;
22
+ dispose(): void;
23
+ private _checkAndWaitForCalculationPermission;
24
+ /**
25
+ * Apply the command after getting permission
26
+ * @param command
27
+ * @param options
28
+ */
29
+ private _applyCommand;
30
+ private _setFormulaLimitStatus;
31
+ private _startCalculationLimit;
32
+ private _getFormulaLimitStatus;
33
+ private _releaseCalculationLimit;
34
+ private _checkCalculationAvailable;
35
+ private _clearPolling;
36
+ private _showGuardMessage;
37
+ private _hasFormulaInDirtyRanges;
38
+ }
@@ -0,0 +1,11 @@
1
+ import type { ISetFormulaCalculationNotificationMutation } from '@univerjs/engine-formula';
2
+ /**
3
+ * Determine if the calculation is starting based on params
4
+ * @param params
5
+ * @returns
6
+ */
7
+ export declare function isCalculationStart(params: ISetFormulaCalculationNotificationMutation): boolean;
8
+ /**
9
+ * Determine if the calculation has completed based on params
10
+ */
11
+ export declare function isCalculationComplete(params: ISetFormulaCalculationNotificationMutation): boolean;
@@ -0,0 +1,15 @@
1
+ import type { IShapeProps } from '@univerjs/engine-render';
2
+ import type { IElementCollabCursor } from '../../models/cursor';
3
+ import { Shape } from '@univerjs/engine-render';
4
+ export declare const SLIDE_COLLAB_CURSOR_ZINDEX = 5002;
5
+ export interface ISlideCollabCursorShapeProps extends IShapeProps, IElementCollabCursor {
6
+ showText?: boolean;
7
+ }
8
+ export declare class SlideCollabCursorShape<T extends ISlideCollabCursorShapeProps = ISlideCollabCursorShapeProps> extends Shape<T> {
9
+ private _color;
10
+ private _name;
11
+ private _showText;
12
+ constructor(key?: string, props?: T);
13
+ setShapeProps(props: Partial<ISlideCollabCursorShapeProps>): void;
14
+ protected _draw(ctx: CanvasRenderingContext2D): void;
15
+ }
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- function _0x5a79(_0x5e182a,_0x55db31){_0x5e182a=_0x5e182a-0xd7;var _0x950b7f=_0x950b();var _0x5a7919=_0x950b7f[_0x5e182a];return _0x5a7919;}(function(_0x1fc45f,_0x1097bc){var _0x163355=_0x5a79,_0xdffc3d=_0x1fc45f();while(!![]){try{var _0x51003e=parseInt(_0x163355(0xdc))/0x1*(parseInt(_0x163355(0xe3))/0x2)+parseInt(_0x163355(0xea))/0x3*(parseInt(_0x163355(0xdf))/0x4)+-parseInt(_0x163355(0xe5))/0x5*(parseInt(_0x163355(0xda))/0x6)+-parseInt(_0x163355(0xe7))/0x7+-parseInt(_0x163355(0xd7))/0x8+parseInt(_0x163355(0xe6))/0x9*(parseInt(_0x163355(0xe4))/0xa)+-parseInt(_0x163355(0xdb))/0xb*(-parseInt(_0x163355(0xd8))/0xc);if(_0x51003e===_0x1097bc)break;else _0xdffc3d['push'](_0xdffc3d['shift']());}catch(_0x2fe250){_0xdffc3d['push'](_0xdffc3d['shift']());}}}(_0x950b,0x4594c),function(_0x1f1840,_0x2c5bbd){var _0x50e690=_0x5a79;typeof exports==_0x50e690(0xe1)&&typeof module<'u'?_0x2c5bbd(require('@univerjs-pro/collaboration-client-ui'),require('@univerjs/core/facade')):typeof define==_0x50e690(0xdd)&&define['amd']?define([_0x50e690(0xd9),_0x50e690(0xed)],_0x2c5bbd):(_0x1f1840=typeof globalThis<'u'?globalThis:_0x1f1840||self,_0x2c5bbd(_0x1f1840[_0x50e690(0xeb)],_0x1f1840['UniverCoreFacade']));}(this,function(_0x34bd33,_0x575dda){var _0x19da3c=_0x5a79,_0x10a53f=class extends _0x575dda['FUniver']{[_0x19da3c(0xe0)](_0x5ba172,_0x3e3127,..._0x50f062){var _0x3893d4=_0x19da3c;return this[_0x3893d4(0xec)][_0x3893d4(0xe2)](_0x34bd33[_0x3893d4(0xde)])[_0x3893d4(0xe0)](_0x5ba172,_0x3e3127,{},..._0x50f062);}};_0x575dda[_0x19da3c(0xe8)][_0x19da3c(0xe9)](_0x10a53f);}));function _0x950b(){var _0x2157d5=['15ekNEmb','UniverProCollaborationClientUi','_injector','@univerjs/core/facade','1544056UXKgwS','36888vHIRaU','@univerjs-pro/collaboration-client-ui','104190QuuTeL','1397uQbaXn','1ncWObm','function','RemoteUniscriptService','306996gpEbIr','runOnServer','object','get','719122JDUMPp','30GypMZx','135yMntSr','883341YbPAac','3368995BDbUuL','FUniver','extend'];_0x950b=function(){return _0x2157d5;};return _0x950b();}
1
+ (function(_0x5869a7,_0x4dd345){var _0x30e965=_0x30a6,_0x2e6f95=_0x5869a7();while(!![]){try{var _0x177093=-parseInt(_0x30e965(0x171))/0x1+parseInt(_0x30e965(0x16e))/0x2+-parseInt(_0x30e965(0x16c))/0x3*(parseInt(_0x30e965(0x175))/0x4)+-parseInt(_0x30e965(0x16f))/0x5+-parseInt(_0x30e965(0x16d))/0x6*(parseInt(_0x30e965(0x170))/0x7)+-parseInt(_0x30e965(0x178))/0x8*(parseInt(_0x30e965(0x167))/0x9)+parseInt(_0x30e965(0x168))/0xa*(parseInt(_0x30e965(0x164))/0xb);if(_0x177093===_0x4dd345)break;else _0x2e6f95['push'](_0x2e6f95['shift']());}catch(_0x24815c){_0x2e6f95['push'](_0x2e6f95['shift']());}}}(_0x3a05,0x4b554),function(_0xaeccc6,_0xa12c53){var _0x139d1a=_0x30a6;typeof exports==_0x139d1a(0x16a)&&typeof module<'u'?_0xa12c53(require('@univerjs-pro/collaboration-client-ui'),require('@univerjs/core/facade')):typeof define=='function'&&define[_0x139d1a(0x173)]?define([_0x139d1a(0x177),_0x139d1a(0x174)],_0xa12c53):(_0xaeccc6=typeof globalThis<'u'?globalThis:_0xaeccc6||self,_0xa12c53(_0xaeccc6['UniverProCollaborationClientUi'],_0xaeccc6[_0x139d1a(0x176)]));}(this,function(_0x4cbf0f,_0x49ce87){var _0x17acfe=_0x30a6,_0x49c115=class extends _0x49ce87[_0x17acfe(0x166)]{['runOnServer'](_0x5ca2bb,_0xe3ba28,..._0x2c2be3){var _0x2a7111=_0x17acfe;return this[_0x2a7111(0x169)]['get'](_0x4cbf0f[_0x2a7111(0x16b)])[_0x2a7111(0x165)](_0x5ca2bb,_0xe3ba28,{},..._0x2c2be3);}};_0x49ce87[_0x17acfe(0x166)][_0x17acfe(0x172)](_0x49c115);}));function _0x30a6(_0x4babc7,_0xa0a41d){_0x4babc7=_0x4babc7-0x164;var _0x3a0506=_0x3a05();var _0x30a690=_0x3a0506[_0x4babc7];return _0x30a690;}function _0x3a05(){var _0x46a894=['UniverCoreFacade','@univerjs-pro/collaboration-client-ui','2424HmlYnN','187XfQywt','runOnServer','FUniver','513ZWtwBy','633310WYXMJP','_injector','object','RemoteUniscriptService','1581veeKfQ','288OQOSMo','581184bwvYly','21915EdCsgB','85736kgbpub','16957MHbubf','extend','amd','@univerjs/core/facade','3280LAsezU'];_0x3a05=function(){return _0x46a894;};return _0x3a05();}