@sparqjs/schema-core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/dist/action/action-runtime.d.ts +91 -0
  2. package/dist/action/action-runtime.d.ts.map +1 -0
  3. package/dist/action/action-runtime.js +172 -0
  4. package/dist/action/action-runtime.js.map +1 -0
  5. package/dist/action/builtin-actions.d.ts +35 -0
  6. package/dist/action/builtin-actions.d.ts.map +1 -0
  7. package/dist/action/builtin-actions.js +200 -0
  8. package/dist/action/builtin-actions.js.map +1 -0
  9. package/dist/action/index.d.ts +6 -0
  10. package/dist/action/index.d.ts.map +1 -0
  11. package/dist/action/index.js +6 -0
  12. package/dist/action/index.js.map +1 -0
  13. package/dist/action/merge-action.d.ts +9 -0
  14. package/dist/action/merge-action.d.ts.map +1 -0
  15. package/dist/action/merge-action.js +51 -0
  16. package/dist/action/merge-action.js.map +1 -0
  17. package/dist/action/resolve-action.d.ts +14 -0
  18. package/dist/action/resolve-action.d.ts.map +1 -0
  19. package/dist/action/resolve-action.js +81 -0
  20. package/dist/action/resolve-action.js.map +1 -0
  21. package/dist/action/types.d.ts +97 -0
  22. package/dist/action/types.d.ts.map +1 -0
  23. package/dist/action/types.js +2 -0
  24. package/dist/action/types.js.map +1 -0
  25. package/dist/component-keys.d.ts +49 -0
  26. package/dist/component-keys.d.ts.map +1 -0
  27. package/dist/component-keys.js +48 -0
  28. package/dist/component-keys.js.map +1 -0
  29. package/dist/data/index.d.ts +3 -0
  30. package/dist/data/index.d.ts.map +1 -0
  31. package/dist/data/index.js +3 -0
  32. package/dist/data/index.js.map +1 -0
  33. package/dist/data/options.d.ts +33 -0
  34. package/dist/data/options.d.ts.map +1 -0
  35. package/dist/data/options.js +147 -0
  36. package/dist/data/options.js.map +1 -0
  37. package/dist/data/types.d.ts +303 -0
  38. package/dist/data/types.d.ts.map +1 -0
  39. package/dist/data/types.js +2 -0
  40. package/dist/data/types.js.map +1 -0
  41. package/dist/diagnostics/create-diagnostic.d.ts +8 -0
  42. package/dist/diagnostics/create-diagnostic.d.ts.map +1 -0
  43. package/dist/diagnostics/create-diagnostic.js +13 -0
  44. package/dist/diagnostics/create-diagnostic.js.map +1 -0
  45. package/dist/diagnostics/diagnostic-collector.d.ts +27 -0
  46. package/dist/diagnostics/diagnostic-collector.d.ts.map +1 -0
  47. package/dist/diagnostics/diagnostic-collector.js +30 -0
  48. package/dist/diagnostics/diagnostic-collector.js.map +1 -0
  49. package/dist/diagnostics/index.d.ts +4 -0
  50. package/dist/diagnostics/index.d.ts.map +1 -0
  51. package/dist/diagnostics/index.js +4 -0
  52. package/dist/diagnostics/index.js.map +1 -0
  53. package/dist/diagnostics/types.d.ts +51 -0
  54. package/dist/diagnostics/types.d.ts.map +1 -0
  55. package/dist/diagnostics/types.js +2 -0
  56. package/dist/diagnostics/types.js.map +1 -0
  57. package/dist/expression/condition.d.ts +9 -0
  58. package/dist/expression/condition.d.ts.map +1 -0
  59. package/dist/expression/condition.js +82 -0
  60. package/dist/expression/condition.js.map +1 -0
  61. package/dist/expression/index.d.ts +6 -0
  62. package/dist/expression/index.d.ts.map +1 -0
  63. package/dist/expression/index.js +6 -0
  64. package/dist/expression/index.js.map +1 -0
  65. package/dist/expression/path.d.ts +8 -0
  66. package/dist/expression/path.d.ts.map +1 -0
  67. package/dist/expression/path.js +30 -0
  68. package/dist/expression/path.js.map +1 -0
  69. package/dist/expression/template.d.ts +8 -0
  70. package/dist/expression/template.d.ts.map +1 -0
  71. package/dist/expression/template.js +23 -0
  72. package/dist/expression/template.js.map +1 -0
  73. package/dist/expression/types.d.ts +27 -0
  74. package/dist/expression/types.d.ts.map +1 -0
  75. package/dist/expression/types.js +2 -0
  76. package/dist/expression/types.js.map +1 -0
  77. package/dist/expression/value.d.ts +12 -0
  78. package/dist/expression/value.d.ts.map +1 -0
  79. package/dist/expression/value.js +88 -0
  80. package/dist/expression/value.js.map +1 -0
  81. package/dist/hooks/index.d.ts +2 -0
  82. package/dist/hooks/index.d.ts.map +1 -0
  83. package/dist/hooks/index.js +2 -0
  84. package/dist/hooks/index.js.map +1 -0
  85. package/dist/hooks/types.d.ts +131 -0
  86. package/dist/hooks/types.d.ts.map +1 -0
  87. package/dist/hooks/types.js +2 -0
  88. package/dist/hooks/types.js.map +1 -0
  89. package/dist/icon-keys.d.ts +46 -0
  90. package/dist/icon-keys.d.ts.map +1 -0
  91. package/dist/icon-keys.js +100 -0
  92. package/dist/icon-keys.js.map +1 -0
  93. package/dist/index.d.ts +20 -0
  94. package/dist/index.d.ts.map +1 -0
  95. package/dist/index.js +20 -0
  96. package/dist/index.js.map +1 -0
  97. package/dist/inference/display-components.d.ts +14 -0
  98. package/dist/inference/display-components.d.ts.map +1 -0
  99. package/dist/inference/display-components.js +52 -0
  100. package/dist/inference/display-components.js.map +1 -0
  101. package/dist/inference/index.d.ts +4 -0
  102. package/dist/inference/index.d.ts.map +1 -0
  103. package/dist/inference/index.js +4 -0
  104. package/dist/inference/index.js.map +1 -0
  105. package/dist/inference/search-components.d.ts +9 -0
  106. package/dist/inference/search-components.d.ts.map +1 -0
  107. package/dist/inference/search-components.js +46 -0
  108. package/dist/inference/search-components.js.map +1 -0
  109. package/dist/inference/search-operators.d.ts +9 -0
  110. package/dist/inference/search-operators.d.ts.map +1 -0
  111. package/dist/inference/search-operators.js +42 -0
  112. package/dist/inference/search-operators.js.map +1 -0
  113. package/dist/normalizer/index.d.ts +12 -0
  114. package/dist/normalizer/index.d.ts.map +1 -0
  115. package/dist/normalizer/index.js +12 -0
  116. package/dist/normalizer/index.js.map +1 -0
  117. package/dist/normalizer/infer-detail.d.ts +8 -0
  118. package/dist/normalizer/infer-detail.d.ts.map +1 -0
  119. package/dist/normalizer/infer-detail.js +19 -0
  120. package/dist/normalizer/infer-detail.js.map +1 -0
  121. package/dist/normalizer/infer-form.d.ts +8 -0
  122. package/dist/normalizer/infer-form.d.ts.map +1 -0
  123. package/dist/normalizer/infer-form.js +16 -0
  124. package/dist/normalizer/infer-form.js.map +1 -0
  125. package/dist/normalizer/infer-search.d.ts +18 -0
  126. package/dist/normalizer/infer-search.d.ts.map +1 -0
  127. package/dist/normalizer/infer-search.js +53 -0
  128. package/dist/normalizer/infer-search.js.map +1 -0
  129. package/dist/normalizer/infer-table.d.ts +16 -0
  130. package/dist/normalizer/infer-table.d.ts.map +1 -0
  131. package/dist/normalizer/infer-table.js +41 -0
  132. package/dist/normalizer/infer-table.js.map +1 -0
  133. package/dist/normalizer/normalize-resource.d.ts +10 -0
  134. package/dist/normalizer/normalize-resource.d.ts.map +1 -0
  135. package/dist/normalizer/normalize-resource.js +84 -0
  136. package/dist/normalizer/normalize-resource.js.map +1 -0
  137. package/dist/normalizer/normalize-views.d.ts +32 -0
  138. package/dist/normalizer/normalize-views.d.ts.map +1 -0
  139. package/dist/normalizer/normalize-views.js +194 -0
  140. package/dist/normalizer/normalize-views.js.map +1 -0
  141. package/dist/normalizer/types.d.ts +36 -0
  142. package/dist/normalizer/types.d.ts.map +1 -0
  143. package/dist/normalizer/types.js +2 -0
  144. package/dist/normalizer/types.js.map +1 -0
  145. package/dist/normalizer/validate-nodes.d.ts +9 -0
  146. package/dist/normalizer/validate-nodes.d.ts.map +1 -0
  147. package/dist/normalizer/validate-nodes.js +91 -0
  148. package/dist/normalizer/validate-nodes.js.map +1 -0
  149. package/dist/normalizer/validate-search.d.ts +9 -0
  150. package/dist/normalizer/validate-search.d.ts.map +1 -0
  151. package/dist/normalizer/validate-search.js +20 -0
  152. package/dist/normalizer/validate-search.js.map +1 -0
  153. package/dist/normalizer/validate-table.d.ts +9 -0
  154. package/dist/normalizer/validate-table.d.ts.map +1 -0
  155. package/dist/normalizer/validate-table.js +52 -0
  156. package/dist/normalizer/validate-table.js.map +1 -0
  157. package/dist/normalizer/validate-value-expression.d.ts +4 -0
  158. package/dist/normalizer/validate-value-expression.d.ts.map +1 -0
  159. package/dist/normalizer/validate-value-expression.js +43 -0
  160. package/dist/normalizer/validate-value-expression.js.map +1 -0
  161. package/dist/registry/action-executor-registry.d.ts +6 -0
  162. package/dist/registry/action-executor-registry.d.ts.map +1 -0
  163. package/dist/registry/action-executor-registry.js +6 -0
  164. package/dist/registry/action-executor-registry.js.map +1 -0
  165. package/dist/registry/action-handler-registry.d.ts +19 -0
  166. package/dist/registry/action-handler-registry.d.ts.map +1 -0
  167. package/dist/registry/action-handler-registry.js +15 -0
  168. package/dist/registry/action-handler-registry.js.map +1 -0
  169. package/dist/registry/component-registry.d.ts +17 -0
  170. package/dist/registry/component-registry.d.ts.map +1 -0
  171. package/dist/registry/component-registry.js +11 -0
  172. package/dist/registry/component-registry.js.map +1 -0
  173. package/dist/registry/effect-handler-registry.d.ts +19 -0
  174. package/dist/registry/effect-handler-registry.d.ts.map +1 -0
  175. package/dist/registry/effect-handler-registry.js +15 -0
  176. package/dist/registry/effect-handler-registry.js.map +1 -0
  177. package/dist/registry/index.d.ts +6 -0
  178. package/dist/registry/index.d.ts.map +1 -0
  179. package/dist/registry/index.js +6 -0
  180. package/dist/registry/index.js.map +1 -0
  181. package/dist/registry/runtime-registries.d.ts +20 -0
  182. package/dist/registry/runtime-registries.d.ts.map +1 -0
  183. package/dist/registry/runtime-registries.js +46 -0
  184. package/dist/registry/runtime-registries.js.map +1 -0
  185. package/dist/relation-list/index.d.ts +3 -0
  186. package/dist/relation-list/index.d.ts.map +1 -0
  187. package/dist/relation-list/index.js +3 -0
  188. package/dist/relation-list/index.js.map +1 -0
  189. package/dist/relation-list/runtime.d.ts +19 -0
  190. package/dist/relation-list/runtime.d.ts.map +1 -0
  191. package/dist/relation-list/runtime.js +279 -0
  192. package/dist/relation-list/runtime.js.map +1 -0
  193. package/dist/relation-list/types.d.ts +32 -0
  194. package/dist/relation-list/types.d.ts.map +1 -0
  195. package/dist/relation-list/types.js +2 -0
  196. package/dist/relation-list/types.js.map +1 -0
  197. package/dist/render/index.d.ts +3 -0
  198. package/dist/render/index.d.ts.map +1 -0
  199. package/dist/render/index.js +3 -0
  200. package/dist/render/index.js.map +1 -0
  201. package/dist/render/resolve-render-view.d.ts +3 -0
  202. package/dist/render/resolve-render-view.d.ts.map +1 -0
  203. package/dist/render/resolve-render-view.js +93 -0
  204. package/dist/render/resolve-render-view.js.map +1 -0
  205. package/dist/render/types.d.ts +21 -0
  206. package/dist/render/types.d.ts.map +1 -0
  207. package/dist/render/types.js +2 -0
  208. package/dist/render/types.js.map +1 -0
  209. package/dist/runtime.d.ts +34 -0
  210. package/dist/runtime.d.ts.map +1 -0
  211. package/dist/runtime.js +31 -0
  212. package/dist/runtime.js.map +1 -0
  213. package/dist/scope/index.d.ts +4 -0
  214. package/dist/scope/index.d.ts.map +1 -0
  215. package/dist/scope/index.js +4 -0
  216. package/dist/scope/index.js.map +1 -0
  217. package/dist/scope/resolve-target.d.ts +9 -0
  218. package/dist/scope/resolve-target.d.ts.map +1 -0
  219. package/dist/scope/resolve-target.js +40 -0
  220. package/dist/scope/resolve-target.js.map +1 -0
  221. package/dist/scope/scope-tree.d.ts +27 -0
  222. package/dist/scope/scope-tree.d.ts.map +1 -0
  223. package/dist/scope/scope-tree.js +55 -0
  224. package/dist/scope/scope-tree.js.map +1 -0
  225. package/dist/scope/types.d.ts +63 -0
  226. package/dist/scope/types.d.ts.map +1 -0
  227. package/dist/scope/types.js +2 -0
  228. package/dist/scope/types.js.map +1 -0
  229. package/dist/session/action-execution.d.ts +16 -0
  230. package/dist/session/action-execution.d.ts.map +1 -0
  231. package/dist/session/action-execution.js +349 -0
  232. package/dist/session/action-execution.js.map +1 -0
  233. package/dist/session/actions/default-action-handlers.d.ts +21 -0
  234. package/dist/session/actions/default-action-handlers.d.ts.map +1 -0
  235. package/dist/session/actions/default-action-handlers.js +446 -0
  236. package/dist/session/actions/default-action-handlers.js.map +1 -0
  237. package/dist/session/actions/index.d.ts +4 -0
  238. package/dist/session/actions/index.d.ts.map +1 -0
  239. package/dist/session/actions/index.js +26 -0
  240. package/dist/session/actions/index.js.map +1 -0
  241. package/dist/session/audit-state.d.ts +16 -0
  242. package/dist/session/audit-state.d.ts.map +1 -0
  243. package/dist/session/audit-state.js +130 -0
  244. package/dist/session/audit-state.js.map +1 -0
  245. package/dist/session/controller-action-state.d.ts +11 -0
  246. package/dist/session/controller-action-state.d.ts.map +1 -0
  247. package/dist/session/controller-action-state.js +89 -0
  248. package/dist/session/controller-action-state.js.map +1 -0
  249. package/dist/session/controller.d.ts +20 -0
  250. package/dist/session/controller.d.ts.map +1 -0
  251. package/dist/session/controller.js +467 -0
  252. package/dist/session/controller.js.map +1 -0
  253. package/dist/session/default-values.d.ts +13 -0
  254. package/dist/session/default-values.d.ts.map +1 -0
  255. package/dist/session/default-values.js +64 -0
  256. package/dist/session/default-values.js.map +1 -0
  257. package/dist/session/defaults.d.ts +3 -0
  258. package/dist/session/defaults.d.ts.map +1 -0
  259. package/dist/session/defaults.js +12 -0
  260. package/dist/session/defaults.js.map +1 -0
  261. package/dist/session/effects/default-effect-handlers.d.ts +15 -0
  262. package/dist/session/effects/default-effect-handlers.d.ts.map +1 -0
  263. package/dist/session/effects/default-effect-handlers.js +84 -0
  264. package/dist/session/effects/default-effect-handlers.js.map +1 -0
  265. package/dist/session/effects/effect-types.d.ts +21 -0
  266. package/dist/session/effects/effect-types.d.ts.map +1 -0
  267. package/dist/session/effects/effect-types.js +24 -0
  268. package/dist/session/effects/effect-types.js.map +1 -0
  269. package/dist/session/effects/index.d.ts +5 -0
  270. package/dist/session/effects/index.d.ts.map +1 -0
  271. package/dist/session/effects/index.js +20 -0
  272. package/dist/session/effects/index.js.map +1 -0
  273. package/dist/session/executors/default-action-executors.d.ts +10 -0
  274. package/dist/session/executors/default-action-executors.d.ts.map +1 -0
  275. package/dist/session/executors/default-action-executors.js +159 -0
  276. package/dist/session/executors/default-action-executors.js.map +1 -0
  277. package/dist/session/executors/executor-keys.d.ts +38 -0
  278. package/dist/session/executors/executor-keys.d.ts.map +1 -0
  279. package/dist/session/executors/executor-keys.js +19 -0
  280. package/dist/session/executors/executor-keys.js.map +1 -0
  281. package/dist/session/executors/index.d.ts +5 -0
  282. package/dist/session/executors/index.d.ts.map +1 -0
  283. package/dist/session/executors/index.js +15 -0
  284. package/dist/session/executors/index.js.map +1 -0
  285. package/dist/session/form-state.d.ts +23 -0
  286. package/dist/session/form-state.d.ts.map +1 -0
  287. package/dist/session/form-state.js +44 -0
  288. package/dist/session/form-state.js.map +1 -0
  289. package/dist/session/index.d.ts +12 -0
  290. package/dist/session/index.d.ts.map +1 -0
  291. package/dist/session/index.js +12 -0
  292. package/dist/session/index.js.map +1 -0
  293. package/dist/session/page-state.d.ts +36 -0
  294. package/dist/session/page-state.d.ts.map +1 -0
  295. package/dist/session/page-state.js +125 -0
  296. package/dist/session/page-state.js.map +1 -0
  297. package/dist/session/preset/default-session-preset.d.ts +2 -0
  298. package/dist/session/preset/default-session-preset.d.ts.map +1 -0
  299. package/dist/session/preset/default-session-preset.js +12 -0
  300. package/dist/session/preset/default-session-preset.js.map +1 -0
  301. package/dist/session/preset/index.d.ts +4 -0
  302. package/dist/session/preset/index.d.ts.map +1 -0
  303. package/dist/session/preset/index.js +4 -0
  304. package/dist/session/preset/index.js.map +1 -0
  305. package/dist/session/preset/preset.d.ts +6 -0
  306. package/dist/session/preset/preset.d.ts.map +1 -0
  307. package/dist/session/preset/preset.js +40 -0
  308. package/dist/session/preset/preset.js.map +1 -0
  309. package/dist/session/preset/types.d.ts +7 -0
  310. package/dist/session/preset/types.d.ts.map +1 -0
  311. package/dist/session/preset/types.js +2 -0
  312. package/dist/session/preset/types.js.map +1 -0
  313. package/dist/session/table-state.d.ts +34 -0
  314. package/dist/session/table-state.d.ts.map +1 -0
  315. package/dist/session/table-state.js +211 -0
  316. package/dist/session/table-state.js.map +1 -0
  317. package/dist/session/tree-state.d.ts +16 -0
  318. package/dist/session/tree-state.d.ts.map +1 -0
  319. package/dist/session/tree-state.js +170 -0
  320. package/dist/session/tree-state.js.map +1 -0
  321. package/dist/session/types.d.ts +364 -0
  322. package/dist/session/types.d.ts.map +1 -0
  323. package/dist/session/types.js +2 -0
  324. package/dist/session/types.js.map +1 -0
  325. package/dist/ui-keys.d.ts +45 -0
  326. package/dist/ui-keys.d.ts.map +1 -0
  327. package/dist/ui-keys.js +45 -0
  328. package/dist/ui-keys.js.map +1 -0
  329. package/dist/utils/condition.d.ts +10 -0
  330. package/dist/utils/condition.d.ts.map +1 -0
  331. package/dist/utils/condition.js +32 -0
  332. package/dist/utils/condition.js.map +1 -0
  333. package/dist/utils/errors.d.ts +8 -0
  334. package/dist/utils/errors.d.ts.map +1 -0
  335. package/dist/utils/errors.js +30 -0
  336. package/dist/utils/errors.js.map +1 -0
  337. package/dist/utils/field-generator.d.ts +3 -0
  338. package/dist/utils/field-generator.d.ts.map +1 -0
  339. package/dist/utils/field-generator.js +16 -0
  340. package/dist/utils/field-generator.js.map +1 -0
  341. package/dist/utils/field-options.d.ts +7 -0
  342. package/dist/utils/field-options.d.ts.map +1 -0
  343. package/dist/utils/field-options.js +65 -0
  344. package/dist/utils/field-options.js.map +1 -0
  345. package/dist/utils/field-validation.d.ts +5 -0
  346. package/dist/utils/field-validation.d.ts.map +1 -0
  347. package/dist/utils/field-validation.js +206 -0
  348. package/dist/utils/field-validation.js.map +1 -0
  349. package/dist/utils/fields.d.ts +71 -0
  350. package/dist/utils/fields.d.ts.map +1 -0
  351. package/dist/utils/fields.js +111 -0
  352. package/dist/utils/fields.js.map +1 -0
  353. package/dist/utils/index.d.ts +11 -0
  354. package/dist/utils/index.d.ts.map +1 -0
  355. package/dist/utils/index.js +11 -0
  356. package/dist/utils/index.js.map +1 -0
  357. package/dist/utils/range-validation.d.ts +32 -0
  358. package/dist/utils/range-validation.d.ts.map +1 -0
  359. package/dist/utils/range-validation.js +156 -0
  360. package/dist/utils/range-validation.js.map +1 -0
  361. package/dist/utils/validation-format.d.ts +7 -0
  362. package/dist/utils/validation-format.d.ts.map +1 -0
  363. package/dist/utils/validation-format.js +105 -0
  364. package/dist/utils/validation-format.js.map +1 -0
  365. package/dist/utils/value-expression.d.ts +22 -0
  366. package/dist/utils/value-expression.d.ts.map +1 -0
  367. package/dist/utils/value-expression.js +190 -0
  368. package/dist/utils/value-expression.js.map +1 -0
  369. package/dist/utils/views.d.ts +9 -0
  370. package/dist/utils/views.d.ts.map +1 -0
  371. package/dist/utils/views.js +11 -0
  372. package/dist/utils/views.js.map +1 -0
  373. package/dist/view-model/build-detail-view-model.d.ts +7 -0
  374. package/dist/view-model/build-detail-view-model.d.ts.map +1 -0
  375. package/dist/view-model/build-detail-view-model.js +17 -0
  376. package/dist/view-model/build-detail-view-model.js.map +1 -0
  377. package/dist/view-model/build-form-view-model.d.ts +20 -0
  378. package/dist/view-model/build-form-view-model.d.ts.map +1 -0
  379. package/dist/view-model/build-form-view-model.js +74 -0
  380. package/dist/view-model/build-form-view-model.js.map +1 -0
  381. package/dist/view-model/build-nodes.d.ts +13 -0
  382. package/dist/view-model/build-nodes.d.ts.map +1 -0
  383. package/dist/view-model/build-nodes.js +123 -0
  384. package/dist/view-model/build-nodes.js.map +1 -0
  385. package/dist/view-model/build-page-view-model.d.ts +22 -0
  386. package/dist/view-model/build-page-view-model.d.ts.map +1 -0
  387. package/dist/view-model/build-page-view-model.js +73 -0
  388. package/dist/view-model/build-page-view-model.js.map +1 -0
  389. package/dist/view-model/build-resource-view-model.d.ts +9 -0
  390. package/dist/view-model/build-resource-view-model.d.ts.map +1 -0
  391. package/dist/view-model/build-resource-view-model.js +72 -0
  392. package/dist/view-model/build-resource-view-model.js.map +1 -0
  393. package/dist/view-model/build-search-view-model.d.ts +7 -0
  394. package/dist/view-model/build-search-view-model.d.ts.map +1 -0
  395. package/dist/view-model/build-search-view-model.js +101 -0
  396. package/dist/view-model/build-search-view-model.js.map +1 -0
  397. package/dist/view-model/build-table-view-model.d.ts +19 -0
  398. package/dist/view-model/build-table-view-model.d.ts.map +1 -0
  399. package/dist/view-model/build-table-view-model.js +443 -0
  400. package/dist/view-model/build-table-view-model.js.map +1 -0
  401. package/dist/view-model/index.d.ts +10 -0
  402. package/dist/view-model/index.d.ts.map +1 -0
  403. package/dist/view-model/index.js +10 -0
  404. package/dist/view-model/index.js.map +1 -0
  405. package/dist/view-model/placeholder.d.ts +6 -0
  406. package/dist/view-model/placeholder.d.ts.map +1 -0
  407. package/dist/view-model/placeholder.js +35 -0
  408. package/dist/view-model/placeholder.js.map +1 -0
  409. package/dist/view-model/types.d.ts +423 -0
  410. package/dist/view-model/types.d.ts.map +1 -0
  411. package/dist/view-model/types.js +2 -0
  412. package/dist/view-model/types.js.map +1 -0
  413. package/dist/view-state/index.d.ts +5 -0
  414. package/dist/view-state/index.d.ts.map +1 -0
  415. package/dist/view-state/index.js +5 -0
  416. package/dist/view-state/index.js.map +1 -0
  417. package/dist/view-state/resolve-action-state.d.ts +8 -0
  418. package/dist/view-state/resolve-action-state.d.ts.map +1 -0
  419. package/dist/view-state/resolve-action-state.js +71 -0
  420. package/dist/view-state/resolve-action-state.js.map +1 -0
  421. package/dist/view-state/resolve-field-runtime-state.d.ts +30 -0
  422. package/dist/view-state/resolve-field-runtime-state.d.ts.map +1 -0
  423. package/dist/view-state/resolve-field-runtime-state.js +85 -0
  424. package/dist/view-state/resolve-field-runtime-state.js.map +1 -0
  425. package/dist/view-state/resolve-node-state.d.ts +8 -0
  426. package/dist/view-state/resolve-node-state.d.ts.map +1 -0
  427. package/dist/view-state/resolve-node-state.js +14 -0
  428. package/dist/view-state/resolve-node-state.js.map +1 -0
  429. package/dist/view-state/types.d.ts +42 -0
  430. package/dist/view-state/types.d.ts.map +1 -0
  431. package/dist/view-state/types.js +2 -0
  432. package/dist/view-state/types.js.map +1 -0
  433. package/package.json +23 -0
