@capytale/activity.js 3.1.9 → 3.1.10
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.
|
@@ -23,8 +23,9 @@ export default class ActivitySession<AB extends ActivityBunch = ActivityBunch> {
|
|
|
23
23
|
get friendlyType(): string;
|
|
24
24
|
get activityType(): string;
|
|
25
25
|
get returnUrl(): string;
|
|
26
|
-
get formUrl(): string |
|
|
27
|
-
get
|
|
26
|
+
get formUrl(): string | null;
|
|
27
|
+
get code(): string | null;
|
|
28
|
+
get codeLink(): string | null;
|
|
28
29
|
get icon(): {
|
|
29
30
|
path: string;
|
|
30
31
|
style?: {
|
|
@@ -42,17 +42,25 @@ export default class ActivitySession {
|
|
|
42
42
|
}
|
|
43
43
|
get formUrl() {
|
|
44
44
|
if (this.mode !== 'create')
|
|
45
|
-
return
|
|
45
|
+
return null;
|
|
46
46
|
return this.resolver({ name: 'activityNav', page: 'edit', id: this.activityBunch.activityNode.nid });
|
|
47
47
|
}
|
|
48
|
-
get
|
|
48
|
+
get code() {
|
|
49
49
|
if (this.mode !== 'create')
|
|
50
|
-
return
|
|
50
|
+
return null;
|
|
51
51
|
const code = this.activityBunch.code.value;
|
|
52
52
|
if (code == null)
|
|
53
|
-
return
|
|
53
|
+
return null;
|
|
54
54
|
if (code === 'student_activity')
|
|
55
|
-
return
|
|
55
|
+
return null;
|
|
56
|
+
if (this.me?.profil !== 'teacher')
|
|
57
|
+
return null;
|
|
58
|
+
return code;
|
|
59
|
+
}
|
|
60
|
+
get codeLink() {
|
|
61
|
+
const code = this.code;
|
|
62
|
+
if (code == null)
|
|
63
|
+
return null;
|
|
56
64
|
return this.resolver({ name: 'sa.launch', code: code }, true);
|
|
57
65
|
}
|
|
58
66
|
get icon() { return this.type.icon; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/activity/activitySession/index.ts"],"names":[],"mappings":"AAcA,SAAS,aAAa,CAAC,IAAU;IAC7B,OAAO;QACH,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,SAAS;QAChC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;QACtC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;KACzC,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAC,EAAM;IACvB,OAAO;QACH,GAAG,EAAE,EAAE,CAAC,QAAQ;QAChB,MAAM,EAAE,EAAE,CAAC,SAAS;QACpB,MAAM,EAAE,EAAE,CAAC,MAAM;KACpB,CAAC;AACN,CAAC;AACD,MAAM,CAAC,OAAO,OAAO,eAAe;IACf,QAAQ,CAAgB;IAChC,aAAa,CAAK;IAClB,EAAE,CAAY;IACd,IAAI,CAAe;IACnB,IAAI,CAAe;IACnB,OAAO,CAAW;IAC3B,YAAY,QAAuB,EAAE,QAAuB,EAAE,IAAkB,EAAE,EAAa,EAAE,IAAkB,EAAE,OAAc;QAC/H,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,QAAc,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,KAAK,YAAY,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAA,CAAC,CAAC;IAC5D,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAA,CAAC,CAAC;IAC7D,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAA,CAAC,CAAC;IAC7D,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA,CAAC,CAAC;IAC5C,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAA,CAAC,CAAC;IAC7D,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5H,CAAC;IACD,IAAI,OAAO;QACP,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/activity/activitySession/index.ts"],"names":[],"mappings":"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","sourcesContent":["import ActivityBunch from \"~/activityBunch/base\";\nimport type { Me } from \"~api/me/backend\";\nimport User from \"~entity/user\";\nimport type { ActivityType } from \"~/activityType/activityType\";\nimport type { RouteResolver } from \"~api/http/route\";\n\nexport type ActivityMode = \"assignment\" | \"create\" | \"review\" | \"view\" | \"detached\";\n\nexport type Student = {\n readonly nom?: string;\n readonly prenom?: string;\n readonly classe?: string;\n};\n\nfunction userAsStudent(user: User): Student {\n return {\n nom: user.nom.value || undefined,\n prenom: user.prenom.value || undefined,\n classe: user.classe.value || undefined,\n };\n}\n\nfunction meAsStudent(me: Me): Student {\n return {\n nom: me.lastname,\n prenom: me.firstname,\n classe: me.classe,\n };\n}\nexport default class ActivitySession<AB extends ActivityBunch = ActivityBunch> {\n private readonly resolver: RouteResolver;\n readonly activityBunch: AB;\n readonly me: Me | null;\n readonly type: ActivityType;\n readonly mode: ActivityMode;\n readonly student?: Student;\n constructor(resolver: RouteResolver, activity: ActivityBunch, type: ActivityType, me: Me | null, mode: ActivityMode, student?: User) {\n this.resolver = resolver;\n this.activityBunch = activity as AB;\n this.type = type;\n this.me = me;\n if (mode === 'assignment' && me != null) {\n this.student = meAsStudent(me);\n } else if (student != null) {\n this.student = userAsStudent(student!);\n }\n this.mode = mode;\n }\n get title() { return this.activityBunch.activityNode.title }\n get isAssignment() { return this.activityBunch.isAssignment }\n get instructions() { return this.activityBunch.instructions }\n get friendlyType() { return this.type.name }\n get activityType() { return this.activityBunch.activityType }\n get returnUrl(): string {\n return this.resolver({ name: 'activityNav', page: 'return', mode: this.mode, id: this.activityBunch.activityNode.nid });\n }\n get formUrl(): string | null {\n if (this.mode !== 'create') return null;\n return this.resolver({ name: 'activityNav', page: 'edit', id: this.activityBunch.activityNode.nid });\n }\n get code(): string | null {\n if (this.mode !== 'create') return null;\n const code = this.activityBunch.code.value;\n if (code == null) return null;\n if (code === 'student_activity') return null;\n if (this.me?.profil !== 'teacher') return null;\n return code;\n }\n get codeLink(): string | null {\n const code = this.code;\n if (code == null) return null;\n return this.resolver({ name: 'sa.launch', code: code }, true)\n }\n get icon() { return this.type.icon; }\n}\n"]}
|