@protobase/ui 0.63.5 → 0.65.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/dist/account/change-email-dialog.js +1 -1
- package/dist/account/devices-section.js +11 -5
- package/dist/account/messages.js +2 -333
- package/dist/account/passkeys-section.js +2 -2
- package/dist/account/password-change-dialog.js +3 -3
- package/dist/account/sign-in-policy-form.js +6 -3
- package/dist/account/sign-in-providers-section.js +1 -1
- package/dist/account/staff-sign-in-log.js +4 -4
- package/dist/action-card/messages.js +2 -5
- package/dist/activity-chart/activity-chart.js +4 -6
- package/dist/activity-chart/messages.js +2 -11
- package/dist/app/app.js +1 -2
- package/dist/app/batch-failure.js +5 -1
- package/dist/app/bottom-bar-from-meta.js +2 -3
- package/dist/app/change-confirm/messages.js +2 -13
- package/dist/app/change-confirm/use-change-confirm.js +1 -1
- package/dist/app/charts/chart-groups.js +3 -1
- package/dist/app/charts/group-bars.js +1 -1
- package/dist/app/charts/messages.js +2 -23
- package/dist/app/charts/period-chart.js +1 -1
- package/dist/app/comments/messages.js +2 -19
- package/dist/app/confirm-sign-in-messages.js +2 -19
- package/dist/app/confirm-sign-in.js +1 -1
- package/dist/app/create/create-page.js +3 -3
- package/dist/app/create/create-record-form.js +2 -2
- package/dist/app/create/create-route.js +1 -1
- package/dist/app/create/messages.js +2 -29
- package/dist/app/custom-section.js +1 -2
- package/dist/app/delete/blocked-delete.js +5 -2
- package/dist/app/delete/dialogs.js +21 -8
- package/dist/app/delete/messages.js +2 -63
- package/dist/app/delete/use-delete-flow.js +5 -4
- package/dist/app/displays/board-column.js +1 -1
- package/dist/app/displays/board-columns.js +1 -1
- package/dist/app/displays/board-display.js +21 -9
- package/dist/app/displays/calendar-display.js +15 -6
- package/dist/app/displays/cards-display.js +1 -1
- package/dist/app/displays/custom-display.js +1 -2
- package/dist/app/displays/list-cards.js +1 -1
- package/dist/app/displays/map-display.js +19 -6
- package/dist/app/displays/messages.js +2 -147
- package/dist/app/displays/period-controls.js +2 -2
- package/dist/app/displays/timeline-display.js +15 -6
- package/dist/app/displays/timeline-range.js +1 -1
- package/dist/app/displays/use-board-move.js +3 -3
- package/dist/app/displays/use-calendar-move.js +1 -1
- package/dist/app/document-title.js +1 -1
- package/dist/app/embedded-list/cut-off-note.js +7 -1
- package/dist/app/embedded-list/embedded-row-targets.js +3 -3
- package/dist/app/embedded-list/messages.js +2 -21
- package/dist/app/export/builder-port.js +1 -1
- package/dist/app/export/export-dialog.js +14 -8
- package/dist/app/export/messages.js +2 -75
- package/dist/app/export/use-export-flow.js +9 -3
- package/dist/app/field-editor.js +2 -2
- package/dist/app/field-errors.js +18 -7
- package/dist/app/field-messages.js +2 -45
- package/dist/app/field-types/members/messages.js +2 -15
- package/dist/app/field-types/messages.js +2 -5
- package/dist/app/field-types/widget-part.js +1 -1
- package/dist/app/file-field.js +3 -3
- package/dist/app/gallery/gallery-section.js +5 -2
- package/dist/app/gallery/messages.js +2 -27
- package/dist/app/gallery/photo-details.js +2 -2
- package/dist/app/hand-order/hand-sorted-list.js +1 -2
- package/dist/app/hand-order/messages.js +2 -29
- package/dist/app/hand-order/use-hand-order.js +1 -1
- package/dist/app/history/describe-change.js +1 -1
- package/dist/app/history/messages.js +2 -29
- package/dist/app/import/convert.js +19 -10
- package/dist/app/import/import-check-step.js +5 -5
- package/dist/app/import/import-dialog.js +5 -2
- package/dist/app/import/import-file-step.js +1 -1
- package/dist/app/import/import-mapping-step.js +3 -3
- package/dist/app/import/messages.js +2 -197
- package/dist/app/import/prepare-rows.js +11 -4
- package/dist/app/import/sheet-cell.js +1 -1
- package/dist/app/import/xlsx-reader.js +2 -2
- package/dist/app/import/zip-reader.js +4 -1
- package/dist/app/list-actions/use-list-actions.js +4 -1
- package/dist/app/list-edit/messages.js +2 -11
- package/dist/app/list-empty-state.js +7 -4
- package/dist/app/list-group-chart.js +1 -1
- package/dist/app/list-messages.js +2 -53
- package/dist/app/list-page.js +9 -9
- package/dist/app/live-update/messages.js +2 -11
- package/dist/app/map/messages.js +2 -11
- package/dist/app/menu-icons.js +10 -3
- package/dist/app/messages.js +2 -139
- package/dist/app/meta-gate-messages.js +2 -13
- package/dist/app/nav-from-meta.js +8 -9
- package/dist/app/new-version/messages.js +2 -21
- package/dist/app/new-version/new-version-banner.js +1 -2
- package/dist/app/pages/action-inputs/action-inputs-dialog.js +1 -1
- package/dist/app/pages/action-inputs/input-answers.js +1 -1
- package/dist/app/pages/blocks/modal-form.js +1 -1
- package/dist/app/pages/blocks/settings.js +1 -1
- package/dist/app/pages/blocks/tabs.js +1 -1
- package/dist/app/pages/composed-page.js +1 -2
- package/dist/app/pages/custom-boundary.js +1 -2
- package/dist/app/pages/messages.js +2 -79
- package/dist/app/pages/render-node.js +2 -3
- package/dist/app/pages/use-run-action.js +14 -6
- package/dist/app/rank-after/dependency-rule.js +8 -2
- package/dist/app/rank-after/messages.js +2 -5
- package/dist/app/rank-after/ranked-place.js +7 -1
- package/dist/app/record-chart/messages.js +2 -25
- package/dist/app/record-lines-cell.js +4 -1
- package/dist/app/record-lines.js +2 -2
- package/dist/app/record-messages.js +2 -83
- package/dist/app/record-page.js +3 -3
- package/dist/app/record-row/messages.js +2 -23
- package/dist/app/record-row/record-row-body.js +1 -1
- package/dist/app/record-row/record-row.js +2 -2
- package/dist/app/record-row/saved-record-row.js +2 -2
- package/dist/app/related-cards/messages.js +2 -15
- package/dist/app/related-dots/dots-summary.js +1 -1
- package/dist/app/related-dots/messages.js +2 -5
- package/dist/app/related-dots/related-dots.js +2 -3
- package/dist/app/relation-picker.js +1 -1
- package/dist/app/runtime/messages.js +2 -55
- package/dist/app/runtime/runtime-status.js +12 -3
- package/dist/app/saved/messages.js +2 -19
- package/dist/app/saved/saved-list.js +2 -2
- package/dist/app/search/messages.js +2 -19
- package/dist/app/search/navigation-hits.js +1 -1
- package/dist/app/search/search-model.js +9 -3
- package/dist/app/searches/messages.js +2 -93
- package/dist/app/searches/save-search-button.js +3 -3
- package/dist/app/searches/saved-search-rows.js +2 -2
- package/dist/app/searches/saved-search-section.js +3 -3
- package/dist/app/searches/saved-searches.js +13 -11
- package/dist/app/searches/search-controls.js +1 -1
- package/dist/app/searches/search-diff.js +8 -2
- package/dist/app/searches/update-search-dialog.js +9 -3
- package/dist/app/searches/use-save-search.js +1 -1
- package/dist/app/searches/use-search-row.js +2 -2
- package/dist/app/sensitive-field.js +3 -3
- package/dist/app/source-notice.js +3 -3
- package/dist/app/staff-banner.js +12 -8
- package/dist/app/use-live-save.js +2 -2
- package/dist/app/user-menu-from-meta.js +2 -3
- package/dist/app/value-badge.js +3 -4
- package/dist/app-shell/global-search.js +2 -2
- package/dist/app-shell/messages.js +2 -63
- package/dist/app-shell/sidebar-group.js +2 -2
- package/dist/app-shell/sidebar.js +1 -2
- package/dist/app-shell/top-bar.js +1 -1
- package/dist/assistant-dock/messages.js +2 -23
- package/dist/auth/auth-gate.js +1 -1
- package/dist/auth/auth-messages.js +9 -88
- package/dist/auth/email-code-form.js +2 -3
- package/dist/auth/forgot-password-form.js +2 -3
- package/dist/auth/messages.js +2 -203
- package/dist/auth/provider-sign-in-page.js +3 -3
- package/dist/auth/resend-code-button.js +1 -1
- package/dist/auth/reset-password-form.js +1 -1
- package/dist/auth/reset-password-page.js +1 -1
- package/dist/auth/sign-in-form.js +2 -2
- package/dist/auth/sign-up-code-form.js +2 -3
- package/dist/auth/sign-up-details-form.js +3 -4
- package/dist/auth/staff-sign-in-form.js +3 -3
- package/dist/calls/call-guests-panel.js +1 -1
- package/dist/calls/call-lobby-notice.js +1 -1
- package/dist/calls/call-mark.js +1 -1
- package/dist/calls/call-people.js +1 -1
- package/dist/calls/call-tile.js +2 -2
- package/dist/calls/messages.js +2 -139
- package/dist/carousel/carousel-controls.js +4 -1
- package/dist/carousel/messages.js +2 -13
- package/dist/chat/messages.js +2 -19
- package/dist/compact-table/compact-table.js +1 -1
- package/dist/compact-table/messages.js +2 -15
- package/dist/data-grid/cell-text.js +6 -5
- package/dist/data-grid/cells.js +7 -4
- package/dist/data-grid/grid-footer.js +1 -1
- package/dist/data-grid/grid-row.js +1 -1
- package/dist/data-grid/header-menu.js +1 -1
- package/dist/data-grid/messages.js +2 -49
- package/dist/data-grid/resize-handle.js +1 -1
- package/dist/data-grid/row-reorder.js +20 -5
- package/dist/filter-panel/active-filter-chips.js +1 -1
- package/dist/filter-panel/date-presets.js +2 -2
- package/dist/filter-panel/facet-combobox.js +1 -1
- package/dist/filter-panel/facet-group.js +1 -1
- package/dist/filter-panel/messages.js +2 -49
- package/dist/filter-panel/range-filter.js +1 -1
- package/dist/format/date.js +4 -4
- package/dist/format/messages.js +2 -21
- package/dist/format/money.js +1 -1
- package/dist/format/number.js +5 -2
- package/dist/forms/messages.js +2 -21
- package/dist/inline-child-table/inline-child-table.js +19 -4
- package/dist/inline-child-table/line-row.js +2 -2
- package/dist/inline-child-table/messages.js +2 -35
- package/dist/invitations/link-notice.js +2 -3
- package/dist/invitations/messages.js +2 -21
- package/dist/invitations/pending-invitation-row.js +1 -1
- package/dist/lists/messages.js +2 -5
- package/dist/live/columns-from-model.js +14 -31
- package/dist/live/display-value.js +1 -1
- package/dist/live/messages.js +2 -15
- package/dist/live/value-color.js +13 -3
- package/dist/live/view-fields.js +4 -2
- package/dist/locale/en.js +1399 -0
- package/dist/locale/messages.js +38 -7
- package/dist/locale/nl.js +1399 -0
- package/dist/markdown/messages.js +2 -13
- package/dist/mentions/messages.js +2 -13
- package/dist/notifications/bell/messages.js +2 -35
- package/dist/notifications/bell/unread-label.js +1 -1
- package/dist/organizations/invitation-page.js +31 -13
- package/dist/organizations/invitations-page.js +1 -1
- package/dist/organizations/members-page.js +2 -2
- package/dist/organizations/messages.js +2 -187
- package/dist/organizations/organization-page.js +4 -4
- package/dist/organizations/organizations-page.js +1 -1
- package/dist/package.js +1 -1
- package/dist/plugins/load-plugin.js +2 -2
- package/dist/plugins/messages.js +2 -33
- package/dist/plugins/plugin-notice.js +7 -5
- package/dist/primitives/badge.d.ts +2 -1
- package/dist/primitives/messages.js +2 -13
- package/dist/primitives/token.js +1 -1
- package/dist/record-view/field.js +2 -2
- package/dist/record-view/messages.js +2 -33
- package/dist/record-view/record-header.js +2 -2
- package/dist/roles/messages.js +2 -11
- package/dist/shell/assets/app-BOuBCV1m.js +8 -0
- package/dist/shell/assets/{calls-CPiQcC70.js → calls-C22bYKio.js} +2 -2
- package/dist/shell/assets/export-worker-ClXdfeuq.js +15 -0
- package/dist/shell/assets/{index-_ZpZ2ro0.js → index-G0fdUd70.js} +2 -2
- package/dist/shell/assets/{maplibre-CjNYwEqW.js → maplibre-CRmpQfDl.js} +3 -3
- package/dist/shell/assets/parse-worker-DxsmAjef.js +18 -0
- package/dist/shell/assets/preload-helper-BgLOXTzV.js +2 -0
- package/dist/shell/assets/{record-map-DjqQGqZ2.js → record-map-DsP4sXes.js} +2 -2
- package/dist/shell/assets/{records-map-DU29d6QK.js → records-map-BtWK38Kn.js} +2 -2
- package/dist/shell/assets/shared-protobase-ui-xqMMtr7u.js +2 -0
- package/dist/shell/assets/vendor-Kvdo8Jrw.js +73 -0
- package/dist/shell/index.html +5 -5
- package/dist/shell/protobase.shell.json +2 -2
- package/dist/shell/protobase.sw.js +2 -2
- package/dist/shell-source-maps/assets/app-BOuBCV1m.js.map +1 -0
- package/dist/shell-source-maps/assets/{calls-CPiQcC70.js.map → calls-C22bYKio.js.map} +1 -1
- package/dist/shell-source-maps/assets/export-worker-ClXdfeuq.js.map +1 -0
- package/dist/shell-source-maps/assets/{index-_ZpZ2ro0.js.map → index-G0fdUd70.js.map} +1 -1
- package/dist/shell-source-maps/assets/{maplibre-CjNYwEqW.js.map → maplibre-CRmpQfDl.js.map} +1 -1
- package/dist/shell-source-maps/assets/parse-worker-DxsmAjef.js.map +1 -0
- package/dist/shell-source-maps/assets/preload-helper-BgLOXTzV.js.map +1 -0
- package/dist/shell-source-maps/assets/{record-map-DjqQGqZ2.js.map → record-map-DsP4sXes.js.map} +1 -1
- package/dist/shell-source-maps/assets/{records-map-DU29d6QK.js.map → records-map-BtWK38Kn.js.map} +1 -1
- package/dist/shell-source-maps/assets/shared-protobase-ui-xqMMtr7u.js.map +1 -0
- package/dist/shell-source-maps/assets/vendor-Kvdo8Jrw.js.map +1 -0
- package/dist/side-panel/messages.js +2 -5
- package/dist/status/messages.js +2 -59
- package/dist/toasts/messages.js +2 -5
- package/dist/users/create-user-form.js +1 -1
- package/dist/users/messages.js +2 -49
- package/package.json +5 -4
- package/dist/app/icons.js +0 -27
- package/dist/app-shell/nav.js +0 -85
- package/dist/locale/slotted.js +0 -14
- package/dist/mocks/activity.js +0 -24
- package/dist/mocks/rng.js +0 -20
- package/dist/mocks/users.js +0 -63
- package/dist/shell/assets/app-BPv_SjnU.js +0 -9
- package/dist/shell/assets/export-worker-3e4Zsv0a.js +0 -3
- package/dist/shell/assets/parse-worker-UhbwEjS0.js +0 -6
- package/dist/shell/assets/preload-helper-SYSsmQ2O.js +0 -2
- package/dist/shell/assets/shared-protobase-ui-Cab5nqST.js +0 -2
- package/dist/shell/assets/vendor-iwLB0x-s.js +0 -63
- package/dist/shell-source-maps/assets/app-BPv_SjnU.js.map +0 -1
- package/dist/shell-source-maps/assets/export-worker-3e4Zsv0a.js.map +0 -1
- package/dist/shell-source-maps/assets/parse-worker-UhbwEjS0.js.map +0 -1
- package/dist/shell-source-maps/assets/preload-helper-SYSsmQ2O.js.map +0 -1
- package/dist/shell-source-maps/assets/shared-protobase-ui-Cab5nqST.js.map +0 -1
- package/dist/shell-source-maps/assets/vendor-iwLB0x-s.js.map +0 -1
|
@@ -4,28 +4,10 @@ import { markdownExcerpt } from "../markdown/markdown-excerpt.js";
|
|
|
4
4
|
import { isMarkdown } from "../markdown/markdown-hint.js";
|
|
5
5
|
import { recordTitleField } from "./model-helpers.js";
|
|
6
6
|
import { contactFormat } from "./contact-links.js";
|
|
7
|
+
import { valueTone } from "./value-color.js";
|
|
7
8
|
import { listColumnNames } from "@protobase/schema/internal";
|
|
8
9
|
import { enumLabel } from "@protobase/schema";
|
|
9
10
|
//#region src/live/columns-from-model.ts
|
|
10
|
-
const tones = {
|
|
11
|
-
draft: "neutral",
|
|
12
|
-
confirmed: "blue",
|
|
13
|
-
picking: "amber",
|
|
14
|
-
shipped: "violet",
|
|
15
|
-
delivered: "green",
|
|
16
|
-
cancelled: "red",
|
|
17
|
-
sent: "blue",
|
|
18
|
-
paid: "green",
|
|
19
|
-
overdue: "red",
|
|
20
|
-
lead: "blue",
|
|
21
|
-
active: "green",
|
|
22
|
-
dormant: "neutral",
|
|
23
|
-
receipt: "green",
|
|
24
|
-
issue: "blue",
|
|
25
|
-
transfer: "violet",
|
|
26
|
-
adjustment: "amber"
|
|
27
|
-
};
|
|
28
|
-
const toneFor = (value) => tones[value] ?? "neutral";
|
|
29
11
|
const widths = {
|
|
30
12
|
text: 200,
|
|
31
13
|
id: 140,
|
|
@@ -47,7 +29,6 @@ const fixedKinds = /* @__PURE__ */ new Set([
|
|
|
47
29
|
"boolean",
|
|
48
30
|
"percent"
|
|
49
31
|
]);
|
|
50
|
-
const idLike = /^(number|sku|reference|code)$/;
|
|
51
32
|
const kindOf = (field, view, index) => {
|
|
52
33
|
switch (field.type) {
|
|
53
34
|
case "relation": return "relation";
|
|
@@ -56,14 +37,14 @@ const kindOf = (field, view, index) => {
|
|
|
56
37
|
case "boolean": return "boolean";
|
|
57
38
|
case "timestamp": return "datetime";
|
|
58
39
|
case "date": return "date";
|
|
59
|
-
case "decimal": return view?.format === "percent" ? "percent" : view?.
|
|
40
|
+
case "decimal": return view?.format === "percent" ? "percent" : view?.currency !== void 0 ? "money" : "number";
|
|
60
41
|
case "integer":
|
|
61
|
-
case "bigint": return
|
|
62
|
-
default: return
|
|
42
|
+
case "bigint": return view?.format === "signed" ? "signed" : "number";
|
|
43
|
+
default: return view?.format === "code" || index === 0 && field.name === "id" ? "id" : "text";
|
|
63
44
|
}
|
|
64
45
|
};
|
|
65
46
|
const currencyCents = (value) => Math.round(Number.parseFloat(String(value)) * 100);
|
|
66
|
-
/** Grid columns for `names`, by default the view's list: kinds follow the field types and the view's format hints. */
|
|
47
|
+
/** Grid columns for `names`, by default the view's list: kinds follow the field types and the view's format and currency hints. */
|
|
67
48
|
const columnsFromModel = (resource, view, highlight = [], names = listColumnNames(resource, view)) => {
|
|
68
49
|
const title = recordTitleField(resource, view);
|
|
69
50
|
return names.flatMap((name, index) => {
|
|
@@ -72,29 +53,31 @@ const columnsFromModel = (resource, view, highlight = [], names = listColumnName
|
|
|
72
53
|
const viewField = view?.fields[name];
|
|
73
54
|
const kind = kindOf(field, viewField, index);
|
|
74
55
|
const labels = Object.fromEntries((field.enumValues ?? []).map((value) => [value, enumLabel(value, viewField?.valueLabels)]));
|
|
75
|
-
const
|
|
56
|
+
const prefix = (kind === "number" || kind === "signed") && viewField?.prefix ? viewField.prefix : void 0;
|
|
57
|
+
const affixWidth = Math.ceil(((prefix?.length ?? 0) + (viewField?.suffix?.length ?? 0)) * 7.2);
|
|
76
58
|
return [{
|
|
77
59
|
id: name,
|
|
78
60
|
header: viewField?.label ?? humanize(name),
|
|
79
61
|
kind,
|
|
80
|
-
width: (name === "name" ? 260 : widths[kind]) +
|
|
62
|
+
width: (name === "name" ? 260 : widths[kind]) + affixWidth,
|
|
81
63
|
sortable: field.sortable,
|
|
82
|
-
minWidth: Math.max(kind === "id" ? 150 : 0, headerWidth(viewField?.label ?? humanize(name), field.sortable), kind === "status" ? badgeWidth(Object.values(labels)) : 0,
|
|
64
|
+
minWidth: Math.max(kind === "id" ? 150 : 0, headerWidth(viewField?.label ?? humanize(name), field.sortable), kind === "status" ? badgeWidth(Object.values(labels)) : 0, affixWidth > 0 ? widths[kind] + affixWidth : 0),
|
|
83
65
|
...fixedKinds.has(kind) && { fixed: true },
|
|
84
66
|
...name === title && { title: true },
|
|
85
67
|
...kind === "text" && name !== title && contactFormat(viewField) && { link: contactFormat(viewField) },
|
|
86
68
|
...highlight.includes(name) && { highlight: true },
|
|
87
69
|
...field.type === "enum" && {
|
|
88
|
-
tones: Object.fromEntries((field.enumValues ?? []).map((value) => [value,
|
|
70
|
+
tones: Object.fromEntries((field.enumValues ?? []).map((value) => [value, valueTone(viewField?.valueColors, value)])),
|
|
89
71
|
labels
|
|
90
72
|
},
|
|
91
73
|
...field.type === "enum" && viewField?.valueColors && { colors: viewField.valueColors },
|
|
92
74
|
...field.type === "enum" && viewField?.badgeShape && { shape: viewField.badgeShape },
|
|
75
|
+
...prefix !== void 0 && { prefix },
|
|
93
76
|
...viewField?.suffix !== void 0 && { suffix: viewField.suffix },
|
|
94
77
|
...kind === "datetime" && viewField?.format === "relative" && { relative: true },
|
|
95
78
|
...kind === "money" && viewField?.decimals !== void 0 && { decimals: viewField.decimals },
|
|
96
|
-
...kind === "money" && {
|
|
97
|
-
currency:
|
|
79
|
+
...kind === "money" && viewField?.currency !== void 0 && {
|
|
80
|
+
currency: viewField.currency,
|
|
98
81
|
value: (row) => row[name] == null ? null : currencyCents(row[name])
|
|
99
82
|
},
|
|
100
83
|
...(kind === "datetime" || kind === "date") && { value: (row) => row[name] == null ? null : Date.parse(String(row[name])) },
|
|
@@ -104,4 +87,4 @@ const columnsFromModel = (resource, view, highlight = [], names = listColumnName
|
|
|
104
87
|
});
|
|
105
88
|
};
|
|
106
89
|
//#endregion
|
|
107
|
-
export { columnsFromModel, listColumnNames
|
|
90
|
+
export { columnsFromModel, listColumnNames };
|
|
@@ -40,7 +40,7 @@ const valueTitle = (field, value, zone = viewerZone(), hints = {}) => {
|
|
|
40
40
|
const ms = Date.parse(value);
|
|
41
41
|
if (Number.isNaN(ms)) return void 0;
|
|
42
42
|
if (hints.format === "relative") return formatDateTime(ms, zone);
|
|
43
|
-
return text("shownIn", zoneLabel(ms, zone));
|
|
43
|
+
return text("shownIn", { zone: zoneLabel(ms, zone) });
|
|
44
44
|
};
|
|
45
45
|
//#endregion
|
|
46
46
|
export { displayValue, valueTitle };
|
package/dist/live/messages.js
CHANGED
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { messages } from "../locale/messages.js";
|
|
2
2
|
//#region src/live/messages.ts
|
|
3
|
-
const text =
|
|
4
|
-
en: {
|
|
5
|
-
yes: "Yes",
|
|
6
|
-
no: "No",
|
|
7
|
-
shownIn: (zone) => `Shown in ${zone}`,
|
|
8
|
-
fileMissing: "File missing"
|
|
9
|
-
},
|
|
10
|
-
nl: {
|
|
11
|
-
yes: "Ja",
|
|
12
|
-
no: "Nee",
|
|
13
|
-
shownIn: (zone) => `Getoond in ${zone}`,
|
|
14
|
-
fileMissing: "Bestand ontbreekt"
|
|
15
|
-
}
|
|
16
|
-
});
|
|
3
|
+
const text = messages("live");
|
|
17
4
|
//#endregion
|
|
18
5
|
export { text };
|
package/dist/live/value-color.js
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
|
+
import { isBadgeTone } from "@protobase/schema";
|
|
1
2
|
//#region src/live/value-color.ts
|
|
2
|
-
|
|
3
|
-
const valueColor = (colors, value) => {
|
|
3
|
+
const declared = (colors, value) => {
|
|
4
4
|
const key = String(value);
|
|
5
5
|
return colors && Object.hasOwn(colors, key) ? colors[key] : void 0;
|
|
6
6
|
};
|
|
7
|
+
/** The hex colour a view gives a value's badge, if any; a tone name is no colour. */
|
|
8
|
+
const valueColor = (colors, value) => {
|
|
9
|
+
const color = declared(colors, value);
|
|
10
|
+
return color === void 0 || isBadgeTone(color) ? void 0 : color;
|
|
11
|
+
};
|
|
12
|
+
/** The tone a view gives a value's badge, `neutral` when it names none. */
|
|
13
|
+
const valueTone = (colors, value) => {
|
|
14
|
+
const tone = declared(colors, value);
|
|
15
|
+
return tone !== void 0 && isBadgeTone(tone) ? tone : "neutral";
|
|
16
|
+
};
|
|
7
17
|
//#endregion
|
|
8
|
-
export { valueColor };
|
|
18
|
+
export { valueColor, valueTone };
|
package/dist/live/view-fields.js
CHANGED
|
@@ -68,11 +68,13 @@ const widgetFields = (view, model) => {
|
|
|
68
68
|
};
|
|
69
69
|
/** Whether a range draws its histogram: only a `range` widget that asks for one. */
|
|
70
70
|
const rangeHistogram = (view, field) => (view?.filters ?? []).some((widget) => widget.kind === "range" && widget.field === field && widget.histogram);
|
|
71
|
-
/** How a range's values read
|
|
71
|
+
/** How a range's values read: money in the view's currency, "€450,000", else with its prefix and suffix, "85 m²". */
|
|
72
72
|
const rangeFormat = (view, field) => {
|
|
73
73
|
const hints = view?.fields[field];
|
|
74
74
|
const suffix = hints?.suffix ?? "";
|
|
75
|
-
|
|
75
|
+
const currency = hints?.currency;
|
|
76
|
+
if (currency !== void 0) return (value) => `${formatMoney(value * 100, currency).replace(".00", "")}${suffix}`;
|
|
77
|
+
return (value) => `${hints?.prefix ?? ""}${value}${suffix}`;
|
|
76
78
|
};
|
|
77
79
|
//#endregion
|
|
78
80
|
export { rangeFormat, rangeHistogram, widgetFields };
|