@capytale/activity.js 3.1.9 → 3.1.10
Sign up to get free protection for your applications and to get access to all the features.
@@ -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"]}
|