@openremote/or-rules 1.8.0-snapshot.20250723203453 → 1.8.0-snapshot.20250725120000

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 (584) hide show
  1. package/README.md +30 -30
  2. package/custom-elements.json +13 -13
  3. package/dist/umd/index.bundle.js +4998 -4707
  4. package/dist/umd/index.bundle.js.map +1 -0
  5. package/lib/flow-viewer/components/confirmation-dialog.d.ts +2 -2
  6. package/lib/flow-viewer/components/confirmation-dialog.js +61 -24
  7. package/lib/flow-viewer/components/connection-container.d.ts +1 -1
  8. package/lib/flow-viewer/components/connection-container.js +35 -1
  9. package/lib/flow-viewer/components/connection-line.d.ts +1 -1
  10. package/lib/flow-viewer/components/connection-line.js +117 -28
  11. package/lib/flow-viewer/components/context-menu.d.ts +2 -2
  12. package/lib/flow-viewer/components/context-menu.js +140 -45
  13. package/lib/flow-viewer/components/editor-workspace.d.ts +2 -2
  14. package/lib/flow-viewer/components/editor-workspace.js +282 -20
  15. package/lib/flow-viewer/components/flow-editor.d.ts +2 -2
  16. package/lib/flow-viewer/components/flow-editor.js +160 -47
  17. package/lib/flow-viewer/components/flow-node-socket.d.ts +2 -2
  18. package/lib/flow-viewer/components/flow-node-socket.js +146 -31
  19. package/lib/flow-viewer/components/flow-node.d.ts +1 -1
  20. package/lib/flow-viewer/components/flow-node.js +192 -29
  21. package/lib/flow-viewer/components/internal-picker.d.ts +1 -1
  22. package/lib/flow-viewer/components/internal-picker.js +271 -54
  23. package/lib/flow-viewer/components/node-menu-item.d.ts +2 -2
  24. package/lib/flow-viewer/components/node-menu-item.js +132 -32
  25. package/lib/flow-viewer/components/node-panel.d.ts +2 -2
  26. package/lib/flow-viewer/components/node-panel.js +104 -60
  27. package/lib/flow-viewer/components/notification-dialog.d.ts +2 -2
  28. package/lib/flow-viewer/components/notification-dialog.js +55 -23
  29. package/lib/flow-viewer/components/popup-modal.d.ts +1 -1
  30. package/lib/flow-viewer/components/popup-modal.js +113 -54
  31. package/lib/flow-viewer/components/rule-browser.d.ts +2 -2
  32. package/lib/flow-viewer/components/rule-browser.js +119 -30
  33. package/lib/flow-viewer/components/selectable-element.d.ts +1 -1
  34. package/lib/flow-viewer/components/selectable-element.js +71 -1
  35. package/lib/flow-viewer/components/selection-box.d.ts +1 -1
  36. package/lib/flow-viewer/components/selection-box.js +119 -15
  37. package/lib/flow-viewer/components/top-bar.d.ts +2 -2
  38. package/lib/flow-viewer/components/top-bar.js +116 -49
  39. package/lib/flow-viewer/components/workspace-contextmenu-options.js +128 -5
  40. package/lib/flow-viewer/components/writable-dropdown.d.ts +1 -1
  41. package/lib/flow-viewer/components/writable-dropdown.js +51 -5
  42. package/lib/flow-viewer/converters/node-converter.js +10 -1
  43. package/lib/flow-viewer/flow-viewer.js +19 -1
  44. package/lib/flow-viewer/models/camera.js +2 -1
  45. package/lib/flow-viewer/models/context-menu-button.js +2 -1
  46. package/lib/flow-viewer/models/light-node-collection.js +2 -1
  47. package/lib/flow-viewer/models/status.js +8 -1
  48. package/lib/flow-viewer/node-structure/copy.machine.js +34 -1
  49. package/lib/flow-viewer/node-structure/identity.assigner.js +10 -1
  50. package/lib/flow-viewer/node-structure/identity.dom.link.js +4 -1
  51. package/lib/flow-viewer/node-structure/index.js +5 -1
  52. package/lib/flow-viewer/node-structure/socket.type.matcher.js +50 -1
  53. package/lib/flow-viewer/node-structure/utils.js +109 -1
  54. package/lib/flow-viewer/services/copy-paste-manager.js +59 -1
  55. package/lib/flow-viewer/services/exporter.js +67 -1
  56. package/lib/flow-viewer/services/input.d.ts +0 -1
  57. package/lib/flow-viewer/services/input.js +80 -1
  58. package/lib/flow-viewer/services/integration.d.ts +0 -1
  59. package/lib/flow-viewer/services/integration.js +27 -1
  60. package/lib/flow-viewer/services/modal.js +29 -8
  61. package/lib/flow-viewer/services/project.d.ts +0 -1
  62. package/lib/flow-viewer/services/project.js +222 -1
  63. package/lib/flow-viewer/services/project.js.map +1 -1
  64. package/lib/flow-viewer/services/shortcuts.js +63 -1
  65. package/lib/flow-viewer/styles/editor-workspace-style.js +55 -53
  66. package/lib/flow-viewer/styles/flow-node-style.js +95 -93
  67. package/lib/flow-viewer/styles/picker-styles.js +31 -29
  68. package/lib/flow-viewer/utils.js +49 -1
  69. package/lib/index.d.ts +2 -2
  70. package/lib/index.js +953 -56
  71. package/lib/index.js.map +1 -1
  72. package/lib/json-viewer/forms/or-rule-form-alarm.d.ts +1 -1
  73. package/lib/json-viewer/forms/or-rule-form-alarm.js +91 -18
  74. package/lib/json-viewer/forms/or-rule-form-email-message.d.ts +2 -2
  75. package/lib/json-viewer/forms/or-rule-form-email-message.js +51 -12
  76. package/lib/json-viewer/forms/or-rule-form-localized.d.ts +2 -2
  77. package/lib/json-viewer/forms/or-rule-form-localized.js +269 -43
  78. package/lib/json-viewer/forms/or-rule-form-localized.js.map +1 -1
  79. package/lib/json-viewer/forms/or-rule-form-push-notification.d.ts +1 -1
  80. package/lib/json-viewer/forms/or-rule-form-push-notification.js +152 -63
  81. package/lib/json-viewer/forms/or-rule-form-push-notification.js.map +1 -1
  82. package/lib/json-viewer/forms/or-rule-form-webhook.js +296 -101
  83. package/lib/json-viewer/modals/or-rule-alarm-modal.d.ts +2 -2
  84. package/lib/json-viewer/modals/or-rule-alarm-modal.js +173 -17
  85. package/lib/json-viewer/modals/or-rule-notification-modal.d.ts +2 -2
  86. package/lib/json-viewer/modals/or-rule-notification-modal.js +196 -11
  87. package/lib/json-viewer/modals/or-rule-radial-modal.d.ts +2 -2
  88. package/lib/json-viewer/modals/or-rule-radial-modal.js +142 -17
  89. package/lib/json-viewer/modals/or-rule-webhook-modal.d.ts +1 -1
  90. package/lib/json-viewer/modals/or-rule-webhook-modal.js +78 -8
  91. package/lib/json-viewer/or-rule-action-alarm.js +97 -5
  92. package/lib/json-viewer/or-rule-action-attribute.d.ts +1 -1
  93. package/lib/json-viewer/or-rule-action-attribute.js +235 -33
  94. package/lib/json-viewer/or-rule-action-notification.js +465 -56
  95. package/lib/json-viewer/or-rule-action-webhook.d.ts +1 -1
  96. package/lib/json-viewer/or-rule-action-webhook.js +49 -18
  97. package/lib/json-viewer/or-rule-asset-query.d.ts +5 -5
  98. package/lib/json-viewer/or-rule-asset-query.js +849 -126
  99. package/lib/json-viewer/or-rule-condition.js +216 -29
  100. package/lib/json-viewer/or-rule-json-viewer.d.ts +1 -1
  101. package/lib/json-viewer/or-rule-json-viewer.js +393 -34
  102. package/lib/json-viewer/or-rule-then-otherwise.js +609 -113
  103. package/lib/json-viewer/or-rule-trigger-query.d.ts +1 -1
  104. package/lib/json-viewer/or-rule-trigger-query.js +227 -57
  105. package/lib/json-viewer/or-rule-when.js +343 -126
  106. package/lib/or-rule-group-viewer.d.ts +2 -2
  107. package/lib/or-rule-group-viewer.js +106 -12
  108. package/lib/or-rule-text-viewer.d.ts +0 -2
  109. package/lib/or-rule-text-viewer.js +133 -22
  110. package/lib/or-rule-text-viewer.js.map +1 -1
  111. package/lib/or-rule-tree.js +601 -57
  112. package/lib/or-rule-tree.js.map +1 -1
  113. package/lib/or-rule-validity.d.ts +1 -1
  114. package/lib/or-rule-validity.js +373 -62
  115. package/lib/or-rule-viewer.d.ts +1 -1
  116. package/lib/or-rule-viewer.js +361 -81
  117. package/lib/style.js +89 -64
  118. package/package.json +13 -13
  119. package/dist/umd/003671ee2a876e7614cd94390e2255b3.js +0 -1
  120. package/dist/umd/0078b630bed2938ce03f618c2bcd1363.js +0 -1
  121. package/dist/umd/0144de97a3c256f81447e7e7135780e5.js +0 -1
  122. package/dist/umd/019e34e85139cfc611bf23efa096c980.js +0 -1
  123. package/dist/umd/02174460fe8ff6a6bc19db86543b9600.js +0 -1
  124. package/dist/umd/029ed9161a8d24a9c2ba97124020989d.js +0 -1
  125. package/dist/umd/03452373324e7ceaf58e3830eafd1a28.js +0 -1
  126. package/dist/umd/03980cb12dacd26148c22bb61fce440f.js +0 -1
  127. package/dist/umd/03a5f5b2b97a8fc289399d92fba810d0.js +0 -1
  128. package/dist/umd/03aae8272914723a7bf85b984385032c.js +0 -1
  129. package/dist/umd/03ab996935e5c1a84ac09966ede74fb8.js +0 -1
  130. package/dist/umd/0416c21cfe088739209926632a360e3b.js +0 -1
  131. package/dist/umd/069a0d6b093e73e820f6a60a91fa614b.js +0 -1
  132. package/dist/umd/06d958315fc6cdbb28576b03e43203aa.js +0 -1
  133. package/dist/umd/07397bd479cbc34bc04576b4f15bdf18.js +0 -1
  134. package/dist/umd/07567125b93045706d81f17f7d04e262.js +0 -1
  135. package/dist/umd/078dd0bd08c93b1512e3d1b777591b21.js +0 -1
  136. package/dist/umd/0972f21af3e75388ef55435c0b3b831d.js +0 -1
  137. package/dist/umd/0973bb38b2e3efd2a879fd8e81d50fce.js +0 -1
  138. package/dist/umd/0a1d9862d917663419ac2dd2e8193267.js +0 -1
  139. package/dist/umd/0b06cbc7edf78b6f2810187262e7630b.js +0 -1
  140. package/dist/umd/0bd45b2d490c48c31619072a4fb0eaea.js +0 -1
  141. package/dist/umd/0cd2349b7f4b6f7013e195c8145d2917.js +0 -1
  142. package/dist/umd/0dd9fc97c3dee2275f41cd20ffaea059.js +0 -1
  143. package/dist/umd/0e67325b9a04863301e36c0c37947069.js +0 -1
  144. package/dist/umd/0f147528a6f36ca40c8b3ec796429f58.js +0 -1
  145. package/dist/umd/0f2d1162158745e1093693a3a999932a.js +0 -1
  146. package/dist/umd/0fa30731c46fe8b6a54f9752ad0ed7e0.js +0 -1
  147. package/dist/umd/0fd64c8920c10008be86572dd6830dc1.js +0 -1
  148. package/dist/umd/10132993df2cf9c9423b53a8a44379ab.js +0 -1
  149. package/dist/umd/1034e3807d1bcf55cb564491950237ab.js +0 -1
  150. package/dist/umd/105b17c6442efb97c18ca2aef3976b06.js +0 -1
  151. package/dist/umd/10c464f3f882bfeeefbc0934c2ee9fbe.js +0 -1
  152. package/dist/umd/111d9fdb9864abba36298d1a0807fe6d.js +0 -1
  153. package/dist/umd/1195816afa4a5e8183857be16a04ae6f.js +0 -1
  154. package/dist/umd/119f6c45ea400e3c27e1ce172e4c881d.js +0 -1
  155. package/dist/umd/11e3a2a8fb5bcb9d19298a80cafd3f5a.js +0 -1
  156. package/dist/umd/130340e2c62b9e858f186dab5f491e55.js +0 -1
  157. package/dist/umd/135747176621bcc94e9edd0323a81d3c.js +0 -1
  158. package/dist/umd/1383530217ac0068c844902d24e18e08.js +0 -1
  159. package/dist/umd/13eda3507db9cbfb400f46b9b3ff6553.js +0 -1
  160. package/dist/umd/1495a3d68b15b8622c53f6688b64809f.js +0 -1
  161. package/dist/umd/1533058f0ce13acdaa8d5bdc7d147bef.js +0 -1
  162. package/dist/umd/15f3800d33b854ba476c9daf1b9e0326.js +0 -1
  163. package/dist/umd/16c2e1b50af4ba05edaa03c8c9e9d18c.js +0 -1
  164. package/dist/umd/170487867de05784a96608617bdd544d.js +0 -1
  165. package/dist/umd/1736cea368ae85240f34289307fdf67f.js +0 -1
  166. package/dist/umd/17632e1e19e438f431784dfd77e01773.js +0 -1
  167. package/dist/umd/17dc98279d24649d3ca77cbce8c44e83.js +0 -1
  168. package/dist/umd/1875ecdf54e78b5f07ff1bd944cf794b.js +0 -1
  169. package/dist/umd/191feb6103c36b202bc01ba262916cdf.js +0 -1
  170. package/dist/umd/1b15b9f88acaf59b96e59c6b5f32da12.js +0 -1
  171. package/dist/umd/1c24a68cb472146022d0806ea2505cfb.js +0 -1
  172. package/dist/umd/1c57b3481f295105588972ffa1305521.js +0 -1
  173. package/dist/umd/1cc6fc3772824e2f87f10a9c3fad2dae.js +0 -1
  174. package/dist/umd/1ce14f2cad9f3c122cb5ccfcd485ffb4.js +0 -1
  175. package/dist/umd/1d3796180f854b5d8ab435ab0a1c2c11.js +0 -1
  176. package/dist/umd/1dddd8903e00ce9149ded23fb87f6f34.js +0 -1
  177. package/dist/umd/1e5fe0a75db78dcabbd4f27c2b084e4b.js +0 -1
  178. package/dist/umd/1ed6368e8e20628ad5229329eec28baa.js +0 -1
  179. package/dist/umd/1ff1389501159e4846a5133e3b8992d8.js +0 -1
  180. package/dist/umd/210aec2722e6416a0349a987260e14a3.js +0 -1
  181. package/dist/umd/211511e7b374f57ad31acaf49dbdccb1.js +0 -1
  182. package/dist/umd/2272c6632c52c3e402ab27b8045ab8f1.js +0 -1
  183. package/dist/umd/228ca80abf1ae030cbfe7faaec61913f.js +0 -1
  184. package/dist/umd/2302902e10c4afab56e1b864c96070cb.js +0 -1
  185. package/dist/umd/23602ad4c88f0f19e7a0a12454ebf556.js +0 -1
  186. package/dist/umd/23bb1a9f279e7a732bfd405350aab114.js +0 -1
  187. package/dist/umd/24a3ff38afde257888d755ece9bfd704.js +0 -1
  188. package/dist/umd/24f97ddd76026815674affbc50ad6169.js +0 -1
  189. package/dist/umd/25718a469574ade47e23567d8c543169.js +0 -1
  190. package/dist/umd/25eda4bb98e40a82cfd5b4bf9fbc06ec.js +0 -1
  191. package/dist/umd/262f489eb59166e1215642b60446d123.js +0 -1
  192. package/dist/umd/269732f4c5f6e82ea3246548a9631b47.js +0 -1
  193. package/dist/umd/275d8f4e0550edce2f3b85b3eaa94e54.js +0 -1
  194. package/dist/umd/27730a0bdc6f430cc85049a46a73a029.js +0 -1
  195. package/dist/umd/27846e85433e54a3ec0ab34d62233dc5.js +0 -1
  196. package/dist/umd/283970c76db99e2d0d90f0e7c45494f9.js +0 -1
  197. package/dist/umd/28785bea435918d49b290d27bf660baa.js +0 -1
  198. package/dist/umd/2a8394955e047270a2a965ec67843989.js +0 -1
  199. package/dist/umd/2aa392a501973ebfcea38239a45ed8e7.js +0 -1
  200. package/dist/umd/2ad349208b3a727abb3c9f943865a27c.js +0 -1
  201. package/dist/umd/2b1b8f8b9e8f1e423a69afd121fd7da9.js +0 -1
  202. package/dist/umd/2b5729e073775b8fb827fc8e4725e48a.js +0 -1
  203. package/dist/umd/2c3ad366cda02f17520d3369cae64c2c.js +0 -1
  204. package/dist/umd/2d2a75e3d01a74b93d07db04df8abe5e.js +0 -1
  205. package/dist/umd/2dd82c65030101b60dffccedd8741c6e.js +0 -1
  206. package/dist/umd/2e841e8b77c2a2c00fd71940632bc1e1.js +0 -1
  207. package/dist/umd/2f055ac4066041b9008dd6aebf9df34b.js +0 -1
  208. package/dist/umd/2f25a4dc442bc9aebc58cae30c50c3e2.js +0 -1
  209. package/dist/umd/2f55cddc8eb85b63ee5b4ce0e5488230.js +0 -1
  210. package/dist/umd/2fc0239242a898632ca8aa451cb930c2.js +0 -1
  211. package/dist/umd/2fe2904fc024afaf81732563cb83e547.js +0 -1
  212. package/dist/umd/318dcae1cdcd4733986a93e7a5fab7b8.js +0 -1
  213. package/dist/umd/31c610efb1d25afc90853b52ba4cb089.js +0 -1
  214. package/dist/umd/328cbf598e9711b0a87c19437b02f80d.js +0 -1
  215. package/dist/umd/33b4e371d4983ab56f4db08627119f0b.js +0 -1
  216. package/dist/umd/349237ad9565dc823ce7bcb7527ba7ee.js +0 -1
  217. package/dist/umd/34b8d1c8a81822685f809c49097b81fc.js +0 -1
  218. package/dist/umd/34f99cce131bd7aa65e7a924e2456006.js +0 -1
  219. package/dist/umd/3567d1ea443427e944a6f189a0898819.js +0 -1
  220. package/dist/umd/363d3bac8dcd9a83332c3758185ce080.js +0 -1
  221. package/dist/umd/3645af9e7e929d3abe3255c739e20e84.js +0 -1
  222. package/dist/umd/367def81f25c0a08527f9a4e86e70c56.js +0 -1
  223. package/dist/umd/37172facd8a534a38f378ca2a9c7c11b.js +0 -1
  224. package/dist/umd/37ee3b5201ae2e2dc5dc8b1b20ad900e.js +0 -1
  225. package/dist/umd/3834f2acef5a5debb2a21ad919272307.js +0 -1
  226. package/dist/umd/38b1d18836e38ee7b4deaeba0c35f7b8.js +0 -1
  227. package/dist/umd/39fea85ed7dd99d7c6c9e59b7040523f.js +0 -1
  228. package/dist/umd/3a1227a65a1fc39ca476c295d1a260a4.js +0 -1
  229. package/dist/umd/3a6ca6958d003ae67bb7fefc8713ee93.js +0 -1
  230. package/dist/umd/3ac8c7749734990e2d9f81eeca219886.js +0 -1
  231. package/dist/umd/3b02cca9e95276a74f3ed2bbc7a64ce6.js +0 -1
  232. package/dist/umd/3b190e5159c72fb7e27271956772bcba.js +0 -1
  233. package/dist/umd/3b544bb2c5a4e7b225a4b50235a0fd6d.js +0 -1
  234. package/dist/umd/3b6e7dc98c47eeafd851ca5072db4be6.js +0 -1
  235. package/dist/umd/3bf96f8eb1859e2724a4b769af3b5f1e.js +0 -1
  236. package/dist/umd/3c5b59a666c5d39d9ba9cc054d36a410.js +0 -1
  237. package/dist/umd/3ea020c57c2bbf457a8497df313b2e5c.js +0 -1
  238. package/dist/umd/3eefbe1c009cfd730b2ca6f834367c45.js +0 -1
  239. package/dist/umd/3f896944a97f002f2146e028ff2eac63.js +0 -1
  240. package/dist/umd/414cd2c842fa42bf71e155f870619e00.js +0 -1
  241. package/dist/umd/42c556183279bbdaaed3a8a9f9108f58.js +0 -1
  242. package/dist/umd/42e0ea6351d45d342caab13cb12f9ea4.js +0 -1
  243. package/dist/umd/43139bfbcbce9de597b4985dc1e6a03b.js +0 -1
  244. package/dist/umd/432a5982ba3ddf958381d780e1e9a8e2.js +0 -1
  245. package/dist/umd/432aff60ba31a74d2120031fdc894775.js +0 -1
  246. package/dist/umd/4430c55f023b72fb5e389cee9351b38c.js +0 -1
  247. package/dist/umd/44599d9b6202ebebfcdd073edf3562e3.js +0 -1
  248. package/dist/umd/44efcea2f84e80cc4092a89796afe886.js +0 -1
  249. package/dist/umd/472ba8f81bf8cac86027cb1be4e3b9cd.js +0 -1
  250. package/dist/umd/479ec45a8edfe482fae4298d1e9862d2.js +0 -1
  251. package/dist/umd/47e4cb297b2c3841ef86ce04a7f5584e.js +0 -1
  252. package/dist/umd/47e5776dff3b80ed69ab5947dba33c76.js +0 -1
  253. package/dist/umd/48e9351c5623d4da657ce7d5d0267ea6.js +0 -1
  254. package/dist/umd/492e618a031cfde9c83d699c430de2ac.js +0 -1
  255. package/dist/umd/49582665262ff6179b9f3a98adf7ed5c.js +0 -1
  256. package/dist/umd/4b692785a8a6340a89e6067274a7583c.js +0 -1
  257. package/dist/umd/4bee3a46b8378a7b4ef84492f08abd22.js +0 -1
  258. package/dist/umd/4bf3bc1fbdd26ac698fef1bdf26e3ff4.js +0 -1
  259. package/dist/umd/4bf6763c5956e3bccbf0373068810ded.js +0 -1
  260. package/dist/umd/4c1bdecbedd36a5765de184ac056822a.js +0 -1
  261. package/dist/umd/4d0849c6c9a868c09130600ac68319b3.js +0 -1
  262. package/dist/umd/4d0ebf4c528cee9b0cdd3e076e06570b.js +0 -1
  263. package/dist/umd/4d156ee0485ab4b40b090a3cd7b995a9.js +0 -1
  264. package/dist/umd/4d6d9020e7e5c8d8dee7a5e374355f05.js +0 -1
  265. package/dist/umd/4d8cb7033879cb7fcc7a43798e2bde22.js +0 -1
  266. package/dist/umd/4e389cce6fb8f78845fab249bce43c0b.js +0 -1
  267. package/dist/umd/4ef80ee74467e0297eec3cc03092da01.js +0 -1
  268. package/dist/umd/4f683c6881e9f8740f5516a85b9eb9da.js +0 -1
  269. package/dist/umd/5106411f7468a5ee5b1ee77aed12c0c7.js +0 -1
  270. package/dist/umd/51f903c5ce5284a63196247cffb5ca40.js +0 -1
  271. package/dist/umd/52fd09d1713345d9ee64dc7daea9fd6f.js +0 -1
  272. package/dist/umd/5348f3cfbe5a63954e7d984f197bbddb.js +0 -1
  273. package/dist/umd/5352ecd8e5f1a2637b48e18cc406edb1.js +0 -1
  274. package/dist/umd/5398e3b596fa15df4d84b2aa0464e5c4.js +0 -1
  275. package/dist/umd/53e3600928916423671f3388e2d67844.js +0 -1
  276. package/dist/umd/54560f13b36626237959e93b7771a484.js +0 -1
  277. package/dist/umd/54a10f3bddad1e6da452fee7124fe846.js +0 -1
  278. package/dist/umd/57e14488b13e50ebdb5fdfc7880da683.js +0 -1
  279. package/dist/umd/57f4109bd1f06be4dc2bcb8ff7eaf1e5.js +0 -1
  280. package/dist/umd/582e24f5ba929e358fadfc7be4c18025.js +0 -1
  281. package/dist/umd/58598705e7012f4ca1eb1dd21d3c59a5.js +0 -1
  282. package/dist/umd/5861dfe4f2c7823623e82d0619c5bf06.js +0 -1
  283. package/dist/umd/58aab872dbdb5e1607076e1935130e03.js +0 -1
  284. package/dist/umd/58c35e5c73bbc1664bbd67c570342aa0.js +0 -1
  285. package/dist/umd/58e7f91772635a5c59bacc975735da6c.js +0 -1
  286. package/dist/umd/59cc05504a1c823b6d4796bf6b430822.js +0 -1
  287. package/dist/umd/5a496ae20cc576bef1d35972548207cf.js +0 -1
  288. package/dist/umd/5a741aab715866cb4d9a55e89dfc8420.js +0 -1
  289. package/dist/umd/5b6a626249d0bc43e412fffa6a9ee177.js +0 -1
  290. package/dist/umd/5cab33610b8d9c1aee4db4672811cb5f.js +0 -1
  291. package/dist/umd/5cd4e1282f4409600b942819b7aa4f21.js +0 -1
  292. package/dist/umd/5ce650c06c385f9d15621e54c60457c0.js +0 -1
  293. package/dist/umd/5cebfc2c3495b6294dcb2a99e5174872.js +0 -1
  294. package/dist/umd/5d312b184c1f4565f51247d3c6dbba90.js +0 -1
  295. package/dist/umd/5d3314103b00c8ea165c6f9f6757f794.js +0 -1
  296. package/dist/umd/5df362c9904925cdf574d9506e4be76d.js +0 -1
  297. package/dist/umd/5e55b301888460bd06c8e26d1011e01a.js +0 -1
  298. package/dist/umd/5e8a4f4320a07ae4bb1d8a5cd621d955.js +0 -1
  299. package/dist/umd/5f3ce6efab3c679ec1ad25ab0b3f6b2f.js +0 -1
  300. package/dist/umd/5f5a93ab1249b7cbdb13d9466febd3a0.js +0 -1
  301. package/dist/umd/5fedbf948ed123687f77167fac1faf8b.js +0 -1
  302. package/dist/umd/60190285b6c2243e14184b9e57d48dbb.js +0 -1
  303. package/dist/umd/603e2644074e6512faf427d511d47fe4.js +0 -1
  304. package/dist/umd/60ede8d7ffdf4c05f2ce51b6d8d2be68.js +0 -1
  305. package/dist/umd/6130486ae80b103700a2e1eec0bc5cea.js +0 -1
  306. package/dist/umd/622e27eec5f26148f51ccc30315a3deb.js +0 -1
  307. package/dist/umd/6250c7594cd66ca91184b5beca293e06.js +0 -1
  308. package/dist/umd/62a96977e725e8bc809dc80afe0fedf1.js +0 -1
  309. package/dist/umd/63596b4896732fb322ab0496b4be1e74.js +0 -1
  310. package/dist/umd/6490772da5aecc6cb9e4c625abc74a96.js +0 -1
  311. package/dist/umd/64a5f4d62507d032038dcd76d15188e1.js +0 -1
  312. package/dist/umd/64d6924350bd7706850cdc0dcc76ccf6.js +0 -1
  313. package/dist/umd/65e7cf62ca9df32c18b630f31025a401.js +0 -1
  314. package/dist/umd/663ffb67b9683a2126410325d1a5a152.js +0 -1
  315. package/dist/umd/669c462287be8fa855e0ac003c145b55.js +0 -1
  316. package/dist/umd/678f5201c1917429f334b88078ca4174.js +0 -1
  317. package/dist/umd/6a1c347ab79a93f3ac01b08c8ccfc827.js +0 -1
  318. package/dist/umd/6a851f05f1f4a974e02fe23eac2bad4e.js +0 -1
  319. package/dist/umd/6b4b87a54f673cfbb82be45329441bef.js +0 -1
  320. package/dist/umd/6bed1b724e74e6bc80688f42bc824d70.js +0 -1
  321. package/dist/umd/6c0a75dc5671c3f237a79f6e45b9891c.js +0 -1
  322. package/dist/umd/6c67587c2093ac3a19da9f2196e040b7.js +0 -1
  323. package/dist/umd/6c6d192b6860b4508a14c2d04769a35e.js +0 -1
  324. package/dist/umd/6d0c0aa17d36cb16bafc76d7376b97f7.js +0 -1
  325. package/dist/umd/6d38cef4a006e6cfe54a6117aba7b600.js +0 -1
  326. package/dist/umd/6e40b726d91e9138d9eaef6fd012c740.js +0 -1
  327. package/dist/umd/6faa9e5f2a0122d2333fa450337a09b0.js +0 -1
  328. package/dist/umd/70074e0c785c9a808dea76c7c7d17af3.js +0 -1
  329. package/dist/umd/70286c33cab463fd576766adecd2d5d9.js +0 -1
  330. package/dist/umd/70289d3b9b2b851df3286e20e40410a6.js +0 -1
  331. package/dist/umd/7080d2a1db1608264a6d9d9fbaf2cce8.js +0 -1
  332. package/dist/umd/70efbabef77fb217f904f41dbf7fe8bf.js +0 -1
  333. package/dist/umd/714763ddd9bd466c95df7b042900bb87.js +0 -1
  334. package/dist/umd/7222998c10fabd9c824cf8cf540b3b74.js +0 -1
  335. package/dist/umd/724a16861717b5b4f786d24b56b62614.js +0 -1
  336. package/dist/umd/7259bceba25ac1476fc775122a63d249.js +0 -1
  337. package/dist/umd/725da29f1643c2263a437c08a1454aea.js +0 -1
  338. package/dist/umd/742afd6665dee8dafd43661093bdda9d.js +0 -1
  339. package/dist/umd/755114145e5b97e5571a160a39e716db.js +0 -1
  340. package/dist/umd/757ef1b870d065a77ce3c182a03d93ad.js +0 -1
  341. package/dist/umd/7648d83718f74149cb2db078b19fb7db.js +0 -1
  342. package/dist/umd/764b59bdd3a89e14f88c9d63020551a1.js +0 -1
  343. package/dist/umd/77aaca51c1c32acaf32656d45f4dc017.js +0 -1
  344. package/dist/umd/78632dc7e1875ec8c39416f645e53733.js +0 -1
  345. package/dist/umd/79241f85b016a7332f85bb66667459c2.js +0 -1
  346. package/dist/umd/79455ab9a6cd507f5314141cc965093a.js +0 -1
  347. package/dist/umd/7aa17a5a81c83c0f455941b3b286d5da.js +0 -1
  348. package/dist/umd/7b839a5c1f6d89538928c8a29003bbda.js +0 -1
  349. package/dist/umd/7bc18fc7a7d1323c178aa1846d79fb3c.js +0 -1
  350. package/dist/umd/7d64980faff5b041a461fd0ba3e2f3f5.js +0 -1
  351. package/dist/umd/7e4099fc2d04c7c1cf96892b962ba4ec.js +0 -1
  352. package/dist/umd/7ec97a8161bf26e434d3891f64adb15b.js +0 -1
  353. package/dist/umd/7f45be8b3fab8d742afc26fc48a23d2e.js +0 -1
  354. package/dist/umd/7f79d4bde67c8013b187889b63e25bce.js +0 -1
  355. package/dist/umd/7f9a9efc9ab681fcbf6400e2adb368a9.js +0 -1
  356. package/dist/umd/805cb6232d7a9fa46025d48a43622ecf.js +0 -1
  357. package/dist/umd/80ddbf4f0fdde4ddba57130e61043017.js +0 -1
  358. package/dist/umd/81318a3530fb35d5178eb7a4a13a606f.js +0 -1
  359. package/dist/umd/817edb0c6f9d66f9c0027762edb1d797.js +0 -1
  360. package/dist/umd/827c1cbf746eacfc23ed2037e4d6359d.js +0 -1
  361. package/dist/umd/83387cb17a7680f59240e7b399e3ac2b.js +0 -1
  362. package/dist/umd/839e3594798c1942d3c92f9acfaa5f0b.js +0 -1
  363. package/dist/umd/83bd353f98aa901411c82b8af58d1296.js +0 -1
  364. package/dist/umd/84270e22d4439d15b0d8f392d1338d8e.js +0 -1
  365. package/dist/umd/843c762c24f7fac628d8c62519a7b308.js +0 -1
  366. package/dist/umd/84abf03cc94d264bb38020b4ac5f76e1.js +0 -1
  367. package/dist/umd/84effdea6b72577c780f6621246d2e82.js +0 -1
  368. package/dist/umd/852f0ecd7b17e3bfd700a821ff438f7e.js +0 -1
  369. package/dist/umd/8646c11c7b2b46a2b2becab0d9e549c7.js +0 -1
  370. package/dist/umd/875ae58e8015a6d08dbc9d0c04e24638.js +0 -1
  371. package/dist/umd/879d6bc1ca1dde95a9a98dc7a2ab0d06.js +0 -1
  372. package/dist/umd/87bce6f50196688852142c679227b1b9.js +0 -1
  373. package/dist/umd/880ae94877022f7fb0458ced0825eb4c.js +0 -1
  374. package/dist/umd/88730abfeb4a23e692ac7933882f12eb.js +0 -1
  375. package/dist/umd/88da0e09d486e197aaca5bc3d6350998.js +0 -1
  376. package/dist/umd/88e2feda80ac8cfb28f1dc0ec833b40d.js +0 -1
  377. package/dist/umd/894052ca1f8f35cc1cf7cfb29ef75027.js +0 -1
  378. package/dist/umd/894edcaf39c3c95818e3949d737ed459.js +0 -1
  379. package/dist/umd/8a31266178067a316bb2503147cdb5cb.js +0 -1
  380. package/dist/umd/8a5127228870aafabfff6111d29313d6.js +0 -1
  381. package/dist/umd/8b8336037f074d9dcbd20eab535b803f.js +0 -1
  382. package/dist/umd/8c7616f0adba6a5ac0d2f06ba4ebd696.js +0 -1
  383. package/dist/umd/8d9bb1799d9b98db107e84f10132e17f.js +0 -1
  384. package/dist/umd/8ed58ed9c7e1cb1ae1f2830d29011ffb.js +0 -1
  385. package/dist/umd/8ed5aba33ead1f94e97d5c35a5e93434.js +0 -1
  386. package/dist/umd/8eede17ae9e4d25c3c17b8a8a7fc3c3d.js +0 -1
  387. package/dist/umd/8f9ce72eeabbf31f2d51f4bcfc66d3b0.js +0 -1
  388. package/dist/umd/90812d89181b698975cbb081adcbbcb0.js +0 -1
  389. package/dist/umd/90f3dc3c18d447104b63c156cb7fddb5.js +0 -1
  390. package/dist/umd/91beb08737a1bbf071f351fb0acdbf3c.js +0 -1
  391. package/dist/umd/92f4aab5c66f6269c7054c8fbcb3de13.js +0 -1
  392. package/dist/umd/950a205e91da7e78226dd785fd6d34db.js +0 -1
  393. package/dist/umd/962969a46fefcace3305abd4d6e14a2e.js +0 -1
  394. package/dist/umd/9696a4229fb787eeb25b26f1274b75ee.js +0 -1
  395. package/dist/umd/96b8d8b5efd11741639659c63a485c27.js +0 -1
  396. package/dist/umd/972ea4b6ab9d3baeab6d00057cd5f9d3.js +0 -1
  397. package/dist/umd/9807cf1e443a7440371904b6525f37eb.js +0 -1
  398. package/dist/umd/981bd23edacd811f9e4a583d89b544ee.js +0 -1
  399. package/dist/umd/9827973b533de05b338533a0211d97d9.js +0 -1
  400. package/dist/umd/983fccb9f00748c487e889f6c83aa367.js +0 -1
  401. package/dist/umd/9920e03a65566d728a73c7bf18bc5741.js +0 -1
  402. package/dist/umd/99add2656ccb006ff11de385c4219f41.js +0 -1
  403. package/dist/umd/9b1fd9cf4206cc32e84150c49707d811.js +0 -1
  404. package/dist/umd/9b4733fc7a2fe9aedb0fa242bd49e9f0.js +0 -1
  405. package/dist/umd/9b4de1346c73ba258736f1a3f00fdc14.js +0 -1
  406. package/dist/umd/9b5a6ec07bb0a2daade10189696fc399.js +0 -1
  407. package/dist/umd/9b80d1a12acd18c90e41ca92073122a7.js +0 -1
  408. package/dist/umd/9b9578869f378f8e2afbf85a76c0ac72.js +0 -1
  409. package/dist/umd/9ebb9ac2c9c875649c72722bc585d445.js +0 -1
  410. package/dist/umd/9ed8c3550b5c3c1e878d0692f0338cb7.js +0 -1
  411. package/dist/umd/9fa80a5bc14fe8644697fe0dd7b99431.js +0 -1
  412. package/dist/umd/9fd3f255cfd09016ec7f4896bc51864c.js +0 -1
  413. package/dist/umd/a0e32ba94aa4384823d768802b9486e1.js +0 -1
  414. package/dist/umd/a1c8660c5bcc6b6a43a7fb3c351174d9.js +0 -1
  415. package/dist/umd/a223748cd69094dd12b486353b22f479.js +0 -1
  416. package/dist/umd/a2746fc96d535b19c120d4b87dc86ef1.js +0 -1
  417. package/dist/umd/a2b29b879b9e8606085c0d3776f789ca.js +0 -1
  418. package/dist/umd/a34efdb6282815cdc27d2f83352b59e0.js +0 -1
  419. package/dist/umd/a3dfa410d90c00078f4b015410048f34.js +0 -1
  420. package/dist/umd/a41ce517e26d17d855b7224af9ee433b.js +0 -1
  421. package/dist/umd/a496f663a8cf2dc047e12d8a80d76510.js +0 -1
  422. package/dist/umd/a4bedde07e392f8ebf64341b61f75df2.js +0 -1
  423. package/dist/umd/a4d638b976f02f35740be031f996e088.js +0 -1
  424. package/dist/umd/a4e021a4b5d5d65cc87fee17c1886c3f.js +0 -1
  425. package/dist/umd/a52f9ac0e3d582ed7e488aa1dfc33eda.js +0 -1
  426. package/dist/umd/a533e643002830be2da76c9527265860.js +0 -1
  427. package/dist/umd/a569591af2f834ec4b58f43ab7742186.js +0 -1
  428. package/dist/umd/a678d4dedcc646810a379211797d5294.js +0 -1
  429. package/dist/umd/a6eb87af5cd7ae7e4fcba8ec606ec4ba.js +0 -1
  430. package/dist/umd/a709bba98acec5da3ea6258e245514cb.js +0 -1
  431. package/dist/umd/a9cb92db2399f7ac97ad55fe79fe5c20.js +0 -1
  432. package/dist/umd/a9f61cc92a7407c8ca0a5843b29d7a57.js +0 -1
  433. package/dist/umd/aa0417796df2b0398a45c00f93f37ea4.js +0 -1
  434. package/dist/umd/aa0eee504d52a12d3a30bbd523afcc34.js +0 -1
  435. package/dist/umd/aa5623ec68d23fedb9c9c115c7d99063.js +0 -1
  436. package/dist/umd/ab0128ab12bcb8729032421b40f5f8dd.js +0 -1
  437. package/dist/umd/ab237eed5fd16ab99c06f0d28d465edb.js +0 -1
  438. package/dist/umd/ab720dd0a0fd070ad82c052263f748e2.js +0 -1
  439. package/dist/umd/ac54fd77986affc0a122d325788b34d3.js +0 -1
  440. package/dist/umd/af1635b600efd13f6059eb6ac9deae12.js +0 -1
  441. package/dist/umd/af6fdb556ee3f9065578bb01f81f6216.js +0 -1
  442. package/dist/umd/afba1f28f2baa29eae717d6cb03f5464.js +0 -1
  443. package/dist/umd/b02d982ccb1011197a5a24800b178a0a.js +0 -1
  444. package/dist/umd/b03bc4e99280d8b4dfd1c6cddedfbd76.js +0 -1
  445. package/dist/umd/b10accbff47791a59b8494225af07025.js +0 -1
  446. package/dist/umd/b1170472ae4b50e3b0070eb991e502fe.js +0 -1
  447. package/dist/umd/b1e349371cb9c226905c846706ad8b93.js +0 -1
  448. package/dist/umd/b1f3f77a9279cdb38846ebe13c3438bc.js +0 -1
  449. package/dist/umd/b20cd9acf45420fcacfd923754185663.js +0 -1
  450. package/dist/umd/b24bb117549d04501b98ffb66b427e0f.js +0 -1
  451. package/dist/umd/b275e591896df64fa3202d90ae70c583.js +0 -1
  452. package/dist/umd/b2d62f22463367ca31dfdbc615637c32.js +0 -1
  453. package/dist/umd/b306285dfd802d091e788de0f96b8cb2.js +0 -1
  454. package/dist/umd/b33ef9b4202539d3690251cb8213a034.js +0 -1
  455. package/dist/umd/b3f1431b9e6d9e6632a93c2cd89f945b.js +0 -1
  456. package/dist/umd/b676b876040015b30352b3cda5e243b7.js +0 -1
  457. package/dist/umd/b714a3647ca66ab7685eb0437c9e3a8d.js +0 -1
  458. package/dist/umd/b808fb222140a85b23ebbe0fffa906d9.js +0 -1
  459. package/dist/umd/b881dca9d9a80f61d87374b4bd5a2dd5.js +0 -1
  460. package/dist/umd/b8b6bd460e7da0ba8f3b2218327966ee.js +0 -1
  461. package/dist/umd/b934b22e8f8a8b1ba81dbc2cf058b0cd.js +0 -1
  462. package/dist/umd/b953ce2f19e7291598cd9c05128133c1.js +0 -1
  463. package/dist/umd/b992b348ffb6453e4a02a60e71c5304e.js +0 -1
  464. package/dist/umd/b9bf918956902d11645efb99e2ab5293.js +0 -1
  465. package/dist/umd/ba6b8b3e06cd9d0aee9c69278ee84647.js +0 -1
  466. package/dist/umd/bb1365c0983ce5ad50060b24788b9630.js +0 -1
  467. package/dist/umd/bb1de0986c4fb3ee31c5a413b8f97c94.js +0 -1
  468. package/dist/umd/bb5bab7a675544fe31ddb7f4a77dffb9.js +0 -1
  469. package/dist/umd/bd309bb3f23f2bfbcf914f2e71474ab5.js +0 -1
  470. package/dist/umd/be75b76e74c78535966ec8aaa7d46bec.js +0 -1
  471. package/dist/umd/bf37de323316c6ae5745fc11fd576b1c.js +0 -1
  472. package/dist/umd/c19292ad0187d75dd9580319cbfd5688.js +0 -1
  473. package/dist/umd/c1a1f4ba29aa2d9a0b1a1abe5cfee0c6.js +0 -1
  474. package/dist/umd/c2999cd0bf63072240931010a45c21da.js +0 -1
  475. package/dist/umd/c2f4581864c135dff9056745035d3914.js +0 -1
  476. package/dist/umd/c2fa476995041f9982b89a1c483da2b9.js +0 -1
  477. package/dist/umd/c3832579be376308fa819b04e7b0c66f.js +0 -1
  478. package/dist/umd/c3f345c994392d97785925e790513a9f.js +0 -1
  479. package/dist/umd/c428d0ff296b8b683347a18896d72015.js +0 -1
  480. package/dist/umd/c4e58637b4d14c303e29d3ce4b4a210f.js +0 -1
  481. package/dist/umd/c51840077c684be0e7e13339f85cd4a9.js +0 -1
  482. package/dist/umd/c530988d2b1966fd10a4d99fa3877e1b.js +0 -1
  483. package/dist/umd/c5647f3b9e799d1b9818e80796f8a574.js +0 -1
  484. package/dist/umd/c64d6e1e72024bb5d3d3e9bfc19d183d.js +0 -1
  485. package/dist/umd/c6938ce24c731f9ee703747909cd2aad.js +0 -1
  486. package/dist/umd/c80e89199aef31e48addb2b35ea96365.js +0 -1
  487. package/dist/umd/c8230f96396f0378d032dce2be3dce66.js +0 -1
  488. package/dist/umd/c8acc93023012737a3bf8fb767b66838.js +0 -1
  489. package/dist/umd/c93947dfac92c92c3999d1d51fc5b516.js +0 -1
  490. package/dist/umd/c9568507cc8ea516d091749c7919b744.js +0 -1
  491. package/dist/umd/cb0d121a88477f943960f5ad60602c22.js +0 -1
  492. package/dist/umd/cb4bb785934eeca9b408e892ae6b73b7.js +0 -1
  493. package/dist/umd/cb5746e29527a2fdb9f857a121e086ed.js +0 -1
  494. package/dist/umd/cb652f200fc3dd740b2e7f678a9272ea.js +0 -1
  495. package/dist/umd/cb9910e014b468ada91393696fcad206.js +0 -1
  496. package/dist/umd/cbdbd623038183a8c068dd24ecd90682.js +0 -1
  497. package/dist/umd/cbdc4ca43a8c940a6c3f59a8b6f17df5.js +0 -1
  498. package/dist/umd/cc0de4981277622a9017f137023a6dd5.js +0 -1
  499. package/dist/umd/cc65d108f0e7cfb200de1d0bcf115005.js +0 -1
  500. package/dist/umd/cd9a17f94a922c7c88000b1b3cdd67df.js +0 -1
  501. package/dist/umd/cf188b3f83735389d47bb12fc9f7069a.js +0 -1
  502. package/dist/umd/cf26dd07f19bcb5b7efbf057a6cfeb8f.js +0 -1
  503. package/dist/umd/cf3f6b1c74c72cb5d02870022dbc9f94.js +0 -1
  504. package/dist/umd/cf909ad6e321c2f98750f5c3581556f8.js +0 -1
  505. package/dist/umd/cf9c7cbfc2b609b9ae59daeab82719c4.js +0 -1
  506. package/dist/umd/cfaaa83ec3973688a7946b95b597c228.js +0 -1
  507. package/dist/umd/d0415105402964718010284fcfa8b2ea.js +0 -1
  508. package/dist/umd/d09463c099fb2c44719380623a5c68fb.js +0 -1
  509. package/dist/umd/d1a1ee70e5eed28571ae9c619f33de7c.js +0 -1
  510. package/dist/umd/d1db2c4677dd2ee7a0c690c58798a013.js +0 -1
  511. package/dist/umd/d43ad5f9bad9a042b49b2592c7639c28.js +0 -1
  512. package/dist/umd/d4ad4ca9643d85d3990bfefe29cb3bb0.js +0 -1
  513. package/dist/umd/d4f1a314cb3668f8e17f24bccf0229b6.js +0 -1
  514. package/dist/umd/d4f5981ee5a73d8a6e19112f2ffcb72c.js +0 -1
  515. package/dist/umd/d542dda7308361c34af2afb9b70d755a.js +0 -1
  516. package/dist/umd/d5999827bd3af6b813a871de344b109a.js +0 -1
  517. package/dist/umd/d5a6140d581e5c4eb200259ce372f40b.js +0 -1
  518. package/dist/umd/d5f79987405c2169278f8de37bcc9d05.js +0 -1
  519. package/dist/umd/d7340300249ab98bd9b3f538a767106e.js +0 -1
  520. package/dist/umd/d78d3b050ea95b068380d975fd413fd7.js +0 -1
  521. package/dist/umd/d7d616d4aa8fd3f51d681242853dcde9.js +0 -1
  522. package/dist/umd/d83cda12aee0c87c8b381a1234bf7798.js +0 -1
  523. package/dist/umd/d869a443b727ea4b7cef2de0ff2a6ed8.js +0 -1
  524. package/dist/umd/d8f7ecdd496f3caf14f5afbedfff1937.js +0 -1
  525. package/dist/umd/d9b2daf38414fcbaf89924ad3e10e587.js +0 -1
  526. package/dist/umd/da740c1b29a85b999a6874b59a1baeef.js +0 -1
  527. package/dist/umd/db8ca5cfb6fe4aaef215f116f6991784.js +0 -1
  528. package/dist/umd/dc8240db39815020378555a4d80571c3.js +0 -1
  529. package/dist/umd/dc83a73f0eb89665520bbb6672dfa3cb.js +0 -1
  530. package/dist/umd/dc932cde2fbfca8e2901fb693968b131.js +0 -1
  531. package/dist/umd/ddbc961769cd2ff4d4a7a136168ebf4c.js +0 -1
  532. package/dist/umd/de0fd4fd7c2d7a4887cbc99eed91f797.js +0 -1
  533. package/dist/umd/de73b4d2a9ed4bcb851f9141e303636d.js +0 -1
  534. package/dist/umd/e0adad8a8579bf99f3e22f7c214a5c64.js +0 -1
  535. package/dist/umd/e0c565aadda4787ba4ef4456c0a7ee29.js +0 -1
  536. package/dist/umd/e0fa6a4fe8bff90d50ce812e666957ca.js +0 -1
  537. package/dist/umd/e13fc7d468ab9b5797f2a44412ca2f00.js +0 -1
  538. package/dist/umd/e2b38a8393be2cf23f3894ace3efb1c3.js +0 -1
  539. package/dist/umd/e2fe8f0d4fd950b20b30fabaea96b3f8.js +0 -1
  540. package/dist/umd/e37ac12436bcd0536ec98ae8470a1228.js +0 -1
  541. package/dist/umd/e4917fa7632b01d28e99304d32d989f7.js +0 -1
  542. package/dist/umd/e61779df91186b23e7adf2d1968b2708.js +0 -1
  543. package/dist/umd/e6ad50b520736b595970c9e07029c3f1.js +0 -1
  544. package/dist/umd/e7e1a807af3160b342e0a3550cf8f7c5.js +0 -1
  545. package/dist/umd/e7f37e0f2b6113039c45a326264c4d36.js +0 -1
  546. package/dist/umd/e80d5ee40455d0675f8f2a3688071adf.js +0 -1
  547. package/dist/umd/e874d975c9128dc6eb9a513d088bed9f.js +0 -1
  548. package/dist/umd/e9382a0e67b22188c75e9418de1c9295.js +0 -1
  549. package/dist/umd/e9c8f7e13e00284ce126890bf7ac46fd.js +0 -1
  550. package/dist/umd/ea6edcde22c9fdbb9f7b8d9cf72a062b.js +0 -1
  551. package/dist/umd/eaa55a522fb2cb2f0287711f42344984.js +0 -1
  552. package/dist/umd/eb08efe1d361a9c5e37e1d4c8100212e.js +0 -1
  553. package/dist/umd/eb0b62e1895dcf7491419aa728f00c38.js +0 -1
  554. package/dist/umd/ecdb4966f685f3e44b1f28fae46827a3.js +0 -1
  555. package/dist/umd/ecff3d4bbf59ef41230960af46098e74.js +0 -1
  556. package/dist/umd/ed88b2c21452a7eaea143e54e27a0879.js +0 -1
  557. package/dist/umd/ee41eb1fd1d1c87c45e818b5a8a65cf8.js +0 -1
  558. package/dist/umd/ee5d36473f84db2af26d82efd69a38ec.js +0 -1
  559. package/dist/umd/ef6cac9d9a3156e1c19b46cd181863ed.js +0 -1
  560. package/dist/umd/ef7dedac6423354de55896b34230d548.js +0 -1
  561. package/dist/umd/ef87482c92662e8b69a21f47588474ea.js +0 -1
  562. package/dist/umd/efc14cdf19554635e477781704353ec2.js +0 -1
  563. package/dist/umd/eff4371180dfac54de25ed3a0105d82f.js +0 -1
  564. package/dist/umd/f15362a7feef894b2e7f706252e6c510.js +0 -1
  565. package/dist/umd/f15cbf0d23cba4a313f3f2acfef5370c.js +0 -1
  566. package/dist/umd/f18c12f0446bad25ec3732c621d60f88.js +0 -1
  567. package/dist/umd/f2fb7fcc9bdd849d687150c07a81ffe4.js +0 -1
  568. package/dist/umd/f326f2f263b1498fedbe1d07d7254d10.js +0 -1
  569. package/dist/umd/f4480bd3d93cb0949fc4f3af8eff6531.js +0 -1
  570. package/dist/umd/f5655f072ce70050c78fab024d5028a8.js +0 -1
  571. package/dist/umd/f666b5647087bcfdf6623f8b14d56657.js +0 -1
  572. package/dist/umd/f6d7091e70dee6c74956acfef2464d08.js +0 -1
  573. package/dist/umd/f799992a362826cff3c7d1ce9dc9940c.js +0 -1
  574. package/dist/umd/fa0c561bb37040fc8145e5c70ea64912.js +0 -1
  575. package/dist/umd/fb393a7455b47f3d4fc30cf219d5145c.js +0 -1
  576. package/dist/umd/fb5080213f065f82f0391c551c864434.js +0 -1
  577. package/dist/umd/fd3859a700b456e06c65c0cf6b0af05c.js +0 -1
  578. package/dist/umd/fd5bc50b18c9f46380cbe5ec1ac2127b.js +0 -1
  579. package/dist/umd/fd9645aaf1f70c8abc562be41bee25fc.js +0 -1
  580. package/dist/umd/fd98f0e48b18e1de428edd5174539c2a.js +0 -1
  581. package/dist/umd/fe9499c0a5444f7f42843fa00fb355cb.js +0 -1
  582. package/dist/umd/fec23c6964d6cf25681d1f3e24b076a4.js +0 -1
  583. package/dist/umd/ffd3b83e8b5878f4785591ff54b1dfff.js +0 -1
  584. package/dist/umd/index.bundle.js.LICENSE.txt +0 -228
