fmode-ng 0.0.113 → 0.0.115

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 (275) hide show
  1. package/LICENSE.md +8 -0
  2. package/README.md +37 -37
  3. package/esm2022/fmode-ng.mjs +10 -5
  4. package/esm2022/lib/aigc/agent/fm-agent-task/fm-agent-task.component.mjs +8 -92
  5. package/esm2022/lib/aigc/agent/index.mjs +10 -3
  6. package/esm2022/lib/aigc/avatar/avatar.module.mjs +10 -45
  7. package/esm2022/lib/aigc/avatar/comp-avatar-particle/avatar.role.mjs +10 -2
  8. package/esm2022/lib/aigc/avatar/comp-avatar-particle/comp-avatar-particle.component.mjs +10 -315
  9. package/esm2022/lib/aigc/avatar/comp-avatar-particle/index.mjs +10 -3
  10. package/esm2022/lib/aigc/avatar/comp-avatar-particle/role-points.class.mjs +10 -57
  11. package/esm2022/lib/aigc/avatar/comp-avatar-role-image/comp-avatar-role-image.component.mjs +10 -98
  12. package/esm2022/lib/aigc/avatar/comp-avatar-role-video/comp-avatar-role-video.component.mjs +10 -107
  13. package/esm2022/lib/aigc/avatar/comp-avatar-talk/comp-avatar-talk.component.mjs +10 -113
  14. package/esm2022/lib/aigc/avatar/index.mjs +10 -8
  15. package/esm2022/lib/aigc/avatar/interface-avatar-role.mjs +10 -2
  16. package/esm2022/lib/aigc/avatar/modal-chat-voice-input/modal-chat-voice-input.component.mjs +8 -164
  17. package/esm2022/lib/aigc/chat/chat-header-area/comp-header-area.component.mjs +10 -49
  18. package/esm2022/lib/aigc/chat/chat-header-area/index.mjs +10 -2
  19. package/esm2022/lib/aigc/chat/chat-list/chat-list.component.mjs +8 -155
  20. package/esm2022/lib/aigc/chat/chat-list/index.mjs +10 -2
  21. package/esm2022/lib/aigc/chat/chat-message-area/comp-message-area.component.mjs +10 -40
  22. package/esm2022/lib/aigc/chat/chat-message-area/index.mjs +10 -2
  23. package/esm2022/lib/aigc/chat/chat-message-card/comp-message-card.component.mjs +10 -140
  24. package/esm2022/lib/aigc/chat/chat-message-card/duration-str.pipe.mjs +10 -29
  25. package/esm2022/lib/aigc/chat/chat-message-card/index.mjs +10 -3
  26. package/esm2022/lib/aigc/chat/chat-modal-input/index.mjs +10 -3
  27. package/esm2022/lib/aigc/chat/chat-modal-input/modal-audio-message/modal-audio-message.component.mjs +8 -193
  28. package/esm2022/lib/aigc/chat/chat-modal-input/modal-input.component.mjs +10 -331
  29. package/esm2022/lib/aigc/chat/chat-panel/chat-panel.component.mjs +8 -249
  30. package/esm2022/lib/aigc/chat/comp-role-prompt/comp-role-prompt.component.mjs +10 -83
  31. package/esm2022/lib/aigc/chat/comp-role-prompt/index.mjs +10 -2
  32. package/esm2022/lib/aigc/chat/index.mjs +10 -8
  33. package/esm2022/lib/aigc/comp-markdown-preview/clipboard.service.mjs +10 -82
  34. package/esm2022/lib/aigc/comp-markdown-preview/markdown-parse.mjs +8 -367
  35. package/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.component.mjs +10 -51
  36. package/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.module.mjs +10 -24
  37. package/esm2022/lib/aigc/comp-markdown-preview/plugins/md-mathjax/index.mjs +10 -115
  38. package/esm2022/lib/aigc/index.mjs +10 -14
  39. package/esm2022/lib/aigc/service-fmai/fmai.service.mjs +10 -21
  40. package/esm2022/lib/aigc/service-fmai/service-chat/chat-class.mjs +10 -2
  41. package/esm2022/lib/aigc/service-fmai/service-chat/chat.service.mjs +8 -174
  42. package/esm2022/lib/aigc/service-fmai/service-chat/index.mjs +10 -7
  43. package/esm2022/lib/aigc/service-fmai/service-chat/mask-list.mjs +9 -194
  44. package/esm2022/lib/aigc/service-fmai/service-chat/pipes/chat-content.pipe.mjs +10 -27
  45. package/esm2022/lib/aigc/service-fmai/service-chat/pipes/hidexml.pipe.mjs +10 -27
  46. package/esm2022/lib/aigc/service-fmai/service-chat/utilnow.pipe.mjs +10 -68
  47. package/esm2022/lib/aigc/service-fmai/service-imagine/imagine-func.mjs +9 -162
  48. package/esm2022/lib/aigc/service-fmai/service-imagine/imagine-work.mjs +10 -68
  49. package/esm2022/lib/aigc/service-fmai/service-imagine/imagine.service.mjs +8 -313
  50. package/esm2022/lib/aigc/service-fmai/service-imagine/index.mjs +10 -4
  51. package/esm2022/lib/aigc/story/fm-office-viewer/fm-office-viewer.component.mjs +10 -62
  52. package/esm2022/lib/aigc/story/fm-story-card/fm-story-card.component.mjs +10 -87
  53. package/esm2022/lib/aigc/story/fm-story-list/fm-story-list.component.mjs +10 -345
  54. package/esm2022/lib/aigc/story/fm-story-list/story-preview.mjs +10 -81
  55. package/esm2022/lib/aigc/story/fm-story-loader/fm-story-loader.component.mjs +10 -152
  56. package/esm2022/lib/aigc/story/fm-story-splitter/fm-story-splitter.component.mjs +10 -42
  57. package/esm2022/lib/aigc/story/index.mjs +10 -6
  58. package/esm2022/lib/aigc/story/modal-chat-story/comp-chat-story-json/comp-chat-story-json.component.mjs +10 -47
  59. package/esm2022/lib/aigc/story/modal-chat-story/comp-diary-story/comp-diary-story.component.mjs +10 -95
  60. package/esm2022/lib/aigc/story/modal-chat-story/modal-chat-story.component.mjs +10 -253
  61. package/esm2022/lib/aigc/story/story.service.mjs +10 -35
  62. package/esm2022/lib/aigc/voice/fmode-voice.service.mjs +10 -636
  63. package/esm2022/lib/aigc/voice/index.mjs +10 -7
  64. package/esm2022/lib/aigc/voice/lib/audio/audio.player.mjs +10 -55
  65. package/esm2022/lib/aigc/voice/lib/audio/audio.streamer.mjs +10 -2
  66. package/esm2022/lib/aigc/voice/lib/audio/streamer.microsoft.mjs +10 -96
  67. package/esm2022/lib/aigc/voice/lib/audio/streamer.pcm.mjs +8 -177
  68. package/esm2022/lib/aigc/voice/lib/pcm2wav.mjs +10 -38
  69. package/esm2022/lib/aigc/voice/lib/recorder/extension-waveview.mjs +10 -215
  70. package/esm2022/lib/aigc/voice/lib/resample.mjs +10 -34
  71. package/esm2022/lib/aigc/voice/tts/fmode-tts-class.mjs +10 -189
  72. package/esm2022/lib/aigc/voice/tts/index.mjs +10 -5
  73. package/esm2022/lib/aigc/voice/tts/int-tts-provider.mjs +10 -2
  74. package/esm2022/lib/aigc/voice/tts/provider-doubao.mjs +8 -346
  75. package/esm2022/lib/code/fm-codemirror/fm-codemirror.component.mjs +8 -342
  76. package/esm2022/lib/code/index.mjs +10 -2
  77. package/esm2022/lib/core/agent/chat/completion/fmode-completion.mjs +8 -430
  78. package/esm2022/lib/core/agent/chat/completion/index.mjs +10 -2
  79. package/esm2022/lib/core/agent/chat/completion/int-gpt-chat-options.mjs +10 -2
  80. package/esm2022/lib/core/agent/chat/fmode-chat.mjs +8 -617
  81. package/esm2022/lib/core/agent/chat/index.mjs +10 -4
  82. package/esm2022/lib/core/agent/chat/interface.mjs +10 -2
  83. package/esm2022/lib/core/agent/index.mjs +10 -6
  84. package/esm2022/lib/core/agent/prompt/agent.prompt.mjs +10 -133
  85. package/esm2022/lib/core/agent/prompt/index.mjs +10 -2
  86. package/esm2022/lib/core/agent/prompt/prompt-util.mjs +10 -16
  87. package/esm2022/lib/core/agent/story/agent.story.mjs +10 -64
  88. package/esm2022/lib/core/agent/story/index.mjs +10 -2
  89. package/esm2022/lib/core/agent/task/agent.task.mjs +10 -90
  90. package/esm2022/lib/core/agent/task/index.mjs +10 -2
  91. package/esm2022/lib/core/agent/waiting/index.mjs +10 -3
  92. package/esm2022/lib/core/agent/waiting/loading/loading.ctrl.mjs +10 -279
  93. package/esm2022/lib/core/agent/waiting/tips/tips.ctrl.mjs +8 -190
  94. package/esm2022/lib/core/index.mjs +10 -4
  95. package/esm2022/lib/core/parse/datatype/acl.mjs +10 -57
  96. package/esm2022/lib/core/parse/datatype/file.mjs +10 -69
  97. package/esm2022/lib/core/parse/datatype/geopoint.mjs +10 -57
  98. package/esm2022/lib/core/parse/datatype/relation.mjs +10 -56
  99. package/esm2022/lib/core/parse/fmode.cloud.mjs +10 -0
  100. package/esm2022/lib/core/parse/fmode.object.mjs +10 -232
  101. package/esm2022/lib/core/parse/fmode.parse.mjs +10 -84
  102. package/esm2022/lib/core/parse/fmode.query.mjs +8 -500
  103. package/esm2022/lib/core/parse/fmode.user.mjs +10 -275
  104. package/esm2022/lib/core/parse/index.mjs +10 -5
  105. package/esm2022/lib/core/parse/types.mjs +10 -2
  106. package/esm2022/lib/core/voice/index.mjs +10 -3
  107. package/esm2022/lib/core/voice/tts/index.mjs +10 -2
  108. package/esm2022/lib/icon/filetype/audio.svg.mjs +10 -3
  109. package/esm2022/lib/icon/filetype/avatar.svg.mjs +10 -14
  110. package/esm2022/lib/icon/filetype/chat.svg.mjs +10 -3
  111. package/esm2022/lib/icon/filetype/docx.svg.mjs +10 -3
  112. package/esm2022/lib/icon/filetype/file.svg.mjs +10 -3
  113. package/esm2022/lib/icon/filetype/filetype.pipe.mjs +10 -57
  114. package/esm2022/lib/icon/filetype/index.mjs +10 -12
  115. package/esm2022/lib/icon/filetype/md.svg.mjs +10 -3
  116. package/esm2022/lib/icon/filetype/pdf.svg.mjs +10 -3
  117. package/esm2022/lib/icon/filetype/pptx.svg.mjs +10 -3
  118. package/esm2022/lib/icon/filetype/svgtoblob.mjs +10 -8
  119. package/esm2022/lib/icon/filetype/video.svg.mjs +10 -3
  120. package/esm2022/lib/icon/filetype/xlsx.svg.mjs +10 -3
  121. package/esm2022/lib/icon/index.mjs +10 -2
  122. package/esm2022/lib/map/comp-poi-picker/comp-poi-picker.component.mjs +10 -209
  123. package/esm2022/lib/map/comp-poi-picker/comp-poi-picker.module.mjs +10 -33
  124. package/esm2022/lib/map/index.mjs +10 -4
  125. package/esm2022/lib/map/map.module.mjs +10 -61
  126. package/esm2022/lib/map/page-loca-scatter/page-loca-scatter.component.mjs +10 -132
  127. package/esm2022/lib/map/page-map.start/page-map.start.component.mjs +8 -115
  128. package/esm2022/lib/map/page-plan-route/page-plan-route.component.mjs +8 -118
  129. package/esm2022/lib/nova-cloud/index.mjs +10 -3
  130. package/esm2022/lib/nova-cloud/ncloud-api-func.mjs +10 -91
  131. package/esm2022/lib/nova-cloud/nova-cloud.service.mjs +10 -53
  132. package/esm2022/lib/payment/index.mjs +10 -2
  133. package/esm2022/lib/payment/payment/payment.component.mjs +10 -543
  134. package/esm2022/lib/payment/payment.service.mjs +10 -202
  135. package/esm2022/lib/person/comp-person-gender-icon/comp-person-gender-icon.component.mjs +10 -48
  136. package/esm2022/lib/person/comp-person-item/comp-person-item.component.mjs +10 -29
  137. package/esm2022/lib/person/comp-person-story/comp-person-story.component.mjs +10 -211
  138. package/esm2022/lib/person/edit-upload/edit-upload.component.mjs +8 -412
  139. package/esm2022/lib/person/edit-upload/edit-upload.module.mjs +10 -50
  140. package/esm2022/lib/person/index.mjs +10 -5
  141. package/esm2022/lib/person/modal-person-select/modal-person-select.component.mjs +10 -144
  142. package/esm2022/lib/person/modal-user-verify/secret-text.pipe.mjs +10 -41
  143. package/esm2022/lib/person/modal-user-verify/user-verify.component.mjs +10 -595
  144. package/esm2022/lib/person/person-detail/person-detail.component.mjs +10 -172
  145. package/esm2022/lib/person/person.service.mjs +8 -193
  146. package/esm2022/lib/platform/cross.service.mjs +10 -62
  147. package/esm2022/lib/platform/index.mjs +10 -2
  148. package/esm2022/lib/social/index.mjs +10 -2
  149. package/esm2022/lib/social/wechat/wechat-jssdk.service.mjs +8 -230
  150. package/esm2022/lib/storage/comp-hwobs-manager/hwobs-manager.component.mjs +10 -59
  151. package/esm2022/lib/storage/index.mjs +10 -5
  152. package/esm2022/lib/storage/service-hwobs/hwobs.service.mjs +8 -131
  153. package/esm2022/lib/storage/service-hwobs/index.mjs +10 -3
  154. package/esm2022/lib/storage/service-hwobs/typings/esdk-obs-browser.mjs +1 -1
  155. package/esm2022/lib/storage/service-upload/index.mjs +10 -2
  156. package/esm2022/lib/storage/service-upload/nova-upload.service.mjs +8 -513
  157. package/esm2022/lib/storage/service-upload/util-file-md5.mjs +10 -28
  158. package/esm2022/lib/storage/service-upload/util-file-metadata.mjs +10 -93
  159. package/esm2022/lib/storage/storage.module.mjs +10 -42
  160. package/esm2022/lib/text/fm-article-editor/article-editor-topbar/article-editor-topbar.component.mjs +10 -72
  161. package/esm2022/lib/text/fm-article-editor/article.service.mjs +10 -237
  162. package/esm2022/lib/text/fm-article-editor/comp-upload-book-banners/comp-upload-book-banners.component.mjs +8 -72
  163. package/esm2022/lib/text/fm-article-editor/draft.service.mjs +10 -207
  164. package/esm2022/lib/text/fm-article-editor/fm-article-aitool/fm-article-aitool.component.mjs +8 -227
  165. package/esm2022/lib/text/fm-article-editor/fm-article-draft/fm-article-draft.component.mjs +10 -303
  166. package/esm2022/lib/text/fm-article-editor/fm-article-editor.component.mjs +8 -371
  167. package/esm2022/lib/text/fm-article-editor/fm-article-outline/fm-article-outline.component.mjs +10 -94
  168. package/esm2022/lib/text/fm-article-editor/fm-article-outline-leftitem/fm-article-outline-leftitem.component.mjs +10 -36
  169. package/esm2022/lib/text/fm-article-editor/fm-article-preview/fm-article-preview.component.mjs +10 -281
  170. package/esm2022/lib/text/fm-article-editor/fm-article-write-options/fm-article-write-options.component.mjs +10 -72
  171. package/esm2022/lib/text/fm-article-editor/outline-count.pipe.mjs +10 -22
  172. package/esm2022/lib/text/fm-article-editor/prompt/prompt-insertion-article.mjs +10 -169
  173. package/esm2022/lib/text/fm-article-editor/task-article-generation.mjs +10 -69
  174. package/esm2022/lib/text/fm-article-editor/tasks/task-article-draft-create.mjs +10 -65
  175. package/esm2022/lib/text/fm-article-editor/tasks/task-article-outline-edit.mjs +10 -55
  176. package/esm2022/lib/text/fm-article-editor/tasks/task-article-outline.mjs +10 -142
  177. package/esm2022/lib/text/fm-article-editor/tasks/task-article-preview.mjs +10 -35
  178. package/esm2022/lib/text/fm-article-editor/tasks/task-article-writing-options.mjs +10 -81
  179. package/esm2022/lib/text/fm-article-editor/tasks/task-document-select.mjs +10 -50
  180. package/esm2022/lib/text/fm-text-quill/fm-text-quill.component.mjs +10 -145
  181. package/esm2022/lib/text/index.mjs +10 -4
  182. package/esm2022/lib/user/account/account.service.mjs +10 -222
  183. package/esm2022/lib/user/captcha/captcha.component.mjs +10 -135
  184. package/esm2022/lib/user/comp-user-avatar/comp-user-avatar.component.mjs +10 -66
  185. package/esm2022/lib/user/index.mjs +10 -17
  186. package/esm2022/lib/user/login/auth.guard.mjs +10 -28
  187. package/esm2022/lib/user/login/auth.service.mjs +8 -433
  188. package/esm2022/lib/user/login/login.component.mjs +10 -916
  189. package/esm2022/lib/user/modal-user-login/modal-user-login.component.mjs +10 -311
  190. package/esm2022/lib/user/profile/auth-profile.guard.mjs +10 -27
  191. package/esm2022/lib/user/profile/auth-profile.service.mjs +10 -122
  192. package/esm2022/lib/user/profile/profile-bind/profile-bind.component.mjs +10 -164
  193. package/esm2022/lib/user/profile/profile-bind/profile-confirm-modal.component.mjs +10 -79
  194. package/esm2022/lib/user/profile/profile.module.mjs +10 -54
  195. package/esm2022/lib/user/staff/index.mjs +10 -4
  196. package/esm2022/lib/user/staff/staff.guard.mjs +10 -26
  197. package/esm2022/lib/user/staff/staff.module.mjs +10 -18
  198. package/esm2022/lib/user/staff/staff.service.mjs +10 -85
  199. package/esm2022/lib/user/user-name.pipe.mjs +10 -29
  200. package/esm2022/lib/user/user.module.mjs +10 -102
  201. package/esm2022/lib/video/fm-video/fm-video.component.mjs +10 -67
  202. package/esm2022/lib/video/index.mjs +10 -2
  203. package/esm2022/public-api.mjs +10 -21
  204. package/fesm2022/fmode-ng.mjs +7 -19788
  205. package/fesm2022/fmode-ng.mjs.map +1 -1
  206. package/lib/aigc/avatar/comp-avatar-role-image/comp-avatar-role-image.component.d.ts +2 -2
  207. package/lib/aigc/avatar/comp-avatar-role-video/comp-avatar-role-video.component.d.ts +2 -2
  208. package/lib/aigc/avatar/comp-avatar-talk/comp-avatar-talk.component.d.ts +2 -2
  209. package/lib/aigc/chat/chat-list/chat-list.component.d.ts +3 -2
  210. package/lib/aigc/chat/chat-message-card/comp-message-card.component.d.ts +3 -3
  211. package/lib/aigc/chat/chat-modal-input/modal-audio-message/modal-audio-message.component.d.ts +2 -2
  212. package/lib/aigc/chat/chat-modal-input/modal-input.component.d.ts +3 -3
  213. package/lib/aigc/service-fmai/service-imagine/imagine-func.d.ts +3 -3
  214. package/lib/aigc/service-fmai/service-imagine/imagine-work.d.ts +4 -4
  215. package/lib/aigc/service-fmai/service-imagine/imagine.service.d.ts +6 -6
  216. package/lib/aigc/story/fm-office-viewer/fm-office-viewer.component.d.ts +2 -2
  217. package/lib/aigc/story/fm-story-card/fm-story-card.component.d.ts +2 -1
  218. package/lib/aigc/story/fm-story-list/fm-story-list.component.d.ts +6 -6
  219. package/lib/aigc/story/fm-story-list/story-preview.d.ts +4 -4
  220. package/lib/aigc/story/fm-story-loader/fm-story-loader.component.d.ts +3 -3
  221. package/lib/aigc/story/fm-story-splitter/fm-story-splitter.component.d.ts +2 -2
  222. package/lib/aigc/story/modal-chat-story/comp-chat-story-json/comp-chat-story-json.component.d.ts +3 -2
  223. package/lib/aigc/story/modal-chat-story/comp-diary-story/comp-diary-story.component.d.ts +3 -2
  224. package/lib/aigc/story/modal-chat-story/modal-chat-story.component.d.ts +6 -6
  225. package/lib/aigc/story/story.service.d.ts +3 -2
  226. package/lib/aigc/voice/tts/fmode-tts-class.d.ts +2 -2
  227. package/lib/core/agent/chat/fmode-chat.d.ts +11 -11
  228. package/lib/core/agent/story/agent.story.d.ts +8 -8
  229. package/lib/core/parse/datatype/geopoint.d.ts +5 -1
  230. package/lib/core/parse/fmode.cloud.d.ts +32 -0
  231. package/lib/core/parse/fmode.object.d.ts +2 -2
  232. package/lib/core/parse/fmode.parse.d.ts +15 -9
  233. package/lib/core/parse/fmode.query.d.ts +41 -2
  234. package/lib/core/parse/fmode.user.d.ts +1 -0
  235. package/lib/core/parse/index.d.ts +1 -0
  236. package/lib/core/parse/types.d.ts +2 -0
  237. package/lib/map/comp-poi-picker/comp-poi-picker.component.d.ts +5 -5
  238. package/lib/payment/payment/payment.component.d.ts +3 -3
  239. package/lib/payment/payment.service.d.ts +4 -4
  240. package/lib/person/comp-person-gender-icon/comp-person-gender-icon.component.d.ts +2 -1
  241. package/lib/person/comp-person-item/comp-person-item.component.d.ts +2 -1
  242. package/lib/person/comp-person-story/comp-person-story.component.d.ts +13 -13
  243. package/lib/person/edit-upload/edit-upload.component.d.ts +1 -1
  244. package/lib/person/modal-person-select/modal-person-select.component.d.ts +5 -5
  245. package/lib/person/modal-user-verify/user-verify.component.d.ts +5 -5
  246. package/lib/person/person-detail/person-detail.component.d.ts +4 -4
  247. package/lib/person/person.service.d.ts +7 -7
  248. package/lib/storage/service-hwobs/hwobs.service.d.ts +4 -5
  249. package/lib/storage/service-upload/nova-upload.service.d.ts +5 -5
  250. package/lib/text/fm-article-editor/article-editor-topbar/article-editor-topbar.component.d.ts +2 -1
  251. package/lib/text/fm-article-editor/article.service.d.ts +12 -12
  252. package/lib/text/fm-article-editor/draft.service.d.ts +5 -5
  253. package/lib/text/fm-article-editor/fm-article-aitool/fm-article-aitool.component.d.ts +3 -2
  254. package/lib/text/fm-article-editor/fm-article-draft/fm-article-draft.component.d.ts +16 -17
  255. package/lib/text/fm-article-editor/fm-article-editor.component.d.ts +3 -3
  256. package/lib/text/fm-article-editor/fm-article-outline/fm-article-outline.component.d.ts +11 -10
  257. package/lib/text/fm-article-editor/fm-article-preview/fm-article-preview.component.d.ts +2 -2
  258. package/lib/text/fm-article-editor/prompt/prompt-insertion-article.d.ts +3 -3
  259. package/lib/text/fm-article-editor/task-article-generation.d.ts +5 -4
  260. package/lib/text/fm-article-editor/tasks/task-article-draft-create.d.ts +3 -3
  261. package/lib/text/fm-article-editor/tasks/task-article-outline-edit.d.ts +3 -3
  262. package/lib/text/fm-article-editor/tasks/task-article-outline.d.ts +3 -3
  263. package/lib/text/fm-article-editor/tasks/task-article-preview.d.ts +2 -1
  264. package/lib/text/fm-article-editor/tasks/task-article-writing-options.d.ts +3 -3
  265. package/lib/text/fm-article-editor/tasks/task-document-select.d.ts +3 -3
  266. package/lib/user/account/account.service.d.ts +2 -2
  267. package/lib/user/comp-user-avatar/comp-user-avatar.component.d.ts +2 -2
  268. package/lib/user/login/auth.service.d.ts +5 -5
  269. package/lib/user/login/login.component.d.ts +3 -3
  270. package/lib/user/profile/auth-profile.service.d.ts +8 -8
  271. package/lib/user/profile/profile-bind/profile-bind.component.d.ts +7 -7
  272. package/lib/user/profile/profile-bind/profile-confirm-modal.component.d.ts +2 -2
  273. package/lib/user/staff/staff.service.d.ts +3 -3
  274. package/lib/user/user-name.pipe.d.ts +2 -2
  275. package/package.json +12 -18
