@capytale/activity.js 3.1.13 → 3.1.14
Sign up to get free protection for your applications and to get access to all the features.
@@ -18,6 +18,7 @@ declare abstract class ActivityNode extends Node {
|
|
18
18
|
readonly created: Field<'Date', 'Single', 'Read'>;
|
19
19
|
readonly changed: Field<'Date', 'Single', 'Read'>;
|
20
20
|
readonly shared_notes: Field<'String', 'Single', 'Write'>;
|
21
|
+
readonly has_evaluation: Field<'Boolean', 'Single', 'Read'>;
|
21
22
|
/**
|
22
23
|
* activityType :
|
23
24
|
* - console.python
|
@@ -25,6 +25,7 @@ class ActivityNode extends Node {
|
|
25
25
|
created: Field('Date', 'Single', 'Read', 'created'),
|
26
26
|
changed: Field('Date', 'Single', 'Read', 'changed'),
|
27
27
|
shared_notes: Field('String', 'Single', 'Write', 'field_answer_sheet'),
|
28
|
+
has_evaluation: Field('Boolean', 'Single', 'Read'),
|
28
29
|
};
|
29
30
|
/**
|
30
31
|
* activityType :
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/activity/activityBunch/base/nodes/base.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,EAAE,SAAS,EAAM,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,aAAa,MAAM,SAAS,CAAC;AAEpC,SAAS,KAAK,CAAC,CAAgC;IAC3C,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,IAAI,aAAa,CAAC,0CAA0C,CAAC,CAAC;IACjG,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,IAAI,aAAa,CAAC,0CAA0C,CAAC,CAAC;IACjG,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;AAClE,CAAC;AAED,MAAe,YAAa,SAAQ,IAAI;IACpC,MAAM,CAAU,MAAM,GAA8B;QAChD,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;QAC1B,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC;QAC3E,eAAe,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC;QACpD,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;QACvC,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC;QAC/C,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;QAC9C,gBAAgB,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC;QACtD,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;QACjD,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;QAChD,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC;QAC3D,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,CAAC;QACrE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;QACnD,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;QACnD,YAAY,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,CAAC;
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/activity/activityBunch/base/nodes/base.ts"],"names":[],"mappings":"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","sourcesContent":["import Node from \"~entity/node\";\nimport { Field, TitleField, ReferenceField } from \"~entity/fieldDefinition\";\nimport type { FieldDefinitionCollection } from \"~entity/fieldDefinition\";\nimport { int_to_wf, wf, wf_to_int } from \"~/field/workflow\";\nimport ActivityError from \"~/error\";\n\nfunction isNew(n: ActivityNode | AssignmentNode): boolean {\n if (n.created.value == null) throw new ActivityError('La propriété created n\\'est pas définie.');\n if (n.changed.value == null) throw new ActivityError('La propriété changed n\\'est pas définie.');\n return n.created.value.getTime() >= n.changed.value.getTime();\n}\n\nabstract class ActivityNode extends Node {\n static readonly fields: FieldDefinitionCollection = {\n title: TitleField('Write'),\n _instructions: Field('FormatedText', 'Multi', 'Write', 'field_description'),\n status_clonable: Field('Boolean', 'Single', 'Write'),\n code: Field('String', 'Single', 'Read'),\n associates: Field('Reference', 'Multi', 'Read'),\n attached_files: Field('File', 'Multi', 'Read'),\n access_timerange: Field('TimeRange', 'Single', 'Read'),\n access_tr_mode: Field('String', 'Single', 'Read'),\n activity_type: Field('String', 'Single', 'Read'),\n _config: Field('String', 'Single', 'Write', 'field_config'),\n _anti_cheat: Field('AntiCheat', 'Single', 'Read', 'field_anti_cheat'),\n created: Field('Date', 'Single', 'Read', 'created'),\n changed: Field('Date', 'Single', 'Read', 'changed'),\n shared_notes: Field('String', 'Single', 'Write', 'field_answer_sheet'),\n has_evaluation: Field('Boolean', 'Single', 'Read'),\n };\n declare readonly title: TitleField<'Write'>;\n declare readonly _instructions: Field<'FormatedText', 'Multi', 'Write'>;\n declare readonly status_clonable: Field<'Boolean', 'Single', 'Write'>;\n declare readonly code: Field<'String', 'Single', 'Read'>;\n declare readonly associates: Field<'Reference', 'Multi', 'Read'>;\n declare readonly attached_files: Field<'File', 'Multi', 'Read'>;\n declare readonly access_timerange: Field<'TimeRange', 'Single', 'Read'>;\n declare readonly access_tr_mode: Field<'String', 'Single', 'Read'>;\n declare readonly activity_type: Field<'String', 'Single', 'Read'>;\n declare readonly _config: Field<'String', 'Single', 'Write'>;\n declare readonly _anti_cheat: Field<'AntiCheat', 'Single', 'Read'>;\n declare readonly created: Field<'Date', 'Single', 'Read'>;\n declare readonly changed: Field<'Date', 'Single', 'Read'>;\n declare readonly shared_notes: Field<'String', 'Single', 'Write'>;\n declare readonly has_evaluation: Field<'Boolean', 'Single', 'Read'>;\n\n /**\n * activityType :\n * - console.python\n * - notebook.python\n * - notebook.sql\n * - notebook.ocaml\n * - html\n * - pixel\n * - codabloc\n */\n get activityType(): string {\n return this.activity_type.value as string;\n };\n\n /**\n * Indique si l'objet est nouveau ou non.\n * Cette propriété n'est pas mise à jour automatiquement lors d'une sauvegarde ou d'un touch().\n */\n get isNew(): boolean {\n return isNew(this);\n }\n\n}\n\nabstract class AssignmentNode extends Node {\n static readonly bundle = 'student_assignment';\n static readonly fields: FieldDefinitionCollection = {\n activity: ReferenceField('Single'),\n grading: Field('String', 'Single', 'Write', 'field_evaluation'),\n comments: Field('String', 'Single', 'Write', 'field_appreciation'),\n _wf: Field('Number', 'Single', 'Write', 'field_workflow'),\n created: Field('Date', 'Single', 'Read', 'created'),\n changed: Field('Date', 'Single', 'Read', 'changed'),\n shared_notes: Field('String', 'Single', 'Write', 'field_answer_sheet'),\n };\n declare readonly activity: ReferenceField<'Single'>;\n declare readonly grading: Field<'String', 'Single', 'Write'>;\n declare readonly comments: Field<'String', 'Single', 'Write'>;\n declare protected readonly _wf: Field<'Number', 'Single', 'Write'>;\n declare readonly created: Field<'Date', 'Single', 'Read'>;\n declare readonly changed: Field<'Date', 'Single', 'Read'>;\n declare readonly shared_notes: Field<'String', 'Single', 'Write'>;\n get workflow(): wf { return int_to_wf(this._wf.value as number); }\n set workflow(v: wf) {\n let msg = \"Assigner une valeur à la propriété workflow est interdit. Utilisez la méthode asynchrone changeWorkflow à la place.\";\n console.log(msg);\n throw new ActivityError(msg);\n }\n\n /**\n * Indique si l'objet est nouveau ou non.\n * Cette propriété n'est pas mise à jour automatiquement lors d'une sauvegarde ou d'un touch().\n */\n get isNew(): boolean {\n return isNew(this);\n }\n changeWorkflow(v: wf): Promise<void> {\n let wfn = wf_to_int(v);\n if (this._wf.value === wfn) return Promise.resolve();\n this._wf.value = wfn;\n return this._wf.save();\n }\n}\n\nexport { ActivityNode, AssignmentNode }\n"]}
|