@lovrabet/rabetbase-cli 2.5.4 → 2.5.5-beta.2

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 (379) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/api-group.js +1 -1
  3. package/lib/api/fetch-model-list.js +1 -1
  4. package/lib/api/generate-api-file.js +1 -1
  5. package/lib/api/generate-sdk-config-file.js +1 -1
  6. package/lib/api/legacy-api-file.js +1 -1
  7. package/lib/api/model-registry-file.js +1 -1
  8. package/lib/api/model-registry-scaffold.js +1 -1
  9. package/lib/api/model-source.js +1 -1
  10. package/lib/auth/auth-server-ui.js +1 -1
  11. package/lib/auth/auth-server.js +1 -1
  12. package/lib/auth/constant.js +1 -1
  13. package/lib/auth/get-cookie.js +1 -1
  14. package/lib/auth/get-session-user.js +1 -1
  15. package/lib/auth/is-session-valid.js +1 -1
  16. package/lib/auth/login-success-html.js +1 -1
  17. package/lib/auth/logout.js +1 -1
  18. package/lib/cli-flags.js +1 -1
  19. package/lib/cli.js +1 -1
  20. package/lib/commands/api/generate.js +1 -1
  21. package/lib/commands/api/index.js +1 -1
  22. package/lib/commands/api/list.js +1 -1
  23. package/lib/commands/api/pull.js +1 -1
  24. package/lib/commands/api/shared.js +1 -1
  25. package/lib/commands/app/detail.js +1 -1
  26. package/lib/commands/app/index.js +1 -1
  27. package/lib/commands/app/list.js +1 -1
  28. package/lib/commands/app/members-list.js +1 -1
  29. package/lib/commands/app/remote-directory.js +1 -1
  30. package/lib/commands/app/shared.js +1 -1
  31. package/lib/commands/app-config/delete.js +1 -1
  32. package/lib/commands/app-config/get.js +1 -1
  33. package/lib/commands/app-config/index.js +1 -1
  34. package/lib/commands/app-config/list.js +1 -1
  35. package/lib/commands/app-config/set.js +1 -1
  36. package/lib/commands/app-config/shared.js +1 -1
  37. package/lib/commands/auth/index.js +1 -1
  38. package/lib/commands/bff/create.js +1 -1
  39. package/lib/commands/bff/delete.js +1 -1
  40. package/lib/commands/bff/detail.js +1 -1
  41. package/lib/commands/bff/index.js +1 -1
  42. package/lib/commands/bff/list.js +1 -1
  43. package/lib/commands/bff/logs.js +1 -1
  44. package/lib/commands/bff/pull.js +1 -1
  45. package/lib/commands/bff/push.js +1 -1
  46. package/lib/commands/bff/status.js +1 -1
  47. package/lib/commands/cli-skill/index.js +1 -1
  48. package/lib/commands/cli-update.js +1 -1
  49. package/lib/commands/codegen/index.js +1 -1
  50. package/lib/commands/codegen/sdk.js +1 -1
  51. package/lib/commands/codegen/sql.js +1 -1
  52. package/lib/commands/common/app-registry.js +1 -1
  53. package/lib/commands/common/app-selector.js +1 -1
  54. package/lib/commands/common/async-task.js +1 -1
  55. package/lib/commands/common/dry-run.js +1 -1
  56. package/lib/commands/common/flags.js +1 -1
  57. package/lib/commands/common/local-file.js +1 -1
  58. package/lib/commands/common/validate.js +1 -1
  59. package/lib/commands/config/delete.js +1 -1
  60. package/lib/commands/config/get.js +1 -1
  61. package/lib/commands/config/index.js +1 -1
  62. package/lib/commands/config/init.js +1 -1
  63. package/lib/commands/config/list.js +1 -1
  64. package/lib/commands/config/set.js +1 -1
  65. package/lib/commands/config/shared.js +1 -1
  66. package/lib/commands/dataset/batch-design.js +1 -1
  67. package/lib/commands/dataset/business-group-update.js +1 -1
  68. package/lib/commands/dataset/business-groups.js +1 -1
  69. package/lib/commands/dataset/capability.js +1 -1
  70. package/lib/commands/dataset/cross-relation-create.js +1 -1
  71. package/lib/commands/dataset/cross-relation-delete.js +1 -1
  72. package/lib/commands/dataset/cross-relation-list.js +1 -1
  73. package/lib/commands/dataset/cross-relation-shared.js +1 -1
  74. package/lib/commands/dataset/cross-relation-update.js +1 -1
  75. package/lib/commands/dataset/delete.js +1 -1
  76. package/lib/commands/dataset/detail.js +1 -1
  77. package/lib/commands/dataset/extend-update.js +1 -1
  78. package/lib/commands/dataset/field-restore.js +1 -1
  79. package/lib/commands/dataset/field-update.js +1 -1
  80. package/lib/commands/dataset/generate.js +1 -1
  81. package/lib/commands/dataset/index.js +1 -1
  82. package/lib/commands/dataset/list.js +1 -1
  83. package/lib/commands/dataset/operations.js +1 -1
  84. package/lib/commands/dataset/relation-audit.js +1 -1
  85. package/lib/commands/dataset/relation-create.js +1 -1
  86. package/lib/commands/dataset/relation-delete.js +1 -1
  87. package/lib/commands/dataset/relation-shared.js +1 -1
  88. package/lib/commands/dataset/relation-update.js +1 -1
  89. package/lib/commands/dataset/relations.js +1 -1
  90. package/lib/commands/dataset/rename.js +1 -1
  91. package/lib/commands/dataset/restore.js +1 -1
  92. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  93. package/lib/commands/db/analysis-batching.js +1 -1
  94. package/lib/commands/db/analyze-batch-plan.js +1 -1
  95. package/lib/commands/db/analyze-cancel.js +1 -1
  96. package/lib/commands/db/analyze-start.js +1 -1
  97. package/lib/commands/db/analyze-status.js +1 -1
  98. package/lib/commands/db/create.js +1 -1
  99. package/lib/commands/db/delete.js +1 -1
  100. package/lib/commands/db/detail.js +1 -1
  101. package/lib/commands/db/diff-refresh-start.js +1 -1
  102. package/lib/commands/db/diff-refresh-status.js +1 -1
  103. package/lib/commands/db/diff.js +1 -1
  104. package/lib/commands/db/index.js +1 -1
  105. package/lib/commands/db/list.js +1 -1
  106. package/lib/commands/db/shared.js +1 -1
  107. package/lib/commands/db/table-diff-shared.js +1 -1
  108. package/lib/commands/db/tables.js +1 -1
  109. package/lib/commands/db/test.js +1 -1
  110. package/lib/commands/db/update.js +1 -1
  111. package/lib/commands/deployment/index.js +1 -1
  112. package/lib/commands/deployment/sync-all.js +1 -1
  113. package/lib/commands/deployment/sync-jobs.js +1 -1
  114. package/lib/commands/deployment/sync-status.js +1 -1
  115. package/lib/commands/doctor.js +1 -1
  116. package/lib/commands/file/index.js +1 -1
  117. package/lib/commands/flow/create.js +1 -1
  118. package/lib/commands/flow/detail.js +1 -1
  119. package/lib/commands/flow/index.js +1 -1
  120. package/lib/commands/flow/list.js +1 -1
  121. package/lib/commands/flow/publish.js +1 -1
  122. package/lib/commands/flow/runtime-resources-shared.js +1 -1
  123. package/lib/commands/flow/runtime-role-list.js +1 -1
  124. package/lib/commands/flow/runtime-role-user-list.js +1 -1
  125. package/lib/commands/flow/runtime-user-search.js +1 -1
  126. package/lib/commands/flow/shared.js +1 -1
  127. package/lib/commands/flow/update.js +1 -1
  128. package/lib/commands/flow/validate.js +1 -1
  129. package/lib/commands/instant-api-policy/current.js +1 -1
  130. package/lib/commands/instant-api-policy/index.js +1 -1
  131. package/lib/commands/instant-api-policy/init.js +1 -1
  132. package/lib/commands/instant-api-policy/publish.js +1 -1
  133. package/lib/commands/instant-api-policy/pull.js +1 -1
  134. package/lib/commands/instant-api-policy/revision.js +1 -1
  135. package/lib/commands/instant-api-policy/revisions.js +1 -1
  136. package/lib/commands/instant-api-policy/rollback.js +1 -1
  137. package/lib/commands/instant-api-policy/shared.js +1 -1
  138. package/lib/commands/instant-api-policy/validate.js +1 -1
  139. package/lib/commands/issue/index.js +1 -1
  140. package/lib/commands/issue/nudge.js +1 -1
  141. package/lib/commands/issue/report.js +1 -1
  142. package/lib/commands/issue/shared.js +1 -1
  143. package/lib/commands/kb/create.js +1 -1
  144. package/lib/commands/kb/delete.js +1 -1
  145. package/lib/commands/kb/detail.js +1 -1
  146. package/lib/commands/kb/index.js +1 -1
  147. package/lib/commands/kb/list.js +1 -1
  148. package/lib/commands/kb/search.js +1 -1
  149. package/lib/commands/kb/shared.js +1 -1
  150. package/lib/commands/kb/update.js +1 -1
  151. package/lib/commands/logs/index.js +1 -1
  152. package/lib/commands/menu/asset-update.js +1 -1
  153. package/lib/commands/menu/delete.js +1 -1
  154. package/lib/commands/menu/external-link-create.js +1 -1
  155. package/lib/commands/menu/external-link-update.js +1 -1
  156. package/lib/commands/menu/group-create.js +1 -1
  157. package/lib/commands/menu/group-update.js +1 -1
  158. package/lib/commands/menu/index.js +1 -1
  159. package/lib/commands/menu/list.js +1 -1
  160. package/lib/commands/menu/move.js +1 -1
  161. package/lib/commands/menu/regroup-start.js +1 -1
  162. package/lib/commands/menu/rename.js +1 -1
  163. package/lib/commands/menu/shared/compare-table.js +1 -1
  164. package/lib/commands/menu/shared/delete-plan.js +1 -1
  165. package/lib/commands/menu/shared/facts.js +1 -1
  166. package/lib/commands/menu/shared/index.js +1 -1
  167. package/lib/commands/menu/shared/inquirer.js +1 -1
  168. package/lib/commands/menu/shared/local-pages.js +1 -1
  169. package/lib/commands/menu/shared/logic.js +1 -1
  170. package/lib/commands/menu/shared/mutations.js +1 -1
  171. package/lib/commands/menu/shared/path.js +1 -1
  172. package/lib/commands/menu/shared/service.js +1 -1
  173. package/lib/commands/menu/shared/subapp-assets.js +1 -1
  174. package/lib/commands/menu/shared/sync-core.js +1 -1
  175. package/lib/commands/menu/shared/update-core.js +1 -1
  176. package/lib/commands/menu/shared/valid-url.js +1 -1
  177. package/lib/commands/menu/subapp-assets-status.js +1 -1
  178. package/lib/commands/menu/subapp-assets-update.js +1 -1
  179. package/lib/commands/menu/sync.js +1 -1
  180. package/lib/commands/menu/visibility-update.js +1 -1
  181. package/lib/commands/notification/config-create.js +1 -1
  182. package/lib/commands/notification/config-delete.js +1 -1
  183. package/lib/commands/notification/config-list.js +1 -1
  184. package/lib/commands/notification/config-update.js +1 -1
  185. package/lib/commands/notification/index.js +1 -1
  186. package/lib/commands/notification/shared.js +1 -1
  187. package/lib/commands/ocr/index.js +1 -1
  188. package/lib/commands/page/create.js +1 -1
  189. package/lib/commands/page/custom/detail.js +1 -1
  190. package/lib/commands/page/custom/list.js +1 -1
  191. package/lib/commands/page/custom/publish.js +1 -1
  192. package/lib/commands/page/custom/shared.js +1 -1
  193. package/lib/commands/page/custom/syntax.js +1 -1
  194. package/lib/commands/page/custom/update.js +1 -1
  195. package/lib/commands/page/data-list-status.js +1 -1
  196. package/lib/commands/page/generate-start.js +1 -1
  197. package/lib/commands/page/generate-status.js +1 -1
  198. package/lib/commands/page/index.js +1 -1
  199. package/lib/commands/page/pull.js +1 -1
  200. package/lib/commands/page/push.js +1 -1
  201. package/lib/commands/page/relation-audit.js +1 -1
  202. package/lib/commands/page/restore.js +1 -1
  203. package/lib/commands/page/shared.js +1 -1
  204. package/lib/commands/page/sync.js +1 -1
  205. package/lib/commands/project/api-architecture-upgrade.js +1 -1
  206. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  207. package/lib/commands/project/create/format-elapsed.js +1 -1
  208. package/lib/commands/project/create/main.js +1 -1
  209. package/lib/commands/project/create/materialize-project-template.js +1 -1
  210. package/lib/commands/project/create/project-name.js +1 -1
  211. package/lib/commands/project/create/project-template-archive.js +1 -1
  212. package/lib/commands/project/create/project-template-path.js +1 -1
  213. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  214. package/lib/commands/project/create/use-format-code.js +1 -1
  215. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  216. package/lib/commands/project/domain-routing-sync.js +1 -1
  217. package/lib/commands/project/index.js +1 -1
  218. package/lib/commands/project/upgrade.js +1 -1
  219. package/lib/commands/registry.js +1 -1
  220. package/lib/commands/role/delete.js +1 -1
  221. package/lib/commands/role/detail.js +1 -1
  222. package/lib/commands/role/index.js +1 -1
  223. package/lib/commands/role/list.js +1 -1
  224. package/lib/commands/role/shared.js +1 -1
  225. package/lib/commands/role/update.js +1 -1
  226. package/lib/commands/role/user-add.js +1 -1
  227. package/lib/commands/role/user-remove.js +1 -1
  228. package/lib/commands/role/user-resolve.js +1 -1
  229. package/lib/commands/rule/get.js +1 -1
  230. package/lib/commands/rule/index.js +1 -1
  231. package/lib/commands/rule/list.js +1 -1
  232. package/lib/commands/rule/set.js +1 -1
  233. package/lib/commands/rule/shared.js +1 -1
  234. package/lib/commands/run/index.js +1 -1
  235. package/lib/commands/schema.js +1 -1
  236. package/lib/commands/sql/create.js +1 -1
  237. package/lib/commands/sql/delete.js +1 -1
  238. package/lib/commands/sql/detail.js +1 -1
  239. package/lib/commands/sql/exec.js +1 -1
  240. package/lib/commands/sql/index.js +1 -1
  241. package/lib/commands/sql/list.js +1 -1
  242. package/lib/commands/sql/pull.js +1 -1
  243. package/lib/commands/sql/push.js +1 -1
  244. package/lib/commands/sql/shared.js +1 -1
  245. package/lib/commands/sql/status.js +1 -1
  246. package/lib/commands/sql/validate.js +1 -1
  247. package/lib/commands/task/index.js +1 -1
  248. package/lib/commands/task/status.js +1 -1
  249. package/lib/commands/tenant/index.js +1 -1
  250. package/lib/commands/tenant/members-list.js +1 -1
  251. package/lib/commands/tenant/shared.js +1 -1
  252. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  253. package/lib/commands/user-account/feishu-bind.js +1 -1
  254. package/lib/commands/user-account/index.js +1 -1
  255. package/lib/commands/workspace/add.js +1 -1
  256. package/lib/commands/workspace/index.js +1 -1
  257. package/lib/commands/workspace/remove.js +1 -1
  258. package/lib/config/domain-config.js +1 -1
  259. package/lib/config/project-domain-routing.js +1 -1
  260. package/lib/config/region-config.js +1 -1
  261. package/lib/config/schema.js +1 -1
  262. package/lib/constant/cdn.js +1 -1
  263. package/lib/constant/cli.js +1 -1
  264. package/lib/constant/defaults.js +1 -1
  265. package/lib/constant/domain.js +1 -1
  266. package/lib/constant/env.js +1 -1
  267. package/lib/constant/output.js +1 -1
  268. package/lib/constant/paths.js +1 -1
  269. package/lib/constant/region.js +1 -1
  270. package/lib/constant/risk.js +1 -1
  271. package/lib/constant/routing-profile.js +1 -1
  272. package/lib/context/app-resolver.js +1 -1
  273. package/lib/context/auth-resolver.js +1 -1
  274. package/lib/context/config-loader.js +1 -1
  275. package/lib/context.js +1 -1
  276. package/lib/core/alias-resolver.js +1 -1
  277. package/lib/core/api-client.js +1 -1
  278. package/lib/core/bff/config.js +1 -1
  279. package/lib/core/bff/file-system.js +1 -1
  280. package/lib/core/bff/hash.js +1 -1
  281. package/lib/core/bff/hook-directory.js +1 -1
  282. package/lib/core/bff/lock.js +1 -1
  283. package/lib/core/bff/utils.js +1 -1
  284. package/lib/core/cross-db-relation.js +1 -1
  285. package/lib/core/db-resolver.js +1 -1
  286. package/lib/core/flow-config.js +1 -1
  287. package/lib/core/instant-api-policy/config.js +1 -1
  288. package/lib/core/kb-search-client.js +1 -1
  289. package/lib/core/page/file-system.js +1 -1
  290. package/lib/core/page/hash.js +1 -1
  291. package/lib/core/page/lock.js +1 -1
  292. package/lib/core/page/lr-smart-jsx.js +1 -1
  293. package/lib/core/sql-index-auditor.js +1 -1
  294. package/lib/core/sql-sync/config.js +1 -1
  295. package/lib/core/sql-sync/file-system.js +1 -1
  296. package/lib/core/sql-sync/hash.js +1 -1
  297. package/lib/core/sql-sync/lock.js +1 -1
  298. package/lib/core/sql-sync/utils.js +1 -1
  299. package/lib/core/sql-validator.js +1 -1
  300. package/lib/errors.js +1 -1
  301. package/lib/framework/build-all-flags.js +1 -1
  302. package/lib/framework/error-output.js +1 -1
  303. package/lib/framework/explicit-yes.js +1 -1
  304. package/lib/framework/flags.js +1 -1
  305. package/lib/framework/help.js +1 -1
  306. package/lib/framework/index.js +1 -1
  307. package/lib/framework/output.js +1 -1
  308. package/lib/framework/response.js +1 -1
  309. package/lib/framework/runner-alias.js +1 -1
  310. package/lib/framework/runner.js +1 -1
  311. package/lib/framework/schema-export.js +1 -1
  312. package/lib/framework/supported-flags.js +1 -1
  313. package/lib/framework/types.js +1 -1
  314. package/lib/generated/build-info.d.ts +4 -4
  315. package/lib/generated/build-info.js +1 -1
  316. package/lib/generated/official-routing.js +1 -1
  317. package/lib/generated/routing-contract.js +1 -1
  318. package/lib/help.js +1 -1
  319. package/lib/postinstall.js +1 -1
  320. package/lib/runtime/confirmation.js +1 -1
  321. package/lib/runtime/event.js +1 -1
  322. package/lib/runtime/index.js +1 -1
  323. package/lib/runtime/queue.js +1 -1
  324. package/lib/runtime/resolve.js +1 -1
  325. package/lib/skills/builtin-skill.js +1 -1
  326. package/lib/skills/main.js +1 -1
  327. package/lib/skills/npx-skills-add.js +1 -1
  328. package/lib/skills/skill-presence.js +1 -1
  329. package/lib/telemetry/cli-command-trace.js +1 -1
  330. package/lib/telemetry/cli-help-trace.js +1 -1
  331. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  332. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  333. package/lib/telemetry/send-cli-trace-log.js +1 -1
  334. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  335. package/lib/utils/ai_config.js +1 -1
  336. package/lib/utils/apply-jq-filter.js +1 -1
  337. package/lib/utils/cdn-config.js +1 -1
  338. package/lib/utils/check-sdk-version.js +1 -1
  339. package/lib/utils/cli-version-check.js +1 -1
  340. package/lib/utils/cli-version-policy.js +1 -1
  341. package/lib/utils/config.js +1 -1
  342. package/lib/utils/entity-with-id.js +1 -1
  343. package/lib/utils/file-utils.js +1 -1
  344. package/lib/utils/guides-cdn.js +1 -1
  345. package/lib/utils/http-client.js +1 -1
  346. package/lib/utils/is-non-interactive.js +1 -1
  347. package/lib/utils/logger.js +1 -1
  348. package/lib/utils/params.js +1 -1
  349. package/lib/utils/platform.js +1 -1
  350. package/lib/utils/sleep.js +1 -1
  351. package/lib/utils/template-replacer.js +1 -1
  352. package/lib/utils/update-notice.js +1 -1
  353. package/lib/utils/version.js +1 -1
  354. package/lib/utils/with-active-cookie.js +1 -1
  355. package/lib/utils/write-cli-side-channel.js +1 -1
  356. package/package.json +2 -1
  357. package/skills/rabetbase/SKILL.md +1 -1
  358. package/skills/rabetbase-page-generation/SKILL.md +39 -0
  359. package/skills/rabetbase-page-generation/references/component-baseline.md +18 -0
  360. package/skills/rabetbase-page-generation/references/generation.md +126 -0
  361. package/skills/rabetbase-page-generation/templates/onepage/build.mjs +48 -0
  362. package/skills/rabetbase-page-generation/templates/onepage/create/README.md +20 -0
  363. package/skills/rabetbase-page-generation/templates/onepage/create/index.jsx +4 -0
  364. package/skills/rabetbase-page-generation/templates/onepage/create/preview.png +0 -0
  365. package/skills/rabetbase-page-generation/templates/onepage/detail/README.md +20 -0
  366. package/skills/rabetbase-page-generation/templates/onepage/detail/index.jsx +194 -0
  367. package/skills/rabetbase-page-generation/templates/onepage/detail/preview.png +0 -0
  368. package/skills/rabetbase-page-generation/templates/onepage/list/README.md +20 -0
  369. package/skills/rabetbase-page-generation/templates/onepage/list/index.jsx +721 -0
  370. package/skills/rabetbase-page-generation/templates/onepage/list/preview.png +0 -0
  371. package/skills/rabetbase-page-generation/templates/onepage/shared/editor.jsx +395 -0
  372. package/skills/rabetbase-page-generation/templates/onepage/shared/model.js +141 -0
  373. package/skills/rabetbase-page-generation/templates/onepage/shared/page.css +377 -0
  374. package/skills/rabetbase-page-generation/templates/onepage/shared/record-layout.jsx +90 -0
  375. package/skills/rabetbase-page-generation/templates/onepage/shared/responsive.jsx +70 -0
  376. package/skills/rabetbase-page-generation/templates/onepage/update/README.md +21 -0
  377. package/skills/rabetbase-page-generation/templates/onepage/update/index.jsx +4 -0
  378. package/skills/rabetbase-page-generation/templates/onepage/update/preview.png +0 -0
  379. package/skills/rabetbase.manifest.json +3 -3
