edouard@2938: function "scripts" edouard@2938: { edouard@2938: | edouard@2938: | id = idstr => document.getElementById(idstr); edouard@2938: | edouard@2938: | var hmi_hash = [«$hmitree/@hash»]; Edouard@2779: edouard@2938: | var hmi_widgets = { edouard@2938: apply "$hmi_elements", mode="hmi_elements"; edouard@2938: | } edouard@2938: | edouard@2938: | var heartbeat_index = «$indexed_hmitree/*[@hmipath = '/HEARTBEAT']/@index»; edouard@2938: | edouard@2938: | var hmitree_types = [ Edouard@2792: edouard@2938: foreach "$indexed_hmitree/*" { edouard@2938: | /* «@index» «@hmipath» */ "«substring(local-name(), 5)»"`if "position()!=last()" > ,` edouard@2938: } Edouard@2753: edouard@2938: | ] edouard@2938: | edouard@2938: edouard@2938: | var detachable_elements = { edouard@2938: foreach "$detachable_elements"{ edouard@2938: | "«@id»":[id("«@id»"), id("«../@id»")]`if "position()!=last()" > ,` edouard@2938: } edouard@2938: | } edouard@2938: edouard@2938: | edouard@2938: | var page_desc = { edouard@2938: apply "$hmi_pages", mode="page_desc"; edouard@2938: | } edouard@2938: edouard@2938: | var keypads = { edouard@2938: foreach "$keypads_descs"{ edouard@2938: const "keypad_id","@id"; edouard@2938: foreach "arg"{ edouard@2938: const "g", "$geometry[@Id = $keypad_id]"; edouard@2938: | "«@value»":["«$keypad_id»", «$g/@x», «$g/@y»], edouard@2938: } edouard@2938: } edouard@2938: | } Edouard@2792: Edouard@2790: edouard@2938: | edouard@2938: | var default_page = "«$default_page»"; edouard@2938: | var svg_root = id("«/svg:svg/@id»"); edouard@2938: include text svghmi.js edouard@2938: } Edouard@2879: