@edifice.io/client 2.0.5-develop-pedago.20250204132346 → 2.0.5

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/dist/index.js CHANGED
@@ -1,18 +1,90 @@
1
1
  var v = Object.defineProperty;
2
2
  var T = (o, e, t) => e in o ? v(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;
3
- var u = (o, e, t) => T(o, typeof e != "symbol" ? e + "" : e, t);
3
+ var n = (o, e, t) => T(o, typeof e != "symbol" ? e + "" : e, t);
4
4
  import axios from "axios";
5
5
  import { MimeTypeUtils } from "@edifice.io/utilities";
6
6
  const ERROR_CODE = {
7
+ SUCCESS: "0000",
7
8
  UNKNOWN: "0010",
9
+ NOT_INITIALIZED: "0020",
8
10
  NOT_SUPPORTED: "0030",
9
11
  APP_NOT_FOUND: "0040",
12
+ AGENT_NOT_FOUND: "0050",
13
+ TRANSPORT_ERROR: "0060",
10
14
  TIME_OUT: "0070",
11
15
  MALFORMED_DATA: "0080",
12
16
  NOT_LOGGED_IN: "0090"
13
- }, APP$4 = {
17
+ }, APP$1 = {
18
+ ADMIN: "admin",
19
+ ARCHIVE: "archive",
20
+ AUTH: "auth",
21
+ CAS: "cas",
22
+ COMMUNICATION: "communication",
23
+ CONVERSATION: "conversation",
24
+ DIRECTORY: "directory",
25
+ // FIXME userbook OR directory : the choice may impact some configurations, @see IXitiTrackingParams.NOM_PAGE for example
26
+ USERBOOK: "userbook",
27
+ INFRA: "infra",
28
+ PORTAL: "portal",
14
29
  TIMELINE: "timeline",
15
- VIDEO: "video"
30
+ WORKSPACE: "workspace",
31
+ // -- a few others commonly used apps
32
+ EXPLORER: "explorer",
33
+ VIDEO: "video",
34
+ MINDMAP: "mindmap",
35
+ SCRAPBOOK: "scrapbook",
36
+ COLLABORATIVEWALL: "collaborativewall",
37
+ WIKI: "wiki"
38
+ // TODO compléter/trier les apps suivantes
39
+ /*
40
+ "competences"
41
+ "cahier-textes"
42
+ "poll"
43
+ "rack"
44
+ "rbs"
45
+ "searchengine"
46
+ "sharebigfiles"
47
+ "schoolbook"
48
+ "archive"
49
+ "admin"
50
+ "cahier-de-texte"
51
+ "wiki"
52
+ "cns"
53
+ "conversation"
54
+ "paths"
55
+ "parcours"
56
+ "notebook"
57
+ "account"
58
+ "support"
59
+ "workspace"
60
+ "admin-portal"
61
+ "stats"
62
+ "userbook" // FIXME userbook OR directory : the choice may impact some configurations, @see IXitiTrackingParams.NOM_PAGE for example
63
+ "directory" // FIXME Keep in mind that ode-ts-client MUST not access the locationPath of the window !
64
+ "mindmap"
65
+ "timelinegenerator"
66
+ "actualites"
67
+ "pad"
68
+ "collaborativeeditor"
69
+ "settings-class"
70
+ "library"
71
+ "visioconf"
72
+ "Web-conference"
73
+ "notes"
74
+ "attendance"
75
+ "calendar"
76
+ "canal-numerique"
77
+ "collaborative-wall"
78
+ "statistics"
79
+ "polls"
80
+ "community"
81
+ "forum"
82
+ "pages"
83
+ "website"
84
+ "parametrage"
85
+ "kne"
86
+ "sacoche"
87
+ */
16
88
  }, USER_PREFS = {
17
89
  APPS: "apps",
18
90
  WIDGETS: "widgets",
@@ -25,7 +97,7 @@ const ERROR_CODE = {
25
97
  };
26
98
  class Subscription {
27
99
  constructor(e, t) {
28
- u(this, "revoke");
100
+ n(this, "revoke");
29
101
  this._channel = e, this.revoke = this.setReceiver(
30
102
  (s) => t == null ? void 0 : t(s.data)
31
103
  );
@@ -43,7 +115,7 @@ class Subject {
43
115
  * => We maintain here channels for *sending* messages.
44
116
  * *Receiving* channels will be instantiated while subscribing.
45
117
  */
46
- u(this, "publishChannels", /* @__PURE__ */ new Map());
118
+ n(this, "publishChannels", /* @__PURE__ */ new Map());
47
119
  }
48
120
  getChannelName(e) {
49
121
  return "Subject:" + e;
@@ -78,9 +150,9 @@ const ASYNC_DATA_NAME = {
78
150
  class Promisified {
79
151
  constructor() {
80
152
  //-------------------------------------
81
- u(this, "_resolution");
82
- u(this, "_rejection");
83
- u(this, "_promise", new Promise((e, t) => {
153
+ n(this, "_resolution");
154
+ n(this, "_rejection");
155
+ n(this, "_promise", new Promise((e, t) => {
84
156
  this._resolution = e, this._rejection = t;
85
157
  }));
86
158
  }
@@ -97,8 +169,8 @@ class Promisified {
97
169
  class NotifyFramework {
98
170
  constructor() {
99
171
  //-------------------------------------
100
- u(this, "promises", {});
101
- u(this, "subject", new Subject());
172
+ n(this, "promises", {});
173
+ n(this, "subject", new Subject());
102
174
  }
103
175
  asyncData(e) {
104
176
  return typeof this.promises[e] > "u" && (this.promises[e] = new Promisified()), this.promises[e];
@@ -129,8 +201,8 @@ const notify = new NotifyFramework(), loadedScripts$1 = {};
129
201
  class Http {
130
202
  constructor(e) {
131
203
  // Axios automatically manages the XSRF-TOKEN cookie and the X-XSRF-TOKEN HTTP header.
132
- u(this, "axios");
133
- u(this, "_latestResponse");
204
+ n(this, "axios");
205
+ n(this, "_latestResponse");
134
206
  this.axios = axios.create(e);
135
207
  }
136
208
  setCdn(e) {
@@ -208,15 +280,15 @@ class Http {
208
280
  }
209
281
  getScript(e, t, s) {
210
282
  const r = s ?? "exports", i = this.toAxiosConfig(t);
211
- return i.headers && (i.headers.Accept = "application/javascript"), this.axios.get(this.toCdnUrl(e), i).then((n) => this.mapAxiosResponse(n, t)).then((n) => {
283
+ return i.headers && (i.headers.Accept = "application/javascript"), this.axios.get(this.toCdnUrl(e), i).then((u) => this.mapAxiosResponse(u, t)).then((u) => {
212
284
  try {
213
- const a = `"use strict";var ${r.split(".")[0]}={};${n};return ${r};`;
285
+ const a = `"use strict";var ${r.split(".")[0]}={};${u};return ${r};`;
214
286
  return Function(a)();
215
287
  } catch {
216
- return n;
288
+ return u;
217
289
  }
218
- }).catch((n) => {
219
- throw this.mapAxiosError(n, t), n;
290
+ }).catch((u) => {
291
+ throw this.mapAxiosError(u, t), u;
220
292
  });
221
293
  }
222
294
  loadScript(e, t) {
@@ -227,7 +299,7 @@ class Http {
227
299
  }
228
300
  class TransportFramework {
229
301
  constructor() {
230
- u(this, "_http", new Http());
302
+ n(this, "_http", new Http());
231
303
  }
232
304
  get http() {
233
305
  return this._http;
@@ -246,11 +318,11 @@ class ConfigurationFrameworkFactory {
246
318
  const http$2 = transport.http;
247
319
  class Session {
248
320
  constructor() {
249
- u(this, "_me", null);
250
- u(this, "_currentLanguage", "");
251
- u(this, "_notLoggedIn", !0);
252
- u(this, "_description");
253
- u(this, "_profile");
321
+ n(this, "_me", null);
322
+ n(this, "_currentLanguage", "");
323
+ n(this, "_notLoggedIn", !0);
324
+ n(this, "_description");
325
+ n(this, "_profile");
254
326
  }
255
327
  get currentLanguage() {
256
328
  return this._currentLanguage;
@@ -295,8 +367,8 @@ class Session {
295
367
  hasRight(e, t) {
296
368
  if (t === "owner")
297
369
  return e.owner && e.owner.userId === this._me.userId;
298
- const s = t.right || t, i = e.shared.filter((a) => (this._me.groupsIds || []).indexOf(a.groupId) !== -1 || a.userId === this._me.userId).find((a) => a[s] || a.manager) !== void 0, n = t.workflow ? this.hasWorkflow(t.workflow) : !0;
299
- return i && n;
370
+ const s = t.right || t, i = e.shared.filter((a) => (this._me.groupsIds || []).indexOf(a.groupId) !== -1 || a.userId === this._me.userId).find((a) => a[s] || a.manager) !== void 0, u = t.workflow ? this.hasWorkflow(t.workflow) : !0;
371
+ return i && u;
300
372
  }
301
373
  ////////////////////////////////////////////////////////// Storage management
302
374
  get latestQuotaAndUsage() {
@@ -368,7 +440,7 @@ class Session {
368
440
  }
369
441
  class SessionFramework {
370
442
  constructor() {
371
- u(this, "session", new Session());
443
+ n(this, "session", new Session());
372
444
  }
373
445
  initialize() {
374
446
  return this.session.initialize();
@@ -392,22 +464,22 @@ class SessionFramework {
392
464
  const session = new SessionFramework();
393
465
  class Theme {
394
466
  constructor() {
395
- u(this, "_conf");
396
- u(this, "_loaded");
467
+ n(this, "_conf");
468
+ n(this, "_loaded");
397
469
  // legacy (readonly)
398
- u(this, "skinName", "");
399
- u(this, "themeName", "");
400
- u(this, "skin", "raw");
401
- u(this, "themeUrl", "/assets/themes/raw/default/");
402
- u(this, "templateOverrides", {});
403
- u(this, "portalTemplate", "/assets/themes/raw/portal.html");
404
- u(this, "basePath", "");
405
- u(this, "logoutCallback", "/");
406
- u(this, "skins", []);
407
- u(this, "is1D", !1);
408
- u(this, "is2D", !1);
409
- u(this, "_onSkinReady", notify.onSkinReady());
410
- u(this, "_onOverrideReady", notify.onOverridesReady());
470
+ n(this, "skinName", "");
471
+ n(this, "themeName", "");
472
+ n(this, "skin", "raw");
473
+ n(this, "themeUrl", "/assets/themes/raw/default/");
474
+ n(this, "templateOverrides", {});
475
+ n(this, "portalTemplate", "/assets/themes/raw/portal.html");
476
+ n(this, "basePath", "");
477
+ n(this, "logoutCallback", "/");
478
+ n(this, "skins", []);
479
+ n(this, "is1D", !1);
480
+ n(this, "is2D", !1);
481
+ n(this, "_onSkinReady", notify.onSkinReady());
482
+ n(this, "_onOverrideReady", notify.onOverridesReady());
411
483
  }
412
484
  initialize(e) {
413
485
  return notify.onSessionReady().promise.then(() => this.load(e));
@@ -740,8 +812,8 @@ class Idiom {
740
812
  else {
741
813
  const i = new Promisified();
742
814
  promises$1[t] = i.promise;
743
- const n = {};
744
- e && (n["Accept-Language"] = e), transport.http.get(t, { headers: n }).then((a) => {
815
+ const u = {};
816
+ e && (u["Accept-Language"] = e), transport.http.get(t, { headers: u }).then((a) => {
745
817
  Object.assign(bundle$1, a), typeof s == "function" && s(), i.resolve();
746
818
  }).catch((a) => {
747
819
  typeof s == "function" && s(), i.reject();
@@ -779,7 +851,7 @@ class Idiom {
779
851
  class UserPreferences {
780
852
  constructor() {
781
853
  //-------------------------------------
782
- u(this, "data", {});
854
+ n(this, "data", {});
783
855
  }
784
856
  get(e) {
785
857
  return this.data[e];
@@ -806,10 +878,10 @@ class UserPreferences {
806
878
  class User {
807
879
  constructor() {
808
880
  //-------------------------------------
809
- u(this, "_me", null);
810
- u(this, "_keepOpenOnLogout", !1);
811
- u(this, "_preferences", new UserPreferences());
812
- u(this, "_bookmarkedApps", []);
881
+ n(this, "_me", null);
882
+ n(this, "_keepOpenOnLogout", !1);
883
+ n(this, "_preferences", new UserPreferences());
884
+ n(this, "_bookmarkedApps", []);
813
885
  }
814
886
  get keepOpenOnLogout() {
815
887
  return this._keepOpenOnLogout;
@@ -841,7 +913,7 @@ class User {
841
913
  let s;
842
914
  if (t && t.length && typeof t.concat == "function") {
843
915
  this._bookmarkedApps = t, s = {
844
- bookmarks: t.map((n) => n.name),
916
+ bookmarks: t.map((u) => u.name),
845
917
  applications: []
846
918
  }, transport.http.putJson("/userbook/preference/apps", s);
847
919
  return;
@@ -853,15 +925,15 @@ class User {
853
925
  });
854
926
  let r = !0;
855
927
  const i = [];
856
- s.bookmarks.forEach((n, a) => {
857
- const c = this._me.apps.find((h) => h.name === n);
928
+ s.bookmarks.forEach((u, a) => {
929
+ const c = this._me.apps.find((h) => h.name === u);
858
930
  if (c) {
859
931
  const h = Object.assign({}, c);
860
932
  this._bookmarkedApps.push(h);
861
933
  } else
862
- i.push(n), r = !1;
863
- }), i.forEach((n) => {
864
- const a = s.bookmarks.indexOf(n);
934
+ i.push(u), r = !1;
935
+ }), i.forEach((u) => {
936
+ const a = s.bookmarks.indexOf(u);
865
937
  a !== -1 && s.bookmarks.splice(a, 1);
866
938
  }), r || transport.http.putJson("/userbook/preference/apps", s);
867
939
  });
@@ -883,9 +955,9 @@ const http$1 = transport == null ? void 0 : transport.http;
883
955
  class AppConf {
884
956
  constructor() {
885
957
  //-------------------------------------
886
- u(this, "_publicConf", {});
887
- u(this, "_currentApp");
888
- u(this, "_appConf", {});
958
+ n(this, "_publicConf", {});
959
+ n(this, "_currentApp");
960
+ n(this, "_appConf", {});
889
961
  }
890
962
  /**
891
963
  * Get the currently initialized App.
@@ -923,8 +995,8 @@ class AppConf {
923
995
  class Analytics {
924
996
  constructor() {
925
997
  //-------------------------------------
926
- u(this, "_status", "void");
927
- u(this, "_params");
998
+ n(this, "_status", "void");
999
+ n(this, "_params");
928
1000
  }
929
1001
  get status() {
930
1002
  return this._status;
@@ -976,8 +1048,8 @@ class Analytics {
976
1048
  configure.Platform.apps.currentApp
977
1049
  );
978
1050
  if (!i) return;
979
- const n = i.xiti;
980
- if (!n || !n.LIBELLE_SERVICE || !r.UAI) return;
1051
+ const u = i.xiti;
1052
+ if (!u || !u.LIBELLE_SERVICE || !r.UAI) return;
981
1053
  function a(h) {
982
1054
  let l = "";
983
1055
  for (let E = 0; E < h.length; E++)
@@ -992,10 +1064,10 @@ class Analytics {
992
1064
  Guest: "AUTRE"
993
1065
  };
994
1066
  return {
995
- LIBELLE_SERVICE: n.LIBELLE_SERVICE,
1067
+ LIBELLE_SERVICE: u.LIBELLE_SERVICE,
996
1068
  // Which property of LIBELLE_SERVICE to use depends on the frontend.
997
- TYPE: n.OUTIL ? "TIERS" : "NATIF",
998
- OUTIL: n.OUTIL ? n.OUTIL : "",
1069
+ TYPE: u.OUTIL ? "TIERS" : "NATIF",
1070
+ OUTIL: u.OUTIL ? u.OUTIL : "",
999
1071
  STRUCT_ID: r.collectiviteId,
1000
1072
  STRUCT_UAI: r.UAI,
1001
1073
  PROJET: r.projetId ? r.projetId : e.ID_PROJET,
@@ -1009,7 +1081,7 @@ class Analytics {
1009
1081
  class ConfigurationFramework {
1010
1082
  constructor() {
1011
1083
  //-------------------------------------
1012
- u(this, "Platform", {
1084
+ n(this, "Platform", {
1013
1085
  deploymentTag: "",
1014
1086
  cdnDomain: "",
1015
1087
  apps: new AppConf(),
@@ -1018,15 +1090,15 @@ class ConfigurationFramework {
1018
1090
  idiom: new Idiom(),
1019
1091
  listLanguages: () => transport.http.get("/languages")
1020
1092
  });
1021
- u(this, "School", {
1093
+ n(this, "School", {
1022
1094
  //apps; -> pinnedApps;
1023
1095
  });
1024
- u(this, "User", new User());
1096
+ n(this, "User", new User());
1025
1097
  }
1026
1098
  async initialize(e, t) {
1027
1099
  if (!e) {
1028
- const r = (h) => (h < 10 ? "0" : "") + h.toFixed(0), i = /* @__PURE__ */ new Date(), n = i.getFullYear(), a = i.getMonth() + 1, c = i.getDate();
1029
- e = `${n}${r(a)}${r(c)}`;
1100
+ const r = (h) => (h < 10 ? "0" : "") + h.toFixed(0), i = /* @__PURE__ */ new Date(), u = i.getFullYear(), a = i.getMonth() + 1, c = i.getDate();
1101
+ e = `${u}${r(a)}${r(c)}`;
1030
1102
  }
1031
1103
  const s = e;
1032
1104
  this.Platform.deploymentTag = e, typeof t == "string" && t.length > 0 && (this.Platform.cdnDomain = t), transport.http.setCdn(this.Platform.cdnDomain), await Promise.all([
@@ -1068,8 +1140,8 @@ var _;
1068
1140
  const me = (_ = session == null ? void 0 : session.session) == null ? void 0 : _.user;
1069
1141
  class Notification {
1070
1142
  constructor(e) {
1071
- u(this, "_id");
1072
- u(this, "model");
1143
+ n(this, "_id");
1144
+ n(this, "model");
1073
1145
  e.reported = e.reporters && e.reporters.length > 0, this._id = e._id, this.model = e;
1074
1146
  }
1075
1147
  isUnread() {
@@ -1089,14 +1161,14 @@ class Notification {
1089
1161
  class TimelineApp {
1090
1162
  constructor() {
1091
1163
  //-------------------------------------
1092
- u(this, "_notifications", []);
1093
- u(this, "_notificationTypes", []);
1164
+ n(this, "_notifications", []);
1165
+ n(this, "_notificationTypes", []);
1094
1166
  // ex: ["BLOG"]
1095
- u(this, "_flashMessages", []);
1096
- u(this, "_pageNumber", 0);
1097
- u(this, "_lastPage", !1);
1098
- u(this, "_loading", !1);
1099
- u(this, "showMine", !1);
1167
+ n(this, "_flashMessages", []);
1168
+ n(this, "_pageNumber", 0);
1169
+ n(this, "_lastPage", !1);
1170
+ n(this, "_loading", !1);
1171
+ n(this, "showMine", !1);
1100
1172
  }
1101
1173
  get notifications() {
1102
1174
  return this._notifications;
@@ -1117,20 +1189,20 @@ class TimelineApp {
1117
1189
  return this.preferences.type = this.preferences.type || [], this.preferences.type;
1118
1190
  }
1119
1191
  get preferences() {
1120
- return configure.User.preferences.get(APP$4.TIMELINE);
1192
+ return configure.User.preferences.get(APP$1.TIMELINE);
1121
1193
  }
1122
1194
  get flashMessages() {
1123
1195
  return this._flashMessages;
1124
1196
  }
1125
1197
  savePreferences() {
1126
- return configure.User.saveAppPrefs(APP$4.TIMELINE);
1198
+ return configure.User.saveAppPrefs(APP$1.TIMELINE);
1127
1199
  }
1128
1200
  resetPagination() {
1129
1201
  this._pageNumber = 0, this._lastPage = !1, this._loading = !1;
1130
1202
  }
1131
1203
  initialize() {
1132
1204
  return Promise.all([
1133
- configure.User.loadAppPrefs(APP$4.TIMELINE),
1205
+ configure.User.loadAppPrefs(APP$1.TIMELINE),
1134
1206
  transport.http.get("/timeline/types")
1135
1207
  ]).then((e) => {
1136
1208
  this._notificationTypes = e[1];
@@ -1154,10 +1226,10 @@ class TimelineApp {
1154
1226
  if (this._loading = !1, r.status === "ok")
1155
1227
  if (r.number && r.results) {
1156
1228
  const i = r.results.filter(
1157
- (n) => this._notifications.findIndex(
1158
- (a) => a._id === n._id
1229
+ (u) => this._notifications.findIndex(
1230
+ (a) => a._id === u._id
1159
1231
  ) === -1
1160
- ).map((n) => new Notification(n));
1232
+ ).map((u) => new Notification(u));
1161
1233
  this._notifications = this._notifications.concat(i), this._pageNumber++;
1162
1234
  } else
1163
1235
  this._lastPage = !0;
@@ -1194,10 +1266,12 @@ class NotifyFrameworkFactory {
1194
1266
  }
1195
1267
  const LAYER_NAME = {
1196
1268
  WIDGETS: "widgets",
1269
+ EXPLORER: "explorer",
1197
1270
  TRANSPORT: "transport",
1198
1271
  WEB_DATA: "webDataPipeline"
1199
1272
  }, EVENT_NAME = {
1200
1273
  USERPREF_CHANGED: "userprefChanged",
1274
+ SEARCH_RESULTED: "searchResulted",
1201
1275
  ERROR_OCCURED: "error",
1202
1276
  DATA_TRACKED: "track"
1203
1277
  };
@@ -1243,7 +1317,7 @@ const f = class f {
1243
1317
  //
1244
1318
  // PROTECTED HELPERS
1245
1319
  //
1246
- u(this, "checkHttpResponse", (e) => {
1320
+ n(this, "checkHttpResponse", (e) => {
1247
1321
  if (this.http.latestResponse.status >= 300)
1248
1322
  throw this.http.latestResponse.statusText;
1249
1323
  return e;
@@ -1395,7 +1469,7 @@ const f = class f {
1395
1469
  });
1396
1470
  return t.map((r) => {
1397
1471
  const i = s.resources.find(
1398
- (n) => n.assetId === r
1472
+ (u) => u.assetId === r
1399
1473
  );
1400
1474
  if (i === void 0)
1401
1475
  throw "explorer.assetid.notfound";
@@ -1461,10 +1535,10 @@ const f = class f {
1461
1535
  //
1462
1536
  // STATIC REGISTRY
1463
1537
  //
1464
- u(f, "registry", new ServiceRegistry()), // Expose some useful functions
1465
- u(f, "register", f.registry.register.bind(f.registry)), u(f, "findService", f.registry.findService.bind(f.registry)), u(f, "findMainService", f.registry.findMainService.bind(f.registry)), u(f, "isRegistered", f.registry.isRegistered.bind(f.registry));
1538
+ n(f, "registry", new ServiceRegistry()), // Expose some useful functions
1539
+ n(f, "register", f.registry.register.bind(f.registry)), n(f, "findService", f.registry.findService.bind(f.registry)), n(f, "findMainService", f.registry.findMainService.bind(f.registry)), n(f, "isRegistered", f.registry.isRegistered.bind(f.registry));
1466
1540
  let ResourceService = f;
1467
- const APP$3 = "scrapbook", RESOURCE$3 = "scrapbook";
1541
+ const APP = "scrapbook", RESOURCE = "scrapbook";
1468
1542
  class ScrapbookResourceService extends ResourceService {
1469
1543
  create(e) {
1470
1544
  throw new Error("Method not implemented.");
@@ -1482,10 +1556,10 @@ class ScrapbookResourceService extends ResourceService {
1482
1556
  return this.checkHttpResponse(s), { thumbnail: t, entId: e.entId };
1483
1557
  }
1484
1558
  getResourceType() {
1485
- return RESOURCE$3;
1559
+ return RESOURCE;
1486
1560
  }
1487
1561
  getApplication() {
1488
- return APP$3;
1562
+ return APP;
1489
1563
  }
1490
1564
  getFormUrl(e) {
1491
1565
  return e ? `/scrapbook?folderid=${e}#/create-scrapbook/` : "/scrapbook#/create-scrapbook/";
@@ -1503,160 +1577,9 @@ class ScrapbookResourceService extends ResourceService {
1503
1577
  return `/scrapbook/exportHtml/${e}`;
1504
1578
  }
1505
1579
  }
1506
- ResourceService.register(
1507
- { application: RESOURCE$3, resourceType: RESOURCE$3 },
1508
- (o) => new ScrapbookResourceService(o)
1509
- );
1510
- const APP$2 = "homeworks", RESOURCE$2 = "homeworks";
1511
- class HomeworksResourceService extends ResourceService {
1512
- async create(e) {
1513
- const t = await this.getThumbnailPath(e.thumbnail), s = await this.http.post("/homeworks", {
1514
- title: e.name,
1515
- thumbnail: t,
1516
- description: e.description,
1517
- repeats: e.repeats
1518
- });
1519
- return this.checkHttpResponse(s), { thumbnail: t, entId: s._id };
1520
- }
1521
- async update(e) {
1522
- const t = await this.getThumbnailPath(e.thumbnail), s = await this.http.put(
1523
- `/homeworks/${e.entId}`,
1524
- {
1525
- title: e.name,
1526
- thumbnail: t,
1527
- repeats: e.repeats
1528
- }
1529
- );
1530
- return this.checkHttpResponse(s), { thumbnail: t, entId: e.entId };
1531
- }
1532
- getResourceType() {
1533
- return RESOURCE$2;
1534
- }
1535
- getApplication() {
1536
- return APP$2;
1537
- }
1538
- getFormUrl(e) {
1539
- return e ? `/homeworks?folderid=${e}#/create-homeworks/` : "/homeworks#/create-homeworks/";
1540
- }
1541
- getViewUrl(e) {
1542
- return `/homeworks#/view-homeworks/${e}`;
1543
- }
1544
- getPrintUrl(e) {
1545
- return `/homeworks/print#/print-homeworks/${e}`;
1546
- }
1547
- getEditUrl(e) {
1548
- return `/homeworks#/edit-homeworks/${e}`;
1549
- }
1550
- getExportUrl() {
1551
- throw new Error("Export not implemented.");
1552
- }
1553
- }
1554
- ResourceService.register(
1555
- { application: RESOURCE$2, resourceType: RESOURCE$2 },
1556
- (o) => new HomeworksResourceService(o)
1557
- );
1558
- const APP$1 = "timelinegenerator", RESOURCE$1 = "timelinegenerator";
1559
- class TimelineGeneratorResourceService extends ResourceService {
1560
- async create(e) {
1561
- const t = e.thumbnail ? await this.getThumbnailPath(e.thumbnail) : "", s = await this.http.post(
1562
- "/timelinegenerator/timelines",
1563
- {
1564
- headline: e.name,
1565
- text: e.description,
1566
- icon: t,
1567
- type: "default",
1568
- folder: e.folder
1569
- }
1570
- );
1571
- return this.checkHttpResponse(s), s;
1572
- }
1573
- async update(e) {
1574
- const t = await this.getThumbnailPath(e.thumbnail), s = await this.http.put(
1575
- `/timelinegenerator/timeline/${e.entId}`,
1576
- {
1577
- headline: e.name,
1578
- text: e.description,
1579
- icon: t,
1580
- trashed: !!e.trashed,
1581
- _id: e.entId,
1582
- type: "default"
1583
- }
1584
- );
1585
- return this.checkHttpResponse(s), { thumbnail: t, entId: e.entId };
1586
- }
1587
- getResourceType() {
1588
- return RESOURCE$1;
1589
- }
1590
- getApplication() {
1591
- return APP$1;
1592
- }
1593
- getFormUrl() {
1594
- throw new Error("Method not implemented.");
1595
- }
1596
- getViewUrl(e) {
1597
- return `/timelinegenerator#/view/${e}`;
1598
- }
1599
- getPrintUrl(e) {
1600
- return `/timelinegenerator/print#/print/${e}`;
1601
- }
1602
- getEditUrl() {
1603
- throw new Error("Method not implemented.");
1604
- }
1605
- getExportUrl() {
1606
- throw new Error("Method not implemented.");
1607
- }
1608
- }
1609
- ResourceService.register(
1610
- { application: RESOURCE$1, resourceType: RESOURCE$1 },
1611
- (o) => new TimelineGeneratorResourceService(o)
1612
- );
1613
- const APP = "collaborativeeditor", RESOURCE = "collaborativeeditor";
1614
- class CollaborativeEditorResourceService extends ResourceService {
1615
- async create(e) {
1616
- const { name: t, description: s, thumbnail: r, folder: i } = e, n = r ? await this.getThumbnailPath(r) : "", a = await this.http.post("/collaborativeeditor", {
1617
- name: t,
1618
- description: s,
1619
- thumbnail: n,
1620
- folder: i
1621
- });
1622
- return this.checkHttpResponse(a), a;
1623
- }
1624
- async update(e) {
1625
- const { name: t, description: s, thumbnail: r, entId: i } = e, n = await this.getThumbnailPath(r), a = await this.http.put(
1626
- `/collaborativeeditor/${i}`,
1627
- {
1628
- name: t,
1629
- description: s,
1630
- thumbnail: n
1631
- }
1632
- );
1633
- return this.checkHttpResponse(a), { thumbnail: n, entId: i };
1634
- }
1635
- getResourceType() {
1636
- return RESOURCE;
1637
- }
1638
- getApplication() {
1639
- return APP;
1640
- }
1641
- getFormUrl() {
1642
- throw new Error("Method not implemented.");
1643
- }
1644
- getViewUrl(e) {
1645
- return `/collaborativeeditor#/view/${e}`;
1646
- }
1647
- getPrintUrl() {
1648
- throw new Error("Method not implemented.");
1649
- }
1650
- getEditUrl() {
1651
- throw new Error("Method not implemented.");
1652
- }
1653
- getExportUrl() {
1654
- throw new Error("Method not implemented.");
1655
- }
1656
- }
1657
1580
  ResourceService.register(
1658
1581
  { application: RESOURCE, resourceType: RESOURCE },
1659
- (o) => new CollaborativeEditorResourceService(o)
1582
+ (o) => new ScrapbookResourceService(o)
1660
1583
  );
1661
1584
  const globalCache = {}, mutexPromise = {};
1662
1585
  class CacheService {
@@ -1725,14 +1648,14 @@ class ConfService {
1725
1648
  ]), [r, i] = await Promise.all([
1726
1649
  this.getTheme({ conf: t, publicTheme: s === void 0 }),
1727
1650
  this.getWebAppConf({ app: e, applications: s ?? [] })
1728
- ]), n = {
1651
+ ]), u = {
1729
1652
  app: e,
1730
1653
  applications: s ?? [],
1731
1654
  conf: t,
1732
1655
  currentApp: i,
1733
1656
  theme: r
1734
1657
  };
1735
- return this.notify.onAppConfReady().resolve(n), n;
1658
+ return this.notify.onAppConfReady().resolve(u), u;
1736
1659
  }
1737
1660
  async getPublicConf(e) {
1738
1661
  const { response: t, value: s } = await this.cache.httpGet(
@@ -1784,23 +1707,23 @@ class ConfService {
1784
1707
  conf: t,
1785
1708
  publicTheme: s
1786
1709
  }) {
1787
- const r = await this.http.get("/theme"), i = s ? null : r, n = t == null ? void 0 : t.overriding.find(
1710
+ const r = await this.http.get("/theme"), i = s ? null : r, u = t == null ? void 0 : t.overriding.find(
1788
1711
  (p) => (
1789
1712
  // Public access => simply use the 1st override
1790
1713
  i === null || p.child === i.themeName
1791
1714
  )
1792
- ), a = (i == null ? void 0 : i.skinName) || n.skins[0], c = (i == null ? void 0 : i.skin) || `/assets/themes/${n.child}/skins/${a}/`, h = n.skins, l = n.bootstrapVersion.split("-").slice(-1)[0], E = n.parent === "panda";
1715
+ ), a = (i == null ? void 0 : i.skinName) || u.skins[0], c = (i == null ? void 0 : i.skin) || `/assets/themes/${u.child}/skins/${a}/`, h = u.skins, l = u.bootstrapVersion.split("-").slice(-1)[0], E = u.parent === "panda";
1793
1716
  return {
1794
1717
  basePath: `${this.cdnDomain}${c}../../`,
1795
1718
  bootstrapVersion: l,
1796
1719
  is1d: E,
1797
1720
  logoutCallback: (i == null ? void 0 : i.logoutCallback) || "/",
1798
- skin: n.child,
1721
+ skin: u.child,
1799
1722
  skinName: a,
1800
1723
  skins: h,
1801
- themeName: n.child,
1724
+ themeName: u.child,
1802
1725
  themeUrl: c,
1803
- npmTheme: n.npmTheme ?? void 0
1726
+ npmTheme: u.npmTheme ?? void 0
1804
1727
  };
1805
1728
  }
1806
1729
  async getLogoutCallback(e) {
@@ -1845,13 +1768,13 @@ class DirectoryService {
1845
1768
  return {
1846
1769
  id: s,
1847
1770
  displayName: r,
1848
- groups: t.map(({ name: n, id: a }) => ({
1849
- displayName: n,
1771
+ groups: t.map(({ name: u, id: a }) => ({
1772
+ displayName: u,
1850
1773
  id: a
1851
1774
  })),
1852
- users: i.map(({ displayName: n, id: a, profile: c }) => ({
1775
+ users: i.map(({ displayName: u, id: a, profile: c }) => ({
1853
1776
  profile: c,
1854
- displayName: n,
1777
+ displayName: u,
1855
1778
  // these info are missing from api
1856
1779
  firstName: "",
1857
1780
  lastName: "",
@@ -1866,19 +1789,19 @@ class DirectoryService {
1866
1789
  users: r
1867
1790
  }) {
1868
1791
  this.cache.clearCache("/directory/sharebookmark/all");
1869
- const i = r.map((p) => typeof p == "string" ? p : p.id), n = s.map((p) => typeof p == "string" ? p : p.id), a = t.map(async (p) => {
1792
+ const i = r.map((p) => typeof p == "string" ? p : p.id), u = s.map((p) => typeof p == "string" ? p : p.id), a = t.map(async (p) => {
1870
1793
  if (typeof p == "string") {
1871
- const { displayName: d, groups: g, id: A, users: m } = await this.getBookMarkById(p), b = m.map((F) => F.id), C = g.map((F) => F.id);
1794
+ const { displayName: d, groups: g, id: A, users: m } = await this.getBookMarkById(p), b = m.map((F) => F.id), R = g.map((F) => F.id);
1872
1795
  return {
1873
1796
  displayName: d,
1874
1797
  id: A,
1875
- members: [...C, ...b]
1798
+ members: [...R, ...b]
1876
1799
  };
1877
1800
  } else
1878
1801
  return Promise.resolve(p);
1879
1802
  }), h = (await Promise.all(a)).map((p) => p.members).reduce((p, d) => [...p, ...d], []), l = {
1880
1803
  name: e,
1881
- members: [...i, ...n, ...h]
1804
+ members: [...i, ...u, ...h]
1882
1805
  }, { id: E } = await this.http.postJson(
1883
1806
  "/directory/sharebookmark",
1884
1807
  l
@@ -1894,10 +1817,10 @@ const loadedScripts = {};
1894
1817
  class HttpService {
1895
1818
  constructor(e, t) {
1896
1819
  // Axios automatically manages the XSRF-TOKEN cookie and the X-XSRF-TOKEN HTTP header.
1897
- u(this, "axios");
1898
- u(this, "baseUrl");
1899
- u(this, "headers", {});
1900
- u(this, "_latestResponse");
1820
+ n(this, "axios");
1821
+ n(this, "baseUrl");
1822
+ n(this, "headers", {});
1823
+ n(this, "_latestResponse");
1901
1824
  this.context = e, this.axios = axios.create(t);
1902
1825
  }
1903
1826
  fixBaseUrl(e) {
@@ -1942,15 +1865,15 @@ class HttpService {
1942
1865
  status: 500,
1943
1866
  statusText: ERROR_CODE.UNKNOWN
1944
1867
  };
1945
- const { status: s, statusText: r, headers: i, data: n } = this._latestResponse;
1868
+ const { status: s, statusText: r, headers: i, data: u } = this._latestResponse;
1946
1869
  return t != null && t.disableNotifications || notify.events().publish(LAYER_NAME.TRANSPORT, {
1947
1870
  name: EVENT_NAME.ERROR_OCCURED,
1948
1871
  data: {
1949
1872
  params: t,
1950
1873
  response: { status: s, statusText: r, headers: i },
1951
- payload: n
1874
+ payload: u
1952
1875
  }
1953
- }), n;
1876
+ }), u;
1954
1877
  }
1955
1878
  mapAxiosResponse(e, t) {
1956
1879
  return this._latestResponse = e, e.data;
@@ -2073,15 +1996,15 @@ class HttpService {
2073
1996
  }
2074
1997
  getScript(e, t, s) {
2075
1998
  const r = s ?? "exports", i = this.toAxiosConfig(t);
2076
- return i.headers && (i.headers.Accept = "application/javascript"), this.axios.get(this.toCdnUrl(e), i).then((n) => this.mapAxiosResponse(n, t)).then((n) => {
1999
+ return i.headers && (i.headers.Accept = "application/javascript"), this.axios.get(this.toCdnUrl(e), i).then((u) => this.mapAxiosResponse(u, t)).then((u) => {
2077
2000
  try {
2078
- const a = `"use strict";var ${r.split(".")[0]}={};${n};return ${r};`;
2001
+ const a = `"use strict";var ${r.split(".")[0]}={};${u};return ${r};`;
2079
2002
  return Function(a)();
2080
2003
  } catch {
2081
- return n;
2004
+ return u;
2082
2005
  }
2083
- }).catch((n) => {
2084
- throw this.mapAxiosError(n, t), n;
2006
+ }).catch((u) => {
2007
+ throw this.mapAxiosError(u, t), u;
2085
2008
  });
2086
2009
  }
2087
2010
  loadScript(e, t) {
@@ -2141,13 +2064,13 @@ class RightService {
2141
2064
  * @returns true if has rights
2142
2065
  */
2143
2066
  hasResourceRight({ id: e, groupIds: t }, s, r) {
2144
- const i = r.map((n) => typeof n == "string" ? this.parseResourceRight(n) : n).filter((n) => n !== void 0);
2145
- for (const n of i) {
2146
- if (n.id === e && n.type === "creator")
2067
+ const i = r.map((u) => typeof u == "string" ? this.parseResourceRight(u) : u).filter((u) => u !== void 0);
2068
+ for (const u of i) {
2069
+ if (u.id === e && u.type === "creator")
2147
2070
  return !0;
2148
- if (n.id === e && n.type === "user" && n.right === s)
2071
+ if (u.id === e && u.type === "user" && u.right === s)
2149
2072
  return !0;
2150
- if (t.includes(n.id) && n.type === "group" && n.right === s)
2073
+ if (t.includes(u.id) && u.type === "group" && u.right === s)
2151
2074
  return !0;
2152
2075
  }
2153
2076
  return !1;
@@ -2284,7 +2207,7 @@ class SessionService {
2284
2207
  s,
2285
2208
  r,
2286
2209
  i,
2287
- n
2210
+ u
2288
2211
  ] = await Promise.all([
2289
2212
  this.getCurrentLanguage(e),
2290
2213
  this.latestQuotaAndUsage(e),
@@ -2298,7 +2221,7 @@ class SessionService {
2298
2221
  currentLanguage: t,
2299
2222
  userDescription: r,
2300
2223
  userProfile: i,
2301
- bookmarkedApps: n
2224
+ bookmarkedApps: u
2302
2225
  };
2303
2226
  }
2304
2227
  login(e, t, s, r) {
@@ -2392,9 +2315,9 @@ class SessionService {
2392
2315
  applications: []
2393
2316
  });
2394
2317
  const i = [];
2395
- return r.bookmarks.forEach((n, a) => {
2318
+ return r.bookmarks.forEach((u, a) => {
2396
2319
  const c = ((e == null ? void 0 : e.apps) || []).find(
2397
- (h) => h.name === n
2320
+ (h) => h.name === u
2398
2321
  );
2399
2322
  if (c) {
2400
2323
  const h = Object.assign({}, c);
@@ -2404,8 +2327,8 @@ class SessionService {
2404
2327
  }
2405
2328
  async getUserProfile(e = {}) {
2406
2329
  var c, h;
2407
- const { options: t = {}, params: s = {} } = e, r = new URLSearchParams(s).toString(), i = `/userbook/api/person${r ? `?${r}` : ""}`, { response: n, value: a } = await this.cache.httpGet(i, t);
2408
- return n.status < 200 || n.status >= 300 || typeof a == "string" ? ["Guest"] : ((h = (c = a == null ? void 0 : a.result) == null ? void 0 : c[0]) == null ? void 0 : h.type) || ["Guest"];
2330
+ const { options: t = {}, params: s = {} } = e, r = new URLSearchParams(s).toString(), i = `/userbook/api/person${r ? `?${r}` : ""}`, { response: u, value: a } = await this.cache.httpGet(i, t);
2331
+ return u.status < 200 || u.status >= 300 || typeof a == "string" ? ["Guest"] : ((h = (c = a == null ? void 0 : a.result) == null ? void 0 : c[0]) == null ? void 0 : h.type) || ["Guest"];
2409
2332
  }
2410
2333
  async isAdml() {
2411
2334
  const e = await this.getUser();
@@ -2669,8 +2592,8 @@ class IdiomService {
2669
2592
  else {
2670
2593
  const i = new Promisified();
2671
2594
  promises[t] = i.promise;
2672
- const n = {};
2673
- e && (n["Accept-Language"] = e), this.http.get(t, { headers: n }).then((a) => {
2595
+ const u = {};
2596
+ e && (u["Accept-Language"] = e), this.http.get(t, { headers: u }).then((a) => {
2674
2597
  Object.assign(bundle, a), typeof s == "function" && s(), i.resolve();
2675
2598
  }).catch((a) => {
2676
2599
  typeof s == "function" && s(), i.reject();
@@ -2734,7 +2657,7 @@ class ShareService {
2734
2657
  async searchShareSubjects(e, t, s) {
2735
2658
  const r = StringUtils.removeAccents(s).toLowerCase(), i = await this.cache.httpGetJson(
2736
2659
  `/${e}/share/json/${t}?search=${s}`
2737
- ), n = i.users.visibles.filter(({ username: l, firstName: E, lastName: p, login: d }) => {
2660
+ ), u = i.users.visibles.filter(({ username: l, firstName: E, lastName: p, login: d }) => {
2738
2661
  const g = StringUtils.removeAccents(
2739
2662
  p || ""
2740
2663
  ).toLowerCase(), A = StringUtils.removeAccents(
@@ -2767,7 +2690,7 @@ class ShareService {
2767
2690
  displayName: l.displayName,
2768
2691
  id: l.id,
2769
2692
  type: "sharebookmark"
2770
- })), ...n, ...a];
2693
+ })), ...u, ...a];
2771
2694
  }
2772
2695
  async getShareMapping(e) {
2773
2696
  const t = await this.cache.httpGetJson(
@@ -2781,15 +2704,15 @@ class ShareService {
2781
2704
  return t;
2782
2705
  }
2783
2706
  getActionsAvailableFor({ id: e, type: t }, s, r) {
2784
- const n = (t === "user" ? s.users.checked[e] : s.groups.checked[e]) || [], a = Object.keys(r), c = [];
2707
+ const u = (t === "user" ? s.users.checked[e] : s.groups.checked[e]) || [], a = Object.keys(r), c = [];
2785
2708
  for (const h of a)
2786
2709
  r[h].filter(
2787
- (p) => n.includes(p)
2710
+ (p) => u.includes(p)
2788
2711
  ).length > 0 && c.push(h);
2789
2712
  return c;
2790
2713
  }
2791
2714
  async getRightsForResource(e, t) {
2792
- const s = await this.directory.getBookMarks(), r = `/${e}/share/json/${t}?search=`, i = await this.cache.httpGetJson(r), n = await this.getShareMapping(e), a = await this.cache.httpGetJson(
2715
+ const s = await this.directory.getBookMarks(), r = `/${e}/share/json/${t}?search=`, i = await this.cache.httpGetJson(r), u = await this.getShareMapping(e), a = await this.cache.httpGetJson(
2793
2716
  "/infra/public/json/sharing-rights.json"
2794
2717
  ), c = Object.keys(i.users.checked).map((d) => i.users.visibles.find(
2795
2718
  (A) => A.id === d
@@ -2797,7 +2720,7 @@ class ShareService {
2797
2720
  const g = this.getActionsAvailableFor(
2798
2721
  { id: d.id, type: "user" },
2799
2722
  i,
2800
- n
2723
+ u
2801
2724
  );
2802
2725
  return {
2803
2726
  id: d.id,
@@ -2821,7 +2744,7 @@ class ShareService {
2821
2744
  const g = this.getActionsAvailableFor(
2822
2745
  { id: d.id, type: "group" },
2823
2746
  i,
2824
- n
2747
+ u
2825
2748
  );
2826
2749
  return {
2827
2750
  id: d.id,
@@ -2845,11 +2768,11 @@ class ShareService {
2845
2768
  id: g
2846
2769
  })
2847
2770
  ), p = i.users.visibles.map(
2848
- ({ id: d, profile: g, username: A, firstName: m, lastName: b, login: C }) => ({
2771
+ ({ id: d, profile: g, username: A, firstName: m, lastName: b, login: R }) => ({
2849
2772
  displayName: A,
2850
2773
  firstName: m,
2851
2774
  lastName: b,
2852
- login: C,
2775
+ login: R,
2853
2776
  profile: g,
2854
2777
  id: d
2855
2778
  })
@@ -2871,25 +2794,25 @@ class ShareService {
2871
2794
  const h = c.actions.map((E) => r[E.id]).reduce((E, p) => Array.isArray(p) ? [...E, ...p] : E, []), l = [...new Set(h)];
2872
2795
  l.length > 0 && (c.type === "user" ? i.users[c.id] = l : c.type === "group" ? i.groups[c.id] = l : i.bookmarks[c.id] = l);
2873
2796
  }
2874
- const n = `/${e}/share/resource/${t}`;
2875
- return this.cache.clearCache(`/${e}/share/json/${t}?search=`), await this.http.putJson(n, i);
2797
+ const u = `/${e}/share/resource/${t}`;
2798
+ return this.cache.clearCache(`/${e}/share/json/${t}?search=`), await this.http.putJson(u, i);
2876
2799
  }
2877
2800
  async getActionsForApp(e) {
2878
2801
  const t = await this.cache.httpGetJson(
2879
2802
  "/infra/public/json/sharing-rights.json"
2880
2803
  ), s = await this.getShareMapping(e);
2881
2804
  return Object.keys(t).map((i) => {
2882
- const n = t[i];
2805
+ const u = t[i];
2883
2806
  return {
2884
2807
  displayName: i,
2885
2808
  id: i,
2886
- priority: n.priority,
2887
- requires: n.requires
2809
+ priority: u.priority,
2810
+ requires: u.requires
2888
2811
  };
2889
2812
  }).filter((i) => {
2890
- var n;
2891
- return ((n = s[i.id]) == null ? void 0 : n.length) > 0;
2892
- }).sort((i, n) => i.priority - n.priority);
2813
+ var u;
2814
+ return ((u = s[i.id]) == null ? void 0 : u.length) > 0;
2815
+ }).sort((i, u) => i.priority - u.priority);
2893
2816
  }
2894
2817
  }
2895
2818
  const defaultMappers = {
@@ -2926,11 +2849,11 @@ const defaultMappers = {
2926
2849
  zip: function({ type: o }) {
2927
2850
  return o.indexOf("zip") !== -1 || o.indexOf("rar") !== -1 || o.indexOf("tar") !== -1 || o.indexOf("7z") !== -1;
2928
2851
  }
2929
- }, R = class R {
2852
+ }, w = class w {
2930
2853
  /* Similar role notion as in infra-front > workspace > Model.ts */
2931
2854
  static getRole(e) {
2932
2855
  var t, s;
2933
- return R.role(
2856
+ return w.role(
2934
2857
  (t = e.metadata) == null ? void 0 : t["content-type"],
2935
2858
  !1,
2936
2859
  (s = e.metadata) == null ? void 0 : s.extension
@@ -2942,18 +2865,18 @@ const defaultMappers = {
2942
2865
  this.roleMappers || console.warn("[DocumentHelper.role] should not have empty roles", this);
2943
2866
  const r = { type: e, previewRole: t, extension: s };
2944
2867
  for (const i of this.roleMappers) {
2945
- const n = i(r);
2946
- if (n)
2947
- return n;
2868
+ const u = i(r);
2869
+ if (u)
2870
+ return u;
2948
2871
  }
2949
2872
  return "unknown";
2950
2873
  }
2951
2874
  };
2952
2875
  // FIXME add edumedia support
2953
- u(R, "roleMappers", [
2876
+ n(w, "roleMappers", [
2954
2877
  (e) => Object.keys(defaultMappers).find((s) => defaultMappers[s](e))
2955
2878
  ]);
2956
- let DocumentHelper = R;
2879
+ let DocumentHelper = w;
2957
2880
  class WorkspaceService {
2958
2881
  constructor(e) {
2959
2882
  this.context = e;
@@ -2962,22 +2885,22 @@ class WorkspaceService {
2962
2885
  return this.context.http();
2963
2886
  }
2964
2887
  extractMetadata(e) {
2965
- const t = e.name || "", s = t.split("."), r = e.type || "application/octet-stream", i = s.length > 1 ? s[s.length - 1] : "", n = {
2888
+ const t = e.name || "", s = t.split("."), r = e.type || "application/octet-stream", i = s.length > 1 ? s[s.length - 1] : "", u = {
2966
2889
  "content-type": r,
2967
2890
  filename: t,
2968
2891
  size: e.size,
2969
2892
  extension: i,
2970
2893
  role: DocumentHelper.role(r, !1, i)
2971
- }, a = t.replace("." + n.extension, ""), c = n.extension ? a + "." + n.extension : a;
2972
- return { basename: a, fullname: c, metadata: n };
2894
+ }, a = t.replace("." + u.extension, ""), c = u.extension ? a + "." + u.extension : a;
2895
+ return { basename: a, fullname: c, metadata: u };
2973
2896
  }
2974
2897
  async saveFile(e, t) {
2975
2898
  const { fullname: s, metadata: r } = this.extractMetadata(e), i = new FormData();
2976
2899
  i.append("file", e, s);
2977
- const n = [];
2978
- ((t == null ? void 0 : t.visibility) === "public" || (t == null ? void 0 : t.visibility) === "protected") && n.push(`${t.visibility}=true`), t != null && t.application && n.push(`application=${t.application}`), r.role === "img" && n.push("quality=1"), t != null && t.parentId && n.push(`parentId=${t.parentId}`);
2900
+ const u = [];
2901
+ ((t == null ? void 0 : t.visibility) === "public" || (t == null ? void 0 : t.visibility) === "protected") && u.push(`${t.visibility}=true`), t != null && t.application && u.push(`application=${t.application}`), r.role === "img" && u.push("quality=1"), t != null && t.parentId && u.push(`parentId=${t.parentId}`);
2979
2902
  const a = await this.http.postFile(
2980
- `/workspace/document?${n.join("&")}`,
2903
+ `/workspace/document?${u.join("&")}`,
2981
2904
  i
2982
2905
  );
2983
2906
  if (this.http.isResponseError())
@@ -2985,13 +2908,13 @@ class WorkspaceService {
2985
2908
  return a;
2986
2909
  }
2987
2910
  async updateFile(e, t, s) {
2988
- const { fullname: r, metadata: i } = this.extractMetadata(t), n = new FormData();
2989
- n.append("file", t, r);
2911
+ const { fullname: r, metadata: i } = this.extractMetadata(t), u = new FormData();
2912
+ u.append("file", t, r);
2990
2913
  const a = [];
2991
2914
  i.role === "img" && a.push("quality=1"), s != null && s.alt && a.push(`alt=${s.alt}`), s != null && s.legend && a.push(`legend=${s.legend}`), s != null && s.name && a.push(`name=${s.name}`);
2992
2915
  const c = await this.http.putFile(
2993
2916
  `/workspace/document/${e}?${a.join("&")}`,
2994
- n
2917
+ u
2995
2918
  );
2996
2919
  if (this.http.isResponseError())
2997
2920
  throw this.http.latestResponse.statusText;
@@ -3036,17 +2959,17 @@ class WorkspaceService {
3036
2959
  {
3037
2960
  application: t,
3038
2961
  visibility: s,
3039
- ids: r.map((n) => n._id)
2962
+ ids: r.map((u) => u._id)
3040
2963
  }
3041
2964
  );
3042
2965
  if (this.http.isResponseError())
3043
2966
  throw this.http.latestResponse.statusText;
3044
- return r.forEach((n, a) => {
2967
+ return r.forEach((u, a) => {
3045
2968
  const c = e.findIndex(
3046
- (h) => h._id === n._id
2969
+ (h) => h._id === u._id
3047
2970
  );
3048
2971
  0 <= c && c < e.length && (e[c] = i[a]);
3049
- }), e.filter((n) => !!n);
2972
+ }), e.filter((u) => !!u);
3050
2973
  }
3051
2974
  return e;
3052
2975
  }
@@ -3055,13 +2978,13 @@ class WorkspaceService {
3055
2978
  * or `null` if none exists or can be created.
3056
2979
  */
3057
2980
  getThumbnailUrl(e, t = 0, s = 0) {
3058
- var i, n;
2981
+ var i, u;
3059
2982
  const r = t > 0 || s > 0 ? `${t}x${s}` : "120x120";
3060
2983
  if (typeof e == "string")
3061
2984
  return e.includes("data:image") || e.includes("thumbnail") ? e : `${e}${e.includes("?") ? "&" : "?"}thumbnail=${r}`;
3062
2985
  {
3063
2986
  const a = `/workspace/${e.public ? "pub/" : ""}document/${e._id}?thumbnail=`, c = e.thumbnails;
3064
- if ((n = (i = e.metadata) == null ? void 0 : i["content-type"]) != null && n.includes("video")) {
2987
+ if ((u = (i = e.metadata) == null ? void 0 : i["content-type"]) != null && u.includes("video")) {
3065
2988
  const h = c && Object.keys(c).length > 0 ? Object.keys(c)[0] : null;
3066
2989
  return h ? a + h : null;
3067
2990
  } else
@@ -3157,8 +3080,8 @@ class AnalyticsService {
3157
3080
  if (!r || !r.active) return;
3158
3081
  const i = await configure.Platform.apps.getPublicConf(e);
3159
3082
  if (!i) return;
3160
- const n = i.xiti;
3161
- if (!n || !n.LIBELLE_SERVICE || !r.UAI) return;
3083
+ const u = i.xiti;
3084
+ if (!u || !u.LIBELLE_SERVICE || !r.UAI) return;
3162
3085
  function a(h) {
3163
3086
  let l = "";
3164
3087
  for (let E = 0; E < h.length; E++)
@@ -3173,10 +3096,10 @@ class AnalyticsService {
3173
3096
  Guest: "AUTRE"
3174
3097
  };
3175
3098
  return {
3176
- LIBELLE_SERVICE: n.LIBELLE_SERVICE,
3099
+ LIBELLE_SERVICE: u.LIBELLE_SERVICE,
3177
3100
  // Which property of LIBELLE_SERVICE to use depends on the frontend.
3178
- TYPE: n.OUTIL ? "TIERS" : "NATIF",
3179
- OUTIL: n.OUTIL ? n.OUTIL : "",
3101
+ TYPE: u.OUTIL ? "TIERS" : "NATIF",
3102
+ OUTIL: u.OUTIL ? u.OUTIL : "",
3180
3103
  STRUCT_ID: r.collectiviteId,
3181
3104
  STRUCT_UAI: r.UAI,
3182
3105
  PROJET: r.projetId ? r.projetId : o.ID_PROJET,
@@ -3187,7 +3110,7 @@ class AnalyticsService {
3187
3110
  };
3188
3111
  }
3189
3112
  }
3190
- const w = class w {
3113
+ const C = class C {
3191
3114
  // in minutes. Applies to recorded videos.
3192
3115
  constructor(e) {
3193
3116
  this.context = e;
@@ -3205,11 +3128,11 @@ const w = class w {
3205
3128
  async getVideoConf() {
3206
3129
  var t;
3207
3130
  const e = await this.conf.getPublicConf(
3208
- APP$4.VIDEO
3131
+ APP$1.VIDEO
3209
3132
  );
3210
3133
  return {
3211
- maxWeight: (e == null ? void 0 : e["max-videosize-mbytes"]) ?? w.MAX_WEIGHT,
3212
- maxDuration: (e == null ? void 0 : e["max-videoduration-minutes"]) ?? w.MAX_DURATION,
3134
+ maxWeight: (e == null ? void 0 : e["max-videosize-mbytes"]) ?? C.MAX_WEIGHT,
3135
+ maxDuration: (e == null ? void 0 : e["max-videoduration-minutes"]) ?? C.MAX_DURATION,
3213
3136
  acceptVideoUploadExtensions: ((t = e == null ? void 0 : e["accept-videoupload-extensions"]) == null ? void 0 : t.map(
3214
3137
  (s) => s.toUpperCase()
3215
3138
  )) ?? []
@@ -3230,13 +3153,13 @@ const w = class w {
3230
3153
  throw new Error("Invalid video file.");
3231
3154
  if (!e.filename)
3232
3155
  throw new Error("Invalid video filename");
3233
- const i = `${e.browser.name} ${e.browser.version}`, n = new FormData();
3234
- n.append("device", e.device || ""), n.append("browser", i), n.append("url", e.url), n.append("app", t), n.append("file", e.file, e.filename), n.append("weight", "" + e.file.size), n.append("captation", "" + s);
3156
+ const i = `${e.browser.name} ${e.browser.version}`, u = new FormData();
3157
+ u.append("device", e.device || ""), u.append("browser", i), u.append("url", e.url), u.append("app", t), u.append("file", e.file, e.filename), u.append("weight", "" + e.file.size), u.append("captation", "" + s);
3235
3158
  let a = `/video/encode?captation=${s}`;
3236
3159
  r && (a += `&duration=${r}`);
3237
3160
  const c = await this.http.post(
3238
3161
  a,
3239
- n,
3162
+ u,
3240
3163
  { headers: { "Content-Type": "multipart/form-data" } }
3241
3164
  );
3242
3165
  if (c.state == "running") {
@@ -3266,9 +3189,9 @@ const w = class w {
3266
3189
  throw new Error("Video cannot be uploaded.");
3267
3190
  }
3268
3191
  };
3269
- u(w, "MAX_WEIGHT", 50), // in Mbytes. Applies to uploaded videos.
3270
- u(w, "MAX_DURATION", 3);
3271
- let VideoService = w;
3192
+ n(C, "MAX_WEIGHT", 50), // in Mbytes. Applies to uploaded videos.
3193
+ n(C, "MAX_DURATION", 3);
3194
+ let VideoService = C;
3272
3195
  class EmbedderService {
3273
3196
  constructor(e) {
3274
3197
  this.context = e;
@@ -3304,9 +3227,9 @@ class EmbedderService {
3304
3227
  urlIsFromPattern(e, t) {
3305
3228
  const s = new RegExp("[^{}]+(?=(?:[^{}]*{[^}]*})*[^}]*$)", "g"), r = new RegExp("{[^}]*}", "g");
3306
3229
  let i = !0;
3307
- const n = t.match(s) || [], a = [];
3230
+ const u = t.match(s) || [], a = [];
3308
3231
  return (t.match(r) || []).forEach((h, l) => {
3309
- h.includes("ignore") || a.push(n[l]);
3232
+ h.includes("ignore") || a.push(u[l]);
3310
3233
  }), a.forEach((h) => {
3311
3234
  if (!e.includes(h)) {
3312
3235
  i = !1;
@@ -3337,7 +3260,7 @@ class EmbedderService {
3337
3260
  for (const s of e.url)
3338
3261
  if (this.urlIsFromPattern(t, s)) {
3339
3262
  const r = new RegExp("{[a-zA-Z0-9_.]+}", "g"), i = s.match(r) || [];
3340
- let n = e.embed;
3263
+ let u = e.embed;
3341
3264
  for (const a of i) {
3342
3265
  let c = s.split(a)[0];
3343
3266
  const h = c.split("}");
@@ -3348,9 +3271,9 @@ class EmbedderService {
3348
3271
  const E = s.split(a)[1].split("{")[0];
3349
3272
  E && (l = l.split(E)[0]);
3350
3273
  const p = new RegExp("\\" + a.replace(/}/, "\\}"), "g");
3351
- n = n.replace(p, l);
3274
+ u = u.replace(p, l);
3352
3275
  }
3353
- return n;
3276
+ return u;
3354
3277
  }
3355
3278
  return "";
3356
3279
  }
@@ -3363,7 +3286,7 @@ class AbstractBehaviourService {
3363
3286
  //-----------------
3364
3287
  //--- Utilities ---
3365
3288
  //-----------------
3366
- u(this, "_cache");
3289
+ n(this, "_cache");
3367
3290
  this.context = e, this._cache = new CacheService(this.context);
3368
3291
  }
3369
3292
  getApplication() {
@@ -3397,8 +3320,8 @@ class AbstractBehaviourService {
3397
3320
  class ActualitesBehaviour extends AbstractBehaviourService {
3398
3321
  constructor() {
3399
3322
  super(...arguments);
3400
- u(this, "APP", "actualites");
3401
- u(this, "RESOURCE", "actualites");
3323
+ n(this, "APP", "actualites");
3324
+ n(this, "RESOURCE", "actualites");
3402
3325
  }
3403
3326
  async loadResources() {
3404
3327
  return (await this.httpGet(
@@ -3421,24 +3344,24 @@ class ActualitesBehaviour extends AbstractBehaviourService {
3421
3344
  class BlogBehaviour extends AbstractBehaviourService {
3422
3345
  constructor() {
3423
3346
  super(...arguments);
3424
- u(this, "APP", "blog");
3425
- u(this, "RESOURCE", "blog");
3347
+ n(this, "APP", "blog");
3348
+ n(this, "RESOURCE", "blog");
3426
3349
  }
3427
3350
  loadResources() {
3428
3351
  return new Promise(async (t, s) => {
3429
3352
  try {
3430
3353
  const r = await this.httpGet("/blog/linker"), i = [];
3431
- r.forEach((n) => {
3432
- n.thumbnail ? n.thumbnail = n.thumbnail + "?thumbnail=48x48" : n.thumbnail = "/img/illustrations/blog.svg";
3433
- const a = n.fetchPosts.map((c) => this.dataToResource({
3434
- owner: n.author.userId,
3435
- ownerName: n.author.username,
3436
- title: c.title + " [" + n.title + "]",
3437
- _id: `${n._id}#${c._id}`,
3438
- icon: n.thumbnail,
3439
- path: `/blog/id/${n._id}/post/${c._id}`,
3440
- shared: !!(n.shared && n.shared.length >= 0),
3441
- modified: n.modified
3354
+ r.forEach((u) => {
3355
+ u.thumbnail ? u.thumbnail = u.thumbnail + "?thumbnail=48x48" : u.thumbnail = "/img/illustrations/blog.svg";
3356
+ const a = u.fetchPosts.map((c) => this.dataToResource({
3357
+ owner: u.author.userId,
3358
+ ownerName: u.author.username,
3359
+ title: c.title + " [" + u.title + "]",
3360
+ _id: `${u._id}#${c._id}`,
3361
+ icon: u.thumbnail,
3362
+ path: `/blog/id/${u._id}/post/${c._id}`,
3363
+ shared: !!(u.shared && u.shared.length >= 0),
3364
+ modified: u.modified
3442
3365
  }));
3443
3366
  i.push(...a);
3444
3367
  }), t(i);
@@ -3451,8 +3374,8 @@ class BlogBehaviour extends AbstractBehaviourService {
3451
3374
  class CollaborativewallBehaviour extends AbstractBehaviourService {
3452
3375
  constructor() {
3453
3376
  super(...arguments);
3454
- u(this, "APP", "collaborativewall");
3455
- u(this, "RESOURCE", "collaborativewall");
3377
+ n(this, "APP", "collaborativewall");
3378
+ n(this, "RESOURCE", "collaborativewall");
3456
3379
  }
3457
3380
  async loadResources() {
3458
3381
  return (await this.httpGet(
@@ -3474,8 +3397,8 @@ class CollaborativewallBehaviour extends AbstractBehaviourService {
3474
3397
  class CommunityBehaviour extends AbstractBehaviourService {
3475
3398
  constructor() {
3476
3399
  super(...arguments);
3477
- u(this, "APP", "community");
3478
- u(this, "RESOURCE", "community");
3400
+ n(this, "APP", "community");
3401
+ n(this, "RESOURCE", "community");
3479
3402
  }
3480
3403
  async loadResources() {
3481
3404
  return (await this.httpGet(
@@ -3499,24 +3422,24 @@ class CommunityBehaviour extends AbstractBehaviourService {
3499
3422
  class ExercizerBehaviour extends AbstractBehaviourService {
3500
3423
  constructor() {
3501
3424
  super(...arguments);
3502
- u(this, "APP", "exercizer");
3503
- u(this, "RESOURCE", "exercizer");
3425
+ n(this, "APP", "exercizer");
3426
+ n(this, "RESOURCE", "exercizer");
3504
3427
  }
3505
3428
  async loadResources() {
3506
3429
  return (await this.httpGet(
3507
3430
  "/exercizer/subjects-scheduled"
3508
3431
  )).map((s) => {
3509
3432
  const r = s.picture ? s.picture + "?thumbnail=48x48" : "/img/illustrations/exercizer.svg";
3510
- let i, n = !1;
3433
+ let i, u = !1;
3511
3434
  const a = JSON.parse(s.scheduled_at);
3512
- return a.groupList.length > 0 ? (n = !0, i = a.groupList[0].name) : a.userList.length > 0 ? (n = !0, i = a.userList[0].name) : i = "", a.groupList.length + a.userList.length > 1 && (i += "..."), this.dataToResource({
3435
+ return a.groupList.length > 0 ? (u = !0, i = a.groupList[0].name) : a.userList.length > 0 ? (u = !0, i = a.userList[0].name) : i = "", a.groupList.length + a.userList.length > 1 && (i += "..."), this.dataToResource({
3513
3436
  title: s.title,
3514
3437
  owner: s.owner,
3515
3438
  ownerName: i,
3516
3439
  icon: r,
3517
3440
  path: "/exercizer#/linker/" + s.id,
3518
3441
  _id: "" + s.id,
3519
- shared: n,
3442
+ shared: u,
3520
3443
  modified: s.modified
3521
3444
  });
3522
3445
  });
@@ -3525,8 +3448,8 @@ class ExercizerBehaviour extends AbstractBehaviourService {
3525
3448
  class FormulaireBehaviour extends AbstractBehaviourService {
3526
3449
  constructor() {
3527
3450
  super(...arguments);
3528
- u(this, "APP", "formulaire");
3529
- u(this, "RESOURCE", "formulaire");
3451
+ n(this, "APP", "formulaire");
3452
+ n(this, "RESOURCE", "formulaire");
3530
3453
  }
3531
3454
  async loadResources() {
3532
3455
  return (await this.httpGet(
@@ -3546,8 +3469,8 @@ class FormulaireBehaviour extends AbstractBehaviourService {
3546
3469
  class ForumBehaviour extends AbstractBehaviourService {
3547
3470
  constructor() {
3548
3471
  super(...arguments);
3549
- u(this, "APP", "forum");
3550
- u(this, "RESOURCE", "forum");
3472
+ n(this, "APP", "forum");
3473
+ n(this, "RESOURCE", "forum");
3551
3474
  }
3552
3475
  async loadResources() {
3553
3476
  return (await this.httpGet("/forum/categories")).map(
@@ -3567,8 +3490,8 @@ class ForumBehaviour extends AbstractBehaviourService {
3567
3490
  class HomeworksBehaviour extends AbstractBehaviourService {
3568
3491
  constructor() {
3569
3492
  super(...arguments);
3570
- u(this, "APP", "homeworks");
3571
- u(this, "RESOURCE", "homeworks");
3493
+ n(this, "APP", "homeworks");
3494
+ n(this, "RESOURCE", "homeworks");
3572
3495
  }
3573
3496
  async loadResources() {
3574
3497
  return (await this.httpGet("/homeworks/list")).filter((t) => t.owner && t.trashed === 0).map((t) => this.dataToResource({
@@ -3586,8 +3509,8 @@ class HomeworksBehaviour extends AbstractBehaviourService {
3586
3509
  class MagnetoBehaviour extends AbstractBehaviourService {
3587
3510
  constructor() {
3588
3511
  super(...arguments);
3589
- u(this, "APP", "magneto");
3590
- u(this, "RESOURCE", "magneto");
3512
+ n(this, "APP", "magneto");
3513
+ n(this, "RESOURCE", "magneto");
3591
3514
  }
3592
3515
  async loadResources() {
3593
3516
  const { all: t } = await this.httpGet(
@@ -3608,8 +3531,8 @@ class MagnetoBehaviour extends AbstractBehaviourService {
3608
3531
  class MindmapBehaviour extends AbstractBehaviourService {
3609
3532
  constructor() {
3610
3533
  super(...arguments);
3611
- u(this, "APP", "mindmap");
3612
- u(this, "RESOURCE", "mindmap");
3534
+ n(this, "APP", "mindmap");
3535
+ n(this, "RESOURCE", "mindmap");
3613
3536
  }
3614
3537
  async loadResources() {
3615
3538
  return (await this.httpGet("/mindmap/list/all")).map(
@@ -3629,13 +3552,13 @@ class MindmapBehaviour extends AbstractBehaviourService {
3629
3552
  class PagesBehaviour extends AbstractBehaviourService {
3630
3553
  constructor() {
3631
3554
  super(...arguments);
3632
- u(this, "APP", "pages");
3633
- u(this, "RESOURCE", "pages");
3555
+ n(this, "APP", "pages");
3556
+ n(this, "RESOURCE", "pages");
3634
3557
  }
3635
3558
  async loadResources() {
3636
3559
  const t = await this.httpGet("/pages/list/all"), s = [];
3637
3560
  return t.forEach((r) => {
3638
- var n;
3561
+ var u;
3639
3562
  const i = r.thumbnail ? r.thumbnail + "?thumbnail=48x48" : "/img/illustrations/pages.svg";
3640
3563
  s.push(
3641
3564
  this.dataToResource({
@@ -3648,7 +3571,7 @@ class PagesBehaviour extends AbstractBehaviourService {
3648
3571
  shared: typeof r.shared < "u",
3649
3572
  modified: r.modified
3650
3573
  })
3651
- ), (n = r.pages) == null || n.forEach((a) => {
3574
+ ), (u = r.pages) == null || u.forEach((a) => {
3652
3575
  s.push(
3653
3576
  this.dataToResource({
3654
3577
  title: a.title,
@@ -3668,8 +3591,8 @@ class PagesBehaviour extends AbstractBehaviourService {
3668
3591
  class PollBehaviour extends AbstractBehaviourService {
3669
3592
  constructor() {
3670
3593
  super(...arguments);
3671
- u(this, "APP", "poll");
3672
- u(this, "RESOURCE", "poll");
3594
+ n(this, "APP", "poll");
3595
+ n(this, "RESOURCE", "poll");
3673
3596
  }
3674
3597
  async loadResources() {
3675
3598
  return (await this.httpGet("/poll/list/all")).map((s) => {
@@ -3690,8 +3613,8 @@ class PollBehaviour extends AbstractBehaviourService {
3690
3613
  class ScrapbookBehaviour extends AbstractBehaviourService {
3691
3614
  constructor() {
3692
3615
  super(...arguments);
3693
- u(this, "APP", "scrapbook");
3694
- u(this, "RESOURCE", "scrapbook");
3616
+ n(this, "APP", "scrapbook");
3617
+ n(this, "RESOURCE", "scrapbook");
3695
3618
  }
3696
3619
  async loadResources() {
3697
3620
  return (await this.httpGet(
@@ -3714,25 +3637,25 @@ class ScrapbookBehaviour extends AbstractBehaviourService {
3714
3637
  class TimelinegeneratorBehaviour extends AbstractBehaviourService {
3715
3638
  constructor() {
3716
3639
  super(...arguments);
3717
- u(this, "APP", "timelinegenerator");
3718
- u(this, "RESOURCE", "timelinegenerator");
3640
+ n(this, "APP", "timelinegenerator");
3641
+ n(this, "RESOURCE", "timelinegenerator");
3719
3642
  }
3720
3643
  loadResources() {
3721
3644
  return new Promise(async (t, s) => {
3722
3645
  try {
3723
3646
  const i = (await this.httpGet(
3724
3647
  "/timelinegenerator/timelines"
3725
- )).map((n) => {
3726
- const a = n.icon || "/img/illustrations/timeline-default.png";
3648
+ )).map((u) => {
3649
+ const a = u.icon || "/img/illustrations/timeline-default.png";
3727
3650
  return this.dataToResource({
3728
- title: n.headline,
3729
- ownerName: n.owner.displayName,
3730
- owner: n.owner.userId,
3651
+ title: u.headline,
3652
+ ownerName: u.owner.displayName,
3653
+ owner: u.owner.userId,
3731
3654
  icon: a,
3732
- path: "/timelinegenerator#/view/" + n._id,
3733
- _id: n._id,
3734
- shared: typeof n.shared < "u",
3735
- modified: n.modified
3655
+ path: "/timelinegenerator#/view/" + u._id,
3656
+ _id: u._id,
3657
+ shared: typeof u.shared < "u",
3658
+ modified: u.modified
3736
3659
  });
3737
3660
  });
3738
3661
  t(i);
@@ -3745,8 +3668,8 @@ class TimelinegeneratorBehaviour extends AbstractBehaviourService {
3745
3668
  class WikiBehaviour extends AbstractBehaviourService {
3746
3669
  constructor() {
3747
3670
  super(...arguments);
3748
- u(this, "APP", "wiki");
3749
- u(this, "RESOURCE", "wiki");
3671
+ n(this, "APP", "wiki");
3672
+ n(this, "RESOURCE", "wiki");
3750
3673
  }
3751
3674
  async loadResources() {
3752
3675
  return (await this.httpGet(
@@ -3769,15 +3692,15 @@ class WikiBehaviour extends AbstractBehaviourService {
3769
3692
  class WorkspaceBehaviour extends AbstractBehaviourService {
3770
3693
  constructor() {
3771
3694
  super(...arguments);
3772
- u(this, "APP", "workspace");
3773
- u(this, "RESOURCE", "workspace");
3695
+ n(this, "APP", "workspace");
3696
+ n(this, "RESOURCE", "workspace");
3774
3697
  }
3775
3698
  loadResources({ search: t, asset_id: s }) {
3776
3699
  return new Promise(async (r, i) => {
3777
3700
  try {
3778
- let n = "/workspace/documents?filter=all&hierarchical=true";
3779
- s && s.length ? n += `&search=${t}` : t && t.length && (n += `&search=${t}`);
3780
- const c = (await this.httpGet(n)).filter((h) => !h.deleted).map((h) => {
3701
+ let u = "/workspace/documents?filter=all&hierarchical=true";
3702
+ s && s.length ? u += `&search=${t}` : t && t.length && (u += `&search=${t}`);
3703
+ const c = (await this.httpGet(u)).filter((h) => !h.deleted).map((h) => {
3781
3704
  const l = h.metadata["content-type"] && h.metadata["content-type"].indexOf("image") !== -1 ? `/workspace/document/${h._id}?thumbnail=120x120` : "/img/icons/unknown-large.png";
3782
3705
  return this.dataToResource({
3783
3706
  title: h.name,
@@ -3791,8 +3714,8 @@ class WorkspaceBehaviour extends AbstractBehaviourService {
3791
3714
  });
3792
3715
  });
3793
3716
  r(c);
3794
- } catch (n) {
3795
- i(n);
3717
+ } catch (u) {
3718
+ i(u);
3796
3719
  }
3797
3720
  });
3798
3721
  }
@@ -3808,7 +3731,7 @@ const y = class y {
3808
3731
  e.session().getUser()
3809
3732
  ]);
3810
3733
  i != null && i.apps && (r != null && r.length) && (this.resourceProducingApps = r.filter(
3811
- (n) => i.apps.some((a) => a.address.includes(n))
3734
+ (u) => i.apps.some((a) => a.address.includes(u))
3812
3735
  ));
3813
3736
  } catch (r) {
3814
3737
  console.warn("Failed to load resource-producing apps:", r);
@@ -3885,13 +3808,13 @@ const y = class y {
3885
3808
  //
3886
3809
  // STATIC REGISTRY
3887
3810
  //
3888
- u(y, "registry", new ServiceRegistry()), // Expose some useful functions
3889
- u(y, "findBehaviour", y.registry.findService.bind(y.registry)), u(y, "hasBehaviour", y.registry.isRegistered.bind(y.registry)), u(y, "resourceProducingApps", []);
3811
+ n(y, "registry", new ServiceRegistry()), // Expose some useful functions
3812
+ n(y, "findBehaviour", y.registry.findService.bind(y.registry)), n(y, "hasBehaviour", y.registry.isRegistered.bind(y.registry)), n(y, "resourceProducingApps", []);
3890
3813
  let SnipletsService = y;
3891
3814
  const SEND_ALL = "*";
3892
3815
  class WebBroker {
3893
3816
  constructor(e) {
3894
- u(this, "subscription");
3817
+ n(this, "subscription");
3895
3818
  this.odeServices = e;
3896
3819
  }
3897
3820
  get http() {
@@ -3923,10 +3846,10 @@ class WebBroker {
3923
3846
  }
3924
3847
  class DataService {
3925
3848
  constructor(e) {
3926
- u(this, "_webBroker");
3927
- u(this, "app");
3928
- u(this, "user");
3929
- u(this, "profile");
3849
+ n(this, "_webBroker");
3850
+ n(this, "app");
3851
+ n(this, "user");
3852
+ n(this, "profile");
3930
3853
  this.odeServices = e;
3931
3854
  }
3932
3855
  get conf() {
@@ -3960,12 +3883,12 @@ class DataService {
3960
3883
  addUserInfos(e) {
3961
3884
  return this.user && (e.userId = this.user.userId, e.structure = this.user.structureNames[0]), this.profile && (e.profil = this.profile[0]), e;
3962
3885
  }
3963
- trackVideoSave(e, t, s, r, i, n, a) {
3886
+ trackVideoSave(e, t, s, r, i, u, a) {
3964
3887
  const c = this.addUserInfos({
3965
3888
  "event-type": "VIDEO_SAVE",
3966
3889
  module: "video",
3967
3890
  video_id: e,
3968
- browser: n,
3891
+ browser: u,
3969
3892
  duration: Math.round(t),
3970
3893
  weight: s,
3971
3894
  source: r ? "CAPTURED" : "UPLOADED",
@@ -3974,7 +3897,7 @@ class DataService {
3974
3897
  this.app && (c["override-module"] = this.app), a && (c.device_type = a), this.trackWebEvent(c);
3975
3898
  }
3976
3899
  trackVideoRead(e, t, s, r, i) {
3977
- const n = this.addUserInfos({
3900
+ const u = this.addUserInfos({
3978
3901
  "event-type": "VIDEO_READ",
3979
3902
  module: "video",
3980
3903
  video_id: e,
@@ -3982,7 +3905,7 @@ class DataService {
3982
3905
  source: t ? "CAPTURED" : "UPLOADED",
3983
3906
  url: s
3984
3907
  });
3985
- this.app && (n["override-module"] = this.app), i && (n.device_type = i), this.trackWebEvent(n);
3908
+ this.app && (u["override-module"] = this.app), i && (u.device_type = i), this.trackWebEvent(u);
3986
3909
  }
3987
3910
  trackSpeechAndText(e) {
3988
3911
  const t = this.addUserInfos({
@@ -4088,20 +4011,20 @@ class AudienceService {
4088
4011
  }
4089
4012
  class OdeServices {
4090
4013
  constructor() {
4091
- u(this, "_analytics");
4092
- u(this, "_cache");
4093
- u(this, "_conf");
4094
- u(this, "_data");
4095
- u(this, "_directory");
4096
- u(this, "_http");
4097
- u(this, "_idiom");
4098
- u(this, "_notify");
4099
- u(this, "_rights");
4100
- u(this, "_session");
4101
- u(this, "_share");
4102
- u(this, "_video");
4103
- u(this, "_workspace");
4104
- u(this, "_embedder");
4014
+ n(this, "_analytics");
4015
+ n(this, "_cache");
4016
+ n(this, "_conf");
4017
+ n(this, "_data");
4018
+ n(this, "_directory");
4019
+ n(this, "_http");
4020
+ n(this, "_idiom");
4021
+ n(this, "_notify");
4022
+ n(this, "_rights");
4023
+ n(this, "_session");
4024
+ n(this, "_share");
4025
+ n(this, "_video");
4026
+ n(this, "_workspace");
4027
+ n(this, "_embedder");
4105
4028
  this._analytics = new AnalyticsService(this), this._cache = new CacheService(this), this._conf = new ConfService(this), this._data = new DataService(this), this._directory = new DirectoryService(this), this._http = new HttpService(this), this._idiom = new IdiomService(this), this._notify = NotifyFrameworkFactory.instance(), this._rights = new RightService(this), this._session = new SessionService(this), this._share = new ShareService(this), this._video = new VideoService(this), this._workspace = new WorkspaceService(this), this._embedder = new EmbedderService(this);
4106
4029
  }
4107
4030
  initialize() {
@@ -4303,10 +4226,10 @@ const isActionAvailable = (o, e) => {
4303
4226
  class WidgetFramework {
4304
4227
  constructor() {
4305
4228
  //-------------------------------------
4306
- u(this, "_initialized");
4307
- u(this, "_widgets", []);
4229
+ n(this, "_initialized");
4230
+ n(this, "_widgets", []);
4308
4231
  ////////////////////////////////////// USER PREFERENCES
4309
- u(this, "_userPrefs", {});
4232
+ n(this, "_userPrefs", {});
4310
4233
  }
4311
4234
  initialize(e, t) {
4312
4235
  return this._initialized || (this._initialized = new Promisified(), notify.onSessionReady().promise.then((s) => {
@@ -4317,8 +4240,8 @@ class WidgetFramework {
4317
4240
  var i;
4318
4241
  (i = this._initialized) == null || i.resolve();
4319
4242
  }).catch((i) => {
4320
- var n;
4321
- (n = this._initialized) == null || n.reject();
4243
+ var u;
4244
+ (u = this._initialized) == null || u.reject();
4322
4245
  })) : (r = this._initialized) == null || r.reject();
4323
4246
  })), this._initialized.promise;
4324
4247
  }
@@ -4359,9 +4282,9 @@ class WidgetFramework {
4359
4282
  position: c.platformConf.position
4360
4283
  }), c.platformConf.mandatory && (this._userPrefs[l].show = !0, this._userPrefs[l].index = defaultWidgetOrder[l] ?? 999), c.platformConf.i18n && s.push(c.platformConf.i18n), c.applyUserPref(this._userPrefs[l]), !0);
4361
4284
  });
4362
- const n = new Idiom();
4285
+ const u = new Idiom();
4363
4286
  this._widgets = this._widgets.sort((c, h) => {
4364
- const l = n.translate(`timeline.settings.${c.platformConf.name}`).toLowerCase(), E = n.translate(`timeline.settings.${h.platformConf.name}`).toLowerCase();
4287
+ const l = u.translate(`timeline.settings.${c.platformConf.name}`).toLowerCase(), E = u.translate(`timeline.settings.${h.platformConf.name}`).toLowerCase();
4365
4288
  return l < E ? -1 : l > E ? 1 : 0;
4366
4289
  });
4367
4290
  });
@@ -4370,8 +4293,8 @@ class WidgetFramework {
4370
4293
  class Widget {
4371
4294
  //-------------------------------------
4372
4295
  constructor(e) {
4373
- u(this, "_schoolConf", {});
4374
- u(this, "_userPref");
4296
+ n(this, "_schoolConf", {});
4297
+ n(this, "_userPref");
4375
4298
  this._platformConf = e, this._userPref = null;
4376
4299
  }
4377
4300
  get platformConf() {
@@ -4430,7 +4353,7 @@ class WidgetFrameworkFactory {
4430
4353
  }
4431
4354
  export {
4432
4355
  ACTION,
4433
- APP$4 as APP,
4356
+ APP$1 as APP,
4434
4357
  BOOLEAN_FILTER,
4435
4358
  ConfigurationFrameworkFactory,
4436
4359
  DocumentHelper,