@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 | false;
27
- get codeLink(): string | false;
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 false;
45
+ return null;
46
46
  return this.resolver({ name: 'activityNav', page: 'edit', id: this.activityBunch.activityNode.nid });
47
47
  }
48
- get codeLink() {
48
+ get code() {
49
49
  if (this.mode !== 'create')
50
- return false;
50
+ return null;
51
51
  const code = this.activityBunch.code.value;
52
52
  if (code == null)
53
- return false;
53
+ return null;
54
54
  if (code === 'student_activity')
55
- return false;
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":"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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 | false {\n if (this.mode !== 'create') return false;\n return this.resolver({ name: 'activityNav', page: 'edit', id: this.activityBunch.activityNode.nid });\n }\n get codeLink(): string | false {\n if (this.mode !== 'create') return false;\n const code = this.activityBunch.code.value;\n if (code == null) return false;\n if (code === 'student_activity') return false;\n return this.resolver({ name: 'sa.launch', code: code }, true)\n }\n get icon() { return this.type.icon; }\n}\n"]}
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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capytale/activity.js",
3
- "version": "3.1.9",
3
+ "version": "3.1.10",
4
4
  "bin": {
5
5
  "cactjs": "./bin/cactjs.js"
6
6
  },