@almadar/std 13.0.8 → 13.1.1

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "std-pagination",
3
3
  "version": "1.0.0",
4
- "description": "std-pagination as a Function — single primitive: pagination + infinite-scroll-sentinel",
4
+ "description": "std-pagination as a Function — single primitive: pagination control.\nThe Pagination UI component emits `{page}` for page changes; the atom's\nPAGE event payload matches that shape. ITEMS_LOADED accepts an upstream\ndata-loaded event payload `{data : [object]}` and derives totalPages =\nceil(len(data) / pageSize). Molecules wire e.g.\n`FilteredItemBrowse.BrowseItemLoaded -> ITEMS_LOADED` to keep the\npagination control in lockstep with the data hub. The PagedItem entity\npersists currentPage and the derived totalPages so reads from\n@entity.totalPages reflect the latest row count.",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "PagedItemOrbital",
@@ -15,27 +15,14 @@
15
15
  "required": true
16
16
  },
17
17
  {
18
- "name": "name",
19
- "type": "string",
20
- "required": true
21
- },
22
- {
23
- "name": "description",
24
- "type": "string"
18
+ "name": "currentPage",
19
+ "type": "number",
20
+ "default": 1.0
25
21
  },
26
22
  {
27
- "name": "status",
28
- "type": "string",
29
- "default": "active",
30
- "values": [
31
- "active",
32
- "inactive",
33
- "pending"
34
- ]
35
- },
36
- {
37
- "name": "createdAt",
38
- "type": "string"
23
+ "name": "totalPages",
24
+ "type": "number",
25
+ "default": 1.0
39
26
  }
40
27
  ]
41
28
  },
@@ -52,37 +39,6 @@
52
39
  "name": "page",
53
40
  "type": "number",
54
41
  "required": true
55
- },
56
- {
57
- "name": "pageSize",
58
- "type": "number",
59
- "required": true
60
- }
61
- ]
62
- },
63
- {
64
- "event": "PagedItemLoaded",
65
- "description": "Fired when PagedItem finishes loading; payload.data holds the page",
66
- "scope": "internal",
67
- "payloadSchema": [
68
- {
69
- "name": "data",
70
- "type": "[PagedItem]"
71
- }
72
- ]
73
- },
74
- {
75
- "event": "PagedItemLoadFailed",
76
- "description": "Fired when PagedItem fails to load",
77
- "scope": "internal",
78
- "payloadSchema": [
79
- {
80
- "name": "error",
81
- "type": "string"
82
- },
83
- {
84
- "name": "code",
85
- "type": "string"
86
42
  }
87
43
  ]
88
44
  }
@@ -90,14 +46,8 @@
90
46
  "stateMachine": {
91
47
  "states": [
92
48
  {
93
- "name": "loading",
49
+ "name": "idle",
94
50
  "isInitial": true
95
- },
96
- {
97
- "name": "idle"
98
- },
99
- {
100
- "name": "error"
101
51
  }
102
52
  ],
103
53
  "events": [
@@ -105,30 +55,6 @@
105
55
  "key": "INIT",
106
56
  "name": "Initialize"
107
57
  },
108
- {
109
- "key": "PagedItemLoaded",
110
- "name": "PagedItem loaded",
111
- "payloadSchema": [
112
- {
113
- "name": "data",
114
- "type": "[PagedItem]"
115
- }
116
- ]
117
- },
118
- {
119
- "key": "PagedItemLoadFailed",
120
- "name": "PagedItem load failed",
121
- "payloadSchema": [
122
- {
123
- "name": "error",
124
- "type": "string"
125
- },
126
- {
127
- "name": "code",
128
- "type": "string"
129
- }
130
- ]
131
- },
132
58
  {
133
59
  "key": "PAGE",
134
60
  "name": "Page",
@@ -137,151 +63,91 @@
137
63
  "name": "page",
138
64
  "type": "number",
139
65
  "required": true
140
- },
66
+ }
67
+ ]
68
+ },
69
+ {
70
+ "key": "ITEMS_LOADED",
71
+ "name": "Items Loaded",
72
+ "payloadSchema": [
141
73
  {
142
- "name": "pageSize",
143
- "type": "number",
144
- "required": true
74
+ "name": "data",
75
+ "type": "[object]"
145
76
  }
146
77
  ]
147
78
  }
148
79
  ],
