ballerina-core 1.0.244 → 1.0.246

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 (324) hide show
  1. package/bin/main.js +1 -1
  2. package/bin/src/api-response-handler/coroutines/runner.js +13 -20
  3. package/bin/src/api-response-handler/state.js +11 -13
  4. package/bin/src/apiResultStatus/state.d.ts +3 -10
  5. package/bin/src/apiResultStatus/state.js +5 -2
  6. package/bin/src/async/domains/mirroring/domains/collection/coroutines/synchronizers.js +196 -314
  7. package/bin/src/async/domains/mirroring/domains/collection/state.js +36 -126
  8. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection/state.js +11 -18
  9. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state.js +19 -19
  10. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entities/state.js +1 -1
  11. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entity/state.js +18 -18
  12. package/bin/src/async/domains/mirroring/domains/entity/state.js +9 -18
  13. package/bin/src/async/domains/mirroring/domains/singleton/coroutines/synchronizers.js +83 -134
  14. package/bin/src/async/domains/mirroring/domains/singleton/state.js +8 -52
  15. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.d.ts +7 -0
  16. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.d.ts.map +1 -1
  17. package/bin/src/async/domains/mirroring/domains/synchronized-entities/state.js +4 -7
  18. package/bin/src/async/domains/promise/state.d.ts +4 -9
  19. package/bin/src/async/domains/promise/state.js +9 -20
  20. package/bin/src/async/domains/synchronized/coroutines/synchronize.js +28 -80
  21. package/bin/src/async/domains/synchronized/state.d.ts +7 -14
  22. package/bin/src/async/domains/synchronized/state.js +6 -16
  23. package/bin/src/async/state.d.ts +45 -56
  24. package/bin/src/async/state.js +97 -115
  25. package/bin/src/baseEntity/domains/identifiable/state.d.ts +11 -15
  26. package/bin/src/baseEntity/domains/identifiable/state.js +9 -9
  27. package/bin/src/collections/domains/array/state.d.ts +7 -7
  28. package/bin/src/collections/domains/array/state.js +5 -5
  29. package/bin/src/collections/domains/errors/state.d.ts +10 -10
  30. package/bin/src/collections/domains/errors/state.js +10 -10
  31. package/bin/src/collections/domains/immutable/domains/list/state.js +44 -46
  32. package/bin/src/collections/domains/immutable/domains/map/state.js +23 -41
  33. package/bin/src/collections/domains/immutable/domains/orderedMap/state.js +65 -84
  34. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.d.ts +6 -6
  35. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.js +6 -6
  36. package/bin/src/collections/domains/maybe/state.d.ts +9 -9
  37. package/bin/src/collections/domains/maybe/state.js +9 -12
  38. package/bin/src/collections/domains/product/state.d.ts +19 -25
  39. package/bin/src/collections/domains/product/state.js +10 -13
  40. package/bin/src/collections/domains/sum/state.d.ts +77 -101
  41. package/bin/src/collections/domains/sum/state.js +32 -49
  42. package/bin/src/collections/domains/valueOrErrors/state.js +56 -81
  43. package/bin/src/coroutines/builder.js +19 -40
  44. package/bin/src/coroutines/state.js +306 -381
  45. package/bin/src/coroutines/template.js +59 -97
  46. package/bin/src/debounced/coroutines/debounce.js +89 -115
  47. package/bin/src/debounced/state.js +25 -62
  48. package/bin/src/diagnostics/domains/message-box/state.d.ts +1 -1
  49. package/bin/src/diagnostics/domains/message-box/state.js +3 -3
  50. package/bin/src/foreignMutations/state.d.ts +3 -3
  51. package/bin/src/foreignMutations/state.js +1 -1
  52. package/bin/src/forms/domains/attachments/views/attachments-view.js +8 -30
  53. package/bin/src/forms/domains/collection/domains/reference/state.js +20 -26
  54. package/bin/src/forms/domains/collection/domains/selection/state.js +1 -1
  55. package/bin/src/forms/domains/dispatched-forms/built-ins/state.js +754 -2007
  56. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js +44 -123
  57. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.js +166 -339
  58. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/enum/state.js +27 -40
  59. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.js +40 -76
  60. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.js +59 -102
  61. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.js +29 -64
  62. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.js +30 -64
  63. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.js +33 -88
  64. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/primitive/state.js +13 -21
  65. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.js +23 -52
  66. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.js +18 -59
  67. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.js +55 -129
  68. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/stream/state.js +27 -43
  69. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.js +23 -63
  70. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sumUnitDate/state.js +22 -39
  71. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.js +11 -46
  72. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.d.ts +6 -1
  73. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.d.ts.map +1 -1
  74. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.js +50 -146
  75. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.js.map +1 -1
  76. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.js +29 -64
  77. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.js +33 -78
  78. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.js +62 -157
  79. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js +569 -977
  80. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.js +94 -255
  81. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js +90 -322
  82. package/bin/src/forms/domains/dispatched-forms/deserializer/template.js +2 -3
  83. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/state.js +3 -3
  84. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.js +23 -49
  85. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.js +3 -3
  86. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.js +24 -52
  87. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.js +6 -18
  88. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.js +30 -64
  89. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.js +6 -9
  90. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.js +60 -153
  91. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/state.js +1 -1
  92. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.js +50 -127
  93. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.js +22 -40
  94. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js +13 -31
  95. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.d.ts +2 -2
  96. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.d.ts.map +1 -1
  97. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js +142 -417
  98. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js.map +1 -1
  99. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.js +1 -1
  100. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js +8 -28
  101. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.js +18 -61
  102. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.js +90 -329
  103. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/state.js +3 -3
  104. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.js +23 -54
  105. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.js +10 -22
  106. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.js +31 -49
  107. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.js +10 -29
  108. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.js +2 -2
  109. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.js +26 -47
  110. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.js +40 -88
  111. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js +152 -386
  112. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.js +10 -19
  113. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.js +21 -78
  114. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.js +11 -32
  115. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js +77 -222
  116. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.js +13 -35
  117. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.js +68 -195
  118. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.js +13 -36
  119. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.js +106 -246
  120. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/state.js +3 -3
  121. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.js +23 -54
  122. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.js +27 -40
  123. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/state.js +3 -3
  124. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.js +26 -58
  125. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.js +7 -22
  126. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js +53 -188
  127. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.js +2 -2
  128. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.js +24 -57
  129. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.js +20 -70
  130. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js +27 -61
  131. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.js +19 -38
  132. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.js +15 -43
  133. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts +4 -0
  134. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts.map +1 -1
  135. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js +137 -301
  136. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts +6 -2
  137. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts.map +1 -1
  138. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js +238 -622
  139. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js.map +1 -1
  140. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.js +8 -20
  141. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.js +35 -132
  142. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.js +8 -21
  143. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.js +32 -103
  144. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.js +9 -12
  145. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.js +20 -54
  146. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.d.ts +8 -0
  147. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.d.ts.map +1 -1
  148. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js +537 -676
  149. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js.map +1 -1
  150. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js +18 -58
  151. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.js +14 -45
  152. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js +18 -76
  153. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.js +24 -82
  154. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.js +8 -37
  155. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js +36 -120
  156. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.js +63 -145
  157. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js +12 -44
  158. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.js +4 -14
  159. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js +25 -81
  160. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.js +24 -82
  161. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js +20 -63
  162. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.d.ts.map +1 -1
  163. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js +74 -247
  164. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js.map +1 -1
  165. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js +13 -61
  166. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js +15 -64
  167. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.js +45 -144
  168. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.js +95 -203
  169. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.js +37 -79
  170. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.js +2 -2
  171. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.js +17 -19
  172. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.js +11 -58
  173. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.js +25 -73
  174. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.js +95 -205
  175. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.js +37 -78
  176. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.js +2 -2
  177. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.js +17 -19
  178. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.js +11 -58
  179. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.js +25 -71
  180. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.js +85 -163
  181. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.js +4 -10
  182. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.js +27 -72
  183. package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.js +423 -773
  184. package/bin/src/forms/domains/dispatched-forms/runner/state.js +38 -62
  185. package/bin/src/forms/domains/dispatched-forms/runner/template.js +25 -78
  186. package/bin/src/forms/domains/launcher/coroutines/runner.js +45 -120
  187. package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.js +101 -240
  188. package/bin/src/forms/domains/launcher/domains/create/state.js +17 -62
  189. package/bin/src/forms/domains/launcher/domains/create/template.js +42 -84
  190. package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.js +103 -242
  191. package/bin/src/forms/domains/launcher/domains/edit/state.js +17 -62
  192. package/bin/src/forms/domains/launcher/domains/edit/template.js +43 -86
  193. package/bin/src/forms/domains/launcher/domains/merger/state.d.ts +4 -4
  194. package/bin/src/forms/domains/launcher/domains/merger/state.js +26 -35
  195. package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.js +42 -88
  196. package/bin/src/forms/domains/launcher/domains/passthrough/state.js +19 -44
  197. package/bin/src/forms/domains/launcher/domains/passthrough/template.js +34 -56
  198. package/bin/src/forms/domains/launcher/state.js +6 -6
  199. package/bin/src/forms/domains/launcher/template.js +85 -169
  200. package/bin/src/forms/domains/parser/coroutines/runner.js +25 -87
  201. package/bin/src/forms/domains/parser/domains/built-ins/state.js +533 -944
  202. package/bin/src/forms/domains/parser/domains/deltas/state.js +318 -444
  203. package/bin/src/forms/domains/parser/domains/injectables/state.js +26 -29
  204. package/bin/src/forms/domains/parser/domains/layout/state.d.ts +1 -1
  205. package/bin/src/forms/domains/parser/domains/layout/state.d.ts.map +1 -1
  206. package/bin/src/forms/domains/parser/domains/layout/state.js +183 -265
  207. package/bin/src/forms/domains/parser/domains/layout/state.js.map +1 -1
  208. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.js +162 -324
  209. package/bin/src/forms/domains/parser/domains/predicates/state.js +979 -1509
  210. package/bin/src/forms/domains/parser/domains/renderer/state.js +480 -1137
  211. package/bin/src/forms/domains/parser/domains/types/state.js +170 -355
  212. package/bin/src/forms/domains/parser/domains/validator/state.js +280 -417
  213. package/bin/src/forms/domains/parser/state.js +373 -612
  214. package/bin/src/forms/domains/parser/template.js +1 -1
  215. package/bin/src/forms/domains/primitives/domains/base-64-file/state.js +5 -5
  216. package/bin/src/forms/domains/primitives/domains/base-64-file/template.js +19 -38
  217. package/bin/src/forms/domains/primitives/domains/boolean/state.js +5 -5
  218. package/bin/src/forms/domains/primitives/domains/boolean/template.js +19 -38
  219. package/bin/src/forms/domains/primitives/domains/date/state.js +9 -18
  220. package/bin/src/forms/domains/primitives/domains/date/template.js +25 -51
  221. package/bin/src/forms/domains/primitives/domains/enum/state.js +6 -6
  222. package/bin/src/forms/domains/primitives/domains/enum/template.js +48 -117
  223. package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.js +1 -1
  224. package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.js +40 -99
  225. package/bin/src/forms/domains/primitives/domains/list/state.js +14 -14
  226. package/bin/src/forms/domains/primitives/domains/list/template.js +71 -200
  227. package/bin/src/forms/domains/primitives/domains/map/state.js +14 -14
  228. package/bin/src/forms/domains/primitives/domains/map/template.js +103 -294
  229. package/bin/src/forms/domains/primitives/domains/number/state.js +5 -5
  230. package/bin/src/forms/domains/primitives/domains/number/template.js +19 -38
  231. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.js +16 -33
  232. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.js +62 -171
  233. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.js +1 -1
  234. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.js +69 -182
  235. package/bin/src/forms/domains/primitives/domains/secret/state.js +5 -5
  236. package/bin/src/forms/domains/primitives/domains/secret/template.js +19 -38
  237. package/bin/src/forms/domains/primitives/domains/string/state.js +5 -5
  238. package/bin/src/forms/domains/primitives/domains/string/template.js +22 -42
  239. package/bin/src/forms/domains/primitives/domains/sum/state.js +10 -10
  240. package/bin/src/forms/domains/primitives/domains/sum/template.js +50 -141
  241. package/bin/src/forms/domains/primitives/domains/tuple/state.js +9 -9
  242. package/bin/src/forms/domains/primitives/domains/tuple/template.js +33 -100
  243. package/bin/src/forms/domains/primitives/domains/unit/state.js +8 -8
  244. package/bin/src/forms/domains/primitives/domains/unit/template.js +9 -22
  245. package/bin/src/forms/domains/singleton/domains/form-label/state.d.ts +4 -4
  246. package/bin/src/forms/domains/singleton/domains/form-label/state.js +1 -1
  247. package/bin/src/forms/domains/singleton/state.js +10 -12
  248. package/bin/src/forms/domains/singleton/template.js +113 -288
  249. package/bin/src/fun/domains/curry/state.d.ts +2 -4
  250. package/bin/src/fun/domains/curry/state.js +1 -1
  251. package/bin/src/fun/domains/id/state.d.ts +1 -1
  252. package/bin/src/fun/domains/id/state.js +1 -1
  253. package/bin/src/fun/domains/predicate/domains/bool-expr.d.ts +41 -57
  254. package/bin/src/fun/domains/predicate/domains/bool-expr.js +67 -76
  255. package/bin/src/fun/domains/predicate/state.d.ts +7 -9
  256. package/bin/src/fun/domains/predicate/state.js +10 -14
  257. package/bin/src/fun/domains/simpleCallback/state.d.ts +1 -1
  258. package/bin/src/fun/domains/simpleCallback/state.js +1 -1
  259. package/bin/src/fun/domains/uncurry/state.d.ts +2 -4
  260. package/bin/src/fun/domains/uncurry/state.js +1 -1
  261. package/bin/src/fun/domains/unit/state.d.ts +1 -1
  262. package/bin/src/fun/domains/unit/state.js +1 -1
  263. package/bin/src/fun/domains/updater/domains/caseUpdater/state.d.ts +7 -22
  264. package/bin/src/fun/domains/updater/domains/caseUpdater/state.js +10 -18
  265. package/bin/src/fun/domains/updater/domains/mapUpdater/state.d.ts +13 -24
  266. package/bin/src/fun/domains/updater/domains/mapUpdater/state.js +10 -40
  267. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.d.ts +13 -19
  268. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.js +9 -20
  269. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.d.ts +13 -24
  270. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.js +11 -47
  271. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.d.ts +8 -20
  272. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.js +5 -17
  273. package/bin/src/fun/domains/updater/domains/replaceWith/state.d.ts +1 -1
  274. package/bin/src/fun/domains/updater/domains/replaceWith/state.js +1 -1
  275. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.d.ts +4 -13
  276. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.js +4 -6
  277. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.d.ts +22 -60
  278. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.js +31 -42
  279. package/bin/src/fun/domains/updater/state.d.ts +4 -4
  280. package/bin/src/fun/domains/updater/state.js +10 -12
  281. package/bin/src/fun/state.d.ts +3 -3
  282. package/bin/src/fun/state.js +7 -9
  283. package/bin/src/infinite-data-stream/coroutines/builder.js +1 -1
  284. package/bin/src/infinite-data-stream/coroutines/infiniteLoader.js +20 -47
  285. package/bin/src/infinite-data-stream/coroutines/runner.js +7 -7
  286. package/bin/src/infinite-data-stream/state.d.ts +51 -84
  287. package/bin/src/infinite-data-stream/state.js +61 -125
  288. package/bin/src/infinite-data-stream/template.js +2 -3
  289. package/bin/src/math/domains/DOMRect/state.d.ts +4 -4
  290. package/bin/src/math/domains/DOMRect/state.js +8 -10
  291. package/bin/src/math/domains/number/state.d.ts +5 -5
  292. package/bin/src/math/domains/number/state.js +5 -5
  293. package/bin/src/math/domains/rect/state.d.ts +8 -8
  294. package/bin/src/math/domains/rect/state.js +15 -16
  295. package/bin/src/math/domains/rgba/state.d.ts +17 -17
  296. package/bin/src/math/domains/rgba/state.js +81 -77
  297. package/bin/src/math/domains/size2/state.d.ts +8 -8
  298. package/bin/src/math/domains/size2/state.js +6 -6
  299. package/bin/src/math/domains/vector2/state.d.ts +10 -10
  300. package/bin/src/math/domains/vector2/state.js +8 -8
  301. package/bin/src/queue/state.d.ts +3 -3
  302. package/bin/src/queue/state.d.ts.map +1 -1
  303. package/bin/src/queue/state.js +2 -2
  304. package/bin/src/queue/state.js.map +1 -1
  305. package/bin/src/state/domains/repository/state.d.ts +9 -15
  306. package/bin/src/state/domains/repository/state.js +1 -1
  307. package/bin/src/template/state.js +115 -163
  308. package/bin/src/validation/state.js +45 -38
  309. package/bin/src/value/domains/mutable-value/state.js +2 -3
  310. package/bin/src/value/state.d.ts +9 -9
  311. package/bin/src/value/state.js +8 -11
  312. package/bin/src/value-infinite-data-stream/coroutines/builder.js +1 -1
  313. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.js +20 -55
  314. package/bin/src/value-infinite-data-stream/coroutines/runner.js +4 -6
  315. package/bin/src/value-infinite-data-stream/state.js +77 -199
  316. package/bin/src/value-infinite-data-stream/template.js +2 -4
  317. package/bin/src/visibility/state.d.ts +2 -5
  318. package/bin/src/visibility/state.js +1 -1
  319. package/package.json +1 -1
  320. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.ts +32 -15
  321. package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.tsx +16 -3
  322. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.ts +1 -0
  323. package/src/forms/domains/parser/domains/layout/state.ts +11 -4
  324. package/src/queue/state.ts +8 -4
