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
@@ -0,0 +1,103 @@
1
+ // eslint-disable
2
+ /** controller: begin */
3
+ export * from '../component/formFieldResourcePicker/controller.jsx';
4
+
5
+ import 'zova';
6
+ declare module 'zova' {
7
+
8
+
9
+ }
10
+ declare module 'zova-module-basic-resource' {
11
+
12
+ export interface ControllerFormFieldResourcePicker {
13
+ /** @internal */
14
+ get scope(): ScopeModuleBasicResource;
15
+ }
16
+ }
17
+ /** controller: end */
18
+ /** controller: begin */
19
+ import { ControllerFormFieldResourcePicker } from '../component/formFieldResourcePicker/controller.jsx';
20
+ import 'zova';
21
+ declare module 'zova' {
22
+ export interface IBeanRecordLocal {
23
+ 'basic-resource.controller.formFieldResourcePicker': ControllerFormFieldResourcePicker;
24
+ }
25
+ }
26
+ /** controller: end */
27
+
28
+ /** components: begin */
29
+ export * from './component/formFieldResourcePicker.js';
30
+ import { ZFormFieldResourcePicker } from './component/formFieldResourcePicker.js';
31
+ export const components = {
32
+ 'formFieldResourcePicker': ZFormFieldResourcePicker,
33
+ };
34
+ import 'zova';
35
+ declare module 'zova' {
36
+ export interface IComponentRecord {
37
+ 'basic-resource:formFieldResourcePicker': ControllerFormFieldResourcePicker;
38
+ }
39
+ export interface IZovaComponentRecord {
40
+ 'basic-resource:formFieldResourcePicker': typeof ZFormFieldResourcePicker;
41
+ }
42
+ }
43
+ /** components: end */
44
+ /** tableCell: begin */
45
+ export * from '../bean/tableCell.resourcePicker.jsx';
46
+ import { ITableCellOptionsResourcePicker } from '../bean/tableCell.resourcePicker.jsx';
47
+ import 'zova-module-a-table';
48
+ declare module 'zova-module-a-table' {
49
+
50
+ export interface ITableCellRecord {
51
+ 'basic-resource:resourcePicker': ITableCellOptionsResourcePicker;
52
+ }
53
+
54
+
55
+ }
56
+ declare module 'zova-module-basic-resource' {
57
+
58
+ export interface TableCellResourcePicker {
59
+ /** @internal */
60
+ get scope(): ScopeModuleBasicResource;
61
+ }
62
+
63
+ export interface TableCellResourcePicker {
64
+ get $beanFullName(): 'basic-resource.tableCell.resourcePicker';
65
+ get $onionName(): 'basic-resource:resourcePicker';
66
+ get $onionOptions(): ITableCellOptionsResourcePicker;
67
+ }
68
+ }
69
+ /** tableCell: end */
70
+ /** tableCell: begin */
71
+ import { TableCellResourcePicker } from '../bean/tableCell.resourcePicker.jsx';
72
+ import 'zova';
73
+ declare module 'zova' {
74
+ export interface IBeanRecordGeneral {
75
+ 'basic-resource.tableCell.resourcePicker': TableCellResourcePicker;
76
+ }
77
+ }
78
+ /** tableCell: end */
79
+ /** scope: begin */
80
+ import { BeanScopeBase, type BeanScopeUtil } from 'zova';
81
+ import { Scope } from 'zova-module-a-bean';
82
+
83
+ @Scope()
84
+ export class ScopeModuleBasicResource extends BeanScopeBase {}
85
+
86
+ export interface ScopeModuleBasicResource {
87
+ util: BeanScopeUtil;
88
+ }
89
+
90
+ import 'zova';
91
+ declare module 'zova' {
92
+ export interface IBeanScopeRecord {
93
+ 'basic-resource': ScopeModuleBasicResource;
94
+ }
95
+
96
+
97
+
98
+
99
+
100
+
101
+ }
102
+
103
+ /** scope: end */
@@ -0,0 +1,2 @@
1
+ export const __ThisModule__ = 'basic-resource';
2
+ export { ScopeModuleBasicResource as ScopeModule } from './index.js';
@@ -0,0 +1,46 @@
1
+ import type { IResourceTableCellOptionsBase, ITableQuery } 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
+ import { ZSelectProps } from 'zova-module-basic-select';
11
+
12
+ declare module 'zova-module-a-openapi' {
13
+ export interface IResourceTableCellRecord {
14
+ 'start-resource:resourcePicker'?: ITableCellOptionsResourcePicker;
15
+ }
16
+ }
17
+
18
+ export interface ITableCellOptionsResourcePicker extends IResourceTableCellOptionsBase {
19
+ resource?: string;
20
+ actionPath?: string;
21
+ query?: ITableQuery;
22
+ relationName?: string;
23
+ selectOptions?: ZSelectProps;
24
+ }
25
+
26
+ @TableCell<ITableCellOptionsResourcePicker>({
27
+ selectOptions: { itemValue: 'id', itemTitle: 'name' },
28
+ })
29
+ export class TableCellResourcePicker extends BeanBase implements ITableCellRender {
30
+ render(
31
+ options: ITableCellOptionsResourcePicker,
32
+ renderContext: IJsxRenderContextTableCell,
33
+ _next: NextTableCellRender,
34
+ ) {
35
+ const { $celScope, cellContext } = renderContext;
36
+ // const value = next();
37
+ let relationName = options.relationName;
38
+ if (!relationName) {
39
+ relationName = $celScope.name.substring(0, $celScope.name.lastIndexOf('Id'));
40
+ }
41
+ const obj = cellContext.row.original[relationName];
42
+ const value2 = obj?.[String(options.selectOptions!.itemTitle)];
43
+ if (!options.class) return value2;
44
+ return <div class={options.class}>{value2}</div>;
45
+ }
46
+ }
@@ -0,0 +1,157 @@
1
+ import type { IComponentOptions } from 'zova';
2
+ import type { IFormFieldComponentOptions, IJsxRenderContextFormField } from 'zova-module-a-form';
3
+ import type { IResourceFormFieldOptionsBase, ITableQuery } from 'zova-module-a-openapi';
4
+
5
+ import { classes } from 'typestyle';
6
+ import { BeanControllerBase, Use } from 'zova';
7
+ import { Controller } from 'zova-module-a-bean';
8
+ import { ZFormField, ZFormFieldPreset } from 'zova-module-a-form';
9
+ import { $QueryAutoLoad } from 'zova-module-a-model';
10
+ import { ZSelect, ZSelectProps } from 'zova-module-basic-select';
11
+ import { ModelResource } from 'zova-module-rest-resource';
12
+
13
+ declare module 'zova-module-a-openapi' {
14
+ export interface IResourceFormFieldRecord {
15
+ 'start-resource:formFieldResourcePicker'?: IResourceFormFieldResourcePickerOptions;
16
+ }
17
+ }
18
+
19
+ export interface IResourceFormFieldResourcePickerOptions extends IResourceFormFieldOptionsBase {
20
+ resource?: string;
21
+ actionPath?: string;
22
+ query?: ITableQuery;
23
+ relationName?: string;
24
+ selectOptions?: ZSelectProps;
25
+ }
26
+
27
+ export interface ControllerFormFieldResourcePickerProps extends IFormFieldComponentOptions {
28
+ options?: IResourceFormFieldResourcePickerOptions;
29
+ }
30
+
31
+ @Controller()
32
+ export class ControllerFormFieldResourcePicker extends BeanControllerBase {
33
+ static $propsDefault = {
34
+ options: { selectOptions: { itemValue: 'id', itemTitle: 'name' } },
35
+ };
36
+
37
+ static $componentOptions: IComponentOptions = { inheritAttrs: false, deepExtendDefault: true };
38
+
39
+ $$modelResource: ModelResource;
40
+
41
+ @Use({ injectionScope: 'host' })
42
+ $$renderContext: IJsxRenderContextFormField;
43
+
44
+ protected async __init__() {
45
+ const { ctx } = this.$$renderContext;
46
+ // readonly
47
+ if (this.$props.readonly) return;
48
+ // modelResource
49
+ this.$$modelResource = await ctx.bean._getBeanSelector(
50
+ 'rest-resource.model.resource',
51
+ true,
52
+ this.resource,
53
+ );
54
+ // load data
55
+ await $QueryAutoLoad(() => this.queryData);
56
+ }
57
+
58
+ get resource() {
59
+ const resource = this.resourcePickerOptions?.resource;
60
+ if (!resource) throw new Error('should specify resource name');
61
+ return resource;
62
+ }
63
+
64
+ get resourcePickerOptions() {
65
+ return this.$props.options;
66
+ }
67
+
68
+ get queryData() {
69
+ return this.$$modelResource.selectGeneral(
70
+ this.resourcePickerOptions?.actionPath,
71
+ this.resourcePickerOptions?.query,
72
+ );
73
+ }
74
+
75
+ get items() {
76
+ return Array.isArray(this.queryData.data) ? this.queryData.data : this.queryData.data?.list;
77
+ }
78
+
79
+ protected render() {
80
+ if (this.$props.readonly) {
81
+ return (
82
+ <ZFormFieldPreset
83
+ {...this.$props}
84
+ render="basic-input:formFieldInput"
85
+ options={{ value: this._getValueByRelation() }}
86
+ ></ZFormFieldPreset>
87
+ );
88
+ }
89
+ return (
90
+ <ZFormField
91
+ {...this.$props}
92
+ slotDefault={({ propsBucket, props }, $$formField) => {
93
+ const needClearableEmptyOption = !propsBucket.needHandleBorder;
94
+ const className = needClearableEmptyOption
95
+ ? classes(
96
+ props.class,
97
+ 'grow w-full h-full min-h-0 border-0 rounded-none bg-transparent pl-0 pr-8 py-0 shadow-none outline-none focus:outline-none focus:shadow-none focus:border-0',
98
+ )
99
+ : classes(
100
+ props.class,
101
+ 'select',
102
+ !$$formField.field.state.meta.isValid && 'select-error',
103
+ );
104
+ const propsNew: ZSelectProps = {
105
+ 'modelValue': propsBucket.value,
106
+ 'onUpdate:modelValue': (value: any) => {
107
+ $$formField.setValue(value, propsBucket.disableNotifyChanged);
108
+ },
109
+ 'onBlur': () => {
110
+ $$formField.handleBlur();
111
+ },
112
+ 'items': this.items,
113
+ ...this.$props.options?.selectOptions,
114
+ ...propsBucket.options?.selectOptions,
115
+ ...props,
116
+ 'class': className,
117
+ };
118
+ if (needClearableEmptyOption) {
119
+ propsNew.items = this._ensureEmptyItemFallback(
120
+ propsNew.items,
121
+ propsNew.placeholder,
122
+ true,
123
+ );
124
+ propsNew.placeholder = undefined;
125
+ } else if (!propsNew.placeholder) {
126
+ propsNew.items = this._ensureEmptyItemFallback(propsNew.items, undefined);
127
+ }
128
+ return <ZSelect {...propsNew}></ZSelect>;
129
+ }}
130
+ ></ZFormField>
131
+ );
132
+ }
133
+
134
+ private _getValueByRelation() {
135
+ const { $$form } = this.$$renderContext;
136
+ let relationName = this.$props.options.relationName;
137
+ if (!relationName) {
138
+ relationName = this.$props.name!.substring(0, this.$props.name!.lastIndexOf('Id'));
139
+ }
140
+ const obj = $$form.getFieldValue(relationName);
141
+ return obj?.[String(this.$props.options.selectOptions!.itemTitle)];
142
+ }
143
+
144
+ private _ensureEmptyItemFallback(
145
+ items: any[] | undefined,
146
+ placeholder: unknown,
147
+ force = false,
148
+ ): any[] | undefined {
149
+ if (!items?.length) return items;
150
+ const valueKey = String(this.$props.options.selectOptions!.itemValue);
151
+ const titleKey = String(this.$props.options.selectOptions!.itemTitle);
152
+ const emptyValue = '';
153
+ if (items[0]?.[valueKey] === emptyValue) return items;
154
+ if (!force && !!placeholder) return items;
155
+ return [{ [valueKey]: emptyValue, [titleKey]: placeholder ?? '' }, ...items];
156
+ }
157
+ }
@@ -0,0 +1 @@
1
+ export * from './.metadata/index.js';
@@ -0,0 +1,13 @@
1
+ {
2
+ "extends": "../../tsconfig.base",
3
+ "compilerOptions": {
4
+ "rootDir": "src",
5
+ "outDir": "dist",
6
+ "declaration": true,
7
+ "declarationMap": true,
8
+ "emitDeclarationOnly": true,
9
+ "allowImportingTsExtensions": true,
10
+ "noEmit": false
11
+ },
12
+ "include": ["src", "src/.metadata/**/*"]
13
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "extends": "../../tsconfig.base",
3
+ "compilerOptions": {},
4
+ "include": ["src", "src/.metadata/**/*"]
5
+ }
@@ -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
  "devDependencies": {
@@ -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",
@@ -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
  "devDependencies": {
@@ -19,6 +19,7 @@
19
19
  "zova-module-basic-input": "^5.0.7",
20
20
  "zova-module-basic-page": "^5.0.7",
21
21
  "zova-module-basic-pageentry": "^5.0.7",
22
+ "zova-module-basic-resource": "^5.0.0",
22
23
  "zova-module-basic-select": "^5.0.4",
23
24
  "zova-module-basic-table": "^5.0.6",
24
25
  "zova-module-basic-text": "^5.0.3",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-rest-resource",
3
- "version": "5.1.36",
3
+ "version": "5.1.40",
4
4
  "gitHead": "4dece229b6d3f4735930e833afcb4b95ec51bf86",
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",
@@ -52,8 +52,7 @@ export class ControllerPageEntry extends BeanControllerPageBase {
52
52
 
53
53
  protected async __init__() {
54
54
  this.formMeta = this.$computed(() => {
55
- const formScene = this.formScene;
56
- return { ...formMetaFromFormScene(formScene), formScene };
55
+ return formMetaFromFormScene(this.formScene);
57
56
  });
58
57
  this.formProvider = this.$computed(() => {
59
58
  return this.$$modelResource.formProvider;
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "zova-suite-a-cabloy",
3
- "version": "5.1.37",
3
+ "version": "5.1.41",
4
4
  "gitHead": "4dece229b6d3f4735930e833afcb4b95ec51bf86",
5
5
  "description": "",
6
6
  "author": "",
7
7
  "files": [],
8
8
  "type": "module",
9
9
  "dependencies": {
10
- "zova-module-rest-resource": "^5.1.36"
10
+ "zova-module-rest-resource": "^5.1.40"
11
11
  },
12
12
  "title": "a-cabloy"
13
13
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-api",
3
- "version": "5.1.18",
3
+ "version": "5.1.21",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "",
6
6
  "keywords": [
@@ -33,7 +33,7 @@
33
33
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json && tsc -p tsconfig.cli.json",
34
34
  "prepublishOnly": "npm run tsc:publish",
35
35
  "prepack": "clean-package",
36
- "postpack": "clean-package restore && npm run clean"
36
+ "postpack": "clean-package restore"
37
37
  },
38
38
  "devDependencies": {
39
39
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-app",
3
- "version": "5.1.21",
3
+ "version": "5.1.24",
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-bean",
3
- "version": "5.1.28",
3
+ "version": "5.1.31",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "",
6
6
  "keywords": [
@@ -33,7 +33,7 @@
33
33
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json && tsc -p tsconfig.cli.json",
34
34
  "prepublishOnly": "npm run tsc:publish",
35
35
  "prepack": "clean-package",
36
- "postpack": "clean-package restore && npm run clean"
36
+ "postpack": "clean-package restore"
37
37
  },
38
38
  "dependencies": {
39
39
  "globby": "^14.1.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-behavior",
3
- "version": "5.1.22",
3
+ "version": "5.1.25",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "",
6
6
  "keywords": [
@@ -33,7 +33,7 @@
33
33
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json && tsc -p tsconfig.cli.json",
34
34
  "prepublishOnly": "npm run tsc:publish",
35
35
  "prepack": "clean-package",
36
- "postpack": "clean-package restore && npm run clean"
36
+ "postpack": "clean-package restore"
37
37
  },
38
38
  "devDependencies": {
39
39
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-behaviors",
3
- "version": "5.1.18",
3
+ "version": "5.1.21",
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-boundary",
3
- "version": "5.1.18",
3
+ "version": "5.1.21",
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,7 +1,12 @@
1
+ import type {
2
+ ICommandExecute,
3
+ ICommandOptionsBase,
4
+ NextCommandExecute,
5
+ } from 'zova-module-a-command';
1
6
  import type { IJsxRenderContextBase } from 'zova-module-a-openapi';
2
7
 
3
8
  import { BeanBase } from 'zova';
4
- import { Command, type ICommandExecute, type ICommandOptionsBase, type NextCommandExecute } from 'zova-module-a-command';
9
+ import { Command } from 'zova-module-a-command';
5
10
 
6
11
  export type TypeCommand<%=argv.beanNameCapitalize%>Result = unknown;
7
12
 
@@ -1,6 +1,11 @@
1
+ import type {
2
+ ICommandBulkOptionsBase,
3
+ ICommandExecute,
4
+ NextCommandExecute,
5
+ } from 'zova-module-a-command';
1
6
  import type { IJsxRenderContextBase } from 'zova-module-a-openapi';
2
7
 
3
- import { BeanCommandBulkBase, Command, type ICommandBulkOptionsBase, type ICommandExecute, type NextCommandExecute } from 'zova-module-a-command';
8
+ import { BeanCommandBulkBase, Command } from 'zova-module-a-command';
4
9
 
5
10
  export type TypeCommand<%=argv.beanNameCapitalize%>Result = unknown;
6
11
 
@@ -0,0 +1,20 @@
1
+ import type {
2
+ ICommandExecute,
3
+ ICommandDetailsRowOptionsBase,
4
+ NextCommandExecute,
5
+ } from 'zova-module-a-command';
6
+ import type { IJsxRenderContextBase } from 'zova-module-a-openapi';
7
+
8
+ import { BeanBase } from 'zova';
9
+ import { Command } from 'zova-module-a-command';
10
+
11
+ export type TypeCommand<%=argv.beanNameCapitalize%>Result = unknown;
12
+
13
+ export interface ICommandOptions<%=argv.beanNameCapitalize%> extends ICommandDetailsRowOptionsBase<TypeCommand<%=argv.beanNameCapitalize%>Result> {}
14
+
15
+ @Command<ICommandOptions<%=argv.beanNameCapitalize%>>()
16
+ export class Command<%=argv.beanNameCapitalize%> extends BeanBase implements ICommandExecute {
17
+ execute(_options: ICommandOptions<%=argv.beanNameCapitalize%>, _renderContext: IJsxRenderContextBase, next: NextCommandExecute) {
18
+ return next();
19
+ }
20
+ }
@@ -1,6 +1,11 @@
1
+ import type {
2
+ ICommandExecute,
3
+ ICommandRowOptionsBase,
4
+ NextCommandExecute,
5
+ } from 'zova-module-a-command';
1
6
  import type { IJsxRenderContextBase } from 'zova-module-a-openapi';
2
7
 
3
- import { BeanCommandRowBase, Command, type ICommandExecute, type ICommandRowOptionsBase, type NextCommandExecute } from 'zova-module-a-command';
8
+ import { BeanCommandRowBase, Command } from 'zova-module-a-command';
4
9
 
5
10
  export type TypeCommand<%=argv.beanNameCapitalize%>Result = unknown;
6
11
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-command",
3
- "version": "5.1.29",
3
+ "version": "5.1.33",
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",
@@ -58,7 +58,8 @@
58
58
  "optionsGlobalInterfaceFrom": "zova-module-a-command",
59
59
  "boilerplate": "command/boilerplate",
60
60
  "boilerplateCommandBulk": "commandBulk/boilerplate",
61
- "boilerplateCommandRow": "commandRow/boilerplate"
61
+ "boilerplateCommandRow": "commandRow/boilerplate",
62
+ "boilerplateCommandDetailsRow": "commandDetailsRow/boilerplate"
62
63
  }
63
64
  },
64
65
  "capabilities": {
@@ -40,6 +40,8 @@ export interface ICommandRowOptionsBase<Result = any> extends ICommandOptionsBas
40
40
  id?: TableIdentity;
41
41
  }
42
42
 
43
+ export interface ICommandDetailsRowOptionsBase<Result = any> extends ICommandOptionsBase<Result> {}
44
+
43
45
  declare module 'zova-module-a-bean' {
44
46
  export interface SysOnion {
45
47
  command: ServiceOnion<IDecoratorCommandOptions, keyof ICommandRecord>;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-fetch",
3
- "version": "5.1.20",
3
+ "version": "5.1.23",
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
  "axios": "^1.16.1"