iobroker.mywebui 1.99.1 → 1.101.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/default-controls/controls/plantpax/ain-faceplate.control +23 -0
  2. package/default-controls/controls/plantpax/ain-symbol.control +23 -0
  3. package/dist/backend/3d-editor-integration.js +1 -1
  4. package/dist/backend/ImportmapCreator.js +1 -1
  5. package/dist/backend/UploadHelper.js +1 -1
  6. package/dist/backend/main.js +1 -1
  7. package/io-package.json +1 -1
  8. package/package.json +1 -1
  9. package/scripts/_build_plantpax.py +246 -0
  10. package/www/3d-editor/js/Animation.js +1 -1
  11. package/www/3d-editor/js/AnimationResizer.js +1 -1
  12. package/www/3d-editor/js/Command.js +1 -1
  13. package/www/3d-editor/js/Config.js +1 -1
  14. package/www/3d-editor/js/Editor.js +1 -1
  15. package/www/3d-editor/js/EditorControls.js +1 -1
  16. package/www/3d-editor/js/GLTFImportDialog.js +1 -1
  17. package/www/3d-editor/js/History.js +1 -1
  18. package/www/3d-editor/js/Loader.js +1 -1
  19. package/www/3d-editor/js/LoaderUtils.js +1 -1
  20. package/www/3d-editor/js/Menubar.Add.js +1 -1
  21. package/www/3d-editor/js/Menubar.Edit.js +1 -1
  22. package/www/3d-editor/js/Menubar.File.js +1 -1
  23. package/www/3d-editor/js/Menubar.Help.js +1 -1
  24. package/www/3d-editor/js/Menubar.Render.js +1 -1
  25. package/www/3d-editor/js/Menubar.Status.js +1 -1
  26. package/www/3d-editor/js/Menubar.View.js +1 -1
  27. package/www/3d-editor/js/Menubar.js +1 -1
  28. package/www/3d-editor/js/Player.js +1 -1
  29. package/www/3d-editor/js/Resizer.js +1 -1
  30. package/www/3d-editor/js/Script.js +1 -1
  31. package/www/3d-editor/js/Selector.js +1 -1
  32. package/www/3d-editor/js/Sidebar.Geometry.BoxGeometry.js +1 -1
  33. package/www/3d-editor/js/Sidebar.Geometry.BufferGeometry.js +1 -1
  34. package/www/3d-editor/js/Sidebar.Geometry.CapsuleGeometry.js +1 -1
  35. package/www/3d-editor/js/Sidebar.Geometry.CircleGeometry.js +1 -1
  36. package/www/3d-editor/js/Sidebar.Geometry.CylinderGeometry.js +1 -1
  37. package/www/3d-editor/js/Sidebar.Geometry.DodecahedronGeometry.js +1 -1
  38. package/www/3d-editor/js/Sidebar.Geometry.ExtrudeGeometry.js +1 -1
  39. package/www/3d-editor/js/Sidebar.Geometry.IcosahedronGeometry.js +1 -1
  40. package/www/3d-editor/js/Sidebar.Geometry.LatheGeometry.js +1 -1
  41. package/www/3d-editor/js/Sidebar.Geometry.Modifiers.js +1 -1
  42. package/www/3d-editor/js/Sidebar.Geometry.OctahedronGeometry.js +1 -1
  43. package/www/3d-editor/js/Sidebar.Geometry.PlaneGeometry.js +1 -1
  44. package/www/3d-editor/js/Sidebar.Geometry.RingGeometry.js +1 -1
  45. package/www/3d-editor/js/Sidebar.Geometry.ShapeGeometry.js +1 -1
  46. package/www/3d-editor/js/Sidebar.Geometry.SphereGeometry.js +1 -1
  47. package/www/3d-editor/js/Sidebar.Geometry.TetrahedronGeometry.js +1 -1
  48. package/www/3d-editor/js/Sidebar.Geometry.TextGeometry.js +1 -1
  49. package/www/3d-editor/js/Sidebar.Geometry.TorusGeometry.js +1 -1
  50. package/www/3d-editor/js/Sidebar.Geometry.TorusKnotGeometry.js +1 -1
  51. package/www/3d-editor/js/Sidebar.Geometry.TubeGeometry.js +1 -1
  52. package/www/3d-editor/js/Sidebar.Geometry.js +1 -1
  53. package/www/3d-editor/js/Sidebar.Material.BooleanProperty.js +1 -1
  54. package/www/3d-editor/js/Sidebar.Material.ColorProperty.js +1 -1
  55. package/www/3d-editor/js/Sidebar.Material.ConstantProperty.js +1 -1
  56. package/www/3d-editor/js/Sidebar.Material.MapProperty.js +1 -1
  57. package/www/3d-editor/js/Sidebar.Material.NumberProperty.js +1 -1
  58. package/www/3d-editor/js/Sidebar.Material.Program.js +1 -1
  59. package/www/3d-editor/js/Sidebar.Material.RangeValueProperty.js +1 -1
  60. package/www/3d-editor/js/Sidebar.Material.js +1 -1
  61. package/www/3d-editor/js/Sidebar.Object.js +1 -1
  62. package/www/3d-editor/js/Sidebar.Project.App.js +1 -1
  63. package/www/3d-editor/js/Sidebar.Project.Materials.js +1 -1
  64. package/www/3d-editor/js/Sidebar.Project.Renderer.js +1 -1
  65. package/www/3d-editor/js/Sidebar.Project.Resources.js +1 -1
  66. package/www/3d-editor/js/Sidebar.Project.js +1 -1
  67. package/www/3d-editor/js/Sidebar.Properties.js +1 -1
  68. package/www/3d-editor/js/Sidebar.Scene.js +1 -1
  69. package/www/3d-editor/js/Sidebar.Script.js +1 -1
  70. package/www/3d-editor/js/Sidebar.Settings.History.js +1 -1
  71. package/www/3d-editor/js/Sidebar.Settings.Shortcuts.js +1 -1
  72. package/www/3d-editor/js/Sidebar.Settings.js +1 -1
  73. package/www/3d-editor/js/Sidebar.js +1 -1
  74. package/www/3d-editor/js/Storage.js +1 -1
  75. package/www/3d-editor/js/Strings.js +1 -1
  76. package/www/3d-editor/js/TextureParametersDialog.js +1 -1
  77. package/www/3d-editor/js/Toolbar.js +1 -1
  78. package/www/3d-editor/js/Viewport.Controls.js +1 -1
  79. package/www/3d-editor/js/Viewport.Info.js +1 -1
  80. package/www/3d-editor/js/Viewport.Pathtracer.js +1 -1
  81. package/www/3d-editor/js/Viewport.ViewHelper.js +1 -1
  82. package/www/3d-editor/js/Viewport.XR.js +1 -1
  83. package/www/3d-editor/js/Viewport.js +1 -1
  84. package/www/3d-editor/js/commands/AddObjectCommand.js +1 -1
  85. package/www/3d-editor/js/commands/AddScriptCommand.js +1 -1
  86. package/www/3d-editor/js/commands/Commands.js +1 -1
  87. package/www/3d-editor/js/commands/MoveObjectCommand.js +1 -1
  88. package/www/3d-editor/js/commands/MultiCmdsCommand.js +1 -1
  89. package/www/3d-editor/js/commands/RemoveObjectCommand.js +1 -1
  90. package/www/3d-editor/js/commands/RemoveScriptCommand.js +1 -1
  91. package/www/3d-editor/js/commands/SetColorCommand.js +1 -1
  92. package/www/3d-editor/js/commands/SetGeometryCommand.js +1 -1
  93. package/www/3d-editor/js/commands/SetGeometryValueCommand.js +1 -1
  94. package/www/3d-editor/js/commands/SetMaterialColorCommand.js +1 -1
  95. package/www/3d-editor/js/commands/SetMaterialCommand.js +1 -1
  96. package/www/3d-editor/js/commands/SetMaterialMapCommand.js +1 -1
  97. package/www/3d-editor/js/commands/SetMaterialRangeCommand.js +1 -1
  98. package/www/3d-editor/js/commands/SetMaterialValueCommand.js +1 -1
  99. package/www/3d-editor/js/commands/SetMaterialVectorCommand.js +1 -1
  100. package/www/3d-editor/js/commands/SetPositionCommand.js +1 -1
  101. package/www/3d-editor/js/commands/SetRotationCommand.js +1 -1
  102. package/www/3d-editor/js/commands/SetScaleCommand.js +1 -1
  103. package/www/3d-editor/js/commands/SetSceneCommand.js +1 -1
  104. package/www/3d-editor/js/commands/SetScriptValueCommand.js +1 -1
  105. package/www/3d-editor/js/commands/SetShadowValueCommand.js +1 -1
  106. package/www/3d-editor/js/commands/SetTextureParametersCommand.js +1 -1
  107. package/www/3d-editor/js/commands/SetUuidCommand.js +1 -1
  108. package/www/3d-editor/js/commands/SetValueCommand.js +1 -1
  109. package/www/dist/frontend/bundle/chunk-3C6XC7RW.js +1 -1
  110. package/www/dist/frontend/bundle/chunk-3WGNLIWJ.js +3 -3
  111. package/www/dist/frontend/bundle/chunk-3YK3Y2SJ.js +1 -1
  112. package/www/dist/frontend/bundle/chunk-43HEBO5G.js +3 -3
  113. package/www/dist/frontend/bundle/chunk-5MUGMRXU.js +1 -1
  114. package/www/dist/frontend/bundle/chunk-5UBRCTRX.js +3 -3
  115. package/www/dist/frontend/bundle/chunk-65A3PNMG.js +1 -1
  116. package/www/dist/frontend/bundle/chunk-66EU64WD.js +1 -1
  117. package/www/dist/frontend/bundle/chunk-6L2YCGEX.js +1 -1
  118. package/www/dist/frontend/bundle/chunk-7CWDQGAG.js +2 -2
  119. package/www/dist/frontend/bundle/chunk-7PT7IGUJ.js +3 -3
  120. package/www/dist/frontend/bundle/chunk-AI5PDLDE.js +3 -3
  121. package/www/dist/frontend/bundle/chunk-AWKVUUKN.js +3 -3
  122. package/www/dist/frontend/bundle/chunk-B6NXWGSB.js +1 -1
  123. package/www/dist/frontend/bundle/chunk-BHSHNRXW.js +1 -1
  124. package/www/dist/frontend/bundle/chunk-BVONDEOL.js +2 -2
  125. package/www/dist/frontend/bundle/chunk-C7OGVQZC.js +1 -1
  126. package/www/dist/frontend/bundle/chunk-CHDKROX5.js +2 -2
  127. package/www/dist/frontend/bundle/chunk-DNCD2F6X.js +3 -3
  128. package/www/dist/frontend/bundle/chunk-FHF6DL5U.js +1 -1
  129. package/www/dist/frontend/bundle/chunk-FO56TEZH.js +3 -3
  130. package/www/dist/frontend/bundle/chunk-FRCSTZQC.js +21 -0
  131. package/www/dist/frontend/bundle/chunk-FSHAYPVR.js +21 -0
  132. package/www/dist/frontend/bundle/chunk-FSRRPQMX.js +3 -3
  133. package/www/dist/frontend/bundle/chunk-GLQNGCFL.js +1 -1
  134. package/www/dist/frontend/bundle/chunk-JBDSDK2C.js +3 -3
  135. package/www/dist/frontend/bundle/chunk-JSC66ZLQ.js +1 -1
  136. package/www/dist/frontend/bundle/chunk-K6IV7LKW.js +1 -1
  137. package/www/dist/frontend/bundle/chunk-KJU5I76S.js +3 -3
  138. package/www/dist/frontend/bundle/chunk-KY73TL6O.js +2 -2
  139. package/www/dist/frontend/bundle/chunk-LKS3S4WX.js +1 -1
  140. package/www/dist/frontend/bundle/chunk-M6VVTDVX.js +2 -2
  141. package/www/dist/frontend/bundle/chunk-MECWXZRN.js +1 -1
  142. package/www/dist/frontend/bundle/chunk-N2YIZTB2.js +1 -1
  143. package/www/dist/frontend/bundle/chunk-NQ7L7KNT.js +3 -3
  144. package/www/dist/frontend/bundle/chunk-O2AJL747.js +2 -2
  145. package/www/dist/frontend/bundle/chunk-P7EOR36H.js +1 -1
  146. package/www/dist/frontend/bundle/chunk-PJYK24KZ.js +1 -1
  147. package/www/dist/frontend/bundle/chunk-PYLAW6UA.js +3 -3
  148. package/www/dist/frontend/bundle/chunk-QJJGP23I.js +1 -1
  149. package/www/dist/frontend/bundle/chunk-QV4IBWXA.js +1 -1
  150. package/www/dist/frontend/bundle/chunk-R6IQDPAP.js +3 -3
  151. package/www/dist/frontend/bundle/chunk-RRFSEMFS.js +3 -3
  152. package/www/dist/frontend/bundle/chunk-RTTBZOQU.js +2 -2
  153. package/www/dist/frontend/bundle/chunk-S4TLNW5D.js +1 -1
  154. package/www/dist/frontend/bundle/chunk-SE6N4ZEN.js +1 -1
  155. package/www/dist/frontend/bundle/chunk-SQHXO2IT.js +3 -3
  156. package/www/dist/frontend/bundle/chunk-T4AIQBBH.js +3 -3
  157. package/www/dist/frontend/bundle/chunk-TWQQHCU7.js +3 -3
  158. package/www/dist/frontend/bundle/chunk-U5Q332OH.js +1 -1
  159. package/www/dist/frontend/bundle/chunk-UIP324PP.js +1 -1
  160. package/www/dist/frontend/bundle/chunk-V27IRYSL.js +1 -1
  161. package/www/dist/frontend/bundle/chunk-V4C5FGJL.js +3 -3
  162. package/www/dist/frontend/bundle/chunk-V5CHFTYG.js +2 -2
  163. package/www/dist/frontend/bundle/chunk-W2KWSW4M.js +1 -0
  164. package/www/dist/frontend/bundle/chunk-W5QV7JN5.js +1 -0
  165. package/www/dist/frontend/bundle/chunk-WED7CGWA.js +2 -2
  166. package/www/dist/frontend/bundle/chunk-WQ5H5LTG.js +2 -2
  167. package/www/dist/frontend/bundle/chunk-WU54NCEU.js +1 -1
  168. package/www/dist/frontend/bundle/chunk-XFO5FUCN.js +1 -1
  169. package/www/dist/frontend/bundle/chunk-XWAQ2BWM.js +3 -3
  170. package/www/dist/frontend/bundle/chunk-YTQCHNRQ.js +2 -2
  171. package/www/dist/frontend/bundle/chunk-YUSK4FN3.js +2 -2
  172. package/www/dist/frontend/bundle/chunk-Z34BSG5O.js +3 -3
  173. package/www/dist/frontend/bundle/common/IobrokerHandler.js +1 -1
  174. package/www/dist/frontend/bundle/runtime/CustomControls.js +1 -1
  175. package/www/dist/frontend/bundle/runtime/ScreenViewer.js +1 -1
  176. package/www/dist/frontend/bundle/runtime/controls.js +3 -3
  177. package/www/dist/frontend/bundle/runtime/init.js +3 -3
  178. package/www/dist/frontend/common/Common.globals.js +1 -1
  179. package/www/dist/frontend/common/IobrokerHandler.js +1 -1
  180. package/www/dist/frontend/common/PlantPaxResolve.js +1 -0
  181. package/www/dist/frontend/common/Runtime.js +1 -1
  182. package/www/dist/frontend/config/CommandHandling.js +1 -1
  183. package/www/dist/frontend/config/ConfigureWebcomponentDesigner.js +1 -1
  184. package/www/dist/frontend/config/DockHelper.js +1 -1
  185. package/www/dist/frontend/config/IobrokerWebui3DDriveEngine.js +1 -1
  186. package/www/dist/frontend/config/IobrokerWebui3DScreenEditor.js +3 -3
  187. package/www/dist/frontend/config/IobrokerWebui3DScreenPropertiesPanel.js +2 -2
  188. package/www/dist/frontend/config/IobrokerWebui3DScreenViewer.js +2 -2
  189. package/www/dist/frontend/config/IobrokerWebuiAppShell.js +7 -3
  190. package/www/dist/frontend/config/IobrokerWebuiBindingsEditor.js +1 -1
  191. package/www/dist/frontend/config/IobrokerWebuiConfirmationWrapper.js +3 -3
  192. package/www/dist/frontend/config/IobrokerWebuiControlPropertiesEditor.js +3 -3
  193. package/www/dist/frontend/config/IobrokerWebuiDynamicPropsEditor.js +1 -1
  194. package/www/dist/frontend/config/IobrokerWebuiEventAssignment.js +1 -1
  195. package/www/dist/frontend/config/IobrokerWebuiIconsView.js +2 -2
  196. package/www/dist/frontend/config/IobrokerWebuiMonacoEditor.js +3 -3
  197. package/www/dist/frontend/config/IobrokerWebuiPlantPaxTypesEditor.js +1 -0
  198. package/www/dist/frontend/config/IobrokerWebuiPropertyGrid.js +1 -1
  199. package/www/dist/frontend/config/IobrokerWebuiScreenEditor.js +1 -1
  200. package/www/dist/frontend/config/IobrokerWebuiScreensView.js +3 -3
  201. package/www/dist/frontend/config/IobrokerWebuiSecurityEditor.js +1 -1
  202. package/www/dist/frontend/config/IobrokerWebuiSignalPropertyEditor.js +1 -1
  203. package/www/dist/frontend/config/IobrokerWebuiSolutionExplorer.js +3 -3
  204. package/www/dist/frontend/config/IobrokerWebuiTranslationEditor.js +1 -1
  205. package/www/dist/frontend/config/IobrokerWebuiWidgetGallery.js +3 -3
  206. package/www/dist/frontend/helper/DialogHelper.js +3 -3
  207. package/www/dist/frontend/helper/EsprimaHelper.js +1 -1
  208. package/www/dist/frontend/helper/Helper.js +1 -1
  209. package/www/dist/frontend/helper/LayoutHelper.js +1 -1
  210. package/www/dist/frontend/helper/XmlHelper.js +1 -1
  211. package/www/dist/frontend/helper/ZipHelper.js +1 -1
  212. package/www/dist/frontend/runtime/AnimationService.js +1 -1
  213. package/www/dist/frontend/runtime/CustomControls.js +1 -1
  214. package/www/dist/frontend/runtime/DynamicElementProperties.js +1 -1
  215. package/www/dist/frontend/runtime/HabPanelLikeMenu.js +3 -3
  216. package/www/dist/frontend/runtime/NavigationShell.js +1 -1
  217. package/www/dist/frontend/runtime/RuntimeTheme.js +1 -1
  218. package/www/dist/frontend/runtime/ScreenViewer.js +3 -3
  219. package/www/dist/frontend/runtime/TranslateableText.js +2 -2
  220. package/www/dist/frontend/runtime/VisibilityService.js +1 -1
  221. package/www/dist/frontend/runtime/controls.js +1 -1
  222. package/www/dist/frontend/runtime/init.js +1 -1
  223. package/www/dist/frontend/scripting/IobrokerWebuiScriptSystem.js +1 -1
  224. package/www/dist/frontend/scripting/blockly/OpenScreen.js +1 -1
  225. package/www/dist/frontend/scripting/blockly/webuiBlocklyToolbox.js +1 -1
  226. package/www/dist/frontend/services/DynamicPropertiesHelper.js +1 -1
  227. package/www/dist/frontend/services/IobrokerWebuiBindableLocalObjectsService.js +1 -1
  228. package/www/dist/frontend/services/IobrokerWebuiBindableObjectDragDropService.js +1 -1
  229. package/www/dist/frontend/services/IobrokerWebuiBindableObjectsForPropertiesService.js +1 -1
  230. package/www/dist/frontend/services/IobrokerWebuiBindableObjectsService.js +1 -1
  231. package/www/dist/frontend/services/IobrokerWebuiConfigButtonProvider.js +1 -1
  232. package/www/dist/frontend/services/IobrokerWebuiCopyPasteService.js +1 -1
  233. package/www/dist/frontend/services/IobrokerWebuiCustomControlEventsService.js +1 -1
  234. package/www/dist/frontend/services/IobrokerWebuiCustomElementContextMenu.js +1 -1
  235. package/www/dist/frontend/services/IobrokerWebuiDemoProviderService.js +1 -1
  236. package/www/dist/frontend/services/IobrokerWebuiDynamicPropertiesService.js +1 -1
  237. package/www/dist/frontend/services/IobrokerWebuiEventsService.js +1 -1
  238. package/www/dist/frontend/services/IobrokerWebuiExternalDragDropService.js +1 -1
  239. package/www/dist/frontend/services/IobrokerWebuiLitPropertiesService.js +1 -1
  240. package/www/dist/frontend/services/IobrokerWebuiPropertiesService.js +1 -1
  241. package/www/dist/frontend/services/IobrokerWebuiPropertyGroupsService.js +1 -1
  242. package/www/dist/frontend/services/IobrokerWebuiRefactorService.js +1 -1
  243. package/www/dist/frontend/services/IobrokerWebuiScreenContextMenu.js +1 -1
  244. package/www/dist/frontend/services/IobrokerWebuiSpecialPropertiesService.js +1 -1
  245. package/www/dist/frontend/services/IobrokerWebuiSpectrumEditorService.js +1 -1
  246. package/www/dist/frontend/services/IobrokerWebuiVisibilityPropertiesService.js +1 -1
  247. package/www/dist/frontend/services/LayoutComponentsPropertiesService.js +1 -1
  248. package/www/dist/frontend/widgets/OrthoFlowLineTool.js +1 -1
  249. package/www/dist/frontend/widgets/customElementsObserver.js +1 -1
  250. package/www/dist/frontend/widgets/importWidgetFiles.js +1 -1
  251. package/www/dist/frontend/widgets/importWidgetFilesRuntime.js +1 -1
  252. package/www/dist/frontend/widgets/layout-components.js +1 -1
  253. package/www/dist/frontend/widgets/layout-placement-services.js +1 -1
  254. package/www/dist/frontend/widgets/testElement.js +1 -1
