fmode-ng 0.0.113 → 0.0.114
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +8 -0
- package/README.md +37 -37
- package/esm2022/fmode-ng.mjs +10 -5
- package/esm2022/lib/aigc/agent/fm-agent-task/fm-agent-task.component.mjs +8 -92
- package/esm2022/lib/aigc/agent/index.mjs +10 -3
- package/esm2022/lib/aigc/avatar/avatar.module.mjs +10 -45
- package/esm2022/lib/aigc/avatar/comp-avatar-particle/avatar.role.mjs +10 -2
- package/esm2022/lib/aigc/avatar/comp-avatar-particle/comp-avatar-particle.component.mjs +10 -315
- package/esm2022/lib/aigc/avatar/comp-avatar-particle/index.mjs +10 -3
- package/esm2022/lib/aigc/avatar/comp-avatar-particle/role-points.class.mjs +10 -57
- package/esm2022/lib/aigc/avatar/comp-avatar-role-image/comp-avatar-role-image.component.mjs +10 -98
- package/esm2022/lib/aigc/avatar/comp-avatar-role-video/comp-avatar-role-video.component.mjs +10 -107
- package/esm2022/lib/aigc/avatar/comp-avatar-talk/comp-avatar-talk.component.mjs +10 -113
- package/esm2022/lib/aigc/avatar/index.mjs +10 -8
- package/esm2022/lib/aigc/avatar/interface-avatar-role.mjs +10 -2
- package/esm2022/lib/aigc/avatar/modal-chat-voice-input/modal-chat-voice-input.component.mjs +8 -164
- package/esm2022/lib/aigc/chat/chat-header-area/comp-header-area.component.mjs +10 -49
- package/esm2022/lib/aigc/chat/chat-header-area/index.mjs +10 -2
- package/esm2022/lib/aigc/chat/chat-list/chat-list.component.mjs +8 -155
- package/esm2022/lib/aigc/chat/chat-list/index.mjs +10 -2
- package/esm2022/lib/aigc/chat/chat-message-area/comp-message-area.component.mjs +10 -40
- package/esm2022/lib/aigc/chat/chat-message-area/index.mjs +10 -2
- package/esm2022/lib/aigc/chat/chat-message-card/comp-message-card.component.mjs +10 -140
- package/esm2022/lib/aigc/chat/chat-message-card/duration-str.pipe.mjs +10 -29
- package/esm2022/lib/aigc/chat/chat-message-card/index.mjs +10 -3
- package/esm2022/lib/aigc/chat/chat-modal-input/index.mjs +10 -3
- package/esm2022/lib/aigc/chat/chat-modal-input/modal-audio-message/modal-audio-message.component.mjs +8 -193
- package/esm2022/lib/aigc/chat/chat-modal-input/modal-input.component.mjs +10 -331
- package/esm2022/lib/aigc/chat/chat-panel/chat-panel.component.mjs +8 -249
- package/esm2022/lib/aigc/chat/comp-role-prompt/comp-role-prompt.component.mjs +10 -83
- package/esm2022/lib/aigc/chat/comp-role-prompt/index.mjs +10 -2
- package/esm2022/lib/aigc/chat/index.mjs +10 -8
- package/esm2022/lib/aigc/comp-markdown-preview/clipboard.service.mjs +10 -82
- package/esm2022/lib/aigc/comp-markdown-preview/markdown-parse.mjs +8 -367
- package/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.component.mjs +10 -51
- package/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.module.mjs +10 -24
- package/esm2022/lib/aigc/comp-markdown-preview/plugins/md-mathjax/index.mjs +10 -115
- package/esm2022/lib/aigc/index.mjs +10 -14
- package/esm2022/lib/aigc/service-fmai/fmai.service.mjs +10 -21
- package/esm2022/lib/aigc/service-fmai/service-chat/chat-class.mjs +10 -2
- package/esm2022/lib/aigc/service-fmai/service-chat/chat.service.mjs +8 -174
- package/esm2022/lib/aigc/service-fmai/service-chat/index.mjs +10 -7
- package/esm2022/lib/aigc/service-fmai/service-chat/mask-list.mjs +9 -194
- package/esm2022/lib/aigc/service-fmai/service-chat/pipes/chat-content.pipe.mjs +10 -27
- package/esm2022/lib/aigc/service-fmai/service-chat/pipes/hidexml.pipe.mjs +10 -27
- package/esm2022/lib/aigc/service-fmai/service-chat/utilnow.pipe.mjs +10 -68
- package/esm2022/lib/aigc/service-fmai/service-imagine/imagine-func.mjs +9 -162
- package/esm2022/lib/aigc/service-fmai/service-imagine/imagine-work.mjs +10 -68
- package/esm2022/lib/aigc/service-fmai/service-imagine/imagine.service.mjs +8 -313
- package/esm2022/lib/aigc/service-fmai/service-imagine/index.mjs +10 -4
- package/esm2022/lib/aigc/story/fm-office-viewer/fm-office-viewer.component.mjs +10 -62
- package/esm2022/lib/aigc/story/fm-story-card/fm-story-card.component.mjs +10 -87
- package/esm2022/lib/aigc/story/fm-story-list/fm-story-list.component.mjs +10 -345
- package/esm2022/lib/aigc/story/fm-story-list/story-preview.mjs +10 -81
- package/esm2022/lib/aigc/story/fm-story-loader/fm-story-loader.component.mjs +10 -152
- package/esm2022/lib/aigc/story/fm-story-splitter/fm-story-splitter.component.mjs +10 -42
- package/esm2022/lib/aigc/story/index.mjs +10 -6
- package/esm2022/lib/aigc/story/modal-chat-story/comp-chat-story-json/comp-chat-story-json.component.mjs +10 -47
- package/esm2022/lib/aigc/story/modal-chat-story/comp-diary-story/comp-diary-story.component.mjs +10 -95
- package/esm2022/lib/aigc/story/modal-chat-story/modal-chat-story.component.mjs +10 -253
- package/esm2022/lib/aigc/story/story.service.mjs +10 -35
- package/esm2022/lib/aigc/voice/fmode-voice.service.mjs +10 -636
- package/esm2022/lib/aigc/voice/index.mjs +10 -7
- package/esm2022/lib/aigc/voice/lib/audio/audio.player.mjs +10 -55
- package/esm2022/lib/aigc/voice/lib/audio/audio.streamer.mjs +10 -2
- package/esm2022/lib/aigc/voice/lib/audio/streamer.microsoft.mjs +10 -96
- package/esm2022/lib/aigc/voice/lib/audio/streamer.pcm.mjs +8 -177
- package/esm2022/lib/aigc/voice/lib/pcm2wav.mjs +10 -38
- package/esm2022/lib/aigc/voice/lib/recorder/extension-waveview.mjs +10 -215
- package/esm2022/lib/aigc/voice/lib/resample.mjs +10 -34
- package/esm2022/lib/aigc/voice/tts/fmode-tts-class.mjs +10 -189
- package/esm2022/lib/aigc/voice/tts/index.mjs +10 -5
- package/esm2022/lib/aigc/voice/tts/int-tts-provider.mjs +10 -2
- package/esm2022/lib/aigc/voice/tts/provider-doubao.mjs +8 -346
- package/esm2022/lib/code/fm-codemirror/fm-codemirror.component.mjs +8 -342
- package/esm2022/lib/code/index.mjs +10 -2
- package/esm2022/lib/core/agent/chat/completion/fmode-completion.mjs +8 -430
- package/esm2022/lib/core/agent/chat/completion/index.mjs +10 -2
- package/esm2022/lib/core/agent/chat/completion/int-gpt-chat-options.mjs +10 -2
- package/esm2022/lib/core/agent/chat/fmode-chat.mjs +8 -617
- package/esm2022/lib/core/agent/chat/index.mjs +10 -4
- package/esm2022/lib/core/agent/chat/interface.mjs +10 -2
- package/esm2022/lib/core/agent/index.mjs +10 -6
- package/esm2022/lib/core/agent/prompt/agent.prompt.mjs +10 -133
- package/esm2022/lib/core/agent/prompt/index.mjs +10 -2
- package/esm2022/lib/core/agent/prompt/prompt-util.mjs +10 -16
- package/esm2022/lib/core/agent/story/agent.story.mjs +10 -64
- package/esm2022/lib/core/agent/story/index.mjs +10 -2
- package/esm2022/lib/core/agent/task/agent.task.mjs +10 -90
- package/esm2022/lib/core/agent/task/index.mjs +10 -2
- package/esm2022/lib/core/agent/waiting/index.mjs +10 -3
- package/esm2022/lib/core/agent/waiting/loading/loading.ctrl.mjs +10 -279
- package/esm2022/lib/core/agent/waiting/tips/tips.ctrl.mjs +8 -190
- package/esm2022/lib/core/index.mjs +10 -4
- package/esm2022/lib/core/parse/datatype/acl.mjs +10 -57
- package/esm2022/lib/core/parse/datatype/file.mjs +10 -69
- package/esm2022/lib/core/parse/datatype/geopoint.mjs +10 -57
- package/esm2022/lib/core/parse/datatype/relation.mjs +10 -56
- package/esm2022/lib/core/parse/fmode.object.mjs +10 -232
- package/esm2022/lib/core/parse/fmode.parse.mjs +10 -84
- package/esm2022/lib/core/parse/fmode.query.mjs +8 -500
- package/esm2022/lib/core/parse/fmode.user.mjs +10 -275
- package/esm2022/lib/core/parse/index.mjs +10 -5
- package/esm2022/lib/core/parse/types.mjs +10 -2
- package/esm2022/lib/core/voice/index.mjs +10 -3
- package/esm2022/lib/core/voice/tts/index.mjs +10 -2
- package/esm2022/lib/icon/filetype/audio.svg.mjs +10 -3
- package/esm2022/lib/icon/filetype/avatar.svg.mjs +10 -14
- package/esm2022/lib/icon/filetype/chat.svg.mjs +10 -3
- package/esm2022/lib/icon/filetype/docx.svg.mjs +10 -3
- package/esm2022/lib/icon/filetype/file.svg.mjs +10 -3
- package/esm2022/lib/icon/filetype/filetype.pipe.mjs +10 -57
- package/esm2022/lib/icon/filetype/index.mjs +10 -12
- package/esm2022/lib/icon/filetype/md.svg.mjs +10 -3
- package/esm2022/lib/icon/filetype/pdf.svg.mjs +10 -3
- package/esm2022/lib/icon/filetype/pptx.svg.mjs +10 -3
- package/esm2022/lib/icon/filetype/svgtoblob.mjs +10 -8
- package/esm2022/lib/icon/filetype/video.svg.mjs +10 -3
- package/esm2022/lib/icon/filetype/xlsx.svg.mjs +10 -3
- package/esm2022/lib/icon/index.mjs +10 -2
- package/esm2022/lib/map/comp-poi-picker/comp-poi-picker.component.mjs +10 -209
- package/esm2022/lib/map/comp-poi-picker/comp-poi-picker.module.mjs +10 -33
- package/esm2022/lib/map/index.mjs +10 -4
- package/esm2022/lib/map/map.module.mjs +10 -61
- package/esm2022/lib/map/page-loca-scatter/page-loca-scatter.component.mjs +10 -132
- package/esm2022/lib/map/page-map.start/page-map.start.component.mjs +8 -115
- package/esm2022/lib/map/page-plan-route/page-plan-route.component.mjs +8 -118
- package/esm2022/lib/nova-cloud/index.mjs +10 -3
- package/esm2022/lib/nova-cloud/ncloud-api-func.mjs +10 -91
- package/esm2022/lib/nova-cloud/nova-cloud.service.mjs +10 -53
- package/esm2022/lib/payment/index.mjs +10 -2
- package/esm2022/lib/payment/payment/payment.component.mjs +10 -543
- package/esm2022/lib/payment/payment.service.mjs +10 -202
- package/esm2022/lib/person/comp-person-gender-icon/comp-person-gender-icon.component.mjs +10 -48
- package/esm2022/lib/person/comp-person-item/comp-person-item.component.mjs +10 -29
- package/esm2022/lib/person/comp-person-story/comp-person-story.component.mjs +10 -211
- package/esm2022/lib/person/edit-upload/edit-upload.component.mjs +8 -412
- package/esm2022/lib/person/edit-upload/edit-upload.module.mjs +10 -50
- package/esm2022/lib/person/index.mjs +10 -5
- package/esm2022/lib/person/modal-person-select/modal-person-select.component.mjs +10 -144
- package/esm2022/lib/person/modal-user-verify/secret-text.pipe.mjs +10 -41
- package/esm2022/lib/person/modal-user-verify/user-verify.component.mjs +10 -595
- package/esm2022/lib/person/person-detail/person-detail.component.mjs +10 -172
- package/esm2022/lib/person/person.service.mjs +8 -193
- package/esm2022/lib/platform/cross.service.mjs +10 -62
- package/esm2022/lib/platform/index.mjs +10 -2
- package/esm2022/lib/social/index.mjs +10 -2
- package/esm2022/lib/social/wechat/wechat-jssdk.service.mjs +8 -230
- package/esm2022/lib/storage/comp-hwobs-manager/hwobs-manager.component.mjs +10 -59
- package/esm2022/lib/storage/index.mjs +10 -5
- package/esm2022/lib/storage/service-hwobs/hwobs.service.mjs +8 -131
- package/esm2022/lib/storage/service-hwobs/index.mjs +10 -3
- package/esm2022/lib/storage/service-hwobs/typings/esdk-obs-browser.mjs +1 -1
- package/esm2022/lib/storage/service-upload/index.mjs +10 -2
- package/esm2022/lib/storage/service-upload/nova-upload.service.mjs +8 -513
- package/esm2022/lib/storage/service-upload/util-file-md5.mjs +10 -28
- package/esm2022/lib/storage/service-upload/util-file-metadata.mjs +10 -93
- package/esm2022/lib/storage/storage.module.mjs +10 -42
- package/esm2022/lib/text/fm-article-editor/article-editor-topbar/article-editor-topbar.component.mjs +10 -72
- package/esm2022/lib/text/fm-article-editor/article.service.mjs +10 -237
- package/esm2022/lib/text/fm-article-editor/comp-upload-book-banners/comp-upload-book-banners.component.mjs +8 -72
- package/esm2022/lib/text/fm-article-editor/draft.service.mjs +10 -207
- package/esm2022/lib/text/fm-article-editor/fm-article-aitool/fm-article-aitool.component.mjs +8 -227
- package/esm2022/lib/text/fm-article-editor/fm-article-draft/fm-article-draft.component.mjs +10 -303
- package/esm2022/lib/text/fm-article-editor/fm-article-editor.component.mjs +8 -371
- package/esm2022/lib/text/fm-article-editor/fm-article-outline/fm-article-outline.component.mjs +10 -94
- package/esm2022/lib/text/fm-article-editor/fm-article-outline-leftitem/fm-article-outline-leftitem.component.mjs +10 -36
- package/esm2022/lib/text/fm-article-editor/fm-article-preview/fm-article-preview.component.mjs +10 -281
- package/esm2022/lib/text/fm-article-editor/fm-article-write-options/fm-article-write-options.component.mjs +10 -72
- package/esm2022/lib/text/fm-article-editor/outline-count.pipe.mjs +10 -22
- package/esm2022/lib/text/fm-article-editor/prompt/prompt-insertion-article.mjs +10 -169
- package/esm2022/lib/text/fm-article-editor/task-article-generation.mjs +10 -69
- package/esm2022/lib/text/fm-article-editor/tasks/task-article-draft-create.mjs +10 -65
- package/esm2022/lib/text/fm-article-editor/tasks/task-article-outline-edit.mjs +10 -55
- package/esm2022/lib/text/fm-article-editor/tasks/task-article-outline.mjs +10 -142
- package/esm2022/lib/text/fm-article-editor/tasks/task-article-preview.mjs +10 -35
- package/esm2022/lib/text/fm-article-editor/tasks/task-article-writing-options.mjs +10 -81
- package/esm2022/lib/text/fm-article-editor/tasks/task-document-select.mjs +10 -50
- package/esm2022/lib/text/fm-text-quill/fm-text-quill.component.mjs +10 -145
- package/esm2022/lib/text/index.mjs +10 -4
- package/esm2022/lib/user/account/account.service.mjs +10 -222
- package/esm2022/lib/user/captcha/captcha.component.mjs +10 -135
- package/esm2022/lib/user/comp-user-avatar/comp-user-avatar.component.mjs +10 -66
- package/esm2022/lib/user/index.mjs +10 -17
- package/esm2022/lib/user/login/auth.guard.mjs +10 -28
- package/esm2022/lib/user/login/auth.service.mjs +8 -433
- package/esm2022/lib/user/login/login.component.mjs +10 -916
- package/esm2022/lib/user/modal-user-login/modal-user-login.component.mjs +10 -311
- package/esm2022/lib/user/profile/auth-profile.guard.mjs +10 -27
- package/esm2022/lib/user/profile/auth-profile.service.mjs +10 -122
- package/esm2022/lib/user/profile/profile-bind/profile-bind.component.mjs +10 -164
- package/esm2022/lib/user/profile/profile-bind/profile-confirm-modal.component.mjs +10 -79
- package/esm2022/lib/user/profile/profile.module.mjs +10 -54
- package/esm2022/lib/user/staff/index.mjs +10 -4
- package/esm2022/lib/user/staff/staff.guard.mjs +10 -26
- package/esm2022/lib/user/staff/staff.module.mjs +10 -18
- package/esm2022/lib/user/staff/staff.service.mjs +10 -85
- package/esm2022/lib/user/user-name.pipe.mjs +10 -29
- package/esm2022/lib/user/user.module.mjs +10 -102
- package/esm2022/lib/video/fm-video/fm-video.component.mjs +10 -67
- package/esm2022/lib/video/index.mjs +10 -2
- package/esm2022/public-api.mjs +10 -21
- package/fesm2022/fmode-ng.mjs +7 -19788
- package/fesm2022/fmode-ng.mjs.map +1 -1
- package/lib/core/parse/fmode.parse.d.ts +10 -9
- package/lib/core/parse/fmode.query.d.ts +37 -2
- package/lib/person/edit-upload/edit-upload.component.d.ts +1 -1
- package/package.json +12 -16
package/LICENSE.md
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
本代码库是未来飞马NovaCloud项目的一部分 This library is part of the NovaCloud in Fmode Inc.
|
|
2
|
+
版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
|
|
3
|
+
保留所有权利 All Rights Reserved.
|
|
4
|
+
严禁在未经授权的情况下,通过任何媒介复制此文件 Unauthorized copying of this file, via any medium is strictly prohibited
|
|
5
|
+
该文件是专有的机密文件 Proprietary and confidential
|
|
6
|
+
|
|
7
|
+
Copyright 2021-now Fmode Inc. support@fmode.cn. 18607007073.
|
|
8
|
+
保留所有权利 All rights reserved.
|
package/README.md
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
# FmodeNg 飞码Angular组件库
|
|
2
|
-
|
|
3
|
-
## 官方文档:https://ng.fmode.cn
|
|
4
|
-
|
|
5
|
-
# Intro
|
|
6
|
-
- 开发团队:未来飞马 www.fmode.cn
|
|
7
|
-
- 安装使用:
|
|
8
|
-
``` sh
|
|
9
|
-
# 帐号 fmode
|
|
10
|
-
# 密码 wlfm2022go
|
|
11
|
-
npm install -S fmode-ng
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
# Contrib
|
|
16
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.1.0.
|
|
17
|
-
|
|
18
|
-
## Code scaffolding
|
|
19
|
-
|
|
20
|
-
Run `ng generate component component-name --project fmode-ng` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project fmode-ng`.
|
|
21
|
-
> Note: Don't forget to add `--project fmode-ng` or else it will be added to the default project in your `angular.json` file.
|
|
22
|
-
|
|
23
|
-
## Build
|
|
24
|
-
|
|
25
|
-
Run `ng build fmode-ng` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
26
|
-
|
|
27
|
-
## Publishing
|
|
28
|
-
|
|
29
|
-
After building your library with `ng build fmode-ng`, go to the dist folder `cd dist/fmode-ng` and run `npm publish`.
|
|
30
|
-
|
|
31
|
-
## Running unit tests
|
|
32
|
-
|
|
33
|
-
Run `ng test fmode-ng` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
34
|
-
|
|
35
|
-
## Further help
|
|
36
|
-
|
|
37
|
-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
1
|
+
# FmodeNg 飞码Angular组件库
|
|
2
|
+
|
|
3
|
+
## 官方文档:https://ng.fmode.cn
|
|
4
|
+
|
|
5
|
+
# Intro
|
|
6
|
+
- 开发团队:未来飞马 www.fmode.cn
|
|
7
|
+
- 安装使用:
|
|
8
|
+
``` sh
|
|
9
|
+
# 帐号 fmode
|
|
10
|
+
# 密码 wlfm2022go
|
|
11
|
+
npm install -S fmode-ng
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# Contrib
|
|
16
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.1.0.
|
|
17
|
+
|
|
18
|
+
## Code scaffolding
|
|
19
|
+
|
|
20
|
+
Run `ng generate component component-name --project fmode-ng` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project fmode-ng`.
|
|
21
|
+
> Note: Don't forget to add `--project fmode-ng` or else it will be added to the default project in your `angular.json` file.
|
|
22
|
+
|
|
23
|
+
## Build
|
|
24
|
+
|
|
25
|
+
Run `ng build fmode-ng` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
26
|
+
|
|
27
|
+
## Publishing
|
|
28
|
+
|
|
29
|
+
After building your library with `ng build fmode-ng`, go to the dist folder `cd dist/fmode-ng` and run `npm publish`.
|
|
30
|
+
|
|
31
|
+
## Running unit tests
|
|
32
|
+
|
|
33
|
+
Run `ng test fmode-ng` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
34
|
+
|
|
35
|
+
## Further help
|
|
36
|
+
|
|
37
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
package/esm2022/fmode-ng.mjs
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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/fmode-ng.mjs
|
|
7
|
+
*/
|
|
8
|
+
export*from"./public-api";
|
|
9
|
+
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2Ztb2RlLW5nLm1qcw==`
|
|
10
|
+
|
|
@@ -1,94 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
import { Component, Inject, ViewChild } from '@angular/core';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import { MatDialogModule, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
6
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
7
|
-
import { MatInputModule } from '@angular/material/input';
|
|
8
|
-
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
9
|
-
import { MatStepper, MatStepperModule } from '@angular/material/stepper';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/material/dialog";
|
|
12
|
-
import * as i2 from "@angular/common";
|
|
13
|
-
import * as i3 from "@angular/material/button";
|
|
14
|
-
import * as i4 from "@angular/material/stepper";
|
|
15
|
-
import * as i5 from "@angular/material/progress-bar";
|
|
16
|
-
export class FmAgentTaskComponent {
|
|
17
|
-
constructor(dialogRef, data) {
|
|
18
|
-
this.dialogRef = dialogRef;
|
|
19
|
-
this.data = data;
|
|
20
|
-
this.enabledClose = false; // 执行完成或者执行出错,才可以关闭窗口
|
|
21
|
-
this.currentStepIndex = 0;
|
|
22
|
-
this.hasError = false;
|
|
23
|
-
console.log(this.data?.stepsList);
|
|
24
|
-
}
|
|
25
|
-
ngOnInit() {
|
|
26
|
-
this.startTask();
|
|
27
|
-
}
|
|
1
|
+
|
|
28
2
|
/**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
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/aigc/agent/fm-agent-task/fm-agent-task.component.mjs
|
|
32
7
|
*/
|
|
33
|
-
async startTask(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
if (this.data.stepsList) {
|
|
38
|
-
for (let index = 0; this.currentStepIndex < this.data.stepsList?.length; this.currentStepIndex++) {
|
|
39
|
-
let step = this.data.stepsList?.[this.currentStepIndex];
|
|
40
|
-
console.log("this.currentStepIndex", this.currentStepIndex);
|
|
41
|
-
step?.simulatorProgress();
|
|
42
|
-
step.parentComp = this;
|
|
43
|
-
step.parentIndex = Number(this.currentStepIndex.toFixed(0));
|
|
44
|
-
if (step?.limitStart)
|
|
45
|
-
break; // 限制开始条件未取消前,不开始任务
|
|
46
|
-
if (step?.handle) {
|
|
47
|
-
let result = await step?.handle();
|
|
48
|
-
if (step.cancelAll) {
|
|
49
|
-
this.dialogRef.close();
|
|
50
|
-
break;
|
|
51
|
-
}
|
|
52
|
-
if (result == false) {
|
|
53
|
-
break;
|
|
54
|
-
} // 执行失败终止循环
|
|
55
|
-
if (!step.error) {
|
|
56
|
-
step.progressSub$?.unsubscribe();
|
|
57
|
-
step.progress = 1;
|
|
58
|
-
this.stepper?.next();
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
// 检测每个步骤执行情况,若无错误则允许关闭
|
|
63
|
-
let hasError = false;
|
|
64
|
-
this.data?.stepsList.forEach((step, index) => {
|
|
65
|
-
if (step?.error) {
|
|
66
|
-
hasError = true;
|
|
67
|
-
this.hasError = true;
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
if (!hasError)
|
|
71
|
-
this.enabledClose = true;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
onNoClick() {
|
|
75
|
-
this.dialogRef.close();
|
|
76
|
-
}
|
|
77
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FmAgentTaskComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
78
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FmAgentTaskComponent, isStandalone: true, selector: "fm-agent-task", viewQueries: [{ propertyName: "stepper", first: true, predicate: MatStepper, descendants: true }], ngImport: i0, template: "\r\n<h2 mat-dialog-title *ngIf=\"!enabledClose\">AI\u751F\u6210\u4E2D</h2>\r\n<h2 mat-dialog-title *ngIf=\"enabledClose\">\u4EFB\u52A1\u5DF2\u5B8C\u6210</h2>\r\n<mat-dialog-content>\r\n \r\n <mat-stepper #stepper orientation=\"vertical\">\r\n <mat-step *ngFor=\"let step of data?.stepsList; let index=index;\">\r\n <ng-template matStepLabel>{{step?.title}}</ng-template>\r\n <ng-template matStepContent>\r\n <p *ngIf=\"step?.message\">{{step?.message}}</p>\r\n <p *ngFor=\"let log of step?.logList\">{{log}}</p>\r\n <button *ngIf=\"step?.error\" mat-button color=\"warn\">{{step?.error}}</button>\r\n <mat-progress-bar *ngIf=\"step?.progress!=1&&!step?.limitStart\" [color]=\"step?.error?'warn':'primary'\"\r\n [mode]=\"(step?.progress || 1)>=100?'indeterminate':'buffer'\" [value]=\"step?.progress\" [bufferValue]=\"(step?.progress || 0) + 10\"></mat-progress-bar>\r\n\r\n\r\n\r\n <!-- \u81EA\u5B9A\u4E49\u6309\u94AE\u533A\u57DF -->\r\n <ng-container *ngFor=\"let button of step?.buttons\">\r\n <button *ngIf=\"button.isShow&&button.isShow()\" mat-raised-button [color]=\"button?.color||'primary'\" (click)=\"button?.handle()\">{{button?.name}}</button>\r\n </ng-container>\r\n\r\n <button mat-button color=\"warn\" *ngIf=\"step?.restartButtonShow\" (click)=\"startTask(index)\">\u91CD\u8BD5</button>\r\n <!-- \u975E\u9996\u9879\uFF1A\u4E0A\u4E00\u6B65 -->\r\n <button mat-button matStepperPrevious *ngIf=\"index!=0\">\u4E0A\u4E00\u6B65</button>\r\n <!-- \u975E\u672B\u9879\uFF1A\u4E0B\u4E00\u6B65 -->\r\n <button mat-button matStepperNext *ngIf=\"(index+1!=data?.stepsList?.length)&&!step?.error\">\u4E0B\u4E00\u6B65</button>\r\n </ng-template>\r\n </mat-step>\r\n\r\n </mat-stepper>\r\n \r\n \r\n</mat-dialog-content>\r\n<mat-dialog-actions [align]=\"'end'\" style=\"display: flex;justify-content: center;\">\r\n <!-- <button mat-button (click)=\"onNoClick()\">No Thanks</button> -->\r\n <button style=\"font-size: 20px;\" *ngIf=\"hasError\" mat-button color=\"warn\" [mat-dialog-close]=\"false\" cdkFocusInitial>\u53D6\u6D88</button>\r\n <button style=\"font-size: 20px;\" *ngIf=\"enabledClose\" mat-button color=\"primary\" [mat-dialog-close]=\"true\" cdkFocusInitial>\u5B8C\u6210</button>\r\n</mat-dialog-actions>\r\n\r\n", styles: ["h2{text-align:center;background-color:#6e23ce}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatStepperModule }, { kind: "component", type: i4.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "directive", type: i4.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: i4.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "directive", type: i4.MatStepperNext, selector: "button[matStepperNext]" }, { kind: "directive", type: i4.MatStepperPrevious, selector: "button[matStepperPrevious]" }, { kind: "directive", type: i4.MatStepContent, selector: "ng-template[matStepContent]" }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] }); }
|
|
79
|
-
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FmAgentTaskComponent, decorators: [{
|
|
81
|
-
type: Component,
|
|
82
|
-
args: [{ selector: 'fm-agent-task', standalone: true, imports: [
|
|
83
|
-
CommonModule, FormsModule,
|
|
84
|
-
MatDialogModule, MatFormFieldModule, MatInputModule, MatButtonModule,
|
|
85
|
-
MatStepperModule, MatProgressBarModule,
|
|
86
|
-
], template: "\r\n<h2 mat-dialog-title *ngIf=\"!enabledClose\">AI\u751F\u6210\u4E2D</h2>\r\n<h2 mat-dialog-title *ngIf=\"enabledClose\">\u4EFB\u52A1\u5DF2\u5B8C\u6210</h2>\r\n<mat-dialog-content>\r\n \r\n <mat-stepper #stepper orientation=\"vertical\">\r\n <mat-step *ngFor=\"let step of data?.stepsList; let index=index;\">\r\n <ng-template matStepLabel>{{step?.title}}</ng-template>\r\n <ng-template matStepContent>\r\n <p *ngIf=\"step?.message\">{{step?.message}}</p>\r\n <p *ngFor=\"let log of step?.logList\">{{log}}</p>\r\n <button *ngIf=\"step?.error\" mat-button color=\"warn\">{{step?.error}}</button>\r\n <mat-progress-bar *ngIf=\"step?.progress!=1&&!step?.limitStart\" [color]=\"step?.error?'warn':'primary'\"\r\n [mode]=\"(step?.progress || 1)>=100?'indeterminate':'buffer'\" [value]=\"step?.progress\" [bufferValue]=\"(step?.progress || 0) + 10\"></mat-progress-bar>\r\n\r\n\r\n\r\n <!-- \u81EA\u5B9A\u4E49\u6309\u94AE\u533A\u57DF -->\r\n <ng-container *ngFor=\"let button of step?.buttons\">\r\n <button *ngIf=\"button.isShow&&button.isShow()\" mat-raised-button [color]=\"button?.color||'primary'\" (click)=\"button?.handle()\">{{button?.name}}</button>\r\n </ng-container>\r\n\r\n <button mat-button color=\"warn\" *ngIf=\"step?.restartButtonShow\" (click)=\"startTask(index)\">\u91CD\u8BD5</button>\r\n <!-- \u975E\u9996\u9879\uFF1A\u4E0A\u4E00\u6B65 -->\r\n <button mat-button matStepperPrevious *ngIf=\"index!=0\">\u4E0A\u4E00\u6B65</button>\r\n <!-- \u975E\u672B\u9879\uFF1A\u4E0B\u4E00\u6B65 -->\r\n <button mat-button matStepperNext *ngIf=\"(index+1!=data?.stepsList?.length)&&!step?.error\">\u4E0B\u4E00\u6B65</button>\r\n </ng-template>\r\n </mat-step>\r\n\r\n </mat-stepper>\r\n \r\n \r\n</mat-dialog-content>\r\n<mat-dialog-actions [align]=\"'end'\" style=\"display: flex;justify-content: center;\">\r\n <!-- <button mat-button (click)=\"onNoClick()\">No Thanks</button> -->\r\n <button style=\"font-size: 20px;\" *ngIf=\"hasError\" mat-button color=\"warn\" [mat-dialog-close]=\"false\" cdkFocusInitial>\u53D6\u6D88</button>\r\n <button style=\"font-size: 20px;\" *ngIf=\"enabledClose\" mat-button color=\"primary\" [mat-dialog-close]=\"true\" cdkFocusInitial>\u5B8C\u6210</button>\r\n</mat-dialog-actions>\r\n\r\n", styles: ["h2{text-align:center;background-color:#6e23ce}\n"] }]
|
|
87
|
-
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
88
|
-
type: Inject,
|
|
89
|
-
args: [MAT_DIALOG_DATA]
|
|
90
|
-
}] }], propDecorators: { stepper: [{
|
|
91
|
-
type: ViewChild,
|
|
92
|
-
args: [MatStepper]
|
|
93
|
-
}] } });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm0tYWdlbnQtdGFzay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL2FpZ2MvYWdlbnQvZm0tYWdlbnQtdGFzay9mbS1hZ2VudC10YXNrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Ztb2RlLW5nL3NyYy9saWIvYWlnYy9hZ2VudC9mbS1hZ2VudC10YXNrL2ZtLWFnZW50LXRhc2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7QUFnQnpFLE1BQU0sT0FBTyxvQkFBb0I7SUFLL0IsWUFDUyxTQUE2QyxFQUNwQixJQUcvQjtRQUpNLGNBQVMsR0FBVCxTQUFTLENBQW9DO1FBQ3BCLFNBQUksR0FBSixJQUFJLENBR25DO1FBUkgsaUJBQVksR0FBVyxLQUFLLENBQUMsQ0FBQyxxQkFBcUI7UUFDbkQscUJBQWdCLEdBQVUsQ0FBQyxDQUFDO1FBZ0I1QixhQUFRLEdBQVcsS0FBSyxDQUFDO1FBUHZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBSUQ7Ozs7T0FJRztJQUVILEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBa0I7UUFDaEMsSUFBRyxVQUFVLEVBQUMsQ0FBQztZQUNiLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUE7UUFDcEMsQ0FBQztRQUNELElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsQ0FBQztZQUN0QixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7Z0JBQ2pHLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3hELE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEVBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUE7Z0JBQzFELElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1RCxJQUFHLElBQUksRUFBRSxVQUFVO29CQUFFLE1BQU0sQ0FBQyxtQkFBbUI7Z0JBQy9DLElBQUcsSUFBSSxFQUFFLE1BQU0sRUFBQyxDQUFDO29CQUNmLElBQUksTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO29CQUNsQyxJQUFHLElBQUksQ0FBQyxTQUFTLEVBQUMsQ0FBQzt3QkFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQzt3QkFDdkIsTUFBTTtvQkFDUixDQUFDO29CQUNELElBQUcsTUFBTSxJQUFFLEtBQUssRUFBQyxDQUFDO3dCQUFBLE1BQU07b0JBQUEsQ0FBQyxDQUFDLFdBQVc7b0JBQ3JDLElBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUM7d0JBQ2QsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQzt3QkFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7d0JBQ2xCLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7b0JBQ3ZCLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFDRCx1QkFBdUI7WUFDdkIsSUFBSSxRQUFRLEdBQVcsS0FBSyxDQUFBO1lBQzVCLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsRUFBRTtnQkFDekMsSUFBRyxJQUFJLEVBQUUsS0FBSyxFQUFDLENBQUM7b0JBQ2QsUUFBUSxHQUFHLElBQUksQ0FBQztvQkFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZCLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQTtZQUNGLElBQUcsQ0FBQyxRQUFRO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQzsrR0FuRVUsb0JBQW9CLDhDQU9yQixlQUFlO21HQVBkLG9CQUFvQixrSEFDcEIsVUFBVSxnREN6QnZCLHV6RUF3Q0EseUdEckJJLFlBQVksK1BBQUMsV0FBVyw4QkFDeEIsZUFBZSwrbkJBQUUsa0JBQWtCLDhCQUFFLGNBQWMsOEJBQUUsZUFBZSwyTkFDcEUsZ0JBQWdCLDJ4QkFBQyxvQkFBb0I7OzRGQUc1QixvQkFBb0I7a0JBWGhDLFNBQVM7K0JBQ0UsZUFBZSxjQUdiLElBQUksV0FDUDt3QkFDUCxZQUFZLEVBQUMsV0FBVzt3QkFDeEIsZUFBZSxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxlQUFlO3dCQUNwRSxnQkFBZ0IsRUFBQyxvQkFBb0I7cUJBQ3RDOzswQkFTRSxNQUFNOzJCQUFDLGVBQWU7eUNBTkYsT0FBTztzQkFBN0IsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUsIE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IE1hdFN0ZXBwZXIsIE1hdFN0ZXBwZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcclxuXHJcblxyXG5pbXBvcnQgeyBBZ2VudFRhc2tTdGVwIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvYWdlbnQvdGFzay9hZ2VudC50YXNrXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2ZtLWFnZW50LXRhc2snLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mbS1hZ2VudC10YXNrLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mbS1hZ2VudC10YXNrLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsRm9ybXNNb2R1bGUsXHJcbiAgICBNYXREaWFsb2dNb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdFN0ZXBwZXJNb2R1bGUsTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZtQWdlbnRUYXNrQ29tcG9uZW50ICBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZChNYXRTdGVwcGVyKSBzdGVwcGVyOk1hdFN0ZXBwZXJ8dW5kZWZpbmVkXHJcbiAgZW5hYmxlZENsb3NlOmJvb2xlYW4gPSBmYWxzZTsgLy8g5omn6KGM5a6M5oiQ5oiW6ICF5omn6KGM5Ye66ZSZ77yM5omN5Y+v5Lul5YWz6Zet56qX5Y+jXHJcbiAgY3VycmVudFN0ZXBJbmRleDpudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxGbUFnZW50VGFza0NvbXBvbmVudD4sXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IHtcclxuICAgICAgc2hhcmVEYXRhPzp7W2tleTpzdHJpbmddOmFueX0sXHJcbiAgICAgIHN0ZXBzTGlzdD86QXJyYXk8QWdlbnRUYXNrU3RlcD5cclxuICAgIH0sXHJcbiAgKSB7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLmRhdGE/LnN0ZXBzTGlzdClcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdGFydFRhc2soKTtcclxuICB9XHJcbiAgXHJcbiAgaGFzRXJyb3I6Ym9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiDlkK/liqjmiafooYzku7vliqFcclxuICAgKiBAZGVzY1xyXG4gICAqIOmmluasoeWQr+WKqOS7jjDlvIDlp4vvvIzkuYvlkI7ov5DooYzku47mnKrlrozmiJDluo/liJflvIDlp4tcclxuICAgKi8gXHJcblxyXG4gIGFzeW5jIHN0YXJ0VGFzayhzdGFydEluZGV4PzpudW1iZXIpe1xyXG4gICAgaWYoc3RhcnRJbmRleCl7XHJcbiAgICAgIHRoaXMuY3VycmVudFN0ZXBJbmRleCA9IHN0YXJ0SW5kZXhcclxuICAgIH1cclxuICAgIGlmKHRoaXMuZGF0YS5zdGVwc0xpc3Qpe1xyXG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IHRoaXMuY3VycmVudFN0ZXBJbmRleCA8IHRoaXMuZGF0YS5zdGVwc0xpc3Q/Lmxlbmd0aDsgdGhpcy5jdXJyZW50U3RlcEluZGV4KyspIHtcclxuICAgICAgICBsZXQgc3RlcCA9IHRoaXMuZGF0YS5zdGVwc0xpc3Q/Llt0aGlzLmN1cnJlbnRTdGVwSW5kZXhdO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwidGhpcy5jdXJyZW50U3RlcEluZGV4XCIsdGhpcy5jdXJyZW50U3RlcEluZGV4KVxyXG4gICAgICAgIHN0ZXA/LnNpbXVsYXRvclByb2dyZXNzKCk7XHJcbiAgICAgICAgc3RlcC5wYXJlbnRDb21wID0gdGhpcztcclxuICAgICAgICBzdGVwLnBhcmVudEluZGV4ID0gTnVtYmVyKHRoaXMuY3VycmVudFN0ZXBJbmRleC50b0ZpeGVkKDApKTtcclxuICAgICAgICBpZihzdGVwPy5saW1pdFN0YXJ0KSBicmVhazsgLy8g6ZmQ5Yi25byA5aeL5p2h5Lu25pyq5Y+W5raI5YmN77yM5LiN5byA5aeL5Lu75YqhXHJcbiAgICAgICAgaWYoc3RlcD8uaGFuZGxlKXtcclxuICAgICAgICAgIGxldCByZXN1bHQgPSBhd2FpdCBzdGVwPy5oYW5kbGUoKTtcclxuICAgICAgICAgIGlmKHN0ZXAuY2FuY2VsQWxsKXtcclxuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZihyZXN1bHQ9PWZhbHNlKXticmVhazt9IC8vIOaJp+ihjOWksei0pee7iOatouW+queOr1xyXG4gICAgICAgICAgaWYoIXN0ZXAuZXJyb3Ipe1xyXG4gICAgICAgICAgICBzdGVwLnByb2dyZXNzU3ViJD8udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgc3RlcC5wcm9ncmVzcyA9IDE7XHJcbiAgICAgICAgICAgIHRoaXMuc3RlcHBlcj8ubmV4dCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyDmo4DmtYvmr4/kuKrmraXpqqTmiafooYzmg4XlhrXvvIzoi6Xml6DplJnor6/liJnlhYHorrjlhbPpl61cclxuICAgICAgbGV0IGhhc0Vycm9yOmJvb2xlYW4gPSBmYWxzZVxyXG4gICAgICB0aGlzLmRhdGE/LnN0ZXBzTGlzdC5mb3JFYWNoKChzdGVwLGluZGV4KT0+e1xyXG4gICAgICAgIGlmKHN0ZXA/LmVycm9yKXtcclxuICAgICAgICAgIGhhc0Vycm9yID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuaGFzRXJyb3IgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICAgaWYoIWhhc0Vycm9yKSB0aGlzLmVuYWJsZWRDbG9zZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbk5vQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxufVxyXG4iLCJcclxuPGgyIG1hdC1kaWFsb2ctdGl0bGUgKm5nSWY9XCIhZW5hYmxlZENsb3NlXCI+QUnnlJ/miJDkuK08L2gyPlxyXG48aDIgbWF0LWRpYWxvZy10aXRsZSAqbmdJZj1cImVuYWJsZWRDbG9zZVwiPuS7u+WKoeW3suWujOaIkDwvaDI+XHJcbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgXHJcbiAgPG1hdC1zdGVwcGVyICNzdGVwcGVyIG9yaWVudGF0aW9uPVwidmVydGljYWxcIj5cclxuICAgIDxtYXQtc3RlcCAqbmdGb3I9XCJsZXQgc3RlcCBvZiBkYXRhPy5zdGVwc0xpc3Q7IGxldCBpbmRleD1pbmRleDtcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIG1hdFN0ZXBMYWJlbD57e3N0ZXA/LnRpdGxlfX08L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgbWF0U3RlcENvbnRlbnQ+XHJcbiAgICAgICAgPHAgKm5nSWY9XCJzdGVwPy5tZXNzYWdlXCI+e3tzdGVwPy5tZXNzYWdlfX08L3A+XHJcbiAgICAgICAgPHAgKm5nRm9yPVwibGV0IGxvZyBvZiBzdGVwPy5sb2dMaXN0XCI+e3tsb2d9fTwvcD5cclxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwic3RlcD8uZXJyb3JcIiBtYXQtYnV0dG9uIGNvbG9yPVwid2FyblwiPnt7c3RlcD8uZXJyb3J9fTwvYnV0dG9uPlxyXG4gICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyICpuZ0lmPVwic3RlcD8ucHJvZ3Jlc3MhPTEmJiFzdGVwPy5saW1pdFN0YXJ0XCIgW2NvbG9yXT1cInN0ZXA/LmVycm9yPyd3YXJuJzoncHJpbWFyeSdcIlxyXG4gICAgICAgICBbbW9kZV09XCIoc3RlcD8ucHJvZ3Jlc3MgfHwgMSk+PTEwMD8naW5kZXRlcm1pbmF0ZSc6J2J1ZmZlcidcIiBbdmFsdWVdPVwic3RlcD8ucHJvZ3Jlc3NcIiBbYnVmZmVyVmFsdWVdPVwiKHN0ZXA/LnByb2dyZXNzIHx8IDApICsgMTBcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcblxyXG5cclxuXHJcbiAgICAgICAgPCEtLSDoh6rlrprkuYnmjInpkq7ljLrln58gLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIHN0ZXA/LmJ1dHRvbnNcIj5cclxuICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJidXR0b24uaXNTaG93JiZidXR0b24uaXNTaG93KClcIiBtYXQtcmFpc2VkLWJ1dHRvbiBbY29sb3JdPVwiYnV0dG9uPy5jb2xvcnx8J3ByaW1hcnknXCIgKGNsaWNrKT1cImJ1dHRvbj8uaGFuZGxlKClcIj57e2J1dHRvbj8ubmFtZX19PC9idXR0b24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cIndhcm5cIiAqbmdJZj1cInN0ZXA/LnJlc3RhcnRCdXR0b25TaG93XCIgKGNsaWNrKT1cInN0YXJ0VGFzayhpbmRleClcIj7ph43or5U8L2J1dHRvbj5cclxuICAgICAgICA8IS0tIOmdnummlumhue+8muS4iuS4gOatpSAtLT5cclxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gbWF0U3RlcHBlclByZXZpb3VzICpuZ0lmPVwiaW5kZXghPTBcIj7kuIrkuIDmraU8L2J1dHRvbj5cclxuICAgICAgICA8IS0tIOmdnuacq+mhue+8muS4i+S4gOatpSAtLT5cclxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gbWF0U3RlcHBlck5leHQgKm5nSWY9XCIoaW5kZXgrMSE9ZGF0YT8uc3RlcHNMaXN0Py5sZW5ndGgpJiYhc3RlcD8uZXJyb3JcIj7kuIvkuIDmraU8L2J1dHRvbj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbWF0LXN0ZXA+XHJcblxyXG4gIDwvbWF0LXN0ZXBwZXI+XHJcbiAgXHJcbiAgXHJcbjwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG48bWF0LWRpYWxvZy1hY3Rpb25zIFthbGlnbl09XCInZW5kJ1wiIHN0eWxlPVwiZGlzcGxheTogZmxleDtqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcIj5cclxuICA8IS0tIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwib25Ob0NsaWNrKClcIj5ObyBUaGFua3M8L2J1dHRvbj4gLS0+XHJcbiAgPGJ1dHRvbiBzdHlsZT1cImZvbnQtc2l6ZTogMjBweDtcIiAqbmdJZj1cImhhc0Vycm9yXCIgbWF0LWJ1dHRvbiBjb2xvcj1cIndhcm5cIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJmYWxzZVwiIGNka0ZvY3VzSW5pdGlhbD7lj5bmtog8L2J1dHRvbj5cclxuICA8YnV0dG9uIHN0eWxlPVwiZm9udC1zaXplOiAyMHB4O1wiICpuZ0lmPVwiZW5hYmxlZENsb3NlXCIgbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJ0cnVlXCIgY2RrRm9jdXNJbml0aWFsPuWujOaIkDwvYnV0dG9uPlxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuXHJcbiJdfQ==
|
|
8
|
+
import{CommonModule}from"@angular/common";import{Component,Inject,ViewChild}from"@angular/core";import{FormsModule}from"@angular/forms";import{MatButtonModule}from"@angular/material/button";import{MatDialogModule,MatDialogRef,MAT_DIALOG_DATA}from"@angular/material/dialog";import{MatFormFieldModule}from"@angular/material/form-field";import{MatInputModule}from"@angular/material/input";import{MatProgressBarModule}from"@angular/material/progress-bar";import{MatStepper,MatStepperModule}from"@angular/material/stepper";import*as i0 from"@angular/core";import*as i1 from"@angular/material/dialog";import*as i2 from"@angular/common";import*as i3 from"@angular/material/button";import*as i4 from"@angular/material/stepper";import*as i5 from"@angular/material/progress-bar";export class FmAgentTaskComponent{constructor(t,e){this.dialogRef=t,this.data=e,this.enabledClose=!1,this.currentStepIndex=0,this.hasError=!1,console.log(this.data?.stepsList)}ngOnInit(){this.startTask()}async startTask(t){if(t&&(this.currentStepIndex=t),this.data.stepsList){for(;this.currentStepIndex<this.data.stepsList?.length;this.currentStepIndex++){let t=this.data.stepsList?.[this.currentStepIndex];if(console.log("this.currentStepIndex",this.currentStepIndex),t?.simulatorProgress(),t.parentComp=this,t.parentIndex=Number(this.currentStepIndex.toFixed(0)),t?.limitStart)break;if(t?.handle){let e=await(t?.handle());if(t.cancelAll){this.dialogRef.close();break}if(0==e)break;t.error||(t.progressSub$?.unsubscribe(),t.progress=1,this.stepper?.next())}}let t=!1;this.data?.stepsList.forEach(((e,o)=>{e?.error&&(t=!0,this.hasError=!0)})),t||(this.enabledClose=!0)}}onNoClick(){this.dialogRef.close()}static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:FmAgentTaskComponent,deps:[{token:i1.MatDialogRef},{token:MAT_DIALOG_DATA}],target:i0.ɵɵFactoryTarget.Component})}static{this.ɵcmp=i0.ɵɵngDeclareComponent({minVersion:"14.0.0",version:"17.3.12",type:FmAgentTaskComponent,isStandalone:!0,selector:"fm-agent-task",viewQueries:[{propertyName:"stepper",first:!0,predicate:MatStepper,descendants:!0}],ngImport:i0,template:'\n<h2 mat-dialog-title *ngIf="!enabledClose">AI生成中</h2>\n<h2 mat-dialog-title *ngIf="enabledClose">任务已完成</h2>\n<mat-dialog-content>\n \n <mat-stepper #stepper orientation="vertical">\n <mat-step *ngFor="let step of data?.stepsList; let index=index;">\n <ng-template matStepLabel>{{step?.title}}</ng-template>\n <ng-template matStepContent>\n <p *ngIf="step?.message">{{step?.message}}</p>\n <p *ngFor="let log of step?.logList">{{log}}</p>\n <button *ngIf="step?.error" mat-button color="warn">{{step?.error}}</button>\n <mat-progress-bar *ngIf="step?.progress!=1&&!step?.limitStart" [color]="step?.error?\'warn\':\'primary\'"\n [mode]="(step?.progress || 1)>=100?\'indeterminate\':\'buffer\'" [value]="step?.progress" [bufferValue]="(step?.progress || 0) + 10"></mat-progress-bar>\n\n\n\n \x3c!-- 自定义按钮区域 --\x3e\n <ng-container *ngFor="let button of step?.buttons">\n <button *ngIf="button.isShow&&button.isShow()" mat-raised-button [color]="button?.color||\'primary\'" (click)="button?.handle()">{{button?.name}}</button>\n </ng-container>\n\n <button mat-button color="warn" *ngIf="step?.restartButtonShow" (click)="startTask(index)">重试</button>\n \x3c!-- 非首项:上一步 --\x3e\n <button mat-button matStepperPrevious *ngIf="index!=0">上一步</button>\n \x3c!-- 非末项:下一步 --\x3e\n <button mat-button matStepperNext *ngIf="(index+1!=data?.stepsList?.length)&&!step?.error">下一步</button>\n </ng-template>\n </mat-step>\n\n </mat-stepper>\n \n \n</mat-dialog-content>\n<mat-dialog-actions [align]="\'end\'" style="display: flex;justify-content: center;">\n \x3c!-- <button mat-button (click)="onNoClick()">No Thanks</button> --\x3e\n <button style="font-size: 20px;" *ngIf="hasError" mat-button color="warn" [mat-dialog-close]="false" cdkFocusInitial>取消</button>\n <button style="font-size: 20px;" *ngIf="enabledClose" mat-button color="primary" [mat-dialog-close]="true" cdkFocusInitial>完成</button>\n</mat-dialog-actions>\n\n',styles:["h2{text-align:center;background-color:#6e23ce}\n"],dependencies:[{kind:"ngmodule",type:CommonModule},{kind:"directive",type:i2.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{kind:"directive",type:i2.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{kind:"ngmodule",type:FormsModule},{kind:"ngmodule",type:MatDialogModule},{kind:"directive",type:i1.MatDialogClose,selector:"[mat-dialog-close], [matDialogClose]",inputs:["aria-label","type","mat-dialog-close","matDialogClose"],exportAs:["matDialogClose"]},{kind:"directive",type:i1.MatDialogTitle,selector:"[mat-dialog-title], [matDialogTitle]",inputs:["id"],exportAs:["matDialogTitle"]},{kind:"directive",type:i1.MatDialogActions,selector:"[mat-dialog-actions], mat-dialog-actions, [matDialogActions]",inputs:["align"]},{kind:"directive",type:i1.MatDialogContent,selector:"[mat-dialog-content], mat-dialog-content, [matDialogContent]"},{kind:"ngmodule",type:MatFormFieldModule},{kind:"ngmodule",type:MatInputModule},{kind:"ngmodule",type:MatButtonModule},{kind:"component",type:i3.MatButton,selector:" button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ",exportAs:["matButton"]},{kind:"ngmodule",type:MatStepperModule},{kind:"component",type:i4.MatStep,selector:"mat-step",inputs:["color"],exportAs:["matStep"]},{kind:"directive",type:i4.MatStepLabel,selector:"[matStepLabel]"},{kind:"component",type:i4.MatStepper,selector:"mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]",inputs:["disableRipple","color","labelPosition","headerPosition","animationDuration"],outputs:["animationDone"],exportAs:["matStepper","matVerticalStepper","matHorizontalStepper"]},{kind:"directive",type:i4.MatStepperNext,selector:"button[matStepperNext]"},{kind:"directive",type:i4.MatStepperPrevious,selector:"button[matStepperPrevious]"},{kind:"directive",type:i4.MatStepContent,selector:"ng-template[matStepContent]"},{kind:"ngmodule",type:MatProgressBarModule},{kind:"component",type:i5.MatProgressBar,selector:"mat-progress-bar",inputs:["color","value","bufferValue","mode"],outputs:["animationEnd"],exportAs:["matProgressBar"]}]})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:FmAgentTaskComponent,decorators:[{type:Component,args:[{selector:"fm-agent-task",standalone:!0,imports:[CommonModule,FormsModule,MatDialogModule,MatFormFieldModule,MatInputModule,MatButtonModule,MatStepperModule,MatProgressBarModule],template:'\n<h2 mat-dialog-title *ngIf="!enabledClose">AI生成中</h2>\n<h2 mat-dialog-title *ngIf="enabledClose">任务已完成</h2>\n<mat-dialog-content>\n \n <mat-stepper #stepper orientation="vertical">\n <mat-step *ngFor="let step of data?.stepsList; let index=index;">\n <ng-template matStepLabel>{{step?.title}}</ng-template>\n <ng-template matStepContent>\n <p *ngIf="step?.message">{{step?.message}}</p>\n <p *ngFor="let log of step?.logList">{{log}}</p>\n <button *ngIf="step?.error" mat-button color="warn">{{step?.error}}</button>\n <mat-progress-bar *ngIf="step?.progress!=1&&!step?.limitStart" [color]="step?.error?\'warn\':\'primary\'"\n [mode]="(step?.progress || 1)>=100?\'indeterminate\':\'buffer\'" [value]="step?.progress" [bufferValue]="(step?.progress || 0) + 10"></mat-progress-bar>\n\n\n\n \x3c!-- 自定义按钮区域 --\x3e\n <ng-container *ngFor="let button of step?.buttons">\n <button *ngIf="button.isShow&&button.isShow()" mat-raised-button [color]="button?.color||\'primary\'" (click)="button?.handle()">{{button?.name}}</button>\n </ng-container>\n\n <button mat-button color="warn" *ngIf="step?.restartButtonShow" (click)="startTask(index)">重试</button>\n \x3c!-- 非首项:上一步 --\x3e\n <button mat-button matStepperPrevious *ngIf="index!=0">上一步</button>\n \x3c!-- 非末项:下一步 --\x3e\n <button mat-button matStepperNext *ngIf="(index+1!=data?.stepsList?.length)&&!step?.error">下一步</button>\n </ng-template>\n </mat-step>\n\n </mat-stepper>\n \n \n</mat-dialog-content>\n<mat-dialog-actions [align]="\'end\'" style="display: flex;justify-content: center;">\n \x3c!-- <button mat-button (click)="onNoClick()">No Thanks</button> --\x3e\n <button style="font-size: 20px;" *ngIf="hasError" mat-button color="warn" [mat-dialog-close]="false" cdkFocusInitial>取消</button>\n <button style="font-size: 20px;" *ngIf="enabledClose" mat-button color="primary" [mat-dialog-close]="true" cdkFocusInitial>完成</button>\n</mat-dialog-actions>\n\n',styles:["h2{text-align:center;background-color:#6e23ce}\n"]}]}],ctorParameters:()=>[{type:i1.MatDialogRef},{type:void 0,decorators:[{type:Inject,args:[MAT_DIALOG_DATA]}]}],propDecorators:{stepper:[{type:ViewChild,args:[MatStepper]}]}});
|
|
9
|
+
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2FnZW50L2ZtLWFnZW50LXRhc2svZm0tYWdlbnQtdGFzay5jb21wb25lbnQubWpz`
|
|
10
|
+
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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/aigc/agent/index.mjs
|
|
7
|
+
*/
|
|
8
|
+
export*from"../../core/agent";export*from"./fm-agent-task/fm-agent-task.component";
|
|
9
|
+
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2FnZW50L2luZGV4Lm1qcw==`
|
|
10
|
+
|
|
@@ -1,45 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import *
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
path: "role/:roleId",
|
|
12
|
-
component: CompAvatarTalkComponent,
|
|
13
|
-
runGuardsAndResolvers: "always",
|
|
14
|
-
}
|
|
15
|
-
];
|
|
16
|
-
export class AvatarModule {
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
18
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: AvatarModule, imports: [CommonModule,
|
|
19
|
-
FormsModule,
|
|
20
|
-
HttpClientModule,
|
|
21
|
-
ReactiveFormsModule, i1.RouterModule, CompAvatarTalkComponent], exports: [CompAvatarTalkComponent] }); }
|
|
22
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AvatarModule, imports: [CommonModule,
|
|
23
|
-
FormsModule,
|
|
24
|
-
HttpClientModule,
|
|
25
|
-
ReactiveFormsModule,
|
|
26
|
-
RouterModule.forChild(AvatarRoutes),
|
|
27
|
-
CompAvatarTalkComponent] }); }
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AvatarModule, decorators: [{
|
|
30
|
-
type: NgModule,
|
|
31
|
-
args: [{
|
|
32
|
-
declarations: [],
|
|
33
|
-
imports: [
|
|
34
|
-
CommonModule,
|
|
35
|
-
FormsModule,
|
|
36
|
-
HttpClientModule,
|
|
37
|
-
ReactiveFormsModule,
|
|
38
|
-
RouterModule.forChild(AvatarRoutes),
|
|
39
|
-
CompAvatarTalkComponent,
|
|
40
|
-
], exports: [
|
|
41
|
-
CompAvatarTalkComponent,
|
|
42
|
-
]
|
|
43
|
-
}]
|
|
44
|
-
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Ztb2RlLW5nL3NyYy9saWIvYWlnYy9hdmF0YXIvYXZhdGFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFBOzs7QUFFdkYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFXO0lBQ2xDO1FBQ0UsSUFBSSxFQUFFLGNBQWM7UUFDcEIsU0FBUyxFQUFFLHVCQUF1QjtRQUNsQyxxQkFBcUIsRUFBRSxRQUFRO0tBQ2hDO0NBQ0YsQ0FBQTtBQWdCRCxNQUFNLE9BQU8sWUFBWTsrR0FBWixZQUFZO2dIQUFaLFlBQVksWUFWckIsWUFBWTtZQUNaLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsbUJBQW1CLG1CQUVuQix1QkFBdUIsYUFFdkIsdUJBQXVCO2dIQUdkLFlBQVksWUFWckIsWUFBWTtZQUNaLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO1lBQ25DLHVCQUF1Qjs7NEZBS2QsWUFBWTtrQkFkeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQzt3QkFDbkMsdUJBQXVCO3FCQUN4QixFQUFDLE9BQU8sRUFBQzt3QkFDUix1QkFBdUI7cUJBQ3hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcEF2YXRhclRhbGtDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wLWF2YXRhci10YWxrL2NvbXAtYXZhdGFyLXRhbGsuY29tcG9uZW50XCJcclxuXHJcbmV4cG9ydCBjb25zdCBBdmF0YXJSb3V0ZXM6IFJvdXRlcyA9IFtcclxuICB7XHJcbiAgICBwYXRoOiBcInJvbGUvOnJvbGVJZFwiLFxyXG4gICAgY29tcG9uZW50OiBDb21wQXZhdGFyVGFsa0NvbXBvbmVudCxcclxuICAgIHJ1bkd1YXJkc0FuZFJlc29sdmVyczogXCJhbHdheXNcIixcclxuICB9XHJcbl1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLmZvckNoaWxkKEF2YXRhclJvdXRlcyksXHJcbiAgICBDb21wQXZhdGFyVGFsa0NvbXBvbmVudCxcclxuICBdLGV4cG9ydHM6W1xyXG4gICAgQ29tcEF2YXRhclRhbGtDb21wb25lbnQsXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXZhdGFyTW9kdWxlIHsgfVxyXG4iXX0=
|
|
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/aigc/avatar/avatar.module.mjs
|
|
7
|
+
*/
|
|
8
|
+
import{NgModule}from"@angular/core";import{CommonModule}from"@angular/common";import{FormsModule,ReactiveFormsModule}from"@angular/forms";import{RouterModule}from"@angular/router";import{HttpClientModule}from"@angular/common/http";import{CompAvatarTalkComponent}from"./comp-avatar-talk/comp-avatar-talk.component";import*as i0 from"@angular/core";import*as i1 from"@angular/router";export const AvatarRoutes=[{path:"role/:roleId",component:CompAvatarTalkComponent,runGuardsAndResolvers:"always"}];export class AvatarModule{static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:AvatarModule,deps:[],target:i0.ɵɵFactoryTarget.NgModule})}static{this.ɵmod=i0.ɵɵngDeclareNgModule({minVersion:"14.0.0",version:"17.3.12",ngImport:i0,type:AvatarModule,imports:[CommonModule,FormsModule,HttpClientModule,ReactiveFormsModule,i1.RouterModule,CompAvatarTalkComponent],exports:[CompAvatarTalkComponent]})}static{this.ɵinj=i0.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:AvatarModule,imports:[CommonModule,FormsModule,HttpClientModule,ReactiveFormsModule,RouterModule.forChild(AvatarRoutes),CompAvatarTalkComponent]})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:AvatarModule,decorators:[{type:NgModule,args:[{declarations:[],imports:[CommonModule,FormsModule,HttpClientModule,ReactiveFormsModule,RouterModule.forChild(AvatarRoutes),CompAvatarTalkComponent],exports:[CompAvatarTalkComponent]}]}]});
|
|
9
|
+
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2F2YXRhci9hdmF0YXIubW9kdWxlLm1qcw==`
|
|
10
|
+
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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/aigc/avatar/comp-avatar-particle/avatar.role.mjs
|
|
7
|
+
*/
|
|
8
|
+
export{};
|
|
9
|
+
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2F2YXRhci9jb21wLWF2YXRhci1wYXJ0aWNsZS9hdmF0YXIucm9sZS5tanM=`
|
|
10
|
+
|