@cube-nl/dmp-sdk 1.0.0-rc.4 → 1.1.0-rc.2
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/README.md +372 -9
- package/dist/app.d.ts +41 -4
- package/dist/app.js +252 -14
- package/dist/browser.js +14 -1
- package/dist/client.d.ts +2 -0
- package/dist/client.js +5 -1
- package/dist/cube-sdk.js +186 -2
- package/dist/cube-ui.manifest.json +971 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +4 -0
- package/dist/preview.d.ts +11 -0
- package/dist/preview.js +60 -7
- package/dist/size.json +6 -0
- package/dist/trial.d.ts +32 -0
- package/dist/trial.js +55 -0
- package/dist/ui/aggregate-block.d.ts +73 -0
- package/dist/ui/aggregate-block.js +139 -0
- package/dist/ui/attributes.d.ts +5 -0
- package/dist/ui/attributes.js +72 -0
- package/dist/ui/author-error.d.ts +3 -0
- package/dist/ui/author-error.js +3 -0
- package/dist/ui/block.d.ts +69 -0
- package/dist/ui/block.js +238 -0
- package/dist/ui/blocks/app-shell.d.ts +4 -0
- package/dist/ui/blocks/app-shell.js +167 -0
- package/dist/ui/blocks/board.d.ts +8 -0
- package/dist/ui/blocks/board.js +333 -0
- package/dist/ui/blocks/calc.d.ts +9 -0
- package/dist/ui/blocks/calc.js +263 -0
- package/dist/ui/blocks/chart.d.ts +7 -0
- package/dist/ui/blocks/chart.js +166 -0
- package/dist/ui/blocks/detail.d.ts +8 -0
- package/dist/ui/blocks/detail.js +270 -0
- package/dist/ui/blocks/field.d.ts +8 -0
- package/dist/ui/blocks/field.js +16 -0
- package/dist/ui/blocks/form.d.ts +8 -0
- package/dist/ui/blocks/form.js +153 -0
- package/dist/ui/blocks/gap-list.d.ts +4 -0
- package/dist/ui/blocks/gap-list.js +36 -0
- package/dist/ui/blocks/kpi.d.ts +4 -0
- package/dist/ui/blocks/kpi.js +75 -0
- package/dist/ui/blocks/period-picker.d.ts +4 -0
- package/dist/ui/blocks/period-picker.js +155 -0
- package/dist/ui/blocks/state.d.ts +4 -0
- package/dist/ui/blocks/state.js +135 -0
- package/dist/ui/blocks/table.d.ts +8 -0
- package/dist/ui/blocks/table.js +666 -0
- package/dist/ui/blocks/top.d.ts +4 -0
- package/dist/ui/blocks/top.js +67 -0
- package/dist/ui/chart-svg.d.ts +28 -0
- package/dist/ui/chart-svg.js +111 -0
- package/dist/ui/csv.d.ts +9 -0
- package/dist/ui/csv.js +55 -0
- package/dist/ui/define.d.ts +24 -0
- package/dist/ui/define.js +107 -0
- package/dist/ui/dom.d.ts +12 -0
- package/dist/ui/dom.js +58 -0
- package/dist/ui/fields.d.ts +39 -0
- package/dist/ui/fields.js +73 -0
- package/dist/ui/format.d.ts +44 -0
- package/dist/ui/format.js +215 -0
- package/dist/ui/inputs.d.ts +35 -0
- package/dist/ui/inputs.js +161 -0
- package/dist/ui/manifest.d.ts +40 -0
- package/dist/ui/manifest.js +880 -0
- package/dist/ui/period.d.ts +18 -0
- package/dist/ui/period.js +52 -0
- package/dist/ui/query.d.ts +26 -0
- package/dist/ui/query.js +99 -0
- package/dist/ui/schema.d.ts +23 -0
- package/dist/ui/schema.js +21 -0
- package/dist/ui/styles.d.ts +8 -0
- package/dist/ui/styles.js +51 -0
- package/dist/ui/texts.d.ts +146 -0
- package/dist/ui/texts.js +138 -0
- package/dist/ui/theme.d.ts +58 -0
- package/dist/ui/theme.js +311 -0
- package/dist/ui/trial-banner.d.ts +25 -0
- package/dist/ui/trial-banner.js +180 -0
- package/dist/ui/write.d.ts +20 -0
- package/dist/ui/write.js +54 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/wireframe.d.ts +37 -0
- package/dist/wireframe.js +352 -0
- package/fonts/OFL-albert-sans.txt +93 -0
- package/fonts/OFL-ibm-plex-sans.txt +93 -0
- package/fonts/OFL-inter.txt +93 -0
- package/fonts/OFL-nunito-sans.txt +93 -0
- package/fonts/OFL-source-sans-3.txt +93 -0
- package/fonts/albert-sans.woff2 +0 -0
- package/fonts/ibm-plex-sans.woff2 +0 -0
- package/fonts/inter.woff2 +0 -0
- package/fonts/nunito-sans.woff2 +0 -0
- package/fonts/source-sans-3.woff2 +0 -0
- package/package.json +12 -4
|
@@ -0,0 +1,971 @@
|
|
|
1
|
+
{
|
|
2
|
+
"manifest": 1,
|
|
3
|
+
"package": "@cube-nl/dmp-sdk",
|
|
4
|
+
"version": "1.1.0-rc.2",
|
|
5
|
+
"file": "cube-sdk.js",
|
|
6
|
+
"blocks": {
|
|
7
|
+
"cube-state": {
|
|
8
|
+
"kind": "block",
|
|
9
|
+
"since": "1.1.0",
|
|
10
|
+
"summary": "A loading, empty, error, no-access or signed-out message. Every data block shows it itself; use it alone only for a custom section.",
|
|
11
|
+
"actions": [],
|
|
12
|
+
"attributes": {
|
|
13
|
+
"kind": {
|
|
14
|
+
"type": "enum",
|
|
15
|
+
"required": false,
|
|
16
|
+
"summary": "Which state to show.",
|
|
17
|
+
"values": [
|
|
18
|
+
"loading",
|
|
19
|
+
"empty",
|
|
20
|
+
"error",
|
|
21
|
+
"forbidden",
|
|
22
|
+
"signed-out"
|
|
23
|
+
],
|
|
24
|
+
"default": "loading"
|
|
25
|
+
},
|
|
26
|
+
"message": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"required": false,
|
|
29
|
+
"summary": "Text to show instead of the standard Dutch text for the kind.",
|
|
30
|
+
"example": "Nog geen bestellingen deze week."
|
|
31
|
+
},
|
|
32
|
+
"retry": {
|
|
33
|
+
"type": "boolean",
|
|
34
|
+
"required": false,
|
|
35
|
+
"summary": "error only: false leaves out \"Opnieuw proberen\", for an error that trying again cannot solve.",
|
|
36
|
+
"default": "true"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"events": {
|
|
40
|
+
"cube-retry": "The user pressed \"Opnieuw proberen\" in the error state; the enclosing block reloads."
|
|
41
|
+
},
|
|
42
|
+
"example": "<cube-state kind=\"empty\" message=\"Nog geen bestellingen deze week.\"></cube-state>"
|
|
43
|
+
},
|
|
44
|
+
"cube-app-shell": {
|
|
45
|
+
"kind": "block",
|
|
46
|
+
"since": "1.1.0",
|
|
47
|
+
"summary": "The frame of the app: a header with logo, app name and the signed-in user with sign-in/sign-out, and, with two or more cube-page children, a page navigation that follows the address (#/<name>). Put it once around everything on the page.",
|
|
48
|
+
"actions": [],
|
|
49
|
+
"attributes": {
|
|
50
|
+
"name": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"required": true,
|
|
53
|
+
"summary": "The app's name, shown as the page heading.",
|
|
54
|
+
"example": "Verkoop"
|
|
55
|
+
},
|
|
56
|
+
"logo": {
|
|
57
|
+
"type": "url",
|
|
58
|
+
"required": false,
|
|
59
|
+
"summary": "Address of the logo image. Default: the theme's logo; without one no logo is shown.",
|
|
60
|
+
"example": "cube-theme/logo.svg"
|
|
61
|
+
},
|
|
62
|
+
"logo-alt": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"required": false,
|
|
65
|
+
"summary": "Alternative text of the logo. Default: the name.",
|
|
66
|
+
"example": "Logo van Verkoop"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"children": [
|
|
70
|
+
"cube-page"
|
|
71
|
+
],
|
|
72
|
+
"events": {
|
|
73
|
+
"cube-session-change": "Dispatched on the document after the user signed in or out; every block loads again."
|
|
74
|
+
},
|
|
75
|
+
"example": "<cube-app-shell name=\"Verkoop\"><cube-page name=\"overzicht\" label=\"Overzicht\"><cube-state kind=\"empty\"></cube-state></cube-page><cube-page name=\"details\" label=\"Details\"><cube-state kind=\"empty\"></cube-state></cube-page></cube-app-shell>"
|
|
76
|
+
},
|
|
77
|
+
"cube-page": {
|
|
78
|
+
"kind": "config",
|
|
79
|
+
"since": "1.1.0",
|
|
80
|
+
"summary": "One page of a cube-app-shell. Holds that page's blocks; the shell shows only the active page and lists every page in its navigation.",
|
|
81
|
+
"actions": [],
|
|
82
|
+
"attributes": {
|
|
83
|
+
"name": {
|
|
84
|
+
"type": "id",
|
|
85
|
+
"required": true,
|
|
86
|
+
"summary": "Page id, used in the address as #/<name>. Lowercase letters, digits and hyphens.",
|
|
87
|
+
"example": "overzicht"
|
|
88
|
+
},
|
|
89
|
+
"label": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"required": true,
|
|
92
|
+
"summary": "The text of the page in the navigation.",
|
|
93
|
+
"example": "Overzicht"
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"example": "<cube-page name=\"overzicht\" label=\"Overzicht\"><cube-state kind=\"empty\"></cube-state></cube-page>"
|
|
97
|
+
},
|
|
98
|
+
"cube-field": {
|
|
99
|
+
"kind": "config",
|
|
100
|
+
"since": "1.1.0",
|
|
101
|
+
"summary": "How one field of a resource is shown and edited by the cube-table, cube-detail, cube-form or cube-board it is a direct child of: its label, format, choices, or that it is left out. Never rendered itself.",
|
|
102
|
+
"actions": [],
|
|
103
|
+
"attributes": {
|
|
104
|
+
"name": {
|
|
105
|
+
"type": "field",
|
|
106
|
+
"required": true,
|
|
107
|
+
"summary": "The field this configures.",
|
|
108
|
+
"example": "total"
|
|
109
|
+
},
|
|
110
|
+
"label": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"required": false,
|
|
113
|
+
"summary": "The column heading or label. Default: the field name made readable.",
|
|
114
|
+
"example": "Bedrag"
|
|
115
|
+
},
|
|
116
|
+
"format": {
|
|
117
|
+
"type": "enum",
|
|
118
|
+
"required": false,
|
|
119
|
+
"summary": "How values are written and edited. Default: from the field's type, else from its values (live resources describe no dates, so set date or datetime for a date field there).",
|
|
120
|
+
"values": [
|
|
121
|
+
"text",
|
|
122
|
+
"number",
|
|
123
|
+
"integer",
|
|
124
|
+
"currency",
|
|
125
|
+
"percent",
|
|
126
|
+
"date",
|
|
127
|
+
"datetime",
|
|
128
|
+
"boolean"
|
|
129
|
+
]
|
|
130
|
+
},
|
|
131
|
+
"multiline": {
|
|
132
|
+
"type": "boolean",
|
|
133
|
+
"required": false,
|
|
134
|
+
"summary": "Text only: edit in a multi-line text box."
|
|
135
|
+
},
|
|
136
|
+
"options": {
|
|
137
|
+
"type": "string",
|
|
138
|
+
"required": false,
|
|
139
|
+
"summary": "The choices, comma-separated: value=Label pairs, or bare values that are their own label. A value cannot contain a comma or \"=\"; a label cannot contain a comma. Edited with a list; also the choices of a filter.",
|
|
140
|
+
"example": "laag=Laag,hoog=Hoog"
|
|
141
|
+
},
|
|
142
|
+
"hidden": {
|
|
143
|
+
"type": "boolean",
|
|
144
|
+
"required": false,
|
|
145
|
+
"summary": "Leave this field out (a table column, a detail line, a form input)."
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"example": "<cube-field name=\"total\" label=\"Bedrag\" format=\"currency\"></cube-field>"
|
|
149
|
+
},
|
|
150
|
+
"cube-period-picker": {
|
|
151
|
+
"kind": "block",
|
|
152
|
+
"since": "1.1.0",
|
|
153
|
+
"summary": "A period choice (this month, last 12 months, this year, or two dates) that period-aware blocks follow through their period attribute. Place it once above the blocks it drives.",
|
|
154
|
+
"actions": [],
|
|
155
|
+
"attributes": {
|
|
156
|
+
"default": {
|
|
157
|
+
"type": "enum",
|
|
158
|
+
"required": false,
|
|
159
|
+
"summary": "The period shown until the user chooses another.",
|
|
160
|
+
"values": [
|
|
161
|
+
"this-month",
|
|
162
|
+
"12m",
|
|
163
|
+
"this-year",
|
|
164
|
+
"custom"
|
|
165
|
+
],
|
|
166
|
+
"default": "12m"
|
|
167
|
+
},
|
|
168
|
+
"label": {
|
|
169
|
+
"type": "string",
|
|
170
|
+
"required": false,
|
|
171
|
+
"summary": "The visible label of the choice.",
|
|
172
|
+
"default": "Periode",
|
|
173
|
+
"example": "Periode"
|
|
174
|
+
},
|
|
175
|
+
"today": {
|
|
176
|
+
"type": "date",
|
|
177
|
+
"required": false,
|
|
178
|
+
"summary": "The day the periods are counted from (YYYY-MM-DD), for a fixed report. Default: today.",
|
|
179
|
+
"example": "2026-10-19"
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
"events": {
|
|
183
|
+
"cube-change": "The period changed (the user, or a script setting default or today); detail is the Period (key, from, to, previous, today)."
|
|
184
|
+
},
|
|
185
|
+
"properties": {
|
|
186
|
+
"value": "The chosen Period: { key, from, to, previous: { from, to }, today }, ISO dates, both ends inclusive; today is the day it was counted from (data after it does not exist yet)."
|
|
187
|
+
},
|
|
188
|
+
"example": "<cube-period-picker default=\"this-month\"></cube-period-picker>"
|
|
189
|
+
},
|
|
190
|
+
"cube-kpi": {
|
|
191
|
+
"kind": "block",
|
|
192
|
+
"since": "1.1.0",
|
|
193
|
+
"summary": "One figure of a resource (a count, sum, average, minimum or maximum), optionally within the period of a cube-period-picker and compared with the period before it.",
|
|
194
|
+
"actions": [
|
|
195
|
+
"aggregate"
|
|
196
|
+
],
|
|
197
|
+
"attributes": {
|
|
198
|
+
"resource": {
|
|
199
|
+
"type": "resource",
|
|
200
|
+
"required": true,
|
|
201
|
+
"summary": "The resource to aggregate.",
|
|
202
|
+
"example": "orders",
|
|
203
|
+
"actions": [
|
|
204
|
+
"aggregate"
|
|
205
|
+
]
|
|
206
|
+
},
|
|
207
|
+
"measure": {
|
|
208
|
+
"type": "measure",
|
|
209
|
+
"required": true,
|
|
210
|
+
"summary": "count, or sum/avg/min/max of an aggregatable field.",
|
|
211
|
+
"example": "sum(total)"
|
|
212
|
+
},
|
|
213
|
+
"label": {
|
|
214
|
+
"type": "string",
|
|
215
|
+
"required": false,
|
|
216
|
+
"summary": "The text above the figure.",
|
|
217
|
+
"example": "Omzet"
|
|
218
|
+
},
|
|
219
|
+
"format": {
|
|
220
|
+
"type": "enum",
|
|
221
|
+
"required": false,
|
|
222
|
+
"summary": "How the figure is written. Default: integer for count, number otherwise.",
|
|
223
|
+
"values": [
|
|
224
|
+
"number",
|
|
225
|
+
"integer",
|
|
226
|
+
"currency",
|
|
227
|
+
"percent"
|
|
228
|
+
],
|
|
229
|
+
"default": "number"
|
|
230
|
+
},
|
|
231
|
+
"currency": {
|
|
232
|
+
"type": "string",
|
|
233
|
+
"required": false,
|
|
234
|
+
"summary": "ISO 4217 code for format currency.",
|
|
235
|
+
"default": "EUR",
|
|
236
|
+
"example": "EUR"
|
|
237
|
+
},
|
|
238
|
+
"filter": {
|
|
239
|
+
"type": "filter",
|
|
240
|
+
"required": false,
|
|
241
|
+
"summary": "JSON object of API filters applied before aggregating.",
|
|
242
|
+
"example": "{\"status\":\"betaald\"}"
|
|
243
|
+
},
|
|
244
|
+
"period": {
|
|
245
|
+
"type": "selector",
|
|
246
|
+
"required": false,
|
|
247
|
+
"summary": "CSS selector of the cube-period-picker to follow; needs date-field.",
|
|
248
|
+
"example": "cube-period-picker"
|
|
249
|
+
},
|
|
250
|
+
"date-field": {
|
|
251
|
+
"type": "field",
|
|
252
|
+
"required": false,
|
|
253
|
+
"summary": "The date field the period filters on. Required with period.",
|
|
254
|
+
"example": "placed_on"
|
|
255
|
+
},
|
|
256
|
+
"compare": {
|
|
257
|
+
"type": "boolean",
|
|
258
|
+
"required": false,
|
|
259
|
+
"summary": "Also show the change against the previous period (needs period)."
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
"example": "<cube-period-picker></cube-period-picker><cube-kpi resource=\"orders\" measure=\"sum(total)\" format=\"currency\" label=\"Omzet\" period=\"cube-period-picker\" date-field=\"placed_on\" compare></cube-kpi>"
|
|
263
|
+
},
|
|
264
|
+
"cube-chart": {
|
|
265
|
+
"kind": "block",
|
|
266
|
+
"since": "1.1.0",
|
|
267
|
+
"summary": "One measure as a line over time (by a truncated date) or as bars per category, optionally within the period of a cube-period-picker. Screen readers get the same figures as a table.",
|
|
268
|
+
"actions": [
|
|
269
|
+
"aggregate"
|
|
270
|
+
],
|
|
271
|
+
"attributes": {
|
|
272
|
+
"resource": {
|
|
273
|
+
"type": "resource",
|
|
274
|
+
"required": true,
|
|
275
|
+
"summary": "The resource to aggregate.",
|
|
276
|
+
"example": "orders",
|
|
277
|
+
"actions": [
|
|
278
|
+
"aggregate"
|
|
279
|
+
]
|
|
280
|
+
},
|
|
281
|
+
"measure": {
|
|
282
|
+
"type": "measure",
|
|
283
|
+
"required": true,
|
|
284
|
+
"summary": "count, or sum/avg/min/max of an aggregatable field.",
|
|
285
|
+
"example": "sum(total)"
|
|
286
|
+
},
|
|
287
|
+
"by": {
|
|
288
|
+
"type": "dimension",
|
|
289
|
+
"required": true,
|
|
290
|
+
"summary": "A groupable field, or a date field truncated to day/week/month/quarter/year. With a period, every bucket of the period is drawn (0 when it has no rows).",
|
|
291
|
+
"example": "placed_on.month"
|
|
292
|
+
},
|
|
293
|
+
"kind": {
|
|
294
|
+
"type": "enum",
|
|
295
|
+
"required": false,
|
|
296
|
+
"summary": "line or bar. Default: line for a truncated date, bar for a category.",
|
|
297
|
+
"values": [
|
|
298
|
+
"line",
|
|
299
|
+
"bar"
|
|
300
|
+
],
|
|
301
|
+
"default": "line"
|
|
302
|
+
},
|
|
303
|
+
"label": {
|
|
304
|
+
"type": "string",
|
|
305
|
+
"required": false,
|
|
306
|
+
"summary": "The title above the chart, also its accessible name.",
|
|
307
|
+
"example": "Omzet per maand"
|
|
308
|
+
},
|
|
309
|
+
"format": {
|
|
310
|
+
"type": "enum",
|
|
311
|
+
"required": false,
|
|
312
|
+
"summary": "How values are written. Default: integer for count, number otherwise.",
|
|
313
|
+
"values": [
|
|
314
|
+
"number",
|
|
315
|
+
"integer",
|
|
316
|
+
"currency",
|
|
317
|
+
"percent"
|
|
318
|
+
],
|
|
319
|
+
"default": "number"
|
|
320
|
+
},
|
|
321
|
+
"currency": {
|
|
322
|
+
"type": "string",
|
|
323
|
+
"required": false,
|
|
324
|
+
"summary": "ISO 4217 code for format currency.",
|
|
325
|
+
"default": "EUR",
|
|
326
|
+
"example": "EUR"
|
|
327
|
+
},
|
|
328
|
+
"filter": {
|
|
329
|
+
"type": "filter",
|
|
330
|
+
"required": false,
|
|
331
|
+
"summary": "JSON object of API filters applied before aggregating.",
|
|
332
|
+
"example": "{\"status\":\"betaald\"}"
|
|
333
|
+
},
|
|
334
|
+
"period": {
|
|
335
|
+
"type": "selector",
|
|
336
|
+
"required": false,
|
|
337
|
+
"summary": "CSS selector of the cube-period-picker to follow; filters on date-field or the by field.",
|
|
338
|
+
"example": "cube-period-picker"
|
|
339
|
+
},
|
|
340
|
+
"date-field": {
|
|
341
|
+
"type": "field",
|
|
342
|
+
"required": false,
|
|
343
|
+
"summary": "The date field the period filters on. Default: the field of a truncated by.",
|
|
344
|
+
"example": "placed_on"
|
|
345
|
+
},
|
|
346
|
+
"lookup": {
|
|
347
|
+
"type": "string",
|
|
348
|
+
"required": false,
|
|
349
|
+
"summary": "Category labels from another resource as <resource>.<field>, e.g. customers.name.",
|
|
350
|
+
"example": "customers.name",
|
|
351
|
+
"actions": [
|
|
352
|
+
"list"
|
|
353
|
+
]
|
|
354
|
+
},
|
|
355
|
+
"height": {
|
|
356
|
+
"type": "number",
|
|
357
|
+
"required": false,
|
|
358
|
+
"summary": "Height of the drawing in CSS pixels (at least 80); the width follows the space it gets.",
|
|
359
|
+
"default": "240"
|
|
360
|
+
},
|
|
361
|
+
"limit": {
|
|
362
|
+
"type": "number",
|
|
363
|
+
"required": false,
|
|
364
|
+
"summary": "Categories only: the highest this many values are shown.",
|
|
365
|
+
"default": "12"
|
|
366
|
+
}
|
|
367
|
+
},
|
|
368
|
+
"example": "<cube-period-picker></cube-period-picker><cube-chart resource=\"orders\" measure=\"sum(total)\" by=\"placed_on.month\" format=\"currency\" label=\"Omzet per maand\" period=\"cube-period-picker\"></cube-chart>"
|
|
369
|
+
},
|
|
370
|
+
"cube-top": {
|
|
371
|
+
"kind": "block",
|
|
372
|
+
"since": "1.1.0",
|
|
373
|
+
"summary": "A ranking of the groups of a resource by one measure (top customers, best sellers): name, figure and a bar per group. Sorted and cut in the browser, so at most the 1000 groups the DMP returns are ranked. Each item emits cube-select.",
|
|
374
|
+
"actions": [
|
|
375
|
+
"aggregate"
|
|
376
|
+
],
|
|
377
|
+
"attributes": {
|
|
378
|
+
"resource": {
|
|
379
|
+
"type": "resource",
|
|
380
|
+
"required": true,
|
|
381
|
+
"summary": "The resource to aggregate.",
|
|
382
|
+
"example": "orders",
|
|
383
|
+
"actions": [
|
|
384
|
+
"aggregate"
|
|
385
|
+
]
|
|
386
|
+
},
|
|
387
|
+
"measure": {
|
|
388
|
+
"type": "measure",
|
|
389
|
+
"required": true,
|
|
390
|
+
"summary": "count, or sum/avg/min/max of an aggregatable field.",
|
|
391
|
+
"example": "sum(total)"
|
|
392
|
+
},
|
|
393
|
+
"by": {
|
|
394
|
+
"type": "dimension",
|
|
395
|
+
"required": true,
|
|
396
|
+
"summary": "The groupable field to rank.",
|
|
397
|
+
"example": "customer_id"
|
|
398
|
+
},
|
|
399
|
+
"limit": {
|
|
400
|
+
"type": "number",
|
|
401
|
+
"required": false,
|
|
402
|
+
"summary": "How many items are shown.",
|
|
403
|
+
"default": "5"
|
|
404
|
+
},
|
|
405
|
+
"order": {
|
|
406
|
+
"type": "enum",
|
|
407
|
+
"required": false,
|
|
408
|
+
"summary": "desc: highest first; asc: lowest first.",
|
|
409
|
+
"values": [
|
|
410
|
+
"desc",
|
|
411
|
+
"asc"
|
|
412
|
+
],
|
|
413
|
+
"default": "desc"
|
|
414
|
+
},
|
|
415
|
+
"label": {
|
|
416
|
+
"type": "string",
|
|
417
|
+
"required": false,
|
|
418
|
+
"summary": "The title above the list, also its accessible name.",
|
|
419
|
+
"example": "Beste klanten"
|
|
420
|
+
},
|
|
421
|
+
"format": {
|
|
422
|
+
"type": "enum",
|
|
423
|
+
"required": false,
|
|
424
|
+
"summary": "How values are written. Default: integer for count, number otherwise.",
|
|
425
|
+
"values": [
|
|
426
|
+
"number",
|
|
427
|
+
"integer",
|
|
428
|
+
"currency",
|
|
429
|
+
"percent"
|
|
430
|
+
],
|
|
431
|
+
"default": "number"
|
|
432
|
+
},
|
|
433
|
+
"currency": {
|
|
434
|
+
"type": "string",
|
|
435
|
+
"required": false,
|
|
436
|
+
"summary": "ISO 4217 code for format currency.",
|
|
437
|
+
"default": "EUR",
|
|
438
|
+
"example": "EUR"
|
|
439
|
+
},
|
|
440
|
+
"filter": {
|
|
441
|
+
"type": "filter",
|
|
442
|
+
"required": false,
|
|
443
|
+
"summary": "JSON object of API filters applied before aggregating.",
|
|
444
|
+
"example": "{\"status\":\"betaald\"}"
|
|
445
|
+
},
|
|
446
|
+
"period": {
|
|
447
|
+
"type": "selector",
|
|
448
|
+
"required": false,
|
|
449
|
+
"summary": "CSS selector of the cube-period-picker to follow; needs date-field.",
|
|
450
|
+
"example": "cube-period-picker"
|
|
451
|
+
},
|
|
452
|
+
"date-field": {
|
|
453
|
+
"type": "field",
|
|
454
|
+
"required": false,
|
|
455
|
+
"summary": "The date field the period filters on. Required with period.",
|
|
456
|
+
"example": "placed_on"
|
|
457
|
+
},
|
|
458
|
+
"lookup": {
|
|
459
|
+
"type": "string",
|
|
460
|
+
"required": false,
|
|
461
|
+
"summary": "Names from another resource as <resource>.<field>, e.g. customers.name. An id without a match shows as #<id>.",
|
|
462
|
+
"example": "customers.name",
|
|
463
|
+
"actions": [
|
|
464
|
+
"list"
|
|
465
|
+
]
|
|
466
|
+
}
|
|
467
|
+
},
|
|
468
|
+
"events": {
|
|
469
|
+
"cube-select": "The user chose an item (click or Enter); detail is { by, key } with the group key as text."
|
|
470
|
+
},
|
|
471
|
+
"example": "<cube-top resource=\"orders\" measure=\"sum(total)\" by=\"customer_id\" lookup=\"customers.name\" format=\"currency\" label=\"Beste klanten\" limit=\"5\"></cube-top>"
|
|
472
|
+
},
|
|
473
|
+
"cube-table": {
|
|
474
|
+
"kind": "block",
|
|
475
|
+
"since": "1.1.0",
|
|
476
|
+
"summary": "The rows of a resource as a table, a page at a time: search, one filter per field, sortable column headers, paging and an optional CSV export. Columns, labels and formats come from cube-field children, else from the schema. Each row emits cube-select and can fill a cube-detail.",
|
|
477
|
+
"actions": [
|
|
478
|
+
"list"
|
|
479
|
+
],
|
|
480
|
+
"attributes": {
|
|
481
|
+
"resource": {
|
|
482
|
+
"type": "resource",
|
|
483
|
+
"required": true,
|
|
484
|
+
"summary": "The resource to list.",
|
|
485
|
+
"example": "orders",
|
|
486
|
+
"actions": [
|
|
487
|
+
"list"
|
|
488
|
+
]
|
|
489
|
+
},
|
|
490
|
+
"fields": {
|
|
491
|
+
"type": "fields",
|
|
492
|
+
"required": false,
|
|
493
|
+
"summary": "The columns, comma-separated, in order. Default: the resource's summary fields.",
|
|
494
|
+
"example": "reference,placed_on,total,status"
|
|
495
|
+
},
|
|
496
|
+
"search": {
|
|
497
|
+
"type": "field",
|
|
498
|
+
"required": false,
|
|
499
|
+
"summary": "Adds a search box (Zoeken) that finds rows whose value of this one field contains the text.",
|
|
500
|
+
"example": "reference"
|
|
501
|
+
},
|
|
502
|
+
"filters": {
|
|
503
|
+
"type": "fields",
|
|
504
|
+
"required": false,
|
|
505
|
+
"summary": "Filterable fields that get a control each: a list of choices for an enum or cube-field options, Alle/Ja/Nee for a boolean, a from and to date for a date, a from and up-to number for a number, else a text that the value contains.",
|
|
506
|
+
"example": "status,placed_on"
|
|
507
|
+
},
|
|
508
|
+
"sort": {
|
|
509
|
+
"type": "string",
|
|
510
|
+
"required": false,
|
|
511
|
+
"summary": "The order to start with: a sortable field, with - in front for descending.",
|
|
512
|
+
"example": "-placed_on"
|
|
513
|
+
},
|
|
514
|
+
"page-size": {
|
|
515
|
+
"type": "number",
|
|
516
|
+
"required": false,
|
|
517
|
+
"summary": "Rows per page, at most 200.",
|
|
518
|
+
"default": "25"
|
|
519
|
+
},
|
|
520
|
+
"export": {
|
|
521
|
+
"type": "boolean",
|
|
522
|
+
"required": false,
|
|
523
|
+
"summary": "Adds \"Exporteren (CSV)\": downloads the filtered rows (at most 10 000) as a CSV for a Dutch spreadsheet. Pressing it again while it runs cancels."
|
|
524
|
+
},
|
|
525
|
+
"detail": {
|
|
526
|
+
"type": "selector",
|
|
527
|
+
"required": false,
|
|
528
|
+
"summary": "CSS selector of a cube-detail whose record-id is set to the id of the chosen row.",
|
|
529
|
+
"example": "#bestelling"
|
|
530
|
+
},
|
|
531
|
+
"filter": {
|
|
532
|
+
"type": "filter",
|
|
533
|
+
"required": false,
|
|
534
|
+
"summary": "JSON object of API filters always applied.",
|
|
535
|
+
"example": "{\"status\":\"betaald\"}"
|
|
536
|
+
},
|
|
537
|
+
"period": {
|
|
538
|
+
"type": "selector",
|
|
539
|
+
"required": false,
|
|
540
|
+
"summary": "CSS selector of the cube-period-picker to follow; needs date-field.",
|
|
541
|
+
"example": "cube-period-picker"
|
|
542
|
+
},
|
|
543
|
+
"date-field": {
|
|
544
|
+
"type": "field",
|
|
545
|
+
"required": false,
|
|
546
|
+
"summary": "The date field the period filters on. Required with period.",
|
|
547
|
+
"example": "placed_on"
|
|
548
|
+
}
|
|
549
|
+
},
|
|
550
|
+
"children": [
|
|
551
|
+
"cube-field"
|
|
552
|
+
],
|
|
553
|
+
"events": {
|
|
554
|
+
"cube-select": "The user chose a row (click or Enter); detail is { resource, id, row } with the row as listed."
|
|
555
|
+
},
|
|
556
|
+
"example": "<cube-table resource=\"orders\" fields=\"reference,placed_on,total,status\" search=\"reference\" filters=\"status\" sort=\"-placed_on\" export><cube-field name=\"total\" label=\"Bedrag\" format=\"currency\"></cube-field><cube-field name=\"placed_on\" label=\"Datum\" format=\"date\"></cube-field></cube-table>"
|
|
557
|
+
},
|
|
558
|
+
"cube-detail": {
|
|
559
|
+
"kind": "block",
|
|
560
|
+
"since": "1.1.0",
|
|
561
|
+
"summary": "One row of a resource as a list of label and value, for the row a cube-table chose. With editable, \"Bewerken\" turns the writable fields into editors; \"Opslaan\" sends only what changed and only if nobody changed the row meanwhile, else it asks to load the newest version first.",
|
|
562
|
+
"actions": [
|
|
563
|
+
"get"
|
|
564
|
+
],
|
|
565
|
+
"attributes": {
|
|
566
|
+
"resource": {
|
|
567
|
+
"type": "resource",
|
|
568
|
+
"required": true,
|
|
569
|
+
"summary": "The resource the row belongs to.",
|
|
570
|
+
"example": "orders",
|
|
571
|
+
"actions": [
|
|
572
|
+
"get"
|
|
573
|
+
]
|
|
574
|
+
},
|
|
575
|
+
"record-id": {
|
|
576
|
+
"type": "id",
|
|
577
|
+
"required": false,
|
|
578
|
+
"summary": "The id of the row to show; a cube-table with detail sets it. Without it: \"Kies een rij\".",
|
|
579
|
+
"example": "4"
|
|
580
|
+
},
|
|
581
|
+
"fields": {
|
|
582
|
+
"type": "fields",
|
|
583
|
+
"required": false,
|
|
584
|
+
"summary": "The fields to show, comma-separated, in order. Default: the resource's summary fields.",
|
|
585
|
+
"example": "reference,placed_on,total,status"
|
|
586
|
+
},
|
|
587
|
+
"editable": {
|
|
588
|
+
"type": "boolean",
|
|
589
|
+
"required": false,
|
|
590
|
+
"summary": "Adds \"Bewerken\" when the resource allows update. Read-only fields are never editable and never sent.",
|
|
591
|
+
"actions": [
|
|
592
|
+
"update"
|
|
593
|
+
]
|
|
594
|
+
}
|
|
595
|
+
},
|
|
596
|
+
"children": [
|
|
597
|
+
"cube-field"
|
|
598
|
+
],
|
|
599
|
+
"events": {
|
|
600
|
+
"cube-saved": "A save succeeded; detail is { resource, id, row } with the row as the DMP returned it.",
|
|
601
|
+
"cube-data-change": "Sent after a save with detail { resource }: every block on that resource loads again."
|
|
602
|
+
},
|
|
603
|
+
"example": "<cube-table resource=\"orders\" detail=\"cube-detail\"></cube-table><cube-detail resource=\"orders\" editable><cube-field name=\"total\" label=\"Bedrag\" format=\"currency\"></cube-field></cube-detail>"
|
|
604
|
+
},
|
|
605
|
+
"cube-form": {
|
|
606
|
+
"kind": "block",
|
|
607
|
+
"since": "1.1.0",
|
|
608
|
+
"summary": "A form that adds one row to a resource: an editor per writable field, checked in the browser before it is sent. A double click or a retry after a lost connection never creates the row twice. Read-only fields are never shown and never sent.",
|
|
609
|
+
"actions": [
|
|
610
|
+
"create"
|
|
611
|
+
],
|
|
612
|
+
"attributes": {
|
|
613
|
+
"resource": {
|
|
614
|
+
"type": "resource",
|
|
615
|
+
"required": true,
|
|
616
|
+
"summary": "The resource a row is added to.",
|
|
617
|
+
"example": "orders",
|
|
618
|
+
"actions": [
|
|
619
|
+
"create"
|
|
620
|
+
]
|
|
621
|
+
},
|
|
622
|
+
"fields": {
|
|
623
|
+
"type": "fields",
|
|
624
|
+
"required": false,
|
|
625
|
+
"summary": "The fields to fill in, comma-separated, in order. Default: every writable field in schema order. Read-only fields and id are left out even when listed.",
|
|
626
|
+
"example": "reference,placed_on,total,status"
|
|
627
|
+
},
|
|
628
|
+
"submit-label": {
|
|
629
|
+
"type": "string",
|
|
630
|
+
"required": false,
|
|
631
|
+
"summary": "The text on the submit button.",
|
|
632
|
+
"default": "Opslaan"
|
|
633
|
+
},
|
|
634
|
+
"success-text": {
|
|
635
|
+
"type": "string",
|
|
636
|
+
"required": false,
|
|
637
|
+
"summary": "The confirmation shown after the row was added, with \"Nog een invullen\" to start over.",
|
|
638
|
+
"default": "Opgeslagen. Dank je wel!"
|
|
639
|
+
}
|
|
640
|
+
},
|
|
641
|
+
"children": [
|
|
642
|
+
"cube-field"
|
|
643
|
+
],
|
|
644
|
+
"events": {
|
|
645
|
+
"cube-created": "A row was added; detail is { resource, row } with the row as the DMP returned it.",
|
|
646
|
+
"cube-data-change": "Sent after a create with detail { resource }: every block on that resource loads again."
|
|
647
|
+
},
|
|
648
|
+
"example": "<cube-form resource=\"orders\" fields=\"reference,placed_on,total,status\"><cube-field name=\"total\" label=\"Bedrag\" format=\"currency\"></cube-field></cube-form>"
|
|
649
|
+
},
|
|
650
|
+
"cube-calc": {
|
|
651
|
+
"kind": "block",
|
|
652
|
+
"since": "1.1.0",
|
|
653
|
+
"summary": "A calculator that needs no data: an editor per cube-input and an output per cube-result, recalculated on every keystroke by the formula property, a JavaScript function the app sets. A formula that throws or gives NaN or Infinity shows \"—\" and one alert; the inputs keep working.",
|
|
654
|
+
"actions": [],
|
|
655
|
+
"attributes": {
|
|
656
|
+
"label": {
|
|
657
|
+
"type": "string",
|
|
658
|
+
"required": false,
|
|
659
|
+
"summary": "The title above the calculator, also the name of its form.",
|
|
660
|
+
"example": "Offerte"
|
|
661
|
+
}
|
|
662
|
+
},
|
|
663
|
+
"children": [
|
|
664
|
+
"cube-input",
|
|
665
|
+
"cube-result"
|
|
666
|
+
],
|
|
667
|
+
"properties": {
|
|
668
|
+
"formula": "(values) => results, a synchronous function: an async one is refused with an error. Set from a script, never as an attribute: a string is refused, nothing is evaluated. values has each cube-input by name: a number, a text, a boolean, or null when empty or invalid. Return an object by cube-result name, or one number or text when there is a single cube-result. null, undefined, NaN and Infinity show \"—\"; an object as the value of a number, integer, currency or percent result shows \"—\" like NaN. Names of cube-inputs, and of cube-results, must be unique.",
|
|
669
|
+
"values": "Read-only: the values the formula got last.",
|
|
670
|
+
"results": "Read-only: the results shown last, by cube-result name (null for \"—\")."
|
|
671
|
+
},
|
|
672
|
+
"events": {
|
|
673
|
+
"cube-change": "After a recalculation by typing, or by setting a new formula on a drawn calculator; not on the first draw, nor when a new formula draws a calculator that showed an error. Detail is { values, results }."
|
|
674
|
+
},
|
|
675
|
+
"example": "<cube-calc label=\"Offerte\"><cube-input name=\"uren\" label=\"Uren\" value=\"8\"></cube-input><cube-input name=\"tarief\" label=\"Uurtarief\" type=\"currency\" value=\"95\"></cube-input><cube-input name=\"btw\" label=\"Btw\" type=\"percent\" value=\"21\" min=\"0\" max=\"100\"></cube-input><cube-result name=\"totaal\" label=\"Totaal incl. btw\" format=\"currency\" emphasis></cube-result></cube-calc>"
|
|
676
|
+
},
|
|
677
|
+
"cube-input": {
|
|
678
|
+
"kind": "config",
|
|
679
|
+
"since": "1.1.0",
|
|
680
|
+
"summary": "One input of the cube-calc it is a direct child of. Numbers are typed the Dutch way (7,5). Never rendered itself.",
|
|
681
|
+
"actions": [],
|
|
682
|
+
"attributes": {
|
|
683
|
+
"name": {
|
|
684
|
+
"type": "id",
|
|
685
|
+
"required": true,
|
|
686
|
+
"summary": "The key of this value in the formula's values.",
|
|
687
|
+
"example": "uren"
|
|
688
|
+
},
|
|
689
|
+
"label": {
|
|
690
|
+
"type": "string",
|
|
691
|
+
"required": true,
|
|
692
|
+
"summary": "The label of the editor.",
|
|
693
|
+
"example": "Uren"
|
|
694
|
+
},
|
|
695
|
+
"type": {
|
|
696
|
+
"type": "enum",
|
|
697
|
+
"required": false,
|
|
698
|
+
"summary": "The editor and the value the formula gets: a number; a percentage typed as 21 and passed as 0.21; a text; a select of options (passes the option value); a checkbox (true or false).",
|
|
699
|
+
"values": [
|
|
700
|
+
"number",
|
|
701
|
+
"integer",
|
|
702
|
+
"currency",
|
|
703
|
+
"percent",
|
|
704
|
+
"text",
|
|
705
|
+
"select",
|
|
706
|
+
"checkbox"
|
|
707
|
+
],
|
|
708
|
+
"default": "number"
|
|
709
|
+
},
|
|
710
|
+
"value": {
|
|
711
|
+
"type": "string",
|
|
712
|
+
"required": false,
|
|
713
|
+
"summary": "The starting value, as a person would type it (a percentage as 21). Default: empty.",
|
|
714
|
+
"example": "8"
|
|
715
|
+
},
|
|
716
|
+
"min": {
|
|
717
|
+
"type": "number",
|
|
718
|
+
"required": false,
|
|
719
|
+
"summary": "The lowest allowed value (a percentage as typed: 0 to 100). Below it the editor says the range and the formula gets null.",
|
|
720
|
+
"example": "0"
|
|
721
|
+
},
|
|
722
|
+
"max": {
|
|
723
|
+
"type": "number",
|
|
724
|
+
"required": false,
|
|
725
|
+
"summary": "The highest allowed value, as min.",
|
|
726
|
+
"example": "100"
|
|
727
|
+
},
|
|
728
|
+
"step": {
|
|
729
|
+
"type": "number",
|
|
730
|
+
"required": false,
|
|
731
|
+
"summary": "The allowed steps, counted from min (else from 0); another value passes null.",
|
|
732
|
+
"example": "0.5"
|
|
733
|
+
},
|
|
734
|
+
"options": {
|
|
735
|
+
"type": "string",
|
|
736
|
+
"required": false,
|
|
737
|
+
"summary": "The choices of a select (required there), as on cube-field: value=Label pairs or bare values, comma-separated.",
|
|
738
|
+
"example": "klein=Klein,groot=Groot"
|
|
739
|
+
}
|
|
740
|
+
},
|
|
741
|
+
"example": "<cube-calc><cube-input name=\"uren\" label=\"Uren\" value=\"8\"></cube-input><cube-result name=\"uren_x2\" label=\"Dubbel\"></cube-result></cube-calc>"
|
|
742
|
+
},
|
|
743
|
+
"cube-result": {
|
|
744
|
+
"kind": "config",
|
|
745
|
+
"since": "1.1.0",
|
|
746
|
+
"summary": "One labelled output of the cube-calc it is a direct child of. Never rendered itself.",
|
|
747
|
+
"actions": [],
|
|
748
|
+
"attributes": {
|
|
749
|
+
"name": {
|
|
750
|
+
"type": "id",
|
|
751
|
+
"required": true,
|
|
752
|
+
"summary": "The key of this result in what the formula returns.",
|
|
753
|
+
"example": "totaal"
|
|
754
|
+
},
|
|
755
|
+
"label": {
|
|
756
|
+
"type": "string",
|
|
757
|
+
"required": true,
|
|
758
|
+
"summary": "The label of the output.",
|
|
759
|
+
"example": "Totaal"
|
|
760
|
+
},
|
|
761
|
+
"format": {
|
|
762
|
+
"type": "enum",
|
|
763
|
+
"required": false,
|
|
764
|
+
"summary": "How the result is written (nl-NL); a percent result is a fraction (0.21 is 21%).",
|
|
765
|
+
"values": [
|
|
766
|
+
"number",
|
|
767
|
+
"integer",
|
|
768
|
+
"currency",
|
|
769
|
+
"percent",
|
|
770
|
+
"text"
|
|
771
|
+
],
|
|
772
|
+
"default": "number"
|
|
773
|
+
},
|
|
774
|
+
"currency": {
|
|
775
|
+
"type": "string",
|
|
776
|
+
"required": false,
|
|
777
|
+
"summary": "ISO 4217 code for a currency result.",
|
|
778
|
+
"default": "EUR"
|
|
779
|
+
},
|
|
780
|
+
"emphasis": {
|
|
781
|
+
"type": "boolean",
|
|
782
|
+
"required": false,
|
|
783
|
+
"summary": "Shows this result as the large figure."
|
|
784
|
+
}
|
|
785
|
+
},
|
|
786
|
+
"example": "<cube-calc><cube-result name=\"totaal\" label=\"Totaal\" format=\"currency\" emphasis></cube-result></cube-calc>"
|
|
787
|
+
},
|
|
788
|
+
"cube-board": {
|
|
789
|
+
"kind": "block",
|
|
790
|
+
"since": "1.1.0",
|
|
791
|
+
"summary": "The rows of a resource as cards in a column per value of a status field, like a kanban board. Columns come from cube-column children, else from the enum of the status field (preview only: live, write cube-columns). A card moves by drag and drop or by a button per other column, named \"Verplaats naar …\": at once on screen, then saved; a refusal puts it back with an alert. Read-only without update or with a readonly status field: update is optional, a view-only board needs only list. Columns stack on a narrow screen.",
|
|
792
|
+
"actions": [
|
|
793
|
+
"list",
|
|
794
|
+
"update"
|
|
795
|
+
],
|
|
796
|
+
"attributes": {
|
|
797
|
+
"resource": {
|
|
798
|
+
"type": "resource",
|
|
799
|
+
"required": true,
|
|
800
|
+
"summary": "The resource whose rows are the cards.",
|
|
801
|
+
"example": "tasks",
|
|
802
|
+
"actions": [
|
|
803
|
+
"list",
|
|
804
|
+
"update"
|
|
805
|
+
]
|
|
806
|
+
},
|
|
807
|
+
"status-field": {
|
|
808
|
+
"type": "field",
|
|
809
|
+
"required": true,
|
|
810
|
+
"summary": "The field whose value is the column a card is in; a move updates only this field. It must be filterable on the resource: each column is a list filtered on it.",
|
|
811
|
+
"example": "status"
|
|
812
|
+
},
|
|
813
|
+
"title-field": {
|
|
814
|
+
"type": "field",
|
|
815
|
+
"required": true,
|
|
816
|
+
"summary": "The field shown as the title of a card.",
|
|
817
|
+
"example": "title"
|
|
818
|
+
},
|
|
819
|
+
"fields": {
|
|
820
|
+
"type": "fields",
|
|
821
|
+
"required": false,
|
|
822
|
+
"summary": "Extra lines on a card, comma-separated; labels and formats from cube-field children.",
|
|
823
|
+
"example": "owner,due_on"
|
|
824
|
+
},
|
|
825
|
+
"sort": {
|
|
826
|
+
"type": "string",
|
|
827
|
+
"required": false,
|
|
828
|
+
"summary": "The order of the cards in each column: a field that is sortable on the resource, with - in front for descending; a moved card takes its place in that order; without sort it goes on top.",
|
|
829
|
+
"example": "-due_on"
|
|
830
|
+
},
|
|
831
|
+
"filter": {
|
|
832
|
+
"type": "filter",
|
|
833
|
+
"required": false,
|
|
834
|
+
"summary": "JSON object of API filters applied to every column.",
|
|
835
|
+
"example": "{\"owner\":\"Anna\"}"
|
|
836
|
+
},
|
|
837
|
+
"page-size": {
|
|
838
|
+
"type": "number",
|
|
839
|
+
"required": false,
|
|
840
|
+
"summary": "Cards shown per column, at most 200; a column with more says \"en nog N\".",
|
|
841
|
+
"default": "50"
|
|
842
|
+
}
|
|
843
|
+
},
|
|
844
|
+
"children": [
|
|
845
|
+
"cube-column",
|
|
846
|
+
"cube-field"
|
|
847
|
+
],
|
|
848
|
+
"events": {
|
|
849
|
+
"cube-move": "A move was saved; detail is { resource, id, from, to } with the old and new status values. cube-data-change follows, so tables of the same resource reload."
|
|
850
|
+
},
|
|
851
|
+
"example": "<cube-board resource=\"tasks\" status-field=\"status\" title-field=\"title\" fields=\"owner\"><cube-column value=\"todo\" label=\"Te doen\"></cube-column><cube-column value=\"doing\" label=\"Bezig\"></cube-column><cube-column value=\"done\" label=\"Klaar\"></cube-column></cube-board>"
|
|
852
|
+
},
|
|
853
|
+
"cube-column": {
|
|
854
|
+
"kind": "config",
|
|
855
|
+
"since": "1.1.0",
|
|
856
|
+
"summary": "One column of the cube-board it is a direct child of, in order. Never rendered itself.",
|
|
857
|
+
"actions": [],
|
|
858
|
+
"attributes": {
|
|
859
|
+
"value": {
|
|
860
|
+
"type": "string",
|
|
861
|
+
"required": true,
|
|
862
|
+
"summary": "The value of the status field for the cards in this column.",
|
|
863
|
+
"example": "todo"
|
|
864
|
+
},
|
|
865
|
+
"label": {
|
|
866
|
+
"type": "string",
|
|
867
|
+
"required": false,
|
|
868
|
+
"summary": "The heading of the column. Default: the value made readable.",
|
|
869
|
+
"example": "Te doen"
|
|
870
|
+
}
|
|
871
|
+
},
|
|
872
|
+
"example": "<cube-board resource=\"tasks\" status-field=\"status\" title-field=\"title\"><cube-column value=\"todo\" label=\"Te doen\"></cube-column></cube-board>"
|
|
873
|
+
},
|
|
874
|
+
"cube-gap-list": {
|
|
875
|
+
"kind": "block",
|
|
876
|
+
"since": "1.1.0",
|
|
877
|
+
"summary": "Only for a wireframe (soort \"wireframe\" in cube-app.json): one card per thing the proposal shows that the DMP does not have yet, from ontbreekt in cube-app.json: the resource or resource.field as its heading, then the screen, the kind of data and why. Without gaps (or in any other app) it says that nothing is missing. In a wireframe every block that shows invented data is marked \"Voorbeeld — bestaat nog niet\" and every write is only simulated, marked \"Voorbeeld — wordt niet opgeslagen\"; this block is not marked itself.",
|
|
878
|
+
"actions": [],
|
|
879
|
+
"attributes": {
|
|
880
|
+
"scherm": {
|
|
881
|
+
"type": "string",
|
|
882
|
+
"required": false,
|
|
883
|
+
"summary": "Lists only the gaps of this screen (the scherm of the entries). Default: every gap.",
|
|
884
|
+
"example": "Klanten"
|
|
885
|
+
}
|
|
886
|
+
},
|
|
887
|
+
"example": "<cube-gap-list scherm=\"Klanten\"></cube-gap-list>"
|
|
888
|
+
}
|
|
889
|
+
},
|
|
890
|
+
"tokens": [
|
|
891
|
+
"color-primary",
|
|
892
|
+
"color-primary-hover",
|
|
893
|
+
"color-primary-subtle",
|
|
894
|
+
"color-primary-text",
|
|
895
|
+
"color-on-primary",
|
|
896
|
+
"color-accent",
|
|
897
|
+
"color-on-accent",
|
|
898
|
+
"color-text",
|
|
899
|
+
"color-text-muted",
|
|
900
|
+
"color-bg",
|
|
901
|
+
"color-surface",
|
|
902
|
+
"color-border",
|
|
903
|
+
"color-focus",
|
|
904
|
+
"color-danger",
|
|
905
|
+
"color-success",
|
|
906
|
+
"color-warning",
|
|
907
|
+
"color-example-bg",
|
|
908
|
+
"color-example-text",
|
|
909
|
+
"color-series-1",
|
|
910
|
+
"color-series-2",
|
|
911
|
+
"color-series-3",
|
|
912
|
+
"color-series-4",
|
|
913
|
+
"color-series-5",
|
|
914
|
+
"color-series-6",
|
|
915
|
+
"radius",
|
|
916
|
+
"radius-small",
|
|
917
|
+
"font-family"
|
|
918
|
+
],
|
|
919
|
+
"fonts": {
|
|
920
|
+
"inter": {
|
|
921
|
+
"family": "Inter",
|
|
922
|
+
"files": [
|
|
923
|
+
{
|
|
924
|
+
"file": "inter.woff2",
|
|
925
|
+
"weight": "100 900",
|
|
926
|
+
"style": "normal"
|
|
927
|
+
}
|
|
928
|
+
]
|
|
929
|
+
},
|
|
930
|
+
"albert-sans": {
|
|
931
|
+
"family": "Albert Sans",
|
|
932
|
+
"files": [
|
|
933
|
+
{
|
|
934
|
+
"file": "albert-sans.woff2",
|
|
935
|
+
"weight": "100 900",
|
|
936
|
+
"style": "normal"
|
|
937
|
+
}
|
|
938
|
+
]
|
|
939
|
+
},
|
|
940
|
+
"source-sans-3": {
|
|
941
|
+
"family": "Source Sans 3",
|
|
942
|
+
"files": [
|
|
943
|
+
{
|
|
944
|
+
"file": "source-sans-3.woff2",
|
|
945
|
+
"weight": "200 900",
|
|
946
|
+
"style": "normal"
|
|
947
|
+
}
|
|
948
|
+
]
|
|
949
|
+
},
|
|
950
|
+
"nunito-sans": {
|
|
951
|
+
"family": "Nunito Sans",
|
|
952
|
+
"files": [
|
|
953
|
+
{
|
|
954
|
+
"file": "nunito-sans.woff2",
|
|
955
|
+
"weight": "200 1000",
|
|
956
|
+
"style": "normal"
|
|
957
|
+
}
|
|
958
|
+
]
|
|
959
|
+
},
|
|
960
|
+
"ibm-plex-sans": {
|
|
961
|
+
"family": "IBM Plex Sans",
|
|
962
|
+
"files": [
|
|
963
|
+
{
|
|
964
|
+
"file": "ibm-plex-sans.woff2",
|
|
965
|
+
"weight": "100 700",
|
|
966
|
+
"style": "normal"
|
|
967
|
+
}
|
|
968
|
+
]
|
|
969
|
+
}
|
|
970
|
+
}
|
|
971
|
+
}
|