ballerina-core 1.0.256 → 1.0.258

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 (321) hide show
  1. package/bin/src/api-response-handler/coroutines/runner.js +20 -13
  2. package/bin/src/api-response-handler/state.js +13 -11
  3. package/bin/src/apiResultStatus/state.d.ts +10 -3
  4. package/bin/src/apiResultStatus/state.js +2 -5
  5. package/bin/src/async/domains/mirroring/domains/collection/coroutines/synchronizers.js +314 -196
  6. package/bin/src/async/domains/mirroring/domains/collection/state.js +126 -36
  7. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection/state.js +18 -11
  8. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state.js +19 -19
  9. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entities/state.js +1 -1
  10. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entity/state.js +18 -18
  11. package/bin/src/async/domains/mirroring/domains/entity/state.js +18 -9
  12. package/bin/src/async/domains/mirroring/domains/singleton/coroutines/synchronizers.js +134 -83
  13. package/bin/src/async/domains/mirroring/domains/singleton/state.js +52 -8
  14. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.d.ts +15 -9
  15. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.js +1 -1
  16. package/bin/src/async/domains/mirroring/domains/synchronized-entities/state.js +7 -4
  17. package/bin/src/async/domains/promise/state.d.ts +9 -4
  18. package/bin/src/async/domains/promise/state.js +20 -9
  19. package/bin/src/async/domains/synchronized/coroutines/synchronize.js +80 -28
  20. package/bin/src/async/domains/synchronized/state.d.ts +14 -7
  21. package/bin/src/async/domains/synchronized/state.js +16 -6
  22. package/bin/src/async/state.d.ts +56 -45
  23. package/bin/src/async/state.js +115 -97
  24. package/bin/src/baseEntity/domains/identifiable/state.d.ts +15 -11
  25. package/bin/src/baseEntity/domains/identifiable/state.js +9 -9
  26. package/bin/src/collections/domains/array/state.d.ts +7 -7
  27. package/bin/src/collections/domains/array/state.js +5 -5
  28. package/bin/src/collections/domains/errors/state.d.ts +10 -10
  29. package/bin/src/collections/domains/errors/state.js +10 -10
  30. package/bin/src/collections/domains/immutable/domains/list/state.js +46 -44
  31. package/bin/src/collections/domains/immutable/domains/map/state.js +41 -23
  32. package/bin/src/collections/domains/immutable/domains/orderedMap/state.js +84 -65
  33. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.d.ts +6 -6
  34. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.js +6 -6
  35. package/bin/src/collections/domains/maybe/state.d.ts +9 -9
  36. package/bin/src/collections/domains/maybe/state.js +12 -9
  37. package/bin/src/collections/domains/product/state.d.ts +25 -19
  38. package/bin/src/collections/domains/product/state.js +13 -10
  39. package/bin/src/collections/domains/sum/state.d.ts +101 -77
  40. package/bin/src/collections/domains/sum/state.js +49 -32
  41. package/bin/src/collections/domains/valueOrErrors/state.js +81 -56
  42. package/bin/src/coroutines/builder.js +40 -19
  43. package/bin/src/coroutines/state.js +381 -306
  44. package/bin/src/coroutines/template.js +97 -59
  45. package/bin/src/debounced/coroutines/debounce.js +115 -89
  46. package/bin/src/debounced/state.js +62 -25
  47. package/bin/src/diagnostics/domains/message-box/state.d.ts +1 -1
  48. package/bin/src/diagnostics/domains/message-box/state.js +3 -3
  49. package/bin/src/foreignMutations/state.d.ts +3 -3
  50. package/bin/src/foreignMutations/state.js +1 -1
  51. package/bin/src/forms/domains/attachments/views/attachments-view.js +30 -8
  52. package/bin/src/forms/domains/collection/domains/reference/state.js +26 -20
  53. package/bin/src/forms/domains/collection/domains/selection/state.js +1 -1
  54. package/bin/src/forms/domains/dispatched-forms/built-ins/state.js +2007 -754
  55. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.d.ts.map +1 -1
  56. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js +123 -44
  57. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js.map +1 -1
  58. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/enum/state.js +40 -27
  59. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/primitive/state.js +21 -13
  60. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/stream/state.js +43 -27
  61. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sumUnitDate/state.js +39 -22
  62. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.d.ts +167 -0
  63. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.d.ts.map +1 -0
  64. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.js +367 -0
  65. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.js.map +1 -0
  66. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.d.ts +7 -29
  67. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.d.ts.map +1 -1
  68. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js +1098 -572
  69. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js.map +1 -1
  70. package/bin/src/forms/domains/dispatched-forms/deserializer/state.d.ts +1 -0
  71. package/bin/src/forms/domains/dispatched-forms/deserializer/state.d.ts.map +1 -1
  72. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js +322 -90
  73. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js.map +1 -1
  74. package/bin/src/forms/domains/dispatched-forms/deserializer/template.js +3 -2
  75. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.d.ts +27 -4
  76. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.js +136 -82
  77. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/state.js +3 -3
  78. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.js +49 -23
  79. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.js +3 -3
  80. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.js +52 -24
  81. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.js +18 -6
  82. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.js +64 -30
  83. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.js +9 -6
  84. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.js +153 -60
  85. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/state.js +1 -1
  86. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.js +127 -50
  87. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.js +40 -22
  88. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js +31 -13
  89. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js +452 -152
  90. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.js +1 -1
  91. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js +29 -8
  92. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js.map +1 -1
  93. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.js +61 -18
  94. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.js +329 -90
  95. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/state.js +3 -3
  96. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.js +54 -23
  97. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.js +22 -10
  98. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.js +49 -31
  99. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.js +29 -10
  100. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.js +2 -2
  101. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.js +47 -26
  102. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.js +88 -40
  103. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js +386 -152
  104. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.js +19 -10
  105. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.js +99 -33
  106. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.js +32 -11
  107. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js +227 -82
  108. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.js +35 -13
  109. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.js +195 -68
  110. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.js +36 -13
  111. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.js +246 -106
  112. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/state.js +3 -3
  113. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.js +54 -23
  114. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.js +40 -27
  115. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/state.js +3 -3
  116. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.js +58 -26
  117. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.js +22 -7
  118. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js +188 -53
  119. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.js +2 -2
  120. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.js +57 -24
  121. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.js +70 -20
  122. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.d.ts.map +1 -1
  123. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js +88 -48
  124. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js.map +1 -1
  125. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.js +40 -20
  126. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.js +43 -15
  127. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js +301 -137
  128. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js.map +1 -1
  129. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js +692 -240
  130. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.js +20 -8
  131. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.js +132 -35
  132. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.js +21 -8
  133. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.js +105 -33
  134. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.js +12 -9
  135. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.js +54 -20
  136. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js +716 -560
  137. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js +58 -18
  138. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.js +45 -14
  139. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js +76 -18
  140. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.js +82 -24
  141. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.js +37 -8
  142. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js +120 -36
  143. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.js +145 -63
  144. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js +44 -12
  145. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.js +14 -4
  146. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js +81 -25
  147. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.js +82 -24
  148. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js +63 -20
  149. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js +248 -74
  150. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js +61 -13
  151. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js +92 -33
  152. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.js +144 -45
  153. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.js +203 -95
  154. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.js +79 -37
  155. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.js +2 -2
  156. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.js +19 -17
  157. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.js +58 -11
  158. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.js +73 -25
  159. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.js +205 -95
  160. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.js +78 -37
  161. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.js +2 -2
  162. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.js +19 -17
  163. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.js +58 -11
  164. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.js +71 -25
  165. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.js +163 -85
  166. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.js +10 -4
  167. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.js +72 -27
  168. package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.js +796 -436
  169. package/bin/src/forms/domains/dispatched-forms/runner/state.js +62 -38
  170. package/bin/src/forms/domains/dispatched-forms/runner/template.js +78 -25
  171. package/bin/src/forms/domains/launcher/coroutines/runner.js +120 -45
  172. package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.js +240 -101
  173. package/bin/src/forms/domains/launcher/domains/create/state.js +62 -17
  174. package/bin/src/forms/domains/launcher/domains/create/template.js +84 -42
  175. package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.js +242 -103
  176. package/bin/src/forms/domains/launcher/domains/edit/state.js +62 -17
  177. package/bin/src/forms/domains/launcher/domains/edit/template.js +86 -43
  178. package/bin/src/forms/domains/launcher/domains/merger/state.d.ts +4 -4
  179. package/bin/src/forms/domains/launcher/domains/merger/state.js +35 -26
  180. package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.js +88 -42
  181. package/bin/src/forms/domains/launcher/domains/passthrough/state.js +44 -19
  182. package/bin/src/forms/domains/launcher/domains/passthrough/template.js +56 -34
  183. package/bin/src/forms/domains/launcher/state.js +6 -6
  184. package/bin/src/forms/domains/launcher/template.js +169 -85
  185. package/bin/src/forms/domains/parser/coroutines/runner.js +87 -25
  186. package/bin/src/forms/domains/parser/domains/built-ins/state.js +944 -533
  187. package/bin/src/forms/domains/parser/domains/deltas/state.js +444 -318
  188. package/bin/src/forms/domains/parser/domains/injectables/state.js +29 -26
  189. package/bin/src/forms/domains/parser/domains/layout/state.js +271 -183
  190. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.js +324 -162
  191. package/bin/src/forms/domains/parser/domains/predicates/state.js +1514 -984
  192. package/bin/src/forms/domains/parser/domains/renderer/state.js +1137 -480
  193. package/bin/src/forms/domains/parser/domains/types/state.js +355 -170
  194. package/bin/src/forms/domains/parser/domains/validator/state.js +417 -280
  195. package/bin/src/forms/domains/parser/state.js +612 -373
  196. package/bin/src/forms/domains/parser/template.js +1 -1
  197. package/bin/src/forms/domains/primitives/domains/base-64-file/state.js +5 -5
  198. package/bin/src/forms/domains/primitives/domains/base-64-file/template.js +38 -19
  199. package/bin/src/forms/domains/primitives/domains/boolean/state.js +5 -5
  200. package/bin/src/forms/domains/primitives/domains/boolean/template.js +38 -19
  201. package/bin/src/forms/domains/primitives/domains/date/state.js +18 -9
  202. package/bin/src/forms/domains/primitives/domains/date/template.js +51 -25
  203. package/bin/src/forms/domains/primitives/domains/enum/state.js +6 -6
  204. package/bin/src/forms/domains/primitives/domains/enum/template.js +117 -48
  205. package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.js +1 -1
  206. package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.js +99 -40
  207. package/bin/src/forms/domains/primitives/domains/list/state.js +14 -14
  208. package/bin/src/forms/domains/primitives/domains/list/template.js +200 -71
  209. package/bin/src/forms/domains/primitives/domains/map/state.js +14 -14
  210. package/bin/src/forms/domains/primitives/domains/map/template.js +294 -103
  211. package/bin/src/forms/domains/primitives/domains/number/state.js +5 -5
  212. package/bin/src/forms/domains/primitives/domains/number/template.js +38 -19
  213. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.js +33 -16
  214. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.js +171 -62
  215. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.js +1 -1
  216. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.js +182 -69
  217. package/bin/src/forms/domains/primitives/domains/secret/state.js +5 -5
  218. package/bin/src/forms/domains/primitives/domains/secret/template.js +38 -19
  219. package/bin/src/forms/domains/primitives/domains/string/state.js +5 -5
  220. package/bin/src/forms/domains/primitives/domains/string/template.js +42 -22
  221. package/bin/src/forms/domains/primitives/domains/sum/state.js +10 -10
  222. package/bin/src/forms/domains/primitives/domains/sum/template.js +141 -50
  223. package/bin/src/forms/domains/primitives/domains/tuple/state.js +9 -9
  224. package/bin/src/forms/domains/primitives/domains/tuple/template.js +100 -33
  225. package/bin/src/forms/domains/primitives/domains/unit/state.js +8 -8
  226. package/bin/src/forms/domains/primitives/domains/unit/template.js +22 -9
  227. package/bin/src/forms/domains/singleton/domains/form-label/state.d.ts +4 -4
  228. package/bin/src/forms/domains/singleton/domains/form-label/state.js +1 -1
  229. package/bin/src/forms/domains/singleton/state.js +12 -10
  230. package/bin/src/forms/domains/singleton/template.js +288 -113
  231. package/bin/src/fun/domains/curry/state.d.ts +4 -2
  232. package/bin/src/fun/domains/curry/state.js +1 -1
  233. package/bin/src/fun/domains/id/state.d.ts +1 -1
  234. package/bin/src/fun/domains/id/state.js +1 -1
  235. package/bin/src/fun/domains/predicate/domains/bool-expr.d.ts +57 -41
  236. package/bin/src/fun/domains/predicate/domains/bool-expr.js +76 -67
  237. package/bin/src/fun/domains/predicate/state.d.ts +9 -7
  238. package/bin/src/fun/domains/predicate/state.js +14 -10
  239. package/bin/src/fun/domains/simpleCallback/state.d.ts +1 -1
  240. package/bin/src/fun/domains/simpleCallback/state.js +1 -1
  241. package/bin/src/fun/domains/uncurry/state.d.ts +4 -2
  242. package/bin/src/fun/domains/uncurry/state.js +1 -1
  243. package/bin/src/fun/domains/unit/state.d.ts +1 -1
  244. package/bin/src/fun/domains/unit/state.js +1 -1
  245. package/bin/src/fun/domains/updater/domains/caseUpdater/state.d.ts +22 -7
  246. package/bin/src/fun/domains/updater/domains/caseUpdater/state.js +18 -10
  247. package/bin/src/fun/domains/updater/domains/mapUpdater/state.d.ts +24 -13
  248. package/bin/src/fun/domains/updater/domains/mapUpdater/state.js +40 -10
  249. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.d.ts +19 -13
  250. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.js +20 -9
  251. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.d.ts +24 -13
  252. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.js +47 -11
  253. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.d.ts +20 -8
  254. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.js +17 -5
  255. package/bin/src/fun/domains/updater/domains/replaceWith/state.d.ts +1 -1
  256. package/bin/src/fun/domains/updater/domains/replaceWith/state.js +1 -1
  257. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.d.ts +13 -4
  258. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.js +6 -4
  259. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.d.ts +60 -22
  260. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.js +42 -31
  261. package/bin/src/fun/domains/updater/state.d.ts +4 -4
  262. package/bin/src/fun/domains/updater/state.js +12 -10
  263. package/bin/src/fun/state.d.ts +3 -3
  264. package/bin/src/fun/state.js +9 -7
  265. package/bin/src/infinite-data-stream/coroutines/builder.js +1 -1
  266. package/bin/src/infinite-data-stream/coroutines/infiniteLoader.js +47 -20
  267. package/bin/src/infinite-data-stream/coroutines/runner.js +7 -7
  268. package/bin/src/infinite-data-stream/state.d.ts +84 -51
  269. package/bin/src/infinite-data-stream/state.js +125 -61
  270. package/bin/src/infinite-data-stream/template.js +3 -2
  271. package/bin/src/math/domains/DOMRect/state.d.ts +4 -4
  272. package/bin/src/math/domains/DOMRect/state.js +10 -8
  273. package/bin/src/math/domains/number/state.d.ts +5 -5
  274. package/bin/src/math/domains/number/state.js +5 -5
  275. package/bin/src/math/domains/rect/state.d.ts +8 -8
  276. package/bin/src/math/domains/rect/state.js +16 -15
  277. package/bin/src/math/domains/rgba/state.d.ts +17 -17
  278. package/bin/src/math/domains/rgba/state.js +77 -81
  279. package/bin/src/math/domains/size2/state.d.ts +8 -8
  280. package/bin/src/math/domains/size2/state.js +6 -6
  281. package/bin/src/math/domains/vector2/state.d.ts +10 -10
  282. package/bin/src/math/domains/vector2/state.js +8 -8
  283. package/bin/src/queue/state.js +23 -16
  284. package/bin/src/state/domains/repository/state.d.ts +15 -9
  285. package/bin/src/state/domains/repository/state.js +1 -1
  286. package/bin/src/template/state.js +163 -115
  287. package/bin/src/validation/state.js +38 -45
  288. package/bin/src/value/domains/mutable-value/state.js +3 -2
  289. package/bin/src/value/state.d.ts +9 -9
  290. package/bin/src/value/state.js +11 -8
  291. package/bin/src/value-infinite-data-stream/coroutines/builder.js +1 -1
  292. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.js +55 -20
  293. package/bin/src/value-infinite-data-stream/coroutines/runner.js +6 -4
  294. package/bin/src/value-infinite-data-stream/state.js +199 -77
  295. package/bin/src/value-infinite-data-stream/template.js +4 -2
  296. package/bin/src/visibility/state.d.ts +5 -2
  297. package/bin/src/visibility/state.js +1 -1
  298. package/main.ts +1 -0
  299. package/package.json +1 -1
  300. package/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.ts +2 -2
  301. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.ts +117 -111
  302. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.ts +14 -5
  303. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.ts +75 -18
  304. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.ts +16 -6
  305. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.ts +27 -9
  306. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.ts +28 -8
  307. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.ts +13 -4
  308. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.ts +18 -7
  309. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.ts +40 -14
  310. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.ts +15 -5
  311. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.ts +20 -6
  312. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.ts +101 -50
  313. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.ts +22 -23
  314. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.ts +37 -19
  315. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.ts +64 -6
  316. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.ts +585 -0
  317. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.ts +592 -340
  318. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.ts +364 -226
  319. package/src/forms/domains/dispatched-forms/deserializer/state.ts +1 -2
  320. package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.tsx +1 -1
  321. package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.ts +2 -2
