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": "vona-module-a-summer",
3
- "version": "5.1.10",
3
+ "version": "5.1.13",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "Layered Cache",
6
6
  "keywords": [
@@ -29,7 +29,7 @@
29
29
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/vona.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
30
30
  "prepublishOnly": "npm run tsc:publish",
31
31
  "prepack": "clean-package",
32
- "postpack": "clean-package restore && npm run clean"
32
+ "postpack": "clean-package restore"
33
33
  },
34
34
  "devDependencies": {
35
35
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-a-swagger",
3
- "version": "5.1.9",
3
+ "version": "5.1.12",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "keywords": [
@@ -29,7 +29,7 @@
29
29
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/vona.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
30
30
  "prepublishOnly": "npm run tsc:publish",
31
31
  "prepack": "clean-package",
32
- "postpack": "clean-package restore && npm run clean"
32
+ "postpack": "clean-package restore"
33
33
  },
34
34
  "devDependencies": {
35
35
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-a-upload",
3
- "version": "5.1.9",
3
+ "version": "5.1.12",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "keywords": [
@@ -29,7 +29,7 @@
29
29
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/vona.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
30
30
  "prepublishOnly": "npm run tsc:publish",
31
31
  "prepack": "clean-package",
32
- "postpack": "clean-package restore && npm run clean"
32
+ "postpack": "clean-package restore"
33
33
  },
34
34
  "dependencies": {
35
35
  "@types/busboy": "^1.5.4",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-a-user",
3
- "version": "5.1.14",
3
+ "version": "5.1.17",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "keywords": [
@@ -29,7 +29,7 @@
29
29
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/vona.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
30
30
  "prepublishOnly": "npm run tsc:publish",
31
31
  "prepack": "clean-package",
32
- "postpack": "clean-package restore && npm run clean"
32
+ "postpack": "clean-package restore"
33
33
  },
34
34
  "devDependencies": {
35
35
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-a-validation",
3
- "version": "5.1.8",
3
+ "version": "5.1.11",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "keywords": [
@@ -29,7 +29,7 @@
29
29
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/vona.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
30
30
  "prepublishOnly": "npm run tsc:publish",
31
31
  "prepack": "clean-package",
32
- "postpack": "clean-package restore && npm run clean"
32
+ "postpack": "clean-package restore"
33
33
  },
34
34
  "devDependencies": {
35
35
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-a-version",
3
- "version": "5.1.9",
3
+ "version": "5.1.12",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "vona-module-a-version",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/vona.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": "vona-module-a-vona",
3
- "version": "5.1.9",
3
+ "version": "5.1.12",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "keywords": [
@@ -29,7 +29,7 @@
29
29
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/vona.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
30
30
  "prepublishOnly": "npm run tsc:publish",
31
31
  "prepack": "clean-package",
32
- "postpack": "clean-package restore && npm run clean"
32
+ "postpack": "clean-package restore"
33
33
  },
34
34
  "devDependencies": {
35
35
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-a-web",
3
- "version": "5.1.15",
3
+ "version": "5.1.19",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/vona.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json && tsc -p tsconfig.cli.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
  "find-my-way": "^9.5.0"
@@ -11,7 +11,11 @@ import {
11
11
  useApp,
12
12
  } from 'vona';
13
13
  import {
14
+ getTargetDecoratorDtoOpenapi,
15
+ getTargetDecoratorDtoPipes,
14
16
  mergeDtoFieldsOpenapiMetadata,
17
+ setTargetDecoratorDtoOpenapi,
18
+ setTargetDecoratorDtoPipes,
15
19
  SymbolControllerResource,
16
20
  } from 'vona-module-a-openapiutils';
17
21
  import { SymbolOpenApiOptions } from 'vona-module-a-openapiutils';
@@ -85,6 +89,7 @@ export function Dto<T extends IDecoratorDtoOptions<any>>(options?: T): ClassDeco
85
89
  return createBeanDecorator('dto', options, false, target => {
86
90
  mergeDtoFieldsOpenapiMetadata(target);
87
91
  mergeDtoBlocksOpenapiMetadata(target);
92
+ mergeDtoPipesOpenapiMetadata(target);
88
93
  });
89
94
  }
90
95
 
@@ -111,9 +116,25 @@ export function mergeDtoBlocksOpenapiMetadata(target: Constructable) {
111
116
  const beanOptions = appResource.getBean(target);
112
117
  const onionOptions = beanOptions?.options as IDecoratorDtoOptions | undefined;
113
118
  const blocks = onionOptions?.blocks;
114
- if (!blocks) return;
115
- // openapi
116
- onionOptions.openapi = deepExtend({}, onionOptions.openapi, {
117
- rest: { blocks },
118
- });
119
+ if (blocks) {
120
+ onionOptions.openapi = deepExtend({}, onionOptions.openapi, {
121
+ rest: { blocks },
122
+ });
123
+ }
124
+ // always
125
+ getTargetDecoratorDtoOpenapi(target.prototype);
126
+ if (onionOptions?.openapi) {
127
+ setTargetDecoratorDtoOpenapi(onionOptions?.openapi, target.prototype);
128
+ }
129
+ }
130
+
131
+ export function mergeDtoPipesOpenapiMetadata(target: Constructable) {
132
+ // beanOptions
133
+ const beanOptions = appResource.getBean(target);
134
+ const onionOptions = beanOptions?.options as IDecoratorDtoOptions | undefined;
135
+ // always
136
+ getTargetDecoratorDtoPipes(target.prototype);
137
+ if (onionOptions?.pipes) {
138
+ setTargetDecoratorDtoPipes(onionOptions?.pipes, target.prototype);
139
+ }
119
140
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-a-worker",
3
- "version": "5.1.9",
3
+ "version": "5.1.12",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "keywords": [
@@ -29,7 +29,7 @@
29
29
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/vona.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
30
30
  "prepublishOnly": "npm run tsc:publish",
31
31
  "prepack": "clean-package",
32
- "postpack": "clean-package restore && npm run clean"
32
+ "postpack": "clean-package restore"
33
33
  },
34
34
  "devDependencies": {
35
35
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-a-zod",
3
- "version": "5.1.8",
3
+ "version": "5.1.11",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "keywords": [
@@ -30,7 +30,7 @@
30
30
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/vona.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
31
31
  "prepublishOnly": "npm run tsc:publish",
32
32
  "prepack": "clean-package",
33
- "postpack": "clean-package restore && npm run clean"
33
+ "postpack": "clean-package restore"
34
34
  },
35
35
  "devDependencies": {
36
36
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-suite-a-vona",
3
- "version": "5.1.42",
3
+ "version": "5.1.49",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "author": "",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-cli",
3
- "version": "1.2.82",
3
+ "version": "1.2.89",
4
4
  "gitHead": "6f675a8cc46d596142c591c28a40cc4d82fcc6cc",
5
5
  "description": "zova cli",
6
6
  "keywords": [
@@ -40,11 +40,11 @@
40
40
  "postpack": "clean-package restore"
41
41
  },
42
42
  "dependencies": {
43
- "@cabloy/cli": "^3.1.18",
43
+ "@cabloy/cli": "^3.1.23",
44
44
  "@cabloy/process-helper": "^3.1.8",
45
45
  "fs-extra": "^11.3.5",
46
46
  "semver": "^7.6.2",
47
- "zova-cli-set-front": "^1.2.80"
47
+ "zova-cli-set-front": "^1.2.87"
48
48
  },
49
49
  "devDependencies": {
50
50
  "clean-package": "^2.2.0",
@@ -0,0 +1,31 @@
1
+ import type { IComponentOptions } from 'zova';
2
+ import type {
3
+ IJsxRenderContextDetails,
4
+ IResourceDetailsActionBulkOptionsBase,
5
+ } from 'zova-module-a-openapi';
6
+
7
+ import { BeanControllerBase, Use } from 'zova';
8
+ import { Controller } from 'zova-module-a-bean';
9
+
10
+ declare module 'zova-module-a-openapi' {
11
+ export interface IResourceDetailsActionBulkRecord {
12
+ '<%=argv.module%>:<%=argv.nameMeta.full%>'?: Controller<%=argv.nameMeta.fullCapitalize%>Props;
13
+ }
14
+ }
15
+
16
+ export interface Controller<%=argv.nameMeta.fullCapitalize%>Props extends IResourceDetailsActionBulkOptionsBase {}
17
+
18
+ @Controller()
19
+ export class Controller<%=argv.nameMeta.fullCapitalize%> extends BeanControllerBase {
20
+ static $propsDefault = {};
21
+ static $componentOptions: IComponentOptions = { inheritAttrs: false, deepExtendDefault: true };
22
+
23
+ @Use({ injectionScope: 'host' })
24
+ $$renderContext: IJsxRenderContextDetails;
25
+
26
+ protected async __init__() {}
27
+
28
+ protected render() {
29
+ return null;
30
+ }
31
+ }
@@ -20,7 +20,7 @@
20
20
  "tsc:publish": "npm run clean && node <%=argv.suite?'../../../../../':'../../../'%>packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
21
21
  "prepublishOnly": "npm run tsc:publish",
22
22
  "prepack": "clean-package",
23
- "postpack": "clean-package restore && npm run clean"
23
+ "postpack": "clean-package restore"
24
24
  },
25
25
  "dependencies": {},
26
26
  "devDependencies": {
@@ -11,11 +11,13 @@ import type {
11
11
  IResourceBlockRecord,
12
12
  TypeFormSchemaScene,
13
13
  IResourceRenderTableActionRowOptionsAction,
14
+ IResourceRenderDetailsActionRowOptionsAction,
14
15
  IResourceRenderFormActionRowOptionsAction,
15
16
  IResourceRenderTableActionBulkOptionsAction,
16
17
  IResourceRenderDetailsActionBulkOptionsAction,
17
18
  IResourceRenderBlockOptionsBlock,
18
19
  IResourceTableActionRowOptionsBase,
20
+ IResourceDetailsActionRowOptionsBase,
19
21
  IResourceFormActionRowOptionsBase,
20
22
  IResourceTableActionBulkOptionsBase,
21
23
  IResourceDetailsActionBulkOptionsBase,
@@ -86,6 +88,25 @@ export function schemaRenderTableActionRowJsx(
86
88
  return { render: renderComponentJsx, options };
87
89
  }
88
90
 
91
+ export function schemaRenderDetailsActionRow<K extends keyof IResourceDetailsActionRowRecord>(
92
+ render: K,
93
+ options?: IResourceDetailsActionRowRecord[K],
94
+ ): IResourceRenderDetailsActionRowOptionsAction {
95
+ const pos = render.toString().indexOf(':action');
96
+ const name =
97
+ pos > -1
98
+ ? _toLowerCaseFirstChar(render.toString().substring(pos + ':action'.length))
99
+ : undefined;
100
+ return { $$typeof: 'zova-jsx:actionRow', name, render, options };
101
+ }
102
+
103
+ export function schemaRenderDetailsActionRowJsx(
104
+ renderComponentJsx: TypeRenderComponentJsx,
105
+ options?: Pick<IResourceDetailsActionRowOptionsBase, 'permission'>,
106
+ ) {
107
+ return { render: renderComponentJsx, options };
108
+ }
109
+
89
110
  export function schemaRenderFormActionRow<K extends keyof IResourceFormActionRowRecord>(
90
111
  render: K,
91
112
  options?: IResourceFormActionRowRecord[K],
@@ -5,6 +5,8 @@ import {
5
5
  schemaRenderCellJsx,
6
6
  schemaRenderDetailsActionBulk,
7
7
  schemaRenderDetailsActionBulkJsx,
8
+ schemaRenderDetailsActionRow,
9
+ schemaRenderDetailsActionRowJsx,
8
10
  schemaRenderField,
9
11
  schemaRenderFieldJsx,
10
12
  schemaRenderFormActionRow,
@@ -38,6 +40,8 @@ export const ZovaRender = {
38
40
  cellJsx: schemaRenderCellJsx,
39
41
  tableActionRow: schemaRenderTableActionRow,
40
42
  tableActionRowJsx: schemaRenderTableActionRowJsx,
43
+ detailsActionRow: schemaRenderDetailsActionRow,
44
+ detailsActionRowJsx: schemaRenderDetailsActionRowJsx,
41
45
  formActionRow: schemaRenderFormActionRow,
42
46
  formActionRowJsx: schemaRenderFormActionRowJsx,
43
47
  tableActionBulk: schemaRenderTableActionBulk,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-cli-set-front",
3
- "version": "1.2.80",
3
+ "version": "1.2.87",
4
4
  "gitHead": "6f675a8cc46d596142c591c28a40cc4d82fcc6cc",
5
5
  "description": "zova cli-set-front",
6
6
  "keywords": [
@@ -35,13 +35,13 @@
35
35
  "tsc:publish": "npm run clean && node ../../../vona/packages-cli/cli/src/bin/vona.ts :bin:buildGeneral && tsc -p tsconfig.build.json && tsc -p tsconfig.cli.json",
36
36
  "prepublishOnly": "npm run tsc:publish",
37
37
  "prepack": "clean-package",
38
- "postpack": "clean-package restore && npm run clean"
38
+ "postpack": "clean-package restore"
39
39
  },
40
40
  "dependencies": {
41
41
  "@babel/plugin-proposal-decorators": "^7.29.0",
42
42
  "@babel/plugin-transform-class-properties": "^7.28.6",
43
43
  "@babel/plugin-transform-typescript": "^7.28.6",
44
- "@cabloy/cli": "^3.1.18",
44
+ "@cabloy/cli": "^3.1.23",
45
45
  "@cabloy/extend": "^3.2.8",
46
46
  "@cabloy/module-info": "^2.0.0",
47
47
  "@cabloy/openapi-typescript": "^7.9.2",
@@ -32,12 +32,8 @@ export class CliCreateBean extends BeanCliBase {
32
32
  await super.execute();
33
33
  // module name/info
34
34
  const moduleName = argv.module;
35
- argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
36
- // check if exists
37
- const _module = this.helper.findModule(moduleName);
38
- if (!_module) {
39
- throw new Error(`module does not exist: ${moduleName}`);
40
- }
35
+ argv.moduleInfo = this.helper.parseModuleInfoCanonical(moduleName);
36
+ const _module = this.helper.findModuleCanonical(moduleName);
41
37
  // target dir
42
38
  const targetDir = await this.helper.ensureDir(_module.root);
43
39
  // scene name
@@ -23,12 +23,8 @@ export class CliCreateMock extends BeanCliBase {
23
23
  await super.execute();
24
24
  // module name/info
25
25
  const moduleName = argv.module;
26
- argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
27
- // check if exists
28
- const _module = this.helper.findModule(moduleName);
29
- if (!_module) {
30
- throw new Error(`module does not exist: ${moduleName}`);
31
- }
26
+ argv.moduleInfo = this.helper.parseModuleInfoCanonical(moduleName);
27
+ const _module = this.helper.findModuleCanonical(moduleName);
32
28
  // target dir
33
29
  const targetDir = await this.helper.ensureDir(_module.root);
34
30
  // mockName
@@ -25,12 +25,9 @@ export class CliCreateModule extends BeanCliBase {
25
25
  // suite name/info
26
26
  const suiteName = argv.suite;
27
27
  if (suiteName) {
28
- argv.suiteInfo = this.helper.parseSuiteInfo(suiteName);
28
+ argv.suiteInfo = this.helper.parseSuiteInfoCanonical(suiteName);
29
29
  // check if exists
30
- argv._suite = this.helper.findSuite(suiteName);
31
- if (!argv._suite) {
32
- throw new Error(`suite does not exist: ${suiteName}`);
33
- }
30
+ argv._suite = this.helper.findSuiteCanonical(suiteName);
34
31
  }
35
32
  // nameMeta
36
33
  const nameMeta = this.helper.parseNameMeta(argv.name);
@@ -38,7 +35,7 @@ export class CliCreateModule extends BeanCliBase {
38
35
  argv.name = nameMeta.short;
39
36
  // module name/info
40
37
  const moduleName = argv.name;
41
- argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
38
+ argv.moduleInfo = this.helper.parseModuleInfoCanonical(moduleName);
42
39
  argv.relativeNameCapitalize = this.helper.stringToCapitalize(argv.moduleInfo.relativeName, '-');
43
40
  // check if exists
44
41
  const _module = this.helper.findModule(moduleName);
@@ -24,7 +24,7 @@ export class CliCreateSuite extends BeanCliBase {
24
24
  argv.name = nameMeta.short;
25
25
  // suite name/info
26
26
  const suiteName = argv.name;
27
- argv.suiteInfo = this.helper.parseSuiteInfo(suiteName);
27
+ argv.suiteInfo = this.helper.parseSuiteInfoCanonical(suiteName);
28
28
  // check if exists
29
29
  const _suite = this.helper.findSuite(suiteName);
30
30
  if (_suite) {
@@ -19,12 +19,8 @@ export class CliInitAsset extends BeanCliBase {
19
19
  await super.execute();
20
20
  // module name/info
21
21
  const moduleName = argv.module;
22
- argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
23
- // check if exists
24
- const _module = this.helper.findModule(moduleName);
25
- if (!_module) {
26
- throw new Error(`module does not exist: ${moduleName}`);
27
- }
22
+ argv.moduleInfo = this.helper.parseModuleInfoCanonical(moduleName);
23
+ const _module = this.helper.findModuleCanonical(moduleName);
28
24
  // target dir
29
25
  const targetDir = await this.helper.ensureDir(_module.root);
30
26
  // scene
@@ -16,12 +16,8 @@ export class CliInitConfig extends BeanCliBase {
16
16
  // module name/info
17
17
  const moduleName = argv._[0];
18
18
  if (!moduleName) return;
19
- argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
20
- // check if exists
21
- const _module = this.helper.findModule(moduleName);
22
- if (!_module) {
23
- throw new Error(`module does not exist: ${moduleName}`);
24
- }
19
+ argv.moduleInfo = this.helper.parseModuleInfoCanonical(moduleName);
20
+ const _module = this.helper.findModuleCanonical(moduleName);
25
21
  // target dir
26
22
  const targetDir = await this.helper.ensureDir(_module.root);
27
23
  const configFile = path.join(targetDir, 'src/config/config.ts');
@@ -16,12 +16,8 @@ export class CliInitConstant extends BeanCliBase {
16
16
  // module name/info
17
17
  const moduleName = argv._[0];
18
18
  if (!moduleName) return;
19
- argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
20
- // check if exists
21
- const _module = this.helper.findModule(moduleName);
22
- if (!_module) {
23
- throw new Error(`module does not exist: ${moduleName}`);
24
- }
19
+ argv.moduleInfo = this.helper.parseModuleInfoCanonical(moduleName);
20
+ const _module = this.helper.findModuleCanonical(moduleName);
25
21
  // target dir
26
22
  const targetDir = await this.helper.ensureDir(_module.root);
27
23
  const constantFile = path.join(targetDir, 'src/config/constants.ts');
@@ -16,12 +16,8 @@ export class CliInitError extends BeanCliBase {
16
16
  // module name/info
17
17
  const moduleName = argv._[0];
18
18
  if (!moduleName) return;
19
- argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
20
- // check if exists
21
- const _module = this.helper.findModule(moduleName);
22
- if (!_module) {
23
- throw new Error(`module does not exist: ${moduleName}`);
24
- }
19
+ argv.moduleInfo = this.helper.parseModuleInfoCanonical(moduleName);
20
+ const _module = this.helper.findModuleCanonical(moduleName);
25
21
  // target dir
26
22
  const targetDir = await this.helper.ensureDir(_module.root);
27
23
  const errorFile = path.join(targetDir, 'src/config/errors.ts');
@@ -16,12 +16,8 @@ export class CliInitIcon extends BeanCliBase {
16
16
  // module name/info
17
17
  const moduleName = argv._[0];
18
18
  if (!moduleName) return;
19
- argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
20
- // check if exists
21
- const _module = this.helper.findModule(moduleName);
22
- if (!_module) {
23
- throw new Error(`module does not exist: ${moduleName}`);
24
- }
19
+ argv.moduleInfo = this.helper.parseModuleInfoCanonical(moduleName);
20
+ const _module = this.helper.findModuleCanonical(moduleName);
25
21
  // target dir
26
22
  const targetDir = await this.helper.ensureDir(_module.root);
27
23
  const iconDir = path.join(targetDir, 'icons');
@@ -16,12 +16,8 @@ export class CliInitLib extends BeanCliBase {
16
16
  // module name/info
17
17
  const moduleName = argv._[0];
18
18
  if (!moduleName) return;
19
- argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
20
- // check if exists
21
- const _module = this.helper.findModule(moduleName);
22
- if (!_module) {
23
- throw new Error(`module does not exist: ${moduleName}`);
24
- }
19
+ argv.moduleInfo = this.helper.parseModuleInfoCanonical(moduleName);
20
+ const _module = this.helper.findModuleCanonical(moduleName);
25
21
  // target dir
26
22
  const targetDir = await this.helper.ensureDir(_module.root);
27
23
  const mainFile = path.join(targetDir, 'src/lib/index.ts');
@@ -16,12 +16,8 @@ export class CliInitLocale extends BeanCliBase {
16
16
  // module name/info
17
17
  const moduleName = argv._[0];
18
18
  if (!moduleName) return;
19
- argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
20
- // check if exists
21
- const _module = this.helper.findModule(moduleName);
22
- if (!_module) {
23
- throw new Error(`module does not exist: ${moduleName}`);
24
- }
19
+ argv.moduleInfo = this.helper.parseModuleInfoCanonical(moduleName);
20
+ const _module = this.helper.findModuleCanonical(moduleName);
25
21
  // target dir
26
22
  const targetDir = await this.helper.ensureDir(_module.root);
27
23
  const localeFile = path.join(targetDir, 'src/config/locale');
@@ -16,12 +16,8 @@ export class CliInitMain extends BeanCliBase {
16
16
  // module name/info
17
17
  const moduleName = argv._[0];
18
18
  if (!moduleName) return;
19
- argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
20
- // check if exists
21
- const _module = this.helper.findModule(moduleName);
22
- if (!_module) {
23
- throw new Error(`module does not exist: ${moduleName}`);
24
- }
19
+ argv.moduleInfo = this.helper.parseModuleInfoCanonical(moduleName);
20
+ const _module = this.helper.findModuleCanonical(moduleName);
25
21
  // target dir
26
22
  const targetDir = await this.helper.ensureDir(_module.root);
27
23
  const mainFile = path.join(targetDir, 'src/main.ts');
@@ -16,12 +16,8 @@ export class CliInitMainSys extends BeanCliBase {
16
16
  // module name/info
17
17
  const moduleName = argv._[0];
18
18
  if (!moduleName) return;
19
- argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
20
- // check if exists
21
- const _module = this.helper.findModule(moduleName);
22
- if (!_module) {
23
- throw new Error(`module does not exist: ${moduleName}`);
24
- }
19
+ argv.moduleInfo = this.helper.parseModuleInfoCanonical(moduleName);
20
+ const _module = this.helper.findModuleCanonical(moduleName);
25
21
  // target dir
26
22
  const targetDir = await this.helper.ensureDir(_module.root);
27
23
  const mainFile = path.join(targetDir, 'src/mainSys.ts');
@@ -16,12 +16,8 @@ export class CliInitMonkey extends BeanCliBase {
16
16
  // module name/info
17
17
  const moduleName = argv._[0];
18
18
  if (!moduleName) return;
19
- argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
20
- // check if exists
21
- const _module = this.helper.findModule(moduleName);
22
- if (!_module) {
23
- throw new Error(`module does not exist: ${moduleName}`);
24
- }
19
+ argv.moduleInfo = this.helper.parseModuleInfoCanonical(moduleName);
20
+ const _module = this.helper.findModuleCanonical(moduleName);
25
21
  // target dir
26
22
  const targetDir = await this.helper.ensureDir(_module.root);
27
23
  const monkeyFile = path.join(targetDir, 'src/monkey.ts');
@@ -16,12 +16,8 @@ export class CliInitMonkeySys extends BeanCliBase {
16
16
  // module name/info
17
17
  const moduleName = argv._[0];
18
18
  if (!moduleName) return;
19
- argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
20
- // check if exists
21
- const _module = this.helper.findModule(moduleName);
22
- if (!_module) {
23
- throw new Error(`module does not exist: ${moduleName}`);
24
- }
19
+ argv.moduleInfo = this.helper.parseModuleInfoCanonical(moduleName);
20
+ const _module = this.helper.findModuleCanonical(moduleName);
25
21
  // target dir
26
22
  const targetDir = await this.helper.ensureDir(_module.root);
27
23
  const monkeyFile = path.join(targetDir, 'src/monkeySys.ts');