@@ -0,0 +1,23 @@
1
+ {
2
+ "properties": {
3
+ "root": {
4
+ "type": "signal",
5
+ "default": ""
6
+ },
7
+ "type": {
8
+ "type": "string",
9
+ "default": "P_AIn"
10
+ },
11
+ "unit": {
12
+ "type": "string",
13
+ "default": ""
14
+ }
15
+ },
16
+ "settings": {
17
+ "width": "360px",
18
+ "height": "420px"
19
+ },
20
+ "html": "<div class=\"fp\"><div class=\"fp-hdr\"><span class=\"fp-title\">[[this.root]]</span><button class=\"fp-x\" @click=\"[[window.IOB.closeFaceplate()]]\">✕</button></div><div class=\"fp-tabs\"><button class=\"fp-tab\" data-tab=\"Operator\" @click=\"[[this._tab('Operator')]]\">Operator</button><button class=\"fp-tab\" data-tab=\"Maintenance\" @click=\"[[this._tab('Maintenance')]]\">Maintenance</button><button class=\"fp-tab\" data-tab=\"Engineering\" @click=\"[[this._tab('Engineering')]]\">Engineering</button><button class=\"fp-tab\" data-tab=\"Alarms\" @click=\"[[this._tab('Alarms')]]\">Alarms</button></div><div class=\"fp-body\"><div data-pane=\"Operator\"><div class=\"pv-big\">[[this.pv==null?'--':this.pv]] <span style=\"font-size:14px;opacity:.7\">[[this.unit||'']]</span></div><div class=\"fp-row\"><span class=\"lbl\">Quality</span><span>[[this.pvBad?'BAD':(this.pvUncertain?'UNCERTAIN':'GOOD')]]</span></div></div><div data-pane=\"Maintenance\" class=\"hidden\"><button class=\"fp-btn\" data-maint=\"1\">Reset &amp; Ack All</button></div><div data-pane=\"Engineering\" class=\"hidden\"><div class=\"fp-row\"><span class=\"lbl\">HiHi Limit</span><input type=\"number\" data-field=\"hiHiLim\" bind-prop:value=\"[[this.hiHiLim]]\"></div><div class=\"fp-row\"><span class=\"lbl\">Hi Limit</span><input type=\"number\" data-field=\"hiLim\" bind-prop:value=\"[[this.hiLim]]\"></div><div class=\"fp-row\"><span class=\"lbl\">Lo Limit</span><input type=\"number\" data-field=\"loLim\" bind-prop:value=\"[[this.loLim]]\"></div><div class=\"fp-row\"><span class=\"lbl\">LoLo Limit</span><input type=\"number\" data-field=\"loLoLim\" bind-prop:value=\"[[this.loLoLim]]\"></div></div><div data-pane=\"Alarms\" class=\"hidden\"><button class=\"fp-btn\" data-ackall=\"1\" style=\"margin-bottom:8px\">Ack All</button><div class=\"fp-alm\" bind-attr:class=\"[[this.hiHiAlarm?'fp-alm active':'fp-alm']]\"><span class=\"fp-chip\"></span><span class=\"nm\">HiHi</span><button class=\"fp-btn\" data-ack=\"hiHiAck\">ACK</button></div><div class=\"fp-alm\" bind-attr:class=\"[[this.hiAlarm?'fp-alm active':'fp-alm']]\"><span class=\"fp-chip\"></span><span class=\"nm\">Hi</span><button class=\"fp-btn\" data-ack=\"hiAck\">ACK</button></div><div class=\"fp-alm\" bind-attr:class=\"[[this.loAlarm?'fp-alm active':'fp-alm']]\"><span class=\"fp-chip\"></span><span class=\"nm\">Lo</span><button class=\"fp-btn\" data-ack=\"loAck\">ACK</button></div><div class=\"fp-alm\" bind-attr:class=\"[[this.loLoAlarm?'fp-alm active':'fp-alm']]\"><span class=\"fp-chip\"></span><span class=\"nm\">LoLo</span><button class=\"fp-btn\" data-ack=\"loLoAck\">ACK</button></div><div class=\"fp-alm\" bind-attr:class=\"[[this.failAlarm?'fp-alm active':'fp-alm']]\"><span class=\"fp-chip\"></span><span class=\"nm\">Fail</span><button class=\"fp-btn\" data-ack=\"failAck\">ACK</button></div></div></div></div>",
21
+ "style": ":host{display:block;font-family:'Segoe UI',sans-serif;color:var(--ui-text,#e8e8ea);}.fp{display:flex;flex-direction:column;min-width:320px;}.fp-hdr{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--ui-border,#4a5570);}.fp-title{font-weight:700;flex:1;font-size:13px;}.fp-x{cursor:pointer;background:none;border:none;color:var(--ui-text,#e8e8ea);font-size:16px;}.fp-tabs{display:flex;gap:2px;padding:6px 8px 0;border-bottom:1px solid var(--ui-border,#4a5570);}.fp-tab{padding:6px 10px;cursor:pointer;background:none;border:none;color:var(--ui-dim,#9aa3b0);font-size:12px;border-bottom:2px solid transparent;}.fp-tab.sel{color:var(--ui-text,#e8e8ea);border-bottom-color:var(--accent,#2680eb);}.fp-body{padding:12px;}.fp-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;}.fp-row .lbl{width:120px;opacity:.75;font-size:12px;}.fp-row input{flex:1;padding:4px;background:var(--ui-surface-2,#2f3545);color:var(--ui-text,#e8e8ea);border:1px solid var(--ui-border,#4a5570);border-radius:3px;}.fp-btn{padding:5px 10px;background:var(--accent,#2680eb);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;}.fp-alm{display:flex;align-items:center;gap:8px;margin-bottom:6px;}.fp-chip{width:12px;height:12px;border-radius:50%;background:var(--ui-ok,#30a46c);}.fp-alm.active .fp-chip{background:var(--ui-error,#e5484d);}.fp-alm .nm{width:60px;font-size:12px;}.pv-big{font-size:34px;font-weight:700;}.hidden{display:none!important;}",
22
+ "script": "\nfunction ppResolve(instance,field){ try{ return window.IOB.resolvePlantPaxField(instance.type,instance.root,field); }catch(e){ return null; } }\nfunction ppSubscribe(instance,field,onVal){\n const id=ppResolve(instance,field); if(!id) return;\n instance.__ppSubs=instance.__ppSubs||[];\n const cb=(_i,s)=>{ onVal(s&&s.val); try{instance._bindingsRefresh&&instance._bindingsRefresh();}catch(e){} };\n try{ window.IOB.getState(id).then(function(s){ onVal(s&&s.val); try{instance._bindingsRefresh&&instance._bindingsRefresh();}catch(e){} }).catch(function(){}); }catch(e){}\n try{ window.IOB.subscribeState(id,cb); instance.__ppSubs.push([id,cb]); }catch(e){}\n}\nfunction ppCleanup(instance){\n for(const pair of (instance.__ppSubs||[])){ try{ window.IOB.unsubscribeState(pair[0],pair[1]); }catch(e){} }\n instance.__ppSubs=[];\n}\nasync function ppWrite(instance,field,val,action){\n const id=ppResolve(instance,field); if(!id) return;\n try{ await window.IOB.secWriteState(id,val,{action:action,element:instance}); }catch(e){ console.warn('[plantpax] write failed',field,e); }\n}\n\nexport function init(instance){\n if(!instance || typeof instance._getDomElement!=='function' || typeof instance._getDomElements!=='function') return;\n instance.pv=null; instance.pvBad=false; instance.pvUncertain=false;\n const subs=[\"pv\", \"hiHiLim\", \"hiLim\", \"loLim\", \"loLoLim\", \"hiHiAlarm\", \"hiAlarm\", \"loAlarm\", \"loLoAlarm\", \"failAlarm\"];\n for(const f of subs){ (function(field){ ppSubscribe(instance,field,function(v){ instance[field]=v; if(field==='pv') instance.pv=v; }); })(f); }\n instance._tab=function(name){\n for(const p of instance._getDomElements('[data-pane]')) p.classList.toggle('hidden', p.getAttribute('data-pane')!==name);\n for(const t of instance._getDomElements('.fp-tab')) t.classList.toggle('sel', t.getAttribute('data-tab')===name);\n };\n instance._tab('Operator');\n const can=function(action){ return (window.IOB && typeof window.IOB.secCan==='function') ? window.IOB.secCan(action,instance) : true; };\n const gate=function(){\n const cfg=can('configure'), mnt=can('maintenance'), ack=can('ackAlarm');\n for(const i of instance._getDomElements('[data-field]')) i.disabled=!cfg;\n for(const b of instance._getDomElements('[data-maint]')) b.classList.toggle('hidden',!mnt);\n for(const b of instance._getDomElements('[data-ack],[data-ackall]')) b.classList.toggle('hidden',!ack);\n };\n gate();\n try{ window.IOB && window.IOB.securityChanged && window.IOB.securityChanged.on && window.IOB.securityChanged.on(gate); }catch(e){}\n for(const i of instance._getDomElements('[data-field]')){\n (function(inp){ inp.addEventListener('change',function(){ ppWrite(instance,inp.getAttribute('data-field'),Number(inp.value),'configure'); }); })(i);\n }\n for(const b of instance._getDomElements('[data-maint]')){\n b.addEventListener('click',function(){ ppWrite(instance,\"hiAck\",1,'maintenance'); });\n }\n const ackMap={\"HiHi\": \"hiHiAck\", \"Hi\": \"hiAck\", \"Lo\": \"loAck\", \"LoLo\": \"loLoAck\", \"Fail\": \"failAck\"};\n for(const b of instance._getDomElements('[data-ack]')){\n (function(btn){ btn.addEventListener('click',function(){ const nm=btn.closest('.fp-alm').querySelector('.nm').textContent; ppWrite(instance,ackMap[nm]||btn.getAttribute('data-ack'),1,'ackAlarm'); }); })(b);\n }\n for(const b of instance._getDomElements('[data-ackall]')){\n b.addEventListener('click',function(){ for(const k in ackMap) ppWrite(instance,ackMap[k],1,'ackAlarm'); });\n }\n}\nexport function disconnectedCallback(instance){ ppCleanup(instance); }\n"
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "properties": {
3
+ "root": {
4
+ "type": "signal",
5
+ "default": ""
6
+ },
7
+ "type": {
8
+ "type": "string",
9
+ "default": "P_AIn"
10
+ },
11
+ "unit": {
12
+ "type": "string",
13
+ "default": ""
14
+ }
15
+ },
16
+ "settings": {
17
+ "width": "96px",
18
+ "height": "48px"
19
+ },
20
+ "html": "<div id=\"sym\" class=\"pp-sym\" @click=\"[[window.IOB.openFaceplate(this.type,this.root)]]\"><span class=\"pp-pv\">[[this.pv==null?'--':this.pv]]</span><span class=\"pp-unit\">[[this.unit||'']]</span><span class=\"pp-badge\" css:display=\"[[this.unacked?'':'none']]\"></span></div>",
21
+ "style": ":host{display:block;width:100%;height:100%;font-family:'Segoe UI',sans-serif;}.pp-sym{position:relative;display:flex;align-items:baseline;gap:4px;justify-content:center;height:100%;box-sizing:border-box;padding:4px 8px;border-radius:4px;cursor:pointer;background:var(--pp-bg,var(--ui-surface-2,#2f3545));color:var(--ui-text,#e8e8ea);border:1px solid var(--ui-border,#4a5570);}.pp-pv{font-size:18px;font-weight:700;}.pp-unit{font-size:11px;opacity:.7;}.pp-badge{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:50%;background:var(--ui-warn,#f6b73c);}",
22
+ "script": "\nfunction ppResolve(instance,field){ try{ return window.IOB.resolvePlantPaxField(instance.type,instance.root,field); }catch(e){ return null; } }\nfunction ppSubscribe(instance,field,onVal){\n const id=ppResolve(instance,field); if(!id) return;\n instance.__ppSubs=instance.__ppSubs||[];\n const cb=(_i,s)=>{ onVal(s&&s.val); try{instance._bindingsRefresh&&instance._bindingsRefresh();}catch(e){} };\n try{ window.IOB.getState(id).then(function(s){ onVal(s&&s.val); try{instance._bindingsRefresh&&instance._bindingsRefresh();}catch(e){} }).catch(function(){}); }catch(e){}\n try{ window.IOB.subscribeState(id,cb); instance.__ppSubs.push([id,cb]); }catch(e){}\n}\nfunction ppCleanup(instance){\n for(const pair of (instance.__ppSubs||[])){ try{ window.IOB.unsubscribeState(pair[0],pair[1]); }catch(e){} }\n instance.__ppSubs=[];\n}\nasync function ppWrite(instance,field,val,action){\n const id=ppResolve(instance,field); if(!id) return;\n try{ await window.IOB.secWriteState(id,val,{action:action,element:instance}); }catch(e){ console.warn('[plantpax] write failed',field,e); }\n}\n\nexport function init(instance){\n if(!instance || typeof instance._getDomElement!=='function' || typeof instance._getDomElements!=='function') return;\n instance.pv=null; instance.unacked=0; instance.__alm={};\n ppSubscribe(instance,'pv',function(v){ instance.pv=v; });\n const alarms=[\"hiHiAlarm\", \"hiAlarm\", \"loAlarm\", \"loLoAlarm\", \"failAlarm\"];\n for(const a of alarms){ (function(name){ ppSubscribe(instance,name,function(v){ instance.__alm[name]=(v===true||v==='true'||v===1); ppSymColor(instance); }); })(a); }\n}\nfunction ppSymColor(instance){\n const A=instance.__alm||{};\n const hi2=A.hiHiAlarm||A.loLoAlarm, hi1=A.hiAlarm||A.loAlarm, fail=A.failAlarm;\n const el=instance._getDomElement('sym');\n const c=(hi2||fail)?'var(--ui-error,#e5484d)':(hi1?'var(--ui-warn,#f6b73c)':'var(--ui-ok,#30a46c)');\n if(el) el.style.setProperty('--pp-bg', c);\n instance.unacked=(hi2||hi1||fail)?1:0;\n try{ instance._bindingsRefresh&&instance._bindingsRefresh(); }catch(e){}\n}\nexport function disconnectedCallback(instance){ ppCleanup(instance); }\n"
23
+ }