@yinuo-ngm/server 1.0.15 → 1.0.17
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/lib/app.js +3 -15
- package/lib/common/editor.js +2 -2
- package/lib/env.d.ts +1 -0
- package/lib/env.js +1 -0
- package/lib/plugins/error-handler.plugin.d.ts +2 -2
- package/lib/plugins/error-handler.plugin.js +97 -88
- package/lib/plugins/ws/topics/nginx.ws.js +2 -1
- package/lib/plugins/ws/topics/svn.ws.d.ts +2 -1
- package/lib/plugins/ws/topics/svn.ws.js +3 -2
- package/lib/plugins/ws/topics/syslog.ws.d.ts +1 -1
- package/lib/plugins/ws/topics/task.ws.d.ts +2 -1
- package/lib/plugins/ws/topics/task.ws.js +2 -1
- package/lib/plugins/ws/ws.context.d.ts +1 -1
- package/lib/plugins/ws/ws.plugin.js +4 -3
- package/lib/plugins/ws/ws.router.d.ts +2 -2
- package/lib/plugins/ws/ws.router.js +8 -7
- package/lib/routes/api-client/collection.routes.js +8 -6
- package/lib/routes/api-client/env.routes.js +4 -3
- package/lib/routes/api-client/history.routes.js +3 -2
- package/lib/routes/api-client/hub-token.routes.js +32 -10
- package/lib/routes/api-client/request.routes.js +7 -6
- package/lib/routes/api-client/send.routes.js +3 -2
- package/lib/routes/config.routes.js +5 -5
- package/lib/routes/hub.routes.js +10 -10
- package/lib/routes/index.js +2 -0
- package/lib/routes/nginx/nginx-lifecycle.routes.js +4 -0
- package/lib/routes/nginx/nginx-route.context.js +23 -7
- package/lib/routes/nginx/nginx-server.routes.js +158 -6
- package/lib/routes/node-version.routes.d.ts +2 -0
- package/lib/routes/node-version.routes.js +56 -0
- package/lib/routes/project.routes.js +14 -9
- package/lib/routes/rss.routes.js +3 -3
- package/lib/routes/sprite-browse.routes.js +21 -6
- package/lib/routes/sprite.routes.js +18 -12
- package/lib/routes/static-files.routes.js +21 -5
- package/lib/routes/svn.routes.js +5 -3
- package/lib/routes/system.routes.js +20 -1
- package/lib/routes/task.routes.js +10 -3
- package/package.json +13 -6
- package/www/3rdpartylicenses.txt +66 -118
- package/www/browser/chunk-2L7NUOMX.js +2 -0
- package/www/browser/chunk-2NZJ7CN2.js +20 -0
- package/www/browser/chunk-3CM4SKDO.js +15 -0
- package/www/browser/chunk-3I7BQCXS.js +1 -0
- package/www/browser/chunk-3M56F2S2.js +1 -0
- package/www/browser/chunk-3OHBKMAA.js +1 -0
- package/www/browser/chunk-3XNNQFWR.js +1 -0
- package/www/browser/chunk-4BRW6LCZ.js +4 -0
- package/www/browser/chunk-4LBSLURA.js +1 -0
- package/www/browser/chunk-4X42HB6N.js +2 -0
- package/www/browser/chunk-5DYX4DUX.js +11 -0
- package/www/browser/chunk-6SYVDN5L.js +1 -0
- package/www/browser/chunk-6YYNHZ2A.js +1 -0
- package/www/browser/chunk-75W3GVSO.js +1 -0
- package/www/browser/chunk-7U44RF5F.js +63 -0
- package/www/browser/chunk-AELTP6YN.js +1 -0
- package/www/browser/chunk-AMXRL4GR.js +1 -0
- package/www/browser/chunk-AV2ZODEH.js +1 -0
- package/www/browser/chunk-AZ6SIMYH.js +1 -0
- package/www/browser/chunk-B3C35ET3.js +2 -0
- package/www/browser/chunk-BTQIUVTQ.js +1 -0
- package/www/browser/chunk-CN5J4WNO.js +1 -0
- package/www/browser/chunk-D2ODDESN.js +1 -0
- package/www/browser/chunk-DE6E23ET.js +1 -0
- package/www/browser/chunk-DIJPUYIA.js +1 -0
- package/www/browser/chunk-DLGJD6YU.js +4 -0
- package/www/browser/chunk-EEDA5U4V.js +1 -0
- package/www/browser/chunk-FK6Z4HLL.js +1 -0
- package/www/browser/chunk-FL6GDGHW.js +1 -0
- package/www/browser/chunk-FXCG34QS.js +1 -0
- package/www/browser/chunk-H2USFIYR.js +1 -0
- package/www/browser/chunk-H5HGMOE6.js +1 -0
- package/www/browser/chunk-HB3HECPD.js +1 -0
- package/www/browser/chunk-HDNG236Q.js +1 -0
- package/www/browser/chunk-HFZLJHYR.js +1 -0
- package/www/browser/chunk-HJTXXSMC.js +1 -0
- package/www/browser/chunk-HUMCWAKJ.js +3 -0
- package/www/browser/chunk-IKB3EQCP.js +2 -0
- package/www/browser/chunk-K7PESFPY.js +1 -0
- package/www/browser/chunk-KRYMOHYF.js +2 -0
- package/www/browser/chunk-M4QRBV3K.js +1 -0
- package/www/browser/chunk-N2PELLMM.js +30 -0
- package/www/browser/chunk-ONXBYGIG.js +1 -0
- package/www/browser/chunk-OSBDR36P.js +1 -0
- package/www/browser/chunk-OZCK4XVV.js +1 -0
- package/www/browser/chunk-QJP5F735.js +1 -0
- package/www/browser/chunk-RGOYDY7H.js +1 -0
- package/www/browser/chunk-UJKK4A7Y.js +1 -0
- package/www/browser/chunk-WD2EKZQC.js +1 -0
- package/www/browser/chunk-WUA5JFDD.js +1 -0
- package/www/browser/chunk-XLFHB7RS.js +3 -0
- package/www/browser/chunk-YNW4HEJO.js +37 -0
- package/www/browser/chunk-ZTDLWBW5.js +1 -0
- package/www/browser/dark.css +1 -30433
- package/www/browser/default.css +1 -30149
- package/www/browser/index.html +3 -3
- package/www/browser/main-N64WJCHX.js +34 -0
- package/www/browser/scripts-U25HCVEI.js +6 -0
- package/www/browser/styles-ROAHD7MY.css +1 -0
- package/www/browser/add-widget-drawer.component.css.map +0 -7
- package/www/browser/advanced-editor.component.css.map +0 -7
- package/www/browser/api-client.component.css.map +0 -7
- package/www/browser/api-history-drawer.component.css.map +0 -7
- package/www/browser/app.css.map +0 -7
- package/www/browser/attachment-viewer.component.css.map +0 -7
- package/www/browser/auth-editor.component.css.map +0 -7
- package/www/browser/body-editor.component.css.map +0 -7
- package/www/browser/chunk-2YSUXBGC.js +0 -627
- package/www/browser/chunk-2YSUXBGC.js.map +0 -1
- package/www/browser/chunk-3G2GEOPV.js +0 -456
- package/www/browser/chunk-3G2GEOPV.js.map +0 -1
- package/www/browser/chunk-3L72DF3R.js +0 -1683
- package/www/browser/chunk-3L72DF3R.js.map +0 -1
- package/www/browser/chunk-3MCIETCQ.js +0 -8279
- package/www/browser/chunk-3MCIETCQ.js.map +0 -1
- package/www/browser/chunk-665WC4RU.js +0 -5383
- package/www/browser/chunk-665WC4RU.js.map +0 -1
- package/www/browser/chunk-6QMSEZPT.js +0 -10044
- package/www/browser/chunk-6QMSEZPT.js.map +0 -1
- package/www/browser/chunk-6TBQERYX.js +0 -280
- package/www/browser/chunk-6TBQERYX.js.map +0 -1
- package/www/browser/chunk-6UW4MRJZ.js +0 -43
- package/www/browser/chunk-6UW4MRJZ.js.map +0 -7
- package/www/browser/chunk-6XUMIL3W.js +0 -5495
- package/www/browser/chunk-6XUMIL3W.js.map +0 -1
- package/www/browser/chunk-724YOJI3.js +0 -903
- package/www/browser/chunk-724YOJI3.js.map +0 -1
- package/www/browser/chunk-766T7YES.js +0 -437
- package/www/browser/chunk-766T7YES.js.map +0 -1
- package/www/browser/chunk-7FC7DN65.js +0 -728
- package/www/browser/chunk-7FC7DN65.js.map +0 -1
- package/www/browser/chunk-APGQRYWX.js +0 -156
- package/www/browser/chunk-APGQRYWX.js.map +0 -7
- package/www/browser/chunk-AQHSGTHS.js +0 -1960
- package/www/browser/chunk-AQHSGTHS.js.map +0 -1
- package/www/browser/chunk-CTOEAJQK.js +0 -40
- package/www/browser/chunk-CTOEAJQK.js.map +0 -7
- package/www/browser/chunk-DEGQJKKZ.js +0 -409
- package/www/browser/chunk-DEGQJKKZ.js.map +0 -1
- package/www/browser/chunk-DIJX2663.js +0 -1166
- package/www/browser/chunk-DIJX2663.js.map +0 -1
- package/www/browser/chunk-E4XD4GLT.js +0 -427
- package/www/browser/chunk-E4XD4GLT.js.map +0 -1
- package/www/browser/chunk-EQOY6A3M.js +0 -212
- package/www/browser/chunk-EQOY6A3M.js.map +0 -1
- package/www/browser/chunk-ETTBRXVA.js +0 -2643
- package/www/browser/chunk-ETTBRXVA.js.map +0 -1
- package/www/browser/chunk-FLSUSPBD.js +0 -5569
- package/www/browser/chunk-FLSUSPBD.js.map +0 -1
- package/www/browser/chunk-FZNHBEAZ.js +0 -102
- package/www/browser/chunk-FZNHBEAZ.js.map +0 -1
- package/www/browser/chunk-GJC7CZIJ.js +0 -361
- package/www/browser/chunk-GJC7CZIJ.js.map +0 -7
- package/www/browser/chunk-GMCNMOTD.js +0 -844
- package/www/browser/chunk-GMCNMOTD.js.map +0 -7
- package/www/browser/chunk-H43HGCRW.js +0 -198
- package/www/browser/chunk-H43HGCRW.js.map +0 -7
- package/www/browser/chunk-J447GBHM.js +0 -160
- package/www/browser/chunk-J447GBHM.js.map +0 -1
- package/www/browser/chunk-JN3VOWP7.js +0 -384
- package/www/browser/chunk-JN3VOWP7.js.map +0 -1
- package/www/browser/chunk-KSHAGY2M.js +0 -399
- package/www/browser/chunk-KSHAGY2M.js.map +0 -7
- package/www/browser/chunk-KV72AKOD.js +0 -59
- package/www/browser/chunk-KV72AKOD.js.map +0 -7
- package/www/browser/chunk-LAVMY2SJ.js +0 -26
- package/www/browser/chunk-LAVMY2SJ.js.map +0 -7
- package/www/browser/chunk-LLRVGHG5.js +0 -73
- package/www/browser/chunk-LLRVGHG5.js.map +0 -7
- package/www/browser/chunk-LPME4AJ3.js +0 -196
- package/www/browser/chunk-LPME4AJ3.js.map +0 -1
- package/www/browser/chunk-LVPSURVU.js +0 -4615
- package/www/browser/chunk-LVPSURVU.js.map +0 -1
- package/www/browser/chunk-MMPO7QLO.js +0 -4146
- package/www/browser/chunk-MMPO7QLO.js.map +0 -7
- package/www/browser/chunk-O7LB6VFM.js +0 -1953
- package/www/browser/chunk-O7LB6VFM.js.map +0 -1
- package/www/browser/chunk-P5CWA4FO.js +0 -685
- package/www/browser/chunk-P5CWA4FO.js.map +0 -1
- package/www/browser/chunk-RBWIWNTL.js +0 -203
- package/www/browser/chunk-RBWIWNTL.js.map +0 -7
- package/www/browser/chunk-RUXJCM3V.js +0 -26199
- package/www/browser/chunk-RUXJCM3V.js.map +0 -1
- package/www/browser/chunk-S77VVYUZ.js +0 -168
- package/www/browser/chunk-S77VVYUZ.js.map +0 -1
- package/www/browser/chunk-SCXPYFOB.js +0 -4316
- package/www/browser/chunk-SCXPYFOB.js.map +0 -1
- package/www/browser/chunk-SS73S33S.js +0 -471
- package/www/browser/chunk-SS73S33S.js.map +0 -7
- package/www/browser/chunk-T6UAOWNP.js +0 -600
- package/www/browser/chunk-T6UAOWNP.js.map +0 -1
- package/www/browser/chunk-TEW4MY4J.js +0 -148
- package/www/browser/chunk-TEW4MY4J.js.map +0 -7
- package/www/browser/chunk-TVORF3SF.js +0 -82
- package/www/browser/chunk-TVORF3SF.js.map +0 -7
- package/www/browser/chunk-UAN42EUZ.js +0 -2147
- package/www/browser/chunk-UAN42EUZ.js.map +0 -1
- package/www/browser/chunk-ULOHDK7Y.js +0 -1
- package/www/browser/chunk-ULOHDK7Y.js.map +0 -7
- package/www/browser/chunk-UYJ3FVRV.js +0 -3978
- package/www/browser/chunk-UYJ3FVRV.js.map +0 -1
- package/www/browser/chunk-VXHZMSDM.js +0 -5509
- package/www/browser/chunk-VXHZMSDM.js.map +0 -1
- package/www/browser/chunk-VYNQPZQO.js +0 -281
- package/www/browser/chunk-VYNQPZQO.js.map +0 -1
- package/www/browser/chunk-W3J23PZI.js +0 -9213
- package/www/browser/chunk-W3J23PZI.js.map +0 -1
- package/www/browser/chunk-W5HGHCQT.js +0 -1642
- package/www/browser/chunk-W5HGHCQT.js.map +0 -7
- package/www/browser/chunk-XF5H7E4L.js +0 -4723
- package/www/browser/chunk-XF5H7E4L.js.map +0 -1
- package/www/browser/chunk-XNFNEBMY.js +0 -398
- package/www/browser/chunk-XNFNEBMY.js.map +0 -7
- package/www/browser/chunk-XQY5SPGI.js +0 -30811
- package/www/browser/chunk-XQY5SPGI.js.map +0 -1
- package/www/browser/chunk-Y7JBZHNK.js +0 -514
- package/www/browser/chunk-Y7JBZHNK.js.map +0 -1
- package/www/browser/chunk-YWHRP4X3.js +0 -406
- package/www/browser/chunk-YWHRP4X3.js.map +0 -1
- package/www/browser/chunk-Z7FJIV62.js +0 -95
- package/www/browser/chunk-Z7FJIV62.js.map +0 -7
- package/www/browser/chunk-ZBZHXS46.js +0 -1674
- package/www/browser/chunk-ZBZHXS46.js.map +0 -1
- package/www/browser/chunk-ZZA5NVAI.js +0 -735
- package/www/browser/chunk-ZZA5NVAI.js.map +0 -1
- package/www/browser/collection-modal.component.css.map +0 -7
- package/www/browser/collection-tree-item.component.css.map +0 -7
- package/www/browser/collection-tree.component.css.map +0 -7
- package/www/browser/config-change-bar-component.css.map +0 -7
- package/www/browser/config-item-component.css.map +0 -7
- package/www/browser/config-nav-component.css.map +0 -7
- package/www/browser/config-section-component.css.map +0 -7
- package/www/browser/create-summary-aside.component.css.map +0 -7
- package/www/browser/curl-actions.component.css.map +0 -7
- package/www/browser/dark.css.map +0 -7
- package/www/browser/dashboard-canvas.component.css.map +0 -7
- package/www/browser/dashboard.component.css.map +0 -7
- package/www/browser/default.css.map +0 -7
- package/www/browser/detail-item-card.component.css.map +0 -7
- package/www/browser/ellipsis-text.component.css.map +0 -7
- package/www/browser/env-modal.component.css.map +0 -7
- package/www/browser/env-picker.component.css.map +0 -7
- package/www/browser/feedback.component.css.map +0 -7
- package/www/browser/fs-explorer.component.css.map +0 -7
- package/www/browser/git-import-modal.component.css.map +0 -7
- package/www/browser/hub-v2-personal-token-modal.component.css.map +0 -7
- package/www/browser/issue-action-area.component.css.map +0 -7
- package/www/browser/issue-add-participants-dialog.component.css.map +0 -7
- package/www/browser/issue-assign-dialog.component.css.map +0 -7
- package/www/browser/issue-attachment-area.component.css.map +0 -7
- package/www/browser/issue-base-info-area.component.css.map +0 -7
- package/www/browser/issue-branches.component.css.map +0 -7
- package/www/browser/issue-close-dialog.component.css.map +0 -7
- package/www/browser/issue-collaborators-panel.component.css.map +0 -7
- package/www/browser/issue-comment-editor.component.css.map +0 -7
- package/www/browser/issue-create-branch-dialog.component.css.map +0 -7
- package/www/browser/issue-description-area.component.css.map +0 -7
- package/www/browser/issue-detail.component.css.map +0 -7
- package/www/browser/issue-resolve-dialog.component.css.map +0 -7
- package/www/browser/issue-start-own-branch-dialog.component.css.map +0 -7
- package/www/browser/issues-list-table.component.css.map +0 -7
- package/www/browser/issues.component.css.map +0 -7
- package/www/browser/kill-port-widget.component.css.map +0 -7
- package/www/browser/kv-table.component.css.map +0 -7
- package/www/browser/layout-footer.component.css.map +0 -7
- package/www/browser/layout-header.component.css.map +0 -7
- package/www/browser/layout-menu.component.css.map +0 -7
- package/www/browser/layout-project-nav.component.css.map +0 -7
- package/www/browser/layout-sidebar.component.css.map +0 -7
- package/www/browser/layout.component.css.map +0 -7
- package/www/browser/less-viewport-component.css.map +0 -7
- package/www/browser/main.js +0 -1872
- package/www/browser/main.js.map +0 -1
- package/www/browser/markdown-viewer.component.css.map +0 -7
- package/www/browser/news-feed-widget.component.css.map +0 -7
- package/www/browser/ng-devtool.component.css.map +0 -7
- package/www/browser/nginx-config-editor.component.css.map +0 -7
- package/www/browser/nginx-log-viewer.component.css.map +0 -7
- package/www/browser/nginx-secondary-logs-tab.component.css.map +0 -7
- package/www/browser/nginx-secondary-perf-tab.component.css.map +0 -7
- package/www/browser/nginx-secondary-settings-tab.component.css.map +0 -7
- package/www/browser/nginx-secondary-ssl-tab.component.css.map +0 -7
- package/www/browser/nginx-secondary-test-tab.component.css.map +0 -7
- package/www/browser/nginx-secondary-traffic-tab.component.css.map +0 -7
- package/www/browser/nginx-secondary-upstream-tab.component.css.map +0 -7
- package/www/browser/nginx-section-card.component.css.map +0 -7
- package/www/browser/nginx-server-drawer.component.css.map +0 -7
- package/www/browser/nginx-server-list.component.css.map +0 -7
- package/www/browser/nginx-stat-card.component.css.map +0 -7
- package/www/browser/nginx.component.css.map +0 -7
- package/www/browser/page-layout.component.css.map +0 -7
- package/www/browser/pick-workspace-modal.component.css.map +0 -7
- package/www/browser/polyfills.js +0 -26584
- package/www/browser/polyfills.js.map +0 -7
- package/www/browser/project-conf.component.css.map +0 -7
- package/www/browser/project-create-modal.component.css.map +0 -7
- package/www/browser/project-create.component.css.map +0 -7
- package/www/browser/project-deps.component.css.map +0 -7
- package/www/browser/project-edit-modal.component.css.map +0 -7
- package/www/browser/project-import.component.css.map +0 -7
- package/www/browser/project-item-popover.component.css.map +0 -7
- package/www/browser/project-item.component.css.map +0 -7
- package/www/browser/project-list.component.css.map +0 -7
- package/www/browser/projects.component.css.map +0 -7
- package/www/browser/quick-task-widget.component.css.map +0 -7
- package/www/browser/rd-action-area.component.css.map +0 -7
- package/www/browser/rd-advance-stage-dialog.component.css.map +0 -7
- package/www/browser/rd-block-dialog.component.css.map +0 -7
- package/www/browser/rd-create-dialog.component.css.map +0 -7
- package/www/browser/rd-detail.component.css.map +0 -7
- package/www/browser/rd-item-card.component.css.map +0 -7
- package/www/browser/rd-list-board.component.css.map +0 -7
- package/www/browser/rd-list-table.component.css.map +0 -7
- package/www/browser/rd.component.css.map +0 -7
- package/www/browser/request-collections.component.css.map +0 -7
- package/www/browser/request-editor.component.css.map +0 -7
- package/www/browser/request-list-item.component.css.map +0 -7
- package/www/browser/request-list.component.css.map +0 -7
- package/www/browser/request-tabs-bar.component.css.map +0 -7
- package/www/browser/request-tabs.component.css.map +0 -7
- package/www/browser/request-urlbar.component.css.map +0 -7
- package/www/browser/response-viewer.component.css.map +0 -7
- package/www/browser/scripts.js +0 -245
- package/www/browser/scripts.js.map +0 -7
- package/www/browser/setting.component.css.map +0 -7
- package/www/browser/sprite-conf-modal.component.css.map +0 -7
- package/www/browser/sprite-icons-panel-component.css.map +0 -7
- package/www/browser/sprite-images-panel-component.css.map +0 -7
- package/www/browser/sprite-result-tabs.component.css.map +0 -7
- package/www/browser/sprite-viewport-component.css.map +0 -7
- package/www/browser/sprite.component.css.map +0 -7
- package/www/browser/step-advance.component.css.map +0 -7
- package/www/browser/step-basic.component.css.map +0 -7
- package/www/browser/step-config.component.css.map +0 -7
- package/www/browser/step-features.component.css.map +0 -7
- package/www/browser/step-preset.component.css.map +0 -7
- package/www/browser/step-summary-aside.component.css.map +0 -7
- package/www/browser/styles.css +0 -258
- package/www/browser/styles.css.map +0 -7
- package/www/browser/system-log.component.css.map +0 -7
- package/www/browser/task-actions.component.css.map +0 -7
- package/www/browser/task-console.component.css.map +0 -7
- package/www/browser/task-header.component.css.map +0 -7
- package/www/browser/task-list.component.css.map +0 -7
- package/www/browser/tasks.component.css.map +0 -7
- package/www/browser/terminal-view.component.css.map +0 -7
- package/www/browser/welcome-widget.component.css.map +0 -7
- package/www/browser/widget-base.component.css.map +0 -7
- package/www/browser/widget-host.component.css.map +0 -7
|
@@ -1,2147 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
NzDividerModule
|
|
3
|
-
} from "./chunk-FZNHBEAZ.js";
|
|
4
|
-
import {
|
|
5
|
-
NzImageModule
|
|
6
|
-
} from "./chunk-724YOJI3.js";
|
|
7
|
-
import {
|
|
8
|
-
NzCodeEditorModule
|
|
9
|
-
} from "./chunk-E4XD4GLT.js";
|
|
10
|
-
import {
|
|
11
|
-
NzPopconfirmModule
|
|
12
|
-
} from "./chunk-Y7JBZHNK.js";
|
|
13
|
-
import "./chunk-Z7FJIV62.js";
|
|
14
|
-
import {
|
|
15
|
-
NzStepsModule
|
|
16
|
-
} from "./chunk-3G2GEOPV.js";
|
|
17
|
-
import "./chunk-T6UAOWNP.js";
|
|
18
|
-
import {
|
|
19
|
-
NzTabsModule
|
|
20
|
-
} from "./chunk-O7LB6VFM.js";
|
|
21
|
-
import {
|
|
22
|
-
NzFormModule
|
|
23
|
-
} from "./chunk-P5CWA4FO.js";
|
|
24
|
-
import {
|
|
25
|
-
NzSwitchModule
|
|
26
|
-
} from "./chunk-6TBQERYX.js";
|
|
27
|
-
import {
|
|
28
|
-
NzDrawerModule
|
|
29
|
-
} from "./chunk-7FC7DN65.js";
|
|
30
|
-
import {
|
|
31
|
-
NZ_MODAL_DATA,
|
|
32
|
-
NzModalModule,
|
|
33
|
-
NzModalRef,
|
|
34
|
-
NzModalService
|
|
35
|
-
} from "./chunk-FLSUSPBD.js";
|
|
36
|
-
import {
|
|
37
|
-
Clipboard,
|
|
38
|
-
ClipboardModule
|
|
39
|
-
} from "./chunk-LPME4AJ3.js";
|
|
40
|
-
import {
|
|
41
|
-
NzCheckboxModule
|
|
42
|
-
} from "./chunk-766T7YES.js";
|
|
43
|
-
import "./chunk-S77VVYUZ.js";
|
|
44
|
-
import "./chunk-ULOHDK7Y.js";
|
|
45
|
-
import {
|
|
46
|
-
NzSpinModule
|
|
47
|
-
} from "./chunk-EQOY6A3M.js";
|
|
48
|
-
import {
|
|
49
|
-
NzTagModule
|
|
50
|
-
} from "./chunk-J447GBHM.js";
|
|
51
|
-
import "./chunk-ZBZHXS46.js";
|
|
52
|
-
import "./chunk-KSHAGY2M.js";
|
|
53
|
-
import "./chunk-VXHZMSDM.js";
|
|
54
|
-
import {
|
|
55
|
-
NzCardModule
|
|
56
|
-
} from "./chunk-ZZA5NVAI.js";
|
|
57
|
-
import {
|
|
58
|
-
NzEmptyModule,
|
|
59
|
-
NzSelectModule
|
|
60
|
-
} from "./chunk-ETTBRXVA.js";
|
|
61
|
-
import {
|
|
62
|
-
NzGridModule,
|
|
63
|
-
NzPopoverModule,
|
|
64
|
-
PageLayoutComponent,
|
|
65
|
-
TerminalViewComponent
|
|
66
|
-
} from "./chunk-6QMSEZPT.js";
|
|
67
|
-
import {
|
|
68
|
-
NzBadgeModule
|
|
69
|
-
} from "./chunk-DEGQJKKZ.js";
|
|
70
|
-
import {
|
|
71
|
-
ProjectContextStore
|
|
72
|
-
} from "./chunk-TEW4MY4J.js";
|
|
73
|
-
import {
|
|
74
|
-
WsClientService
|
|
75
|
-
} from "./chunk-APGQRYWX.js";
|
|
76
|
-
import {
|
|
77
|
-
ApiClient,
|
|
78
|
-
NzMessageService,
|
|
79
|
-
UiNotifierService
|
|
80
|
-
} from "./chunk-2YSUXBGC.js";
|
|
81
|
-
import {
|
|
82
|
-
FormsModule,
|
|
83
|
-
NzButtonModule,
|
|
84
|
-
NzIconModule,
|
|
85
|
-
NzInputModule,
|
|
86
|
-
NzSpaceModule,
|
|
87
|
-
NzTooltipModule
|
|
88
|
-
} from "./chunk-RUXJCM3V.js";
|
|
89
|
-
import "./chunk-VYNQPZQO.js";
|
|
90
|
-
import {
|
|
91
|
-
RouterModule
|
|
92
|
-
} from "./chunk-665WC4RU.js";
|
|
93
|
-
import {
|
|
94
|
-
CommonModule,
|
|
95
|
-
HttpParams
|
|
96
|
-
} from "./chunk-3MCIETCQ.js";
|
|
97
|
-
import {
|
|
98
|
-
BehaviorSubject,
|
|
99
|
-
Component,
|
|
100
|
-
Injectable,
|
|
101
|
-
Input,
|
|
102
|
-
NgModule,
|
|
103
|
-
Output,
|
|
104
|
-
Subject,
|
|
105
|
-
Subscription,
|
|
106
|
-
ViewChild,
|
|
107
|
-
__commonJS,
|
|
108
|
-
__decorate,
|
|
109
|
-
__spreadProps,
|
|
110
|
-
__spreadValues,
|
|
111
|
-
__toESM,
|
|
112
|
-
computed,
|
|
113
|
-
distinctUntilChanged,
|
|
114
|
-
firstValueFrom,
|
|
115
|
-
inject,
|
|
116
|
-
input,
|
|
117
|
-
model,
|
|
118
|
-
signal
|
|
119
|
-
} from "./chunk-XQY5SPGI.js";
|
|
120
|
-
|
|
121
|
-
// node_modules/dayjs/dayjs.min.js
|
|
122
|
-
var require_dayjs_min = __commonJS({
|
|
123
|
-
"node_modules/dayjs/dayjs.min.js"(exports, module) {
|
|
124
|
-
"use strict";
|
|
125
|
-
!(function(t, e) {
|
|
126
|
-
"object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (t = "undefined" != typeof globalThis ? globalThis : t || self).dayjs = e();
|
|
127
|
-
})(exports, (function() {
|
|
128
|
-
"use strict";
|
|
129
|
-
var t = 1e3, e = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", c = "month", f = "quarter", h = "year", d = "date", l = "Invalid Date", $ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(t2) {
|
|
130
|
-
var e2 = ["th", "st", "nd", "rd"], n2 = t2 % 100;
|
|
131
|
-
return "[" + t2 + (e2[(n2 - 20) % 10] || e2[n2] || e2[0]) + "]";
|
|
132
|
-
} }, m = function(t2, e2, n2) {
|
|
133
|
-
var r2 = String(t2);
|
|
134
|
-
return !r2 || r2.length >= e2 ? t2 : "" + Array(e2 + 1 - r2.length).join(n2) + t2;
|
|
135
|
-
}, v = { s: m, z: function(t2) {
|
|
136
|
-
var e2 = -t2.utcOffset(), n2 = Math.abs(e2), r2 = Math.floor(n2 / 60), i2 = n2 % 60;
|
|
137
|
-
return (e2 <= 0 ? "+" : "-") + m(r2, 2, "0") + ":" + m(i2, 2, "0");
|
|
138
|
-
}, m: function t2(e2, n2) {
|
|
139
|
-
if (e2.date() < n2.date()) return -t2(n2, e2);
|
|
140
|
-
var r2 = 12 * (n2.year() - e2.year()) + (n2.month() - e2.month()), i2 = e2.clone().add(r2, c), s2 = n2 - i2 < 0, u2 = e2.clone().add(r2 + (s2 ? -1 : 1), c);
|
|
141
|
-
return +(-(r2 + (n2 - i2) / (s2 ? i2 - u2 : u2 - i2)) || 0);
|
|
142
|
-
}, a: function(t2) {
|
|
143
|
-
return t2 < 0 ? Math.ceil(t2) || 0 : Math.floor(t2);
|
|
144
|
-
}, p: function(t2) {
|
|
145
|
-
return { M: c, y: h, w: o, d: a, D: d, h: u, m: s, s: i, ms: r, Q: f }[t2] || String(t2 || "").toLowerCase().replace(/s$/, "");
|
|
146
|
-
}, u: function(t2) {
|
|
147
|
-
return void 0 === t2;
|
|
148
|
-
} }, g = "en", D = {};
|
|
149
|
-
D[g] = M;
|
|
150
|
-
var p = "$isDayjsObject", S = function(t2) {
|
|
151
|
-
return t2 instanceof _ || !(!t2 || !t2[p]);
|
|
152
|
-
}, w = function t2(e2, n2, r2) {
|
|
153
|
-
var i2;
|
|
154
|
-
if (!e2) return g;
|
|
155
|
-
if ("string" == typeof e2) {
|
|
156
|
-
var s2 = e2.toLowerCase();
|
|
157
|
-
D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2);
|
|
158
|
-
var u2 = e2.split("-");
|
|
159
|
-
if (!i2 && u2.length > 1) return t2(u2[0]);
|
|
160
|
-
} else {
|
|
161
|
-
var a2 = e2.name;
|
|
162
|
-
D[a2] = e2, i2 = a2;
|
|
163
|
-
}
|
|
164
|
-
return !r2 && i2 && (g = i2), i2 || !r2 && g;
|
|
165
|
-
}, O = function(t2, e2) {
|
|
166
|
-
if (S(t2)) return t2.clone();
|
|
167
|
-
var n2 = "object" == typeof e2 ? e2 : {};
|
|
168
|
-
return n2.date = t2, n2.args = arguments, new _(n2);
|
|
169
|
-
}, b = v;
|
|
170
|
-
b.l = w, b.i = S, b.w = function(t2, e2) {
|
|
171
|
-
return O(t2, { locale: e2.$L, utc: e2.$u, x: e2.$x, $offset: e2.$offset });
|
|
172
|
-
};
|
|
173
|
-
var _ = (function() {
|
|
174
|
-
function M2(t2) {
|
|
175
|
-
this.$L = w(t2.locale, null, true), this.parse(t2), this.$x = this.$x || t2.x || {}, this[p] = true;
|
|
176
|
-
}
|
|
177
|
-
var m2 = M2.prototype;
|
|
178
|
-
return m2.parse = function(t2) {
|
|
179
|
-
this.$d = (function(t3) {
|
|
180
|
-
var e2 = t3.date, n2 = t3.utc;
|
|
181
|
-
if (null === e2) return /* @__PURE__ */ new Date(NaN);
|
|
182
|
-
if (b.u(e2)) return /* @__PURE__ */ new Date();
|
|
183
|
-
if (e2 instanceof Date) return new Date(e2);
|
|
184
|
-
if ("string" == typeof e2 && !/Z$/i.test(e2)) {
|
|
185
|
-
var r2 = e2.match($);
|
|
186
|
-
if (r2) {
|
|
187
|
-
var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3);
|
|
188
|
-
return n2 ? new Date(Date.UTC(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2)) : new Date(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
return new Date(e2);
|
|
192
|
-
})(t2), this.init();
|
|
193
|
-
}, m2.init = function() {
|
|
194
|
-
var t2 = this.$d;
|
|
195
|
-
this.$y = t2.getFullYear(), this.$M = t2.getMonth(), this.$D = t2.getDate(), this.$W = t2.getDay(), this.$H = t2.getHours(), this.$m = t2.getMinutes(), this.$s = t2.getSeconds(), this.$ms = t2.getMilliseconds();
|
|
196
|
-
}, m2.$utils = function() {
|
|
197
|
-
return b;
|
|
198
|
-
}, m2.isValid = function() {
|
|
199
|
-
return !(this.$d.toString() === l);
|
|
200
|
-
}, m2.isSame = function(t2, e2) {
|
|
201
|
-
var n2 = O(t2);
|
|
202
|
-
return this.startOf(e2) <= n2 && n2 <= this.endOf(e2);
|
|
203
|
-
}, m2.isAfter = function(t2, e2) {
|
|
204
|
-
return O(t2) < this.startOf(e2);
|
|
205
|
-
}, m2.isBefore = function(t2, e2) {
|
|
206
|
-
return this.endOf(e2) < O(t2);
|
|
207
|
-
}, m2.$g = function(t2, e2, n2) {
|
|
208
|
-
return b.u(t2) ? this[e2] : this.set(n2, t2);
|
|
209
|
-
}, m2.unix = function() {
|
|
210
|
-
return Math.floor(this.valueOf() / 1e3);
|
|
211
|
-
}, m2.valueOf = function() {
|
|
212
|
-
return this.$d.getTime();
|
|
213
|
-
}, m2.startOf = function(t2, e2) {
|
|
214
|
-
var n2 = this, r2 = !!b.u(e2) || e2, f2 = b.p(t2), l2 = function(t3, e3) {
|
|
215
|
-
var i2 = b.w(n2.$u ? Date.UTC(n2.$y, e3, t3) : new Date(n2.$y, e3, t3), n2);
|
|
216
|
-
return r2 ? i2 : i2.endOf(a);
|
|
217
|
-
}, $2 = function(t3, e3) {
|
|
218
|
-
return b.w(n2.toDate()[t3].apply(n2.toDate("s"), (r2 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e3)), n2);
|
|
219
|
-
}, y2 = this.$W, M3 = this.$M, m3 = this.$D, v2 = "set" + (this.$u ? "UTC" : "");
|
|
220
|
-
switch (f2) {
|
|
221
|
-
case h:
|
|
222
|
-
return r2 ? l2(1, 0) : l2(31, 11);
|
|
223
|
-
case c:
|
|
224
|
-
return r2 ? l2(1, M3) : l2(0, M3 + 1);
|
|
225
|
-
case o:
|
|
226
|
-
var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2;
|
|
227
|
-
return l2(r2 ? m3 - D2 : m3 + (6 - D2), M3);
|
|
228
|
-
case a:
|
|
229
|
-
case d:
|
|
230
|
-
return $2(v2 + "Hours", 0);
|
|
231
|
-
case u:
|
|
232
|
-
return $2(v2 + "Minutes", 1);
|
|
233
|
-
case s:
|
|
234
|
-
return $2(v2 + "Seconds", 2);
|
|
235
|
-
case i:
|
|
236
|
-
return $2(v2 + "Milliseconds", 3);
|
|
237
|
-
default:
|
|
238
|
-
return this.clone();
|
|
239
|
-
}
|
|
240
|
-
}, m2.endOf = function(t2) {
|
|
241
|
-
return this.startOf(t2, false);
|
|
242
|
-
}, m2.$set = function(t2, e2) {
|
|
243
|
-
var n2, o2 = b.p(t2), f2 = "set" + (this.$u ? "UTC" : ""), l2 = (n2 = {}, n2[a] = f2 + "Date", n2[d] = f2 + "Date", n2[c] = f2 + "Month", n2[h] = f2 + "FullYear", n2[u] = f2 + "Hours", n2[s] = f2 + "Minutes", n2[i] = f2 + "Seconds", n2[r] = f2 + "Milliseconds", n2)[o2], $2 = o2 === a ? this.$D + (e2 - this.$W) : e2;
|
|
244
|
-
if (o2 === c || o2 === h) {
|
|
245
|
-
var y2 = this.clone().set(d, 1);
|
|
246
|
-
y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;
|
|
247
|
-
} else l2 && this.$d[l2]($2);
|
|
248
|
-
return this.init(), this;
|
|
249
|
-
}, m2.set = function(t2, e2) {
|
|
250
|
-
return this.clone().$set(t2, e2);
|
|
251
|
-
}, m2.get = function(t2) {
|
|
252
|
-
return this[b.p(t2)]();
|
|
253
|
-
}, m2.add = function(r2, f2) {
|
|
254
|
-
var d2, l2 = this;
|
|
255
|
-
r2 = Number(r2);
|
|
256
|
-
var $2 = b.p(f2), y2 = function(t2) {
|
|
257
|
-
var e2 = O(l2);
|
|
258
|
-
return b.w(e2.date(e2.date() + Math.round(t2 * r2)), l2);
|
|
259
|
-
};
|
|
260
|
-
if ($2 === c) return this.set(c, this.$M + r2);
|
|
261
|
-
if ($2 === h) return this.set(h, this.$y + r2);
|
|
262
|
-
if ($2 === a) return y2(1);
|
|
263
|
-
if ($2 === o) return y2(7);
|
|
264
|
-
var M3 = (d2 = {}, d2[s] = e, d2[u] = n, d2[i] = t, d2)[$2] || 1, m3 = this.$d.getTime() + r2 * M3;
|
|
265
|
-
return b.w(m3, this);
|
|
266
|
-
}, m2.subtract = function(t2, e2) {
|
|
267
|
-
return this.add(-1 * t2, e2);
|
|
268
|
-
}, m2.format = function(t2) {
|
|
269
|
-
var e2 = this, n2 = this.$locale();
|
|
270
|
-
if (!this.isValid()) return n2.invalidDate || l;
|
|
271
|
-
var r2 = t2 || "YYYY-MM-DDTHH:mm:ssZ", i2 = b.z(this), s2 = this.$H, u2 = this.$m, a2 = this.$M, o2 = n2.weekdays, c2 = n2.months, f2 = n2.meridiem, h2 = function(t3, n3, i3, s3) {
|
|
272
|
-
return t3 && (t3[n3] || t3(e2, r2)) || i3[n3].slice(0, s3);
|
|
273
|
-
}, d2 = function(t3) {
|
|
274
|
-
return b.s(s2 % 12 || 12, t3, "0");
|
|
275
|
-
}, $2 = f2 || function(t3, e3, n3) {
|
|
276
|
-
var r3 = t3 < 12 ? "AM" : "PM";
|
|
277
|
-
return n3 ? r3.toLowerCase() : r3;
|
|
278
|
-
};
|
|
279
|
-
return r2.replace(y, (function(t3, r3) {
|
|
280
|
-
return r3 || (function(t4) {
|
|
281
|
-
switch (t4) {
|
|
282
|
-
case "YY":
|
|
283
|
-
return String(e2.$y).slice(-2);
|
|
284
|
-
case "YYYY":
|
|
285
|
-
return b.s(e2.$y, 4, "0");
|
|
286
|
-
case "M":
|
|
287
|
-
return a2 + 1;
|
|
288
|
-
case "MM":
|
|
289
|
-
return b.s(a2 + 1, 2, "0");
|
|
290
|
-
case "MMM":
|
|
291
|
-
return h2(n2.monthsShort, a2, c2, 3);
|
|
292
|
-
case "MMMM":
|
|
293
|
-
return h2(c2, a2);
|
|
294
|
-
case "D":
|
|
295
|
-
return e2.$D;
|
|
296
|
-
case "DD":
|
|
297
|
-
return b.s(e2.$D, 2, "0");
|
|
298
|
-
case "d":
|
|
299
|
-
return String(e2.$W);
|
|
300
|
-
case "dd":
|
|
301
|
-
return h2(n2.weekdaysMin, e2.$W, o2, 2);
|
|
302
|
-
case "ddd":
|
|
303
|
-
return h2(n2.weekdaysShort, e2.$W, o2, 3);
|
|
304
|
-
case "dddd":
|
|
305
|
-
return o2[e2.$W];
|
|
306
|
-
case "H":
|
|
307
|
-
return String(s2);
|
|
308
|
-
case "HH":
|
|
309
|
-
return b.s(s2, 2, "0");
|
|
310
|
-
case "h":
|
|
311
|
-
return d2(1);
|
|
312
|
-
case "hh":
|
|
313
|
-
return d2(2);
|
|
314
|
-
case "a":
|
|
315
|
-
return $2(s2, u2, true);
|
|
316
|
-
case "A":
|
|
317
|
-
return $2(s2, u2, false);
|
|
318
|
-
case "m":
|
|
319
|
-
return String(u2);
|
|
320
|
-
case "mm":
|
|
321
|
-
return b.s(u2, 2, "0");
|
|
322
|
-
case "s":
|
|
323
|
-
return String(e2.$s);
|
|
324
|
-
case "ss":
|
|
325
|
-
return b.s(e2.$s, 2, "0");
|
|
326
|
-
case "SSS":
|
|
327
|
-
return b.s(e2.$ms, 3, "0");
|
|
328
|
-
case "Z":
|
|
329
|
-
return i2;
|
|
330
|
-
}
|
|
331
|
-
return null;
|
|
332
|
-
})(t3) || i2.replace(":", "");
|
|
333
|
-
}));
|
|
334
|
-
}, m2.utcOffset = function() {
|
|
335
|
-
return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
|
|
336
|
-
}, m2.diff = function(r2, d2, l2) {
|
|
337
|
-
var $2, y2 = this, M3 = b.p(d2), m3 = O(r2), v2 = (m3.utcOffset() - this.utcOffset()) * e, g2 = this - m3, D2 = function() {
|
|
338
|
-
return b.m(y2, m3);
|
|
339
|
-
};
|
|
340
|
-
switch (M3) {
|
|
341
|
-
case h:
|
|
342
|
-
$2 = D2() / 12;
|
|
343
|
-
break;
|
|
344
|
-
case c:
|
|
345
|
-
$2 = D2();
|
|
346
|
-
break;
|
|
347
|
-
case f:
|
|
348
|
-
$2 = D2() / 3;
|
|
349
|
-
break;
|
|
350
|
-
case o:
|
|
351
|
-
$2 = (g2 - v2) / 6048e5;
|
|
352
|
-
break;
|
|
353
|
-
case a:
|
|
354
|
-
$2 = (g2 - v2) / 864e5;
|
|
355
|
-
break;
|
|
356
|
-
case u:
|
|
357
|
-
$2 = g2 / n;
|
|
358
|
-
break;
|
|
359
|
-
case s:
|
|
360
|
-
$2 = g2 / e;
|
|
361
|
-
break;
|
|
362
|
-
case i:
|
|
363
|
-
$2 = g2 / t;
|
|
364
|
-
break;
|
|
365
|
-
default:
|
|
366
|
-
$2 = g2;
|
|
367
|
-
}
|
|
368
|
-
return l2 ? $2 : b.a($2);
|
|
369
|
-
}, m2.daysInMonth = function() {
|
|
370
|
-
return this.endOf(c).$D;
|
|
371
|
-
}, m2.$locale = function() {
|
|
372
|
-
return D[this.$L];
|
|
373
|
-
}, m2.locale = function(t2, e2) {
|
|
374
|
-
if (!t2) return this.$L;
|
|
375
|
-
var n2 = this.clone(), r2 = w(t2, e2, true);
|
|
376
|
-
return r2 && (n2.$L = r2), n2;
|
|
377
|
-
}, m2.clone = function() {
|
|
378
|
-
return b.w(this.$d, this);
|
|
379
|
-
}, m2.toDate = function() {
|
|
380
|
-
return new Date(this.valueOf());
|
|
381
|
-
}, m2.toJSON = function() {
|
|
382
|
-
return this.isValid() ? this.toISOString() : null;
|
|
383
|
-
}, m2.toISOString = function() {
|
|
384
|
-
return this.$d.toISOString();
|
|
385
|
-
}, m2.toString = function() {
|
|
386
|
-
return this.$d.toUTCString();
|
|
387
|
-
}, M2;
|
|
388
|
-
})(), k = _.prototype;
|
|
389
|
-
return O.prototype = k, [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", c], ["$y", h], ["$D", d]].forEach((function(t2) {
|
|
390
|
-
k[t2[1]] = function(e2) {
|
|
391
|
-
return this.$g(e2, t2[0], t2[1]);
|
|
392
|
-
};
|
|
393
|
-
})), O.extend = function(t2, e2) {
|
|
394
|
-
return t2.$i || (t2(e2, _, O), t2.$i = true), O;
|
|
395
|
-
}, O.locale = w, O.isDayjs = S, O.unix = function(t2) {
|
|
396
|
-
return O(1e3 * t2);
|
|
397
|
-
}, O.en = D[g], O.Ls = D, O.p = {}, O;
|
|
398
|
-
}));
|
|
399
|
-
}
|
|
400
|
-
});
|
|
401
|
-
|
|
402
|
-
// angular:jit:style:inline:src\app\pages\sprite\sprite.component.ts;CiAgICAucGFnZXsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICBnYXA6IDE2cHg7CiAgICAgIHBhZGRpbmc6MCAxNnB4OwogICAgfQogICAgLmNvbnRlbnQgewogICAgICBmbGV4OiAxIDEgYXV0bzsKICAgICAgd2lkdGg6IDA7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KICAgIC5jb250ZW50LmVtcHR5IHsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB9CiAgICAuYXNpZGUgewogICAgICB3aWR0aDogMDsKICAgICAgZmxleDogMCAwIGF1dG87CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgcGFkZGluZzogMTZweDsKICAgICAgYmFja2dyb3VuZDogIzAwMDsKICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE1MCUpOwogICAgfQogICAgLmFzaWRlLm9wZW4gewogICAgICB3aWR0aDogNDAwcHg7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIH0KICAgIA==
|
|
403
|
-
var sprite_component_default = "/* angular:styles/component:less;0b8b22c936238239f0eefecb7ef1320d00db89e47b2c1150ed010468d3e85fd7;D:\\ng-manager\\webapp\\src\\app\\pages\\sprite\\sprite.component.ts */\n.page {\n height: 100%;\n display: flex;\n flex-direction: row;\n overflow: hidden;\n gap: 16px;\n padding: 0 16px;\n}\n.content {\n flex: 1 1 auto;\n width: 0;\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n}\n.content.empty {\n justify-content: center;\n}\n.aside {\n width: 0;\n flex: 0 0 auto;\n height: 100%;\n padding: 16px;\n background: #000;\n transition: transform 0.2s ease;\n transform: translateX(150%);\n}\n.aside.open {\n width: 400px;\n transform: translateX(0);\n}\n/*# sourceMappingURL=sprite.component.css.map */\n";
|
|
404
|
-
|
|
405
|
-
// src/app/pages/sprite/services/sprite-api.service.ts
|
|
406
|
-
var SpriteApiService = class SpriteApiService2 {
|
|
407
|
-
api = inject(ApiClient);
|
|
408
|
-
generate(projectId, options = {}) {
|
|
409
|
-
return this.api.post(`/api/sprite/generate/${projectId}`, options);
|
|
410
|
-
}
|
|
411
|
-
getConfig(projectId) {
|
|
412
|
-
return this.api.get(`/api/sprite/config/${projectId}`);
|
|
413
|
-
}
|
|
414
|
-
createConfig(projectId, assets, config) {
|
|
415
|
-
return this.api.post(`/api/sprite/config/${projectId}`, { config, assets });
|
|
416
|
-
}
|
|
417
|
-
checkout(projectId, options = {}) {
|
|
418
|
-
return this.api.post(`/api/svn/sync/${projectId}`, options);
|
|
419
|
-
}
|
|
420
|
-
streamCheckout(projectId, options = {}) {
|
|
421
|
-
return this.api.post(`/api/svn/sync/stream/${projectId}`, options);
|
|
422
|
-
}
|
|
423
|
-
getRuntimes(projectId) {
|
|
424
|
-
return this.api.get(`/api/svn/runtime/${projectId}`);
|
|
425
|
-
}
|
|
426
|
-
getSprites(projectId) {
|
|
427
|
-
return this.api.get(`/api/sprite/list/${projectId}`);
|
|
428
|
-
}
|
|
429
|
-
browseIconGroups(projectId) {
|
|
430
|
-
return this.api.get(`/api/sprite/browse/icons/groups/${projectId}`);
|
|
431
|
-
}
|
|
432
|
-
browseIconFiles(projectId, group) {
|
|
433
|
-
const params = new HttpParams().set("group", group);
|
|
434
|
-
return this.api.get(`/api/sprite/browse/icons/files/${projectId}`, params);
|
|
435
|
-
}
|
|
436
|
-
browseImages(projectId, dir = "") {
|
|
437
|
-
const params = new HttpParams().set("dir", dir);
|
|
438
|
-
return this.api.get(`/api/sprite/browse/images/list/${projectId}`, params);
|
|
439
|
-
}
|
|
440
|
-
};
|
|
441
|
-
SpriteApiService = __decorate([
|
|
442
|
-
Injectable({
|
|
443
|
-
providedIn: "root"
|
|
444
|
-
})
|
|
445
|
-
], SpriteApiService);
|
|
446
|
-
|
|
447
|
-
// src/app/pages/sprite/services/sprite-state.service.ts
|
|
448
|
-
var SpriteStateService = class SpriteStateService2 {
|
|
449
|
-
projectContext = inject(ProjectContextStore);
|
|
450
|
-
api = inject(SpriteApiService);
|
|
451
|
-
project = computed(() => {
|
|
452
|
-
return this.projectContext.currentProject();
|
|
453
|
-
});
|
|
454
|
-
async loadConfig() {
|
|
455
|
-
if (!this.project()) {
|
|
456
|
-
throw new Error("No project selected");
|
|
457
|
-
}
|
|
458
|
-
const projectId = this.project().id;
|
|
459
|
-
return await firstValueFrom(this.api.getConfig(projectId));
|
|
460
|
-
}
|
|
461
|
-
async createConfig(assets, config) {
|
|
462
|
-
if (!this.project()) {
|
|
463
|
-
throw new Error("No project selected");
|
|
464
|
-
}
|
|
465
|
-
const projectId = this.project().id;
|
|
466
|
-
const data = await firstValueFrom(this.api.createConfig(projectId, assets, config));
|
|
467
|
-
this.projectContext.patchProject(data.project);
|
|
468
|
-
return data.cfg;
|
|
469
|
-
}
|
|
470
|
-
async checkout(options = {}) {
|
|
471
|
-
const projectId = this.ensureProjectId();
|
|
472
|
-
return await firstValueFrom(this.api.checkout(projectId, options));
|
|
473
|
-
}
|
|
474
|
-
async streamCheckout(options = {}) {
|
|
475
|
-
const projectId = this.ensureProjectId();
|
|
476
|
-
return await firstValueFrom(this.api.streamCheckout(projectId, options));
|
|
477
|
-
}
|
|
478
|
-
async getSvnRuntimes() {
|
|
479
|
-
const projectId = this.ensureProjectId();
|
|
480
|
-
return await firstValueFrom(this.api.getRuntimes(projectId));
|
|
481
|
-
}
|
|
482
|
-
async generate() {
|
|
483
|
-
const projectId = this.ensureProjectId();
|
|
484
|
-
return await firstValueFrom(this.api.generate(projectId));
|
|
485
|
-
}
|
|
486
|
-
async getSprites() {
|
|
487
|
-
const projectId = this.ensureProjectId();
|
|
488
|
-
return await firstValueFrom(this.api.getSprites(projectId));
|
|
489
|
-
}
|
|
490
|
-
ensureProjectId() {
|
|
491
|
-
const project = this.project();
|
|
492
|
-
if (!project) {
|
|
493
|
-
throw new Error("No project selected");
|
|
494
|
-
}
|
|
495
|
-
return project.id;
|
|
496
|
-
}
|
|
497
|
-
};
|
|
498
|
-
SpriteStateService = __decorate([
|
|
499
|
-
Injectable({
|
|
500
|
-
providedIn: "root"
|
|
501
|
-
})
|
|
502
|
-
], SpriteStateService);
|
|
503
|
-
|
|
504
|
-
// src/app/pages/sprite/services/sprite-stream.service.ts
|
|
505
|
-
var SpriteStreamService = class SpriteStreamService2 {
|
|
506
|
-
ws;
|
|
507
|
-
subs = /* @__PURE__ */ new Map();
|
|
508
|
-
// projectId -> tail
|
|
509
|
-
lastWsState = "idle";
|
|
510
|
-
event$ = new Subject();
|
|
511
|
-
eventByProject = /* @__PURE__ */ new Map();
|
|
512
|
-
runtimesByProject = /* @__PURE__ */ new Map();
|
|
513
|
-
// projectId:sourceId -> output stream
|
|
514
|
-
outputByKey = /* @__PURE__ */ new Map();
|
|
515
|
-
constructor(ws) {
|
|
516
|
-
this.ws = ws;
|
|
517
|
-
this.ws.messages().subscribe((msg) => this.onMessage(msg));
|
|
518
|
-
this.ws.stateChanges().subscribe((s) => {
|
|
519
|
-
if (s === "open" && this.lastWsState !== "open")
|
|
520
|
-
this.replaySubs();
|
|
521
|
-
this.lastWsState = s;
|
|
522
|
-
});
|
|
523
|
-
}
|
|
524
|
-
// ------------------------
|
|
525
|
-
// connection + trigger
|
|
526
|
-
// ------------------------
|
|
527
|
-
ensureConnected() {
|
|
528
|
-
this.ws.connect();
|
|
529
|
-
}
|
|
530
|
-
// ------------------------
|
|
531
|
-
// subscribe lifecycle
|
|
532
|
-
// ------------------------
|
|
533
|
-
subscribeProject(projectId, tail = 1e3) {
|
|
534
|
-
const id = String(projectId ?? "").trim();
|
|
535
|
-
if (!id)
|
|
536
|
-
return;
|
|
537
|
-
const t = Math.max(0, Math.min(5e3, tail | 0));
|
|
538
|
-
if (this.subs.get(id) === t)
|
|
539
|
-
return;
|
|
540
|
-
this.subs.set(id, t);
|
|
541
|
-
this.ensureProjectEventSubject(id);
|
|
542
|
-
this.ensureProjectRuntimesSubject(id);
|
|
543
|
-
if (this.ws.isOpen()) {
|
|
544
|
-
this.ws.send({ op: "sub", topic: "svn", projectId: id, tail: t });
|
|
545
|
-
}
|
|
546
|
-
}
|
|
547
|
-
unsubscribeProject(projectId) {
|
|
548
|
-
const id = String(projectId ?? "").trim();
|
|
549
|
-
if (!this.subs.has(id))
|
|
550
|
-
return;
|
|
551
|
-
this.subs.delete(id);
|
|
552
|
-
if (this.ws.isOpen()) {
|
|
553
|
-
this.ws.send({ op: "unsub", topic: "svn", projectId: id });
|
|
554
|
-
}
|
|
555
|
-
}
|
|
556
|
-
/**
|
|
557
|
-
* 推荐:组件 add 进自己的 Subscription 容器
|
|
558
|
-
* - sub.unsubscribe() 时自动触发 unsubscribeProject()
|
|
559
|
-
*/
|
|
560
|
-
watchProject(projectId, tail = 1e3) {
|
|
561
|
-
const id = String(projectId ?? "").trim();
|
|
562
|
-
this.ensureConnected();
|
|
563
|
-
this.subscribeProject(id, tail);
|
|
564
|
-
const sub = new Subscription();
|
|
565
|
-
sub.add(() => this.unsubscribeProject(id));
|
|
566
|
-
return sub;
|
|
567
|
-
}
|
|
568
|
-
/**
|
|
569
|
-
* 更自动:绑定到 DestroyRef(Angular 16+)
|
|
570
|
-
*/
|
|
571
|
-
bindToDestroyRef(projectId, destroyRef, tail = 1e3) {
|
|
572
|
-
const id = String(projectId ?? "").trim();
|
|
573
|
-
this.ensureConnected();
|
|
574
|
-
this.subscribeProject(id, tail);
|
|
575
|
-
destroyRef.onDestroy(() => this.unsubscribeProject(id));
|
|
576
|
-
}
|
|
577
|
-
// ------------------------
|
|
578
|
-
// streams
|
|
579
|
-
// ------------------------
|
|
580
|
-
events$() {
|
|
581
|
-
return this.event$.asObservable();
|
|
582
|
-
}
|
|
583
|
-
eventsByProject$(projectId) {
|
|
584
|
-
const id = String(projectId ?? "").trim();
|
|
585
|
-
return this.ensureProjectEventSubject(id).asObservable();
|
|
586
|
-
}
|
|
587
|
-
runtimes$(projectId) {
|
|
588
|
-
const id = String(projectId ?? "").trim();
|
|
589
|
-
return this.ensureProjectRuntimesSubject(id).asObservable().pipe(distinctUntilChanged());
|
|
590
|
-
}
|
|
591
|
-
/**
|
|
592
|
-
* 输出流:按 (projectId, sourceId)
|
|
593
|
-
* - payload.output: { type, data, status }
|
|
594
|
-
*/
|
|
595
|
-
output$(projectId) {
|
|
596
|
-
const key = this.keyOf(projectId);
|
|
597
|
-
if (!this.outputByKey.has(key))
|
|
598
|
-
this.outputByKey.set(key, new Subject());
|
|
599
|
-
return this.outputByKey.get(key).asObservable();
|
|
600
|
-
}
|
|
601
|
-
// ------------------------
|
|
602
|
-
// internals
|
|
603
|
-
// ------------------------
|
|
604
|
-
replaySubs() {
|
|
605
|
-
for (const [projectId, tail] of this.subs.entries()) {
|
|
606
|
-
this.ws.send({ op: "sub", topic: "svn", projectId, tail });
|
|
607
|
-
}
|
|
608
|
-
}
|
|
609
|
-
onMessage(msg) {
|
|
610
|
-
if (msg?.op !== "svn.event")
|
|
611
|
-
return;
|
|
612
|
-
const m = msg;
|
|
613
|
-
const type = m.type;
|
|
614
|
-
const payload = m.payload;
|
|
615
|
-
const projectId = String(payload?.projectId ?? "").trim();
|
|
616
|
-
if (!projectId)
|
|
617
|
-
return;
|
|
618
|
-
this.event$.next(m);
|
|
619
|
-
this.ensureProjectEventSubject(projectId).next(m);
|
|
620
|
-
this.applyEvent(type, payload, m.ts ?? Date.now());
|
|
621
|
-
}
|
|
622
|
-
applyEvent(type, payload, ts) {
|
|
623
|
-
const projectId = String(payload?.projectId ?? "").trim();
|
|
624
|
-
const sourceId = String(payload?.sourceId ?? "").trim();
|
|
625
|
-
if (!projectId || !sourceId)
|
|
626
|
-
return;
|
|
627
|
-
switch (type) {
|
|
628
|
-
case "runtime": {
|
|
629
|
-
const rt = payload;
|
|
630
|
-
this.upsert(projectId, sourceId, (prev) => __spreadProps(__spreadValues(__spreadValues({}, prev), rt), {
|
|
631
|
-
lastEventAt: ts
|
|
632
|
-
}), true);
|
|
633
|
-
return;
|
|
634
|
-
}
|
|
635
|
-
case "started": {
|
|
636
|
-
const p = payload;
|
|
637
|
-
this.upsert(projectId, sourceId, (prev) => __spreadProps(__spreadValues({}, prev), {
|
|
638
|
-
status: p.status,
|
|
639
|
-
lastEventAt: ts
|
|
640
|
-
// started 时通常还没有 url/mode,保留 prev
|
|
641
|
-
}));
|
|
642
|
-
return;
|
|
643
|
-
}
|
|
644
|
-
case "output": {
|
|
645
|
-
const p = payload;
|
|
646
|
-
const stream = p.type;
|
|
647
|
-
const text = String(p.data ?? "");
|
|
648
|
-
if (text) {
|
|
649
|
-
const key = this.keyOf(projectId);
|
|
650
|
-
if (!this.outputByKey.has(key))
|
|
651
|
-
this.outputByKey.set(key, new Subject());
|
|
652
|
-
this.outputByKey.get(key).next({
|
|
653
|
-
projectId,
|
|
654
|
-
sourceId,
|
|
655
|
-
stream,
|
|
656
|
-
text,
|
|
657
|
-
status: p.status,
|
|
658
|
-
ts
|
|
659
|
-
});
|
|
660
|
-
}
|
|
661
|
-
this.upsert(projectId, sourceId, (prev) => __spreadProps(__spreadValues({}, prev), {
|
|
662
|
-
status: p.status,
|
|
663
|
-
lastEventAt: ts,
|
|
664
|
-
lastStdout: stream === "stdout" ? text : prev.lastStdout,
|
|
665
|
-
lastStderr: stream === "stderr" ? text : prev.lastStderr
|
|
666
|
-
}));
|
|
667
|
-
return;
|
|
668
|
-
}
|
|
669
|
-
case "progress": {
|
|
670
|
-
const p = payload;
|
|
671
|
-
this.upsert(projectId, sourceId, (prev) => __spreadProps(__spreadValues({}, prev), {
|
|
672
|
-
status: p.status,
|
|
673
|
-
lastEventAt: ts,
|
|
674
|
-
total: p.total ?? prev.total,
|
|
675
|
-
changed: p.changed ?? prev.changed,
|
|
676
|
-
percent: p.percent ?? prev.percent
|
|
677
|
-
}));
|
|
678
|
-
return;
|
|
679
|
-
}
|
|
680
|
-
case "done": {
|
|
681
|
-
const p = payload;
|
|
682
|
-
this.upsert(projectId, sourceId, (prev) => __spreadProps(__spreadValues({}, prev), {
|
|
683
|
-
status: p.status,
|
|
684
|
-
lastEventAt: ts,
|
|
685
|
-
updatedAt: p.updatedAt,
|
|
686
|
-
// 把本次同步的关键信息写回 runtime
|
|
687
|
-
lastSyncAt: p.updatedAt,
|
|
688
|
-
// 你 runtime 里叫 lastSyncAt
|
|
689
|
-
lastSyncMode: p.mode,
|
|
690
|
-
desiredUrl: p.desiredUrl,
|
|
691
|
-
currentUrl: p.currentUrl
|
|
692
|
-
}));
|
|
693
|
-
return;
|
|
694
|
-
}
|
|
695
|
-
case "failed": {
|
|
696
|
-
const p = payload;
|
|
697
|
-
this.upsert(projectId, sourceId, (prev) => __spreadProps(__spreadValues({}, prev), {
|
|
698
|
-
status: p.status,
|
|
699
|
-
lastEventAt: ts,
|
|
700
|
-
updatedAt: p.updatedAt,
|
|
701
|
-
lastError: p.error,
|
|
702
|
-
// 失败一般也希望 stderr 有一条提示,方便 aside/面板直接展示
|
|
703
|
-
lastStderr: p.error ? `[failed] ${p.error}` : prev.lastStderr
|
|
704
|
-
}));
|
|
705
|
-
if (p.error) {
|
|
706
|
-
const key = this.keyOf(projectId);
|
|
707
|
-
if (!this.outputByKey.has(key))
|
|
708
|
-
this.outputByKey.set(key, new Subject());
|
|
709
|
-
this.outputByKey.get(key).next({
|
|
710
|
-
projectId,
|
|
711
|
-
sourceId,
|
|
712
|
-
stream: "stderr",
|
|
713
|
-
text: `[failed] ${p.error}
|
|
714
|
-
`,
|
|
715
|
-
status: p.status,
|
|
716
|
-
ts
|
|
717
|
-
});
|
|
718
|
-
}
|
|
719
|
-
return;
|
|
720
|
-
}
|
|
721
|
-
default:
|
|
722
|
-
return;
|
|
723
|
-
}
|
|
724
|
-
}
|
|
725
|
-
/** upsert by (projectId, sourceId) */
|
|
726
|
-
upsert(projectId, sourceId, patcher, preferIncoming = false) {
|
|
727
|
-
const $rt = this.ensureProjectRuntimesSubject(projectId);
|
|
728
|
-
const prevList = $rt.value ?? [];
|
|
729
|
-
const idx = prevList.findIndex((x) => x.projectId === projectId && x.sourceId === sourceId);
|
|
730
|
-
const base = idx >= 0 ? prevList[idx] : { projectId, sourceId };
|
|
731
|
-
const patched = patcher(base);
|
|
732
|
-
const nextOne = preferIncoming ? __spreadValues(__spreadValues({}, base), patched) : patched;
|
|
733
|
-
const next = prevList.slice();
|
|
734
|
-
if (idx >= 0)
|
|
735
|
-
next[idx] = nextOne;
|
|
736
|
-
else
|
|
737
|
-
next.unshift(nextOne);
|
|
738
|
-
$rt.next(next.slice(0, 200));
|
|
739
|
-
}
|
|
740
|
-
ensureProjectEventSubject(projectId) {
|
|
741
|
-
const id = String(projectId ?? "").trim();
|
|
742
|
-
if (!this.eventByProject.has(id))
|
|
743
|
-
this.eventByProject.set(id, new Subject());
|
|
744
|
-
return this.eventByProject.get(id);
|
|
745
|
-
}
|
|
746
|
-
ensureProjectRuntimesSubject(projectId) {
|
|
747
|
-
const id = String(projectId ?? "").trim();
|
|
748
|
-
if (!this.runtimesByProject.has(id))
|
|
749
|
-
this.runtimesByProject.set(id, new BehaviorSubject([]));
|
|
750
|
-
return this.runtimesByProject.get(id);
|
|
751
|
-
}
|
|
752
|
-
keyOf(projectId) {
|
|
753
|
-
return `svn:${projectId}`;
|
|
754
|
-
}
|
|
755
|
-
static ctorParameters = () => [
|
|
756
|
-
{ type: WsClientService }
|
|
757
|
-
];
|
|
758
|
-
};
|
|
759
|
-
SpriteStreamService = __decorate([
|
|
760
|
-
Injectable({ providedIn: "root" })
|
|
761
|
-
], SpriteStreamService);
|
|
762
|
-
|
|
763
|
-
// angular:jit:style:inline:src\app\pages\sprite\sprite-conf-modal.component.ts;CiAgICAuY29udGVudCB7CiAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDM2MHB4OwogICAgICBnYXA6IDE2cHg7CiAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICB9CgogICAgLm1haW4gewogICAgICBtaW4taGVpZ2h0OiA0MjBweDsKICAgIH0KCiAgICAuYWN0aW9ucyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGdhcDogOHB4OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICBtYXJnaW4tdG9wOiAxOHB4OwogICAgfQoKICAgIC5hc2lkZSB7CiAgICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICAgIHRvcDogMTZweDsKICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDsKICAgIH0KICAgIA==
|
|
764
|
-
var sprite_conf_modal_component_default = "/* angular:styles/component:less;125834e9b5936eb64ca24f787803d49e0490724ab814641d7bcb085c7ceaba3d;D:\\ng-manager\\webapp\\src\\app\\pages\\sprite\\sprite-conf-modal.component.ts */\n.content {\n display: grid;\n grid-template-columns: 1fr 360px;\n gap: 16px;\n margin-top: 16px;\n}\n.main {\n min-height: 420px;\n}\n.actions {\n display: flex;\n gap: 8px;\n justify-content: flex-end;\n margin-top: 18px;\n}\n.aside {\n position: sticky;\n top: 16px;\n height: fit-content;\n}\n/*# sourceMappingURL=sprite-conf-modal.component.css.map */\n";
|
|
765
|
-
|
|
766
|
-
// angular:jit:style:inline:src\app\pages\sprite\components\step-basic.component.ts;CiAgICAuaGludCB7IG1hcmdpbi10b3A6IDZweDsgZm9udC1zaXplOiAxMnB4OyBvcGFjaXR5OiAuNzsgfQogICAgLmVtaXQgeyBtYXJnaW4tdG9wOiA4cHg7IH0KICA=
|
|
767
|
-
var step_basic_component_default = "/* angular:styles/component:less;b7b62613d0435917e09e19b17aeff29a1d4ff7eee5edfd92a1ae057b0f1c85a0;D:\\ng-manager\\webapp\\src\\app\\pages\\sprite\\components\\step-basic.component.ts */\n.hint {\n margin-top: 6px;\n font-size: 12px;\n opacity: 0.7;\n}\n.emit {\n margin-top: 8px;\n}\n/*# sourceMappingURL=step-basic.component.css.map */\n";
|
|
768
|
-
|
|
769
|
-
// src/app/pages/sprite/components/step-basic.component.ts
|
|
770
|
-
var StepBasicComponent = class StepBasicComponent2 {
|
|
771
|
-
draft;
|
|
772
|
-
static propDecorators = {
|
|
773
|
-
draft: [{ type: Input, args: [{ required: true }] }]
|
|
774
|
-
};
|
|
775
|
-
};
|
|
776
|
-
StepBasicComponent = __decorate([
|
|
777
|
-
Component({
|
|
778
|
-
selector: "app-step-basic",
|
|
779
|
-
imports: [
|
|
780
|
-
CommonModule,
|
|
781
|
-
FormsModule,
|
|
782
|
-
NzFormModule,
|
|
783
|
-
NzInputModule,
|
|
784
|
-
NzButtonModule,
|
|
785
|
-
NzSelectModule,
|
|
786
|
-
NzSwitchModule,
|
|
787
|
-
NzCardModule,
|
|
788
|
-
NzTooltipModule,
|
|
789
|
-
NzIconModule
|
|
790
|
-
],
|
|
791
|
-
template: `
|
|
792
|
-
<nz-card nzTitle="\u57FA\u7840\u8BBE\u7F6E">
|
|
793
|
-
<form nz-form nzLayout="vertical">
|
|
794
|
-
<nz-form-item>
|
|
795
|
-
<nz-form-label nzRequired nzTooltipTitle="\u9879\u76EE\u7684\u539F\u5C3A\u5BF8\u56FE\u6807SVN\u5730\u5740\uFF0C\u7528\u4E8E\u5236\u4F5C\u9879\u76EE\u6240\u9700\u96EA\u78A7\u56FE" [nzTooltipIcon]="{ type: 'question-circle', theme: 'outline' }">\u539F\u5C3A\u5BF8\u56FE\u6807 SVN \u5730\u5740</nz-form-label>
|
|
796
|
-
<nz-form-control nzHasFeedback nzErrorTip="\u8BF7\u8F93\u5165\u539F\u5C3A\u5BF8\u56FE\u6807SVN\u5730\u5740">
|
|
797
|
-
<input nz-input [(ngModel)]="draft.iconSvnPath" required name="iconSvnPath" placeholder="\u8F93\u5165\u539F\u5C3A\u5BF8\u56FE\u6807SVN\u5730\u5740" />
|
|
798
|
-
</nz-form-control>
|
|
799
|
-
<div class="hint">\u793A\u4F8B\uFF1Asvn://192.168.1.10/\u9879\u76EE\u7BA1\u7406/xx\u9879\u76EE/02.\u9879\u76EE\u6587\u6863/05.\u7CFB\u7EDF\u8BBE\u8BA1/02-\u539F\u578B\u8BBE\u8BA1/02-UI\u8BBE\u8BA1\u6548\u679C\u56FE&\u5207\u56FE/3-\u539F\u5C3A\u5BF8\u56FE\u6807</div>
|
|
800
|
-
</nz-form-item>
|
|
801
|
-
|
|
802
|
-
<nz-form-item>
|
|
803
|
-
<nz-form-label nzTooltipTitle="\u9879\u76EE\u7684\u5176\u4ED6\u5207\u56FESVN\u5730\u5740\uFF0C\u65B9\u4FBF\u6D4F\u89C8\u548C\u67E5\u770B\u8BE6\u60C5" [nzTooltipIcon]="{ type: 'question-circle', theme: 'outline' }">\u5176\u4ED6\u5207\u56FE SVN \u5730\u5740</nz-form-label>
|
|
804
|
-
<nz-form-control>
|
|
805
|
-
<input nz-input [(ngModel)]="draft.otherImagesSvnPath" name="otherImagesSvnPath" placeholder="\u8F93\u5165\u5176\u4ED6\u5207\u56FE SVN \u5730\u5740"/>
|
|
806
|
-
</nz-form-control>
|
|
807
|
-
</nz-form-item>
|
|
808
|
-
|
|
809
|
-
<nz-form-item>
|
|
810
|
-
<nz-form-label nzRequired nzTooltipTitle="\u7528\u4E8E\u5B58\u653E\u4ECESVN\u62C9\u53D6\u7684\u539F\u5C3A\u5BF8\u56FE\u6807\u548C\u5176\u4ED6\u5207\u56FE\u7B49\u8D44\u6E90\u6587\u4EF6\uFF0C\u4F9B\u540E\u7EED\u96EA\u78A7\u56FE\u5236\u4F5C\u4F7F\u7528">SVN\u8D44\u6E90\u76EE\u5F55</nz-form-label>
|
|
811
|
-
<nz-form-control nzHasFeedback nzErrorTip="\u8BF7\u8F93\u5165\u5B58\u653ESVN\u8D44\u6E90\u76EE\u5F55">
|
|
812
|
-
<input nz-input required [(ngModel)]="draft.localDir" name="localDir" placeholder="\u8F93\u5165SVN\u8D44\u6E90\u672C\u5730\u5B58\u653E\u76EE\u5F55" />
|
|
813
|
-
</nz-form-control>
|
|
814
|
-
</nz-form-item>
|
|
815
|
-
<nz-form-item>
|
|
816
|
-
<nz-form-label nzRequired nzTooltipTitle="\u7528\u4E8E\u5B58\u653E\u751F\u6210\u7684\u96EA\u78A7\u56FE\u6587\u4EF6">\u96EA\u78A7\u56FE\u5BFC\u51FA\u76EE\u5F55</nz-form-label>
|
|
817
|
-
<nz-form-control nzHasFeedback nzErrorTip="\u8BF7\u8F93\u5165\u5B58\u653E\u96EA\u78A7\u56FE\u7684\u5BFC\u51FA\u76EE\u5F55">
|
|
818
|
-
<input nz-input required [(ngModel)]="draft.spriteExportDir" name="spriteExportDir" placeholder="\u8F93\u5165\u96EA\u78A7\u56FE\u5BFC\u51FA\u76EE\u5F55" />
|
|
819
|
-
</nz-form-control>
|
|
820
|
-
<div class="hint">
|
|
821
|
-
\u793A\u4F8B\uFF1A\u524D\u7AEF\u9879\u76EE\u4E2D\u516C\u5171\u8D44\u6E90\u76EE\u5F55\u4E00\u822C\u4E3A assets \u6216 public\uFF0C\u5EFA\u8BAE\u8BBE\u7F6E\u4E3A 'assets/icons' \u6216 'public/icons'
|
|
822
|
-
</div>
|
|
823
|
-
</nz-form-item>
|
|
824
|
-
<nz-form-item>
|
|
825
|
-
<nz-form-label nzRequired nzTooltipTitle="\u7528\u4E8E\u5B58\u653E\u751F\u6210\u7684Less\u6587\u4EF6">Less \u5BFC\u51FA\u76EE\u5F55</nz-form-label>
|
|
826
|
-
<nz-form-control nzHasFeedback nzErrorTip="\u8BF7\u8F93\u5165\u5B58\u653ELess\u6587\u4EF6\u7684\u5BFC\u51FA\u76EE\u5F55">
|
|
827
|
-
<input nz-input required [(ngModel)]="draft.lessExportDir" name="lessExportDir" placeholder="\u8F93\u5165Less\u5BFC\u51FA\u76EE\u5F55" />
|
|
828
|
-
</nz-form-control>
|
|
829
|
-
<div class="hint">
|
|
830
|
-
\u793A\u4F8B\uFF1A\u524D\u7AEF\u9879\u76EE\u4E2D\u6837\u5F0F\u6587\u4EF6\u76EE\u5F55\u4E00\u822C\u4E3A '/src/styles'\uFF0C\u5EFA\u8BAE\u8BBE\u7F6E\u4E3A '/src/styles/icons'
|
|
831
|
-
</div>
|
|
832
|
-
</nz-form-item>
|
|
833
|
-
</form>
|
|
834
|
-
</nz-card>
|
|
835
|
-
`,
|
|
836
|
-
styles: [step_basic_component_default]
|
|
837
|
-
})
|
|
838
|
-
], StepBasicComponent);
|
|
839
|
-
|
|
840
|
-
// angular:jit:style:inline:src\app\pages\sprite\components\step-advance.component.ts;CiAgICAuaGludCB7IG1hcmdpbi10b3A6IDZweDsgZm9udC1zaXplOiAxMnB4OyBvcGFjaXR5OiAuNzsgfQogICAgLmVtaXQgeyBtYXJnaW4tdG9wOiA4cHg7IH0KICA=
|
|
841
|
-
var step_advance_component_default = "/* angular:styles/component:less;b7b62613d0435917e09e19b17aeff29a1d4ff7eee5edfd92a1ae057b0f1c85a0;D:\\ng-manager\\webapp\\src\\app\\pages\\sprite\\components\\step-advance.component.ts */\n.hint {\n margin-top: 6px;\n font-size: 12px;\n opacity: 0.7;\n}\n.emit {\n margin-top: 8px;\n}\n/*# sourceMappingURL=step-advance.component.css.map */\n";
|
|
842
|
-
|
|
843
|
-
// src/app/pages/sprite/components/step-advance.component.ts
|
|
844
|
-
var StepAdvanceComponent = class StepAdvanceComponent2 {
|
|
845
|
-
draft;
|
|
846
|
-
spriteUrlHint = `\u9879\u76EE\u4E2D\u5B9E\u9645\u96EA\u78A7\u56FE\u8DEF\u5F84\uFF0C\u9ED8\u8BA4\uFF1A/assets/icons/{group}.png\uFF0C\u5982\uFF1A/assets/icons/16-16.png\u3002\u652F\u6301\u5360\u4F4D\u7B26\uFF1A {group} \u5206\u7EC4\u540D\uFF08\u5982 16-16\uFF09\uFF0C {size} \u5C3A\u5BF8\u524D\u7F00\uFF08\u5982 16\uFF09\u3002`;
|
|
847
|
-
templatePlaceholder = `\u8F93\u5165\u590D\u5236\u6A21\u677F,\u9ED8\u8BA4\uFF1A<i class="{base} {class}"></i>`;
|
|
848
|
-
templateHint = `\u5B9E\u9645\u590D\u5236\u7684\u6587\u672C\uFF0C\u9ED8\u8BA4\uFF1A<i class="{base} {class}"></i>\uFF0C\u5982\uFF1A<i class="sl-16 sl-16-1"></i>\u3002\u652F\u6301\u5360\u4F4D\u7B26\uFF1A{base} \u57FA\u7C7B\u540D\uFF0C{class} CSS \u7C7B\u540D\uFF1B{name} \u56FE\u6807\u540D\u79F0\uFF1B\u652F\u6301\u4F7F\u7528\u81EA\u5B9A\u4E49\u7EC4\u4EF6\uFF0C\u5982\u5C0F\u7A0B\u5E8F\u4E2D\u7528\u6CD5\uFF1A<SlIcon name="16-16-1" size="16" />\uFF0C\u5219\u6A21\u677F\u4E3A\uFF1A<SlIcon name="{name}" size="{size}"/>\u3002`;
|
|
849
|
-
static propDecorators = {
|
|
850
|
-
draft: [{ type: Input, args: [{ required: true }] }]
|
|
851
|
-
};
|
|
852
|
-
};
|
|
853
|
-
StepAdvanceComponent = __decorate([
|
|
854
|
-
Component({
|
|
855
|
-
selector: "app-step-advance",
|
|
856
|
-
imports: [
|
|
857
|
-
CommonModule,
|
|
858
|
-
FormsModule,
|
|
859
|
-
NzFormModule,
|
|
860
|
-
NzInputModule,
|
|
861
|
-
NzButtonModule,
|
|
862
|
-
NzSelectModule,
|
|
863
|
-
NzSwitchModule,
|
|
864
|
-
NzCardModule,
|
|
865
|
-
NzTooltipModule,
|
|
866
|
-
NzIconModule
|
|
867
|
-
],
|
|
868
|
-
template: `
|
|
869
|
-
<nz-card nzTitle="\u9AD8\u7EA7\u8BBE\u7F6E">
|
|
870
|
-
<form nz-form nzLayout="vertical">
|
|
871
|
-
<nz-form-item>
|
|
872
|
-
<nz-form-label>CSS \u524D\u7F00</nz-form-label>
|
|
873
|
-
<nz-form-control>
|
|
874
|
-
<input nz-input [(ngModel)]="draft.cssPrefix" name="cssPrefix" placeholder="\u8F93\u5165 CSS \u524D\u7F00\uFF0C\u9ED8\u8BA4\uFF1Asl" />
|
|
875
|
-
<div class="hint">
|
|
876
|
-
\u53EF\u9009\uFF0C\u9ED8\u8BA4\u4E3A sl\u3002\u751F\u6210\u7684 CSS \u7C7B\u540D\u5C06\u4EE5\u8BE5\u524D\u7F00\u5F00\u5934\uFF0C\u5982\uFF1Asl-16-1\u3002
|
|
877
|
-
</div>
|
|
878
|
-
</nz-form-control>
|
|
879
|
-
</nz-form-item>
|
|
880
|
-
<nz-form-item>
|
|
881
|
-
<nz-form-label>\u96EA\u78A7\u56FE URL</nz-form-label>
|
|
882
|
-
<nz-form-control>
|
|
883
|
-
<input nz-input [(ngModel)]="draft.spriteUrl" name="spriteUrl" placeholder="\u8F93\u5165\u96EA\u78A7\u56FE URL\uFF0C\u9ED8\u8BA4\uFF1A/assets/icons/{group}.png"/>
|
|
884
|
-
<div class="hint">
|
|
885
|
-
{{spriteUrlHint}}
|
|
886
|
-
</div>
|
|
887
|
-
</nz-form-control>
|
|
888
|
-
</nz-form-item>
|
|
889
|
-
<nz-form-item>
|
|
890
|
-
<nz-form-label>\u590D\u5236\u6A21\u677F</nz-form-label>
|
|
891
|
-
<nz-form-control>
|
|
892
|
-
<textarea nz-input [(ngModel)]="draft.template" name="template" placeholder="{{templatePlaceholder}}" rows="3" style="resize:none;"></textarea>
|
|
893
|
-
<div class="hint">
|
|
894
|
-
{{templateHint}}
|
|
895
|
-
</div>
|
|
896
|
-
</nz-form-control>
|
|
897
|
-
</nz-form-item>
|
|
898
|
-
</form>
|
|
899
|
-
</nz-card>
|
|
900
|
-
`,
|
|
901
|
-
styles: [step_advance_component_default]
|
|
902
|
-
})
|
|
903
|
-
], StepAdvanceComponent);
|
|
904
|
-
|
|
905
|
-
// angular:jit:style:inline:src\app\pages\sprite\components\step-summary-aside.component.ts;CiAgICAuaXRlbSB7IGRpc3BsYXk6ZmxleDsganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47IGdhcDogMTBweDsgcGFkZGluZzogNnB4IDA7YWxpZ24taXRlbXM6IGNlbnRlcjsgfQogICAgLmsgeyBvcGFjaXR5OiAuNzsgd2lkdGg6IDkwcHg7Zm9udC1zaXplOiAxNHB4OyB9CiAgICAudiB7IHRleHQtYWxpZ246IHJpZ2h0OyBmbGV4OiAxO292ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9CiAgICAubW9ubyB7IGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgIkxpYmVyYXRpb24gTW9ubyIsIG1vbm9zcGFjZTsgd29yZC1icmVhazogYnJlYWstYWxsOyB9CiAgICAuc2VwIHsgaGVpZ2h0OiAxcHg7IGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjA2KTsgbWFyZ2luOiAxMHB4IDA7IH0KICAgIC50YWcgeyBtYXJnaW4tdG9wOiA4cHg7IHRleHQtYWxpZ246IHJpZ2h0OyB9CiAgICAud2FybiB7IG1hcmdpbi10b3A6IDEwcHg7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6ICNkNDZiMDg7IH0KICA=
|
|
906
|
-
var step_summary_aside_component_default = '/* angular:styles/component:less;b9ffde9aa18883857097dda339cdf9d1c94b1bdcae063459df7d83fbab96d96c;D:\\ng-manager\\webapp\\src\\app\\pages\\sprite\\components\\step-summary-aside.component.ts */\n.item {\n display: flex;\n justify-content: space-between;\n gap: 10px;\n padding: 6px 0;\n align-items: center;\n}\n.k {\n opacity: 0.7;\n width: 90px;\n font-size: 14px;\n}\n.v {\n text-align: right;\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.mono {\n font-family:\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n "Liberation Mono",\n monospace;\n word-break: break-all;\n}\n.sep {\n height: 1px;\n background: rgba(0, 0, 0, 0.06);\n margin: 10px 0;\n}\n.tag {\n margin-top: 8px;\n text-align: right;\n}\n.warn {\n margin-top: 10px;\n font-size: 12px;\n color: #d46b08;\n}\n/*# sourceMappingURL=step-summary-aside.component.css.map */\n';
|
|
907
|
-
|
|
908
|
-
// src/app/pages/sprite/components/step-summary-aside.component.ts
|
|
909
|
-
var StepSummaryAsideComponent = class StepSummaryAsideComponent2 {
|
|
910
|
-
draft;
|
|
911
|
-
static propDecorators = {
|
|
912
|
-
draft: [{ type: Input, args: [{ required: true }] }]
|
|
913
|
-
};
|
|
914
|
-
};
|
|
915
|
-
StepSummaryAsideComponent = __decorate([
|
|
916
|
-
Component({
|
|
917
|
-
selector: "app-step-summary-aside",
|
|
918
|
-
imports: [CommonModule, NzCardModule, NzTagModule, NzTooltipModule, NzIconModule, NzButtonModule, NzDrawerModule],
|
|
919
|
-
template: `
|
|
920
|
-
<nz-card nzTitle="\u6458\u8981" nzSize="small">
|
|
921
|
-
<div class="item"><span class="k">\u9879\u76EE\u540D\u79F0</span><span class="v">{{draft.name || '-'}}</span></div>
|
|
922
|
-
<div class="item"><span class="k">\u539F\u5C3A\u5BF8\u56FE\u6807</span><span class="v mono" [nz-tooltip]="draft.iconSvnPath">{{draft.iconSvnPath || '-'}}</span></div>
|
|
923
|
-
<div class="item"><span class="k">\u5176\u4ED6\u5207\u56FE</span><span class="v" [nz-tooltip]="draft.otherImagesSvnPath">{{draft.otherImagesSvnPath || '-'}}</span></div>
|
|
924
|
-
<div class="sep"></div>
|
|
925
|
-
<div class="item"><span class="k">\u672C\u5730\u76EE\u5F55</span><span class="v" [nz-tooltip]="draft.localDir">{{draft.localDir || '-'}}</span></div>
|
|
926
|
-
<div class="item"><span class="k">\u96EA\u78A7\u56FE\u5BFC\u51FA</span><span class="v" [nz-tooltip]="draft.spriteExportDir">{{draft.spriteExportDir ?? '-'}}</span></div>
|
|
927
|
-
<div class="item"><span class="k">Less \u5BFC\u51FA\u76EE\u5F55</span><span class="v" [nz-tooltip]="draft.lessExportDir">{{draft.lessExportDir ?? '-'}}</span></div>
|
|
928
|
-
<div class="sep"></div>
|
|
929
|
-
<div class="item"><span class="k">CSS\u524D\u7F00</span><span class="v">{{draft.cssPrefix ?? '-'}}</span></div>
|
|
930
|
-
<div class="item"><span class="k">\u96EA\u78A7\u56FE URL</span><span class="v">{{draft.spriteUrl ?? '-'}}</span></div>
|
|
931
|
-
<div class="item"><span class="k">\u590D\u5236\u6A21\u677F</span><span class="v">{{draft.template ?? '-'}}</span></div>
|
|
932
|
-
|
|
933
|
-
</nz-card>
|
|
934
|
-
`,
|
|
935
|
-
styles: [step_summary_aside_component_default]
|
|
936
|
-
})
|
|
937
|
-
], StepSummaryAsideComponent);
|
|
938
|
-
|
|
939
|
-
// angular:jit:style:inline:src\app\pages\sprite\components\sprite-icons-panel-component.ts;CiAgICAud3JhcHsgaGVpZ2h0OjEwMCU7IG1pbi1oZWlnaHQ6MDsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IGdhcDoxMnB4OyB9CiAgICAuYmFyeyBkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjsganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47IGdhcDoxMnB4OyB9CiAgICAubGVmdHsgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7IGdhcDoxMHB4OyBtaW4td2lkdGg6MDsgfQogICAgLmxhYmVseyBvcGFjaXR5Oi44OyB9CiAgICAuaGludHsgb3BhY2l0eTouNzU7IG1heC13aWR0aDo1MjBweDsgb3ZlcmZsb3c6aGlkZGVuOyB0ZXh0LW92ZXJmbG93OmVsbGlwc2lzOyB3aGl0ZS1zcGFjZTpub3dyYXA7IH0KICAgIC5va3sgY29sb3I6IzUyYzQxYTsgfQoKICAgIC5ncmlkewogICAgICBmbGV4OjEgMSBhdXRvOwogICAgICBtaW4taGVpZ2h0OjA7CiAgICAgIGRpc3BsYXk6Z3JpZDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMmZyKSBtaW5tYXgoMCwgMS4yZnIpOwogICAgICBnYXA6IDEycHg7CiAgICB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KXsgLmdyaWR7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH0KCiAgICAucGFuZWx7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTUsIDIzLCA0MiwgLjEyKTsKICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgICAgbWluLWhlaWdodDowOwogICAgICBkaXNwbGF5OmZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsKICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDIpOwogICAgfQogICAgLnBhbmVsLWhlYWRlcnsKICAgICAgZGlzcGxheTpmbGV4OwogICAgICBhbGlnbi1pdGVtczpjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOwogICAgICBwYWRkaW5nOjEycHggMTJweDsKICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTUsIDIzLCA0MiwgLjEyKTsKICAgIH0KICAgIC5wYW5lbC10aXRsZXsgCiAgICAgICAgZGlzcGxheTpmbGV4OwogICAgICAgICYuY29sdW1ueyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47ICB9CiAgICAgICAgLnRleHR7IGZvbnQtc2l6ZToxNHB4OyBmb250LXdlaWdodDo1MDA7IH0KICAgICAgICAuc3ViLXRleHR7IGZvbnQtc2l6ZToxMnB4OyBvcGFjaXR5Oi43NTsgfQogICAgIH0KICAgICAuc2VhcmNoeyB3aWR0aDoyNDBweDsgfQoKICAgIC5pY29uLWdyaWR7CiAgICAgIGRpc3BsYXk6Z3JpZDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTYwcHgsIDFmcikpOwogICAgICBnYXA6IDEwcHg7CiAgICAgIG92ZXJmbG93OmF1dG87CiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDsKICAgICAgcGFkZGluZzoxMnB4OwogICAgfQogICAgLmljb24tY2FyZHsKICAgICAgY3Vyc29yOnBvaW50ZXI7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA2KTsKICAgICAgYm9yZGVyLXJhZGl1czogMTRweDsKICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuNSk7CiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMDhzIGVhc2UsIGJvcmRlci1jb2xvciAuMDhzIGVhc2U7CiAgICAgIHVzZXItc2VsZWN0Om5vbmU7CiAgICAgIGNvbG9yOiAjZmZmOwogICAgICBkaXNwbGF5OmZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOmNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICB9CiAgICAuaWNvbi1jYXJkOmhvdmVyeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuOSk7IH0KICAgIC50aHVtYnsKICAgICAgZGlzcGxheTpmbGV4OwogICAgICBhbGlnbi1pdGVtczpjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7CiAgICB9CiAgICAudGh1bWIgaW1newogICAgICBtaW4td2lkdGg6MzJweDsKICAgICAgbWluLWhlaWdodDozMnB4OwogICAgfQogICAgLm1ldGEgLm5hbWV7IGZvbnQtc2l6ZToxMnB4OyBvcGFjaXR5Oi45OyB9CiAgICAubWV0YSAuY2xzeyBmb250LXNpemU6MTJweDsgb3BhY2l0eTouNjU7IH0KICAgIC5tZXRhIHsKICAgICAgcG9zaXRpb246cmVsYXRpdmU7CiAgICB9CiAgICAubWV0YSBuei1iYWRnZXsKICAgICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICAgIHRvcDotMTJweDsKICAgICAgcmlnaHQ6MDsKICAgIH0KICAgIC5zcHJpdGUtY29udGVudHsKICAgICAgcGFkZGluZzogMTZweCAxNnB4IDAgMTZweDsKICAgIH0KICAgIC5jc3MtY29udGVudHsKICAgICAgcGFkZGluZzoxMnB4OwogICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICBmbGV4OjEgMSBhdXRvOwogICAgICBvdmVyZmxvdzpoaWRkZW47CiAgICB9CiAg
|
|
940
|
-
var sprite_icons_panel_component_default = "/* angular:styles/component:less;c424390f4eb7d036a785308cf1e8016be36a23ef2d28b39a4b98d4537811f199;D:\\ng-manager\\webapp\\src\\app\\pages\\sprite\\components\\sprite-icons-panel-component.ts */\n.wrap {\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.bar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n}\n.left {\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n}\n.label {\n opacity: 0.8;\n}\n.hint {\n opacity: 0.75;\n max-width: 520px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ok {\n color: #52c41a;\n}\n.grid {\n flex: 1 1 auto;\n min-height: 0;\n display: grid;\n grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr);\n gap: 12px;\n}\n@media (max-width: 1100px) {\n .grid {\n grid-template-columns: 1fr;\n }\n}\n.panel {\n border: 1px solid rgba(15, 23, 42, 0.12);\n border-radius: 20px;\n min-height: 0;\n display: flex;\n flex-direction: column;\n background: rgba(255, 255, 255, 0.02);\n}\n.panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 12px;\n border-bottom: 1px solid rgba(15, 23, 42, 0.12);\n}\n.panel-title {\n display: flex;\n}\n.panel-title.column {\n flex-direction: column;\n}\n.panel-title .text {\n font-size: 14px;\n font-weight: 500;\n}\n.panel-title .sub-text {\n font-size: 12px;\n opacity: 0.75;\n}\n.search {\n width: 240px;\n}\n.icon-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));\n gap: 10px;\n overflow: auto;\n padding-right: 4px;\n padding: 12px;\n}\n.icon-card {\n cursor: pointer;\n border: 1px solid rgba(255, 255, 255, 0.06);\n border-radius: 14px;\n background: rgba(0, 0, 0, 0.5);\n transition: transform 0.08s ease, border-color 0.08s ease;\n -webkit-user-select: none;\n user-select: none;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n}\n.icon-card:hover {\n transform: translateY(-1px);\n border-color: rgba(255, 255, 255, 0.9);\n}\n.thumb {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.thumb img {\n min-width: 32px;\n min-height: 32px;\n}\n.meta .name {\n font-size: 12px;\n opacity: 0.9;\n}\n.meta .cls {\n font-size: 12px;\n opacity: 0.65;\n}\n.meta {\n position: relative;\n}\n.meta nz-badge {\n position: absolute;\n top: -12px;\n right: 0;\n}\n.sprite-content {\n padding: 16px 16px 0 16px;\n}\n.css-content {\n padding: 12px;\n line-height: 1.5;\n flex: 1 1 auto;\n overflow: hidden;\n}\n/*# sourceMappingURL=sprite-icons-panel-component.css.map */\n";
|
|
941
|
-
|
|
942
|
-
// angular:jit:style:inline:src\app\pages\sprite\components\less-viewport-component.ts;CiAgICAgIDpob3N0ewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgICAvKiDlvq7lvLHlmarngrkgKyDmuJDlj5jog4zmma8gKi8KICAgICAgLmJnLWZ4IHsKICAgICAgICAgIGJhY2tncm91bmQ6CiAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KDEyMDBweCA2NTBweCBhdCAyMCUgMTAlLCByZ2JhKDM0LCAyMTEsIDIzOCwgLjE0KSwgdHJhbnNwYXJlbnQgNTUlKSwKICAgICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoOTAwcHggNTIwcHggYXQgODAlIDM1JSwgcmdiYSgxMjQsIDU4LCAyMzcsIC4xNiksIHRyYW5zcGFyZW50IDU1JSksCiAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KDkwMHB4IDUyMHB4IGF0IDQwJSA5MCUsIHJnYmEoNTIsIDIxMSwgMTUzLCAuMTApLCB0cmFuc3BhcmVudCA1NSUpLAogICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwNTA4MTYgMCUsICMwNzBCMTggNDAlLCAjMDUwODE2IDEwMCUpOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CiAgICAgIC52aWV3LWNhcmR7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNSwgMjMsIDQyLCAwLjEyKTsKICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgIGRpc3BsYXk6ZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CgogICAgICB9CiAgICAgIC52aWV3LWhlYWRlcnsKICAgICAgICBwYWRkaW5nOjhweCAxMnB4OwogICAgICAgIGRpc3BsYXk6ZmxleDsKICAgICAgICBhbGlnbi1pdGVtczpjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47CiAgICAgICAgZmxleDogMCAwIGF1dG87CiAgICAgICAgLnRleHR7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjg1KTsKICAgICAgICB9CiAgICAgICAgLmFjdGlvbnN7CiAgICAgICAgICBkaXNwbGF5OmZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczpjZW50ZXI7CiAgICAgICAgICBnYXA6OHB4OwogICAgICAgICAgYnV0dG9uW256LWJ1dHRvbl17CiAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjg1KTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICB9CiAgICAgIC52aWV3cG9ydHsKICAgICAgICBmbGV4OjEgMSBhdXRvOwogICAgICAgIG1pbi1oZWlnaHQ6MDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDUsIDgsIDIxKTsKICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KICAgIA==
|
|
943
|
-
var less_viewport_component_default = "/* angular:styles/component:less;eb9450ccb5878613586334d2156dfbb450da3ff7a9a080e1df710f4935e5d83d;D:\\ng-manager\\webapp\\src\\app\\pages\\sprite\\components\\less-viewport-component.ts */\n:host {\n display: block;\n height: 100%;\n}\n.bg-fx {\n background:\n radial-gradient(\n 1200px 650px at 20% 10%,\n rgba(34, 211, 238, 0.14),\n transparent 55%),\n radial-gradient(\n 900px 520px at 80% 35%,\n rgba(124, 58, 237, 0.16),\n transparent 55%),\n radial-gradient(\n 900px 520px at 40% 90%,\n rgba(52, 211, 153, 0.1),\n transparent 55%),\n linear-gradient(\n 180deg,\n #050816 0%,\n #070B18 40%,\n #050816 100%);\n position: relative;\n}\n.view-card {\n border: 1px solid rgba(15, 23, 42, 0.12);\n position: relative;\n border-radius: 12px;\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n}\n.view-header {\n padding: 8px 12px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex: 0 0 auto;\n}\n.view-header .text {\n font-size: 14px;\n font-weight: 500;\n color: rgba(255, 255, 255, 0.85);\n}\n.view-header .actions {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.view-header .actions button[nz-button] {\n color: rgba(255, 255, 255, 0.85);\n}\n.viewport {\n flex: 1 1 auto;\n min-height: 0;\n cursor: default;\n background-color: #050815;\n position: relative;\n color: #fff;\n padding-left: 12px;\n overflow-x: hidden;\n overflow-y: auto;\n}\n/*# sourceMappingURL=less-viewport-component.css.map */\n";
|
|
944
|
-
|
|
945
|
-
// src/app/pages/sprite/components/less-viewport-component.ts
|
|
946
|
-
var LessViewportComponent = class LessViewportComponent2 {
|
|
947
|
-
cssText = "";
|
|
948
|
-
clipboard = inject(Clipboard);
|
|
949
|
-
msg = inject(NzMessageService);
|
|
950
|
-
async copyCss() {
|
|
951
|
-
const t = this.cssText;
|
|
952
|
-
if (!t)
|
|
953
|
-
return;
|
|
954
|
-
this.clipboard.copy(t);
|
|
955
|
-
this.msg.success("\u5DF2\u590D\u5236\u6837\u5F0F");
|
|
956
|
-
}
|
|
957
|
-
static propDecorators = {
|
|
958
|
-
cssText: [{ type: Input }]
|
|
959
|
-
};
|
|
960
|
-
};
|
|
961
|
-
LessViewportComponent = __decorate([
|
|
962
|
-
Component({
|
|
963
|
-
selector: "app-less-viewport",
|
|
964
|
-
imports: [
|
|
965
|
-
CommonModule,
|
|
966
|
-
NzCheckboxModule,
|
|
967
|
-
FormsModule,
|
|
968
|
-
NzSpaceModule,
|
|
969
|
-
NzButtonModule,
|
|
970
|
-
NzIconModule,
|
|
971
|
-
ClipboardModule,
|
|
972
|
-
NzTooltipModule
|
|
973
|
-
],
|
|
974
|
-
template: `
|
|
975
|
-
<div class="view-card bg-fx">
|
|
976
|
-
<div class="view-header">
|
|
977
|
-
<div class="text">\u6837\u5F0F\u4EE3\u7801</div>
|
|
978
|
-
<div class="actions">
|
|
979
|
-
<button nz-button nzType="text" (click)="copyCss()" [disabled]="!cssText" nz-tooltip="\u590D\u5236\u6837\u5F0F">
|
|
980
|
-
<nz-icon nzType="copy"></nz-icon>
|
|
981
|
-
</button>
|
|
982
|
-
</div>
|
|
983
|
-
</div>
|
|
984
|
-
<div class="viewport">
|
|
985
|
-
<pre><code>{{cssText}}</code></pre>
|
|
986
|
-
</div>
|
|
987
|
-
</div>
|
|
988
|
-
`,
|
|
989
|
-
styles: [less_viewport_component_default]
|
|
990
|
-
})
|
|
991
|
-
], LessViewportComponent);
|
|
992
|
-
|
|
993
|
-
// angular:jit:style:inline:src\app\pages\sprite\components\sprite-viewport-component.ts;CiAgICAgIC52aWV3LWNhcmR7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNSwgMjMsIDQyLCAwLjEyKTsKICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KICAgICAgLnZpZXctaGVhZGVyewogICAgICAgIHBhZGRpbmc6OHB4IDEycHg7CiAgICAgICAgZGlzcGxheTpmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOmNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjsKICAgICAgICAudGlwewogICAgICAgICAgZGlzcGxheTppbmxpbmUtZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOmNlbnRlcjsKICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgfQogICAgICAgIGxhYmVsewogICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsKICAgICAgICB9CiAgICAgIH0KICAgICAgLnZpZXdwb3J0ewogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBtaW4taGVpZ2h0OiAzNjBweDsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNSwgOCwgMjEpOwogICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgJi5ncmlkLWZ4ewogICAgICAgIGJhY2tncm91bmQtaW1hZ2U6CiAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgxNDgsIDE2MywgMTg0LCAuMDYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwKICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgxNDgsIDE2MywgMTg0LCAuMDYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsKICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI4cHggMjhweDsKICAgICAgICB9CiAgICAgIH0KICAgICAgLyog5b6u5byx5Zmq54K5ICsg5riQ5Y+Y6IOM5pmvICovCiAgICAgIC5iZy1meCB7CiAgICAgICAgICBiYWNrZ3JvdW5kOgogICAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudCgxMjAwcHggNjUwcHggYXQgMjAlIDEwJSwgcmdiYSgzNCwgMjExLCAyMzgsIC4xNCksIHRyYW5zcGFyZW50IDU1JSksCiAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KDkwMHB4IDUyMHB4IGF0IDgwJSAzNSUsIHJnYmEoMTI0LCA1OCwgMjM3LCAuMTYpLCB0cmFuc3BhcmVudCA1NSUpLAogICAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudCg5MDBweCA1MjBweCBhdCA0MCUgOTAlLCByZ2JhKDUyLCAyMTEsIDE1MywgLjEwKSwgdHJhbnNwYXJlbnQgNTUlKSwKICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMDUwODE2IDAlLCAjMDcwQjE4IDQwJSwgIzA1MDgxNiAxMDAlKTsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQogICAgICAuYmctZng6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAiIjsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3BhY2l0eTogLjEwOwogICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNjAnIGhlaWdodD0nMTYwJyUzRSUzQ2ZpbHRlciBpZD0nbiclM0UlM0NmZVR1cmJ1bGVuY2UgdHlwZT0nZnJhY3RhbE5vaXNlJyBiYXNlRnJlcXVlbmN5PScuOCcgbnVtT2N0YXZlcz0nMycgc3RpdGNoVGlsZXM9J3N0aXRjaCcvJTNFJTNDL2ZpbHRlciUzRSUzQ3JlY3Qgd2lkdGg9JzE2MCcgaGVpZ2h0PScxNjAnIGZpbHRlcj0ndXJsKCUyM24pJyBvcGFjaXR5PScuMzUnLyUzRSUzQy9zdmclM0UiKTsKICAgICAgICBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTsKICAgICAgfQogICAgICAuc3ByaXRlewogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMDIpOwogICAgICAgIHRvcDoyNHB4OwogICAgICAgIGxlZnQ6MjRweDsKICAgICAgICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwOwogICAgICAgIC0tdHctc2hhZG93OiAwIDAgMCAxcHggcmdiYSgzNCwgMjExLCAyMzgsIC4xNCksIDAgMjRweCA4MHB4IHJnYmEoMCwgMCwgMCwgLjU1KTsKICAgICAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgMCAxcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCAyNHB4IDgwcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTsKICAgICAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpOwogICAgICB9CiAgICAgIC5hYnN7CiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICAgIH0KICAgICAgLmluc2V0LTB7CiAgICAgICAgbGVmdDowOwogICAgICAgIHRvcDowOwogICAgICAgIHJpZ2h0OjA7CiAgICAgICAgYm90dG9tOjA7CiAgICAgIH0KICAgICAgLmFiczJ7CiAgICAgICAgYm9yZGVyLXJhZGl1czoxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMzQsIDIxMSwgMjM4LCAuMDgpLCByZ2JhKDEyNCwgNTgsIDIzNywgLjEwKSk7CiAgICAgIH0KICAgICAgLnRyYW5zaXRpb24gewogICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIHN0cm9rZSwgb3BhY2l0eSwgYm94LXNoYWRvdywgdHJhbnNmb3JtLCBmaWx0ZXIsIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjsKICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIGZpbGwsIHN0cm9rZSwgb3BhY2l0eSwgYm94LXNoYWRvdywgdHJhbnNmb3JtLCBmaWx0ZXIsIGJhY2tkcm9wLWZpbHRlcjsKICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIGZpbGwsIHN0cm9rZSwgb3BhY2l0eSwgYm94LXNoYWRvdywgdHJhbnNmb3JtLCBmaWx0ZXIsIGJhY2tkcm9wLWZpbHRlciwgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tY29sb3IsIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOwogICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zOwogICAgICB9CiAgICAgIC5ib3gtaXRlbXsKICAgICAgICBib3JkZXItd2lkdGg6IDFweDsKICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOwogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpOwogICAgICAgICY6aG92ZXJ7CiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTI0LCA1OCwgMjM3LCAuNDApOwogICAgICAgIH0KICAgICAgICAmLmFjdGl2ZXsKICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgzNCwyMTEsMjM4LC43MCk7CiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgzNCwyMTEsMjM4LC4yNSksIDAgMCAyOHB4IHJnYmEoMzQsMjExLDIzOCwuMTgpOwogICAgICAgIH0KICAgICAgfQogICAgICAudG9vbHRpcHsKICAgICAgICBwb2ludGVyLWV2ZW50czpub25lOwogICAgICAgIHotaW5kZXg6MTA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJvcmRlcjoxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAuMTQpOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTgsIDI4LCA1MiwgMC43KTsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgzNCwgMjExLCAyMzgsIC4yNSksIDAgMTBweCAzMHB4IHJnYmEoMTI0LCA1OCwgMjM3LCAuMTgpOwogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgICYuaGlkZGVuewogICAgICAgICAgZGlzcGxheTpub25lOwogICAgICAgIH0KICAgICAgfQogICAg
|
|
994
|
-
var sprite_viewport_component_default = `/* angular:styles/component:less;991b632b353fdd67d564e85381720016a1fd0d5205f64b4bc87eeaee09e28352;D:\\ng-manager\\webapp\\src\\app\\pages\\sprite\\components\\sprite-viewport-component.ts */
|
|
995
|
-
.view-card {
|
|
996
|
-
border: 1px solid rgba(15, 23, 42, 0.12);
|
|
997
|
-
position: relative;
|
|
998
|
-
border-radius: 12px;
|
|
999
|
-
overflow: hidden;
|
|
1000
|
-
}
|
|
1001
|
-
.view-header {
|
|
1002
|
-
padding: 8px 12px;
|
|
1003
|
-
display: flex;
|
|
1004
|
-
align-items: center;
|
|
1005
|
-
justify-content: space-between;
|
|
1006
|
-
}
|
|
1007
|
-
.view-header .tip {
|
|
1008
|
-
display: inline-flex;
|
|
1009
|
-
align-items: center;
|
|
1010
|
-
color: rgba(255, 255, 255, 0.8);
|
|
1011
|
-
font-size: 12px;
|
|
1012
|
-
}
|
|
1013
|
-
.view-header label {
|
|
1014
|
-
color: rgba(255, 255, 255, 0.8);
|
|
1015
|
-
}
|
|
1016
|
-
.viewport {
|
|
1017
|
-
cursor: default;
|
|
1018
|
-
min-height: 360px;
|
|
1019
|
-
background-color: #050815;
|
|
1020
|
-
position: relative;
|
|
1021
|
-
overflow: hidden;
|
|
1022
|
-
}
|
|
1023
|
-
.viewport.grid-fx {
|
|
1024
|
-
background-image:
|
|
1025
|
-
linear-gradient(
|
|
1026
|
-
to right,
|
|
1027
|
-
rgba(148, 163, 184, 0.06) 1px,
|
|
1028
|
-
transparent 1px),
|
|
1029
|
-
linear-gradient(
|
|
1030
|
-
to bottom,
|
|
1031
|
-
rgba(148, 163, 184, 0.06) 1px,
|
|
1032
|
-
transparent 1px);
|
|
1033
|
-
background-size: 28px 28px;
|
|
1034
|
-
}
|
|
1035
|
-
.bg-fx {
|
|
1036
|
-
background:
|
|
1037
|
-
radial-gradient(
|
|
1038
|
-
1200px 650px at 20% 10%,
|
|
1039
|
-
rgba(34, 211, 238, 0.14),
|
|
1040
|
-
transparent 55%),
|
|
1041
|
-
radial-gradient(
|
|
1042
|
-
900px 520px at 80% 35%,
|
|
1043
|
-
rgba(124, 58, 237, 0.16),
|
|
1044
|
-
transparent 55%),
|
|
1045
|
-
radial-gradient(
|
|
1046
|
-
900px 520px at 40% 90%,
|
|
1047
|
-
rgba(52, 211, 153, 0.1),
|
|
1048
|
-
transparent 55%),
|
|
1049
|
-
linear-gradient(
|
|
1050
|
-
180deg,
|
|
1051
|
-
#050816 0%,
|
|
1052
|
-
#070B18 40%,
|
|
1053
|
-
#050816 100%);
|
|
1054
|
-
position: relative;
|
|
1055
|
-
}
|
|
1056
|
-
.bg-fx:before {
|
|
1057
|
-
content: "";
|
|
1058
|
-
position: absolute;
|
|
1059
|
-
inset: 0;
|
|
1060
|
-
pointer-events: none;
|
|
1061
|
-
opacity: 0.1;
|
|
1062
|
-
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
|
|
1063
|
-
mix-blend-mode: overlay;
|
|
1064
|
-
}
|
|
1065
|
-
.sprite {
|
|
1066
|
-
border-radius: 12px;
|
|
1067
|
-
background-color: rgba(255, 255, 255, 0.02);
|
|
1068
|
-
top: 24px;
|
|
1069
|
-
left: 24px;
|
|
1070
|
-
--tw-ring-offset-shadow: 0 0 #0000;
|
|
1071
|
-
--tw-shadow: 0 0 0 1px rgba(34, 211, 238, 0.14), 0 24px 80px rgba(0, 0, 0, 0.55);
|
|
1072
|
-
--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 24px 80px var(--tw-shadow-color);
|
|
1073
|
-
box-shadow:
|
|
1074
|
-
var(--tw-ring-offset-shadow, 0 0 #0000),
|
|
1075
|
-
var(--tw-ring-shadow, 0 0 #0000),
|
|
1076
|
-
var(--tw-shadow);
|
|
1077
|
-
}
|
|
1078
|
-
.abs {
|
|
1079
|
-
position: absolute;
|
|
1080
|
-
}
|
|
1081
|
-
.inset-0 {
|
|
1082
|
-
left: 0;
|
|
1083
|
-
top: 0;
|
|
1084
|
-
right: 0;
|
|
1085
|
-
bottom: 0;
|
|
1086
|
-
}
|
|
1087
|
-
.abs2 {
|
|
1088
|
-
border-radius: 12px;
|
|
1089
|
-
background:
|
|
1090
|
-
linear-gradient(
|
|
1091
|
-
135deg,
|
|
1092
|
-
rgba(34, 211, 238, 0.08),
|
|
1093
|
-
rgba(124, 58, 237, 0.1));
|
|
1094
|
-
}
|
|
1095
|
-
.transition {
|
|
1096
|
-
transition-property:
|
|
1097
|
-
color,
|
|
1098
|
-
background-color,
|
|
1099
|
-
border-color,
|
|
1100
|
-
fill,
|
|
1101
|
-
stroke,
|
|
1102
|
-
opacity,
|
|
1103
|
-
box-shadow,
|
|
1104
|
-
transform,
|
|
1105
|
-
filter,
|
|
1106
|
-
-webkit-text-decoration-color,
|
|
1107
|
-
-webkit-backdrop-filter;
|
|
1108
|
-
transition-property:
|
|
1109
|
-
color,
|
|
1110
|
-
background-color,
|
|
1111
|
-
border-color,
|
|
1112
|
-
text-decoration-color,
|
|
1113
|
-
fill,
|
|
1114
|
-
stroke,
|
|
1115
|
-
opacity,
|
|
1116
|
-
box-shadow,
|
|
1117
|
-
transform,
|
|
1118
|
-
filter,
|
|
1119
|
-
backdrop-filter;
|
|
1120
|
-
transition-property:
|
|
1121
|
-
color,
|
|
1122
|
-
background-color,
|
|
1123
|
-
border-color,
|
|
1124
|
-
text-decoration-color,
|
|
1125
|
-
fill,
|
|
1126
|
-
stroke,
|
|
1127
|
-
opacity,
|
|
1128
|
-
box-shadow,
|
|
1129
|
-
transform,
|
|
1130
|
-
filter,
|
|
1131
|
-
backdrop-filter,
|
|
1132
|
-
-webkit-text-decoration-color,
|
|
1133
|
-
-webkit-backdrop-filter;
|
|
1134
|
-
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
1135
|
-
transition-duration: 150ms;
|
|
1136
|
-
}
|
|
1137
|
-
.box-item {
|
|
1138
|
-
border-width: 1px;
|
|
1139
|
-
border-style: solid;
|
|
1140
|
-
border-color: rgba(255, 255, 255, 0.15);
|
|
1141
|
-
}
|
|
1142
|
-
.box-item:hover {
|
|
1143
|
-
border-color: rgba(124, 58, 237, 0.4);
|
|
1144
|
-
}
|
|
1145
|
-
.box-item.active {
|
|
1146
|
-
border-color: rgba(34, 211, 238, 0.7);
|
|
1147
|
-
box-shadow: 0 0 0 1px rgba(34, 211, 238, 0.25), 0 0 28px rgba(34, 211, 238, 0.18);
|
|
1148
|
-
}
|
|
1149
|
-
.tooltip {
|
|
1150
|
-
pointer-events: none;
|
|
1151
|
-
z-index: 10;
|
|
1152
|
-
border-radius: 8px;
|
|
1153
|
-
border: 1px solid rgba(148, 163, 184, 0.14);
|
|
1154
|
-
background-color: rgba(18, 28, 52, 0.7);
|
|
1155
|
-
padding: 6px 10px;
|
|
1156
|
-
box-shadow: 0 0 0 1px rgba(34, 211, 238, 0.25), 0 10px 30px rgba(124, 58, 237, 0.18);
|
|
1157
|
-
color: #fff;
|
|
1158
|
-
}
|
|
1159
|
-
.tooltip.hidden {
|
|
1160
|
-
display: none;
|
|
1161
|
-
}
|
|
1162
|
-
/*# sourceMappingURL=sprite-viewport-component.css.map */
|
|
1163
|
-
`;
|
|
1164
|
-
|
|
1165
|
-
// src/app/pages/sprite/components/sprite-viewport-component.ts
|
|
1166
|
-
var SpriteViewportComponent = class SpriteViewportComponent2 {
|
|
1167
|
-
item = null;
|
|
1168
|
-
viewportRef;
|
|
1169
|
-
activeClassName = model("");
|
|
1170
|
-
showGrid = true;
|
|
1171
|
-
showBoxes = true;
|
|
1172
|
-
scale = signal(1);
|
|
1173
|
-
tx = signal(0);
|
|
1174
|
-
ty = signal(0);
|
|
1175
|
-
dragging = signal(false);
|
|
1176
|
-
last = signal({ x: 0, y: 0 });
|
|
1177
|
-
// Tooltip & Toast
|
|
1178
|
-
tooltip = signal({
|
|
1179
|
-
visible: false,
|
|
1180
|
-
left: 0,
|
|
1181
|
-
top: 0,
|
|
1182
|
-
name: "\u2014",
|
|
1183
|
-
meta: "\u2014"
|
|
1184
|
-
});
|
|
1185
|
-
get classes() {
|
|
1186
|
-
return this.meta?.classes ?? [];
|
|
1187
|
-
}
|
|
1188
|
-
get meta() {
|
|
1189
|
-
return this.item?.meta;
|
|
1190
|
-
}
|
|
1191
|
-
get previewSpriteUrl() {
|
|
1192
|
-
return this.item?.previewSpriteUrl ?? "";
|
|
1193
|
-
}
|
|
1194
|
-
setActive(className) {
|
|
1195
|
-
this.activeClassName.set(className);
|
|
1196
|
-
}
|
|
1197
|
-
stageTransform = computed(() => {
|
|
1198
|
-
return `translate(${this.tx()}px, ${this.ty()}px) scale(${this.scale()})`;
|
|
1199
|
-
});
|
|
1200
|
-
onBoxMove(e, cls) {
|
|
1201
|
-
if (!this.showBoxes)
|
|
1202
|
-
return;
|
|
1203
|
-
if (this.activeClassName() !== cls.className) {
|
|
1204
|
-
this.setActive(cls.className);
|
|
1205
|
-
}
|
|
1206
|
-
const r = this.viewportRef.nativeElement.getBoundingClientRect();
|
|
1207
|
-
this.tooltip.set({
|
|
1208
|
-
visible: true,
|
|
1209
|
-
left: e.clientX - r.left + 10,
|
|
1210
|
-
top: e.clientY - r.top + 10,
|
|
1211
|
-
name: cls.name,
|
|
1212
|
-
meta: `${cls.width}\xD7${cls.height} \xB7 (-${cls.x}px, -${cls.y}px)`
|
|
1213
|
-
});
|
|
1214
|
-
}
|
|
1215
|
-
onBoxLeave() {
|
|
1216
|
-
this.tooltip.set(__spreadProps(__spreadValues({}, this.tooltip()), {
|
|
1217
|
-
visible: false
|
|
1218
|
-
}));
|
|
1219
|
-
}
|
|
1220
|
-
// ====== Pan / Zoom ======
|
|
1221
|
-
onMouseDown(e) {
|
|
1222
|
-
this.dragging.set(true);
|
|
1223
|
-
this.last.set({ x: e.clientX, y: e.clientY });
|
|
1224
|
-
}
|
|
1225
|
-
onMouseUp() {
|
|
1226
|
-
this.dragging.set(false);
|
|
1227
|
-
}
|
|
1228
|
-
onMouseMove(e) {
|
|
1229
|
-
if (!this.dragging())
|
|
1230
|
-
return;
|
|
1231
|
-
const last = this.last();
|
|
1232
|
-
const dx = e.clientX - last.x;
|
|
1233
|
-
const dy = e.clientY - last.y;
|
|
1234
|
-
this.last.set({ x: e.clientX, y: e.clientY });
|
|
1235
|
-
this.tx.set(this.tx() + dx);
|
|
1236
|
-
this.ty.set(this.ty() + dy);
|
|
1237
|
-
}
|
|
1238
|
-
onWheel(e) {
|
|
1239
|
-
e.preventDefault();
|
|
1240
|
-
const rect = this.viewportRef.nativeElement.getBoundingClientRect();
|
|
1241
|
-
const mx = e.clientX - rect.left;
|
|
1242
|
-
const my = e.clientY - rect.top;
|
|
1243
|
-
const delta = -Math.sign(e.deltaY) * 0.08;
|
|
1244
|
-
const current = this.scale();
|
|
1245
|
-
const next = this.clamp(current * (1 + delta), 0.6, 3);
|
|
1246
|
-
const wx = (mx - this.tx()) / current;
|
|
1247
|
-
const wy = (my - this.ty()) / current;
|
|
1248
|
-
this.scale.set(next);
|
|
1249
|
-
this.tx.set(mx - wx * next);
|
|
1250
|
-
this.ty.set(my - wy * next);
|
|
1251
|
-
}
|
|
1252
|
-
clearActiveIfBlank(e) {
|
|
1253
|
-
const target = e.target;
|
|
1254
|
-
if (target.id === "viewport")
|
|
1255
|
-
this.setActive("");
|
|
1256
|
-
}
|
|
1257
|
-
resetView() {
|
|
1258
|
-
this.scale.set(1);
|
|
1259
|
-
this.tx.set(0);
|
|
1260
|
-
this.ty.set(0);
|
|
1261
|
-
}
|
|
1262
|
-
clamp(v, min, max) {
|
|
1263
|
-
return Math.max(min, Math.min(max, v));
|
|
1264
|
-
}
|
|
1265
|
-
static propDecorators = {
|
|
1266
|
-
item: [{ type: Input }],
|
|
1267
|
-
viewportRef: [{ type: ViewChild, args: ["viewport", { static: true }] }],
|
|
1268
|
-
activeClassName: [{ type: Input, args: [{ isSignal: true, alias: "activeClassName", required: false }] }, { type: Output, args: ["activeClassNameChange"] }]
|
|
1269
|
-
};
|
|
1270
|
-
};
|
|
1271
|
-
SpriteViewportComponent = __decorate([
|
|
1272
|
-
Component({
|
|
1273
|
-
selector: "app-sprite-viewport",
|
|
1274
|
-
imports: [
|
|
1275
|
-
CommonModule,
|
|
1276
|
-
NzCheckboxModule,
|
|
1277
|
-
FormsModule,
|
|
1278
|
-
NzSpaceModule,
|
|
1279
|
-
NzBadgeModule
|
|
1280
|
-
],
|
|
1281
|
-
template: `
|
|
1282
|
-
<div class="view-card bg-fx">
|
|
1283
|
-
<div class="view-header">
|
|
1284
|
-
<nz-space>
|
|
1285
|
-
<div class="tip">
|
|
1286
|
-
<nz-badge nzColor="purple"/>
|
|
1287
|
-
\u9F20\u6807\u6EDA\u8F6E\u7F29\u653E
|
|
1288
|
-
</div>
|
|
1289
|
-
<div class="tip">
|
|
1290
|
-
<nz-badge nzColor="geekblue"/>
|
|
1291
|
-
\u62D6\u62FD\u79FB\u52A8
|
|
1292
|
-
</div>
|
|
1293
|
-
|
|
1294
|
-
</nz-space>
|
|
1295
|
-
<div class="actions">
|
|
1296
|
-
<nz-space>
|
|
1297
|
-
<a href="javascript:;" class="tip" (click)="resetView()">\u91CD\u7F6E\u89C6\u56FE</a>
|
|
1298
|
-
<label nz-checkbox [(ngModel)]="showGrid">\u50CF\u7D20\u7F51\u683C</label>
|
|
1299
|
-
<label nz-checkbox [(ngModel)]="showBoxes">\u5207\u7247\u6846</label>
|
|
1300
|
-
</nz-space>
|
|
1301
|
-
</div>
|
|
1302
|
-
</div>
|
|
1303
|
-
<div class="viewport" #viewport
|
|
1304
|
-
[style.height.px]="(meta?.spriteHeight ?? 0) + 48"
|
|
1305
|
-
[class.grid-fx]="showGrid"
|
|
1306
|
-
(mousedown)="onMouseDown($event)"
|
|
1307
|
-
(mousemove)="onMouseMove($event)"
|
|
1308
|
-
(mouseup)="onMouseUp()"
|
|
1309
|
-
(mouseleave)="onMouseUp()"
|
|
1310
|
-
(wheel)="onWheel($event)"
|
|
1311
|
-
(click)="clearActiveIfBlank($event)"
|
|
1312
|
-
>
|
|
1313
|
-
<div class="stage abs inset-0" [style.transform]="stageTransform()" style="transform-origin: 0 0;">
|
|
1314
|
-
<div class="sprite abs" [style.width.px]="meta?.spriteWidth" [style.height.px]="meta?.spriteHeight">
|
|
1315
|
-
<div class="abs inset-0" [style.backgroundImage]="'url(' + previewSpriteUrl + ')'"
|
|
1316
|
-
style="background-repeat:no-repeat;background-position:0 0;background-size:100% 100%;opacity:.95;" ></div>
|
|
1317
|
-
<div class="abs inset-0 abs2"></div>
|
|
1318
|
-
<div class="abs inset-0 boxes" [style.display]="showBoxes ? 'block' : 'none'">
|
|
1319
|
-
@for (cls of classes; track cls.name) {
|
|
1320
|
-
<div
|
|
1321
|
-
class="abs box-item transition"
|
|
1322
|
-
[class.active]="activeClassName() === cls.className"
|
|
1323
|
-
|
|
1324
|
-
[style.left.px]="cls.x"
|
|
1325
|
-
[style.top.px]="cls.y"
|
|
1326
|
-
[style.width.px]="cls.width"
|
|
1327
|
-
[style.height.px]="cls.height"
|
|
1328
|
-
(mousemove)="onBoxMove($event, cls)"
|
|
1329
|
-
(mouseleave)="onBoxLeave()"
|
|
1330
|
-
(click)="$event.stopPropagation(); setActive(cls.name)"
|
|
1331
|
-
></div>
|
|
1332
|
-
}
|
|
1333
|
-
</div>
|
|
1334
|
-
</div>
|
|
1335
|
-
</div>
|
|
1336
|
-
<div class="tooltip abs"
|
|
1337
|
-
[class.hidden]="!tooltip().visible"
|
|
1338
|
-
[style.left.px]="tooltip().left"
|
|
1339
|
-
[style.top.px]="tooltip().top"
|
|
1340
|
-
>
|
|
1341
|
-
<div class="font-medium">{{ tooltip().name }}</div>
|
|
1342
|
-
<div >{{ tooltip().meta }}</div>
|
|
1343
|
-
</div>
|
|
1344
|
-
</div>
|
|
1345
|
-
<div class="info-bar"></div>
|
|
1346
|
-
</div>
|
|
1347
|
-
`,
|
|
1348
|
-
styles: [sprite_viewport_component_default]
|
|
1349
|
-
})
|
|
1350
|
-
], SpriteViewportComponent);
|
|
1351
|
-
|
|
1352
|
-
// src/app/pages/sprite/components/sprite-icons-panel-component.ts
|
|
1353
|
-
var SpriteIconsPanelComponent = class SpriteIconsPanelComponent2 {
|
|
1354
|
-
clipboard = inject(Clipboard);
|
|
1355
|
-
msg = inject(NzMessageService);
|
|
1356
|
-
api = inject(SpriteApiService);
|
|
1357
|
-
sprite = input(null);
|
|
1358
|
-
groups = computed(() => {
|
|
1359
|
-
return this.sprite()?.groups ?? [];
|
|
1360
|
-
});
|
|
1361
|
-
group = signal("");
|
|
1362
|
-
activeItem = computed(() => {
|
|
1363
|
-
const g = this.group();
|
|
1364
|
-
return this.groups().find((x) => x.group === g) ?? null;
|
|
1365
|
-
});
|
|
1366
|
-
mode = computed(() => {
|
|
1367
|
-
return this.activeItem()?.kind === "svg" ? "svg" : "png";
|
|
1368
|
-
});
|
|
1369
|
-
activeClassName = signal("");
|
|
1370
|
-
activePreviewSpriteUrl = computed(() => {
|
|
1371
|
-
const it = this.activeItem();
|
|
1372
|
-
return it?.previewSpriteUrl ?? null;
|
|
1373
|
-
});
|
|
1374
|
-
ngOnChanges(changes) {
|
|
1375
|
-
if (changes["sprite"]) {
|
|
1376
|
-
const firstItem = this.sprite()?.groups?.[0];
|
|
1377
|
-
if (firstItem) {
|
|
1378
|
-
const firstGroup = firstItem.group ?? "";
|
|
1379
|
-
this.group.set(firstGroup);
|
|
1380
|
-
this.groupChange(firstGroup);
|
|
1381
|
-
}
|
|
1382
|
-
}
|
|
1383
|
-
}
|
|
1384
|
-
groupChange(group) {
|
|
1385
|
-
if (this.activeItem()?.kind === "svg") {
|
|
1386
|
-
this.loadImages(group);
|
|
1387
|
-
}
|
|
1388
|
-
}
|
|
1389
|
-
loadImages(group) {
|
|
1390
|
-
const id = this.sprite()?.projectId ?? "";
|
|
1391
|
-
if (!id)
|
|
1392
|
-
return;
|
|
1393
|
-
this.api.browseIconFiles(id, group).subscribe((res) => {
|
|
1394
|
-
const icons = res.entries ?? [];
|
|
1395
|
-
this.icons.set(icons);
|
|
1396
|
-
});
|
|
1397
|
-
}
|
|
1398
|
-
baseClass = computed(() => {
|
|
1399
|
-
const prefix = this.sprite()?.config?.prefix || "sl";
|
|
1400
|
-
const g = this.group();
|
|
1401
|
-
const sizes = String(g).split("-");
|
|
1402
|
-
if (sizes.length > 1) {
|
|
1403
|
-
const [w, h] = sizes;
|
|
1404
|
-
if (w !== h) {
|
|
1405
|
-
return `${prefix}-${sizes[0]}-${sizes[1]}`;
|
|
1406
|
-
}
|
|
1407
|
-
return `${prefix}-${sizes[0]}`;
|
|
1408
|
-
}
|
|
1409
|
-
return `${prefix}-${sizes[0]}`;
|
|
1410
|
-
});
|
|
1411
|
-
iconClasses = computed(() => {
|
|
1412
|
-
const it = this.activeItem();
|
|
1413
|
-
const meta = it?.meta;
|
|
1414
|
-
const classes = meta?.classes ?? [];
|
|
1415
|
-
return classes.filter((x) => !!x.className);
|
|
1416
|
-
});
|
|
1417
|
-
icons = signal([]);
|
|
1418
|
-
cssText = computed(() => {
|
|
1419
|
-
const it = this.activeItem();
|
|
1420
|
-
return String(it?.lessText ?? "");
|
|
1421
|
-
});
|
|
1422
|
-
async copySpriteClass(className) {
|
|
1423
|
-
const tpl = this.sprite()?.config?.template || `<i class="{base} {class}"></i>`;
|
|
1424
|
-
const html = tpl.replaceAll("{base}", this.baseClass()).replaceAll("{class}", className);
|
|
1425
|
-
this.activeClassName.set(className);
|
|
1426
|
-
this.clipboard.copy(html);
|
|
1427
|
-
const safe = escapeHtmlText(html);
|
|
1428
|
-
const tip = `\u5DF2\u590D\u5236\uFF1A${safe}`;
|
|
1429
|
-
this.msg.success(tip);
|
|
1430
|
-
}
|
|
1431
|
-
async copySvg(c) {
|
|
1432
|
-
const tpl = this.sprite()?.config?.template;
|
|
1433
|
-
if (!tpl)
|
|
1434
|
-
return;
|
|
1435
|
-
const item = this.activeItem();
|
|
1436
|
-
const meta = item?.meta;
|
|
1437
|
-
if (!meta)
|
|
1438
|
-
return;
|
|
1439
|
-
const size = meta?.size;
|
|
1440
|
-
const svgMeta = meta.icons.find((i) => i.file === c.name);
|
|
1441
|
-
if (!svgMeta)
|
|
1442
|
-
return;
|
|
1443
|
-
const html = tpl.replaceAll("{name}", svgMeta.name).replaceAll("{size}", size).replaceAll("{base}", svgMeta.className).replaceAll("{group}", meta.group);
|
|
1444
|
-
this.clipboard.copy(html);
|
|
1445
|
-
const safe = escapeHtmlText(html);
|
|
1446
|
-
const tip = `\u5DF2\u590D\u5236\uFF1A${safe}`;
|
|
1447
|
-
this.msg.success(tip);
|
|
1448
|
-
}
|
|
1449
|
-
async copyCss() {
|
|
1450
|
-
const t = this.cssText();
|
|
1451
|
-
if (!t)
|
|
1452
|
-
return;
|
|
1453
|
-
this.clipboard.copy(t);
|
|
1454
|
-
this.msg.success("\u5DF2\u590D\u5236");
|
|
1455
|
-
}
|
|
1456
|
-
baseSpriteStyle() {
|
|
1457
|
-
const item = this.activeItem();
|
|
1458
|
-
const url = item?.previewSpriteUrl;
|
|
1459
|
-
if (!url)
|
|
1460
|
-
return {};
|
|
1461
|
-
const meta = item?.meta;
|
|
1462
|
-
return {
|
|
1463
|
-
backgroundImage: `url("${url}")`,
|
|
1464
|
-
backgroundRepeat: "no-repeat",
|
|
1465
|
-
backgroundSize: meta ? `${meta.spriteWidth}px ${meta.spriteHeight}px` : "initial"
|
|
1466
|
-
};
|
|
1467
|
-
}
|
|
1468
|
-
spriteStyle(c) {
|
|
1469
|
-
if (!c)
|
|
1470
|
-
return {};
|
|
1471
|
-
const base = this.baseSpriteStyle();
|
|
1472
|
-
return __spreadProps(__spreadValues({}, base), {
|
|
1473
|
-
width: `${c.width}px`,
|
|
1474
|
-
height: `${c.height}px`,
|
|
1475
|
-
backgroundPosition: `-${c.x}px -${c.y}px`
|
|
1476
|
-
});
|
|
1477
|
-
}
|
|
1478
|
-
static propDecorators = {
|
|
1479
|
-
sprite: [{ type: Input, args: [{ isSignal: true, alias: "sprite", required: false, transform: void 0 }] }]
|
|
1480
|
-
};
|
|
1481
|
-
};
|
|
1482
|
-
SpriteIconsPanelComponent = __decorate([
|
|
1483
|
-
Component({
|
|
1484
|
-
selector: "app-sprite-icons-panel",
|
|
1485
|
-
standalone: true,
|
|
1486
|
-
imports: [
|
|
1487
|
-
CommonModule,
|
|
1488
|
-
FormsModule,
|
|
1489
|
-
NzSelectModule,
|
|
1490
|
-
NzGridModule,
|
|
1491
|
-
NzEmptyModule,
|
|
1492
|
-
NzCodeEditorModule,
|
|
1493
|
-
NzButtonModule,
|
|
1494
|
-
NzIconModule,
|
|
1495
|
-
ClipboardModule,
|
|
1496
|
-
NzInputModule,
|
|
1497
|
-
SpriteViewportComponent,
|
|
1498
|
-
LessViewportComponent,
|
|
1499
|
-
NzBadgeModule,
|
|
1500
|
-
NzImageModule
|
|
1501
|
-
],
|
|
1502
|
-
template: `
|
|
1503
|
-
<div class="wrap">
|
|
1504
|
-
<div class="bar">
|
|
1505
|
-
<div class="left">
|
|
1506
|
-
<span class="label">\u5206\u7EC4</span>
|
|
1507
|
-
<nz-select
|
|
1508
|
-
style="width: 220px"
|
|
1509
|
-
[ngModel]="group()"
|
|
1510
|
-
(ngModelChange)="group.set($event); groupChange($event)"
|
|
1511
|
-
nzPlaceHolder="\u8BF7\u9009\u62E9"
|
|
1512
|
-
>
|
|
1513
|
-
@for (opt of groups(); track opt.group) {
|
|
1514
|
-
<nz-option [nzLabel]="opt.group" [nzValue]="opt.group"></nz-option>
|
|
1515
|
-
}
|
|
1516
|
-
</nz-select>
|
|
1517
|
-
</div>
|
|
1518
|
-
</div>
|
|
1519
|
-
|
|
1520
|
-
@if(!activeItem()){
|
|
1521
|
-
<nz-empty nzNotFoundContent="\u6CA1\u6709\u53EF\u5C55\u793A\u7684\u5206\u7EC4"></nz-empty>
|
|
1522
|
-
} @else {
|
|
1523
|
-
<div class="grid">
|
|
1524
|
-
<div class="panel">
|
|
1525
|
-
<div class="panel-header">
|
|
1526
|
-
<div class="panel-title column">
|
|
1527
|
-
<div class="text">\u56FE\u6807\u9884\u89C8</div>
|
|
1528
|
-
<div class="sub-text">\u5171{{icons().length + iconClasses().length}}\u4E2A\u56FE\u6807</div>
|
|
1529
|
-
</div>
|
|
1530
|
-
<div class="search">
|
|
1531
|
-
<input type="text" placeholder="\u641C\u7D22\u56FE\u6807\u540D\u79F0\u6216\u7C7B\u540D" nz-input />
|
|
1532
|
-
</div>
|
|
1533
|
-
</div>
|
|
1534
|
-
|
|
1535
|
-
@if(iconClasses().length === 0 && icons().length === 0){
|
|
1536
|
-
<nz-empty nzNotFoundContent="\u8BE5\u5206\u7EC4\u6CA1\u6709\u53EF\u7528\u56FE\u6807"></nz-empty>
|
|
1537
|
-
} @else {
|
|
1538
|
-
<div class="icon-grid">
|
|
1539
|
-
@if(mode() === 'svg'){
|
|
1540
|
-
@for (c of icons(); track c.name) {
|
|
1541
|
-
<div class="icon-card" (click)="copySvg(c)">
|
|
1542
|
-
<div class="thumb">
|
|
1543
|
-
@if(c.kind === 'file' && c.url){
|
|
1544
|
-
<img nz-image [nzSrc]="c.url" [alt]="c.name" loading="lazy" />
|
|
1545
|
-
}
|
|
1546
|
-
</div>
|
|
1547
|
-
<div class="meta">
|
|
1548
|
-
<div class="name">{{c.name}}</div>
|
|
1549
|
-
</div>
|
|
1550
|
-
</div>
|
|
1551
|
-
}
|
|
1552
|
-
}@else{
|
|
1553
|
-
@for (c of iconClasses(); track c.className) {
|
|
1554
|
-
<div class="icon-card" (click)="copySpriteClass(c.className)">
|
|
1555
|
-
<div class="thumb">
|
|
1556
|
-
<div class="sprite" [ngStyle]="spriteStyle(c)"></div>
|
|
1557
|
-
</div>
|
|
1558
|
-
<div class="meta">
|
|
1559
|
-
<div class="name">{{c.name}}</div>
|
|
1560
|
-
<div class="cls">{{c.className}}</div>
|
|
1561
|
-
<nz-badge [nzStatus]="activeClassName() === c.className ? 'processing' : 'default'" />
|
|
1562
|
-
</div>
|
|
1563
|
-
</div>
|
|
1564
|
-
}
|
|
1565
|
-
}
|
|
1566
|
-
</div>
|
|
1567
|
-
}
|
|
1568
|
-
</div>
|
|
1569
|
-
|
|
1570
|
-
<div class="panel">
|
|
1571
|
-
<div class="panel-header">
|
|
1572
|
-
<div class="panel-title column">
|
|
1573
|
-
<div class="text">\u751F\u6210\u7ED3\u679C</div>
|
|
1574
|
-
<div class="sub-text">LESS/CSS \u6837\u5F0F\uFF0C\u5305\u542B\u96EA\u78A7\u56FE\u80CC\u666F\u5B9A\u4F4D\u7B49\u4FE1\u606F</div>
|
|
1575
|
-
</div>
|
|
1576
|
-
<div class="actions">
|
|
1577
|
-
<!-- <button nz-button nzType="text" (click)="copyCss()" [disabled]="!cssText()">
|
|
1578
|
-
<nz-icon nzType="reload"></nz-icon>
|
|
1579
|
-
</button> -->
|
|
1580
|
-
</div>
|
|
1581
|
-
</div>
|
|
1582
|
-
<div class="sprite-content">
|
|
1583
|
-
<app-sprite-viewport [(activeClassName)]="activeClassName" [item]="activeItem()"/>
|
|
1584
|
-
</div>
|
|
1585
|
-
<div class="css-content">
|
|
1586
|
-
<app-less-viewport [cssText]="cssText()"/>
|
|
1587
|
-
</div>
|
|
1588
|
-
</div>
|
|
1589
|
-
</div>
|
|
1590
|
-
}
|
|
1591
|
-
</div>
|
|
1592
|
-
`,
|
|
1593
|
-
styles: [sprite_icons_panel_component_default]
|
|
1594
|
-
})
|
|
1595
|
-
], SpriteIconsPanelComponent);
|
|
1596
|
-
function escapeHtmlText(s) {
|
|
1597
|
-
return s.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">");
|
|
1598
|
-
}
|
|
1599
|
-
|
|
1600
|
-
// angular:jit:style:inline:src\app\pages\sprite\components\sprite-images-panel-component.ts;CiAgICAud3JhcHsgaGVpZ2h0OjEwMCU7IG1pbi1oZWlnaHQ6MDsgb3ZlcmZsb3cteTphdXRvOyBwYWRkaW5nOjEycHg7IH0KICAgIC5oZWFkZXJ7IGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjsgZ2FwOjEycHg7IG1hcmdpbi1ib3R0b206MTJweDsgfQogICAgLmhlYWRlciAuY291bnR7IGZvbnQtc2l6ZToxNHB4OyBvcGFjaXR5Oi40NTsgZmxleDowIDAgYXV0bzsgd2hpdGUtc3BhY2U6bm93cmFwOyB9CiAgICAuZGlyLXN0YWNreyBkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjsgZ2FwOjZweDsgbWFyZ2luLWJvdHRvbToxMnB4OyBmbGV4LXdyYXA6d3JhcDsgfQogICAgLmRpci1pdGVteyBjdXJzb3I6IHBvaW50ZXI7IH0KICAgIC5pbWctZ3JpZHsKICAgICAgZGlzcGxheTpncmlkOwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyMjBweCwgMWZyKSk7CiAgICAgIGdhcDogMTJweDsKICAgICAgb3ZlcmZsb3c6YXV0bzsKICAgICAgcGFkZGluZy1yaWdodDogNHB4OwogICAgfQogICAgLmltZy1jYXJkewogICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7CiAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7CiAgICAgIG92ZXJmbG93OmhpZGRlbjsKICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDIpOwogICAgICBkaXNwbGF5OmZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsKICAgIH0KICAgIC50aHVtYnsgaGVpZ2h0OiAxNjBweDsgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMTgpOyBkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjsganVzdGlmeS1jb250ZW50OmNlbnRlcjsgdXNlci1zZWxlY3Q6bm9uZTt9CiAgICAudGh1bWIgaW1neyBtYXgtd2lkdGg6MTAwJTsgbWF4LWhlaWdodDoxMDAlOyBvYmplY3QtZml0OmNvbnRhaW47IGN1cnNvcjogcG9pbnRlcjsgICB9CiAgICAudGh1bWIgaW1nOmZvY3VzLC50aHVtYjpmb2N1c3tvdXRsaW5lOm5vbmV9CiAgICAudGh1bWIgLmRpcnsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjYpOyBmb250LXNpemU6NTZweDsgY3Vyc29yOnBvaW50ZXI7IH0KICAgIC5tZXRheyBwYWRkaW5nOiAxMHB4OyBkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjsganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47IGdhcDoxMHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4wNCk7ICB9CiAgICAubmFtZXsgZm9udC1zaXplOjE0cHg7IG9wYWNpdHk6Ljg1OyBvdmVyZmxvdzpoaWRkZW47IHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7IHdoaXRlLXNwYWNlOm5vd3JhcDsgfQogICAgLmZpbGUtY291bnR7IGZvbnQtc2l6ZToxNHB4OyBvcGFjaXR5Oi40NTtmbGV4OjAgMCBhdXRvOyB3aGl0ZS1zcGFjZTpub3dyYXA7IH0KICA=
|
|
1601
|
-
var sprite_images_panel_component_default = "/* angular:styles/component:less;a4fc820090e8fad6f7382e666c8cdc1ace171077a29b1ea94c5cf76bc134eb68;D:\\ng-manager\\webapp\\src\\app\\pages\\sprite\\components\\sprite-images-panel-component.ts */\n.wrap {\n height: 100%;\n min-height: 0;\n overflow-y: auto;\n padding: 12px;\n}\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n margin-bottom: 12px;\n}\n.header .count {\n font-size: 14px;\n opacity: 0.45;\n flex: 0 0 auto;\n white-space: nowrap;\n}\n.dir-stack {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 12px;\n flex-wrap: wrap;\n}\n.dir-item {\n cursor: pointer;\n}\n.img-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));\n gap: 12px;\n overflow: auto;\n padding-right: 4px;\n}\n.img-card {\n border: 1px solid rgba(255, 255, 255, 0.08);\n border-radius: 16px;\n overflow: hidden;\n background: rgba(255, 255, 255, 0.02);\n display: flex;\n flex-direction: column;\n}\n.thumb {\n height: 160px;\n background: rgba(0, 0, 0, 0.18);\n display: flex;\n align-items: center;\n justify-content: center;\n -webkit-user-select: none;\n user-select: none;\n}\n.thumb img {\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n cursor: pointer;\n}\n.thumb img:focus,\n.thumb:focus {\n outline: none;\n}\n.thumb .dir {\n color: rgba(255, 255, 255, 0.6);\n font-size: 56px;\n cursor: pointer;\n}\n.meta {\n padding: 10px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n background: rgba(0, 0, 0, 0.04);\n}\n.name {\n font-size: 14px;\n opacity: 0.85;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.file-count {\n font-size: 14px;\n opacity: 0.45;\n flex: 0 0 auto;\n white-space: nowrap;\n}\n/*# sourceMappingURL=sprite-images-panel-component.css.map */\n";
|
|
1602
|
-
|
|
1603
|
-
// src/app/pages/sprite/components/sprite-images-panel-component.ts
|
|
1604
|
-
var SpriteImagesPanelComponent = class SpriteImagesPanelComponent2 {
|
|
1605
|
-
sprite = null;
|
|
1606
|
-
api = inject(SpriteApiService);
|
|
1607
|
-
clipboard = inject(Clipboard);
|
|
1608
|
-
msg = inject(NzMessageService);
|
|
1609
|
-
currentDir = signal("");
|
|
1610
|
-
// '' root
|
|
1611
|
-
dirStack = [{ label: "\u6839\u76EE\u5F55", dir: "" }];
|
|
1612
|
-
// 记录当前路径,支持返回上级
|
|
1613
|
-
cachedImages = signal([]);
|
|
1614
|
-
imagesCount = computed(() => this.images().filter((i) => i.kind === "file").length);
|
|
1615
|
-
keyword = signal("");
|
|
1616
|
-
ngOnInit() {
|
|
1617
|
-
}
|
|
1618
|
-
ngOnChanges(changes) {
|
|
1619
|
-
const sprite = changes["sprite"].currentValue;
|
|
1620
|
-
if (sprite) {
|
|
1621
|
-
this.dirStack = [{ label: "\u6839\u76EE\u5F55", dir: "" }];
|
|
1622
|
-
this.loadImages(sprite.projectId);
|
|
1623
|
-
}
|
|
1624
|
-
}
|
|
1625
|
-
images = computed(() => {
|
|
1626
|
-
const kw = this.keyword().trim().toLowerCase();
|
|
1627
|
-
if (!kw) {
|
|
1628
|
-
return this.cachedImages();
|
|
1629
|
-
} else {
|
|
1630
|
-
return this.cachedImages().filter((i) => i.name.toLowerCase().includes(kw));
|
|
1631
|
-
}
|
|
1632
|
-
});
|
|
1633
|
-
loadImages(projectId, dir = "") {
|
|
1634
|
-
this.keyword.set("");
|
|
1635
|
-
this.currentDir.set(dir);
|
|
1636
|
-
this.api.browseImages(projectId, dir).subscribe((res) => {
|
|
1637
|
-
this.cachedImages.set(res.entries);
|
|
1638
|
-
});
|
|
1639
|
-
}
|
|
1640
|
-
loadDir(crumb) {
|
|
1641
|
-
if (!this.sprite?.projectId)
|
|
1642
|
-
return;
|
|
1643
|
-
const idx = this.dirStack.findIndex((x) => x.dir === crumb.dir);
|
|
1644
|
-
if (idx >= 0)
|
|
1645
|
-
this.dirStack = this.dirStack.slice(0, idx + 1);
|
|
1646
|
-
this.loadImages(this.sprite.projectId, crumb.dir);
|
|
1647
|
-
}
|
|
1648
|
-
openDir(entry) {
|
|
1649
|
-
if (!this.sprite?.projectId)
|
|
1650
|
-
return;
|
|
1651
|
-
if (entry.kind !== "dir")
|
|
1652
|
-
return;
|
|
1653
|
-
const name = String(entry.name ?? "").trim();
|
|
1654
|
-
if (!name)
|
|
1655
|
-
return;
|
|
1656
|
-
const base = this.currentDir();
|
|
1657
|
-
const nextDir = base ? `${base}/${name}` : name;
|
|
1658
|
-
this.dirStack = [...this.dirStack, { label: name, dir: nextDir }];
|
|
1659
|
-
this.loadImages(this.sprite.projectId, nextDir);
|
|
1660
|
-
}
|
|
1661
|
-
copy(url) {
|
|
1662
|
-
this.clipboard.copy(url);
|
|
1663
|
-
this.msg.success("\u5DF2\u590D\u5236\u56FE\u7247 URL");
|
|
1664
|
-
}
|
|
1665
|
-
static propDecorators = {
|
|
1666
|
-
sprite: [{ type: Input }]
|
|
1667
|
-
};
|
|
1668
|
-
};
|
|
1669
|
-
SpriteImagesPanelComponent = __decorate([
|
|
1670
|
-
Component({
|
|
1671
|
-
selector: "app-sprite-images-panel",
|
|
1672
|
-
standalone: true,
|
|
1673
|
-
imports: [CommonModule, FormsModule, NzEmptyModule, NzButtonModule, NzIconModule, NzInputModule, NzTagModule, NzImageModule],
|
|
1674
|
-
template: `
|
|
1675
|
-
<div class="wrap">
|
|
1676
|
-
<div class="header">
|
|
1677
|
-
<input nz-input placeholder="\u641C\u7D22\u6587\u4EF6\u540D" [(ngModel)]="keyword"/>
|
|
1678
|
-
<div class="count">
|
|
1679
|
-
\u5171 {{imagesCount()}} \u5F20\u56FE\u7247
|
|
1680
|
-
</div>
|
|
1681
|
-
</div>
|
|
1682
|
-
@if(cachedImages().length === 0){
|
|
1683
|
-
<nz-empty nzNotFoundContent="\u6682\u65E0\u56FE\u7247\u5217\u8868\uFF08\u540E\u7EED\u53EF\u4ECE cutImageSvn \u626B\u63CF\u5E76\u6620\u5C04 URL\uFF09"></nz-empty>
|
|
1684
|
-
} @else {
|
|
1685
|
-
<div class="dir-stack">
|
|
1686
|
-
@for(crumb of dirStack;let i = $index; track crumb.dir) {
|
|
1687
|
-
<nz-tag color="blue" class="dir-item" (click)="loadDir(crumb)">
|
|
1688
|
-
{{crumb.label}}
|
|
1689
|
-
</nz-tag>
|
|
1690
|
-
@if(i < dirStack.length - 1){
|
|
1691
|
-
<nz-icon nzType="right" nzTheme="outline"></nz-icon>
|
|
1692
|
-
}
|
|
1693
|
-
}
|
|
1694
|
-
</div>
|
|
1695
|
-
<nz-image-group>
|
|
1696
|
-
<div class="img-grid">
|
|
1697
|
-
@for (img of images(); track img.url) {
|
|
1698
|
-
<div class="img-card">
|
|
1699
|
-
<div class="thumb">
|
|
1700
|
-
@if(img.kind==='file'){
|
|
1701
|
-
<img nz-image [nzSrc]="img.url!" [nzFallback]="'/images/placeholder.png'" [nzPlaceholder]="'/images/placeholder.png'" [alt]="img.name" loading="lazy" />
|
|
1702
|
-
}@else {
|
|
1703
|
-
<div class="dir" title="\u76EE\u5F55" (click)="openDir(img)">
|
|
1704
|
-
<nz-icon nzType="folder" nzTheme="fill"></nz-icon>
|
|
1705
|
-
</div>
|
|
1706
|
-
}
|
|
1707
|
-
</div>
|
|
1708
|
-
<div class="meta">
|
|
1709
|
-
<div class="name">{{img.name}}</div>
|
|
1710
|
-
@if(img.kind === 'dir' && img.fileCount !== undefined){
|
|
1711
|
-
<div class="file-count">\u5171{{img.fileCount}} \u5F20\u56FE\u7247</div>
|
|
1712
|
-
}
|
|
1713
|
-
<!-- <button nz-button nzSize="small" (click)="copy(img.url!)">
|
|
1714
|
-
<nz-icon nzType="copy"></nz-icon>
|
|
1715
|
-
\u590D\u5236URL
|
|
1716
|
-
</button> -->
|
|
1717
|
-
</div>
|
|
1718
|
-
</div>
|
|
1719
|
-
}
|
|
1720
|
-
</div>
|
|
1721
|
-
</nz-image-group>
|
|
1722
|
-
}
|
|
1723
|
-
</div>
|
|
1724
|
-
`,
|
|
1725
|
-
styles: [sprite_images_panel_component_default]
|
|
1726
|
-
})
|
|
1727
|
-
], SpriteImagesPanelComponent);
|
|
1728
|
-
|
|
1729
|
-
// src/app/pages/sprite/sprite-conf-modal.component.ts
|
|
1730
|
-
var SpriteConfModalComponent = class SpriteConfModalComponent2 {
|
|
1731
|
-
step = signal(0);
|
|
1732
|
-
creating = signal(false);
|
|
1733
|
-
draft = signal({ name: "", iconSvnPath: "", otherImagesSvnPath: "", localDir: "" });
|
|
1734
|
-
nzModalData = inject(NZ_MODAL_DATA);
|
|
1735
|
-
modalRef = inject(NzModalRef);
|
|
1736
|
-
modal = inject(NzModalService);
|
|
1737
|
-
state = inject(SpriteStateService);
|
|
1738
|
-
notify = inject(UiNotifierService);
|
|
1739
|
-
constructor() {
|
|
1740
|
-
const p = this.state.project();
|
|
1741
|
-
if (p) {
|
|
1742
|
-
const iconsRepoUrl = p.assets?.iconsSvn?.url || "";
|
|
1743
|
-
const sourceId = p.assets?.iconsSvn?.id || "";
|
|
1744
|
-
const otherImageUrl = p.assets?.cutImageSvn?.url || "";
|
|
1745
|
-
const cfg = this.nzModalData.cfg;
|
|
1746
|
-
this.draft.update((d) => {
|
|
1747
|
-
d.name = p.name;
|
|
1748
|
-
d.sourceId = sourceId;
|
|
1749
|
-
d.iconSvnPath = iconsRepoUrl;
|
|
1750
|
-
d.otherImagesSvnPath = otherImageUrl;
|
|
1751
|
-
d.localDir = cfg?.localDir || "";
|
|
1752
|
-
d.cssPrefix = cfg?.prefix || "sl";
|
|
1753
|
-
d.spriteUrl = cfg?.spriteUrl || "/assets/icons/{group}.png";
|
|
1754
|
-
d.template = cfg?.template || '<i class="{base} {class}"></i>';
|
|
1755
|
-
d.spriteExportDir = cfg?.spriteExportDir || "";
|
|
1756
|
-
d.lessExportDir = cfg?.lessExportDir || "";
|
|
1757
|
-
return d;
|
|
1758
|
-
});
|
|
1759
|
-
}
|
|
1760
|
-
}
|
|
1761
|
-
canNext() {
|
|
1762
|
-
const s = this.step();
|
|
1763
|
-
const d = this.draft();
|
|
1764
|
-
if (s === 0) {
|
|
1765
|
-
if (!d.iconSvnPath?.trim())
|
|
1766
|
-
return false;
|
|
1767
|
-
return true;
|
|
1768
|
-
}
|
|
1769
|
-
return true;
|
|
1770
|
-
}
|
|
1771
|
-
next() {
|
|
1772
|
-
this.step.update((s) => s + 1);
|
|
1773
|
-
}
|
|
1774
|
-
prev() {
|
|
1775
|
-
this.step.update((s) => s - 1);
|
|
1776
|
-
}
|
|
1777
|
-
canCreateHere() {
|
|
1778
|
-
return this.step() === 1;
|
|
1779
|
-
}
|
|
1780
|
-
async create() {
|
|
1781
|
-
if (this.creating())
|
|
1782
|
-
return;
|
|
1783
|
-
this.creating.set(true);
|
|
1784
|
-
const d = this.draft();
|
|
1785
|
-
const assets = {
|
|
1786
|
-
iconsSvn: { kind: "svn", url: d.iconSvnPath, label: "icons", mode: "manual", localDir: d.localDir, id: d.sourceId }
|
|
1787
|
-
};
|
|
1788
|
-
if (d.otherImagesSvnPath) {
|
|
1789
|
-
const cutImageId = this.state.project()?.assets?.cutImageSvn?.id || "";
|
|
1790
|
-
assets.cutImageSvn = { kind: "svn", url: d.otherImagesSvnPath, label: "images", mode: "manual", localDir: d.localDir, id: cutImageId };
|
|
1791
|
-
}
|
|
1792
|
-
const nextCfg = {
|
|
1793
|
-
enabled: true,
|
|
1794
|
-
persistLess: true,
|
|
1795
|
-
localDir: d.localDir,
|
|
1796
|
-
template: d.template || '<i class="{base} {class}"></i>',
|
|
1797
|
-
prefix: d.cssPrefix || "sl",
|
|
1798
|
-
sourceId: d.sourceId || "",
|
|
1799
|
-
spriteUrl: d.spriteUrl || "/assets/icons/{group}.png",
|
|
1800
|
-
algorithm: "binary-tree",
|
|
1801
|
-
spriteExportDir: d.spriteExportDir || "",
|
|
1802
|
-
lessExportDir: d.lessExportDir || ""
|
|
1803
|
-
};
|
|
1804
|
-
const cfg = await this.state.createConfig(assets, nextCfg);
|
|
1805
|
-
this.creating.set(false);
|
|
1806
|
-
this.notify.success("\u914D\u7F6E\u5DF2\u4FDD\u5B58");
|
|
1807
|
-
this.modalRef.close({ ok: true, cfg });
|
|
1808
|
-
}
|
|
1809
|
-
cancel() {
|
|
1810
|
-
this.modalRef.close();
|
|
1811
|
-
}
|
|
1812
|
-
static ctorParameters = () => [];
|
|
1813
|
-
};
|
|
1814
|
-
SpriteConfModalComponent = __decorate([
|
|
1815
|
-
Component({
|
|
1816
|
-
selector: "app-sprite-conf-modal",
|
|
1817
|
-
imports: [
|
|
1818
|
-
CommonModule,
|
|
1819
|
-
FormsModule,
|
|
1820
|
-
NzModalModule,
|
|
1821
|
-
NzCardModule,
|
|
1822
|
-
NzGridModule,
|
|
1823
|
-
NzStepsModule,
|
|
1824
|
-
NzButtonModule,
|
|
1825
|
-
NzInputModule,
|
|
1826
|
-
NzIconModule,
|
|
1827
|
-
NzSpinModule,
|
|
1828
|
-
StepBasicComponent,
|
|
1829
|
-
StepAdvanceComponent,
|
|
1830
|
-
StepSummaryAsideComponent
|
|
1831
|
-
],
|
|
1832
|
-
template: `
|
|
1833
|
-
<div nz-row nzJustify="center" >
|
|
1834
|
-
<div nz-col nzSpan="16">
|
|
1835
|
-
<nz-steps [nzCurrent]="step()">
|
|
1836
|
-
<nz-step nzTitle="\u8BE6\u60C5"></nz-step>
|
|
1837
|
-
<nz-step nzTitle="\u914D\u7F6E"></nz-step>
|
|
1838
|
-
</nz-steps>
|
|
1839
|
-
</div>
|
|
1840
|
-
</div>
|
|
1841
|
-
<div nz-row nzJustify="start" >
|
|
1842
|
-
<div nz-col nzSpan="24">
|
|
1843
|
-
<nz-spin [nzSpinning]="creating()">
|
|
1844
|
-
<div class="content">
|
|
1845
|
-
<div class="main">
|
|
1846
|
-
@switch(step()){ @case(0){
|
|
1847
|
-
<app-step-basic [draft]="draft()" />
|
|
1848
|
-
} @case(1){
|
|
1849
|
-
<app-step-advance [draft]="draft()" />
|
|
1850
|
-
}
|
|
1851
|
-
}
|
|
1852
|
-
<div class="actions">
|
|
1853
|
-
@if(step()===0){
|
|
1854
|
-
<button nz-button (click)="cancel()">
|
|
1855
|
-
<nz-icon nzType="close" nzTheme="outline" />
|
|
1856
|
-
\u53D6\u6D88
|
|
1857
|
-
</button>
|
|
1858
|
-
}
|
|
1859
|
-
@if(step() > 0){
|
|
1860
|
-
<button nz-button (click)="prev()">
|
|
1861
|
-
<nz-icon nzType="arrow-left" nzTheme="outline" />
|
|
1862
|
-
\u4E0A\u4E00\u6B65
|
|
1863
|
-
</button>
|
|
1864
|
-
}
|
|
1865
|
-
@if(canCreateHere()){
|
|
1866
|
-
<button nz-button nzType="primary" (click)="create()" >
|
|
1867
|
-
<nz-icon nzType="check" nzTheme="outline" />
|
|
1868
|
-
\u786E\u5B9A
|
|
1869
|
-
</button>
|
|
1870
|
-
} @else {
|
|
1871
|
-
<button nz-button nzType="primary" (click)="next()" [disabled]="!canNext() ">
|
|
1872
|
-
\u4E0B\u4E00\u6B65
|
|
1873
|
-
<nz-icon nzType="arrow-right" nzTheme="outline" />
|
|
1874
|
-
</button>
|
|
1875
|
-
}
|
|
1876
|
-
</div>
|
|
1877
|
-
</div>
|
|
1878
|
-
<div class="aside">
|
|
1879
|
-
<app-step-summary-aside [draft]="draft()" />
|
|
1880
|
-
</div>
|
|
1881
|
-
</div>
|
|
1882
|
-
</nz-spin>
|
|
1883
|
-
</div>
|
|
1884
|
-
</div>
|
|
1885
|
-
`,
|
|
1886
|
-
styles: [sprite_conf_modal_component_default]
|
|
1887
|
-
})
|
|
1888
|
-
], SpriteConfModalComponent);
|
|
1889
|
-
|
|
1890
|
-
// angular:jit:style:inline:src\app\pages\sprite\sprite-result-tabs.component.ts;CiAgICA6aG9zdHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgbnotdGFic3sKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgJjo6bmctZGVlcCAuYW50LXRhYnMtY29udGVudC1ob2xkZXJ7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAuYW50LXRhYnMtY29udGVudHsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICAuYW50LXRhYnMtdGFicGFuZXsKICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIA==
|
|
1891
|
-
var sprite_result_tabs_component_default = "/* angular:styles/component:less;401419e42ea612974332f37ae64f79232bb6823bf87868ff3fbbd15fae67b438;D:\\ng-manager\\webapp\\src\\app\\pages\\sprite\\sprite-result-tabs.component.ts */\n:host {\n display: block;\n height: 100%;\n}\n:host nz-tabs {\n height: 100%;\n}\n:host nz-tabs::ng-deep .ant-tabs-content-holder {\n height: 100%;\n}\n:host nz-tabs::ng-deep .ant-tabs-content-holder .ant-tabs-content {\n height: 100%;\n}\n:host nz-tabs::ng-deep .ant-tabs-content-holder .ant-tabs-content .ant-tabs-tabpane {\n height: 100%;\n}\n/*# sourceMappingURL=sprite-result-tabs.component.css.map */\n";
|
|
1892
|
-
|
|
1893
|
-
// src/app/pages/sprite/sprite-result-tabs.component.ts
|
|
1894
|
-
var SpriteResultTabsComponent = class SpriteResultTabsComponent2 {
|
|
1895
|
-
sprite = input(null);
|
|
1896
|
-
tabIndex = 0;
|
|
1897
|
-
static propDecorators = {
|
|
1898
|
-
sprite: [{ type: Input, args: [{ isSignal: true, alias: "sprite", required: false, transform: void 0 }] }]
|
|
1899
|
-
};
|
|
1900
|
-
};
|
|
1901
|
-
SpriteResultTabsComponent = __decorate([
|
|
1902
|
-
Component({
|
|
1903
|
-
selector: "app-sprite-result-tabs",
|
|
1904
|
-
imports: [
|
|
1905
|
-
CommonModule,
|
|
1906
|
-
NzTabsModule,
|
|
1907
|
-
NzEmptyModule,
|
|
1908
|
-
NzSelectModule,
|
|
1909
|
-
NzTagModule,
|
|
1910
|
-
SpriteImagesPanelComponent,
|
|
1911
|
-
SpriteIconsPanelComponent
|
|
1912
|
-
],
|
|
1913
|
-
template: `
|
|
1914
|
-
<!-- @if(!gen){
|
|
1915
|
-
<nz-empty nzNotFoundContent="\u8BF7\u5148\u751F\u6210\u96EA\u78A7\u56FE"></nz-empty>
|
|
1916
|
-
} @else { -->
|
|
1917
|
-
<nz-tabs [(nzSelectedIndex)]="tabIndex">
|
|
1918
|
-
<nz-tab nzTitle="\u56FE\u6807">
|
|
1919
|
-
<ng-template nz-tab>
|
|
1920
|
-
<app-sprite-icons-panel
|
|
1921
|
-
[sprite]="sprite()"
|
|
1922
|
-
/>
|
|
1923
|
-
</ng-template>
|
|
1924
|
-
</nz-tab>
|
|
1925
|
-
|
|
1926
|
-
<nz-tab nzTitle="\u56FE\u7247">
|
|
1927
|
-
<ng-template nz-tab>
|
|
1928
|
-
<app-sprite-images-panel [sprite]="sprite()"
|
|
1929
|
-
/>
|
|
1930
|
-
</ng-template>
|
|
1931
|
-
</nz-tab>
|
|
1932
|
-
</nz-tabs>
|
|
1933
|
-
<!-- } -->
|
|
1934
|
-
`,
|
|
1935
|
-
styles: [sprite_result_tabs_component_default]
|
|
1936
|
-
})
|
|
1937
|
-
], SpriteResultTabsComponent);
|
|
1938
|
-
|
|
1939
|
-
// src/app/pages/sprite/sprite.component.ts
|
|
1940
|
-
var import_dayjs = __toESM(require_dayjs_min());
|
|
1941
|
-
var SpriteComponent = class SpriteComponent2 {
|
|
1942
|
-
isDrawerOpen = false;
|
|
1943
|
-
loading = signal(false);
|
|
1944
|
-
cfg = signal(null);
|
|
1945
|
-
lastSyncAt = signal("N/A");
|
|
1946
|
-
sub = new Subscription();
|
|
1947
|
-
state = inject(SpriteStateService);
|
|
1948
|
-
modal = inject(NzModalService);
|
|
1949
|
-
svnStream = inject(SpriteStreamService);
|
|
1950
|
-
term;
|
|
1951
|
-
sprite = signal(null);
|
|
1952
|
-
async ngOnInit() {
|
|
1953
|
-
await this.loadConfig();
|
|
1954
|
-
if (this.isEmpty())
|
|
1955
|
-
return;
|
|
1956
|
-
const projectId = this.state.project()?.id;
|
|
1957
|
-
if (!projectId)
|
|
1958
|
-
return;
|
|
1959
|
-
const runtimes = await this.state.getSvnRuntimes();
|
|
1960
|
-
if (runtimes?.length) {
|
|
1961
|
-
runtimes.forEach((runtime) => {
|
|
1962
|
-
const lastSyncAt = runtime.lastSyncAt ? (0, import_dayjs.default)(runtime.lastSyncAt).format("YYYY-MM-DD HH:mm:ss") : "N/A";
|
|
1963
|
-
const lastStatus = runtime.lastStderr ? "\u5931\u8D25" : "\u6210\u529F";
|
|
1964
|
-
const desiredUrl = runtime.desiredUrl ? `${runtime.desiredUrl}` : "No desired URL";
|
|
1965
|
-
this.term?.writeln(`[\u66F4\u65B0\u65F6\u95F4]: ${lastSyncAt}`);
|
|
1966
|
-
this.term?.writeln(`[\u66F4\u65B0\u72B6\u6001]: ${lastStatus}`);
|
|
1967
|
-
this.term?.writeln(`[SVN \u8DEF\u5F84]: ${desiredUrl}`);
|
|
1968
|
-
this.term?.writeln(`-----------------------------`);
|
|
1969
|
-
if (runtime.sourceId === this.cfg()?.sourceId && runtime.lastSyncAt) {
|
|
1970
|
-
this.lastSyncAt.set((0, import_dayjs.default)(runtime.lastSyncAt).format("YYYY-MM-DD HH:mm:ss"));
|
|
1971
|
-
}
|
|
1972
|
-
});
|
|
1973
|
-
}
|
|
1974
|
-
const sprite = await this.state.getSprites();
|
|
1975
|
-
this.sprite.set(sprite);
|
|
1976
|
-
this.sub.add(this.svnStream.watchProject(projectId, 1e3));
|
|
1977
|
-
this.sub.add(this.svnStream.output$(projectId).subscribe((chunk) => {
|
|
1978
|
-
if (this.term) {
|
|
1979
|
-
this.term.write(chunk.text);
|
|
1980
|
-
}
|
|
1981
|
-
}));
|
|
1982
|
-
}
|
|
1983
|
-
ngOnDestroy() {
|
|
1984
|
-
if (this.term) {
|
|
1985
|
-
this.term.clear();
|
|
1986
|
-
}
|
|
1987
|
-
this.sub.unsubscribe();
|
|
1988
|
-
}
|
|
1989
|
-
isEmpty = computed(() => {
|
|
1990
|
-
const cfg = this.cfg();
|
|
1991
|
-
const p = this.state.project();
|
|
1992
|
-
return cfg && p?.assets?.iconsSvn || cfg?.sourceId ? false : true;
|
|
1993
|
-
});
|
|
1994
|
-
async loadConfig() {
|
|
1995
|
-
try {
|
|
1996
|
-
this.loading.set(true);
|
|
1997
|
-
const cfg = await this.state.loadConfig();
|
|
1998
|
-
this.cfg.set(cfg);
|
|
1999
|
-
this.loading.set(false);
|
|
2000
|
-
} catch (e) {
|
|
2001
|
-
this.loading.set(false);
|
|
2002
|
-
}
|
|
2003
|
-
}
|
|
2004
|
-
async generate() {
|
|
2005
|
-
this.loading.set(true);
|
|
2006
|
-
const sprite = await this.state.generate();
|
|
2007
|
-
this.sprite.set(sprite);
|
|
2008
|
-
this.loading.set(false);
|
|
2009
|
-
}
|
|
2010
|
-
async checkout() {
|
|
2011
|
-
this.loading.set(true);
|
|
2012
|
-
const results = await this.state.checkout();
|
|
2013
|
-
this.loading.set(false);
|
|
2014
|
-
}
|
|
2015
|
-
async streamCheckout() {
|
|
2016
|
-
this.loading.set(true);
|
|
2017
|
-
this.isDrawerOpen = true;
|
|
2018
|
-
await this.state.streamCheckout();
|
|
2019
|
-
this.loading.set(false);
|
|
2020
|
-
}
|
|
2021
|
-
openSettingModal() {
|
|
2022
|
-
const modal = this.modal.create({
|
|
2023
|
-
nzTitle: "\u96EA\u78A7\u56FE\u914D\u7F6E",
|
|
2024
|
-
nzFooter: null,
|
|
2025
|
-
nzKeyboard: false,
|
|
2026
|
-
nzMaskClosable: false,
|
|
2027
|
-
nzClosable: true,
|
|
2028
|
-
nzContent: SpriteConfModalComponent,
|
|
2029
|
-
nzData: {
|
|
2030
|
-
cfg: this.cfg()
|
|
2031
|
-
},
|
|
2032
|
-
nzWidth: "1020px",
|
|
2033
|
-
nzCentered: true
|
|
2034
|
-
});
|
|
2035
|
-
const instance = modal.getContentComponent();
|
|
2036
|
-
modal.afterClose.subscribe((data) => {
|
|
2037
|
-
if (data?.ok) {
|
|
2038
|
-
this.loadConfig();
|
|
2039
|
-
}
|
|
2040
|
-
});
|
|
2041
|
-
}
|
|
2042
|
-
static propDecorators = {
|
|
2043
|
-
term: [{ type: ViewChild, args: [TerminalViewComponent] }]
|
|
2044
|
-
};
|
|
2045
|
-
};
|
|
2046
|
-
SpriteComponent = __decorate([
|
|
2047
|
-
Component({
|
|
2048
|
-
selector: "app-sprite",
|
|
2049
|
-
imports: [
|
|
2050
|
-
CommonModule,
|
|
2051
|
-
FormsModule,
|
|
2052
|
-
NzGridModule,
|
|
2053
|
-
NzButtonModule,
|
|
2054
|
-
NzInputModule,
|
|
2055
|
-
NzIconModule,
|
|
2056
|
-
NzTooltipModule,
|
|
2057
|
-
NzTagModule,
|
|
2058
|
-
NzSpinModule,
|
|
2059
|
-
NzDividerModule,
|
|
2060
|
-
NzPopconfirmModule,
|
|
2061
|
-
NzPopoverModule,
|
|
2062
|
-
PageLayoutComponent,
|
|
2063
|
-
NzEmptyModule,
|
|
2064
|
-
NzDrawerModule,
|
|
2065
|
-
TerminalViewComponent,
|
|
2066
|
-
SpriteResultTabsComponent
|
|
2067
|
-
],
|
|
2068
|
-
template: `
|
|
2069
|
-
<app-page-layout [title]="'\u96EA\u78A7\u56FE'" [loading]="loading()" [isFullscreen]="true" [isOverflowYAuto]="false">
|
|
2070
|
-
<ng-container ngProjectAs="actions">
|
|
2071
|
-
@if(!isEmpty()){
|
|
2072
|
-
<button nz-button nzType="primary" (click)="generate()" nz-tooltip nzTooltipTitle="\u751F\u6210\u96EA\u78A7\u56FE">
|
|
2073
|
-
<nz-icon nzType="play-circle" nzTheme="outline"></nz-icon>
|
|
2074
|
-
<span>\u751F\u6210\u96EA\u78A7\u56FE</span>
|
|
2075
|
-
</button>
|
|
2076
|
-
<button nz-button nzType="primary" (click)="streamCheckout()" nz-tooltip nzTooltipTitle="\u4ECEsvn\u66F4\u65B0\u8D44\u6E90">
|
|
2077
|
-
<nz-icon nzType="sync" nzTheme="outline"></nz-icon>
|
|
2078
|
-
<span>\u540C\u6B65 {{lastSyncAt()}}</span>
|
|
2079
|
-
</button>
|
|
2080
|
-
}
|
|
2081
|
-
<button nz-button nzType="text" (click)="isDrawerOpen = !isDrawerOpen" nz-tooltip nzTooltipTitle="\u67E5\u770B\u65E5\u5FD7">
|
|
2082
|
-
<nz-icon nzType="desktop" nzTheme="outline"></nz-icon>
|
|
2083
|
-
</button>
|
|
2084
|
-
<button nz-button nzType="text" (click)="openSettingModal()" nz-tooltip nzTooltipTitle="\u914D\u7F6E\u96EA\u78A7\u56FE">
|
|
2085
|
-
<nz-icon nzType="setting" nzTheme="outline"></nz-icon>
|
|
2086
|
-
</button>
|
|
2087
|
-
</ng-container>
|
|
2088
|
-
<div class="page">
|
|
2089
|
-
<div class="content" [class.empty]="isEmpty()">
|
|
2090
|
-
@if(isEmpty()){
|
|
2091
|
-
<nz-empty
|
|
2092
|
-
[nzNotFoundContent]="contentTpl"
|
|
2093
|
-
[nzNotFoundFooter]="footerTpl">
|
|
2094
|
-
</nz-empty>
|
|
2095
|
-
}@else{
|
|
2096
|
-
<app-sprite-result-tabs [sprite]="sprite()"></app-sprite-result-tabs>
|
|
2097
|
-
}
|
|
2098
|
-
|
|
2099
|
-
</div>
|
|
2100
|
-
<div class="aside" [class.open]="isDrawerOpen">
|
|
2101
|
-
<app-terminal-view [style.height.%]="100"></app-terminal-view>
|
|
2102
|
-
</div>
|
|
2103
|
-
</div>
|
|
2104
|
-
</app-page-layout>
|
|
2105
|
-
<ng-template #contentTpl>
|
|
2106
|
-
<span>\u6682\u65E0\u96EA\u78A7\u56FE\u914D\u7F6E\uFF0C\u70B9\u51FB\u53F3\u4E0A\u89D2\u201C<nz-icon nzType="setting" nzTheme="outline"></nz-icon>\u201D \u65B0\u589E\u914D\u7F6E</span>
|
|
2107
|
-
</ng-template>
|
|
2108
|
-
<ng-template #footerTpl>
|
|
2109
|
-
<button nz-button nzType="primary" (click)="openSettingModal()">\u7ACB\u5373\u65B0\u589E</button>
|
|
2110
|
-
</ng-template>
|
|
2111
|
-
`,
|
|
2112
|
-
styles: [sprite_component_default]
|
|
2113
|
-
})
|
|
2114
|
-
], SpriteComponent);
|
|
2115
|
-
|
|
2116
|
-
// src/app/pages/sprite/sprite-routing.module.ts
|
|
2117
|
-
var routes = [
|
|
2118
|
-
{
|
|
2119
|
-
path: "",
|
|
2120
|
-
component: SpriteComponent
|
|
2121
|
-
}
|
|
2122
|
-
];
|
|
2123
|
-
var SpriteRoutingModule = class SpriteRoutingModule2 {
|
|
2124
|
-
};
|
|
2125
|
-
SpriteRoutingModule = __decorate([
|
|
2126
|
-
NgModule({
|
|
2127
|
-
imports: [RouterModule.forChild(routes)],
|
|
2128
|
-
exports: [RouterModule]
|
|
2129
|
-
})
|
|
2130
|
-
], SpriteRoutingModule);
|
|
2131
|
-
|
|
2132
|
-
// src/app/pages/sprite/sprite.module.ts
|
|
2133
|
-
var SpriteModule = class SpriteModule2 {
|
|
2134
|
-
};
|
|
2135
|
-
SpriteModule = __decorate([
|
|
2136
|
-
NgModule({
|
|
2137
|
-
declarations: [],
|
|
2138
|
-
imports: [
|
|
2139
|
-
CommonModule,
|
|
2140
|
-
SpriteRoutingModule
|
|
2141
|
-
]
|
|
2142
|
-
})
|
|
2143
|
-
], SpriteModule);
|
|
2144
|
-
export {
|
|
2145
|
-
SpriteModule
|
|
2146
|
-
};
|
|
2147
|
-
//# sourceMappingURL=chunk-UAN42EUZ.js.map
|