@@ -1,287 +1,739 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { List, Map, OrderedMap, Set } from "immutable";
3
- import { id, PredicateValue, TableAbstractRendererState, TableLayout, Expr, ValueOrErrors, replaceWith, ValueRecord, DispatchCommonFormState, RecordAbstractRendererState, Option, CommonAbstractRendererState, MapRepo, ValueTable, ListRepo, Updater, ValueUnit, } from "../../../../../../../../main";
3
+ import {
4
+ id,
5
+ PredicateValue,
6
+ TableAbstractRendererState,
7
+ TableLayout,
8
+ Expr,
9
+ ValueOrErrors,
10
+ replaceWith,
11
+ ValueRecord,
12
+ DispatchCommonFormState,
13
+ RecordAbstractRendererState,
14
+ Option,
15
+ CommonAbstractRendererState,
16
+ MapRepo,
17
+ ValueTable,
18
+ ListRepo,
19
+ Updater,
20
+ ValueUnit,
21
+ } from "../../../../../../../../main";
4
22
  import { Template } from "../../../../../../../template/state";
5
- import { TableInfiniteLoaderRunner, TableInitialiseFiltersAndSortingRunner, TableInitialiseTableRunner, } from "./coroutines/runner";
6
- export const TableAbstractRenderer = (CellTemplates, CellRenderers, DetailsRenderer, DetailsRendererRaw, VisibleColumnsPredicate, DisabledColumnsPredicate, IdProvider, ErrorRenderer, TableEntityType, Filters, parseToApiByType, parseFromApiByType, fromTableApiParser, tableApiSource) => {
7
- const InstantiatedInfiniteLoaderRunner = TableInfiniteLoaderRunner(tableApiSource, fromTableApiParser);
8
- const InstantiatedInitialiseFiltersAndSortingRunner = TableInitialiseFiltersAndSortingRunner(Filters.map(({ filters }) => filters), tableApiSource, parseFromApiByType, parseToApiByType);
9
- const InstantiatedInitialiseTableRunner = TableInitialiseTableRunner(tableApiSource, fromTableApiParser);
10
- const embedCellTemplate = (column, cellTemplate) => (rowId) => (value) => (disabled) => (flags) => cellTemplate
23
+ import {
24
+ TableInfiniteLoaderRunner,
25
+ TableInitialiseFiltersAndSortingRunner,
26
+ TableInitialiseTableRunner,
27
+ } from "./coroutines/runner";
28
+ export const TableAbstractRenderer = (
29
+ CellTemplates,
30
+ CellRenderers,
31
+ DetailsRenderer,
32
+ DetailsRendererRaw,
33
+ VisibleColumnsPredicate,
34
+ DisabledColumnsPredicate,
35
+ IdProvider,
36
+ ErrorRenderer,
37
+ TableEntityType,
38
+ Filters,
39
+ parseToApiByType,
40
+ parseFromApiByType,
41
+ fromTableApiParser,
42
+ tableApiSource,
43
+ ) => {
44
+ const InstantiatedInfiniteLoaderRunner = TableInfiniteLoaderRunner(
45
+ tableApiSource,
46
+ fromTableApiParser,
47
+ );
48
+ const InstantiatedInitialiseFiltersAndSortingRunner =
49
+ TableInitialiseFiltersAndSortingRunner(
50
+ Filters.map(({ filters }) => filters),
51
+ tableApiSource,
52
+ parseFromApiByType,
53
+ parseToApiByType,
54
+ );
55
+ const InstantiatedInitialiseTableRunner = TableInitialiseTableRunner(
56
+ tableApiSource,
57
+ fromTableApiParser,
58
+ );
59
+ const embedCellTemplate =
60
+ (column, cellTemplate) => (rowId) => (value) => (disabled) => (flags) =>
61
+ cellTemplate
11
62
  .mapContext((_) => {
12
- var _a;
13
- const labelContext = CommonAbstractRendererState.Operations.GetLabelContext(_.labelContext, CellRenderers.get(column));
14
- const rowState = _.customFormState.rowStates.get(rowId);
15
- const cellState = (_a = rowState === null || rowState === void 0 ? void 0 : rowState.fieldStates.get(column)) !== null && _a !== void 0 ? _a : CellTemplates.get(column).GetDefaultState();
16
- const rowValue = _.value.data.get(rowId);
17
- if (rowValue == undefined) {
63
+ var _a;
64
+ const labelContext =
65
+ CommonAbstractRendererState.Operations.GetLabelContext(
66
+ _.labelContext,
67
+ CellRenderers.get(column),
68
+ );
69
+ const rowState = _.customFormState.rowStates.get(rowId);
70
+ const cellState =
71
+ (_a =
72
+ rowState === null || rowState === void 0
73
+ ? void 0
74
+ : rowState.fieldStates.get(column)) !== null && _a !== void 0
75
+ ? _a
76
+ : CellTemplates.get(column).GetDefaultState();
77
+ const rowValue = _.value.data.get(rowId);
78
+ if (rowValue == undefined) {
18
79
  console.error(`Row value is undefined for row ${rowId}\n
19
80
  ...When rendering table field ${column}\n
20
81
  ...${_.domNodeAncestorPath}`);
21
82
  return undefined;
22
- }
23
- return Object.assign(Object.assign({ value }, cellState), { disabled: disabled || _.disabled || _.globallyDisabled, globallyDisabled: _.globallyDisabled, readOnly: _.readOnly || _.globallyReadOnly, globallyReadOnly: _.globallyReadOnly, locked: _.locked, bindings: _.bindings.set("local", rowValue), extraContext: _.extraContext, type: TableEntityType.fields.get(column), customPresentationContext: _.customPresentationContext, remoteEntityVersionIdentifier: _.remoteEntityVersionIdentifier, typeAncestors: [_.type].concat(_.typeAncestors), domNodeAncestorPath: _.domNodeAncestorPath +
24
- `[table][cell][${rowId}][record][${column}]`, lookupTypeAncestorNames: _.lookupTypeAncestorNames, labelContext });
25
- })
26
- .mapState((updater) => TableAbstractRendererState.Updaters.Core.customFormState.children.rowStates(MapRepo.Updaters.upsert(rowId, () => RecordAbstractRendererState.Default.fieldState(Map()), RecordAbstractRendererState.Updaters.Core.fieldStates(MapRepo.Updaters.upsert(column, () => CellTemplates.get(column).GetDefaultState(), updater)))))
83
+ }
84
+ return Object.assign(Object.assign({ value }, cellState), {
85
+ disabled: disabled || _.disabled || _.globallyDisabled,
86
+ globallyDisabled: _.globallyDisabled,
87
+ readOnly: _.readOnly || _.globallyReadOnly,
88
+ globallyReadOnly: _.globallyReadOnly,
89
+ locked: _.locked,
90
+ bindings: _.bindings.set("local", rowValue),
91
+ extraContext: _.extraContext,
92
+ type: TableEntityType.fields.get(column),
93
+ customPresentationContext: _.customPresentationContext,
94
+ remoteEntityVersionIdentifier: _.remoteEntityVersionIdentifier,
95
+ typeAncestors: [_.type].concat(_.typeAncestors),
96
+ domNodeAncestorPath:
97
+ _.domNodeAncestorPath +
98
+ `[table][cell][${rowId}][record][${column}]`,
99
+ lookupTypeAncestorNames: _.lookupTypeAncestorNames,
100
+ labelContext,
101
+ });
102
+ })
103
+ .mapState((updater) =>
104
+ TableAbstractRendererState.Updaters.Core.customFormState.children.rowStates(
105
+ MapRepo.Updaters.upsert(
106
+ rowId,
107
+ () => RecordAbstractRendererState.Default.fieldState(Map()),
108
+ RecordAbstractRendererState.Updaters.Core.fieldStates(
109
+ MapRepo.Updaters.upsert(
110
+ column,
111
+ () => CellTemplates.get(column).GetDefaultState(),
112
+ updater,
113
+ ),
114
+ ),
115
+ ),
116
+ ),
117
+ )
27
118
  .mapForeignMutationsFromProps((props) => ({
28
- onChange: (nestedUpdater, nestedDelta) => {
29
- props.setState(TableAbstractRendererState.Updaters.Core.customFormState.children
30
- .rowStates(MapRepo.Updaters.upsert(rowId, () => RecordAbstractRendererState.Default.fieldState(Map()), RecordAbstractRendererState.Updaters.Core.fieldStates(MapRepo.Updaters.upsert(column, () => CellTemplates.get(column).GetDefaultState(), (__) => (Object.assign(Object.assign({}, __), { commonFormState: DispatchCommonFormState.Updaters.modifiedByUser(replaceWith(true))(__.commonFormState) }))))))
31
- .then(TableAbstractRendererState.Updaters.Core.commonFormState.children.modifiedByUser(replaceWith(true))));
119
+ onChange: (nestedUpdater, nestedDelta) => {
120
+ props.setState(
121
+ TableAbstractRendererState.Updaters.Core.customFormState.children
122
+ .rowStates(
123
+ MapRepo.Updaters.upsert(
124
+ rowId,
125
+ () => RecordAbstractRendererState.Default.fieldState(Map()),
126
+ RecordAbstractRendererState.Updaters.Core.fieldStates(
127
+ MapRepo.Updaters.upsert(
128
+ column,
129
+ () => CellTemplates.get(column).GetDefaultState(),
130
+ (__) =>
131
+ Object.assign(Object.assign({}, __), {
132
+ commonFormState:
133
+ DispatchCommonFormState.Updaters.modifiedByUser(
134
+ replaceWith(true),
135
+ )(__.commonFormState),
136
+ }),
137
+ ),
138
+ ),
139
+ ),
140
+ )
141
+ .then(
142
+ TableAbstractRendererState.Updaters.Core.commonFormState.children.modifiedByUser(
143
+ replaceWith(true),
144
+ ),
145
+ ),
146
+ );
32
147
  const nestedRecordDelta = {
33
- kind: "RecordField",
34
- field: [column, nestedDelta],
35
- recordType: TableEntityType,
36
- flags: undefined,
37
- sourceAncestorLookupTypeNames: nestedDelta.sourceAncestorLookupTypeNames,
148
+ kind: "RecordField",
149
+ field: [column, nestedDelta],
150
+ recordType: TableEntityType,
151
+ flags: undefined,
152
+ sourceAncestorLookupTypeNames:
153
+ nestedDelta.sourceAncestorLookupTypeNames,
38
154
  };
39
- const delta = Object.assign(Object.assign({}, (props.context.customFormState.applyToAll
40
- ? {
41
- kind: "TableValueAll",
42
- }
43
- : {
44
- kind: "TableValue",
45
- id: rowId,
46
- })), { nestedDelta: nestedRecordDelta, flags, sourceAncestorLookupTypeNames: nestedDelta.sourceAncestorLookupTypeNames });
47
- const updater = nestedUpdater.kind == "l"
155
+ const delta = Object.assign(
156
+ Object.assign(
157
+ {},
158
+ props.context.customFormState.applyToAll
159
+ ? {
160
+ kind: "TableValueAll",
161
+ }
162
+ : {
163
+ kind: "TableValue",
164
+ id: rowId,
165
+ },
166
+ ),
167
+ {
168
+ nestedDelta: nestedRecordDelta,
169
+ flags,
170
+ sourceAncestorLookupTypeNames:
171
+ nestedDelta.sourceAncestorLookupTypeNames,
172
+ },
173
+ );
174
+ const updater =
175
+ nestedUpdater.kind == "l"
48
176
  ? nestedUpdater
49
- : Option.Default.some(ValueTable.Updaters.data(MapRepo.Updaters.update(rowId, ValueRecord.Updaters.update(column, nestedUpdater.kind == "r" ? nestedUpdater.value : id))));
177
+ : Option.Default.some(
178
+ ValueTable.Updaters.data(
179
+ MapRepo.Updaters.update(
180
+ rowId,
181
+ ValueRecord.Updaters.update(
182
+ column,
183
+ nestedUpdater.kind == "r" ? nestedUpdater.value : id,
184
+ ),
185
+ ),
186
+ ),
187
+ );
50
188
  props.foreignMutations.onChange(updater, delta);
51
- },
52
- }));
53
- const embedDetailsRenderer = DetailsRenderer && DetailsRendererRaw
54
- ? (flags) => DetailsRenderer.mapContext((_) => {
189
+ },
190
+ }));
191
+ const embedDetailsRenderer =
192
+ DetailsRenderer && DetailsRendererRaw
193
+ ? (flags) =>
194
+ DetailsRenderer.mapContext((_) => {
55
195
  var _a;
56
- const labelContext = CommonAbstractRendererState.Operations.GetLabelContext(_.labelContext, DetailsRendererRaw);
196
+ const labelContext =
197
+ CommonAbstractRendererState.Operations.GetLabelContext(
198
+ _.labelContext,
199
+ DetailsRendererRaw,
200
+ );
57
201
  const { selectedDetailRow } = _.customFormState;
58
202
  if (selectedDetailRow == undefined) {
59
- console.error(`Selected detail row is undefined\n
203
+ console.error(`Selected detail row is undefined\n
60
204
  ...When rendering table field\n
61
205
  ...${_.domNodeAncestorPath}`);
62
- return undefined;
206
+ return undefined;
63
207
  }
64
- if (!PredicateValue.Operations.IsString(selectedDetailRow) &&
65
- !PredicateValue.Operations.IsUnit(selectedDetailRow)) {
66
- console.error(`Selected detail row is not a string or unit\n
208
+ if (
209
+ !PredicateValue.Operations.IsString(selectedDetailRow) &&
210
+ !PredicateValue.Operations.IsUnit(selectedDetailRow)
211
+ ) {
212
+ console.error(`Selected detail row is not a string or unit\n
67
213
  ...When rendering table field\n
68
214
  ...${_.domNodeAncestorPath}`);
69
- return undefined;
215
+ return undefined;
70
216
  }
71
217
  const value = PredicateValue.Operations.IsUnit(selectedDetailRow)
72
- ? ValueUnit.Default()
73
- : _.value.data.get(selectedDetailRow);
218
+ ? ValueUnit.Default()
219
+ : _.value.data.get(selectedDetailRow);
74
220
  if (value == undefined) {
75
- console.error(`Value is undefined for selected detail row\n
221
+ console.error(`Value is undefined for selected detail row\n
76
222
  ...When rendering table field\n
77
223
  ...${_.domNodeAncestorPath}`);
78
- return undefined;
224
+ return undefined;
79
225
  }
80
- const rowState = PredicateValue.Operations.IsString(selectedDetailRow)
81
- ? ((_a = _.customFormState.rowStates.get(selectedDetailRow)) !== null && _a !== void 0 ? _a : RecordAbstractRendererState.Default.fieldState(Map()))
82
- : RecordAbstractRendererState.Default.fieldState(Map());
83
- return Object.assign(Object.assign({ value }, rowState), { disabled: _.disabled || _.globallyDisabled, globallyDisabled: _.globallyDisabled, readOnly: _.readOnly || _.globallyReadOnly, globallyReadOnly: _.globallyReadOnly, locked: _.locked, bindings: _.bindings.set("local", value), extraContext: _.extraContext, type: TableEntityType, customPresentationContext: _.customPresentationContext, remoteEntityVersionIdentifier: _.remoteEntityVersionIdentifier, typeAncestors: [_.type].concat(_.typeAncestors), domNodeAncestorPath: _.domNodeAncestorPath + `[table][cell][${selectedDetailRow}]`, lookupTypeAncestorNames: _.lookupTypeAncestorNames, labelContext });
84
- })
226
+ const rowState = PredicateValue.Operations.IsString(
227
+ selectedDetailRow,
228
+ )
229
+ ? (_a = _.customFormState.rowStates.get(selectedDetailRow)) !==
230
+ null && _a !== void 0
231
+ ? _a
232
+ : RecordAbstractRendererState.Default.fieldState(Map())
233
+ : RecordAbstractRendererState.Default.fieldState(Map());
234
+ return Object.assign(Object.assign({ value }, rowState), {
235
+ disabled: _.disabled || _.globallyDisabled,
236
+ globallyDisabled: _.globallyDisabled,
237
+ readOnly: _.readOnly || _.globallyReadOnly,
238
+ globallyReadOnly: _.globallyReadOnly,
239
+ locked: _.locked,
240
+ bindings: _.bindings.set("local", value),
241
+ extraContext: _.extraContext,
242
+ type: TableEntityType,
243
+ customPresentationContext: _.customPresentationContext,
244
+ remoteEntityVersionIdentifier: _.remoteEntityVersionIdentifier,
245
+ typeAncestors: [_.type].concat(_.typeAncestors),
246
+ domNodeAncestorPath:
247
+ _.domNodeAncestorPath + `[table][cell][${selectedDetailRow}]`,
248
+ lookupTypeAncestorNames: _.lookupTypeAncestorNames,
249
+ labelContext,
250
+ });
251
+ })
85
252
  .mapStateFromProps(([props, updater]) => {
86
- const { selectedDetailRow } = props.context.customFormState;
87
- if (selectedDetailRow == undefined) {
253
+ const { selectedDetailRow } = props.context.customFormState;
254
+ if (selectedDetailRow == undefined) {
88
255
  console.error(`Selected detail row is undefined\n
89
256
  ...When rendering table detail view \n
90
257
  ...${props.context.domNodeAncestorPath}`);
91
258
  return id;
92
- }
93
- if (!PredicateValue.Operations.IsString(selectedDetailRow)) {
259
+ }
260
+ if (!PredicateValue.Operations.IsString(selectedDetailRow)) {
94
261
  return id;
95
- }
96
- return TableAbstractRendererState.Updaters.Core.customFormState.children.rowStates(MapRepo.Updaters.upsert(selectedDetailRow, () => RecordAbstractRendererState.Default.fieldState(Map()), updater));
97
- })
262
+ }
263
+ return TableAbstractRendererState.Updaters.Core.customFormState.children.rowStates(
264
+ MapRepo.Updaters.upsert(
265
+ selectedDetailRow,
266
+ () => RecordAbstractRendererState.Default.fieldState(Map()),
267
+ updater,
268
+ ),
269
+ );
270
+ })
98
271
  .mapForeignMutationsFromProps((props) => ({
99
- onChange: (nestedUpdater, nestedDelta) => {
272
+ onChange: (nestedUpdater, nestedDelta) => {
100
273
  const { selectedDetailRow } = props.context.customFormState;
101
274
  if (selectedDetailRow == undefined) {
102
- console.error(`Selected detail row is undefined\n
275
+ console.error(`Selected detail row is undefined\n
103
276
  ...When rendering table field\n
104
277
  ...${props.context.domNodeAncestorPath}`);
105
- return id;
278
+ return id;
106
279
  }
107
- if (!PredicateValue.Operations.IsString(selectedDetailRow) &&
108
- !PredicateValue.Operations.IsUnit(selectedDetailRow)) {
109
- console.error(`Selected detail row is not a string or unit\n
280
+ if (
281
+ !PredicateValue.Operations.IsString(selectedDetailRow) &&
282
+ !PredicateValue.Operations.IsUnit(selectedDetailRow)
283
+ ) {
284
+ console.error(`Selected detail row is not a string or unit\n
110
285
  ...When rendering table field\n
111
286
  ...${props.context.domNodeAncestorPath}`);
112
- return id;
287
+ return id;
113
288
  }
114
289
  if (PredicateValue.Operations.IsString(selectedDetailRow)) {
115
- props.setState(TableAbstractRendererState.Updaters.Core.commonFormState.children.modifiedByUser(replaceWith(true)));
116
- const delta = {
117
- kind: "TableValue",
118
- id: selectedDetailRow,
119
- nestedDelta: nestedDelta,
120
- flags,
121
- sourceAncestorLookupTypeNames: nestedDelta.sourceAncestorLookupTypeNames,
122
- };
123
- const updater = nestedUpdater.kind == "l"
124
- ? nestedUpdater
125
- : Option.Default.some(ValueTable.Updaters.data(MapRepo.Updaters.update(selectedDetailRow, nestedUpdater.value)));
126
- props.foreignMutations.onChange(updater, delta);
290
+ props.setState(
291
+ TableAbstractRendererState.Updaters.Core.commonFormState.children.modifiedByUser(
292
+ replaceWith(true),
293
+ ),
294
+ );
295
+ const delta = {
296
+ kind: "TableValue",
297
+ id: selectedDetailRow,
298
+ nestedDelta: nestedDelta,
299
+ flags,
300
+ sourceAncestorLookupTypeNames:
301
+ nestedDelta.sourceAncestorLookupTypeNames,
302
+ };
303
+ const updater =
304
+ nestedUpdater.kind == "l"
305
+ ? nestedUpdater
306
+ : Option.Default.some(
307
+ ValueTable.Updaters.data(
308
+ MapRepo.Updaters.update(
309
+ selectedDetailRow,
310
+ nestedUpdater.value,
311
+ ),
312
+ ),
313
+ );
314
+ props.foreignMutations.onChange(updater, delta);
127
315
  }
128
- },
129
- }))
130
- : undefined;
131
- const EmbeddedCellTemplates = CellTemplates.map((cellTemplate, column) => embedCellTemplate(column, cellTemplate.template));
132
- const ColumnLabels = CellTemplates.map((cellTemplate) => cellTemplate.label);
133
- const EmbeddedAllowedFilters = Filters.map((filter, columnName) => (Object.assign(Object.assign({}, filter), { filters: filter.filters.args, template: (index) => filter.template
134
- .mapContext((_) => {
316
+ },
317
+ }))
318
+ : undefined;
319
+ const EmbeddedCellTemplates = CellTemplates.map((cellTemplate, column) =>
320
+ embedCellTemplate(column, cellTemplate.template),
321
+ );
322
+ const ColumnLabels = CellTemplates.map((cellTemplate) => cellTemplate.label);
323
+ const EmbeddedAllowedFilters = Filters.map((filter, columnName) =>
324
+ Object.assign(Object.assign({}, filter), {
325
+ filters: filter.filters.args,
326
+ template: (index) =>
327
+ filter.template
328
+ .mapContext((_) => {
135
329
  var _a, _b;
136
- return (Object.assign({ value: _.value, locked: _.locked, disabled: false, bindings: _.bindings, extraContext: _.extraContext, type: filter.type, label: _.label, tooltip: _.tooltip, details: _.details, customPresentationContext: _.customPresentationContext, remoteEntityVersionIdentifier: "", domNodeAncestorPath: "", typeAncestors: [], lookupTypeAncestorNames: [] }, ((_b = (_a = _.customFormState.filterStates.get(columnName)) === null || _a === void 0 ? void 0 : _a.get(index)) !== null && _b !== void 0 ? _b : filter.GetDefaultState())));
137
- })
138
- .mapState((_) => TableAbstractRendererState.Updaters.Core.customFormState.children.filterStates(MapRepo.Updaters.upsert(columnName, () => List([filter.GetDefaultState()]), ListRepo.Updaters.update(index, Updater(_))))) })));
139
- return Template.Default((props) => {
140
- const domNodeId = props.context.domNodeAncestorPath + "[table]";
141
- if (!PredicateValue.Operations.IsTable(props.context.value)) {
142
- console.error(`TableValue expected but got: ${JSON.stringify(props.context.value)}\n...When rendering table field\n...${domNodeId}`);
143
- return (_jsx(ErrorRenderer, { message: `${domNodeId}: Table value expected but got ${JSON.stringify(props.context.value)}` }));
144
- }
145
- const updatedBindings = props.context.bindings.set("local", props.context.value);
146
- const visibleColumns = TableLayout.Operations.ComputeLayout(updatedBindings, VisibleColumnsPredicate);
147
- if (visibleColumns.kind == "errors") {
148
- console.error(visibleColumns.errors.map((error) => error).join("\n"));
149
- return (_jsx(ErrorRenderer, { message: `${domNodeId}: Error while computing visible columns, check console` }));
150
- }
151
- // TODO: find a better way to warn about missing fields without cluttering the console
152
- // visibleColumns.value.columns.forEach((column) => {
153
- // if (!CellTemplates.has(column)) {
154
- // console.warn(
155
- // `Column ${column} is defined in the visible columns, but not in the CellTemplates. A renderer in the table columns is missing for this column.
156
- // \n...When rendering \n...${domNodeId}
157
- // `,
158
- // );
159
- // }
160
- // });
161
- const calculatedDisabledColumns = TableLayout.Operations.ComputeLayout(updatedBindings, DisabledColumnsPredicate);
162
- const disabledColumnsValue = calculatedDisabledColumns.kind == "value"
163
- ? calculatedDisabledColumns.value.columns
164
- : [];
165
- // TODO we currently only calculated disabled status on a column basis, predicates will break if we
166
- // try to use their local binding (the local is the table).
167
- // Later we need to then calculate the disabled on a CELL level, by giving the calculations
168
- // the row local binding and calculating per row, not per column.
169
- const disabledColumnKeys = ValueOrErrors.Operations.All(List(CellTemplates.map(({ disabled }, fieldName) => disabled == undefined
330
+ return Object.assign(
331
+ {
332
+ value: _.value,
333
+ locked: _.locked,
334
+ disabled: false,
335
+ bindings: _.bindings,
336
+ extraContext: _.extraContext,
337
+ type: filter.type,
338
+ label: _.label,
339
+ tooltip: _.tooltip,
340
+ details: _.details,
341
+ customPresentationContext: _.customPresentationContext,
342
+ remoteEntityVersionIdentifier: "",
343
+ domNodeAncestorPath: "",
344
+ typeAncestors: [],
345
+ lookupTypeAncestorNames: [],
346
+ },
347
+ (_b =
348
+ (_a = _.customFormState.filterStates.get(columnName)) ===
349
+ null || _a === void 0
350
+ ? void 0
351
+ : _a.get(index)) !== null && _b !== void 0
352
+ ? _b
353
+ : filter.GetDefaultState(),
354
+ );
355
+ })
356
+ .mapState((_) =>
357
+ TableAbstractRendererState.Updaters.Core.customFormState.children.filterStates(
358
+ MapRepo.Updaters.upsert(
359
+ columnName,
360
+ () => List([filter.GetDefaultState()]),
361
+ ListRepo.Updaters.update(index, Updater(_)),
362
+ ),
363
+ ),
364
+ ),
365
+ }),
366
+ );
367
+ return Template.Default((props) => {
368
+ const domNodeId = props.context.domNodeAncestorPath + "[table]";
369
+ if (!PredicateValue.Operations.IsTable(props.context.value)) {
370
+ console.error(
371
+ `TableValue expected but got: ${JSON.stringify(props.context.value)}\n...When rendering table field\n...${domNodeId}`,
372
+ );
373
+ return _jsx(ErrorRenderer, {
374
+ message: `${domNodeId}: Table value expected but got ${JSON.stringify(props.context.value)}`,
375
+ });
376
+ }
377
+ const updatedBindings = props.context.bindings.set(
378
+ "local",
379
+ props.context.value,
380
+ );
381
+ const visibleColumns = TableLayout.Operations.ComputeLayout(
382
+ updatedBindings,
383
+ VisibleColumnsPredicate,
384
+ );
385
+ if (visibleColumns.kind == "errors") {
386
+ console.error(visibleColumns.errors.map((error) => error).join("\n"));
387
+ return _jsx(ErrorRenderer, {
388
+ message: `${domNodeId}: Error while computing visible columns, check console`,
389
+ });
390
+ }
391
+ // TODO: find a better way to warn about missing fields without cluttering the console
392
+ // visibleColumns.value.columns.forEach((column) => {
393
+ // if (!CellTemplates.has(column)) {
394
+ // console.warn(
395
+ // `Column ${column} is defined in the visible columns, but not in the CellTemplates. A renderer in the table columns is missing for this column.
396
+ // \n...When rendering \n...${domNodeId}
397
+ // `,
398
+ // );
399
+ // }
400
+ // });
401
+ const calculatedDisabledColumns = TableLayout.Operations.ComputeLayout(
402
+ updatedBindings,
403
+ DisabledColumnsPredicate,
404
+ );
405
+ const disabledColumnsValue =
406
+ calculatedDisabledColumns.kind == "value"
407
+ ? calculatedDisabledColumns.value.columns
408
+ : [];
409
+ // TODO we currently only calculated disabled status on a column basis, predicates will break if we
410
+ // try to use their local binding (the local is the table).
411
+ // Later we need to then calculate the disabled on a CELL level, by giving the calculations
412
+ // the row local binding and calculating per row, not per column.
413
+ const disabledColumnKeys = ValueOrErrors.Operations.All(
414
+ List(
415
+ CellTemplates.map(({ disabled }, fieldName) =>
416
+ disabled == undefined
170
417
  ? disabledColumnsValue.includes(fieldName)
171
- ? ValueOrErrors.Default.return(fieldName)
172
- : ValueOrErrors.Default.return(null)
173
- : Expr.Operations.EvaluateAs("disabled predicate")(updatedBindings)(disabled).Then((value) => ValueOrErrors.Default.return(PredicateValue.Operations.IsBoolean(value) && value
174
- ? fieldName
175
- : null))).valueSeq()));
176
- // TODO -- set the top level state as error
177
- if (disabledColumnKeys.kind == "errors") {
178
- console.error(disabledColumnKeys.errors.map((error) => error).join("\n"));
179
- return (_jsx(ErrorRenderer, { message: `${domNodeId}: Error while computing disabled column keys, check console` }));
180
- }
181
- const disabledColumnKeysSet = Set(disabledColumnKeys.value.filter((fieldName) => fieldName != null));
182
- const hasMoreValues = props.context.value.hasMoreValues;
183
- const validColumns = CellTemplates.keySeq().toArray();
184
- const validVisibleColumns = visibleColumns.value.columns.filter((_) => validColumns.includes(_));
185
- const embeddedTableData = props.context.customFormState.loadingState != "loaded"
186
- ? OrderedMap()
187
- : props.context.value.data.map((rowData, rowId) => rowData.fields
188
- .filter((_, column) => validVisibleColumns.includes(column))
189
- .map((_, column) => EmbeddedCellTemplates.get(column)(rowId)(rowData.fields.get(column))(disabledColumnKeysSet.has(column))));
190
- const embeddedUnfilteredTableData = props.context.customFormState.loadingState != "loaded"
191
- ? OrderedMap()
192
- : props.context.value.data.map((rowData, rowId) => rowData.fields
193
- .filter((_, column) => validColumns.includes(column))
194
- .map((_, column) => EmbeddedCellTemplates.get(column)(rowId)(rowData.fields.get(column))(disabledColumnKeysSet.has(column))));
195
- if (props.context.customFormState.isFilteringInitialized == false) {
196
- return _jsx(_Fragment, {});
197
- }
198
- // Detail row may have been deleted from outside the table
199
- const isSelectedDetailRowValid = props.context.customFormState.selectedDetailRow != undefined &&
200
- !PredicateValue.Operations.IsUnit(props.context.customFormState.selectedDetailRow) &&
201
- props.context.value.data.size > 0 &&
202
- props.context.value.data.has(props.context.customFormState.selectedDetailRow);
203
- return (_jsx(_Fragment, { children: _jsx(IdProvider, { domNodeId: domNodeId, children: _jsx(props.view, Object.assign({}, props, { context: Object.assign(Object.assign({}, props.context), { customFormState: Object.assign(Object.assign({}, props.context.customFormState), { selectedDetailRow: isSelectedDetailRowValid
204
- ? props.context.customFormState.selectedDetailRow
205
- : undefined }), domNodeId, tableHeaders: validVisibleColumns, columnLabels: ColumnLabels, hasMoreValues: !!hasMoreValues, tableEntityType: TableEntityType }), foreignMutations: Object.assign(Object.assign({}, props.foreignMutations), { loadMore: () => {
206
- if (props.context.customFormState.isFilteringInitialized) {
207
- props.setState(TableAbstractRendererState.Updaters.Template.loadMore());
208
- }
209
- }, selectDetailView: (rowId) => {
210
- props.setState(TableAbstractRendererState.Updaters.Core.customFormState.children.selectedDetailRow(replaceWith(rowId)));
211
- }, clearDetailView: () => props.setState(TableAbstractRendererState.Updaters.Core.customFormState.children.selectedDetailRow(replaceWith(undefined))), selectRow: (rowId) => props.setState(TableAbstractRendererState.Updaters.Core.customFormState.children.selectedRows((_) => (_.has(rowId) ? _.remove(rowId) : _.add(rowId)))), selectAllRows: () => props.setState(TableAbstractRendererState.Updaters.Core.customFormState.children.selectedRows(replaceWith(Set(embeddedTableData.keySeq())))), clearRows: () => props.setState(TableAbstractRendererState.Updaters.Core.customFormState.children.selectedRows(replaceWith(Set()))), setApplyToAll: (applyToAll) => props.setState(TableAbstractRendererState.Updaters.Core.customFormState.children.applyToAll(replaceWith(applyToAll))), applyToAll: (nestedDelta, flags) => {
212
- const delta = {
213
- kind: "TableValueAll",
214
- nestedDelta,
215
- flags,
216
- sourceAncestorLookupTypeNames: nestedDelta.sourceAncestorLookupTypeNames,
217
- };
218
- props.foreignMutations.onChange(Option.Default.none(), delta);
219
- props.setState(TableAbstractRendererState.Updaters.Core.commonFormState(DispatchCommonFormState.Updaters.modifiedByUser(replaceWith(true))));
220
- }, removeAll: !props.context.apiMethods.includes("removeAll")
221
- ? undefined
222
- : (flags) => {
223
- const delta = {
224
- kind: "TableRemoveAll",
225
- flags,
226
- sourceAncestorLookupTypeNames: props.context.lookupTypeAncestorNames,
227
- };
228
- props.foreignMutations.onChange(Option.Default.none(), delta);
229
- props.setState(TableAbstractRendererState.Updaters.Core.commonFormState(DispatchCommonFormState.Updaters.modifiedByUser(replaceWith(true))));
230
- }, add: !props.context.apiMethods.includes("add")
231
- ? undefined
232
- : (flags) => {
233
- const delta = {
234
- kind: "TableAddEmpty",
235
- flags,
236
- sourceAncestorLookupTypeNames: props.context.lookupTypeAncestorNames,
237
- };
238
- props.foreignMutations.onChange(Option.Default.none(), delta);
239
- props.setState(TableAbstractRendererState.Updaters.Core.commonFormState(DispatchCommonFormState.Updaters.modifiedByUser(replaceWith(true))));
240
- }, remove: !props.context.apiMethods.includes("remove")
241
- ? undefined
242
- : (k, flags) => {
243
- const delta = {
244
- kind: "TableRemove",
245
- id: k,
246
- flags,
247
- sourceAncestorLookupTypeNames: props.context.lookupTypeAncestorNames,
248
- };
249
- props.foreignMutations.onChange(Option.Default.none(), delta);
250
- props.setState(TableAbstractRendererState.Updaters.Core.commonFormState(DispatchCommonFormState.Updaters.modifiedByUser(replaceWith(true))));
251
- }, moveTo: !props.context.apiMethods.includes("move")
252
- ? undefined
253
- : (k, to, flags) => {
254
- const delta = {
255
- kind: "TableMoveTo",
256
- id: k,
257
- to,
258
- flags,
259
- sourceAncestorLookupTypeNames: props.context.lookupTypeAncestorNames,
260
- };
261
- props.foreignMutations.onChange(Option.Default.none(), delta);
262
- props.setState(TableAbstractRendererState.Updaters.Core.commonFormState(DispatchCommonFormState.Updaters.modifiedByUser(replaceWith(true))));
263
- }, duplicate: !props.context.apiMethods.includes("duplicate")
264
- ? undefined
265
- : (k, flags) => {
266
- const delta = {
267
- kind: "TableDuplicate",
268
- id: k,
269
- flags,
270
- sourceAncestorLookupTypeNames: props.context.lookupTypeAncestorNames,
271
- };
272
- props.foreignMutations.onChange(Option.Default.none(), delta);
273
- props.setState(TableAbstractRendererState.Updaters.Core.commonFormState(DispatchCommonFormState.Updaters.modifiedByUser(replaceWith(true))));
274
- }, updateFilters: (filters, shouldReload) => {
275
- props.setState(TableAbstractRendererState.Updaters.Template.updateFilters(filters, Filters.map(({ filters }) => filters), parseToApiByType, shouldReload));
276
- }, addSorting: (columnName, direction) => {
277
- props.setState(TableAbstractRendererState.Updaters.Template.addSorting(columnName, direction, Filters.map(({ filters }) => filters), parseToApiByType));
278
- }, removeSorting: (columnName) => {
279
- props.setState(TableAbstractRendererState.Updaters.Template.removeSorting(columnName, Filters.map(({ filters }) => filters), parseToApiByType));
280
- }, reloadFrom0: () => props.setState(TableAbstractRendererState.Updaters.Template.reloadFrom0()) }), DetailsRenderer: embedDetailsRenderer, TableData: embeddedTableData, UnfilteredTableData_Dangerous: embeddedUnfilteredTableData, AllowedFilters: EmbeddedAllowedFilters, AllowedSorting: props.context.sorting, HighlightedFilters: props.context.highlightedFilters, isFilteringSortAndLoadingEnabled: props.context.customFormState.isFilteringInitialized })) }) }));
281
- }).any([
282
- InstantiatedInfiniteLoaderRunner.mapContextFromProps((props) => (Object.assign(Object.assign({}, props.context), { onChange: props.foreignMutations.onChange }))),
283
- InstantiatedInitialiseFiltersAndSortingRunner,
284
- InstantiatedInitialiseTableRunner.mapContextFromProps((props) => (Object.assign(Object.assign({}, props.context), { onChange: props.foreignMutations.onChange }))),
285
- ]);
418
+ ? ValueOrErrors.Default.return(fieldName)
419
+ : ValueOrErrors.Default.return(null)
420
+ : Expr.Operations.EvaluateAs("disabled predicate")(updatedBindings)(
421
+ disabled,
422
+ ).Then((value) =>
423
+ ValueOrErrors.Default.return(
424
+ PredicateValue.Operations.IsBoolean(value) && value
425
+ ? fieldName
426
+ : null,
427
+ ),
428
+ ),
429
+ ).valueSeq(),
430
+ ),
431
+ );
432
+ // TODO -- set the top level state as error
433
+ if (disabledColumnKeys.kind == "errors") {
434
+ console.error(disabledColumnKeys.errors.map((error) => error).join("\n"));
435
+ return _jsx(ErrorRenderer, {
436
+ message: `${domNodeId}: Error while computing disabled column keys, check console`,
437
+ });
438
+ }
439
+ const disabledColumnKeysSet = Set(
440
+ disabledColumnKeys.value.filter((fieldName) => fieldName != null),
441
+ );
442
+ const hasMoreValues = props.context.value.hasMoreValues;
443
+ const validColumns = CellTemplates.keySeq().toArray();
444
+ const validVisibleColumns = visibleColumns.value.columns.filter((_) =>
445
+ validColumns.includes(_),
446
+ );
447
+ const embeddedTableData =
448
+ props.context.customFormState.loadingState != "loaded"
449
+ ? OrderedMap()
450
+ : props.context.value.data.map((rowData, rowId) =>
451
+ rowData.fields
452
+ .filter((_, column) => validVisibleColumns.includes(column))
453
+ .map((_, column) =>
454
+ EmbeddedCellTemplates.get(column)(rowId)(
455
+ rowData.fields.get(column),
456
+ )(disabledColumnKeysSet.has(column)),
457
+ ),
458
+ );
459
+ const embeddedUnfilteredTableData =
460
+ props.context.customFormState.loadingState != "loaded"
461
+ ? OrderedMap()
462
+ : props.context.value.data.map((rowData, rowId) =>
463
+ rowData.fields
464
+ .filter((_, column) => validColumns.includes(column))
465
+ .map((_, column) =>
466
+ EmbeddedCellTemplates.get(column)(rowId)(
467
+ rowData.fields.get(column),
468
+ )(disabledColumnKeysSet.has(column)),
469
+ ),
470
+ );
471
+ if (props.context.customFormState.isFilteringInitialized == false) {
472
+ return _jsx(_Fragment, {});
473
+ }
474
+ // Detail row may have been deleted from outside the table
475
+ const isSelectedDetailRowValid =
476
+ props.context.customFormState.selectedDetailRow != undefined &&
477
+ !PredicateValue.Operations.IsUnit(
478
+ props.context.customFormState.selectedDetailRow,
479
+ ) &&
480
+ props.context.value.data.size > 0 &&
481
+ props.context.value.data.has(
482
+ props.context.customFormState.selectedDetailRow,
483
+ );
484
+ return _jsx(_Fragment, {
485
+ children: _jsx(IdProvider, {
486
+ domNodeId: domNodeId,
487
+ children: _jsx(
488
+ props.view,
489
+ Object.assign({}, props, {
490
+ context: Object.assign(Object.assign({}, props.context), {
491
+ customFormState: Object.assign(
492
+ Object.assign({}, props.context.customFormState),
493
+ {
494
+ selectedDetailRow: isSelectedDetailRowValid
495
+ ? props.context.customFormState.selectedDetailRow
496
+ : undefined,
497
+ },
498
+ ),
499
+ domNodeId,
500
+ tableHeaders: validVisibleColumns,
501
+ columnLabels: ColumnLabels,
502
+ hasMoreValues: !!hasMoreValues,
503
+ tableEntityType: TableEntityType,
504
+ }),
505
+ foreignMutations: Object.assign(
506
+ Object.assign({}, props.foreignMutations),
507
+ {
508
+ loadMore: () => {
509
+ if (props.context.customFormState.isFilteringInitialized) {
510
+ props.setState(
511
+ TableAbstractRendererState.Updaters.Template.loadMore(),
512
+ );
513
+ }
514
+ },
515
+ selectDetailView: (rowId) => {
516
+ props.setState(
517
+ TableAbstractRendererState.Updaters.Core.customFormState.children.selectedDetailRow(
518
+ replaceWith(rowId),
519
+ ),
520
+ );
521
+ },
522
+ clearDetailView: () =>
523
+ props.setState(
524
+ TableAbstractRendererState.Updaters.Core.customFormState.children.selectedDetailRow(
525
+ replaceWith(undefined),
526
+ ),
527
+ ),
528
+ selectRow: (rowId) =>
529
+ props.setState(
530
+ TableAbstractRendererState.Updaters.Core.customFormState.children.selectedRows(
531
+ (_) => (_.has(rowId) ? _.remove(rowId) : _.add(rowId)),
532
+ ),
533
+ ),
534
+ selectAllRows: () =>
535
+ props.setState(
536
+ TableAbstractRendererState.Updaters.Core.customFormState.children.selectedRows(
537
+ replaceWith(Set(embeddedTableData.keySeq())),
538
+ ),
539
+ ),
540
+ clearRows: () =>
541
+ props.setState(
542
+ TableAbstractRendererState.Updaters.Core.customFormState.children.selectedRows(
543
+ replaceWith(Set()),
544
+ ),
545
+ ),
546
+ setApplyToAll: (applyToAll) =>
547
+ props.setState(
548
+ TableAbstractRendererState.Updaters.Core.customFormState.children.applyToAll(
549
+ replaceWith(applyToAll),
550
+ ),
551
+ ),
552
+ applyToAll: (nestedDelta, flags) => {
553
+ const delta = {
554
+ kind: "TableValueAll",
555
+ nestedDelta,
556
+ flags,
557
+ sourceAncestorLookupTypeNames:
558
+ nestedDelta.sourceAncestorLookupTypeNames,
559
+ };
560
+ props.foreignMutations.onChange(Option.Default.none(), delta);
561
+ props.setState(
562
+ TableAbstractRendererState.Updaters.Core.commonFormState(
563
+ DispatchCommonFormState.Updaters.modifiedByUser(
564
+ replaceWith(true),
565
+ ),
566
+ ),
567
+ );
568
+ },
569
+ removeAll: !props.context.apiMethods.includes("removeAll")
570
+ ? undefined
571
+ : (flags) => {
572
+ const delta = {
573
+ kind: "TableRemoveAll",
574
+ flags,
575
+ sourceAncestorLookupTypeNames:
576
+ props.context.lookupTypeAncestorNames,
577
+ };
578
+ props.foreignMutations.onChange(
579
+ Option.Default.none(),
580
+ delta,
581
+ );
582
+ props.setState(
583
+ TableAbstractRendererState.Updaters.Core.commonFormState(
584
+ DispatchCommonFormState.Updaters.modifiedByUser(
585
+ replaceWith(true),
586
+ ),
587
+ ),
588
+ );
589
+ },
590
+ add: !props.context.apiMethods.includes("add")
591
+ ? undefined
592
+ : (flags) => {
593
+ const delta = {
594
+ kind: "TableAddEmpty",
595
+ flags,
596
+ sourceAncestorLookupTypeNames:
597
+ props.context.lookupTypeAncestorNames,
598
+ };
599
+ props.foreignMutations.onChange(
600
+ Option.Default.none(),
601
+ delta,
602
+ );
603
+ props.setState(
604
+ TableAbstractRendererState.Updaters.Core.commonFormState(
605
+ DispatchCommonFormState.Updaters.modifiedByUser(
606
+ replaceWith(true),
607
+ ),
608
+ ),
609
+ );
610
+ },
611
+ remove: !props.context.apiMethods.includes("remove")
612
+ ? undefined
613
+ : (k, flags) => {
614
+ const delta = {
615
+ kind: "TableRemove",
616
+ id: k,
617
+ flags,
618
+ sourceAncestorLookupTypeNames:
619
+ props.context.lookupTypeAncestorNames,
620
+ };
621
+ props.foreignMutations.onChange(
622
+ Option.Default.none(),
623
+ delta,
624
+ );
625
+ props.setState(
626
+ TableAbstractRendererState.Updaters.Core.commonFormState(
627
+ DispatchCommonFormState.Updaters.modifiedByUser(
628
+ replaceWith(true),
629
+ ),
630
+ ),
631
+ );
632
+ },
633
+ moveTo: !props.context.apiMethods.includes("move")
634
+ ? undefined
635
+ : (k, to, flags) => {
636
+ const delta = {
637
+ kind: "TableMoveTo",
638
+ id: k,
639
+ to,
640
+ flags,
641
+ sourceAncestorLookupTypeNames:
642
+ props.context.lookupTypeAncestorNames,
643
+ };
644
+ props.foreignMutations.onChange(
645
+ Option.Default.none(),
646
+ delta,
647
+ );
648
+ props.setState(
649
+ TableAbstractRendererState.Updaters.Core.commonFormState(
650
+ DispatchCommonFormState.Updaters.modifiedByUser(
651
+ replaceWith(true),
652
+ ),
653
+ ),
654
+ );
655
+ },
656
+ duplicate: !props.context.apiMethods.includes("duplicate")
657
+ ? undefined
658
+ : (k, flags) => {
659
+ const delta = {
660
+ kind: "TableDuplicate",
661
+ id: k,
662
+ flags,
663
+ sourceAncestorLookupTypeNames:
664
+ props.context.lookupTypeAncestorNames,
665
+ };
666
+ props.foreignMutations.onChange(
667
+ Option.Default.none(),
668
+ delta,
669
+ );
670
+ props.setState(
671
+ TableAbstractRendererState.Updaters.Core.commonFormState(
672
+ DispatchCommonFormState.Updaters.modifiedByUser(
673
+ replaceWith(true),
674
+ ),
675
+ ),
676
+ );
677
+ },
678
+ updateFilters: (filters, shouldReload) => {
679
+ props.setState(
680
+ TableAbstractRendererState.Updaters.Template.updateFilters(
681
+ filters,
682
+ Filters.map(({ filters }) => filters),
683
+ parseToApiByType,
684
+ shouldReload,
685
+ ),
686
+ );
687
+ },
688
+ addSorting: (columnName, direction) => {
689
+ props.setState(
690
+ TableAbstractRendererState.Updaters.Template.addSorting(
691
+ columnName,
692
+ direction,
693
+ Filters.map(({ filters }) => filters),
694
+ parseToApiByType,
695
+ ),
696
+ );
697
+ },
698
+ removeSorting: (columnName) => {
699
+ props.setState(
700
+ TableAbstractRendererState.Updaters.Template.removeSorting(
701
+ columnName,
702
+ Filters.map(({ filters }) => filters),
703
+ parseToApiByType,
704
+ ),
705
+ );
706
+ },
707
+ reloadFrom0: () =>
708
+ props.setState(
709
+ TableAbstractRendererState.Updaters.Template.reloadFrom0(),
710
+ ),
711
+ },
712
+ ),
713
+ DetailsRenderer: embedDetailsRenderer,
714
+ TableData: embeddedTableData,
715
+ UnfilteredTableData_Dangerous: embeddedUnfilteredTableData,
716
+ AllowedFilters: EmbeddedAllowedFilters,
717
+ AllowedSorting: props.context.sorting,
718
+ HighlightedFilters: props.context.highlightedFilters,
719
+ isFilteringSortAndLoadingEnabled:
720
+ props.context.customFormState.isFilteringInitialized,
721
+ }),
722
+ ),
723
+ }),
724
+ });
725
+ }).any([
726
+ InstantiatedInfiniteLoaderRunner.mapContextFromProps((props) =>
727
+ Object.assign(Object.assign({}, props.context), {
728
+ onChange: props.foreignMutations.onChange,
729
+ }),
730
+ ),
731
+ InstantiatedInitialiseFiltersAndSortingRunner,
732
+ InstantiatedInitialiseTableRunner.mapContextFromProps((props) =>
733
+ Object.assign(Object.assign({}, props.context), {
734
+ onChange: props.foreignMutations.onChange,
735
+ }),
736
+ ),
737
+ ]);
286
738
  };
287
- //# sourceMappingURL=template.js.map
739
+ //# sourceMappingURL=template.js.map