@@ -3,217 +3,95 @@ import { Updater } from "../fun/domains/updater/state";
3
3
  import { replaceWith } from "../fun/domains/updater/domains/replaceWith/state";
4
4
  import { simpleUpdater } from "../fun/domains/updater/domains/simpleUpdater/state";
5
5
  import { AsyncState } from "../async/state";
6
- import { MapRepo, ValueOrErrors, ValueRecord } from "../../main";
6
+ import { MapRepo, ValueOrErrors, ValueRecord, } from "../../main";
7
7
  export const ValueStreamPosition = {
8
- Default: (initialChunkSize, shouldLoad = false) => ({
9
- nextStart: 0,
10
- chunkSize: initialChunkSize,
11
- chunkIndex: 0,
12
- shouldLoad,
13
- lastModifiedTime: Date.now(),
14
- }),
15
- Updaters: {
16
- Template: {
17
- changeChunkSize: (chunkSize) =>
18
- ValueStreamPosition.Updaters.Core.chunkSize(
19
- replaceWith(chunkSize),
20
- ).then(ValueStreamPosition.Updaters.Template.reload()),
21
- reload: () =>
22
- ValueStreamPosition.Updaters.Core.lastModifiedTime(
23
- replaceWith(Date.now()),
24
- )
25
- .then(
26
- ValueStreamPosition.Updaters.Core.shouldLoad(replaceWith("reload")),
27
- )
28
- .then(ValueStreamPosition.Updaters.Core.chunkIndex(replaceWith(0))),
29
- loadMore: () =>
30
- ValueStreamPosition.Updaters.Core.chunkIndex((_) => _ + 1).then(
31
- ValueStreamPosition.Updaters.Core.lastModifiedTime(
32
- replaceWith(Date.now()),
33
- ).then(
34
- ValueStreamPosition.Updaters.Core.shouldLoad(
35
- replaceWith("loadMore"),
36
- ),
37
- ),
38
- ),
39
- initLoad: () =>
40
- ValueStreamPosition.Updaters.Core.lastModifiedTime(
41
- replaceWith(Date.now()),
42
- ).then(
43
- ValueStreamPosition.Updaters.Core.shouldLoad(replaceWith("loadMore")),
44
- ),
8
+ Default: (initialChunkSize, shouldLoad = false) => ({
9
+ nextStart: 0,
10
+ chunkSize: initialChunkSize,
11
+ chunkIndex: 0,
12
+ shouldLoad,
13
+ lastModifiedTime: Date.now(),
14
+ }),
15
+ Updaters: {
16
+ Template: {
17
+ changeChunkSize: (chunkSize) => ValueStreamPosition.Updaters.Core.chunkSize(replaceWith(chunkSize)).then(ValueStreamPosition.Updaters.Template.reload()),
18
+ reload: () => ValueStreamPosition.Updaters.Core.lastModifiedTime(replaceWith(Date.now()))
19
+ .then(ValueStreamPosition.Updaters.Core.shouldLoad(replaceWith("reload")))
20
+ .then(ValueStreamPosition.Updaters.Core.chunkIndex(replaceWith(0))),
21
+ loadMore: () => ValueStreamPosition.Updaters.Core.chunkIndex((_) => _ + 1).then(ValueStreamPosition.Updaters.Core.lastModifiedTime(replaceWith(Date.now())).then(ValueStreamPosition.Updaters.Core.shouldLoad(replaceWith("loadMore")))),
22
+ initLoad: () => ValueStreamPosition.Updaters.Core.lastModifiedTime(replaceWith(Date.now())).then(ValueStreamPosition.Updaters.Core.shouldLoad(replaceWith("loadMore"))),
23
+ },
24
+ Core: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, simpleUpdater()("lastModifiedTime")), simpleUpdater()("shouldLoad")), simpleUpdater()("chunkIndex")), simpleUpdater()("chunkSize")), simpleUpdater()("nextStart")),
25
+ Coroutine: {},
45
26
  },
