@simai-studio/view 0.0.0-stage → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +183 -0
- package/README.md +75 -2
- package/dist/package-receipt.json +972 -0
- package/dist/set.json +141 -0
- package/dist/smart/rule.js +278 -0
- package/dist/smart/rule.js.gz +0 -0
- package/dist/smart/view/aliases.json +129 -0
- package/dist/smart/view/aliases.json.gz +0 -0
- package/dist/smart/view/component.json +1628 -0
- package/dist/smart/view/component.json.gz +0 -0
- package/dist/smart/view/css/view.css +208 -0
- package/dist/smart/view/css/view.css.gz +0 -0
- package/dist/smart/view/css/view.min.css +2 -0
- package/dist/smart/view/css/view.min.css.gz +0 -0
- package/dist/smart/view/examples.json +668 -0
- package/dist/smart/view/examples.json.gz +0 -0
- package/dist/smart/view/js/view.js +3955 -0
- package/dist/smart/view/js/view.js.gz +0 -0
- package/dist/smart/view/js/view.min.js +1 -0
- package/dist/smart/view/js/view.min.js.gz +0 -0
- package/dist/smart/view/lang/en.json +61 -0
- package/dist/smart/view/lang/en.json.gz +0 -0
- package/dist/smart/view/lang/ru.json +61 -0
- package/dist/smart/view/lang/ru.json.gz +0 -0
- package/dist/smart/view/probe.json +165 -0
- package/dist/smart/view/probe.json.gz +0 -0
- package/dist/smart/view/smart.manifest.json +1577 -0
- package/dist/smart/view/smart.manifest.json.gz +0 -0
- package/dist/smart/view/static/default/embedded.html +96 -0
- package/dist/smart/view/static/default/embedded.html.gz +0 -0
- package/dist/smart/view/static/default/open-record.html +242 -0
- package/dist/smart/view/static/default/open-record.html.gz +0 -0
- package/dist/smart/view/static/default/reference.html +242 -0
- package/dist/smart/view/static/default/reference.html.gz +0 -0
- package/dist/smart/view/static/sheets.json +282 -0
- package/dist/smart/view/static/sheets.json.gz +0 -0
- package/dist/smart/view-properties/aliases.json +174 -0
- package/dist/smart/view-properties/aliases.json.gz +0 -0
- package/dist/smart/view-properties/component.json +1906 -0
- package/dist/smart/view-properties/component.json.gz +0 -0
- package/dist/smart/view-properties/css/view-properties.css +1158 -0
- package/dist/smart/view-properties/css/view-properties.css.gz +0 -0
- package/dist/smart/view-properties/css/view-properties.min.css +2 -0
- package/dist/smart/view-properties/css/view-properties.min.css.gz +0 -0
- package/dist/smart/view-properties/examples.json +841 -0
- package/dist/smart/view-properties/examples.json.gz +0 -0
- package/dist/smart/view-properties/js/view-properties.js +10551 -0
- package/dist/smart/view-properties/js/view-properties.js.gz +0 -0
- package/dist/smart/view-properties/js/view-properties.min.js +1392 -0
- package/dist/smart/view-properties/js/view-properties.min.js.gz +0 -0
- package/dist/smart/view-properties/lang/en.json +89 -0
- package/dist/smart/view-properties/lang/en.json.gz +0 -0
- package/dist/smart/view-properties/lang/ru.json +89 -0
- package/dist/smart/view-properties/lang/ru.json.gz +0 -0
- package/dist/smart/view-properties/probe.json +188 -0
- package/dist/smart/view-properties/probe.json.gz +0 -0
- package/dist/smart/view-properties/skeleton.html +13 -0
- package/dist/smart/view-properties/skeleton.html.gz +0 -0
- package/dist/smart/view-properties/smart.manifest.json +1593 -0
- package/dist/smart/view-properties/smart.manifest.json.gz +0 -0
- package/dist/smart/view-properties/static/default/full.html +2 -0
- package/dist/smart/view-properties/static/default/full.html.gz +0 -0
- package/dist/smart/view-properties/static/default/panel-closed.html +4 -0
- package/dist/smart/view-properties/static/default/panel-closed.html.gz +0 -0
- package/dist/smart/view-properties/static/default/panel.html +4 -0
- package/dist/smart/view-properties/static/default/panel.html.gz +0 -0
- package/dist/smart/view-properties/static/default/reference.html +2 -0
- package/dist/smart/view-properties/static/default/reference.html.gz +0 -0
- package/dist/smart/view-properties/static/sheets.json +426 -0
- package/dist/smart/view-properties/static/sheets.json.gz +0 -0
- package/dist/smart/view-properties/template/default.css +992 -0
- package/dist/smart/view-properties/template/default.css.gz +0 -0
- package/dist/smart/view-properties/template/default.js +1658 -0
- package/dist/smart/view-properties/template/default.js.gz +0 -0
- package/dist/smart/view-table/aliases.json +448 -0
- package/dist/smart/view-table/aliases.json.gz +0 -0
- package/dist/smart/view-table/component.json +2746 -0
- package/dist/smart/view-table/component.json.gz +0 -0
- package/dist/smart/view-table/css/view-table.css +3658 -0
- package/dist/smart/view-table/css/view-table.css.gz +0 -0
- package/dist/smart/view-table/css/view-table.min.css +2 -0
- package/dist/smart/view-table/css/view-table.min.css.gz +0 -0
- package/dist/smart/view-table/examples.json +499 -0
- package/dist/smart/view-table/examples.json.gz +0 -0
- package/dist/smart/view-table/js/view-table.js +14166 -0
- package/dist/smart/view-table/js/view-table.js.gz +0 -0
- package/dist/smart/view-table/js/view-table.min.js +1440 -0
- package/dist/smart/view-table/js/view-table.min.js.gz +0 -0
- package/dist/smart/view-table/lang/en.json +132 -0
- package/dist/smart/view-table/lang/en.json.gz +0 -0
- package/dist/smart/view-table/lang/ru.json +132 -0
- package/dist/smart/view-table/lang/ru.json.gz +0 -0
- package/dist/smart/view-table/probe.json +275 -0
- package/dist/smart/view-table/probe.json.gz +0 -0
- package/dist/smart/view-table/smart.manifest.json +2531 -0
- package/dist/smart/view-table/smart.manifest.json.gz +0 -0
- package/dist/smart/view-table/static/default/current.html +141 -0
- package/dist/smart/view-table/static/default/current.html.gz +0 -0
- package/dist/smart/view-table/static/default/current.skeleton.html +141 -0
- package/dist/smart/view-table/static/default/current.skeleton.html.gz +0 -0
- package/dist/smart/view-table/static/default/empty.html +149 -0
- package/dist/smart/view-table/static/default/empty.html.gz +0 -0
- package/dist/smart/view-table/static/default/loading.html +180 -0
- package/dist/smart/view-table/static/default/loading.html.gz +0 -0
- package/dist/smart/view-table/static/default/many.html +180 -0
- package/dist/smart/view-table/static/default/many.html.gz +0 -0
- package/dist/smart/view-table/static/default/reference.html +136 -0
- package/dist/smart/view-table/static/default/reference.html.gz +0 -0
- package/dist/smart/view-table/static/default/reference.skeleton.html +136 -0
- package/dist/smart/view-table/static/default/reference.skeleton.html.gz +0 -0
- package/dist/smart/view-table/static/default/typed-cells.html +229 -0
- package/dist/smart/view-table/static/default/typed-cells.html.gz +0 -0
- package/dist/smart/view-table/static/default/typed-cells.skeleton.html +229 -0
- package/dist/smart/view-table/static/default/typed-cells.skeleton.html.gz +0 -0
- package/dist/smart/view-table/static/sheets.json +480 -0
- package/dist/smart/view-table/static/sheets.json.gz +0 -0
- package/dist/smart/view-table/studio.fixture.json +17 -0
- package/dist/smart/view-table/studio.fixture.json.gz +0 -0
- package/dist/smart/view-table/studio.scenario.json +30 -0
- package/dist/smart/view-table/studio.scenario.json.gz +0 -0
- package/dist/smart/view-table/template/default.css +1301 -0
- package/dist/smart/view-table/template/default.css.gz +0 -0
- package/dist/smart/view-table/template/default.js +1215 -0
- package/dist/smart/view-table/template/default.js.gz +0 -0
- package/dist/smart/view-table/template/link-cell-contract.js +48 -0
- package/dist/smart/view-table/template/link-cell-contract.js.gz +0 -0
- package/package.json +29 -4
|
@@ -0,0 +1,2531 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 2,
|
|
3
|
+
"id": "smart.view-table",
|
|
4
|
+
"version": "1.15.0",
|
|
5
|
+
"title": "Table",
|
|
6
|
+
"summary": "Complete server-backed collection view with search, filters, table preferences, row and bulk actions, and pagination.",
|
|
7
|
+
"kind": "composite",
|
|
8
|
+
"reuse_mode": "whole",
|
|
9
|
+
"lifecycle": "experimental",
|
|
10
|
+
"tags": [
|
|
11
|
+
"admin",
|
|
12
|
+
"collection",
|
|
13
|
+
"data",
|
|
14
|
+
"filter",
|
|
15
|
+
"table"
|
|
16
|
+
],
|
|
17
|
+
"capabilities": [
|
|
18
|
+
"data-view",
|
|
19
|
+
"search",
|
|
20
|
+
"filtering",
|
|
21
|
+
"sorting",
|
|
22
|
+
"selection",
|
|
23
|
+
"preferences",
|
|
24
|
+
"pagination",
|
|
25
|
+
"responsive"
|
|
26
|
+
],
|
|
27
|
+
"custom_element": "sf-view-table",
|
|
28
|
+
"templates": [
|
|
29
|
+
"default"
|
|
30
|
+
],
|
|
31
|
+
"exported_parts": [],
|
|
32
|
+
"composition": {
|
|
33
|
+
"uses": [
|
|
34
|
+
"component.icons",
|
|
35
|
+
"smart.avatar",
|
|
36
|
+
"smart.badge",
|
|
37
|
+
"smart.button",
|
|
38
|
+
"smart.button-icon",
|
|
39
|
+
"smart.checkbox",
|
|
40
|
+
"smart.dropdown",
|
|
41
|
+
"smart.empty-state",
|
|
42
|
+
"smart.file-preview",
|
|
43
|
+
"smart.input",
|
|
44
|
+
"smart.input-color",
|
|
45
|
+
"smart.input-country",
|
|
46
|
+
"smart.input-date",
|
|
47
|
+
"smart.list-item",
|
|
48
|
+
"smart.menu-context",
|
|
49
|
+
"smart.modal",
|
|
50
|
+
"smart.pagination",
|
|
51
|
+
"smart.radio",
|
|
52
|
+
"smart.reference-link",
|
|
53
|
+
"smart.resizer",
|
|
54
|
+
"smart.slider-range",
|
|
55
|
+
"smart.sortable",
|
|
56
|
+
"smart.spinner",
|
|
57
|
+
"smart.tabs",
|
|
58
|
+
"smart.tag"
|
|
59
|
+
],
|
|
60
|
+
"public_parts": [],
|
|
61
|
+
"declarative": {
|
|
62
|
+
"standard": "simai.composition.document.v1",
|
|
63
|
+
"type": "smart.view-table",
|
|
64
|
+
"mode": "leaf",
|
|
65
|
+
"profiles": [
|
|
66
|
+
"ui-layout"
|
|
67
|
+
],
|
|
68
|
+
"props": [
|
|
69
|
+
"template",
|
|
70
|
+
"selectable",
|
|
71
|
+
"settings",
|
|
72
|
+
"actions",
|
|
73
|
+
"row-actions",
|
|
74
|
+
"creatable",
|
|
75
|
+
"filter-templates",
|
|
76
|
+
"settings-menu",
|
|
77
|
+
"pagin",
|
|
78
|
+
"filter-text",
|
|
79
|
+
"clear-text",
|
|
80
|
+
"search-placeholder",
|
|
81
|
+
"create-text",
|
|
82
|
+
"pagination-total",
|
|
83
|
+
"pagination-page-size",
|
|
84
|
+
"page-sizes",
|
|
85
|
+
"context-menu-columns",
|
|
86
|
+
"remember-widths",
|
|
87
|
+
"table-settings-key",
|
|
88
|
+
"data-state",
|
|
89
|
+
"loading-text",
|
|
90
|
+
"empty-text",
|
|
91
|
+
"empty-description",
|
|
92
|
+
"error-text",
|
|
93
|
+
"retry-text",
|
|
94
|
+
"toolbar",
|
|
95
|
+
"pin-column-label",
|
|
96
|
+
"unpin-column-label",
|
|
97
|
+
"column-move-label",
|
|
98
|
+
"column-search-placeholder",
|
|
99
|
+
"column-search-empty-text",
|
|
100
|
+
"vertical-scroll",
|
|
101
|
+
"filter-apply-text",
|
|
102
|
+
"layout",
|
|
103
|
+
"list-below",
|
|
104
|
+
"list-fields",
|
|
105
|
+
"size",
|
|
106
|
+
"preferences-key",
|
|
107
|
+
"row-actions-visible",
|
|
108
|
+
"drag-rows",
|
|
109
|
+
"row-reorder",
|
|
110
|
+
"inline-edit",
|
|
111
|
+
"current",
|
|
112
|
+
"aria-label"
|
|
113
|
+
],
|
|
114
|
+
"data": {
|
|
115
|
+
"columns": {
|
|
116
|
+
"contract": "columns"
|
|
117
|
+
},
|
|
118
|
+
"rows": {
|
|
119
|
+
"contract": "rows"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"events": [
|
|
123
|
+
"sf-view-table-select",
|
|
124
|
+
"sf-view-table-apply",
|
|
125
|
+
"sf-view-table-save",
|
|
126
|
+
"sf-view-table-column-settings-reset",
|
|
127
|
+
"sf-view-table-create",
|
|
128
|
+
"sf-view-table-filter-change",
|
|
129
|
+
"sf-view-table-query",
|
|
130
|
+
"sf-view-table-refresh",
|
|
131
|
+
"sf-view-table-search-change",
|
|
132
|
+
"sf-view-table-sort-change",
|
|
133
|
+
"sf-view-table-template-delete",
|
|
134
|
+
"sf-view-table-template-save",
|
|
135
|
+
"sf-view-table-template-select",
|
|
136
|
+
"sf-view-table-toolbar-action",
|
|
137
|
+
"sf-view-table-reference-open",
|
|
138
|
+
"sf-view-table-expand",
|
|
139
|
+
"sf-view-table-load-more",
|
|
140
|
+
"sf-view-table-rows-drag",
|
|
141
|
+
"sf-view-table-move",
|
|
142
|
+
"sf-view-table-cell-set",
|
|
143
|
+
"sf-view-table-view-change",
|
|
144
|
+
"sf-view-table-window"
|
|
145
|
+
],
|
|
146
|
+
"persistence": {
|
|
147
|
+
"settings_key_prop": "table-settings-key",
|
|
148
|
+
"revision_prop": null
|
|
149
|
+
},
|
|
150
|
+
"presentation": {
|
|
151
|
+
"views": [
|
|
152
|
+
"default"
|
|
153
|
+
],
|
|
154
|
+
"presets": [],
|
|
155
|
+
"modifiers": []
|
|
156
|
+
},
|
|
157
|
+
"slots": {},
|
|
158
|
+
"renderer": {
|
|
159
|
+
"kind": "custom-element",
|
|
160
|
+
"name": "sf-view-table"
|
|
161
|
+
},
|
|
162
|
+
"assets": [
|
|
163
|
+
"smart/view-table"
|
|
164
|
+
],
|
|
165
|
+
"host_port": {
|
|
166
|
+
"port": "simai.dataview-port",
|
|
167
|
+
"version": "1.0.0",
|
|
168
|
+
"path": "src/core/contracts/ports/simai.dataview-port/1.0.0/port.json",
|
|
169
|
+
"sha256": "208db0e9709639c46f25830cac255f35d7d8c50ea4dfb1c578adc0055798c46e",
|
|
170
|
+
"supported_versions": [
|
|
171
|
+
"1.0.0"
|
|
172
|
+
]
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
"inputs": {
|
|
177
|
+
"type": "object",
|
|
178
|
+
"required": [
|
|
179
|
+
"aria-label",
|
|
180
|
+
"table-settings-key"
|
|
181
|
+
],
|
|
182
|
+
"properties": {
|
|
183
|
+
"template": {
|
|
184
|
+
"type": "string",
|
|
185
|
+
"default": "default",
|
|
186
|
+
"description": "Template variant name for SfBaseElement external templates.",
|
|
187
|
+
"const": "default"
|
|
188
|
+
},
|
|
189
|
+
"root-class": {
|
|
190
|
+
"type": "string",
|
|
191
|
+
"default": "",
|
|
192
|
+
"description": "Classes added to the root element the component draws."
|
|
193
|
+
},
|
|
194
|
+
"root-style": {
|
|
195
|
+
"type": "string",
|
|
196
|
+
"default": "",
|
|
197
|
+
"description": "Inline style declarations set on the root element the component draws, custom properties included."
|
|
198
|
+
},
|
|
199
|
+
"selectable": {
|
|
200
|
+
"type": "boolean",
|
|
201
|
+
"default": true
|
|
202
|
+
},
|
|
203
|
+
"settings": {
|
|
204
|
+
"type": "boolean",
|
|
205
|
+
"default": true
|
|
206
|
+
},
|
|
207
|
+
"actions": {
|
|
208
|
+
"type": "boolean",
|
|
209
|
+
"default": true
|
|
210
|
+
},
|
|
211
|
+
"row-actions": {
|
|
212
|
+
"type": "boolean",
|
|
213
|
+
"default": true
|
|
214
|
+
},
|
|
215
|
+
"creatable": {
|
|
216
|
+
"type": "boolean",
|
|
217
|
+
"default": true,
|
|
218
|
+
"description": "The create button and its menu of kinds, inside actions. A data view turns it off for a host on port 1.10.0 that does not announce create-record."
|
|
219
|
+
},
|
|
220
|
+
"filter-templates": {
|
|
221
|
+
"type": "boolean",
|
|
222
|
+
"default": true,
|
|
223
|
+
"description": "The button that saves the filter as a template. A data view turns it off when the host keeps no saved views."
|
|
224
|
+
},
|
|
225
|
+
"settings-menu": {
|
|
226
|
+
"type": "boolean",
|
|
227
|
+
"default": true,
|
|
228
|
+
"description": "The gear in the head of the settings column, which opens the column settings. Off, the column still carries each row's menu. A data view turns it off for a host on port 1.10.0 that does not announce personal-column-settings."
|
|
229
|
+
},
|
|
230
|
+
"pagin": {
|
|
231
|
+
"type": "boolean",
|
|
232
|
+
"default": false
|
|
233
|
+
},
|
|
234
|
+
"filter-text": {
|
|
235
|
+
"type": "string"
|
|
236
|
+
},
|
|
237
|
+
"clear-text": {
|
|
238
|
+
"type": "string"
|
|
239
|
+
},
|
|
240
|
+
"search-placeholder": {
|
|
241
|
+
"type": "string"
|
|
242
|
+
},
|
|
243
|
+
"create-text": {
|
|
244
|
+
"type": "string"
|
|
245
|
+
},
|
|
246
|
+
"pagination-total": {
|
|
247
|
+
"type": "integer",
|
|
248
|
+
"default": 10,
|
|
249
|
+
"minimum": 0
|
|
250
|
+
},
|
|
251
|
+
"pagination-page-size": {
|
|
252
|
+
"type": "integer",
|
|
253
|
+
"default": 10,
|
|
254
|
+
"minimum": 1,
|
|
255
|
+
"maximum": 100
|
|
256
|
+
},
|
|
257
|
+
"page-sizes": {
|
|
258
|
+
"type": "string",
|
|
259
|
+
"default": "10,20,30,40"
|
|
260
|
+
},
|
|
261
|
+
"context-menu-columns": {
|
|
262
|
+
"type": "integer",
|
|
263
|
+
"default": 1,
|
|
264
|
+
"description": "How many columns the settings menu splits its items into. One until a host asks for more: the read was bare for the whole life of this input, so neither its declared default nor a value a host passed ever reached the menu.",
|
|
265
|
+
"minimum": 1,
|
|
266
|
+
"maximum": 4
|
|
267
|
+
},
|
|
268
|
+
"remember-widths": {
|
|
269
|
+
"type": "boolean",
|
|
270
|
+
"default": false,
|
|
271
|
+
"description": "Remember the column widths as a view preference (SF.Preferences, under preferences-key or table-settings-key) for a table no host keeps settings for; a double click on a column's edge forgets that column's width."
|
|
272
|
+
},
|
|
273
|
+
"table-settings-key": {
|
|
274
|
+
"type": "string",
|
|
275
|
+
"default": "",
|
|
276
|
+
"description": "Which stored settings this table uses. Empty means the element's own id, and then its instance id, so each table on a page keeps its own. A real default here would make every table share one key and overwrite the others.",
|
|
277
|
+
"minLength": 1
|
|
278
|
+
},
|
|
279
|
+
"data-state": {
|
|
280
|
+
"type": "string",
|
|
281
|
+
"default": "auto",
|
|
282
|
+
"enum": [
|
|
283
|
+
"auto",
|
|
284
|
+
"loading",
|
|
285
|
+
"ready",
|
|
286
|
+
"populated",
|
|
287
|
+
"empty",
|
|
288
|
+
"error"
|
|
289
|
+
]
|
|
290
|
+
},
|
|
291
|
+
"loading-text": {
|
|
292
|
+
"type": "string"
|
|
293
|
+
},
|
|
294
|
+
"empty-text": {
|
|
295
|
+
"type": "string"
|
|
296
|
+
},
|
|
297
|
+
"empty-description": {
|
|
298
|
+
"type": "string",
|
|
299
|
+
"default": ""
|
|
300
|
+
},
|
|
301
|
+
"error-text": {
|
|
302
|
+
"type": "string"
|
|
303
|
+
},
|
|
304
|
+
"retry-text": {
|
|
305
|
+
"type": "string"
|
|
306
|
+
},
|
|
307
|
+
"toolbar": {
|
|
308
|
+
"type": "boolean",
|
|
309
|
+
"default": true,
|
|
310
|
+
"description": "Show the built-in toolbar; a composite can provide its own toolbar slot."
|
|
311
|
+
},
|
|
312
|
+
"pin-column-label": {
|
|
313
|
+
"type": "string",
|
|
314
|
+
"description": "Accessible name and tooltip of the control that pins a column."
|
|
315
|
+
},
|
|
316
|
+
"unpin-column-label": {
|
|
317
|
+
"type": "string",
|
|
318
|
+
"description": "Accessible name and tooltip of the control that unpins a column."
|
|
319
|
+
},
|
|
320
|
+
"column-move-label": {
|
|
321
|
+
"type": "string",
|
|
322
|
+
"description": "Accessible name of the handle that moves a column in the settings list; the column label is appended to it."
|
|
323
|
+
},
|
|
324
|
+
"column-search-placeholder": {
|
|
325
|
+
"type": "string",
|
|
326
|
+
"description": "Placeholder and accessible name of the search field above the column settings list."
|
|
327
|
+
},
|
|
328
|
+
"column-search-empty-text": {
|
|
329
|
+
"type": "string",
|
|
330
|
+
"description": "Shown in place of the column settings list when the search matches no field."
|
|
331
|
+
},
|
|
332
|
+
"vertical-scroll": {
|
|
333
|
+
"type": "string",
|
|
334
|
+
"default": "self",
|
|
335
|
+
"description": "Whether the table scrolls within itself or lets the page scroll. Declared as a string with two values; the manifest previously said boolean true, which was wrong in both the type and the default.",
|
|
336
|
+
"enum": [
|
|
337
|
+
"self",
|
|
338
|
+
"page"
|
|
339
|
+
]
|
|
340
|
+
},
|
|
341
|
+
"filter-apply-text": {
|
|
342
|
+
"type": "string",
|
|
343
|
+
"description": "Label of the filter window’s commit button; the number of conditions a press would change is appended to it while a draft is pending."
|
|
344
|
+
},
|
|
345
|
+
"layout": {
|
|
346
|
+
"type": "string",
|
|
347
|
+
"default": "table",
|
|
348
|
+
"description": "How the records are drawn: a table, a compact list of records, or auto -- a table while the table's container is at least list-below pixels wide, the list below that. sf-view asks for auto on a page's list.",
|
|
349
|
+
"enum": [
|
|
350
|
+
"auto",
|
|
351
|
+
"table",
|
|
352
|
+
"list"
|
|
353
|
+
]
|
|
354
|
+
},
|
|
355
|
+
"list-below": {
|
|
356
|
+
"type": "number",
|
|
357
|
+
"default": 600,
|
|
358
|
+
"description": "The container width, in pixels, below which layout auto draws the compact list."
|
|
359
|
+
},
|
|
360
|
+
"list-fields": {
|
|
361
|
+
"type": "number",
|
|
362
|
+
"default": 3,
|
|
363
|
+
"description": "How many fields a record shows under its title in the compact list, chosen by the columns' priority."
|
|
364
|
+
},
|
|
365
|
+
"size": {
|
|
366
|
+
"type": "string",
|
|
367
|
+
"default": "1",
|
|
368
|
+
"description": "The step of the size ladder the table's controls and rows take: 1, or the dense 1/2 -- 32px controls, 14/20 text, rows of the step's height. A size of 1 written on an element the table draws becomes the table's.",
|
|
369
|
+
"enum": [
|
|
370
|
+
"1/2",
|
|
371
|
+
"1"
|
|
372
|
+
]
|
|
373
|
+
},
|
|
374
|
+
"preferences-key": {
|
|
375
|
+
"type": "string",
|
|
376
|
+
"default": "",
|
|
377
|
+
"description": "The key this table's arrangement -- order, visibility, pinning, widths -- is kept under as a view preference (SF.Preferences, sf-table/<key>); a data view passes its own. Without it table-settings-key is used, and without either nothing is kept."
|
|
378
|
+
},
|
|
379
|
+
"row-actions-visible": {
|
|
380
|
+
"type": "string",
|
|
381
|
+
"default": "hover",
|
|
382
|
+
"description": "Where a row's action buttons are drawn: in the row under the pointer, with the focus or current (hover, the default), or in every row (always).",
|
|
383
|
+
"enum": [
|
|
384
|
+
"hover",
|
|
385
|
+
"always"
|
|
386
|
+
]
|
|
387
|
+
},
|
|
388
|
+
"drag-rows": {
|
|
389
|
+
"type": "boolean",
|
|
390
|
+
"default": false,
|
|
391
|
+
"description": "Rows may be dragged out of the list as records (application/x-sf-records+json): the row's record, or every selected record when it is one of them."
|
|
392
|
+
},
|
|
393
|
+
"row-reorder": {
|
|
394
|
+
"type": "boolean",
|
|
395
|
+
"default": false,
|
|
396
|
+
"description": "Rows can be put in another order by dragging them inside the list; a drop emits sf-table-rows-reorder {ids, before, order}. A data view sets it when the host offers row-reorder."
|
|
397
|
+
},
|
|
398
|
+
"inline-edit": {
|
|
399
|
+
"type": "boolean",
|
|
400
|
+
"default": false,
|
|
401
|
+
"description": "A boolean cell the record names in `editable` is a checkbox; pressing it emits sf-table-cell-set {id, key, value, revision} and the cell waits for the host. A data view sets it when the host offers inline-edit."
|
|
402
|
+
},
|
|
403
|
+
"current": {
|
|
404
|
+
"type": "string",
|
|
405
|
+
"default": "",
|
|
406
|
+
"description": "The id of the row the page has open: that row carries aria-current and data-current. Writing it marks the row; it does not focus it and sends no event (component.json settings.current)."
|
|
407
|
+
},
|
|
408
|
+
"aria-label": {
|
|
409
|
+
"type": "string",
|
|
410
|
+
"default": "Data table",
|
|
411
|
+
"description": "The table's accessible name. Read it from the props context and never from the element: `aria-label` is reflected by the platform, so element.ariaLabel returns null with no attribute set and shadows what the component resolves. Whether an English default belongs in a family whose other fourteen text inputs default to Russian is the owner's open question about the Framework's default language.",
|
|
412
|
+
"minLength": 1
|
|
413
|
+
},
|
|
414
|
+
"active-filter-fields": {
|
|
415
|
+
"type": "array",
|
|
416
|
+
"items": {
|
|
417
|
+
"type": "object"
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
"bulk-actions": {
|
|
421
|
+
"type": "array"
|
|
422
|
+
},
|
|
423
|
+
"columns": {
|
|
424
|
+
"type": "array"
|
|
425
|
+
},
|
|
426
|
+
"create-items": {
|
|
427
|
+
"type": "array"
|
|
428
|
+
},
|
|
429
|
+
"filter-fields": {
|
|
430
|
+
"type": "array"
|
|
431
|
+
},
|
|
432
|
+
"rows": {
|
|
433
|
+
"type": "array",
|
|
434
|
+
"items": {
|
|
435
|
+
"type": "object"
|
|
436
|
+
}
|
|
437
|
+
},
|
|
438
|
+
"table-data": {
|
|
439
|
+
"type": "object"
|
|
440
|
+
},
|
|
441
|
+
"table-settings": {
|
|
442
|
+
"type": "object"
|
|
443
|
+
},
|
|
444
|
+
"templates": {
|
|
445
|
+
"type": "array"
|
|
446
|
+
},
|
|
447
|
+
"toolbar-actions": {
|
|
448
|
+
"type": "array"
|
|
449
|
+
},
|
|
450
|
+
"sort": {
|
|
451
|
+
"type": "array"
|
|
452
|
+
},
|
|
453
|
+
"selection": {
|
|
454
|
+
"type": "array",
|
|
455
|
+
"default": [],
|
|
456
|
+
"description": "the marked rows' ids, in row order"
|
|
457
|
+
}
|
|
458
|
+
},
|
|
459
|
+
"additionalProperties": false
|
|
460
|
+
},
|
|
461
|
+
"item_contract": {
|
|
462
|
+
"stable_id_attribute": "row.id",
|
|
463
|
+
"package_owned": [
|
|
464
|
+
"columns[].key",
|
|
465
|
+
"columns[].label",
|
|
466
|
+
"filter_fields[].key",
|
|
467
|
+
"filter_fields[].operators",
|
|
468
|
+
"actions[].id"
|
|
469
|
+
],
|
|
470
|
+
"preference_fields": [
|
|
471
|
+
"column_settings.*.order",
|
|
472
|
+
"column_settings.*.width",
|
|
473
|
+
"column_settings.*.visible",
|
|
474
|
+
"column_settings.*.pinned",
|
|
475
|
+
"query.page_size"
|
|
476
|
+
],
|
|
477
|
+
"supports": [
|
|
478
|
+
"structured-cells",
|
|
479
|
+
"row-selection",
|
|
480
|
+
"bulk-selection",
|
|
481
|
+
"column-resize",
|
|
482
|
+
"column-reorder",
|
|
483
|
+
"column-visibility",
|
|
484
|
+
"filter-templates",
|
|
485
|
+
"row-actions"
|
|
486
|
+
]
|
|
487
|
+
},
|
|
488
|
+
"contracts": {
|
|
489
|
+
"query_intent": {
|
|
490
|
+
"type": "object",
|
|
491
|
+
"required": [
|
|
492
|
+
"search",
|
|
493
|
+
"filters",
|
|
494
|
+
"sort",
|
|
495
|
+
"page",
|
|
496
|
+
"page_size"
|
|
497
|
+
],
|
|
498
|
+
"properties": {
|
|
499
|
+
"search": {
|
|
500
|
+
"type": "string"
|
|
501
|
+
},
|
|
502
|
+
"filters": {
|
|
503
|
+
"type": "object"
|
|
504
|
+
},
|
|
505
|
+
"sort": {
|
|
506
|
+
"type": "array"
|
|
507
|
+
},
|
|
508
|
+
"page": {
|
|
509
|
+
"type": "integer",
|
|
510
|
+
"minimum": 1
|
|
511
|
+
},
|
|
512
|
+
"page_size": {
|
|
513
|
+
"type": "integer",
|
|
514
|
+
"minimum": 1,
|
|
515
|
+
"maximum": 100
|
|
516
|
+
}
|
|
517
|
+
},
|
|
518
|
+
"additionalProperties": false
|
|
519
|
+
},
|
|
520
|
+
"column_settings": {
|
|
521
|
+
"type": "object",
|
|
522
|
+
"additionalProperties": {
|
|
523
|
+
"type": "object",
|
|
524
|
+
"properties": {
|
|
525
|
+
"order": {
|
|
526
|
+
"type": "number"
|
|
527
|
+
},
|
|
528
|
+
"width": {
|
|
529
|
+
"type": "string"
|
|
530
|
+
},
|
|
531
|
+
"visible": {
|
|
532
|
+
"type": "boolean"
|
|
533
|
+
},
|
|
534
|
+
"pinned": {
|
|
535
|
+
"type": "boolean"
|
|
536
|
+
}
|
|
537
|
+
},
|
|
538
|
+
"additionalProperties": false
|
|
539
|
+
}
|
|
540
|
+
},
|
|
541
|
+
"action_intent": {
|
|
542
|
+
"type": "object",
|
|
543
|
+
"required": [
|
|
544
|
+
"action_id",
|
|
545
|
+
"record_ids"
|
|
546
|
+
],
|
|
547
|
+
"properties": {
|
|
548
|
+
"action_id": {
|
|
549
|
+
"type": "string",
|
|
550
|
+
"minLength": 1
|
|
551
|
+
},
|
|
552
|
+
"record_ids": {
|
|
553
|
+
"type": "array",
|
|
554
|
+
"items": {
|
|
555
|
+
"type": [
|
|
556
|
+
"string",
|
|
557
|
+
"integer"
|
|
558
|
+
],
|
|
559
|
+
"minLength": 1
|
|
560
|
+
},
|
|
561
|
+
"minItems": 1
|
|
562
|
+
}
|
|
563
|
+
},
|
|
564
|
+
"additionalProperties": false
|
|
565
|
+
},
|
|
566
|
+
"query_context": {
|
|
567
|
+
"type": "object",
|
|
568
|
+
"required": [
|
|
569
|
+
"record_ids"
|
|
570
|
+
],
|
|
571
|
+
"properties": {
|
|
572
|
+
"record_ids": {
|
|
573
|
+
"type": "array",
|
|
574
|
+
"maxItems": 1000,
|
|
575
|
+
"uniqueItems": true,
|
|
576
|
+
"items": {
|
|
577
|
+
"type": [
|
|
578
|
+
"string",
|
|
579
|
+
"integer"
|
|
580
|
+
],
|
|
581
|
+
"minLength": 1,
|
|
582
|
+
"maxLength": 256
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
},
|
|
586
|
+
"additionalProperties": false
|
|
587
|
+
},
|
|
588
|
+
"composition_ports": {
|
|
589
|
+
"manifest": "simai.composition.port-manifest.v1",
|
|
590
|
+
"element": "sf-view-table",
|
|
591
|
+
"version": "1.0.0",
|
|
592
|
+
"outputs": {
|
|
593
|
+
"selection": "record-ids.v1"
|
|
594
|
+
},
|
|
595
|
+
"inputs": {
|
|
596
|
+
"context": "record-ids.v1"
|
|
597
|
+
}
|
|
598
|
+
},
|
|
599
|
+
"columns": {
|
|
600
|
+
"type": "array",
|
|
601
|
+
"items": {
|
|
602
|
+
"type": "object",
|
|
603
|
+
"required": [
|
|
604
|
+
"key"
|
|
605
|
+
],
|
|
606
|
+
"additionalProperties": false,
|
|
607
|
+
"properties": {
|
|
608
|
+
"key": {
|
|
609
|
+
"type": "string",
|
|
610
|
+
"minLength": 1
|
|
611
|
+
},
|
|
612
|
+
"label": {
|
|
613
|
+
"type": "string"
|
|
614
|
+
},
|
|
615
|
+
"visible": {
|
|
616
|
+
"type": "boolean"
|
|
617
|
+
},
|
|
618
|
+
"order": {
|
|
619
|
+
"type": [
|
|
620
|
+
"number",
|
|
621
|
+
"string",
|
|
622
|
+
"null"
|
|
623
|
+
]
|
|
624
|
+
},
|
|
625
|
+
"width": {
|
|
626
|
+
"type": [
|
|
627
|
+
"string",
|
|
628
|
+
"number",
|
|
629
|
+
"null"
|
|
630
|
+
]
|
|
631
|
+
},
|
|
632
|
+
"colWidth": {
|
|
633
|
+
"type": [
|
|
634
|
+
"string",
|
|
635
|
+
"number",
|
|
636
|
+
"null"
|
|
637
|
+
]
|
|
638
|
+
},
|
|
639
|
+
"size": {
|
|
640
|
+
"type": [
|
|
641
|
+
"string",
|
|
642
|
+
"number",
|
|
643
|
+
"null"
|
|
644
|
+
]
|
|
645
|
+
},
|
|
646
|
+
"minWidth": {
|
|
647
|
+
"type": [
|
|
648
|
+
"string",
|
|
649
|
+
"number",
|
|
650
|
+
"null"
|
|
651
|
+
]
|
|
652
|
+
},
|
|
653
|
+
"maxWidth": {
|
|
654
|
+
"type": [
|
|
655
|
+
"string",
|
|
656
|
+
"number",
|
|
657
|
+
"null"
|
|
658
|
+
]
|
|
659
|
+
},
|
|
660
|
+
"sortable": {
|
|
661
|
+
"type": "boolean"
|
|
662
|
+
},
|
|
663
|
+
"resizable": {
|
|
664
|
+
"type": "boolean"
|
|
665
|
+
},
|
|
666
|
+
"draggable": {
|
|
667
|
+
"type": "boolean"
|
|
668
|
+
},
|
|
669
|
+
"renderer": {
|
|
670
|
+
"enum": [
|
|
671
|
+
"link"
|
|
672
|
+
]
|
|
673
|
+
},
|
|
674
|
+
"system": {
|
|
675
|
+
"type": "boolean"
|
|
676
|
+
},
|
|
677
|
+
"component": {
|
|
678
|
+
"type": "object"
|
|
679
|
+
},
|
|
680
|
+
"rowComponent": {
|
|
681
|
+
"type": "object"
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
},
|
|
686
|
+
"rows": {
|
|
687
|
+
"type": "array",
|
|
688
|
+
"items": {
|
|
689
|
+
"type": "object",
|
|
690
|
+
"required": [
|
|
691
|
+
"id"
|
|
692
|
+
],
|
|
693
|
+
"properties": {
|
|
694
|
+
"id": {
|
|
695
|
+
"type": [
|
|
696
|
+
"string",
|
|
697
|
+
"integer"
|
|
698
|
+
]
|
|
699
|
+
}
|
|
700
|
+
},
|
|
701
|
+
"additionalProperties": true
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
},
|
|
705
|
+
"methods": {
|
|
706
|
+
"addRows": {
|
|
707
|
+
"summary": "Append another backend page for show-more mode.",
|
|
708
|
+
"arguments": [
|
|
709
|
+
{
|
|
710
|
+
"name": "rows",
|
|
711
|
+
"schema": {
|
|
712
|
+
"type": "array"
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
],
|
|
716
|
+
"returns": {
|
|
717
|
+
"type": "object"
|
|
718
|
+
}
|
|
719
|
+
},
|
|
720
|
+
"applyQueryResult": {
|
|
721
|
+
"summary": "Apply rows answering the newest pending context query. Returns false and changes nothing for a stale, repeated or unknown sequence.",
|
|
722
|
+
"arguments": [
|
|
723
|
+
{
|
|
724
|
+
"name": "sequence",
|
|
725
|
+
"schema": {
|
|
726
|
+
"type": "integer",
|
|
727
|
+
"minimum": 1
|
|
728
|
+
}
|
|
729
|
+
},
|
|
730
|
+
{
|
|
731
|
+
"name": "rows",
|
|
732
|
+
"schema": {
|
|
733
|
+
"type": "array"
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
],
|
|
737
|
+
"returns": {
|
|
738
|
+
"type": "boolean"
|
|
739
|
+
}
|
|
740
|
+
},
|
|
741
|
+
"clearSelection": {
|
|
742
|
+
"summary": "Clear the explicit selection of this instance; emits the selection port once when it changes.",
|
|
743
|
+
"arguments": [],
|
|
744
|
+
"returns": {
|
|
745
|
+
"type": "object"
|
|
746
|
+
}
|
|
747
|
+
},
|
|
748
|
+
"requestActionIntent": {
|
|
749
|
+
"summary": "Emit a typed row or bulk action request; the host owns execution and authorization. Invalid arguments throw TypeError before emission.",
|
|
750
|
+
"arguments": [
|
|
751
|
+
{
|
|
752
|
+
"name": "actionId",
|
|
753
|
+
"schema": {
|
|
754
|
+
"type": "string",
|
|
755
|
+
"minLength": 1
|
|
756
|
+
}
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
"name": "recordIds",
|
|
760
|
+
"schema": {
|
|
761
|
+
"type": "array",
|
|
762
|
+
"items": {
|
|
763
|
+
"type": [
|
|
764
|
+
"string",
|
|
765
|
+
"integer"
|
|
766
|
+
],
|
|
767
|
+
"minLength": 1
|
|
768
|
+
},
|
|
769
|
+
"minItems": 1
|
|
770
|
+
}
|
|
771
|
+
}
|
|
772
|
+
],
|
|
773
|
+
"returns": {
|
|
774
|
+
"type": "object"
|
|
775
|
+
}
|
|
776
|
+
},
|
|
777
|
+
"requestCreateIntent": {
|
|
778
|
+
"summary": "Emit sf-table-create-intent for the main button (null) or a declared create item id.",
|
|
779
|
+
"arguments": [
|
|
780
|
+
{
|
|
781
|
+
"name": "itemId",
|
|
782
|
+
"schema": {
|
|
783
|
+
"type": [
|
|
784
|
+
"string",
|
|
785
|
+
"null"
|
|
786
|
+
]
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
],
|
|
790
|
+
"returns": {
|
|
791
|
+
"type": "object"
|
|
792
|
+
}
|
|
793
|
+
},
|
|
794
|
+
"requestRetry": {
|
|
795
|
+
"summary": "Emit a retry intent after a failed data request.",
|
|
796
|
+
"arguments": [],
|
|
797
|
+
"returns": {
|
|
798
|
+
"type": "object"
|
|
799
|
+
}
|
|
800
|
+
},
|
|
801
|
+
"setSort": {
|
|
802
|
+
"summary": "Show the host's current sort on the headers without emitting an event; (null, null) clears it.",
|
|
803
|
+
"arguments": [
|
|
804
|
+
{
|
|
805
|
+
"name": "key",
|
|
806
|
+
"schema": {
|
|
807
|
+
"type": [
|
|
808
|
+
"string",
|
|
809
|
+
"null"
|
|
810
|
+
]
|
|
811
|
+
}
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
"name": "direction",
|
|
815
|
+
"schema": {
|
|
816
|
+
"enum": [
|
|
817
|
+
"asc",
|
|
818
|
+
"desc",
|
|
819
|
+
null
|
|
820
|
+
]
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
],
|
|
824
|
+
"returns": {
|
|
825
|
+
"type": "object"
|
|
826
|
+
}
|
|
827
|
+
},
|
|
828
|
+
"toggleTreeRow": {
|
|
829
|
+
"summary": "Say that a tree row was opened or closed (sf-table-tree-toggle).",
|
|
830
|
+
"arguments": [
|
|
831
|
+
{
|
|
832
|
+
"name": "row",
|
|
833
|
+
"schema": {
|
|
834
|
+
"type": "object"
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
],
|
|
838
|
+
"returns": {
|
|
839
|
+
"type": "object",
|
|
840
|
+
"description": "The element."
|
|
841
|
+
}
|
|
842
|
+
},
|
|
843
|
+
"requestTreeMore": {
|
|
844
|
+
"summary": "Ask for the next page of a tree level (sf-table-tree-more).",
|
|
845
|
+
"arguments": [
|
|
846
|
+
{
|
|
847
|
+
"name": "row",
|
|
848
|
+
"schema": {
|
|
849
|
+
"type": "object"
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
],
|
|
853
|
+
"returns": {
|
|
854
|
+
"type": "object",
|
|
855
|
+
"description": "The element."
|
|
856
|
+
}
|
|
857
|
+
},
|
|
858
|
+
"focusRow": {
|
|
859
|
+
"summary": "The action focus-row.",
|
|
860
|
+
"arguments": [
|
|
861
|
+
{
|
|
862
|
+
"name": "id",
|
|
863
|
+
"schema": {}
|
|
864
|
+
}
|
|
865
|
+
],
|
|
866
|
+
"returns": {
|
|
867
|
+
"type": "object"
|
|
868
|
+
}
|
|
869
|
+
},
|
|
870
|
+
"getActiveFilterFieldKeys": {
|
|
871
|
+
"summary": "Which filter fields the filter is showing, in the host's field order.",
|
|
872
|
+
"arguments": [],
|
|
873
|
+
"returns": {
|
|
874
|
+
"type": "array"
|
|
875
|
+
}
|
|
876
|
+
},
|
|
877
|
+
"getColumnSettings": {
|
|
878
|
+
"summary": "Read the current column-preference delta.",
|
|
879
|
+
"arguments": [],
|
|
880
|
+
"returns": {
|
|
881
|
+
"type": "object"
|
|
882
|
+
}
|
|
883
|
+
},
|
|
884
|
+
"getFilterPayload": {
|
|
885
|
+
"summary": "Read the current filter draft for host-side query validation.",
|
|
886
|
+
"arguments": [],
|
|
887
|
+
"returns": {
|
|
888
|
+
"type": "object"
|
|
889
|
+
}
|
|
890
|
+
},
|
|
891
|
+
"getInstanceId": {
|
|
892
|
+
"summary": "Identity of this instance: the author's id when there is one, an own counter otherwise. Ids, the settings key fallback and the portal derive from it.",
|
|
893
|
+
"arguments": [],
|
|
894
|
+
"returns": {
|
|
895
|
+
"type": "string"
|
|
896
|
+
}
|
|
897
|
+
},
|
|
898
|
+
"getQueryContext": {
|
|
899
|
+
"summary": "Read the immutable context last received through the context input port, or null.",
|
|
900
|
+
"arguments": [],
|
|
901
|
+
"returns": {
|
|
902
|
+
"type": [
|
|
903
|
+
"object",
|
|
904
|
+
"null"
|
|
905
|
+
]
|
|
906
|
+
}
|
|
907
|
+
},
|
|
908
|
+
"getSelectedRecordIds": {
|
|
909
|
+
"summary": "Read the typed record identities selected in this table result, without DOM parsing.",
|
|
910
|
+
"arguments": [],
|
|
911
|
+
"returns": {
|
|
912
|
+
"type": "array",
|
|
913
|
+
"items": {
|
|
914
|
+
"type": [
|
|
915
|
+
"string",
|
|
916
|
+
"integer"
|
|
917
|
+
]
|
|
918
|
+
}
|
|
919
|
+
}
|
|
920
|
+
},
|
|
921
|
+
"getSort": {
|
|
922
|
+
"summary": "Read the sort shown on the headers.",
|
|
923
|
+
"arguments": [],
|
|
924
|
+
"returns": {
|
|
925
|
+
"type": "object"
|
|
926
|
+
}
|
|
927
|
+
},
|
|
928
|
+
"getToolbarActions": {
|
|
929
|
+
"summary": "The toolbar actions as declared, copied.",
|
|
930
|
+
"arguments": [],
|
|
931
|
+
"returns": {
|
|
932
|
+
"type": "array"
|
|
933
|
+
}
|
|
934
|
+
},
|
|
935
|
+
"requestContextQuery": {
|
|
936
|
+
"summary": "Internal to the context port: emit sf-table-query-intent for the current context with a new pending sequence.",
|
|
937
|
+
"arguments": [
|
|
938
|
+
{
|
|
939
|
+
"name": "sequence",
|
|
940
|
+
"schema": {
|
|
941
|
+
"type": "integer",
|
|
942
|
+
"minimum": 1
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
],
|
|
946
|
+
"returns": {
|
|
947
|
+
"type": "object"
|
|
948
|
+
}
|
|
949
|
+
},
|
|
950
|
+
"setActiveFilterFields": {
|
|
951
|
+
"summary": "Show exactly these filter fields in the selected filter template. Used when a saved view is opened: settings.filter_fields names the fields it was showing.",
|
|
952
|
+
"arguments": [
|
|
953
|
+
{
|
|
954
|
+
"name": "keys",
|
|
955
|
+
"schema": {
|
|
956
|
+
"type": "array",
|
|
957
|
+
"items": {
|
|
958
|
+
"type": "string"
|
|
959
|
+
}
|
|
960
|
+
}
|
|
961
|
+
}
|
|
962
|
+
],
|
|
963
|
+
"returns": {
|
|
964
|
+
"type": "object"
|
|
965
|
+
}
|
|
966
|
+
},
|
|
967
|
+
"setBulkActions": {
|
|
968
|
+
"summary": "Register labeled opaque actions for the current selection. Empty selection disables their controls.",
|
|
969
|
+
"arguments": [
|
|
970
|
+
{
|
|
971
|
+
"name": "actions",
|
|
972
|
+
"schema": {
|
|
973
|
+
"type": "array",
|
|
974
|
+
"items": {
|
|
975
|
+
"type": "object",
|
|
976
|
+
"required": [
|
|
977
|
+
"id",
|
|
978
|
+
"name"
|
|
979
|
+
],
|
|
980
|
+
"properties": {
|
|
981
|
+
"id": {
|
|
982
|
+
"type": "string",
|
|
983
|
+
"minLength": 1
|
|
984
|
+
},
|
|
985
|
+
"name": {
|
|
986
|
+
"type": "string",
|
|
987
|
+
"minLength": 1
|
|
988
|
+
}
|
|
989
|
+
},
|
|
990
|
+
"additionalProperties": false
|
|
991
|
+
}
|
|
992
|
+
}
|
|
993
|
+
}
|
|
994
|
+
],
|
|
995
|
+
"returns": {
|
|
996
|
+
"type": "object"
|
|
997
|
+
}
|
|
998
|
+
},
|
|
999
|
+
"setColumns": {
|
|
1000
|
+
"summary": "Replace canonical backend-provided columns.",
|
|
1001
|
+
"arguments": [
|
|
1002
|
+
{
|
|
1003
|
+
"name": "columns",
|
|
1004
|
+
"schema": {
|
|
1005
|
+
"type": "array"
|
|
1006
|
+
}
|
|
1007
|
+
}
|
|
1008
|
+
],
|
|
1009
|
+
"returns": {
|
|
1010
|
+
"type": "object"
|
|
1011
|
+
}
|
|
1012
|
+
},
|
|
1013
|
+
"setCreateItems": {
|
|
1014
|
+
"summary": "Set the create split-button menu items ({id, name} only). Without items the create button has no arrow.",
|
|
1015
|
+
"arguments": [
|
|
1016
|
+
{
|
|
1017
|
+
"name": "items",
|
|
1018
|
+
"schema": {
|
|
1019
|
+
"type": "array",
|
|
1020
|
+
"items": {
|
|
1021
|
+
"type": "object",
|
|
1022
|
+
"required": [
|
|
1023
|
+
"id",
|
|
1024
|
+
"name"
|
|
1025
|
+
],
|
|
1026
|
+
"properties": {
|
|
1027
|
+
"id": {
|
|
1028
|
+
"type": "string",
|
|
1029
|
+
"minLength": 1
|
|
1030
|
+
},
|
|
1031
|
+
"name": {
|
|
1032
|
+
"type": "string",
|
|
1033
|
+
"minLength": 1
|
|
1034
|
+
}
|
|
1035
|
+
},
|
|
1036
|
+
"additionalProperties": false
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
}
|
|
1040
|
+
],
|
|
1041
|
+
"returns": {
|
|
1042
|
+
"type": "object"
|
|
1043
|
+
}
|
|
1044
|
+
},
|
|
1045
|
+
"setDataState": {
|
|
1046
|
+
"summary": "Switch between automatic, loading, populated, empty and error presentation states.",
|
|
1047
|
+
"arguments": [
|
|
1048
|
+
{
|
|
1049
|
+
"name": "state",
|
|
1050
|
+
"schema": {
|
|
1051
|
+
"type": "string",
|
|
1052
|
+
"enum": [
|
|
1053
|
+
"auto",
|
|
1054
|
+
"loading",
|
|
1055
|
+
"populated",
|
|
1056
|
+
"empty",
|
|
1057
|
+
"error"
|
|
1058
|
+
]
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
],
|
|
1062
|
+
"returns": {
|
|
1063
|
+
"type": "object"
|
|
1064
|
+
}
|
|
1065
|
+
},
|
|
1066
|
+
"setFilterFields": {
|
|
1067
|
+
"summary": "Register backend-allowlisted filter fields and controls.",
|
|
1068
|
+
"arguments": [
|
|
1069
|
+
{
|
|
1070
|
+
"name": "fields",
|
|
1071
|
+
"schema": {
|
|
1072
|
+
"type": "array"
|
|
1073
|
+
}
|
|
1074
|
+
}
|
|
1075
|
+
],
|
|
1076
|
+
"returns": {
|
|
1077
|
+
"type": "object"
|
|
1078
|
+
}
|
|
1079
|
+
},
|
|
1080
|
+
"setRows": {
|
|
1081
|
+
"summary": "Replace the current backend result rows.",
|
|
1082
|
+
"arguments": [
|
|
1083
|
+
{
|
|
1084
|
+
"name": "rows",
|
|
1085
|
+
"schema": {
|
|
1086
|
+
"type": "array"
|
|
1087
|
+
}
|
|
1088
|
+
}
|
|
1089
|
+
],
|
|
1090
|
+
"returns": {
|
|
1091
|
+
"type": "object"
|
|
1092
|
+
}
|
|
1093
|
+
},
|
|
1094
|
+
"setTableData": {
|
|
1095
|
+
"summary": "Patch columns, rows or related table state supplied by the host.",
|
|
1096
|
+
"arguments": [
|
|
1097
|
+
{
|
|
1098
|
+
"name": "patch",
|
|
1099
|
+
"schema": {
|
|
1100
|
+
"type": "object"
|
|
1101
|
+
}
|
|
1102
|
+
}
|
|
1103
|
+
],
|
|
1104
|
+
"returns": {
|
|
1105
|
+
"type": "object"
|
|
1106
|
+
}
|
|
1107
|
+
},
|
|
1108
|
+
"setTableSettings": {
|
|
1109
|
+
"summary": "Apply a column-preference delta without emitting a save request.",
|
|
1110
|
+
"arguments": [
|
|
1111
|
+
{
|
|
1112
|
+
"name": "settings",
|
|
1113
|
+
"schema": {
|
|
1114
|
+
"type": "object"
|
|
1115
|
+
}
|
|
1116
|
+
}
|
|
1117
|
+
],
|
|
1118
|
+
"returns": {
|
|
1119
|
+
"type": "object"
|
|
1120
|
+
}
|
|
1121
|
+
},
|
|
1122
|
+
"setTemplates": {
|
|
1123
|
+
"summary": "Apply saved filter/view templates.",
|
|
1124
|
+
"arguments": [
|
|
1125
|
+
{
|
|
1126
|
+
"name": "templates",
|
|
1127
|
+
"schema": {
|
|
1128
|
+
"type": "array"
|
|
1129
|
+
}
|
|
1130
|
+
}
|
|
1131
|
+
],
|
|
1132
|
+
"returns": {
|
|
1133
|
+
"type": "object"
|
|
1134
|
+
}
|
|
1135
|
+
},
|
|
1136
|
+
"setToolbarActions": {
|
|
1137
|
+
"summary": "Declare the view's own actions for the toolbar menu: {id, label, icon?, href?}. An href must name this same site. Without actions the control is not rendered.",
|
|
1138
|
+
"arguments": [
|
|
1139
|
+
{
|
|
1140
|
+
"name": "items",
|
|
1141
|
+
"schema": {
|
|
1142
|
+
"type": "array",
|
|
1143
|
+
"items": {
|
|
1144
|
+
"type": "object"
|
|
1145
|
+
}
|
|
1146
|
+
}
|
|
1147
|
+
}
|
|
1148
|
+
],
|
|
1149
|
+
"returns": {
|
|
1150
|
+
"type": "object"
|
|
1151
|
+
}
|
|
1152
|
+
},
|
|
1153
|
+
"sfPortInput": {
|
|
1154
|
+
"summary": "Composition input port entry used by sf-composition-scope. Accepts only the declared context port with record-ids.v1; invalid ports or values throw TypeError before any state change.",
|
|
1155
|
+
"arguments": [
|
|
1156
|
+
{
|
|
1157
|
+
"name": "port",
|
|
1158
|
+
"schema": {
|
|
1159
|
+
"const": "context"
|
|
1160
|
+
}
|
|
1161
|
+
},
|
|
1162
|
+
{
|
|
1163
|
+
"name": "value",
|
|
1164
|
+
"schema": {
|
|
1165
|
+
"type": "array",
|
|
1166
|
+
"maxItems": 1000,
|
|
1167
|
+
"uniqueItems": true,
|
|
1168
|
+
"items": {
|
|
1169
|
+
"type": [
|
|
1170
|
+
"string",
|
|
1171
|
+
"integer"
|
|
1172
|
+
],
|
|
1173
|
+
"minLength": 1,
|
|
1174
|
+
"maxLength": 256
|
|
1175
|
+
}
|
|
1176
|
+
}
|
|
1177
|
+
},
|
|
1178
|
+
{
|
|
1179
|
+
"name": "meta",
|
|
1180
|
+
"schema": {
|
|
1181
|
+
"type": "object"
|
|
1182
|
+
}
|
|
1183
|
+
}
|
|
1184
|
+
],
|
|
1185
|
+
"returns": {
|
|
1186
|
+
"type": "null"
|
|
1187
|
+
}
|
|
1188
|
+
},
|
|
1189
|
+
"isTree": {
|
|
1190
|
+
"summary": "Whether the rows are a tree: some row carries __tree, written by the data view from the host's levels.",
|
|
1191
|
+
"arguments": [],
|
|
1192
|
+
"returns": {
|
|
1193
|
+
"type": "boolean"
|
|
1194
|
+
}
|
|
1195
|
+
},
|
|
1196
|
+
"treeColumnKey": {
|
|
1197
|
+
"summary": "The column a tree hangs from: the title column, or the first data column.",
|
|
1198
|
+
"arguments": [
|
|
1199
|
+
{
|
|
1200
|
+
"name": "columns",
|
|
1201
|
+
"type": "array",
|
|
1202
|
+
"required": false
|
|
1203
|
+
}
|
|
1204
|
+
],
|
|
1205
|
+
"returns": {
|
|
1206
|
+
"type": [
|
|
1207
|
+
"string",
|
|
1208
|
+
"null"
|
|
1209
|
+
]
|
|
1210
|
+
}
|
|
1211
|
+
}
|
|
1212
|
+
},
|
|
1213
|
+
"events": {
|
|
1214
|
+
"sf-view-table-select": {
|
|
1215
|
+
"summary": "The marked rows changed, vocabulary §5 select {ids}: once per change of the explicit selection, clearing included. The old name sf-port-output follows once with its old detail until 2026-12-01 (aliases.json).",
|
|
1216
|
+
"payload": {
|
|
1217
|
+
"type": "object",
|
|
1218
|
+
"required": [
|
|
1219
|
+
"ids"
|
|
1220
|
+
],
|
|
1221
|
+
"properties": {
|
|
1222
|
+
"ids": {
|
|
1223
|
+
"type": "array"
|
|
1224
|
+
}
|
|
1225
|
+
},
|
|
1226
|
+
"additionalProperties": true
|
|
1227
|
+
},
|
|
1228
|
+
"canonical": true
|
|
1229
|
+
},
|
|
1230
|
+
"sf-view-table-apply": {
|
|
1231
|
+
"summary": "A row's or the selection's action, vocabulary §5 apply: {action, scope: entry | selection, ids, revisions}. The host decides; emission is not success. The old name sf-table-action-intent follows once with its old detail until 2026-12-01 (aliases.json).",
|
|
1232
|
+
"payload": {
|
|
1233
|
+
"type": "object",
|
|
1234
|
+
"required": [
|
|
1235
|
+
"action",
|
|
1236
|
+
"scope",
|
|
1237
|
+
"ids"
|
|
1238
|
+
],
|
|
1239
|
+
"properties": {
|
|
1240
|
+
"action": {
|
|
1241
|
+
"type": "string"
|
|
1242
|
+
},
|
|
1243
|
+
"scope": {
|
|
1244
|
+
"enum": [
|
|
1245
|
+
"entry",
|
|
1246
|
+
"selection",
|
|
1247
|
+
"filter"
|
|
1248
|
+
]
|
|
1249
|
+
},
|
|
1250
|
+
"ids": {
|
|
1251
|
+
"type": "array"
|
|
1252
|
+
},
|
|
1253
|
+
"revisions": {
|
|
1254
|
+
"type": "object"
|
|
1255
|
+
}
|
|
1256
|
+
},
|
|
1257
|
+
"additionalProperties": true
|
|
1258
|
+
},
|
|
1259
|
+
"canonical": true
|
|
1260
|
+
},
|
|
1261
|
+
"sf-view-table-save": {
|
|
1262
|
+
"summary": "The person's column settings, vocabulary §5 save {kind: columns, reason, columnSettings, tableSettingsKey}. The old name sf-table-column-settings-change follows once with its old detail until 2026-12-01 (aliases.json).",
|
|
1263
|
+
"payload": {
|
|
1264
|
+
"type": "object",
|
|
1265
|
+
"required": [
|
|
1266
|
+
"kind",
|
|
1267
|
+
"reason",
|
|
1268
|
+
"columnSettings",
|
|
1269
|
+
"tableSettingsKey"
|
|
1270
|
+
],
|
|
1271
|
+
"properties": {
|
|
1272
|
+
"kind": {
|
|
1273
|
+
"const": "columns"
|
|
1274
|
+
},
|
|
1275
|
+
"reason": {
|
|
1276
|
+
"type": "string"
|
|
1277
|
+
},
|
|
1278
|
+
"columnSettings": {
|
|
1279
|
+
"type": "object",
|
|
1280
|
+
"description": "The column settings now in force (order, widths, pinned, hidden)."
|
|
1281
|
+
},
|
|
1282
|
+
"tableSettingsKey": {
|
|
1283
|
+
"type": "string",
|
|
1284
|
+
"description": "The table's settings key."
|
|
1285
|
+
}
|
|
1286
|
+
},
|
|
1287
|
+
"additionalProperties": true
|
|
1288
|
+
},
|
|
1289
|
+
"canonical": true
|
|
1290
|
+
},
|
|
1291
|
+
"sf-view-table-column-settings-reset": {
|
|
1292
|
+
"summary": "The person asked for the default columns back. The table drops its own stored arrangement and names no defaults: the host (or a data view) resets the person's layer and answers with its defaults.",
|
|
1293
|
+
"payload": {
|
|
1294
|
+
"type": "object",
|
|
1295
|
+
"required": [
|
|
1296
|
+
"target",
|
|
1297
|
+
"tableSettingsKey"
|
|
1298
|
+
],
|
|
1299
|
+
"properties": {
|
|
1300
|
+
"target": {
|
|
1301
|
+
"const": "personal",
|
|
1302
|
+
"description": "The layer to reset. The table only resets the person's own layer."
|
|
1303
|
+
},
|
|
1304
|
+
"tableSettingsKey": {
|
|
1305
|
+
"type": [
|
|
1306
|
+
"string",
|
|
1307
|
+
"null"
|
|
1308
|
+
],
|
|
1309
|
+
"description": "The table's settings key, or null when it has none."
|
|
1310
|
+
}
|
|
1311
|
+
},
|
|
1312
|
+
"additionalProperties": true
|
|
1313
|
+
},
|
|
1314
|
+
"canonical": true
|
|
1315
|
+
},
|
|
1316
|
+
"sf-view-table-create": {
|
|
1317
|
+
"summary": "The create button or one of its kinds, vocabulary §5 create {item}. The old name sf-table-create-intent follows once with its old detail until 2026-12-01 (aliases.json).",
|
|
1318
|
+
"payload": {
|
|
1319
|
+
"type": "object",
|
|
1320
|
+
"required": [],
|
|
1321
|
+
"properties": {
|
|
1322
|
+
"item": {
|
|
1323
|
+
"type": [
|
|
1324
|
+
"string",
|
|
1325
|
+
"null"
|
|
1326
|
+
]
|
|
1327
|
+
}
|
|
1328
|
+
},
|
|
1329
|
+
"additionalProperties": true
|
|
1330
|
+
},
|
|
1331
|
+
"canonical": true
|
|
1332
|
+
},
|
|
1333
|
+
"sf-view-table-filter-change": {
|
|
1334
|
+
"summary": "Request a host-side query after the active filter changes: Apply in the filter window, a chip removed, or the filter cleared. A data view turns it into query.change with filters from values. The detail is the table's getFilterPayload(): the selected template's own data fields spread first, then these four.",
|
|
1335
|
+
"payload": {
|
|
1336
|
+
"type": "object",
|
|
1337
|
+
"required": [
|
|
1338
|
+
"templateKey",
|
|
1339
|
+
"templateLabel",
|
|
1340
|
+
"values",
|
|
1341
|
+
"tags"
|
|
1342
|
+
],
|
|
1343
|
+
"properties": {
|
|
1344
|
+
"templateKey": {
|
|
1345
|
+
"type": "string",
|
|
1346
|
+
"description": "The selected template's key, or an empty string."
|
|
1347
|
+
},
|
|
1348
|
+
"templateLabel": {
|
|
1349
|
+
"type": "string",
|
|
1350
|
+
"description": "The selected template's label, or an empty string."
|
|
1351
|
+
},
|
|
1352
|
+
"values": {
|
|
1353
|
+
"type": "object",
|
|
1354
|
+
"description": "The filter values now in force, keyed by filter field."
|
|
1355
|
+
},
|
|
1356
|
+
"tags": {
|
|
1357
|
+
"type": "object",
|
|
1358
|
+
"description": "The active filter chips, keyed by filter field."
|
|
1359
|
+
}
|
|
1360
|
+
},
|
|
1361
|
+
"additionalProperties": true
|
|
1362
|
+
},
|
|
1363
|
+
"canonical": true
|
|
1364
|
+
},
|
|
1365
|
+
"sf-view-table-query": {
|
|
1366
|
+
"summary": "A context query of the composition input port, vocabulary §5.1 query {reason, context, sequence}. The old name sf-table-query-intent follows once with its old detail until 2026-12-01 (aliases.json).",
|
|
1367
|
+
"payload": {
|
|
1368
|
+
"type": "object",
|
|
1369
|
+
"required": [
|
|
1370
|
+
"reason",
|
|
1371
|
+
"context",
|
|
1372
|
+
"sequence"
|
|
1373
|
+
],
|
|
1374
|
+
"properties": {
|
|
1375
|
+
"reason": {
|
|
1376
|
+
"type": "string"
|
|
1377
|
+
},
|
|
1378
|
+
"context": {
|
|
1379
|
+
"type": "object"
|
|
1380
|
+
},
|
|
1381
|
+
"sequence": {
|
|
1382
|
+
"type": "integer"
|
|
1383
|
+
}
|
|
1384
|
+
},
|
|
1385
|
+
"additionalProperties": true
|
|
1386
|
+
},
|
|
1387
|
+
"canonical": true
|
|
1388
|
+
},
|
|
1389
|
+
"sf-view-table-refresh": {
|
|
1390
|
+
"summary": "The retry button of a failed list, vocabulary §5 refresh. The old name sf-table-retry follows once with its old detail until 2026-12-01 (aliases.json).",
|
|
1391
|
+
"payload": {
|
|
1392
|
+
"type": "object",
|
|
1393
|
+
"required": [],
|
|
1394
|
+
"properties": {},
|
|
1395
|
+
"additionalProperties": true
|
|
1396
|
+
},
|
|
1397
|
+
"canonical": true
|
|
1398
|
+
},
|
|
1399
|
+
"sf-view-table-search-change": {
|
|
1400
|
+
"summary": "Request a host-side query after the debounced search value changes.",
|
|
1401
|
+
"payload": {
|
|
1402
|
+
"type": "object",
|
|
1403
|
+
"required": [
|
|
1404
|
+
"search"
|
|
1405
|
+
],
|
|
1406
|
+
"properties": {
|
|
1407
|
+
"search": {
|
|
1408
|
+
"type": "string"
|
|
1409
|
+
}
|
|
1410
|
+
},
|
|
1411
|
+
"additionalProperties": true
|
|
1412
|
+
},
|
|
1413
|
+
"canonical": true
|
|
1414
|
+
},
|
|
1415
|
+
"sf-view-table-sort-change": {
|
|
1416
|
+
"summary": "The user activated a sortable header. Direction cycles asc, desc, null (unsorted). Intent only: the table marks the header but does not reorder rows; the host reorders or reloads.",
|
|
1417
|
+
"payload": {
|
|
1418
|
+
"type": "object",
|
|
1419
|
+
"required": [
|
|
1420
|
+
"key",
|
|
1421
|
+
"direction"
|
|
1422
|
+
],
|
|
1423
|
+
"properties": {
|
|
1424
|
+
"key": {
|
|
1425
|
+
"type": "string",
|
|
1426
|
+
"minLength": 1
|
|
1427
|
+
},
|
|
1428
|
+
"direction": {
|
|
1429
|
+
"enum": [
|
|
1430
|
+
"asc",
|
|
1431
|
+
"desc",
|
|
1432
|
+
null
|
|
1433
|
+
]
|
|
1434
|
+
}
|
|
1435
|
+
},
|
|
1436
|
+
"additionalProperties": true
|
|
1437
|
+
},
|
|
1438
|
+
"canonical": true
|
|
1439
|
+
},
|
|
1440
|
+
"sf-view-table-template-delete": {
|
|
1441
|
+
"summary": "The user deleted saved templates on the Templates tab and pressed Apply. Intent only: the host removes the saved view. One event per deleted template.",
|
|
1442
|
+
"payload": {
|
|
1443
|
+
"type": "object",
|
|
1444
|
+
"required": [
|
|
1445
|
+
"key"
|
|
1446
|
+
],
|
|
1447
|
+
"properties": {
|
|
1448
|
+
"key": {
|
|
1449
|
+
"type": "string",
|
|
1450
|
+
"minLength": 1
|
|
1451
|
+
}
|
|
1452
|
+
},
|
|
1453
|
+
"additionalProperties": true
|
|
1454
|
+
},
|
|
1455
|
+
"canonical": true
|
|
1456
|
+
},
|
|
1457
|
+
"sf-view-table-template-save": {
|
|
1458
|
+
"summary": "Request persistence of one or more filter templates (order, pin, delete, default, selected flags or data). Loading a saved view is reported by sf-table-template-select.",
|
|
1459
|
+
"payload": {
|
|
1460
|
+
"type": "object",
|
|
1461
|
+
"required": [],
|
|
1462
|
+
"properties": {},
|
|
1463
|
+
"additionalProperties": true
|
|
1464
|
+
},
|
|
1465
|
+
"canonical": true
|
|
1466
|
+
},
|
|
1467
|
+
"sf-view-table-template-select": {
|
|
1468
|
+
"summary": "The user applied a different saved template on the Templates tab. Intent only: the host loads that saved view.",
|
|
1469
|
+
"payload": {
|
|
1470
|
+
"type": "object",
|
|
1471
|
+
"required": [
|
|
1472
|
+
"key"
|
|
1473
|
+
],
|
|
1474
|
+
"properties": {
|
|
1475
|
+
"key": {
|
|
1476
|
+
"type": "string",
|
|
1477
|
+
"minLength": 1
|
|
1478
|
+
}
|
|
1479
|
+
},
|
|
1480
|
+
"additionalProperties": true
|
|
1481
|
+
},
|
|
1482
|
+
"canonical": true
|
|
1483
|
+
},
|
|
1484
|
+
"sf-view-table-toolbar-action": {
|
|
1485
|
+
"summary": "The user chose one of the view's own actions from the toolbar menu. Intent only, and cancelable: the component follows an item's same-site href unless the host takes the navigation over with preventDefault.",
|
|
1486
|
+
"payload": {
|
|
1487
|
+
"type": "object",
|
|
1488
|
+
"required": [
|
|
1489
|
+
"action"
|
|
1490
|
+
],
|
|
1491
|
+
"properties": {
|
|
1492
|
+
"action": {
|
|
1493
|
+
"type": "string"
|
|
1494
|
+
},
|
|
1495
|
+
"href": {
|
|
1496
|
+
"type": [
|
|
1497
|
+
"string",
|
|
1498
|
+
"null"
|
|
1499
|
+
]
|
|
1500
|
+
}
|
|
1501
|
+
},
|
|
1502
|
+
"additionalProperties": true
|
|
1503
|
+
},
|
|
1504
|
+
"canonical": true
|
|
1505
|
+
},
|
|
1506
|
+
"sf-view-table-reference-open": {
|
|
1507
|
+
"summary": "reference-open (vocabulary).",
|
|
1508
|
+
"payload": {
|
|
1509
|
+
"type": "object",
|
|
1510
|
+
"required": [
|
|
1511
|
+
"field",
|
|
1512
|
+
"value",
|
|
1513
|
+
"href"
|
|
1514
|
+
],
|
|
1515
|
+
"properties": {
|
|
1516
|
+
"field": {
|
|
1517
|
+
"type": "string"
|
|
1518
|
+
},
|
|
1519
|
+
"value": {
|
|
1520
|
+
"type": "object"
|
|
1521
|
+
},
|
|
1522
|
+
"href": {
|
|
1523
|
+
"type": "string"
|
|
1524
|
+
}
|
|
1525
|
+
},
|
|
1526
|
+
"additionalProperties": true
|
|
1527
|
+
},
|
|
1528
|
+
"canonical": true
|
|
1529
|
+
},
|
|
1530
|
+
"sf-view-table-expand": {
|
|
1531
|
+
"summary": "A tree row opened or closed, vocabulary §5 expand {id, expanded}. The old name sf-table-tree-toggle follows once with its old detail until 2026-12-01 (aliases.json).",
|
|
1532
|
+
"payload": {
|
|
1533
|
+
"type": "object",
|
|
1534
|
+
"required": [
|
|
1535
|
+
"id"
|
|
1536
|
+
],
|
|
1537
|
+
"properties": {
|
|
1538
|
+
"id": {},
|
|
1539
|
+
"expanded": {
|
|
1540
|
+
"type": "boolean"
|
|
1541
|
+
}
|
|
1542
|
+
},
|
|
1543
|
+
"additionalProperties": true
|
|
1544
|
+
},
|
|
1545
|
+
"canonical": true
|
|
1546
|
+
},
|
|
1547
|
+
"sf-view-table-load-more": {
|
|
1548
|
+
"summary": "The next page of a tree level, vocabulary §5 load-more {direction: after, parent, cursor}. The old name sf-table-tree-more follows once with its old detail until 2026-12-01 (aliases.json).",
|
|
1549
|
+
"payload": {
|
|
1550
|
+
"type": "object",
|
|
1551
|
+
"required": [
|
|
1552
|
+
"direction",
|
|
1553
|
+
"parent",
|
|
1554
|
+
"cursor"
|
|
1555
|
+
],
|
|
1556
|
+
"properties": {
|
|
1557
|
+
"direction": {
|
|
1558
|
+
"const": "after"
|
|
1559
|
+
},
|
|
1560
|
+
"parent": {},
|
|
1561
|
+
"cursor": {
|
|
1562
|
+
"type": [
|
|
1563
|
+
"string",
|
|
1564
|
+
"null"
|
|
1565
|
+
]
|
|
1566
|
+
}
|
|
1567
|
+
},
|
|
1568
|
+
"additionalProperties": true
|
|
1569
|
+
},
|
|
1570
|
+
"canonical": true
|
|
1571
|
+
},
|
|
1572
|
+
"sf-view-table-rows-drag": {
|
|
1573
|
+
"summary": "Rows began to be dragged out of a list with drag-rows, for a drop target such as a tree; the same {ids, source} rides in the drag data as application/x-sf-records+json.",
|
|
1574
|
+
"payload": {
|
|
1575
|
+
"type": "object",
|
|
1576
|
+
"required": [
|
|
1577
|
+
"ids",
|
|
1578
|
+
"source"
|
|
1579
|
+
],
|
|
1580
|
+
"properties": {
|
|
1581
|
+
"ids": {
|
|
1582
|
+
"type": "array",
|
|
1583
|
+
"description": "The ids dragged: every selected id when the dragged row is selected, otherwise that row's id alone.",
|
|
1584
|
+
"items": {
|
|
1585
|
+
"type": "string"
|
|
1586
|
+
},
|
|
1587
|
+
"minItems": 1
|
|
1588
|
+
},
|
|
1589
|
+
"source": {
|
|
1590
|
+
"type": [
|
|
1591
|
+
"string",
|
|
1592
|
+
"null"
|
|
1593
|
+
],
|
|
1594
|
+
"description": "Where the rows come from: the table's preferences-key, table-settings-key or id, or null."
|
|
1595
|
+
}
|
|
1596
|
+
},
|
|
1597
|
+
"additionalProperties": true
|
|
1598
|
+
},
|
|
1599
|
+
"canonical": true
|
|
1600
|
+
},
|
|
1601
|
+
"sf-view-table-move": {
|
|
1602
|
+
"summary": "Rows put in another order, vocabulary §5 move {ids, before, order}. The old name sf-table-rows-reorder follows once with its old detail until 2026-12-01 (aliases.json).",
|
|
1603
|
+
"payload": {
|
|
1604
|
+
"type": "object",
|
|
1605
|
+
"required": [
|
|
1606
|
+
"ids",
|
|
1607
|
+
"before",
|
|
1608
|
+
"order"
|
|
1609
|
+
],
|
|
1610
|
+
"properties": {
|
|
1611
|
+
"ids": {
|
|
1612
|
+
"type": "array"
|
|
1613
|
+
},
|
|
1614
|
+
"before": {},
|
|
1615
|
+
"order": {
|
|
1616
|
+
"type": "array"
|
|
1617
|
+
}
|
|
1618
|
+
},
|
|
1619
|
+
"additionalProperties": true
|
|
1620
|
+
},
|
|
1621
|
+
"canonical": true
|
|
1622
|
+
},
|
|
1623
|
+
"sf-view-table-cell-set": {
|
|
1624
|
+
"summary": "A checkable cell was pressed: the record, the field, the new value and the record's revision.",
|
|
1625
|
+
"payload": {
|
|
1626
|
+
"type": "object",
|
|
1627
|
+
"required": [
|
|
1628
|
+
"id",
|
|
1629
|
+
"key",
|
|
1630
|
+
"value",
|
|
1631
|
+
"revision"
|
|
1632
|
+
],
|
|
1633
|
+
"properties": {
|
|
1634
|
+
"id": {
|
|
1635
|
+
"type": "object"
|
|
1636
|
+
},
|
|
1637
|
+
"key": {
|
|
1638
|
+
"type": "string"
|
|
1639
|
+
},
|
|
1640
|
+
"value": {
|
|
1641
|
+
"type": "object"
|
|
1642
|
+
},
|
|
1643
|
+
"revision": {
|
|
1644
|
+
"type": "object"
|
|
1645
|
+
}
|
|
1646
|
+
},
|
|
1647
|
+
"additionalProperties": true
|
|
1648
|
+
},
|
|
1649
|
+
"canonical": true
|
|
1650
|
+
},
|
|
1651
|
+
"sf-view-table-view-change": {
|
|
1652
|
+
"summary": "view-change (vocabulary).",
|
|
1653
|
+
"payload": {
|
|
1654
|
+
"type": "object",
|
|
1655
|
+
"required": [
|
|
1656
|
+
"view",
|
|
1657
|
+
"everywhere"
|
|
1658
|
+
],
|
|
1659
|
+
"properties": {
|
|
1660
|
+
"view": {
|
|
1661
|
+
"type": "object"
|
|
1662
|
+
},
|
|
1663
|
+
"everywhere": {
|
|
1664
|
+
"type": "boolean"
|
|
1665
|
+
}
|
|
1666
|
+
},
|
|
1667
|
+
"additionalProperties": true
|
|
1668
|
+
},
|
|
1669
|
+
"canonical": true
|
|
1670
|
+
},
|
|
1671
|
+
"sf-view-table-window": {
|
|
1672
|
+
"summary": "The rows drawn of a long list changed (standard 1.3.8 §18.4): {first, last}, row indexes in the list.",
|
|
1673
|
+
"payload": {
|
|
1674
|
+
"type": "object",
|
|
1675
|
+
"required": [
|
|
1676
|
+
"first",
|
|
1677
|
+
"last"
|
|
1678
|
+
],
|
|
1679
|
+
"properties": {
|
|
1680
|
+
"first": {
|
|
1681
|
+
"type": "integer"
|
|
1682
|
+
},
|
|
1683
|
+
"last": {
|
|
1684
|
+
"type": "integer"
|
|
1685
|
+
}
|
|
1686
|
+
},
|
|
1687
|
+
"additionalProperties": true
|
|
1688
|
+
},
|
|
1689
|
+
"canonical": true
|
|
1690
|
+
},
|
|
1691
|
+
"sf-port-output": {
|
|
1692
|
+
"summary": "Composition port output. The table emits port selection (record-ids.v1) once per change of its explicit selection, including clearing; a common sf-composition-scope routes it.",
|
|
1693
|
+
"payload": {
|
|
1694
|
+
"type": "object",
|
|
1695
|
+
"required": [
|
|
1696
|
+
"port",
|
|
1697
|
+
"value"
|
|
1698
|
+
],
|
|
1699
|
+
"properties": {
|
|
1700
|
+
"port": {
|
|
1701
|
+
"const": "selection"
|
|
1702
|
+
},
|
|
1703
|
+
"value": {
|
|
1704
|
+
"type": "array",
|
|
1705
|
+
"maxItems": 1000,
|
|
1706
|
+
"uniqueItems": true,
|
|
1707
|
+
"items": {
|
|
1708
|
+
"type": [
|
|
1709
|
+
"string",
|
|
1710
|
+
"integer"
|
|
1711
|
+
],
|
|
1712
|
+
"minLength": 1,
|
|
1713
|
+
"maxLength": 256
|
|
1714
|
+
}
|
|
1715
|
+
}
|
|
1716
|
+
},
|
|
1717
|
+
"additionalProperties": false
|
|
1718
|
+
},
|
|
1719
|
+
"alias_of": "sf-view-table-select"
|
|
1720
|
+
},
|
|
1721
|
+
"sf-table-action-intent": {
|
|
1722
|
+
"summary": "Request one host-resolved row or bulk operation. Event source is the owning table instance; emission is not operation success.",
|
|
1723
|
+
"payload": {
|
|
1724
|
+
"type": "object",
|
|
1725
|
+
"required": [
|
|
1726
|
+
"action_id",
|
|
1727
|
+
"record_ids"
|
|
1728
|
+
],
|
|
1729
|
+
"properties": {
|
|
1730
|
+
"action_id": {
|
|
1731
|
+
"type": "string",
|
|
1732
|
+
"minLength": 1
|
|
1733
|
+
},
|
|
1734
|
+
"record_ids": {
|
|
1735
|
+
"type": "array",
|
|
1736
|
+
"items": {
|
|
1737
|
+
"type": [
|
|
1738
|
+
"string",
|
|
1739
|
+
"integer"
|
|
1740
|
+
],
|
|
1741
|
+
"minLength": 1
|
|
1742
|
+
},
|
|
1743
|
+
"minItems": 1
|
|
1744
|
+
}
|
|
1745
|
+
},
|
|
1746
|
+
"additionalProperties": false
|
|
1747
|
+
},
|
|
1748
|
+
"alias_of": "sf-view-table-apply"
|
|
1749
|
+
},
|
|
1750
|
+
"sf-table-column-settings-change": {
|
|
1751
|
+
"summary": "Request persistence of a column preference delta after resize, reorder or visibility changes.",
|
|
1752
|
+
"payload": {
|
|
1753
|
+
"type": "object",
|
|
1754
|
+
"required": [
|
|
1755
|
+
"reason",
|
|
1756
|
+
"tableSettingsKey",
|
|
1757
|
+
"columnSettings"
|
|
1758
|
+
],
|
|
1759
|
+
"properties": {
|
|
1760
|
+
"reason": {
|
|
1761
|
+
"type": "string"
|
|
1762
|
+
},
|
|
1763
|
+
"tableSettingsKey": {
|
|
1764
|
+
"type": "string"
|
|
1765
|
+
},
|
|
1766
|
+
"columnSettings": {
|
|
1767
|
+
"$ref": "#/contracts/column_settings"
|
|
1768
|
+
}
|
|
1769
|
+
}
|
|
1770
|
+
},
|
|
1771
|
+
"alias_of": "sf-view-table-save"
|
|
1772
|
+
},
|
|
1773
|
+
"sf-table-create-intent": {
|
|
1774
|
+
"summary": "The user pressed the create button (item null) or chose an item from its menu (item id). Intent only: the host opens its create form.",
|
|
1775
|
+
"payload": {
|
|
1776
|
+
"type": "object",
|
|
1777
|
+
"required": [
|
|
1778
|
+
"item"
|
|
1779
|
+
],
|
|
1780
|
+
"properties": {
|
|
1781
|
+
"item": {
|
|
1782
|
+
"type": [
|
|
1783
|
+
"string",
|
|
1784
|
+
"null"
|
|
1785
|
+
]
|
|
1786
|
+
}
|
|
1787
|
+
},
|
|
1788
|
+
"additionalProperties": false
|
|
1789
|
+
},
|
|
1790
|
+
"alias_of": "sf-view-table-create"
|
|
1791
|
+
},
|
|
1792
|
+
"sf-table-query-intent": {
|
|
1793
|
+
"summary": "Request a host-side query after the context input port changed. The host resolves the relation and access, then answers with applyQueryResult(sequence, rows); older sequences are ignored.",
|
|
1794
|
+
"payload": {
|
|
1795
|
+
"type": "object",
|
|
1796
|
+
"required": [
|
|
1797
|
+
"reason",
|
|
1798
|
+
"context",
|
|
1799
|
+
"sequence"
|
|
1800
|
+
],
|
|
1801
|
+
"properties": {
|
|
1802
|
+
"reason": {
|
|
1803
|
+
"const": "context"
|
|
1804
|
+
},
|
|
1805
|
+
"context": {
|
|
1806
|
+
"$ref": "#/contracts/query_context"
|
|
1807
|
+
},
|
|
1808
|
+
"sequence": {
|
|
1809
|
+
"type": "integer",
|
|
1810
|
+
"minimum": 1
|
|
1811
|
+
}
|
|
1812
|
+
},
|
|
1813
|
+
"additionalProperties": false
|
|
1814
|
+
},
|
|
1815
|
+
"alias_of": "sf-view-table-query"
|
|
1816
|
+
},
|
|
1817
|
+
"sf-table-retry": {
|
|
1818
|
+
"summary": "Request another host-side load after the error state.",
|
|
1819
|
+
"payload": {
|
|
1820
|
+
"type": "null"
|
|
1821
|
+
},
|
|
1822
|
+
"alias_of": "sf-view-table-refresh"
|
|
1823
|
+
},
|
|
1824
|
+
"sf-table-tree-toggle": {
|
|
1825
|
+
"summary": "The person opened or closed a tree row. The data view answers it; the table only says which row and whether it was open.",
|
|
1826
|
+
"payload": {
|
|
1827
|
+
"type": "object",
|
|
1828
|
+
"additionalProperties": false,
|
|
1829
|
+
"properties": {
|
|
1830
|
+
"id": {
|
|
1831
|
+
"type": [
|
|
1832
|
+
"string",
|
|
1833
|
+
"integer"
|
|
1834
|
+
]
|
|
1835
|
+
},
|
|
1836
|
+
"expanded": {
|
|
1837
|
+
"type": "boolean"
|
|
1838
|
+
}
|
|
1839
|
+
}
|
|
1840
|
+
},
|
|
1841
|
+
"alias_of": "sf-view-table-expand"
|
|
1842
|
+
},
|
|
1843
|
+
"sf-table-tree-more": {
|
|
1844
|
+
"summary": "The person asked for the next page of one tree level.",
|
|
1845
|
+
"payload": {
|
|
1846
|
+
"type": "object",
|
|
1847
|
+
"additionalProperties": false,
|
|
1848
|
+
"properties": {
|
|
1849
|
+
"parent": {
|
|
1850
|
+
"type": [
|
|
1851
|
+
"string",
|
|
1852
|
+
"integer",
|
|
1853
|
+
"null"
|
|
1854
|
+
]
|
|
1855
|
+
},
|
|
1856
|
+
"cursor": {
|
|
1857
|
+
"type": [
|
|
1858
|
+
"string",
|
|
1859
|
+
"null"
|
|
1860
|
+
]
|
|
1861
|
+
}
|
|
1862
|
+
}
|
|
1863
|
+
},
|
|
1864
|
+
"alias_of": "sf-view-table-load-more"
|
|
1865
|
+
},
|
|
1866
|
+
"sf-table-rows-reorder": {
|
|
1867
|
+
"summary": "Rows were dragged into another order inside the list: the ids that moved, the row they now stand before (null: the end) and the whole order shown.",
|
|
1868
|
+
"payload": {
|
|
1869
|
+
"type": "object",
|
|
1870
|
+
"properties": {
|
|
1871
|
+
"ids": {
|
|
1872
|
+
"type": "array"
|
|
1873
|
+
},
|
|
1874
|
+
"before": {},
|
|
1875
|
+
"order": {
|
|
1876
|
+
"type": "array"
|
|
1877
|
+
}
|
|
1878
|
+
}
|
|
1879
|
+
},
|
|
1880
|
+
"alias_of": "sf-view-table-move"
|
|
1881
|
+
},
|
|
1882
|
+
"sf-table:column-settings-change": {
|
|
1883
|
+
"summary": "Dated alias of sf-table-save until 2026-12-01 (detail-adds).",
|
|
1884
|
+
"payload": {
|
|
1885
|
+
"type": "object"
|
|
1886
|
+
},
|
|
1887
|
+
"alias_of": "sf-view-table-save"
|
|
1888
|
+
},
|
|
1889
|
+
"onColumnSettingsChange": {
|
|
1890
|
+
"summary": "Dated alias of sf-table-save until 2026-12-01 (detail-adds).",
|
|
1891
|
+
"payload": {
|
|
1892
|
+
"type": "object"
|
|
1893
|
+
},
|
|
1894
|
+
"alias_of": "sf-view-table-save"
|
|
1895
|
+
},
|
|
1896
|
+
"onSearchEnd": {
|
|
1897
|
+
"summary": "Dated alias of sf-table-search-change until 2026-12-01 (split).",
|
|
1898
|
+
"payload": {
|
|
1899
|
+
"type": "object"
|
|
1900
|
+
},
|
|
1901
|
+
"alias_of": "sf-view-table-search-change"
|
|
1902
|
+
},
|
|
1903
|
+
"onTemplateSave": {
|
|
1904
|
+
"summary": "Dated alias of sf-table-template-save until 2026-12-01 (same-detail).",
|
|
1905
|
+
"payload": {
|
|
1906
|
+
"type": "object"
|
|
1907
|
+
},
|
|
1908
|
+
"alias_of": "sf-view-table-template-save"
|
|
1909
|
+
},
|
|
1910
|
+
"onFilterUpdate": {
|
|
1911
|
+
"summary": "Dated alias of sf-table-filter-change until 2026-12-01 (same-detail).",
|
|
1912
|
+
"payload": {
|
|
1913
|
+
"type": "object"
|
|
1914
|
+
},
|
|
1915
|
+
"alias_of": "sf-view-table-filter-change"
|
|
1916
|
+
},
|
|
1917
|
+
"sf-table-select": {
|
|
1918
|
+
"summary": "Dated alias of sf-view-table-select until 2027-01-01 (same-detail).",
|
|
1919
|
+
"payload": {
|
|
1920
|
+
"type": "object"
|
|
1921
|
+
},
|
|
1922
|
+
"alias_of": "sf-view-table-select"
|
|
1923
|
+
},
|
|
1924
|
+
"sf-table-apply": {
|
|
1925
|
+
"summary": "Dated alias of sf-view-table-apply until 2027-01-01 (same-detail).",
|
|
1926
|
+
"payload": {
|
|
1927
|
+
"type": "object"
|
|
1928
|
+
},
|
|
1929
|
+
"alias_of": "sf-view-table-apply"
|
|
1930
|
+
},
|
|
1931
|
+
"sf-table-save": {
|
|
1932
|
+
"summary": "Dated alias of sf-view-table-save until 2027-01-01 (same-detail).",
|
|
1933
|
+
"payload": {
|
|
1934
|
+
"type": "object"
|
|
1935
|
+
},
|
|
1936
|
+
"alias_of": "sf-view-table-save"
|
|
1937
|
+
},
|
|
1938
|
+
"sf-table-column-settings-reset": {
|
|
1939
|
+
"summary": "Dated alias of sf-view-table-column-settings-reset until 2027-01-01 (same-detail).",
|
|
1940
|
+
"payload": {
|
|
1941
|
+
"type": "object"
|
|
1942
|
+
},
|
|
1943
|
+
"alias_of": "sf-view-table-column-settings-reset"
|
|
1944
|
+
},
|
|
1945
|
+
"sf-table-create": {
|
|
1946
|
+
"summary": "Dated alias of sf-view-table-create until 2027-01-01 (same-detail).",
|
|
1947
|
+
"payload": {
|
|
1948
|
+
"type": "object"
|
|
1949
|
+
},
|
|
1950
|
+
"alias_of": "sf-view-table-create"
|
|
1951
|
+
},
|
|
1952
|
+
"sf-table-filter-change": {
|
|
1953
|
+
"summary": "Dated alias of sf-view-table-filter-change until 2027-01-01 (same-detail).",
|
|
1954
|
+
"payload": {
|
|
1955
|
+
"type": "object"
|
|
1956
|
+
},
|
|
1957
|
+
"alias_of": "sf-view-table-filter-change"
|
|
1958
|
+
},
|
|
1959
|
+
"sf-table-query": {
|
|
1960
|
+
"summary": "Dated alias of sf-view-table-query until 2027-01-01 (same-detail).",
|
|
1961
|
+
"payload": {
|
|
1962
|
+
"type": "object"
|
|
1963
|
+
},
|
|
1964
|
+
"alias_of": "sf-view-table-query"
|
|
1965
|
+
},
|
|
1966
|
+
"sf-table-refresh": {
|
|
1967
|
+
"summary": "Dated alias of sf-view-table-refresh until 2027-01-01 (same-detail).",
|
|
1968
|
+
"payload": {
|
|
1969
|
+
"type": "object"
|
|
1970
|
+
},
|
|
1971
|
+
"alias_of": "sf-view-table-refresh"
|
|
1972
|
+
},
|
|
1973
|
+
"sf-table-search-change": {
|
|
1974
|
+
"summary": "Dated alias of sf-view-table-search-change until 2027-01-01 (same-detail).",
|
|
1975
|
+
"payload": {
|
|
1976
|
+
"type": "object"
|
|
1977
|
+
},
|
|
1978
|
+
"alias_of": "sf-view-table-search-change"
|
|
1979
|
+
},
|
|
1980
|
+
"sf-table-sort-change": {
|
|
1981
|
+
"summary": "Dated alias of sf-view-table-sort-change until 2027-01-01 (same-detail).",
|
|
1982
|
+
"payload": {
|
|
1983
|
+
"type": "object"
|
|
1984
|
+
},
|
|
1985
|
+
"alias_of": "sf-view-table-sort-change"
|
|
1986
|
+
},
|
|
1987
|
+
"sf-table-template-delete": {
|
|
1988
|
+
"summary": "Dated alias of sf-view-table-template-delete until 2027-01-01 (same-detail).",
|
|
1989
|
+
"payload": {
|
|
1990
|
+
"type": "object"
|
|
1991
|
+
},
|
|
1992
|
+
"alias_of": "sf-view-table-template-delete"
|
|
1993
|
+
},
|
|
1994
|
+
"sf-table-template-save": {
|
|
1995
|
+
"summary": "Dated alias of sf-view-table-template-save until 2027-01-01 (same-detail).",
|
|
1996
|
+
"payload": {
|
|
1997
|
+
"type": "object"
|
|
1998
|
+
},
|
|
1999
|
+
"alias_of": "sf-view-table-template-save"
|
|
2000
|
+
},
|
|
2001
|
+
"sf-table-template-select": {
|
|
2002
|
+
"summary": "Dated alias of sf-view-table-template-select until 2027-01-01 (same-detail).",
|
|
2003
|
+
"payload": {
|
|
2004
|
+
"type": "object"
|
|
2005
|
+
},
|
|
2006
|
+
"alias_of": "sf-view-table-template-select"
|
|
2007
|
+
},
|
|
2008
|
+
"sf-table-toolbar-action": {
|
|
2009
|
+
"summary": "Dated alias of sf-view-table-toolbar-action until 2027-01-01 (same-detail).",
|
|
2010
|
+
"payload": {
|
|
2011
|
+
"type": "object"
|
|
2012
|
+
},
|
|
2013
|
+
"alias_of": "sf-view-table-toolbar-action"
|
|
2014
|
+
},
|
|
2015
|
+
"sf-table-reference-open": {
|
|
2016
|
+
"summary": "Dated alias of sf-view-table-reference-open until 2027-01-01 (same-detail).",
|
|
2017
|
+
"payload": {
|
|
2018
|
+
"type": "object"
|
|
2019
|
+
},
|
|
2020
|
+
"alias_of": "sf-view-table-reference-open"
|
|
2021
|
+
},
|
|
2022
|
+
"sf-table-expand": {
|
|
2023
|
+
"summary": "Dated alias of sf-view-table-expand until 2027-01-01 (same-detail).",
|
|
2024
|
+
"payload": {
|
|
2025
|
+
"type": "object"
|
|
2026
|
+
},
|
|
2027
|
+
"alias_of": "sf-view-table-expand"
|
|
2028
|
+
},
|
|
2029
|
+
"sf-table-load-more": {
|
|
2030
|
+
"summary": "Dated alias of sf-view-table-load-more until 2027-01-01 (same-detail).",
|
|
2031
|
+
"payload": {
|
|
2032
|
+
"type": "object"
|
|
2033
|
+
},
|
|
2034
|
+
"alias_of": "sf-view-table-load-more"
|
|
2035
|
+
},
|
|
2036
|
+
"sf-table-rows-drag": {
|
|
2037
|
+
"summary": "Dated alias of sf-view-table-rows-drag until 2027-01-01 (same-detail).",
|
|
2038
|
+
"payload": {
|
|
2039
|
+
"type": "object"
|
|
2040
|
+
},
|
|
2041
|
+
"alias_of": "sf-view-table-rows-drag"
|
|
2042
|
+
},
|
|
2043
|
+
"sf-table-move": {
|
|
2044
|
+
"summary": "Dated alias of sf-view-table-move until 2027-01-01 (same-detail).",
|
|
2045
|
+
"payload": {
|
|
2046
|
+
"type": "object"
|
|
2047
|
+
},
|
|
2048
|
+
"alias_of": "sf-view-table-move"
|
|
2049
|
+
},
|
|
2050
|
+
"sf-table-cell-set": {
|
|
2051
|
+
"summary": "Dated alias of sf-view-table-cell-set until 2027-01-01 (same-detail).",
|
|
2052
|
+
"payload": {
|
|
2053
|
+
"type": "object"
|
|
2054
|
+
},
|
|
2055
|
+
"alias_of": "sf-view-table-cell-set"
|
|
2056
|
+
},
|
|
2057
|
+
"sf-table-view-change": {
|
|
2058
|
+
"summary": "Dated alias of sf-view-table-view-change until 2027-01-01 (same-detail).",
|
|
2059
|
+
"payload": {
|
|
2060
|
+
"type": "object"
|
|
2061
|
+
},
|
|
2062
|
+
"alias_of": "sf-view-table-view-change"
|
|
2063
|
+
},
|
|
2064
|
+
"sf-table-window": {
|
|
2065
|
+
"summary": "Dated alias of sf-view-table-window until 2027-01-01 (same-detail).",
|
|
2066
|
+
"payload": {
|
|
2067
|
+
"type": "object"
|
|
2068
|
+
},
|
|
2069
|
+
"alias_of": "sf-view-table-window"
|
|
2070
|
+
}
|
|
2071
|
+
},
|
|
2072
|
+
"state": {
|
|
2073
|
+
"machines": {
|
|
2074
|
+
"data": [
|
|
2075
|
+
"idle",
|
|
2076
|
+
"loading",
|
|
2077
|
+
"populated",
|
|
2078
|
+
"empty",
|
|
2079
|
+
"error"
|
|
2080
|
+
],
|
|
2081
|
+
"query": [
|
|
2082
|
+
"clean",
|
|
2083
|
+
"searching",
|
|
2084
|
+
"filtered",
|
|
2085
|
+
"sorting",
|
|
2086
|
+
"paging"
|
|
2087
|
+
],
|
|
2088
|
+
"preferences": [
|
|
2089
|
+
"idle",
|
|
2090
|
+
"editing",
|
|
2091
|
+
"saving",
|
|
2092
|
+
"success",
|
|
2093
|
+
"error",
|
|
2094
|
+
"conflict"
|
|
2095
|
+
]
|
|
2096
|
+
},
|
|
2097
|
+
"visual_states": [
|
|
2098
|
+
"default",
|
|
2099
|
+
"loading",
|
|
2100
|
+
"empty",
|
|
2101
|
+
"error",
|
|
2102
|
+
"selected",
|
|
2103
|
+
"active",
|
|
2104
|
+
"open"
|
|
2105
|
+
]
|
|
2106
|
+
},
|
|
2107
|
+
"persistence": {
|
|
2108
|
+
"mode": "external-host",
|
|
2109
|
+
"source_of_truth": "host",
|
|
2110
|
+
"network_owner": "host",
|
|
2111
|
+
"revision_field": "base_revision",
|
|
2112
|
+
"view_preference": {
|
|
2113
|
+
"key": "sf-table/<preferences-key>",
|
|
2114
|
+
"general_key": "sf-table/*",
|
|
2115
|
+
"v": 1,
|
|
2116
|
+
"fields": {
|
|
2117
|
+
"columnSettings": {
|
|
2118
|
+
"type": "object",
|
|
2119
|
+
"description": "The person's column arrangement, per column key: visible (boolean), width (CSS length), order (number), pinned (start or end). Merged onto the host's column settings, so a column it does not name keeps the host's.",
|
|
2120
|
+
"seed": true,
|
|
2121
|
+
"written_by": [
|
|
2122
|
+
"sf-view-table"
|
|
2123
|
+
],
|
|
2124
|
+
"schema": {
|
|
2125
|
+
"type": "object",
|
|
2126
|
+
"additionalProperties": {
|
|
2127
|
+
"type": "object",
|
|
2128
|
+
"properties": {
|
|
2129
|
+
"visible": {
|
|
2130
|
+
"type": "boolean"
|
|
2131
|
+
},
|
|
2132
|
+
"width": {
|
|
2133
|
+
"type": "string"
|
|
2134
|
+
},
|
|
2135
|
+
"order": {
|
|
2136
|
+
"type": "number"
|
|
2137
|
+
},
|
|
2138
|
+
"pinned": {
|
|
2139
|
+
"enum": [
|
|
2140
|
+
"start",
|
|
2141
|
+
"end",
|
|
2142
|
+
null
|
|
2143
|
+
]
|
|
2144
|
+
}
|
|
2145
|
+
}
|
|
2146
|
+
}
|
|
2147
|
+
}
|
|
2148
|
+
},
|
|
2149
|
+
"widths": {
|
|
2150
|
+
"type": "object",
|
|
2151
|
+
"description": "Column widths the person dragged, per column key, as \"<N>px\". Kept also without a preferences-key when the table has remember-widths (then under the table's own key).",
|
|
2152
|
+
"seed": true,
|
|
2153
|
+
"written_by": [
|
|
2154
|
+
"sf-view-table"
|
|
2155
|
+
],
|
|
2156
|
+
"schema": {
|
|
2157
|
+
"type": "object",
|
|
2158
|
+
"additionalProperties": {
|
|
2159
|
+
"type": "string"
|
|
2160
|
+
}
|
|
2161
|
+
}
|
|
2162
|
+
},
|
|
2163
|
+
"view": {
|
|
2164
|
+
"type": "object",
|
|
2165
|
+
"description": "The table's look: density (compact, normal, spacious), stripes, lines, singleLine, stickyHead. Under sf-table/* it is the person's look for every table, read under this table's own.",
|
|
2166
|
+
"seed": true,
|
|
2167
|
+
"written_by": [
|
|
2168
|
+
"sf-view-table"
|
|
2169
|
+
],
|
|
2170
|
+
"schema": {
|
|
2171
|
+
"type": "object",
|
|
2172
|
+
"properties": {
|
|
2173
|
+
"density": {
|
|
2174
|
+
"enum": [
|
|
2175
|
+
"compact",
|
|
2176
|
+
"normal",
|
|
2177
|
+
"spacious"
|
|
2178
|
+
]
|
|
2179
|
+
},
|
|
2180
|
+
"stripes": {
|
|
2181
|
+
"type": "boolean"
|
|
2182
|
+
},
|
|
2183
|
+
"lines": {
|
|
2184
|
+
"type": "boolean"
|
|
2185
|
+
},
|
|
2186
|
+
"singleLine": {
|
|
2187
|
+
"type": "boolean"
|
|
2188
|
+
},
|
|
2189
|
+
"stickyHead": {
|
|
2190
|
+
"type": "boolean"
|
|
2191
|
+
}
|
|
2192
|
+
}
|
|
2193
|
+
}
|
|
2194
|
+
},
|
|
2195
|
+
"sort": {
|
|
2196
|
+
"type": "array",
|
|
2197
|
+
"description": "The sort the person chose: [{key, direction}]. Written and read by the data view the table is in, so the first query comes in this order.",
|
|
2198
|
+
"seed": true,
|
|
2199
|
+
"written_by": [
|
|
2200
|
+
"sf-view"
|
|
2201
|
+
],
|
|
2202
|
+
"schema": {
|
|
2203
|
+
"type": "array",
|
|
2204
|
+
"items": {
|
|
2205
|
+
"type": "object",
|
|
2206
|
+
"required": [
|
|
2207
|
+
"key",
|
|
2208
|
+
"direction"
|
|
2209
|
+
],
|
|
2210
|
+
"properties": {
|
|
2211
|
+
"key": {
|
|
2212
|
+
"type": "string"
|
|
2213
|
+
},
|
|
2214
|
+
"direction": {
|
|
2215
|
+
"enum": [
|
|
2216
|
+
"asc",
|
|
2217
|
+
"desc"
|
|
2218
|
+
]
|
|
2219
|
+
}
|
|
2220
|
+
}
|
|
2221
|
+
}
|
|
2222
|
+
}
|
|
2223
|
+
},
|
|
2224
|
+
"pageSize": {
|
|
2225
|
+
"type": "integer",
|
|
2226
|
+
"description": "The page size the person chose. Written and read by the data view, so the first query asks for it.",
|
|
2227
|
+
"seed": true,
|
|
2228
|
+
"written_by": [
|
|
2229
|
+
"sf-view"
|
|
2230
|
+
]
|
|
2231
|
+
}
|
|
2232
|
+
}
|
|
2233
|
+
}
|
|
2234
|
+
},
|
|
2235
|
+
"ownership": {
|
|
2236
|
+
"source": "simai/ui-admin",
|
|
2237
|
+
"data": "host",
|
|
2238
|
+
"effects": "host",
|
|
2239
|
+
"forbidden_client_responsibilities": [
|
|
2240
|
+
"query authorization",
|
|
2241
|
+
"field/operator invention",
|
|
2242
|
+
"record access decisions",
|
|
2243
|
+
"domain mutations",
|
|
2244
|
+
"cross-user preference selection",
|
|
2245
|
+
"HTTP endpoint invention"
|
|
2246
|
+
]
|
|
2247
|
+
},
|
|
2248
|
+
"backend": {
|
|
2249
|
+
"adapters": [
|
|
2250
|
+
"larena:ui.dataview"
|
|
2251
|
+
],
|
|
2252
|
+
"integration_examples": {
|
|
2253
|
+
"larena_php": "Smart::renderView('dataview.table', ['props' => ['title' => $title], 'children' => $resolvedChildren]);",
|
|
2254
|
+
"event_bridge": "Normalize SF runtime events to Data View intents, validate them in larena/dataview, then return a fresh access-filtered projection."
|
|
2255
|
+
}
|
|
2256
|
+
},
|
|
2257
|
+
"security": {
|
|
2258
|
+
"permissions_owner": "host",
|
|
2259
|
+
"untrusted_inputs": [
|
|
2260
|
+
"Reject unknown columns, filters, sorts and action IDs",
|
|
2261
|
+
"Treat every row and structured cell as untrusted render data",
|
|
2262
|
+
"Never accept record ownership or access flags from the browser"
|
|
2263
|
+
],
|
|
2264
|
+
"network_policy": "host-only"
|
|
2265
|
+
},
|
|
2266
|
+
"accessibility": {
|
|
2267
|
+
"role": "grid",
|
|
2268
|
+
"accessible_name": "required",
|
|
2269
|
+
"keyboard": [
|
|
2270
|
+
"Tab",
|
|
2271
|
+
"Shift+Tab",
|
|
2272
|
+
"Enter",
|
|
2273
|
+
"Space",
|
|
2274
|
+
"Escape",
|
|
2275
|
+
"Arrow keys",
|
|
2276
|
+
"ArrowLeft and ArrowRight resize a focused resizable column"
|
|
2277
|
+
],
|
|
2278
|
+
"focus": "Every icon-only action and contextual surface has an accessible name. Per-instance overlays stay inside the visual viewport, close on Escape and restore focus to their trigger. Column resize keeps focus on its native button."
|
|
2279
|
+
},
|
|
2280
|
+
"presentation": {
|
|
2281
|
+
"skeleton": {
|
|
2282
|
+
"shape": "rows",
|
|
2283
|
+
"while_loading": "template"
|
|
2284
|
+
},
|
|
2285
|
+
"themes": [
|
|
2286
|
+
"light",
|
|
2287
|
+
"dark"
|
|
2288
|
+
],
|
|
2289
|
+
"locales": [
|
|
2290
|
+
"en",
|
|
2291
|
+
"ru"
|
|
2292
|
+
],
|
|
2293
|
+
"responsive": [
|
|
2294
|
+
"desktop-wide",
|
|
2295
|
+
"desktop-local-scroll",
|
|
2296
|
+
"mobile-stacked-toolbar",
|
|
2297
|
+
"mobile-horizontal-table-scroll",
|
|
2298
|
+
"viewport-bounded-overlays"
|
|
2299
|
+
]
|
|
2300
|
+
},
|
|
2301
|
+
"adapter": {
|
|
2302
|
+
"kind": "owner",
|
|
2303
|
+
"protocol": "simai.smart-studio-adapter.v1",
|
|
2304
|
+
"module": null
|
|
2305
|
+
},
|
|
2306
|
+
"artifacts": {
|
|
2307
|
+
"fixtures": [
|
|
2308
|
+
"studio.fixture.json"
|
|
2309
|
+
],
|
|
2310
|
+
"scenarios": [
|
|
2311
|
+
"studio.scenario.json"
|
|
2312
|
+
]
|
|
2313
|
+
},
|
|
2314
|
+
"readiness": {
|
|
2315
|
+
"level": "host-required",
|
|
2316
|
+
"required_checks": [
|
|
2317
|
+
"manifest",
|
|
2318
|
+
"fixture",
|
|
2319
|
+
"runtime-upgrade",
|
|
2320
|
+
"scenario-smoke",
|
|
2321
|
+
"host-query-bridge"
|
|
2322
|
+
]
|
|
2323
|
+
},
|
|
2324
|
+
"compatibility": {
|
|
2325
|
+
"contract_schema": {
|
|
2326
|
+
"id": "https://simai.io/contracts/smart-component-manifest.v2.schema.json",
|
|
2327
|
+
"version": 2
|
|
2328
|
+
},
|
|
2329
|
+
"runtime_pair": {
|
|
2330
|
+
"ui_revision": "89834691fb9dce692be5353f3214df7aee3a7e27",
|
|
2331
|
+
"ui_smart_revision": "89834691fb9dce692be5353f3214df7aee3a7e27"
|
|
2332
|
+
},
|
|
2333
|
+
"aliases": [
|
|
2334
|
+
"smart.table",
|
|
2335
|
+
"<sf-table>"
|
|
2336
|
+
],
|
|
2337
|
+
"deprecations": [
|
|
2338
|
+
{
|
|
2339
|
+
"path": "<sf-table>",
|
|
2340
|
+
"since": "1.14.0",
|
|
2341
|
+
"replacement": "<sf-view-table>"
|
|
2342
|
+
}
|
|
2343
|
+
],
|
|
2344
|
+
"replacement": null,
|
|
2345
|
+
"migrations": [
|
|
2346
|
+
{
|
|
2347
|
+
"from": "1.0.0",
|
|
2348
|
+
"to": "1.1.0",
|
|
2349
|
+
"changes": [
|
|
2350
|
+
"Add sf-table-action-intent and requestActionIntent for row, context and bulk operations.",
|
|
2351
|
+
"Replace the placeholder View modal with a host-resolved intent; preserve explicit trusted callback overrides.",
|
|
2352
|
+
"Selection preserves complete typed IDs; bulk controls use the current-result selection only."
|
|
2353
|
+
]
|
|
2354
|
+
},
|
|
2355
|
+
{
|
|
2356
|
+
"from": "1.1.0",
|
|
2357
|
+
"to": "1.2.0",
|
|
2358
|
+
"changes": [
|
|
2359
|
+
"Publish Composition ports: output selection and input context, both record-ids.v1.",
|
|
2360
|
+
"Add sf-table-query-intent, applyQueryResult (latest result wins), getQueryContext and clearSelection.",
|
|
2361
|
+
"Emit sf-port-output once per explicit selection change; no endpoint, action or query text is emitted.",
|
|
2362
|
+
"After remount, a table whose context query was left unanswered requests the same context once with a new sequence."
|
|
2363
|
+
]
|
|
2364
|
+
},
|
|
2365
|
+
{
|
|
2366
|
+
"from": "1.2.0",
|
|
2367
|
+
"to": "1.3.0",
|
|
2368
|
+
"changes": [
|
|
2369
|
+
"Add sf-table-create-intent: the create button emits {item: null}; setCreateItems adds an arrow menu whose items emit {item: id}. Without items the arrow is not rendered.",
|
|
2370
|
+
"Add sf-table-template-select {key} when Apply on the Templates tab changes the selected template; sf-table-template-save is unchanged.",
|
|
2371
|
+
"Columns with sortable: true render a header button with aria-sort and emit sf-table-sort-change {key, direction}; setSort and getSort mirror the host's sort. Rows are never reordered by the table.",
|
|
2372
|
+
"Filter fields with filter.optionRenderer 'badge' render options as tonal sf-badge labels coloured by option.color (a badge scheme or a hex colour) with optional option.icon.",
|
|
2373
|
+
"The actions column is a system column: not resizable or draggable and no longer frozen into column settings.",
|
|
2374
|
+
"Fix: dropping a dragged column no longer duplicates header and body cells; ending a column drag or pointer resize does not sort.",
|
|
2375
|
+
"Context menus are anchored to their opener with SF.Position: they flip and shift at the viewport edge and follow the opener on scroll; the filter chip menu opens under the chip instead of the viewport corner."
|
|
2376
|
+
]
|
|
2377
|
+
},
|
|
2378
|
+
{
|
|
2379
|
+
"from": "1.3.0",
|
|
2380
|
+
"to": "1.4.0",
|
|
2381
|
+
"changes": [
|
|
2382
|
+
"Filter chips are keyboard operable: each chip label is a button (sf-tag interactive) beside its remove action; Enter or Space opens the chip menu, anchored to the chip, and Escape returns focus to the chip.",
|
|
2383
|
+
"The built-in record modal ignores modal:after-close events of nested modals now that modal events bubble."
|
|
2384
|
+
]
|
|
2385
|
+
},
|
|
2386
|
+
{
|
|
2387
|
+
"from": "1.4.0",
|
|
2388
|
+
"to": "1.5.0",
|
|
2389
|
+
"changes": [
|
|
2390
|
+
"The manifest moves to smart-component-manifest v2: persistence, ownership, security, accessibility and state use the v2 shape, and adapter, artifacts and readiness are declared.",
|
|
2391
|
+
"The five conformance scenarios left the manifest (v2 keeps scenarios in artifacts) and are documented in docs/smart-table-guide.md; studio.fixture.json and studio.scenario.json are the declared artifacts.",
|
|
2392
|
+
"No runtime behaviour changes."
|
|
2393
|
+
]
|
|
2394
|
+
},
|
|
2395
|
+
{
|
|
2396
|
+
"from": "1.5.0",
|
|
2397
|
+
"to": "1.6.0",
|
|
2398
|
+
"changes": [
|
|
2399
|
+
"Add sf-table-template-delete {key}: deleting a saved template on the Templates tab is its own intent, one event per template; sf-table-template-save keeps reporting the other flags.",
|
|
2400
|
+
"Instance isolation: the column resize handles carry per-instance ids (<instance>--column-resizer--<column>), the portal records data-sf-instance, and a table without table-settings-key and without an id falls back to its own instance id instead of the shared key \"users\".",
|
|
2401
|
+
"The region declares its resolved data state: data-state and aria-busy are set on the sf-view-table region, not only on tbody."
|
|
2402
|
+
]
|
|
2403
|
+
},
|
|
2404
|
+
{
|
|
2405
|
+
"from": "1.6.0",
|
|
2406
|
+
"to": "1.7.0",
|
|
2407
|
+
"changes": [
|
|
2408
|
+
"Declare the data view as a composition type (smart.view-table): the projection now carries the intents it raises, the data it accepts and where its settings key lives, instead of dropping them.",
|
|
2409
|
+
"Add the columns and rows contracts: closed column descriptions and rows with a stable id. They are the data half of the type and the base of the future host port.",
|
|
2410
|
+
"No runtime behaviour changes."
|
|
2411
|
+
]
|
|
2412
|
+
},
|
|
2413
|
+
{
|
|
2414
|
+
"from": "1.7.0",
|
|
2415
|
+
"to": "1.8.0",
|
|
2416
|
+
"changes": [
|
|
2417
|
+
"Add responsive priority/min_width/sticky projection for declared columns; existing columns keep their previous order and scroll behavior.",
|
|
2418
|
+
"Add toolbar=false for a parent composite that supplies a toolbar slot."
|
|
2419
|
+
]
|
|
2420
|
+
},
|
|
2421
|
+
{
|
|
2422
|
+
"from": "1.8.0",
|
|
2423
|
+
"to": "1.9.0",
|
|
2424
|
+
"changes": [
|
|
2425
|
+
"Add row-actions: row-actions=\"false\" hides the row action column while actions keeps the create button, for hosts whose row menu is the only entry to a row's actions."
|
|
2426
|
+
]
|
|
2427
|
+
},
|
|
2428
|
+
{
|
|
2429
|
+
"from": "1.9.0",
|
|
2430
|
+
"to": "1.9.1",
|
|
2431
|
+
"changes": [
|
|
2432
|
+
"Follows SIMAI Framework release ui-92b4661762ca (standard 1.3.8 display groups A and B): the Loader relations and the composition name the renamed bundles and registry ids (cl-button, cl-icon-button, cl-input, cl-tag, cl-badge; smart.button, smart.icon-button, smart.input, smart.tag, smart.badge).",
|
|
2433
|
+
"The empty brick takes heading and the filter's avatars heading, the names sf-empty-state and sf-avatar read since 1.3.8. No public attribute, property or event of sf-view-table changes."
|
|
2434
|
+
]
|
|
2435
|
+
},
|
|
2436
|
+
{
|
|
2437
|
+
"from": "1.9.1",
|
|
2438
|
+
"to": "1.10.0",
|
|
2439
|
+
"changes": [
|
|
2440
|
+
"From component.json (standard simai.smart-component 1.3.8): events by the vocabulary's verbs -- sf-table-apply, -select, -save, -create, -query, -refresh, -expand, -load-more, -move -- with the old names as dated aliases until 2026-12-01 (aliases.json); onSearchEnd, onTemplateSave, onFilterUpdate, onColumnSettingsChange and sf-table:column-settings-change follow once each, noted in SF.deprecations.",
|
|
2441
|
+
"Many entries (§18.4, simai/ui-pro#2): from 300 rows only the rows in view and a margin are drawn, reported as sf-table-window {first, last}; a plain cell is class markup; one changed row is redrawn in place.",
|
|
2442
|
+
"The data state ready, populated its alias; current marks the open row (aria-current); actions answer outcomes."
|
|
2443
|
+
]
|
|
2444
|
+
},
|
|
2445
|
+
{
|
|
2446
|
+
"from": "1.13.4",
|
|
2447
|
+
"to": "1.13.5",
|
|
2448
|
+
"changes": [
|
|
2449
|
+
"The windows' portal is watched by the Loader (SF.Loader.watch) and lazy elements are asked for through SF.Loader.ensure; needs core.runtime >= 1.19.0. Nothing to change for a host on a pair from core.runtime 1.19.0 on."
|
|
2450
|
+
]
|
|
2451
|
+
},
|
|
2452
|
+
{
|
|
2453
|
+
"from": "1.13.5",
|
|
2454
|
+
"to": "1.13.6",
|
|
2455
|
+
"changes": [
|
|
2456
|
+
"Draws and finds the renamed Framework elements by their new tags (the row and column menus are sf-menu-context (its sf-menu-context-* events), the icon buttons sf-button-icon, the typed cells and editors sf-input-color, sf-input-country, sf-input-date and sf-slider-range; a component type that names a former tag (a host's {type: 'icon-button'}) draws the element under its current tag (canonicalTag of the Smart base)); the rule relations name cl-<new>. Needs the SIMAI Framework pair with the tag renames (core.runtime 1.21.0). No visible change. Nothing to change for a host on that pair; a host that writes the former tags keeps working until 2027-01-01."
|
|
2457
|
+
]
|
|
2458
|
+
},
|
|
2459
|
+
{
|
|
2460
|
+
"from": "1.13.6",
|
|
2461
|
+
"to": "1.14.0",
|
|
2462
|
+
"changes": [
|
|
2463
|
+
"The tag is sf-view-table (rename plan R2, naming decision 2026-11-02: sf-[set]-<block>); the folder view-table, the id smart.view-table and the bundle cl-view-table follow it (were table, smart.data-view, cl-table). sf-table stays a dated alias until 2027-01-01: old markup upgrades as this element, the Loader forwards cl-table, and every event fires under its former name as well, with the same detail. Public CSS variables and classes keep their names. Needs the SIMAI Framework pair whose package reference lists the former tag (core.runtime 1.22.0). Nothing to change for a host until 2027-01-01; new markup writes sf-view-table."
|
|
2464
|
+
]
|
|
2465
|
+
},
|
|
2466
|
+
{
|
|
2467
|
+
"from": "1.14.0",
|
|
2468
|
+
"to": "1.15.0",
|
|
2469
|
+
"changes": [
|
|
2470
|
+
"A date, date and time or time the host does not format reads in the page's language («2 нояб. 2026 г.», «15 нояб. 2026 г., 10:30», «09:30») instead of as stored; a host's formatFieldValue still wins. An html cell shows its text, not its markup; a cell of several files shows each file's name with its icon. The settings column is left out when it would open nothing (no settings-menu, no row actions, no row-reorder). Nothing to change for a host; a host that relied on stored dates in cells formats them in formatFieldValue."
|
|
2471
|
+
]
|
|
2472
|
+
}
|
|
2473
|
+
]
|
|
2474
|
+
},
|
|
2475
|
+
"provenance": {
|
|
2476
|
+
"source_repository": "simai/ui-pro",
|
|
2477
|
+
"source_revision": "811560faa039cfcb4b662d82dc04dc8bb69a1ade",
|
|
2478
|
+
"source_artifacts": [
|
|
2479
|
+
{
|
|
2480
|
+
"path": "src/smart/view-table/index.js",
|
|
2481
|
+
"sha256": "249039b637346c7c9ab8a6178a61874e29adce6c07fded6268941392a4da1ca4"
|
|
2482
|
+
},
|
|
2483
|
+
{
|
|
2484
|
+
"path": "src/smart/view-table/js/templates/default.js",
|
|
2485
|
+
"sha256": "95186847f8e6b8ef90ea4f874a9438a928111a168ada858002471eac085e6c59"
|
|
2486
|
+
},
|
|
2487
|
+
{
|
|
2488
|
+
"path": "src/smart/view-table/js/templates/default.css",
|
|
2489
|
+
"sha256": "cf24e1560267c2f68c1be8e8dc4f93a11ff7a5b4f99003093294c4c76dca0157"
|
|
2490
|
+
},
|
|
2491
|
+
{
|
|
2492
|
+
"path": "src/smart/helpers/option-badge.js",
|
|
2493
|
+
"sha256": "ee43e3f6b7257a1b8c30a4d8b7774819cb697380aea8bd3b7a11ac53de74aa0f"
|
|
2494
|
+
},
|
|
2495
|
+
{
|
|
2496
|
+
"path": "src/smart/view-table/rule.js",
|
|
2497
|
+
"sha256": "2b01429447af41eb8530e7b50e71f06c29f1526d65a48721ecfeb673a7ebdbe2"
|
|
2498
|
+
},
|
|
2499
|
+
{
|
|
2500
|
+
"path": "src/smart/view-table/docs/smart-table-guide.md",
|
|
2501
|
+
"sha256": "69978180760960841c2148efe9f405d1459cbe159786ddf4fbf32b26d6da9094"
|
|
2502
|
+
},
|
|
2503
|
+
{
|
|
2504
|
+
"path": "src/smart/pagination/index.js",
|
|
2505
|
+
"sha256": "e6c76ad5cb4e2e869259ed15c2d9a9a55ca12dc62d2dbe36d6e2e04f6ede8423"
|
|
2506
|
+
}
|
|
2507
|
+
],
|
|
2508
|
+
"generated_runtime": []
|
|
2509
|
+
},
|
|
2510
|
+
"ai_guidance": {
|
|
2511
|
+
"use_when": "Use the whole Data View for an admin collection that needs server search, filters, table preferences, actions or pagination.",
|
|
2512
|
+
"do_not": [
|
|
2513
|
+
"Do not rebuild the toolbar, table and pagination from unrelated primitives",
|
|
2514
|
+
"Do not let the browser own query or access semantics",
|
|
2515
|
+
"Do not send arbitrary field, operator, route or action identifiers to the backend"
|
|
2516
|
+
],
|
|
2517
|
+
"required_reads": [
|
|
2518
|
+
"contracts",
|
|
2519
|
+
"events",
|
|
2520
|
+
"persistence",
|
|
2521
|
+
"ownership",
|
|
2522
|
+
"backend",
|
|
2523
|
+
"scenarios"
|
|
2524
|
+
],
|
|
2525
|
+
"minimal_example": "<sf-view-table aria-label=\"Записи\" table-settings-key=\"package.records\"></sf-view-table>",
|
|
2526
|
+
"owner_commands": [
|
|
2527
|
+
"node scripts/test.mjs",
|
|
2528
|
+
"node scripts/run-browser-probes.mjs <free output> <package output>"
|
|
2529
|
+
]
|
|
2530
|
+
}
|
|
2531
|
+
}
|