@@ -0,0 +1,377 @@
1
+ .standard-jsx-list {
2
+ box-sizing: border-box;
3
+ padding: 0 24px 24px;
4
+ min-height: calc(100vh - 56px);
5
+ min-width: 0;
6
+ }
7
+ .standard-jsx-list .list-toolbar {
8
+ display: flex;
9
+ gap: 12px;
10
+ align-items: center;
11
+ justify-content: space-between;
12
+ margin-bottom: 8px;
13
+ flex-wrap: wrap;
14
+ }
15
+ .standard-jsx-list .list-toolbar-left {
16
+ display: flex;
17
+ gap: 8px;
18
+ align-items: center;
19
+ flex-wrap: wrap;
20
+ }
21
+ .standard-jsx-list .selection-summary {
22
+ display: flex;
23
+ gap: 10px;
24
+ align-items: center;
25
+ min-width: 220px;
26
+ padding: 4px 8px;
27
+ min-height: 30px;
28
+ box-sizing: border-box;
29
+ border: 1px solid;
30
+ border-radius: 4px;
31
+ }
32
+ .standard-jsx-list .ant-table-cell .ant-btn-link {
33
+ padding-inline: 4px;
34
+ font-size: 12px;
35
+ }
36
+ .standard-jsx-list .ant-table-cell .ant-tag {
37
+ margin-inline-end: 0;
38
+ border-radius: 3px;
39
+ line-height: 18px;
40
+ padding-inline: 6px;
41
+ }
42
+ .standard-jsx-list .ant-table-cell {
43
+ white-space: nowrap;
44
+ }
45
+ .standard-jsx-list .ant-table-pagination {
46
+ margin-bottom: 0;
47
+ }
48
+ .column-options {
49
+ max-width: 220px;
50
+ }
51
+ .column-options .ant-checkbox-group {
52
+ display: flex;
53
+ flex-direction: column;
54
+ gap: 8px;
55
+ }
56
+ @media (max-width: 767px) {
57
+ .standard-jsx-list {
58
+ padding: 12px;
59
+ }
60
+ .standard-jsx-list .selection-summary {
61
+ min-width: 180px;
62
+ }
63
+ }
64
+
65
+ .standard-jsx-list .list-breadcrumb {
66
+ display: flex;
67
+ align-items: center;
68
+ gap: 10px;
69
+ height: 48px;
70
+ margin-bottom: 0;
71
+ }
72
+ .standard-jsx-list .list-breadcrumb .anticon {
73
+ color: #aaa;
74
+ }
75
+ .standard-jsx-list .list-toolbar-left .ant-space-compact {
76
+ width: auto;
77
+ }
78
+
79
+ /* 与旧标准页的实际 ONEPAGE 内容区、分组及字段间距保持一致。 */
80
+ .customer-record {
81
+ box-sizing: border-box;
82
+ min-width: 0;
83
+ padding: 28px 24px 24px;
84
+ }
85
+ .customer-record .record-back {
86
+ margin-bottom: 16px;
87
+ }
88
+ .customer-record .record-fields,
89
+ .customer-record .record-group {
90
+ display: flex;
91
+ flex-direction: column;
92
+ gap: 16px;
93
+ }
94
+ .customer-record .record-group h2 {
95
+ position: relative;
96
+ margin: 0;
97
+ padding: 16px 0;
98
+ font-size: 16px;
99
+ font-weight: 500;
100
+ line-height: 26.6667px;
101
+ color: inherit;
102
+ }
103
+ .customer-record .record-group h2::after {
104
+ content: "";
105
+ position: absolute;
106
+ bottom: 0;
107
+ left: -8px;
108
+ width: 100%;
109
+ height: 1px;
110
+ background: rgba(128, 128, 128, 0.18);
111
+ }
112
+ .customer-record .ant-form-item {
113
+ margin-bottom: 0;
114
+ }
115
+ .customer-record .ant-form-item-label {
116
+ padding-bottom: 8px;
117
+ }
118
+ .customer-record .record-readonly .ant-form-item-control-input {
119
+ min-height: 24px;
120
+ }
121
+ .customer-record .record-readonly .ant-form-item-label > label {
122
+ color: #999;
123
+ }
124
+ .customer-record .record-value {
125
+ min-height: 24px;
126
+ line-height: 24px;
127
+ white-space: pre-wrap;
128
+ overflow-wrap: anywhere;
129
+ }
130
+ .customer-record .record-footer {
131
+ display: flex;
132
+ align-items: center;
133
+ justify-content: flex-end;
134
+ min-height: 64px;
135
+ margin-top: 32px;
136
+ padding: 0 20px;
137
+ }
138
+
139
+ .customer-record .record-footer {
140
+ border-radius: 8px;
141
+ }
142
+ .customer-record textarea {
143
+ resize: none;
144
+ }
145
+
146
+ .standard-jsx-list .list-breadcrumb > span:last-child {
147
+ min-width: 0;
148
+ overflow: hidden;
149
+ text-overflow: ellipsis;
150
+ white-space: nowrap;
151
+ }
152
+ .standard-jsx-list .list-toolbar-actions {
153
+ margin-left: auto;
154
+ }
155
+ .standard-jsx-list .yt-smart-search > .ant-input-search {
156
+ flex: 1;
157
+ width: 0;
158
+ }
159
+ .standard-jsx-list .yt-smart-search > .ant-btn {
160
+ flex-shrink: 0;
161
+ }
162
+ .mobile-record-list {
163
+ display: grid;
164
+ gap: 12px;
165
+ }
166
+ .mobile-record-card {
167
+ border: 1px solid;
168
+ border-radius: 8px;
169
+ padding: 12px;
170
+ min-width: 0;
171
+ }
172
+ .mobile-record-card header {
173
+ display: flex;
174
+ align-items: flex-start;
175
+ gap: 10px;
176
+ }
177
+ .mobile-record-card .mobile-record-title {
178
+ height: auto;
179
+ min-height: 44px;
180
+ padding: 8px 0;
181
+ text-align: left;
182
+ white-space: normal;
183
+ overflow-wrap: anywhere;
184
+ font-size: 15px;
185
+ font-weight: 600;
186
+ min-width: 0;
187
+ }
188
+ .mobile-record-card dl {
189
+ display: grid;
190
+ grid-template-columns: repeat(2, minmax(0, 1fr));
191
+ gap: 12px;
192
+ margin: 8px 0 16px;
193
+ }
194
+ .mobile-record-card dd {
195
+ margin: 4px 0 0;
196
+ overflow-wrap: anywhere;
197
+ }
198
+ .mobile-record-card footer {
199
+ display: grid;
200
+ grid-template-columns: repeat(3, minmax(0, 1fr));
201
+ gap: 8px;
202
+ }
203
+ .mobile-pagination {
204
+ display: flex;
205
+ align-items: center;
206
+ justify-content: space-between;
207
+ gap: 12px;
208
+ flex-wrap: wrap;
209
+ padding: 20px 0;
210
+ }
211
+ .mobile-pagination .ant-pagination {
212
+ width: 100%;
213
+ display: flex;
214
+ justify-content: center;
215
+ }
216
+ .mobile-date-range {
217
+ display: grid;
218
+ gap: 8px;
219
+ min-width: 0;
220
+ }
221
+ @media (max-width: 600px) {
222
+ .standard-jsx-list {
223
+ padding: 0 12px max(16px, env(safe-area-inset-bottom));
224
+ font-size: 14px;
225
+ }
226
+ .standard-jsx-list .list-breadcrumb {
227
+ height: 52px;
228
+ }
229
+ .standard-jsx-list .list-toolbar-left {
230
+ width: 100%;
231
+ }
232
+ .standard-jsx-list .selection-summary {
233
+ flex: 1;
234
+ min-width: 0;
235
+ min-height: 44px;
236
+ gap: 6px;
237
+ }
238
+ .standard-jsx-list .list-toolbar {
239
+ gap: 8px;
240
+ margin-bottom: 16px;
241
+ }
242
+ .standard-jsx-list .yt-smart-search {
243
+ gap: 8px;
244
+ }
245
+ .standard-jsx-list .yt-filter .ant-col {
246
+ flex-basis: 100%;
247
+ max-width: 100%;
248
+ }
249
+ .standard-jsx-list .lr-jsx-filter-actions {
250
+ justify-content: flex-start;
251
+ }
252
+ .standard-jsx-list .ant-btn,
253
+ .customer-record .ant-btn {
254
+ min-height: 44px;
255
+ }
256
+ .standard-jsx-list .ant-input,
257
+ .customer-record .ant-input,
258
+ .customer-record .ant-input-number-input {
259
+ font-size: 16px;
260
+ }
261
+ .standard-jsx-list .ant-input-affix-wrapper,
262
+ .customer-record .ant-input-affix-wrapper,
263
+ .customer-record .ant-input-number {
264
+ min-height: 44px;
265
+ align-items: center;
266
+ }
267
+ .standard-jsx-list .ant-radio-wrapper,
268
+ .customer-record .ant-radio-wrapper {
269
+ min-height: 40px;
270
+ align-items: center;
271
+ }
272
+ .mobile-record-list > .ant-checkbox-wrapper,
273
+ .mobile-record-card header > .ant-checkbox-wrapper {
274
+ min-height: 44px;
275
+ align-items: center;
276
+ }
277
+ .customer-record {
278
+ padding: 12px 16px max(16px, env(safe-area-inset-bottom));
279
+ }
280
+ .customer-record .ant-form-item-label > label,
281
+ .customer-record .record-value {
282
+ font-size: 14px;
283
+ }
284
+ .customer-record input.ant-input,
285
+ .customer-record .ant-input-number-input {
286
+ min-height: 42px;
287
+ }
288
+ .customer-record input[type="datetime-local"],
289
+ .mobile-date-range input {
290
+ width: 100%;
291
+ min-width: 0;
292
+ box-sizing: border-box;
293
+ }
294
+ .customer-record .record-group h2 {
295
+ font-size: 17px;
296
+ }
297
+ .customer-record .record-footer {
298
+ position: sticky;
299
+ bottom: 0;
300
+ z-index: 5;
301
+ padding: 8px 12px max(8px, env(safe-area-inset-bottom));
302
+ margin-top: 24px;
303
+ box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
304
+ }
305
+ .customer-record .record-footer .ant-space {
306
+ width: 100%;
307
+ }
308
+ .customer-record .record-footer .ant-space-item {
309
+ flex: 1;
310
+ }
311
+ .customer-record .record-footer .ant-btn {
312
+ width: 100%;
313
+ }
314
+ }
315
+
316
+ /* 操作效率:详情上下文、顶部保存、同页记录导航。 */
317
+ .customer-record .record-heading {
318
+ display: flex;
319
+ align-items: flex-start;
320
+ justify-content: space-between;
321
+ gap: 12px;
322
+ flex-wrap: wrap;
323
+ padding-bottom: 16px;
324
+ border-bottom: 1px solid rgba(128, 128, 128, 0.18);
325
+ }
326
+ .customer-record .record-heading-title {
327
+ min-width: 0;
328
+ flex: 1 1 160px;
329
+ }
330
+ .customer-record .record-heading h1 {
331
+ font-size: 18px;
332
+ line-height: 1.5;
333
+ margin: 0 0 4px;
334
+ overflow-wrap: anywhere;
335
+ }
336
+ .customer-record .record-save-status {
337
+ opacity: 0.65;
338
+ }
339
+ .customer-record .record-sequence {
340
+ display: flex;
341
+ align-items: center;
342
+ gap: 8px;
343
+ flex-wrap: wrap;
344
+ }
345
+ .standard-jsx-list .active-filter-summary {
346
+ display: flex;
347
+ align-items: center;
348
+ gap: 8px;
349
+ flex-wrap: wrap;
350
+ margin: -8px 0 12px;
351
+ }
352
+ .standard-jsx-list .customer-name-link {
353
+ max-width: 100%;
354
+ overflow: hidden;
355
+ text-overflow: ellipsis;
356
+ padding: 0;
357
+ height: auto;
358
+ text-align: left;
359
+ }
360
+ @media (max-width: 600px) {
361
+ .customer-record .record-heading .ant-space {
362
+ width: 100%;
363
+ }
364
+ .customer-record .record-sequence {
365
+ width: 100%;
366
+ }
367
+ .customer-record .record-footer .ant-space {
368
+ flex-wrap: wrap;
369
+ justify-content: flex-end;
370
+ }
371
+ .customer-record .record-footer .ant-space-item {
372
+ flex: 1 1 auto;
373
+ }
374
+ .customer-record .record-footer .ant-btn {
375
+ width: 100%;
376
+ }
377
+ }
@@ -0,0 +1,90 @@
1
+ import { Form } from "antd";
2
+ import { fields } from "./model";
3
+
4
+ // 分组顺序来自同 Dataset 的旧详情/更新页面;说明来自 Dataset 元信息。
5
+ export const recordGroups = [
6
+ { title: "基本信息", keys: ["id", "customer_name", "customer_type"] },
7
+ { title: "联系信息", keys: ["contact_name", "phone", "email", "region"] },
8
+ {
9
+ title: "业务信息",
10
+ keys: ["customer_level", "status", "annual_revenue", "onboarding_date"],
11
+ },
12
+ { title: "详细描述", keys: ["notes"] },
13
+ ];
14
+ const descriptions = {
15
+ id: "系统自动生成的主键",
16
+ customer_name: "客户名称",
17
+ customer_type: "客户类型:企业或个人",
18
+ customer_level: "客户等级:A、B、C",
19
+ status: "客户状态:活跃或非活跃",
20
+ contact_name: "联系人姓名",
21
+ phone: "联系电话",
22
+ email: "电子邮箱",
23
+ region: "客户所在区域",
24
+ annual_revenue: "客户年度营收金额",
25
+ onboarding_date: "客户入驻日期",
26
+ notes: "备注信息",
27
+ };
28
+ export const recordFields = Object.fromEntries(
29
+ [...fields, { key: "notes", label: "备注", type: "TEXTAREA" }].map(
30
+ (field) => [
31
+ field.key,
32
+ {
33
+ ...field,
34
+ description: descriptions[field.key],
35
+ required: ["id", "customer_name"].includes(field.key),
36
+ },
37
+ ],
38
+ ),
39
+ );
40
+ export function RecordGroups({ children, includeId = true }) {
41
+ return (
42
+ <div className="record-fields">
43
+ {recordGroups.map((group) => (
44
+ <section
45
+ className="record-group"
46
+ key={group.title}
47
+ aria-label={group.title}
48
+ >
49
+ <h2>{group.title}</h2>
50
+ {group.keys
51
+ .filter((key) => includeId || key !== "id")
52
+ .map((key) => children(recordFields[key]))}
53
+ </section>
54
+ ))}
55
+ </div>
56
+ );
57
+ }
58
+ export function RecordItem({ field, children, ...props }) {
59
+ return (
60
+ <Form.Item
61
+ label={field.label}
62
+ tooltip={field.description}
63
+ required={field.required}
64
+ {...props}
65
+ >
66
+ {children}
67
+ </Form.Item>
68
+ );
69
+ }
70
+ export const recordTheme = (hostTheme, algorithm) => ({
71
+ algorithm,
72
+ token: {
73
+ fontSize: 12,
74
+ lineHeight: 5 / 3,
75
+ colorPrimary: hostTheme?.skinColor || "#4548b9",
76
+ borderRadius: 6,
77
+ controlHeight: 32,
78
+ ...(hostTheme?.mode !== "dark"
79
+ ? {
80
+ colorText: "rgba(51,51,51,.88)",
81
+ colorTextHeading: "#333",
82
+ colorTextDescription: "#999",
83
+ }
84
+ : {}),
85
+ },
86
+ components: {
87
+ Radio: { radioSize: 16, dotSize: 8 },
88
+ Form: { itemMarginBottom: 0, verticalLabelPadding: "0 0 8px" },
89
+ },
90
+ });
@@ -0,0 +1,70 @@
1
+ import { useEffect, useState } from "react";
2
+ import { DatePicker, Input } from "antd";
3
+ import dayjs from "dayjs";
4
+
5
+ export function useMobileLayout() {
6
+ const [mobile, setMobile] = useState(
7
+ () => window.matchMedia("(max-width: 600px)").matches,
8
+ );
9
+ useEffect(() => {
10
+ const media = window.matchMedia("(max-width: 600px)");
11
+ const changed = () => setMobile(media.matches);
12
+ media.addEventListener("change", changed);
13
+ return () => media.removeEventListener("change", changed);
14
+ }, []);
15
+ return mobile;
16
+ }
17
+
18
+ // 手机使用系统日期控件,避免桌面日期/时间浮层超出屏幕;表单中仍存 dayjs。
19
+ export function ResponsiveDateTime({ value, onChange, ...props }) {
20
+ const mobile = useMobileLayout();
21
+ return mobile ? (
22
+ <Input
23
+ {...props}
24
+ type="datetime-local"
25
+ step={1}
26
+ value={value?.format("YYYY-MM-DDTHH:mm:ss") || ""}
27
+ onChange={(event) =>
28
+ onChange?.(event.target.value ? dayjs(event.target.value) : null)
29
+ }
30
+ />
31
+ ) : (
32
+ <DatePicker
33
+ {...props}
34
+ value={value}
35
+ onChange={onChange}
36
+ showTime
37
+ format="YYYY-MM-DD HH:mm:ss"
38
+ style={{ width: "100%" }}
39
+ />
40
+ );
41
+ }
42
+ export function ResponsiveDateRange({ value, onChange, ...props }) {
43
+ const mobile = useMobileLayout();
44
+ if (!mobile)
45
+ return (
46
+ <DatePicker.RangePicker
47
+ {...props}
48
+ value={value}
49
+ onChange={onChange}
50
+ placeholder={["请选择入驻日期", "请选择入驻日期"]}
51
+ />
52
+ );
53
+ return (
54
+ <div className="mobile-date-range">
55
+ {[0, 1].map((index) => (
56
+ <Input
57
+ key={index}
58
+ type="date"
59
+ aria-label={index ? "结束日期" : "开始日期"}
60
+ value={value?.[index]?.format("YYYY-MM-DD") || ""}
61
+ onChange={(event) => {
62
+ const next = [...(value || [null, null])];
63
+ next[index] = event.target.value ? dayjs(event.target.value) : null;
64
+ onChange?.(next);
65
+ }}
66
+ />
67
+ ))}
68
+ </div>
69
+ );
70
+ }
@@ -0,0 +1,21 @@
1
+ # 更新页
2
+
3
+ 入口是 `index.jsx`,以 `mode="update"` 使用 `../shared/editor.jsx`。它与详情是独立页面,与新增共享表单实现。
4
+
5
+ ![更新页效果示例](preview.png)
6
+
7
+ 图中为本模板加载本地示例记录后的桌面效果,供布局、字段状态和操作位置参考;外层“关闭子页”是本地预览容器,真实运行使用 ONEPAGE 宿主。
8
+
9
+ ## 保留的交互
10
+
11
+ - 进入页面后按主键读取真实记录;主键只读,其余字段按 Dataset 类型编辑。
12
+ - 顶部及底部支持保存,Ctrl/⌘+Enter 提交;重置恢复读取到的原值。
13
+ - 从详情进入时,保存后回到最新详情;从列表进入时返回父列表并刷新,保留筛选和分页。
14
+ - 页面“返回详情”对未保存修改提供继续编辑/放弃确认;宿主关闭行为由宿主管理,模板不声称已拦截宿主关闭。
15
+ - 保存失败保留输入,加载失败可重试,保存中阻止重复提交。
16
+
17
+ ## 生成时修改
18
+
19
+ 在 `shared/editor.jsx` 中调整主键类型、字段控件、校验及更新白名单;分组和说明来自 `shared/record-layout.jsx`。ONEPAGE 从内部查询参数读取主键,直接访问从 URL 查询参数读取。不能修改用户未编辑的只读字段或将空值错误转为零。
20
+
21
+ 更新成功后发送按入口路径区分的刷新事件,详情重新读取最新记录。完整构建及发布见 [生成流程](../../../references/generation.md)。
@@ -0,0 +1,4 @@
1
+ import EditorPage from "../shared/editor";
2
+ export default function UpdatePage() {
3
+ return <EditorPage mode="update" />;
4
+ }
@@ -2,8 +2,8 @@
2
2
  "schemaVersion": 1,
3
3
  "name": "rabetbase",
4
4
  "packageName": "@lovrabet/rabetbase-cli",
5
- "packageVersion": "2.5.4",
6
- "skillVersion": "2.5.4",
5
+ "packageVersion": "2.5.5-beta.2",
6
+ "skillVersion": "2.5.5-beta.2",
7
7
  "files": [
8
8
  "SKILL.md",
9
9
  "guides/approval-flow-development-workflow.md",
@@ -155,5 +155,5 @@
155
155
  "references/rabetbase-user-account.md",
156
156
  "references/rabetbase-workspace.md"
157
157
  ],
158
- "digest": "74a9c0d783a16c3b0881f4bfcbae651c32b3c540d5c9d1cbe24ecf80f0bda0b4"
158
+ "digest": "46e08874ae244a126497186b6f930955164184baac9690d026efbbdb07b820a8"
159
159
  }