pxt-core 9.3.10 → 9.3.12
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/built/pxt.js +25 -0
- package/built/pxtblockly.js +67 -0
- package/built/pxtblocks.d.ts +26 -0
- package/built/pxtblocks.js +67 -0
- package/built/pxteditor.d.ts +4 -1
- package/built/pxtlib.d.ts +11 -0
- package/built/pxtlib.js +25 -0
- package/built/target.js +1 -1
- package/built/web/main.js +1 -1
- package/built/web/pxtapp.js +1 -1
- package/built/web/pxtblockly.js +2 -2
- package/built/web/pxtblocks.js +1 -1
- package/built/web/pxtembed.js +2 -2
- package/built/web/pxtlib.js +1 -1
- package/built/web/pxtworker.js +1 -1
- package/built/web/teachertool/js/{main.1c77038c.js → main.3a94a341.js} +2 -2
- package/package.json +2 -2
- package/webapp/public/teachertool.html +3 -1
package/built/pxt.js
CHANGED
|
@@ -103251,8 +103251,33 @@ var pxt;
|
|
|
103251
103251
|
request.onerror = () => this.errorHandler(request.error, "deleteAll", reject);
|
|
103252
103252
|
});
|
|
103253
103253
|
}
|
|
103254
|
+
getObjectStoreWrapper(storeName) {
|
|
103255
|
+
return new IDBObjectStoreWrapper(this, storeName);
|
|
103256
|
+
}
|
|
103254
103257
|
}
|
|
103255
103258
|
BrowserUtils.IDBWrapper = IDBWrapper;
|
|
103259
|
+
class IDBObjectStoreWrapper {
|
|
103260
|
+
constructor(db, storeName) {
|
|
103261
|
+
this.db = db;
|
|
103262
|
+
this.storeName = storeName;
|
|
103263
|
+
}
|
|
103264
|
+
getAsync(id) {
|
|
103265
|
+
return this.db.getAsync(this.storeName, id);
|
|
103266
|
+
}
|
|
103267
|
+
getAllAsync() {
|
|
103268
|
+
return this.db.getAllAsync(this.storeName);
|
|
103269
|
+
}
|
|
103270
|
+
setAsync(data) {
|
|
103271
|
+
return this.db.setAsync(this.storeName, data);
|
|
103272
|
+
}
|
|
103273
|
+
async deleteAsync(id) {
|
|
103274
|
+
await this.db.deleteAsync(this.storeName, id);
|
|
103275
|
+
}
|
|
103276
|
+
async deleteAllAsync() {
|
|
103277
|
+
await this.db.deleteAllAsync(this.storeName);
|
|
103278
|
+
}
|
|
103279
|
+
}
|
|
103280
|
+
BrowserUtils.IDBObjectStoreWrapper = IDBObjectStoreWrapper;
|
|
103256
103281
|
class IndexedDbTranslationDb {
|
|
103257
103282
|
constructor(db) {
|
|
103258
103283
|
this.db = db;
|
package/built/pxtblockly.js
CHANGED
|
@@ -11522,6 +11522,73 @@ var pxt;
|
|
|
11522
11522
|
})(blocks = pxt.blocks || (pxt.blocks = {}));
|
|
11523
11523
|
})(pxt || (pxt = {}));
|
|
11524
11524
|
var pxt;
|
|
11525
|
+
(function (pxt) {
|
|
11526
|
+
var blocks;
|
|
11527
|
+
(function (blocks) {
|
|
11528
|
+
class Rubric {
|
|
11529
|
+
constructor(criteria) {
|
|
11530
|
+
this.criteria = criteria;
|
|
11531
|
+
}
|
|
11532
|
+
}
|
|
11533
|
+
blocks.Rubric = Rubric;
|
|
11534
|
+
function parseRubric(rubric) {
|
|
11535
|
+
let rubricObj;
|
|
11536
|
+
try {
|
|
11537
|
+
rubricObj = JSON.parse(rubric);
|
|
11538
|
+
}
|
|
11539
|
+
catch (e) {
|
|
11540
|
+
console.error(`Error parsing rubric! ${e}`);
|
|
11541
|
+
return null;
|
|
11542
|
+
}
|
|
11543
|
+
if (!rubricObj.criteria) {
|
|
11544
|
+
console.error(`No criteria found in rubric`);
|
|
11545
|
+
return null;
|
|
11546
|
+
}
|
|
11547
|
+
const criteria = rubricObj.criteria.map((c) => {
|
|
11548
|
+
return blocks.getCriteria(c);
|
|
11549
|
+
}).filter((r) => !!r);
|
|
11550
|
+
return new Rubric(criteria);
|
|
11551
|
+
}
|
|
11552
|
+
blocks.parseRubric = parseRubric;
|
|
11553
|
+
})(blocks = pxt.blocks || (pxt.blocks = {}));
|
|
11554
|
+
})(pxt || (pxt = {}));
|
|
11555
|
+
var pxt;
|
|
11556
|
+
(function (pxt) {
|
|
11557
|
+
var blocks;
|
|
11558
|
+
(function (blocks) {
|
|
11559
|
+
function getCriteria(data) {
|
|
11560
|
+
switch (data.criteriaId) {
|
|
11561
|
+
case "blockCheck":
|
|
11562
|
+
return new BlockCheckCriteria(data.displayText, data.blockRequirements);
|
|
11563
|
+
case "comment":
|
|
11564
|
+
return new CommentCriteria(data.displayText, data.count);
|
|
11565
|
+
default:
|
|
11566
|
+
console.error(`Unrecognized criteriaId: ${data.criteriaId}`);
|
|
11567
|
+
return null;
|
|
11568
|
+
}
|
|
11569
|
+
}
|
|
11570
|
+
blocks.getCriteria = getCriteria;
|
|
11571
|
+
class RubricCriteria {
|
|
11572
|
+
constructor(displayText) {
|
|
11573
|
+
this.displayText = displayText;
|
|
11574
|
+
}
|
|
11575
|
+
}
|
|
11576
|
+
blocks.RubricCriteria = RubricCriteria;
|
|
11577
|
+
class BlockCheckCriteria extends RubricCriteria {
|
|
11578
|
+
constructor(displayText, blockRequirements) {
|
|
11579
|
+
super(displayText);
|
|
11580
|
+
this.blockRequirements = blockRequirements;
|
|
11581
|
+
}
|
|
11582
|
+
}
|
|
11583
|
+
class CommentCriteria extends RubricCriteria {
|
|
11584
|
+
constructor(displayText, count) {
|
|
11585
|
+
super(displayText);
|
|
11586
|
+
this.count = count;
|
|
11587
|
+
}
|
|
11588
|
+
}
|
|
11589
|
+
})(blocks = pxt.blocks || (pxt.blocks = {}));
|
|
11590
|
+
})(pxt || (pxt = {}));
|
|
11591
|
+
var pxt;
|
|
11525
11592
|
(function (pxt) {
|
|
11526
11593
|
var blocks;
|
|
11527
11594
|
(function (blocks) {
|
package/built/pxtblocks.d.ts
CHANGED
|
@@ -392,6 +392,32 @@ declare namespace pxt.blocks {
|
|
|
392
392
|
declare namespace pxt.blocks {
|
|
393
393
|
function initMathRoundBlock(): void;
|
|
394
394
|
}
|
|
395
|
+
declare namespace pxt.blocks {
|
|
396
|
+
class Rubric {
|
|
397
|
+
criteria: RubricCriteria[];
|
|
398
|
+
constructor(criteria: RubricCriteria[]);
|
|
399
|
+
}
|
|
400
|
+
function parseRubric(rubric: string): Rubric;
|
|
401
|
+
}
|
|
402
|
+
declare namespace pxt.blocks {
|
|
403
|
+
interface BlockSet {
|
|
404
|
+
blocks: string[];
|
|
405
|
+
count: number;
|
|
406
|
+
}
|
|
407
|
+
export interface CriteriaData {
|
|
408
|
+
criteriaId: string;
|
|
409
|
+
displayText: string;
|
|
410
|
+
blockRequirements?: BlockSet[];
|
|
411
|
+
count?: number;
|
|
412
|
+
}
|
|
413
|
+
export function getCriteria(data: CriteriaData): RubricCriteria;
|
|
414
|
+
export abstract class RubricCriteria {
|
|
415
|
+
displayText: string;
|
|
416
|
+
abstract criteriaId: string;
|
|
417
|
+
constructor(displayText: string);
|
|
418
|
+
}
|
|
419
|
+
export {};
|
|
420
|
+
}
|
|
395
421
|
declare namespace pxt.blocks {
|
|
396
422
|
function validateBlocksExist({ usedBlocks, requiredBlockCounts }: {
|
|
397
423
|
usedBlocks: Blockly.Block[];
|
package/built/pxtblocks.js
CHANGED
|
@@ -7960,6 +7960,73 @@ var pxt;
|
|
|
7960
7960
|
})(blocks = pxt.blocks || (pxt.blocks = {}));
|
|
7961
7961
|
})(pxt || (pxt = {}));
|
|
7962
7962
|
var pxt;
|
|
7963
|
+
(function (pxt) {
|
|
7964
|
+
var blocks;
|
|
7965
|
+
(function (blocks) {
|
|
7966
|
+
class Rubric {
|
|
7967
|
+
constructor(criteria) {
|
|
7968
|
+
this.criteria = criteria;
|
|
7969
|
+
}
|
|
7970
|
+
}
|
|
7971
|
+
blocks.Rubric = Rubric;
|
|
7972
|
+
function parseRubric(rubric) {
|
|
7973
|
+
let rubricObj;
|
|
7974
|
+
try {
|
|
7975
|
+
rubricObj = JSON.parse(rubric);
|
|
7976
|
+
}
|
|
7977
|
+
catch (e) {
|
|
7978
|
+
console.error(`Error parsing rubric! ${e}`);
|
|
7979
|
+
return null;
|
|
7980
|
+
}
|
|
7981
|
+
if (!rubricObj.criteria) {
|
|
7982
|
+
console.error(`No criteria found in rubric`);
|
|
7983
|
+
return null;
|
|
7984
|
+
}
|
|
7985
|
+
const criteria = rubricObj.criteria.map((c) => {
|
|
7986
|
+
return blocks.getCriteria(c);
|
|
7987
|
+
}).filter((r) => !!r);
|
|
7988
|
+
return new Rubric(criteria);
|
|
7989
|
+
}
|
|
7990
|
+
blocks.parseRubric = parseRubric;
|
|
7991
|
+
})(blocks = pxt.blocks || (pxt.blocks = {}));
|
|
7992
|
+
})(pxt || (pxt = {}));
|
|
7993
|
+
var pxt;
|
|
7994
|
+
(function (pxt) {
|
|
7995
|
+
var blocks;
|
|
7996
|
+
(function (blocks) {
|
|
7997
|
+
function getCriteria(data) {
|
|
7998
|
+
switch (data.criteriaId) {
|
|
7999
|
+
case "blockCheck":
|
|
8000
|
+
return new BlockCheckCriteria(data.displayText, data.blockRequirements);
|
|
8001
|
+
case "comment":
|
|
8002
|
+
return new CommentCriteria(data.displayText, data.count);
|
|
8003
|
+
default:
|
|
8004
|
+
console.error(`Unrecognized criteriaId: ${data.criteriaId}`);
|
|
8005
|
+
return null;
|
|
8006
|
+
}
|
|
8007
|
+
}
|
|
8008
|
+
blocks.getCriteria = getCriteria;
|
|
8009
|
+
class RubricCriteria {
|
|
8010
|
+
constructor(displayText) {
|
|
8011
|
+
this.displayText = displayText;
|
|
8012
|
+
}
|
|
8013
|
+
}
|
|
8014
|
+
blocks.RubricCriteria = RubricCriteria;
|
|
8015
|
+
class BlockCheckCriteria extends RubricCriteria {
|
|
8016
|
+
constructor(displayText, blockRequirements) {
|
|
8017
|
+
super(displayText);
|
|
8018
|
+
this.blockRequirements = blockRequirements;
|
|
8019
|
+
}
|
|
8020
|
+
}
|
|
8021
|
+
class CommentCriteria extends RubricCriteria {
|
|
8022
|
+
constructor(displayText, count) {
|
|
8023
|
+
super(displayText);
|
|
8024
|
+
this.count = count;
|
|
8025
|
+
}
|
|
8026
|
+
}
|
|
8027
|
+
})(blocks = pxt.blocks || (pxt.blocks = {}));
|
|
8028
|
+
})(pxt || (pxt = {}));
|
|
8029
|
+
var pxt;
|
|
7963
8030
|
(function (pxt) {
|
|
7964
8031
|
var blocks;
|
|
7965
8032
|
(function (blocks) {
|
package/built/pxteditor.d.ts
CHANGED
|
@@ -562,7 +562,7 @@ declare namespace pxt.editor {
|
|
|
562
562
|
/**
|
|
563
563
|
* Request action
|
|
564
564
|
*/
|
|
565
|
-
action: "switchblocks" | "switchjavascript" | "startsimulator" | "restartsimulator" | "stopsimulator" | "hidesimulator" | "showsimulator" | "closeflyout" | "newproject" | "importproject" | "importtutorial" | "openheader" | "proxytosim" | "undo" | "redo" | "renderblocks" | "renderpython" | "setscale" | "startactivity" | "saveproject" | "unloadproject" | "shareproject" | "savelocalprojectstocloud" | "projectcloudstatus" | "requestprojectcloudstatus" | "convertcloudprojectstolocal" | "setlanguagerestriction" | "toggletrace" | "togglehighcontrast" | "sethighcontrast" | "togglegreenscreen" | "settracestate" | "setsimulatorfullscreen" | "print" | "pair" | "workspacesync" | "workspacereset" | "workspacesave" | "workspaceloaded" | "workspaceevent" | "workspacediagnostics" | "event" | "simevent" | "info" | "tutorialevent" | ExtInitializeType | ExtDataStreamType | ExtUserCodeType | ExtReadCodeType | ExtWriteCodeType;
|
|
565
|
+
action: "switchblocks" | "switchjavascript" | "startsimulator" | "restartsimulator" | "stopsimulator" | "hidesimulator" | "showsimulator" | "closeflyout" | "newproject" | "importproject" | "importtutorial" | "openheader" | "proxytosim" | "undo" | "redo" | "renderblocks" | "renderpython" | "setscale" | "startactivity" | "saveproject" | "unloadproject" | "shareproject" | "savelocalprojectstocloud" | "projectcloudstatus" | "requestprojectcloudstatus" | "convertcloudprojectstolocal" | "setlanguagerestriction" | "toggletrace" | "togglehighcontrast" | "sethighcontrast" | "togglegreenscreen" | "settracestate" | "setsimulatorfullscreen" | "print" | "pair" | "workspacesync" | "workspacereset" | "workspacesave" | "workspaceloaded" | "workspaceevent" | "workspacediagnostics" | "event" | "simevent" | "info" | "tutorialevent" | "editorcontentloaded" | ExtInitializeType | ExtDataStreamType | ExtUserCodeType | ExtReadCodeType | ExtWriteCodeType;
|
|
566
566
|
}
|
|
567
567
|
/**
|
|
568
568
|
* Request sent by the editor when a tick/error/expection is registered
|
|
@@ -616,6 +616,9 @@ declare namespace pxt.editor {
|
|
|
616
616
|
*/
|
|
617
617
|
options?: ProjectCreationOptions;
|
|
618
618
|
}
|
|
619
|
+
interface EditorContentLoadedRequest extends EditorMessageRequest {
|
|
620
|
+
action: "editorcontentloaded";
|
|
621
|
+
}
|
|
619
622
|
interface EditorMessageSetScaleRequest extends EditorMessageRequest {
|
|
620
623
|
action: "setscale";
|
|
621
624
|
scale: number;
|
package/built/pxtlib.d.ts
CHANGED
|
@@ -824,6 +824,17 @@ declare namespace pxt.BrowserUtils {
|
|
|
824
824
|
setAsync(storeName: string, data: any): Promise<void>;
|
|
825
825
|
deleteAsync(storeName: string, id: string): Promise<void>;
|
|
826
826
|
deleteAllAsync(storeName: string): Promise<void>;
|
|
827
|
+
getObjectStoreWrapper<T>(storeName: string): IDBObjectStoreWrapper<T>;
|
|
828
|
+
}
|
|
829
|
+
export class IDBObjectStoreWrapper<T> {
|
|
830
|
+
protected db: IDBWrapper;
|
|
831
|
+
protected storeName: string;
|
|
832
|
+
constructor(db: IDBWrapper, storeName: string);
|
|
833
|
+
getAsync(id: string): Promise<T>;
|
|
834
|
+
getAllAsync(): Promise<T[]>;
|
|
835
|
+
setAsync(data: T): Promise<void>;
|
|
836
|
+
deleteAsync(id: string): Promise<void>;
|
|
837
|
+
deleteAllAsync(): Promise<void>;
|
|
827
838
|
}
|
|
828
839
|
export function translationDbAsync(): Promise<ITranslationDb>;
|
|
829
840
|
export function clearTranslationDbAsync(): Promise<void>;
|
package/built/pxtlib.js
CHANGED
|
@@ -5565,8 +5565,33 @@ var pxt;
|
|
|
5565
5565
|
request.onerror = () => this.errorHandler(request.error, "deleteAll", reject);
|
|
5566
5566
|
});
|
|
5567
5567
|
}
|
|
5568
|
+
getObjectStoreWrapper(storeName) {
|
|
5569
|
+
return new IDBObjectStoreWrapper(this, storeName);
|
|
5570
|
+
}
|
|
5568
5571
|
}
|
|
5569
5572
|
BrowserUtils.IDBWrapper = IDBWrapper;
|
|
5573
|
+
class IDBObjectStoreWrapper {
|
|
5574
|
+
constructor(db, storeName) {
|
|
5575
|
+
this.db = db;
|
|
5576
|
+
this.storeName = storeName;
|
|
5577
|
+
}
|
|
5578
|
+
getAsync(id) {
|
|
5579
|
+
return this.db.getAsync(this.storeName, id);
|
|
5580
|
+
}
|
|
5581
|
+
getAllAsync() {
|
|
5582
|
+
return this.db.getAllAsync(this.storeName);
|
|
5583
|
+
}
|
|
5584
|
+
setAsync(data) {
|
|
5585
|
+
return this.db.setAsync(this.storeName, data);
|
|
5586
|
+
}
|
|
5587
|
+
async deleteAsync(id) {
|
|
5588
|
+
await this.db.deleteAsync(this.storeName, id);
|
|
5589
|
+
}
|
|
5590
|
+
async deleteAllAsync() {
|
|
5591
|
+
await this.db.deleteAllAsync(this.storeName);
|
|
5592
|
+
}
|
|
5593
|
+
}
|
|
5594
|
+
BrowserUtils.IDBObjectStoreWrapper = IDBObjectStoreWrapper;
|
|
5570
5595
|
class IndexedDbTranslationDb {
|
|
5571
5596
|
constructor(db) {
|
|
5572
5597
|
this.db = db;
|