@supersoniks/concorde 1.1.45 → 1.1.47
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/README.md +0 -0
- package/cli.js +0 -0
- package/concorde-core.bundle.js +36 -23
- package/concorde-core.es.js +1156 -864
- package/concorde-customer.bundle.js +129 -0
- package/concorde-customer.es.js +22004 -0
- package/core/_types/types.d.ts +0 -1
- package/core/components/functional/date/date.js +15 -7
- package/core/components/functional/fetch/fetch.d.ts +3 -1
- package/core/components/functional/list/list.d.ts +36 -19
- package/core/components/functional/list/list.js +15 -23
- package/core/components/functional/queue/queue.d.ts +6 -1
- package/core/components/functional/queue/queue.js +92 -54
- package/core/components/functional/sdui/sdui.d.ts +3 -4
- package/core/components/functional/sdui/sdui.js +0 -3
- package/core/components/ui/_css/type.js +12 -12
- package/core/components/ui/alert/alert.d.ts +3 -0
- package/core/components/ui/alert/alert.js +33 -1
- package/core/components/ui/badge/badge.d.ts +1 -1
- package/core/components/ui/badge/badge.js +9 -3
- package/core/components/ui/button/button.d.ts +2 -0
- package/core/components/ui/button/button.js +37 -12
- package/core/components/ui/form/checkbox/checkbox.d.ts +3 -0
- package/core/components/ui/form/checkbox/checkbox.js +14 -3
- package/core/components/ui/form/css/form-control.d.ts +1 -0
- package/core/components/ui/form/css/form-control.js +17 -0
- package/core/components/ui/form/input/input.d.ts +4 -3
- package/core/components/ui/form/input/input.js +38 -1
- package/core/components/ui/form/textarea/textarea.d.ts +1 -0
- package/core/components/ui/icon/icon.js +1 -1
- package/core/components/ui/image/image.d.ts +2 -0
- package/core/components/ui/image/image.js +28 -0
- package/core/components/ui/modal/modal-close.js +2 -3
- package/core/components/ui/modal/modal-content.js +1 -0
- package/core/components/ui/modal/modal.d.ts +8 -0
- package/core/components/ui/modal/modal.js +34 -6
- package/core/components/ui/pop/pop.js +1 -1
- package/core/components/ui/theme/css/tailwind.css +0 -0
- package/core/components/ui/theme/css/tailwind.d.ts +0 -0
- package/core/components/ui/theme/theme-collection/core-variables.js +18 -9
- package/core/components/ui/theme/theme.js +15 -8
- package/core/components/ui/toast/toast.d.ts +1 -1
- package/core/components/ui/toast/types.d.ts +1 -1
- package/core/components/ui/ui.d.ts +0 -1
- package/core/components/ui/ui.js +0 -1
- package/core/mixins/Fetcher.d.ts +3 -1
- package/core/mixins/Fetcher.js +45 -14
- package/core/mixins/FormCheckable.d.ts +1 -0
- package/core/mixins/FormInput.d.ts +1 -0
- package/core/mixins/Subscriber.d.ts +1 -0
- package/core/mixins/Subscriber.js +12 -7
- package/core/utils/LocationHandler.js +9 -3
- package/core/utils/PublisherProxy.d.ts +30 -4
- package/core/utils/PublisherProxy.js +218 -7
- package/core/utils/api.d.ts +3 -0
- package/core/utils/api.js +3 -1
- package/img/concorde-logo.svg +0 -0
- package/img/concorde.png +0 -0
- package/img/concorde_def.png +0 -0
- package/mixins.d.ts +5 -1
- package/package.json +5 -1
- package/svg/regular/plane.svg +0 -0
- package/svg/solid/plane.svg +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Merci de laisser ce fichier sans la moindre dépendance en dehors de types du ceur.
|
|
4
4
|
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
5
5
|
* **/
|
|
6
|
-
import { CoreJSType, PublisherContentType } from "../_types/types";
|
|
6
|
+
import { PublisherInterface, CoreJSType, PublisherContentType } from "../_types/types";
|
|
7
7
|
type DynamicFillingListener = any;
|
|
8
8
|
type TemplateFillingListener = {
|
|
9
9
|
propertyMap: Record<string, string>;
|
|
@@ -12,15 +12,18 @@ type TemplateFillingListener = {
|
|
|
12
12
|
* Custom Proxy contient les méthodes des publishers retournés par PublisherManager.get(publisherId) qui seront utilisées couramment
|
|
13
13
|
*/
|
|
14
14
|
export declare class PublisherProxy<T = any> {
|
|
15
|
+
static instances: Map<number, PublisherProxy<any>>;
|
|
16
|
+
static instancesCounter: number;
|
|
15
17
|
_proxies_: Map<string, PublisherProxy>;
|
|
16
18
|
_value_: T;
|
|
17
|
-
|
|
19
|
+
_is_savable_: boolean;
|
|
18
20
|
_invalidateListeners_: Set<VoidFunction>;
|
|
19
21
|
_assignListeners_: Set<(value: T) => void>;
|
|
20
22
|
_mutationListeners_: Set<VoidFunction>;
|
|
21
23
|
_fillListeners_: Set<Record<string, CoreJSType>>;
|
|
22
24
|
_templateFillListeners_: Set<any>;
|
|
23
25
|
_lockInternalMutationPublishing_: boolean;
|
|
26
|
+
_instanceCounter_: number;
|
|
24
27
|
parent: PublisherProxy | null;
|
|
25
28
|
root: PublisherProxy;
|
|
26
29
|
constructor(target: T, parentProxPub: PublisherProxy | null);
|
|
@@ -91,6 +94,10 @@ export declare class PublisherProxy<T = any> {
|
|
|
91
94
|
* Extraire la valeur actuelle du proxy
|
|
92
95
|
*/
|
|
93
96
|
get(): T;
|
|
97
|
+
/**
|
|
98
|
+
* retourner le webcomponent auquel le proxy est associé
|
|
99
|
+
*/
|
|
100
|
+
get $tag(): string;
|
|
94
101
|
}
|
|
95
102
|
/**
|
|
96
103
|
* Utilitaires de gestion des Publisher
|
|
@@ -98,9 +105,19 @@ export declare class PublisherProxy<T = any> {
|
|
|
98
105
|
*
|
|
99
106
|
*/
|
|
100
107
|
export declare class PublisherManager {
|
|
108
|
+
static changed: boolean;
|
|
109
|
+
static saving: boolean;
|
|
110
|
+
static saveId: number;
|
|
101
111
|
static instance: PublisherManager | null;
|
|
112
|
+
enabledLocaStorageProxies: string[];
|
|
102
113
|
publishers: Map<string, Publisher<PublisherContentType>>;
|
|
114
|
+
localStorageData: Record<string, {
|
|
115
|
+
lastModifiationMS: number;
|
|
116
|
+
data: PublisherContentType;
|
|
117
|
+
}>;
|
|
118
|
+
isLocalStrorageReady: Promise<boolean> | null;
|
|
103
119
|
constructor();
|
|
120
|
+
cleanStorageData(): Promise<unknown>;
|
|
104
121
|
/**
|
|
105
122
|
* PublisherManager est un singleton
|
|
106
123
|
*/
|
|
@@ -109,7 +126,9 @@ export declare class PublisherManager {
|
|
|
109
126
|
* shortcut static pour obtenir un publisher vias sont id/adresse sans taper getInstance.
|
|
110
127
|
* Si le publisher n'existe pas, il est créé.
|
|
111
128
|
*/
|
|
112
|
-
static get(id: string
|
|
129
|
+
static get(id: string, options?: {
|
|
130
|
+
localStorageMode?: string;
|
|
131
|
+
}): any;
|
|
113
132
|
/**
|
|
114
133
|
* shortcut static pour supprimer un publisher de la liste et appel également delete sur le publisher ce qui le supprime, de même que ses sous publishers
|
|
115
134
|
*/
|
|
@@ -118,7 +137,11 @@ export declare class PublisherManager {
|
|
|
118
137
|
* Obtenir un publisher vias sont id/adresse
|
|
119
138
|
* Si le publisher n'existe pas, il est créé.
|
|
120
139
|
*/
|
|
121
|
-
|
|
140
|
+
setLocalData(publisher: PublisherInterface, id: string): Promise<void>;
|
|
141
|
+
initialisedData: string[];
|
|
142
|
+
get(id: string, options?: {
|
|
143
|
+
localStorageMode?: string;
|
|
144
|
+
}): any;
|
|
122
145
|
/**
|
|
123
146
|
* Remplace un publisher pour l'id fourni par un autre.
|
|
124
147
|
* L'autre publisher n'est pas supprimé.
|
|
@@ -128,6 +151,9 @@ export declare class PublisherManager {
|
|
|
128
151
|
* supprimer un publisher de la liste et appel également delete sur le publisher ce qui le supprime, de même que ses sous publishers
|
|
129
152
|
*/
|
|
130
153
|
delete(id: string): boolean;
|
|
154
|
+
saveToLocalStorage(saveId?: number): Promise<void>;
|
|
155
|
+
compress(string: string, encoding: string): Promise<string>;
|
|
156
|
+
decompress(str: string, encoding: string): Promise<string>;
|
|
131
157
|
}
|
|
132
158
|
/**
|
|
133
159
|
* Le Proxy Javascript
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any*/
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
function isComplex(value) {
|
|
3
12
|
return typeof value === "object" && value != null;
|
|
4
13
|
}
|
|
@@ -8,16 +17,18 @@ function isComplex(value) {
|
|
|
8
17
|
export class PublisherProxy {
|
|
9
18
|
constructor(target, parentProxPub) {
|
|
10
19
|
this._proxies_ = new Map();
|
|
11
|
-
this.
|
|
20
|
+
this._is_savable_ = false;
|
|
12
21
|
this._invalidateListeners_ = new Set();
|
|
13
22
|
this._assignListeners_ = new Set();
|
|
14
23
|
this._mutationListeners_ = new Set();
|
|
15
24
|
this._fillListeners_ = new Set();
|
|
16
25
|
this._templateFillListeners_ = new Set();
|
|
17
26
|
this._lockInternalMutationPublishing_ = false;
|
|
27
|
+
this._instanceCounter_ = 0;
|
|
18
28
|
this._value_ = target;
|
|
19
29
|
this.parent = parentProxPub || null;
|
|
20
30
|
this.root = this;
|
|
31
|
+
this._instanceCounter_ = 0;
|
|
21
32
|
while (this.root.parent) {
|
|
22
33
|
this.root = this.root.parent;
|
|
23
34
|
}
|
|
@@ -36,6 +47,7 @@ export class PublisherProxy {
|
|
|
36
47
|
this._fillListeners_.clear();
|
|
37
48
|
this._templateFillListeners_.clear();
|
|
38
49
|
this._proxies_.clear();
|
|
50
|
+
PublisherProxy.instances.delete(this._instanceCounter_);
|
|
39
51
|
}
|
|
40
52
|
/**
|
|
41
53
|
* Utile pour savoir si quelque chose est en écoute d'une modification sur le proxy via une des methodes associées
|
|
@@ -51,6 +63,12 @@ export class PublisherProxy {
|
|
|
51
63
|
this._mutationListeners_.forEach((handler) => handler());
|
|
52
64
|
if (lockInternalMutationsTransmission)
|
|
53
65
|
return;
|
|
66
|
+
if (!PublisherManager.changed && this._is_savable_) {
|
|
67
|
+
PublisherManager.changed = true;
|
|
68
|
+
PublisherManager.saveId++;
|
|
69
|
+
const saveId = PublisherManager.saveId;
|
|
70
|
+
setTimeout(() => PublisherManager.getInstance().saveToLocalStorage(saveId), 1000);
|
|
71
|
+
}
|
|
54
72
|
if (this.parent) {
|
|
55
73
|
this.parent._publishInternalMutation_();
|
|
56
74
|
}
|
|
@@ -273,7 +291,21 @@ export class PublisherProxy {
|
|
|
273
291
|
}
|
|
274
292
|
return this._value_;
|
|
275
293
|
}
|
|
294
|
+
/**
|
|
295
|
+
* retourner le webcomponent auquel le proxy est associé
|
|
296
|
+
*/
|
|
297
|
+
get $tag() {
|
|
298
|
+
if (!this._instanceCounter_) {
|
|
299
|
+
PublisherProxy.instancesCounter++;
|
|
300
|
+
this._instanceCounter_ = PublisherProxy.instancesCounter;
|
|
301
|
+
}
|
|
302
|
+
PublisherProxy.instances.set(this._instanceCounter_, this);
|
|
303
|
+
const str = '<reactive-publisher-proxy publisher="' + this._instanceCounter_ + '"></reactive-publisher-proxy>';
|
|
304
|
+
return str;
|
|
305
|
+
}
|
|
276
306
|
}
|
|
307
|
+
PublisherProxy.instances = new Map();
|
|
308
|
+
PublisherProxy.instancesCounter = 0;
|
|
277
309
|
/**
|
|
278
310
|
* Utilitaires de gestion des Publisher
|
|
279
311
|
* Obtenir, replacer ou supprimer un Publisher
|
|
@@ -281,10 +313,59 @@ export class PublisherProxy {
|
|
|
281
313
|
*/
|
|
282
314
|
export class PublisherManager {
|
|
283
315
|
constructor() {
|
|
316
|
+
this.enabledLocaStorageProxies = [];
|
|
284
317
|
this.publishers = new Map();
|
|
318
|
+
this.localStorageData = {};
|
|
319
|
+
this.isLocalStrorageReady = null;
|
|
320
|
+
this.initialisedData = [];
|
|
285
321
|
if (PublisherManager.instance != null)
|
|
286
322
|
throw "Singleton / use getInstance";
|
|
287
323
|
PublisherManager.instance = this;
|
|
324
|
+
this.isLocalStrorageReady = this.cleanStorageData();
|
|
325
|
+
}
|
|
326
|
+
cleanStorageData() {
|
|
327
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
328
|
+
return new Promise((resolve) => {
|
|
329
|
+
const doiIt = () => __awaiter(this, void 0, void 0, function* () {
|
|
330
|
+
try {
|
|
331
|
+
let compressedData = localStorage.getItem("publisher-proxies-data");
|
|
332
|
+
let localStorageJSON = null;
|
|
333
|
+
if (compressedData)
|
|
334
|
+
localStorageJSON = yield this.decompress(compressedData, "gzip");
|
|
335
|
+
if (localStorageJSON) {
|
|
336
|
+
try {
|
|
337
|
+
this.localStorageData = JSON.parse(localStorageJSON);
|
|
338
|
+
}
|
|
339
|
+
catch (e) {
|
|
340
|
+
this.localStorageData = {};
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
compressedData = yield this.compress("{}", "gzip");
|
|
345
|
+
localStorage.setItem("publisher-proxies-data", compressedData);
|
|
346
|
+
this.localStorageData = {};
|
|
347
|
+
}
|
|
348
|
+
const expires = new Date().getTime() - 1000 * 60 * 60 * 12;
|
|
349
|
+
for (const key in this.localStorageData) {
|
|
350
|
+
const item = this.localStorageData[key];
|
|
351
|
+
if (item.lastModifiationMS < expires) {
|
|
352
|
+
delete this.localStorageData[key];
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
resolve(true);
|
|
356
|
+
// compressedData = await this.compress(JSON.stringify(this.localStorageData), "gzip");
|
|
357
|
+
// localStorage.setItem("publisher-proxies-data", compressedData);
|
|
358
|
+
}
|
|
359
|
+
catch (e) {
|
|
360
|
+
window.requestAnimationFrame(() => {
|
|
361
|
+
resolve(false);
|
|
362
|
+
});
|
|
363
|
+
console.log("no publisher cache in this browser");
|
|
364
|
+
}
|
|
365
|
+
});
|
|
366
|
+
doiIt();
|
|
367
|
+
});
|
|
368
|
+
});
|
|
288
369
|
}
|
|
289
370
|
/**
|
|
290
371
|
* PublisherManager est un singleton
|
|
@@ -298,8 +379,8 @@ export class PublisherManager {
|
|
|
298
379
|
* shortcut static pour obtenir un publisher vias sont id/adresse sans taper getInstance.
|
|
299
380
|
* Si le publisher n'existe pas, il est créé.
|
|
300
381
|
*/
|
|
301
|
-
static get(id) {
|
|
302
|
-
return PublisherManager.getInstance().get(id);
|
|
382
|
+
static get(id, options) {
|
|
383
|
+
return PublisherManager.getInstance().get(id, options);
|
|
303
384
|
}
|
|
304
385
|
/**
|
|
305
386
|
* shortcut static pour supprimer un publisher de la liste et appel également delete sur le publisher ce qui le supprime, de même que ses sous publishers
|
|
@@ -311,9 +392,26 @@ export class PublisherManager {
|
|
|
311
392
|
* Obtenir un publisher vias sont id/adresse
|
|
312
393
|
* Si le publisher n'existe pas, il est créé.
|
|
313
394
|
*/
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
395
|
+
setLocalData(publisher, id) {
|
|
396
|
+
var _a;
|
|
397
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
398
|
+
yield this.isLocalStrorageReady;
|
|
399
|
+
publisher.set(((_a = this.localStorageData[id + "¤page:>" + document.location.pathname]) === null || _a === void 0 ? void 0 : _a.data) || publisher.get());
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
get(id, options) {
|
|
403
|
+
const hasLocalStorage = (options === null || options === void 0 ? void 0 : options.localStorageMode) === "enabled";
|
|
404
|
+
if (!this.publishers.has(id)) {
|
|
405
|
+
const data = {};
|
|
406
|
+
const publisher = new Publisher(data);
|
|
407
|
+
this.set(id, publisher);
|
|
408
|
+
}
|
|
409
|
+
const publisher = this.publishers.get(id);
|
|
410
|
+
if (hasLocalStorage && this.initialisedData.indexOf(id) === -1) {
|
|
411
|
+
publisher._is_savable_ = true;
|
|
412
|
+
this.initialisedData.push(id);
|
|
413
|
+
this.setLocalData(publisher, id);
|
|
414
|
+
}
|
|
317
415
|
return this.publishers.get(id);
|
|
318
416
|
}
|
|
319
417
|
/**
|
|
@@ -332,7 +430,86 @@ export class PublisherManager {
|
|
|
332
430
|
this.publishers.delete(id);
|
|
333
431
|
return true;
|
|
334
432
|
}
|
|
433
|
+
saveToLocalStorage(saveId = 0) {
|
|
434
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
435
|
+
/**
|
|
436
|
+
* si l'id a changé et que ce n'est pas un multiple de 10, on ne sauve pas
|
|
437
|
+
* on sauvegarde quand même tous les 10 au cas ou on aurrait des changements en continue, par exemple à chaque frame
|
|
438
|
+
*/
|
|
439
|
+
if (saveId !== PublisherManager.saveId && saveId % 10 != 0)
|
|
440
|
+
return;
|
|
441
|
+
try {
|
|
442
|
+
if (!PublisherManager.changed || PublisherManager.saving)
|
|
443
|
+
return;
|
|
444
|
+
PublisherManager.saving = true;
|
|
445
|
+
PublisherManager.changed = false;
|
|
446
|
+
const keys = Array.from(this.publishers.keys());
|
|
447
|
+
let hasChanged = false;
|
|
448
|
+
for (const key of keys) {
|
|
449
|
+
const publisher = this.publishers.get(key);
|
|
450
|
+
if (!(publisher === null || publisher === void 0 ? void 0 : publisher._is_savable_))
|
|
451
|
+
continue;
|
|
452
|
+
const data = publisher === null || publisher === void 0 ? void 0 : publisher.get();
|
|
453
|
+
if (!data)
|
|
454
|
+
continue;
|
|
455
|
+
this.localStorageData[key + "¤page:>" + document.location.pathname] = {
|
|
456
|
+
lastModifiationMS: new Date().getTime(),
|
|
457
|
+
data: data,
|
|
458
|
+
};
|
|
459
|
+
hasChanged = true;
|
|
460
|
+
}
|
|
461
|
+
// on enregistre les données
|
|
462
|
+
if (hasChanged) {
|
|
463
|
+
const compressedData = yield this.compress(JSON.stringify(this.localStorageData), "gzip");
|
|
464
|
+
localStorage.setItem("publisher-proxies-data", compressedData);
|
|
465
|
+
}
|
|
466
|
+
PublisherManager.saving = false;
|
|
467
|
+
if (PublisherManager.changed) {
|
|
468
|
+
PublisherManager.saveId++;
|
|
469
|
+
const saveId = PublisherManager.saveId;
|
|
470
|
+
setTimeout(() => this.saveToLocalStorage(saveId), 1000);
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
catch (e) {
|
|
474
|
+
PublisherManager.saving = false;
|
|
475
|
+
}
|
|
476
|
+
});
|
|
477
|
+
}
|
|
478
|
+
compress(string, encoding) {
|
|
479
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
480
|
+
const byteArray = new TextEncoder().encode(string);
|
|
481
|
+
const win = window;
|
|
482
|
+
const cs = new win.CompressionStream(encoding);
|
|
483
|
+
const writer = cs.writable.getWriter();
|
|
484
|
+
writer.write(byteArray);
|
|
485
|
+
writer.close();
|
|
486
|
+
const result = yield new Response(cs.readable).arrayBuffer();
|
|
487
|
+
const arrayBufferView = new Uint8Array(result);
|
|
488
|
+
let str = "";
|
|
489
|
+
for (let i = 0; i < arrayBufferView.length; i++) {
|
|
490
|
+
str += String.fromCharCode(arrayBufferView[i]);
|
|
491
|
+
}
|
|
492
|
+
return btoa(str);
|
|
493
|
+
});
|
|
494
|
+
}
|
|
495
|
+
decompress(str, encoding) {
|
|
496
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
497
|
+
const decodedString = atob(str);
|
|
498
|
+
const arrayBufferViewFromLocalStorage = Uint8Array.from(decodedString, (c) => c.charCodeAt(0));
|
|
499
|
+
const byteArray = arrayBufferViewFromLocalStorage.buffer;
|
|
500
|
+
const win = window;
|
|
501
|
+
const cs = new win.DecompressionStream(encoding);
|
|
502
|
+
const writer = cs.writable.getWriter();
|
|
503
|
+
writer.write(byteArray);
|
|
504
|
+
writer.close();
|
|
505
|
+
const result = yield new Response(cs.readable).arrayBuffer();
|
|
506
|
+
return new TextDecoder().decode(result);
|
|
507
|
+
});
|
|
508
|
+
}
|
|
335
509
|
}
|
|
510
|
+
PublisherManager.changed = false;
|
|
511
|
+
PublisherManager.saving = false;
|
|
512
|
+
PublisherManager.saveId = 0;
|
|
336
513
|
PublisherManager.instance = null;
|
|
337
514
|
/**
|
|
338
515
|
* Le Proxy Javascript
|
|
@@ -361,6 +538,7 @@ export default class Publisher extends PublisherProxy {
|
|
|
361
538
|
"offInternalMutation",
|
|
362
539
|
"set",
|
|
363
540
|
"get",
|
|
541
|
+
"$tag",
|
|
364
542
|
"_templateFillListeners_",
|
|
365
543
|
"_fillListeners_",
|
|
366
544
|
"_assignListeners_",
|
|
@@ -376,7 +554,9 @@ export default class Publisher extends PublisherProxy {
|
|
|
376
554
|
"_proxies_",
|
|
377
555
|
"parent",
|
|
378
556
|
"_value_",
|
|
557
|
+
"_is_savable_",
|
|
379
558
|
"_lockInternalMutationPublishing_",
|
|
559
|
+
"_instanceCounter_",
|
|
380
560
|
].includes(sKey))
|
|
381
561
|
return publisherInstance[sKey];
|
|
382
562
|
if (!publisherInstance._proxies_.has(sKey)) {
|
|
@@ -396,7 +576,14 @@ export default class Publisher extends PublisherProxy {
|
|
|
396
576
|
//Fonctionnement pour la donnée interne pas de dispatch;
|
|
397
577
|
if (sKey == "_value_") {
|
|
398
578
|
publisherInstance._value_ = vValue;
|
|
399
|
-
|
|
579
|
+
return true;
|
|
580
|
+
}
|
|
581
|
+
if (sKey == "_is_savable_") {
|
|
582
|
+
publisherInstance._is_savable_ = vValue;
|
|
583
|
+
return true;
|
|
584
|
+
}
|
|
585
|
+
if (sKey == "_instanceCounter_") {
|
|
586
|
+
publisherInstance._instanceCounter_ = vValue;
|
|
400
587
|
return true;
|
|
401
588
|
}
|
|
402
589
|
//Création du publisher si il n'existe pas
|
|
@@ -463,3 +650,27 @@ export default class Publisher extends PublisherProxy {
|
|
|
463
650
|
}
|
|
464
651
|
if (typeof module != "undefined")
|
|
465
652
|
module.exports = { Publisher: Publisher, PublisherManager: PublisherManager };
|
|
653
|
+
// /**
|
|
654
|
+
// * A custom webcomponent wich will be linked to a publisher via its attribute "publisher"
|
|
655
|
+
// * the publisher will be found via PublisherManager.get(publisherId) and will be used to fill the component using the onAssign method
|
|
656
|
+
// */
|
|
657
|
+
class PublisherWebComponent extends HTMLElement {
|
|
658
|
+
constructor() {
|
|
659
|
+
super();
|
|
660
|
+
this.publisherId = "";
|
|
661
|
+
this.onAssign = (value) => {
|
|
662
|
+
this.innerHTML = value.toString();
|
|
663
|
+
};
|
|
664
|
+
}
|
|
665
|
+
connectedCallback() {
|
|
666
|
+
var _a;
|
|
667
|
+
this.publisherId = this.getAttribute("publisher") || "";
|
|
668
|
+
this.publisher = PublisherProxy.instances.get(parseInt(this.publisherId));
|
|
669
|
+
(_a = this.publisher) === null || _a === void 0 ? void 0 : _a.onAssign(this.onAssign);
|
|
670
|
+
}
|
|
671
|
+
disconnectedCallback() {
|
|
672
|
+
var _a;
|
|
673
|
+
(_a = this.publisher) === null || _a === void 0 ? void 0 : _a.offAssign(this.onAssign);
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
customElements.define("reactive-publisher-proxy", PublisherWebComponent);
|
package/core/utils/api.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export type APIConfiguration = {
|
|
|
8
8
|
tokenProvider: string | null;
|
|
9
9
|
addHTTPResponse?: boolean;
|
|
10
10
|
credentials?: RequestCredentials;
|
|
11
|
+
cache?: RequestCache;
|
|
11
12
|
};
|
|
12
13
|
export type ResultTypeInterface = CoreJSType & {
|
|
13
14
|
_sonic_http_response_?: Response;
|
|
@@ -19,6 +20,7 @@ export type APICall = {
|
|
|
19
20
|
additionalHeaders: HeadersInit | undefined;
|
|
20
21
|
method?: string | undefined;
|
|
21
22
|
data?: unknown;
|
|
23
|
+
cache?: RequestCache;
|
|
22
24
|
};
|
|
23
25
|
declare class API {
|
|
24
26
|
/**
|
|
@@ -72,6 +74,7 @@ declare class API {
|
|
|
72
74
|
* Le endPoint pour obtenir le bearer token qui sera concaténé à l'url du service
|
|
73
75
|
*/
|
|
74
76
|
addHTTPResponse: boolean;
|
|
77
|
+
cache: RequestCache;
|
|
75
78
|
lastResult?: Response;
|
|
76
79
|
constructor(config: APIConfiguration);
|
|
77
80
|
handleResult(fetchResult: Response, lastCall: APICall): Promise<ResultTypeInterface>;
|
package/core/utils/api.js
CHANGED
|
@@ -39,6 +39,7 @@ class API {
|
|
|
39
39
|
* Le endPoint pour obtenir le bearer token qui sera concaténé à l'url du service
|
|
40
40
|
*/
|
|
41
41
|
this.addHTTPResponse = false;
|
|
42
|
+
this.cache = "default";
|
|
42
43
|
this.serviceURL = config.serviceURL;
|
|
43
44
|
if (!this.serviceURL)
|
|
44
45
|
this.serviceURL = document.location.origin;
|
|
@@ -50,6 +51,7 @@ class API {
|
|
|
50
51
|
this.authToken = config.authToken;
|
|
51
52
|
this.addHTTPResponse = config.addHTTPResponse || false;
|
|
52
53
|
this.credentials = config.credentials;
|
|
54
|
+
this.cache = config.cache || "default";
|
|
53
55
|
}
|
|
54
56
|
handleResult(fetchResult, lastCall) {
|
|
55
57
|
var _a;
|
|
@@ -145,7 +147,7 @@ class API {
|
|
|
145
147
|
});
|
|
146
148
|
if (!API.loadingGetPromises.has(mapKey)) {
|
|
147
149
|
const promise = new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
148
|
-
const result = yield fetch(url, { headers: headers, credentials: this.credentials });
|
|
150
|
+
const result = yield fetch(url, { headers: headers, credentials: this.credentials, cache: this.cache });
|
|
149
151
|
const handledResult = yield this.handleResult(result, lastCall);
|
|
150
152
|
resolve(handledResult);
|
|
151
153
|
}));
|
package/img/concorde-logo.svg
CHANGED
|
File without changes
|
package/img/concorde.png
CHANGED
|
File without changes
|
package/img/concorde_def.png
CHANGED
|
File without changes
|
package/mixins.d.ts
CHANGED
|
@@ -18,7 +18,8 @@ export declare const Fetcher: <T extends new (...args: any[]) => mySubscriber.Su
|
|
|
18
18
|
onInvalidate?: (() => void) | undefined;
|
|
19
19
|
disconnectedCallback(): void;
|
|
20
20
|
connectedCallback(): void;
|
|
21
|
-
|
|
21
|
+
lazyLoadSpan?: HTMLSpanElement | undefined;
|
|
22
|
+
handleLazyLoad(): void;
|
|
22
23
|
onIntersection(entries: IntersectionObserverEntry[]): void;
|
|
23
24
|
propertyMap: object;
|
|
24
25
|
isConnected: boolean;
|
|
@@ -44,6 +45,7 @@ export declare const Fetcher: <T extends new (...args: any[]) => mySubscriber.Su
|
|
|
44
45
|
requestUpdate(): void;
|
|
45
46
|
getAttribute(name: string): string;
|
|
46
47
|
hasAttribute(attributeName: string): boolean;
|
|
48
|
+
getBoundingClientRect(): DOMRect;
|
|
47
49
|
};
|
|
48
50
|
} & T;
|
|
49
51
|
export declare const FormCheckable: <T extends new (...args: any[]) => myFormElement.FormElementInterface>(superClass: T) => {
|
|
@@ -105,6 +107,7 @@ export declare const FormCheckable: <T extends new (...args: any[]) => myFormEle
|
|
|
105
107
|
requestUpdate(): void;
|
|
106
108
|
getAttribute(name: string): string;
|
|
107
109
|
hasAttribute(attributeName: string): boolean;
|
|
110
|
+
getBoundingClientRect(): DOMRect;
|
|
108
111
|
};
|
|
109
112
|
} & T;
|
|
110
113
|
import * as myFormElement from "@supersoniks/concorde/core/mixins/FormElement";
|
|
@@ -165,6 +168,7 @@ export declare const FormInput: <T extends new (...args: any[]) => myFormElement
|
|
|
165
168
|
getAttribute(name: string): string;
|
|
166
169
|
hasAttribute(attributeName: string): boolean;
|
|
167
170
|
disconnectedCallback(): void;
|
|
171
|
+
getBoundingClientRect(): DOMRect;
|
|
168
172
|
};
|
|
169
173
|
} & T;
|
|
170
174
|
import * as mySubscriber from "@supersoniks/concorde/core/mixins/Subscriber";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@supersoniks/concorde",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.47",
|
|
4
4
|
"customElements": "custom-elements.json",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -9,8 +9,10 @@
|
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@lit-labs/motion": "^1.0.1",
|
|
11
11
|
"@lit-labs/observers": "^1.0.1",
|
|
12
|
+
"@tailwindcss/container-queries": "^0.1.1",
|
|
12
13
|
"@types/prismjs": "^1.26.0",
|
|
13
14
|
"chart.js": "^3.9.1",
|
|
15
|
+
"iframe-resizer": "^4.3.6",
|
|
14
16
|
"intl": "^1.2.5",
|
|
15
17
|
"jsbarcode": "^3.11.5",
|
|
16
18
|
"lit": "^2.2.3",
|
|
@@ -20,6 +22,7 @@
|
|
|
20
22
|
},
|
|
21
23
|
"devDependencies": {
|
|
22
24
|
"@tailwindcss/typography": "^0.5.2",
|
|
25
|
+
"@types/iframe-resizer": "^3.5.9",
|
|
23
26
|
"@types/intl": "^1.2.0",
|
|
24
27
|
"@types/jest": "^29.2.6",
|
|
25
28
|
"@types/node": "^18.11.18",
|
|
@@ -268,6 +271,7 @@
|
|
|
268
271
|
"./docs/search/search": "./docs/search/search.js",
|
|
269
272
|
"./docs/search": "./docs/search/search.js",
|
|
270
273
|
"./index-billetterie": "./index-billetterie.js",
|
|
274
|
+
"./index-customer": "./index-customer.js",
|
|
271
275
|
"./index-shared": "./index-shared.js",
|
|
272
276
|
"./index": "./index.js",
|
|
273
277
|
"./test-utils/TestUtils": "./test-utils/TestUtils.js",
|
package/svg/regular/plane.svg
CHANGED
|
File without changes
|
package/svg/solid/plane.svg
CHANGED
|
File without changes
|