cabloy 5.1.65 → 5.1.67

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 (340) hide show
  1. package/.claude/skills/cabloy-resource-field-update/SKILL.md +6 -0
  2. package/CHANGELOG.md +55 -0
  3. package/cabloy-docs/.vitepress/config.mjs +1 -1
  4. package/cabloy-docs/backend/crud-workflow.md +33 -0
  5. package/cabloy-docs/backend/master-detail-workflow.md +149 -0
  6. package/cabloy-docs/frontend/bean-scene-authoring.md +1 -1
  7. package/cabloy-docs/frontend/cli.md +12 -1
  8. package/cabloy-docs/frontend/command-scene-authoring.md +12 -1
  9. package/cabloy-docs/frontend/component-guide.md +10 -0
  10. package/cabloy-docs/frontend/permission-formscene-action-visibility-guide.md +69 -7
  11. package/cabloy-docs/frontend/table-cell-cookbook.md +10 -0
  12. package/cabloy-docs/fullstack/backend-metadata-to-frontend-table-actions.md +83 -2
  13. package/cabloy-docs/reference/bean-scene-boilerplates.md +9 -4
  14. package/package.json +1 -1
  15. package/vona/packages-cli/cabloy-cli/package.json +1 -1
  16. package/vona/packages-cli/cabloy-cli/src/lib/local.helper.ts +38 -0
  17. package/vona/packages-cli/cli/package.json +1 -1
  18. package/vona/packages-cli/cli-set-api/cli/templates/create/module/boilerplate/_package.json +1 -1
  19. package/vona/packages-cli/cli-set-api/cli/templates/tools/masterDetail/boilerplate/dto/<%=argv.detailDtoBaseName%>.tsx_ +18 -0
  20. package/vona/packages-cli/cli-set-api/cli/templates/tools/masterDetail/boilerplate/dto/<%=argv.detailDtoMutateName%>.tsx_ +17 -0
  21. package/vona/packages-cli/cli-set-api/cli/templates/tools/masterDetail/boilerplate/dto/<%=argv.detailDtoResItemName%>.tsx_ +60 -0
  22. package/vona/packages-cli/cli-set-api/cli/templates/tools/masterDetail/boilerplate/dto/<%=argv.detailDtoViewName%>.tsx_ +17 -0
  23. package/vona/packages-cli/cli-set-api/package.json +2 -2
  24. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.create.bean.ts +2 -6
  25. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.create.module.ts +3 -6
  26. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.create.suite.ts +1 -1
  27. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.create.test.ts +2 -6
  28. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.init.asset.ts +2 -6
  29. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.init.config.ts +2 -6
  30. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.init.constant.ts +2 -6
  31. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.init.error.ts +2 -6
  32. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.init.lib.ts +2 -6
  33. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.init.locale.ts +2 -6
  34. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.init.main.ts +2 -6
  35. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.init.monkey.ts +2 -6
  36. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.init.static.ts +2 -6
  37. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.init.types.ts +2 -6
  38. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.tools.crud.ts +2 -6
  39. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.tools.crudBasic.ts +2 -6
  40. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.tools.crudStart.ts +2 -6
  41. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.tools.masterDetail.ts +699 -0
  42. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.tools.metadata.ts +1 -2
  43. package/vona/packages-cli/cli-set-api/src/lib/beans.ts +2 -0
  44. package/vona/packages-cli/cli-set-api/src/lib/command/tools.masterDetail.ts +78 -0
  45. package/vona/packages-cli/cli-set-api/src/lib/commands.ts +2 -0
  46. package/vona/packages-vona/vona/package.json +1 -1
  47. package/vona/packages-vona/vona-core/package.json +1 -1
  48. package/vona/packages-vona/vona-core/src/lib/mappedClass/type.ts +1 -0
  49. package/vona/packages-vona/vona-core/src/lib/mappedClass/utils.ts +36 -14
  50. package/vona/packages-vona/vona-mock/package.json +1 -1
  51. package/vona/pnpm-lock.yaml +35 -11
  52. package/vona/src/suite/a-demo/modules/demo-basic/package.json +1 -1
  53. package/vona/src/suite/a-home/modules/home-base/package.json +1 -1
  54. package/vona/src/suite/a-home/modules/home-index/package.json +1 -1
  55. package/vona/src/suite/a-home/modules/home-user/package.json +1 -1
  56. package/vona/src/suite/a-training/modules/training-record/package.json +1 -1
  57. package/vona/src/suite/a-training/modules/training-record/src/.metadata/index.ts +232 -3
  58. package/vona/src/suite/a-training/modules/training-record/src/bean/ssrMenu.record.ts +29 -0
  59. package/vona/src/suite/a-training/modules/training-record/src/config/locale/en-us.ts +9 -1
  60. package/vona/src/suite/a-training/modules/training-record/src/config/locale/zh-cn.ts +9 -1
  61. package/vona/src/suite/a-training/modules/training-record/src/controller/record.ts +59 -0
  62. package/vona/src/suite/a-training/modules/training-record/src/dto/detailRecordSubjectBase.tsx +18 -0
  63. package/vona/src/suite/a-training/modules/training-record/src/dto/detailRecordSubjectMutate.tsx +17 -0
  64. package/vona/src/suite/a-training/modules/training-record/src/dto/detailRecordSubjectResItem.tsx +60 -0
  65. package/vona/src/suite/a-training/modules/training-record/src/dto/detailRecordSubjectView.tsx +17 -0
  66. package/vona/src/suite/a-training/modules/training-record/src/dto/recordCreate.tsx +45 -0
  67. package/vona/src/suite/a-training/modules/training-record/src/dto/recordSelectReq.tsx +38 -0
  68. package/vona/src/suite/a-training/modules/training-record/src/dto/recordSelectRes.tsx +11 -0
  69. package/vona/src/suite/a-training/modules/training-record/src/dto/recordSelectResItem.tsx +39 -0
  70. package/vona/src/suite/a-training/modules/training-record/src/dto/recordUpdate.tsx +45 -0
  71. package/vona/src/suite/a-training/modules/training-record/src/dto/recordView.tsx +42 -0
  72. package/vona/src/suite/a-training/modules/training-record/src/entity/record.tsx +23 -6
  73. package/vona/src/suite/a-training/modules/training-record/src/model/record.ts +15 -2
  74. package/vona/src/suite/a-training/modules/training-record/src/service/record.ts +50 -0
  75. package/vona/src/suite/a-training/modules/training-record/test/record.test.ts +138 -0
  76. package/vona/src/suite/a-training/modules/training-recordsubject/package.json +53 -0
  77. package/vona/src/suite/a-training/modules/training-recordsubject/src/.metadata/index.ts +198 -0
  78. package/vona/src/suite/a-training/modules/training-recordsubject/src/.metadata/locales.ts +18 -0
  79. package/vona/src/suite/a-training/modules/training-recordsubject/src/.metadata/this.ts +2 -0
  80. package/vona/src/suite/a-training/modules/training-recordsubject/src/bean/meta.index.ts +12 -0
  81. package/vona/src/suite/a-training/modules/training-recordsubject/src/bean/meta.version.ts +21 -0
  82. package/vona/src/suite/a-training/modules/training-recordsubject/src/config/locale/en-us.ts +9 -0
  83. package/vona/src/suite/a-training/modules/training-recordsubject/src/config/locale/zh-cn.ts +9 -0
  84. package/vona/src/suite/a-training/modules/training-recordsubject/src/entity/subject.tsx +42 -0
  85. package/vona/src/suite/a-training/modules/training-recordsubject/src/index.ts +2 -0
  86. package/vona/src/suite/a-training/modules/training-recordsubject/src/model/subject.ts +10 -0
  87. package/vona/src/suite/a-training/modules/training-recordsubject/tsconfig.build.json +11 -0
  88. package/vona/src/suite/a-training/modules/training-recordsubject/tsconfig.json +7 -0
  89. package/vona/src/suite/a-training/modules/training-student/package.json +1 -1
  90. package/vona/src/suite/a-training/modules/training-student/src/config/locale/en-us.ts +8 -1
  91. package/vona/src/suite/a-training/modules/training-student/src/config/locale/zh-cn.ts +8 -1
  92. package/vona/src/suite/a-training/modules/training-student/src/dto/detailRecordBase.tsx +17 -2
  93. package/vona/src/suite/a-training/modules/training-student/src/dto/detailRecordMutate.tsx +12 -17
  94. package/vona/src/suite/a-training/modules/training-student/src/dto/detailRecordResItem.tsx +26 -5
  95. package/vona/src/suite/a-training/modules/training-student/src/dto/detailRecordView.tsx +12 -14
  96. package/vona/src/suite/a-training/modules/training-student/src/dto/studentCreate.tsx +6 -4
  97. package/vona/src/suite/a-training/modules/training-student/src/dto/studentSelectReq.tsx +3 -6
  98. package/vona/src/suite/a-training/modules/training-student/src/dto/studentSummary.tsx +1 -1
  99. package/vona/src/suite/a-training/modules/training-student/src/dto/studentUpdate.tsx +14 -1
  100. package/vona/src/suite/a-training/modules/training-student/src/dto/studentView.tsx +14 -1
  101. package/vona/src/suite/a-training/modules/training-student/src/entity/student.tsx +2 -4
  102. package/vona/src/suite/a-training/modules/training-student/src/service/student.ts +22 -5
  103. package/vona/src/suite/a-training/modules/training-student/test/student.test.ts +69 -15
  104. package/vona/src/suite/a-training/package.json +1 -0
  105. package/vona/src/suite/a-training/tsconfig.json +3 -0
  106. package/vona/src/suite/cabloy-basic/modules/basic-siteadmin/package.json +1 -1
  107. package/vona/src/suite/cabloy-basic/modules/basic-siteweb/package.json +1 -1
  108. package/vona/src/suite-vendor/a-auth/modules/a-auth/package.json +2 -2
  109. package/vona/src/suite-vendor/a-auth/modules/auth-oauth/package.json +2 -2
  110. package/vona/src/suite-vendor/a-auth/modules/auth-simple/package.json +2 -2
  111. package/vona/src/suite-vendor/a-auth/package.json +2 -2
  112. package/vona/src/suite-vendor/a-cabloy/modules/a-cabloy/package.json +2 -2
  113. package/vona/src/suite-vendor/a-cabloy/modules/a-datasharding/package.json +2 -2
  114. package/vona/src/suite-vendor/a-cabloy/modules/a-datasource/package.json +2 -2
  115. package/vona/src/suite-vendor/a-cabloy/modules/a-socket/package.json +2 -2
  116. package/vona/src/suite-vendor/a-cabloy/modules/a-ssr/package.json +2 -2
  117. package/vona/src/suite-vendor/a-cabloy/modules/a-ssrhmr/package.json +2 -2
  118. package/vona/src/suite-vendor/a-cabloy/modules/a-status/package.json +2 -2
  119. package/vona/src/suite-vendor/a-cabloy/package.json +1 -1
  120. package/vona/src/suite-vendor/a-captcha/modules/a-captcha/package.json +2 -2
  121. package/vona/src/suite-vendor/a-captcha/modules/captcha-simple/package.json +2 -2
  122. package/vona/src/suite-vendor/a-captcha/package.json +1 -1
  123. package/vona/src/suite-vendor/a-paypal/modules/a-paypal/package.json +2 -2
  124. package/vona/src/suite-vendor/a-paypal/package.json +1 -1
  125. package/vona/src/suite-vendor/a-vona/modules/a-aspect/package.json +2 -2
  126. package/vona/src/suite-vendor/a-vona/modules/a-aspectutils/package.json +2 -2
  127. package/vona/src/suite-vendor/a-vona/modules/a-bean/package.json +2 -2
  128. package/vona/src/suite-vendor/a-vona/modules/a-beanmutate/package.json +2 -2
  129. package/vona/src/suite-vendor/a-vona/modules/a-body/package.json +2 -2
  130. package/vona/src/suite-vendor/a-vona/modules/a-broadcast/package.json +2 -2
  131. package/vona/src/suite-vendor/a-vona/modules/a-cache/package.json +2 -2
  132. package/vona/src/suite-vendor/a-vona/modules/a-caching/package.json +2 -2
  133. package/vona/src/suite-vendor/a-vona/modules/a-core/package.json +2 -2
  134. package/vona/src/suite-vendor/a-vona/modules/a-election/package.json +2 -2
  135. package/vona/src/suite-vendor/a-vona/modules/a-error/package.json +2 -2
  136. package/vona/src/suite-vendor/a-vona/modules/a-event/package.json +2 -2
  137. package/vona/src/suite-vendor/a-vona/modules/a-executor/package.json +2 -2
  138. package/vona/src/suite-vendor/a-vona/modules/a-hmr/package.json +2 -2
  139. package/vona/src/suite-vendor/a-vona/modules/a-hmrbase/package.json +2 -2
  140. package/vona/src/suite-vendor/a-vona/modules/a-index/package.json +2 -2
  141. package/vona/src/suite-vendor/a-vona/modules/a-instance/package.json +2 -2
  142. package/vona/src/suite-vendor/a-vona/modules/a-jwt/package.json +2 -2
  143. package/vona/src/suite-vendor/a-vona/modules/a-locale/package.json +2 -2
  144. package/vona/src/suite-vendor/a-vona/modules/a-logger/package.json +2 -2
  145. package/vona/src/suite-vendor/a-vona/modules/a-mail/package.json +2 -2
  146. package/vona/src/suite-vendor/a-vona/modules/a-mailconfirm/package.json +2 -2
  147. package/vona/src/suite-vendor/a-vona/modules/a-menu/package.json +2 -2
  148. package/vona/src/suite-vendor/a-vona/modules/a-meta/package.json +2 -2
  149. package/vona/src/suite-vendor/a-vona/modules/a-onion/package.json +2 -2
  150. package/vona/src/suite-vendor/a-vona/modules/a-openapi/package.json +2 -2
  151. package/vona/src/suite-vendor/a-vona/modules/a-openapischema/package.json +2 -2
  152. package/vona/src/suite-vendor/a-vona/modules/a-openapiutils/package.json +2 -2
  153. package/vona/src/suite-vendor/a-vona/modules/a-openapiutils/src/lib/const/decorator.ts +3 -1
  154. package/vona/src/suite-vendor/a-vona/modules/a-openapiutils/src/lib/schema/makeSchemaLikes.ts +21 -17
  155. package/vona/src/suite-vendor/a-vona/modules/a-openapiutils/src/lib/utils.ts +44 -2
  156. package/vona/src/suite-vendor/a-vona/modules/a-orm/package.json +2 -2
  157. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoGet.ts +6 -2
  158. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoMutate.ts +13 -4
  159. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/utils.ts +1 -1
  160. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/service/relations_.ts +37 -16
  161. package/vona/src/suite-vendor/a-vona/modules/a-ormdialect/package.json +2 -2
  162. package/vona/src/suite-vendor/a-vona/modules/a-ormutils/package.json +2 -2
  163. package/vona/src/suite-vendor/a-vona/modules/a-permission/package.json +2 -2
  164. package/vona/src/suite-vendor/a-vona/modules/a-play/package.json +2 -2
  165. package/vona/src/suite-vendor/a-vona/modules/a-printtip/package.json +2 -2
  166. package/vona/src/suite-vendor/a-vona/modules/a-queue/package.json +2 -2
  167. package/vona/src/suite-vendor/a-vona/modules/a-redis/package.json +2 -2
  168. package/vona/src/suite-vendor/a-vona/modules/a-redlock/package.json +2 -2
  169. package/vona/src/suite-vendor/a-vona/modules/a-runtime/package.json +2 -2
  170. package/vona/src/suite-vendor/a-vona/modules/a-schedule/package.json +2 -2
  171. package/vona/src/suite-vendor/a-vona/modules/a-security/package.json +2 -2
  172. package/vona/src/suite-vendor/a-vona/modules/a-serialization/package.json +2 -2
  173. package/vona/src/suite-vendor/a-vona/modules/a-startup/package.json +2 -2
  174. package/vona/src/suite-vendor/a-vona/modules/a-static/package.json +2 -2
  175. package/vona/src/suite-vendor/a-vona/modules/a-summer/package.json +2 -2
  176. package/vona/src/suite-vendor/a-vona/modules/a-swagger/package.json +2 -2
  177. package/vona/src/suite-vendor/a-vona/modules/a-upload/package.json +2 -2
  178. package/vona/src/suite-vendor/a-vona/modules/a-user/package.json +2 -2
  179. package/vona/src/suite-vendor/a-vona/modules/a-validation/package.json +2 -2
  180. package/vona/src/suite-vendor/a-vona/modules/a-version/package.json +2 -2
  181. package/vona/src/suite-vendor/a-vona/modules/a-vona/package.json +2 -2
  182. package/vona/src/suite-vendor/a-vona/modules/a-web/package.json +2 -2
  183. package/vona/src/suite-vendor/a-vona/modules/a-web/src/lib/decorator/bean.ts +26 -5
  184. package/vona/src/suite-vendor/a-vona/modules/a-worker/package.json +2 -2
  185. package/vona/src/suite-vendor/a-vona/modules/a-zod/package.json +2 -2
  186. package/vona/src/suite-vendor/a-vona/package.json +1 -1
  187. package/zova/packages-cli/cli/package.json +3 -3
  188. package/zova/packages-cli/cli-set-front/cli/templates/create/component/boilerplateDetailsActionBulk/controller.tsx_ +31 -0
  189. package/zova/packages-cli/cli-set-front/cli/templates/create/module/boilerplate/_package.json +1 -1
  190. package/zova/packages-cli/cli-set-front/cli/templates/rest/component.ts +21 -0
  191. package/zova/packages-cli/cli-set-front/cli/templates/rest/render.ts +4 -0
  192. package/zova/packages-cli/cli-set-front/package.json +3 -3
  193. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.create.bean.ts +2 -6
  194. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.create.mock.ts +2 -6
  195. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.create.module.ts +3 -6
  196. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.create.suite.ts +1 -1
  197. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.init.asset.ts +2 -6
  198. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.init.config.ts +2 -6
  199. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.init.constant.ts +2 -6
  200. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.init.error.ts +2 -6
  201. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.init.icon.ts +2 -6
  202. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.init.lib.ts +2 -6
  203. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.init.locale.ts +2 -6
  204. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.init.main.ts +2 -6
  205. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.init.mainSys.ts +2 -6
  206. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.init.monkey.ts +2 -6
  207. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.init.monkeySys.ts +2 -6
  208. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.init.types.ts +2 -6
  209. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.openapi.config.ts +1 -4
  210. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.openapi.generate.ts +2 -2
  211. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.refactor.anotherRender.ts +2 -6
  212. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.refactor.anotherStyle.ts +2 -6
  213. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.refactor.componentEmits.ts +2 -6
  214. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.refactor.componentGeneric.ts +2 -6
  215. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.refactor.componentModel.ts +2 -6
  216. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.refactor.componentProps.ts +2 -6
  217. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.refactor.componentSlots.ts +2 -6
  218. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.refactor.firstRender.ts +2 -6
  219. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.refactor.firstStyle.ts +2 -6
  220. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.refactor.pageParams.ts +2 -6
  221. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.refactor.pageQuery.ts +2 -6
  222. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.refactor.renameComponent.ts +2 -6
  223. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.tools.metadata.ts +1 -2
  224. package/zova/packages-cli/cli-set-front/src/lib/common/cliCreateComponent.ts +2 -6
  225. package/zova/packages-cli/cli-set-front/src/lib/common/cliCreatePage.ts +2 -6
  226. package/zova/packages-zova/zova/package.json +2 -2
  227. package/zova/pnpm-lock.yaml +695 -791
  228. package/zova/src/suite/a-demo/modules/demo-basic/package.json +1 -1
  229. package/zova/src/suite/a-demo/modules/demo-todo/package.json +1 -1
  230. package/zova/src/suite/a-devui/modules/devui-adapter/package.json +1 -1
  231. package/zova/src/suite/a-home/modules/home-api/package.json +1 -1
  232. package/zova/src/suite/a-home/modules/home-base/package.json +1 -1
  233. package/zova/src/suite/a-home/modules/home-icon/package.json +1 -1
  234. package/zova/src/suite/a-home/modules/home-indexadmin/package.json +1 -1
  235. package/zova/src/suite/a-home/modules/home-indexweb/package.json +1 -1
  236. package/zova/src/suite/a-home/modules/home-layoutadmin/package.json +1 -1
  237. package/zova/src/suite/a-home/modules/home-layoutempty/package.json +1 -1
  238. package/zova/src/suite/a-home/modules/home-layoutweb/package.json +1 -1
  239. package/zova/src/suite/a-home/modules/home-login/package.json +1 -1
  240. package/zova/src/suite/a-home/modules/home-passport/package.json +1 -1
  241. package/zova/src/suite/a-home/modules/home-theme/package.json +1 -1
  242. package/zova/src/suite/a-training/modules/training-student/package.json +3 -2
  243. package/zova/src/suite/cabloy-basic/modules/basic-adapter/package.json +1 -1
  244. package/zova/src/suite/cabloy-basic/modules/basic-app/package.json +1 -1
  245. package/zova/src/suite/cabloy-basic/modules/basic-app/src/bean/behavior.appModal.tsx +131 -13
  246. package/zova/src/suite/cabloy-basic/modules/basic-app/src/config/config.ts +15 -0
  247. package/zova/src/suite/cabloy-basic/modules/basic-app/src/service/appModal.ts +23 -5
  248. package/zova/src/suite/cabloy-basic/modules/basic-app/src/types/appModal.ts +30 -4
  249. package/zova/src/suite/cabloy-basic/modules/basic-captcha/package.json +1 -1
  250. package/zova/src/suite/cabloy-basic/modules/basic-commands/package.json +1 -1
  251. package/zova/src/suite/cabloy-basic/modules/basic-commandssync/package.json +1 -1
  252. package/zova/src/suite/cabloy-basic/modules/basic-currency/package.json +1 -1
  253. package/zova/src/suite/cabloy-basic/modules/basic-date/package.json +1 -1
  254. package/zova/src/suite/cabloy-basic/modules/basic-details/package.json +7 -2
  255. package/zova/src/suite/cabloy-basic/modules/basic-details/src/.metadata/component/blockForm.ts +31 -0
  256. package/zova/src/suite/cabloy-basic/modules/basic-details/src/.metadata/index.ts +149 -2
  257. package/zova/src/suite/cabloy-basic/modules/basic-details/src/bean/command.delete.tsx +47 -0
  258. package/zova/src/suite/cabloy-basic/modules/basic-details/src/bean/tableCell.actionDelete.tsx +52 -0
  259. package/zova/src/suite/cabloy-basic/modules/basic-details/src/bean/tableCell.actionOperationsRow.tsx +44 -6
  260. package/zova/src/suite/cabloy-basic/modules/basic-details/src/bean/tableCell.actionUpdate.tsx +73 -0
  261. package/zova/src/suite/cabloy-basic/modules/basic-details/src/bean/tableCell.actionView.tsx +64 -0
  262. package/zova/src/suite/cabloy-basic/modules/basic-details/src/bean/tableCell.lineNumber.tsx +30 -0
  263. package/zova/src/suite/cabloy-basic/modules/basic-details/src/component/actionCreate/controller.tsx +29 -5
  264. package/zova/src/suite/cabloy-basic/modules/basic-details/src/component/blockDetails/controller.tsx +28 -12
  265. package/zova/src/suite/cabloy-basic/modules/basic-details/src/component/blockForm/controller.tsx +53 -0
  266. package/zova/src/suite/cabloy-basic/modules/basic-details/src/component/blockTable/controller.tsx +7 -2
  267. package/zova/src/suite/cabloy-basic/modules/basic-details/src/component/blockToolbarBulk/controller.tsx +3 -1
  268. package/zova/src/suite/cabloy-basic/modules/basic-details/src/component/formFieldDetails/controller.tsx +24 -12
  269. package/zova/src/suite/cabloy-basic/modules/basic-details/src/config/locale/en-us.ts +4 -0
  270. package/zova/src/suite/cabloy-basic/modules/basic-details/src/config/locale/zh-cn.ts +4 -0
  271. package/zova/src/suite/cabloy-basic/modules/basic-details/src/index.ts +1 -0
  272. package/zova/src/suite/cabloy-basic/modules/basic-details/src/lib/index.ts +1 -0
  273. package/zova/src/suite/cabloy-basic/modules/basic-details/src/lib/utils.ts +12 -0
  274. package/zova/src/suite/cabloy-basic/modules/basic-details/src/service/detail.tsx +172 -0
  275. package/zova/src/suite/cabloy-basic/modules/basic-details/src/types/detail.ts +18 -0
  276. package/zova/src/suite/cabloy-basic/modules/basic-details/src/types/details.ts +11 -0
  277. package/zova/src/suite/cabloy-basic/modules/basic-details/src/types/dialogForm.ts +22 -0
  278. package/zova/src/suite/cabloy-basic/modules/basic-details/src/types/index.ts +2 -0
  279. package/zova/src/suite/cabloy-basic/modules/basic-form/package.json +1 -1
  280. package/zova/src/suite/cabloy-basic/modules/basic-input/package.json +1 -1
  281. package/zova/src/suite/cabloy-basic/modules/basic-page/package.json +1 -1
  282. package/zova/src/suite/cabloy-basic/modules/basic-pageentry/package.json +1 -1
  283. package/zova/src/suite/cabloy-basic/modules/basic-resource/package.json +52 -0
  284. package/zova/src/suite/cabloy-basic/modules/basic-resource/src/.metadata/component/formFieldResourcePicker.ts +31 -0
  285. package/zova/src/suite/cabloy-basic/modules/basic-resource/src/.metadata/index.ts +103 -0
  286. package/zova/src/suite/cabloy-basic/modules/basic-resource/src/.metadata/this.ts +2 -0
  287. package/zova/src/suite/cabloy-basic/modules/basic-resource/src/bean/tableCell.resourcePicker.tsx +46 -0
  288. package/zova/src/suite/cabloy-basic/modules/basic-resource/src/component/formFieldResourcePicker/controller.tsx +157 -0
  289. package/zova/src/suite/cabloy-basic/modules/basic-resource/src/index.ts +1 -0
  290. package/zova/src/suite/cabloy-basic/modules/basic-resource/tsconfig.build.json +13 -0
  291. package/zova/src/suite/cabloy-basic/modules/basic-resource/tsconfig.json +5 -0
  292. package/zova/src/suite/cabloy-basic/modules/basic-select/package.json +1 -1
  293. package/zova/src/suite/cabloy-basic/modules/basic-table/package.json +1 -1
  294. package/zova/src/suite/cabloy-basic/modules/basic-text/package.json +1 -1
  295. package/zova/src/suite/cabloy-basic/package.json +1 -0
  296. package/zova/src/suite-vendor/a-cabloy/modules/rest-resource/package.json +2 -2
  297. package/zova/src/suite-vendor/a-cabloy/modules/rest-resource/src/page/entry/controller.tsx +1 -2
  298. package/zova/src/suite-vendor/a-cabloy/package.json +2 -2
  299. package/zova/src/suite-vendor/a-zova/modules/a-api/package.json +2 -2
  300. package/zova/src/suite-vendor/a-zova/modules/a-app/package.json +2 -2
  301. package/zova/src/suite-vendor/a-zova/modules/a-bean/package.json +2 -2
  302. package/zova/src/suite-vendor/a-zova/modules/a-behavior/package.json +2 -2
  303. package/zova/src/suite-vendor/a-zova/modules/a-behaviors/package.json +2 -2
  304. package/zova/src/suite-vendor/a-zova/modules/a-boundary/package.json +2 -2
  305. package/zova/src/suite-vendor/a-zova/modules/a-command/cli/command/boilerplate/{{sceneName}}.{{beanName}}.tsx_ +6 -1
  306. package/zova/src/suite-vendor/a-zova/modules/a-command/cli/commandBulk/boilerplate/{{sceneName}}.{{beanName}}.tsx_ +6 -1
  307. package/zova/src/suite-vendor/a-zova/modules/a-command/cli/commandDetailsRow/boilerplate/{{sceneName}}.{{beanName}}.tsx_ +20 -0
  308. package/zova/src/suite-vendor/a-zova/modules/a-command/cli/commandRow/boilerplate/{{sceneName}}.{{beanName}}.tsx_ +6 -1
  309. package/zova/src/suite-vendor/a-zova/modules/a-command/package.json +4 -3
  310. package/zova/src/suite-vendor/a-zova/modules/a-command/src/types/command.ts +2 -0
  311. package/zova/src/suite-vendor/a-zova/modules/a-fetch/package.json +2 -2
  312. package/zova/src/suite-vendor/a-zova/modules/a-form/package.json +2 -2
  313. package/zova/src/suite-vendor/a-zova/modules/a-form/src/component/form/controller.tsx +1 -0
  314. package/zova/src/suite-vendor/a-zova/modules/a-icon/package.json +2 -2
  315. package/zova/src/suite-vendor/a-zova/modules/a-interceptor/package.json +2 -2
  316. package/zova/src/suite-vendor/a-zova/modules/a-logger/package.json +2 -2
  317. package/zova/src/suite-vendor/a-zova/modules/a-meta/package.json +2 -2
  318. package/zova/src/suite-vendor/a-zova/modules/a-model/package.json +2 -2
  319. package/zova/src/suite-vendor/a-zova/modules/a-model/src/bean/bean.model/bean.model.useQuery.ts +2 -1
  320. package/zova/src/suite-vendor/a-zova/modules/a-openapi/package.json +3 -3
  321. package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/lib/schema.ts +20 -4
  322. package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/model/sdk.ts +4 -0
  323. package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/types/action.ts +2 -1
  324. package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/types/detail/detail.ts +10 -0
  325. package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/types/detail/details.ts +4 -1
  326. package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/types/detail/index.ts +1 -0
  327. package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/types/rest.ts +2 -0
  328. package/zova/src/suite-vendor/a-zova/modules/a-router/package.json +2 -2
  329. package/zova/src/suite-vendor/a-zova/modules/a-routerstack/package.json +2 -2
  330. package/zova/src/suite-vendor/a-zova/modules/a-routertabs/package.json +2 -2
  331. package/zova/src/suite-vendor/a-zova/modules/a-ssr/package.json +2 -2
  332. package/zova/src/suite-vendor/a-zova/modules/a-ssrhmr/package.json +2 -2
  333. package/zova/src/suite-vendor/a-zova/modules/a-ssrserver/package.json +2 -2
  334. package/zova/src/suite-vendor/a-zova/modules/a-style/package.json +2 -2
  335. package/zova/src/suite-vendor/a-zova/modules/a-table/cli/detailsActionRow/boilerplate/{{sceneName}}.{{beanName}}.tsx_ +24 -0
  336. package/zova/src/suite-vendor/a-zova/modules/a-table/package.json +4 -3
  337. package/zova/src/suite-vendor/a-zova/modules/a-table/src/component/table/controller.tsx +5 -3
  338. package/zova/src/suite-vendor/a-zova/modules/a-zod/package.json +2 -2
  339. package/zova/src/suite-vendor/a-zova/modules/a-zova/package.json +3 -3
  340. package/zova/src/suite-vendor/a-zova/package.json +26 -26
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-form",
3
- "version": "5.1.35",
3
+ "version": "5.1.40",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
32
32
  "prepublishOnly": "npm run tsc:publish",