@@ -1,126 +1,849 @@
1
- var __decorate=this&&this.__decorate||function(e,t,r,s){var a,i=arguments.length,o=i<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,s);else for(var u=e.length-1;u>=0;u--)(a=e[u])&&(o=(i<3?a(o):i>3?a(t,r,o):a(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},__awaiter=this&&this.__awaiter||function(e,t,r,s){return new(r||(r=Promise))((function(a,i){function o(e){try{n(s.next(e))}catch(e){i(e)}}function u(e){try{n(s.throw(e))}catch(e){i(e)}}function n(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,u)}n((s=s.apply(e,t||[])).next())}))};import{css,html,LitElement}from"lit";import{customElement,property,state}from"lit/decorators.js";import{AssetModelUtil}from"@openremote/model";import{AssetQueryOperator,getAssetIdsFromQuery,getAssetTypeFromQuery}from"../index";import"@openremote/or-mwc-components/or-mwc-input";import{InputType}from"@openremote/or-mwc-components/or-mwc-input";import"@openremote/or-attribute-input";import{Util}from"@openremote/core";import i18next from"i18next";import{buttonStyle}from"../style";import{OrRulesJsonRuleChangedEvent}from"./or-rule-json-viewer";import{translate}from"@openremote/or-translate";import"./modals/or-rule-radial-modal";import{ifDefined}from"lit/directives/if-defined.js";import{when}from"lit/directives/when.js";import moment from"moment";const style=css`
2
-
3
- ${buttonStyle}
4
-
5
- :host {
6
- display: block;
7
- }
8
-
9
- .attribute-group {
10
- flex-grow: 1;
11
- display: flex;
12
- align-items: start;
13
- flex-direction: row;
14
- flex-wrap: wrap;
15
- }
16
-
17
- .min-width {
18
- min-width: 200px;
19
- }
20
-
21
- .attribute-group > * {
22
- margin: 10px 3px 6px 3px;
23
- }
24
- .attributes {
25
- flex: 1 1 min-content;
26
- display: flex;
27
- flex-direction: column;
28
- row-gap: 10px;
29
- }
30
- or-icon.small {
31
- --or-icon-width: 14px;
32
- --or-icon-height: 14px;
33
- }
34
- .attribute {
35
- display: flex;
36
- align-items: center;
37
- }
38
- .attribute > div {
39
- display: flex;
40
- flex-direction: row;
41
- flex-wrap: wrap;
42
- align-items: center;
43
- gap: 6px;
44
- }
45
- .attribute > div > or-rule-radial-modal {
46
- min-width: auto;
47
- }
48
- .attribute > div > or-mwc-input[type="button"] {
49
- min-width: auto;
50
- }
51
- .attribute > div > or-mwc-input:not([type="button"]) {
52
- width: 200px;
53
- }
54
- .attribute > div > or-attribute-input {
55
- width: 200px;
56
- }
57
- .attribute > div > * {
58
- min-width: 200px;
59
- }
60
- .button-clear {
61
- margin-left: auto;
62
- }
63
- .attribute:hover .button-clear {
64
- visibility: visible;
65
- }
66
-
67
- .invalidLabel {
68
- display: flex;
69
- align-items: center;
70
- margin: 14px 3px auto 0;
71
- height: 48px; /* Same as the icon size */
72
- }
73
- `;let OrRuleAssetQuery=class extends(translate(i18next)(LitElement)){constructor(){super(),this._queryOperatorsMap={},this._queryOperatorsMap.GEO_JSONPoint=[AssetQueryOperator.EQUALS,AssetQueryOperator.NOT_EQUALS,AssetQueryOperator.WITHIN_RADIUS,AssetQueryOperator.OUTSIDE_RADIUS,AssetQueryOperator.WITHIN_RECTANGLE,AssetQueryOperator.OUTSIDE_RECTANGLE,AssetQueryOperator.VALUE_EMPTY,AssetQueryOperator.VALUE_NOT_EMPTY,AssetQueryOperator.NOT_UPDATED_FOR],this._queryOperatorsMap.string=[AssetQueryOperator.EQUALS,AssetQueryOperator.NOT_EQUALS,AssetQueryOperator.CONTAINS,AssetQueryOperator.NOT_CONTAINS,AssetQueryOperator.STARTS_WITH,AssetQueryOperator.NOT_STARTS_WITH,AssetQueryOperator.ENDS_WITH,AssetQueryOperator.NOT_ENDS_WITH,AssetQueryOperator.VALUE_EMPTY,AssetQueryOperator.VALUE_NOT_EMPTY,AssetQueryOperator.NOT_UPDATED_FOR],this._queryOperatorsMap.number=[AssetQueryOperator.EQUALS,AssetQueryOperator.NOT_EQUALS,AssetQueryOperator.GREATER_THAN,AssetQueryOperator.GREATER_EQUALS,AssetQueryOperator.LESS_THAN,AssetQueryOperator.LESS_EQUALS,AssetQueryOperator.BETWEEN,AssetQueryOperator.NOT_BETWEEN,AssetQueryOperator.VALUE_EMPTY,AssetQueryOperator.VALUE_NOT_EMPTY,AssetQueryOperator.NOT_UPDATED_FOR],this._queryOperatorsMap.boolean=[AssetQueryOperator.IS_TRUE,AssetQueryOperator.IS_FALSE,AssetQueryOperator.VALUE_EMPTY,AssetQueryOperator.VALUE_NOT_EMPTY,AssetQueryOperator.NOT_UPDATED_FOR],this._queryOperatorsMap.array=[AssetQueryOperator.CONTAINS,AssetQueryOperator.NOT_CONTAINS,AssetQueryOperator.INDEX_CONTAINS,AssetQueryOperator.NOT_INDEX_CONTAINS,AssetQueryOperator.LENGTH_EQUALS,AssetQueryOperator.NOT_LENGTH_EQUALS,AssetQueryOperator.LENGTH_LESS_THAN,AssetQueryOperator.LENGTH_GREATER_THAN,AssetQueryOperator.VALUE_EMPTY,AssetQueryOperator.VALUE_NOT_EMPTY,AssetQueryOperator.NOT_UPDATED_FOR],this._queryOperatorsMap.object=[AssetQueryOperator.CONTAINS_KEY,AssetQueryOperator.NOT_CONTAINS_KEY,AssetQueryOperator.VALUE_EMPTY,AssetQueryOperator.VALUE_NOT_EMPTY,AssetQueryOperator.NOT_UPDATED_FOR]}refresh(){this._assets=void 0}attributePredicateEditorTemplate(e,t,r){const s=e.assetDescriptor,a=this.getOperator(r),i=this.getAttributeName(r);let o=t&&t.attributes&&i?t.attributes[i]:void 0,u=[];const n=AssetModelUtil.getAttributeAndValueDescriptors(t?t.type:s.name,o||i,o);u=t&&t.attributes?Object.values(t.attributes).filter((e=>e.meta&&(e.meta.hasOwnProperty("ruleState")?e.meta.ruleState:e.meta.hasOwnProperty("agentLink")))).map((e=>{const r=AssetModelUtil.getAttributeAndValueDescriptors(t.type,e.name,e),s=Util.getAttributeLabel(e,r[0],t.type,!1);return[e.name,s]})):e&&e.attributeDescriptors?e.attributeDescriptors.map((e=>{const t=AssetModelUtil.getAttributeAndValueDescriptors(s.name,e),r=Util.getAttributeLabel(void 0,t?t[0]:void 0,s.name,!1);return[e.name,r]})):[],u.sort(Util.sortByString((e=>e[1])));const p=i?this.getOperators(s,n?n[0]:void 0,n?n[1]:void 0,o,i):[];return html`
74
- <or-mwc-input type="${InputType.SELECT}" @or-mwc-input-changed="${e=>this.setAttributeName(r,e.detail.value)}" .readonly="${this.readonly||!1}" .options="${u}" .value="${i}" .label="${i18next.t("attribute")}"></or-mwc-input>
75
- ${i?html`<or-mwc-input type="${InputType.SELECT}" @or-mwc-input-changed="${e=>this.setOperator(s,o,i,r,e.detail.value)}" .readonly="${this.readonly||!1}" .options="${p}" .value="${a}" .label="${i18next.t("operator")}"></or-mwc-input>`:""}
76
- ${r?this.attributePredicateValueEditorTemplate(s,t,r):""}
77
- `}attributePredicateValueEditorTemplate(e,t,r){var s,a,i,o,u,n,p;if(this.getOperator(r)===AssetQueryOperator.NOT_UPDATED_FOR){const e=r.timestampOlderThan?moment.duration(r.timestampOlderThan):void 0;return html`
78
- <or-mwc-input type="${InputType.NUMBER}"
79
- min="0"
80
- .value="${null==e?void 0:e.asMinutes()}"
81
- label="${i18next.t("rulesEditorDuration")}"
82
- @or-mwc-input-changed="${e=>{const t=e.detail.value,s=moment.duration(t,"minutes");r.timestampOlderThan=t>0?s.toISOString():void 0,this.dispatchEvent(new OrRulesJsonRuleChangedEvent)}}">
83
- </or-mwc-input>`}const l=r.value;if(!e||!l)return"";const d=this.getAttributeName(r),y=getAssetTypeFromQuery(this.query),A=t&&t.attributes&&d?t.attributes[d]:void 0,c=AssetModelUtil.getAttributeAndValueDescriptors(y,d,A),O=l?l.value:void 0;switch(l.predicateType){case"string":return html`<or-attribute-input @or-attribute-input-changed="${e=>this.setValuePredicateProperty(l,"value",e.detail.value)}" .customProvider="${null===(s=this.config)||void 0===s?void 0:s.inputProvider}" .label="${i18next.t("value")}" .assetType="${y}" .attributeDescriptor="${c[0]}" .attributeValueDescriptor="${c[1]}" .value="${O}" .readonly="${this.readonly||!1}" .fullWidth="${!0}"></or-attribute-input>`;case"boolean":return html``;case"datetime":case"rect":default:return html`<span>NOT IMPLEMENTED</span>`;case"number":if("BETWEEN"===l.operator)return html`
84
- <or-attribute-input .inputType="${InputType.NUMBER}" @or-attribute-input-changed="${e=>this.setValuePredicateProperty(l,"value",e.detail.value)}" .customProvider="${null===(a=this.config)||void 0===a?void 0:a.inputProvider}" .label="${i18next.t("between")}" .assetType="${y}" .attributeDescriptor="${c[0]}" .attributeValueDescriptor="${c[1]}" .value="${O}" .readonly="${this.readonly||!1}" .fullWidth="${!0}"></or-attribute-input>
85
- <span style="display: inline-flex; align-items: center;">&</span>
86
- <or-attribute-input .inputType="${InputType.NUMBER}" @or-attribute-input-changed="${e=>this.setValuePredicateProperty(l,"rangeValue",e.detail.value)}" .customProvider="${null===(i=this.config)||void 0===i?void 0:i.inputProvider}" .label="${i18next.t("and")}" .assetType="${y}" .attributeDescriptor="${c[0]}" .attributeValueDescriptor="${c[1]}" .value="${l.rangeValue}" .readonly="${this.readonly||!1}" .fullWidth="${!0}"></or-attribute-input>
87
- `;let t;return(null===(u=null===(o=c[0])||void 0===o?void 0:o.format)||void 0===u?void 0:u.asSlider)&&(t=InputType.NUMBER),html`<or-attribute-input .inputType="${ifDefined(t)}" @or-attribute-input-changed="${e=>this.setValuePredicateProperty(l,"value",e.detail.value)}" .customProvider="${null===(n=this.config)||void 0===n?void 0:n.inputProvider}" .label="" .assetType="${y}" .attributeDescriptor="${c[0]}" .attributeValueDescriptor="${c[1]}" .value="${O}" .readonly="${this.readonly||!1}" .fullWidth="${!0}"></or-attribute-input>`;case"radial":return html`<or-rule-radial-modal .query="${this.query}" .assetDescriptor="${e}" .attributePredicate="${r}"></or-rule-radial-modal>`;case"value-empty":return"";case"array":return html`<or-attribute-input @or-attribute-input-changed="${e=>this.setValuePredicateProperty(l,"value",e.detail.value)}" .customProvider="${null===(p=this.config)||void 0===p?void 0:p.inputProvider}" .label="" .assetType="${y}" .attributeDescriptor="${c[0]}" .attributeValueDescriptor="${c[1]}" .value="${O}" .readonly="${this.readonly||!1}" .fullWidth="${!0}></or-attribute-input>`}}attributeDurationTemplate(e,t,r,s){var a,i;const o=null===(i=null===(a=this.query.attributes)||void 0===a?void 0:a.items)||void 0===i?void 0:i[t];if((o?this.getOperator(o):void 0)===AssetQueryOperator.NOT_UPDATED_FOR)return html``;if(e.has(t)){const r=e.get(t),a=r?moment.duration(r):void 0;return html`
88
- <or-mwc-input type="${InputType.NUMBER}" min="0" .readonly="${this.readonly||!1}"
89
- .value="${null==a?void 0:a.asMinutes()}" label="${i18next.t("rulesEditorDuration")}"
90
- @or-mwc-input-changed="${e=>{const r=moment.duration(e.detail.value,"minutes");r.asMinutes()>0?s(t,r.toISOString()):s(t,void 0)}}"
91
- ></or-mwc-input>
92
- `}return html`
93
- <or-mwc-input type="${InputType.BUTTON}" .readonly="${this.readonly||!1}" icon="clock-plus-outline"
94
- title="${i18next.t("rulesEditorAddDuration")}" @or-mwc-input-changed="${()=>r(t)}"
95
- ></or-mwc-input>
96
- `}static get styles(){return style}shouldUpdate(e){return e.has("condition")&&(this._assets=void 0),super.shouldUpdate(e)}get query(){return this.condition.assets}get duration(){var e;return(null===(e=this.condition)||void 0===e?void 0:e.duration)?new Map(Object.entries(this.condition.duration).map((([e,t])=>[Number(e),t]))):new Map}set duration(e){e.size>0?this.condition.duration=Object.fromEntries(e):this.condition.duration=void 0}render(){const e=getAssetTypeFromQuery(this.query);if(!e)return html`<span class="invalidLabel">${i18next.t("errorOccurred")}</span>`;const t=this.assetInfos?this.assetInfos.find((t=>t.assetDescriptor.name===e)):void 0;if(!t)return html`<span class="invalidLabel">${i18next.t("errorOccurred")}</span>`;this._assets||this.loadAssets(e),this.query.attributes||(this.query.attributes={}),this.query.attributes.items&&0!==this.query.attributes.items.length||(this.query.attributes.items=[{}]);const r=!this.readonly&&this.query.attributes&&this.query.attributes.items&&this.query.attributes.items.length>1,s=getAssetIdsFromQuery(this.query),a=s&&s.length>0?s[0]:"*",i=[["*",i18next.t("anyOfThisType")]];let o;return html`
97
- <div class="attribute-group">
98
-
99
- <!-- Show SELECT input with 'loading' until the assets are retrieved -->
100
- ${when(!this._assets,(()=>html`
101
- <or-mwc-input id="idSelect" class="min-width" type="${InputType.SELECT}" .readonly="${!0}" .label="${i18next.t("loading")}"></or-mwc-input>
102
- `),(()=>{this._assets.length<=25?i.push(...this._assets.map((e=>[e.id,e.name]))):o=e=>__awaiter(this,void 0,void 0,(function*(){var t;if(e)return this._assets.filter((t=>{var r;return null===(r=t.name)||void 0===r?void 0:r.toLowerCase().includes(e.toLowerCase())})).map((e=>[e.id,e.name]));if(this._assets.length<=100)return i.push(...this._assets.map((e=>[e.id,e.name]))),i;{const e=null===(t=this._assets)||void 0===t?void 0:t.find((e=>e.id==a));return e&&null==i.find((([t,r])=>t==e.id))&&i.push([e.id,e.name]),i}}));const e=!(this.readonly||this.config&&this.config.controls&&!0===this.config.controls.hideWhenAddAttribute),s=e=>{this.duration=this.duration.set(e,void 0),this.requestUpdate()},u=(e,t)=>{console.debug("Updating duration of rule condition to ",t),this.duration=this.duration.set(e,t),this.dispatchEvent(new OrRulesJsonRuleChangedEvent),this.requestUpdate()};return html`
103
- <or-mwc-input id="idSelect" class="min-width filledSelect" type="${InputType.SELECT}" .readonly="${this.readonly||!1}" .label="${i18next.t("asset")}"
104
- .options="${i}" .value="${a}" .searchProvider="${o}"
105
- @or-mwc-input-changed="${e=>{this._assetId=e.detail.value,this.refresh()}}"
106
- ></or-mwc-input>
107
- <div class="attributes">
108
- ${this.query.attributes&&this.query.attributes.items?this.query.attributes.items.map(((e,i)=>html`
109
- ${i>0?html`<or-icon class="small" icon="ampersand"></or-icon>`:""}
110
- <div class="attribute">
111
- <div>
112
- ${this.attributePredicateEditorTemplate(t,"*"!==a?this._assets.find((e=>e.id===a)):void 0,e)}
113
- ${this.attributeDurationTemplate(this.duration,i,s,u)}
114
- </div>
115
- ${r?html`
116
- <button class="button-clear" @click="${()=>this.removeAttributePredicate(this.query.attributes,e)}"><or-icon icon="close-circle"></or-icon></input>
117
- </div>`:""}
118
- `)):""}
119
- ${e?html`
120
- <or-mwc-input class="plus-button" type="${InputType.BUTTON}" icon="plus"
121
- label="rulesEditorAddAttribute" @or-mwc-input-changed="${e=>this.addAttributePredicate(this.query.attributes)}"></or-mwc-input>
122
- `:""}
123
- </div>
124
- `}))}
125
- </div>
126
- `}set _assetId(e){this.query.ids=e&&"*"!==e?[e]:void 0,this.dispatchEvent(new OrRulesJsonRuleChangedEvent),this.requestUpdate()}getAttributeName(e){return e&&e.name?e.name.value:void 0}setAttributeName(e,t){e.name||(e.name={predicateType:"string"}),e.name.match="EXACT",e.name.value=t,e.value=void 0,this.dispatchEvent(new OrRulesJsonRuleChangedEvent),this.requestUpdate()}getOperatorMapValue(e,t,r,s,a){if(t&&r&&e[t+":"+r])return e[t+":"+r];if(a){if(e[a.name])return e[a.name];if(e[a.jsonType])return e[a.jsonType];if(a.arrayDimensions)return e.array}}getOperators(e,t,r,s,a){let i;return this.config&&this.config.controls&&this.config.controls.allowedAssetQueryOperators&&(i=this.getOperatorMapValue(this.config.controls.allowedAssetQueryOperators,getAssetTypeFromQuery(this.query),a,t,r)),i||(i=this.getOperatorMapValue(this._queryOperatorsMap,getAssetTypeFromQuery(this.query),a,t,r)),i?i.map((e=>[e,i18next.t(e)])):[]}getOperator(e){if(!e)return;if(void 0!==e.timestampOlderThan)return AssetQueryOperator.NOT_UPDATED_FOR;if(!e.value)return;const t=e.value;switch(t.predicateType){case"string":switch(t.match){case"EXACT":return t.negate?AssetQueryOperator.NOT_EQUALS:AssetQueryOperator.EQUALS;case"BEGIN":return t.negate?AssetQueryOperator.NOT_STARTS_WITH:AssetQueryOperator.STARTS_WITH;case"END":return t.negate?AssetQueryOperator.NOT_ENDS_WITH:AssetQueryOperator.ENDS_WITH;case"CONTAINS":return t.negate?AssetQueryOperator.NOT_CONTAINS:AssetQueryOperator.CONTAINS}return;case"boolean":return t.value?AssetQueryOperator.IS_TRUE:AssetQueryOperator.IS_FALSE;case"datetime":case"number":switch(t.operator){case"EQUALS":return t.negate?AssetQueryOperator.NOT_EQUALS:AssetQueryOperator.EQUALS;case"GREATER_THAN":return t.negate?AssetQueryOperator.LESS_EQUALS:AssetQueryOperator.GREATER_THAN;case"GREATER_EQUALS":return t.negate?AssetQueryOperator.LESS_THAN:AssetQueryOperator.GREATER_EQUALS;case"LESS_THAN":return t.negate?AssetQueryOperator.GREATER_EQUALS:AssetQueryOperator.LESS_THAN;case"LESS_EQUALS":return t.negate?AssetQueryOperator.GREATER_THAN:AssetQueryOperator.LESS_EQUALS;case"BETWEEN":return t.negate?AssetQueryOperator.NOT_BETWEEN:AssetQueryOperator.BETWEEN}return;case"radial":return t.negated?AssetQueryOperator.OUTSIDE_RADIUS:AssetQueryOperator.WITHIN_RADIUS;case"rect":return t.negated?AssetQueryOperator.OUTSIDE_RECTANGLE:AssetQueryOperator.WITHIN_RECTANGLE;case"array":return t.value&&t.index?t.negated?AssetQueryOperator.NOT_INDEX_CONTAINS:AssetQueryOperator.INDEX_CONTAINS:t.lengthEquals?t.negated?AssetQueryOperator.NOT_LENGTH_EQUALS:AssetQueryOperator.LENGTH_EQUALS:t.lengthGreaterThan?t.negated?AssetQueryOperator.LENGTH_LESS_THAN:AssetQueryOperator.LENGTH_GREATER_THAN:t.lengthLessThan?t.negated?AssetQueryOperator.LENGTH_GREATER_THAN:AssetQueryOperator.LENGTH_LESS_THAN:t.negated?AssetQueryOperator.NOT_CONTAINS:AssetQueryOperator.CONTAINS;case"value-empty":return t.negate?AssetQueryOperator.VALUE_NOT_EMPTY:AssetQueryOperator.VALUE_EMPTY}}updateDurationMap(e){if(this.duration){const t=Array.from(this.duration.entries()).filter((([t,r])=>t!==e)).map((([t,r])=>[t>e?t-1:t,r]));this.duration=new Map(t)}}setOperator(e,t,r,s,a){if(!this.query||!this.query.attributes||!this.query.attributes.items||0===this.query.attributes.items.length)return;if(!a)return s.value=void 0,this.dispatchEvent(new OrRulesJsonRuleChangedEvent),void this.requestUpdate();const i=AssetModelUtil.getAttributeAndValueDescriptors(e.name,t||r),o=a;if(!i||!i[1]||!o)return s.value=void 0,this.dispatchEvent(new OrRulesJsonRuleChangedEvent),void this.requestUpdate();s.timestampOlderThan=void 0;const u=i[1];let n;switch(o){case AssetQueryOperator.INDEX_CONTAINS:case AssetQueryOperator.NOT_INDEX_CONTAINS:case AssetQueryOperator.LENGTH_EQUALS:case AssetQueryOperator.NOT_LENGTH_EQUALS:case AssetQueryOperator.LENGTH_LESS_THAN:case AssetQueryOperator.LENGTH_GREATER_THAN:u.arrayDimensions&&(n={predicateType:"array",negated:o===AssetQueryOperator.NOT_INDEX_CONTAINS||o===AssetQueryOperator.NOT_LENGTH_EQUALS,index:o===AssetQueryOperator.INDEX_CONTAINS||o===AssetQueryOperator.NOT_INDEX_CONTAINS?0:void 0,lengthEquals:o===AssetQueryOperator.LENGTH_EQUALS||o===AssetQueryOperator.NOT_LENGTH_EQUALS?0:void 0,lengthGreaterThan:o===AssetQueryOperator.LENGTH_GREATER_THAN?0:void 0,lengthLessThan:o===AssetQueryOperator.LENGTH_GREATER_THAN?0:void 0});break;case AssetQueryOperator.WITHIN_RADIUS:case AssetQueryOperator.OUTSIDE_RADIUS:n={predicateType:"radial",negated:o===AssetQueryOperator.OUTSIDE_RADIUS,lat:0,lng:0,radius:50};break;case AssetQueryOperator.WITHIN_RECTANGLE:case AssetQueryOperator.OUTSIDE_RECTANGLE:n={predicateType:"rect",negated:o===AssetQueryOperator.OUTSIDE_RECTANGLE,latMin:-.1,lngMin:-.1,latMax:.1,lngMax:.1};break;case AssetQueryOperator.IS_TRUE:case AssetQueryOperator.IS_FALSE:if("boolean"===u.jsonType){n={predicateType:"boolean",value:o===AssetQueryOperator.IS_TRUE};break}case AssetQueryOperator.STARTS_WITH:case AssetQueryOperator.NOT_STARTS_WITH:"string"===u.jsonType&&(n={predicateType:"string",negate:o===AssetQueryOperator.NOT_STARTS_WITH,match:"BEGIN"});break;case AssetQueryOperator.ENDS_WITH:case AssetQueryOperator.NOT_ENDS_WITH:"string"===u.jsonType&&(n={predicateType:"string",negate:o===AssetQueryOperator.NOT_ENDS_WITH,match:"END"});break;case AssetQueryOperator.NOT_BETWEEN:n="number"===u.jsonType||"bigint"===u.jsonType?{predicateType:"number",operator:"BETWEEN",negate:!0}:{predicateType:"datetime",operator:"BETWEEN",negate:!0};break;case AssetQueryOperator.GREATER_THAN:case AssetQueryOperator.GREATER_EQUALS:case AssetQueryOperator.LESS_THAN:case AssetQueryOperator.LESS_EQUALS:case AssetQueryOperator.BETWEEN:const e=Util.getEnumKeyAsString(AssetQueryOperator,o);n="number"===u.jsonType?{predicateType:"number",operator:e}:{predicateType:"datetime",operator:e};break;case AssetQueryOperator.EQUALS:case AssetQueryOperator.NOT_EQUALS:"date"===u.jsonType?n={predicateType:"datetime",negate:o===AssetQueryOperator.NOT_EQUALS,operator:"EQUALS"}:"number"===u.jsonType?n={predicateType:"number",negate:o===AssetQueryOperator.NOT_EQUALS,operator:"EQUALS"}:"string"===u.jsonType&&(n={predicateType:"string",negate:o===AssetQueryOperator.NOT_EQUALS,match:"EXACT"});break;case AssetQueryOperator.VALUE_EMPTY:n={predicateType:"value-empty"};break;case AssetQueryOperator.VALUE_NOT_EMPTY:n={predicateType:"value-empty",negate:!0};break;case AssetQueryOperator.CONTAINS:case AssetQueryOperator.NOT_CONTAINS:u.arrayDimensions?n={predicateType:"array",negated:o===AssetQueryOperator.NOT_CONTAINS}:"string"===u.jsonType&&(n={predicateType:"string",negate:o===AssetQueryOperator.NOT_CONTAINS,match:"CONTAINS"});break;case AssetQueryOperator.NOT_UPDATED_FOR:s.timestampOlderThan="";const t=this.query.attributes.items.indexOf(s);this.updateDurationMap(t)}s.value=n,this.dispatchEvent(new OrRulesJsonRuleChangedEvent),this.requestUpdate()}get attributePredicate(){return this.query&&this.query.attributes&&this.query.attributes.items&&this.query.attributes.items.length>0?this.query.attributes.items[0]:void 0}setValuePredicateProperty(e,t,r){e&&(e[t]=r,this.dispatchEvent(new OrRulesJsonRuleChangedEvent),this.requestUpdate())}removeAttributePredicate(e,t){const r=e.items.indexOf(t);r>=0&&(e.items.splice(r,1),this.updateDurationMap(r)),this.dispatchEvent(new OrRulesJsonRuleChangedEvent),this.requestUpdate()}addAttributePredicate(e){e.items||(e.items=[]),e.items.push({}),this.dispatchEvent(new OrRulesJsonRuleChangedEvent),this.requestUpdate()}toggleAttributeGroup(e){"OR"===e.operator?e.operator="AND":e.operator="OR",this.dispatchEvent(new OrRulesJsonRuleChangedEvent),this.requestUpdate()}loadAssets(e){this.assetProvider(e).then((e=>{this._assets=e}))}};__decorate([property({type:Object,attribute:!1})],OrRuleAssetQuery.prototype,"condition",void 0),__decorate([property({type:Object})],OrRuleAssetQuery.prototype,"config",void 0),__decorate([property({type:Object})],OrRuleAssetQuery.prototype,"assetInfos",void 0),__decorate([property({type:Object})],OrRuleAssetQuery.prototype,"assetProvider",void 0),__decorate([state()],OrRuleAssetQuery.prototype,"_assets",void 0),OrRuleAssetQuery=__decorate([customElement("or-rule-asset-query")],OrRuleAssetQuery);export{OrRuleAssetQuery};
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
+ return new (P || (P = Promise))(function (resolve, reject) {
10
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
14
+ });
15
+ };
16
+ import { css, html, LitElement } from "lit";
17
+ import { customElement, property, state } from "lit/decorators.js";
18
+ import { AssetModelUtil } from "@openremote/model";
19
+ import { AssetQueryOperator, getAssetIdsFromQuery, getAssetTypeFromQuery } from "../index";
20
+ import "@openremote/or-mwc-components/or-mwc-input";
21
+ import { InputType } from "@openremote/or-mwc-components/or-mwc-input";
22
+ import "@openremote/or-attribute-input";
23
+ import { Util } from "@openremote/core";
24
+ import i18next from "i18next";
25
+ import { buttonStyle } from "../style";
26
+ import { OrRulesJsonRuleChangedEvent } from "./or-rule-json-viewer";
27
+ import { translate } from "@openremote/or-translate";
28
+ import "./modals/or-rule-radial-modal";
29
+ import { ifDefined } from "lit/directives/if-defined.js";
30
+ import { when } from 'lit/directives/when.js';
31
+ import moment from "moment";
32
+ // language=CSS
33
+ const style = css `
34
+
35
+ ${buttonStyle}
36
+
37
+ :host {
38
+ display: block;
39
+ }
40
+
41
+ .attribute-group {
42
+ flex-grow: 1;
43
+ display: flex;
44
+ align-items: start;
45
+ flex-direction: row;
46
+ flex-wrap: wrap;
47
+ }
48
+
49
+ .min-width {
50
+ min-width: 200px;
51
+ }
52
+
53
+ .attribute-group > * {
54
+ margin: 10px 3px 6px 3px;
55
+ }
56
+ .attributes {
57
+ flex: 1 1 min-content;
58
+ display: flex;
59
+ flex-direction: column;
60
+ row-gap: 10px;
61
+ }
62
+ or-icon.small {
63
+ --or-icon-width: 14px;
64
+ --or-icon-height: 14px;
65
+ }
66
+ .attribute {
67
+ display: flex;
68
+ align-items: center;
69
+ }
70
+ .attribute > div {
71
+ display: flex;
72
+ flex-direction: row;
73
+ flex-wrap: wrap;
74
+ align-items: center;
75
+ gap: 6px;
76
+ }
77
+ .attribute > div > or-rule-radial-modal {
78
+ min-width: auto;
79
+ }
80
+ .attribute > div > or-mwc-input[type="button"] {
81
+ min-width: auto;
82
+ }
83
+ .attribute > div > or-mwc-input:not([type="button"]) {
84
+ width: 200px;
85
+ }
86
+ .attribute > div > or-attribute-input {
87
+ width: 200px;
88
+ }
89
+ .attribute > div > * {
90
+ min-width: 200px;
91
+ }
92
+ .button-clear {
93
+ margin-left: auto;
94
+ }
95
+ .attribute:hover .button-clear {
96
+ visibility: visible;
97
+ }
98
+
99
+ .invalidLabel {
100
+ display: flex;
101
+ align-items: center;
102
+ margin: 14px 3px auto 0;
103
+ height: 48px; /* Same as the icon size */
104
+ }
105
+ `;
106
+ let OrRuleAssetQuery = class OrRuleAssetQuery extends translate(i18next)(LitElement) {
107
+ constructor() {
108
+ super();
109
+ // Value predicates for specific value descriptors
110
+ this._queryOperatorsMap = {};
111
+ this._queryOperatorsMap["GEO_JSONPoint" /* WellknownValueTypes.GEOJSONPOINT */] = [
112
+ AssetQueryOperator.EQUALS,
113
+ AssetQueryOperator.NOT_EQUALS,
114
+ AssetQueryOperator.WITHIN_RADIUS,
115
+ AssetQueryOperator.OUTSIDE_RADIUS,
116
+ AssetQueryOperator.WITHIN_RECTANGLE,
117
+ AssetQueryOperator.OUTSIDE_RECTANGLE,
118
+ AssetQueryOperator.VALUE_EMPTY,
119
+ AssetQueryOperator.VALUE_NOT_EMPTY,
120
+ AssetQueryOperator.NOT_UPDATED_FOR
121
+ ];
122
+ this._queryOperatorsMap["string"] = [
123
+ AssetQueryOperator.EQUALS,
124
+ AssetQueryOperator.NOT_EQUALS,
125
+ AssetQueryOperator.CONTAINS,
126
+ AssetQueryOperator.NOT_CONTAINS,
127
+ AssetQueryOperator.STARTS_WITH,
128
+ AssetQueryOperator.NOT_STARTS_WITH,
129
+ AssetQueryOperator.ENDS_WITH,
130
+ AssetQueryOperator.NOT_ENDS_WITH,
131
+ AssetQueryOperator.VALUE_EMPTY,
132
+ AssetQueryOperator.VALUE_NOT_EMPTY,
133
+ AssetQueryOperator.NOT_UPDATED_FOR
134
+ ];
135
+ this._queryOperatorsMap["number"] = [
136
+ AssetQueryOperator.EQUALS,
137
+ AssetQueryOperator.NOT_EQUALS,
138
+ AssetQueryOperator.GREATER_THAN,
139
+ AssetQueryOperator.GREATER_EQUALS,
140
+ AssetQueryOperator.LESS_THAN,
141
+ AssetQueryOperator.LESS_EQUALS,
142
+ AssetQueryOperator.BETWEEN,
143
+ AssetQueryOperator.NOT_BETWEEN,
144
+ AssetQueryOperator.VALUE_EMPTY,
145
+ AssetQueryOperator.VALUE_NOT_EMPTY,
146
+ AssetQueryOperator.NOT_UPDATED_FOR
147
+ ];
148
+ this._queryOperatorsMap["boolean"] = [
149
+ AssetQueryOperator.IS_TRUE,
150
+ AssetQueryOperator.IS_FALSE,
151
+ AssetQueryOperator.VALUE_EMPTY,
152
+ AssetQueryOperator.VALUE_NOT_EMPTY,
153
+ AssetQueryOperator.NOT_UPDATED_FOR
154
+ ];
155
+ this._queryOperatorsMap["array"] = [
156
+ AssetQueryOperator.CONTAINS,
157
+ AssetQueryOperator.NOT_CONTAINS,
158
+ AssetQueryOperator.INDEX_CONTAINS,
159
+ AssetQueryOperator.NOT_INDEX_CONTAINS,
160
+ AssetQueryOperator.LENGTH_EQUALS,
161
+ AssetQueryOperator.NOT_LENGTH_EQUALS,
162
+ AssetQueryOperator.LENGTH_LESS_THAN,
163
+ AssetQueryOperator.LENGTH_GREATER_THAN,
164
+ AssetQueryOperator.VALUE_EMPTY,
165
+ AssetQueryOperator.VALUE_NOT_EMPTY,
166
+ AssetQueryOperator.NOT_UPDATED_FOR
167
+ ];
168
+ this._queryOperatorsMap["object"] = [
169
+ AssetQueryOperator.CONTAINS_KEY,
170
+ AssetQueryOperator.NOT_CONTAINS_KEY,
171
+ AssetQueryOperator.VALUE_EMPTY,
172
+ AssetQueryOperator.VALUE_NOT_EMPTY,
173
+ AssetQueryOperator.NOT_UPDATED_FOR
174
+ ];
175
+ }
176
+ refresh() {
177
+ // Clear assets
178
+ this._assets = undefined;
179
+ }
180
+ attributePredicateEditorTemplate(assetTypeInfo, asset, attributePredicate) {
181
+ const assetDescriptor = assetTypeInfo.assetDescriptor;
182
+ const operator = this.getOperator(attributePredicate);
183
+ const attributeName = this.getAttributeName(attributePredicate);
184
+ let attribute = asset && asset.attributes && attributeName ? asset.attributes[attributeName] : undefined;
185
+ let attributes = [];
186
+ const descriptors = AssetModelUtil.getAttributeAndValueDescriptors(asset ? asset.type : assetDescriptor.name, attribute || attributeName, attribute);
187
+ if (asset && asset.attributes) {
188
+ attributes = Object.values(asset.attributes)
189
+ .filter((attribute) => attribute.meta && (attribute.meta.hasOwnProperty("ruleState" /* WellknownMetaItems.RULESTATE */) ? attribute.meta["ruleState" /* WellknownMetaItems.RULESTATE */] : attribute.meta.hasOwnProperty("agentLink" /* WellknownMetaItems.AGENTLINK */)))
190
+ .map((attr) => {
191
+ const descriptors = AssetModelUtil.getAttributeAndValueDescriptors(asset.type, attr.name, attr);
192
+ const label = Util.getAttributeLabel(attr, descriptors[0], asset.type, false);
193
+ return [attr.name, label];
194
+ });
195
+ }
196
+ else {
197
+ attributes = !assetTypeInfo || !assetTypeInfo.attributeDescriptors ? [] :
198
+ assetTypeInfo.attributeDescriptors
199
+ .map((ad) => {
200
+ const descriptors = AssetModelUtil.getAttributeAndValueDescriptors(assetDescriptor.name, ad);
201
+ const label = Util.getAttributeLabel(undefined, descriptors ? descriptors[0] : undefined, assetDescriptor.name, false);
202
+ return [ad.name, label];
203
+ });
204
+ }
205
+ attributes.sort(Util.sortByString((attr) => attr[1]));
206
+ const operators = attributeName ? this.getOperators(assetDescriptor, descriptors ? descriptors[0] : undefined, descriptors ? descriptors[1] : undefined, attribute, attributeName) : [];
207
+ return html `
208
+ <or-mwc-input type="${InputType.SELECT}" @or-mwc-input-changed="${(e) => this.setAttributeName(attributePredicate, e.detail.value)}" .readonly="${this.readonly || false}" .options="${attributes}" .value="${attributeName}" .label="${i18next.t("attribute")}"></or-mwc-input>
209
+ ${attributeName ? html `<or-mwc-input type="${InputType.SELECT}" @or-mwc-input-changed="${(e) => this.setOperator(assetDescriptor, attribute, attributeName, attributePredicate, e.detail.value)}" .readonly="${this.readonly || false}" .options="${operators}" .value="${operator}" .label="${i18next.t("operator")}"></or-mwc-input>` : ``}
210
+ ${attributePredicate ? this.attributePredicateValueEditorTemplate(assetDescriptor, asset, attributePredicate) : ``}
211
+ `;
212
+ }
213
+ attributePredicateValueEditorTemplate(assetDescriptor, asset, attributePredicate) {
214
+ var _a, _b, _c, _d, _e, _f, _g;
215
+ const operator = this.getOperator(attributePredicate);
216
+ if (operator === AssetQueryOperator.NOT_UPDATED_FOR) {
217
+ const duration = attributePredicate.timestampOlderThan ?
218
+ moment.duration(attributePredicate.timestampOlderThan) : undefined;
219
+ return html `
220
+ <or-mwc-input type="${InputType.NUMBER}"
221
+ min="0"
222
+ .value="${duration === null || duration === void 0 ? void 0 : duration.asMinutes()}"
223
+ label="${i18next.t("rulesEditorDuration")}"
224
+ @or-mwc-input-changed="${(ev) => {
225
+ const minutes = ev.detail.value;
226
+ const newDuration = moment.duration(minutes, "minutes");
227
+ attributePredicate.timestampOlderThan = minutes > 0 ?
228
+ newDuration.toISOString() : undefined;
229
+ this.dispatchEvent(new OrRulesJsonRuleChangedEvent());
230
+ }}">
231
+ </or-mwc-input>`;
232
+ }
233
+ const valuePredicate = attributePredicate.value;
234
+ if (!assetDescriptor || !valuePredicate) {
235
+ return ``;
236
+ }
237
+ const attributeName = this.getAttributeName(attributePredicate);
238
+ const assetType = getAssetTypeFromQuery(this.query);
239
+ const attribute = asset && asset.attributes && attributeName ? asset.attributes[attributeName] : undefined;
240
+ const descriptors = AssetModelUtil.getAttributeAndValueDescriptors(assetType, attributeName, attribute);
241
+ // @ts-ignore
242
+ const value = valuePredicate ? valuePredicate.value : undefined;
243
+ switch (valuePredicate.predicateType) {
244
+ case "string":
245
+ return html `<or-attribute-input @or-attribute-input-changed="${(ev) => this.setValuePredicateProperty(valuePredicate, "value", ev.detail.value)}" .customProvider="${(_a = this.config) === null || _a === void 0 ? void 0 : _a.inputProvider}" .label="${i18next.t("value")}" .assetType="${assetType}" .attributeDescriptor="${descriptors[0]}" .attributeValueDescriptor="${descriptors[1]}" .value="${value}" .readonly="${this.readonly || false}" .fullWidth="${true}"></or-attribute-input>`;
246
+ case "boolean":
247
+ return html ``; // Handled by the operator IS_TRUE or IS_FALSE
248
+ case "datetime":
249
+ return html `<span>NOT IMPLEMENTED</span>`;
250
+ case "number":
251
+ if (valuePredicate.operator === "BETWEEN" /* AQO.BETWEEN */) {
252
+ return html `
253
+ <or-attribute-input .inputType="${InputType.NUMBER}" @or-attribute-input-changed="${(ev) => this.setValuePredicateProperty(valuePredicate, "value", ev.detail.value)}" .customProvider="${(_b = this.config) === null || _b === void 0 ? void 0 : _b.inputProvider}" .label="${i18next.t("between")}" .assetType="${assetType}" .attributeDescriptor="${descriptors[0]}" .attributeValueDescriptor="${descriptors[1]}" .value="${value}" .readonly="${this.readonly || false}" .fullWidth="${true}"></or-attribute-input>
254
+ <span style="display: inline-flex; align-items: center;">&</span>
255
+ <or-attribute-input .inputType="${InputType.NUMBER}" @or-attribute-input-changed="${(ev) => this.setValuePredicateProperty(valuePredicate, "rangeValue", ev.detail.value)}" .customProvider="${(_c = this.config) === null || _c === void 0 ? void 0 : _c.inputProvider}" .label="${i18next.t("and")}" .assetType="${assetType}" .attributeDescriptor="${descriptors[0]}" .attributeValueDescriptor="${descriptors[1]}" .value="${valuePredicate.rangeValue}" .readonly="${this.readonly || false}" .fullWidth="${true}"></or-attribute-input>
256
+ `;
257
+ }
258
+ let inputType;
259
+ if ((_e = (_d = descriptors[0]) === null || _d === void 0 ? void 0 : _d.format) === null || _e === void 0 ? void 0 : _e.asSlider)
260
+ inputType = InputType.NUMBER;
261
+ return html `<or-attribute-input .inputType="${ifDefined(inputType)}" @or-attribute-input-changed="${(ev) => this.setValuePredicateProperty(valuePredicate, "value", ev.detail.value)}" .customProvider="${(_f = this.config) === null || _f === void 0 ? void 0 : _f.inputProvider}" .label="" .assetType="${assetType}" .attributeDescriptor="${descriptors[0]}" .attributeValueDescriptor="${descriptors[1]}" .value="${value}" .readonly="${this.readonly || false}" .fullWidth="${true}"></or-attribute-input>`;
262
+ case "radial":
263
+ return html `<or-rule-radial-modal .query="${this.query}" .assetDescriptor="${assetDescriptor}" .attributePredicate="${attributePredicate}"></or-rule-radial-modal>`;
264
+ case "rect":
265
+ return html `<span>NOT IMPLEMENTED</span>`;
266
+ case "value-empty":
267
+ return ``;
268
+ case "array":
269
+ // TODO: Update once we can determine inner type of array
270
+ // Assume string array
271
+ return html `<or-attribute-input @or-attribute-input-changed="${(ev) => this.setValuePredicateProperty(valuePredicate, "value", ev.detail.value)}" .customProvider="${(_g = this.config) === null || _g === void 0 ? void 0 : _g.inputProvider}" .label="" .assetType="${assetType}" .attributeDescriptor="${descriptors[0]}" .attributeValueDescriptor="${descriptors[1]}" .value="${value}" .readonly="${this.readonly || false}" .fullWidth="${true}></or-attribute-input>`;
272
+ default:
273
+ return html `<span>NOT IMPLEMENTED</span>`;
274
+ }
275
+ }
276
+ attributeDurationTemplate(durationMap, index, onAdd, onChange) {
277
+ var _a, _b;
278
+ const attributePredicate = (_b = (_a = this.query.attributes) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b[index];
279
+ const operator = attributePredicate ? this.getOperator(attributePredicate) : undefined;
280
+ // Don't show duration button if NOT_UPDATED_FOR is selected
281
+ if (operator === AssetQueryOperator.NOT_UPDATED_FOR) {
282
+ return html ``;
283
+ }
284
+ if (durationMap.has(index)) {
285
+ const isoDuration = durationMap.get(index);
286
+ const duration = isoDuration ? moment.duration(isoDuration) : undefined;
287
+ return html `
288
+ <or-mwc-input type="${InputType.NUMBER}" min="0" .readonly="${this.readonly || false}"
289
+ .value="${duration === null || duration === void 0 ? void 0 : duration.asMinutes()}" label="${i18next.t("rulesEditorDuration")}"
290
+ @or-mwc-input-changed="${(ev) => {
291
+ const newDuration = moment.duration(ev.detail.value, "minutes");
292
+ if (newDuration.asMinutes() > 0) {
293
+ onChange(index, newDuration.toISOString());
294
+ }
295
+ else {
296
+ onChange(index, undefined);
297
+ }
298
+ }}"
299
+ ></or-mwc-input>
300
+ `;
301
+ }
302
+ else {
303
+ return html `
304
+ <or-mwc-input type="${InputType.BUTTON}" .readonly="${this.readonly || false}" icon="clock-plus-outline"
305
+ title="${i18next.t("rulesEditorAddDuration")}" @or-mwc-input-changed="${() => onAdd(index)}"
306
+ ></or-mwc-input>
307
+ `;
308
+ }
309
+ }
310
+ static get styles() {
311
+ return style;
312
+ }
313
+ shouldUpdate(_changedProperties) {
314
+ if (_changedProperties.has("condition")) {
315
+ this._assets = undefined;
316
+ }
317
+ return super.shouldUpdate(_changedProperties);
318
+ }
319
+ get query() {
320
+ return this.condition.assets;
321
+ }
322
+ /**
323
+ * Returns a Map<number, string> with all configured durations of a {@link RuleCondition}.
324
+ * The number represents an index of the attribute array, and the string an ISO8601 duration expression.
325
+ */
326
+ get duration() {
327
+ var _a;
328
+ if ((_a = this.condition) === null || _a === void 0 ? void 0 : _a.duration) {
329
+ return new Map(Object.entries(this.condition.duration).map(([key, value]) => [Number(key), value]));
330
+ }
331
+ else {
332
+ return new Map();
333
+ }
334
+ }
335
+ /**
336
+ * Updates the duration property in {@link condition}, based on the {@link durationMap} parameter.
337
+ * The number represents an index of the attribute array, and the string an ISO8601 duration expression.
338
+ */
339
+ set duration(durationMap) {
340
+ if (durationMap.size > 0) {
341
+ this.condition.duration = Object.fromEntries(durationMap);
342
+ }
343
+ else {
344
+ this.condition.duration = undefined;
345
+ }
346
+ }
347
+ render() {
348
+ const assetType = getAssetTypeFromQuery(this.query);
349
+ if (!assetType) {
350
+ return html `<span class="invalidLabel">${i18next.t('errorOccurred')}</span>`;
351
+ }
352
+ const assetTypeInfo = this.assetInfos ? this.assetInfos.find((assetTypeInfo) => assetTypeInfo.assetDescriptor.name === assetType) : undefined;
353
+ if (!assetTypeInfo) {
354
+ return html `<span class="invalidLabel">${i18next.t('errorOccurred')}</span>`;
355
+ }
356
+ if (!this._assets) {
357
+ this.loadAssets(assetType);
358
+ }
359
+ if (!this.query.attributes) {
360
+ this.query.attributes = {};
361
+ }
362
+ if (!this.query.attributes.items || this.query.attributes.items.length === 0) {
363
+ this.query.attributes.items = [{}];
364
+ }
365
+ const showRemoveAttribute = !this.readonly && this.query.attributes && this.query.attributes.items && this.query.attributes.items.length > 1;
366
+ // TODO: Add multiselect support
367
+ const ids = getAssetIdsFromQuery(this.query);
368
+ const idValue = ids && ids.length > 0 ? ids[0] : "*";
369
+ const idOptions = [
370
+ ["*", i18next.t("anyOfThisType")]
371
+ ];
372
+ let searchProvider;
373
+ return html `
374
+ <div class="attribute-group">
375
+
376
+ <!-- Show SELECT input with 'loading' until the assets are retrieved -->
377
+ ${when((!this._assets), () => html `
378
+ <or-mwc-input id="idSelect" class="min-width" type="${InputType.SELECT}" .readonly="${true}" .label="${i18next.t('loading')}"></or-mwc-input>
379
+ `, () => {
380
+ // Set list of displayed assets, and filtering assets out if needed.
381
+ // If <= 25 assets: display everything
382
+ // If between 25 and 100 assets: display everything with search functionality
383
+ // If > 100 assets: only display if in line with search input
384
+ if (this._assets.length <= 25) {
385
+ idOptions.push(...this._assets.map((asset) => [asset.id, asset.name]));
386
+ }
387
+ else {
388
+ searchProvider = (search) => __awaiter(this, void 0, void 0, function* () {
389
+ var _a;
390
+ if (search) {
391
+ return this._assets.filter((asset) => { var _a; return (_a = asset.name) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(search.toLowerCase()); }).map((asset) => [asset.id, asset.name]);
392
+ }
393
+ else if (this._assets.length <= 100) {
394
+ idOptions.push(...this._assets.map((asset) => [asset.id, asset.name]));
395
+ return idOptions;
396
+ }
397
+ else {
398
+ const asset = (_a = this._assets) === null || _a === void 0 ? void 0 : _a.find((asset) => asset.id == idValue);
399
+ if (asset && idOptions.find(([id, _value]) => id == asset.id) == undefined) {
400
+ idOptions.push([asset.id, asset.name]); // add selected asset if there is one.
401
+ }
402
+ return idOptions;
403
+ }
404
+ });
405
+ }
406
+ const showAddAttribute = !this.readonly && (!this.config || !this.config.controls || this.config.controls.hideWhenAddAttribute !== true);
407
+ const onDurationAdd = (index) => {
408
+ this.duration = this.duration.set(index, undefined);
409
+ this.requestUpdate();
410
+ };
411
+ const onDurationChange = (index, duration) => {
412
+ console.debug("Updating duration of rule condition to ", duration);
413
+ this.duration = this.duration.set(index, duration);
414
+ this.dispatchEvent(new OrRulesJsonRuleChangedEvent());
415
+ this.requestUpdate();
416
+ };
417
+ return html `
418
+ <or-mwc-input id="idSelect" class="min-width filledSelect" type="${InputType.SELECT}" .readonly="${this.readonly || false}" .label="${i18next.t("asset")}"
419
+ .options="${idOptions}" .value="${idValue}" .searchProvider="${searchProvider}"
420
+ @or-mwc-input-changed="${(e) => { this._assetId = (e.detail.value); this.refresh(); }}"
421
+ ></or-mwc-input>
422
+ <div class="attributes">
423
+ ${this.query.attributes && this.query.attributes.items ? this.query.attributes.items.map((attributePredicate, index) => {
424
+ return html `
425
+ ${index > 0 ? html `<or-icon class="small" icon="ampersand"></or-icon>` : ``}
426
+ <div class="attribute">
427
+ <div>
428
+ ${this.attributePredicateEditorTemplate(assetTypeInfo, idValue !== "*" ? this._assets.find((asset) => asset.id === idValue) : undefined, attributePredicate)}
429
+ ${this.attributeDurationTemplate(this.duration, index, onDurationAdd, onDurationChange)}
430
+ </div>
431
+ ${showRemoveAttribute ? html `
432
+ <button class="button-clear" @click="${() => this.removeAttributePredicate(this.query.attributes, attributePredicate)}"><or-icon icon="close-circle"></or-icon></input>
433
+ </div>` : ``}
434
+ `;
435
+ }) : ``}
436
+ ${showAddAttribute ? html `
437
+ <or-mwc-input class="plus-button" type="${InputType.BUTTON}" icon="plus"
438
+ label="rulesEditorAddAttribute" @or-mwc-input-changed="${(ev) => this.addAttributePredicate(this.query.attributes)}"></or-mwc-input>
439
+ ` : ``}
440
+ </div>
441
+ `;
442
+ })}
443
+ </div>
444
+ `;
445
+ }
446
+ set _assetId(assetId) {
447
+ !assetId || assetId === "*" ? this.query.ids = undefined : this.query.ids = [assetId];
448
+ this.dispatchEvent(new OrRulesJsonRuleChangedEvent());
449
+ this.requestUpdate();
450
+ }
451
+ getAttributeName(attributePredicate) {
452
+ return attributePredicate && attributePredicate.name ? attributePredicate.name.value : undefined;
453
+ }
454
+ setAttributeName(attributePredicate, attributeName) {
455
+ if (!attributePredicate.name) {
456
+ attributePredicate.name = {
457
+ predicateType: "string"
458
+ };
459
+ }
460
+ attributePredicate.name.match = "EXACT" /* AssetQueryMatch.EXACT */;
461
+ attributePredicate.name.value = attributeName;
462
+ attributePredicate.value = undefined;
463
+ this.dispatchEvent(new OrRulesJsonRuleChangedEvent());
464
+ this.requestUpdate();
465
+ }
466
+ getOperatorMapValue(operatorMap, assetType, attributeName, attributeDescriptor, valueDescriptor) {
467
+ let assetAttributeMatch;
468
+ let attributeDescriptorMatch;
469
+ let attributeValueDescriptorMatch;
470
+ if (assetType && attributeName) {
471
+ if (operatorMap[assetType + ":" + attributeName]) {
472
+ return operatorMap[assetType + ":" + attributeName];
473
+ }
474
+ }
475
+ if (valueDescriptor) {
476
+ if (operatorMap[valueDescriptor.name]) {
477
+ return operatorMap[valueDescriptor.name];
478
+ }
479
+ if (operatorMap[valueDescriptor.jsonType]) {
480
+ return operatorMap[valueDescriptor.jsonType];
481
+ }
482
+ if (valueDescriptor.arrayDimensions) {
483
+ return operatorMap["array"];
484
+ }
485
+ }
486
+ }
487
+ getOperators(assetDescriptor, attributeDescriptor, valueDescriptor, attribute, attributeName) {
488
+ let operators;
489
+ if (this.config && this.config.controls && this.config.controls.allowedAssetQueryOperators) {
490
+ operators = this.getOperatorMapValue(this.config.controls.allowedAssetQueryOperators, getAssetTypeFromQuery(this.query), attributeName, attributeDescriptor, valueDescriptor);
491
+ }
492
+ if (!operators) {
493
+ operators = this.getOperatorMapValue(this._queryOperatorsMap, getAssetTypeFromQuery(this.query), attributeName, attributeDescriptor, valueDescriptor);
494
+ }
495
+ return operators ? operators.map((v) => [v, i18next.t(v)]) : [];
496
+ }
497
+ getOperator(attributePredicate) {
498
+ if (!attributePredicate) {
499
+ return;
500
+ }
501
+ // Check for timestampOlderThan, it's independent of value predicate
502
+ if (attributePredicate.timestampOlderThan !== undefined) {
503
+ return AssetQueryOperator.NOT_UPDATED_FOR;
504
+ }
505
+ if (!attributePredicate.value) {
506
+ return;
507
+ }
508
+ const valuePredicate = attributePredicate.value;
509
+ switch (valuePredicate.predicateType) {
510
+ case "string":
511
+ switch (valuePredicate.match) {
512
+ case "EXACT" /* AssetQueryMatch.EXACT */:
513
+ return valuePredicate.negate ? AssetQueryOperator.NOT_EQUALS : AssetQueryOperator.EQUALS;
514
+ case "BEGIN" /* AssetQueryMatch.BEGIN */:
515
+ return valuePredicate.negate ? AssetQueryOperator.NOT_STARTS_WITH : AssetQueryOperator.STARTS_WITH;
516
+ case "END" /* AssetQueryMatch.END */:
517
+ return valuePredicate.negate ? AssetQueryOperator.NOT_ENDS_WITH : AssetQueryOperator.ENDS_WITH;
518
+ case "CONTAINS" /* AssetQueryMatch.CONTAINS */:
519
+ return valuePredicate.negate ? AssetQueryOperator.NOT_CONTAINS : AssetQueryOperator.CONTAINS;
520
+ }
521
+ return;
522
+ case "boolean":
523
+ return valuePredicate.value ? AssetQueryOperator.IS_TRUE : AssetQueryOperator.IS_FALSE;
524
+ case "datetime":
525
+ case "number":
526
+ switch (valuePredicate.operator) {
527
+ case "EQUALS" /* AQO.EQUALS */:
528
+ return valuePredicate.negate ? AssetQueryOperator.NOT_EQUALS : AssetQueryOperator.EQUALS;
529
+ case "GREATER_THAN" /* AQO.GREATER_THAN */:
530
+ return valuePredicate.negate ? AssetQueryOperator.LESS_EQUALS : AssetQueryOperator.GREATER_THAN;
531
+ case "GREATER_EQUALS" /* AQO.GREATER_EQUALS */:
532
+ return valuePredicate.negate ? AssetQueryOperator.LESS_THAN : AssetQueryOperator.GREATER_EQUALS;
533
+ case "LESS_THAN" /* AQO.LESS_THAN */:
534
+ return valuePredicate.negate ? AssetQueryOperator.GREATER_EQUALS : AssetQueryOperator.LESS_THAN;
535
+ case "LESS_EQUALS" /* AQO.LESS_EQUALS */:
536
+ return valuePredicate.negate ? AssetQueryOperator.GREATER_THAN : AssetQueryOperator.LESS_EQUALS;
537
+ case "BETWEEN" /* AQO.BETWEEN */:
538
+ return valuePredicate.negate ? AssetQueryOperator.NOT_BETWEEN : AssetQueryOperator.BETWEEN;
539
+ }
540
+ return;
541
+ case "radial":
542
+ return valuePredicate.negated ? AssetQueryOperator.OUTSIDE_RADIUS : AssetQueryOperator.WITHIN_RADIUS;
543
+ case "rect":
544
+ return valuePredicate.negated ? AssetQueryOperator.OUTSIDE_RECTANGLE : AssetQueryOperator.WITHIN_RECTANGLE;
545
+ case "array":
546
+ if (valuePredicate.value && valuePredicate.index) {
547
+ return valuePredicate.negated ? AssetQueryOperator.NOT_INDEX_CONTAINS : AssetQueryOperator.INDEX_CONTAINS;
548
+ }
549
+ if (valuePredicate.lengthEquals) {
550
+ return valuePredicate.negated ? AssetQueryOperator.NOT_LENGTH_EQUALS : AssetQueryOperator.LENGTH_EQUALS;
551
+ }
552
+ if (valuePredicate.lengthGreaterThan) {
553
+ return valuePredicate.negated ? AssetQueryOperator.LENGTH_LESS_THAN : AssetQueryOperator.LENGTH_GREATER_THAN;
554
+ }
555
+ if (valuePredicate.lengthLessThan) {
556
+ return valuePredicate.negated ? AssetQueryOperator.LENGTH_GREATER_THAN : AssetQueryOperator.LENGTH_LESS_THAN;
557
+ }
558
+ return valuePredicate.negated ? AssetQueryOperator.NOT_CONTAINS : AssetQueryOperator.CONTAINS;
559
+ case "value-empty":
560
+ return valuePredicate.negate ? AssetQueryOperator.VALUE_NOT_EMPTY : AssetQueryOperator.VALUE_EMPTY;
561
+ }
562
+ }
563
+ updateDurationMap(index) {
564
+ if (this.duration) {
565
+ // re-assign durations by filtering out the index and adjusting remaining indices
566
+ const newDurationEntries = Array.from(this.duration.entries())
567
+ .filter(([k, _]) => k !== index)
568
+ .map(([k, v]) => {
569
+ const newIndex = k > index ? k - 1 : k;
570
+ return [newIndex, v]; // adjust indices after the removed index
571
+ });
572
+ this.duration = new Map(newDurationEntries);
573
+ }
574
+ }
575
+ setOperator(assetDescriptor, attribute, attributeName, attributePredicate, operator) {
576
+ if (!this.query
577
+ || !this.query.attributes
578
+ || !this.query.attributes.items
579
+ || this.query.attributes.items.length === 0) {
580
+ return;
581
+ }
582
+ if (!operator) {
583
+ attributePredicate.value = undefined;
584
+ this.dispatchEvent(new OrRulesJsonRuleChangedEvent());
585
+ this.requestUpdate();
586
+ return;
587
+ }
588
+ const descriptors = AssetModelUtil.getAttributeAndValueDescriptors(assetDescriptor.name, attribute || attributeName);
589
+ const value = operator;
590
+ if (!descriptors || !descriptors[1] || !value) {
591
+ attributePredicate.value = undefined;
592
+ this.dispatchEvent(new OrRulesJsonRuleChangedEvent());
593
+ this.requestUpdate();
594
+ return;
595
+ }
596
+ attributePredicate.timestampOlderThan = undefined;
597
+ const valueDescriptor = descriptors[1];
598
+ let predicate;
599
+ switch (value) {
600
+ // // object
601
+ // case AssetQueryOperator.NOT_CONTAINS_KEY:
602
+ // case AssetQueryOperator.CONTAINS_KEY:
603
+ // if (valueType === ValueType.OBJECT) {
604
+ // predicate = {
605
+ // predicateType: "object-value-key",
606
+ // negated: value === AssetQueryOperator.NOT_CONTAINS_KEY
607
+ // };
608
+ // }
609
+ // break;
610
+ // array
611
+ case AssetQueryOperator.INDEX_CONTAINS:
612
+ case AssetQueryOperator.NOT_INDEX_CONTAINS:
613
+ case AssetQueryOperator.LENGTH_EQUALS:
614
+ case AssetQueryOperator.NOT_LENGTH_EQUALS:
615
+ case AssetQueryOperator.LENGTH_LESS_THAN:
616
+ case AssetQueryOperator.LENGTH_GREATER_THAN:
617
+ if (valueDescriptor.arrayDimensions) {
618
+ predicate = {
619
+ predicateType: "array",
620
+ negated: value === AssetQueryOperator.NOT_INDEX_CONTAINS || value === AssetQueryOperator.NOT_LENGTH_EQUALS,
621
+ index: value === AssetQueryOperator.INDEX_CONTAINS || value === AssetQueryOperator.NOT_INDEX_CONTAINS ? 0 : undefined,
622
+ lengthEquals: value === AssetQueryOperator.LENGTH_EQUALS || value === AssetQueryOperator.NOT_LENGTH_EQUALS ? 0 : undefined,
623
+ lengthGreaterThan: value === AssetQueryOperator.LENGTH_GREATER_THAN ? 0 : undefined,
624
+ lengthLessThan: value === AssetQueryOperator.LENGTH_GREATER_THAN ? 0 : undefined,
625
+ };
626
+ }
627
+ break;
628
+ // geo point
629
+ case AssetQueryOperator.WITHIN_RADIUS:
630
+ case AssetQueryOperator.OUTSIDE_RADIUS:
631
+ predicate = {
632
+ predicateType: "radial",
633
+ negated: value === AssetQueryOperator.OUTSIDE_RADIUS,
634
+ lat: 0,
635
+ lng: 0,
636
+ radius: 50
637
+ };
638
+ break;
639
+ case AssetQueryOperator.WITHIN_RECTANGLE:
640
+ case AssetQueryOperator.OUTSIDE_RECTANGLE:
641
+ predicate = {
642
+ predicateType: "rect",
643
+ negated: value === AssetQueryOperator.OUTSIDE_RECTANGLE,
644
+ latMin: -0.1,
645
+ lngMin: -0.1,
646
+ latMax: 0.1,
647
+ lngMax: 0.1
648
+ };
649
+ break;
650
+ // boolean
651
+ case AssetQueryOperator.IS_TRUE:
652
+ case AssetQueryOperator.IS_FALSE:
653
+ if (valueDescriptor.jsonType === "boolean") {
654
+ predicate = {
655
+ predicateType: "boolean",
656
+ value: value === AssetQueryOperator.IS_TRUE
657
+ };
658
+ break;
659
+ }
660
+ // string
661
+ case AssetQueryOperator.STARTS_WITH:
662
+ case AssetQueryOperator.NOT_STARTS_WITH:
663
+ if (valueDescriptor.jsonType === "string") {
664
+ predicate = {
665
+ predicateType: "string",
666
+ negate: value === AssetQueryOperator.NOT_STARTS_WITH,
667
+ match: "BEGIN" /* AssetQueryMatch.BEGIN */
668
+ };
669
+ }
670
+ break;
671
+ case AssetQueryOperator.ENDS_WITH:
672
+ case AssetQueryOperator.NOT_ENDS_WITH:
673
+ if (valueDescriptor.jsonType === "string") {
674
+ predicate = {
675
+ predicateType: "string",
676
+ negate: value === AssetQueryOperator.NOT_ENDS_WITH,
677
+ match: "END" /* AssetQueryMatch.END */
678
+ };
679
+ }
680
+ break;
681
+ // number or datetime
682
+ case AssetQueryOperator.NOT_BETWEEN:
683
+ if (valueDescriptor.jsonType === "number" || valueDescriptor.jsonType === "bigint") {
684
+ predicate = {
685
+ predicateType: "number",
686
+ operator: "BETWEEN" /* AQO.BETWEEN */,
687
+ negate: true
688
+ };
689
+ }
690
+ else {
691
+ // Assume datetime
692
+ predicate = {
693
+ predicateType: "datetime",
694
+ operator: "BETWEEN" /* AQO.BETWEEN */,
695
+ negate: true
696
+ };
697
+ }
698
+ break;
699
+ case AssetQueryOperator.GREATER_THAN:
700
+ case AssetQueryOperator.GREATER_EQUALS:
701
+ case AssetQueryOperator.LESS_THAN:
702
+ case AssetQueryOperator.LESS_EQUALS:
703
+ case AssetQueryOperator.BETWEEN:
704
+ const key = Util.getEnumKeyAsString(AssetQueryOperator, value);
705
+ if (valueDescriptor.jsonType === "number") {
706
+ predicate = {
707
+ predicateType: "number",
708
+ operator: key
709
+ };
710
+ }
711
+ else {
712
+ // Assume datetime
713
+ predicate = {
714
+ predicateType: "datetime",
715
+ operator: key
716
+ };
717
+ }
718
+ break;
719
+ // multiple
720
+ case AssetQueryOperator.EQUALS:
721
+ case AssetQueryOperator.NOT_EQUALS:
722
+ if (valueDescriptor.jsonType === "date") {
723
+ predicate = {
724
+ predicateType: "datetime",
725
+ negate: value === AssetQueryOperator.NOT_EQUALS,
726
+ operator: "EQUALS" /* AQO.EQUALS */
727
+ };
728
+ }
729
+ else if (valueDescriptor.jsonType === "number") {
730
+ predicate = {
731
+ predicateType: "number",
732
+ negate: value === AssetQueryOperator.NOT_EQUALS,
733
+ operator: "EQUALS" /* AQO.EQUALS */
734
+ };
735
+ }
736
+ else if (valueDescriptor.jsonType === "string") {
737
+ predicate = {
738
+ predicateType: "string",
739
+ negate: value === AssetQueryOperator.NOT_EQUALS,
740
+ match: "EXACT" /* AssetQueryMatch.EXACT */
741
+ };
742
+ }
743
+ break;
744
+ case AssetQueryOperator.VALUE_EMPTY:
745
+ predicate = {
746
+ predicateType: "value-empty"
747
+ };
748
+ break;
749
+ case AssetQueryOperator.VALUE_NOT_EMPTY:
750
+ predicate = {
751
+ predicateType: "value-empty",
752
+ negate: true
753
+ };
754
+ break;
755
+ case AssetQueryOperator.CONTAINS:
756
+ case AssetQueryOperator.NOT_CONTAINS:
757
+ if (valueDescriptor.arrayDimensions) {
758
+ predicate = {
759
+ predicateType: "array",
760
+ negated: value === AssetQueryOperator.NOT_CONTAINS
761
+ };
762
+ }
763
+ else if (valueDescriptor.jsonType === "string") {
764
+ predicate = {
765
+ predicateType: "string",
766
+ negate: value === AssetQueryOperator.NOT_CONTAINS,
767
+ match: "CONTAINS" /* AssetQueryMatch.CONTAINS */
768
+ };
769
+ }
770
+ break;
771
+ // operator without value predicate - since timestamp is being used rather than attribute value
772
+ case AssetQueryOperator.NOT_UPDATED_FOR:
773
+ attributePredicate.timestampOlderThan = "";
774
+ const index = this.query.attributes.items.indexOf(attributePredicate);
775
+ this.updateDurationMap(index);
776
+ break;
777
+ }
778
+ attributePredicate.value = predicate;
779
+ this.dispatchEvent(new OrRulesJsonRuleChangedEvent());
780
+ this.requestUpdate();
781
+ }
782
+ get attributePredicate() {
783
+ return this.query
784
+ && this.query.attributes
785
+ && this.query.attributes.items
786
+ && this.query.attributes.items.length > 0
787
+ ? this.query.attributes.items[0] : undefined;
788
+ }
789
+ setValuePredicateProperty(valuePredicate, propertyName, value) {
790
+ if (!valuePredicate) {
791
+ return;
792
+ }
793
+ valuePredicate[propertyName] = value;
794
+ this.dispatchEvent(new OrRulesJsonRuleChangedEvent());
795
+ this.requestUpdate();
796
+ }
797
+ removeAttributePredicate(group, attributePredicate) {
798
+ const index = group.items.indexOf(attributePredicate);
799
+ if (index >= 0) {
800
+ group.items.splice(index, 1);
801
+ this.updateDurationMap(index);
802
+ }
803
+ this.dispatchEvent(new OrRulesJsonRuleChangedEvent());
804
+ this.requestUpdate();
805
+ }
806
+ addAttributePredicate(group) {
807
+ if (!group.items) {
808
+ group.items = [];
809
+ }
810
+ group.items.push({});
811
+ this.dispatchEvent(new OrRulesJsonRuleChangedEvent());
812
+ this.requestUpdate();
813
+ }
814
+ toggleAttributeGroup(group) {
815
+ if (group.operator === "OR" /* LogicGroupOperator.OR */) {
816
+ group.operator = "AND" /* LogicGroupOperator.AND */;
817
+ }
818
+ else {
819
+ group.operator = "OR" /* LogicGroupOperator.OR */;
820
+ }
821
+ this.dispatchEvent(new OrRulesJsonRuleChangedEvent());
822
+ this.requestUpdate();
823
+ }
824
+ loadAssets(type) {
825
+ this.assetProvider(type).then(assets => {
826
+ this._assets = assets;
827
+ });
828
+ }
829
+ };
830
+ __decorate([
831
+ property({ type: Object, attribute: false })
832
+ ], OrRuleAssetQuery.prototype, "condition", void 0);
833
+ __decorate([
834
+ property({ type: Object })
835
+ ], OrRuleAssetQuery.prototype, "config", void 0);
836
+ __decorate([
837
+ property({ type: Object })
838
+ ], OrRuleAssetQuery.prototype, "assetInfos", void 0);
839
+ __decorate([
840
+ property({ type: Object })
841
+ ], OrRuleAssetQuery.prototype, "assetProvider", void 0);
842
+ __decorate([
843
+ state()
844
+ ], OrRuleAssetQuery.prototype, "_assets", void 0);
845
+ OrRuleAssetQuery = __decorate([
846
+ customElement("or-rule-asset-query")
847
+ ], OrRuleAssetQuery);
848
+ export { OrRuleAssetQuery };
849
+ //# sourceMappingURL=or-rule-asset-query.js.map