@mmlogic/components 0.3.2 → 0.3.4
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/cjs/index.cjs.js +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/mosterdcomponents.cjs.js +1 -1
- package/dist/cjs/{mrd-boolean-field_19.cjs.entry.js → mrd-boolean-field_20.cjs.entry.js} +594 -67
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/mrd-field/mrd-field.js +142 -27
- package/dist/collection/components/mrd-field/mrd-field.scss +118 -0
- package/dist/collection/components/mrd-form/mrd-form.js +3 -3
- package/dist/collection/components/mrd-hyperlink-field/mrd-hyperlink-field.js +79 -18
- package/dist/collection/components/mrd-hyperlink-field/mrd-hyperlink-field.scss +22 -0
- package/dist/collection/components/mrd-image-field/mrd-image-field.js +1 -1
- package/dist/collection/components/mrd-layout-section/mrd-layout-section.js +54 -15
- package/dist/collection/components/mrd-layout-section/mrd-layout-section.scss +76 -0
- package/dist/collection/components/mrd-longtext-field/mrd-longtext-field.js +1 -1
- package/dist/collection/components/mrd-number-field/mrd-number-field.js +2 -2
- package/dist/collection/components/mrd-secret-field/mrd-secret-field.js +229 -0
- package/dist/collection/components/mrd-secret-field/mrd-secret-field.scss +73 -0
- package/dist/collection/components/mrd-table/mrd-table.js +46 -6
- package/dist/collection/components/mrd-table/mrd-table.scss +36 -0
- package/dist/collection/components/mrd-text-field/mrd-text-field.js +1 -1
- package/dist/collection/components/mrd-textarea-field/mrd-textarea-field.js +1 -1
- package/dist/collection/components/mrd-time-field/mrd-time-field.js +1 -1
- package/dist/collection/dev/api.js +1 -1
- package/dist/collection/dev/app.js +9 -4
- package/dist/collection/dev/example-data.js +12 -2
- package/dist/collection/types/client-layout.js +1 -0
- package/dist/collection/utils/cell-renderer.js +2 -0
- package/dist/collection/utils/i18n.js +269 -1
- package/dist/collection/utils/validation.js +6 -2
- package/dist/components/client-layout.js +1 -1
- package/dist/components/format.js +1 -1
- package/dist/components/i18n.js +1 -1
- package/dist/components/mrd-field2.js +1 -1
- package/dist/components/mrd-form.js +1 -1
- package/dist/components/mrd-hyperlink-field2.js +1 -1
- package/dist/components/mrd-image-field2.js +1 -1
- package/dist/components/mrd-layout-section.js +1 -1
- package/dist/components/mrd-longtext-field2.js +1 -1
- package/dist/components/mrd-number-field2.js +1 -1
- package/dist/components/mrd-secret-field.d.ts +11 -0
- package/dist/components/mrd-secret-field.js +1 -0
- package/dist/components/mrd-secret-field2.js +1 -0
- package/dist/components/mrd-table2.js +1 -1
- package/dist/components/mrd-text-field2.js +1 -1
- package/dist/components/mrd-textarea-field2.js +1 -1
- package/dist/components/mrd-time-field2.js +1 -1
- package/dist/components/validation.js +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/mosterdcomponents.js +1 -1
- package/dist/esm/{mrd-boolean-field_19.entry.js → mrd-boolean-field_20.entry.js} +594 -68
- package/dist/mosterdcomponents/index.esm.js +1 -1
- package/dist/mosterdcomponents/mosterdcomponents.esm.js +1 -1
- package/dist/mosterdcomponents/p-c9839596.entry.js +1 -0
- package/dist/types/components/mrd-field/mrd-field.d.ts +14 -0
- package/dist/types/components/mrd-hyperlink-field/mrd-hyperlink-field.d.ts +12 -4
- package/dist/types/components/mrd-layout-section/mrd-layout-section.d.ts +5 -0
- package/dist/types/components/mrd-secret-field/mrd-secret-field.d.ts +22 -0
- package/dist/types/components/mrd-table/mrd-table.d.ts +6 -0
- package/dist/types/components.d.ts +109 -13
- package/dist/types/types/client-layout.d.ts +14 -1
- package/dist/types/utils/cell-renderer.d.ts +1 -0
- package/package.json +1 -1
- package/dist/mosterdcomponents/p-2a099635.entry.js +0 -1
|
@@ -21,6 +21,7 @@ export class MrdTable {
|
|
|
21
21
|
this.debounceTimer = null;
|
|
22
22
|
this.outsideClickHandler = null;
|
|
23
23
|
this.keydownHandler = null;
|
|
24
|
+
this.createPickerClickHandler = null;
|
|
24
25
|
// ── Props ──────────────────────────────────────────────────────────────────
|
|
25
26
|
/** The VIEW or RELATED_VIEW layout item. Contains view config, dataClass, fromClass, actions etc. */
|
|
26
27
|
this.item = null;
|
|
@@ -57,6 +58,8 @@ export class MrdTable {
|
|
|
57
58
|
this.pendingFilter = null;
|
|
58
59
|
/** Viewport-relative position for the filter popup. */
|
|
59
60
|
this.popupPos = { top: 0, left: 0 };
|
|
61
|
+
/** Whether the create-type picker dropdown is open. */
|
|
62
|
+
this.createPickerOpen = false;
|
|
60
63
|
/** Current scroll offset of the scroll container — drives pagination footer. */
|
|
61
64
|
this.scrollTop = 0;
|
|
62
65
|
/** Full text shown in the TEXTBLOCK expand modal (null = closed). */
|
|
@@ -193,6 +196,10 @@ export class MrdTable {
|
|
|
193
196
|
document.removeEventListener('click', this.outsideClickHandler);
|
|
194
197
|
this.outsideClickHandler = null;
|
|
195
198
|
}
|
|
199
|
+
if (this.createPickerClickHandler) {
|
|
200
|
+
document.removeEventListener('click', this.createPickerClickHandler);
|
|
201
|
+
this.createPickerClickHandler = null;
|
|
202
|
+
}
|
|
196
203
|
if (this.keydownHandler) {
|
|
197
204
|
document.removeEventListener('keydown', this.keydownHandler);
|
|
198
205
|
this.keydownHandler = null;
|
|
@@ -248,7 +255,7 @@ export class MrdTable {
|
|
|
248
255
|
}
|
|
249
256
|
return `/excel/${(_d = v.dataClass) !== null && _d !== void 0 ? _d : ''}`;
|
|
250
257
|
}
|
|
251
|
-
buildActionDetail(action) {
|
|
258
|
+
buildActionDetail(action, basicType) {
|
|
252
259
|
var _a, _b, _c;
|
|
253
260
|
if (action === 'export') {
|
|
254
261
|
return { action, path: this.buildExcelPath(), qs: this.buildQueryParams(0) };
|
|
@@ -258,7 +265,7 @@ export class MrdTable {
|
|
|
258
265
|
const parentPath = ((_a = this.item) === null || _a === void 0 ? void 0 : _a.type) === 'RELATED_VIEW'
|
|
259
266
|
? `/${(_b = v === null || v === void 0 ? void 0 : v.fromClass) !== null && _b !== void 0 ? _b : ''}/${this.parentId}`
|
|
260
267
|
: null;
|
|
261
|
-
return { action, dataClass: (_c = v === null || v === void 0 ? void 0 : v.dataClass) !== null && _c !== void 0 ? _c : '', parentPath };
|
|
268
|
+
return Object.assign({ action, dataClass: (_c = v === null || v === void 0 ? void 0 : v.dataClass) !== null && _c !== void 0 ? _c : '', parentPath }, (basicType ? { basicType } : {}));
|
|
262
269
|
}
|
|
263
270
|
return { action };
|
|
264
271
|
}
|
|
@@ -356,6 +363,29 @@ export class MrdTable {
|
|
|
356
363
|
return acc;
|
|
357
364
|
}, []);
|
|
358
365
|
}
|
|
366
|
+
toggleCreatePicker() {
|
|
367
|
+
if (this.createPickerOpen) {
|
|
368
|
+
this.closeCreatePicker();
|
|
369
|
+
}
|
|
370
|
+
else {
|
|
371
|
+
this.createPickerOpen = true;
|
|
372
|
+
if (this.createPickerClickHandler)
|
|
373
|
+
document.removeEventListener('click', this.createPickerClickHandler);
|
|
374
|
+
this.createPickerClickHandler = (ev) => {
|
|
375
|
+
const wrap = this.el.querySelector('.mrd-table__create-picker-wrap');
|
|
376
|
+
if (wrap && !wrap.contains(ev.target))
|
|
377
|
+
this.closeCreatePicker();
|
|
378
|
+
};
|
|
379
|
+
document.addEventListener('click', this.createPickerClickHandler);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
closeCreatePicker() {
|
|
383
|
+
this.createPickerOpen = false;
|
|
384
|
+
if (this.createPickerClickHandler) {
|
|
385
|
+
document.removeEventListener('click', this.createPickerClickHandler);
|
|
386
|
+
this.createPickerClickHandler = null;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
359
389
|
colName(col) {
|
|
360
390
|
var _a;
|
|
361
391
|
return (_a = col.name) !== null && _a !== void 0 ? _a : '';
|
|
@@ -779,8 +809,17 @@ export class MrdTable {
|
|
|
779
809
|
if (!isNaN(idx) && idx !== this.activeViewIdx)
|
|
780
810
|
this.handleViewSwitch(idx);
|
|
781
811
|
} }, allViews.map((v, i) => (h("option", { value: String(i), selected: i === this.activeViewIdx }, v.label)))))), hasActions && (h("div", { class: "mrd-table__toolbar-right" }, actions.map(a => {
|
|
782
|
-
var _a;
|
|
783
|
-
|
|
812
|
+
var _a, _b, _c;
|
|
813
|
+
const createTypes = a.action === 'create' ? (_a = this.item) === null || _a === void 0 ? void 0 : _a.createTypes : null;
|
|
814
|
+
if (createTypes === null || createTypes === void 0 ? void 0 : createTypes.length) {
|
|
815
|
+
return (h("div", { class: "mrd-table__create-picker-wrap", key: `action-${a.action}` }, h("button", { class: `mrd-table__action mrd-table__action--${(_b = a.variant) !== null && _b !== void 0 ? _b : 'secondary'}`, onClick: () => this.toggleCreatePicker() }, a.icon
|
|
816
|
+
? h("svg", { class: "mrd-table__action-icon", "aria-hidden": "true" }, h("use", { href: a.icon }))
|
|
817
|
+
: a.label, h("span", { class: "mrd-table__action-tooltip" }, a.label)), this.createPickerOpen && (h("div", { class: "mrd-table__create-picker" }, createTypes.map(ct => (h("button", { key: ct.type, class: "mrd-table__create-picker-item", onClick: () => {
|
|
818
|
+
this.mrdAction.emit(this.buildActionDetail('create', ct.type));
|
|
819
|
+
this.closeCreatePicker();
|
|
820
|
+
} }, ct.label)))))));
|
|
821
|
+
}
|
|
822
|
+
return (h("button", { key: `action-${a.action}`, class: `mrd-table__action mrd-table__action--${(_c = a.variant) !== null && _c !== void 0 ? _c : 'secondary'}`, disabled: a.disabled, onClick: () => this.mrdAction.emit(this.buildActionDetail(a.action)) }, a.icon
|
|
784
823
|
? h("svg", { class: "mrd-table__action-icon", "aria-hidden": "true" }, h("use", { href: a.icon }))
|
|
785
824
|
: a.label, h("span", { class: "mrd-table__action-tooltip" }, a.label)));
|
|
786
825
|
})))));
|
|
@@ -1222,6 +1261,7 @@ export class MrdTable {
|
|
|
1222
1261
|
"openFilterCol": {},
|
|
1223
1262
|
"pendingFilter": {},
|
|
1224
1263
|
"popupPos": {},
|
|
1264
|
+
"createPickerOpen": {},
|
|
1225
1265
|
"scrollTop": {},
|
|
1226
1266
|
"textblockModal": {},
|
|
1227
1267
|
"jsonModal": {},
|
|
@@ -1277,8 +1317,8 @@ export class MrdTable {
|
|
|
1277
1317
|
"text": "Fired when a toolbar action button is clicked.\nFor 'export': includes `path` (relative excel path) and `qs` (current sort+filter params).\nFor 'create': includes `dataClass` (target type) and `parentPath` (e.g. /buyers/123 for RELATED_VIEW)."
|
|
1278
1318
|
},
|
|
1279
1319
|
"complexType": {
|
|
1280
|
-
"original": "{ action: string; path?: string; qs?: string; dataClass?: string; parentPath?: string | null }",
|
|
1281
|
-
"resolved": "{ action: string; path?: string | undefined; qs?: string | undefined; dataClass?: string | undefined; parentPath?: string | null | undefined; }",
|
|
1320
|
+
"original": "{ action: string; path?: string; qs?: string; dataClass?: string; parentPath?: string | null; basicType?: string }",
|
|
1321
|
+
"resolved": "{ action: string; path?: string | undefined; qs?: string | undefined; dataClass?: string | undefined; parentPath?: string | null | undefined; basicType?: string | undefined; }",
|
|
1282
1322
|
"references": {}
|
|
1283
1323
|
}
|
|
1284
1324
|
}, {
|
|
@@ -273,6 +273,42 @@
|
|
|
273
273
|
display: block;
|
|
274
274
|
}
|
|
275
275
|
|
|
276
|
+
/* ── Create-type picker ──────────────────────────────────────────────────── */
|
|
277
|
+
.mrd-table__create-picker-wrap {
|
|
278
|
+
position: relative;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
.mrd-table__create-picker {
|
|
282
|
+
position: absolute;
|
|
283
|
+
right: 0;
|
|
284
|
+
top: calc(100% + 4px);
|
|
285
|
+
background: var(--mrd-color-white, #fff);
|
|
286
|
+
border: 1px solid var(--mrd-border-color);
|
|
287
|
+
border-radius: var(--mrd-border-radius);
|
|
288
|
+
box-shadow: var(--mrd-shadow-md, 0 4px 12px rgba(0, 0, 0, 0.12));
|
|
289
|
+
z-index: 10;
|
|
290
|
+
min-width: 10rem;
|
|
291
|
+
padding: var(--mrd-space-1) 0;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.mrd-table__create-picker-item {
|
|
295
|
+
display: block;
|
|
296
|
+
width: 100%;
|
|
297
|
+
text-align: left;
|
|
298
|
+
padding: var(--mrd-space-2) var(--mrd-space-3);
|
|
299
|
+
background: none;
|
|
300
|
+
border: none;
|
|
301
|
+
cursor: pointer;
|
|
302
|
+
font-size: var(--mrd-font-size-sm);
|
|
303
|
+
font-family: var(--mrd-font-family);
|
|
304
|
+
color: var(--mrd-color-neutral-800);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
.mrd-table__create-picker-item:hover {
|
|
308
|
+
background: var(--mrd-color-neutral-50);
|
|
309
|
+
color: var(--mrd-color-neutral-900);
|
|
310
|
+
}
|
|
311
|
+
|
|
276
312
|
/* ── Filter toggle active state ────────────────────────────────────────── */
|
|
277
313
|
.mrd-table__filter-toggle--active {
|
|
278
314
|
background: var(--mrd-color-primary);
|
|
@@ -28,7 +28,7 @@ export class MrdTextField {
|
|
|
28
28
|
}
|
|
29
29
|
render() {
|
|
30
30
|
const hasError = !!this.error;
|
|
31
|
-
return (h(Host, { key: '
|
|
31
|
+
return (h(Host, { key: 'fd4e1f389cb452ab80a1e1c7295d884ca935999e' }, h("div", { key: '7b7bde7a18fcd9b8d5779daab88ddabb45dd8692', class: "mrd-text-field" }, this.label && (h("label", { key: '8e2ad4053473cfad4eae4c4634b863ac5ef32fea', class: `mrd-text-field__label${this.required ? ' mrd-text-field__label--required' : ''}` }, this.label)), h("input", { key: 'd32712a6dc2aee4691bc4a580d5ca2ad81e0ff9f', class: `mrd-text-field__input${hasError ? ' mrd-text-field__input--error' : ''}`, type: "text", name: this.name, value: this.value, placeholder: this.placeholder, required: this.required, disabled: this.disabled, onInput: this.handleInput, onBlur: this.handleBlur }), hasError && h("span", { key: '31585dbf82020c81834e1eeada5cd9907a5ead56', class: "mrd-text-field__error" }, this.error))));
|
|
32
32
|
}
|
|
33
33
|
static get is() { return "mrd-text-field"; }
|
|
34
34
|
static get encapsulation() { return "scoped"; }
|
|
@@ -66,7 +66,7 @@ export class MrdTextareaField {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
render() {
|
|
69
|
-
return (h(Host, { key: '
|
|
69
|
+
return (h(Host, { key: 'e1fd819c598f01e3986946357ec18d608f2c7adc' }, h("div", { key: '20c28e54e61429655b2d4f297bd84e183ad7e971', class: "mrd-textarea-field" }, this.label && (h("label", { key: 'fa46a20badc35c931563600f24a32e0a8c8c07ad', class: `mrd-textarea-field__label${this.required ? ' mrd-textarea-field__label--required' : ''}` }, this.label)), h("div", { key: 'ee928eca0a1b85401b346b7fae8adbe9214a7664', class: `mrd-textarea-field__container${this.error ? ' mrd-textarea-field__container--error' : ''}` }, h("div", { key: '89b00f3c526623c47f0aff7ad862f70dfdc2fe15', class: "mrd-textarea-field__editor" })), this.error && h("span", { key: '458cf8fddee36ddbc384ce4d25765e5aacd3c9d5', class: "mrd-textarea-field__error" }, this.error))));
|
|
70
70
|
}
|
|
71
71
|
static get is() { return "mrd-textarea-field"; }
|
|
72
72
|
static get encapsulation() { return "scoped"; }
|
|
@@ -27,7 +27,7 @@ export class MrdTimeField {
|
|
|
27
27
|
}
|
|
28
28
|
render() {
|
|
29
29
|
const hasError = !!this.error;
|
|
30
|
-
return (h(Host, { key: '
|
|
30
|
+
return (h(Host, { key: 'c507996709437d8982f9175b286e25598997002d' }, h("div", { key: 'd5f1b7f14d26cae8298cd40491898b39044158f8', class: "mrd-time-field" }, this.label && (h("label", { key: '10976e18df09240e00b045314c4ddd3845d4bfdc', class: `mrd-time-field__label${this.required ? ' mrd-time-field__label--required' : ''}` }, this.label)), h("input", { key: 'bc557333f107a371a7005f9b56dd0395190e63d7', class: `mrd-time-field__input${hasError ? ' mrd-time-field__input--error' : ''}`, type: "time", name: this.name, value: this.value, required: this.required, disabled: this.disabled, onChange: this.handleChange, onBlur: this.handleBlur }), hasError && h("span", { key: 'b5a09c2aa063fa9e2fc3aba411e86b57d879c408', class: "mrd-time-field__error" }, this.error))));
|
|
31
31
|
}
|
|
32
32
|
static get is() { return "mrd-time-field"; }
|
|
33
33
|
static get encapsulation() { return "scoped"; }
|
|
@@ -29,7 +29,7 @@ async function apiFetchTenants(token) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
async function apiFetchTypes(token, tenantCode) {
|
|
32
|
-
const { ok, status, body } = await apiRequest('GET', `/metadata/${tenantCode}/types
|
|
32
|
+
const { ok, status, body } = await apiRequest('GET', `/metadata/${tenantCode}/types`, token);
|
|
33
33
|
if (!ok) throw new Error(`${status}: ${typeof body === 'string' ? body : JSON.stringify(body)}`);
|
|
34
34
|
return body; // array of { name, pluralName, type, ... }
|
|
35
35
|
}
|
|
@@ -344,7 +344,7 @@ function renderSectionTabs(layouts) {
|
|
|
344
344
|
});
|
|
345
345
|
}
|
|
346
346
|
|
|
347
|
-
function renderSection(index) {
|
|
347
|
+
async function renderSection(index) {
|
|
348
348
|
_activeLayoutIndex = index;
|
|
349
349
|
const generation = ++_sectionGeneration; // snapshot for stale-fetch detection
|
|
350
350
|
|
|
@@ -357,6 +357,11 @@ function renderSection(index) {
|
|
|
357
357
|
const container = document.getElementById('sections-container');
|
|
358
358
|
container.innerHTML = '';
|
|
359
359
|
|
|
360
|
+
if (_dashboardType === 'form') {
|
|
361
|
+
await renderForm(layout, _dashboardRecord, _dashboardRecord?._links?.self?.href ?? null, container);
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
364
|
+
|
|
360
365
|
const section = document.createElement('mrd-layout-section');
|
|
361
366
|
section.items = layout.items;
|
|
362
367
|
section.data = _dashboardRecord ?? { _links: _dashboardData._links ?? {} };
|
|
@@ -581,7 +586,7 @@ async function loadForm() {
|
|
|
581
586
|
* @param record - existing record for edit mode (null = new record)
|
|
582
587
|
* @param selfHref - absolute URL for PATCH; null = POST (new record)
|
|
583
588
|
*/
|
|
584
|
-
async function renderForm(layout, record = null, selfHref = null) {
|
|
589
|
+
async function renderForm(layout, record = null, selfHref = null, containerEl = null) {
|
|
585
590
|
// Build relation metadata map keyed by both relatedClass and mostSignificantClass
|
|
586
591
|
// so lookups work regardless of which value arrives in events (mrdSearch uses mostSignificantClass).
|
|
587
592
|
_relationMeta = {};
|
|
@@ -623,10 +628,10 @@ async function renderForm(layout, record = null, selfHref = null) {
|
|
|
623
628
|
}
|
|
624
629
|
}
|
|
625
630
|
|
|
626
|
-
const formPanel = document.getElementById('panel-form');
|
|
631
|
+
const formPanel = containerEl ?? document.getElementById('panel-form');
|
|
627
632
|
formPanel.innerHTML = `<mrd-form id="live-form" locale="${escHtml(_locale)}"></mrd-form>`;
|
|
628
633
|
|
|
629
|
-
const form = document.getElementById('live-form');
|
|
634
|
+
const form = formPanel.querySelector('#live-form') ?? document.getElementById('live-form');
|
|
630
635
|
// Wait for Stencil to fully initialize this specific instance before setting props.
|
|
631
636
|
// componentOnReady() resolves after componentDidLoad — more reliable than customElements.whenDefined.
|
|
632
637
|
if (typeof form.componentOnReady === 'function') {
|
|
@@ -60,7 +60,8 @@ window.EXAMPLE_LAYOUT = {
|
|
|
60
60
|
label: "Settings",
|
|
61
61
|
items: [
|
|
62
62
|
{ type: "FIELD", name: "isPublic", label: "Public project", dataType: "BOOLEAN", required: false },
|
|
63
|
-
{ type: "FIELD", name: "isArchived", label: "Archived", dataType: "BOOLEAN", required: false }
|
|
63
|
+
{ type: "FIELD", name: "isArchived", label: "Archived", dataType: "BOOLEAN", required: false },
|
|
64
|
+
{ type: "FIELD", name: "apiToken", label: "API Token", dataType: "SECRET", required: false, placeholder: "Paste token here" }
|
|
64
65
|
]
|
|
65
66
|
},
|
|
66
67
|
{
|
|
@@ -232,7 +233,14 @@ window.EXAMPLE_COMPANY_METADATA = {
|
|
|
232
233
|
label: 'Share classes',
|
|
233
234
|
tabPage: true,
|
|
234
235
|
items: [
|
|
235
|
-
{
|
|
236
|
+
{
|
|
237
|
+
type: 'RELATED_VIEW', label: 'Share classes', name: 'view1', relatedClass: 'shareClasses', showTitle: false,
|
|
238
|
+
actions: ['NEW', 'EXPORT'],
|
|
239
|
+
createTypes: [
|
|
240
|
+
{ type: 'ordinaryShares', label: 'Ordinary shares' },
|
|
241
|
+
{ type: 'preferenceShares', label: 'Preference shares' },
|
|
242
|
+
],
|
|
243
|
+
},
|
|
236
244
|
],
|
|
237
245
|
},
|
|
238
246
|
],
|
|
@@ -363,6 +371,7 @@ window.EXAMPLE_FIELD_TYPES_ITEMS = [
|
|
|
363
371
|
{ type: 'FIELD', label: 'Textblock', name: 'fTextblock', dataType: 'TEXTBLOCK', required: false },
|
|
364
372
|
{ type: 'FIELD', label: 'Longtext', name: 'fLongtext', dataType: 'LONGTEXT', required: false },
|
|
365
373
|
{ type: 'FIELD', label: 'JSON', name: 'fJson', dataType: 'JSON', required: false },
|
|
374
|
+
{ type: 'FIELD', label: 'Secret', name: 'fSecret', dataType: 'SECRET', required: false },
|
|
366
375
|
];
|
|
367
376
|
|
|
368
377
|
window.EXAMPLE_FIELD_TYPES_DATA = {
|
|
@@ -387,6 +396,7 @@ window.EXAMPLE_FIELD_TYPES_DATA = {
|
|
|
387
396
|
fTextblock: '<p>Dit is een <strong>opgemaakte</strong> tekst met <em>html</em>-inhoud. Geschikt voor langere beschrijvingen met opmaak.</p>',
|
|
388
397
|
fLongtext: 'Dit is een langere stuk platte tekst zonder opmaak.\nHet kan meerdere regels bevatten en wordt getoond in een pre-blok zodat witruimte bewaard blijft.',
|
|
389
398
|
fJson: { id: 1, status: 'active', tags: ['alpha', 'beta'], meta: { created: '2024-01-01', valid: true } },
|
|
399
|
+
fSecret: 'sk-live-abc123xyz',
|
|
390
400
|
_links: {
|
|
391
401
|
fRelation: { href: '/data/demo/entities/person-1', name: 'A. Jansen' },
|
|
392
402
|
},
|
|
@@ -47,6 +47,7 @@ export var ClientLayoutItemFieldDataType;
|
|
|
47
47
|
ClientLayoutItemFieldDataType["IMAGE"] = "IMAGE";
|
|
48
48
|
ClientLayoutItemFieldDataType["LONGTEXT"] = "LONGTEXT";
|
|
49
49
|
ClientLayoutItemFieldDataType["JSON"] = "JSON";
|
|
50
|
+
ClientLayoutItemFieldDataType["SECRET"] = "SECRET";
|
|
50
51
|
})(ClientLayoutItemFieldDataType || (ClientLayoutItemFieldDataType = {}));
|
|
51
52
|
// ─── Relation display / edit behaviour ───────────────────────────────────────
|
|
52
53
|
export var ClientLayoutItemRelationDisplayType;
|
|
@@ -57,6 +57,10 @@ const translations = {
|
|
|
57
57
|
// mrd-table textblock
|
|
58
58
|
textblock_show_more: 'Meer tonen',
|
|
59
59
|
close: 'Sluiten',
|
|
60
|
+
// history badge
|
|
61
|
+
history_until: 'tot',
|
|
62
|
+
history_badge_tooltip: 'Vorige waarden',
|
|
63
|
+
hyperlink_name: 'Linktekst (optioneel)',
|
|
60
64
|
},
|
|
61
65
|
en: {
|
|
62
66
|
required: 'This field is required',
|
|
@@ -116,6 +120,10 @@ const translations = {
|
|
|
116
120
|
// mrd-table textblock
|
|
117
121
|
textblock_show_more: 'Show more',
|
|
118
122
|
close: 'Close',
|
|
123
|
+
// history badge
|
|
124
|
+
history_until: 'until',
|
|
125
|
+
history_badge_tooltip: 'Previous values',
|
|
126
|
+
hyperlink_name: 'Link text (optional)',
|
|
119
127
|
},
|
|
120
128
|
ar: {
|
|
121
129
|
required: 'هذا الحقل مطلوب',
|
|
@@ -175,6 +183,10 @@ const translations = {
|
|
|
175
183
|
// mrd-table textblock
|
|
176
184
|
textblock_show_more: 'عرض المزيد',
|
|
177
185
|
close: 'إغلاق',
|
|
186
|
+
// history badge
|
|
187
|
+
history_until: 'حتى',
|
|
188
|
+
history_badge_tooltip: 'القيم السابقة',
|
|
189
|
+
hyperlink_name: 'نص الرابط (اختياري)',
|
|
178
190
|
},
|
|
179
191
|
fr: {
|
|
180
192
|
required: 'Ce champ est obligatoire',
|
|
@@ -234,11 +246,267 @@ const translations = {
|
|
|
234
246
|
// mrd-table textblock
|
|
235
247
|
textblock_show_more: 'Voir plus',
|
|
236
248
|
close: 'Fermer',
|
|
249
|
+
// history badge
|
|
250
|
+
history_until: "jusqu'au",
|
|
251
|
+
history_badge_tooltip: 'Valeurs précédentes',
|
|
252
|
+
hyperlink_name: 'Texte du lien (optionnel)',
|
|
253
|
+
},
|
|
254
|
+
de: {
|
|
255
|
+
required: 'Dieses Feld ist erforderlich',
|
|
256
|
+
select_placeholder: 'Option auswählen',
|
|
257
|
+
search_placeholder: 'Suchen...',
|
|
258
|
+
upload_file: 'Datei hochladen',
|
|
259
|
+
choose_file: 'Datei auswählen',
|
|
260
|
+
clear: 'Löschen',
|
|
261
|
+
today: 'Heute',
|
|
262
|
+
invalid_email: 'Bitte geben Sie eine gültige E-Mail-Adresse ein',
|
|
263
|
+
invalid_url: 'Bitte geben Sie eine gültige URL ein',
|
|
264
|
+
invalid_number: 'Bitte geben Sie eine gültige Zahl ein',
|
|
265
|
+
drop_file_here: 'Datei hier ablegen oder',
|
|
266
|
+
browse: 'durchsuchen',
|
|
267
|
+
file_too_large: 'Datei ist zu groß',
|
|
268
|
+
search_results: 'Suchergebnisse',
|
|
269
|
+
no_results: 'Keine Ergebnisse gefunden',
|
|
270
|
+
loading: 'Laden...',
|
|
271
|
+
submit: 'Speichern',
|
|
272
|
+
cancel: 'Abbrechen',
|
|
273
|
+
remove: 'Entfernen',
|
|
274
|
+
add: 'Hinzufügen',
|
|
275
|
+
yes: 'Ja',
|
|
276
|
+
no: 'Nein',
|
|
277
|
+
// mrd-table footer
|
|
278
|
+
table_of: 'von',
|
|
279
|
+
download: 'Herunterladen',
|
|
280
|
+
// mrd-table toolbar
|
|
281
|
+
table_filter: 'Filtern',
|
|
282
|
+
table_filter_hide: 'Filter ausblenden',
|
|
283
|
+
table_filter_active: 'aktiv',
|
|
284
|
+
table_filter_clear_all: 'Alle Filter löschen',
|
|
285
|
+
table_new_record: 'Neuer Eintrag',
|
|
286
|
+
table_export_excel: 'Als Excel exportieren',
|
|
287
|
+
// mrd-table filter popup
|
|
288
|
+
filter_sorting: 'Sortierung',
|
|
289
|
+
filter_ascending: 'Aufsteigend',
|
|
290
|
+
filter_descending: 'Absteigend',
|
|
291
|
+
filter_section: 'Filter',
|
|
292
|
+
filter_apply: 'Anwenden',
|
|
293
|
+
filter_clear: 'Löschen',
|
|
294
|
+
filter_contains: 'Enthält',
|
|
295
|
+
filter_starts_with: 'Beginnt mit',
|
|
296
|
+
filter_equals: 'Gleich',
|
|
297
|
+
filter_has_value: 'Hat Wert',
|
|
298
|
+
filter_is_empty: 'Ist leer',
|
|
299
|
+
filter_is_not_empty: 'Ist nicht leer',
|
|
300
|
+
filter_exact: 'Genau',
|
|
301
|
+
filter_range: 'Bereich',
|
|
302
|
+
filter_from: 'Von',
|
|
303
|
+
filter_to: 'Bis',
|
|
304
|
+
filter_all: 'Alle',
|
|
305
|
+
filter_select_all: 'Alle',
|
|
306
|
+
filter_select_none: 'Keine',
|
|
307
|
+
filter_search_value: 'Suchwert...',
|
|
308
|
+
filter_no_support: 'Filterung ist für diesen Feldtyp nicht verfügbar.',
|
|
309
|
+
// mrd-table textblock
|
|
310
|
+
textblock_show_more: 'Mehr anzeigen',
|
|
311
|
+
close: 'Schließen',
|
|
312
|
+
// history badge
|
|
313
|
+
history_until: 'bis',
|
|
314
|
+
history_badge_tooltip: 'Vorherige Werte',
|
|
315
|
+
hyperlink_name: 'Linktext (optional)',
|
|
316
|
+
},
|
|
317
|
+
es: {
|
|
318
|
+
required: 'Este campo es obligatorio',
|
|
319
|
+
select_placeholder: 'Seleccionar una opción',
|
|
320
|
+
search_placeholder: 'Buscar...',
|
|
321
|
+
upload_file: 'Subir archivo',
|
|
322
|
+
choose_file: 'Elegir archivo',
|
|
323
|
+
clear: 'Borrar',
|
|
324
|
+
today: 'Hoy',
|
|
325
|
+
invalid_email: 'Por favor, introduzca una dirección de correo electrónico válida',
|
|
326
|
+
invalid_url: 'Por favor, introduzca una URL válida',
|
|
327
|
+
invalid_number: 'Por favor, introduzca un número válido',
|
|
328
|
+
drop_file_here: 'Suelte el archivo aquí o',
|
|
329
|
+
browse: 'explorar',
|
|
330
|
+
file_too_large: 'El archivo es demasiado grande',
|
|
331
|
+
search_results: 'Resultados de búsqueda',
|
|
332
|
+
no_results: 'No se encontraron resultados',
|
|
333
|
+
loading: 'Cargando...',
|
|
334
|
+
submit: 'Guardar',
|
|
335
|
+
cancel: 'Cancelar',
|
|
336
|
+
remove: 'Eliminar',
|
|
337
|
+
add: 'Añadir',
|
|
338
|
+
yes: 'Sí',
|
|
339
|
+
no: 'No',
|
|
340
|
+
// mrd-table footer
|
|
341
|
+
table_of: 'de',
|
|
342
|
+
download: 'Descargar',
|
|
343
|
+
// mrd-table toolbar
|
|
344
|
+
table_filter: 'Filtrar',
|
|
345
|
+
table_filter_hide: 'Ocultar filtro',
|
|
346
|
+
table_filter_active: 'activo',
|
|
347
|
+
table_filter_clear_all: 'Borrar todos los filtros',
|
|
348
|
+
table_new_record: 'Nuevo registro',
|
|
349
|
+
table_export_excel: 'Exportar a Excel',
|
|
350
|
+
// mrd-table filter popup
|
|
351
|
+
filter_sorting: 'Ordenación',
|
|
352
|
+
filter_ascending: 'Ascendente',
|
|
353
|
+
filter_descending: 'Descendente',
|
|
354
|
+
filter_section: 'Filtro',
|
|
355
|
+
filter_apply: 'Aplicar',
|
|
356
|
+
filter_clear: 'Borrar',
|
|
357
|
+
filter_contains: 'Contiene',
|
|
358
|
+
filter_starts_with: 'Empieza por',
|
|
359
|
+
filter_equals: 'Igual a',
|
|
360
|
+
filter_has_value: 'Tiene valor',
|
|
361
|
+
filter_is_empty: 'Está vacío',
|
|
362
|
+
filter_is_not_empty: 'No está vacío',
|
|
363
|
+
filter_exact: 'Exacto',
|
|
364
|
+
filter_range: 'Rango',
|
|
365
|
+
filter_from: 'Desde',
|
|
366
|
+
filter_to: 'Hasta',
|
|
367
|
+
filter_all: 'Todos',
|
|
368
|
+
filter_select_all: 'Todos',
|
|
369
|
+
filter_select_none: 'Ninguno',
|
|
370
|
+
filter_search_value: 'Valor de búsqueda...',
|
|
371
|
+
filter_no_support: 'El filtrado no está disponible para este tipo de campo.',
|
|
372
|
+
// mrd-table textblock
|
|
373
|
+
textblock_show_more: 'Mostrar más',
|
|
374
|
+
close: 'Cerrar',
|
|
375
|
+
// history badge
|
|
376
|
+
history_until: 'hasta',
|
|
377
|
+
history_badge_tooltip: 'Valores anteriores',
|
|
378
|
+
hyperlink_name: 'Texto del enlace (opcional)',
|
|
379
|
+
},
|
|
380
|
+
it: {
|
|
381
|
+
required: 'Questo campo è obbligatorio',
|
|
382
|
+
select_placeholder: "Seleziona un'opzione",
|
|
383
|
+
search_placeholder: 'Cerca...',
|
|
384
|
+
upload_file: 'Carica file',
|
|
385
|
+
choose_file: 'Scegli file',
|
|
386
|
+
clear: 'Cancella',
|
|
387
|
+
today: 'Oggi',
|
|
388
|
+
invalid_email: 'Inserisci un indirizzo email valido',
|
|
389
|
+
invalid_url: 'Inserisci un URL valido',
|
|
390
|
+
invalid_number: 'Inserisci un numero valido',
|
|
391
|
+
drop_file_here: 'Trascina il file qui o',
|
|
392
|
+
browse: 'sfoglia',
|
|
393
|
+
file_too_large: 'Il file è troppo grande',
|
|
394
|
+
search_results: 'Risultati della ricerca',
|
|
395
|
+
no_results: 'Nessun risultato trovato',
|
|
396
|
+
loading: 'Caricamento...',
|
|
397
|
+
submit: 'Salva',
|
|
398
|
+
cancel: 'Annulla',
|
|
399
|
+
remove: 'Rimuovi',
|
|
400
|
+
add: 'Aggiungi',
|
|
401
|
+
yes: 'Sì',
|
|
402
|
+
no: 'No',
|
|
403
|
+
// mrd-table footer
|
|
404
|
+
table_of: 'di',
|
|
405
|
+
download: 'Scarica',
|
|
406
|
+
// mrd-table toolbar
|
|
407
|
+
table_filter: 'Filtra',
|
|
408
|
+
table_filter_hide: 'Nascondi filtro',
|
|
409
|
+
table_filter_active: 'attivo',
|
|
410
|
+
table_filter_clear_all: 'Cancella tutti i filtri',
|
|
411
|
+
table_new_record: 'Nuovo record',
|
|
412
|
+
table_export_excel: 'Esporta in Excel',
|
|
413
|
+
// mrd-table filter popup
|
|
414
|
+
filter_sorting: 'Ordinamento',
|
|
415
|
+
filter_ascending: 'Crescente',
|
|
416
|
+
filter_descending: 'Decrescente',
|
|
417
|
+
filter_section: 'Filtro',
|
|
418
|
+
filter_apply: 'Applica',
|
|
419
|
+
filter_clear: 'Cancella',
|
|
420
|
+
filter_contains: 'Contiene',
|
|
421
|
+
filter_starts_with: 'Inizia con',
|
|
422
|
+
filter_equals: 'Uguale a',
|
|
423
|
+
filter_has_value: 'Ha valore',
|
|
424
|
+
filter_is_empty: 'È vuoto',
|
|
425
|
+
filter_is_not_empty: 'Non è vuoto',
|
|
426
|
+
filter_exact: 'Esatto',
|
|
427
|
+
filter_range: 'Intervallo',
|
|
428
|
+
filter_from: 'Da',
|
|
429
|
+
filter_to: 'A',
|
|
430
|
+
filter_all: 'Tutti',
|
|
431
|
+
filter_select_all: 'Tutti',
|
|
432
|
+
filter_select_none: 'Nessuno',
|
|
433
|
+
filter_search_value: 'Valore di ricerca...',
|
|
434
|
+
filter_no_support: 'Il filtro non è disponibile per questo tipo di campo.',
|
|
435
|
+
// mrd-table textblock
|
|
436
|
+
textblock_show_more: 'Mostra altro',
|
|
437
|
+
close: 'Chiudi',
|
|
438
|
+
// history badge
|
|
439
|
+
history_until: 'fino a',
|
|
440
|
+
history_badge_tooltip: 'Valori precedenti',
|
|
441
|
+
hyperlink_name: 'Testo del collegamento (opzionale)',
|
|
442
|
+
},
|
|
443
|
+
uk: {
|
|
444
|
+
required: "Це поле обов'язкове",
|
|
445
|
+
select_placeholder: 'Виберіть варіант',
|
|
446
|
+
search_placeholder: 'Пошук...',
|
|
447
|
+
upload_file: 'Завантажити файл',
|
|
448
|
+
choose_file: 'Вибрати файл',
|
|
449
|
+
clear: 'Очистити',
|
|
450
|
+
today: 'Сьогодні',
|
|
451
|
+
invalid_email: 'Будь ласка, введіть дійсну адресу електронної пошти',
|
|
452
|
+
invalid_url: 'Будь ласка, введіть дійсну URL-адресу',
|
|
453
|
+
invalid_number: 'Будь ласка, введіть дійсне число',
|
|
454
|
+
drop_file_here: 'Перетягніть файл сюди або',
|
|
455
|
+
browse: 'огляд',
|
|
456
|
+
file_too_large: 'Файл занадто великий',
|
|
457
|
+
search_results: 'Результати пошуку',
|
|
458
|
+
no_results: 'Результатів не знайдено',
|
|
459
|
+
loading: 'Завантаження...',
|
|
460
|
+
submit: 'Зберегти',
|
|
461
|
+
cancel: 'Скасувати',
|
|
462
|
+
remove: 'Видалити',
|
|
463
|
+
add: 'Додати',
|
|
464
|
+
yes: 'Так',
|
|
465
|
+
no: 'Ні',
|
|
466
|
+
// mrd-table footer
|
|
467
|
+
table_of: 'з',
|
|
468
|
+
download: 'Завантажити',
|
|
469
|
+
// mrd-table toolbar
|
|
470
|
+
table_filter: 'Фільтрувати',
|
|
471
|
+
table_filter_hide: 'Сховати фільтр',
|
|
472
|
+
table_filter_active: 'активний',
|
|
473
|
+
table_filter_clear_all: 'Очистити всі фільтри',
|
|
474
|
+
table_new_record: 'Новий запис',
|
|
475
|
+
table_export_excel: 'Експортувати до Excel',
|
|
476
|
+
// mrd-table filter popup
|
|
477
|
+
filter_sorting: 'Сортування',
|
|
478
|
+
filter_ascending: 'За зростанням',
|
|
479
|
+
filter_descending: 'За спаданням',
|
|
480
|
+
filter_section: 'Фільтр',
|
|
481
|
+
filter_apply: 'Застосувати',
|
|
482
|
+
filter_clear: 'Очистити',
|
|
483
|
+
filter_contains: 'Містить',
|
|
484
|
+
filter_starts_with: 'Починається з',
|
|
485
|
+
filter_equals: 'Дорівнює',
|
|
486
|
+
filter_has_value: 'Має значення',
|
|
487
|
+
filter_is_empty: 'Порожнє',
|
|
488
|
+
filter_is_not_empty: 'Не порожнє',
|
|
489
|
+
filter_exact: 'Точно',
|
|
490
|
+
filter_range: 'Діапазон',
|
|
491
|
+
filter_from: 'Від',
|
|
492
|
+
filter_to: 'До',
|
|
493
|
+
filter_all: 'Всі',
|
|
494
|
+
filter_select_all: 'Всі',
|
|
495
|
+
filter_select_none: 'Жодного',
|
|
496
|
+
filter_search_value: 'Значення для пошуку...',
|
|
497
|
+
filter_no_support: 'Фільтрування недоступне для цього типу поля.',
|
|
498
|
+
// mrd-table textblock
|
|
499
|
+
textblock_show_more: 'Показати більше',
|
|
500
|
+
close: 'Закрити',
|
|
501
|
+
// history badge
|
|
502
|
+
history_until: 'до',
|
|
503
|
+
history_badge_tooltip: 'Попередні значення',
|
|
504
|
+
hyperlink_name: "Текст посилання (необов'язково)",
|
|
237
505
|
},
|
|
238
506
|
};
|
|
239
507
|
export function t(key, locale) {
|
|
240
508
|
var _a, _b, _c;
|
|
241
|
-
const lang = locale.split('-')[0].toLowerCase();
|
|
509
|
+
const lang = (locale !== null && locale !== void 0 ? locale : 'en').split('-')[0].toLowerCase();
|
|
242
510
|
const dict = (_a = translations[lang]) !== null && _a !== void 0 ? _a : translations['en'];
|
|
243
511
|
return (_c = (_b = dict[key]) !== null && _b !== void 0 ? _b : translations['en'][key]) !== null && _c !== void 0 ? _c : key;
|
|
244
512
|
}
|
|
@@ -7,6 +7,10 @@ export function validateRequired(value) {
|
|
|
7
7
|
if (Array.isArray(value))
|
|
8
8
|
return value.length > 0;
|
|
9
9
|
if (typeof value === 'object') {
|
|
10
|
+
// HyperlinkValue check
|
|
11
|
+
const hv = value;
|
|
12
|
+
if ('href' in hv)
|
|
13
|
+
return typeof hv.href === 'string' && hv.href.trim().length > 0;
|
|
10
14
|
// CurrencyValue check
|
|
11
15
|
const cv = value;
|
|
12
16
|
if ('amount' in cv)
|
|
@@ -23,8 +27,8 @@ export function validateUrl(value) {
|
|
|
23
27
|
if (!value)
|
|
24
28
|
return true;
|
|
25
29
|
try {
|
|
26
|
-
new URL(value);
|
|
27
|
-
return
|
|
30
|
+
const url = new URL(value);
|
|
31
|
+
return url.protocol === 'http:' || url.protocol === 'https:';
|
|
28
32
|
}
|
|
29
33
|
catch (_a) {
|
|
30
34
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var E,A,T,O,R;!function(E){E.OBJECT_FORM_DASHBOARD="OBJECT_FORM_DASHBOARD",E.CLASS_DASHBOARD="CLASS_DASHBOARD",E.GENERAL_DASHBOARD="GENERAL_DASHBOARD",E.NAVIGATION_PANE="NAVIGATION_PANE"}(E||(E={})),function(E){E.FIELD="FIELD",E.RELATION="RELATION",E.SECTION="SECTION",E.GROUP="GROUP",E.HEADER="HEADER",E.TEXT="TEXT",E.NAVIGATE="NAVIGATE",E.ACTION="ACTION",E.SEARCH="SEARCH",E.VIEW="VIEW",E.RELATED_VIEW="RELATED_VIEW",E.RELATED_OBJECT="RELATED_OBJECT"}(A||(A={})),function(E){E.TEXT="TEXT",E.TEXTBLOCK="TEXTBLOCK",E.INTEGER="INTEGER",E.DECIMAL="DECIMAL",E.PERCENTAGE="PERCENTAGE",E.CURRENCY="CURRENCY",E.BOOLEAN="BOOLEAN",E.DATE="DATE",E.DATETIME="DATETIME",E.TIME="TIME",E.EMAIL="EMAIL",E.HYPERLINK="HYPERLINK",E.LIST="LIST",E.FILE="FILE",E.IMAGE="IMAGE",E.LONGTEXT="LONGTEXT",E.JSON="JSON"}(T||(T={})),function(E){E.SEARCH="SEARCH",E.DROPDOWN="DROPDOWN",E.CHECKBOX="CHECKBOX"}(O||(O={})),function(E){E.SEARCH="SEARCH",E.DROPDOWN="DROPDOWN",E.CHECKBOX="CHECKBOX"}(R||(R={}));export{E as C,A as a,T as b,O as c,R as d}
|
|
1
|
+
var E,A,T,O,R;!function(E){E.OBJECT_FORM_DASHBOARD="OBJECT_FORM_DASHBOARD",E.CLASS_DASHBOARD="CLASS_DASHBOARD",E.GENERAL_DASHBOARD="GENERAL_DASHBOARD",E.NAVIGATION_PANE="NAVIGATION_PANE"}(E||(E={})),function(E){E.FIELD="FIELD",E.RELATION="RELATION",E.SECTION="SECTION",E.GROUP="GROUP",E.HEADER="HEADER",E.TEXT="TEXT",E.NAVIGATE="NAVIGATE",E.ACTION="ACTION",E.SEARCH="SEARCH",E.VIEW="VIEW",E.RELATED_VIEW="RELATED_VIEW",E.RELATED_OBJECT="RELATED_OBJECT"}(A||(A={})),function(E){E.TEXT="TEXT",E.TEXTBLOCK="TEXTBLOCK",E.INTEGER="INTEGER",E.DECIMAL="DECIMAL",E.PERCENTAGE="PERCENTAGE",E.CURRENCY="CURRENCY",E.BOOLEAN="BOOLEAN",E.DATE="DATE",E.DATETIME="DATETIME",E.TIME="TIME",E.EMAIL="EMAIL",E.HYPERLINK="HYPERLINK",E.LIST="LIST",E.FILE="FILE",E.IMAGE="IMAGE",E.LONGTEXT="LONGTEXT",E.JSON="JSON",E.SECRET="SECRET"}(T||(T={})),function(E){E.SEARCH="SEARCH",E.DROPDOWN="DROPDOWN",E.CHECKBOX="CHECKBOX"}(O||(O={})),function(E){E.SEARCH="SEARCH",E.DROPDOWN="DROPDOWN",E.CHECKBOX="CHECKBOX"}(R||(R={}));export{E as C,A as a,T as b,O as c,R as d}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function n(n,i,t){return null==n||isNaN(n)?"":new Intl.NumberFormat(i,t).format(n)}function i(n,i,t){return null==n||isNaN(n)?"":new Intl.NumberFormat(t,{style:"currency",currency:i,minimumFractionDigits:2,maximumFractionDigits:2}).format(n)}function t(n,i,t=2){return null==n||isNaN(n)?"":new Intl.NumberFormat(i,{style:"percent",minimumFractionDigits:t,maximumFractionDigits:t}).format(n)}function e(n,i){if(!n)return"";const t="string"==typeof n?new Date(n):n;return isNaN(t.getTime())?"":new Intl.DateTimeFormat(i,{year:"numeric",month:"2-digit",day:"2-digit"}).format(t)}function r(n,i){if(!n)return"";const t="string"==typeof n?new Date(n):n;return isNaN(t.getTime())?"":new Intl.DateTimeFormat(i,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(t)}function u(n,i){if(!n)return"";const[t,e]=n.split(":").map(Number),r=new Date;return r.setHours(t,e,0,0),new Intl.DateTimeFormat(i,{hour:"2-digit",minute:"2-digit"}).format(r)}function a(n,i){var t,e,r,u;if(!n||!n.trim())return null;const a=new Intl.NumberFormat(i).formatToParts(1234567.89),o=null!==(e=null===(t=a.find((n=>"group"===n.type)))||void 0===t?void 0:t.value)&&void 0!==e?e:",",l=null!==(u=null===(r=a.find((n=>"decimal"===n.type)))||void 0===r?void 0:r.value)&&void 0!==u?u:".",s=n.replace(new RegExp(`\\${o}`,"g"),"").replace(new RegExp(`\\${l}`),".").replace("%","").trim(),c=parseFloat(s);return isNaN(c)?null:c}export{
|
|
1
|
+
function n(n,i,t){return null==n||isNaN(n)?"":new Intl.NumberFormat(i,t).format(n)}function i(n,i,t){return null==n||isNaN(n)?"":new Intl.NumberFormat(t,{style:"currency",currency:i,minimumFractionDigits:2,maximumFractionDigits:2}).format(n)}function t(n,i,t=2){return null==n||isNaN(n)?"":new Intl.NumberFormat(i,{style:"percent",minimumFractionDigits:t,maximumFractionDigits:t}).format(n)}function e(n,i){if(!n)return"";const t="string"==typeof n?new Date(n):n;return isNaN(t.getTime())?"":new Intl.DateTimeFormat(i,{year:"numeric",month:"2-digit",day:"2-digit"}).format(t)}function r(n,i){if(!n)return"";const t="string"==typeof n?new Date(n):n;return isNaN(t.getTime())?"":new Intl.DateTimeFormat(i,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(t)}function u(n,i){if(!n)return"";const[t,e]=n.split(":").map(Number),r=new Date;return r.setHours(t,e,0,0),new Intl.DateTimeFormat(i,{hour:"2-digit",minute:"2-digit"}).format(r)}function a(n,i){var t,e,r,u;if(!n||!n.trim())return null;const a=new Intl.NumberFormat(i).formatToParts(1234567.89),o=null!==(e=null===(t=a.find((n=>"group"===n.type)))||void 0===t?void 0:t.value)&&void 0!==e?e:",",l=null!==(u=null===(r=a.find((n=>"decimal"===n.type)))||void 0===r?void 0:r.value)&&void 0!==u?u:".",s=n.replace(new RegExp(`\\${o}`,"g"),"").replace(new RegExp(`\\${l}`),".").replace("%","").trim(),c=parseFloat(s);return isNaN(c)?null:c}export{e as a,u as b,r as c,i as d,t as e,n as f,a as p}
|