33
33
  "prepack": "clean-package",
34
- "postpack": "clean-package restore && npm run clean"
34
+ "postpack": "clean-package restore"
35
35
  },
36
36
  "dependencies": {
37
37
  "@tanstack/vue-form": "^1.32.0"
@@ -127,6 +127,7 @@ export class ControllerForm<
127
127
  }
128
128
 
129
129
  public async submit(submitMeta?: TSubmitMeta): Promise<boolean> {
130
+ if (this.formMeta?.formScene === 'view') return false;
130
131
  const [_, error] = await catchError(() => {
131
132
  return this.form.handleSubmit(submitMeta as any);
132
133
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-icon",
3
- "version": "5.1.23",
3
+ "version": "5.1.26",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
32
32
  "prepublishOnly": "npm run tsc:publish",
33
33
  "prepack": "clean-package",
34
- "postpack": "clean-package restore && npm run clean"
34
+ "postpack": "clean-package restore"
35
35
  },
36
36
  "devDependencies": {
37
37
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-interceptor",
3
- "version": "5.1.26",
3
+ "version": "5.1.29",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
32
32
  "prepublishOnly": "npm run tsc:publish",
33
33
  "prepack": "clean-package",
34
- "postpack": "clean-package restore && npm run clean"
34
+ "postpack": "clean-package restore"
35
35
  },
36
36
  "devDependencies": {
37
37
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-logger",
3
- "version": "5.1.23",
3
+ "version": "5.1.26",
4
4
  "gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
5
5
  "description": "",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
32
32
  "prepublishOnly": "npm run tsc:publish",
33
33
  "prepack": "clean-package",
34
- "postpack": "clean-package restore && npm run clean"
34
+ "postpack": "clean-package restore"
35
35
  },
36
36
  "dependencies": {
37
37
  "@cabloy/logger": "^1.1.24"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-meta",
3
- "version": "5.1.18",
3
+ "version": "5.1.21",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "",
6
6
  "keywords": [
@@ -32,7 +32,7 @@
32
32
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
33
33
  "prepublishOnly": "npm run tsc:publish",
34
34
  "prepack": "clean-package",
35
- "postpack": "clean-package restore && npm run clean"
35
+ "postpack": "clean-package restore"
36
36
  },
37
37
  "devDependencies": {
38
38
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-model",
3
- "version": "5.1.27",
3
+ "version": "5.1.30",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "core",
6
6
  "keywords": [
@@ -32,7 +32,7 @@
32
32
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
33
33
  "prepublishOnly": "npm run tsc:publish",
34
34
  "prepack": "clean-package",
35
- "postpack": "clean-package restore && npm run clean"
35
+ "postpack": "clean-package restore"
36
36
  },
37
37
  "dependencies": {
38
38
  "@tanstack/query-core": "^5.100.10",
@@ -73,7 +73,8 @@ export class BeanModelUseQuery extends BeanModelQuery {
73
73
  const queryCache = this.$queryFind({ queryKey });
74
74
  const queryCacheExists = queryCache?.state.data !== undefined;
75
75
  options.staleTime = query => {
76
- if (process.env.CLIENT && this.ctx.meta.$ssr.isRuntimeSsrPreHydration && queryCacheExists) {
76
+ if (!queryCacheExists) return resolveStaleTime(0, query);
77
+ if (process.env.CLIENT && this.ctx.meta.$ssr.isRuntimeSsrPreHydration) {
77
78
  return resolveStaleTime(this.scopeSelf.config.query.staleTime.ssr, query);
78
79
  }
79
80
  return resolveStaleTime(staleTime, query);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-openapi",
3
- "version": "5.1.36",
3
+ "version": "5.1.40",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "",
6
6
  "keywords": [
@@ -31,10 +31,10 @@
31
31
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
32
32
  "prepublishOnly": "npm run tsc:publish",
33
33
  "prepack": "clean-package",
34
- "postpack": "clean-package restore && npm run clean"
34
+ "postpack": "clean-package restore"
35
35
  },
36
36
  "dependencies": {
37
- "@cabloy/json-schema-to-zod": "^2.6.4",
37
+ "@cabloy/json-schema-to-zod": "^2.6.5",
38
38
  "openapi3-ts": "^4.5.0",
39
39
  "typestyle": "^2.4.0"
40
40
  },
@@ -76,15 +76,31 @@ function _normalizeSchema(
76
76
  const schemaNew = Object.assign({}, schema, { properties: {} });
77
77
  for (const key in schema.properties) {
78
78
  let property = schema.properties[key] as SchemaObject | undefined;
79
- if (property?.$ref) {
80
- property = onGetSchema(property.$ref);
81
- }
79
+ property = _normalizePropertySchema(property, onGetSchema);
82
80
  if (!property) continue;
83
- schemaNew.properties[key] = _normalizeSchema(property, onGetSchema);
81
+ // items.$ref
82
+ if (property.items?.$ref) {
83
+ const propertyItems = _normalizePropertySchema(property.items as any, onGetSchema);
84
+ if (!propertyItems) continue;
85
+ property = { ...property, items: propertyItems };
86
+ }
87
+ // _normalizeSchema
88
+ schemaNew.properties[key] = property;
84
89
  }
85
90
  return schemaNew;
86
91
  }
87
92
 
93
+ function _normalizePropertySchema(
94
+ property: SchemaObject | undefined,
95
+ onGetSchema: (schemaName: string) => SchemaObject | undefined,
96
+ ) {
97
+ if (property?.$ref) {
98
+ property = onGetSchema(property.$ref);
99
+ }
100
+ if (!property) return;
101
+ return _normalizeSchema(property, onGetSchema);
102
+ }
103
+
88
104
  export function getSchemaOfRequestBody(
89
105
  operationObject?: OperationObject,
90
106
  ): SchemaObject | undefined {
@@ -66,6 +66,7 @@ export class ModelSdk extends BeanModelBase {
66
66
  }
67
67
  return bootstrap ?? null;
68
68
  },
69
+ staleTime: Infinity,
69
70
  });
70
71
  }
71
72
 
@@ -79,6 +80,7 @@ export class ModelSdk extends BeanModelBase {
79
80
  )) as TypeOpenapiPermissions;
80
81
  return permissions ?? null;
81
82
  },
83
+ staleTime: Infinity,
82
84
  });
83
85
  }
