agentworkshop 0.7.41 → 0.7.44
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/.output/nitro.json +1 -1
- package/.output/public/_nuxt/B8uy9iRW.js +1 -0
- package/.output/public/_nuxt/BGTYYQH-.js +1 -0
- package/.output/public/_nuxt/BUmHEJ77.js +2 -0
- package/.output/public/_nuxt/BY7YrV_D.js +1 -0
- package/.output/public/_nuxt/Bqcgz95s.js +18 -0
- package/.output/public/_nuxt/C7UlqPeD.js +1 -0
- package/.output/public/_nuxt/CTmDn-YP.js +1 -0
- package/.output/public/_nuxt/Cs8pVeVG.js +1 -0
- package/.output/public/_nuxt/DKySmNPI.js +14 -0
- package/.output/public/_nuxt/Di0NY_ht.js +1 -0
- package/.output/public/_nuxt/Du9v6qGB.js +1 -0
- package/.output/public/_nuxt/{DGbd-UiG.js → EHlEMRii.js} +1 -1
- package/.output/public/_nuxt/Eke1fs-U.js +1 -0
- package/.output/public/_nuxt/{DeJykBFf.js → H0BcqZtT.js} +1 -1
- package/.output/public/_nuxt/{C4oW1HsE.js → HSYEkkce.js} +1 -1
- package/.output/public/_nuxt/{D_OTvQza.js → J9oU00D1.js} +1 -1
- package/.output/public/_nuxt/OmpTerminalPanel.BxR5-lvi.css +1 -0
- package/.output/public/_nuxt/SSyAPaHc.js +1 -0
- package/.output/public/_nuxt/TownView.li4EMQxK.css +1 -0
- package/.output/public/_nuxt/VdLk4jLE2.js +1 -0
- package/.output/public/_nuxt/_id_.BhsXoEuk.css +1 -0
- package/.output/public/_nuxt/_id_.DQyj-WKN.css +1 -0
- package/.output/public/_nuxt/{_wsId_.B4WiqkIS.css → _wsId_.CTx-BlfF.css} +1 -1
- package/.output/public/_nuxt/aShsv_rG.js +19 -0
- package/.output/public/_nuxt/{yF0aYMF1.js → aesgXKSr.js} +3 -3
- package/.output/public/_nuxt/agents.B21nUEUX.css +1 -0
- package/.output/public/_nuxt/aml.ekTjxFkf.css +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/b5506ef0-f48e-4f14-a6c0-d65e505d0b09.json +1 -0
- package/.output/public/_nuxt/channel-templates.DplM1pJ3.css +1 -0
- package/.output/public/_nuxt/daq.BdVmoIfe.css +1 -0
- package/.output/public/_nuxt/dcw.DCgyzpWV.css +1 -0
- package/.output/public/_nuxt/{default.J32SgqFY.css → default.Bh3L2HU8.css} +1 -1
- package/.output/public/_nuxt/lHAxdSsj.js +1 -0
- package/.output/public/_nuxt/pages.j9rzRocr.css +1 -0
- package/.output/public/_nuxt/plugins.DhiZbHU8.css +1 -0
- package/.output/public/_nuxt/settings.BRx9rIDg.css +1 -0
- package/.output/public/_nuxt/teams.BLlOPB_Z.css +1 -0
- package/.output/public/_nuxt/tokens.De8xzszn.css +1 -0
- package/.output/public/_nuxt/workshop.D1jFNkrn.css +1 -0
- package/.output/server/chunks/_/nitro.mjs +748 -733
- package/.output/server/chunks/build/{OmpTerminalPanel-Cu_s4i0A.mjs → OmpTerminalPanel-CVvxpsF7.mjs} +15 -15
- package/.output/server/chunks/build/{OmpTerminalPanel-Cu_s4i0A.mjs.map → OmpTerminalPanel-CVvxpsF7.mjs.map} +1 -1
- package/.output/server/chunks/build/{TownView--otsnr_7.mjs → TownView-CJ6IsDCc.mjs} +226 -225
- package/.output/server/chunks/build/{TownView--otsnr_7.mjs.map → TownView-CJ6IsDCc.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-Brv-JSvr.mjs → _id_-CVD_H0ir.mjs} +143 -142
- package/.output/server/chunks/build/_id_-CVD_H0ir.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-D9pl1OZy.mjs → _id_-CtxMb3qp.mjs} +41 -41
- package/.output/server/chunks/build/_id_-CtxMb3qp.mjs.map +1 -0
- package/.output/server/chunks/build/{_wsId_-BASfDf0s.mjs → _wsId_-DpY3T-md.mjs} +514 -444
- package/.output/server/chunks/build/{_wsId_-BASfDf0s.mjs.map → _wsId_-DpY3T-md.mjs.map} +1 -1
- package/.output/server/chunks/build/{agents-CLQqJF2y.mjs → agents-DsCkuXDV.mjs} +49 -46
- package/.output/server/chunks/build/agents-DsCkuXDV.mjs.map +1 -0
- package/.output/server/chunks/build/{aml-_7FdFL2p.mjs → aml-CT0xKGKI.mjs} +122 -105
- package/.output/server/chunks/build/aml-CT0xKGKI.mjs.map +1 -0
- package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs +117 -0
- package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs.map +1 -0
- package/.output/server/chunks/build/{channel-templates-p6SZNjlM.mjs → channel-templates-Dla9FbYa.mjs} +49 -37
- package/.output/server/chunks/build/channel-templates-Dla9FbYa.mjs.map +1 -0
- package/.output/server/chunks/build/{daq-DkMvD8sg.mjs → daq-DWWSKGAV.mjs} +89 -88
- package/.output/server/chunks/build/daq-DWWSKGAV.mjs.map +1 -0
- package/.output/server/chunks/build/{dcw-C1jgVJkO.mjs → dcw-CT8k17_E.mjs} +44 -43
- package/.output/server/chunks/build/dcw-CT8k17_E.mjs.map +1 -0
- package/.output/server/chunks/build/{default-BE4r0FZN.mjs → default-D3525UFX.mjs} +16 -15
- package/.output/server/chunks/build/{default-BE4r0FZN.mjs.map → default-D3525UFX.mjs.map} +1 -1
- package/.output/server/chunks/build/{monitor-C0okQaXz.mjs → monitor-Dh2Kvaq5.mjs} +2 -2
- package/.output/server/chunks/build/{monitor-C0okQaXz.mjs.map → monitor-Dh2Kvaq5.mjs.map} +1 -1
- package/.output/server/chunks/build/{pages-B0bUWnC6.mjs → pages-BHcSBM2D.mjs} +24 -18
- package/.output/server/chunks/build/pages-BHcSBM2D.mjs.map +1 -0
- package/.output/server/chunks/build/{plugins-lGlUr1lj.mjs → plugins-BNgIi61W.mjs} +23 -17
- package/.output/server/chunks/build/plugins-BNgIi61W.mjs.map +1 -0
- package/.output/server/chunks/build/{settings-Ddd1qx2Z.mjs → settings-ipYBDWdn.mjs} +45 -44
- package/.output/server/chunks/build/settings-ipYBDWdn.mjs.map +1 -0
- package/.output/server/chunks/build/{teams-MEDLZdMn.mjs → teams-5lx-CwFa.mjs} +47 -44
- package/.output/server/chunks/build/teams-5lx-CwFa.mjs.map +1 -0
- package/.output/server/chunks/build/{tokens-C7fTM5C2.mjs → tokens-q-IDT8Io.mjs} +73 -53
- package/.output/server/chunks/build/tokens-q-IDT8Io.mjs.map +1 -0
- package/.output/server/chunks/build/{town-CoQdblbZ.mjs → town-QJWB5wng.mjs} +3 -2
- package/.output/server/chunks/build/town-QJWB5wng.mjs.map +1 -0
- package/.output/server/chunks/build/{workshop-BL5bhfs0.mjs → workshop-BIlCj_ZP.mjs} +45 -45
- package/.output/server/chunks/build/workshop-BIlCj_ZP.mjs.map +1 -0
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/chunks/virtual/entry.mjs +637 -86
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/README-zh.md +13 -3
- package/README.md +13 -3
- package/app/components/AppHeader.vue +961 -959
- package/app/components/workshop/A2aRpcDebugger.vue +237 -237
- package/app/components/workshop/AgentInspectorDrawer.vue +424 -424
- package/app/components/workshop/AgentLanesView.vue +998 -998
- package/app/components/workshop/ArtifactCard.vue +120 -120
- package/app/components/workshop/AssetLibrary.vue +452 -452
- package/app/components/workshop/ChannelSessionList.vue +812 -804
- package/app/components/workshop/CommandPalette.vue +269 -269
- package/app/components/workshop/Composer.vue +827 -827
- package/app/components/workshop/DeviceTwinPanel.vue +643 -643
- package/app/components/workshop/EventBlock.vue +602 -602
- package/app/components/workshop/FileSelectorModal.vue +188 -188
- package/app/components/workshop/InspectorPanel.vue +301 -301
- package/app/components/workshop/MemoryPanel.vue +364 -364
- package/app/components/workshop/MultiChannelView.vue +189 -189
- package/app/components/workshop/TaskBoardView.vue +686 -686
- package/app/components/workshop/TaskInspectorDrawer.vue +390 -390
- package/app/components/workshop/TranscriptTimeline.vue +601 -601
- package/app/components/workshop/blocks/ClusterArtifact.vue +61 -61
- package/app/components/workshop/blocks/ClusterError.vue +85 -85
- package/app/components/workshop/blocks/ClusterLife.vue +87 -87
- package/app/components/workshop/blocks/ClusterMember.vue +95 -93
- package/app/components/workshop/blocks/ClusterMemory.vue +84 -84
- package/app/components/workshop/blocks/ClusterOther.vue +67 -67
- package/app/components/workshop/blocks/ClusterStatus.vue +149 -147
- package/app/components/workshop/blocks/ClusterTool.vue +158 -158
- package/app/components/workshop/terminal/OmpTerminalPanel.vue +1011 -1011
- package/app/components/workshop/town/TownView.vue +56 -56
- package/app/middleware/locale-cookie.global.ts +22 -0
- package/app/pages/aml/index.vue +24 -2
- package/app/pages/daq/[id].vue +11 -11
- package/app/pages/daq/index.vue +2316 -2316
- package/app/pages/dcw/[id].vue +18 -19
- package/app/pages/dcw/index.vue +3 -3
- package/app/pages/index.vue +987 -981
- package/app/pages/plugins/index.vue +317 -311
- package/app/pages/settings.vue +1564 -1562
- package/app/pages/tokens.vue +15 -15
- package/app/pages/workshop/agents.vue +612 -609
- package/app/pages/workshop/channel-templates.vue +18 -11
- package/app/pages/workshop/index.vue +668 -668
- package/app/pages/workshop/teams.vue +743 -740
- package/app/pages/workshop/w/[wsId].vue +704 -704
- package/app/plugins/locale-restore.client.ts +16 -1
- package/app/utils/builtin-catalog.ts +104 -0
- package/config.yml +170 -170
- package/docs/full-test-plan.md +2 -3
- package/i18n/locales/en.ts +293 -35
- package/i18n/locales/zh-CN.ts +265 -7
- package/package.json +2 -2
- package/scripts/_dbg-perms-e2e.mjs +132 -109
- package/scripts/_demo-agentteam-capture.mjs +278 -0
- package/scripts/_e2e-ui-functional.mjs +371 -0
- package/scripts/_i18n-en-cjk-scan.mjs +28 -0
- package/scripts/_i18n-en-verify.mjs +107 -0
- package/scripts/_i18n-extra-checks.mjs +53 -0
- package/scripts/_i18n-scan-hardcoded.mjs +180 -0
- package/scripts/_i18n-verify-keys.mjs +50 -0
- package/scripts/_loop-biax-campaign.mjs +15 -9
- package/scripts/_sweep-button-contrast.mjs +87 -0
- package/scripts/ui/record-demo.mjs +557 -0
- package/server/plugins-builtin/diag-bridge/index.mjs +608 -661
- package/server/plugins-builtin/rag-bridge/index.mjs +57 -133
- package/server/services/workshop/daq/drivers.ts +11 -0
- package/.output/public/_nuxt/88GOowgO2.js +0 -1
- package/.output/public/_nuxt/BN16aRdQ.js +0 -1
- package/.output/public/_nuxt/BWVhZntO.js +0 -1
- package/.output/public/_nuxt/BXxH0UQE.js +0 -1
- package/.output/public/_nuxt/BsROmY89.js +0 -1
- package/.output/public/_nuxt/C0ZrS1KL.js +0 -19
- package/.output/public/_nuxt/C4s_niy-.js +0 -14
- package/.output/public/_nuxt/D6mbFA-a.js +0 -1
- package/.output/public/_nuxt/DS8qj8EL.js +0 -1
- package/.output/public/_nuxt/DUjW5Yq5.js +0 -1
- package/.output/public/_nuxt/Dap5PmTL.js +0 -2
- package/.output/public/_nuxt/Dqw1lpr-.js +0 -1
- package/.output/public/_nuxt/DvLxILQP.js +0 -1
- package/.output/public/_nuxt/OmpTerminalPanel.B_Pl5Ynm.css +0 -1
- package/.output/public/_nuxt/TownView.f-YOdXRs.css +0 -1
- package/.output/public/_nuxt/_id_.D9ymtHB5.css +0 -1
- package/.output/public/_nuxt/_id_.jf-_8E_c.css +0 -1
- package/.output/public/_nuxt/agents.ZD0rVdHE.css +0 -1
- package/.output/public/_nuxt/aml.BN8ZEW4h.css +0 -1
- package/.output/public/_nuxt/builds/meta/78a295bb-2072-48a4-8b46-6d545fdae743.json +0 -1
- package/.output/public/_nuxt/channel-templates.BOtahzPi.css +0 -1
- package/.output/public/_nuxt/daq.DjSgY94l.css +0 -1
- package/.output/public/_nuxt/dcw.8Y7FqCVN.css +0 -1
- package/.output/public/_nuxt/eqq3wWQF.js +0 -18
- package/.output/public/_nuxt/pages.D7aSDlUI.css +0 -1
- package/.output/public/_nuxt/plugins.sb4nDGqr.css +0 -1
- package/.output/public/_nuxt/qr6R6Ha1.js +0 -1
- package/.output/public/_nuxt/settings.BTgR-NiE.css +0 -1
- package/.output/public/_nuxt/teams.CxnxKVVs.css +0 -1
- package/.output/public/_nuxt/tokens.BFY7qv4f.css +0 -1
- package/.output/public/_nuxt/workshop.CR_QzeAN.css +0 -1
- package/.output/server/chunks/build/_id_-Brv-JSvr.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-D9pl1OZy.mjs.map +0 -1
- package/.output/server/chunks/build/agents-CLQqJF2y.mjs.map +0 -1
- package/.output/server/chunks/build/aml-_7FdFL2p.mjs.map +0 -1
- package/.output/server/chunks/build/channel-templates-p6SZNjlM.mjs.map +0 -1
- package/.output/server/chunks/build/daq-DkMvD8sg.mjs.map +0 -1
- package/.output/server/chunks/build/dcw-C1jgVJkO.mjs.map +0 -1
- package/.output/server/chunks/build/pages-B0bUWnC6.mjs.map +0 -1
- package/.output/server/chunks/build/plugins-lGlUr1lj.mjs.map +0 -1
- package/.output/server/chunks/build/settings-Ddd1qx2Z.mjs.map +0 -1
- package/.output/server/chunks/build/teams-MEDLZdMn.mjs.map +0 -1
- package/.output/server/chunks/build/tokens-C7fTM5C2.mjs.map +0 -1
- package/.output/server/chunks/build/town-CoQdblbZ.mjs.map +0 -1
- package/.output/server/chunks/build/workshop-BL5bhfs0.mjs.map +0 -1
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.continue.json +0 -1
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.json +0 -1
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/054bb4bc4e4217a2ab0b0c6b663747214a9af464f5568ea60e784704e340bb0f.source +0 -153
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/0554197c3d2bac203a1f5c48a5d52495d1336db1bd7aa4f4c19875810363e684.source +0 -153
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/05c203d12a954fffba942e1d626e3f5fec05b18a5aef2bac003b7884a4b77406.source +0 -431
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/145a6e6ba811af35aed31e0cc3211f53706a14980fa069ee9e3c1591139f96f0.source +0 -180
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/1ae0fb281f97899c025e368ca73f41349b01fb5f85b19e08d7ebccff49095ed5.source +0 -112
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/20ee9967aa0541c516db7575bdd4a1a745939bc7016bd10d7635903113edb8ec.source +0 -227
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/233751843aeba9d4c5263f275b8102de00443c06f286918cbd23e0b6729e01aa.source +0 -131
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/263c2e05b425e5c322e60c6475279f963bab3a873eb521b21df7fec935a46597.source +0 -160
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/2ac5eaac28eaaee2178c4b32014df8e732f9dd432a285a872f5b7f31c1395fa4.source +0 -157
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/33a0db0d2d95d2c11d0720090458e5fba1425376f5ceb5b422d1d3471be3226b.source +0 -348
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/359e474ae83db35e4615d3728de6bf694b64d4dce9b536730a3b6518f9c0494a.source +0 -296
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/37a4c3c31c4b70f6b719c53d1e9c4fcba603f31adfdd11bb6ef9f0d094923c56.source +0 -285
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/461feca1c14a695eb8b0f17a6f95fe97eeceabc0510faaea4ba6d25bde147d8d.source +0 -217
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/4cfadbda8591f29d5e1e230dc000e701b756e850441b3900fb596a4d2f6e98c2.source +0 -301
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/50ca2810cf0b248c96948994c0c404531bbad6e553166b6816b3b03bfa0f75d2.source +0 -151
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/52d9e8cb591a9ae86e238c3620a610cd386717bee222c0f37b25b2ac7e523dc4.source +0 -135
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/6c87daafa4c006560a954636a97333f6123153c9d34d96203f7ee3a14e556357.source +0 -156
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/77bc47854b577900621cacf1697f81fa2bc005af129d37614a97a3441c08f99f.source +0 -72
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/7bbb789d3a527817118cf8399ed1861d6a962ade10878fd07223435d333a7089.source +0 -469
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/86b7c1daafc8b60ba9982dde5bf1bcc74265709483c176e71f23ec6fc267451f.source +0 -259
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/8df66d62bd41984d0970e8236882080c5085ac937d07a29779463d6a03b37c76.source +0 -97
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/9962f2d1b3a85137bd40cc835725600b39f89ee02a27c06b2e0402e1eafde115.source +0 -277
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/a1090ea066b792cb201739f4994e37bf7c12f52e805239a1eab87f18a537f266.source +0 -171
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/a5241091650134d0919897e086a606a3846c8b2b54f8b4c84a8696c145ac3e9e.source +0 -425
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/af19fa4c6e34d5540028be4b17600161283af3a2a2dfc61a3fdc0834436a0c14.source +0 -99
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/b3713d78e2b2f93905ff6be8d58a8d0a2f42dea322eb67c987fda22ff6a084d5.source +0 -325
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/b3849943c3aff102d1af815631fc843a2a52c17646a4b04696ece323e483bbec.source +0 -332
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/bac735a3803a6650b7f1eb8f587e6dc5c68ea055000c3c99a11789438b78e837.source +0 -43
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/d32c24d61eb8b33c73e5a8fc7e4dc7ef437aed238ee4371c2b00617e6104090a.source +0 -154
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/d5170dc9a9879fda04fdf91d8a110d4efb6787ee38dda596d4da899883d36a72.source +0 -531
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/dc59bcd7bb397be63ba2f2c3fec23f3782dcb17d2d75a9981eeced761f33eb32.source +0 -439
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/eb5ff8cf66b92aec7bf6726781d8df74faa2b030c3aaac17d6b00c1fc04c9b32.source +0 -323
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/f10615a6fae18436e70d1201b2d44fdae3174a3aa7bb4db97dea1b3ed291d721.source +0 -433
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/f36d3e271668bc1260c2823542d22dbf1d0f7041ff16b1ac175bce2256e582ca.source +0 -280
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/f94449380af09f31ac352152007146a75cc80bae8d6411ffe57b2c56f933b0ff.source +0 -117
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/fe4dfd81178fd6b648335f6405d9ede71319aebde796008e50db21f8adf44c99.source +0 -160
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/ffb4e3aa548cfdadabaa44ab599f9b6a3ca6288176a2cc7a4b2fc2a12b5fb848.source +0 -101
- package/scripts/.mimosa/hook-status/sess_aeaecb58-8833-4b83-b93c-050467d21e03-d944d71bb3.json +0 -14
- package/scripts/_dbg-audit-all-pages.mjs +0 -43
- package/scripts/_dbg-daq-frames-e2e.mjs +0 -118
- package/scripts/_dbg-daq-rowstyle-verify.mjs +0 -112
- package/scripts/_dbg-hitl-timeout-e2e.mjs +0 -93
- package/scripts/_dbg-live-line-e2e.mjs +0 -279
- package/scripts/_dbg-minimal-omp.mjs +0 -77
- package/scripts/_dbg-mode-nav.mjs +0 -173
- package/scripts/_dbg-real-scenario-timeline.log +0 -55
- package/scripts/_dbg-team-repro.mjs +0 -76
- package/scripts/_dbg-town-agents-probe.mjs +0 -60
- package/scripts/_dbg-visual-acceptance.mjs +0 -63
- package/scripts/_townview_style.css +0 -1185
- package/scripts/_townview_template.html +0 -1215
- package/server/data/agent-node-bindings.json +0 -554
- package/server/data/daq-templates.json +0 -16
- package/server/data/daqs.json +0 -7464
- package/server/data/dcw-lines.json +0 -1787
- package/server/data/dcw-products.json +0 -1626
- package/server/data/dcw-recipes.json +0 -4672
- package/server/data/dcw-rollback.json +0 -20754
- package/server/data/dcw-runs.json +0 -6354
- package/server/data/dcw-templates.json +0 -146
- package/server/data/dcw-writes.json +0 -15650
- package/server/data/dcws.json +0 -9033
- package/server/data/device-twins.json +0 -133
- package/server/data/line-runs.json +0 -322
- package/server/data/scene-layouts.json +0 -277
|
@@ -8,6 +8,7 @@ import { u as useTownBus } from './useTownBus-D9SoIsAN.mjs';
|
|
|
8
8
|
import { u as useDcwStream } from './useDcwStream-UPiX-3iO.mjs';
|
|
9
9
|
import { u as useDaqStream } from './useDaqStream-DfCFpb3p.mjs';
|
|
10
10
|
import { u as useDeviceTwins } from './useDeviceTwins-Yko6nNPF.mjs';
|
|
11
|
+
import { c as catalogTplName, t as townModelName, a as townModelHint } from './builtin-catalog-edpDcgfL.mjs';
|
|
11
12
|
import { shallowRef, ref, computed, toValue, watch, nextTick, defineComponent, reactive, mergeProps, unref, readonly, getCurrentScope, onScopeDispose, getCurrentInstance, toRef, customRef, useSSRContext } from 'vue';
|
|
12
13
|
import { ssrRenderAttrs, ssrRenderClass, ssrInterpolate, ssrRenderAttr, ssrIncludeBooleanAttr, ssrRenderComponent, ssrRenderList, ssrRenderStyle, ssrLooseContain, ssrLooseEqual } from 'vue/server-renderer';
|
|
13
14
|
import { bu as DAQ_TEMPLATES } from '../_/nitro.mjs';
|
|
@@ -627,8 +628,8 @@ var AssetLibrary_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
|
|
|
627
628
|
const deletingId = ref("");
|
|
628
629
|
const deleteMsg = ref("");
|
|
629
630
|
return (_ctx, _push, _parent, _attrs) => {
|
|
630
|
-
_push(`<aside${ssrRenderAttrs(mergeProps({ class: "asset-lib" }, _attrs))} data-v-
|
|
631
|
-
if (unref(dropActive)) _push(`<span class="drop-hint" data-v-
|
|
631
|
+
_push(`<aside${ssrRenderAttrs(mergeProps({ class: "asset-lib" }, _attrs))} data-v-f9b68f56><div class="lib-head" data-v-f9b68f56><span class="head-title" data-v-f9b68f56>${ssrInterpolate(_ctx.$t("assetLibrary.k7la4x5001"))}</span><span class="head-hint" data-v-f9b68f56>${ssrInterpolate(_ctx.$t("assetLibrary.kulif5b002"))}</span></div><div class="${ssrRenderClass([{ drop: unref(dropActive) }, "upload-box"])}" data-v-f9b68f56><label class="upload-row" data-v-f9b68f56><input type="file" accept=".glb,.gltf,.obj,.fbx" class="file-input" data-v-f9b68f56><span class="upload-name" data-v-f9b68f56><span class="i-tabler-plus upload-ico" data-v-f9b68f56></span> ${ssrInterpolate(unref(uploadFile)?.name || _ctx.$t("assetLibrary.k1iiort6010"))}</span></label>`);
|
|
632
|
+
if (unref(dropActive)) _push(`<span class="drop-hint" data-v-f9b68f56><span class="i-tabler-download" data-v-f9b68f56></span> ${ssrInterpolate(_ctx.$t("assetLibrary.k5hg6jq003"))}</span>`);
|
|
632
633
|
else _push(`<!---->`);
|
|
633
634
|
if (unref(uploadFile)) {
|
|
634
635
|
_push(`<!--[-->`);
|
|
@@ -636,31 +637,31 @@ var AssetLibrary_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
|
|
|
636
637
|
"local-file": unref(uploadFile),
|
|
637
638
|
height: 92
|
|
638
639
|
}, null, _parent));
|
|
639
|
-
else _push(`<span class="upload-file-tag" data-v-
|
|
640
|
-
_push(`<div class="upload-actions" data-v-
|
|
641
|
-
} else if (unref(uploading)) _push(`<span class="mini-err" data-v-
|
|
640
|
+
else _push(`<span class="upload-file-tag" data-v-f9b68f56>${ssrInterpolate(unref(uploadFile).name)} (${ssrInterpolate(_ctx.$t("assetLibrary.k1xz5wvk009"))}</span>`);
|
|
641
|
+
_push(`<div class="upload-actions" data-v-f9b68f56><button class="upload-btn go"${ssrIncludeBooleanAttr(unref(uploading)) ? " disabled" : ""} data-v-f9b68f56>${ssrInterpolate(unref(uploading) ? _ctx.$t("assetLibrary.k1ar7n8i005") : _ctx.$t("assetLibrary.k1hhga4h014"))}</button><button class="upload-btn"${ssrIncludeBooleanAttr(unref(uploading)) ? " disabled" : ""} data-v-f9b68f56>${ssrInterpolate(_ctx.$t("assetLibrary.k3xdnn004"))}</button></div><!--]-->`);
|
|
642
|
+
} else if (unref(uploading)) _push(`<span class="mini-err" data-v-f9b68f56>${ssrInterpolate(_ctx.$t("assetLibrary.k1ar7n8i005"))}</span>`);
|
|
642
643
|
else _push(`<!---->`);
|
|
643
|
-
if (unref(uploadError) && !unref(uploadFile)) _push(`<span class="mini-err" data-v-
|
|
644
|
+
if (unref(uploadError) && !unref(uploadFile)) _push(`<span class="mini-err" data-v-f9b68f56>${ssrInterpolate(unref(uploadError))}</span>`);
|
|
644
645
|
else _push(`<!---->`);
|
|
645
|
-
_push(`</div><div class="lib-grid" data-v-
|
|
646
|
+
_push(`</div><div class="lib-grid" data-v-f9b68f56><!--[-->`);
|
|
646
647
|
ssrRenderList(unref(deviceModels), (m) => {
|
|
647
|
-
_push(`<div class="model-card"${ssrRenderAttr("data-model-id", m.id)} draggable="true"${ssrRenderAttr("title",
|
|
648
|
+
_push(`<div class="model-card"${ssrRenderAttr("data-model-id", m.id)} draggable="true"${ssrRenderAttr("title", ("townModelHint" in _ctx ? _ctx.townModelHint : unref(townModelHint))(unref(t), m) || _ctx.$t("assetLibrary.katn7lo015", { p0: ("townModelName" in _ctx ? _ctx.townModelName : unref(townModelName))(unref(t), m) }))} data-v-f9b68f56>`);
|
|
648
649
|
if (isPreviewable(m.file)) _push(ssrRenderComponent(ModelPreview3D_default, {
|
|
649
650
|
file: m.file,
|
|
650
651
|
height: 76
|
|
651
652
|
}, null, _parent));
|
|
652
|
-
else _push(`<span class="model-img glb dev" data-v-
|
|
653
|
-
_push(`<span class="model-name" data-v-
|
|
654
|
-
if (m.file.includes("/assets/game/devices/")) _push(`<button class="card-btn danger"${ssrIncludeBooleanAttr(unref(deletingId) === m.id) ? " disabled" : ""} data-v-
|
|
653
|
+
else _push(`<span class="model-img glb dev" data-v-f9b68f56><span class="i-tabler-cpu glb-cube" aria-hidden="true" data-v-f9b68f56></span></span>`);
|
|
654
|
+
_push(`<span class="model-name" data-v-f9b68f56>${ssrInterpolate(("townModelName" in _ctx ? _ctx.townModelName : unref(townModelName))(unref(t), m))}</span><span class="model-badge" data-v-f9b68f56>${ssrInterpolate(_ctx.$t("assetLibrary.k1n32zs0006"))}</span><div class="card-actions" data-v-f9b68f56>`);
|
|
655
|
+
if (m.file.includes("/assets/game/devices/")) _push(`<button class="card-btn danger"${ssrIncludeBooleanAttr(unref(deletingId) === m.id) ? " disabled" : ""} data-v-f9b68f56>${ssrInterpolate(unref(deletingId) === m.id ? "…" : _ctx.$t("assetLibrary.k498l011"))}</button>`);
|
|
655
656
|
else _push(`<!---->`);
|
|
656
657
|
_push(`</div></div>`);
|
|
657
658
|
});
|
|
658
659
|
_push(`<!--]-->`);
|
|
659
|
-
if (!unref(assets).loaded) _push(`<div class="lib-note" data-v-
|
|
660
|
-
else if (unref(deviceModels).length === 0) _push(`<div class="lib-note" data-v-
|
|
660
|
+
if (!unref(assets).loaded) _push(`<div class="lib-note" data-v-f9b68f56><span class="loading-dot" data-v-f9b68f56></span> ${ssrInterpolate(_ctx.$t("assetLibrary.k1kq2tmi007"))}</div>`);
|
|
661
|
+
else if (unref(deviceModels).length === 0) _push(`<div class="lib-note" data-v-f9b68f56>${ssrInterpolate(_ctx.$t("assetLibrary.k15527e1008"))}</div>`);
|
|
661
662
|
else _push(`<!---->`);
|
|
662
663
|
_push(`</div>`);
|
|
663
|
-
if (unref(deleteMsg)) _push(`<span class="mini-msg" data-v-
|
|
664
|
+
if (unref(deleteMsg)) _push(`<span class="mini-msg" data-v-f9b68f56>${ssrInterpolate(unref(deleteMsg))}</span>`);
|
|
664
665
|
else _push(`<!---->`);
|
|
665
666
|
_push(`</aside>`);
|
|
666
667
|
};
|
|
@@ -674,7 +675,7 @@ AssetLibrary_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) =>
|
|
|
674
675
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/AssetLibrary.vue");
|
|
675
676
|
return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
|
|
676
677
|
};
|
|
677
|
-
var AssetLibrary_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(AssetLibrary_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
678
|
+
var AssetLibrary_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(AssetLibrary_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-f9b68f56"]]), { __name: "WorkshopAssetLibrary" });
|
|
678
679
|
//#endregion
|
|
679
680
|
//#region app/components/workshop/DaqTemplateIcon.vue?vue&type=script&setup=true&lang.ts
|
|
680
681
|
var DaqTemplateIcon_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
@@ -767,44 +768,44 @@ var DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
767
768
|
const dcwErrs = reactive({});
|
|
768
769
|
const dcwBusy = ref("");
|
|
769
770
|
return (_ctx, _push, _parent, _attrs) => {
|
|
770
|
-
_push(`<aside${ssrRenderAttrs(mergeProps({ class: "twin-panel" }, _attrs))} data-v-
|
|
771
|
-
if (unref(twins).error) _push(`<div class="twin-error" data-v-
|
|
771
|
+
_push(`<aside${ssrRenderAttrs(mergeProps({ class: "twin-panel" }, _attrs))} data-v-4878cdde><div class="twin-head" data-v-4878cdde><span class="twin-kicker" data-v-4878cdde>${ssrInterpolate(_ctx.$t("deviceTwinPanel.k7k6evr002"))}</span><span class="twin-count" data-v-4878cdde>${ssrInterpolate(unref(twins).twins.length)}</span></div>`);
|
|
772
|
+
if (unref(twins).error) _push(`<div class="twin-error" data-v-4878cdde>${ssrInterpolate(unref(twins).error)}</div>`);
|
|
772
773
|
else _push(`<!---->`);
|
|
773
|
-
if (!unref(twins).loaded) _push(`<div class="twin-empty" data-v-
|
|
774
|
-
else if (unref(twins).twins.length === 0) _push(`<div class="twin-empty" data-v-
|
|
774
|
+
if (!unref(twins).loaded) _push(`<div class="twin-empty" data-v-4878cdde>${ssrInterpolate(_ctx.$t("deviceTwinPanel.kkw7sn5003"))}</div>`);
|
|
775
|
+
else if (unref(twins).twins.length === 0) _push(`<div class="twin-empty" data-v-4878cdde><div class="twin-empty-frame" data-v-4878cdde><div class="twin-empty-title" data-v-4878cdde>${ssrInterpolate(_ctx.$t("deviceTwinPanel.k13y2qmg004"))}</div><div class="twin-empty-sub" data-v-4878cdde>${ssrInterpolate(_ctx.$t("deviceTwinPanel.kotf23l005"))}</div></div></div>`);
|
|
775
776
|
else {
|
|
776
|
-
_push(`<div class="twin-list" data-v-
|
|
777
|
+
_push(`<div class="twin-list" data-v-4878cdde><!--[-->`);
|
|
777
778
|
ssrRenderList(unref(twins).twins, (tw) => {
|
|
778
|
-
_push(`<button class="${ssrRenderClass([{ daq: isDaq(tw) }, "twin-card"])}" type="button" data-v-
|
|
779
|
+
_push(`<button class="${ssrRenderClass([{ daq: isDaq(tw) }, "twin-card"])}" type="button" data-v-4878cdde><div class="twin-row" data-v-4878cdde><span class="twin-model-tag" data-v-4878cdde>${ssrInterpolate(modelTag(tw.modelRef || tw.name))}</span><div class="twin-idbar" data-v-4878cdde><span class="twin-name" data-v-4878cdde>${ssrInterpolate(tw.name)}</span><span class="twin-code" data-v-4878cdde>${ssrInterpolate(isDaq(tw) ? "DAQ" : devNo(tw.id))}</span></div><button class="${ssrRenderClass([{ armed: unref(armedId) === tw.id }, "twin-del"])}"${ssrIncludeBooleanAttr(unref(busyId) === tw.id) ? " disabled" : ""}${ssrRenderAttr("title", unref(armedId) === tw.id ? _ctx.$t("deviceTwinPanel.armDelete") : _ctx.$t("deviceTwinPanel.delDevice"))} data-v-4878cdde>${ssrInterpolate(unref(armedId) === tw.id ? _ctx.$t("deviceTwinPanel.k44653007") : "✕")}</button><span class="${ssrRenderClass([`s-${tw.state}`, "twin-state"])}" data-v-4878cdde><i class="twin-state-dot" style="${ssrRenderStyle({ background: stateColor[tw.state] || "var(--hud-dim)" })}" data-v-4878cdde></i> ${ssrInterpolate(stateLabel[tw.state] || tw.state)}</span></div>`);
|
|
779
780
|
if (Object.keys(tw.telemetry).length) {
|
|
780
|
-
_push(`<div class="twin-tele" data-v-
|
|
781
|
+
_push(`<div class="twin-tele" data-v-4878cdde><!--[-->`);
|
|
781
782
|
ssrRenderList(tw.telemetry, (v, k) => {
|
|
782
|
-
_push(`<span class="tele-item" data-v-
|
|
783
|
+
_push(`<span class="tele-item" data-v-4878cdde><em data-v-4878cdde>${ssrInterpolate(k)}</em><b data-v-4878cdde>${ssrInterpolate(fmt(v))}</b></span>`);
|
|
783
784
|
});
|
|
784
785
|
_push(`<!--]--></div>`);
|
|
785
786
|
} else _push(`<!---->`);
|
|
786
787
|
if (__props.daqLive?.[tw.id]?.length) {
|
|
787
|
-
_push(`<div class="twin-daq" data-v-
|
|
788
|
+
_push(`<div class="twin-daq" data-v-4878cdde><!--[-->`);
|
|
788
789
|
ssrRenderList(__props.daqLive[tw.id], (d, i) => {
|
|
789
|
-
_push(`<span class="${ssrRenderClass([{ alarm: d.alarm }, "daq-item"])}" data-v-
|
|
790
|
+
_push(`<span class="${ssrRenderClass([{ alarm: d.alarm }, "daq-item"])}" data-v-4878cdde><em data-v-4878cdde>${ssrInterpolate(d.ch)}</em><b data-v-4878cdde>${ssrInterpolate(d.value)}<i data-v-4878cdde>${ssrInterpolate(d.unit)}</i></b></span>`);
|
|
790
791
|
});
|
|
791
792
|
_push(`<!--]--></div>`);
|
|
792
793
|
} else _push(`<!---->`);
|
|
793
794
|
if (__props.dcwLive?.[tw.id]?.length) {
|
|
794
|
-
_push(`<div class="twin-dcw" data-v-
|
|
795
|
+
_push(`<div class="twin-dcw" data-v-4878cdde><!--[-->`);
|
|
795
796
|
ssrRenderList(__props.dcwLive[tw.id], (r) => {
|
|
796
|
-
_push(`<div class="dcw-item" data-v-
|
|
797
|
-
if (r.src === "recipe") _push(`<i class="dcw-src" data-v-
|
|
797
|
+
_push(`<div class="dcw-item" data-v-4878cdde><div class="dcw-head" data-v-4878cdde><em data-v-4878cdde>${ssrInterpolate(r.ch)}`);
|
|
798
|
+
if (r.src === "recipe") _push(`<i class="dcw-src" data-v-4878cdde>${ssrInterpolate(_ctx.$t("deviceTwinPanel.k48grv006"))}</i>`);
|
|
798
799
|
else _push(`<!---->`);
|
|
799
|
-
_push(`</em><b class="dcw-set" data-v-
|
|
800
|
+
_push(`</em><b class="dcw-set" data-v-4878cdde>${ssrInterpolate(r.value != null ? r.value.toFixed(r.decimals) : "--")}<i data-v-4878cdde>${ssrInterpolate(r.unit)}</i></b></div>`);
|
|
800
801
|
if (r.readValue != null || r.lastReadAt) {
|
|
801
|
-
_push(`<div class="dcw-act"${ssrRenderAttr("title", _ctx.$t("deviceTwinPanel.k9r7d4e030"))} data-v-
|
|
802
|
-
if (r.lastReadAt) _push(`<i class="dcw-act-at" data-v-
|
|
802
|
+
_push(`<div class="dcw-act"${ssrRenderAttr("title", _ctx.$t("deviceTwinPanel.k9r7d4e030"))} data-v-4878cdde><em data-v-4878cdde>ACT</em><b data-v-4878cdde>${ssrInterpolate(r.readValue != null ? r.readValue.toFixed(r.decimals) : "--")}<i data-v-4878cdde>${ssrInterpolate(r.unit)}</i></b>`);
|
|
803
|
+
if (r.lastReadAt) _push(`<i class="dcw-act-at" data-v-4878cdde>${ssrInterpolate(r.lastReadAt.slice(11, 19))}</i>`);
|
|
803
804
|
else _push(`<!---->`);
|
|
804
805
|
_push(`</div>`);
|
|
805
806
|
} else _push(`<!---->`);
|
|
806
|
-
_push(`<div class="dcw-win" data-v-
|
|
807
|
-
if (unref(dcwErrs)[r.id]) _push(`<small class="dcw-err" data-v-
|
|
807
|
+
_push(`<div class="dcw-win" data-v-4878cdde><span${ssrRenderAttr("title", r.src === "recipe" ? _ctx.$t("deviceTwinPanel.winRecipe") : _ctx.$t("deviceTwinPanel.winRange"))} data-v-4878cdde>${ssrInterpolate(dcwWinText(r))}</span></div><div class="dcw-ctrl" data-v-4878cdde><input${ssrRenderAttr("value", unref(dcwDrafts)[r.id])} type="number" class="ctrl-input"${ssrRenderAttr("step", 10 ** -r.decimals)}${ssrRenderAttr("min", Number.isFinite(r.lo) ? r.lo : void 0)}${ssrRenderAttr("max", Number.isFinite(r.hi) ? r.hi : void 0)}${ssrRenderAttr("placeholder", `${Number.isFinite(r.lo) ? r.lo : ""} ~ ${Number.isFinite(r.hi) ? r.hi : ""}`)} data-v-4878cdde><button class="ctrl-btn dcw-send"${ssrIncludeBooleanAttr(unref(dcwDrafts)[r.id] == null || unref(dcwDrafts)[r.id] === "" || unref(dcwBusy) === r.id) ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("deviceTwinPanel.k1j04u8001"))} data-v-4878cdde>${ssrInterpolate(unref(dcwBusy) === r.id ? "···" : "SET")}</button></div>`);
|
|
808
|
+
if (unref(dcwErrs)[r.id]) _push(`<small class="dcw-err" data-v-4878cdde>${ssrInterpolate(unref(dcwErrs)[r.id])}</small>`);
|
|
808
809
|
else _push(`<!---->`);
|
|
809
810
|
_push(`</div>`);
|
|
810
811
|
});
|
|
@@ -814,7 +815,7 @@ var DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
814
815
|
});
|
|
815
816
|
_push(`<!--]--></div>`);
|
|
816
817
|
}
|
|
817
|
-
if (unref(ctrlMsg)) _push(`<span class="twin-err" data-v-
|
|
818
|
+
if (unref(ctrlMsg)) _push(`<span class="twin-err" data-v-4878cdde>${ssrInterpolate(unref(ctrlMsg))}</span>`);
|
|
818
819
|
else _push(`<!---->`);
|
|
819
820
|
_push(`</aside>`);
|
|
820
821
|
};
|
|
@@ -828,7 +829,7 @@ DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx)
|
|
|
828
829
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/DeviceTwinPanel.vue");
|
|
829
830
|
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
|
|
830
831
|
};
|
|
831
|
-
var DeviceTwinPanel_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
832
|
+
var DeviceTwinPanel_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-4878cdde"]]), { __name: "WorkshopDeviceTwinPanel" });
|
|
832
833
|
//#endregion
|
|
833
834
|
//#region app/composables/workshop/useSceneLayouts.ts
|
|
834
835
|
/**
|
|
@@ -1638,29 +1639,29 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
1638
1639
|
/** 智控流单例(写控制;与数采对称:模板目录/节点/场景/绑定) */
|
|
1639
1640
|
const dcw = useDcwStream();
|
|
1640
1641
|
/** 智控模板目录(server 权威;与 daqTemplates 同构投影) */
|
|
1641
|
-
const dcwTemplates = reactive(dcw.templates.map((
|
|
1642
|
-
id:
|
|
1643
|
-
name: t
|
|
1644
|
-
code:
|
|
1645
|
-
ch:
|
|
1646
|
-
unit:
|
|
1647
|
-
min:
|
|
1648
|
-
max:
|
|
1649
|
-
decimals:
|
|
1650
|
-
icon:
|
|
1642
|
+
const dcwTemplates = reactive(dcw.templates.map((tpl) => ({
|
|
1643
|
+
id: tpl.key,
|
|
1644
|
+
name: catalogTplName(t, tpl),
|
|
1645
|
+
code: tpl.code,
|
|
1646
|
+
ch: tpl.ch,
|
|
1647
|
+
unit: tpl.unit,
|
|
1648
|
+
min: tpl.min,
|
|
1649
|
+
max: tpl.max,
|
|
1650
|
+
decimals: tpl.decimals,
|
|
1651
|
+
icon: tpl.icon
|
|
1651
1652
|
})));
|
|
1652
1653
|
watch(() => dcw.templates, (list) => {
|
|
1653
1654
|
if (!list?.length) return;
|
|
1654
|
-
dcwTemplates.splice(0, dcwTemplates.length, ...list.map((
|
|
1655
|
-
id:
|
|
1656
|
-
name: t
|
|
1657
|
-
code:
|
|
1658
|
-
ch:
|
|
1659
|
-
unit:
|
|
1660
|
-
min:
|
|
1661
|
-
max:
|
|
1662
|
-
decimals:
|
|
1663
|
-
icon:
|
|
1655
|
+
dcwTemplates.splice(0, dcwTemplates.length, ...list.map((tpl) => ({
|
|
1656
|
+
id: tpl.key,
|
|
1657
|
+
name: catalogTplName(t, tpl),
|
|
1658
|
+
code: tpl.code,
|
|
1659
|
+
ch: tpl.ch,
|
|
1660
|
+
unit: tpl.unit,
|
|
1661
|
+
min: tpl.min,
|
|
1662
|
+
max: tpl.max,
|
|
1663
|
+
decimals: tpl.decimals,
|
|
1664
|
+
icon: tpl.icon
|
|
1664
1665
|
})));
|
|
1665
1666
|
}, {
|
|
1666
1667
|
immediate: true,
|
|
@@ -1703,33 +1704,33 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
1703
1704
|
return "running";
|
|
1704
1705
|
}
|
|
1705
1706
|
/** 左轨模板目录(server 权威:内置 + 自定义随 REST/WS 收敛;字段名兼容既有轨道模板标记) */
|
|
1706
|
-
const daqTemplates = reactive(DAQ_TEMPLATES.map((
|
|
1707
|
-
id:
|
|
1708
|
-
name: t
|
|
1709
|
-
code:
|
|
1710
|
-
ch:
|
|
1711
|
-
unit:
|
|
1712
|
-
base:
|
|
1713
|
-
amp:
|
|
1714
|
-
min:
|
|
1715
|
-
max:
|
|
1716
|
-
decimals:
|
|
1717
|
-
icon:
|
|
1707
|
+
const daqTemplates = reactive(DAQ_TEMPLATES.map((tpl) => ({
|
|
1708
|
+
id: tpl.key,
|
|
1709
|
+
name: catalogTplName(t, tpl),
|
|
1710
|
+
code: tpl.code,
|
|
1711
|
+
ch: tpl.ch,
|
|
1712
|
+
unit: tpl.unit,
|
|
1713
|
+
base: tpl.base,
|
|
1714
|
+
amp: tpl.amp,
|
|
1715
|
+
min: tpl.min,
|
|
1716
|
+
max: tpl.max,
|
|
1717
|
+
decimals: tpl.decimals,
|
|
1718
|
+
icon: tpl.icon
|
|
1718
1719
|
})));
|
|
1719
1720
|
watch(() => daq.templates, (list) => {
|
|
1720
1721
|
if (!list?.length) return;
|
|
1721
|
-
daqTemplates.splice(0, daqTemplates.length, ...list.map((
|
|
1722
|
-
id:
|
|
1723
|
-
name: t
|
|
1724
|
-
code:
|
|
1725
|
-
ch:
|
|
1726
|
-
unit:
|
|
1727
|
-
base:
|
|
1728
|
-
amp:
|
|
1729
|
-
min:
|
|
1730
|
-
max:
|
|
1731
|
-
decimals:
|
|
1732
|
-
icon:
|
|
1722
|
+
daqTemplates.splice(0, daqTemplates.length, ...list.map((tpl) => ({
|
|
1723
|
+
id: tpl.key,
|
|
1724
|
+
name: catalogTplName(t, tpl),
|
|
1725
|
+
code: tpl.code,
|
|
1726
|
+
ch: tpl.ch,
|
|
1727
|
+
unit: tpl.unit,
|
|
1728
|
+
base: tpl.base,
|
|
1729
|
+
amp: tpl.amp,
|
|
1730
|
+
min: tpl.min,
|
|
1731
|
+
max: tpl.max,
|
|
1732
|
+
decimals: tpl.decimals,
|
|
1733
|
+
icon: tpl.icon
|
|
1733
1734
|
})));
|
|
1734
1735
|
}, {
|
|
1735
1736
|
immediate: true,
|
|
@@ -2373,92 +2374,92 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
2373
2374
|
const _component_WorkshopAssetLibrary = AssetLibrary_default;
|
|
2374
2375
|
const _component_WorkshopDaqTemplateIcon = DaqTemplateIcon_default;
|
|
2375
2376
|
const _component_WorkshopDeviceTwinPanel = DeviceTwinPanel_default;
|
|
2376
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "town-view" }, _attrs))} data-v-
|
|
2377
|
-
if (unref(saveState) && unref(saveState).state !== "idle") _push(`<span class="${ssrRenderClass([`s-${unref(saveState).state}`, "save-chip"])}" data-v-
|
|
2377
|
+
_push(`<div${ssrRenderAttrs(mergeProps({ class: "town-view" }, _attrs))} data-v-7027783b><header class="${ssrRenderClass([{ "sheet-on": unref(sheetOpen) }, "topnav"])}" data-v-7027783b><div class="brand" data-v-7027783b><svg class="brand-glyph" viewBox="0 0 32 32" fill="none" aria-hidden="true" data-v-7027783b><path d="M16 2.5 27.5 9v14L16 29.5 4.5 23V9L16 2.5Z" stroke="#35e0a0" stroke-width="1.6" data-v-7027783b></path><path d="M16 8.2 22.5 12v8L16 23.8 9.5 20v-8L16 8.2Z" stroke="#41c8f4" stroke-width="1.3" opacity=".85" data-v-7027783b></path><circle cx="16" cy="16" r="2.4" fill="#35e0a0" data-v-7027783b></circle><circle cx="25.5" cy="7.5" r="1.6" fill="#41c8f4" data-v-7027783b></circle></svg><div data-v-7027783b><div class="brand-name" data-v-7027783b> DIGITAL <em data-v-7027783b>TWIN</em></div><div class="brand-sub" data-v-7027783b> AGENTWORKSHOP · ${ssrInterpolate(_ctx.$t("townView.klyi8yg127"))}</div></div></div><nav class="nav-tabs"${ssrRenderAttr("aria-label", _ctx.$t("townView.k1c9jyta001"))} data-v-7027783b><div class="seg" data-v-7027783b><button class="${ssrRenderClass({ on: unref(mode) === "browse" })}" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k48dwh027"))}</button><button class="${ssrRenderClass({ on: unref(mode) === "edit" })}" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k45eb0028"))}</button></div><button class="nav-action"${ssrIncludeBooleanAttr(unref(mode) !== "edit") ? " disabled" : ""}${ssrRenderAttr("title", unref(mode) === "edit" ? _ctx.$t("townView.saveLayoutTip") : _ctx.$t("townView.readonlyTip"))} data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1b3bk8t029"))}</button>`);
|
|
2378
|
+
if (unref(saveState) && unref(saveState).state !== "idle") _push(`<span class="${ssrRenderClass([`s-${unref(saveState).state}`, "save-chip"])}" data-v-7027783b>${ssrInterpolate(unref(saveStateLabel))}</span>`);
|
|
2378
2379
|
else _push(`<!---->`);
|
|
2379
|
-
_push(`</nav><div class="nav-right" data-v-
|
|
2380
|
+
_push(`</nav><div class="nav-right" data-v-7027783b><span class="${ssrRenderClass([{ "nav-bell-warn": unref(activeAlarmCount) > 0 }, "nav-chip mono"])}"${ssrRenderAttr("title", _ctx.$t("townView.k1fsi3ir002"))} data-v-7027783b>◉ ${ssrInterpolate(unref(activeAlarmCount))}</span><span class="nav-chip mono nav-fps" data-v-7027783b>${ssrInterpolate(unref(fps))} FPS</span><div class="avatar-chip nav-user"${ssrRenderAttr("title", _ctx.$t("townView.k1demf38003"))} data-v-7027783b><div class="avatar-fallback" data-v-7027783b>${ssrInterpolate((unref(userStore).user?.name ?? "OP").slice(0, 2).toUpperCase())}</div><span data-v-7027783b>${ssrInterpolate(unref(userStore).user?.name || _ctx.$t("townView.k1pub99m139"))}</span></div><button type="button" class="${ssrRenderClass([{ on: unref(sheetOpen) === "left" }, "sheet-btn"])}" aria-controls="town-rail-left"${ssrRenderAttr("aria-expanded", unref(sheetOpen) === "left" ? "true" : "false")}${ssrRenderAttr("title", _ctx.$t("townView.k1k75lzy030"))} data-v-7027783b><svg class="sheet-ico" viewBox="0 0 24 24" aria-hidden="true" data-v-7027783b><path d="M4 6h16M4 12h11M4 18h16" data-v-7027783b></path></svg><span class="sheet-btn-t" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1k75lzy030"))}</span></button><button type="button" class="${ssrRenderClass([{ on: unref(sheetOpen) === "right" }, "sheet-btn"])}" aria-controls="town-rail-right"${ssrRenderAttr("aria-expanded", unref(sheetOpen) === "right" ? "true" : "false")}${ssrRenderAttr("title", _ctx.$t("townView.k17dkhgd112"))} data-v-7027783b><svg class="sheet-ico" viewBox="0 0 24 24" aria-hidden="true" data-v-7027783b><path d="M20 6H4M20 12H9M20 18H4" data-v-7027783b></path></svg><span class="sheet-btn-t" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k17dkhgd112"))}</span></button></div></header><div class="app" data-v-7027783b><aside id="town-rail-left" class="${ssrRenderClass([{ "sheet-open": unref(sheetOpen) === "left" }, "rail rail-left"])}" data-v-7027783b><div class="sheet-hd" data-v-7027783b><span class="sheet-grip" aria-hidden="true" data-v-7027783b></span><span class="sheet-hd-t" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1k75lzy030"))}</span><button type="button" class="sheet-x"${ssrRenderAttr("aria-label", _ctx.$t("common.close"))} data-v-7027783b> ✕ </button></div><section class="panel" data-v-7027783b><div class="panel-hd" data-v-7027783b><h3 data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1k75lzy030"))}</h3><span class="panel-tag" data-v-7027783b>${ssrInterpolate(unref(deviceModels).length)}</span></div>`);
|
|
2380
2381
|
_push(ssrRenderComponent(_component_WorkshopAssetLibrary, { class: "lib-embed" }, null, _parent));
|
|
2381
|
-
_push(`</section><section class="panel" data-v-
|
|
2382
|
+
_push(`</section><section class="panel" data-v-7027783b><div class="panel-hd" data-v-7027783b><h3 data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k2gwyas031"))}</h3><span class="panel-tag" data-v-7027783b>${ssrInterpolate(unref(daqTwins).length)}</span></div><div class="daq-ctrl" data-v-7027783b><button class="${ssrRenderClass([{ on: unref(daq).controller.running }, "daq-ctl-btn"])}"${ssrRenderAttr("title", unref(daq).controller.running ? _ctx.$t("townView.daqPauseTip") : _ctx.$t("townView.daqResumeTip"))} data-v-7027783b>${ssrInterpolate(unref(daq).controller.running ? _ctx.$t("townView.k3w3j8f140") : _ctx.$t("townView.k3n93ed175"))}</button><label class="daq-ctl-cycle mono"${ssrRenderAttr("title", _ctx.$t("townView.khzlyf5004"))} data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k3xg3w032"))} <input type="number" min="200" max="60000" step="100"${ssrRenderAttr("value", unref(daq).controller.defaultIntervalMs)} data-v-7027783b>ms </label></div><div class="daq-list" data-v-7027783b><!--[-->`);
|
|
2382
2383
|
ssrRenderList(unref(daqTemplates), (tpl) => {
|
|
2383
|
-
_push(`<div class="daq-group" data-v-
|
|
2384
|
+
_push(`<div class="daq-group" data-v-7027783b><div class="${ssrRenderClass([{ open: !!unref(treeOpen)[`daq:${tpl.id}`] }, "daq-card tpl"])}" role="button" tabindex="0"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0001", {
|
|
2384
2385
|
p0: tpl.name,
|
|
2385
2386
|
p1: tpl.ch,
|
|
2386
2387
|
p2: tpl.min,
|
|
2387
2388
|
p3: tpl.max,
|
|
2388
2389
|
p4: tpl.unit
|
|
2389
|
-
}))} data-v-
|
|
2390
|
+
}))} data-v-7027783b><span class="daq-caret" data-v-7027783b>▶</span><span class="daq-ico" data-v-7027783b>`);
|
|
2390
2391
|
_push(ssrRenderComponent(_component_WorkshopDaqTemplateIcon, {
|
|
2391
2392
|
class: "daq-svg",
|
|
2392
2393
|
icon: tpl.icon
|
|
2393
2394
|
}, null, _parent));
|
|
2394
|
-
_push(`</span><div class="daq-meta" data-v-
|
|
2395
|
-
if (unref(mode) === "edit") _push(`<button class="daq-add"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0002", { p0: tpl.name }))} data-v-
|
|
2395
|
+
_push(`</span><div class="daq-meta" data-v-7027783b><span class="daq-name" data-v-7027783b>${ssrInterpolate(tpl.name)}</span><span class="daq-code" data-v-7027783b>${ssrInterpolate(tpl.code)}</span></div>`);
|
|
2396
|
+
if (unref(mode) === "edit") _push(`<button class="daq-add"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0002", { p0: tpl.name }))} data-v-7027783b> + </button>`);
|
|
2396
2397
|
else _push(`<!---->`);
|
|
2397
|
-
_push(`<span class="daq-count" data-v-
|
|
2398
|
+
_push(`<span class="daq-count" data-v-7027783b>×${ssrInterpolate(unref(daqNodesByTpl).get(tpl.id)?.length ?? 0)}</span></div>`);
|
|
2398
2399
|
if (unref(treeOpen)[`daq:${tpl.id}`]) {
|
|
2399
|
-
_push(`<div class="daq-children" data-v-
|
|
2400
|
+
_push(`<div class="daq-children" data-v-7027783b><!--[-->`);
|
|
2400
2401
|
ssrRenderList(unref(daqNodesByTpl).get(tpl.id) ?? [], (n) => {
|
|
2401
|
-
_push(`<div class="${ssrRenderClass([{ placed: typeof n.posX === "number" }, "daq-node"])}"${ssrRenderAttr("draggable", unref(mode) === "edit")}${ssrRenderAttr("title", typeof n.posX === "number" ? _ctx.$t("townView.k2tplxp0005") : _ctx.$t("townView.k2tplxp0006"))} data-v-
|
|
2402
|
-
if (typeof n.posX === "number") _push(`<span class="scene-cur" data-v-
|
|
2402
|
+
_push(`<div class="${ssrRenderClass([{ placed: typeof n.posX === "number" }, "daq-node"])}"${ssrRenderAttr("draggable", unref(mode) === "edit")}${ssrRenderAttr("title", typeof n.posX === "number" ? _ctx.$t("townView.k2tplxp0005") : _ctx.$t("townView.k2tplxp0006"))} data-v-7027783b><span class="${ssrRenderClass([daqLeafState(n), "node-dot"])}" data-v-7027783b></span><div class="daq-meta" data-v-7027783b><span class="daq-name" data-v-7027783b>${ssrInterpolate(n.name)}</span><span class="daq-node-sub" data-v-7027783b><span class="node-val mono" data-v-7027783b>${ssrInterpolate(n.value != null ? `${n.value.toFixed(tpl.decimals)} ${tpl.unit}` : "--")}</span><span class="node-dev" data-v-7027783b>${ssrInterpolate(n.deviceBindingId ? unref(deviceTwins).byId(n.deviceBindingId)?.name ?? _ctx.$t("townView.k3own4q148") : _ctx.$t("townView.k3own4q148"))}</span></span></div>`);
|
|
2403
|
+
if (typeof n.posX === "number") _push(`<span class="scene-cur" data-v-7027783b>✓</span>`);
|
|
2403
2404
|
else _push(`<!---->`);
|
|
2404
2405
|
_push(`</div>`);
|
|
2405
2406
|
});
|
|
2406
2407
|
_push(`<!--]-->`);
|
|
2407
|
-
if (!unref(daqNodesByTpl).get(tpl.id)?.length) _push(`<div class="daq-empty-hint" data-v-
|
|
2408
|
+
if (!unref(daqNodesByTpl).get(tpl.id)?.length) _push(`<div class="daq-empty-hint" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k2tplxp0003"))}</div>`);
|
|
2408
2409
|
else _push(`<!---->`);
|
|
2409
2410
|
_push(`</div>`);
|
|
2410
2411
|
} else _push(`<!---->`);
|
|
2411
2412
|
_push(`</div>`);
|
|
2412
2413
|
});
|
|
2413
|
-
_push(`<!--]--></div></section><section class="panel" data-v-
|
|
2414
|
+
_push(`<!--]--></div></section><section class="panel" data-v-7027783b><div class="panel-hd" data-v-7027783b><h3 data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.km7ayhi033"))}</h3><span class="panel-tag" data-v-7027783b>${ssrInterpolate(unref(dcw).nodes.length)}</span></div><div class="daq-list" data-v-7027783b><!--[-->`);
|
|
2414
2415
|
ssrRenderList(unref(dcwTemplates), (tpl) => {
|
|
2415
|
-
_push(`<div class="daq-group" data-v-
|
|
2416
|
+
_push(`<div class="daq-group" data-v-7027783b><div class="${ssrRenderClass([{ open: !!unref(treeOpen)[`dcw:${tpl.id}`] }, "daq-card tpl"])}" role="button" tabindex="0"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0001", {
|
|
2416
2417
|
p0: tpl.name,
|
|
2417
2418
|
p1: tpl.ch,
|
|
2418
2419
|
p2: tpl.min,
|
|
2419
2420
|
p3: tpl.max,
|
|
2420
2421
|
p4: tpl.unit
|
|
2421
|
-
}))} data-v-
|
|
2422
|
+
}))} data-v-7027783b><span class="daq-caret" data-v-7027783b>▶</span><span class="daq-ico" data-v-7027783b>`);
|
|
2422
2423
|
_push(ssrRenderComponent(_component_WorkshopDaqTemplateIcon, {
|
|
2423
2424
|
class: "daq-svg",
|
|
2424
2425
|
icon: tpl.icon
|
|
2425
2426
|
}, null, _parent));
|
|
2426
|
-
_push(`</span><div class="daq-meta" data-v-
|
|
2427
|
-
if (unref(mode) === "edit") _push(`<button class="daq-add"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0002", { p0: tpl.name }))} data-v-
|
|
2427
|
+
_push(`</span><div class="daq-meta" data-v-7027783b><span class="daq-name" data-v-7027783b>${ssrInterpolate(tpl.name)}</span><span class="daq-code" data-v-7027783b>${ssrInterpolate(tpl.code)}</span></div>`);
|
|
2428
|
+
if (unref(mode) === "edit") _push(`<button class="daq-add"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0002", { p0: tpl.name }))} data-v-7027783b> + </button>`);
|
|
2428
2429
|
else _push(`<!---->`);
|
|
2429
|
-
_push(`<span class="daq-count" data-v-
|
|
2430
|
+
_push(`<span class="daq-count" data-v-7027783b>×${ssrInterpolate(unref(dcwNodesByTpl).get(tpl.id)?.length ?? 0)}</span></div>`);
|
|
2430
2431
|
if (unref(treeOpen)[`dcw:${tpl.id}`]) {
|
|
2431
|
-
_push(`<div class="daq-children" data-v-
|
|
2432
|
+
_push(`<div class="daq-children" data-v-7027783b><!--[-->`);
|
|
2432
2433
|
ssrRenderList(unref(dcwNodesByTpl).get(tpl.id) ?? [], (n) => {
|
|
2433
|
-
_push(`<div class="${ssrRenderClass([{ placed: typeof n.posX === "number" }, "daq-node"])}"${ssrRenderAttr("draggable", unref(mode) === "edit")}${ssrRenderAttr("title", typeof n.posX === "number" ? _ctx.$t("townView.k2tplxp0005") : _ctx.$t("townView.k2tplxp0006"))} data-v-
|
|
2434
|
-
if (typeof n.posX === "number") _push(`<span class="scene-cur" data-v-
|
|
2434
|
+
_push(`<div class="${ssrRenderClass([{ placed: typeof n.posX === "number" }, "daq-node"])}"${ssrRenderAttr("draggable", unref(mode) === "edit")}${ssrRenderAttr("title", typeof n.posX === "number" ? _ctx.$t("townView.k2tplxp0005") : _ctx.$t("townView.k2tplxp0006"))} data-v-7027783b><span class="${ssrRenderClass([dcwLeafState(n), "node-dot"])}" data-v-7027783b></span><div class="daq-meta" data-v-7027783b><span class="daq-name" data-v-7027783b>${ssrInterpolate(n.name)}</span><span class="daq-node-sub" data-v-7027783b><span class="node-val mono" data-v-7027783b>${ssrInterpolate(n.value != null ? `${n.value.toFixed(tpl.decimals)} ${tpl.unit}` : "--")}</span><span class="node-dev" data-v-7027783b>${ssrInterpolate(n.deviceBindingId ? unref(deviceTwins).byId(n.deviceBindingId)?.name ?? _ctx.$t("townView.k3own4q148") : _ctx.$t("townView.k3own4q148"))}</span></span></div>`);
|
|
2435
|
+
if (typeof n.posX === "number") _push(`<span class="scene-cur" data-v-7027783b>✓</span>`);
|
|
2435
2436
|
else _push(`<!---->`);
|
|
2436
2437
|
_push(`</div>`);
|
|
2437
2438
|
});
|
|
2438
2439
|
_push(`<!--]-->`);
|
|
2439
|
-
if (!unref(dcwNodesByTpl).get(tpl.id)?.length) _push(`<div class="daq-empty-hint" data-v-
|
|
2440
|
+
if (!unref(dcwNodesByTpl).get(tpl.id)?.length) _push(`<div class="daq-empty-hint" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k2tplxp0003"))}</div>`);
|
|
2440
2441
|
else _push(`<!---->`);
|
|
2441
2442
|
_push(`</div>`);
|
|
2442
2443
|
} else _push(`<!---->`);
|
|
2443
2444
|
_push(`</div>`);
|
|
2444
2445
|
});
|
|
2445
|
-
_push(`<!--]--></div></section><section class="panel" data-v-
|
|
2446
|
+
_push(`<!--]--></div></section><section class="panel" data-v-7027783b><div class="panel-hd" data-v-7027783b><h3 data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1c9n911034"))}</h3><span class="panel-tag" data-v-7027783b>${ssrInterpolate(unref(dockChannels).length)}</span></div><div class="scene-list" data-v-7027783b><!--[-->`);
|
|
2446
2447
|
ssrRenderList(unref(dockChannels), (ch) => {
|
|
2447
|
-
_push(`<div class="${ssrRenderClass([{ active: ch.placed }, "scene-row"])}"${ssrRenderAttr("draggable", !ch.placed && unref(mode) === "edit")}${ssrRenderAttr("data-channel-id", ch.channelId)}${ssrRenderAttr("title", ch.placed ? "
|
|
2448
|
-
if (ch.placed) _push(`<span class="scene-cur" data-v-
|
|
2449
|
-
else _push(`<span class="scene-add" data-v-
|
|
2448
|
+
_push(`<div class="${ssrRenderClass([{ active: ch.placed }, "scene-row"])}"${ssrRenderAttr("draggable", !ch.placed && unref(mode) === "edit")}${ssrRenderAttr("data-channel-id", ch.channelId)}${ssrRenderAttr("title", ch.placed ? _ctx.$t("townView.chPlaced") : _ctx.$t("townView.chDragHint"))} data-v-7027783b><span class="scene-ico" style="${ssrRenderStyle({ "--ch": ch.color })}" data-v-7027783b></span><div class="scene-meta-wrap" data-v-7027783b><span class="scene-name" data-v-7027783b>${ssrInterpolate(ch.name)}</span><span class="scene-meta" data-v-7027783b>${ssrInterpolate(ch.agentCount)} ${ssrInterpolate(_ctx.$t("townView.k1brss7t128"))} ${ssrInterpolate(ch.placed ? _ctx.$t("townView.k3n94g3141") : _ctx.$t("townView.k3os7i3176"))}</span></div>`);
|
|
2449
|
+
if (ch.placed) _push(`<span class="scene-cur" data-v-7027783b>✓</span>`);
|
|
2450
|
+
else _push(`<span class="scene-add" data-v-7027783b>+</span>`);
|
|
2450
2451
|
_push(`</div>`);
|
|
2451
2452
|
});
|
|
2452
2453
|
_push(`<!--]-->`);
|
|
2453
|
-
if (unref(dockHint)) _push(`<div class="scene-hint" data-v-
|
|
2454
|
+
if (unref(dockHint)) _push(`<div class="scene-hint" data-v-7027783b>${ssrInterpolate(unref(dockHint))}</div>`);
|
|
2454
2455
|
else _push(`<!---->`);
|
|
2455
|
-
_push(`</div></section></aside><main class="stage-col" data-v-
|
|
2456
|
+
_push(`</div></section></aside><main class="stage-col" data-v-7027783b><div class="stage" data-v-7027783b><div id="town-host" class="town-host" data-v-7027783b></div><div class="stage-vignette" data-v-7027783b></div><div class="stage-top" data-v-7027783b><div class="vp-title" data-v-7027783b><h2 data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1b0z4vr035"))}</h2><span class="vp-id" data-v-7027783b>CH · ${ssrInterpolate(unref(activeChannelName) || _ctx.$t("townView.k3lkuz3142"))}</span></div><div class="vp-tools" data-v-7027783b><button class="vp-tool"${ssrRenderAttr("title", _ctx.$t("townView.k18d6wnb005"))} data-v-7027783b><svg class="vp-svg" viewBox="0 0 24 24" data-v-7027783b><circle cx="12" cy="12" r="7" data-v-7027783b></circle><path d="M12 2v4M12 18v4M2 12h4M18 12h4" data-v-7027783b></path></svg></button><button class="${ssrRenderClass([{ on: unref(orbitOn) }, "vp-tool"])}"${ssrRenderAttr("title", _ctx.$t("townView.k1io51dn006"))} data-v-7027783b><svg class="vp-svg" viewBox="0 0 24 24" data-v-7027783b><circle cx="12" cy="12" r="3.2" data-v-7027783b></circle><path d="M20.5 9a10 10 0 0 1 .3 4.5M3.5 15a10 10 0 0 1-.3-4.5" data-v-7027783b></path></svg></button><button class="${ssrRenderClass([{ on: unref(showCallouts) }, "vp-tool"])}"${ssrRenderAttr("title", _ctx.$t("townView.k1sgjlq8007"))} data-v-7027783b><svg class="vp-svg" viewBox="0 0 24 24" data-v-7027783b><path d="M4 8h12l4 4-4 4H4z" data-v-7027783b></path><circle cx="8.5" cy="12" r="1.4" data-v-7027783b></circle></svg></button><button class="vp-tool"${ssrRenderAttr("title", _ctx.$t("townView.k3wuf0008"))} data-v-7027783b><svg class="vp-svg" viewBox="0 0 24 24" data-v-7027783b><path d="M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5" data-v-7027783b></path></svg></button></div></div><div class="angle-chip" data-v-7027783b><select${ssrRenderAttr("value", unref(viewPreset))}${ssrRenderAttr("aria-label", _ctx.$t("townView.k1k4j5i7009"))} data-v-7027783b><option value="std" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.kv72860036"))}</option><option value="top" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.viewTop"))}</option><option value="front" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.viewFront"))}</option><option value="side" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.viewSide"))}</option></select></div>`);
|
|
2456
2457
|
if (unref(showCallouts)) {
|
|
2457
|
-
_push(`<!--[--><svg class="leaders" data-v-
|
|
2458
|
+
_push(`<!--[--><svg class="leaders" data-v-7027783b><!--[-->`);
|
|
2458
2459
|
ssrRenderList(unref(callouts), (c) => {
|
|
2459
|
-
_push(`<g class="${ssrRenderClass({ near: c.near })}" style="${ssrRenderStyle(c.leader ? null : { display: "none" })}" data-v-
|
|
2460
|
+
_push(`<g class="${ssrRenderClass({ near: c.near })}" style="${ssrRenderStyle(c.leader ? null : { display: "none" })}" data-v-7027783b><path${ssrRenderAttr("d", `M ${c.x} ${c.y - 8} L ${c.x} ${c.y - 2}`)}${ssrRenderAttr("stroke", c.warn ? "rgba(246,196,83,.8)" : "rgba(65,200,244,.55)")} stroke-width="1.3" fill="none" data-v-7027783b></path><circle${ssrRenderAttr("cx", c.x)}${ssrRenderAttr("cy", c.y)} r="2.6"${ssrRenderAttr("fill", c.warn ? "#f6c453" : "#41c8f4")} data-v-7027783b></circle></g>`);
|
|
2460
2461
|
});
|
|
2461
|
-
_push(`<!--]--></svg><div class="callout-layer" data-v-
|
|
2462
|
+
_push(`<!--]--></svg><div class="callout-layer" data-v-7027783b><!--[-->`);
|
|
2462
2463
|
ssrRenderList(unref(callouts), (c) => {
|
|
2463
2464
|
_push(`<div class="${ssrRenderClass([{
|
|
2464
2465
|
warn: c.warn,
|
|
@@ -2466,12 +2467,12 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
2466
2467
|
}, "callout"])}" style="${ssrRenderStyle({
|
|
2467
2468
|
left: c.x + "px",
|
|
2468
2469
|
top: c.y + "px"
|
|
2469
|
-
})}"${ssrRenderAttr("title", _ctx.$t("townView.k1ejxiwp010"))} data-v-
|
|
2470
|
+
})}"${ssrRenderAttr("title", _ctx.$t("townView.k1ejxiwp010"))} data-v-7027783b><div class="co-label" data-v-7027783b><span class="co-dot" data-v-7027783b></span>${ssrInterpolate(c.label)}</div><div class="co-val" data-v-7027783b>${ssrInterpolate(c.value)}<small data-v-7027783b>${ssrInterpolate(c.unit)}</small></div><div class="co-range" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1faqmjb073"))} ${ssrInterpolate(c.lo.toFixed(Math.min(2, (String(c.lo).split(".")[1] ?? "").length + 1)))} – ${ssrInterpolate(c.hi.toFixed(Math.min(2, (String(c.hi).split(".")[1] ?? "").length + 1)))}</div></div>`);
|
|
2470
2471
|
});
|
|
2471
2472
|
_push(`<!--]--></div><!--]-->`);
|
|
2472
2473
|
} else _push(`<!---->`);
|
|
2473
|
-
_push(`<div class="kpi-strip" data-v-
|
|
2474
|
-
if (unref(sceneEmpty)) _push(`<div class="empty-hint" data-v-
|
|
2474
|
+
_push(`<div class="kpi-strip" data-v-7027783b><div class="kpi" data-v-7027783b><span class="kpi-ico c1" data-v-7027783b><svg class="kpi-svg" viewBox="0 0 24 24" data-v-7027783b><path d="M4 8.5 12 4l8 4.5v7L12 20l-8-4.5v-7Z" data-v-7027783b></path><path d="M4 8.5l8 4.5 8-4.5M12 13v7" data-v-7027783b></path></svg></span><div class="kpi-meta" data-v-7027783b><div class="kpi-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1k6xemt037"))}</div><div class="kpi-val" data-v-7027783b>${ssrInterpolate(unref(deviceCount))}<small data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k49lh038"))}</small></div></div></div><div class="kpi" data-v-7027783b><span class="kpi-ico c2" data-v-7027783b><svg class="kpi-svg" viewBox="0 0 24 24" data-v-7027783b><path d="m5 12.5 4.5 4.5L19 7.5" data-v-7027783b></path></svg></span><div class="kpi-meta" data-v-7027783b><div class="kpi-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1l1a9t2039"))}</div><div class="kpi-val" data-v-7027783b>${ssrInterpolate(unref(runningCount))}<small data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k49lh038"))}</small></div></div></div><div class="kpi" data-v-7027783b><span class="kpi-ico c3" data-v-7027783b><svg class="kpi-svg" viewBox="0 0 24 24" data-v-7027783b><path d="M12 3 22 20H2L12 3Z" data-v-7027783b></path><path d="M12 10v4M12 17v.2" data-v-7027783b></path></svg></span><div class="kpi-meta" data-v-7027783b><div class="kpi-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1fsi3ir002"))}</div><div class="kpi-val" data-v-7027783b>${ssrInterpolate(unref(activeAlarmCount))}<small data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k4dfq040"))}</small></div></div></div><div class="kpi" data-v-7027783b><span class="kpi-ico c4" data-v-7027783b><svg class="kpi-svg" viewBox="0 0 24 24" data-v-7027783b><path d="M9.5 14.5 14.5 9.5" data-v-7027783b></path><path d="M11 6.5 12.8 4.7a4 4 0 0 1 5.6 5.6L16.5 12" data-v-7027783b></path><path d="m13 17.5-1.8 1.8a4 4 0 0 1-5.6-5.6L7.5 12" data-v-7027783b></path></svg></span><div class="kpi-meta" data-v-7027783b><div class="kpi-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1emsai1041"))}</div><div class="kpi-val" data-v-7027783b>${ssrInterpolate(unref(daqTwins).length)}<small data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k4l1w042"))}</small></div></div></div><div class="kpi" data-v-7027783b><span class="kpi-ico c5" data-v-7027783b><svg class="kpi-svg" viewBox="0 0 24 24" data-v-7027783b><path d="M5 19a9 9 0 1 1 14 0" data-v-7027783b></path><path d="M12 13l3.5-3.5" data-v-7027783b></path><circle cx="12" cy="13" r="1.4" data-v-7027783b></circle></svg></span><div class="kpi-meta" data-v-7027783b><div class="kpi-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.kbrxdq1043"))}</div><div class="kpi-val" data-v-7027783b>${ssrInterpolate(unref(healthPct))}<small data-v-7027783b>%</small></div></div></div></div>`);
|
|
2475
|
+
if (unref(sceneEmpty)) _push(`<div class="empty-hint" data-v-7027783b><b data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k3rwxjc044"))}</b><span data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1sa1eaj045"))}</span></div>`);
|
|
2475
2476
|
else _push(`<!---->`);
|
|
2476
2477
|
if (unref(selectedChannel) && unref(boundaryDraft)) {
|
|
2477
2478
|
_push(`<div class="boundary-panel drag-panel" style="${ssrRenderStyle(unref(panelPos).boundary ? {
|
|
@@ -2479,121 +2480,121 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
2479
2480
|
top: unref(panelPos).boundary.y + "px",
|
|
2480
2481
|
bottom: "auto",
|
|
2481
2482
|
transform: "none"
|
|
2482
|
-
} : void 0)}" data-v-
|
|
2483
|
-
if (unref(channelPanelTab) === "boundary") _push(`<!--[--><div class="bp-row" data-v-
|
|
2483
|
+
} : void 0)}" data-v-7027783b><div class="bp-title drag-grip"${ssrRenderAttr("title", _ctx.$t("townView.k1d0rl5z011"))} data-v-7027783b><span class="bp-name" data-v-7027783b>${ssrInterpolate(unref(entities).channels[unref(selectedChannel)]?.name ?? unref(selectedChannel).slice(0, 8))}</span><span class="bp-sub" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1mehlxs046"))}</span><div class="bp-tabs" data-v-7027783b><button class="${ssrRenderClass([{ on: unref(channelPanelTab) === "boundary" }, "bp-tab"])}" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k489ka047"))}</button><button class="${ssrRenderClass([{ on: unref(channelPanelTab) === "members" }, "bp-tab"])}" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k3ztf1129"))} ${ssrInterpolate(unref(channelMembers).length)}</button></div></div>`);
|
|
2484
|
+
if (unref(channelPanelTab) === "boundary") _push(`<!--[--><div class="bp-row" data-v-7027783b><span class="bp-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k3zhy5048"))}</span><div class="bp-seg" data-v-7027783b><button class="${ssrRenderClass([{ on: unref(boundaryDraft).shape === "ellipse" }, "seg-btn"])}" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k414bc049"))}</button><button class="${ssrRenderClass([{ on: unref(boundaryDraft).shape === "rect" }, "seg-btn"])}" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k43u0g050"))}</button></div></div><div class="bp-row" data-v-7027783b><span class="bp-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1fbz4s1051"))}</span><input${ssrRenderAttr("value", unref(boundaryDraft).radiusX)} class="bp-range" type="range" min="80" max="4000" step="8" style="${ssrRenderStyle({ "--fill": sliderPct(unref(boundaryDraft).radiusX, 80, 4e3) })}" data-v-7027783b><span class="bp-val" data-v-7027783b>${ssrInterpolate(Math.round(unref(boundaryDraft).radiusX))}</span></div><div class="bp-row" data-v-7027783b><span class="bp-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1ighwgs052"))}</span><input${ssrRenderAttr("value", unref(boundaryDraft).radiusZ)} class="bp-range" type="range" min="60" max="4000" step="8" style="${ssrRenderStyle({ "--fill": sliderPct(unref(boundaryDraft).radiusZ, 60, 4e3) })}" data-v-7027783b><span class="bp-val" data-v-7027783b>${ssrInterpolate(Math.round(unref(boundaryDraft).radiusZ))}</span></div><div class="bp-row" data-v-7027783b><span class="bp-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k40qab053"))}</span><input${ssrRenderAttr("value", unref(boundaryDraft).rotationY)} class="bp-range" type="range" min="0" max="360" step="5" style="${ssrRenderStyle({ "--fill": sliderPct(unref(boundaryDraft).rotationY ?? 0, 0, 360) })}" data-v-7027783b><span class="bp-val" data-v-7027783b>${ssrInterpolate(Math.round(unref(boundaryDraft).rotationY ?? 0))}°</span></div><!--]-->`);
|
|
2484
2485
|
else {
|
|
2485
|
-
_push(`<!--[--><div class="bp-hint" data-v-
|
|
2486
|
+
_push(`<!--[--><div class="bp-hint" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.kimxls2054"))}</div><div class="member-list" data-v-7027783b><!--[-->`);
|
|
2486
2487
|
ssrRenderList(unref(channelMembers), (m) => {
|
|
2487
|
-
_push(`<div class="member-row" data-v-
|
|
2488
|
+
_push(`<div class="member-row" data-v-7027783b><span class="member-ava" style="${ssrRenderStyle({ color: hashColor(unref(selectedChannel)) })}" data-v-7027783b>${ssrInterpolate(m.name.charAt(0).toUpperCase())}</span><div class="member-info" data-v-7027783b><span class="member-name" data-v-7027783b>${ssrInterpolate(m.name)}</span><span class="${ssrRenderClass([m.role === "lead" ? "r-lead" : "r-worker", "member-role"])}" data-v-7027783b>${ssrInterpolate(m.role === "lead" ? "Leader" : "Worker")}</span></div><select class="member-select"${ssrRenderAttr("value", (m.modelRef ?? "") || "hero-3d")} data-v-7027783b><!--[-->`);
|
|
2488
2489
|
ssrRenderList(unref(agentModels), (model) => {
|
|
2489
|
-
_push(`<option${ssrRenderAttr("value", model.id)} data-v-
|
|
2490
|
+
_push(`<option${ssrRenderAttr("value", model.id)} data-v-7027783b>${ssrInterpolate(model.name)}</option>`);
|
|
2490
2491
|
});
|
|
2491
2492
|
_push(`<!--]--></select></div>`);
|
|
2492
2493
|
});
|
|
2493
2494
|
_push(`<!--]-->`);
|
|
2494
|
-
if (unref(channelMembers).length === 0) _push(`<div class="bp-hint" data-v-
|
|
2495
|
+
if (unref(channelMembers).length === 0) _push(`<div class="bp-hint" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k419rbs055"))}</div>`);
|
|
2495
2496
|
else _push(`<!---->`);
|
|
2496
2497
|
_push(`</div><!--]-->`);
|
|
2497
2498
|
}
|
|
2498
|
-
_push(`<div class="bp-actions" data-v-
|
|
2499
|
-
if (unref(channelPanelTab) === "boundary") _push(`<button class="bp-btn save" data-v-
|
|
2499
|
+
_push(`<div class="bp-actions" data-v-7027783b>`);
|
|
2500
|
+
if (unref(channelPanelTab) === "boundary") _push(`<button class="bp-btn save" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1b3kp8f056"))}</button>`);
|
|
2500
2501
|
else _push(`<!---->`);
|
|
2501
|
-
_push(`<button class="bp-btn danger" data-v-
|
|
2502
|
+
_push(`<button class="bp-btn danger" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1hs45qg057"))}</button><button class="bp-btn" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k3x62t058"))}</button></div></div>`);
|
|
2502
2503
|
} else _push(`<!---->`);
|
|
2503
|
-
if (unref(lastDropText)) _push(`<div class="drop-chip" data-v-
|
|
2504
|
+
if (unref(lastDropText)) _push(`<div class="drop-chip" data-v-7027783b>${ssrInterpolate(unref(lastDropText))}</div>`);
|
|
2504
2505
|
else _push(`<!---->`);
|
|
2505
|
-
if (unref(errorText)) _push(`<div class="error-chip" data-v-
|
|
2506
|
+
if (unref(errorText)) _push(`<div class="error-chip" data-v-7027783b>${ssrInterpolate(unref(errorText))}</div>`);
|
|
2506
2507
|
else _push(`<!---->`);
|
|
2507
|
-
if (!unref(ready)) _push(`<div data-hud="town-loading" class="loading-mask" data-v-
|
|
2508
|
+
if (!unref(ready)) _push(`<div data-hud="town-loading" class="loading-mask" data-v-7027783b><div class="loading-spinner" data-v-7027783b></div><span class="loading-text" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.kvjdqfg059"))}</span></div>`);
|
|
2508
2509
|
else _push(`<!---->`);
|
|
2509
|
-
_push(`</div><div class="${ssrRenderClass([{ "dock-open": unref(dockOpen) }, "dock"])}" data-v-
|
|
2510
|
+
_push(`</div><div class="${ssrRenderClass([{ "dock-open": unref(dockOpen) }, "dock"])}" data-v-7027783b><button type="button" class="dock-toggle" aria-controls="town-dock-controls"${ssrRenderAttr("aria-expanded", unref(dockOpen) ? "true" : "false")} data-v-7027783b><span class="dock-toggle-t" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1c9iq23060"))}</span><span class="dock-toggle-hint mono" data-v-7027783b>${ssrInterpolate(unref(mode) === "edit" ? _ctx.$t("townView.k1iipfcs143") : _ctx.$t("townView.k1l147w1177"))}</span><span class="dock-caret" aria-hidden="true" data-v-7027783b>▾</span></button><section id="town-dock-controls" class="dock-card" data-v-7027783b><div class="dock-hd" data-v-7027783b><h3 data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1c9iq23060"))}</h3><span class="dock-mode" data-v-7027783b>${ssrInterpolate(unref(mode) === "edit" ? _ctx.$t("townView.k1iipfcs143") : _ctx.$t("townView.k1l147w1177"))}</span></div><p class="ctl-sec" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.secRender"))}</p><div class="ctl-row" data-v-7027783b><span class="ctl-name"${ssrRenderAttr("title", _ctx.$t("townView.qualityTip"))} data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.qualityLabel"))}</span><div class="fps-seg" data-v-7027783b><!--[-->`);
|
|
2510
2511
|
ssrRenderList(QUALITY_OPTIONS, (o) => {
|
|
2511
|
-
_push(`<button class="${ssrRenderClass({ on: unref(qualityMode) === o.v })}" data-v-
|
|
2512
|
+
_push(`<button class="${ssrRenderClass({ on: unref(qualityMode) === o.v })}" data-v-7027783b>${ssrInterpolate(_ctx.$t(o.label))}</button>`);
|
|
2512
2513
|
});
|
|
2513
|
-
_push(`<!--]--></div><span class="ctl-val" data-v-
|
|
2514
|
+
_push(`<!--]--></div><span class="ctl-val" data-v-7027783b></span></div><div class="ctl-row" data-v-7027783b><span class="ctl-name"${ssrRenderAttr("title", _ctx.$t("townView.fpsCapTip"))} data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.fpsCapLabel"))}</span><div class="fps-seg" data-v-7027783b><!--[-->`);
|
|
2514
2515
|
ssrRenderList(FPS_OPTIONS, (o) => {
|
|
2515
|
-
_push(`<button class="${ssrRenderClass({ on: unref(fpsCap) === o.v })}" data-v-
|
|
2516
|
+
_push(`<button class="${ssrRenderClass({ on: unref(fpsCap) === o.v })}" data-v-7027783b>${ssrInterpolate(o.label)}</button>`);
|
|
2516
2517
|
});
|
|
2517
|
-
_push(`<!--]--></div><span class="ctl-val" data-v-
|
|
2518
|
+
_push(`<!--]--></div><span class="ctl-val" data-v-7027783b></span></div><p class="ctl-sec" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.secEnv"))}</p><div class="ctl-row" data-v-7027783b><span class="ctl-name" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1gizopz061"))}</span><input class="ctl-range" type="range" min="30" max="220"${ssrRenderAttr("value", Math.round(unref(exposure) * 100))} style="${ssrRenderStyle({ "--fill": sliderPct(Math.round(unref(exposure) * 100), 30, 220) })}" data-v-7027783b><span class="ctl-val" data-v-7027783b>${ssrInterpolate(Math.round(unref(exposure) * 100))}%</span></div><div class="ctl-row" data-v-7027783b><span class="ctl-name" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1bcpqto062"))}</span><input class="ctl-range" type="range" min="10" max="100"${ssrRenderAttr("value", Math.round(unref(tintOpacity) * 100))} style="${ssrRenderStyle({ "--fill": sliderPct(Math.round(unref(tintOpacity) * 100), 10, 100) })}" data-v-7027783b><span class="ctl-val" data-v-7027783b>${ssrInterpolate(Math.round(unref(tintOpacity) * 100))}%</span></div><div class="ctl-row" data-v-7027783b><span class="ctl-name" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1bztha1063"))}</span><input class="ctl-range" type="range" min="60" max="120"${ssrRenderAttr("value", unref(threshPct))} style="${ssrRenderStyle({ "--fill": sliderPct(unref(threshPct), 60, 120) })}" data-v-7027783b><span class="ctl-val" data-v-7027783b>${ssrInterpolate(unref(threshPct))}%</span></div><div class="ctl-row" data-v-7027783b><span class="ctl-name"${ssrRenderAttr("title", _ctx.$t("townView.kz71l1f012"))} data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.ka4i1s9064"))}</span><input class="ctl-range" type="range" min="0" max="3000" step="50"${ssrRenderAttr("value", unref(calloutNearDist))} style="${ssrRenderStyle({ "--fill": sliderPct(unref(calloutNearDist), 0, 3e3) })}" data-v-7027783b><span class="ctl-val" data-v-7027783b>${ssrInterpolate(unref(calloutNearDist) === 0 ? _ctx.$t("townView.k493s144") : `${unref(calloutNearDist)}`)}</span></div><p class="ctl-sec" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.secOps"))}</p><div class="ctl-row" data-v-7027783b><span class="ctl-name" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1idc6pa065"))}</span><button class="${ssrRenderClass([{ on: unref(snap) }, "snap-toggle"])}" data-v-7027783b>${ssrInterpolate(unref(snap) ? _ctx.$t("townView.k4bs5145") : _ctx.$t("townView.k493s144"))}</button><span class="ctl-val" data-v-7027783b></span></div><div class="ctl-btns" data-v-7027783b><button class="btn btn-primary" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1lap9bs024"))}</button><button class="btn btn-ghost"${ssrIncludeBooleanAttr(unref(mode) !== "edit") ? " disabled" : ""}${ssrRenderAttr("title", unref(mode) === "edit" ? _ctx.$t("townView.ksavetip181") : _ctx.$t("townView.krotip182"))} data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1b3bk8t029"))}</button><button class="${ssrRenderClass([{ armed: unref(estop) }, "btn btn-danger"])}" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1i046wf066"))}</button></div></section><section class="dock-card" data-v-7027783b><div class="dock-hd" data-v-7027783b><h3 data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1kfoef9067"))}</h3><span class="dock-count mono" data-v-7027783b>${ssrInterpolate(unref(daqTwins).length)}</span><div class="${ssrRenderClass([{ expanded: unref(trendExpanded) }, "trend-legend"])}" data-v-7027783b><!--[-->`);
|
|
2518
2519
|
ssrRenderList(unref(trendChips), (chip) => {
|
|
2519
|
-
_push(`<button class="${ssrRenderClass([{ off: !trendOn(chip.id) }, "lg-chip"])}" data-v-
|
|
2520
|
+
_push(`<button class="${ssrRenderClass([{ off: !trendOn(chip.id) }, "lg-chip"])}" data-v-7027783b><span class="lg-dot" style="${ssrRenderStyle({ background: trendColor(chip.id) })}" data-v-7027783b></span>${ssrInterpolate(chip.name)}</button>`);
|
|
2520
2521
|
});
|
|
2521
2522
|
_push(`<!--]-->`);
|
|
2522
|
-
if (unref(trendOverflow) > 0) _push(`<button class="lg-chip lg-more mono"${ssrRenderAttr("title", unref(trendExpanded) ? _ctx.$t("townView.trendCollapse") : _ctx.$t("townView.trendExpandAll", { p0: unref(daqTwins).length }))} data-v-
|
|
2523
|
+
if (unref(trendOverflow) > 0) _push(`<button class="lg-chip lg-more mono"${ssrRenderAttr("title", unref(trendExpanded) ? _ctx.$t("townView.trendCollapse") : _ctx.$t("townView.trendExpandAll", { p0: unref(daqTwins).length }))} data-v-7027783b>${ssrInterpolate(unref(trendExpanded) ? _ctx.$t("townView.trendCollapse") : `+${unref(trendOverflow)}`)}</button>`);
|
|
2523
2524
|
else _push(`<!---->`);
|
|
2524
|
-
_push(`</div></div><div class="trend-wrap" data-v-
|
|
2525
|
-
if (!unref(daqTwins).length) _push(`<span class="trend-empty" data-v-
|
|
2525
|
+
_push(`</div></div><div class="trend-wrap" data-v-7027783b><canvas class="trend-cv" data-v-7027783b></canvas>`);
|
|
2526
|
+
if (!unref(daqTwins).length) _push(`<span class="trend-empty" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1uht2uv068"))}</span>`);
|
|
2526
2527
|
else _push(`<!---->`);
|
|
2527
|
-
_push(`</div></section></div></main><aside id="town-rail-right" class="${ssrRenderClass([{ "sheet-open": unref(sheetOpen) === "right" }, "rail rail-right"])}" data-v-
|
|
2528
|
+
_push(`</div></section></div></main><aside id="town-rail-right" class="${ssrRenderClass([{ "sheet-open": unref(sheetOpen) === "right" }, "rail rail-right"])}" data-v-7027783b><div class="sheet-hd" data-v-7027783b><span class="sheet-grip" aria-hidden="true" data-v-7027783b></span><span class="sheet-hd-t" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k17dkhgd112"))}</span><button type="button" class="sheet-x"${ssrRenderAttr("aria-label", _ctx.$t("common.close"))} data-v-7027783b> ✕ </button></div>`);
|
|
2528
2529
|
if (unref(selected)) {
|
|
2529
|
-
_push(`<section class="panel inspector" data-v-
|
|
2530
|
-
if (unref(selected).kind === "device" && unref(selectedIsDaq)) _push(`<span class="ins-chip accent" data-v-
|
|
2531
|
-
else if (unref(selected).kind === "device" && unref(selectedIsDcw)) _push(`<span class="ins-chip accent" data-v-
|
|
2530
|
+
_push(`<section class="panel inspector" data-v-7027783b><div class="panel-hd" data-v-7027783b><h3 data-v-7027783b>${ssrInterpolate(unref(selected).kind === "device" ? unref(selectedIsDcw) ? _ctx.$t("townView.k1ekqxlt146") : unref(selectedIsDaq) ? _ctx.$t("townView.k1empnnb178") : _ctx.$t("townView.k1k6wg8j185") : unref(selectedAgentRoleLabel))}</h3><button class="mini-btn"${ssrRenderAttr("title", _ctx.$t("townView.k1bsckft013"))} data-v-7027783b> ✕ </button></div><div class="ins-chip-row" data-v-7027783b><span class="ins-chip mono" data-v-7027783b>${ssrInterpolate(unref(selected).id.slice(0, 8))}</span>`);
|
|
2531
|
+
if (unref(selected).kind === "device" && unref(selectedIsDaq)) _push(`<span class="ins-chip accent" data-v-7027783b>DAQ</span>`);
|
|
2532
|
+
else if (unref(selected).kind === "device" && unref(selectedIsDcw)) _push(`<span class="ins-chip accent" data-v-7027783b>DCW</span>`);
|
|
2532
2533
|
else _push(`<!---->`);
|
|
2533
2534
|
_push(`</div>`);
|
|
2534
2535
|
if (unref(selected).kind === "device") {
|
|
2535
2536
|
_push(`<!--[-->`);
|
|
2536
2537
|
if (unref(selectedIsDcw)) {
|
|
2537
|
-
_push(`<div class="daq-info" data-v-
|
|
2538
|
-
if (unref(dcwWriteErrs)[unref(selected).id]) _push(`<p class="dcw-err" data-v-
|
|
2538
|
+
_push(`<div class="daq-info" data-v-7027783b><div class="daq-info-row" data-v-7027783b><span data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1deqh0d069"))}</span><b class="cy" data-v-7027783b>${ssrInterpolate(unref(selectedDcwNode)?.value != null ? unref(selectedDcwNode).value.toFixed(unref(selectedDcwNode).decimals) : "--")} ${ssrInterpolate(unref(selectedDcwNode)?.unit)}</b></div><div class="daq-info-row" data-v-7027783b><span data-v-7027783b>${ssrInterpolate(unref(selectedDcwWindow)?.src === "recipe" ? _ctx.$t("townView.kq2jssk147") : _ctx.$t("townView.k1iwj796179"))}</span><b class="${ssrRenderClass({ amber: unref(selectedDcwWindow)?.src === "recipe" })}" data-v-7027783b>${ssrInterpolate(dcwWinLabel(unref(selectedDcwNode)))}</b></div><div class="daq-info-row" data-v-7027783b><span data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1i8rtqt070"))}</span><b data-v-7027783b>${ssrInterpolate(unref(selectedDcwDeviceName) || _ctx.$t("townView.k3own4q148"))}</b></div><div class="daq-bind-bar" data-v-7027783b><input${ssrRenderAttr("value", unref(dcwWriteDrafts)[unref(selected).id])} type="number" class="bind-select"${ssrRenderAttr("step", 10 ** -(unref(selectedDcwNode)?.decimals ?? 2))}${ssrRenderAttr("placeholder", dcwWinInputPh(unref(selectedDcwNode)))} data-v-7027783b><button class="bind-add-btn"${ssrIncludeBooleanAttr(unref(dcwWriteDrafts)[unref(selected).id] == null || unref(dcwWriteDrafts)[unref(selected).id] === "") ? " disabled" : ""} data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.kwrbtn180"))}</button></div>`);
|
|
2539
|
+
if (unref(dcwWriteErrs)[unref(selected).id]) _push(`<p class="dcw-err" data-v-7027783b>${ssrInterpolate(unref(dcwWriteErrs)[unref(selected).id])}</p>`);
|
|
2539
2540
|
else _push(`<!---->`);
|
|
2540
2541
|
if (unref(mode) === "edit") {
|
|
2541
|
-
_push(`<div class="daq-bind-bar" data-v-
|
|
2542
|
+
_push(`<div class="daq-bind-bar" data-v-7027783b><select class="bind-select" data-v-7027783b><option value="" data-v-7027783b${ssrIncludeBooleanAttr(Array.isArray(unref(dcwBindPick)) ? ssrLooseContain(unref(dcwBindPick), "") : ssrLooseEqual(unref(dcwBindPick), "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.kjo6ekr071"))}</option><!--[-->`);
|
|
2542
2543
|
ssrRenderList(unref(deviceTwins).twins.filter((x) => !isLegacyDaqTwin(x) && x.id !== (unref(selected)?.id ?? "")), (dv) => {
|
|
2543
|
-
_push(`<option${ssrRenderAttr("value", dv.id)} data-v-
|
|
2544
|
+
_push(`<option${ssrRenderAttr("value", dv.id)} data-v-7027783b${ssrIncludeBooleanAttr(Array.isArray(unref(dcwBindPick)) ? ssrLooseContain(unref(dcwBindPick), dv.id) : ssrLooseEqual(unref(dcwBindPick), dv.id)) ? " selected" : ""}>${ssrInterpolate(dv.name)}</option>`);
|
|
2544
2545
|
});
|
|
2545
|
-
_push(`<!--]--></select><button class="bind-add-btn"${ssrIncludeBooleanAttr(!unref(selectedDcwDeviceName) && !unref(dcwBindPick)) ? " disabled" : ""} data-v-
|
|
2546
|
+
_push(`<!--]--></select><button class="bind-add-btn"${ssrIncludeBooleanAttr(!unref(selectedDcwDeviceName) && !unref(dcwBindPick)) ? " disabled" : ""} data-v-7027783b>${ssrInterpolate(unref(selectedDcwDeviceName) ? _ctx.$t("townView.k479eh149") : _ctx.$t("townView.k452a8102"))}</button></div>`);
|
|
2546
2547
|
} else _push(`<!---->`);
|
|
2547
2548
|
_push(`</div>`);
|
|
2548
2549
|
} else if (unref(selectedIsDaq)) {
|
|
2549
|
-
_push(`<div class="daq-info" data-v-
|
|
2550
|
+
_push(`<div class="daq-info" data-v-7027783b><div class="daq-info-row" data-v-7027783b><span data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k3mv305072"))}</span><b class="cy" data-v-7027783b>${ssrInterpolate(unref(selectedDaqSim) ? fmtDaq(unref(selectedDaqSim)) : "--")} ${ssrInterpolate(unref(selectedDaqSim)?.tpl.unit)}</b></div><div class="daq-info-row" data-v-7027783b><span data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1faqmjb073"))}</span><b data-v-7027783b>${ssrInterpolate(unref(selectedDaqSim)?.tpl.min)} ~ ${ssrInterpolate(unref(selectedDaqSim)?.tpl.max)}</b></div><div class="daq-info-row" data-v-7027783b><span data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1i8rtqt070"))}</span><b data-v-7027783b>${ssrInterpolate(unref(daqBoundDeviceName) || _ctx.$t("townView.k3own4q148"))}</b></div>`);
|
|
2550
2551
|
if (unref(mode) === "edit") {
|
|
2551
|
-
_push(`<div class="daq-bind-bar" data-v-
|
|
2552
|
+
_push(`<div class="daq-bind-bar" data-v-7027783b><select class="bind-select" data-v-7027783b><option value="" data-v-7027783b${ssrIncludeBooleanAttr(Array.isArray(unref(bindPick)) ? ssrLooseContain(unref(bindPick), "") : ssrLooseEqual(unref(bindPick), "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.kjo6ekr071"))}</option><!--[-->`);
|
|
2552
2553
|
ssrRenderList(unref(deviceTwins).twins.filter((x) => !isLegacyDaqTwin(x) && x.id !== (unref(selected)?.id ?? "")), (dv) => {
|
|
2553
|
-
_push(`<option${ssrRenderAttr("value", dv.id)} data-v-
|
|
2554
|
+
_push(`<option${ssrRenderAttr("value", dv.id)} data-v-7027783b${ssrIncludeBooleanAttr(Array.isArray(unref(bindPick)) ? ssrLooseContain(unref(bindPick), dv.id) : ssrLooseEqual(unref(bindPick), dv.id)) ? " selected" : ""}>${ssrInterpolate(dv.name)}</option>`);
|
|
2554
2555
|
});
|
|
2555
|
-
_push(`<!--]--></select><button class="bind-add-btn"${ssrIncludeBooleanAttr(!unref(daqBoundDeviceName) && !unref(bindPick)) ? " disabled" : ""} data-v-
|
|
2556
|
+
_push(`<!--]--></select><button class="bind-add-btn"${ssrIncludeBooleanAttr(!unref(daqBoundDeviceName) && !unref(bindPick)) ? " disabled" : ""} data-v-7027783b>${ssrInterpolate(unref(daqBoundDeviceName) ? _ctx.$t("townView.k479eh149") : _ctx.$t("townView.k452a8102"))}</button></div>`);
|
|
2556
2557
|
} else _push(`<!---->`);
|
|
2557
|
-
if (unref(mode) === "edit" && unref(selectedDaqNode)) _push(`<div class="daq-node-ctl" data-v-
|
|
2558
|
-
else _push(`<div class="ins-empty" data-v-
|
|
2558
|
+
if (unref(mode) === "edit" && unref(selectedDaqNode)) _push(`<div class="daq-node-ctl" data-v-7027783b><div class="daq-info-row" data-v-7027783b><span data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1l6g2ga074"))}</span><span class="daq-th-inputs" data-v-7027783b><input${ssrRenderAttr("value", unref(daqIntervalDraft))} type="number" min="200" max="60000" step="100" class="daq-num" data-v-7027783b><small data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1or92b075"))}</small></span></div><div class="daq-info-row" data-v-7027783b><span data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k3x5tpx076"))}</span><span class="daq-th-inputs" data-v-7027783b><input${ssrRenderAttr("value", unref(selectedDaqNode).warnLow)} type="number" step="any" class="daq-num" data-v-7027783b> ~ <input${ssrRenderAttr("value", unref(selectedDaqNode).warnHigh)} type="number" step="any" class="daq-num" data-v-7027783b></span></div><div class="daq-info-row" data-v-7027783b><span data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1hjj0jf077"))}</span><span class="daq-th-inputs" data-v-7027783b><input${ssrRenderAttr("value", unref(selectedDaqNode).min)} type="number" step="any" class="daq-num" data-v-7027783b> ~ <input${ssrRenderAttr("value", unref(selectedDaqNode).max)} type="number" step="any" class="daq-num" data-v-7027783b></span></div><div class="daq-info-row" data-v-7027783b><span data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k48tki078"))}</span><button class="${ssrRenderClass([{ warn: unref(selectedDaqNode).enabled }, "bind-add-btn"])}" data-v-7027783b>${ssrInterpolate(unref(selectedDaqNode).enabled ? _ctx.$t("townView.k1wv0nyo150") : _ctx.$t("townView.kh1586b180"))}</button></div><div class="daq-info-row" data-v-7027783b><span data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k3xakp079"))}</span><button class="bind-add-btn danger"${ssrRenderAttr("title", _ctx.$t("townView.kpwutri014"))} data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1bpp30k080"))}</button></div></div>`);
|
|
2559
|
+
else _push(`<div class="ins-empty" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.kzk5dfx081"))}</div>`);
|
|
2559
2560
|
_push(`</div>`);
|
|
2560
2561
|
} else {
|
|
2561
|
-
_push(`<!--[--><div class="obj-row" data-v-
|
|
2562
|
+
_push(`<!--[--><div class="obj-row" data-v-7027783b><span class="obj-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k3xhia082"))}</span><input${ssrRenderAttr("value", unref(objNameDraft))} class="obj-input"${ssrRenderAttr("placeholder", _ctx.$t("townView.k1k6vbaf015"))}${ssrIncludeBooleanAttr(unref(mode) !== "edit") ? " disabled" : ""}${ssrRenderAttr("title", unref(mode) === "edit" ? _ctx.$t("townView.deviceName") : _ctx.$t("townView.readonlyTip"))} data-v-7027783b></div><div class="obj-row" data-v-7027783b><span class="obj-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k41amp083"))}</span><select class="obj-select"${ssrRenderAttr("value", unref(scene3dRef)?.getDeviceModelRef?.(unref(selected).id) ?? "")}${ssrIncludeBooleanAttr(unref(mode) !== "edit") ? " disabled" : ""} data-v-7027783b><!--[-->`);
|
|
2562
2563
|
ssrRenderList(unref(deviceModels), (m) => {
|
|
2563
|
-
_push(`<option${ssrRenderAttr("value", m.id)} data-v-
|
|
2564
|
+
_push(`<option${ssrRenderAttr("value", m.id)} data-v-7027783b>${ssrInterpolate(("townModelName" in _ctx ? _ctx.townModelName : unref(townModelName))(unref(t), m))}</option>`);
|
|
2564
2565
|
});
|
|
2565
|
-
_push(`<!--]--></select></div><div class="sect-hd" data-v-
|
|
2566
|
+
_push(`<!--]--></select></div><div class="sect-hd" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1vtyk05130"))} ${ssrInterpolate(unref(boundDaqRows).length)} ${ssrInterpolate(_ctx.$t("townView.k3vfpz5138"))}</div><!--[-->`);
|
|
2566
2567
|
ssrRenderList(unref(boundDaqRows), (r) => {
|
|
2567
|
-
_push(`<div class="bind-row" data-v-
|
|
2568
|
+
_push(`<div class="bind-row" data-v-7027783b><span class="bind-ico" data-v-7027783b>`);
|
|
2568
2569
|
_push(ssrRenderComponent(_component_WorkshopDaqTemplateIcon, {
|
|
2569
2570
|
class: "bind-svg",
|
|
2570
2571
|
icon: r.icon
|
|
2571
2572
|
}, null, _parent));
|
|
2572
|
-
_push(`</span><span class="bind-meta" data-v-
|
|
2573
|
-
if (unref(mode) === "edit") _push(`<button class="bind-x"${ssrRenderAttr("title", _ctx.$t("townView.k1k73omv016"))} data-v-
|
|
2573
|
+
_push(`</span><span class="bind-meta" data-v-7027783b><span class="bind-label" data-v-7027783b>${ssrInterpolate(r.ch)}</span><span class="bind-val" data-v-7027783b><b data-v-7027783b>${ssrInterpolate(r.value)}</b> ${ssrInterpolate(r.unit)} · ${ssrInterpolate(r.name)}</span></span><canvas class="bind-spark" width="56" height="20" data-v-7027783b></canvas>`);
|
|
2574
|
+
if (unref(mode) === "edit") _push(`<button class="bind-x"${ssrRenderAttr("title", _ctx.$t("townView.k1k73omv016"))} data-v-7027783b> ✕ </button>`);
|
|
2574
2575
|
else _push(`<!---->`);
|
|
2575
2576
|
_push(`</div>`);
|
|
2576
2577
|
});
|
|
2577
2578
|
_push(`<!--]-->`);
|
|
2578
|
-
if (!unref(boundDaqRows).length) _push(`<div class="ins-empty" data-v-
|
|
2579
|
+
if (!unref(boundDaqRows).length) _push(`<div class="ins-empty" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.kgpuqhb084"))}</div>`);
|
|
2579
2580
|
else _push(`<!---->`);
|
|
2580
2581
|
if (unref(mode) === "edit") {
|
|
2581
|
-
_push(`<div class="bind-add-wrap" data-v-
|
|
2582
|
+
_push(`<div class="bind-add-wrap" data-v-7027783b><button class="bind-add" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.kvm0lin085"))}</button>`);
|
|
2582
2583
|
if (unref(bindPopOpen)) {
|
|
2583
|
-
_push(`<div class="bind-pop" style="${ssrRenderStyle({ maxHeight: `${unref(bindPopMaxH)}px` })}" data-v-
|
|
2584
|
+
_push(`<div class="bind-pop" style="${ssrRenderStyle({ maxHeight: `${unref(bindPopMaxH)}px` })}" data-v-7027783b><!--[-->`);
|
|
2584
2585
|
ssrRenderList(unref(daqTemplates), (tpl) => {
|
|
2585
2586
|
_push(`<!--[-->`);
|
|
2586
2587
|
if (unref(daqBindChoices)[tpl.id]?.length) {
|
|
2587
|
-
_push(`<div class="bp-group" data-v-
|
|
2588
|
+
_push(`<div class="bp-group" data-v-7027783b><span class="bp-tpl" data-v-7027783b>${ssrInterpolate(tpl.name)} · ${ssrInterpolate(tpl.ch)}</span><!--[-->`);
|
|
2588
2589
|
ssrRenderList(unref(daqBindChoices)[tpl.id], (c) => {
|
|
2589
|
-
_push(`<button${ssrRenderAttr("data-node-id", c.id)}${ssrRenderAttr("title", c.devName ? _ctx.$t("townView.k2bindr0007", { p0: c.devName }) : _ctx.$t("townView.k2bindr0008"))} data-v-
|
|
2590
|
+
_push(`<button${ssrRenderAttr("data-node-id", c.id)}${ssrRenderAttr("title", c.devName ? _ctx.$t("townView.k2bindr0007", { p0: c.devName }) : _ctx.$t("townView.k2bindr0008"))} data-v-7027783b>`);
|
|
2590
2591
|
_push(ssrRenderComponent(_component_WorkshopDaqTemplateIcon, {
|
|
2591
2592
|
class: "bind-svg",
|
|
2592
2593
|
icon: c.tpl.icon
|
|
2593
2594
|
}, null, _parent));
|
|
2594
|
-
_push(`<span data-v-
|
|
2595
|
-
if (c.devName) _push(`<i class="bp-cur" data-v-
|
|
2596
|
-
else if (!c.placed) _push(`<i class="bp-cur" data-v-
|
|
2595
|
+
_push(`<span data-v-7027783b>${ssrInterpolate(c.name)}`);
|
|
2596
|
+
if (c.devName) _push(`<i class="bp-cur" data-v-7027783b>→ ${ssrInterpolate(c.devName)}</i>`);
|
|
2597
|
+
else if (!c.placed) _push(`<i class="bp-cur" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k2bindr0009"))}</i>`);
|
|
2597
2598
|
else _push(`<!---->`);
|
|
2598
2599
|
_push(`</span></button>`);
|
|
2599
2600
|
});
|
|
@@ -2602,50 +2603,50 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
2602
2603
|
_push(`<!--]-->`);
|
|
2603
2604
|
});
|
|
2604
2605
|
_push(`<!--]-->`);
|
|
2605
|
-
if (!unref(daqBindChoiceCount)) _push(`<div class="bp-empty" data-v-
|
|
2606
|
+
if (!unref(daqBindChoiceCount)) _push(`<div class="bp-empty" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k2bindr0010"))}</div>`);
|
|
2606
2607
|
else _push(`<!---->`);
|
|
2607
2608
|
_push(`</div>`);
|
|
2608
2609
|
} else _push(`<!---->`);
|
|
2609
2610
|
_push(`</div>`);
|
|
2610
2611
|
} else _push(`<!---->`);
|
|
2611
|
-
_push(`<div class="sect-hd" data-v-
|
|
2612
|
+
_push(`<div class="sect-hd" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.ktzir2t131"))} ${ssrInterpolate(unref(boundDcwRows).length)} ${ssrInterpolate(_ctx.$t("townView.k4l1w042"))}</div><!--[-->`);
|
|
2612
2613
|
ssrRenderList(unref(boundDcwRows), (r) => {
|
|
2613
|
-
_push(`<div class="dcw-row" data-v-
|
|
2614
|
+
_push(`<div class="dcw-row" data-v-7027783b><div class="dcw-top" data-v-7027783b><span class="bind-ico" data-v-7027783b>`);
|
|
2614
2615
|
_push(ssrRenderComponent(_component_WorkshopDaqTemplateIcon, {
|
|
2615
2616
|
class: "bind-svg",
|
|
2616
2617
|
icon: r.icon
|
|
2617
2618
|
}, null, _parent));
|
|
2618
|
-
_push(`</span><span class="dcw-id" data-v-
|
|
2619
|
-
if (r.rMin != null || r.rMax != null) _push(`<i class="dcw-tag" data-v-
|
|
2619
|
+
_push(`</span><span class="dcw-id" data-v-7027783b><span class="bind-label" data-v-7027783b>${ssrInterpolate(r.ch)}`);
|
|
2620
|
+
if (r.rMin != null || r.rMax != null) _push(`<i class="dcw-tag" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k48grv086"))}</i>`);
|
|
2620
2621
|
else _push(`<!---->`);
|
|
2621
|
-
_push(`</span><span class="dcw-name" data-v-
|
|
2622
|
-
if (unref(mode) === "edit") _push(`<button class="bind-x"${ssrRenderAttr("title", _ctx.$t("townView.k1k73omv016"))} data-v-
|
|
2622
|
+
_push(`</span><span class="dcw-name" data-v-7027783b>${ssrInterpolate(r.name)}</span></span><span class="dcw-cur" data-v-7027783b><b data-v-7027783b>${ssrInterpolate(r.value != null ? r.value.toFixed(r.decimals) : "--")}</b><i data-v-7027783b>${ssrInterpolate(r.unit)}</i></span>`);
|
|
2623
|
+
if (unref(mode) === "edit") _push(`<button class="bind-x"${ssrRenderAttr("title", _ctx.$t("townView.k1k73omv016"))} data-v-7027783b> ✕ </button>`);
|
|
2623
2624
|
else _push(`<!---->`);
|
|
2624
|
-
_push(`</div><div class="${ssrRenderClass([{ recipe: r.rMin != null || r.rMax != null }, "dcw-win"])}" data-v-
|
|
2625
|
-
if (unref(dcwWriteErrs)[r.dcwId]) _push(`<small class="dcw-err" data-v-
|
|
2625
|
+
_push(`</div><div class="${ssrRenderClass([{ recipe: r.rMin != null || r.rMax != null }, "dcw-win"])}" data-v-7027783b><em data-v-7027783b>${ssrInterpolate(r.rMin != null || r.rMax != null ? _ctx.$t("townView.k1l3m0hx151") : _ctx.$t("townView.k1bc6rqf181"))}</em><span class="dcw-win-num" data-v-7027783b>${ssrInterpolate(r.rMin ?? "-∞")}</span><span class="dcw-win-track" data-v-7027783b><i style="${ssrRenderStyle({ left: `${dcwMarkPct(r)}%` })}" data-v-7027783b></i></span><span class="dcw-win-num" data-v-7027783b>${ssrInterpolate(r.rMax ?? "+∞")}</span></div><div class="dcw-write" data-v-7027783b><input${ssrRenderAttr("value", unref(dcwWriteDrafts)[r.dcwId])} type="number"${ssrRenderAttr("step", 10 ** -r.decimals)}${ssrRenderAttr("placeholder", `${r.rMin ?? r.gMin} ~ ${r.rMax ?? r.gMax}`)} data-v-7027783b><button class="dcw-send"${ssrIncludeBooleanAttr(unref(dcwWriteDrafts)[r.dcwId] == null || unref(dcwWriteDrafts)[r.dcwId] === "") ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("townView.k15t7izc017"))} data-v-7027783b> write </button></div>`);
|
|
2626
|
+
if (unref(dcwWriteErrs)[r.dcwId]) _push(`<small class="dcw-err" data-v-7027783b>${ssrInterpolate(unref(dcwWriteErrs)[r.dcwId])}</small>`);
|
|
2626
2627
|
else _push(`<!---->`);
|
|
2627
2628
|
_push(`</div>`);
|
|
2628
2629
|
});
|
|
2629
2630
|
_push(`<!--]-->`);
|
|
2630
|
-
if (!unref(boundDcwRows).length) _push(`<div class="ins-empty" data-v-
|
|
2631
|
+
if (!unref(boundDcwRows).length) _push(`<div class="ins-empty" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k10smf24087"))}</div>`);
|
|
2631
2632
|
else _push(`<!---->`);
|
|
2632
2633
|
if (unref(mode) === "edit") {
|
|
2633
|
-
_push(`<div class="bind-add-wrap" data-v-
|
|
2634
|
+
_push(`<div class="bind-add-wrap" data-v-7027783b><button class="bind-add" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.kvk1vh5088"))}</button>`);
|
|
2634
2635
|
if (unref(dcwBindPopOpen)) {
|
|
2635
|
-
_push(`<div class="bind-pop" style="${ssrRenderStyle({ maxHeight: `${unref(bindPopMaxH)}px` })}" data-v-
|
|
2636
|
+
_push(`<div class="bind-pop" style="${ssrRenderStyle({ maxHeight: `${unref(bindPopMaxH)}px` })}" data-v-7027783b><!--[-->`);
|
|
2636
2637
|
ssrRenderList(unref(dcwTemplates), (tpl) => {
|
|
2637
2638
|
_push(`<!--[-->`);
|
|
2638
2639
|
if (unref(dcwBindChoices)[tpl.id]?.length) {
|
|
2639
|
-
_push(`<div class="bp-group" data-v-
|
|
2640
|
+
_push(`<div class="bp-group" data-v-7027783b><span class="bp-tpl" data-v-7027783b>${ssrInterpolate(tpl.name)} · ${ssrInterpolate(tpl.ch)}</span><!--[-->`);
|
|
2640
2641
|
ssrRenderList(unref(dcwBindChoices)[tpl.id], (c) => {
|
|
2641
|
-
_push(`<button${ssrRenderAttr("data-node-id", c.id)}${ssrRenderAttr("title", c.devName ? _ctx.$t("townView.k2bindr0007", { p0: c.devName }) : _ctx.$t("townView.k2bindr0008"))} data-v-
|
|
2642
|
+
_push(`<button${ssrRenderAttr("data-node-id", c.id)}${ssrRenderAttr("title", c.devName ? _ctx.$t("townView.k2bindr0007", { p0: c.devName }) : _ctx.$t("townView.k2bindr0008"))} data-v-7027783b>`);
|
|
2642
2643
|
_push(ssrRenderComponent(_component_WorkshopDaqTemplateIcon, {
|
|
2643
2644
|
class: "bind-svg",
|
|
2644
2645
|
icon: c.tpl.icon
|
|
2645
2646
|
}, null, _parent));
|
|
2646
|
-
_push(`<span data-v-
|
|
2647
|
-
if (c.devName) _push(`<i class="bp-cur" data-v-
|
|
2648
|
-
else if (!c.placed) _push(`<i class="bp-cur" data-v-
|
|
2647
|
+
_push(`<span data-v-7027783b>${ssrInterpolate(c.name)}`);
|
|
2648
|
+
if (c.devName) _push(`<i class="bp-cur" data-v-7027783b>→ ${ssrInterpolate(c.devName)}</i>`);
|
|
2649
|
+
else if (!c.placed) _push(`<i class="bp-cur" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k2bindr0009"))}</i>`);
|
|
2649
2650
|
else _push(`<!---->`);
|
|
2650
2651
|
_push(`</span></button>`);
|
|
2651
2652
|
});
|
|
@@ -2654,123 +2655,123 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
2654
2655
|
_push(`<!--]-->`);
|
|
2655
2656
|
});
|
|
2656
2657
|
_push(`<!--]-->`);
|
|
2657
|
-
if (!unref(dcwBindChoiceCount)) _push(`<div class="bp-empty" data-v-
|
|
2658
|
+
if (!unref(dcwBindChoiceCount)) _push(`<div class="bp-empty" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k2bindr0010"))}</div>`);
|
|
2658
2659
|
else _push(`<!---->`);
|
|
2659
2660
|
_push(`</div>`);
|
|
2660
2661
|
} else _push(`<!---->`);
|
|
2661
2662
|
_push(`</div>`);
|
|
2662
2663
|
} else _push(`<!---->`);
|
|
2663
|
-
if (unref(mode) === "edit") _push(`<!--[--><div class="sect-hd" data-v-
|
|
2664
|
-
else _push(`<div class="ins-empty" data-v-
|
|
2664
|
+
if (unref(mode) === "edit") _push(`<!--[--><div class="sect-hd" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.transformBlender"))}</div><div class="xz-seg" data-v-7027783b><button class="${ssrRenderClass([{ on: unref(tMode) === "translate" }, "seg-btn"])}" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1hg3167089"))}</button><button class="${ssrRenderClass([{ on: unref(tMode) === "rotate" }, "seg-btn"])}" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1enlg7i090"))}</button><button class="${ssrRenderClass([{ on: unref(tMode) === "scale" }, "seg-btn"])}" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1ibjg3j091"))}</button></div><div class="scale-row" data-v-7027783b><span class="scale-min" data-v-7027783b>0.2×</span><input class="scale-range" type="range" min="0.2" max="5" step="0.05"${ssrRenderAttr("value", unref(selected).scale)} data-v-7027783b><span class="scale-max" data-v-7027783b>5×</span></div><div class="scale-val" data-v-7027783b>${ssrInterpolate(Math.round(unref(selected).scale * 100))}% </div><div class="ins-foot" data-v-7027783b><button class="${ssrRenderClass([{ armed: unref(deviceDeleteArmed) === unref(selected).id }, "btn btn-danger ins-del"])}" data-v-7027783b>${ssrInterpolate(unref(deviceDeleteArmed) === unref(selected).id ? _ctx.$t("townView.k1w10xa5152") : _ctx.$t("townView.k121kfef182"))}</button></div><!--]-->`);
|
|
2665
|
+
else _push(`<div class="ins-empty" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.kt0i3y2092"))}</div>`);
|
|
2665
2666
|
_push(`<!--]-->`);
|
|
2666
2667
|
}
|
|
2667
2668
|
_push(`<!--]-->`);
|
|
2668
2669
|
} else if (unref(selected).kind === "agent") {
|
|
2669
|
-
_push(`<!--[--><div class="chat-id-row" data-v-
|
|
2670
|
-
if (unref(selectedAgentMeta)?.harness) _push(`<span class="chat-harness" data-v-
|
|
2670
|
+
_push(`<!--[--><div class="chat-id-row" data-v-7027783b><span class="chat-badge" style="${ssrRenderStyle({ "--p-acc": unref(agentChatColor) })}" data-v-7027783b>${ssrInterpolate(unref(agentChatTitle).slice(0, 1).toUpperCase())}</span><div class="chat-nameplate" data-v-7027783b><span class="chat-name" data-v-7027783b>${ssrInterpolate(unref(agentChatTitle))}</span><span class="chat-meta" data-v-7027783b><span class="${ssrRenderClass([unref(selectedAgentMeta)?.role === "lead" ? "r-lead" : "r-worker", "chat-role"])}" data-v-7027783b>${ssrInterpolate(unref(selectedAgentRoleTag))}</span><span class="${ssrRenderClass([`s-${unref(selectedAgentMeta)?.state ?? "idle"}`, "chat-state"])}" data-v-7027783b>${ssrInterpolate(unref(agentChatStateLabel))}</span>`);
|
|
2671
|
+
if (unref(selectedAgentMeta)?.harness) _push(`<span class="chat-harness" data-v-7027783b>${ssrInterpolate(unref(selectedAgentMeta).harness.toUpperCase())}</span>`);
|
|
2671
2672
|
else _push(`<!---->`);
|
|
2672
|
-
_push(`<span class="chat-count" data-v-
|
|
2673
|
+
_push(`<span class="chat-count" data-v-7027783b>${ssrInterpolate(unref(agentHistory).length + unref(agentChatRows).length)} ${ssrInterpolate(_ctx.$t("townView.k4dfq040"))}</span></span></div></div><div class="obj-row" data-v-7027783b><span class="obj-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k41amp083"))}</span><select class="obj-select"${ssrRenderAttr("value", (unref(scene3dRef)?.getAgentModel?.(unref(selected).id) ?? "") || "hero-3d")}${ssrIncludeBooleanAttr(unref(mode) !== "edit") ? " disabled" : ""} data-v-7027783b><!--[-->`);
|
|
2673
2674
|
ssrRenderList(unref(agentModels), (m) => {
|
|
2674
|
-
_push(`<option${ssrRenderAttr("value", m.id)} data-v-
|
|
2675
|
+
_push(`<option${ssrRenderAttr("value", m.id)} data-v-7027783b>${ssrInterpolate(m.name)}</option>`);
|
|
2675
2676
|
});
|
|
2676
|
-
_push(`<!--]--></select></div><div class="obj-sep" data-v-
|
|
2677
|
-
if (unref(mode) === "edit") _push(`<button class="${ssrRenderClass([{ on: unref(agentDrawingRange) }, "obj-mini"])}"${ssrRenderAttr("title", _ctx.$t("townView.k13enoy3018"))} data-v-
|
|
2677
|
+
_push(`<!--]--></select></div><div class="obj-sep" data-v-7027783b></div><div class="obj-row" data-v-7027783b><span class="obj-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1fix3hb093"))}</span><span class="range-status" data-v-7027783b>${ssrInterpolate(unref(agentRangeStatusText))}</span>`);
|
|
2678
|
+
if (unref(mode) === "edit") _push(`<button class="${ssrRenderClass([{ on: unref(agentDrawingRange) }, "obj-mini"])}"${ssrRenderAttr("title", _ctx.$t("townView.k13enoy3018"))} data-v-7027783b>${ssrInterpolate(unref(agentDrawingRange) ? _ctx.$t("townView.k3slzhc153") : _ctx.$t("townView.k1f1xmci183"))}</button>`);
|
|
2678
2679
|
else _push(`<!---->`);
|
|
2679
|
-
_push(`</div><div class="obj-sep" data-v-
|
|
2680
|
+
_push(`</div><div class="obj-sep" data-v-7027783b></div><div class="sect-hd" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1p7nru2094"))}</div><!--[-->`);
|
|
2680
2681
|
ssrRenderList(unref(agentBindings), (b) => {
|
|
2681
|
-
_push(`<div class="bind-row" data-v-
|
|
2682
|
+
_push(`<div class="bind-row" data-v-7027783b><span class="${ssrRenderClass([b.kind === "dcw" ? "accent" : "", "ins-chip"])}" style="${ssrRenderStyle({ "flex": "none" })}" data-v-7027783b>${ssrInterpolate(b.kind === "dcw" ? _ctx.$t("townView.k40ifw097") : _ctx.$t("townView.k40rjw098"))}</span><span class="bind-meta" data-v-7027783b><span class="bind-label" data-v-7027783b>${ssrInterpolate(bindingNodeName(b))}</span><select class="bind-select" style="${ssrRenderStyle({ "margin-top": "3px" })}"${ssrRenderAttr("value", b.mode)}${ssrRenderAttr("title", _ctx.$t("townView.khqvwix019"))} data-v-7027783b><option value="auto" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1io1ylm095"))}</option><option value="manual" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1duyr8q096"))}</option></select></span><button class="bind-x"${ssrRenderAttr("title", _ctx.$t("townView.k1k73omv016"))} data-v-7027783b> ✕ </button></div>`);
|
|
2682
2683
|
});
|
|
2683
2684
|
_push(`<!--]-->`);
|
|
2684
|
-
if (!unref(agentBindings).length) _push(`<div class="ins-empty" data-v-
|
|
2685
|
+
if (!unref(agentBindings).length) _push(`<div class="ins-empty" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.unboundTip"))}</div>`);
|
|
2685
2686
|
else _push(`<!---->`);
|
|
2686
2687
|
if (unref(mode) === "edit") {
|
|
2687
|
-
_push(`<div class="daq-bind-bar" style="${ssrRenderStyle({ "margin-bottom": "8px" })}" data-v-
|
|
2688
|
+
_push(`<div class="daq-bind-bar" style="${ssrRenderStyle({ "margin-bottom": "8px" })}" data-v-7027783b><select class="bind-select" style="${ssrRenderStyle({
|
|
2688
2689
|
"flex": "none",
|
|
2689
2690
|
"width": "62px"
|
|
2690
|
-
})}" data-v-
|
|
2691
|
+
})}" data-v-7027783b><option value="dcw" data-v-7027783b${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindKind)) ? ssrLooseContain(unref(agentBindKind), "dcw") : ssrLooseEqual(unref(agentBindKind), "dcw")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.k40ifw097"))}</option><option value="daq" data-v-7027783b${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindKind)) ? ssrLooseContain(unref(agentBindKind), "daq") : ssrLooseEqual(unref(agentBindKind), "daq")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.k40rjw098"))}</option></select><select class="bind-select" data-v-7027783b><option value="" data-v-7027783b${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindNodeId)) ? ssrLooseContain(unref(agentBindNodeId), "") : ssrLooseEqual(unref(agentBindNodeId), "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.kurjldk099"))}</option>`);
|
|
2691
2692
|
if (unref(agentBindKind) === "dcw") {
|
|
2692
2693
|
_push(`<!--[-->`);
|
|
2693
2694
|
ssrRenderList(unref(dcw).nodes, (n) => {
|
|
2694
|
-
_push(`<option${ssrRenderAttr("value", n.id)} data-v-
|
|
2695
|
+
_push(`<option${ssrRenderAttr("value", n.id)} data-v-7027783b${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindNodeId)) ? ssrLooseContain(unref(agentBindNodeId), n.id) : ssrLooseEqual(unref(agentBindNodeId), n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
|
|
2695
2696
|
});
|
|
2696
2697
|
_push(`<!--]-->`);
|
|
2697
2698
|
} else {
|
|
2698
2699
|
_push(`<!--[-->`);
|
|
2699
2700
|
ssrRenderList(unref(daq).nodes, (n) => {
|
|
2700
|
-
_push(`<option${ssrRenderAttr("value", n.id)} data-v-
|
|
2701
|
+
_push(`<option${ssrRenderAttr("value", n.id)} data-v-7027783b${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindNodeId)) ? ssrLooseContain(unref(agentBindNodeId), n.id) : ssrLooseEqual(unref(agentBindNodeId), n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
|
|
2701
2702
|
});
|
|
2702
2703
|
_push(`<!--]-->`);
|
|
2703
2704
|
}
|
|
2704
2705
|
_push(`</select><select class="bind-select" style="${ssrRenderStyle({
|
|
2705
2706
|
"flex": "none",
|
|
2706
2707
|
"width": "76px"
|
|
2707
|
-
})}" data-v-
|
|
2708
|
+
})}" data-v-7027783b><option value="auto" data-v-7027783b${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindMode)) ? ssrLooseContain(unref(agentBindMode), "auto") : ssrLooseEqual(unref(agentBindMode), "auto")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.k45kpj100"))}</option><option value="manual" data-v-7027783b${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindMode)) ? ssrLooseContain(unref(agentBindMode), "manual") : ssrLooseEqual(unref(agentBindMode), "manual")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.k3zul4101"))}</option></select><button class="bind-add-btn"${ssrIncludeBooleanAttr(!unref(agentBindNodeId)) ? " disabled" : ""} data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k452a8102"))}</button></div>`);
|
|
2708
2709
|
} else _push(`<!---->`);
|
|
2709
2710
|
if (unref(pendingApprovals).length) {
|
|
2710
|
-
_push(`<!--[--><div class="sect-hd" style="${ssrRenderStyle({ "color": "var(--hud-amber)" })}" data-v-
|
|
2711
|
+
_push(`<!--[--><div class="sect-hd" style="${ssrRenderStyle({ "color": "var(--hud-amber)" })}" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1gk2jg7132"))} ${ssrInterpolate(unref(pendingApprovals).length)}</div><!--[-->`);
|
|
2711
2712
|
ssrRenderList(unref(pendingApprovals), (ap) => {
|
|
2712
|
-
_push(`<div class="approval-card" data-v-
|
|
2713
|
+
_push(`<div class="approval-card" data-v-7027783b><div class="approval-detail" data-v-7027783b>${ssrInterpolate(ap.detail)}</div><div class="${ssrRenderClass([{ urgent: approvalRemainingSec(ap) <= 30 }, "approval-ttl"])}" data-v-7027783b> ⏱ ${ssrInterpolate(approvalRemainingSec(ap))}s ${ssrInterpolate(_ctx.$t("townView.hitlAutoReject"))}</div><input${ssrRenderAttr("value", unref(approvalComments)[ap.id])} class="dcw-write input-inline" style="${ssrRenderStyle({
|
|
2713
2714
|
"width": "100%",
|
|
2714
2715
|
"margin-top": "5px"
|
|
2715
|
-
})}"${ssrRenderAttr("placeholder", _ctx.$t("townView.keztqrn020"))} data-v-
|
|
2716
|
+
})}"${ssrRenderAttr("placeholder", _ctx.$t("townView.keztqrn020"))} data-v-7027783b><div class="daq-bind-bar" style="${ssrRenderStyle({ "margin-top": "5px" })}" data-v-7027783b><button class="bind-add-btn" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.kslcozu103"))}</button><button class="bind-add-btn danger" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k14gu3rd104"))}</button></div></div>`);
|
|
2716
2717
|
});
|
|
2717
2718
|
_push(`<!--]--><!--]-->`);
|
|
2718
2719
|
} else _push(`<!---->`);
|
|
2719
|
-
if (unref(agentRangeDraft) && unref(mode) === "edit") _push(`<!--[--><div class="obj-row" data-v-
|
|
2720
|
-
else _push(`<div class="ins-empty" data-v-
|
|
2721
|
-
_push(`<div class="obj-sep" data-v-
|
|
2722
|
-
if (unref(historyLoading)) _push(`<div class="rpg-note" data-v-
|
|
2720
|
+
if (unref(agentRangeDraft) && unref(mode) === "edit") _push(`<!--[--><div class="obj-row" data-v-7027783b><span class="obj-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k3zhy5048"))}</span><div class="bp-seg" data-v-7027783b><button class="${ssrRenderClass([{ on: unref(agentRangeDraft).shape === "ellipse" }, "seg-btn"])}" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k414bc049"))}</button><button class="${ssrRenderClass([{ on: unref(agentRangeDraft).shape === "rect" }, "seg-btn"])}" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k43u0g050"))}</button></div></div><div class="obj-row" data-v-7027783b><span class="obj-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k41lwj105"))}</span><input${ssrRenderAttr("value", unref(agentRangeDraft).radiusX)} class="obj-range" type="range" min="40" max="4000" step="8" data-v-7027783b><span class="bp-val" data-v-7027783b>${ssrInterpolate(Math.round(unref(agentRangeDraft).radiusX))}</span></div><div class="obj-row" data-v-7027783b><span class="obj-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k45bta106"))}</span><input${ssrRenderAttr("value", unref(agentRangeDraft).radiusZ)} class="obj-range" type="range" min="40" max="4000" step="8" data-v-7027783b><span class="bp-val" data-v-7027783b>${ssrInterpolate(Math.round(unref(agentRangeDraft).radiusZ))}</span></div><button class="obj-mini danger" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1w45mzc107"))}</button><!--]-->`);
|
|
2721
|
+
else _push(`<div class="ins-empty" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k14s8urm108"))}</div>`);
|
|
2722
|
+
_push(`<div class="obj-sep" data-v-7027783b></div><div class="sect-hd chat-sect" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1ghjbfc133"))} ${ssrInterpolate(unref(agentChatTitle))} <button class="mini-btn chat-refresh"${ssrRenderAttr("title", _ctx.$t("townView.k15avt7g021"))} data-v-7027783b>${ssrInterpolate(unref(historyLoading) ? "…" : "↻")}</button></div><div class="rpg-lines chat-embed" data-v-7027783b>`);
|
|
2723
|
+
if (unref(historyLoading)) _push(`<div class="rpg-note" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.kkhlx5h109"))}</div>`);
|
|
2723
2724
|
else _push(`<!---->`);
|
|
2724
2725
|
if (unref(agentHistory).length) {
|
|
2725
|
-
_push(`<!--[--><div class="rpg-divider" data-v-
|
|
2726
|
+
_push(`<!--[--><div class="rpg-divider" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k768cnt134"))} ${ssrInterpolate(unref(agentHistory).length)}</div><!--[-->`);
|
|
2726
2727
|
ssrRenderList(unref(agentHistory), (r) => {
|
|
2727
|
-
_push(`<div class="rpg-line hist" data-v-
|
|
2728
|
-
if (chatKindLabel(r.kind)) _push(`<span class="${ssrRenderClass([`k-${r.kind}`, "rpg-kind"])}" data-v-
|
|
2728
|
+
_push(`<div class="rpg-line hist" data-v-7027783b><span class="rpg-time" data-v-7027783b>${ssrInterpolate(fmtTime(r.at))}</span><div class="rpg-bubble" data-v-7027783b>`);
|
|
2729
|
+
if (chatKindLabel(r.kind)) _push(`<span class="${ssrRenderClass([`k-${r.kind}`, "rpg-kind"])}" data-v-7027783b>${ssrInterpolate(chatKindLabel(r.kind))}</span>`);
|
|
2729
2730
|
else _push(`<!---->`);
|
|
2730
|
-
_push(`<span class="rpg-text" data-v-
|
|
2731
|
+
_push(`<span class="rpg-text" data-v-7027783b>${ssrInterpolate(r.text)}</span></div></div>`);
|
|
2731
2732
|
});
|
|
2732
2733
|
_push(`<!--]--><!--]-->`);
|
|
2733
2734
|
} else _push(`<!---->`);
|
|
2734
|
-
if (unref(agentChatRows).length) _push(`<div class="rpg-divider live" data-v-
|
|
2735
|
+
if (unref(agentChatRows).length) _push(`<div class="rpg-divider live" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1cwz73k135"))} ${ssrInterpolate(unref(agentChatRows).length)}</div>`);
|
|
2735
2736
|
else _push(`<!---->`);
|
|
2736
2737
|
_push(`<!--[-->`);
|
|
2737
2738
|
ssrRenderList(unref(agentChatRows), (r) => {
|
|
2738
|
-
_push(`<div class="rpg-line live" data-v-
|
|
2739
|
+
_push(`<div class="rpg-line live" data-v-7027783b><span class="rpg-time" data-v-7027783b>${ssrInterpolate(fmtTime(r.at))}</span><div class="rpg-bubble" data-v-7027783b><span class="rpg-text" data-v-7027783b>${ssrInterpolate(r.text)}</span></div></div>`);
|
|
2739
2740
|
});
|
|
2740
2741
|
_push(`<!--]-->`);
|
|
2741
|
-
if (unref(selectedAgentMeta)?.state === "busy") _push(`<div class="rpg-typing" data-v-
|
|
2742
|
+
if (unref(selectedAgentMeta)?.state === "busy") _push(`<div class="rpg-typing" data-v-7027783b><span class="ty-dot" data-v-7027783b></span><span class="ty-dot" data-v-7027783b></span><span class="ty-dot" data-v-7027783b></span><span class="ty-label" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k3o5tz9110"))}</span></div>`);
|
|
2742
2743
|
else _push(`<!---->`);
|
|
2743
|
-
if (!unref(historyLoading) && !unref(agentHistory).length && !unref(agentChatRows).length) _push(`<div class="rpg-note" data-v-
|
|
2744
|
+
if (!unref(historyLoading) && !unref(agentHistory).length && !unref(agentChatRows).length) _push(`<div class="rpg-note" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1qkqld7111"))}</div>`);
|
|
2744
2745
|
else _push(`<!---->`);
|
|
2745
2746
|
_push(`</div><!--]-->`);
|
|
2746
2747
|
} else _push(`<!---->`);
|
|
2747
2748
|
_push(`</section>`);
|
|
2748
2749
|
} else _push(`<!---->`);
|
|
2749
|
-
_push(`<section class="panel" data-v-
|
|
2750
|
+
_push(`<section class="panel" data-v-7027783b><div class="panel-hd" data-v-7027783b><h3 data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k17dkhgd112"))}</h3></div><div class="health-body" data-v-7027783b><div class="donut-wrap" data-v-7027783b><canvas width="118" height="118" data-v-7027783b></canvas><div class="donut-center" data-v-7027783b><b style="${ssrRenderStyle({ color: unref(healthTone) })}" data-v-7027783b>${ssrInterpolate(unref(healthPct))}%</b><span data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k7h1nxo113"))}</span></div></div><div class="health-legend" data-v-7027783b><div class="hl-row" data-v-7027783b><span class="hl-dot" style="${ssrRenderStyle({ background: "var(--hud-accent)" })}" data-v-7027783b></span> ${ssrInterpolate(_ctx.$t("townView.k3vp67i114"))} <span class="n" data-v-7027783b>${ssrInterpolate(unref(runningCount))}</span></div><div class="hl-row" data-v-7027783b><span class="hl-dot" style="${ssrRenderStyle({ background: "var(--hud-amber)" })}" data-v-7027783b></span> ${ssrInterpolate(_ctx.$t("townView.k3zcvb115"))} <span class="n" data-v-7027783b>${ssrInterpolate(unref(idleCount))}</span></div><div class="hl-row" data-v-7027783b><span class="hl-dot" style="${ssrRenderStyle({ background: "var(--hud-danger)" })}" data-v-7027783b></span> ${ssrInterpolate(_ctx.$t("townView.k3xmid116"))} <span class="n" data-v-7027783b>${ssrInterpolate(unref(alarmCount))}</span></div><div class="hl-row" data-v-7027783b><span class="hl-dot" style="${ssrRenderStyle({ background: "#3a4a63" })}" data-v-7027783b></span> ${ssrInterpolate(_ctx.$t("townView.statesOffline"))} <span class="n" data-v-7027783b>${ssrInterpolate(unref(offlineCount))}</span></div></div></div></section><section class="panel" data-v-7027783b><div class="panel-hd" data-v-7027783b><h3 data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1q247fn117"))}</h3><span class="panel-tag" data-v-7027783b>${ssrInterpolate(unref(deviceTwins).twins.length)}</span></div>`);
|
|
2750
2751
|
_push(ssrRenderComponent(_component_WorkshopDeviceTwinPanel, {
|
|
2751
2752
|
class: "kd-embed",
|
|
2752
2753
|
"daq-live": unref(daqLive),
|
|
2753
2754
|
"dcw-live": unref(dcwLive),
|
|
2754
2755
|
onFocusDevice
|
|
2755
2756
|
}, null, _parent));
|
|
2756
|
-
_push(`</section><section class="panel" data-v-
|
|
2757
|
+
_push(`</section><section class="panel" data-v-7027783b><div class="panel-hd" data-v-7027783b><h3 data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1cxf749118"))}</h3><span class="panel-tag" data-v-7027783b>${ssrInterpolate(unref(activeAlarmCount))} ${ssrInterpolate(_ctx.$t("townView.k4dfq040"))}</span><button class="mini-btn"${ssrRenderAttr("title", _ctx.$t("townView.k1bkswpz022"))} data-v-7027783b> ✓ </button></div><div class="alarm-list" data-v-7027783b><!--[-->`);
|
|
2757
2758
|
ssrRenderList(unref(alarms).slice(0, 8), (a) => {
|
|
2758
|
-
_push(`<div class="al-row" data-v-
|
|
2759
|
+
_push(`<div class="al-row" data-v-7027783b><span class="${ssrRenderClass([a.state === 2 ? "info" : a.state === 1 ? "warn" : "crit", "al-ico"])}" data-v-7027783b><svg class="al-svg" viewBox="0 0 24 24" data-v-7027783b><path d="M12 3 22 20H2L12 3Z" data-v-7027783b></path><path d="M12 10v4M12 17v.2" data-v-7027783b></path></svg></span><div class="al-body" data-v-7027783b><div class="al-txt" data-v-7027783b>${ssrInterpolate(a.txt)}</div><div class="al-src" data-v-7027783b>${ssrInterpolate(a.src)} · ${ssrInterpolate(a.time)}</div></div><button class="${ssrRenderClass([`s${a.state}`, "al-state"])}" data-v-7027783b>${ssrInterpolate(ALARM_STATES[a.state])}</button></div>`);
|
|
2759
2760
|
});
|
|
2760
2761
|
_push(`<!--]-->`);
|
|
2761
|
-
if (!unref(alarms).length) _push(`<div class="rail-empty" data-v-
|
|
2762
|
+
if (!unref(alarms).length) _push(`<div class="rail-empty" data-v-7027783b><svg class="re-ico" viewBox="0 0 24 24" data-v-7027783b><path d="M12 3l7 3v5c0 4.6-3 8.2-7 10-4-1.8-7-5.4-7-10V6l7-3Z" data-v-7027783b></path><path d="m9.2 12.2 2 2 3.6-4" data-v-7027783b></path></svg><span data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.kjz544r119"))}</span></div>`);
|
|
2762
2763
|
else _push(`<!---->`);
|
|
2763
|
-
_push(`</div></section><section class="panel" data-v-
|
|
2764
|
+
_push(`</div></section><section class="panel" data-v-7027783b><div class="panel-hd" data-v-7027783b><h3 data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1cxdtq2120"))}</h3><span class="panel-tag" data-v-7027783b>${ssrInterpolate(unref(ticker).length)}</span></div><div class="event-list" data-v-7027783b><!--[-->`);
|
|
2764
2765
|
ssrRenderList([...unref(ticker)].reverse(), (ev, i) => {
|
|
2765
|
-
_push(`<div class="event-row" data-v-
|
|
2766
|
+
_push(`<div class="event-row" data-v-7027783b><span class="ev-time" data-v-7027783b>${ssrInterpolate(fmtTime(ev.at))}</span><span class="ev-name"${ssrRenderAttr("title", ev.agentName)} data-v-7027783b>${ssrInterpolate(ev.agentName)}</span><span class="ev-text"${ssrRenderAttr("title", ev.text)} data-v-7027783b>${ssrInterpolate(ev.text)}</span></div>`);
|
|
2766
2767
|
});
|
|
2767
2768
|
_push(`<!--]-->`);
|
|
2768
|
-
if (!unref(ticker).length) _push(`<div class="rail-empty" data-v-
|
|
2769
|
+
if (!unref(ticker).length) _push(`<div class="rail-empty" data-v-7027783b><svg class="re-ico" viewBox="0 0 24 24" data-v-7027783b><path d="M3 12h3l2.5-6 4 12L15 12h6" data-v-7027783b></path></svg><span data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k2uk6ua121"))}</span></div>`);
|
|
2769
2770
|
else _push(`<!---->`);
|
|
2770
|
-
_push(`</div></section><section class="panel" data-v-
|
|
2771
|
-
if (unref(sheetOpen)) _push(`<div class="sheet-mask" data-v-
|
|
2771
|
+
_push(`</div></section><section class="panel" data-v-7027783b><div class="panel-hd" data-v-7027783b><h3 data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.kjug2jq122"))}</h3></div><div class="mm-body" data-v-7027783b><div class="mm-wrap"${ssrRenderAttr("title", _ctx.$t("townView.klfwiqg023"))} data-v-7027783b><canvas class="nav-cv" data-v-7027783b></canvas></div><div class="mm-col" data-v-7027783b><button class="vp-tool"${ssrRenderAttr("title", _ctx.$t("townView.k1lap9bs024"))} data-v-7027783b><svg class="vp-svg" viewBox="0 0 24 24" data-v-7027783b><path d="M3 12a9 9 0 1 0 3-6.7M3 4v5h5" data-v-7027783b></path></svg></button><button class="vp-tool"${ssrRenderAttr("title", _ctx.$t("townView.kav8a8k025"))} data-v-7027783b><svg class="vp-svg" viewBox="0 0 24 24" data-v-7027783b><circle cx="11" cy="11" r="6.5" data-v-7027783b></circle><path d="m16 16 4.5 4.5M8.5 11h5" data-v-7027783b></path></svg></button><button class="vp-tool"${ssrRenderAttr("title", _ctx.$t("townView.k1u7uce9026"))} data-v-7027783b><svg class="vp-svg" viewBox="0 0 24 24" data-v-7027783b><circle cx="11" cy="11" r="6.5" data-v-7027783b></circle><path d="m16 16 4.5 4.5M8.5 11h5M11 8.5v5" data-v-7027783b></path></svg></button></div></div><div class="mm-meta mono" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k1gaaodq136"))}${ssrInterpolate(unref(navScale).toFixed(1))} · ${ssrInterpolate(unref(minimap)?.devices?.length ?? 0)} ${ssrInterpolate(_ctx.$t("townView.k47e16126"))}</div></section></aside></div><footer class="statusbar" data-v-7027783b><span data-v-7027783b><span class="${ssrRenderClass([{ red: unref(conn).state !== "open" }, "sb-dot"])}" data-v-7027783b></span>${ssrInterpolate(_ctx.$t("townView.k1i4g246123"))} <b data-v-7027783b>${ssrInterpolate(unref(conn).state === "open" ? _ctx.$t("townView.k41k5c154") : unref(syncing) ? _ctx.$t("townView.k3lmtk3184") : _ctx.$t("townView.k44c2n186"))}</b></span><span class="sb-stats" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.k4a0jt124"))} <b data-v-7027783b>${ssrInterpolate(unref(blockCount))}</b><i data-v-7027783b>·</i>${ssrInterpolate(_ctx.$t("townView.k3xdvm125"))} <b data-v-7027783b>${ssrInterpolate(unref(agentCount))}</b><i data-v-7027783b>·</i>${ssrInterpolate(_ctx.$t("townView.k47e16126"))} <b data-v-7027783b>${ssrInterpolate(unref(deviceCount))}</b></span><span class="sb-lat mono" data-v-7027783b>${ssrInterpolate(unref(fps))} FPS </span><span class="copy" data-v-7027783b> © 2026 ABO · DIGITAL TWIN · ${ssrInterpolate(_ctx.$t("townView.k1h5gxpf137"))}</span></footer>`);
|
|
2772
|
+
if (unref(sheetOpen)) _push(`<div class="sheet-mask" data-v-7027783b></div>`);
|
|
2772
2773
|
else _push(`<!---->`);
|
|
2773
|
-
if (!unref(ready)) _push(`<div data-hud="town-loading" class="loading-mask" data-v-
|
|
2774
|
+
if (!unref(ready)) _push(`<div data-hud="town-loading" class="loading-mask" data-v-7027783b><div class="loading-spinner" data-v-7027783b></div><span class="loading-text" data-v-7027783b>${ssrInterpolate(_ctx.$t("townView.kvjdqfg059"))}</span></div>`);
|
|
2774
2775
|
else _push(`<!---->`);
|
|
2775
2776
|
_push(`</div>`);
|
|
2776
2777
|
};
|
|
@@ -2784,7 +2785,7 @@ TownView_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
|
2784
2785
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/town/TownView.vue");
|
|
2785
2786
|
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
|
2786
2787
|
};
|
|
2787
|
-
var TownView_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(TownView_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
2788
|
+
var TownView_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(TownView_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-7027783b"]]), { __name: "WorkshopTownView" });
|
|
2788
2789
|
|
|
2789
2790
|
export { TownView_default as T, useStorage as u };
|
|
2790
|
-
//# sourceMappingURL=TownView
|
|
2791
|
+
//# sourceMappingURL=TownView-CJ6IsDCc.mjs.map
|