46
- Core: Object.assign(
47
- Object.assign(
48
- Object.assign(
49
- Object.assign(
50
- Object.assign({}, simpleUpdater()("lastModifiedTime")),
51
- simpleUpdater()("shouldLoad"),
52
- ),
53
- simpleUpdater()("chunkIndex"),
54
- ),
55
- simpleUpdater()("chunkSize"),
56
- ),
57
- simpleUpdater()("nextStart"),
58
- ),
59
- Coroutine: {},
60
- },
61
27
  };
62
28
  export const ValueChunk = {
63
- Default: (hasMoreValues, data, from, to) => ({
64
- hasMoreValues,
65
- data,
66
- from,
67
- to,
68
- }),
69
- Updaters: {
70
- Core: Object.assign(
71
- Object.assign(
72
- Object.assign(
73
- Object.assign({}, simpleUpdater()("hasMoreValues")),
74
- simpleUpdater()("data"),
75
- ),
76
- simpleUpdater()("from"),
77
- ),
78
- simpleUpdater()("to"),
79
- ),
80
- Template: {
81
- updateValue: (valueId, valueUpdater) =>
82
- ValueChunk.Updaters.Core.data(
83
- MapRepo.Updaters.update(valueId, valueUpdater),
84
- ),
85
- updateValueItem: (valueId, itemId, valueUpdater) =>
86
- ValueChunk.Updaters.Core.data(
87
- MapRepo.Updaters.update(
88
- valueId,
89
- ValueRecord.Updaters.update(itemId, valueUpdater),
90
- ),
91
- ),
29
+ Default: (hasMoreValues, data, from, to) => ({
30
+ hasMoreValues,
31
+ data,
32
+ from,
33
+ to,
34
+ }),
35
+ Updaters: {
36
+ Core: Object.assign(Object.assign(Object.assign(Object.assign({}, simpleUpdater()("hasMoreValues")), simpleUpdater()("data")), simpleUpdater()("from")), simpleUpdater()("to")),
37
+ Template: {
38
+ updateValue: (valueId, valueUpdater) => ValueChunk.Updaters.Core.data(MapRepo.Updaters.update(valueId, valueUpdater)),
39
+ updateValueItem: (valueId, itemId, valueUpdater) => ValueChunk.Updaters.Core.data(MapRepo.Updaters.update(valueId, ValueRecord.Updaters.update(itemId, valueUpdater))),
40
+ },
92
41
  },
93
- },
94
42
  };
95
43
  export const StateChunkItem = {
96
- Default: (state) => Map(state),
44
+ Default: (state) => Map(state),
97
45
  };
98
46
  export const StateChunk = {
99
- Default: (state) => Map(state),
47
+ Default: (state) => Map(state),
100
48
  };
101
49
  export const ValueInfiniteStreamState = {
102
- Default: (initialChunkSize, getChunk, shouldLoad) => ({
103
- loadingMore: AsyncState.Default.unloaded(),
104
- loadedElements: OrderedMap(),
105
- position: ValueStreamPosition.Default(initialChunkSize, shouldLoad),
106
- getChunk,
107
- }),
108
- Operations: {
109
- shouldCoroutineRun: (current) => current.position.shouldLoad != false,
110
- loadNextPage: (current) => {
111
- var _a;
112
- return (
113
- current.position.shouldLoad !== false &&
114
- ((_a = current.loadedElements.last()) === null || _a === void 0
115
- ? void 0
116
- : _a.hasMoreValues) !== false
117
- );
118
- },
119
- getChunkIndexForValue: (current, valueId) =>
120
- ValueOrErrors.Default.return(
121
- current.loadedElements.findLastKey((chunk) => chunk.data.has(valueId)),
122
- ).Then((chunkIndex) =>
123
- chunkIndex == undefined
124
- ? ValueOrErrors.Default.throwOne("value not found in any chunks")
125
- : ValueOrErrors.Default.return(chunkIndex),
126
- ),
127
- },
128
- Updaters: {
129
- Coroutine: {
130
- addLoadedChunk: (chunkIndex, newChunk) =>
131
- ValueInfiniteStreamState.Updaters.Core.loadedElements((_) =>
132
- _.set(chunkIndex, newChunk),
133
- ),
50
+ Default: (initialChunkSize, getChunk, shouldLoad) => ({
51
+ loadingMore: AsyncState.Default.unloaded(),
52
+ loadedElements: OrderedMap(),
53
+ position: ValueStreamPosition.Default(initialChunkSize, shouldLoad),
54
+ getChunk,
55
+ }),
56
+ Operations: {
57
+ shouldCoroutineRun: (current) => current.position.shouldLoad != false,
58
+ loadNextPage: (current) => {
59
+ var _a;
60
+ return current.position.shouldLoad !== false &&
61
+ ((_a = current.loadedElements.last()) === null || _a === void 0 ? void 0 : _a.hasMoreValues) !== false;
62
+ },
63
+ getChunkIndexForValue: (current, valueId) => ValueOrErrors.Default.return(current.loadedElements.findLastKey((chunk) => chunk.data.has(valueId))).Then((chunkIndex) => chunkIndex == undefined
64
+ ? ValueOrErrors.Default.throwOne("value not found in any chunks")
65
+ : ValueOrErrors.Default.return(chunkIndex)),
134
66
  },
135
- Core: Object.assign(
136
- Object.assign(
137
- Object.assign(
138
- Object.assign({}, simpleUpdater()("getChunk")),
139
- simpleUpdater()("loadingMore"),
140
- ),
141
- simpleUpdater()("loadedElements"),
142
- ),
143
- {
144
- whenNotAlreadyLoading: (_) => {
145
- return Updater((current) => {
146
- if (ValueInfiniteStreamState.Operations.loadNextPage(current)) {
147
- return current;
148
- }
149
- return _(current);
150
- });
67
+ Updaters: {
68
+ Coroutine: {
69
+ addLoadedChunk: (chunkIndex, newChunk) => ValueInfiniteStreamState.Updaters.Core.loadedElements((_) => _.set(chunkIndex, newChunk)),
70
+ },
71
+ Core: Object.assign(Object.assign(Object.assign(Object.assign({}, simpleUpdater()("getChunk")), simpleUpdater()("loadingMore")), simpleUpdater()("loadedElements")), { whenNotAlreadyLoading: (_) => {
72
+ return Updater((current) => {
73
+ if (ValueInfiniteStreamState.Operations.loadNextPage(current)) {
74
+ return current;
75
+ }
76
+ return _(current);
77
+ });
78
+ }, position: (positionUpdater) => Updater((current) => {
79
+ const newPosition = positionUpdater(current.position);
80
+ let newState = current;
81
+ if (newPosition.chunkSize != current.position.chunkSize)
82
+ newState =
83
+ ValueInfiniteStreamState.Updaters.Core.clearLoadedElements()(newState);
84
+ return Object.assign(Object.assign({}, newState), { position: newPosition });
85
+ }), clearLoadedElements: () => ValueInfiniteStreamState.Updaters.Core.loadedElements((_) => OrderedMap()) }),
86
+ Template: {
87
+ reload: (getChunk) => ValueInfiniteStreamState.Updaters.Core.position(ValueStreamPosition.Updaters.Template.reload())
88
+ .then(ValueInfiniteStreamState.Updaters.Core.clearLoadedElements())
89
+ .then(ValueInfiniteStreamState.Updaters.Core.getChunk(replaceWith(getChunk))),
90
+ loadMore: () => ValueInfiniteStreamState.Updaters.Core.whenNotAlreadyLoading(ValueInfiniteStreamState.Updaters.Core.position(ValueStreamPosition.Updaters.Template.loadMore())),
91
+ initLoad: () => ValueInfiniteStreamState.Updaters.Core.whenNotAlreadyLoading(ValueInfiniteStreamState.Updaters.Core.position(ValueStreamPosition.Updaters.Template.initLoad())),
92
+ updateChunkValue: (chunkIndex, chunkValueKey) => (valueUpdater) => ValueInfiniteStreamState.Updaters.Core.loadedElements(MapRepo.Updaters.update(chunkIndex, ValueChunk.Updaters.Template.updateValue(chunkValueKey, valueUpdater))),
93
+ updateChunkValueItem: (chunkIndex, chunkValueKey, chunkValueItemKey) => (valueUpdater) => ValueInfiniteStreamState.Updaters.Core.loadedElements(MapRepo.Updaters.update(chunkIndex, ValueChunk.Updaters.Template.updateValueItem(chunkValueKey, chunkValueItemKey, valueUpdater))),
151
94
  },
152
- position: (positionUpdater) =>
153
- Updater((current) => {
154
- const newPosition = positionUpdater(current.position);
155
- let newState = current;
156
- if (newPosition.chunkSize != current.position.chunkSize)
157
- newState =
158
- ValueInfiniteStreamState.Updaters.Core.clearLoadedElements()(
159
- newState,
160
- );
161
- return Object.assign(Object.assign({}, newState), {
162
- position: newPosition,
163
- });
164
- }),
165
- clearLoadedElements: () =>
166
- ValueInfiniteStreamState.Updaters.Core.loadedElements((_) =>
167
- OrderedMap(),
168
- ),
169
- },
170
- ),
171
- Template: {
172
- reload: (getChunk) =>
173
- ValueInfiniteStreamState.Updaters.Core.position(
174
- ValueStreamPosition.Updaters.Template.reload(),
175
- )
176
- .then(ValueInfiniteStreamState.Updaters.Core.clearLoadedElements())
177
- .then(
178
- ValueInfiniteStreamState.Updaters.Core.getChunk(
179
- replaceWith(getChunk),
180
- ),
181
- ),
182
- loadMore: () =>
183
- ValueInfiniteStreamState.Updaters.Core.whenNotAlreadyLoading(
184
- ValueInfiniteStreamState.Updaters.Core.position(
185
- ValueStreamPosition.Updaters.Template.loadMore(),
186
- ),
187
- ),
188
- initLoad: () =>
189
- ValueInfiniteStreamState.Updaters.Core.whenNotAlreadyLoading(
190
- ValueInfiniteStreamState.Updaters.Core.position(
191
- ValueStreamPosition.Updaters.Template.initLoad(),
192
- ),
193
- ),
194
- updateChunkValue: (chunkIndex, chunkValueKey) => (valueUpdater) =>
195
- ValueInfiniteStreamState.Updaters.Core.loadedElements(
196
- MapRepo.Updaters.update(
197
- chunkIndex,
198
- ValueChunk.Updaters.Template.updateValue(
199
- chunkValueKey,
200
- valueUpdater,
201
- ),
202
- ),
203
- ),
204
- updateChunkValueItem:
205
- (chunkIndex, chunkValueKey, chunkValueItemKey) => (valueUpdater) =>
206
- ValueInfiniteStreamState.Updaters.Core.loadedElements(
207
- MapRepo.Updaters.update(
208
- chunkIndex,
209
- ValueChunk.Updaters.Template.updateValueItem(
210
- chunkValueKey,
211
- chunkValueItemKey,
212
- valueUpdater,
213
- ),
214
- ),
215
- ),
216
95
  },
217
- },
218
96
  };
219
- //# sourceMappingURL=state.js.map
97
+ //# sourceMappingURL=state.js.map
@@ -1,7 +1,5 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Template } from "../template/state";
3
3
  import { ValueStreamDataLoader } from "./coroutines/runner";
4
- export const ValueInfiniteStreamTemplate = Template.Default((_props) =>
5
- _jsx(_Fragment, {}),
6
- ).any([ValueStreamDataLoader()]);
7
- //# sourceMappingURL=template.js.map
4
+ export const ValueInfiniteStreamTemplate = Template.Default((_props) => _jsx(_Fragment, {})).any([ValueStreamDataLoader()]);
5
+ //# sourceMappingURL=template.js.map
@@ -1,5 +1,2 @@
1
- export type Visibility =
2
- | "fully-visible"
3
- | "fully-invisible"
4
- | "partially-visible";
5
- //# sourceMappingURL=state.d.ts.map
1
+ export type Visibility = "fully-visible" | "fully-invisible" | "partially-visible";
2
+ //# sourceMappingURL=state.d.ts.map
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=state.js.map
2
+ //# sourceMappingURL=state.js.map
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "ballerina-core",
3
3
  "author": "Dr. Giuseppe Maggiore",
4
4
  "private": false,
5
- "version": "1.0.244",
5
+ "version": "1.0.246",
6
6
  "main": "main.ts",
7
7
  "scripts": {
8
8
  "prettier": "prettier --write ."
@@ -22,6 +22,7 @@ export type SerializedTableRenderer = {
22
22
  columns: Map<string, unknown>;
23
23
  detailsRenderer?: unknown;
24
24
  visibleColumns: unknown;
25
+ disabledColumns: unknown;
25
26
  };
26
27
 
27
28
  export type TableRenderer<T> = {
@@ -29,6 +30,7 @@ export type TableRenderer<T> = {
29
30
  type: TableType<T>;
30
31
  columns: Map<string, TableCellRenderer<T>>;
31
32
  visibleColumns: PredicateComputedOrInlined;
33
+ disabledColumns: PredicateComputedOrInlined;
32
34
  concreteRenderer: string;
33
35
  detailsRenderer?: NestedRenderer<T>;
34
36
  api?: string;
@@ -39,6 +41,7 @@ export const TableRenderer = {
39
41
  type: TableType<T>,
40
42
  columns: Map<string, TableCellRenderer<T>>,
41
43
  visibleColumns: PredicateComputedOrInlined,
44
+ disabledColumns: PredicateComputedOrInlined,
42
45
  concreteRenderer: string,
43
46
  detailsRenderer?: NestedRenderer<T>,
44
47
  api?: string,
@@ -47,6 +50,7 @@ export const TableRenderer = {
47
50
  type,
48
51
  columns,
49
52
  visibleColumns,
53
+ disabledColumns,
50
54
  concreteRenderer,
51
55
  detailsRenderer,
52
56
  api,
@@ -66,6 +70,12 @@ export const TableRenderer = {
66
70
  DispatchIsObject(_) &&
67
71
  "visibleColumns" in _ &&
68
72
  (DispatchIsObject(_.visibleColumns) || Array.isArray(_.visibleColumns)),
73
+ hasDisabledColumns: (
74
+ _: unknown,
75
+ ): _ is { disabledColumns: object | Array<unknown> } =>
76
+ DispatchIsObject(_) &&
77
+ "disabledColumns" in _ &&
78
+ (DispatchIsObject(_.disabledColumns) || Array.isArray(_.disabledColumns)),
69
79
  tryAsValidTableForm: (
70
80
  _: unknown,
71
81
  ): ValueOrErrors<SerializedTableRenderer, string> =>
@@ -95,6 +105,8 @@ export const TableRenderer = {
95
105
  ..._,
96
106
  columns: Map<string, unknown>(_.columns),
97
107
  visibleColumns: _.visibleColumns,
108
+ disabledColumns:
109
+ "disabledColumns" in _ ? _.disabledColumns : undefined,
98
110
  api: _?.api,
99
111
  }),
100
112
  DeserializeDetailsRenderer: <
@@ -182,21 +194,26 @@ export const TableRenderer = {
182
194
  ).Then((columns) =>
183
195
  TableLayout.Operations.ParseLayout(
184
196
  validTableForm.visibleColumns,
185
- ).Then((layout) =>
186
- TableRenderer.Operations.DeserializeDetailsRenderer(
187
- type,
188
- validTableForm,
189
- concreteRenderers,
190
- types,
191
- ).Then((detailsRenderer) =>
192
- ValueOrErrors.Default.return(
193
- TableRenderer.Default(
194
- type,
195
- Map<string, TableCellRenderer<T>>(columns),
196
- layout,
197
- validTableForm.renderer,
198
- detailsRenderer,
199
- api,
197
+ ).Then((visibileColumnsLayout) =>
198
+ TableLayout.Operations.ParseLayout(
199
+ validTableForm.disabledColumns,
200
+ ).Then((disabledColumnsLayout) =>
201
+ TableRenderer.Operations.DeserializeDetailsRenderer(
202
+ type,
203
+ validTableForm,
204
+ concreteRenderers,
205
+ types,
206
+ ).Then((detailsRenderer) =>
207
+ ValueOrErrors.Default.return(
208
+ TableRenderer.Default(
209
+ type,
210
+ Map<string, TableCellRenderer<T>>(columns),
211
+ visibileColumnsLayout,
212
+ disabledColumnsLayout,
213
+ validTableForm.renderer,
214
+ detailsRenderer,
215
+ api,
216
+ ),
200
217
  ),
201
218
  ),
202
219
  ),
@@ -83,7 +83,8 @@ export const TableAbstractRenderer = <
83
83
  >
84
84
  | undefined,
85
85
  DetailsRendererRaw: NestedRenderer<any> | undefined,
86
- Layout: PredicateComputedOrInlined,
86
+ VisibleColumnsPredicate: PredicateComputedOrInlined,
87
+ DisabledColumnsPredicate: PredicateComputedOrInlined,
87
88
  IdProvider: (props: IdWrapperProps) => React.ReactNode,
88
89
  ErrorRenderer: (props: ErrorRendererProps) => React.ReactNode,
89
90
  TableEntityType: RecordType<any>,
@@ -562,7 +563,7 @@ export const TableAbstractRenderer = <
562
563
 
563
564
  const visibleColumns = TableLayout.Operations.ComputeLayout(
564
565
  updatedBindings,
565
- Layout,
566
+ VisibleColumnsPredicate,
566
567
  );
567
568
 
568
569
  if (visibleColumns.kind == "errors") {
@@ -584,6 +585,16 @@ export const TableAbstractRenderer = <
584
585
  }
585
586
  });
586
587
 
588
+ const calculatedDisabledColumns = TableLayout.Operations.ComputeLayout(
589
+ updatedBindings,
590
+ DisabledColumnsPredicate,
591
+ );
592
+
593
+ const disabledColumnsValue =
594
+ calculatedDisabledColumns.kind == "value"
595
+ ? calculatedDisabledColumns.value.columns
596
+ : [];
597
+
587
598
  // TODO we currently only calculated disabled status on a column basis, predicates will break if we
588
599
  // try to use their local binding (the local is the table).
589
600
  // Later we need to then calculate the disabled on a CELL level, by giving the calculations
@@ -592,7 +603,9 @@ export const TableAbstractRenderer = <
592
603
  List(
593
604
  CellTemplates.map(({ disabled }, fieldName) =>
594
605
  disabled == undefined
595
- ? ValueOrErrors.Default.return(null)
606
+ ? disabledColumnsValue.includes(fieldName)
607
+ ? ValueOrErrors.Default.return(fieldName)
608
+ : ValueOrErrors.Default.return(null)
596
609
  : Expr.Operations.EvaluateAs("disabled predicate")(updatedBindings)(
597
610
  disabled,
598
611
  ).Then((value) =>
@@ -285,6 +285,7 @@ export const TableDispatcher = {
285
285
  detailsRenderer,
286
286
  renderer.detailsRenderer,
287
287
  renderer.visibleColumns,
288
+ renderer.disabledColumns,
288
289
  dispatcherContext.IdProvider,
289
290
  dispatcherContext.ErrorRenderer,
290
291
  tableEntityType,
@@ -346,17 +346,24 @@ export const TableLayout = {
346
346
  }),
347
347
  Operations: {
348
348
  ParseLayout: (
349
- rawVisibleColumns: unknown,
349
+ rawColumnsList: unknown,
350
350
  ): ValueOrErrors<PredicateComputedOrInlined, string> => {
351
- if (RawComputedOrInlined.isInlined(rawVisibleColumns)) {
351
+ if (!rawColumnsList || typeof rawColumnsList == "undefined") {
352
+ return ValueOrErrors.Default.return({
353
+ kind: "Inlined",
354
+ content: [],
355
+ });
356
+ }
357
+
358
+ if (RawComputedOrInlined.isInlined(rawColumnsList)) {
352
359
  return ValueOrErrors.Default.return<PredicateComputedOrInlined, string>(
353
360
  {
354
361
  kind: "Inlined",
355
- content: rawVisibleColumns,
362
+ content: rawColumnsList,
356
363
  },
357
364
  );
358
365
  }
359
- return Expr.Operations.parse(rawVisibleColumns).Then((expr) =>
366
+ return Expr.Operations.parse(rawColumnsList).Then((expr) =>
360
367
  ValueOrErrors.Default.return({
361
368
  kind: "Computed",
362
369
  content: expr,
@@ -7,7 +7,8 @@ import { BasicFun } from "../fun/state";
7
7
  export const QueueCoroutine = <
8
8
  Context,
9
9
  State,
10
- OperationResult = SynchronizationOperationResult,
10
+ OperationResult extends
11
+ SynchronizationOperationResult = SynchronizationOperationResult,
11
12
  >(
12
13
  removeItem: BasicFun<Guid, Coroutine<Context & State, State, Unit>>,
13
14
  getItemsToProcess: BasicFun<
@@ -21,7 +22,10 @@ export const QueueCoroutine = <
21
22
  OperationResult,
22
23
  Coroutine<Context & State, State, Unit>
23
24
  >;
24
- reenqueue: Coroutine<Context & State, State, Unit>;
25
+ reenqueue: BasicFun<
26
+ OperationResult,
27
+ Coroutine<Context & State, State, Unit>
28
+ >;
25
29
  }
26
30
  >
27
31
  >,
@@ -39,8 +43,8 @@ export const QueueCoroutine = <
39
43
  .then(() => k.operation)
40
44
  .then((_) =>
41
45
  k.postprocess(_).then(() => {
42
- if (_ == "should be enqueued again") {
43
- return k.reenqueue;
46
+ if (_.kind == "should be enqueued again") {
47
+ return k.reenqueue(_);
44
48
  } else {
45
49
  return Co.Return({});
46
50
  }