pgkiln 0.71.0 → 0.73.0
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/db/migrations/139_opentelemetry.sql +36 -0
- package/db/migrations/140_item_region_types.sql +27 -0
- package/docs/apex-feature-parity.md +86 -9
- package/docs/guide/01-installation.md +108 -0
- package/docs/guide/03-builder.md +9 -0
- package/docs/guide/04-pages-and-regions.md +41 -1
- package/docs/guide/05-items.md +43 -3
- package/docs/guide/09-reference.md +3 -0
- package/docs/guide/11-from-apex.md +3 -0
- package/docs/guide/12-development.md +23 -2
- package/examples/hr/hr_75_item_region_types.sql +81 -0
- package/package.json +1 -1
- package/public/app.css +48 -0
- package/public/app.js +427 -1
- package/public/builder.css +3 -0
- package/src/ai/service.ts +14 -0
- package/src/app.ts +10 -0
- package/src/builder/advisor.ts +5 -1
- package/src/builder/arrange.ts +7 -0
- package/src/builder/components.ts +5 -5
- package/src/builder/designer.ts +8 -2
- package/src/builder/home.ts +1 -0
- package/src/builder/i18n/de.ts +8 -0
- package/src/builder/i18n/en.ts +8 -0
- package/src/builder/i18n/es.ts +8 -0
- package/src/builder/i18n/fr.ts +8 -0
- package/src/builder/i18n/it.ts +8 -0
- package/src/builder/i18n/ja.ts +8 -0
- package/src/builder/i18n/ko.ts +8 -0
- package/src/builder/i18n/nl.ts +8 -0
- package/src/builder/i18n/pt.ts +8 -0
- package/src/builder/i18n/zh-cn.ts +8 -0
- package/src/builder/i18n/zh-tw.ts +8 -0
- package/src/builder/region-help.ts +8 -2
- package/src/builder/telemetry.ts +206 -0
- package/src/builder/workspaces.ts +2 -1
- package/src/i18n/ar.ts +13 -0
- package/src/i18n/cs.ts +13 -0
- package/src/i18n/da.ts +13 -0
- package/src/i18n/de.ts +13 -0
- package/src/i18n/el.ts +13 -0
- package/src/i18n/es.ts +13 -0
- package/src/i18n/fi.ts +13 -0
- package/src/i18n/fr.ts +13 -0
- package/src/i18n/he.ts +13 -0
- package/src/i18n/it.ts +13 -0
- package/src/i18n/ja.ts +13 -0
- package/src/i18n/ko.ts +13 -0
- package/src/i18n/nb.ts +13 -0
- package/src/i18n/pl.ts +13 -0
- package/src/i18n/pt.ts +13 -0
- package/src/i18n/ru.ts +13 -0
- package/src/i18n/sv.ts +13 -0
- package/src/i18n/tr.ts +13 -0
- package/src/i18n/uk.ts +13 -0
- package/src/i18n/zh.ts +13 -0
- package/src/i18n.ts +26 -0
- package/src/instance-checks.ts +11 -4
- package/src/layout.ts +2 -1
- package/src/mail/mail.ts +14 -0
- package/src/metadata.ts +5 -2
- package/src/runtime/ai-agents.ts +9 -0
- package/src/runtime/items.ts +32 -3
- package/src/runtime/page-regions.ts +50 -0
- package/src/runtime/region-cache.ts +1 -1
- package/src/runtime/regions.ts +11 -0
- package/src/runtime/render.ts +3 -17
- package/src/runtime/report.ts +55 -3
- package/src/runtime/routes.ts +3 -0
- package/src/session.ts +26 -0
- package/src/telemetry/browser.ts +91 -0
- package/src/telemetry/config.ts +342 -0
- package/src/telemetry/export.ts +484 -0
- package/src/telemetry/http.ts +126 -0
- package/src/telemetry/trace.ts +456 -0
- package/src/webclient.ts +25 -0
- package/src/workflow.ts +14 -7
package/src/builder/designer.ts
CHANGED
|
@@ -404,6 +404,11 @@ export async function designerRoutes(app: FastifyInstance) {
|
|
|
404
404
|
${select('build_option', 'Build option', p.build_option ?? '', buildOptionChoices(lk, p.build_option),
|
|
405
405
|
'While the option is excluded (or "Not": included) the page does not exist in the running application.')}
|
|
406
406
|
</div></fieldset>
|
|
407
|
+
<fieldset class="prop-group"><legend>Help</legend><div class="form-grid">
|
|
408
|
+
<div class="field" data-wide><label class="label" for="f_help">Help text</label>
|
|
409
|
+
<textarea id="f_help" name="help" rows="5" maxlength="20000">${p.help ?? ''}</textarea>
|
|
410
|
+
<small class="help">Markdown with &ITEM. substitutions. A region of type Help Text on the page shows it (APEX: Page → Help).</small></div>
|
|
411
|
+
</div></fieldset>
|
|
407
412
|
<div class="buttons"><button class="btn btn-hot">${tx('pd.save_page')}</button></div>
|
|
408
413
|
</form>`, true)])}
|
|
409
414
|
${await usedInPanel(p.app_id, 'page', p)}
|
|
@@ -505,9 +510,10 @@ export async function designerRoutes(app: FastifyInstance) {
|
|
|
505
510
|
const before = await owner.one('select app_id, page_no from meta.page where id = $1', [req.params.pid]);
|
|
506
511
|
await owner.query(
|
|
507
512
|
`update meta.page set page_no = $2, name = $3, title = $4, requires_auth = $5, mode = $6, parent_page = $7, authz = $8, protection = $9, build_option = $10,
|
|
508
|
-
dialog_position = $11, dialog_size = $12, static_includes = $13, warn_unsaved = $14, page_template = $15, page_group = $16 where id = $1`,
|
|
513
|
+
dialog_position = $11, dialog_size = $12, static_includes = $13, warn_unsaved = $14, page_template = $15, page_group = $16, help = $17 where id = $1`,
|
|
509
514
|
[req.params.pid, Number(b.page_no), b.name?.trim(), b.title?.trim() || null, b.requires_auth === 'true', b.mode, b.parent_page ? Number(b.parent_page) : null, b.authz || null, b.protection, b.build_option?.trim().toUpperCase() || null,
|
|
510
|
-
['left', 'right', 'top', 'bottom'].includes(b.dialog_position ?? '') ? b.dialog_position : 'center', ['small', 'large'].includes(b.dialog_size ?? '') ? b.dialog_size : 'medium', parseIncludes(b.static_includes), b.warn_unsaved === 'true', ['minimal', 'left_side_column', 'right_side_column'].includes(b.page_template ?? '') ? b.page_template : 'standard', b.page_group?.trim() || null
|
|
515
|
+
['left', 'right', 'top', 'bottom'].includes(b.dialog_position ?? '') ? b.dialog_position : 'center', ['small', 'large'].includes(b.dialog_size ?? '') ? b.dialog_size : 'medium', parseIncludes(b.static_includes), b.warn_unsaved === 'true', ['minimal', 'left_side_column', 'right_side_column'].includes(b.page_template ?? '') ? b.page_template : 'standard', b.page_group?.trim() || null,
|
|
516
|
+
typeof b.help === 'string' && b.help.trim() ? b.help.replace(/\r\n?/g, '\n').trim().slice(0, 20000) : null],
|
|
511
517
|
);
|
|
512
518
|
// the page's lock and comments follow a new page number
|
|
513
519
|
if (before && before.page_no !== Number(b.page_no))
|
package/src/builder/home.ts
CHANGED
|
@@ -300,6 +300,7 @@ export async function homeRoutes(app: FastifyInstance) {
|
|
|
300
300
|
${card(`${BASE}/vector-providers`, icon('search'), 'Vector providers', 'Embeddings for search by meaning: the applications\' vector providers, their vector columns, and whether pgvector is installed.')}
|
|
301
301
|
${(await isAdmin(s.username)) ? card(`${BASE}/ai`, icon('bolt'), 'AI services', 'Claude and OpenAI for the applications: models, keys, limits and usage (administrators).') : ''}
|
|
302
302
|
${(await isAdmin(s.username)) ? card(`${BASE}/mail`, icon('send'), 'Mail services', 'SMTP, Microsoft 365, Amazon SES, Resend, Postmark, SendGrid or Mailgun for the applications\' e-mail (administrators).') : ''}
|
|
303
|
+
${(await isAdmin(s.username)) ? card(`${BASE}/telemetry`, icon('activity'), 'OpenTelemetry', 'Traces, logs and metrics to your own monitoring through an OpenTelemetry Collector; /metrics for Prometheus (administrators).') : ''}
|
|
303
304
|
${(await isAdmin(s.username)) ? card(`${BASE}/installation`, icon('history'), 'Installation', 'Version, install and upgrade runs, applied migrations (administrators).') : ''}
|
|
304
305
|
</div></div>
|
|
305
306
|
<aside class="ab-side" aria-label="About and reports">
|
package/src/builder/i18n/de.ts
CHANGED
|
@@ -552,6 +552,9 @@ export const de: BuilderMessages = {
|
|
|
552
552
|
'gallery.region.search': 'Suche',
|
|
553
553
|
'gallery.region.login': 'Anmeldung',
|
|
554
554
|
'gallery.region.plugin': 'Plug-in',
|
|
555
|
+
'gallery.region.classic_report': 'Klassischer Bericht',
|
|
556
|
+
'gallery.region.breadcrumb': 'Navigationspfad',
|
|
557
|
+
'gallery.region.help_text': 'Hilfetext',
|
|
555
558
|
'gallery.item.text': 'Textfeld',
|
|
556
559
|
'gallery.item.textarea': 'Textbereich',
|
|
557
560
|
'gallery.item.number': 'Zahlenfeld',
|
|
@@ -582,6 +585,9 @@ export const de: BuilderMessages = {
|
|
|
582
585
|
'gallery.item.display': 'Nur anzeigen',
|
|
583
586
|
'gallery.item.password': 'Kennwort',
|
|
584
587
|
'gallery.item.plugin': 'Plug-in',
|
|
588
|
+
'gallery.item.shuttle': 'Shuttle',
|
|
589
|
+
'gallery.item.select_one': 'Einzelauswahl (Suche)',
|
|
590
|
+
'gallery.item.select_many': 'Mehrfachauswahl (Suche)',
|
|
585
591
|
'gallery.button.submit': 'Seite weiterleiten',
|
|
586
592
|
'gallery.button.redirect': 'Zu Seite umleiten',
|
|
587
593
|
'gallery.button.da': 'Dynamische Aktion',
|
|
@@ -1686,6 +1692,8 @@ export const de: BuilderMessages = {
|
|
|
1686
1692
|
'wsp.mail_service': 'Mail-Dienst',
|
|
1687
1693
|
'wsp.network': 'Netzwerkzugriff',
|
|
1688
1694
|
'wsp.queue': 'Mail-Warteschlange',
|
|
1695
|
+
'wsp.telemetry': 'OpenTelemetry',
|
|
1696
|
+
'wsp.telemetry_text': 'Traces und Logs der Anwendungen dieses Workspace: {link} (wie die Instanz, aus, oder zusätzlich an einen eigenen Collector des Workspace).',
|
|
1689
1697
|
'wsp.iso_short_on': 'Isoliert: Seine Anwendungen und sein SQL laufen auf eigenen Datenbank-Logins.',
|
|
1690
1698
|
'wsp.iso_short_off': 'Gemeinsam.',
|
|
1691
1699
|
'wsp.admins_change': 'Administratoren ändern das.',
|
package/src/builder/i18n/en.ts
CHANGED
|
@@ -555,6 +555,9 @@ export const en = {
|
|
|
555
555
|
'gallery.region.search': 'Search',
|
|
556
556
|
'gallery.region.login': 'Login',
|
|
557
557
|
'gallery.region.plugin': 'Plug-in',
|
|
558
|
+
'gallery.region.classic_report': 'Classic Report',
|
|
559
|
+
'gallery.region.breadcrumb': 'Breadcrumb',
|
|
560
|
+
'gallery.region.help_text': 'Help Text',
|
|
558
561
|
'gallery.item.text': 'Text Field',
|
|
559
562
|
'gallery.item.textarea': 'Text Area',
|
|
560
563
|
'gallery.item.number': 'Number Field',
|
|
@@ -585,6 +588,9 @@ export const en = {
|
|
|
585
588
|
'gallery.item.display': 'Display Only',
|
|
586
589
|
'gallery.item.password': 'Password',
|
|
587
590
|
'gallery.item.plugin': 'Plug-in',
|
|
591
|
+
'gallery.item.shuttle': 'Shuttle',
|
|
592
|
+
'gallery.item.select_one': 'Select One',
|
|
593
|
+
'gallery.item.select_many': 'Select Many',
|
|
588
594
|
'gallery.button.submit': 'Submit Page',
|
|
589
595
|
'gallery.button.redirect': 'Redirect to Page',
|
|
590
596
|
'gallery.button.da': 'Dynamic Action',
|
|
@@ -1690,6 +1696,8 @@ export const en = {
|
|
|
1690
1696
|
'wsp.mail_service': 'mail service',
|
|
1691
1697
|
'wsp.network': 'network access',
|
|
1692
1698
|
'wsp.queue': 'mail queue',
|
|
1699
|
+
'wsp.telemetry': 'OpenTelemetry',
|
|
1700
|
+
'wsp.telemetry_text': 'Traces and logs of this workspace\'s applications: {link} (as the instance, off, or also to a collector of the workspace\'s own).',
|
|
1693
1701
|
'wsp.iso_short_on': 'Isolated: its applications and SQL run on database logins of its own.',
|
|
1694
1702
|
'wsp.iso_short_off': 'Shared.',
|
|
1695
1703
|
'wsp.admins_change': 'Administrators change it.',
|
package/src/builder/i18n/es.ts
CHANGED
|
@@ -552,6 +552,9 @@ export const es: BuilderMessages = {
|
|
|
552
552
|
'gallery.region.search': 'Buscar',
|
|
553
553
|
'gallery.region.login': 'Inicio de sesión',
|
|
554
554
|
'gallery.region.plugin': 'Plugin',
|
|
555
|
+
'gallery.region.classic_report': 'Informe clásico',
|
|
556
|
+
'gallery.region.breadcrumb': 'Ruta de navegación',
|
|
557
|
+
'gallery.region.help_text': 'Texto de ayuda',
|
|
555
558
|
'gallery.item.text': 'Campo de texto',
|
|
556
559
|
'gallery.item.textarea': 'Área de texto',
|
|
557
560
|
'gallery.item.number': 'Campo numérico',
|
|
@@ -582,6 +585,9 @@ export const es: BuilderMessages = {
|
|
|
582
585
|
'gallery.item.display': 'Solo visualización',
|
|
583
586
|
'gallery.item.password': 'Contraseña',
|
|
584
587
|
'gallery.item.plugin': 'Plugin',
|
|
588
|
+
'gallery.item.shuttle': 'Lista de transferencia',
|
|
589
|
+
'gallery.item.select_one': 'Seleccionar uno',
|
|
590
|
+
'gallery.item.select_many': 'Seleccionar varios',
|
|
585
591
|
'gallery.button.submit': 'Enviar página',
|
|
586
592
|
'gallery.button.redirect': 'Redirigir a página',
|
|
587
593
|
'gallery.button.da': 'Acción dinámica',
|
|
@@ -1686,6 +1692,8 @@ export const es: BuilderMessages = {
|
|
|
1686
1692
|
'wsp.mail_service': 'servicio de correo',
|
|
1687
1693
|
'wsp.network': 'acceso a la red',
|
|
1688
1694
|
'wsp.queue': 'cola de correo',
|
|
1695
|
+
'wsp.telemetry': 'OpenTelemetry',
|
|
1696
|
+
'wsp.telemetry_text': 'Trazas y registros de las aplicaciones de este espacio de trabajo: {link} (como la instancia, desactivado, o también a un recolector propio del espacio de trabajo).',
|
|
1689
1697
|
'wsp.iso_short_on': 'Aislado: sus aplicaciones y su SQL se ejecutan con inicios de sesión de base de datos propios.',
|
|
1690
1698
|
'wsp.iso_short_off': 'Compartido.',
|
|
1691
1699
|
'wsp.admins_change': 'Los administradores lo cambian.',
|
package/src/builder/i18n/fr.ts
CHANGED
|
@@ -552,6 +552,9 @@ export const fr: BuilderMessages = {
|
|
|
552
552
|
'gallery.region.search': 'Recherche',
|
|
553
553
|
'gallery.region.login': 'Connexion',
|
|
554
554
|
'gallery.region.plugin': 'Plug-in',
|
|
555
|
+
'gallery.region.classic_report': 'Etat classique',
|
|
556
|
+
'gallery.region.breadcrumb': 'Fil d\'Ariane',
|
|
557
|
+
'gallery.region.help_text': 'Texte d\'aide',
|
|
555
558
|
'gallery.item.text': 'Champ de texte',
|
|
556
559
|
'gallery.item.textarea': 'Zone de texte',
|
|
557
560
|
'gallery.item.number': 'Champ numérique',
|
|
@@ -582,6 +585,9 @@ export const fr: BuilderMessages = {
|
|
|
582
585
|
'gallery.item.display': 'Affichage seul',
|
|
583
586
|
'gallery.item.password': 'Mot de passe',
|
|
584
587
|
'gallery.item.plugin': 'Plug-in',
|
|
588
|
+
'gallery.item.shuttle': 'Navette',
|
|
589
|
+
'gallery.item.select_one': 'Sélectionner un',
|
|
590
|
+
'gallery.item.select_many': 'Sélectionner plusieurs',
|
|
585
591
|
'gallery.button.submit': 'Soumettre la page',
|
|
586
592
|
'gallery.button.redirect': 'Rediriger vers une page',
|
|
587
593
|
'gallery.button.da': 'Action dynamique',
|
|
@@ -1686,6 +1692,8 @@ export const fr: BuilderMessages = {
|
|
|
1686
1692
|
'wsp.mail_service': 'service de messagerie',
|
|
1687
1693
|
'wsp.network': 'accès réseau',
|
|
1688
1694
|
'wsp.queue': 'file des e-mails',
|
|
1695
|
+
'wsp.telemetry': 'OpenTelemetry',
|
|
1696
|
+
'wsp.telemetry_text': 'Traces et journaux des applications de cet espace de travail : {link} (comme l\'instance, désactivé, ou aussi vers un collecteur propre à l\'espace de travail).',
|
|
1689
1697
|
'wsp.iso_short_on': 'Isolé : ses applications et son SQL s’exécutent sur des connexions de base de données propres.',
|
|
1690
1698
|
'wsp.iso_short_off': 'Partagé.',
|
|
1691
1699
|
'wsp.admins_change': 'Les administrateurs le modifient.',
|
package/src/builder/i18n/it.ts
CHANGED
|
@@ -552,6 +552,9 @@ export const it: BuilderMessages = {
|
|
|
552
552
|
'gallery.region.search': 'Ricerca',
|
|
553
553
|
'gallery.region.login': 'Login',
|
|
554
554
|
'gallery.region.plugin': 'Plug-in',
|
|
555
|
+
'gallery.region.classic_report': 'Report classico',
|
|
556
|
+
'gallery.region.breadcrumb': 'Percorso di navigazione',
|
|
557
|
+
'gallery.region.help_text': 'Testo della guida',
|
|
555
558
|
'gallery.item.text': 'Campo di testo',
|
|
556
559
|
'gallery.item.textarea': 'Area di testo',
|
|
557
560
|
'gallery.item.number': 'Campo numerico',
|
|
@@ -582,6 +585,9 @@ export const it: BuilderMessages = {
|
|
|
582
585
|
'gallery.item.display': 'Solo visualizzazione',
|
|
583
586
|
'gallery.item.password': 'Password',
|
|
584
587
|
'gallery.item.plugin': 'Plug-in',
|
|
588
|
+
'gallery.item.shuttle': 'Shuttle',
|
|
589
|
+
'gallery.item.select_one': 'Selezione singola',
|
|
590
|
+
'gallery.item.select_many': 'Selezione multipla con ricerca',
|
|
585
591
|
'gallery.button.submit': 'Invia pagina',
|
|
586
592
|
'gallery.button.redirect': 'Reindirizza alla pagina',
|
|
587
593
|
'gallery.button.da': 'Azione dinamica',
|
|
@@ -1686,6 +1692,8 @@ export const it: BuilderMessages = {
|
|
|
1686
1692
|
'wsp.mail_service': 'servizio di posta',
|
|
1687
1693
|
'wsp.network': 'accesso di rete',
|
|
1688
1694
|
'wsp.queue': 'coda di posta',
|
|
1695
|
+
'wsp.telemetry': 'OpenTelemetry',
|
|
1696
|
+
'wsp.telemetry_text': 'Tracce e log delle applicazioni di questo workspace: {link} (come l\'istanza, disattivato, o anche verso un collector proprio del workspace).',
|
|
1689
1697
|
'wsp.iso_short_on': 'Isolato: le sue applicazioni e il suo SQL vengono eseguiti su login del database propri.',
|
|
1690
1698
|
'wsp.iso_short_off': 'Condiviso.',
|
|
1691
1699
|
'wsp.admins_change': 'Lo modificano gli amministratori.',
|
package/src/builder/i18n/ja.ts
CHANGED
|
@@ -552,6 +552,9 @@ export const ja: BuilderMessages = {
|
|
|
552
552
|
'gallery.region.search': '検索',
|
|
553
553
|
'gallery.region.login': 'ログイン',
|
|
554
554
|
'gallery.region.plugin': 'プラグイン',
|
|
555
|
+
'gallery.region.classic_report': 'クラシック・レポート',
|
|
556
|
+
'gallery.region.breadcrumb': 'ブレッドクラム',
|
|
557
|
+
'gallery.region.help_text': 'ヘルプ・テキスト',
|
|
555
558
|
'gallery.item.text': 'テキスト・フィールド',
|
|
556
559
|
'gallery.item.textarea': 'テキスト領域',
|
|
557
560
|
'gallery.item.number': '数値フィールド',
|
|
@@ -582,6 +585,9 @@ export const ja: BuilderMessages = {
|
|
|
582
585
|
'gallery.item.display': '表示のみ',
|
|
583
586
|
'gallery.item.password': 'パスワード',
|
|
584
587
|
'gallery.item.plugin': 'プラグイン',
|
|
588
|
+
'gallery.item.shuttle': 'シャトル',
|
|
589
|
+
'gallery.item.select_one': '単一選択',
|
|
590
|
+
'gallery.item.select_many': '複数選択(検索)',
|
|
585
591
|
'gallery.button.submit': 'ページの送信',
|
|
586
592
|
'gallery.button.redirect': 'ページへリダイレクト',
|
|
587
593
|
'gallery.button.da': '動的アクション',
|
|
@@ -1686,6 +1692,8 @@ export const ja: BuilderMessages = {
|
|
|
1686
1692
|
'wsp.mail_service': 'メール・サービス',
|
|
1687
1693
|
'wsp.network': 'ネットワーク・アクセス',
|
|
1688
1694
|
'wsp.queue': 'メール・キュー',
|
|
1695
|
+
'wsp.telemetry': 'OpenTelemetry',
|
|
1696
|
+
'wsp.telemetry_text': 'このワークスペースのアプリケーションのトレースとログ:{link}(インスタンスと同じ、オフ、またはワークスペース独自のコレクターにも送信)。',
|
|
1689
1697
|
'wsp.iso_short_on': '分離: アプリケーションと SQL は独自のデータベース・ログインで実行されます。',
|
|
1690
1698
|
'wsp.iso_short_off': '共有。',
|
|
1691
1699
|
'wsp.admins_change': '管理者が変更します。',
|
package/src/builder/i18n/ko.ts
CHANGED
|
@@ -552,6 +552,9 @@ export const ko: BuilderMessages = {
|
|
|
552
552
|
'gallery.region.search': '검색',
|
|
553
553
|
'gallery.region.login': '로그인',
|
|
554
554
|
'gallery.region.plugin': '플러그인',
|
|
555
|
+
'gallery.region.classic_report': '클래식 보고서',
|
|
556
|
+
'gallery.region.breadcrumb': '이동 경로',
|
|
557
|
+
'gallery.region.help_text': '도움말 텍스트',
|
|
555
558
|
'gallery.item.text': '텍스트 필드',
|
|
556
559
|
'gallery.item.textarea': '텍스트 영역',
|
|
557
560
|
'gallery.item.number': '숫자 필드',
|
|
@@ -582,6 +585,9 @@ export const ko: BuilderMessages = {
|
|
|
582
585
|
'gallery.item.display': '표시 전용',
|
|
583
586
|
'gallery.item.password': '비밀번호',
|
|
584
587
|
'gallery.item.plugin': '플러그인',
|
|
588
|
+
'gallery.item.shuttle': '셔틀',
|
|
589
|
+
'gallery.item.select_one': '단일 선택',
|
|
590
|
+
'gallery.item.select_many': '다중 선택(검색)',
|
|
585
591
|
'gallery.button.submit': '페이지 제출',
|
|
586
592
|
'gallery.button.redirect': '페이지로 리디렉션',
|
|
587
593
|
'gallery.button.da': '동적 작업',
|
|
@@ -1686,6 +1692,8 @@ export const ko: BuilderMessages = {
|
|
|
1686
1692
|
'wsp.mail_service': '메일 서비스',
|
|
1687
1693
|
'wsp.network': '네트워크 액세스',
|
|
1688
1694
|
'wsp.queue': '메일 대기열',
|
|
1695
|
+
'wsp.telemetry': 'OpenTelemetry',
|
|
1696
|
+
'wsp.telemetry_text': '이 작업 영역 애플리케이션의 트레이스와 로그: {link} (인스턴스와 동일, 끔, 또는 작업 영역 자체 수집기로도 전송).',
|
|
1689
1697
|
'wsp.iso_short_on': '격리됨: 애플리케이션과 SQL이 자체 데이터베이스 로그인으로 실행됩니다.',
|
|
1690
1698
|
'wsp.iso_short_off': '공유.',
|
|
1691
1699
|
'wsp.admins_change': '관리자가 변경합니다.',
|
package/src/builder/i18n/nl.ts
CHANGED
|
@@ -552,6 +552,9 @@ export const nl: BuilderMessages = {
|
|
|
552
552
|
'gallery.region.search': 'Zoeken',
|
|
553
553
|
'gallery.region.login': 'Aanmelden',
|
|
554
554
|
'gallery.region.plugin': 'Plug-in',
|
|
555
|
+
'gallery.region.classic_report': 'Klassiek rapport',
|
|
556
|
+
'gallery.region.breadcrumb': 'Kruimelpad',
|
|
557
|
+
'gallery.region.help_text': 'Helptekst',
|
|
555
558
|
'gallery.item.text': 'Tekstveld',
|
|
556
559
|
'gallery.item.textarea': 'Tekstgebied',
|
|
557
560
|
'gallery.item.number': 'Getalveld',
|
|
@@ -582,6 +585,9 @@ export const nl: BuilderMessages = {
|
|
|
582
585
|
'gallery.item.display': 'Alleen weergeven',
|
|
583
586
|
'gallery.item.password': 'Wachtwoord',
|
|
584
587
|
'gallery.item.plugin': 'Plug-in',
|
|
588
|
+
'gallery.item.shuttle': 'Shuttle',
|
|
589
|
+
'gallery.item.select_one': 'Eén kiezen',
|
|
590
|
+
'gallery.item.select_many': 'Meerdere kiezen',
|
|
585
591
|
'gallery.button.submit': 'Pagina verzenden',
|
|
586
592
|
'gallery.button.redirect': 'Naar pagina omleiden',
|
|
587
593
|
'gallery.button.da': 'Dynamische actie',
|
|
@@ -1686,6 +1692,8 @@ export const nl: BuilderMessages = {
|
|
|
1686
1692
|
'wsp.mail_service': 'maildienst',
|
|
1687
1693
|
'wsp.network': 'netwerktoegang',
|
|
1688
1694
|
'wsp.queue': 'mailwachtrij',
|
|
1695
|
+
'wsp.telemetry': 'OpenTelemetry',
|
|
1696
|
+
'wsp.telemetry_text': 'Traces en logs van de applicaties van deze werkruimte: {link} (zoals de instantie, uit, of ook naar een eigen collector van de werkruimte).',
|
|
1689
1697
|
'wsp.iso_short_on': 'Geïsoleerd: de applicaties en SQL draaien op eigen databaselogins.',
|
|
1690
1698
|
'wsp.iso_short_off': 'Gedeeld.',
|
|
1691
1699
|
'wsp.admins_change': 'Beheerders wijzigen dit.',
|
package/src/builder/i18n/pt.ts
CHANGED
|
@@ -552,6 +552,9 @@ export const pt: BuilderMessages = {
|
|
|
552
552
|
'gallery.region.search': 'Pesquisa',
|
|
553
553
|
'gallery.region.login': 'Login',
|
|
554
554
|
'gallery.region.plugin': 'Plug-in',
|
|
555
|
+
'gallery.region.classic_report': 'Relatório Clássico',
|
|
556
|
+
'gallery.region.breadcrumb': 'Trilha de Navegação',
|
|
557
|
+
'gallery.region.help_text': 'Texto de Ajuda',
|
|
555
558
|
'gallery.item.text': 'Campo de Texto',
|
|
556
559
|
'gallery.item.textarea': 'Área de Texto',
|
|
557
560
|
'gallery.item.number': 'Campo Numérico',
|
|
@@ -582,6 +585,9 @@ export const pt: BuilderMessages = {
|
|
|
582
585
|
'gallery.item.display': 'Somente Exibição',
|
|
583
586
|
'gallery.item.password': 'Senha',
|
|
584
587
|
'gallery.item.plugin': 'Plug-in',
|
|
588
|
+
'gallery.item.shuttle': 'Shuttle',
|
|
589
|
+
'gallery.item.select_one': 'Selecionar Um',
|
|
590
|
+
'gallery.item.select_many': 'Selecionar Vários',
|
|
585
591
|
'gallery.button.submit': 'Enviar Página',
|
|
586
592
|
'gallery.button.redirect': 'Redirecionar para Página',
|
|
587
593
|
'gallery.button.da': 'Ação Dinâmica',
|
|
@@ -1686,6 +1692,8 @@ export const pt: BuilderMessages = {
|
|
|
1686
1692
|
'wsp.mail_service': 'serviço de e-mail',
|
|
1687
1693
|
'wsp.network': 'acesso à rede',
|
|
1688
1694
|
'wsp.queue': 'fila de e-mails',
|
|
1695
|
+
'wsp.telemetry': 'OpenTelemetry',
|
|
1696
|
+
'wsp.telemetry_text': 'Traces e logs das aplicações deste espaço de trabalho: {link} (como a instância, desligado, ou também para um coletor próprio do espaço de trabalho).',
|
|
1689
1697
|
'wsp.iso_short_on': 'Isolado: suas aplicações e seu SQL são executados em logins de banco de dados próprios.',
|
|
1690
1698
|
'wsp.iso_short_off': 'Compartilhado.',
|
|
1691
1699
|
'wsp.admins_change': 'Os administradores o alteram.',
|
|
@@ -552,6 +552,9 @@ export const zhCN: BuilderMessages = {
|
|
|
552
552
|
'gallery.region.search': '搜索',
|
|
553
553
|
'gallery.region.login': '登录',
|
|
554
554
|
'gallery.region.plugin': '插件',
|
|
555
|
+
'gallery.region.classic_report': '经典报表',
|
|
556
|
+
'gallery.region.breadcrumb': '面包屑导航',
|
|
557
|
+
'gallery.region.help_text': '帮助文本',
|
|
555
558
|
'gallery.item.text': '文本字段',
|
|
556
559
|
'gallery.item.textarea': '文本区域',
|
|
557
560
|
'gallery.item.number': '数字字段',
|
|
@@ -582,6 +585,9 @@ export const zhCN: BuilderMessages = {
|
|
|
582
585
|
'gallery.item.display': '仅显示',
|
|
583
586
|
'gallery.item.password': '密码',
|
|
584
587
|
'gallery.item.plugin': '插件',
|
|
588
|
+
'gallery.item.shuttle': '穿梭框',
|
|
589
|
+
'gallery.item.select_one': '单选(搜索)',
|
|
590
|
+
'gallery.item.select_many': '多选(搜索)',
|
|
585
591
|
'gallery.button.submit': '提交页面',
|
|
586
592
|
'gallery.button.redirect': '重定向到页面',
|
|
587
593
|
'gallery.button.da': '动态操作',
|
|
@@ -1686,6 +1692,8 @@ export const zhCN: BuilderMessages = {
|
|
|
1686
1692
|
'wsp.mail_service': '邮件服务',
|
|
1687
1693
|
'wsp.network': '网络访问',
|
|
1688
1694
|
'wsp.queue': '邮件队列',
|
|
1695
|
+
'wsp.telemetry': 'OpenTelemetry',
|
|
1696
|
+
'wsp.telemetry_text': '此工作区应用程序的跟踪和日志:{link}(与实例相同、关闭,或同时发送到工作区自己的收集器)。',
|
|
1689
1697
|
'wsp.iso_short_on': '已隔离:其应用程序和 SQL 在专属的数据库登录上运行。',
|
|
1690
1698
|
'wsp.iso_short_off': '共享。',
|
|
1691
1699
|
'wsp.admins_change': '由管理员更改。',
|
|
@@ -552,6 +552,9 @@ export const zhTW: BuilderMessages = {
|
|
|
552
552
|
'gallery.region.search': '搜尋',
|
|
553
553
|
'gallery.region.login': '登入',
|
|
554
554
|
'gallery.region.plugin': '外掛程式',
|
|
555
|
+
'gallery.region.classic_report': '傳統報表',
|
|
556
|
+
'gallery.region.breadcrumb': '導覽路徑',
|
|
557
|
+
'gallery.region.help_text': '說明文字',
|
|
555
558
|
'gallery.item.text': '文字欄位',
|
|
556
559
|
'gallery.item.textarea': '文字區域',
|
|
557
560
|
'gallery.item.number': '數字欄位',
|
|
@@ -582,6 +585,9 @@ export const zhTW: BuilderMessages = {
|
|
|
582
585
|
'gallery.item.display': '僅顯示',
|
|
583
586
|
'gallery.item.password': '密碼',
|
|
584
587
|
'gallery.item.plugin': '外掛程式',
|
|
588
|
+
'gallery.item.shuttle': '穿梭框',
|
|
589
|
+
'gallery.item.select_one': '單選(搜尋)',
|
|
590
|
+
'gallery.item.select_many': '多選(搜尋)',
|
|
585
591
|
'gallery.button.submit': '提交頁面',
|
|
586
592
|
'gallery.button.redirect': '重新導向至頁面',
|
|
587
593
|
'gallery.button.da': '動態動作',
|
|
@@ -1686,6 +1692,8 @@ export const zhTW: BuilderMessages = {
|
|
|
1686
1692
|
'wsp.mail_service': '郵件服務',
|
|
1687
1693
|
'wsp.network': '網路存取',
|
|
1688
1694
|
'wsp.queue': '郵件佇列',
|
|
1695
|
+
'wsp.telemetry': 'OpenTelemetry',
|
|
1696
|
+
'wsp.telemetry_text': '此工作區應用程式的追蹤與日誌:{link}(與執行個體相同、關閉,或同時傳送到工作區自己的收集器)。',
|
|
1689
1697
|
'wsp.iso_short_on': '已隔離:其應用程式與 SQL 以專屬的資料庫登入執行。',
|
|
1690
1698
|
'wsp.iso_short_off': '共用。',
|
|
1691
1699
|
'wsp.admins_change': '由管理員變更。',
|
|
@@ -8,7 +8,7 @@ const GUIDE = 'https://pgkiln.vargar.eu/docs';
|
|
|
8
8
|
|
|
9
9
|
export const REGION_CONFIG_HELP: [string[], string][] = [
|
|
10
10
|
[['report'], '{"page_size":15,"pagination":"range" (rows X–Y without a total),"keyset":["id"] (with range: Next/Previous seek on these unique columns),"max_rows":10000,"searchable":true,"sortable":true,"interactive":true,"mobile":"reflow"|"scroll","hidden":["col"],"headings":{"col":"Label"},"link":{"column":"id","page":3,"items":{"P3_ID":"#id#"}},"empty":"No rows","pdf":{"layout":"NAME","columns":["col"],"widths":{"col":40},"align":{"col":"right"}}} (pdf widths in mm; layouts under Shared Components → Report layouts)'],
|
|
11
|
-
[['report', 'grid', 'cards'], '{"formats":{"sal":"FML999G990D00","hiredate":"DD-MON-YYYY"}} (number or date format masks per column)'],
|
|
11
|
+
[['report', 'classic_report', 'grid', 'cards'], '{"formats":{"sal":"FML999G990D00","hiredate":"DD-MON-YYYY"}} (number or date format masks per column)'],
|
|
12
12
|
[['chart'], '{"kind":"bar"|"column"|"line"|"area"|"donut","max_rows":1000,"format_mask":"FML999G990"}'],
|
|
13
13
|
[['cards'], '{"style":"metric","link":{...},"max_rows":500}'],
|
|
14
14
|
[['dynamic'], '{"max_rows":1000}'],
|
|
@@ -19,7 +19,7 @@ export const REGION_CONFIG_HELP: [string[], string][] = [
|
|
|
19
19
|
[['display_selector'], '{"style":"tabs"|"select","show_all":true,"remember":true}'],
|
|
20
20
|
[['list'], '{"list":"NAME","template":"links"|"badges"|"cards"|"tabs"} (lists under Shared Components → Lists)'],
|
|
21
21
|
[['*'], '{"display_selector":true} puts it in the page\'s display selector'],
|
|
22
|
-
[['report', 'chart', 'cards', 'dynamic', 'tree', 'template_component'], '{"lazy":true} loads it after the page shows, {"cache":{"scope":"user"|"session"|"all","seconds":300}} keeps its HTML (a submit of the page empties it)'],
|
|
22
|
+
[['report', 'classic_report', 'chart', 'cards', 'dynamic', 'tree', 'template_component'], '{"lazy":true} loads it after the page shows, {"cache":{"scope":"user"|"session"|"all","seconds":300}} keeps its HTML (a submit of the page empties it)'],
|
|
23
23
|
[['data_reporter'], '{"sources":[{"id":"orders","label":"Orders","description":"…","schema":"sales","table":"order_v","columns":[{"name":"total","label":"Total","format":"FML999G990D00"}]}],"sharing":true,"share_authz":"SCHEME","page_size":25} (the Data Reporter settings below edit it)'],
|
|
24
24
|
[['form_designer'], '{"sources":[{"id":"orders","label":"Orders","description":"…","schema":"sales","table":"orders","key":"id","columns":[{"name":"customer","label":"Customer"},{"name":"status","lov":"LOV:ORDER_STATUS"}],"insert":true,"update":true,"delete":false}],"design_authz":"SCHEME","page_size":25} (the Form Designer region\'s Settings; users that pass design_authz design forms)'],
|
|
25
25
|
[['ai_assistant'], '{"service":"NAME","system":"…","welcome":"…","context":[{"name":"policy","sql":"select … :AI_PROMPT …"}],"tools":[{"name":"my_leave","description":"…","sql":"select … where status = :STATUS","parameters":{"STATUS":{"type":"string","enum":["PENDING"]}}},{"name":"dept","type":"rest","source":"DEPARTMENT","description":"…"}],"max_rounds":5,"max_turns":20}; or {"agent":"SALES_AGENT","welcome":"…"} for an AI agent of Shared Components (the AI assistant settings below edit it)'],
|
|
@@ -28,6 +28,9 @@ export const REGION_CONFIG_HELP: [string[], string][] = [
|
|
|
28
28
|
[['form'], '{"lost_update":false} saves without checking that the row is unchanged since it was shown'],
|
|
29
29
|
[['login'], '(no attributes) the sign-in form of the application\'s login page (Application settings → Login page): providers, user name and password, "Keep me signed in", "Forgot password?"'],
|
|
30
30
|
[['url'], '{"height":480,"sandbox":["allow-scripts","allow-forms","allow-popups","allow-same-origin"] (the default; false: no sandbox),"fullscreen":true}'],
|
|
31
|
+
[['classic_report'], '{"report_template":"standard"|"value_pairs"|"badges"|"media_list","pagination":"total" (rows X–Y of N, the default)|"range" (rows X–Y)|"none" (one page of at most max_rows, 500),"page_size":15,"max_rows":500,"sortable":true,"searchable":false,"mobile":"reflow"|"scroll","hidden":["col"],"headings":{"col":"Label"},"link":{"column":"id","page":3,"items":{"P3_ID":"#id#"}},"empty":"No rows"} (a report without the Actions menu; badges: label and value columns; media_list: title and description columns)'],
|
|
32
|
+
[['breadcrumb'], '{"current":false} leaves the current page out of the trail (the pages above it come from each page\'s Breadcrumb parent, else Home); put it in the Breadcrumb bar position with template plain'],
|
|
33
|
+
[['help_text'], '{"empty":"…"} shown when the page has no help text (Page → Help text: Markdown with &ITEM. substitutions)'],
|
|
31
34
|
[['search'], '{"configs":["CUSTOMERS","ORDERS"] (Shared Components → Search configurations; empty: all),"item":"P1_SEARCH" (search with this item\'s value instead of a field of its own),"placeholder":"…","min_length":2,"empty":"No results"}'],
|
|
32
35
|
];
|
|
33
36
|
|
|
@@ -57,6 +60,9 @@ const ANCHORS: Record<string, string> = {
|
|
|
57
60
|
tasks: 'approvals-and-the-task-list',
|
|
58
61
|
workflows: 'workflows',
|
|
59
62
|
login: 'the-login-page',
|
|
63
|
+
classic_report: 'classic_report-classic-report',
|
|
64
|
+
breadcrumb: 'breadcrumb-and-help_text',
|
|
65
|
+
help_text: 'breadcrumb-and-help_text',
|
|
60
66
|
};
|
|
61
67
|
|
|
62
68
|
/** The help of every type (a region whose type isn't known yet). */
|