@mmlogic/components 0.3.5 → 0.3.6
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/{collection/utils/cell-renderer.js → mosterdcomponents/cell-renderer-CbRwLOo8.js} +9 -3
- package/dist/mosterdcomponents/cell-renderer-CbRwLOo8.js.map +1 -0
- package/dist/{esm/index.js → mosterdcomponents/client-layout-D88nn5zf.js} +4 -1
- package/dist/mosterdcomponents/client-layout-D88nn5zf.js.map +1 -0
- package/dist/{collection/utils/format.js → mosterdcomponents/format-BAfsQfy1.js} +12 -7
- package/dist/mosterdcomponents/format-BAfsQfy1.js.map +1 -0
- package/dist/{collection/utils/i18n.js → mosterdcomponents/i18n-hoGGKbKU.js} +6 -1
- package/dist/mosterdcomponents/i18n-hoGGKbKU.js.map +1 -0
- package/dist/mosterdcomponents/index-B_tPFIvS.js +4585 -0
- package/dist/mosterdcomponents/index-B_tPFIvS.js.map +1 -0
- package/dist/mosterdcomponents/index-I5SuYv7a.js +4 -0
- package/dist/mosterdcomponents/index-I5SuYv7a.js.map +1 -0
- package/dist/mosterdcomponents/index.esm.js +5 -1
- package/dist/mosterdcomponents/index.esm.js.map +1 -0
- package/dist/mosterdcomponents/mosterdcomponents.css +180 -1
- package/dist/mosterdcomponents/mosterdcomponents.esm.js +50 -1
- package/dist/mosterdcomponents/mosterdcomponents.esm.js.map +1 -0
- package/dist/mosterdcomponents/mrd-boolean-field.entry.js +37 -0
- package/dist/mosterdcomponents/mrd-boolean-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-currency-field.entry.js +67 -0
- package/dist/mosterdcomponents/mrd-currency-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-date-field.entry.js +46 -0
- package/dist/mosterdcomponents/mrd-date-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-datetime-field.entry.js +78 -0
- package/dist/mosterdcomponents/mrd-datetime-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-email-field.entry.js +50 -0
- package/dist/mosterdcomponents/mrd-email-field.entry.js.map +1 -0
- package/dist/{collection/components/mrd-field/mrd-field.js → mosterdcomponents/mrd-field.entry.js} +28 -179
- package/dist/mosterdcomponents/mrd-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-file-field.entry.js +108 -0
- package/dist/mosterdcomponents/mrd-file-field.entry.js.map +1 -0
- package/dist/{collection/components/mrd-form/mrd-form.js → mosterdcomponents/mrd-form.entry.js} +31 -308
- package/dist/mosterdcomponents/mrd-form.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-hyperlink-field.entry.js +87 -0
- package/dist/mosterdcomponents/mrd-hyperlink-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-image-field.entry.js +122 -0
- package/dist/mosterdcomponents/mrd-image-field.entry.js.map +1 -0
- package/dist/{collection/components/mrd-layout-section/mrd-layout-section.js → mosterdcomponents/mrd-layout-section.entry.js} +31 -418
- package/dist/mosterdcomponents/mrd-layout-section.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-list-field.entry.js +107 -0
- package/dist/mosterdcomponents/mrd-list-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-longtext-field.entry.js +47 -0
- package/dist/mosterdcomponents/mrd-longtext-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-number-field.entry.js +87 -0
- package/dist/mosterdcomponents/mrd-number-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-relation-field.entry.js +267 -0
- package/dist/mosterdcomponents/mrd-relation-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-secret-field.entry.js +49 -0
- package/dist/mosterdcomponents/mrd-secret-field.entry.js.map +1 -0
- package/dist/{collection/components/mrd-table/mrd-table.js → mosterdcomponents/mrd-table.entry.js} +32 -394
- package/dist/mosterdcomponents/mrd-table.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-text-field.entry.js +47 -0
- package/dist/mosterdcomponents/mrd-text-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-textarea-field.entry.js +86 -0
- package/dist/mosterdcomponents/mrd-textarea-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-time-field.entry.js +46 -0
- package/dist/mosterdcomponents/mrd-time-field.entry.js.map +1 -0
- package/dist/{esm/quill-CiuCgGz_.js → mosterdcomponents/quill-C9pgw_k-.js} +16282 -1397
- package/dist/mosterdcomponents/quill-C9pgw_k-.js.map +1 -0
- package/dist/{collection/utils/validation.js → mosterdcomponents/validation-ixb43cqU.js} +12 -5
- package/dist/mosterdcomponents/validation-ixb43cqU.js.map +1 -0
- package/package.json +1 -1
- package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -5
- package/dist/cjs/index-BPj2cBXs.js +0 -1570
- package/dist/cjs/index.cjs.js +0 -66
- package/dist/cjs/loader.cjs.js +0 -13
- package/dist/cjs/mosterdcomponents.cjs.js +0 -25
- package/dist/cjs/mrd-boolean-field_20.cjs.entry.js +0 -3961
- package/dist/cjs/quill-DmFfnC1f.js +0 -16272
- package/dist/collection/collection-manifest.json +0 -32
- package/dist/collection/components/mrd-boolean-field/mrd-boolean-field.js +0 -199
- package/dist/collection/components/mrd-boolean-field/mrd-boolean-field.scss +0 -77
- package/dist/collection/components/mrd-currency-field/mrd-currency-field.js +0 -248
- package/dist/collection/components/mrd-currency-field/mrd-currency-field.scss +0 -100
- package/dist/collection/components/mrd-date-field/mrd-date-field.js +0 -206
- package/dist/collection/components/mrd-date-field/mrd-date-field.scss +0 -66
- package/dist/collection/components/mrd-datetime-field/mrd-datetime-field.js +0 -240
- package/dist/collection/components/mrd-datetime-field/mrd-datetime-field.scss +0 -66
- package/dist/collection/components/mrd-email-field/mrd-email-field.js +0 -230
- package/dist/collection/components/mrd-email-field/mrd-email-field.scss +0 -69
- package/dist/collection/components/mrd-field/mrd-field.scss +0 -118
- package/dist/collection/components/mrd-file-field/mrd-file-field.js +0 -341
- package/dist/collection/components/mrd-file-field/mrd-file-field.scss +0 -153
- package/dist/collection/components/mrd-form/mrd-form.scss +0 -148
- package/dist/collection/components/mrd-hyperlink-field/mrd-hyperlink-field.js +0 -291
- package/dist/collection/components/mrd-hyperlink-field/mrd-hyperlink-field.scss +0 -91
- package/dist/collection/components/mrd-image-field/mrd-image-field.js +0 -356
- package/dist/collection/components/mrd-image-field/mrd-image-field.scss +0 -190
- package/dist/collection/components/mrd-layout-section/mrd-layout-section.scss +0 -445
- package/dist/collection/components/mrd-list-field/mrd-list-field.js +0 -313
- package/dist/collection/components/mrd-list-field/mrd-list-field.scss +0 -109
- package/dist/collection/components/mrd-longtext-field/mrd-longtext-field.js +0 -227
- package/dist/collection/components/mrd-longtext-field/mrd-longtext-field.scss +0 -78
- package/dist/collection/components/mrd-number-field/mrd-number-field.js +0 -316
- package/dist/collection/components/mrd-number-field/mrd-number-field.scss +0 -77
- package/dist/collection/components/mrd-relation-field/mrd-relation-field.js +0 -707
- package/dist/collection/components/mrd-relation-field/mrd-relation-field.scss +0 -266
- package/dist/collection/components/mrd-secret-field/mrd-secret-field.js +0 -229
- package/dist/collection/components/mrd-secret-field/mrd-secret-field.scss +0 -73
- package/dist/collection/components/mrd-table/mrd-table.scss +0 -809
- package/dist/collection/components/mrd-text-field/mrd-text-field.js +0 -227
- package/dist/collection/components/mrd-text-field/mrd-text-field.scss +0 -69
- package/dist/collection/components/mrd-textarea-field/mrd-textarea-field.js +0 -267
- package/dist/collection/components/mrd-textarea-field/mrd-textarea-field.scss +0 -135
- package/dist/collection/components/mrd-time-field/mrd-time-field.js +0 -206
- package/dist/collection/components/mrd-time-field/mrd-time-field.scss +0 -66
- package/dist/collection/dev/api.js +0 -145
- package/dist/collection/dev/app.js +0 -890
- package/dist/collection/dev/auth.js +0 -156
- package/dist/collection/dev/example-data.js +0 -403
- package/dist/collection/dev/sprites.svg +0 -55
- package/dist/collection/index.js +0 -1
- package/dist/collection/types/client-layout.js +0 -64
- package/dist/collection/types/index.js +0 -1
- package/dist/components/client-layout.js +0 -1
- package/dist/components/format.js +0 -1
- package/dist/components/i18n.js +0 -1
- package/dist/components/index.js +0 -1
- package/dist/components/mrd-boolean-field.js +0 -1
- package/dist/components/mrd-boolean-field2.js +0 -1
- package/dist/components/mrd-currency-field.js +0 -1
- package/dist/components/mrd-currency-field2.js +0 -1
- package/dist/components/mrd-date-field.js +0 -1
- package/dist/components/mrd-date-field2.js +0 -1
- package/dist/components/mrd-datetime-field.js +0 -1
- package/dist/components/mrd-datetime-field2.js +0 -1
- package/dist/components/mrd-email-field.js +0 -1
- package/dist/components/mrd-email-field2.js +0 -1
- package/dist/components/mrd-field.js +0 -1
- package/dist/components/mrd-field2.js +0 -1
- package/dist/components/mrd-file-field.js +0 -1
- package/dist/components/mrd-file-field2.js +0 -1
- package/dist/components/mrd-form.js +0 -1
- package/dist/components/mrd-hyperlink-field.js +0 -1
- package/dist/components/mrd-hyperlink-field2.js +0 -1
- package/dist/components/mrd-image-field.js +0 -1
- package/dist/components/mrd-image-field2.js +0 -1
- package/dist/components/mrd-layout-section.js +0 -1
- package/dist/components/mrd-list-field.js +0 -1
- package/dist/components/mrd-list-field2.js +0 -1
- package/dist/components/mrd-longtext-field.js +0 -1
- package/dist/components/mrd-longtext-field2.js +0 -1
- package/dist/components/mrd-number-field.js +0 -1
- package/dist/components/mrd-number-field2.js +0 -1
- package/dist/components/mrd-relation-field.js +0 -1
- package/dist/components/mrd-relation-field2.js +0 -1
- package/dist/components/mrd-secret-field.js +0 -1
- package/dist/components/mrd-secret-field2.js +0 -1
- package/dist/components/mrd-table.js +0 -1
- package/dist/components/mrd-table2.js +0 -1
- package/dist/components/mrd-text-field.js +0 -1
- package/dist/components/mrd-text-field2.js +0 -1
- package/dist/components/mrd-textarea-field.js +0 -1
- package/dist/components/mrd-textarea-field2.js +0 -1
- package/dist/components/mrd-time-field.js +0 -1
- package/dist/components/mrd-time-field2.js +0 -1
- package/dist/components/quill.js +0 -1
- package/dist/components/validation.js +0 -1
- package/dist/esm/app-globals-DQuL1Twl.js +0 -3
- package/dist/esm/index-_tsCCkAi.js +0 -1561
- package/dist/esm/loader.js +0 -11
- package/dist/esm/mosterdcomponents.js +0 -21
- package/dist/esm/mrd-boolean-field_20.entry.js +0 -3940
- package/dist/index.cjs.js +0 -1
- package/dist/index.js +0 -1
- package/dist/mosterdcomponents/p-CiuCgGz_.js +0 -1
- package/dist/mosterdcomponents/p-DQuL1Twl.js +0 -1
- package/dist/mosterdcomponents/p-_tsCCkAi.js +0 -2
- package/dist/mosterdcomponents/p-e477187c.entry.js +0 -1
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
/* =====================================================================
|
|
2
|
-
AUTH0 PKCE
|
|
3
|
-
===================================================================== */
|
|
4
|
-
|
|
5
|
-
const AUTH0_DOMAIN = 'login.develop.rulebooks.nl';
|
|
6
|
-
const AUTH0_CLIENT = '5zpghu11GLFrx95eg5jMl1f0BEnkIenF';
|
|
7
|
-
const AUTH0_AUDIENCE = 'https://api.mosterd';
|
|
8
|
-
const REDIRECT_URI = 'http://localhost:3333';
|
|
9
|
-
|
|
10
|
-
let _accessToken = null;
|
|
11
|
-
let _userEmail = null;
|
|
12
|
-
|
|
13
|
-
function authRestoreSession() {
|
|
14
|
-
const token = localStorage.getItem('auth_token');
|
|
15
|
-
const exp = parseInt(localStorage.getItem('auth_exp') || '0', 10);
|
|
16
|
-
if (!token || (exp && Date.now() / 1000 >= exp - 60)) {
|
|
17
|
-
localStorage.removeItem('auth_token');
|
|
18
|
-
localStorage.removeItem('auth_email');
|
|
19
|
-
localStorage.removeItem('auth_exp');
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
_accessToken = token;
|
|
23
|
-
_userEmail = localStorage.getItem('auth_email') || null;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
function base64url(buffer) {
|
|
27
|
-
return btoa(String.fromCharCode(...new Uint8Array(buffer)))
|
|
28
|
-
.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
async function pkceGenerateVerifier() {
|
|
32
|
-
const bytes = crypto.getRandomValues(new Uint8Array(96));
|
|
33
|
-
return base64url(bytes);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
async function pkceGenerateChallenge(verifier) {
|
|
37
|
-
const data = new TextEncoder().encode(verifier);
|
|
38
|
-
const hash = await crypto.subtle.digest('SHA-256', data);
|
|
39
|
-
return base64url(hash);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
async function authLogin() {
|
|
43
|
-
const verifier = await pkceGenerateVerifier();
|
|
44
|
-
const challenge = await pkceGenerateChallenge(verifier);
|
|
45
|
-
sessionStorage.setItem('pkce_verifier', verifier);
|
|
46
|
-
|
|
47
|
-
const params = new URLSearchParams({
|
|
48
|
-
response_type: 'code',
|
|
49
|
-
client_id: AUTH0_CLIENT,
|
|
50
|
-
redirect_uri: REDIRECT_URI,
|
|
51
|
-
audience: AUTH0_AUDIENCE,
|
|
52
|
-
scope: 'openid profile email',
|
|
53
|
-
code_challenge: challenge,
|
|
54
|
-
code_challenge_method: 'S256',
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
window.location.href = `https://${AUTH0_DOMAIN}/authorize?${params}`;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
async function authHandleCallback() {
|
|
61
|
-
const url = new URL(window.location.href);
|
|
62
|
-
const code = url.searchParams.get('code');
|
|
63
|
-
const error = url.searchParams.get('error');
|
|
64
|
-
|
|
65
|
-
if (error) {
|
|
66
|
-
showAuthError(url.searchParams.get('error_description') || error);
|
|
67
|
-
cleanUrl();
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
if (!code) return;
|
|
72
|
-
|
|
73
|
-
const verifier = sessionStorage.getItem('pkce_verifier');
|
|
74
|
-
if (!verifier) {
|
|
75
|
-
showAuthError('PKCE verifier missing — please try logging in again.');
|
|
76
|
-
cleanUrl();
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
sessionStorage.removeItem('pkce_verifier');
|
|
80
|
-
|
|
81
|
-
try {
|
|
82
|
-
const resp = await fetch(`https://${AUTH0_DOMAIN}/oauth/token`, {
|
|
83
|
-
method: 'POST',
|
|
84
|
-
headers: { 'Content-Type': 'application/json' },
|
|
85
|
-
body: JSON.stringify({
|
|
86
|
-
grant_type: 'authorization_code',
|
|
87
|
-
client_id: AUTH0_CLIENT,
|
|
88
|
-
code,
|
|
89
|
-
redirect_uri: REDIRECT_URI,
|
|
90
|
-
code_verifier: verifier,
|
|
91
|
-
}),
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
const data = await resp.json();
|
|
95
|
-
if (!resp.ok) throw new Error(data.error_description || data.error || resp.statusText);
|
|
96
|
-
|
|
97
|
-
_accessToken = data.access_token;
|
|
98
|
-
|
|
99
|
-
// Decode id_token for email (no signature validation needed on test page)
|
|
100
|
-
if (data.id_token) {
|
|
101
|
-
try {
|
|
102
|
-
const payload = JSON.parse(atob(data.id_token.split('.')[1].replace(/-/g, '+').replace(/_/g, '/')));
|
|
103
|
-
_userEmail = payload.email || payload.name || null;
|
|
104
|
-
} catch (_) { /* ignore */ }
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// Persist session in localStorage
|
|
108
|
-
try {
|
|
109
|
-
const payload = JSON.parse(atob(data.access_token.split('.')[1].replace(/-/g, '+').replace(/_/g, '/')));
|
|
110
|
-
localStorage.setItem('auth_token', _accessToken);
|
|
111
|
-
localStorage.setItem('auth_email', _userEmail || '');
|
|
112
|
-
if (payload.exp) localStorage.setItem('auth_exp', String(payload.exp));
|
|
113
|
-
} catch (_) { /* ignore */ }
|
|
114
|
-
} catch (err) {
|
|
115
|
-
showAuthError(err.message);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
cleanUrl();
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
function cleanUrl() {
|
|
122
|
-
const clean = window.location.pathname;
|
|
123
|
-
window.history.replaceState({}, document.title, clean);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
function authGetToken() { return _accessToken; }
|
|
127
|
-
|
|
128
|
-
function showAuthError(msg) {
|
|
129
|
-
document.getElementById('auth-status-area').innerHTML =
|
|
130
|
-
`<span style="color:var(--mrd-color-danger)">❌ ${escHtml(msg)}</span>
|
|
131
|
-
<button class="btn-secondary" onclick="authLogin()">Opnieuw proberen</button>`;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
function showAuthStatus() {
|
|
135
|
-
const area = document.getElementById('auth-status-area');
|
|
136
|
-
const label = _userEmail ? `Ingelogd als <strong>${escHtml(_userEmail)}</strong>` : 'Ingelogd';
|
|
137
|
-
area.innerHTML =
|
|
138
|
-
`<span class="badge-ok">✓ ${label}</span>
|
|
139
|
-
<button class="btn-secondary" onclick="authLogout()">Uitloggen</button>`;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
function authLogout() {
|
|
143
|
-
_accessToken = null;
|
|
144
|
-
_userEmail = null;
|
|
145
|
-
localStorage.removeItem('auth_token');
|
|
146
|
-
localStorage.removeItem('auth_email');
|
|
147
|
-
localStorage.removeItem('auth_exp');
|
|
148
|
-
localStorage.removeItem('last_tenant');
|
|
149
|
-
document.getElementById('auth-status-area').innerHTML =
|
|
150
|
-
`<button class="btn-primary" id="btn-login" onclick="authLogin()">Login met Auth0</button>`;
|
|
151
|
-
document.getElementById('panel-tenant').classList.add('hidden');
|
|
152
|
-
document.getElementById('panel-type').classList.add('hidden');
|
|
153
|
-
document.getElementById('panel-table').classList.add('hidden');
|
|
154
|
-
document.getElementById('panel-form').classList.add('hidden');
|
|
155
|
-
document.getElementById('panel-response').innerHTML = '';
|
|
156
|
-
}
|
|
@@ -1,403 +0,0 @@
|
|
|
1
|
-
// Static example layout used in the "Embedded Form" tab.
|
|
2
|
-
window.EXAMPLE_LAYOUT = {
|
|
3
|
-
title: "Project Intake Form",
|
|
4
|
-
items: [
|
|
5
|
-
{
|
|
6
|
-
type: "SECTION",
|
|
7
|
-
label: "Basic Information",
|
|
8
|
-
items: [
|
|
9
|
-
{ type: "FIELD", name: "projectName", label: "Project Name", dataType: "TEXT", required: true, placeholder: "Enter project name" },
|
|
10
|
-
{ type: "FIELD", name: "description", label: "Description", dataType: "TEXTBLOCK", required: false, placeholder: "Describe the project..." },
|
|
11
|
-
{
|
|
12
|
-
type: "FIELD", name: "status", label: "Status", dataType: "LIST", required: true, multiple: false,
|
|
13
|
-
listItems: [
|
|
14
|
-
{ key: "active", label: "Active", color: "#16a34a" },
|
|
15
|
-
{ key: "pending", label: "Pending", color: "#d97706" },
|
|
16
|
-
{ key: "on_hold", label: "On Hold", color: "#dc2626" },
|
|
17
|
-
{ key: "completed", label: "Completed", color: "#2563eb" }
|
|
18
|
-
]
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
type: "FIELD", name: "tags", label: "Tags (Multi-select)", dataType: "LIST", required: false, multiple: true,
|
|
22
|
-
listItems: [
|
|
23
|
-
{ key: "frontend", label: "Frontend", color: "#7c3aed" },
|
|
24
|
-
{ key: "backend", label: "Backend", color: "#db2777" },
|
|
25
|
-
{ key: "design", label: "Design", color: "#0891b2" },
|
|
26
|
-
{ key: "devops", label: "DevOps", color: "#65a30d" }
|
|
27
|
-
]
|
|
28
|
-
}
|
|
29
|
-
]
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
type: "SECTION",
|
|
33
|
-
label: "Financial Details",
|
|
34
|
-
items: [
|
|
35
|
-
{ type: "FIELD", name: "budget", label: "Budget", dataType: "CURRENCY", required: true, currencyCode: "EUR" },
|
|
36
|
-
{ type: "FIELD", name: "completion", label: "Completion (%)", dataType: "PERCENTAGE", required: false, decimalPrecision: 1 },
|
|
37
|
-
{ type: "FIELD", name: "headcount", label: "Headcount", dataType: "INTEGER", required: false },
|
|
38
|
-
{ type: "FIELD", name: "hourlyRate", label: "Hourly Rate", dataType: "DECIMAL", required: false, decimalPrecision: 2 }
|
|
39
|
-
]
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
type: "SECTION",
|
|
43
|
-
label: "Dates & Time",
|
|
44
|
-
items: [
|
|
45
|
-
{ type: "FIELD", name: "startDate", label: "Start Date", dataType: "DATE", required: true },
|
|
46
|
-
{ type: "FIELD", name: "deadline", label: "Deadline", dataType: "DATETIME", required: false },
|
|
47
|
-
{ type: "FIELD", name: "dailyStandup", label: "Daily Standup Time", dataType: "TIME", required: false }
|
|
48
|
-
]
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
type: "SECTION",
|
|
52
|
-
label: "Contact & Links",
|
|
53
|
-
items: [
|
|
54
|
-
{ type: "FIELD", name: "contactEmail", label: "Contact Email", dataType: "EMAIL", required: true, placeholder: "project@company.com" },
|
|
55
|
-
{ type: "FIELD", name: "repositoryUrl", label: "Repository URL", dataType: "HYPERLINK", required: false, placeholder: "https://github.com/..." }
|
|
56
|
-
]
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
type: "SECTION",
|
|
60
|
-
label: "Settings",
|
|
61
|
-
items: [
|
|
62
|
-
{ type: "FIELD", name: "isPublic", label: "Public project", 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" }
|
|
65
|
-
]
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
type: "SECTION",
|
|
69
|
-
label: "Assets",
|
|
70
|
-
items: [
|
|
71
|
-
{ type: "FIELD", name: "projectLogo", label: "Project Logo", dataType: "IMAGE", required: false, accept: "image/*", maxSize: 5242880 },
|
|
72
|
-
{ type: "FIELD", name: "attachments", label: "Attachments", dataType: "FILE", required: false, accept: ".pdf,.doc,.docx,.zip", maxSize: 10485760 }
|
|
73
|
-
]
|
|
74
|
-
},
|
|
75
|
-
{ type: "RELATION", name: "projectManager", label: "Project Manager", relatedClass: "Employee", displayType: "SEARCH", required: true, multiple: false },
|
|
76
|
-
{
|
|
77
|
-
type: "RELATION", name: "projectCategory", label: "Category", relatedClass: "Category", displayType: "DROPDOWN", required: false,
|
|
78
|
-
dropdownValues: [
|
|
79
|
-
{ value: "product", label: "Product Development" },
|
|
80
|
-
{ value: "internal", label: "Internal Tool" },
|
|
81
|
-
{ value: "client", label: "Client Project" },
|
|
82
|
-
{ value: "research", label: "Research & Innovation" }
|
|
83
|
-
]
|
|
84
|
-
}
|
|
85
|
-
]
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
window.EXAMPLE_VALUES = {
|
|
89
|
-
projectName: "Mosterd Platform",
|
|
90
|
-
status: "active",
|
|
91
|
-
budget: { amount: 150000, currency: "EUR" },
|
|
92
|
-
isPublic: true,
|
|
93
|
-
startDate: "2026-01-15",
|
|
94
|
-
contactEmail: "team@mosterd.nl"
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
// ─── Companies detail view demo ────────────────────────────────────────────────
|
|
98
|
-
|
|
99
|
-
/** Column definitions for the companies list table. */
|
|
100
|
-
window.EXAMPLE_COMPANY_COLUMNS = [
|
|
101
|
-
{ type: 'FIELD', label: 'Company name', name: 'name', dataType: 'TEXT', required: true },
|
|
102
|
-
{ type: 'FIELD', label: 'Reg. number', name: 'registrationNumber', dataType: 'TEXT', required: false },
|
|
103
|
-
{ type: 'FIELD', label: 'Legal form', name: 'legalForm', dataType: 'TEXT', required: false },
|
|
104
|
-
{ type: 'FIELD', label: 'Start date', name: 'startDate', dataType: 'DATE', required: false },
|
|
105
|
-
{ type: 'FIELD', label: 'Employees', name: 'totalEmployees', dataType: 'INTEGER', required: false },
|
|
106
|
-
];
|
|
107
|
-
|
|
108
|
-
/** Rows for the companies list table. */
|
|
109
|
-
window.EXAMPLE_COMPANIES = [
|
|
110
|
-
{
|
|
111
|
-
name: 'Alpha Holding B.V.',
|
|
112
|
-
registrationNumber: '10000001',
|
|
113
|
-
legalForm: 'Besloten Vennootschap',
|
|
114
|
-
startDate: '2001-03-01',
|
|
115
|
-
totalEmployees: 1,
|
|
116
|
-
_links: { self: { href: '/data/demo/companies/company-1' } },
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
name: 'Beta Services N.V.',
|
|
120
|
-
registrationNumber: '20000002',
|
|
121
|
-
legalForm: 'Naamloze Vennootschap',
|
|
122
|
-
startDate: '2010-07-15',
|
|
123
|
-
totalEmployees: 45,
|
|
124
|
-
_links: { self: { href: '/data/demo/companies/company-2' } },
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
name: 'Gamma & Partners B.V.',
|
|
128
|
-
registrationNumber: '30000003',
|
|
129
|
-
legalForm: 'Besloten Vennootschap',
|
|
130
|
-
startDate: '2008-11-01',
|
|
131
|
-
totalEmployees: 12,
|
|
132
|
-
_links: { self: { href: '/data/demo/companies/company-3' } },
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
name: 'Delta Vastgoed B.V.',
|
|
136
|
-
registrationNumber: '40000004',
|
|
137
|
-
legalForm: 'Besloten Vennootschap',
|
|
138
|
-
startDate: '2020-06-15',
|
|
139
|
-
totalEmployees: 3,
|
|
140
|
-
_links: { self: { href: '/data/demo/companies/company-4' } },
|
|
141
|
-
},
|
|
142
|
-
];
|
|
143
|
-
|
|
144
|
-
/** Single company data object (result of GET /data/:tenant/companies/:id). */
|
|
145
|
-
window.EXAMPLE_COMPANY = {
|
|
146
|
-
name: 'Alpha Holding B.V.',
|
|
147
|
-
legalName: 'Alpha Holding B.V.',
|
|
148
|
-
registrationNumber: '10000001',
|
|
149
|
-
registrationDate: null,
|
|
150
|
-
legalForm: 'Besloten Vennootschap',
|
|
151
|
-
legalFormExtended: 'Besloten Vennootschap',
|
|
152
|
-
rsin: '100000001',
|
|
153
|
-
startDate: '2001-03-01',
|
|
154
|
-
endDate: null,
|
|
155
|
-
primaryActivityDescription: 'Activiteiten van houdstermaatschappijen',
|
|
156
|
-
primaryActivityCode: '64100',
|
|
157
|
-
totalEmployees: 1,
|
|
158
|
-
noMailing: false,
|
|
159
|
-
verificationDate: '2024-01-15T09:00:00.000Z',
|
|
160
|
-
visitAddress: 'Voorbeeldstraat 1',
|
|
161
|
-
visitPostalCode: '1234AB',
|
|
162
|
-
visitCity: 'Amsterdam',
|
|
163
|
-
mailingAddress: null,
|
|
164
|
-
mailingPostalCode: null,
|
|
165
|
-
mailingCity: null,
|
|
166
|
-
_links: {
|
|
167
|
-
self: { href: '/data/demo/companies/company-1' },
|
|
168
|
-
country: { href: '/data/demo/countries/nl', name: 'Nederland' },
|
|
169
|
-
appointments: { href: '/data/demo/companies/company-1/appointments' },
|
|
170
|
-
shareClasses: { href: '/data/demo/companies/company-1/shareClasses' },
|
|
171
|
-
shareAllocations: { href: '/data/demo/shareholders/company-1/shareAllocations' },
|
|
172
|
-
},
|
|
173
|
-
};
|
|
174
|
-
|
|
175
|
-
/** Dashboard metadata (GET /metadata/:tenant/dataObject?types=companies,...). */
|
|
176
|
-
window.EXAMPLE_COMPANY_METADATA = {
|
|
177
|
-
layoutType: 'OBJECT_DASHBOARD',
|
|
178
|
-
layouts: [
|
|
179
|
-
{
|
|
180
|
-
type: 'OBJECT_DASHBOARD',
|
|
181
|
-
label: '',
|
|
182
|
-
tabPage: false,
|
|
183
|
-
items: [
|
|
184
|
-
{ type: 'FIELD', label: 'company name', name: 'name', dataType: 'TEXT', required: true, header: true },
|
|
185
|
-
{ type: 'FIELD', label: 'legal name', name: 'legalName', dataType: 'TEXT', required: true },
|
|
186
|
-
{ type: 'FIELD', label: 'registration number', name: 'registrationNumber', dataType: 'TEXT', required: false },
|
|
187
|
-
{ type: 'FIELD', label: 'registration date', name: 'registrationDate', dataType: 'DATE', required: false },
|
|
188
|
-
// ACTION items are silently ignored by mrd-layout-section
|
|
189
|
-
{ type: 'ACTION', label: 'company register', name: 'CompanyRegister' },
|
|
190
|
-
],
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
type: 'OBJECT_DASHBOARD',
|
|
194
|
-
label: 'Registration details',
|
|
195
|
-
tabPage: true,
|
|
196
|
-
items: [
|
|
197
|
-
{ type: 'FIELD', label: 'legal form', name: 'legalForm', dataType: 'TEXT', required: false },
|
|
198
|
-
{ type: 'FIELD', label: 'legal form extended', name: 'legalFormExtended', dataType: 'TEXT', required: false },
|
|
199
|
-
{ type: 'FIELD', label: 'rsin', name: 'rsin', dataType: 'TEXT', required: false },
|
|
200
|
-
{ type: 'FIELD', label: 'start date', name: 'startDate', dataType: 'DATE', required: false },
|
|
201
|
-
{ type: 'FIELD', label: 'end date', name: 'endDate', dataType: 'DATE', required: false },
|
|
202
|
-
{ type: 'FIELD', label: 'primary activity description', name: 'primaryActivityDescription', dataType: 'TEXT', required: false },
|
|
203
|
-
{ type: 'FIELD', label: 'primary activity code', name: 'primaryActivityCode', dataType: 'TEXT', required: false },
|
|
204
|
-
{ type: 'FIELD', label: 'total employees', name: 'totalEmployees', dataType: 'INTEGER', required: false },
|
|
205
|
-
{ type: 'FIELD', label: 'no mailing', name: 'noMailing', dataType: 'BOOLEAN', required: false },
|
|
206
|
-
{ type: 'FIELD', label: 'verification date', name: 'verificationDate', dataType: 'DATETIME', required: false },
|
|
207
|
-
],
|
|
208
|
-
},
|
|
209
|
-
{
|
|
210
|
-
type: 'OBJECT_DASHBOARD',
|
|
211
|
-
label: 'Contact information',
|
|
212
|
-
tabPage: true,
|
|
213
|
-
items: [
|
|
214
|
-
{ type: 'FIELD', label: 'visit address', name: 'visitAddress', dataType: 'TEXT', required: false },
|
|
215
|
-
{ type: 'FIELD', label: 'visit postal code', name: 'visitPostalCode', dataType: 'TEXT', required: false },
|
|
216
|
-
{ type: 'FIELD', label: 'visit city', name: 'visitCity', dataType: 'TEXT', required: false },
|
|
217
|
-
{ type: 'FIELD', label: 'mailing address', name: 'mailingAddress', dataType: 'TEXT', required: false },
|
|
218
|
-
{ type: 'FIELD', label: 'mailing postal code', name: 'mailingPostalCode', dataType: 'TEXT', required: false },
|
|
219
|
-
{ type: 'FIELD', label: 'mailing city', name: 'mailingCity', dataType: 'TEXT', required: false },
|
|
220
|
-
{ type: 'RELATION', label: 'country', name: 'country', relatedClass: 'commons.country', mostSignificantClass: 'countries', required: false },
|
|
221
|
-
],
|
|
222
|
-
},
|
|
223
|
-
{
|
|
224
|
-
type: 'OBJECT_DASHBOARD',
|
|
225
|
-
label: 'Appointments',
|
|
226
|
-
tabPage: true,
|
|
227
|
-
items: [
|
|
228
|
-
{ type: 'RELATED_VIEW', label: 'Appointments', name: 'view0', relatedClass: 'appointments', showTitle: false },
|
|
229
|
-
],
|
|
230
|
-
},
|
|
231
|
-
{
|
|
232
|
-
type: 'OBJECT_DASHBOARD',
|
|
233
|
-
label: 'Share classes',
|
|
234
|
-
tabPage: true,
|
|
235
|
-
items: [
|
|
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
|
-
},
|
|
244
|
-
],
|
|
245
|
-
},
|
|
246
|
-
],
|
|
247
|
-
views: {
|
|
248
|
-
view0: {
|
|
249
|
-
name: null,
|
|
250
|
-
defaultView: true,
|
|
251
|
-
defaultSort: 'name',
|
|
252
|
-
values: [
|
|
253
|
-
{ type: 'FIELD', label: 'name', name: 'name', dataType: 'TEXT', required: true },
|
|
254
|
-
{ type: 'RELATION', label: 'Officer', name: 'officer', relatedClass: 'housekeeping.officer', mostSignificantClass: 'entities', required: true },
|
|
255
|
-
{
|
|
256
|
-
type: 'FIELD', label: 'Authority', name: 'authority', dataType: 'LIST', required: false,
|
|
257
|
-
listItems: [
|
|
258
|
-
{ key: 'SOLE', label: 'Sole authority' },
|
|
259
|
-
{ key: 'JOINT', label: 'Joint authority' },
|
|
260
|
-
],
|
|
261
|
-
},
|
|
262
|
-
{ type: 'FIELD', label: 'start date', name: 'activeDate', dataType: 'DATE', required: false },
|
|
263
|
-
{ type: 'FIELD', label: 'end date', name: 'inactiveDate', dataType: 'DATE', required: false },
|
|
264
|
-
],
|
|
265
|
-
type: 'appointments',
|
|
266
|
-
singularLabel: 'Appointment',
|
|
267
|
-
pluralLabel: 'Appointments',
|
|
268
|
-
},
|
|
269
|
-
view1: {
|
|
270
|
-
name: null,
|
|
271
|
-
defaultView: true,
|
|
272
|
-
defaultSort: 'name',
|
|
273
|
-
values: [
|
|
274
|
-
{ type: 'FIELD', label: 'name', name: 'name', dataType: 'TEXT', required: true },
|
|
275
|
-
{ type: 'FIELD', label: 'Nominal value', name: 'nominalValue', dataType: 'TEXT', required: false },
|
|
276
|
-
{ type: 'FIELD', label: 'Currency', name: 'currency', dataType: 'TEXT', required: false },
|
|
277
|
-
{ type: 'FIELD', label: 'Authorised shares', name: 'authorizedShares', dataType: 'INTEGER', required: false },
|
|
278
|
-
],
|
|
279
|
-
type: 'shareClasses',
|
|
280
|
-
singularLabel: 'Share class',
|
|
281
|
-
pluralLabel: 'Share classes',
|
|
282
|
-
},
|
|
283
|
-
},
|
|
284
|
-
_links: {
|
|
285
|
-
view0: { href: '/data/demo/appointments' },
|
|
286
|
-
view1: { href: '/data/demo/shareClasses' },
|
|
287
|
-
},
|
|
288
|
-
};
|
|
289
|
-
|
|
290
|
-
/** Mock appointment rows for the embedded table. */
|
|
291
|
-
window.EXAMPLE_APPOINTMENTS = [
|
|
292
|
-
{
|
|
293
|
-
name: 'Directeur',
|
|
294
|
-
authority: 'SOLE',
|
|
295
|
-
activeDate: '2001-03-01',
|
|
296
|
-
inactiveDate: null,
|
|
297
|
-
_links: {
|
|
298
|
-
self: { href: '/data/demo/appointments/apt-1' },
|
|
299
|
-
officer: { href: '/data/demo/entities/person-1', name: 'A. Jansen' },
|
|
300
|
-
},
|
|
301
|
-
},
|
|
302
|
-
{
|
|
303
|
-
name: 'Commissaris',
|
|
304
|
-
authority: 'JOINT',
|
|
305
|
-
activeDate: '2018-03-01',
|
|
306
|
-
inactiveDate: null,
|
|
307
|
-
_links: {
|
|
308
|
-
self: { href: '/data/demo/appointments/apt-2' },
|
|
309
|
-
officer: { href: '/data/demo/entities/person-2', name: 'B. de Wit' },
|
|
310
|
-
},
|
|
311
|
-
},
|
|
312
|
-
];
|
|
313
|
-
|
|
314
|
-
/** Mock share class rows for the embedded table. */
|
|
315
|
-
window.EXAMPLE_SHARE_CLASSES = [
|
|
316
|
-
{
|
|
317
|
-
name: 'Gewone aandelen',
|
|
318
|
-
nominalValue: '1.00',
|
|
319
|
-
currency: 'EUR',
|
|
320
|
-
authorizedShares: 1800,
|
|
321
|
-
_links: { self: { href: '/data/demo/shareClasses/sc-1' } },
|
|
322
|
-
},
|
|
323
|
-
{
|
|
324
|
-
name: 'Preferente aandelen',
|
|
325
|
-
nominalValue: '1.00',
|
|
326
|
-
currency: 'EUR',
|
|
327
|
-
authorizedShares: 200,
|
|
328
|
-
_links: { self: { href: '/data/demo/shareClasses/sc-2' } },
|
|
329
|
-
},
|
|
330
|
-
];
|
|
331
|
-
|
|
332
|
-
// ─── Field Types demo ─────────────────────────────────────────────────────────
|
|
333
|
-
|
|
334
|
-
window.EXAMPLE_FIELD_TYPES_ITEMS = [
|
|
335
|
-
{ type: 'FIELD', label: 'Name (header)', name: 'fHeader', dataType: 'TEXT', required: false, header: true },
|
|
336
|
-
{ type: 'FIELD', label: 'Text', name: 'fText', dataType: 'TEXT', required: false },
|
|
337
|
-
{ type: 'FIELD', label: 'Email', name: 'fEmail', dataType: 'EMAIL', required: false },
|
|
338
|
-
{ type: 'FIELD', label: 'Hyperlink', name: 'fHyperlink', dataType: 'HYPERLINK', required: false },
|
|
339
|
-
{ type: 'FIELD', label: 'Integer', name: 'fInteger', dataType: 'INTEGER', required: false },
|
|
340
|
-
{ type: 'FIELD', label: 'Decimal', name: 'fDecimal', dataType: 'DECIMAL', required: false },
|
|
341
|
-
{ type: 'FIELD', label: 'Percentage', name: 'fPercentage', dataType: 'PERCENTAGE', required: false },
|
|
342
|
-
{ type: 'FIELD', label: 'Currency', name: 'fCurrency', dataType: 'CURRENCY', required: false },
|
|
343
|
-
{ type: 'FIELD', label: 'Boolean (true)', name: 'fBoolTrue', dataType: 'BOOLEAN', required: false },
|
|
344
|
-
{ type: 'FIELD', label: 'Boolean (false)', name: 'fBoolFalse', dataType: 'BOOLEAN', required: false },
|
|
345
|
-
{ type: 'FIELD', label: 'Date', name: 'fDate', dataType: 'DATE', required: false },
|
|
346
|
-
{ type: 'FIELD', label: 'DateTime', name: 'fDatetime', dataType: 'DATETIME', required: false },
|
|
347
|
-
{ type: 'FIELD', label: 'Time', name: 'fTime', dataType: 'TIME', required: false },
|
|
348
|
-
{
|
|
349
|
-
type: 'FIELD', label: 'List (no color)', name: 'fListPlain', dataType: 'LIST', required: false,
|
|
350
|
-
listItems: [{ key: 'a', label: 'Option A' }, { key: 'b', label: 'Option B' }],
|
|
351
|
-
},
|
|
352
|
-
{
|
|
353
|
-
type: 'FIELD', label: 'List (color only)', name: 'fListColor', dataType: 'LIST', required: false,
|
|
354
|
-
listItems: [
|
|
355
|
-
{ key: 'active', label: 'Active', color: '#16a34a' },
|
|
356
|
-
{ key: 'inactive', label: 'Inactive', color: '#dc2626' },
|
|
357
|
-
],
|
|
358
|
-
},
|
|
359
|
-
{
|
|
360
|
-
type: 'FIELD', label: 'List (color + bg)', name: 'fListBadge', dataType: 'LIST', required: false,
|
|
361
|
-
listItems: [
|
|
362
|
-
{ key: 'approved', label: 'Approved', color: '#14532d', backgroundColor: '#dcfce7' },
|
|
363
|
-
{ key: 'rejected', label: 'Rejected', color: '#7f1d1d', backgroundColor: '#fee2e2' },
|
|
364
|
-
{ key: 'pending', label: 'Pending', color: '#78350f', backgroundColor: '#fef3c7' },
|
|
365
|
-
],
|
|
366
|
-
},
|
|
367
|
-
{ type: 'SEARCH', label: 'Zoeken', dataClass: 'demo.entity' },
|
|
368
|
-
{ type: 'RELATION', label: 'Relation (single)', name: 'fRelation', relatedClass: 'demo.entity', required: false },
|
|
369
|
-
{ type: 'FIELD', label: 'File', name: 'fFile', dataType: 'FILE', required: false },
|
|
370
|
-
{ type: 'FIELD', label: 'Image', name: 'fImage', dataType: 'IMAGE', required: false },
|
|
371
|
-
{ type: 'FIELD', label: 'Textblock', name: 'fTextblock', dataType: 'TEXTBLOCK', required: false },
|
|
372
|
-
{ type: 'FIELD', label: 'Longtext', name: 'fLongtext', dataType: 'LONGTEXT', required: false },
|
|
373
|
-
{ type: 'FIELD', label: 'JSON', name: 'fJson', dataType: 'JSON', required: false },
|
|
374
|
-
{ type: 'FIELD', label: 'Secret', name: 'fSecret', dataType: 'SECRET', required: false },
|
|
375
|
-
];
|
|
376
|
-
|
|
377
|
-
window.EXAMPLE_FIELD_TYPES_DATA = {
|
|
378
|
-
fHeader: 'Voorbeeld Bedrijf B.V.',
|
|
379
|
-
fText: 'Voorbeeld tekst',
|
|
380
|
-
fEmail: 'info@example.com',
|
|
381
|
-
fHyperlink: { href: 'https://example.com', text: 'example.com' },
|
|
382
|
-
fInteger: 42,
|
|
383
|
-
fDecimal: 3.14159,
|
|
384
|
-
fPercentage: 0.7825,
|
|
385
|
-
fCurrency: { amount: 1250.50, currency: 'EUR' },
|
|
386
|
-
fBoolTrue: true,
|
|
387
|
-
fBoolFalse: false,
|
|
388
|
-
fDate: '2024-03-15',
|
|
389
|
-
fDatetime: '2024-03-15T14:30:00.000Z',
|
|
390
|
-
fTime: '14:30:00',
|
|
391
|
-
fListPlain: 'a',
|
|
392
|
-
fListColor: 'active',
|
|
393
|
-
fListBadge: 'approved',
|
|
394
|
-
fFile: { href: '/api/files/example-document', fileName: 'voorbeeld-document.pdf' },
|
|
395
|
-
fImage: { href: '/api/files/example-photo', fileName: 'voorbeeld-foto.jpg' },
|
|
396
|
-
fTextblock: '<p>Dit is een <strong>opgemaakte</strong> tekst met <em>html</em>-inhoud. Geschikt voor langere beschrijvingen met opmaak.</p>',
|
|
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.',
|
|
398
|
-
fJson: { id: 1, status: 'active', tags: ['alpha', 'beta'], meta: { created: '2024-01-01', valid: true } },
|
|
399
|
-
fSecret: 'sk-live-abc123xyz',
|
|
400
|
-
_links: {
|
|
401
|
-
fRelation: { href: '/data/demo/entities/person-1', name: 'A. Jansen' },
|
|
402
|
-
},
|
|
403
|
-
};
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
<svg aria-hidden="true" style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
2
|
-
<defs>
|
|
3
|
-
<symbol id="icon-search" viewBox="0 0 32 32">
|
|
4
|
-
<path d="M31.008 27.231l-7.58-6.447c-0.784-0.705-1.622-1.029-2.299-0.998 1.789-2.096 2.87-4.815 2.87-7.787 0-6.627-5.373-12-12-12s-12 5.373-12 12 5.373 12 12 12c2.972 0 5.691-1.081 7.787-2.87-0.031 0.677 0.293 1.515 0.998 2.299l6.447 7.58c1.104 1.226 2.907 1.33 4.007 0.23s0.997-2.903-0.23-4.007zM12 20c-4.418 0-8-3.582-8-8s3.582-8 8-8 8 3.582 8 8-3.582 8-8 8z"></path>
|
|
5
|
-
</symbol>
|
|
6
|
-
<symbol id="icon-bin" viewBox="0 0 32 32">
|
|
7
|
-
<path d="M4 10v20c0 1.1 0.9 2 2 2h18c1.1 0 2-0.9 2-2v-20h-22zM10 28h-2v-14h2v14zM14 28h-2v-14h2v14zM18 28h-2v-14h2v14zM22 28h-2v-14h2v14z"></path>
|
|
8
|
-
<path d="M26.5 4h-6.5v-2.5c0-0.825-0.675-1.5-1.5-1.5h-7c-0.825 0-1.5 0.675-1.5 1.5v2.5h-6.5c-0.825 0-1.5 0.675-1.5 1.5v2.5h26v-2.5c0-0.825-0.675-1.5-1.5-1.5zM18 4h-6v-1.975h6v1.975z"></path>
|
|
9
|
-
</symbol>
|
|
10
|
-
<symbol id="icon-plus" viewBox="0 0 32 32">
|
|
11
|
-
<path d="M31 12h-11v-11c0-0.552-0.448-1-1-1h-6c-0.552 0-1 0.448-1 1v11h-11c-0.552 0-1 0.448-1 1v6c0 0.552 0.448 1 1 1h11v11c0 0.552 0.448 1 1 1h6c0.552 0 1-0.448 1-1v-11h11c0.552 0 1-0.448 1-1v-6c0-0.552-0.448-1-1-1z"></path>
|
|
12
|
-
</symbol>
|
|
13
|
-
<symbol id="icon-cross" viewBox="0 0 32 32">
|
|
14
|
-
<path d="M31.708 25.708c-0-0-0-0-0-0l-9.708-9.708 9.708-9.708c0-0 0-0 0-0 0.105-0.105 0.18-0.227 0.229-0.357 0.133-0.356 0.057-0.771-0.229-1.057l-4.586-4.586c-0.286-0.286-0.702-0.361-1.057-0.229-0.13 0.048-0.252 0.124-0.357 0.228 0 0-0 0-0 0l-9.708 9.708-9.708-9.708c-0-0-0-0-0-0-0.105-0.104-0.227-0.18-0.357-0.228-0.356-0.133-0.771-0.057-1.057 0.229l-4.586 4.586c-0.286 0.286-0.361 0.702-0.229 1.057 0.049 0.13 0.124 0.252 0.229 0.357 0 0 0 0 0 0l9.708 9.708-9.708 9.708c-0 0-0 0-0 0-0.104 0.105-0.18 0.227-0.229 0.357-0.133 0.355-0.057 0.771 0.229 1.057l4.586 4.586c0.286 0.286 0.702 0.361 1.057 0.229 0.13-0.049 0.252-0.124 0.357-0.229 0-0 0-0 0-0l9.708-9.708 9.708 9.708c0 0 0 0 0 0 0.105 0.105 0.227 0.18 0.357 0.229 0.356 0.133 0.771 0.057 1.057-0.229l4.586-4.586c0.286-0.286 0.362-0.702 0.229-1.057-0.049-0.13-0.124-0.252-0.229-0.357z"></path>
|
|
15
|
-
</symbol>
|
|
16
|
-
<symbol id="icon-backward2" viewBox="0 0 32 32">
|
|
17
|
-
<path d="M18 5v10l10-10v22l-10-10v10l-11-11z"></path>
|
|
18
|
-
</symbol>
|
|
19
|
-
<symbol id="icon-forward3" viewBox="0 0 32 32">
|
|
20
|
-
<path d="M16 27v-10l-10 10v-22l10 10v-10l11 11z"></path>
|
|
21
|
-
</symbol>
|
|
22
|
-
<symbol id="icon-previous2" viewBox="0 0 32 32">
|
|
23
|
-
<path d="M8 28v-24h4v11l10-10v22l-10-10v11z"></path>
|
|
24
|
-
</symbol>
|
|
25
|
-
<symbol id="icon-next2" viewBox="0 0 32 32">
|
|
26
|
-
<path d="M24 4v24h-4v-11l-10 10v-22l10 10v-11z"></path>
|
|
27
|
-
</symbol>
|
|
28
|
-
<symbol id="icon-sort-alpha-asc" viewBox="0 0 32 32">
|
|
29
|
-
<path d="M10 24v-24h-4v24h-5l7 7 7-7h-5z"></path>
|
|
30
|
-
<path d="M29 32h-8c-0.369 0-0.708-0.203-0.882-0.528s-0.155-0.72 0.050-1.027l6.963-10.445h-6.131c-0.552 0-1-0.448-1-1s0.448-1 1-1h8c0.369 0 0.708 0.203 0.882 0.528s0.155 0.72-0.050 1.027l-6.963 10.445h6.131c0.552 0 1 0.448 1 1s-0.448 1-1 1z"></path>
|
|
31
|
-
<path d="M31.894 12.553l-6-12c-0.169-0.339-0.516-0.553-0.894-0.553s-0.725 0.214-0.895 0.553l-6 12c-0.247 0.494-0.047 1.095 0.447 1.342 0.144 0.072 0.296 0.106 0.447 0.106 0.367 0 0.72-0.203 0.895-0.553l1.724-3.447h6.764l1.724 3.447c0.247 0.494 0.848 0.694 1.342 0.447s0.694-0.848 0.447-1.342zM22.618 8l2.382-4.764 2.382 4.764h-4.764z"></path>
|
|
32
|
-
</symbol>
|
|
33
|
-
<symbol id="icon-sort-alpha-desc" viewBox="0 0 32 32">
|
|
34
|
-
<path d="M10 24v-24h-4v24h-5l7 7 7-7h-5z"></path>
|
|
35
|
-
<path d="M29 14h-8c-0.369 0-0.708-0.203-0.882-0.528s-0.155-0.72 0.050-1.027l6.963-10.445h-6.131c-0.552 0-1-0.448-1-1s0.448-1 1-1h8c0.369 0 0.708 0.203 0.882 0.528s0.155 0.72-0.050 1.027l-6.963 10.445h6.131c0.552 0 1 0.448 1 1s-0.448 1-1 1z"></path>
|
|
36
|
-
<path d="M31.894 30.553l-6-12c-0.169-0.339-0.516-0.553-0.894-0.553s-0.725 0.214-0.895 0.553l-6 12c-0.247 0.494-0.047 1.095 0.447 1.342 0.144 0.072 0.296 0.106 0.447 0.106 0.367 0 0.72-0.203 0.895-0.553l1.724-3.447h6.764l1.724 3.447c0.247 0.494 0.848 0.694 1.342 0.447s0.694-0.848 0.447-1.342zM22.618 26l2.382-4.764 2.382 4.764h-4.764z"></path>
|
|
37
|
-
</symbol>
|
|
38
|
-
<symbol id="icon-filter" viewBox="0 0 32 32">
|
|
39
|
-
<path d="M16 0c-8.837 0-16 2.239-16 5v3l12 12v10c0 1.105 1.791 2 4 2s4-0.895 4-2v-10l12-12v-3c0-2.761-7.163-5-16-5zM2.95 4.338c0.748-0.427 1.799-0.832 3.040-1.171 2.748-0.752 6.303-1.167 10.011-1.167s7.262 0.414 10.011 1.167c1.241 0.34 2.292 0.745 3.040 1.171 0.494 0.281 0.76 0.519 0.884 0.662-0.124 0.142-0.391 0.38-0.884 0.662-0.748 0.427-1.8 0.832-3.040 1.171-2.748 0.752-6.303 1.167-10.011 1.167s-7.262-0.414-10.011-1.167c-1.24-0.34-2.292-0.745-3.040-1.171-0.494-0.282-0.76-0.519-0.884-0.662 0.124-0.142 0.391-0.38 0.884-0.662z"></path>
|
|
40
|
-
</symbol>
|
|
41
|
-
<symbol id="icon-file-excel" viewBox="0 0 32 32">
|
|
42
|
-
<path d="M23.22 12h-4.228l-2.992 4.407-2.992-4.407h-4.228l5.068 7.577-5.718 8.423h7.87v-2.862h-1.567l1.567-2.344 3.481 5.205h4.389l-5.718-8.423 5.068-7.577z"></path>
|
|
43
|
-
<path d="M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.121 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841v0zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268v0zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z"></path>
|
|
44
|
-
</symbol>
|
|
45
|
-
<symbol id="icon-pencil" viewBox="0 0 32 32">
|
|
46
|
-
<path d="M27.414 0.586c-0.781-0.781-2.048-0.781-2.828 0l-3.172 3.172 5.828 5.828 3.172-3.172c0.781-0.781 0.781-2.047 0-2.828l-3-3zM0 24v8h8l17.414-17.414-8-8-17.414 17.414zM6.828 28h-2.828v-2.828l12-12 2.828 2.828-12 12z"></path>
|
|
47
|
-
</symbol>
|
|
48
|
-
<symbol id="icon-ellipsis" viewBox="0 0 32 32">
|
|
49
|
-
<circle cx="4" cy="16" r="3.5"></circle>
|
|
50
|
-
<circle cx="16" cy="16" r="3.5"></circle>
|
|
51
|
-
<circle cx="28" cy="16" r="3.5"></circle>
|
|
52
|
-
</symbol>
|
|
53
|
-
</defs>
|
|
54
|
-
</svg>
|
|
55
|
-
|
package/dist/collection/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './types';
|