@almadar/std 15.1.0 → 15.2.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.
- package/behaviors/registry/app/organisms/std-coding-academy.orb +191 -189
- package/behaviors/registry/core/atoms/std-app-layout.orb +46 -44
- package/behaviors/registry/core/atoms/std-dashboard-grid-layout.orb +99 -61
- package/behaviors/registry/core/atoms/std-display.orb +7 -5
- package/behaviors/registry/core/atoms/std-multi-party-flow.orb +519 -515
- package/behaviors/registry/core/atoms/std-stack-layout.orb +15 -13
- package/behaviors/registry/core/molecules/std-master-detail-layout.orb +19 -13
- package/behaviors/registry/core/molecules/std-tabs-layout.orb +13 -9
- package/behaviors/registry/variations/views/std-graphs-bar.orb +56 -0
- package/behaviors/registry/variations/views/std-graphs-donut.orb +56 -0
- package/behaviors/registry/variations/views/std-graphs-histogram.orb +56 -0
- package/behaviors/registry/variations/views/std-graphs-line.orb +56 -0
- package/behaviors/registry/variations/views/std-graphs-pie.orb +56 -0
- package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +191 -189
- package/dist/behaviors/registry/core/atoms/std-app-layout.orb +46 -44
- package/dist/behaviors/registry/core/atoms/std-dashboard-grid-layout.orb +99 -61
- package/dist/behaviors/registry/core/atoms/std-display.orb +7 -5
- package/dist/behaviors/registry/core/atoms/std-multi-party-flow.orb +519 -515
- package/dist/behaviors/registry/core/atoms/std-stack-layout.orb +15 -13
- package/dist/behaviors/registry/core/molecules/std-master-detail-layout.orb +19 -13
- package/dist/behaviors/registry/core/molecules/std-tabs-layout.orb +13 -9
- package/dist/behaviors/registry/variations/views/std-graphs-bar.orb +56 -0
- package/dist/behaviors/registry/variations/views/std-graphs-donut.orb +56 -0
- package/dist/behaviors/registry/variations/views/std-graphs-histogram.orb +56 -0
- package/dist/behaviors/registry/variations/views/std-graphs-line.orb +56 -0
- package/dist/behaviors/registry/variations/views/std-graphs-pie.orb +56 -0
- package/dist/registry/app/organisms/std-coding-academy.orb +191 -189
- package/dist/registry/core/atoms/std-app-layout.orb +46 -44
- package/dist/registry/core/atoms/std-dashboard-grid-layout.orb +99 -61
- package/dist/registry/core/atoms/std-display.orb +7 -5
- package/dist/registry/core/atoms/std-multi-party-flow.orb +519 -515
- package/dist/registry/core/atoms/std-stack-layout.orb +15 -13
- package/dist/registry/core/molecules/std-master-detail-layout.orb +19 -13
- package/dist/registry/core/molecules/std-tabs-layout.orb +13 -9
- package/dist/registry/variations/views/std-graphs-bar.orb +56 -0
- package/dist/registry/variations/views/std-graphs-donut.orb +56 -0
- package/dist/registry/variations/views/std-graphs-histogram.orb +56 -0
- package/dist/registry/variations/views/std-graphs-line.orb +56 -0
- package/dist/registry/variations/views/std-graphs-pie.orb +56 -0
- package/package.json +1 -1
|
@@ -223,19 +223,19 @@
|
|
|
223
223
|
"main",
|
|
224
224
|
{
|
|
225
225
|
"type": "game-shell",
|
|
226
|
-
"appName": "Coding Academy",
|
|
227
226
|
"showTopBar": true,
|
|
227
|
+
"appName": "Coding Academy",
|
|
228
228
|
"children": [
|
|
229
229
|
{
|
|
230
|
-
"type": "game-menu",
|
|
231
230
|
"title": "Sequencer Challenge",
|
|
232
231
|
"menuItems": [
|
|
233
232
|
{
|
|
233
|
+
"event": "START",
|
|
234
234
|
"variant": "primary",
|
|
235
|
-
"label": "Start"
|
|
236
|
-
"event": "START"
|
|
235
|
+
"label": "Start"
|
|
237
236
|
}
|
|
238
|
-
]
|
|
237
|
+
],
|
|
238
|
+
"type": "game-menu"
|
|
239
239
|
}
|
|
240
240
|
]
|
|
241
241
|
}
|
|
@@ -255,13 +255,14 @@
|
|
|
255
255
|
{
|
|
256
256
|
"type": "stack",
|
|
257
257
|
"direction": "vertical",
|
|
258
|
+
"gap": "md",
|
|
258
259
|
"children": [
|
|
259
260
|
{
|
|
260
261
|
"type": "game-hud",
|
|
261
262
|
"stats": [
|
|
262
263
|
{
|
|
263
|
-
"
|
|
264
|
-
"
|
|
264
|
+
"label": "Score",
|
|
265
|
+
"value": "@entity.score"
|
|
265
266
|
},
|
|
266
267
|
{
|
|
267
268
|
"value": "@entity.level",
|
|
@@ -275,39 +276,38 @@
|
|
|
275
276
|
"children": [
|
|
276
277
|
{
|
|
277
278
|
"type": "stack",
|
|
279
|
+
"direction": "vertical",
|
|
280
|
+
"gap": "md",
|
|
278
281
|
"align": "center",
|
|
279
282
|
"children": [
|
|
280
283
|
{
|
|
281
|
-
"variant": "h3",
|
|
282
284
|
"content": "Sequencer Challenge",
|
|
285
|
+
"variant": "h3",
|
|
283
286
|
"type": "typography"
|
|
284
287
|
},
|
|
285
288
|
{
|
|
289
|
+
"variant": "body",
|
|
286
290
|
"type": "typography",
|
|
287
291
|
"content": "Arrange the action blocks in the correct order.",
|
|
288
|
-
"color": "muted"
|
|
289
|
-
"variant": "body"
|
|
292
|
+
"color": "muted"
|
|
290
293
|
},
|
|
291
294
|
{
|
|
292
|
-
"
|
|
295
|
+
"type": "button",
|
|
293
296
|
"action": "COMPLETE",
|
|
294
297
|
"icon": "check",
|
|
295
298
|
"variant": "primary",
|
|
296
|
-
"
|
|
299
|
+
"label": "Complete"
|
|
297
300
|
}
|
|
298
|
-
]
|
|
299
|
-
"gap": "md",
|
|
300
|
-
"direction": "vertical"
|
|
301
|
+
]
|
|
301
302
|
}
|
|
302
303
|
]
|
|
303
304
|
}
|
|
304
|
-
]
|
|
305
|
-
"gap": "md"
|
|
305
|
+
]
|
|
306
306
|
}
|
|
307
307
|
],
|
|
308
|
-
"
|
|
308
|
+
"type": "game-shell",
|
|
309
309
|
"showTopBar": true,
|
|
310
|
-
"
|
|
310
|
+
"appName": "Coding Academy"
|
|
311
311
|
}
|
|
312
312
|
]
|
|
313
313
|
]
|
|
@@ -326,12 +326,13 @@
|
|
|
326
326
|
"render-ui",
|
|
327
327
|
"main",
|
|
328
328
|
{
|
|
329
|
+
"showTopBar": true,
|
|
329
330
|
"children": [
|
|
330
331
|
{
|
|
331
332
|
"menuItems": [
|
|
332
333
|
{
|
|
333
|
-
"label": "Play Again",
|
|
334
334
|
"variant": "primary",
|
|
335
|
+
"label": "Play Again",
|
|
335
336
|
"event": "RESTART"
|
|
336
337
|
}
|
|
337
338
|
],
|
|
@@ -340,7 +341,6 @@
|
|
|
340
341
|
}
|
|
341
342
|
],
|
|
342
343
|
"appName": "Coding Academy",
|
|
343
|
-
"showTopBar": true,
|
|
344
344
|
"type": "game-shell"
|
|
345
345
|
}
|
|
346
346
|
]
|
|
@@ -355,11 +355,11 @@
|
|
|
355
355
|
"render-ui",
|
|
356
356
|
"main",
|
|
357
357
|
{
|
|
358
|
-
"type": "game-shell",
|
|
359
358
|
"showTopBar": true,
|
|
359
|
+
"appName": "Coding Academy",
|
|
360
360
|
"children": [
|
|
361
361
|
{
|
|
362
|
-
"
|
|
362
|
+
"type": "game-menu",
|
|
363
363
|
"menuItems": [
|
|
364
364
|
{
|
|
365
365
|
"label": "Start",
|
|
@@ -367,10 +367,10 @@
|
|
|
367
367
|
"variant": "primary"
|
|
368
368
|
}
|
|
369
369
|
],
|
|
370
|
-
"
|
|
370
|
+
"title": "Sequencer Challenge"
|
|
371
371
|
}
|
|
372
372
|
],
|
|
373
|
-
"
|
|
373
|
+
"type": "game-shell"
|
|
374
374
|
}
|
|
375
375
|
]
|
|
376
376
|
]
|
|
@@ -383,10 +383,10 @@
|
|
|
383
383
|
"ref": "YouTube.traits.ServiceYoutubeYoutube",
|
|
384
384
|
"name": "SeqLessonVideo",
|
|
385
385
|
"config": {
|
|
386
|
-
"videoId": "@entity.videoId",
|
|
387
386
|
"autoplay": false,
|
|
388
|
-
"
|
|
389
|
-
"uiTrait": "@trait.SeqLessonPlayer"
|
|
387
|
+
"videoId": "@entity.videoId",
|
|
388
|
+
"uiTrait": "@trait.SeqLessonPlayer",
|
|
389
|
+
"controls": true
|
|
390
390
|
}
|
|
391
391
|
},
|
|
392
392
|
{
|
|
@@ -415,32 +415,32 @@
|
|
|
415
415
|
"render-ui",
|
|
416
416
|
"main",
|
|
417
417
|
{
|
|
418
|
-
"type": "card",
|
|
419
418
|
"children": [
|
|
420
419
|
{
|
|
421
420
|
"gap": "sm",
|
|
422
|
-
"type": "stack",
|
|
423
|
-
"direction": "vertical",
|
|
424
|
-
"align": "center",
|
|
425
421
|
"children": [
|
|
426
422
|
{
|
|
427
423
|
"type": "icon",
|
|
428
424
|
"name": "video"
|
|
429
425
|
},
|
|
430
426
|
{
|
|
431
|
-
"variant": "caption",
|
|
432
|
-
"content": "Lesson video",
|
|
433
427
|
"type": "typography",
|
|
434
|
-
"
|
|
428
|
+
"variant": "caption",
|
|
429
|
+
"color": "muted",
|
|
430
|
+
"content": "Lesson video"
|
|
435
431
|
},
|
|
436
432
|
{
|
|
437
|
-
"variant": "body",
|
|
438
433
|
"content": "@config.videoId",
|
|
439
|
-
"type": "typography"
|
|
434
|
+
"type": "typography",
|
|
435
|
+
"variant": "body"
|
|
440
436
|
}
|
|
441
|
-
]
|
|
437
|
+
],
|
|
438
|
+
"type": "stack",
|
|
439
|
+
"direction": "vertical",
|
|
440
|
+
"align": "center"
|
|
442
441
|
}
|
|
443
|
-
]
|
|
442
|
+
],
|
|
443
|
+
"type": "card"
|
|
444
444
|
}
|
|
445
445
|
]
|
|
446
446
|
]
|
|
@@ -450,7 +450,9 @@
|
|
|
450
450
|
"config": {
|
|
451
451
|
"videoId": {
|
|
452
452
|
"type": "string",
|
|
453
|
-
"default": ""
|
|
453
|
+
"default": "",
|
|
454
|
+
"label": "Video ID",
|
|
455
|
+
"description": "YouTube video ID shown in the inline lesson player card"
|
|
454
456
|
}
|
|
455
457
|
},
|
|
456
458
|
"scope": "instance"
|
|
@@ -459,13 +461,13 @@
|
|
|
459
461
|
"ref": "Storage.traits.ServiceStorageStorage",
|
|
460
462
|
"name": "SeqProgressStorage",
|
|
461
463
|
"config": {
|
|
462
|
-
"bucket": "coding-academy-progress",
|
|
463
464
|
"allowedMimeTypes": [
|
|
464
465
|
"application/json"
|
|
465
466
|
],
|
|
467
|
+
"uiTrait": "@trait.SeqProgressForm",
|
|
468
|
+
"bucket": "coding-academy-progress",
|
|
466
469
|
"acl": "private",
|
|
467
|
-
"maxSize": 102400.0
|
|
468
|
-
"uiTrait": "@trait.SeqProgressForm"
|
|
470
|
+
"maxSize": 102400.0
|
|
469
471
|
},
|
|
470
472
|
"listens": [
|
|
471
473
|
{
|
|
@@ -525,9 +527,8 @@
|
|
|
525
527
|
"main",
|
|
526
528
|
{
|
|
527
529
|
"direction": "horizontal",
|
|
528
|
-
"gap": "sm",
|
|
529
|
-
"type": "stack",
|
|
530
530
|
"align": "center",
|
|
531
|
+
"type": "stack",
|
|
531
532
|
"children": [
|
|
532
533
|
{
|
|
533
534
|
"type": "icon",
|
|
@@ -535,12 +536,13 @@
|
|
|
535
536
|
},
|
|
536
537
|
{
|
|
537
538
|
"icon": "save",
|
|
539
|
+
"action": "UPLOAD",
|
|
538
540
|
"type": "button",
|
|
539
541
|
"label": "Save Progress",
|
|
540
|
-
"action": "UPLOAD",
|
|
541
542
|
"variant": "ghost"
|
|
542
543
|
}
|
|
543
|
-
]
|
|
544
|
+
],
|
|
545
|
+
"gap": "sm"
|
|
544
546
|
}
|
|
545
547
|
]
|
|
546
548
|
]
|
|
@@ -761,8 +763,8 @@
|
|
|
761
763
|
"BuildChallenge",
|
|
762
764
|
{
|
|
763
765
|
"emit": {
|
|
764
|
-
"
|
|
765
|
-
"
|
|
766
|
+
"failure": "BuildChallengeLoadFailed",
|
|
767
|
+
"success": "BuildChallengeLoaded"
|
|
766
768
|
}
|
|
767
769
|
}
|
|
768
770
|
],
|
|
@@ -770,8 +772,8 @@
|
|
|
770
772
|
"render-ui",
|
|
771
773
|
"main",
|
|
772
774
|
{
|
|
773
|
-
"type": "game-shell",
|
|
774
775
|
"appName": "Coding Academy",
|
|
776
|
+
"type": "game-shell",
|
|
775
777
|
"showTopBar": true,
|
|
776
778
|
"children": [
|
|
777
779
|
{
|
|
@@ -799,62 +801,62 @@
|
|
|
799
801
|
"render-ui",
|
|
800
802
|
"main",
|
|
801
803
|
{
|
|
802
|
-
"showTopBar": true,
|
|
803
804
|
"appName": "Coding Academy",
|
|
804
|
-
"
|
|
805
|
+
"showTopBar": true,
|
|
805
806
|
"children": [
|
|
806
807
|
{
|
|
807
808
|
"type": "stack",
|
|
808
809
|
"gap": "md",
|
|
810
|
+
"direction": "vertical",
|
|
809
811
|
"children": [
|
|
810
812
|
{
|
|
811
813
|
"type": "game-hud",
|
|
812
814
|
"stats": [
|
|
813
815
|
{
|
|
814
|
-
"
|
|
815
|
-
"
|
|
816
|
+
"label": "Score",
|
|
817
|
+
"value": "@entity.score"
|
|
816
818
|
},
|
|
817
819
|
{
|
|
818
|
-
"
|
|
819
|
-
"
|
|
820
|
+
"value": "@entity.level",
|
|
821
|
+
"label": "Level"
|
|
820
822
|
}
|
|
821
823
|
]
|
|
822
824
|
},
|
|
823
825
|
{
|
|
824
|
-
"type": "card",
|
|
825
826
|
"children": [
|
|
826
827
|
{
|
|
827
828
|
"direction": "vertical",
|
|
828
|
-
"gap": "md",
|
|
829
|
-
"align": "center",
|
|
830
829
|
"children": [
|
|
831
830
|
{
|
|
832
|
-
"
|
|
831
|
+
"content": "Builder Challenge",
|
|
833
832
|
"variant": "h3",
|
|
834
|
-
"
|
|
833
|
+
"type": "typography"
|
|
835
834
|
},
|
|
836
835
|
{
|
|
837
836
|
"content": "Drag components into the slots to build the solution.",
|
|
838
|
-
"color": "muted",
|
|
839
837
|
"type": "typography",
|
|
838
|
+
"color": "muted",
|
|
840
839
|
"variant": "body"
|
|
841
840
|
},
|
|
842
841
|
{
|
|
843
|
-
"type": "button",
|
|
844
|
-
"label": "Complete",
|
|
845
842
|
"action": "COMPLETE",
|
|
846
|
-
"
|
|
847
|
-
"
|
|
843
|
+
"icon": "check",
|
|
844
|
+
"label": "Complete",
|
|
845
|
+
"type": "button",
|
|
846
|
+
"variant": "primary"
|
|
848
847
|
}
|
|
849
848
|
],
|
|
849
|
+
"gap": "md",
|
|
850
|
+
"align": "center",
|
|
850
851
|
"type": "stack"
|
|
851
852
|
}
|
|
852
|
-
]
|
|
853
|
+
],
|
|
854
|
+
"type": "card"
|
|
853
855
|
}
|
|
854
|
-
]
|
|
855
|
-
"direction": "vertical"
|
|
856
|
+
]
|
|
856
857
|
}
|
|
857
|
-
]
|
|
858
|
+
],
|
|
859
|
+
"type": "game-shell"
|
|
858
860
|
}
|
|
859
861
|
]
|
|
860
862
|
]
|
|
@@ -873,22 +875,22 @@
|
|
|
873
875
|
"render-ui",
|
|
874
876
|
"main",
|
|
875
877
|
{
|
|
878
|
+
"showTopBar": true,
|
|
876
879
|
"children": [
|
|
877
880
|
{
|
|
881
|
+
"title": "Well Done!",
|
|
882
|
+
"type": "game-over-screen",
|
|
878
883
|
"menuItems": [
|
|
879
884
|
{
|
|
880
|
-
"variant": "primary",
|
|
881
885
|
"event": "RESTART",
|
|
886
|
+
"variant": "primary",
|
|
882
887
|
"label": "Play Again"
|
|
883
888
|
}
|
|
884
|
-
]
|
|
885
|
-
"title": "Well Done!",
|
|
886
|
-
"type": "game-over-screen"
|
|
889
|
+
]
|
|
887
890
|
}
|
|
888
891
|
],
|
|
889
|
-
"
|
|
890
|
-
"type": "game-shell"
|
|
891
|
-
"appName": "Coding Academy"
|
|
892
|
+
"appName": "Coding Academy",
|
|
893
|
+
"type": "game-shell"
|
|
892
894
|
}
|
|
893
895
|
]
|
|
894
896
|
]
|
|
@@ -907,15 +909,15 @@
|
|
|
907
909
|
"showTopBar": true,
|
|
908
910
|
"children": [
|
|
909
911
|
{
|
|
910
|
-
"
|
|
912
|
+
"title": "Builder Challenge",
|
|
911
913
|
"menuItems": [
|
|
912
914
|
{
|
|
915
|
+
"variant": "primary",
|
|
913
916
|
"label": "Start",
|
|
914
|
-
"event": "START"
|
|
915
|
-
"variant": "primary"
|
|
917
|
+
"event": "START"
|
|
916
918
|
}
|
|
917
919
|
],
|
|
918
|
-
"
|
|
920
|
+
"type": "game-menu"
|
|
919
921
|
}
|
|
920
922
|
]
|
|
921
923
|
}
|
|
@@ -1126,8 +1128,8 @@
|
|
|
1126
1128
|
"EventChallenge",
|
|
1127
1129
|
{
|
|
1128
1130
|
"emit": {
|
|
1129
|
-
"
|
|
1130
|
-
"
|
|
1131
|
+
"success": "EventChallengeLoaded",
|
|
1132
|
+
"failure": "EventChallengeLoadFailed"
|
|
1131
1133
|
}
|
|
1132
1134
|
}
|
|
1133
1135
|
],
|
|
@@ -1135,10 +1137,13 @@
|
|
|
1135
1137
|
"render-ui",
|
|
1136
1138
|
"main",
|
|
1137
1139
|
{
|
|
1140
|
+
"showTopBar": true,
|
|
1141
|
+
"type": "game-shell",
|
|
1142
|
+
"appName": "Coding Academy",
|
|
1138
1143
|
"children": [
|
|
1139
1144
|
{
|
|
1140
|
-
"title": "Event Handler Challenge",
|
|
1141
1145
|
"type": "game-menu",
|
|
1146
|
+
"title": "Event Handler Challenge",
|
|
1142
1147
|
"menuItems": [
|
|
1143
1148
|
{
|
|
1144
1149
|
"label": "Start",
|
|
@@ -1147,10 +1152,7 @@
|
|
|
1147
1152
|
}
|
|
1148
1153
|
]
|
|
1149
1154
|
}
|
|
1150
|
-
]
|
|
1151
|
-
"type": "game-shell",
|
|
1152
|
-
"appName": "Coding Academy",
|
|
1153
|
-
"showTopBar": true
|
|
1155
|
+
]
|
|
1154
1156
|
}
|
|
1155
1157
|
]
|
|
1156
1158
|
]
|
|
@@ -1167,7 +1169,7 @@
|
|
|
1167
1169
|
"showTopBar": true,
|
|
1168
1170
|
"children": [
|
|
1169
1171
|
{
|
|
1170
|
-
"
|
|
1172
|
+
"gap": "md",
|
|
1171
1173
|
"children": [
|
|
1172
1174
|
{
|
|
1173
1175
|
"stats": [
|
|
@@ -1183,10 +1185,13 @@
|
|
|
1183
1185
|
"type": "game-hud"
|
|
1184
1186
|
},
|
|
1185
1187
|
{
|
|
1188
|
+
"type": "card",
|
|
1186
1189
|
"children": [
|
|
1187
1190
|
{
|
|
1188
1191
|
"gap": "md",
|
|
1189
1192
|
"align": "center",
|
|
1193
|
+
"direction": "vertical",
|
|
1194
|
+
"type": "stack",
|
|
1190
1195
|
"children": [
|
|
1191
1196
|
{
|
|
1192
1197
|
"type": "typography",
|
|
@@ -1195,27 +1200,24 @@
|
|
|
1195
1200
|
},
|
|
1196
1201
|
{
|
|
1197
1202
|
"content": "Wire the event handlers to fire on the right triggers.",
|
|
1198
|
-
"
|
|
1203
|
+
"type": "typography",
|
|
1199
1204
|
"variant": "body",
|
|
1200
|
-
"
|
|
1205
|
+
"color": "muted"
|
|
1201
1206
|
},
|
|
1202
1207
|
{
|
|
1203
|
-
"
|
|
1208
|
+
"icon": "check",
|
|
1204
1209
|
"action": "COMPLETE",
|
|
1210
|
+
"type": "button",
|
|
1205
1211
|
"variant": "primary",
|
|
1206
|
-
"icon": "check",
|
|
1207
1212
|
"label": "Complete"
|
|
1208
1213
|
}
|
|
1209
|
-
]
|
|
1210
|
-
"type": "stack",
|
|
1211
|
-
"direction": "vertical"
|
|
1214
|
+
]
|
|
1212
1215
|
}
|
|
1213
|
-
]
|
|
1214
|
-
"type": "card"
|
|
1216
|
+
]
|
|
1215
1217
|
}
|
|
1216
1218
|
],
|
|
1217
1219
|
"direction": "vertical",
|
|
1218
|
-
"
|
|
1220
|
+
"type": "stack"
|
|
1219
1221
|
}
|
|
1220
1222
|
],
|
|
1221
1223
|
"appName": "Coding Academy",
|
|
@@ -1239,21 +1241,21 @@
|
|
|
1239
1241
|
"main",
|
|
1240
1242
|
{
|
|
1241
1243
|
"appName": "Coding Academy",
|
|
1244
|
+
"showTopBar": true,
|
|
1242
1245
|
"children": [
|
|
1243
1246
|
{
|
|
1247
|
+
"type": "game-over-screen",
|
|
1248
|
+
"title": "Well Done!",
|
|
1244
1249
|
"menuItems": [
|
|
1245
1250
|
{
|
|
1251
|
+
"variant": "primary",
|
|
1246
1252
|
"label": "Play Again",
|
|
1247
|
-
"event": "RESTART"
|
|
1248
|
-
"variant": "primary"
|
|
1253
|
+
"event": "RESTART"
|
|
1249
1254
|
}
|
|
1250
|
-
]
|
|
1251
|
-
"type": "game-over-screen",
|
|
1252
|
-
"title": "Well Done!"
|
|
1255
|
+
]
|
|
1253
1256
|
}
|
|
1254
1257
|
],
|
|
1255
|
-
"type": "game-shell"
|
|
1256
|
-
"showTopBar": true
|
|
1258
|
+
"type": "game-shell"
|
|
1257
1259
|
}
|
|
1258
1260
|
]
|
|
1259
1261
|
]
|
|
@@ -1267,12 +1269,8 @@
|
|
|
1267
1269
|
"render-ui",
|
|
1268
1270
|
"main",
|
|
1269
1271
|
{
|
|
1270
|
-
"appName": "Coding Academy",
|
|
1271
|
-
"type": "game-shell",
|
|
1272
|
-
"showTopBar": true,
|
|
1273
1272
|
"children": [
|
|
1274
1273
|
{
|
|
1275
|
-
"type": "game-menu",
|
|
1276
1274
|
"title": "Event Handler Challenge",
|
|
1277
1275
|
"menuItems": [
|
|
1278
1276
|
{
|
|
@@ -1280,9 +1278,13 @@
|
|
|
1280
1278
|
"label": "Start",
|
|
1281
1279
|
"variant": "primary"
|
|
1282
1280
|
}
|
|
1283
|
-
]
|
|
1281
|
+
],
|
|
1282
|
+
"type": "game-menu"
|
|
1284
1283
|
}
|
|
1285
|
-
]
|
|
1284
|
+
],
|
|
1285
|
+
"appName": "Coding Academy",
|
|
1286
|
+
"type": "game-shell",
|
|
1287
|
+
"showTopBar": true
|
|
1286
1288
|
}
|
|
1287
1289
|
]
|
|
1288
1290
|
]
|
|
@@ -1389,11 +1391,16 @@
|
|
|
1389
1391
|
"ref": "AppShell.traits.AppLayout",
|
|
1390
1392
|
"name": "StudentProgressAppLayout",
|
|
1391
1393
|
"config": {
|
|
1394
|
+
"notificationClickEvent": "STUDENT_PROGRESS_NOTIFICATIONS_OPEN",
|
|
1395
|
+
"appName": "Coding Academy",
|
|
1396
|
+
"contentTrait": "@trait.StudentProgressCatalog",
|
|
1397
|
+
"searchEvent": "STUDENT_PROGRESS_SEARCH",
|
|
1398
|
+
"notifications": [],
|
|
1392
1399
|
"navItems": [
|
|
1393
1400
|
{
|
|
1394
1401
|
"label": "Sequencer",
|
|
1395
|
-
"
|
|
1396
|
-
"
|
|
1402
|
+
"href": "/sequencer",
|
|
1403
|
+
"icon": "list-ordered"
|
|
1397
1404
|
},
|
|
1398
1405
|
{
|
|
1399
1406
|
"icon": "wrench",
|
|
@@ -1410,12 +1417,7 @@
|
|
|
1410
1417
|
"href": "/progress",
|
|
1411
1418
|
"icon": "trending-up"
|
|
1412
1419
|
}
|
|
1413
|
-
]
|
|
1414
|
-
"notifications": [],
|
|
1415
|
-
"contentTrait": "@trait.StudentProgressCatalog",
|
|
1416
|
-
"appName": "Coding Academy",
|
|
1417
|
-
"notificationClickEvent": "STUDENT_PROGRESS_NOTIFICATIONS_OPEN",
|
|
1418
|
-
"searchEvent": "STUDENT_PROGRESS_SEARCH"
|
|
1420
|
+
]
|
|
1419
1421
|
},
|
|
1420
1422
|
"events": {
|
|
1421
1423
|
"SEARCH": "STUDENT_PROGRESS_SEARCH",
|
|
@@ -1486,31 +1488,31 @@
|
|
|
1486
1488
|
"render-ui",
|
|
1487
1489
|
"main",
|
|
1488
1490
|
{
|
|
1489
|
-
"
|
|
1491
|
+
"direction": "vertical",
|
|
1490
1492
|
"children": [
|
|
1491
1493
|
{
|
|
1492
|
-
"gap": "md",
|
|
1493
|
-
"align": "center",
|
|
1494
1494
|
"justify": "between",
|
|
1495
|
-
"type": "stack",
|
|
1496
1495
|
"direction": "horizontal",
|
|
1496
|
+
"type": "stack",
|
|
1497
|
+
"align": "center",
|
|
1498
|
+
"gap": "md",
|
|
1497
1499
|
"children": [
|
|
1498
1500
|
{
|
|
1499
1501
|
"children": [
|
|
1500
1502
|
{
|
|
1501
|
-
"
|
|
1502
|
-
"
|
|
1503
|
+
"name": "trending-up",
|
|
1504
|
+
"type": "icon"
|
|
1503
1505
|
},
|
|
1504
1506
|
{
|
|
1505
1507
|
"variant": "h2",
|
|
1506
|
-
"
|
|
1507
|
-
"
|
|
1508
|
+
"content": "Progress",
|
|
1509
|
+
"type": "typography"
|
|
1508
1510
|
}
|
|
1509
1511
|
],
|
|
1510
|
-
"direction": "horizontal",
|
|
1511
1512
|
"gap": "sm",
|
|
1512
|
-
"
|
|
1513
|
-
"align": "center"
|
|
1513
|
+
"direction": "horizontal",
|
|
1514
|
+
"align": "center",
|
|
1515
|
+
"type": "stack"
|
|
1514
1516
|
}
|
|
1515
1517
|
]
|
|
1516
1518
|
},
|
|
@@ -1524,8 +1526,8 @@
|
|
|
1524
1526
|
},
|
|
1525
1527
|
"@trait.StudentProgressBrowseList"
|
|
1526
1528
|
],
|
|
1527
|
-
"
|
|
1528
|
-
"
|
|
1529
|
+
"type": "stack",
|
|
1530
|
+
"gap": "lg"
|
|
1529
1531
|
}
|
|
1530
1532
|
]
|
|
1531
1533
|
]
|
|
@@ -1545,15 +1547,16 @@
|
|
|
1545
1547
|
"main",
|
|
1546
1548
|
{
|
|
1547
1549
|
"className": "py-8",
|
|
1550
|
+
"align": "center",
|
|
1548
1551
|
"children": [
|
|
1549
1552
|
{
|
|
1550
|
-
"
|
|
1551
|
-
"
|
|
1553
|
+
"type": "icon",
|
|
1554
|
+
"name": "bell"
|
|
1552
1555
|
},
|
|
1553
1556
|
{
|
|
1554
1557
|
"content": "No notifications",
|
|
1555
|
-
"
|
|
1556
|
-
"
|
|
1558
|
+
"type": "typography",
|
|
1559
|
+
"variant": "h3"
|
|
1557
1560
|
},
|
|
1558
1561
|
{
|
|
1559
1562
|
"color": "muted",
|
|
@@ -1562,16 +1565,15 @@
|
|
|
1562
1565
|
"content": "You're all caught up."
|
|
1563
1566
|
},
|
|
1564
1567
|
{
|
|
1565
|
-
"type": "button",
|
|
1566
|
-
"label": "Back to progress",
|
|
1567
1568
|
"action": "INIT",
|
|
1568
|
-
"
|
|
1569
|
+
"type": "button",
|
|
1570
|
+
"variant": "ghost",
|
|
1571
|
+
"label": "Back to progress"
|
|
1569
1572
|
}
|
|
1570
1573
|
],
|
|
1571
|
-
"
|
|
1572
|
-
"align": "center",
|
|
1574
|
+
"type": "stack",
|
|
1573
1575
|
"direction": "vertical",
|
|
1574
|
-
"
|
|
1576
|
+
"gap": "md"
|
|
1575
1577
|
}
|
|
1576
1578
|
]
|
|
1577
1579
|
]
|
|
@@ -1587,38 +1589,38 @@
|
|
|
1587
1589
|
"title": "Student Progress",
|
|
1588
1590
|
"metrics": [
|
|
1589
1591
|
{
|
|
1590
|
-
"
|
|
1591
|
-
"aggregation": "sum",
|
|
1592
|
-
"format": "number",
|
|
1593
|
-
"variant": "success",
|
|
1592
|
+
"field": "lessonsCompleted",
|
|
1594
1593
|
"icon": "check-circle",
|
|
1595
|
-
"
|
|
1594
|
+
"variant": "success",
|
|
1595
|
+
"aggregation": "sum",
|
|
1596
|
+
"label": "Lessons Completed",
|
|
1597
|
+
"format": "number"
|
|
1596
1598
|
},
|
|
1597
1599
|
{
|
|
1598
1600
|
"label": "Average Score",
|
|
1599
|
-
"field": "avgScore",
|
|
1600
1601
|
"icon": "star",
|
|
1601
|
-
"variant": "primary",
|
|
1602
1602
|
"format": "number",
|
|
1603
|
+
"variant": "primary",
|
|
1604
|
+
"field": "avgScore",
|
|
1603
1605
|
"aggregation": "avg"
|
|
1604
1606
|
},
|
|
1605
1607
|
{
|
|
1606
|
-
"
|
|
1608
|
+
"format": "number",
|
|
1607
1609
|
"label": "Streak",
|
|
1608
|
-
"aggregation": "max",
|
|
1609
1610
|
"field": "streak",
|
|
1610
|
-
"
|
|
1611
|
+
"icon": "flame",
|
|
1611
1612
|
"variant": "warning",
|
|
1612
|
-
"suffix": "d"
|
|
1613
|
+
"suffix": "d",
|
|
1614
|
+
"aggregation": "max"
|
|
1613
1615
|
},
|
|
1614
1616
|
{
|
|
1615
1617
|
"icon": "clock",
|
|
1616
1618
|
"format": "number",
|
|
1617
|
-
"field": "totalTimeMinutes",
|
|
1618
|
-
"aggregation": "sum",
|
|
1619
|
-
"label": "Total Time",
|
|
1620
1619
|
"variant": "info",
|
|
1621
|
-
"suffix": "m"
|
|
1620
|
+
"suffix": "m",
|
|
1621
|
+
"label": "Total Time",
|
|
1622
|
+
"aggregation": "sum",
|
|
1623
|
+
"field": "totalTimeMinutes"
|
|
1622
1624
|
}
|
|
1623
1625
|
]
|
|
1624
1626
|
},
|
|
@@ -1637,11 +1639,11 @@
|
|
|
1637
1639
|
"ref": "Graphs.traits.GraphItemGraph",
|
|
1638
1640
|
"name": "StudentProgressGraphs",
|
|
1639
1641
|
"config": {
|
|
1640
|
-
"dateField": "day",
|
|
1641
|
-
"showLegend": true,
|
|
1642
1642
|
"title": "Progress over time",
|
|
1643
1643
|
"chartType": "line",
|
|
1644
1644
|
"valueField": "progressPct",
|
|
1645
|
+
"showLegend": true,
|
|
1646
|
+
"dateField": "day",
|
|
1645
1647
|
"height": 280.0,
|
|
1646
1648
|
"subtitle": "Daily progress %"
|
|
1647
1649
|
},
|
|
@@ -1661,52 +1663,52 @@
|
|
|
1661
1663
|
"name": "StudentProgressBrowseList",
|
|
1662
1664
|
"linkedEntity": "StudentProgress",
|
|
1663
1665
|
"config": {
|
|
1664
|
-
"
|
|
1666
|
+
"gap": "sm",
|
|
1665
1667
|
"itemActions": [
|
|
1666
1668
|
{
|
|
1667
|
-
"
|
|
1669
|
+
"label": "View",
|
|
1668
1670
|
"variant": "ghost",
|
|
1669
|
-
"
|
|
1671
|
+
"event": "VIEW"
|
|
1670
1672
|
},
|
|
1671
1673
|
{
|
|
1672
|
-
"
|
|
1674
|
+
"variant": "ghost",
|
|
1673
1675
|
"label": "Edit",
|
|
1674
|
-
"
|
|
1676
|
+
"event": "EDIT"
|
|
1675
1677
|
},
|
|
1676
1678
|
{
|
|
1677
1679
|
"label": "Delete",
|
|
1678
|
-
"
|
|
1679
|
-
"
|
|
1680
|
+
"event": "DELETE",
|
|
1681
|
+
"variant": "danger"
|
|
1680
1682
|
}
|
|
1681
1683
|
],
|
|
1682
|
-
"
|
|
1684
|
+
"cols": 1.0,
|
|
1683
1685
|
"fields": [
|
|
1684
1686
|
{
|
|
1685
|
-
"
|
|
1686
|
-
"variant": "h4",
|
|
1687
|
+
"label": "Student",
|
|
1687
1688
|
"icon": "user",
|
|
1688
|
-
"
|
|
1689
|
+
"name": "student",
|
|
1690
|
+
"variant": "h4"
|
|
1689
1691
|
},
|
|
1690
1692
|
{
|
|
1691
1693
|
"name": "lessonsCompleted",
|
|
1692
|
-
"
|
|
1693
|
-
"
|
|
1694
|
+
"label": "Lessons Completed",
|
|
1695
|
+
"variant": "body"
|
|
1694
1696
|
},
|
|
1695
1697
|
{
|
|
1696
|
-
"name": "avgScore",
|
|
1697
1698
|
"variant": "badge",
|
|
1699
|
+
"name": "avgScore",
|
|
1698
1700
|
"label": "Avg Score"
|
|
1699
1701
|
},
|
|
1700
1702
|
{
|
|
1701
|
-
"variant": "body",
|
|
1702
1703
|
"name": "streak",
|
|
1703
|
-
"label": "Streak"
|
|
1704
|
+
"label": "Streak",
|
|
1705
|
+
"variant": "body"
|
|
1704
1706
|
},
|
|
1705
1707
|
{
|
|
1706
|
-
"variant": "caption",
|
|
1707
1708
|
"format": "date",
|
|
1708
|
-
"
|
|
1709
|
-
"
|
|
1709
|
+
"name": "lastActiveAt",
|
|
1710
|
+
"variant": "caption",
|
|
1711
|
+
"label": "Last Active"
|
|
1710
1712
|
}
|
|
1711
1713
|
]
|
|
1712
1714
|
},
|
|
@@ -1734,8 +1736,6 @@
|
|
|
1734
1736
|
"name": "StudentProgressView",
|
|
1735
1737
|
"linkedEntity": "StudentProgress",
|
|
1736
1738
|
"config": {
|
|
1737
|
-
"mode": "edit",
|
|
1738
|
-
"icon": "eye",
|
|
1739
1739
|
"fields": [
|
|
1740
1740
|
"student",
|
|
1741
1741
|
"lessonsCompleted",
|
|
@@ -1745,7 +1745,9 @@
|
|
|
1745
1745
|
"progressPct",
|
|
1746
1746
|
"lastActiveAt"
|
|
1747
1747
|
],
|
|
1748
|
-
"
|
|
1748
|
+
"icon": "eye",
|
|
1749
|
+
"title": "View Progress",
|
|
1750
|
+
"mode": "edit"
|
|
1749
1751
|
},
|
|
1750
1752
|
"events": {
|
|
1751
1753
|
"OPEN": "VIEW"
|
|
@@ -1766,6 +1768,8 @@
|
|
|
1766
1768
|
"name": "StudentProgressEdit",
|
|
1767
1769
|
"linkedEntity": "StudentProgress",
|
|
1768
1770
|
"config": {
|
|
1771
|
+
"mode": "edit",
|
|
1772
|
+
"icon": "edit",
|
|
1769
1773
|
"fields": [
|
|
1770
1774
|
"student",
|
|
1771
1775
|
"lessonsCompleted",
|
|
@@ -1775,9 +1779,7 @@
|
|
|
1775
1779
|
"progressPct",
|
|
1776
1780
|
"lastActiveAt"
|
|
1777
1781
|
],
|
|
1778
|
-
"title": "Edit Progress"
|
|
1779
|
-
"icon": "edit",
|
|
1780
|
-
"mode": "edit"
|
|
1782
|
+
"title": "Edit Progress"
|
|
1781
1783
|
},
|
|
1782
1784
|
"events": {
|
|
1783
1785
|
"OPEN": "EDIT"
|
|
@@ -1798,10 +1800,10 @@
|
|
|
1798
1800
|
"name": "StudentProgressDelete",
|
|
1799
1801
|
"linkedEntity": "StudentProgress",
|
|
1800
1802
|
"config": {
|
|
1801
|
-
"
|
|
1803
|
+
"title": "Delete Progress",
|
|
1802
1804
|
"icon": "alert-triangle",
|
|
1803
|
-
"
|
|
1804
|
-
"
|
|
1805
|
+
"alertMessage": "This action cannot be undone.",
|
|
1806
|
+
"confirmLabel": "Delete"
|
|
1805
1807
|
},
|
|
1806
1808
|
"events": {
|
|
1807
1809
|
"CONFIRM": "CONFIRM_DELETE",
|
|
@@ -1988,4 +1990,4 @@
|
|
|
1988
1990
|
]
|
|
1989
1991
|
}
|
|
1990
1992
|
]
|
|
1991
|
-
}
|
|
1993
|
+
}
|