@@ -1,211 +1,10 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, EventEmitter, Inject, Input, Output, ViewChild } from '@angular/core';
3
- import { MatCardModule } from '@angular/material/card';
4
- import { MatProgressBarModule } from '@angular/material/progress-bar';
5
- import { MatDividerModule } from '@angular/material/divider';
6
- import { FmStoryLoaderComponent } from '../../aigc/story';
7
- import { FmStoryCardComponent } from '../../aigc/story';
8
- import { NzLayoutModule } from 'ng-zorro-antd/layout';
9
- import { MatButtonModule } from '@angular/material/button';
10
- import { MatIconModule } from '@angular/material/icon';
11
- import { NzIconModule } from 'ng-zorro-antd/icon';
12
- import { ActivatedRoute, Router, RouterModule } from '@angular/router';
13
- import Parse from "parse";
14
- import { NzPipesModule } from 'ng-zorro-antd/pipes';
15
- import { IonicModule, LoadingController } from '@ionic/angular';
16
- import { MatDialog, MatDialogModule, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
17
- import { MatButtonToggleModule } from '@angular/material/button-toggle';
18
- import { MatCheckboxModule } from '@angular/material/checkbox';
19
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
20
- import { FmStoryListComponent } from '../../aigc/story';
21
- import * as i0 from "@angular/core";
22
- import * as i1 from "@angular/router";
23
- import * as i2 from "@ionic/angular";
24
- import * as i3 from "@angular/material/dialog";
25
- import * as i4 from "@angular/common";
26
- import * as i5 from "@angular/material/button";
27
- export class CompPersonStoryComponent {
28
- countChange(value) {
29
- this.selectCount = value;
30
- this.onCountChange.emit(value);
31
- }
32
- tokenChange(value) {
33
- this.selectToken = value;
34
- this.onTokenChange.emit(value);
35
- }
36
- async confirmSelectedList() {
37
- let result = await this.listComp?.getAllSelectDocument();
38
- let documentList = result?.documentList || [];
39
- let storyList = result?.storyList || [];
40
- this.onConfirmSelect.emit({
41
- storyList: storyList,
42
- documentList: documentList
43
- });
44
- }
45
- constructor(route, loadingCtrl, dialog, router) {
46
- this.route = route;
47
- this.loadingCtrl = loadingCtrl;
48
- this.dialog = dialog;
49
- this.router = router;
50
- this.storyList = [];
51
- this.isPreview = false; // 是否正在预览(预览时折叠故事列表)
52
- this.currentTab = "我的数据";
53
- this.height = "100%";
54
- // 选择模式
55
- this.isSelectMode = false;
56
- this.checkedMap = {};
57
- this.selectCount = 0;
58
- this.selectToken = 0;
59
- this.onCancel = new EventEmitter;
60
- this.onCountChange = new EventEmitter;
61
- this.onTokenChange = new EventEmitter;
62
- this.onConfirmSelect = new EventEmitter;
63
- this.routingMode = false;
64
- if (location.pathname?.indexOf("story") > -1) { // 通过导航加载文档预览器
65
- this.routingMode = true;
66
- }
67
- }
68
- async ngOnInit() {
69
- if (!this.person?.id || this.book?.id) {
70
- let id = this.route.snapshot.params?.["id"] || this.route?.parent?.snapshot?.params?.["id"];
71
- if (location?.pathname?.indexOf("editor/book") > -1) {
72
- let query = new Parse.Query("Book");
73
- query.include("person");
74
- this.book = await query.get(id);
75
- this.person = this.book.get("person");
76
- }
77
- if (location?.pathname?.indexOf("editor/person") > -1) {
78
- let query = new Parse.Query("Person");
79
- this.person = await query.get(id);
80
- }
81
- }
82
- }
83
- async previewStory(event) {
84
- let story = event;
85
- console.log("previewStory", event);
86
- if (document.body.clientWidth < 1000) { // 手机端弹窗预览故事卡片
87
- return;
88
- }
89
- // 路由预览模式,直接加载
90
- if (this.routingMode) {
91
- let pathList = location?.pathname?.split("story");
92
- let id = story?.story?.id || "";
93
- if (id) {
94
- pathList = [pathList[0], "story", "preview", id]?.filter(item => item);
95
- }
96
- else {
97
- pathList = [pathList[0], "story"]?.filter(item => item);
98
- }
99
- console.log(pathList);
100
- this.router.navigate(pathList);
101
- }
102
- // 组件预览模式,赋值
103
- this.currentStory = undefined;
104
- let duration = story?.story?.get("attach")?.id ? 1000 : 100;
105
- const loading = await this.loadingCtrl.create({
106
- message: '故事渲染中...',
107
- duration: duration,
108
- });
109
- loading.present();
110
- this.currentStory = story;
111
- }
112
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CompPersonStoryComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.LoadingController }, { token: i3.MatDialog }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
113
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CompPersonStoryComponent, isStandalone: true, selector: "comp-person-story", inputs: { person: "person", book: "book", article: "article", isSelectMode: "isSelectMode" }, outputs: { onCancel: "onCancel", onCountChange: "onCountChange", onTokenChange: "onTokenChange", onConfirmSelect: "onConfirmSelect" }, viewQueries: [{ propertyName: "listComp", first: true, predicate: FmStoryListComponent, descendants: true }], ngImport: i0, template: "\r\n<div class=\"page\" [style.height]=\"height\">\r\n <div class=\"sider\" style=\"padding:5px;\" [class.collapsed]=\"isPreview\">\r\n <!-- [style.width]=\"(isSelectMode?290:400)+'px'\" -->\r\n <fm-story-list \r\n [isSelectMode]=\"isSelectMode\"\r\n [person]=\"person\"\r\n [book]=\"book\"\r\n [article]=\"article\"\r\n (onConfirmSelect)=\"confirmSelectedList()\"\r\n (onCancel)=\"onCancel.emit(true)\"\r\n (onPreviewStory)=\"previewStory($event)\"\r\n (onCountChange)=\"countChange($event)\" \r\n (onTokenChange)=\"tokenChange($event)\"\r\n ></fm-story-list>\r\n </div>\r\n\r\n <div class=\"content on-pc\">\r\n @if (routingMode){\r\n <router-outlet></router-outlet>\r\n }@else if(currentStory){\r\n\r\n <fm-story-loader #loader [isSelectMode]=\"isSelectMode\" [story]=\"currentStory\"></fm-story-loader>\r\n }\r\n </div>\r\n</div>\r\n\r\n", styles: ["@media (max-width: 1024px){.on-pc{display:none}.sider{width:100%!important}}.page{width:100%;height:100%;display:flex;flex-direction:row;flex-wrap:nowrap}.page .sider{height:100%;width:400px}.page .content{flex:1;height:100%}nz-sider{background:var(--background-gray)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: IonicModule }, { kind: "ngmodule", type: NzLayoutModule }, { kind: "ngmodule", type: NzIconModule }, { kind: "ngmodule", type: NzPipesModule }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatCardModule }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: FmStoryLoaderComponent, selector: "fm-story-loader", inputs: ["isSelectMode", "story"] }, { kind: "component", type: FmStoryListComponent, selector: "fm-story-list", inputs: ["id", "article", "person", "book", "isSelectMode"], outputs: ["onCancel", "onCountChange", "onTokenChange", "onPreviewStory", "onConfirmSelect"] }] }); }
114
- }
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CompPersonStoryComponent, decorators: [{
116
- type: Component,
117
- args: [{ selector: 'comp-person-story', standalone: true, imports: [
118
- CommonModule, FormsModule, ReactiveFormsModule, RouterModule,
119
- IonicModule,
120
- NzLayoutModule, NzIconModule, NzPipesModule,
121
- MatButtonToggleModule, MatCheckboxModule, MatDialogModule,
122
- MatCardModule, MatProgressBarModule, MatDividerModule, MatButtonModule, MatIconModule,
123
- FmStoryLoaderComponent,
124
- FmStoryCardComponent,
125
- FmStoryListComponent
126
- ], template: "\r\n<div class=\"page\" [style.height]=\"height\">\r\n <div class=\"sider\" style=\"padding:5px;\" [class.collapsed]=\"isPreview\">\r\n <!-- [style.width]=\"(isSelectMode?290:400)+'px'\" -->\r\n <fm-story-list \r\n [isSelectMode]=\"isSelectMode\"\r\n [person]=\"person\"\r\n [book]=\"book\"\r\n [article]=\"article\"\r\n (onConfirmSelect)=\"confirmSelectedList()\"\r\n (onCancel)=\"onCancel.emit(true)\"\r\n (onPreviewStory)=\"previewStory($event)\"\r\n (onCountChange)=\"countChange($event)\" \r\n (onTokenChange)=\"tokenChange($event)\"\r\n ></fm-story-list>\r\n </div>\r\n\r\n <div class=\"content on-pc\">\r\n @if (routingMode){\r\n <router-outlet></router-outlet>\r\n }@else if(currentStory){\r\n\r\n <fm-story-loader #loader [isSelectMode]=\"isSelectMode\" [story]=\"currentStory\"></fm-story-loader>\r\n }\r\n </div>\r\n</div>\r\n\r\n", styles: ["@media (max-width: 1024px){.on-pc{display:none}.sider{width:100%!important}}.page{width:100%;height:100%;display:flex;flex-direction:row;flex-wrap:nowrap}.page .sider{height:100%;width:400px}.page .content{flex:1;height:100%}nz-sider{background:var(--background-gray)}\n"] }]
127
- }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.LoadingController }, { type: i3.MatDialog }, { type: i1.Router }], propDecorators: { listComp: [{
128
- type: ViewChild,
129
- args: [FmStoryListComponent]
130
- }], person: [{
131
- type: Input
132
- }], book: [{
133
- type: Input
134
- }], article: [{
135
- type: Input
136
- }], isSelectMode: [{
137
- type: Input
138
- }], onCancel: [{
139
- type: Output
140
- }], onCountChange: [{
141
- type: Output
142
- }], onTokenChange: [{
143
- type: Output
144
- }], onConfirmSelect: [{
145
- type: Output
146
- }] } });
147
- export class DialogPersonStorySelect {
148
- confirmSelectedList() {
149
- this.storySelectComp?.confirmSelectedList();
150
- }
151
- constructor(
152
- // 关联选择弹窗相关服务
153
- dialogRef, data) {
154
- this.dialogRef = dialogRef;
155
- this.data = data;
156
- this.isSelectMode = true;
157
- this.selectCount = 0;
158
- this.selectToken = 0;
159
- this.limitToken = 131072;
160
- this.person = data?.person;
161
- this.book = data?.book;
162
- this.article = data?.article;
163
- setTimeout(() => {
164
- this.storySelectComp?.listComp?.loadStory();
165
- }, 500);
166
- }
167
- onConfirm(ev) {
168
- console.log("onConfirm:", ev);
169
- this.dialogRef.close(ev);
170
- }
171
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DialogPersonStorySelect, deps: [{ token: i3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
172
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DialogPersonStorySelect, isStandalone: true, selector: "person-story-select-dialog", viewQueries: [{ propertyName: "storySelectComp", first: true, predicate: CompPersonStoryComponent, descendants: true }], ngImport: i0, template: `
173
- <comp-person-story
174
- (onCancel)="dialogRef.close(true)"
175
- (onConfirmSelect)="onConfirm($event)" (onCountChange)="selectCount=$event" (onTokenChange)="selectToken=$event"
176
- [article]="article" [person]="person" [book]="book" [isSelectMode]="isSelectMode"></comp-person-story>
177
- <mat-dialog-actions align="start" *ngIf="false">
178
- <button mat-button>已经选择:{{selectCount}}个 (约{{selectToken}}tokens)</button>
179
- <button mat-button color="primary" [mat-dialog-close]="false">取消</button>
180
- <button *ngIf='selectToken<=limitToken' mat-raised-button color="primary" (click)="confirmSelectedList()" cdkFocusInitial>确认选择</button>
181
- <button *ngIf='selectToken>limitToken' mat-raised-button color="warn" disabled>超出{{selectToken-limitToken}}tokens</button>
182
- </mat-dialog-actions>
183
- `, isInline: true, styles: ["comp-person-story{height:calc(100% - 50px);width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: CompPersonStoryComponent, selector: "comp-person-story", inputs: ["person", "book", "article", "isSelectMode"], outputs: ["onCancel", "onCountChange", "onTokenChange", "onConfirmSelect"] }] }); }
184
- }
185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DialogPersonStorySelect, decorators: [{
186
- type: Component,
187
- args: [{ selector: 'person-story-select-dialog', template: `
188
- <comp-person-story
189
- (onCancel)="dialogRef.close(true)"
190
- (onConfirmSelect)="onConfirm($event)" (onCountChange)="selectCount=$event" (onTokenChange)="selectToken=$event"
191
- [article]="article" [person]="person" [book]="book" [isSelectMode]="isSelectMode"></comp-person-story>
192
- <mat-dialog-actions align="start" *ngIf="false">
193
- <button mat-button>已经选择:{{selectCount}}个 (约{{selectToken}}tokens)</button>
194
- <button mat-button color="primary" [mat-dialog-close]="false">取消</button>
195
- <button *ngIf='selectToken<=limitToken' mat-raised-button color="primary" (click)="confirmSelectedList()" cdkFocusInitial>确认选择</button>
196
- <button *ngIf='selectToken>limitToken' mat-raised-button color="warn" disabled>超出{{selectToken-limitToken}}tokens</button>
197
- </mat-dialog-actions>
198
- `, standalone: true, imports: [
199
- CommonModule,
200
- MatDialogModule, MatButtonModule,
201
- //
202
- CompPersonStoryComponent
203
- ], styles: ["comp-person-story{height:calc(100% - 50px);width:100%}\n"] }]
204
- }], ctorParameters: () => [{ type: i3.MatDialogRef }, { type: undefined, decorators: [{
205
- type: Inject,
206
- args: [MAT_DIALOG_DATA]
207
- }] }], propDecorators: { storySelectComp: [{
208
- type: ViewChild,
209
- args: [CompPersonStoryComponent]
210
- }] } });
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcC1wZXJzb24tc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm1vZGUtbmcvc3JjL2xpYi9wZXJzb24vY29tcC1wZXJzb24tc3RvcnkvY29tcC1wZXJzb24tc3RvcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm1vZGUtbmcvc3JjL2xpYi9wZXJzb24vY29tcC1wZXJzb24tc3RvcnkvY29tcC1wZXJzb24tc3RvcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWxELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFD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ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IEZtU3RvcnlMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9haWdjL3N0b3J5JztcclxuaW1wb3J0IHsgRm1TdG9yeUNhcmRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9haWdjL3N0b3J5JztcclxuaW1wb3J0IHsgTnpMYXlvdXRNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2xheW91dCc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTnpJY29uTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pY29uJztcclxuaW1wb3J0IHsgQWdlbnRTdG9yeSB9IGZyb20gJy4uLy4uL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgUGFyc2UgZnJvbSBcInBhcnNlXCI7XHJcbmltcG9ydCB7IE56UGlwZXNNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3BpcGVzJztcclxuaW1wb3J0IHsgSW9uaWNNb2R1bGUsIExvYWRpbmdDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ01vZHVsZSwgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGbVN0b3J5TGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2FpZ2Mvc3RvcnknO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvbXAtcGVyc29uLXN0b3J5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29tcC1wZXJzb24tc3RvcnkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbXAtcGVyc29uLXN0b3J5LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOltcclxuICAgIENvbW1vbk1vZHVsZSxGb3Jtc01vZHVsZSxSZWFjdGl2ZUZvcm1zTW9kdWxlLFJvdXRlck1vZHVsZSxcclxuICAgIElvbmljTW9kdWxlLFxyXG4gICAgTnpMYXlvdXRNb2R1bGUsTnpJY29uTW9kdWxlLE56UGlwZXNNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsTWF0Q2hlY2tib3hNb2R1bGUsTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0Q2FyZE1vZHVsZSxNYXRQcm9ncmVzc0Jhck1vZHVsZSxNYXREaXZpZGVyTW9kdWxlLE1hdEJ1dHRvbk1vZHVsZSxNYXRJY29uTW9kdWxlLFxyXG4gICAgRm1TdG9yeUxvYWRlckNvbXBvbmVudCxcclxuICAgIEZtU3RvcnlDYXJkQ29tcG9uZW50LFxyXG4gICAgRm1TdG9yeUxpc3RDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21wUGVyc29uU3RvcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoRm1TdG9yeUxpc3RDb21wb25lbnQpIGxpc3RDb21wOkZtU3RvcnlMaXN0Q29tcG9uZW50fHVuZGVmaW5lZFxyXG4gIEBJbnB1dCgpIHBlcnNvbjpQYXJzZS5PYmplY3R8dW5kZWZpbmVkXHJcbiAgQElucHV0KCkgYm9vazpQYXJzZS5PYmplY3R8dW5kZWZpbmVkXHJcbiAgQElucHV0KCkgYXJ0aWNsZTpQYXJzZS5PYmplY3R8dW5kZWZpbmVkXHJcblxyXG4gIGN1cnJlbnRTdG9yeTpBZ2VudFN0b3J5fHVuZGVmaW5lZFxyXG4gIHN0b3J5TGlzdDpBcnJheTxBZ2VudFN0b3J5PiB8IHVuZGVmaW5lZCA9IFtdXHJcbiAgaXNQcmV2aWV3OmJvb2xlYW4gPSBmYWxzZSAvLyDmmK/lkKbmraPlnKjpooTop4jvvIjpooTop4jml7bmipjlj6DmlYXkuovliJfooajvvIlcclxuXHJcbiAgY3VycmVudFRhYjpzdHJpbmcgPSBcIuaIkeeahOaVsOaNrlwiXHJcblxyXG4gIGhlaWdodDpzdHJpbmcgPSBcIjEwMCVcIjtcclxuICAvLyDpgInmi6nmqKHlvI9cclxuICBASW5wdXQoKVxyXG4gIGlzU2VsZWN0TW9kZTpib29sZWFuID0gZmFsc2U7XHJcbiAgY2hlY2tlZE1hcDp7W2tleTpzdHJpbmddOnRydWV9ID0ge307XHJcbiAgc2VsZWN0Q291bnQ6bnVtYmVyID0gMDtcclxuICBzZWxlY3RUb2tlbjpudW1iZXIgPSAwO1xyXG4gIEBPdXRwdXQoKSBvbkNhbmNlbDpFdmVudEVtaXR0ZXI8Ym9vbGVhbj49bmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPlxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uQ291bnRDaGFuZ2U6RXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj5cclxuICBjb3VudENoYW5nZSh2YWx1ZSl7XHJcbiAgICB0aGlzLnNlbGVjdENvdW50PXZhbHVlIFxyXG4gICAgdGhpcy5vbkNvdW50Q2hhbmdlLmVtaXQodmFsdWUpXHJcbiAgfVxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uVG9rZW5DaGFuZ2U6RXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj5cclxuICB0b2tlbkNoYW5nZSh2YWx1ZSl7XHJcbiAgICB0aGlzLnNlbGVjdFRva2VuPXZhbHVlIFxyXG4gICAgdGhpcy5vblRva2VuQ2hhbmdlLmVtaXQodmFsdWUpXHJcbiAgfVxyXG5cclxuICBhc3luYyBjb25maXJtU2VsZWN0ZWRMaXN0KCl7XHJcbiAgICBsZXQgcmVzdWx0ID0gYXdhaXQgdGhpcy5saXN0Q29tcD8uZ2V0QWxsU2VsZWN0RG9jdW1lbnQoKVxyXG4gICAgbGV0IGRvY3VtZW50TGlzdDpBcnJheTxQYXJzZS5PYmplY3Q+ID0gcmVzdWx0Py5kb2N1bWVudExpc3QgfHwgW11cclxuICAgIGxldCBzdG9yeUxpc3Q6QXJyYXk8UGFyc2UuT2JqZWN0PiA9ICByZXN1bHQ/LnN0b3J5TGlzdCB8fCBbXVxyXG5cclxuICAgIHRoaXMub25Db25maXJtU2VsZWN0LmVtaXQoe1xyXG4gICAgICBzdG9yeUxpc3Q6IHN0b3J5TGlzdCxcclxuICAgICAgZG9jdW1lbnRMaXN0OiBkb2N1bWVudExpc3RcclxuICAgIH0pXHJcbiAgIFxyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIG9uQ29uZmlybVNlbGVjdDpFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PlxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZTpBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgbG9hZGluZ0N0cmw6IExvYWRpbmdDb250cm9sbGVyLFxyXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6Um91dGVyXHJcbiAgKSB7IFxyXG5cclxuICAgIGlmKGxvY2F0aW9uLnBhdGhuYW1lPy5pbmRleE9mKFwic3RvcnlcIik+LTEpeyAvLyDpgJrov4flr7zoiKrliqDovb3mlofmoaPpooTop4jlmahcclxuICAgICAgdGhpcy5yb3V0aW5nTW9kZSA9IHRydWVcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJvdXRpbmdNb2RlOmJvb2xlYW4gPSBmYWxzZVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIGlmKCF0aGlzLnBlcnNvbj8uaWQgfHwgdGhpcy5ib29rPy5pZCl7XHJcbiAgICAgIGxldCBpZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zPy5bXCJpZFwiXSB8fCB0aGlzLnJvdXRlPy5wYXJlbnQ/LnNuYXBzaG90Py5wYXJhbXM/LltcImlkXCJdXHJcbiAgICAgIGlmKGxvY2F0aW9uPy5wYXRobmFtZT8uaW5kZXhPZihcImVkaXRvci9ib29rXCIpPi0xKXtcclxuICAgICAgICBsZXQgcXVlcnkgPSBuZXcgUGFyc2UuUXVlcnkoXCJCb29rXCIpO1xyXG4gICAgICAgIHF1ZXJ5LmluY2x1ZGUoXCJwZXJzb25cIilcclxuICAgICAgICB0aGlzLmJvb2sgPSBhd2FpdCBxdWVyeS5nZXQoaWQpO1xyXG4gICAgICAgIHRoaXMucGVyc29uID0gdGhpcy5ib29rLmdldChcInBlcnNvblwiKTtcclxuICAgICAgfVxyXG4gICAgICBpZihsb2NhdGlvbj8ucGF0aG5hbWU/LmluZGV4T2YoXCJlZGl0b3IvcGVyc29uXCIpPi0xKXtcclxuICAgICAgICBsZXQgcXVlcnkgPSBuZXcgUGFyc2UuUXVlcnkoXCJQZXJzb25cIik7XHJcbiAgICAgICAgdGhpcy5wZXJzb24gPSBhd2FpdCBxdWVyeS5nZXQoaWQpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIHByZXZpZXdTdG9yeShldmVudDphbnkpe1xyXG4gICAgbGV0IHN0b3J5OkFnZW50U3RvcnkgPSBldmVudDtcclxuICAgIGNvbnNvbGUubG9nKFwicHJldmlld1N0b3J5XCIsZXZlbnQpO1xyXG5cclxuXHJcbiAgICBpZihkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoPDEwMDApeyAvLyDmiYvmnLrnq6/lvLnnqpfpooTop4jmlYXkuovljaHniYdcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgLy8g6Lev55Sx6aKE6KeI5qih5byP77yM55u05o6l5Yqg6L29XHJcbiAgICBpZih0aGlzLnJvdXRpbmdNb2RlKXsgXHJcbiAgICAgIGxldCBwYXRoTGlzdCA9IGxvY2F0aW9uPy5wYXRobmFtZT8uc3BsaXQoXCJzdG9yeVwiKTtcclxuICAgICAgbGV0IGlkID0gc3Rvcnk/LnN0b3J5Py5pZHx8XCJcIlxyXG4gICAgICBpZihpZCl7XHJcbiAgICAgICAgcGF0aExpc3QgPSBbcGF0aExpc3RbMF0sXCJzdG9yeVwiLFwicHJldmlld1wiLGlkXT8uZmlsdGVyKGl0ZW09Pml0ZW0pXHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHBhdGhMaXN0ID0gW3BhdGhMaXN0WzBdLFwic3RvcnlcIl0/LmZpbHRlcihpdGVtPT5pdGVtKVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUubG9nKHBhdGhMaXN0KVxyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShwYXRoTGlzdClcclxuICAgIH1cclxuXHJcbiAgICAvLyDnu4Tku7bpooTop4jmqKHlvI/vvIzotYvlgLxcclxuICAgIHRoaXMuY3VycmVudFN0b3J5ID0gdW5kZWZpbmVkO1xyXG5cclxuICAgIGxldCBkdXJhdGlvbiA9IHN0b3J5Py5zdG9yeT8uZ2V0KFwiYXR0YWNoXCIpPy5pZD8xMDAwOjEwMDtcclxuICAgIGNvbnN0IGxvYWRpbmcgPSBhd2FpdCB0aGlzLmxvYWRpbmdDdHJsLmNyZWF0ZSh7XHJcbiAgICAgIG1lc3NhZ2U6ICfmlYXkuovmuLLmn5PkuK0uLi4nLFxyXG4gICAgICBkdXJhdGlvbjogZHVyYXRpb24sXHJcbiAgICB9KTtcclxuICAgIGxvYWRpbmcucHJlc2VudCgpO1xyXG4gICAgdGhpcy5jdXJyZW50U3RvcnkgPSBzdG9yeVxyXG5cclxuICB9XHJcblxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3BlcnNvbi1zdG9yeS1zZWxlY3QtZGlhbG9nJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gIDxjb21wLXBlcnNvbi1zdG9yeSBcclxuICAob25DYW5jZWwpPVwiZGlhbG9nUmVmLmNsb3NlKHRydWUpXCJcclxuICAob25Db25maXJtU2VsZWN0KT1cIm9uQ29uZmlybSgkZXZlbnQpXCIgKG9uQ291bnRDaGFuZ2UpPVwic2VsZWN0Q291bnQ9JGV2ZW50XCIgKG9uVG9rZW5DaGFuZ2UpPVwic2VsZWN0VG9rZW49JGV2ZW50XCJcclxuICAgW2FydGljbGVdPVwiYXJ0aWNsZVwiIFtwZXJzb25dPVwicGVyc29uXCIgW2Jvb2tdPVwiYm9va1wiIFtpc1NlbGVjdE1vZGVdPVwiaXNTZWxlY3RNb2RlXCI+PC9jb21wLXBlcnNvbi1zdG9yeT5cclxuICAgPG1hdC1kaWFsb2ctYWN0aW9ucyBhbGlnbj1cInN0YXJ0XCIgKm5nSWY9XCJmYWxzZVwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24+5bey57uP6YCJ5oup77yae3tzZWxlY3RDb3VudH195LiqICjnuqZ7e3NlbGVjdFRva2VufX10b2tlbnMpPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAgW21hdC1kaWFsb2ctY2xvc2VdPVwiZmFsc2VcIj7lj5bmtog8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiAqbmdJZj0nc2VsZWN0VG9rZW48PWxpbWl0VG9rZW4nIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJjb25maXJtU2VsZWN0ZWRMaXN0KClcIiBjZGtGb2N1c0luaXRpYWw+56Gu6K6k6YCJ5oupPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gKm5nSWY9J3NlbGVjdFRva2VuPmxpbWl0VG9rZW4nIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwid2FyblwiIGRpc2FibGVkPui2heWHunt7c2VsZWN0VG9rZW4tbGltaXRUb2tlbn19dG9rZW5zPC9idXR0b24+XHJcbiAgICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuICAgYCxcclxuICAgc3R5bGVzOmBcclxuICAgIGNvbXAtcGVyc29uLXN0b3J5e1xyXG4gICAgICBoZWlnaHQ6Y2FsYyggMTAwJSAtIDUwcHggKTtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgIH1cclxuICAgYCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgLy8gXHJcbiAgICBDb21wUGVyc29uU3RvcnlDb21wb25lbnRcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nUGVyc29uU3RvcnlTZWxlY3Qge1xyXG4gIEBWaWV3Q2hpbGQoQ29tcFBlcnNvblN0b3J5Q29tcG9uZW50KSBzdG9yeVNlbGVjdENvbXA6Q29tcFBlcnNvblN0b3J5Q29tcG9uZW50fHVuZGVmaW5lZFxyXG4gIHBlcnNvbjpQYXJzZS5PYmplY3R8dW5kZWZpbmVkO1xyXG4gIGJvb2s6UGFyc2UuT2JqZWN0fHVuZGVmaW5lZDtcclxuICBhcnRpY2xlOlBhcnNlLk9iamVjdHx1bmRlZmluZWQ7XHJcbiAgaXNTZWxlY3RNb2RlOmJvb2xlYW4gPSB0cnVlO1xyXG4gIHNlbGVjdENvdW50Om51bWJlcnx1bmRlZmluZWQgPSAwO1xyXG4gIHNlbGVjdFRva2VuOm51bWJlciA9IDA7XHJcbiAgXHJcbiAgbGltaXRUb2tlbjpudW1iZXIgPSAxMzEwNzI7XHJcbiAgY29uZmlybVNlbGVjdGVkTGlzdCgpe1xyXG4gICAgdGhpcy5zdG9yeVNlbGVjdENvbXA/LmNvbmZpcm1TZWxlY3RlZExpc3QoKTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAgLy8g5YWz6IGU6YCJ5oup5by556qX55u45YWz5pyN5YqhXHJcbiAgICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPENvbXBQZXJzb25TdG9yeUNvbXBvbmVudD4sXHJcbiAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiB7XHJcbiAgICAgICBwZXJzb246UGFyc2UuT2JqZWN0LFxyXG4gICAgICAgYm9vazpQYXJzZS5PYmplY3QsXHJcbiAgICAgICBhcnRpY2xlOlBhcnNlLk9iamVjdFxyXG4gICAgIH0sXHJcbiAgKSB7XHJcbiAgICB0aGlzLnBlcnNvbiA9IGRhdGE/LnBlcnNvblxyXG4gICAgdGhpcy5ib29rID0gZGF0YT8uYm9va1xyXG4gICAgdGhpcy5hcnRpY2xlID0gZGF0YT8uYXJ0aWNsZVxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdG9yeVNlbGVjdENvbXA/Lmxpc3RDb21wPy5sb2FkU3RvcnkoKTtcclxuICAgIH0sIDUwMCk7XHJcbiAgfVxyXG5cclxuICBvbkNvbmZpcm0oZXY6YW55KXtcclxuICAgIGNvbnNvbGUubG9nKFwib25Db25maXJtOlwiLGV2KVxyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZXYpO1xyXG4gIH1cclxufSIsIlxyXG48ZGl2IGNsYXNzPVwicGFnZVwiIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0XCI+XHJcbiAgPGRpdiBjbGFzcz1cInNpZGVyXCIgc3R5bGU9XCJwYWRkaW5nOjVweDtcIiBbY2xhc3MuY29sbGFwc2VkXT1cImlzUHJldmlld1wiPlxyXG4gICAgPCEtLSBbc3R5bGUud2lkdGhdPVwiKGlzU2VsZWN0TW9kZT8yOTA6NDAwKSsncHgnXCIgIC0tPlxyXG4gICAgPGZtLXN0b3J5LWxpc3QgXHJcbiAgICBbaXNTZWxlY3RNb2RlXT1cImlzU2VsZWN0TW9kZVwiXHJcbiAgICBbcGVyc29uXT1cInBlcnNvblwiXHJcbiAgICBbYm9va109XCJib29rXCJcclxuICAgIFthcnRpY2xlXT1cImFydGljbGVcIlxyXG4gICAgKG9uQ29uZmlybVNlbGVjdCk9XCJjb25maXJtU2VsZWN0ZWRMaXN0KClcIlxyXG4gICAgKG9uQ2FuY2VsKT1cIm9uQ2FuY2VsLmVtaXQodHJ1ZSlcIlxyXG4gICAgKG9uUHJldmlld1N0b3J5KT1cInByZXZpZXdTdG9yeSgkZXZlbnQpXCJcclxuICAgIChvbkNvdW50Q2hhbmdlKT1cImNvdW50Q2hhbmdlKCRldmVudClcIiBcclxuICAgIChvblRva2VuQ2hhbmdlKT1cInRva2VuQ2hhbmdlKCRldmVudClcIlxyXG4gICAgPjwvZm0tc3RvcnktbGlzdD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNvbnRlbnQgb24tcGNcIj5cclxuICAgICAgQGlmIChyb3V0aW5nTW9kZSl7XHJcbiAgICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG4gICAgICB9QGVsc2UgaWYoY3VycmVudFN0b3J5KXtcclxuXHJcbiAgICAgICAgPGZtLXN0b3J5LWxvYWRlciAjbG9hZGVyIFtpc1NlbGVjdE1vZGVdPVwiaXNTZWxlY3RNb2RlXCIgW3N0b3J5XT1cImN1cnJlbnRTdG9yeVwiPjwvZm0tc3RvcnktbG9hZGVyPlxyXG4gICAgICB9XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuIl19
1
+
2
+ /**
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/person/comp-person-story/comp-person-story.component.mjs
7
+ */
8
+ import{CommonModule}from"@angular/common";import{Component,EventEmitter,Inject,Input,Output,ViewChild}from"@angular/core";import{MatCardModule}from"@angular/material/card";import{MatProgressBarModule}from"@angular/material/progress-bar";import{MatDividerModule}from"@angular/material/divider";import{FmStoryLoaderComponent}from"../../aigc/story";import{FmStoryCardComponent}from"../../aigc/story";import{NzLayoutModule}from"ng-zorro-antd/layout";import{MatButtonModule}from"@angular/material/button";import{MatIconModule}from"@angular/material/icon";import{NzIconModule}from"ng-zorro-antd/icon";import{ActivatedRoute,Router,RouterModule}from"@angular/router";import{FmodeParse,FmodeObject}from"@fmode/parse";import{NzPipesModule}from"ng-zorro-antd/pipes";import{IonicModule,LoadingController}from"@ionic/angular";import{MatDialog,MatDialogModule,MatDialogRef,MAT_DIALOG_DATA}from"@angular/material/dialog";import{MatButtonToggleModule}from"@angular/material/button-toggle";import{MatCheckboxModule}from"@angular/material/checkbox";import{FormsModule,ReactiveFormsModule}from"@angular/forms";import{FmStoryListComponent}from"../../aigc/story";import*as i0 from"@angular/core";import*as i1 from"@angular/router";import*as i2 from"@ionic/angular";import*as i3 from"@angular/material/dialog";import*as i4 from"@angular/common";import*as i5 from"@angular/material/button";const Parse=FmodeParse.with("nova");export class CompPersonStoryComponent{countChange(e){this.selectCount=e,this.onCountChange.emit(e)}tokenChange(e){this.selectToken=e,this.onTokenChange.emit(e)}async confirmSelectedList(){let e=await(this.listComp?.getAllSelectDocument()),t=e?.documentList||[],o=e?.storyList||[];this.onConfirmSelect.emit({storyList:o,documentList:t})}constructor(e,t,o,n){this.route=e,this.loadingCtrl=t,this.dialog=o,this.router=n,this.storyList=[],this.isPreview=!1,this.currentTab="我的数据",this.height="100%",this.isSelectMode=!1,this.checkedMap={},this.selectCount=0,this.selectToken=0,this.onCancel=new EventEmitter,this.onCountChange=new EventEmitter,this.onTokenChange=new EventEmitter,this.onConfirmSelect=new EventEmitter,this.routingMode=!1,location.pathname?.indexOf("story")>-1&&(this.routingMode=!0)}async ngOnInit(){if(!this.person?.id||this.book?.id){let e=this.route.snapshot.params?.id||this.route?.parent?.snapshot?.params?.id;if(location?.pathname?.indexOf("editor/book")>-1){let t=new Parse.Query("Book");t.include("person"),this.book=await t.get(e),this.person=this.book.get("person")}if(location?.pathname?.indexOf("editor/person")>-1){let t=new Parse.Query("Person");this.person=await t.get(e)}}}async previewStory(e){let t=e;if(console.log("previewStory",e),document.body.clientWidth<1e3)return;if(this.routingMode){let e=location?.pathname?.split("story"),o=t?.story?.id||"";e=o?[e[0],"story","preview",o]?.filter((e=>e)):[e[0],"story"]?.filter((e=>e)),console.log(e),this.router.navigate(e)}this.currentStory=void 0;let o=t?.story?.get("attach")?.id?1e3:100;(await this.loadingCtrl.create({message:"故事渲染中...",duration:o})).present(),this.currentStory=t}static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:CompPersonStoryComponent,deps:[{token:i1.ActivatedRoute},{token:i2.LoadingController},{token:i3.MatDialog},{token:i1.Router}],target:i0.ɵɵFactoryTarget.Component})}static{this.ɵcmp=i0.ɵɵngDeclareComponent({minVersion:"17.0.0",version:"17.3.12",type:CompPersonStoryComponent,isStandalone:!0,selector:"comp-person-story",inputs:{person:"person",book:"book",article:"article",isSelectMode:"isSelectMode"},outputs:{onCancel:"onCancel",onCountChange:"onCountChange",onTokenChange:"onTokenChange",onConfirmSelect:"onConfirmSelect"},viewQueries:[{propertyName:"listComp",first:!0,predicate:FmStoryListComponent,descendants:!0}],ngImport:i0,template:'\n<div class="page" [style.height]="height">\n <div class="sider" style="padding:5px;" [class.collapsed]="isPreview">\n \x3c!-- [style.width]="(isSelectMode?290:400)+\'px\'" --\x3e\n <fm-story-list \n [isSelectMode]="isSelectMode"\n [person]="person"\n [book]="book"\n [article]="article"\n (onConfirmSelect)="confirmSelectedList()"\n (onCancel)="onCancel.emit(true)"\n (onPreviewStory)="previewStory($event)"\n (onCountChange)="countChange($event)" \n (onTokenChange)="tokenChange($event)"\n ></fm-story-list>\n </div>\n\n <div class="content on-pc">\n @if (routingMode){\n <router-outlet></router-outlet>\n }@else if(currentStory){\n\n <fm-story-loader #loader [isSelectMode]="isSelectMode" [story]="currentStory"></fm-story-loader>\n }\n </div>\n</div>\n\n',styles:["@media (max-width: 1024px){.on-pc{display:none}.sider{width:100%!important}}.page{width:100%;height:100%;display:flex;flex-direction:row;flex-wrap:nowrap}.page .sider{height:100%;width:400px}.page .content{flex:1;height:100%}nz-sider{background:var(--background-gray)}\n"],dependencies:[{kind:"ngmodule",type:CommonModule},{kind:"ngmodule",type:FormsModule},{kind:"ngmodule",type:ReactiveFormsModule},{kind:"ngmodule",type:RouterModule},{kind:"directive",type:i1.RouterOutlet,selector:"router-outlet",inputs:["name"],outputs:["activate","deactivate","attach","detach"],exportAs:["outlet"]},{kind:"ngmodule",type:IonicModule},{kind:"ngmodule",type:NzLayoutModule},{kind:"ngmodule",type:NzIconModule},{kind:"ngmodule",type:NzPipesModule},{kind:"ngmodule",type:MatButtonToggleModule},{kind:"ngmodule",type:MatCheckboxModule},{kind:"ngmodule",type:MatDialogModule},{kind:"ngmodule",type:MatCardModule},{kind:"ngmodule",type:MatProgressBarModule},{kind:"ngmodule",type:MatDividerModule},{kind:"ngmodule",type:MatButtonModule},{kind:"ngmodule",type:MatIconModule},{kind:"component",type:FmStoryLoaderComponent,selector:"fm-story-loader",inputs:["isSelectMode","story"]},{kind:"component",type:FmStoryListComponent,selector:"fm-story-list",inputs:["id","article","person","book","isSelectMode"],outputs:["onCancel","onCountChange","onTokenChange","onPreviewStory","onConfirmSelect"]}]})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:CompPersonStoryComponent,decorators:[{type:Component,args:[{selector:"comp-person-story",standalone:!0,imports:[CommonModule,FormsModule,ReactiveFormsModule,RouterModule,IonicModule,NzLayoutModule,NzIconModule,NzPipesModule,MatButtonToggleModule,MatCheckboxModule,MatDialogModule,MatCardModule,MatProgressBarModule,MatDividerModule,MatButtonModule,MatIconModule,FmStoryLoaderComponent,FmStoryCardComponent,FmStoryListComponent],template:'\n<div class="page" [style.height]="height">\n <div class="sider" style="padding:5px;" [class.collapsed]="isPreview">\n \x3c!-- [style.width]="(isSelectMode?290:400)+\'px\'" --\x3e\n <fm-story-list \n [isSelectMode]="isSelectMode"\n [person]="person"\n [book]="book"\n [article]="article"\n (onConfirmSelect)="confirmSelectedList()"\n (onCancel)="onCancel.emit(true)"\n (onPreviewStory)="previewStory($event)"\n (onCountChange)="countChange($event)" \n (onTokenChange)="tokenChange($event)"\n ></fm-story-list>\n </div>\n\n <div class="content on-pc">\n @if (routingMode){\n <router-outlet></router-outlet>\n }@else if(currentStory){\n\n <fm-story-loader #loader [isSelectMode]="isSelectMode" [story]="currentStory"></fm-story-loader>\n }\n </div>\n</div>\n\n',styles:["@media (max-width: 1024px){.on-pc{display:none}.sider{width:100%!important}}.page{width:100%;height:100%;display:flex;flex-direction:row;flex-wrap:nowrap}.page .sider{height:100%;width:400px}.page .content{flex:1;height:100%}nz-sider{background:var(--background-gray)}\n"]}]}],ctorParameters:()=>[{type:i1.ActivatedRoute},{type:i2.LoadingController},{type:i3.MatDialog},{type:i1.Router}],propDecorators:{listComp:[{type:ViewChild,args:[FmStoryListComponent]}],person:[{type:Input}],book:[{type:Input}],article:[{type:Input}],isSelectMode:[{type:Input}],onCancel:[{type:Output}],onCountChange:[{type:Output}],onTokenChange:[{type:Output}],onConfirmSelect:[{type:Output}]}});export class DialogPersonStorySelect{confirmSelectedList(){this.storySelectComp?.confirmSelectedList()}constructor(e,t){this.dialogRef=e,this.data=t,this.isSelectMode=!0,this.selectCount=0,this.selectToken=0,this.limitToken=131072,this.person=t?.person,this.book=t?.book,this.article=t?.article,setTimeout((()=>{this.storySelectComp?.listComp?.loadStory()}),500)}onConfirm(e){console.log("onConfirm:",e),this.dialogRef.close(e)}static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:DialogPersonStorySelect,deps:[{token:i3.MatDialogRef},{token:MAT_DIALOG_DATA}],target:i0.ɵɵFactoryTarget.Component})}static{this.ɵcmp=i0.ɵɵngDeclareComponent({minVersion:"14.0.0",version:"17.3.12",type:DialogPersonStorySelect,isStandalone:!0,selector:"person-story-select-dialog",viewQueries:[{propertyName:"storySelectComp",first:!0,predicate:CompPersonStoryComponent,descendants:!0}],ngImport:i0,template:'\n <comp-person-story \n (onCancel)="dialogRef.close(true)"\n (onConfirmSelect)="onConfirm($event)" (onCountChange)="selectCount=$event" (onTokenChange)="selectToken=$event"\n [article]="article" [person]="person" [book]="book" [isSelectMode]="isSelectMode"></comp-person-story>\n <mat-dialog-actions align="start" *ngIf="false">\n <button mat-button>已经选择:{{selectCount}}个 (约{{selectToken}}tokens)</button>\n <button mat-button color="primary" [mat-dialog-close]="false">取消</button>\n <button *ngIf=\'selectToken<=limitToken\' mat-raised-button color="primary" (click)="confirmSelectedList()" cdkFocusInitial>确认选择</button>\n <button *ngIf=\'selectToken>limitToken\' mat-raised-button color="warn" disabled>超出{{selectToken-limitToken}}tokens</button>\n </mat-dialog-actions>\n ',isInline:!0,styles:["comp-person-story{height:calc(100% - 50px);width:100%}\n"],dependencies:[{kind:"ngmodule",type:CommonModule},{kind:"directive",type:i4.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{kind:"ngmodule",type:MatDialogModule},{kind:"directive",type:i3.MatDialogClose,selector:"[mat-dialog-close], [matDialogClose]",inputs:["aria-label","type","mat-dialog-close","matDialogClose"],exportAs:["matDialogClose"]},{kind:"directive",type:i3.MatDialogActions,selector:"[mat-dialog-actions], mat-dialog-actions, [matDialogActions]",inputs:["align"]},{kind:"ngmodule",type:MatButtonModule},{kind:"component",type:i5.MatButton,selector:" button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ",exportAs:["matButton"]},{kind:"component",type:CompPersonStoryComponent,selector:"comp-person-story",inputs:["person","book","article","isSelectMode"],outputs:["onCancel","onCountChange","onTokenChange","onConfirmSelect"]}]})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:DialogPersonStorySelect,decorators:[{type:Component,args:[{selector:"person-story-select-dialog",template:'\n <comp-person-story \n (onCancel)="dialogRef.close(true)"\n (onConfirmSelect)="onConfirm($event)" (onCountChange)="selectCount=$event" (onTokenChange)="selectToken=$event"\n [article]="article" [person]="person" [book]="book" [isSelectMode]="isSelectMode"></comp-person-story>\n <mat-dialog-actions align="start" *ngIf="false">\n <button mat-button>已经选择:{{selectCount}}个 (约{{selectToken}}tokens)</button>\n <button mat-button color="primary" [mat-dialog-close]="false">取消</button>\n <button *ngIf=\'selectToken<=limitToken\' mat-raised-button color="primary" (click)="confirmSelectedList()" cdkFocusInitial>确认选择</button>\n <button *ngIf=\'selectToken>limitToken\' mat-raised-button color="warn" disabled>超出{{selectToken-limitToken}}tokens</button>\n </mat-dialog-actions>\n ',standalone:!0,imports:[CommonModule,MatDialogModule,MatButtonModule,CompPersonStoryComponent],styles:["comp-person-story{height:calc(100% - 50px);width:100%}\n"]}]}],ctorParameters:()=>[{type:i3.MatDialogRef},{type:void 0,decorators:[{type:Inject,args:[MAT_DIALOG_DATA]}]}],propDecorators:{storySelectComp:[{type:ViewChild,args:[CompPersonStoryComponent]}]}});
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9wZXJzb24vY29tcC1wZXJzb24tc3RvcnkvY29tcC1wZXJzb24tc3RvcnkuY29tcG9uZW50Lm1qcw==`
10
+