territories-dashboard-lib 0.1.1__py3-none-any.whl → 0.1.3__py3-none-any.whl

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.

Potentially problematic release.


This version of territories-dashboard-lib might be problematic. Click here for more details.

Files changed (77) hide show
  1. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/css/website.css +956 -0
  2. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/chart.js +13 -0
  3. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/chartjs-plugin-datalabels.js +1 -0
  4. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/html2canvas.js +20 -0
  5. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/comparaison/data.mjs +62 -0
  6. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/comparaison/history.mjs +98 -0
  7. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/comparaison/main-values.mjs +30 -0
  8. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/comparaison/page.mjs +105 -0
  9. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/comparaison/territory-chart.mjs +141 -0
  10. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/details/data.mjs +59 -0
  11. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/details/histogram.mjs +130 -0
  12. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/details/map.mjs +25 -0
  13. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/details/page.mjs +96 -0
  14. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/details/proportions.mjs +77 -0
  15. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/details/sankey.mjs +27 -0
  16. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/details/table.mjs +229 -0
  17. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/details/top10.mjs +76 -0
  18. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/details/utils.mjs +8 -0
  19. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/dom.mjs +92 -0
  20. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/enums.mjs +104 -0
  21. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/export-graph.mjs +15 -0
  22. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/export.mjs +20 -0
  23. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/filters.mjs +159 -0
  24. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/format.mjs +54 -0
  25. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/side_panel.mjs +103 -0
  26. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/theme/history.mjs +89 -0
  27. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/theme/main-value.mjs +22 -0
  28. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/theme/page.mjs +162 -0
  29. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/theme/statistics.mjs +42 -0
  30. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/utils.mjs +93 -0
  31. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/static/page.mjs +35 -0
  32. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/patternomaly.js +1452 -0
  33. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/react18.js +31 -0
  34. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/reactdom18.js +267 -0
  35. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/supersetEmbed.js +355 -0
  36. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/react/indicatorMap.bundle.js +2 -0
  37. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/react/sankeyGraph.bundle.js +2 -0
  38. territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/react/vendors-node_modules_mapbox-gl_dist_mapbox-gl_js.bundle.js +2 -0
  39. territories_dashboard_lib/website_lib/templates/admin/indicators_lib/indicator/change_form.html +8 -0
  40. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/404.html +10 -0
  41. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/500.html +10 -0
  42. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/layout/base.html +42 -0
  43. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/layout/base.js +47 -0
  44. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/layout/footer.html +96 -0
  45. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/layout/header.html +101 -0
  46. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/layout/header.js +102 -0
  47. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/comparaison/[theme]/components/indicateur-card.html +48 -0
  48. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/comparaison/[theme]/page.html +52 -0
  49. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/components/chart-buttons.html +29 -0
  50. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/components/geo_params.html +71 -0
  51. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/components/indicator-card.html +52 -0
  52. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/components/loader.html +28 -0
  53. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/components/side_panel.html +27 -0
  54. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/components/side_panel_geo.html +80 -0
  55. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/components/side_panel_geo.js +85 -0
  56. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/components/side_panel_methodo.html +45 -0
  57. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/components/side_panel_methodo.js +19 -0
  58. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/components/themes-list.html +9 -0
  59. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/components/themes-nav.html +33 -0
  60. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/components/title.html +28 -0
  61. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/details/components/filters-reminder.html +19 -0
  62. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/details/components/table.html +123 -0
  63. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/details/page.html +166 -0
  64. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/themes/components/extremum.html +15 -0
  65. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/themes/components/indicateur-card.html +76 -0
  66. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/indicators/themes/page.html +66 -0
  67. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/lexique/page.html +17 -0
  68. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/page.html +14 -0
  69. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/sitemap/page.html +71 -0
  70. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/static/page.html +16 -0
  71. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/pages/superset/page.html +55 -0
  72. territories_dashboard_lib/website_lib/templates/territories_dashboard_lib/website/svg/delete-back.svg +1 -0
  73. {territories_dashboard_lib-0.1.1.dist-info → territories_dashboard_lib-0.1.3.dist-info}/METADATA +1 -1
  74. territories_dashboard_lib-0.1.3.dist-info/RECORD +139 -0
  75. territories_dashboard_lib-0.1.1.dist-info/RECORD +0 -67
  76. {territories_dashboard_lib-0.1.1.dist-info → territories_dashboard_lib-0.1.3.dist-info}/WHEEL +0 -0
  77. {territories_dashboard_lib-0.1.1.dist-info → territories_dashboard_lib-0.1.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,355 @@
1
+ !(function (e, t) {
2
+ "object" == typeof exports && "object" == typeof module
3
+ ? (module.exports = t())
4
+ : "function" == typeof define && define.amd
5
+ ? define([], t)
6
+ : "object" == typeof exports
7
+ ? (exports.supersetEmbeddedSdk = t())
8
+ : (e.supersetEmbeddedSdk = t());
9
+ })(globalThis, () =>
10
+ (() => {
11
+ "use strict";
12
+ var e = {
13
+ d: (t, s) => {
14
+ for (var o in s)
15
+ e.o(s, o) &&
16
+ !e.o(t, o) &&
17
+ Object.defineProperty(t, o, {
18
+ enumerable: !0,
19
+ get: s[o],
20
+ });
21
+ },
22
+ o: (e, t) => Object.prototype.hasOwnProperty.call(e, t),
23
+ r: (e) => {
24
+ "undefined" != typeof Symbol &&
25
+ Symbol.toStringTag &&
26
+ Object.defineProperty(e, Symbol.toStringTag, {
27
+ value: "Module",
28
+ }),
29
+ Object.defineProperty(e, "__esModule", { value: !0 });
30
+ },
31
+ },
32
+ t = {};
33
+ e.r(t), e.d(t, { embedDashboard: () => l });
34
+ const s = "__embedded_comms__",
35
+ o = { visible: "show_filters", expanded: "expand_filters" };
36
+ var r = (function (e) {
37
+ return (
38
+ (e.GET = "get"),
39
+ (e.REPLY = "reply"),
40
+ (e.EMIT = "emit"),
41
+ (e.ERROR = "error"),
42
+ e
43
+ );
44
+ })(r || {});
45
+ class i {
46
+ constructor(e) {
47
+ (this.port = void 0),
48
+ (this.name = ""),
49
+ (this.methods = {}),
50
+ (this.incrementor = 1),
51
+ (this.debugMode = void 0),
52
+ (this.isInitialised = void 0),
53
+ e && this.init(e);
54
+ }
55
+ init(e) {
56
+ if (this.isInitialised)
57
+ return void this.logError("already initialized");
58
+ const { port: t, name: s = "switchboard", debug: o = !1 } = e;
59
+ (this.port = t),
60
+ (this.name = s),
61
+ (this.debugMode = o),
62
+ t.addEventListener("message", async (e) => {
63
+ this.log("message received", e);
64
+ const t = e.data;
65
+ if (
66
+ (function (e) {
67
+ return e.switchboardAction === r.GET;
68
+ })(t)
69
+ )
70
+ this.port.postMessage(
71
+ await this.getMethodResult(t)
72
+ );
73
+ else if (
74
+ (function (e) {
75
+ return e.switchboardAction === r.EMIT;
76
+ })(t)
77
+ ) {
78
+ const { method: e, args: s } = t,
79
+ o = this.methods[e];
80
+ o && o(s);
81
+ }
82
+ }),
83
+ (this.isInitialised = !0);
84
+ }
85
+ async getMethodResult({ messageId: e, method: t, args: s }) {
86
+ const o = this.methods[t];
87
+ if (null == o)
88
+ return {
89
+ switchboardAction: r.ERROR,
90
+ messageId: e,
91
+ error: `[${this.name}] Method "${t}" is not defined`,
92
+ };
93
+ try {
94
+ const t = await o(s);
95
+ return {
96
+ switchboardAction: r.REPLY,
97
+ messageId: e,
98
+ result: t,
99
+ };
100
+ } catch (s) {
101
+ return (
102
+ this.logError(s),
103
+ {
104
+ switchboardAction: r.ERROR,
105
+ messageId: e,
106
+ error: `[${this.name}] Method "${t}" threw an error`,
107
+ }
108
+ );
109
+ }
110
+ }
111
+ defineMethod(e, t) {
112
+ this.methods[e] = t;
113
+ }
114
+ get(e, t = void 0) {
115
+ return new Promise((s, o) => {
116
+ if (!this.isInitialised)
117
+ return void o(new Error("Switchboard not initialised"));
118
+ const i = this.getNewMessageId(),
119
+ n = (e) => {
120
+ const t = e.data;
121
+ if (t.messageId === i)
122
+ if (
123
+ (this.port.removeEventListener(
124
+ "message",
125
+ n
126
+ ),
127
+ (function (e) {
128
+ return e.switchboardAction === r.REPLY;
129
+ })(t))
130
+ )
131
+ s(t.result);
132
+ else {
133
+ const e = (function (e) {
134
+ return e.switchboardAction === r.ERROR;
135
+ })(t)
136
+ ? t.error
137
+ : "Unexpected response message";
138
+ o(new Error(e));
139
+ }
140
+ };
141
+ this.port.addEventListener("message", n), this.port.start();
142
+ const a = {
143
+ switchboardAction: r.GET,
144
+ method: e,
145
+ messageId: i,
146
+ args: t,
147
+ };
148
+ this.port.postMessage(a);
149
+ });
150
+ }
151
+ emit(e, t = void 0) {
152
+ if (!this.isInitialised)
153
+ return void this.logError("Switchboard not initialised");
154
+ const s = { switchboardAction: r.EMIT, method: e, args: t };
155
+ this.port.postMessage(s);
156
+ }
157
+ start() {
158
+ this.isInitialised
159
+ ? this.port.start()
160
+ : this.logError("Switchboard not initialised");
161
+ }
162
+ log(...e) {
163
+ this.debugMode && console.debug(`[${this.name}]`, ...e);
164
+ }
165
+ logError(...e) {
166
+ console.error(`[${this.name}]`, ...e);
167
+ }
168
+ getNewMessageId() {
169
+ return `m_${this.name}_${this.incrementor++}`;
170
+ }
171
+ }
172
+ new i();
173
+ class n extends Error {}
174
+ n.prototype.name = "InvalidTokenError";
175
+ const a = 5e3,
176
+ d = 1e4,
177
+ c = 3e5;
178
+ function h(e) {
179
+ const t = (function (e, t) {
180
+ if ("string" != typeof e)
181
+ throw new n(
182
+ "Invalid token specified: must be a string"
183
+ );
184
+ t || (t = {});
185
+ const s = !0 === t.header ? 0 : 1,
186
+ o = e.split(".")[s];
187
+ if ("string" != typeof o)
188
+ throw new n(
189
+ `Invalid token specified: missing part #${s + 1}`
190
+ );
191
+ let r;
192
+ try {
193
+ r = (function (e) {
194
+ let t = e.replace(/-/g, "+").replace(/_/g, "/");
195
+ switch (t.length % 4) {
196
+ case 0:
197
+ break;
198
+ case 2:
199
+ t += "==";
200
+ break;
201
+ case 3:
202
+ t += "=";
203
+ break;
204
+ default:
205
+ throw new Error(
206
+ "base64 string is not of the correct length"
207
+ );
208
+ }
209
+ try {
210
+ return (function (e) {
211
+ return decodeURIComponent(
212
+ atob(e).replace(/(.)/g, (e, t) => {
213
+ let s = t
214
+ .charCodeAt(0)
215
+ .toString(16)
216
+ .toUpperCase();
217
+ return (
218
+ s.length < 2 && (s = "0" + s),
219
+ "%" + s
220
+ );
221
+ })
222
+ );
223
+ })(t);
224
+ } catch (e) {
225
+ return atob(t);
226
+ }
227
+ })(o);
228
+ } catch (e) {
229
+ throw new n(
230
+ `Invalid token specified: invalid base64 for part #${
231
+ s + 1
232
+ } (${e.message})`
233
+ );
234
+ }
235
+ try {
236
+ return JSON.parse(r);
237
+ } catch (e) {
238
+ throw new n(
239
+ `Invalid token specified: invalid json for part #${
240
+ s + 1
241
+ } (${e.message})`
242
+ );
243
+ }
244
+ })(e),
245
+ s = new Date(
246
+ /[^0-9\.]/g.test(t.exp) ? t.exp : 1e3 * parseFloat(t.exp)
247
+ );
248
+ return (
249
+ ("Invalid Date" !== s.toString()
250
+ ? Math.max(d, s.getTime() - Date.now())
251
+ : c) - a
252
+ );
253
+ }
254
+ async function l({
255
+ id: e,
256
+ supersetDomain: t,
257
+ mountPoint: r,
258
+ fetchGuestToken: n,
259
+ dashboardUiConfig: a,
260
+ debug: d = !1,
261
+ iframeTitle: c = "Embedded Dashboard",
262
+ iframeSandboxExtras: l = [],
263
+ }) {
264
+ function g(...t) {
265
+ d &&
266
+ console.debug(
267
+ `[superset-embedded-sdk][dashboard ${e}]`,
268
+ ...t
269
+ );
270
+ }
271
+ function m() {
272
+ let e = 0;
273
+ return (
274
+ a &&
275
+ (a.hideTitle && (e += 1),
276
+ a.hideTab && (e += 2),
277
+ a.hideChartControls && (e += 8)),
278
+ e
279
+ );
280
+ }
281
+ g("embedding"), t.endsWith("/") && (t = t.slice(0, -1));
282
+ const [u, p] = await Promise.all([
283
+ n(),
284
+ (async function () {
285
+ return new Promise((n) => {
286
+ const h = document.createElement("iframe"),
287
+ u = a ? { uiConfig: `${m()}` } : void 0,
288
+ p = a?.filters || {},
289
+ b = Object.keys(p),
290
+ f = {
291
+ ...u,
292
+ ...Object.fromEntries(
293
+ b.map((e) => [o[e], p[e]])
294
+ ),
295
+ ...a?.urlParams,
296
+ },
297
+ w = Object.keys(f).length
298
+ ? "?" + new URLSearchParams(f).toString()
299
+ : "";
300
+ h.sandbox.add("allow-same-origin"),
301
+ h.sandbox.add("allow-scripts"),
302
+ h.sandbox.add("allow-presentation"),
303
+ h.sandbox.add("allow-downloads"),
304
+ h.sandbox.add("allow-forms"),
305
+ h.sandbox.add("allow-popups"),
306
+ l.forEach((e) => {
307
+ h.sandbox.add(e);
308
+ }),
309
+ h.addEventListener("load", () => {
310
+ const e = new MessageChannel(),
311
+ o = e.port1,
312
+ r = e.port2;
313
+ h.contentWindow.postMessage(
314
+ { type: s, handshake: "port transfer" },
315
+ t,
316
+ [r]
317
+ ),
318
+ g("sent message channel to the iframe"),
319
+ n(
320
+ new i({
321
+ port: o,
322
+ name: "superset-embedded-sdk",
323
+ debug: d,
324
+ })
325
+ );
326
+ }),
327
+ (h.src = `${t}/embedded/${e}${w}`),
328
+ (h.title = c),
329
+ r.replaceChildren(h),
330
+ g("placed the iframe");
331
+ });
332
+ })(),
333
+ ]);
334
+ return (
335
+ p.emit("guestToken", { guestToken: u }),
336
+ g("sent guest token"),
337
+ setTimeout(async function e() {
338
+ const t = await n();
339
+ p.emit("guestToken", { guestToken: t }),
340
+ setTimeout(e, h(t));
341
+ }, h(u)),
342
+ {
343
+ getScrollSize: () => p.get("getScrollSize"),
344
+ unmount: function () {
345
+ g("unmounting"), r.replaceChildren();
346
+ },
347
+ getDashboardPermalink: (e) =>
348
+ p.get("getDashboardPermalink", { anchor: e }),
349
+ getActiveTabs: () => p.get("getActiveTabs"),
350
+ }
351
+ );
352
+ }
353
+ return t;
354
+ })()
355
+ );