@@ -0,0 +1,446 @@
1
+ import { validateFieldValue } from '../../utils';
2
+ import { resolveFieldRuntimeState, resolveNodeState } from '../../view-state';
3
+ import { createDefaultInitialValues as createSchemaDefaultInitialValues } from '../default-values';
4
+ import { CLOSE_FORM_EFFECT, createBuiltInEffect, LOAD_EDIT_FORM_EFFECT, NOTIFY_ERROR_EFFECT, OPEN_CREATE_FORM_EFFECT, OPEN_DETAIL_EFFECT, OPEN_EDIT_FORM_EFFECT, RELOAD_TABLE_EFFECT, RESET_FORM_EFFECT, RESET_SEARCH_VALUES_EFFECT, SET_PAGE_ONE_EFFECT, SET_RECYCLE_MODE_EFFECT, SYNC_SEARCH_VALUES_EFFECT, } from '../effects';
5
+ import { createBuiltInExecutor, SESSION_ACTION_EXECUTOR_DATA_CREATE, SESSION_ACTION_EXECUTOR_DATA_DELETE, SESSION_ACTION_EXECUTOR_DATA_PURGE, SESSION_ACTION_EXECUTOR_DATA_RESTORE, SESSION_ACTION_EXECUTOR_DATA_UPDATE, SESSION_ACTION_EXECUTOR_RELATION_OPERATION, } from '../executors';
6
+ import { resolveRelationListRefreshMode } from '../../relation-list';
7
+ export function handleCreateAction(context) {
8
+ return createHandledEffectsPlan(createBuiltInEffect(OPEN_CREATE_FORM_EFFECT, createDefaultInitialValues(context)));
9
+ }
10
+ export function handleCreateChildAction(context) {
11
+ if (!context.record) {
12
+ return {
13
+ kind: 'unhandled',
14
+ };
15
+ }
16
+ if (!context.formView) {
17
+ return createHandledEffectsPlan(createBuiltInEffect(NOTIFY_ERROR_EFFECT, {
18
+ message: '当前视图未配置创建表单。',
19
+ }));
20
+ }
21
+ const parentValue = context.record[context.primaryKey];
22
+ if (parentValue === undefined || parentValue === null || parentValue === '') {
23
+ return createHandledEffectsPlan(createBuiltInEffect(NOTIFY_ERROR_EFFECT, {
24
+ message: '无法添加下级:当前记录缺少主键。',
25
+ }));
26
+ }
27
+ const parentField = context.runContext.schema?.tree?.parent_field || 'parent_id';
28
+ return createHandledEffectsPlan(createBuiltInEffect(OPEN_CREATE_FORM_EFFECT, {
29
+ ...createDefaultInitialValues(context),
30
+ [parentField]: parentValue,
31
+ }));
32
+ }
33
+ export function handleDuplicateAction(context) {
34
+ if (!context.record) {
35
+ return {
36
+ kind: 'unhandled',
37
+ };
38
+ }
39
+ return createHandledEffectsPlan(createBuiltInEffect(OPEN_CREATE_FORM_EFFECT, {
40
+ ...createDefaultInitialValues(context),
41
+ ...createDuplicateInitialValues(context),
42
+ }));
43
+ }
44
+ export function handleUpdateAction(context) {
45
+ if (!context.record) {
46
+ return {
47
+ kind: 'unhandled',
48
+ };
49
+ }
50
+ const effects = [createBuiltInEffect(OPEN_EDIT_FORM_EFFECT, context.record)];
51
+ if (context.editForm) {
52
+ effects.push(createBuiltInEffect(LOAD_EDIT_FORM_EFFECT));
53
+ }
54
+ return createHandledEffectsPlan(...effects);
55
+ }
56
+ export function handleViewAction(context) {
57
+ if (!context.record) {
58
+ return {
59
+ kind: 'unhandled',
60
+ };
61
+ }
62
+ return createHandledEffectsPlan(createBuiltInEffect(OPEN_DETAIL_EFFECT, context.record));
63
+ }
64
+ export function handleCancelAction() {
65
+ return createHandledEffectsPlan(createBuiltInEffect(CLOSE_FORM_EFFECT));
66
+ }
67
+ export function handleResetAction() {
68
+ return createHandledEffectsPlan(createBuiltInEffect(RESET_FORM_EFFECT));
69
+ }
70
+ export async function handleSearchSubmitAction(context) {
71
+ const applied = await applySearchHooks(context);
72
+ if (!applied)
73
+ return createHandledEffectsPlan();
74
+ return createHandledEffectsPlan(...createSearchReloadEffects());
75
+ }
76
+ export function handleSearchResetAction() {
77
+ return createHandledEffectsPlan(createBuiltInEffect(RESET_FORM_EFFECT), createBuiltInEffect(RESET_SEARCH_VALUES_EFFECT), ...createSearchReloadEffects());
78
+ }
79
+ export async function handleSubmitAction(context) {
80
+ return createSubmitActionPlan(context);
81
+ }
82
+ export async function handleSaveDraftAction(context) {
83
+ return createSubmitActionPlan(context, {
84
+ mode: 'draft',
85
+ validate: false,
86
+ });
87
+ }
88
+ async function createSubmitActionPlan(context, payload) {
89
+ if (shouldValidateSubmit(payload)) {
90
+ const beforeValidate = await context.runtime.options.hooks?.beforeValidate?.(createSubmitHookContext(context));
91
+ if (beforeValidate === false)
92
+ return createHandledEffectsPlan();
93
+ if (beforeValidate)
94
+ context.controller.setValues({ ...context.form.values, ...beforeValidate });
95
+ const result = validateFormFields(context);
96
+ await context.runtime.options.hooks?.afterValidate?.({
97
+ ...createSubmitHookContext(context),
98
+ valid: Object.keys(result.errors).length === 0,
99
+ errors: result.errors,
100
+ });
101
+ if (Object.keys(result.errors).length > 0) {
102
+ context.form.errors = result.errors;
103
+ return createHandledEffectsPlan(createBuiltInEffect(NOTIFY_ERROR_EFFECT, {
104
+ message: result.message,
105
+ errors: result.errors,
106
+ }));
107
+ }
108
+ context.form.errors = {};
109
+ }
110
+ if (context.controller.page.formMode === 'create') {
111
+ return createSubmitExecutionPlan(context, SESSION_ACTION_EXECUTOR_DATA_CREATE, payload);
112
+ }
113
+ if (context.controller.page.formMode === 'edit') {
114
+ return createSubmitExecutionPlan(context, SESSION_ACTION_EXECUTOR_DATA_UPDATE, payload);
115
+ }
116
+ return {
117
+ kind: 'unhandled',
118
+ };
119
+ }
120
+ async function applySearchHooks(context) {
121
+ const hooks = context.runtime.options.hooks;
122
+ if (!hooks?.beforeSearchApply && !hooks?.afterSearchApply)
123
+ return true;
124
+ const hookContext = createBaseHookContext(context);
125
+ const result = await hooks?.beforeSearchApply?.({ ...hookContext, values: { ...context.form.values } });
126
+ if (result === false)
127
+ return false;
128
+ if (result)
129
+ replaceValues(context.form.values, { ...context.form.values, ...result });
130
+ await hooks?.afterSearchApply?.({ ...hookContext, values: { ...context.form.values } });
131
+ return true;
132
+ }
133
+ function createSubmitHookContext(context) {
134
+ return {
135
+ ...createBaseHookContext(context),
136
+ mode: 'form',
137
+ values: { ...context.form.values },
138
+ record: context.controller.page.record,
139
+ };
140
+ }
141
+ function createBaseHookContext(context) {
142
+ const schema = context.runContext.schema;
143
+ if (!schema)
144
+ throw new Error(`Schema Runtime Hook 缺少资源 ${context.resource ?? ''} 的 Schema 上下文`);
145
+ return {
146
+ schema,
147
+ resource: context.runContext.resourceMeta,
148
+ resourceKey: context.resource ?? context.runContext.resource,
149
+ mode: context.runContext.mode ?? 'page',
150
+ viewName: context.viewName,
151
+ scope: context.runContext.scope,
152
+ };
153
+ }
154
+ function replaceValues(target, values) {
155
+ for (const key of Object.keys(target))
156
+ delete target[key];
157
+ Object.assign(target, values);
158
+ }
159
+ function shouldValidateSubmit(payload) {
160
+ return payload?.validate !== false;
161
+ }
162
+ function validateFormFields(context) {
163
+ const errors = {};
164
+ const values = context.form.values;
165
+ let hasOnlyRequiredErrors = true;
166
+ const validationContext = createValidationExpressionContext(context);
167
+ const fields = context.formView
168
+ ? collectWritableFormFieldsFromNodes(context.formView.children, validationContext)
169
+ : collectWritableFormFieldsFromSchema(context.runContext.schema?.fields, context.runContext.mode, context.controller.page.formMode);
170
+ for (const field of fields) {
171
+ const value = values[field.name];
172
+ const messages = validateFieldValue(field, value, validationContext);
173
+ for (const message of messages) {
174
+ appendFieldError(errors, field.name, message);
175
+ }
176
+ if (messages.length > 0 && !isRequiredValidationMessage(field, messages[0])) {
177
+ hasOnlyRequiredErrors = false;
178
+ }
179
+ }
180
+ return {
181
+ errors,
182
+ message: hasOnlyRequiredErrors ? '请完善必填项。' : '请修正表单错误。',
183
+ };
184
+ }
185
+ function collectWritableFormFieldsFromNodes(nodes, context) {
186
+ const fields = [];
187
+ for (const node of nodes) {
188
+ const nodeState = resolveNodeState(node, context);
189
+ if (!nodeState.visible) {
190
+ continue;
191
+ }
192
+ if (node.fieldSchema) {
193
+ const fieldState = resolveFieldRuntimeState({
194
+ field: node.fieldSchema,
195
+ dataSource: node.raw.dataSource,
196
+ mode: context.mode,
197
+ formMode: context.formMode,
198
+ disabled: nodeState.disabled,
199
+ readonly: nodeState.readonly,
200
+ });
201
+ if (!fieldState.disabled && !fieldState.readonly) {
202
+ fields.push(node.fieldSchema);
203
+ }
204
+ }
205
+ if (node.children.length > 0) {
206
+ fields.push(...collectWritableFormFieldsFromNodes(node.children, context));
207
+ }
208
+ }
209
+ return fields;
210
+ }
211
+ function collectWritableFormFieldsFromSchema(fields, mode, formMode) {
212
+ return (fields ?? []).filter((field) => {
213
+ const state = resolveFieldRuntimeState({ field, mode, formMode });
214
+ return field.formable !== false && !state.disabled && !state.readonly;
215
+ });
216
+ }
217
+ function createValidationExpressionContext(context) {
218
+ return {
219
+ schema: context.runContext.schema,
220
+ mode: context.runContext.mode,
221
+ formMode: context.controller.page.formMode,
222
+ form: context.form.values,
223
+ record: context.record ?? context.controller.page.record,
224
+ action: context.controller.page.formMode === 'edit' ? 'update' : 'create',
225
+ writeMode: payloadMode(context.runContext.payload),
226
+ payload: context.runContext.payload,
227
+ };
228
+ }
229
+ function payloadMode(payload) {
230
+ return typeof payload === 'object' && payload !== null ? payload.mode : undefined;
231
+ }
232
+ function isRequiredValidationMessage(field, message) {
233
+ if (!message) {
234
+ return false;
235
+ }
236
+ if (message === `${field.label || field.name}不能为空。`) {
237
+ return true;
238
+ }
239
+ return (field.validation?.some((rule) => String(rule.type).trim().toLowerCase() === 'required' && rule.message === message) ?? false);
240
+ }
241
+ function appendFieldError(errors, field, message) {
242
+ errors[field] = [...(errors[field] ?? []), message];
243
+ }
244
+ function createDuplicateInitialValues(context) {
245
+ const values = {};
246
+ const fields = context.runContext.schema?.fields ?? [];
247
+ const fieldsByName = new Map(fields.map((field) => [field.name, field]));
248
+ for (const [key, value] of Object.entries(context.record ?? {})) {
249
+ const field = fieldsByName.get(key);
250
+ if (shouldSkipDuplicateField(key, field)) {
251
+ continue;
252
+ }
253
+ values[key] = value;
254
+ }
255
+ return values;
256
+ }
257
+ function createDefaultInitialValues(context) {
258
+ const nodes = context.formView?.children ?? context.editForm?.children ?? [];
259
+ return createSchemaDefaultInitialValues({
260
+ schema: context.runContext.schema,
261
+ nodes,
262
+ });
263
+ }
264
+ function shouldSkipDuplicateField(name, field) {
265
+ if (isSystemDuplicateField(name)) {
266
+ return true;
267
+ }
268
+ if (!field) {
269
+ return false;
270
+ }
271
+ return field.readonly === true || field.disabled === true || isUniqueField(field) || isGeneratorField(field);
272
+ }
273
+ function isSystemDuplicateField(name) {
274
+ return SYSTEM_DUPLICATE_FIELDS.has(name);
275
+ }
276
+ function isUniqueField(field) {
277
+ const input = field;
278
+ return input.unique === true || field.extensions?.unique === true;
279
+ }
280
+ function isGeneratorField(field) {
281
+ return Boolean(field.extensions?.generator);
282
+ }
283
+ const SYSTEM_DUPLICATE_FIELDS = new Set([
284
+ 'id',
285
+ 'created_at',
286
+ 'updated_at',
287
+ 'deleted_at',
288
+ 'created_by',
289
+ 'updated_by',
290
+ 'deleted_by',
291
+ 'version',
292
+ ]);
293
+ export function handleDeleteAction(context) {
294
+ if (!context.record) {
295
+ return {
296
+ kind: 'unhandled',
297
+ };
298
+ }
299
+ const relation = resolveRelationPayload(context.runContext.payload);
300
+ const executor = relation
301
+ ? {
302
+ ...createBuiltInExecutor(SESSION_ACTION_EXECUTOR_RELATION_OPERATION),
303
+ payload: { operation: 'delete' },
304
+ }
305
+ : createBuiltInExecutor(SESSION_ACTION_EXECUTOR_DATA_DELETE);
306
+ return createHandledExecutionPlan(executor, {
307
+ success: createRelationReloadEffects(context, 'delete'),
308
+ error: [createBuiltInEffect(NOTIFY_ERROR_EFFECT)],
309
+ });
310
+ }
311
+ export function handleDetachAction(context) {
312
+ if (!context.record) {
313
+ return {
314
+ kind: 'unhandled',
315
+ };
316
+ }
317
+ return createHandledExecutionPlan({
318
+ ...createBuiltInExecutor(SESSION_ACTION_EXECUTOR_RELATION_OPERATION),
319
+ payload: { operation: 'detach' },
320
+ }, {
321
+ success: createRelationReloadEffects(context, 'detach'),
322
+ error: [createBuiltInEffect(NOTIFY_ERROR_EFFECT)],
323
+ });
324
+ }
325
+ export function handleRelationDirectAction(context) {
326
+ const relation = resolveRelationPayload(context.runContext.payload);
327
+ if (!relation?.operation) {
328
+ return {
329
+ kind: 'unhandled',
330
+ };
331
+ }
332
+ return createHandledExecutionPlan({
333
+ ...createBuiltInExecutor(SESSION_ACTION_EXECUTOR_RELATION_OPERATION),
334
+ payload: { operation: relation.operation },
335
+ }, {
336
+ success: createRelationReloadEffects(context, relation.operation),
337
+ error: [createBuiltInEffect(NOTIFY_ERROR_EFFECT)],
338
+ });
339
+ }
340
+ export function handleRecycleBinAction() {
341
+ return createHandledEffectsPlan(createBuiltInEffect(SET_RECYCLE_MODE_EFFECT, 'only'));
342
+ }
343
+ export function handleReturnListAction() {
344
+ return createHandledEffectsPlan(createBuiltInEffect(SET_RECYCLE_MODE_EFFECT, ''));
345
+ }
346
+ export function handleRestoreAction(context) {
347
+ if (!context.record) {
348
+ return {
349
+ kind: 'unhandled',
350
+ };
351
+ }
352
+ return createHandledExecutionPlan(createBuiltInExecutor(SESSION_ACTION_EXECUTOR_DATA_RESTORE), {
353
+ success: [createBuiltInEffect(RELOAD_TABLE_EFFECT)],
354
+ });
355
+ }
356
+ export function handlePurgeAction(context) {
357
+ if (!context.record) {
358
+ return {
359
+ kind: 'unhandled',
360
+ };
361
+ }
362
+ return createHandledExecutionPlan(createBuiltInExecutor(SESSION_ACTION_EXECUTOR_DATA_PURGE), {
363
+ success: [createBuiltInEffect(RELOAD_TABLE_EFFECT)],
364
+ });
365
+ }
366
+ export function handleReloadAction() {
367
+ return createHandledEffectsPlan(createBuiltInEffect(RELOAD_TABLE_EFFECT));
368
+ }
369
+ function createHandledEffectsPlan(...effects) {
370
+ return {
371
+ kind: 'handled',
372
+ effects,
373
+ };
374
+ }
375
+ function createHandledExecutionPlan(executor, options) {
376
+ return {
377
+ kind: 'handled',
378
+ execution: {
379
+ executor,
380
+ success: options.success,
381
+ error: options.error,
382
+ },
383
+ };
384
+ }
385
+ function createSearchReloadEffects() {
386
+ return [
387
+ createBuiltInEffect(SYNC_SEARCH_VALUES_EFFECT),
388
+ createBuiltInEffect(SET_PAGE_ONE_EFFECT),
389
+ createBuiltInEffect(RELOAD_TABLE_EFFECT),
390
+ ];
391
+ }
392
+ function createSubmitExecutionPlan(context, executor, payload) {
393
+ const relation = resolveRelationPayload(context.runContext.payload);
394
+ const operation = relation?.operation ?? (executor === SESSION_ACTION_EXECUTOR_DATA_CREATE ? 'create' : 'update');
395
+ const descriptor = relation
396
+ ? {
397
+ ...createBuiltInExecutor(SESSION_ACTION_EXECUTOR_RELATION_OPERATION),
398
+ payload: { ...payload, operation },
399
+ }
400
+ : executor === SESSION_ACTION_EXECUTOR_DATA_CREATE
401
+ ? createBuiltInExecutor(SESSION_ACTION_EXECUTOR_DATA_CREATE)
402
+ : createBuiltInExecutor(SESSION_ACTION_EXECUTOR_DATA_UPDATE);
403
+ return createHandledExecutionPlan(payload && descriptor.kind !== SESSION_ACTION_EXECUTOR_RELATION_OPERATION
404
+ ? { ...descriptor, payload }
405
+ : descriptor, {
406
+ success: [
407
+ createBuiltInEffect(CLOSE_FORM_EFFECT),
408
+ createBuiltInEffect(RESET_FORM_EFFECT),
409
+ ...createRelationReloadEffects(context, executor === SESSION_ACTION_EXECUTOR_DATA_CREATE ? 'create' : 'update'),
410
+ ],
411
+ error: [createBuiltInEffect(NOTIFY_ERROR_EFFECT)],
412
+ });
413
+ }
414
+ function createRelationReloadEffects(context, fallbackOperation) {
415
+ const relation = resolveRelationPayload(context.runContext.payload);
416
+ if (!relation) {
417
+ return [createBuiltInEffect(RELOAD_TABLE_EFFECT)];
418
+ }
419
+ const mode = resolveRelationListRefreshMode(relation.binding, relation.operation ?? fallbackOperation);
420
+ if (mode === 'none') {
421
+ return [];
422
+ }
423
+ if (mode === 'reload-first') {
424
+ return [createBuiltInEffect(SET_PAGE_ONE_EFFECT), createBuiltInEffect(RELOAD_TABLE_EFFECT)];
425
+ }
426
+ return [createBuiltInEffect(RELOAD_TABLE_EFFECT)];
427
+ }
428
+ function resolveRelationPayload(payload) {
429
+ if (!isRecord(payload) || !isRelationBinding(payload.binding)) {
430
+ return undefined;
431
+ }
432
+ return {
433
+ binding: payload.binding,
434
+ operation: isRelationOperation(payload.operation) ? payload.operation : undefined,
435
+ };
436
+ }
437
+ function isRelationBinding(value) {
438
+ return isRecord(value) && value.type === 'relation-list' && typeof value.relation === 'string';
439
+ }
440
+ function isRelationOperation(value) {
441
+ return value === 'create' || value === 'attach' || value === 'update' || value === 'detach' || value === 'delete';
442
+ }
443
+ function isRecord(value) {
444
+ return typeof value === 'object' && value !== null;
445
+ }
446
+ //# sourceMappingURL=default-action-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-action-handlers.js","sourceRoot":"","sources":["../../../src/session/actions/default-action-handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { SessionActionHandler } from '../types';
2
+ export * from './default-action-handlers';
3
+ export declare const DEFAULT_SESSION_ACTION_HANDLER_ENTRIES: ReadonlyArray<readonly [string, SessionActionHandler]>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/session/actions/index.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAwBpD,cAAc,2BAA2B,CAAA;AAEzC,eAAO,MAAM,sCAAsC,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAoBzG,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { BUILTIN_ACTION_CANCEL, BUILTIN_ACTION_CREATE, BUILTIN_ACTION_CREATE_CHILD, BUILTIN_ACTION_DELETE, BUILTIN_ACTION_DETACH, BUILTIN_ACTION_DUPLICATE, BUILTIN_ACTION_PURGE, BUILTIN_ACTION_RELOAD, BUILTIN_ACTION_RECYCLE_BIN, BUILTIN_ACTION_RESET, BUILTIN_ACTION_RESTORE, BUILTIN_ACTION_RETURN_LIST, BUILTIN_ACTION_SAVE_DRAFT, BUILTIN_ACTION_SEARCH_RESET, BUILTIN_ACTION_SEARCH_SUBMIT, BUILTIN_ACTION_SUBMIT, BUILTIN_ACTION_UPDATE, BUILTIN_ACTION_VIEW, } from '../../action';
2
+ import { RELATION_LIST_DIRECT_ACTION_HANDLER } from '../../relation-list';
3
+ import { handleCancelAction, handleCreateAction, handleCreateChildAction, handleDeleteAction, handleDetachAction, handleDuplicateAction, handlePurgeAction, handleReloadAction, handleRelationDirectAction, handleRecycleBinAction, handleResetAction, handleRestoreAction, handleReturnListAction, handleSaveDraftAction, handleSearchResetAction, handleSearchSubmitAction, handleSubmitAction, handleUpdateAction, handleViewAction, } from './default-action-handlers';
4
+ export * from './default-action-handlers';
5
+ export const DEFAULT_SESSION_ACTION_HANDLER_ENTRIES = [
6
+ [RELATION_LIST_DIRECT_ACTION_HANDLER, handleRelationDirectAction],
7
+ [BUILTIN_ACTION_CREATE, handleCreateAction],
8
+ [BUILTIN_ACTION_CREATE_CHILD, handleCreateChildAction],
9
+ [BUILTIN_ACTION_DUPLICATE, handleDuplicateAction],
10
+ [BUILTIN_ACTION_UPDATE, handleUpdateAction],
11
+ [BUILTIN_ACTION_VIEW, handleViewAction],
12
+ [BUILTIN_ACTION_CANCEL, handleCancelAction],
13
+ [BUILTIN_ACTION_RESET, handleResetAction],
14
+ [BUILTIN_ACTION_SAVE_DRAFT, handleSaveDraftAction],
15
+ [BUILTIN_ACTION_SUBMIT, handleSubmitAction],
16
+ [BUILTIN_ACTION_DELETE, handleDeleteAction],
17
+ [BUILTIN_ACTION_DETACH, handleDetachAction],
18
+ [BUILTIN_ACTION_RELOAD, handleReloadAction],
19
+ [BUILTIN_ACTION_RECYCLE_BIN, handleRecycleBinAction],
20
+ [BUILTIN_ACTION_RETURN_LIST, handleReturnListAction],
21
+ [BUILTIN_ACTION_RESTORE, handleRestoreAction],
22
+ [BUILTIN_ACTION_PURGE, handlePurgeAction],
23
+ [BUILTIN_ACTION_SEARCH_SUBMIT, handleSearchSubmitAction],
24
+ [BUILTIN_ACTION_SEARCH_RESET, handleSearchResetAction],
25
+ ];
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/session/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,GACtB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EACH,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GACnB,MAAM,2BAA2B,CAAA;AAElC,cAAc,2BAA2B,CAAA;AAEzC,MAAM,CAAC,MAAM,sCAAsC,GAA2D;IAC1G,CAAC,mCAAmC,EAAE,0BAA0B,CAAC;IACjE,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;IAC3C,CAAC,2BAA2B,EAAE,uBAAuB,CAAC;IACtD,CAAC,wBAAwB,EAAE,qBAAqB,CAAC;IACjD,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;IAC3C,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;IACvC,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;IAC3C,CAAC,oBAAoB,EAAE,iBAAiB,CAAC;IACzC,CAAC,yBAAyB,EAAE,qBAAqB,CAAC;IAClD,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;IAC3C,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;IAC3C,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;IAC3C,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;IAC3C,CAAC,0BAA0B,EAAE,sBAAsB,CAAC;IACpD,CAAC,0BAA0B,EAAE,sBAAsB,CAAC;IACpD,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;IAC7C,CAAC,oBAAoB,EAAE,iBAAiB,CAAC;IACzC,CAAC,4BAA4B,EAAE,wBAAwB,CAAC;IACxD,CAAC,2BAA2B,EAAE,uBAAuB,CAAC;CACzD,CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { AuditListResult } from '../data';
2
+ import type { SessionAuditLoadInput, SessionAuditState } from './types';
3
+ export interface SessionAuditStateApi {
4
+ openAudit(record: Record<string, unknown>): void;
5
+ closeAudit(): void;
6
+ loadAudit(input: SessionAuditLoadInput): Promise<AuditListResult>;
7
+ loadMoreAudit(input: SessionAuditLoadInput): Promise<AuditListResult>;
8
+ refreshAudit(input: SessionAuditLoadInput): Promise<AuditListResult>;
9
+ }
10
+ /**
11
+ * 创建审计状态操作集。
12
+ *
13
+ * 审计是记录详情的内置只读能力,core 只维护状态和数据加载,不参与 UI 呈现。
14
+ */
15
+ export declare function createSessionAuditStateApi(auditState: SessionAuditState): SessionAuditStateApi;
16
+ //# sourceMappingURL=audit-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-state.d.ts","sourceRoot":"","sources":["../../src/session/audit-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4B,eAAe,EAAE,MAAM,SAAS,CAAA;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEvE,MAAM,WAAW,oBAAoB;IACjC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAChD,UAAU,IAAI,IAAI,CAAA;IAClB,SAAS,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IACjE,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IACrE,YAAY,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;CACvE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,oBAAoB,CA6E9F"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * 创建审计状态操作集。
3
+ *
4
+ * 审计是记录详情的内置只读能力,core 只维护状态和数据加载,不参与 UI 呈现。
5
+ */
6
+ export function createSessionAuditStateApi(auditState) {
7
+ let loadVersion = 0;
8
+ function openAudit(record) {
9
+ auditState.open = true;
10
+ auditState.record = record;
11
+ auditState.error = undefined;
12
+ }
13
+ function closeAudit() {
14
+ auditState.open = false;
15
+ }
16
+ async function loadAudit(input) {
17
+ const currentVersion = ++loadVersion;
18
+ const context = createAuditContext(auditState, input, input.page ?? 1);
19
+ const firstPage = (context.page ?? 1) <= 1;
20
+ auditState.loading = firstPage;
21
+ auditState.loadingMore = !firstPage;
22
+ auditState.error = undefined;
23
+ auditState.page = context.page ?? 1;
24
+ auditState.pageSize = context.pageSize ?? auditState.pageSize;
25
+ auditState.type = context.type;
26
+ auditState.lastContext = context;
27
+ try {
28
+ const result = await resolveAuditResult(input, context);
29
+ if (currentVersion === loadVersion) {
30
+ auditState.result = result;
31
+ applyAuditResult(auditState, result, firstPage);
32
+ }
33
+ return result;
34
+ }
35
+ catch (error) {
36
+ if (currentVersion === loadVersion) {
37
+ auditState.error = error;
38
+ }
39
+ throw error;
40
+ }
41
+ finally {
42
+ if (currentVersion === loadVersion) {
43
+ auditState.loading = false;
44
+ auditState.loadingMore = false;
45
+ }
46
+ }
47
+ }
48
+ async function loadMoreAudit(input) {
49
+ if (!auditState.hasMore || auditState.loading || auditState.loadingMore) {
50
+ return emptyAuditResult(auditState);
51
+ }
52
+ return loadAudit({
53
+ ...input,
54
+ record: input.record ?? auditState.record,
55
+ page: auditState.page + 1,
56
+ pageSize: input.pageSize ?? auditState.pageSize,
57
+ type: input.type ?? auditState.type,
58
+ });
59
+ }
60
+ async function refreshAudit(input) {
61
+ return loadAudit({
62
+ ...input,
63
+ record: input.record ?? auditState.record,
64
+ page: 1,
65
+ pageSize: input.pageSize ?? auditState.pageSize,
66
+ type: input.type ?? auditState.type,
67
+ });
68
+ }
69
+ return {
70
+ openAudit,
71
+ closeAudit,
72
+ loadAudit,
73
+ loadMoreAudit,
74
+ refreshAudit,
75
+ };
76
+ }
77
+ function createAuditContext(auditState, input, page) {
78
+ const record = input.record ?? auditState.record;
79
+ const primaryKey = input.primaryKey || 'id';
80
+ return {
81
+ resource: input.resource,
82
+ view: input.view,
83
+ payload: input.payload,
84
+ id: input.id ?? record?.[primaryKey],
85
+ record,
86
+ page,
87
+ pageSize: input.pageSize ?? auditState.pageSize,
88
+ type: input.type ?? auditState.type,
89
+ };
90
+ }
91
+ async function resolveAuditResult(input, context) {
92
+ const adapter = input.runtime.options.dataAdapter;
93
+ if (!adapter?.audit) {
94
+ return {
95
+ results: [],
96
+ total: 0,
97
+ page: context.page,
98
+ pageSize: context.pageSize,
99
+ hasMore: false,
100
+ };
101
+ }
102
+ return adapter.audit(context);
103
+ }
104
+ function applyAuditResult(auditState, result, firstPage) {
105
+ const items = Array.isArray(result.results) ? result.results : [];
106
+ auditState.items = firstPage ? items : [...auditState.items, ...items];
107
+ auditState.total = result.total;
108
+ auditState.page = result.page ?? auditState.page;
109
+ auditState.pageSize = result.pageSize ?? auditState.pageSize;
110
+ auditState.hasMore = resolveHasMore(auditState.items, items, auditState, result);
111
+ }
112
+ function resolveHasMore(allItems, currentItems, auditState, result) {
113
+ if (typeof result.hasMore === 'boolean') {
114
+ return result.hasMore;
115
+ }
116
+ if (typeof result.total === 'number') {
117
+ return allItems.length < result.total;
118
+ }
119
+ return currentItems.length >= auditState.pageSize;
120
+ }
121
+ function emptyAuditResult(auditState) {
122
+ return {
123
+ results: [],
124
+ total: auditState.total,
125
+ page: auditState.page,
126
+ pageSize: auditState.pageSize,
127
+ hasMore: auditState.hasMore,
128
+ };
129
+ }
130
+ //# sourceMappingURL=audit-state.js.map