84
86
 
@@ -103,6 +105,7 @@ export class ModelSdk extends BeanModelBase {
103
105
  }
104
106
  return sdk;
105
107
  },
108
+ staleTime: Infinity,
106
109
  }) as TypeOpenapiSchemasSdk;
107
110
  }
108
111
 
@@ -116,6 +119,7 @@ export class ModelSdk extends BeanModelBase {
116
119
  const schema = this.$$sysSdk.getSchema(schemaName);
117
120
  return schema ?? null;
118
121
  },
122
+ staleTime: Infinity,
119
123
  });
120
124
  }
121
125
 
@@ -21,7 +21,7 @@ export interface IJsxRenderContextPageEntry extends IJsxRenderContextBase {
21
21
 
22
22
  export interface IPageEntryScope {
23
23
  resource?: string;
24
- id: TableIdentity | null;
24
+ id?: TableIdentity | null;
25
25
  permissions?: TypeOpenapiPermissions;
26
26
  }
27
27
 
@@ -35,6 +35,7 @@ export interface IJsxRenderSceneRecord {
35
35
  formField: never;
36
36
  //
37
37
  details: never;
38
+ detail: never;
38
39
  }
39
40
 
40
41
  export interface IPageScope {
@@ -0,0 +1,10 @@
1
+ import { IJsxRenderContextBase } from '../action.js';
2
+ import { IFormMeta } from '../formMeta.js';
3
+
4
+ export interface IDetailScope {
5
+ formMeta?: IFormMeta;
6
+ }
7
+
8
+ export interface IJsxRenderContextDetail extends IJsxRenderContextBase {
9
+ $celScope: IDetailScope;
10
+ }
@@ -1,6 +1,9 @@
1
1
  import { IJsxRenderContextBase } from '../action.js';
2
+ import { IFormMeta } from '../formMeta.js';
2
3
 
3
- export interface IDetailsScope {}
4
+ export interface IDetailsScope {
5
+ formMeta?: IFormMeta;
6
+ }
4
7
 
5
8
  export interface IJsxRenderContextDetails extends IJsxRenderContextBase {
6
9
  $celScope: IDetailsScope;
@@ -1,3 +1,4 @@
1
1
  export * from './details.js';
2
2
  export * from './detailsActionBulk.js';
3
3
  export * from './detailsActionRow.js';
4
+ export * from './detail.js';
@@ -6,6 +6,7 @@ import 'openapi3-ts/oas30';
6
6
  import 'openapi3-ts/oas31';
7
7
  import { SchemaObject } from 'openapi3-ts/oas31';
8
8
 
9
+ import { IResourceDetailsActionRowRecord } from './detail/detailsActionRow.js';
9
10
  import { IResourceRenderBlockOptionsBlock } from './resource/block.js';
10
11
  import { IResourceFormFieldRecord } from './resource/formField.js';
11
12
  import { IResourceTableActionRowRecord } from './resource/tableActionRow.js';
@@ -112,6 +113,7 @@ export type TypeTableCellRenderComponentNormal =
112
113
  | TypeRenderComponentPreset;
113
114
  export type TypeTableCellRenderComponent =
114
115
  | keyof IResourceTableActionRowRecord
116
+ | keyof IResourceDetailsActionRowRecord
115
117
  | TypeRenderComponentJsx;
116
118
  export type TypeTableCellRenderComponentProvider = TypeRenderComponentJsx | 'text' | string;
117
119
  export type TypeTableBulkRenderComponentProvider =
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-router",
3
- "version": "5.1.26",
3
+ "version": "5.1.29",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "router",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
32
32
  "prepublishOnly": "npm run tsc:publish",
33
33
  "prepack": "clean-package",
34
- "postpack": "clean-package restore && npm run clean"
34
+ "postpack": "clean-package restore"
35
35
  },
36
36
  "devDependencies": {
37
37
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-routerstack",
3
- "version": "5.1.23",
3
+ "version": "5.1.26",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
32
32
  "prepublishOnly": "npm run tsc:publish",
33
33
  "prepack": "clean-package",
34
- "postpack": "clean-package restore && npm run clean"
34
+ "postpack": "clean-package restore"
35
35
  },
36
36
  "devDependencies": {
37
37
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-routertabs",
3
- "version": "5.1.29",
3
+ "version": "5.1.32",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "routertabs",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
32
32
  "prepublishOnly": "npm run tsc:publish",
33
33
  "prepack": "clean-package",
34
- "postpack": "clean-package restore && npm run clean"
34
+ "postpack": "clean-package restore"
35
35
  },
36
36
  "devDependencies": {
37
37
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-ssr",
3
- "version": "5.1.23",
3
+ "version": "5.1.26",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
32
32
  "prepublishOnly": "npm run tsc:publish",
33
33
  "prepack": "clean-package",
34
- "postpack": "clean-package restore && npm run clean"
34
+ "postpack": "clean-package restore"
35
35
  },
36
36
  "dependencies": {
37
37
  "devalue": "^5.7.1",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-ssrhmr",
3
- "version": "5.1.19",
3
+ "version": "5.1.22",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
32
32
  "prepublishOnly": "npm run tsc:publish",
33
33
  "prepack": "clean-package",
34
- "postpack": "clean-package restore && npm run clean"
34
+ "postpack": "clean-package restore"
35
35
  },
36
36
  "dependencies": {
37
37
  "@cabloy/socket": "^2.1.9",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-ssrserver",
3
- "version": "5.1.19",
3
+ "version": "5.1.22",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
32
32
  "prepublishOnly": "npm run tsc:publish",
33
33
  "prepack": "clean-package",
34
- "postpack": "clean-package restore && npm run clean"
34
+ "postpack": "clean-package restore"
35
35
  },
36
36
  "dependencies": {
37
37
  "ms": "^2.1.3"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-style",
3
- "version": "5.1.29",
3
+ "version": "5.1.32",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "style",
6
6
  "keywords": [
@@ -32,7 +32,7 @@
32
32
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
33
33
  "prepublishOnly": "npm run tsc:publish",
34
34
  "prepack": "clean-package",
35
- "postpack": "clean-package restore && npm run clean"
35
+ "postpack": "clean-package restore"
36
36
  },
37
37
  "dependencies": {
38
38
  "csx": "^10.0.2",
@@ -0,0 +1,24 @@
1
+ import type { IResourceDetailsActionRowOptionsBase } from 'zova-module-a-openapi';
2
+ import type {
3
+ IJsxRenderContextTableCell,
4
+ ITableCellRender,
5
+ NextTableCellRender,
6
+ } from 'zova-module-a-table';
7
+
8
+ import { BeanBase } from 'zova';
9
+ import { TableCell } from 'zova-module-a-table';
10
+
11
+ declare module 'zova-module-a-openapi' {
12
+ export interface IResourceDetailsActionRowRecord {
13
+ '<%=argv.module%>:<%=argv.beanName%>'?: ITableCellOptions<%=argv.beanNameCapitalize%>;
14
+ }
15
+ }
16
+
17
+ export interface ITableCellOptions<%=argv.beanNameCapitalize%> extends IResourceDetailsActionRowOptionsBase {}
18
+
19
+ @TableCell<ITableCellOptions<%=argv.beanNameCapitalize%>>()
20
+ export class TableCell<%=argv.beanNameCapitalize%> extends BeanBase implements ITableCellRender {
21
+ render(_options: ITableCellOptions<%=argv.beanNameCapitalize%>, _renderContext: IJsxRenderContextTableCell, next: NextTableCellRender) {
22
+ return next();
23
+ }
24
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-table",
3
- "version": "5.1.32",
3
+ "version": "5.1.36",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "",
6
6
  "keywords": [
@@ -32,7 +32,7 @@
32
32
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
33
33
  "prepublishOnly": "npm run tsc:publish",
34
34
  "prepack": "clean-package",
35
- "postpack": "clean-package restore && npm run clean"
35
+ "postpack": "clean-package restore"
36
36
  },
37
37
  "dependencies": {
38
38
  "@tanstack/table-core": "^8.21.3",
@@ -76,7 +76,8 @@
76
76
  "optionsGlobalInterfaceName": "IDecoratorTableCellOptions",
77
77
  "optionsGlobalInterfaceFrom": "zova-module-a-table",
78
78
  "boilerplate": "tableCell/boilerplate",
79
- "boilerplateTableActionRow": "tableActionRow/boilerplate"
79
+ "boilerplateTableActionRow": "tableActionRow/boilerplate",
80
+ "boilerplateDetailsActionRow": "detailsActionRow/boilerplate"
80
81
  }
81
82
  }
82
83
  }
@@ -11,6 +11,7 @@ import {
11
11
  CellContext,
12
12
  createColumnHelper,
13
13
  getCoreRowModel,
14
+ Row,
14
15
  TableOptionsWithReactiveData,
15
16
  } from '@tanstack/vue-table';
16
17
  import { SchemaObject } from 'openapi3-ts/oas31';
@@ -50,6 +51,7 @@ export interface ControllerTableProps<TData extends {} = {}> {
50
51
  tableScope?: ITableScope;
51
52
  getColumns?: TypeTableGetColumns<TData>;
52
53
  slotDefault?: (table: ControllerTable<TData>) => VNode;
54
+ getRowId?: (originalRow: TData, index: number, parent?: Row<TData>) => string;
53
55
  }
54
56
 
55
57
  @Controller()
@@ -85,11 +87,11 @@ export class ControllerTable<TData extends {} = {}> extends BeanControllerTableB
85
87
  this._createTable();
86
88
  }
87
89
 
88
- get schema() {
90
+ public get schema() {
89
91
  return this.$props.schema;
90
92
  }
91
93
 
92
- get data() {
94
+ public get data() {
93
95
  return this.$props.data;
94
96
  }
95
97
 
@@ -102,7 +104,7 @@ export class ControllerTable<TData extends {} = {}> extends BeanControllerTableB
102
104
  // eslint-disable-next-line
103
105
  const self = this;
104
106
  const tableOptions: TableOptionsWithReactiveData<TData> = {
105
- getRowId: (row: TData) => cast(row).id,
107
+ getRowId: this.$props.getRowId ?? ((originalRow: TData) => cast(originalRow).id),
106
108
  getCoreRowModel: getCoreRowModel(),
107
109
  renderFallbackValue: this.scope.config.renderFallbackValue,
108
110
  manualPagination: true,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-zod",
3
- "version": "5.1.30",
3
+ "version": "5.1.33",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
32
32
  "prepublishOnly": "npm run tsc:publish",
33
33
  "prepack": "clean-package",
34
- "postpack": "clean-package restore && npm run clean"
34
+ "postpack": "clean-package restore"
35
35
  },
36
36
  "dependencies": {
37
37
  "@cabloy/zod-errors-custom": "^2.1.9",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-zova",
3
- "version": "5.1.70",
3
+ "version": "5.1.77",
4
4
  "gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
5
5
  "description": "zova",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
32
32
  "prepublishOnly": "npm run tsc:publish",
33
33
  "prepack": "clean-package",
34
- "postpack": "clean-package restore && npm run clean"
34
+ "postpack": "clean-package restore"
35
35
  },
36
36
  "dependencies": {
37
37
  "@cabloy/compose": "^2.1.8",
@@ -46,7 +46,7 @@
46
46
  "zova-jsx": "^1.1.63"
47
47
  },
48
48
  "devDependencies": {
49
- "@cabloy/cli": "^3.1.18",
49
+ "@cabloy/cli": "^3.1.23",
50
50
  "@types/luxon": "^3.7.1",
51
51
  "clean-package": "^2.2.0",
52
52
  "fs-extra": "^11.3.5",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-suite-a-zova",
3
- "version": "5.1.105",
3
+ "version": "5.1.112",
4
4
  "gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
5
5
  "description": "zova",
6
6
  "license": "MIT",
@@ -8,31 +8,31 @@
8
8
  "files": [],
9
9
  "type": "module",
10
10
  "dependencies": {
11
- "zova-module-a-api": "^5.1.18",
12
- "zova-module-a-app": "^5.1.21",
13
- "zova-module-a-bean": "^5.1.28",
14
- "zova-module-a-behavior": "^5.1.22",
15
- "zova-module-a-behaviors": "^5.1.18",
16
- "zova-module-a-boundary": "^5.1.18",
17
- "zova-module-a-command": "^5.1.29",
18
- "zova-module-a-fetch": "^5.1.20",
19
- "zova-module-a-form": "^5.1.35",
20
- "zova-module-a-icon": "^5.1.23",
21
- "zova-module-a-interceptor": "^5.1.26",
22
- "zova-module-a-logger": "^5.1.23",
23
- "zova-module-a-meta": "^5.1.18",
24
- "zova-module-a-model": "^5.1.27",
25
- "zova-module-a-openapi": "^5.1.36",
26
- "zova-module-a-router": "^5.1.26",
27
- "zova-module-a-routerstack": "^5.1.23",
28
- "zova-module-a-routertabs": "^5.1.29",
29
- "zova-module-a-ssr": "^5.1.23",
30
- "zova-module-a-ssrhmr": "^5.1.19",
31
- "zova-module-a-ssrserver": "^5.1.19",
32
- "zova-module-a-style": "^5.1.29",
33
- "zova-module-a-table": "^5.1.32",
34
- "zova-module-a-zod": "^5.1.30",
35
- "zova-module-a-zova": "^5.1.70"
11
+ "zova-module-a-api": "^5.1.21",
12
+ "zova-module-a-app": "^5.1.24",
13
+ "zova-module-a-bean": "^5.1.31",
14
+ "zova-module-a-behavior": "^5.1.25",
15
+ "zova-module-a-behaviors": "^5.1.21",
16
+ "zova-module-a-boundary": "^5.1.21",
17
+ "zova-module-a-command": "^5.1.33",
18
+ "zova-module-a-fetch": "^5.1.23",
19
+ "zova-module-a-form": "^5.1.40",
20
+ "zova-module-a-icon": "^5.1.26",
21
+ "zova-module-a-interceptor": "^5.1.29",
22
+ "zova-module-a-logger": "^5.1.26",
23
+ "zova-module-a-meta": "^5.1.21",
24
+ "zova-module-a-model": "^5.1.30",
25
+ "zova-module-a-openapi": "^5.1.40",
26
+ "zova-module-a-router": "^5.1.29",
27
+ "zova-module-a-routerstack": "^5.1.26",
28
+ "zova-module-a-routertabs": "^5.1.32",
29
+ "zova-module-a-ssr": "^5.1.26",
30
+ "zova-module-a-ssrhmr": "^5.1.22",
31
+ "zova-module-a-ssrserver": "^5.1.22",
32
+ "zova-module-a-style": "^5.1.32",
33
+ "zova-module-a-table": "^5.1.36",
34
+ "zova-module-a-zod": "^5.1.33",
35
+ "zova-module-a-zova": "^5.1.77"
36
36
  },
37
37
  "title": "a-zova"
38
38
  }