149
80
  "transitions": [
150
81
  {
151
- "from": "loading",
152
- "to": "loading",
153
- "event": "INIT",
154
- "effects": [
155
- [
156
- "fetch",
157
- "PagedItem",
158
- {
159
- "emit": {
160
- "success": "PagedItemLoaded",
161
- "failure": "PagedItemLoadFailed"
162
- }
163
- }
164
- ],
165
- [
166
- "render-ui",
167
- "main",
168
- {
169
- "type": "spinner",
170
- "size": "sm"
171
- }
172
- ]
173
- ]
174
- },
175
- {
176
- "from": "loading",
82
+ "from": "idle",
177
83
  "to": "idle",
178
- "event": "PagedItemLoaded",
84
+ "event": "INIT",
179
85
  "effects": [
180
86
  [
181
87
  "render-ui",
182
88
  "main",
183
89
  {
90
+ "totalPages": "@entity.totalPages",
184
91
  "currentPage": 1.0,
185
92
  "type": "pagination",
186
93
  "onPageChange": "@config.event",
187
- "totalPages": "@config.totalPages",
188
94
  "showPageSize": false
189
95
  }
190
96
  ]
191
97
  ]
192
98
  },
193
- {
194
- "from": "loading",
195
- "to": "error",
196
- "event": "PagedItemLoadFailed",
197
- "effects": [
198
- [
199
- "render-ui",
200
- "main",
201
- {
202
- "direction": "vertical",
203
- "type": "stack",
204
- "gap": "xs",
205
- "children": [
206
- {
207
- "showPageSize": false,
208
- "currentPage": 1.0,
209
- "totalPages": "@config.totalPages",
210
- "onPageChange": "@config.event",
211
- "type": "pagination"
212
- },
213
- {
214
- "color": "error",
215
- "content": "@payload.error",
216
- "type": "typography",
217
- "variant": "caption"
218
- }
219
- ]
220
- }
221
- ]
222
- ]
223
- },
224
99
  {
225
100
  "from": "idle",
226
- "to": "loading",
101
+ "to": "idle",
227
102
  "event": "PAGE",
228
103
  "effects": [
229
104
  [
230
- "fetch",
231
- "PagedItem",
232
- {
233
- "emit": {
234
- "failure": "PagedItemLoadFailed",
235
- "success": "PagedItemLoaded"
236
- }
237
- }
105
+ "set",
106
+ "@entity.currentPage",
107
+ "@payload.page"
238
108
  ],
239
109
  [
240
110
  "render-ui",
241
111
  "main",
242
112
  {
243
- "direction": "horizontal",
244
- "type": "stack",
245
- "align": "center",
246
- "children": [
247
- {
248
- "totalPages": "@config.totalPages",
249
- "type": "pagination",
250
- "showPageSize": false,
251
- "currentPage": 1.0,
252
- "onPageChange": "@config.event"
253
- },
254
- {
255
- "type": "spinner",
256
- "size": "sm"
257
- }
258
- ],
259
- "gap": "sm"
113
+ "totalPages": "@entity.totalPages",
114
+ "onPageChange": "@config.event",
115
+ "type": "pagination",
116
+ "currentPage": 1.0,
117
+ "showPageSize": false
260
118
  }
261
119
  ]
262
120
  ]
263
121
  },
264
122
  {
265
- "from": "error",
266
- "to": "loading",
267
- "event": "INIT",
123
+ "from": "idle",
124
+ "to": "idle",
125
+ "event": "ITEMS_LOADED",
268
126
  "effects": [
269
127
  [
270
- "fetch",
271
- "PagedItem",
272
- {
273
- "emit": {
274
- "failure": "PagedItemLoadFailed",
275
- "success": "PagedItemLoaded"
276
- }
277
- }
128
+ "set",
129
+ "@entity.totalPages",
130
+ [
131
+ "math/ceil",
132
+ [
133
+ "/",
134
+ [
135
+ "array/len",
136
+ "@payload.data"
137
+ ],
138
+ "@config.pageSize"
139
+ ]
140
+ ]
278
141
  ],
279
142
  [
280
143
  "render-ui",
281
144
  "main",
282
145
  {
283
- "size": "sm",
284
- "type": "spinner"
146
+ "showPageSize": false,
147
+ "type": "pagination",
148
+ "currentPage": 1.0,
149
+ "totalPages": "@entity.totalPages",
150
+ "onPageChange": "@config.event"
285
151
  }
286
152
  ]
287
153
  ]
@@ -289,16 +155,16 @@
289
155
  ]
290
156
  },
291
157
  "config": {
292
- "totalPages": {
293
- "type": "number",
294
- "default": 10.0
295
- },
296
158
  "event": {
297
159
  "type": "string",
298
160
  "default": "PAGE"
161
+ },
162
+ "pageSize": {
163
+ "type": "number",
164
+ "default": 10.0
299
165
  }
300
166
  },
301
- "scope": "collection"
167
+ "scope": "instance"
302
168
  }
303
169
  ],
304
170
  "pages": [