@nocobase/app 2.3.0-alpha.1 → 3.0.0-alpha.1
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.
- package/__tests__/browserChecker.test.ts +129 -0
- package/__tests__/settingsDevProxy.test.ts +96 -0
- package/__tests__/settingsPluginImports.test.ts +106 -0
- package/client/rsbuild.config.ts +37 -15
- package/client-settings/generatePluginImports.ts +36 -0
- package/client-settings/index.html +11 -0
- package/client-settings/rsbuild.config.ts +270 -0
- package/client-settings/src/.plugins/index.ts +4 -0
- package/client-settings/src/SettingsPresetPlugin.ts +56 -0
- package/client-settings/src/__tests__/runtimePublicPath.test.ts +23 -0
- package/client-settings/src/__tests__/runtimeScope.test.ts +29 -0
- package/client-settings/src/env.d.ts +22 -0
- package/client-settings/src/main.tsx +78 -0
- package/client-settings/src/runtimePublicPath.ts +21 -0
- package/client-settings/src/runtimeScope.ts +49 -0
- package/client-settings/tsconfig.json +19 -0
- package/client-v2/public/browser-checker.js +76 -1
- package/client-v2/rsbuild.config.ts +31 -9
- package/dist/client/assets/{index-800d06ee.js → index-b8e6cdd9.js} +369 -355
- package/dist/client/assets/{vendor-antd-f421fb70.js → vendor-antd-b77deb8f.js} +4 -4
- package/dist/client/index.html +1 -1
- package/dist/client/index.html.tpl +1 -1
- package/dist/client/settings/assets/1052-2ed99808.js +1 -0
- package/dist/client/settings/assets/108-76a3fdea.js +82 -0
- package/dist/client/settings/assets/108-76a3fdea.js.LICENSE.txt +17 -0
- package/dist/client/settings/assets/1101-53bb815a.js +1 -0
- package/dist/client/settings/assets/1179-1ec4826c.js +1 -0
- package/dist/client/settings/assets/1310-c0031389.js +59 -0
- package/dist/client/settings/assets/1329-0e47aabd.js +1 -0
- package/dist/client/settings/assets/1425-69534606.js +42 -0
- package/dist/client/settings/assets/1434-d603f255.js +1 -0
- package/dist/client/settings/assets/1463-11b9abe3.js +1 -0
- package/dist/client/settings/assets/1469-477cfa59.js +1 -0
- package/dist/client/settings/assets/1481-59e4188c.js +1 -0
- package/dist/client/settings/assets/1507-9a211af0.js +7 -0
- package/dist/client/settings/assets/158-5273dfbb.js +23 -0
- package/dist/client/settings/assets/1586-73831f88.js +1 -0
- package/dist/client/settings/assets/1667-88ad86eb.js +1 -0
- package/dist/client/settings/assets/1675-3cbafc50.js +1 -0
- package/dist/client/settings/assets/1676-5db7433e.js +9 -0
- package/dist/client/settings/assets/1725-d9ce2582.js +83 -0
- package/dist/client/settings/assets/1786-e6c321bb.js +16 -0
- package/dist/client/settings/assets/183-963396ee.js +1 -0
- package/dist/client/settings/assets/1846-0deb6fc0.js +1 -0
- package/dist/client/settings/assets/1848-0ef98f01.js +1 -0
- package/dist/client/settings/assets/1863-9160dd98.js +1 -0
- package/dist/client/settings/assets/1887-bf619cb3.js +1 -0
- package/dist/client/settings/assets/192-c347bb96.js +1 -0
- package/dist/client/settings/assets/1951-84be8ebc.js +55 -0
- package/dist/client/settings/assets/1979-a893b852.js +1 -0
- package/dist/client/settings/assets/1986-01c03982.js +1 -0
- package/dist/client/settings/assets/2017-29a9879a.js +26 -0
- package/dist/client/settings/assets/2110-961b6f8e.js +1 -0
- package/dist/client/settings/assets/212-0f8a26a2.js +18 -0
- package/dist/client/settings/assets/2203-9aa79271.js +4 -0
- package/dist/client/settings/assets/2258-f667d700.js +1 -0
- package/dist/client/settings/assets/2270-ff70d8cb.js +1 -0
- package/dist/client/settings/assets/2301-2db05359.js +1 -0
- package/dist/client/settings/assets/2322-b9f077c3.js +1 -0
- package/dist/client/settings/assets/2335-669f21bd.js +22 -0
- package/dist/client/settings/assets/242-c3e15c94.js +1 -0
- package/dist/client/settings/assets/2446-ac5fccd3.js +1 -0
- package/dist/client/settings/assets/2512-5343dabb.js +1185 -0
- package/dist/client/settings/assets/2512-5343dabb.js.LICENSE.txt +9 -0
- package/dist/client/settings/assets/2555-4ca49e21.js +31 -0
- package/dist/client/settings/assets/2565-ad63e92f.js +1 -0
- package/dist/client/settings/assets/2606-c4dcd1e1.js +1 -0
- package/dist/client/settings/assets/2613-98648bd2.js +1 -0
- package/dist/client/settings/assets/2622-3389992f.js +1 -0
- package/dist/client/settings/assets/2702-5ce93acd.js +5 -0
- package/dist/client/settings/assets/2710-e7286996.js +36 -0
- package/dist/client/settings/assets/2726-4d19faa1.js +23 -0
- package/dist/client/settings/assets/2861-48106fd8.js +3 -0
- package/dist/client/settings/assets/2898-7656f7f9.js +17 -0
- package/dist/client/settings/assets/2913-6b4e6c17.js +1 -0
- package/dist/client/settings/assets/2958-93de29a6.js +27 -0
- package/dist/client/settings/assets/300-ca09229f.js +1 -0
- package/dist/client/settings/assets/3005-1449fc4e.js +56 -0
- package/dist/client/settings/assets/3018-fc630932.js +3 -0
- package/dist/client/settings/assets/3028-efe6f61f.js +1 -0
- package/dist/client/settings/assets/3039-7f273921.js +1 -0
- package/dist/client/settings/assets/3102-b985963e.js +1 -0
- package/dist/client/settings/assets/3117-cc936eae.js +33 -0
- package/dist/client/settings/assets/32-88d3c82f.js +2 -0
- package/dist/client/settings/assets/3260-3b3c7cd3.js +1 -0
- package/dist/client/settings/assets/3279-8d73fd19.js +1 -0
- package/dist/client/settings/assets/3283-654f42f7.js +1 -0
- package/dist/client/settings/assets/3309-172e3f79.js +1 -0
- package/dist/client/settings/assets/335-da9c4d81.js +1 -0
- package/dist/client/settings/assets/338-2f192edd.js +3 -0
- package/dist/client/settings/assets/3396-4422ee26.js +1 -0
- package/dist/client/settings/assets/3458-2958f051.js +1 -0
- package/dist/client/settings/assets/3475-be655098.js +1 -0
- package/dist/client/settings/assets/3523-5313a211.js +1 -0
- package/dist/client/settings/assets/3526-17f4e8e7.js +1 -0
- package/dist/client/settings/assets/3641-c2439c22.js +1 -0
- package/dist/client/settings/assets/3646-aa6a2478.js +1 -0
- package/dist/client/settings/assets/3660-280439df.js +6 -0
- package/dist/client/settings/assets/3662-8dff1ffe.js +28 -0
- package/dist/client/settings/assets/3690-4a8bdf43.js +12 -0
- package/dist/client/settings/assets/3727-1cfef422.js +44 -0
- package/dist/client/settings/assets/3859-fa4f6d5d.js +1 -0
- package/dist/client/settings/assets/3898-6236af03.js +1 -0
- package/dist/client/settings/assets/3916-3b34f216.js +6 -0
- package/dist/client/settings/assets/3937-af967d62.js +3 -0
- package/dist/client/settings/assets/3977-3feadc2c.js +1 -0
- package/dist/client/settings/assets/3978-29c2602c.js +1 -0
- package/dist/client/settings/assets/3989-c8fcfd6c.js +27 -0
- package/dist/client/settings/assets/406-497829bb.js +1 -0
- package/dist/client/settings/assets/4076-f68c25bd.js +1 -0
- package/dist/client/settings/assets/4096-0050f491.js +1 -0
- package/dist/client/settings/assets/4171-0710965d.js +2 -0
- package/dist/client/settings/assets/4171-0710965d.js.LICENSE.txt +6 -0
- package/dist/client/settings/assets/4195-2a00794d.js +1 -0
- package/dist/client/settings/assets/4222-29a8147d.js +5 -0
- package/dist/client/settings/assets/4223-3821a30e.js +1 -0
- package/dist/client/settings/assets/4313-ab774fd9.js +28 -0
- package/dist/client/settings/assets/4358-0a504478.js +1 -0
- package/dist/client/settings/assets/4419-3ab9c709.js +1 -0
- package/dist/client/settings/assets/4456-49679669.js +1 -0
- package/dist/client/settings/assets/448-57d6a00d.js +1 -0
- package/dist/client/settings/assets/4594-4e72041f.js +1 -0
- package/dist/client/settings/assets/4672-573e9a61.js +1 -0
- package/dist/client/settings/assets/4686-afbf676f.js +1 -0
- package/dist/client/settings/assets/474-ce4285d1.js +1 -0
- package/dist/client/settings/assets/4767-8f9d30dc.js +1 -0
- package/dist/client/settings/assets/4784-c69aaa68.js +1 -0
- package/dist/client/settings/assets/4801-06781ed7.js +1 -0
- package/dist/client/settings/assets/492-937af2ba.js +1 -0
- package/dist/client/settings/assets/4930-41adc6b7.js +1 -0
- package/dist/client/settings/assets/5064-93d8e29e.js +10 -0
- package/dist/client/settings/assets/5087-c505a60e.js +1 -0
- package/dist/client/settings/assets/5108-a028f8af.js +1 -0
- package/dist/client/settings/assets/5122-649463de.js +1 -0
- package/dist/client/settings/assets/5123-0bd0a6f2.js +1 -0
- package/dist/client/settings/assets/5139-3039fde4.js +1 -0
- package/dist/client/settings/assets/5459-c1f208e3.js +1 -0
- package/dist/client/settings/assets/5501-387a31be.js +17 -0
- package/dist/client/settings/assets/5506-a1f27be3.js +1 -0
- package/dist/client/settings/assets/553-1c3126df.js +1 -0
- package/dist/client/settings/assets/557-950114e1.js +1 -0
- package/dist/client/settings/assets/5640-f846c2a0.js +1 -0
- package/dist/client/settings/assets/5642-5c0bab20.js +1 -0
- package/dist/client/settings/assets/5674-e33e384f.js +1 -0
- package/dist/client/settings/assets/5701-8fe417d1.js +1 -0
- package/dist/client/settings/assets/5721-af25e047.js +18 -0
- package/dist/client/settings/assets/5757-81a89522.js +1 -0
- package/dist/client/settings/assets/5759-2b3bdcc6.js +47 -0
- package/dist/client/settings/assets/5761-857b6bbb.js +28 -0
- package/dist/client/settings/assets/5791-7c59ba08.js +1 -0
- package/dist/client/settings/assets/58-77bfd6c9.js +1 -0
- package/dist/client/settings/assets/5815-04fc432a.js +1 -0
- package/dist/client/settings/assets/5819-225de680.js +1 -0
- package/dist/client/settings/assets/5861-ac056534.js +1 -0
- package/dist/client/settings/assets/5870-0c3ecc40.js +1 -0
- package/dist/client/settings/assets/5881-b4c942f1.js +1 -0
- package/dist/client/settings/assets/5905-a5c3fce6.js +1 -0
- package/dist/client/settings/assets/5933-fbe50cd6.js +1 -0
- package/dist/client/settings/assets/6062-0e469079.js +1 -0
- package/dist/client/settings/assets/6093-641fcafc.js +1 -0
- package/dist/client/settings/assets/6157-8e763248.js +1 -0
- package/dist/client/settings/assets/6241-55a319df.js +1 -0
- package/dist/client/settings/assets/6269-a8a1ea3f.js +1 -0
- package/dist/client/settings/assets/630-110e12f4.js +1 -0
- package/dist/client/settings/assets/6345-187e76cf.js +1 -0
- package/dist/client/settings/assets/6346-94bdf034.js +1 -0
- package/dist/client/settings/assets/6373-9d047c6b.js +13 -0
- package/dist/client/settings/assets/6437-3865fd7e.js +12 -0
- package/dist/client/settings/assets/6581-51c928bf.js +21 -0
- package/dist/client/settings/assets/6660-54e08a8d.js +1 -0
- package/dist/client/settings/assets/6738-c6598897.js +20 -0
- package/dist/client/settings/assets/6870-6a6dba63.js +1 -0
- package/dist/client/settings/assets/6914-00d913e7.js +1 -0
- package/dist/client/settings/assets/70-f4dc53ad.js +1 -0
- package/dist/client/settings/assets/700-e75b7faa.js +15 -0
- package/dist/client/settings/assets/7021-4975d54d.js +45 -0
- package/dist/client/settings/assets/7095-4f425b85.js +1 -0
- package/dist/client/settings/assets/7141-b8e2a787.js +1 -0
- package/dist/client/settings/assets/7201-5b49ce84.js +14 -0
- package/dist/client/settings/assets/7211-b8c71ed2.js +9 -0
- package/dist/client/settings/assets/7245-1058e96e.js +474 -0
- package/dist/client/settings/assets/7245-1058e96e.js.LICENSE.txt +2567 -0
- package/dist/client/settings/assets/7245-db3cd5c2.css +1 -0
- package/dist/client/settings/assets/7318-6e1c7877.js +1 -0
- package/dist/client/settings/assets/7386-2f5752d4.js +1 -0
- package/dist/client/settings/assets/7413-241d463c.js +1 -0
- package/dist/client/settings/assets/7492-5c593f52.js +5 -0
- package/dist/client/settings/assets/7507-a015d8cf.js +1 -0
- package/dist/client/settings/assets/754-41b763b9.js +17 -0
- package/dist/client/settings/assets/7555-f42cdb72.js +1 -0
- package/dist/client/settings/assets/7608-2b3f2db0.js +1 -0
- package/dist/client/settings/assets/7669-8bd94b73.js +1 -0
- package/dist/client/settings/assets/7761-637067c6.js +123 -0
- package/dist/client/settings/assets/7876-673cbc3c.js +6 -0
- package/dist/client/settings/assets/791-9cfa98c8.js +1 -0
- package/dist/client/settings/assets/7946-e07199df.js +13 -0
- package/dist/client/settings/assets/7959-f7ef21c6.js +40 -0
- package/dist/client/settings/assets/8053-fa93540e.js +1 -0
- package/dist/client/settings/assets/8087-90829087.js +1 -0
- package/dist/client/settings/assets/8138-e90c290e.js +24 -0
- package/dist/client/settings/assets/8217-de1369d7.js +1 -0
- package/dist/client/settings/assets/8242-3f880357.js +108 -0
- package/dist/client/settings/assets/8252-1153ffdd.js +1 -0
- package/dist/client/settings/assets/8262-7a324b59.js +9 -0
- package/dist/client/settings/assets/8269-52ea88cd.js +1 -0
- package/dist/client/settings/assets/8276-b3dfc452.js +1 -0
- package/dist/client/settings/assets/828-55028e33.js +1 -0
- package/dist/client/settings/assets/8294-9c81768d.js +1 -0
- package/dist/client/settings/assets/8295-447d3bb3.js +1 -0
- package/dist/client/settings/assets/8349-82eb3ecd.js +1 -0
- package/dist/client/settings/assets/8434-9140d106.js +25 -0
- package/dist/client/settings/assets/8438-d2ff6bc1.js +37 -0
- package/dist/client/settings/assets/8473-b1118703.js +1 -0
- package/dist/client/settings/assets/8480-c16f7ee4.js +1 -0
- package/dist/client/settings/assets/8562-ffa35312.js +17 -0
- package/dist/client/settings/assets/8624-847569d9.js +1 -0
- package/dist/client/settings/assets/8631-b2fd9aac.js +1 -0
- package/dist/client/settings/assets/8635-27980c94.js +1 -0
- package/dist/client/settings/assets/8676-987fe455.js +1 -0
- package/dist/client/settings/assets/8729-9adea5fe.js +1 -0
- package/dist/client/settings/assets/8759-4d7f7a69.js +1 -0
- package/dist/client/settings/assets/896-d07bab4d.js +1 -0
- package/dist/client/settings/assets/9021-ec1b8442.js +1 -0
- package/dist/client/settings/assets/9065-5df7b63d.js +1 -0
- package/dist/client/settings/assets/9170-efbfcc1e.js +1 -0
- package/dist/client/settings/assets/9204-6cb7a01b.js +1 -0
- package/dist/client/settings/assets/9217-f27c2dcb.js +1 -0
- package/dist/client/settings/assets/9248-ff8e06d0.js +1 -0
- package/dist/client/settings/assets/9274-83aa1da2.js +1 -0
- package/dist/client/settings/assets/929-a37c623d.js +1 -0
- package/dist/client/settings/assets/93-dc732e8a.js +1 -0
- package/dist/client/settings/assets/9518-4c8b8805.js +1 -0
- package/dist/client/settings/assets/9550-2daf603c.js +1 -0
- package/dist/client/settings/assets/9565-2158d75f.js +1 -0
- package/dist/client/settings/assets/9578-f64d8970.js +1 -0
- package/dist/client/settings/assets/9584-969e1d2b.js +1 -0
- package/dist/client/settings/assets/9592-523a3fa6.js +1 -0
- package/dist/client/settings/assets/9827-d1f02095.js +9 -0
- package/dist/client/settings/assets/9836-fcbb81f6.js +22 -0
- package/dist/client/settings/assets/9847-bc9f1ba4.js +1 -0
- package/dist/client/settings/assets/9953-407a1cde.js +1 -0
- package/dist/client/settings/assets/index-222fdff7.js +1946 -0
- package/dist/client/settings/assets/index-222fdff7.js.LICENSE.txt +1 -0
- package/dist/client/settings/assets/runtime-6b2f3ebe.js +1 -0
- package/dist/client/settings/browser-checker.js +282 -0
- package/dist/client/settings/favicon/favicon.ico +0 -0
- package/dist/client/settings/file-placeholder/ai-200-200.png +0 -0
- package/dist/client/settings/file-placeholder/audio-200-200.png +0 -0
- package/dist/client/settings/file-placeholder/docx-200-200.png +0 -0
- package/dist/client/settings/file-placeholder/eps-200-200.png +0 -0
- package/dist/client/settings/file-placeholder/gif-200-200.png +0 -0
- package/dist/client/settings/file-placeholder/jpeg-200-200.png +0 -0
- package/dist/client/settings/file-placeholder/pdf-200-200.png +0 -0
- package/dist/client/settings/file-placeholder/png-200-200.png +0 -0
- package/dist/client/settings/file-placeholder/pptx-200-200.png +0 -0
- package/dist/client/settings/file-placeholder/psd-200-200.png +0 -0
- package/dist/client/settings/file-placeholder/svg-200-200.png +0 -0
- package/dist/client/settings/file-placeholder/unknown-200-200.png +0 -0
- package/dist/client/settings/file-placeholder/video-200-200.png +0 -0
- package/dist/client/settings/file-placeholder/xlsx-200-200.png +0 -0
- package/dist/client/settings/file-placeholder/zip-200-200.png +0 -0
- package/dist/client/settings/global.css +63 -0
- package/dist/client/settings/index.html +22 -0
- package/dist/client/settings/nocobase.png +0 -0
- package/dist/client/settings/robots.txt +2 -0
- package/dist/client/v/assets/{index-2f7426fe.js → index-b2d53e82.js} +167 -153
- package/dist/client/v/assets/index-b2d53e82.js.LICENSE.txt +1 -0
- package/dist/client/v/browser-checker.js +76 -1
- package/dist/client/v/index.html +1 -1
- package/package.json +7 -7
- package/settingsDevProxy.ts +52 -0
- /package/dist/client/assets/{index-800d06ee.js.LICENSE.txt → index-b8e6cdd9.js.LICENSE.txt} +0 -0
- /package/dist/client/{v/assets/index-2f7426fe.js.LICENSE.txt → settings/assets/32-88d3c82f.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable
|
|
3
|
+
Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com)
|
|
4
|
+
Licensed under The MIT License (http://opensource.org/licenses/MIT)
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/*!
|
|
8
|
+
Event object based on jQuery events, MIT license
|
|
9
|
+
|
|
10
|
+
https://jquery.org/license/
|
|
11
|
+
https://tldrlegal.com/license/mit-license
|
|
12
|
+
https://github.com/jquery/jquery/blob/master/src/event.js
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */
|
|
16
|
+
|
|
17
|
+
/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="1101";export const __rspack_esm_ids=["1101"];export const __webpack_modules__={95084(_,t,e){_.exports=function(_){"use strict";var t={name:"tzm",weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekStart:6,weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"}};return(_&&"object"==typeof _&&"default"in _?_:{default:_}).default.locale(t,null,!0),t}(e(74353))}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="1179";export const __rspack_esm_ids=["1179"];export const __webpack_modules__={19286(e,_,o){e.exports=function(e){"use strict";var _={name:"it-ch",weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),weekStart:1,weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"tra %s",past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"}};return(e&&"object"==typeof e&&"default"in e?e:{default:e}).default.locale(_,null,!0),_}(o(74353))}};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export const __rspack_esm_id="1310";export const __rspack_esm_ids=["1310"];export const __webpack_modules__={79271(e,t,n){n.r(t),n.d(t,{JSBlockRunJSContext:()=>a});var r=n(29007),i=n(4418);class a extends r.uk{}a.define({label:"RunJS context",properties:{element:(0,i.e)(`ElementProxy instance providing a safe DOM container.
|
|
2
|
+
Supports innerHTML, append, and other DOM manipulation methods.
|
|
3
|
+
Use this to render content in the JS block.`),record:`Current record data object (read-only).
|
|
4
|
+
Available when the JS block is within a data block or detail view context.`,value:"Current value of the field or component, if available in the current context.",React:"React library",antd:"Ant Design library"},methods:{onRefReady:`Wait for container DOM element to be ready before executing callback.
|
|
5
|
+
Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void
|
|
6
|
+
Example: ctx.onRefReady(ctx.ref, (el) => { el.innerHTML = "Ready!" })`,requireAsync:"Load external library: `const lib = await ctx.requireAsync(url)`",importAsync:"Dynamically import an ESM module by URL: `const mod = await ctx.importAsync(url)`.\nNote: if the module has only a default export, ctx.importAsync returns that default value directly (no `.default`)."}}),a.define({label:"RunJS 上下文",properties:{element:(0,i.V)("ElementProxy,安全的 DOM 容器,支持 innerHTML/append 等"),record:"当前记录(只读,用于数据区块/详情等场景)",value:"当前值(若存在)",React:"React 库",antd:"Ant Design 库"},methods:{onRefReady:"容器 ref 就绪回调:\n```js\nctx.onRefReady(ctx.ref, el => { /* ... */ })\n```",requireAsync:"加载外部库:`const lib = await ctx.requireAsync(url)`",importAsync:"按 URL 动态导入 ESM 模块:`const mod = await ctx.importAsync(url)`。\n注意:当模块只有 default 一个导出时,ctx.importAsync 会直接返回 default 值(无需再写 `.default`)。"}},{locale:"zh-CN"})},4418(e,t,n){n.d(t,{V:()=>o,e:()=>a});let r={innerHTML:"Sanitized inner HTML string.",outerHTML:"Sanitized outer HTML string.",textContent:"Text content.",style:"Inline style declaration.",classList:"DOMTokenList for CSS classes.",appendChild:{type:"function",description:"Append a DOM node or text.",detail:"(child: Node | string) => void",completion:{insertText:"ctx.element.appendChild('text')"}},setAttribute:{type:"function",description:"Set an HTML attribute.",detail:"(name: string, value: string) => void",completion:{insertText:"ctx.element.setAttribute('data-key', 'value')"}},getAttribute:{type:"function",description:"Read an HTML attribute.",detail:"(name: string) => string | null",completion:{insertText:"ctx.element.getAttribute('data-key')"}},querySelector:{type:"function",description:"Find the first matching descendant.",detail:"(selectors: string) => Element | null",completion:{insertText:"ctx.element.querySelector('.selector')"}},querySelectorAll:{type:"function",description:"Find all matching descendants.",detail:"(selectors: string) => NodeListOf<Element>",completion:{insertText:"ctx.element.querySelectorAll('.selector')"}},addEventListener:{type:"function",description:"Attach an event listener to the element.",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.addEventListener('click', (event) => {})"}},removeEventListener:{type:"function",description:"Remove an event listener from the element.",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.removeEventListener('click', handler)"}}},i={innerHTML:"已消毒的 innerHTML 字符串。",outerHTML:"已消毒的 outerHTML 字符串。",textContent:"文本内容。",style:"内联样式声明。",classList:"CSS class 列表。",appendChild:{type:"function",description:"追加 DOM 节点或文本。",detail:"(child: Node | string) => void",completion:{insertText:"ctx.element.appendChild('text')"}},setAttribute:{type:"function",description:"设置 HTML 属性。",detail:"(name: string, value: string) => void",completion:{insertText:"ctx.element.setAttribute('data-key', 'value')"}},getAttribute:{type:"function",description:"读取 HTML 属性。",detail:"(name: string) => string | null",completion:{insertText:"ctx.element.getAttribute('data-key')"}},querySelector:{type:"function",description:"查询第一个匹配的后代元素。",detail:"(selectors: string) => Element | null",completion:{insertText:"ctx.element.querySelector('.selector')"}},querySelectorAll:{type:"function",description:"查询所有匹配的后代元素。",detail:"(selectors: string) => NodeListOf<Element>",completion:{insertText:"ctx.element.querySelectorAll('.selector')"}},addEventListener:{type:"function",description:"给元素添加事件监听。",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.addEventListener('click', (event) => {})"}},removeEventListener:{type:"function",description:"移除元素事件监听。",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.removeEventListener('click', handler)"}}};function a(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Current DOM container for this RunJS context. Usually an ElementProxy.";return{description:e,detail:"HTMLElement | ElementProxy",properties:r}}function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"当前 RunJS 上下文的 DOM 容器,通常为 ElementProxy。";return{description:e,detail:"HTMLElement | ElementProxy",properties:i}}},39101(e,t,n){n.r(t),n.d(t,{default:()=>r});let r={contexts:[n(79271).JSBlockRunJSContext],prefix:"sn-jsb-chartjs",label:"Render Chart.js bar chart",description:"Load Chart.js from CDN and render a basic bar chart inside the block",locales:{"zh-CN":{label:"渲染 Chart.js 柱状图",description:"通过 CDN 引入 Chart.js 并在区块中渲染基础柱状图"}},content:`
|
|
7
|
+
const wrapper = document.createElement('div');
|
|
8
|
+
wrapper.style.padding = '16px';
|
|
9
|
+
wrapper.style.background = '#fff';
|
|
10
|
+
wrapper.style.borderRadius = '8px';
|
|
11
|
+
wrapper.style.boxShadow = '0 2px 8px rgba(0,0,0,0.05)';
|
|
12
|
+
|
|
13
|
+
const canvas = document.createElement('canvas');
|
|
14
|
+
canvas.width = 480;
|
|
15
|
+
canvas.height = 320;
|
|
16
|
+
wrapper.appendChild(canvas);
|
|
17
|
+
ctx.render(wrapper);
|
|
18
|
+
|
|
19
|
+
async function renderChart() {
|
|
20
|
+
const loaded = await ctx.requireAsync('chart.js@4.4.0/dist/chart.umd.min.js');
|
|
21
|
+
const Chart = loaded?.Chart || loaded?.default?.Chart || loaded?.default;
|
|
22
|
+
if (!Chart) {
|
|
23
|
+
throw new Error('Chart.js is not available');
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'];
|
|
27
|
+
const data = [12, 18, 9, 15, 22];
|
|
28
|
+
|
|
29
|
+
new Chart(canvas.getContext('2d'), {
|
|
30
|
+
type: 'bar',
|
|
31
|
+
data: {
|
|
32
|
+
labels,
|
|
33
|
+
datasets: [
|
|
34
|
+
{
|
|
35
|
+
label: ctx.t('Daily visits'),
|
|
36
|
+
data,
|
|
37
|
+
backgroundColor: 'rgba(24, 144, 255, 0.6)',
|
|
38
|
+
borderColor: '#1890ff',
|
|
39
|
+
borderWidth: 1,
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
options: {
|
|
44
|
+
plugins: {
|
|
45
|
+
legend: { display: true },
|
|
46
|
+
title: {
|
|
47
|
+
display: true,
|
|
48
|
+
text: ctx.t('Weekly overview'),
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
renderChart().catch((error) => {
|
|
56
|
+
console.error('[RunJS] failed to render chart', error);
|
|
57
|
+
wrapper.innerHTML = '<div style="color:#c00;">' + (error?.message || ctx.t('Chart initialization failed')) + '</div>';
|
|
58
|
+
});
|
|
59
|
+
`}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="1329";export const __rspack_esm_ids=["1329"];export const __webpack_modules__={13672(e,n,_){e.exports=function(e){"use strict";var n={s:"ein paar Sekunden",m:["eine Minute","einer Minute"],mm:"%d Minuten",h:["eine Stunde","einer Stunde"],hh:"%d Stunden",d:["ein Tag","einem Tag"],dd:["%d Tage","%d Tagen"],M:["ein Monat","einem Monat"],MM:["%d Monate","%d Monaten"],y:["ein Jahr","einem Jahr"],yy:["%d Jahre","%d Jahren"]};function _(e,_,t){var a=n[t];return Array.isArray(a)&&(a=a[+!_]),a.replace("%d",e)}var t={name:"de-ch",weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),ordinal:function(e){return e+"."},weekStart:1,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},relativeTime:{future:"in %s",past:"vor %s",s:_,m:_,mm:_,h:_,hh:_,d:_,dd:_,M:_,MM:_,y:_,yy:_}};return(e&&"object"==typeof e&&"default"in e?e:{default:e}).default.locale(t,null,!0),t}(_(74353))}};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export const __rspack_esm_id="1425";export const __rspack_esm_ids=["1425"];export const __webpack_modules__={98542(e,t,n){n.r(t),n.d(t,{JSFieldRunJSContext:()=>r});var i=n(29007),l=n(4418);class r extends i.uk{}r.define({label:"JSField RunJS context",properties:{element:(0,l.e)(`ElementProxy instance providing a safe DOM container for field rendering.
|
|
2
|
+
Supports innerHTML, append, and other DOM manipulation methods.`),value:`Current value of the field (read-only).
|
|
3
|
+
Contains the data value stored in this field.`,record:`Current record data object (read-only).
|
|
4
|
+
Contains all field values of the parent record.`,collection:`Collection definition metadata (read-only).
|
|
5
|
+
Provides schema information about the collection this field belongs to.`},methods:{onRefReady:`Wait for field container DOM element to be ready before executing callback.
|
|
6
|
+
Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void
|
|
7
|
+
Example: ctx.onRefReady(ctx.ref, (el) => { el.innerHTML = ctx.value })`}}),r.define({label:"JS 字段 RunJS 上下文",properties:{element:(0,l.V)("ElementProxy,字段渲染容器,支持 innerHTML/append 等 DOM 操作"),value:"字段当前值(只读)",record:"当前记录对象(只读,包含父记录全部字段值)",collection:"集合定义元数据(只读,描述字段所属集合的 Schema)"},methods:{onRefReady:"在字段容器 DOM 就绪后执行回调。参数:(ref, callback, timeout?);示例:ctx.onRefReady(ctx.ref, el => { el.innerHTML = ctx.value })"}},{locale:"zh-CN"})},4418(e,t,n){n.d(t,{V:()=>o,e:()=>r});let i={innerHTML:"Sanitized inner HTML string.",outerHTML:"Sanitized outer HTML string.",textContent:"Text content.",style:"Inline style declaration.",classList:"DOMTokenList for CSS classes.",appendChild:{type:"function",description:"Append a DOM node or text.",detail:"(child: Node | string) => void",completion:{insertText:"ctx.element.appendChild('text')"}},setAttribute:{type:"function",description:"Set an HTML attribute.",detail:"(name: string, value: string) => void",completion:{insertText:"ctx.element.setAttribute('data-key', 'value')"}},getAttribute:{type:"function",description:"Read an HTML attribute.",detail:"(name: string) => string | null",completion:{insertText:"ctx.element.getAttribute('data-key')"}},querySelector:{type:"function",description:"Find the first matching descendant.",detail:"(selectors: string) => Element | null",completion:{insertText:"ctx.element.querySelector('.selector')"}},querySelectorAll:{type:"function",description:"Find all matching descendants.",detail:"(selectors: string) => NodeListOf<Element>",completion:{insertText:"ctx.element.querySelectorAll('.selector')"}},addEventListener:{type:"function",description:"Attach an event listener to the element.",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.addEventListener('click', (event) => {})"}},removeEventListener:{type:"function",description:"Remove an event listener from the element.",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.removeEventListener('click', handler)"}}},l={innerHTML:"已消毒的 innerHTML 字符串。",outerHTML:"已消毒的 outerHTML 字符串。",textContent:"文本内容。",style:"内联样式声明。",classList:"CSS class 列表。",appendChild:{type:"function",description:"追加 DOM 节点或文本。",detail:"(child: Node | string) => void",completion:{insertText:"ctx.element.appendChild('text')"}},setAttribute:{type:"function",description:"设置 HTML 属性。",detail:"(name: string, value: string) => void",completion:{insertText:"ctx.element.setAttribute('data-key', 'value')"}},getAttribute:{type:"function",description:"读取 HTML 属性。",detail:"(name: string) => string | null",completion:{insertText:"ctx.element.getAttribute('data-key')"}},querySelector:{type:"function",description:"查询第一个匹配的后代元素。",detail:"(selectors: string) => Element | null",completion:{insertText:"ctx.element.querySelector('.selector')"}},querySelectorAll:{type:"function",description:"查询所有匹配的后代元素。",detail:"(selectors: string) => NodeListOf<Element>",completion:{insertText:"ctx.element.querySelectorAll('.selector')"}},addEventListener:{type:"function",description:"给元素添加事件监听。",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.addEventListener('click', (event) => {})"}},removeEventListener:{type:"function",description:"移除元素事件监听。",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.removeEventListener('click', handler)"}}};function r(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Current DOM container for this RunJS context. Usually an ElementProxy.";return{description:e,detail:"HTMLElement | ElementProxy",properties:i}}function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"当前 RunJS 上下文的 DOM 容器,通常为 ElementProxy。";return{description:e,detail:"HTMLElement | ElementProxy",properties:l}}},57064(e,t,n){n.r(t),n.d(t,{default:()=>i});let i={contexts:[n(98542).JSFieldRunJSContext],prefix:"sn-jsf-copy",label:"Display text field with copy button",description:"Render the text field value with a copy-to-clipboard button",locales:{"zh-CN":{label:"将文本字段显示为复制按钮",description:"展示字段值并提供快捷复制到剪贴板的按钮"}},content:`
|
|
8
|
+
const text = String(ctx.value ?? '');
|
|
9
|
+
|
|
10
|
+
const wrapper = document.createElement('span');
|
|
11
|
+
wrapper.style.display = 'inline-flex';
|
|
12
|
+
wrapper.style.alignItems = 'center';
|
|
13
|
+
wrapper.style.gap = '8px';
|
|
14
|
+
|
|
15
|
+
const valueEl = document.createElement('span');
|
|
16
|
+
valueEl.textContent = text;
|
|
17
|
+
valueEl.style.color = '#666';
|
|
18
|
+
|
|
19
|
+
const copyEl = document.createElement('a');
|
|
20
|
+
copyEl.textContent = ctx.t('Copy');
|
|
21
|
+
copyEl.style.cursor = 'pointer';
|
|
22
|
+
copyEl.style.color = '#1677ff';
|
|
23
|
+
|
|
24
|
+
copyEl.addEventListener('click', async () => {
|
|
25
|
+
if (navigator?.clipboard?.writeText) {
|
|
26
|
+
await navigator.clipboard.writeText(text);
|
|
27
|
+
} else {
|
|
28
|
+
const ta = document.createElement('textarea');
|
|
29
|
+
ta.value = text;
|
|
30
|
+
document.body.appendChild(ta);
|
|
31
|
+
ta.select();
|
|
32
|
+
document.execCommand('copy');
|
|
33
|
+
document.body.removeChild(ta);
|
|
34
|
+
}
|
|
35
|
+
ctx.message.success(ctx.t('Copied'));
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
wrapper.appendChild(valueEl);
|
|
39
|
+
wrapper.appendChild(copyEl);
|
|
40
|
+
|
|
41
|
+
ctx.render(wrapper);
|
|
42
|
+
`}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="1434";export const __rspack_esm_ids=["1434"];export const __webpack_modules__={12673(_,e,a){_.exports=function(_){"use strict";var e={name:"en-sg",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),weekStart:1,weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"}};return(_&&"object"==typeof _&&"default"in _?_:{default:_}).default.locale(e,null,!0),e}(a(74353))}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="1463";export const __rspack_esm_ids=["1463"];export const __webpack_modules__={92010(Y,_,M){Y.exports=function(Y){"use strict";var _={s:"מספר שניות",ss:"%d שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:"%d שעות",hh2:"שעתיים",d:"יום",dd:"%d ימים",dd2:"יומיים",M:"חודש",MM:"%d חודשים",MM2:"חודשיים",y:"שנה",yy:"%d שנים",yy2:"שנתיים"};function M(Y,M,d){return(_[d+(2===Y?"2":"")]||_[d]).replace("%d",Y)}var d={name:"he",weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א׳_ב׳_ג׳_ד׳_ה׳_ו_ש׳".split("_"),months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו_פבר_מרץ_אפר_מאי_יונ_יול_אוג_ספט_אוק_נוב_דצמ".split("_"),relativeTime:{future:"בעוד %s",past:"לפני %s",s:M,m:M,mm:M,h:M,hh:M,d:M,dd:M,M:M,MM:M,y:M,yy:M},ordinal:function(Y){return Y},format:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"}};return(Y&&"object"==typeof Y&&"default"in Y?Y:{default:Y}).default.locale(d,null,!0),d}(M(74353))}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="1469";export const __rspack_esm_ids=["1469"];export const __webpack_modules__={33900(e,_,o){e.exports=function(e){"use strict";var _={name:"it",weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),weekStart:1,monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"tra %s",past:"%s fa",s:"qualche secondo",m:"un minuto",mm:"%d minuti",h:"un' ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinal:function(e){return e+"\xba"}};return(e&&"object"==typeof e&&"default"in e?e:{default:e}).default.locale(_,null,!0),_}(o(74353))}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="1481";export const __rspack_esm_ids=["1481"];export const __webpack_modules__={18928(_,e,t){_.exports=function(_){"use strict";var e={name:"tet",weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),weekStart:1,weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"}};return(_&&"object"==typeof _&&"default"in _?_:{default:_}).default.locale(e,null,!0),e}(t(74353))}};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const __rspack_esm_id="1507";export const __rspack_esm_ids=["1507"];export const __webpack_modules__={98542(e,t,n){n.r(t),n.d(t,{JSFieldRunJSContext:()=>l});var i=n(29007),r=n(4418);class l extends i.uk{}l.define({label:"JSField RunJS context",properties:{element:(0,r.e)(`ElementProxy instance providing a safe DOM container for field rendering.
|
|
2
|
+
Supports innerHTML, append, and other DOM manipulation methods.`),value:`Current value of the field (read-only).
|
|
3
|
+
Contains the data value stored in this field.`,record:`Current record data object (read-only).
|
|
4
|
+
Contains all field values of the parent record.`,collection:`Collection definition metadata (read-only).
|
|
5
|
+
Provides schema information about the collection this field belongs to.`},methods:{onRefReady:`Wait for field container DOM element to be ready before executing callback.
|
|
6
|
+
Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void
|
|
7
|
+
Example: ctx.onRefReady(ctx.ref, (el) => { el.innerHTML = ctx.value })`}}),l.define({label:"JS 字段 RunJS 上下文",properties:{element:(0,r.V)("ElementProxy,字段渲染容器,支持 innerHTML/append 等 DOM 操作"),value:"字段当前值(只读)",record:"当前记录对象(只读,包含父记录全部字段值)",collection:"集合定义元数据(只读,描述字段所属集合的 Schema)"},methods:{onRefReady:"在字段容器 DOM 就绪后执行回调。参数:(ref, callback, timeout?);示例:ctx.onRefReady(ctx.ref, el => { el.innerHTML = ctx.value })"}},{locale:"zh-CN"})},4418(e,t,n){n.d(t,{V:()=>o,e:()=>l});let i={innerHTML:"Sanitized inner HTML string.",outerHTML:"Sanitized outer HTML string.",textContent:"Text content.",style:"Inline style declaration.",classList:"DOMTokenList for CSS classes.",appendChild:{type:"function",description:"Append a DOM node or text.",detail:"(child: Node | string) => void",completion:{insertText:"ctx.element.appendChild('text')"}},setAttribute:{type:"function",description:"Set an HTML attribute.",detail:"(name: string, value: string) => void",completion:{insertText:"ctx.element.setAttribute('data-key', 'value')"}},getAttribute:{type:"function",description:"Read an HTML attribute.",detail:"(name: string) => string | null",completion:{insertText:"ctx.element.getAttribute('data-key')"}},querySelector:{type:"function",description:"Find the first matching descendant.",detail:"(selectors: string) => Element | null",completion:{insertText:"ctx.element.querySelector('.selector')"}},querySelectorAll:{type:"function",description:"Find all matching descendants.",detail:"(selectors: string) => NodeListOf<Element>",completion:{insertText:"ctx.element.querySelectorAll('.selector')"}},addEventListener:{type:"function",description:"Attach an event listener to the element.",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.addEventListener('click', (event) => {})"}},removeEventListener:{type:"function",description:"Remove an event listener from the element.",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.removeEventListener('click', handler)"}}},r={innerHTML:"已消毒的 innerHTML 字符串。",outerHTML:"已消毒的 outerHTML 字符串。",textContent:"文本内容。",style:"内联样式声明。",classList:"CSS class 列表。",appendChild:{type:"function",description:"追加 DOM 节点或文本。",detail:"(child: Node | string) => void",completion:{insertText:"ctx.element.appendChild('text')"}},setAttribute:{type:"function",description:"设置 HTML 属性。",detail:"(name: string, value: string) => void",completion:{insertText:"ctx.element.setAttribute('data-key', 'value')"}},getAttribute:{type:"function",description:"读取 HTML 属性。",detail:"(name: string) => string | null",completion:{insertText:"ctx.element.getAttribute('data-key')"}},querySelector:{type:"function",description:"查询第一个匹配的后代元素。",detail:"(selectors: string) => Element | null",completion:{insertText:"ctx.element.querySelector('.selector')"}},querySelectorAll:{type:"function",description:"查询所有匹配的后代元素。",detail:"(selectors: string) => NodeListOf<Element>",completion:{insertText:"ctx.element.querySelectorAll('.selector')"}},addEventListener:{type:"function",description:"给元素添加事件监听。",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.addEventListener('click', (event) => {})"}},removeEventListener:{type:"function",description:"移除元素事件监听。",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.removeEventListener('click', handler)"}}};function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Current DOM container for this RunJS context. Usually an ElementProxy.";return{description:e,detail:"HTMLElement | ElementProxy",properties:i}}function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"当前 RunJS 上下文的 DOM 容器,通常为 ElementProxy。";return{description:e,detail:"HTMLElement | ElementProxy",properties:r}}}};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export const __rspack_esm_id="158";export const __rspack_esm_ids=["158"];export const __webpack_modules__={32221(e,t,n){n.r(t),n.d(t,{JSItemRunJSContext:()=>o});var i=n(29007),r=n(4418);class o extends i.uk{}o.define({label:"JSItem RunJS context",properties:{element:(0,r.e)(`ElementProxy instance providing a safe DOM container for form item rendering.
|
|
2
|
+
Supports innerHTML, append, and other DOM manipulation methods.`),resource:`Current resource instance (read-only).
|
|
3
|
+
Provides access to the data resource associated with the current form context.`,record:`Current record data object (read-only).
|
|
4
|
+
Contains all field values of the parent record.`,formValues:{description:"Snapshot of current form values (object). Available in form contexts (CreateForm/EditForm).",detail:"Record<string, any>",examples:["const { name, status } = ctx.formValues || {};"]}},methods:{onRefReady:`Wait for form item container DOM element to be ready before executing callback.
|
|
5
|
+
Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void`}}),o.define({label:"JS 表单项 RunJS 上下文",properties:{element:(0,r.V)("ElementProxy,表单项渲染容器,支持 innerHTML/append 等 DOM 操作"),resource:"当前资源(只读)",record:"当前记录(只读)",formValues:{description:"当前表单值快照(对象)。仅表单相关上下文可用(Create/Edit Form)。",detail:"Record<string, any>",examples:["const { name, status } = ctx.formValues || {};"]}},methods:{onRefReady:"容器就绪后执行回调。参数:(ref, callback, timeout?)"}},{locale:"zh-CN"})},4418(e,t,n){n.d(t,{V:()=>l,e:()=>o});let i={innerHTML:"Sanitized inner HTML string.",outerHTML:"Sanitized outer HTML string.",textContent:"Text content.",style:"Inline style declaration.",classList:"DOMTokenList for CSS classes.",appendChild:{type:"function",description:"Append a DOM node or text.",detail:"(child: Node | string) => void",completion:{insertText:"ctx.element.appendChild('text')"}},setAttribute:{type:"function",description:"Set an HTML attribute.",detail:"(name: string, value: string) => void",completion:{insertText:"ctx.element.setAttribute('data-key', 'value')"}},getAttribute:{type:"function",description:"Read an HTML attribute.",detail:"(name: string) => string | null",completion:{insertText:"ctx.element.getAttribute('data-key')"}},querySelector:{type:"function",description:"Find the first matching descendant.",detail:"(selectors: string) => Element | null",completion:{insertText:"ctx.element.querySelector('.selector')"}},querySelectorAll:{type:"function",description:"Find all matching descendants.",detail:"(selectors: string) => NodeListOf<Element>",completion:{insertText:"ctx.element.querySelectorAll('.selector')"}},addEventListener:{type:"function",description:"Attach an event listener to the element.",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.addEventListener('click', (event) => {})"}},removeEventListener:{type:"function",description:"Remove an event listener from the element.",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.removeEventListener('click', handler)"}}},r={innerHTML:"已消毒的 innerHTML 字符串。",outerHTML:"已消毒的 outerHTML 字符串。",textContent:"文本内容。",style:"内联样式声明。",classList:"CSS class 列表。",appendChild:{type:"function",description:"追加 DOM 节点或文本。",detail:"(child: Node | string) => void",completion:{insertText:"ctx.element.appendChild('text')"}},setAttribute:{type:"function",description:"设置 HTML 属性。",detail:"(name: string, value: string) => void",completion:{insertText:"ctx.element.setAttribute('data-key', 'value')"}},getAttribute:{type:"function",description:"读取 HTML 属性。",detail:"(name: string) => string | null",completion:{insertText:"ctx.element.getAttribute('data-key')"}},querySelector:{type:"function",description:"查询第一个匹配的后代元素。",detail:"(selectors: string) => Element | null",completion:{insertText:"ctx.element.querySelector('.selector')"}},querySelectorAll:{type:"function",description:"查询所有匹配的后代元素。",detail:"(selectors: string) => NodeListOf<Element>",completion:{insertText:"ctx.element.querySelectorAll('.selector')"}},addEventListener:{type:"function",description:"给元素添加事件监听。",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.addEventListener('click', (event) => {})"}},removeEventListener:{type:"function",description:"移除元素事件监听。",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.removeEventListener('click', handler)"}}};function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Current DOM container for this RunJS context. Usually an ElementProxy.";return{description:e,detail:"HTMLElement | ElementProxy",properties:i}}function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"当前 RunJS 上下文的 DOM 容器,通常为 ElementProxy。";return{description:e,detail:"HTMLElement | ElementProxy",properties:r}}},37517(e,t,n){n.r(t),n.d(t,{default:()=>i});let i={contexts:[n(32221).JSItemRunJSContext],prefix:"sn-link-require",label:"Conditional required field",description:"Make a field required based on another field's value",locales:{"zh-CN":{label:"条件必填",description:"根据另一个字段的值动态设置必填状态"}},content:`
|
|
6
|
+
// When 'needsApproval' is true, make 'approver' field required
|
|
7
|
+
const needsApproval = ctx.record?.needsApproval;
|
|
8
|
+
|
|
9
|
+
const items = ctx.model?.subModels?.grid?.subModels?.items;
|
|
10
|
+
const candidates = Array.isArray(items) ? items : Array.from(items?.values?.() || items || []);
|
|
11
|
+
|
|
12
|
+
const approverField = candidates.find((item) => item?.props?.name === 'approver');
|
|
13
|
+
|
|
14
|
+
if (approverField) {
|
|
15
|
+
approverField.setProps({
|
|
16
|
+
required: !!needsApproval,
|
|
17
|
+
// Also toggle visibility if needed
|
|
18
|
+
// display: needsApproval ? 'visible' : 'hidden',
|
|
19
|
+
});
|
|
20
|
+
} else {
|
|
21
|
+
console.warn('[Form snippet] approver field not found');
|
|
22
|
+
}
|
|
23
|
+
`}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="1586";export const __rspack_esm_ids=["1586"];export const __webpack_modules__={72745(e,_,r){e.exports=function(e){"use strict";function _(e,_,r){var n;return e+" "+(n=({mm:"munutenn",MM:"miz",dd:"devezh"})[r],2===e?({m:"v",b:"v",d:"z"})[n.charAt(0)]+n.substring(1):n)}var r={name:"br",weekdays:"Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn".split("_"),months:"Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),weekStart:1,weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),monthsShort:"Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),ordinal:function(e){return e},formats:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},relativeTime:{future:"a-benn %s",past:"%s ʼzo",s:"un nebeud segondenno\xf9",m:"ur vunutenn",mm:_,h:"un eur",hh:"%d eur",d:"un devezh",dd:_,M:"ur miz",MM:_,y:"ur bloaz",yy:function(e){switch(function e(_){return _>9?e(_%10):_}(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},meridiem:function(e){return e<12?"a.m.":"g.m."}};return(e&&"object"==typeof e&&"default"in e?e:{default:e}).default.locale(r,null,!0),r}(r(74353))}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="1667";export const __rspack_esm_ids=["1667"];export const __webpack_modules__={78142(_,e,a){_.exports=function(_){"use strict";var e={name:"tl-ph",weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),weekStart:1,weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"}};return(_&&"object"==typeof _&&"default"in _?_:{default:_}).default.locale(e,null,!0),e}(a(74353))}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="1675";export const __rspack_esm_ids=["1675"];export const __webpack_modules__={63222(_,t,e){_.exports=function(_){"use strict";var t={name:"sd",weekdays:"آچر_سومر_اڱارو_اربع_خميس_جمع_ڇنڇر".split("_"),months:"جنوري_فيبروري_مارچ_اپريل_مئي_جون_جولاءِ_آگسٽ_سيپٽمبر_آڪٽوبر_نومبر_ڊسمبر".split("_"),weekStart:1,weekdaysShort:"آچر_سومر_اڱارو_اربع_خميس_جمع_ڇنڇر".split("_"),monthsShort:"جنوري_فيبروري_مارچ_اپريل_مئي_جون_جولاءِ_آگسٽ_سيپٽمبر_آڪٽوبر_نومبر_ڊسمبر".split("_"),weekdaysMin:"آچر_سومر_اڱارو_اربع_خميس_جمع_ڇنڇر".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"}};return(_&&"object"==typeof _&&"default"in _?_:{default:_}).default.locale(t,null,!0),t}(e(74353))}};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const __rspack_esm_id="1676";export const __rspack_esm_ids=["1676"];export const __webpack_modules__={6551(e,t,o){o.r(t),o.d(t,{default:()=>p});let p={contexts:["*"],versions:["*"],prefix:"sn-open-drawer",label:"Open view (drawer)",description:"Open a view in drawer via ctx.openView",locales:{"zh-CN":{label:"打开视图(抽屉)",description:"通过 ctx.openView 以抽屉方式打开视图"}},content:`
|
|
2
|
+
// Open a view as drawer and pass arguments at top-level
|
|
3
|
+
const popupUid = ctx.model.uid + '-1'; // popupUid should be stable and better bound to ctx.model.uid
|
|
4
|
+
await ctx.openView(popupUid, {
|
|
5
|
+
mode: 'drawer',
|
|
6
|
+
title: ctx.t('Sample drawer'),
|
|
7
|
+
size: 'large',
|
|
8
|
+
});
|
|
9
|
+
`}}};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export const __rspack_esm_id="1725";export const __rspack_esm_ids=["1725"];export const __webpack_modules__={79271(e,t,n){n.r(t),n.d(t,{JSBlockRunJSContext:()=>i});var o=n(29007),r=n(4418);class i extends o.uk{}i.define({label:"RunJS context",properties:{element:(0,r.e)(`ElementProxy instance providing a safe DOM container.
|
|
2
|
+
Supports innerHTML, append, and other DOM manipulation methods.
|
|
3
|
+
Use this to render content in the JS block.`),record:`Current record data object (read-only).
|
|
4
|
+
Available when the JS block is within a data block or detail view context.`,value:"Current value of the field or component, if available in the current context.",React:"React library",antd:"Ant Design library"},methods:{onRefReady:`Wait for container DOM element to be ready before executing callback.
|
|
5
|
+
Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void
|
|
6
|
+
Example: ctx.onRefReady(ctx.ref, (el) => { el.innerHTML = "Ready!" })`,requireAsync:"Load external library: `const lib = await ctx.requireAsync(url)`",importAsync:"Dynamically import an ESM module by URL: `const mod = await ctx.importAsync(url)`.\nNote: if the module has only a default export, ctx.importAsync returns that default value directly (no `.default`)."}}),i.define({label:"RunJS 上下文",properties:{element:(0,r.V)("ElementProxy,安全的 DOM 容器,支持 innerHTML/append 等"),record:"当前记录(只读,用于数据区块/详情等场景)",value:"当前值(若存在)",React:"React 库",antd:"Ant Design 库"},methods:{onRefReady:"容器 ref 就绪回调:\n```js\nctx.onRefReady(ctx.ref, el => { /* ... */ })\n```",requireAsync:"加载外部库:`const lib = await ctx.requireAsync(url)`",importAsync:"按 URL 动态导入 ESM 模块:`const mod = await ctx.importAsync(url)`。\n注意:当模块只有 default 一个导出时,ctx.importAsync 会直接返回 default 值(无需再写 `.default`)。"}},{locale:"zh-CN"})},4418(e,t,n){n.d(t,{V:()=>l,e:()=>i});let o={innerHTML:"Sanitized inner HTML string.",outerHTML:"Sanitized outer HTML string.",textContent:"Text content.",style:"Inline style declaration.",classList:"DOMTokenList for CSS classes.",appendChild:{type:"function",description:"Append a DOM node or text.",detail:"(child: Node | string) => void",completion:{insertText:"ctx.element.appendChild('text')"}},setAttribute:{type:"function",description:"Set an HTML attribute.",detail:"(name: string, value: string) => void",completion:{insertText:"ctx.element.setAttribute('data-key', 'value')"}},getAttribute:{type:"function",description:"Read an HTML attribute.",detail:"(name: string) => string | null",completion:{insertText:"ctx.element.getAttribute('data-key')"}},querySelector:{type:"function",description:"Find the first matching descendant.",detail:"(selectors: string) => Element | null",completion:{insertText:"ctx.element.querySelector('.selector')"}},querySelectorAll:{type:"function",description:"Find all matching descendants.",detail:"(selectors: string) => NodeListOf<Element>",completion:{insertText:"ctx.element.querySelectorAll('.selector')"}},addEventListener:{type:"function",description:"Attach an event listener to the element.",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.addEventListener('click', (event) => {})"}},removeEventListener:{type:"function",description:"Remove an event listener from the element.",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.removeEventListener('click', handler)"}}},r={innerHTML:"已消毒的 innerHTML 字符串。",outerHTML:"已消毒的 outerHTML 字符串。",textContent:"文本内容。",style:"内联样式声明。",classList:"CSS class 列表。",appendChild:{type:"function",description:"追加 DOM 节点或文本。",detail:"(child: Node | string) => void",completion:{insertText:"ctx.element.appendChild('text')"}},setAttribute:{type:"function",description:"设置 HTML 属性。",detail:"(name: string, value: string) => void",completion:{insertText:"ctx.element.setAttribute('data-key', 'value')"}},getAttribute:{type:"function",description:"读取 HTML 属性。",detail:"(name: string) => string | null",completion:{insertText:"ctx.element.getAttribute('data-key')"}},querySelector:{type:"function",description:"查询第一个匹配的后代元素。",detail:"(selectors: string) => Element | null",completion:{insertText:"ctx.element.querySelector('.selector')"}},querySelectorAll:{type:"function",description:"查询所有匹配的后代元素。",detail:"(selectors: string) => NodeListOf<Element>",completion:{insertText:"ctx.element.querySelectorAll('.selector')"}},addEventListener:{type:"function",description:"给元素添加事件监听。",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.addEventListener('click', (event) => {})"}},removeEventListener:{type:"function",description:"移除元素事件监听。",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.removeEventListener('click', handler)"}}};function i(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Current DOM container for this RunJS context. Usually an ElementProxy.";return{description:e,detail:"HTMLElement | ElementProxy",properties:o}}function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"当前 RunJS 上下文的 DOM 容器,通常为 ElementProxy。";return{description:e,detail:"HTMLElement | ElementProxy",properties:r}}},40812(e,t,n){n.r(t),n.d(t,{default:()=>o});let o={contexts:[n(79271).JSBlockRunJSContext],prefix:"sn-jsb-vue",label:"Embed Vue component",description:"Use ctx.importAsync to load Vue 3 ESM build and render a reactive widget",locales:{"zh-CN":{label:"嵌入 Vue 组件",description:"通过 ctx.importAsync 加载 Vue 3 ESM 构建并渲染交互组件"}},content:`
|
|
7
|
+
const mountNode = document.createElement('div');
|
|
8
|
+
mountNode.style.padding = '16px';
|
|
9
|
+
mountNode.style.background = '#fff';
|
|
10
|
+
mountNode.style.borderRadius = '8px';
|
|
11
|
+
const target = document.createElement('div');
|
|
12
|
+
target.className = 'nb-vue-counter';
|
|
13
|
+
mountNode.appendChild(target);
|
|
14
|
+
ctx.render(mountNode);
|
|
15
|
+
|
|
16
|
+
async function bootstrap() {
|
|
17
|
+
const mod = await ctx.importAsync('vue@3.4.27/dist/vue.runtime.esm-browser.js');
|
|
18
|
+
const createApp = mod?.createApp;
|
|
19
|
+
const ref = mod?.ref;
|
|
20
|
+
const h = mod?.h;
|
|
21
|
+
if (typeof createApp !== 'function' || typeof ref !== 'function' || typeof h !== 'function') {
|
|
22
|
+
throw new Error('Vue ESM module not available');
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const Counter = {
|
|
26
|
+
setup() {
|
|
27
|
+
const count = ref(0);
|
|
28
|
+
const increase = () => {
|
|
29
|
+
count.value += 1;
|
|
30
|
+
};
|
|
31
|
+
const openPopup = async () => {
|
|
32
|
+
const popupUid = ctx.model?.uid ? ctx.model.uid + '-popup' : 'vue-popup';
|
|
33
|
+
await ctx.openView(popupUid, {
|
|
34
|
+
mode: 'drawer',
|
|
35
|
+
title: ctx.t('Hello from Vue'),
|
|
36
|
+
params: {
|
|
37
|
+
fromVue: true,
|
|
38
|
+
triggerCount: count.value,
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
return () =>
|
|
43
|
+
h(
|
|
44
|
+
'div',
|
|
45
|
+
{ style: 'display:flex;align-items:center;gap:12px;' },
|
|
46
|
+
[
|
|
47
|
+
h(
|
|
48
|
+
'button',
|
|
49
|
+
{
|
|
50
|
+
style:
|
|
51
|
+
'padding:6px 12px;border:1px solid #fa8c16;background:#fa8c16;color:#fff;border-radius:4px;cursor:pointer;',
|
|
52
|
+
onClick: increase,
|
|
53
|
+
},
|
|
54
|
+
ctx.t('Increase'),
|
|
55
|
+
),
|
|
56
|
+
h(
|
|
57
|
+
'button',
|
|
58
|
+
{
|
|
59
|
+
style:
|
|
60
|
+
'padding:6px 12px;border:1px solid #1677ff;background:#1677ff;color:#fff;border-radius:4px;cursor:pointer;',
|
|
61
|
+
onClick: openPopup,
|
|
62
|
+
},
|
|
63
|
+
ctx.t('Open popup'),
|
|
64
|
+
),
|
|
65
|
+
h(
|
|
66
|
+
'span',
|
|
67
|
+
null,
|
|
68
|
+
ctx.t('Current count') + ': ' + count.value,
|
|
69
|
+
),
|
|
70
|
+
],
|
|
71
|
+
);
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const app = createApp(Counter);
|
|
76
|
+
app.mount(target);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
bootstrap().catch((error) => {
|
|
80
|
+
console.error('[RunJS] failed to mount Vue counter', error);
|
|
81
|
+
mountNode.innerHTML = '<div style="color:#c00;">' + (error?.message || ctx.t('Vue initialization failed')) + '</div>';
|
|
82
|
+
});
|
|
83
|
+
`}}};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const __rspack_esm_id="1786";export const __rspack_esm_ids=["1786"];export const __webpack_modules__={25831(e,t,n){n.r(t),n.d(t,{FormJSFieldItemRunJSContext:()=>o});var i=n(29007),r=n(4418);class o extends i.uk{}o.define({label:"FormJSFieldItem RunJS context",properties:{element:(0,r.e)(`ElementProxy instance providing a safe DOM container for form field rendering.
|
|
2
|
+
Supports innerHTML, append, and other DOM manipulation methods.`),value:"Current field value (read-only in display mode; in controlled scenarios, use setProps to modify).",record:`Current record data object (read-only).
|
|
3
|
+
Contains all field values of the parent record.`,formValues:{description:"Snapshot of current form values (object). Available in form contexts (CreateForm/EditForm).",detail:"Record<string, any>",examples:["const { name, status } = ctx.formValues || {};"]}},methods:{onRefReady:`Wait for form field container DOM element to be ready before executing callback.
|
|
4
|
+
Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void`,setProps:`Set form field properties programmatically.
|
|
5
|
+
Parameters: (fieldModel: any, props: { value?: any, disabled?: boolean, visible?: boolean }) => void
|
|
6
|
+
Example: ctx.setProps(fieldModel, { value: "new value" })`}}),o.define({label:"表单 JS 字段项 RunJS 上下文",properties:{element:(0,r.V)("ElementProxy,表单字段容器"),value:"字段值(展示模式为只读;受控场景用 setProps 修改)",record:"当前记录(只读)",formValues:{description:"当前表单值快照(对象)。仅表单相关上下文可用(Create/Edit Form)。",detail:"Record<string, any>",examples:["const { name, status } = ctx.formValues || {};"]}},methods:{onRefReady:"容器就绪回调",setProps:"设置表单项属性:`setProps(fieldModel, { value })`(由联动/表单上下文提供)"}},{locale:"zh-CN"})},98542(e,t,n){n.r(t),n.d(t,{JSFieldRunJSContext:()=>o});var i=n(29007),r=n(4418);class o extends i.uk{}o.define({label:"JSField RunJS context",properties:{element:(0,r.e)(`ElementProxy instance providing a safe DOM container for field rendering.
|
|
7
|
+
Supports innerHTML, append, and other DOM manipulation methods.`),value:`Current value of the field (read-only).
|
|
8
|
+
Contains the data value stored in this field.`,record:`Current record data object (read-only).
|
|
9
|
+
Contains all field values of the parent record.`,collection:`Collection definition metadata (read-only).
|
|
10
|
+
Provides schema information about the collection this field belongs to.`},methods:{onRefReady:`Wait for field container DOM element to be ready before executing callback.
|
|
11
|
+
Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void
|
|
12
|
+
Example: ctx.onRefReady(ctx.ref, (el) => { el.innerHTML = ctx.value })`}}),o.define({label:"JS 字段 RunJS 上下文",properties:{element:(0,r.V)("ElementProxy,字段渲染容器,支持 innerHTML/append 等 DOM 操作"),value:"字段当前值(只读)",record:"当前记录对象(只读,包含父记录全部字段值)",collection:"集合定义元数据(只读,描述字段所属集合的 Schema)"},methods:{onRefReady:"在字段容器 DOM 就绪后执行回调。参数:(ref, callback, timeout?);示例:ctx.onRefReady(ctx.ref, el => { el.innerHTML = ctx.value })"}},{locale:"zh-CN"})},4418(e,t,n){n.d(t,{V:()=>l,e:()=>o});let i={innerHTML:"Sanitized inner HTML string.",outerHTML:"Sanitized outer HTML string.",textContent:"Text content.",style:"Inline style declaration.",classList:"DOMTokenList for CSS classes.",appendChild:{type:"function",description:"Append a DOM node or text.",detail:"(child: Node | string) => void",completion:{insertText:"ctx.element.appendChild('text')"}},setAttribute:{type:"function",description:"Set an HTML attribute.",detail:"(name: string, value: string) => void",completion:{insertText:"ctx.element.setAttribute('data-key', 'value')"}},getAttribute:{type:"function",description:"Read an HTML attribute.",detail:"(name: string) => string | null",completion:{insertText:"ctx.element.getAttribute('data-key')"}},querySelector:{type:"function",description:"Find the first matching descendant.",detail:"(selectors: string) => Element | null",completion:{insertText:"ctx.element.querySelector('.selector')"}},querySelectorAll:{type:"function",description:"Find all matching descendants.",detail:"(selectors: string) => NodeListOf<Element>",completion:{insertText:"ctx.element.querySelectorAll('.selector')"}},addEventListener:{type:"function",description:"Attach an event listener to the element.",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.addEventListener('click', (event) => {})"}},removeEventListener:{type:"function",description:"Remove an event listener from the element.",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.removeEventListener('click', handler)"}}},r={innerHTML:"已消毒的 innerHTML 字符串。",outerHTML:"已消毒的 outerHTML 字符串。",textContent:"文本内容。",style:"内联样式声明。",classList:"CSS class 列表。",appendChild:{type:"function",description:"追加 DOM 节点或文本。",detail:"(child: Node | string) => void",completion:{insertText:"ctx.element.appendChild('text')"}},setAttribute:{type:"function",description:"设置 HTML 属性。",detail:"(name: string, value: string) => void",completion:{insertText:"ctx.element.setAttribute('data-key', 'value')"}},getAttribute:{type:"function",description:"读取 HTML 属性。",detail:"(name: string) => string | null",completion:{insertText:"ctx.element.getAttribute('data-key')"}},querySelector:{type:"function",description:"查询第一个匹配的后代元素。",detail:"(selectors: string) => Element | null",completion:{insertText:"ctx.element.querySelector('.selector')"}},querySelectorAll:{type:"function",description:"查询所有匹配的后代元素。",detail:"(selectors: string) => NodeListOf<Element>",completion:{insertText:"ctx.element.querySelectorAll('.selector')"}},addEventListener:{type:"function",description:"给元素添加事件监听。",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.addEventListener('click', (event) => {})"}},removeEventListener:{type:"function",description:"移除元素事件监听。",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.removeEventListener('click', handler)"}}};function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Current DOM container for this RunJS context. Usually an ElementProxy.";return{description:e,detail:"HTMLElement | ElementProxy",properties:i}}function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"当前 RunJS 上下文的 DOM 容器,通常为 ElementProxy。";return{description:e,detail:"HTMLElement | ElementProxy",properties:r}}},84529(e,t,n){n.r(t),n.d(t,{default:()=>o});var i=n(98542),r=n(25831);let o={contexts:[i.JSFieldRunJSContext,r.FormJSFieldItemRunJSContext],prefix:"sn-jsf-num",label:"Display number field as localized number",description:"Format numeric values with locale-aware separators before rendering",locales:{"zh-CN":{label:"将数字字段显示为本地化格式",description:"按本地化格式输出数值"}},content:`
|
|
13
|
+
// Format number using locale
|
|
14
|
+
const n = Number(ctx.value ?? 0);
|
|
15
|
+
ctx.render(String(Number.isFinite(n) ? n.toLocaleString() : ctx.value ?? ''));
|
|
16
|
+
`}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="183";export const __rspack_esm_ids=["183"];export const __webpack_modules__={38298(e,n,t){e.exports=function(e){"use strict";var n={name:"hu",weekdays:"vas\xe1rnap_h\xe9tfő_kedd_szerda_cs\xfct\xf6rt\xf6k_p\xe9ntek_szombat".split("_"),weekdaysShort:"vas_h\xe9t_kedd_sze_cs\xfct_p\xe9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),months:"janu\xe1r_febru\xe1r_m\xe1rcius_\xe1prilis_m\xe1jus_j\xfanius_j\xfalius_augusztus_szeptember_okt\xf3ber_november_december".split("_"),monthsShort:"jan_feb_m\xe1rc_\xe1pr_m\xe1j_j\xfan_j\xfal_aug_szept_okt_nov_dec".split("_"),ordinal:function(e){return e+"."},weekStart:1,relativeTime:{future:"%s m\xfalva",past:"%s",s:function(e,n,t,r){return"n\xe9h\xe1ny m\xe1sodperc"+(r||n?"":"e")},m:function(e,n,t,r){return"egy perc"+(r||n?"":"e")},mm:function(e,n,t,r){return e+" perc"+(r||n?"":"e")},h:function(e,n,t,r){return"egy "+(r||n?"\xf3ra":"\xf3r\xe1ja")},hh:function(e,n,t,r){return e+" "+(r||n?"\xf3ra":"\xf3r\xe1ja")},d:function(e,n,t,r){return"egy "+(r||n?"nap":"napja")},dd:function(e,n,t,r){return e+" "+(r||n?"nap":"napja")},M:function(e,n,t,r){return"egy "+(r||n?"h\xf3nap":"h\xf3napja")},MM:function(e,n,t,r){return e+" "+(r||n?"h\xf3nap":"h\xf3napja")},y:function(e,n,t,r){return"egy "+(r||n?"\xe9v":"\xe9ve")},yy:function(e,n,t,r){return e+" "+(r||n?"\xe9v":"\xe9ve")}},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"}};return(e&&"object"==typeof e&&"default"in e?e:{default:e}).default.locale(n,null,!0),n}(t(74353))}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="1846";export const __rspack_esm_ids=["1846"];export const __webpack_modules__={94309(_,t,e){_.exports=function(_){"use strict";var t={name:"hy-am",weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),months:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),weekStart:1,weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"}};return(_&&"object"==typeof _&&"default"in _?_:{default:_}).default.locale(t,null,!0),t}(e(74353))}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="1848";export const __rspack_esm_ids=["1848"];export const __webpack_modules__={40539(_,t,e){_.exports=function(_){"use strict";var t={name:"ar-sa",weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiem:function(_){return _>12?"م":"ص"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"}};return(_&&"object"==typeof _&&"default"in _?_:{default:_}).default.locale(t,null,!0),t}(e(74353))}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="1863";export const __rspack_esm_ids=["1863"];export const __webpack_modules__={92218(e,_,o){e.exports=function(e){"use strict";var _={name:"pt-br",weekdays:"domingo_segunda-feira_ter\xe7a-feira_quarta-feira_quinta-feira_sexta-feira_s\xe1bado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_s\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),ordinal:function(e){return e+"\xba"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"}};return(e&&"object"==typeof e&&"default"in e?e:{default:e}).default.locale(_,null,!0),_}(o(74353))}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="1887";export const __rspack_esm_ids=["1887"];export const __webpack_modules__={77250(_,t,s){_.exports=function(_){"use strict";var t={name:"ta",weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"}};return(_&&"object"==typeof _&&"default"in _?_:{default:_}).default.locale(t,null,!0),t}(s(74353))}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="192";export const __rspack_esm_ids=["192"];export const __webpack_modules__={4736(_,t,e){_.exports=function(_){"use strict";var t={name:"am",weekdays:"እሑድ_ሰኞ_ማክሰኞ_ረቡዕ_ሐሙስ_አርብ_ቅዳሜ".split("_"),weekdaysShort:"እሑድ_ሰኞ_ማክሰ_ረቡዕ_ሐሙስ_አርብ_ቅዳሜ".split("_"),weekdaysMin:"እሑ_ሰኞ_ማክ_ረቡ_ሐሙ_አር_ቅዳ".split("_"),months:"ጃንዋሪ_ፌብሯሪ_ማርች_ኤፕሪል_ሜይ_ጁን_ጁላይ_ኦገስት_ሴፕቴምበር_ኦክቶበር_ኖቬምበር_ዲሴምበር".split("_"),monthsShort:"ጃንዋ_ፌብሯ_ማርች_ኤፕሪ_ሜይ_ጁን_ጁላይ_ኦገስ_ሴፕቴ_ኦክቶ_ኖቬም_ዲሴም".split("_"),weekStart:1,yearStart:4,relativeTime:{future:"በ%s",past:"%s በፊት",s:"ጥቂት ሰከንዶች",m:"አንድ ደቂቃ",mm:"%d ደቂቃዎች",h:"አንድ ሰዓት",hh:"%d ሰዓታት",d:"አንድ ቀን",dd:"%d ቀናት",M:"አንድ ወር",MM:"%d ወራት",y:"አንድ ዓመት",yy:"%d ዓመታት"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM D ፣ YYYY",LLL:"MMMM D ፣ YYYY HH:mm",LLLL:"dddd ፣ MMMM D ፣ YYYY HH:mm"},ordinal:function(_){return _+"ኛ"}};return(_&&"object"==typeof _&&"default"in _?_:{default:_}).default.locale(t,null,!0),t}(e(74353))}};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export const __rspack_esm_id="1951";export const __rspack_esm_ids=["1951"];export const __webpack_modules__={79271(e,t,n){n.r(t),n.d(t,{JSBlockRunJSContext:()=>l});var i=n(29007),r=n(4418);class l extends i.uk{}l.define({label:"RunJS context",properties:{element:(0,r.e)(`ElementProxy instance providing a safe DOM container.
|
|
2
|
+
Supports innerHTML, append, and other DOM manipulation methods.
|
|
3
|
+
Use this to render content in the JS block.`),record:`Current record data object (read-only).
|
|
4
|
+
Available when the JS block is within a data block or detail view context.`,value:"Current value of the field or component, if available in the current context.",React:"React library",antd:"Ant Design library"},methods:{onRefReady:`Wait for container DOM element to be ready before executing callback.
|
|
5
|
+
Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void
|
|
6
|
+
Example: ctx.onRefReady(ctx.ref, (el) => { el.innerHTML = "Ready!" })`,requireAsync:"Load external library: `const lib = await ctx.requireAsync(url)`",importAsync:"Dynamically import an ESM module by URL: `const mod = await ctx.importAsync(url)`.\nNote: if the module has only a default export, ctx.importAsync returns that default value directly (no `.default`)."}}),l.define({label:"RunJS 上下文",properties:{element:(0,r.V)("ElementProxy,安全的 DOM 容器,支持 innerHTML/append 等"),record:"当前记录(只读,用于数据区块/详情等场景)",value:"当前值(若存在)",React:"React 库",antd:"Ant Design 库"},methods:{onRefReady:"容器 ref 就绪回调:\n```js\nctx.onRefReady(ctx.ref, el => { /* ... */ })\n```",requireAsync:"加载外部库:`const lib = await ctx.requireAsync(url)`",importAsync:"按 URL 动态导入 ESM 模块:`const mod = await ctx.importAsync(url)`。\n注意:当模块只有 default 一个导出时,ctx.importAsync 会直接返回 default 值(无需再写 `.default`)。"}},{locale:"zh-CN"})},4418(e,t,n){n.d(t,{V:()=>o,e:()=>l});let i={innerHTML:"Sanitized inner HTML string.",outerHTML:"Sanitized outer HTML string.",textContent:"Text content.",style:"Inline style declaration.",classList:"DOMTokenList for CSS classes.",appendChild:{type:"function",description:"Append a DOM node or text.",detail:"(child: Node | string) => void",completion:{insertText:"ctx.element.appendChild('text')"}},setAttribute:{type:"function",description:"Set an HTML attribute.",detail:"(name: string, value: string) => void",completion:{insertText:"ctx.element.setAttribute('data-key', 'value')"}},getAttribute:{type:"function",description:"Read an HTML attribute.",detail:"(name: string) => string | null",completion:{insertText:"ctx.element.getAttribute('data-key')"}},querySelector:{type:"function",description:"Find the first matching descendant.",detail:"(selectors: string) => Element | null",completion:{insertText:"ctx.element.querySelector('.selector')"}},querySelectorAll:{type:"function",description:"Find all matching descendants.",detail:"(selectors: string) => NodeListOf<Element>",completion:{insertText:"ctx.element.querySelectorAll('.selector')"}},addEventListener:{type:"function",description:"Attach an event listener to the element.",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.addEventListener('click', (event) => {})"}},removeEventListener:{type:"function",description:"Remove an event listener from the element.",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.removeEventListener('click', handler)"}}},r={innerHTML:"已消毒的 innerHTML 字符串。",outerHTML:"已消毒的 outerHTML 字符串。",textContent:"文本内容。",style:"内联样式声明。",classList:"CSS class 列表。",appendChild:{type:"function",description:"追加 DOM 节点或文本。",detail:"(child: Node | string) => void",completion:{insertText:"ctx.element.appendChild('text')"}},setAttribute:{type:"function",description:"设置 HTML 属性。",detail:"(name: string, value: string) => void",completion:{insertText:"ctx.element.setAttribute('data-key', 'value')"}},getAttribute:{type:"function",description:"读取 HTML 属性。",detail:"(name: string) => string | null",completion:{insertText:"ctx.element.getAttribute('data-key')"}},querySelector:{type:"function",description:"查询第一个匹配的后代元素。",detail:"(selectors: string) => Element | null",completion:{insertText:"ctx.element.querySelector('.selector')"}},querySelectorAll:{type:"function",description:"查询所有匹配的后代元素。",detail:"(selectors: string) => NodeListOf<Element>",completion:{insertText:"ctx.element.querySelectorAll('.selector')"}},addEventListener:{type:"function",description:"给元素添加事件监听。",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.addEventListener('click', (event) => {})"}},removeEventListener:{type:"function",description:"移除元素事件监听。",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.removeEventListener('click', handler)"}}};function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Current DOM container for this RunJS context. Usually an ElementProxy.";return{description:e,detail:"HTMLElement | ElementProxy",properties:i}}function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"当前 RunJS 上下文的 DOM 容器,通常为 ElementProxy。";return{description:e,detail:"HTMLElement | ElementProxy",properties:r}}},47890(e,t,n){n.r(t),n.d(t,{default:()=>i});let i={contexts:[n(79271).JSBlockRunJSContext],prefix:"sn-jsb-stats",label:"Render statistics cards",description:"Display multiple statistic cards with numbers from API",locales:{"zh-CN":{label:"渲染统计卡片",description:"显示多个统计数字卡片(从 API 获取数据)"}},content:`
|
|
7
|
+
const { Card, Statistic, Row, Col } = ctx.libs.antd;
|
|
8
|
+
|
|
9
|
+
const res = await ctx.request({
|
|
10
|
+
url: 'users:list',
|
|
11
|
+
method: 'get',
|
|
12
|
+
params: {
|
|
13
|
+
pageSize: 100,
|
|
14
|
+
appends: ['roles'],
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
const users = res?.data?.data || [];
|
|
19
|
+
|
|
20
|
+
const total = users.length;
|
|
21
|
+
const adminCount = users.filter((user) =>
|
|
22
|
+
Array.isArray(user?.roles) && user.roles.some((role) => role?.name === 'admin')
|
|
23
|
+
).length;
|
|
24
|
+
const withEmail = users.filter((user) => !!user?.email).length;
|
|
25
|
+
const distinctRoles = new Set(
|
|
26
|
+
users
|
|
27
|
+
.flatMap((user) => (Array.isArray(user?.roles) ? user.roles.map((role) => role?.name) : []))
|
|
28
|
+
.filter(Boolean),
|
|
29
|
+
).size;
|
|
30
|
+
|
|
31
|
+
ctx.render(
|
|
32
|
+
<Row gutter={16}>
|
|
33
|
+
<Col span={6}>
|
|
34
|
+
<Card>
|
|
35
|
+
<Statistic title={ctx.t('Total users')} value={total} valueStyle={{ color: '#3f8600' }} />
|
|
36
|
+
</Card>
|
|
37
|
+
</Col>
|
|
38
|
+
<Col span={6}>
|
|
39
|
+
<Card>
|
|
40
|
+
<Statistic title={ctx.t('Administrators')} value={adminCount} valueStyle={{ color: '#1890ff' }} />
|
|
41
|
+
</Card>
|
|
42
|
+
</Col>
|
|
43
|
+
<Col span={6}>
|
|
44
|
+
<Card>
|
|
45
|
+
<Statistic title={ctx.t('Users with email')} value={withEmail} valueStyle={{ color: '#faad14' }} />
|
|
46
|
+
</Card>
|
|
47
|
+
</Col>
|
|
48
|
+
<Col span={6}>
|
|
49
|
+
<Card>
|
|
50
|
+
<Statistic title={ctx.t('Distinct roles')} value={distinctRoles} valueStyle={{ color: '#cf1322' }} />
|
|
51
|
+
</Card>
|
|
52
|
+
</Col>
|
|
53
|
+
</Row>
|
|
54
|
+
);
|
|
55
|
+
`}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="1979";export const __rspack_esm_ids=["1979"];export const __webpack_modules__={39990(_,t,e){_.exports=function(_){"use strict";var t={name:"bg",weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekStart:1,ordinal:function(_){var t=_%100;if(t>10&&t<20)return _+"-ти";var e=_%10;return 1===e?_+"-ви":2===e?_+"-ри":7===e||8===e?_+"-ми":_+"-ти"},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"}};return(_&&"object"==typeof _&&"default"in _?_:{default:_}).default.locale(t,null,!0),t}(e(74353))}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="1986";export const __rspack_esm_ids=["1986"];export const __webpack_modules__={81289(_,t,e){_.exports=function(_){"use strict";var t={name:"ar-ma",weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekStart:6,weekdaysShort:"احد_إثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiem:function(_){return _>12?"م":"ص"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"}};return(_&&"object"==typeof _&&"default"in _?_:{default:_}).default.locale(t,null,!0),t}(e(74353))}};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export const __rspack_esm_id="2017";export const __rspack_esm_ids=["2017"];export const __webpack_modules__={32221(e,t,n){n.r(t),n.d(t,{JSItemRunJSContext:()=>o});var i=n(29007),r=n(4418);class o extends i.uk{}o.define({label:"JSItem RunJS context",properties:{element:(0,r.e)(`ElementProxy instance providing a safe DOM container for form item rendering.
|
|
2
|
+
Supports innerHTML, append, and other DOM manipulation methods.`),resource:`Current resource instance (read-only).
|
|
3
|
+
Provides access to the data resource associated with the current form context.`,record:`Current record data object (read-only).
|
|
4
|
+
Contains all field values of the parent record.`,formValues:{description:"Snapshot of current form values (object). Available in form contexts (CreateForm/EditForm).",detail:"Record<string, any>",examples:["const { name, status } = ctx.formValues || {};"]}},methods:{onRefReady:`Wait for form item container DOM element to be ready before executing callback.
|
|
5
|
+
Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void`}}),o.define({label:"JS 表单项 RunJS 上下文",properties:{element:(0,r.V)("ElementProxy,表单项渲染容器,支持 innerHTML/append 等 DOM 操作"),resource:"当前资源(只读)",record:"当前记录(只读)",formValues:{description:"当前表单值快照(对象)。仅表单相关上下文可用(Create/Edit Form)。",detail:"Record<string, any>",examples:["const { name, status } = ctx.formValues || {};"]}},methods:{onRefReady:"容器就绪后执行回调。参数:(ref, callback, timeout?)"}},{locale:"zh-CN"})},4418(e,t,n){n.d(t,{V:()=>l,e:()=>o});let i={innerHTML:"Sanitized inner HTML string.",outerHTML:"Sanitized outer HTML string.",textContent:"Text content.",style:"Inline style declaration.",classList:"DOMTokenList for CSS classes.",appendChild:{type:"function",description:"Append a DOM node or text.",detail:"(child: Node | string) => void",completion:{insertText:"ctx.element.appendChild('text')"}},setAttribute:{type:"function",description:"Set an HTML attribute.",detail:"(name: string, value: string) => void",completion:{insertText:"ctx.element.setAttribute('data-key', 'value')"}},getAttribute:{type:"function",description:"Read an HTML attribute.",detail:"(name: string) => string | null",completion:{insertText:"ctx.element.getAttribute('data-key')"}},querySelector:{type:"function",description:"Find the first matching descendant.",detail:"(selectors: string) => Element | null",completion:{insertText:"ctx.element.querySelector('.selector')"}},querySelectorAll:{type:"function",description:"Find all matching descendants.",detail:"(selectors: string) => NodeListOf<Element>",completion:{insertText:"ctx.element.querySelectorAll('.selector')"}},addEventListener:{type:"function",description:"Attach an event listener to the element.",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.addEventListener('click', (event) => {})"}},removeEventListener:{type:"function",description:"Remove an event listener from the element.",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.removeEventListener('click', handler)"}}},r={innerHTML:"已消毒的 innerHTML 字符串。",outerHTML:"已消毒的 outerHTML 字符串。",textContent:"文本内容。",style:"内联样式声明。",classList:"CSS class 列表。",appendChild:{type:"function",description:"追加 DOM 节点或文本。",detail:"(child: Node | string) => void",completion:{insertText:"ctx.element.appendChild('text')"}},setAttribute:{type:"function",description:"设置 HTML 属性。",detail:"(name: string, value: string) => void",completion:{insertText:"ctx.element.setAttribute('data-key', 'value')"}},getAttribute:{type:"function",description:"读取 HTML 属性。",detail:"(name: string) => string | null",completion:{insertText:"ctx.element.getAttribute('data-key')"}},querySelector:{type:"function",description:"查询第一个匹配的后代元素。",detail:"(selectors: string) => Element | null",completion:{insertText:"ctx.element.querySelector('.selector')"}},querySelectorAll:{type:"function",description:"查询所有匹配的后代元素。",detail:"(selectors: string) => NodeListOf<Element>",completion:{insertText:"ctx.element.querySelectorAll('.selector')"}},addEventListener:{type:"function",description:"给元素添加事件监听。",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.addEventListener('click', (event) => {})"}},removeEventListener:{type:"function",description:"移除元素事件监听。",detail:"(type: string, listener: EventListener) => void",completion:{insertText:"ctx.element.removeEventListener('click', handler)"}}};function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Current DOM container for this RunJS context. Usually an ElementProxy.";return{description:e,detail:"HTMLElement | ElementProxy",properties:i}}function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"当前 RunJS 上下文的 DOM 容器,通常为 ElementProxy。";return{description:e,detail:"HTMLElement | ElementProxy",properties:r}}},57768(e,t,n){n.r(t),n.d(t,{default:()=>i});let i={contexts:[n(32221).JSItemRunJSContext],prefix:"sn-link-show-hide",label:"Show/hide fields based on condition",description:"Toggle multiple fields visibility based on a condition",locales:{"zh-CN":{label:"条件显示/隐藏字段",description:"根据条件批量显示或隐藏多个字段"}},content:`
|
|
6
|
+
// Show payment fields only when paymentMethod is 'online'
|
|
7
|
+
const paymentMethod = ctx.record?.paymentMethod;
|
|
8
|
+
const showPaymentFields = paymentMethod === 'online';
|
|
9
|
+
|
|
10
|
+
const items = ctx.model?.subModels?.grid?.subModels?.items;
|
|
11
|
+
const candidates = Array.isArray(items) ? items : Array.from(items?.values?.() || items || []);
|
|
12
|
+
|
|
13
|
+
// Fields to toggle
|
|
14
|
+
const fieldNames = ['creditCard', 'expiryDate', 'cvv'];
|
|
15
|
+
|
|
16
|
+
fieldNames.forEach((fieldName) => {
|
|
17
|
+
const field = candidates.find((item) => item?.props?.name === fieldName);
|
|
18
|
+
if (field) {
|
|
19
|
+
field.setProps({
|
|
20
|
+
display: showPaymentFields ? 'visible' : 'hidden',
|
|
21
|
+
// Also clear values when hiding
|
|
22
|
+
value: showPaymentFields ? field.props.value : undefined,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
`}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id="2110";export const __rspack_esm_ids=["2110"];export const __webpack_modules__={92509(_,t,e){_.exports=function(_){"use strict";var t={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},e={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"},r={name:"bn",weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),months:"জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),monthsShort:"জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),preparse:function(_){return _.replace(/[১২৩৪৫৬৭৮৯০]/g,function(_){return e[_]})},postformat:function(_){return _.replace(/\d/g,function(_){return t[_]})},ordinal:function(_){return _},formats:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"}};return(_&&"object"==typeof _&&"default"in _?_:{default:_}).default.locale(r,null,!0),r}(e(74353))}};
|