valtech-components 2.0.1010 → 2.0.1011
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/esm2022/lib/services/page-refresh/page-refresh.service.mjs +15 -4
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +15 -4
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/services/page-refresh/page-refresh.service.d.ts +10 -2
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -59,13 +59,24 @@ export class PageRefreshService {
|
|
|
59
59
|
this.hasHandler.set(false);
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
|
-
*
|
|
63
|
-
*
|
|
62
|
+
* Duración mínima (ms) que el spinner permanece visible, aunque el handler
|
|
63
|
+
* termine antes. Sin esto, un reload rápido (data cacheada) cierra el spinner
|
|
64
|
+
* al instante → se percibe como "no hubo refresh". Con el mínimo, el gesto se
|
|
65
|
+
* siente smooth y CONSISTENTE en todas las vistas que usan el page-wrapper.
|
|
66
|
+
*/
|
|
67
|
+
static { this.MIN_SPINNER_MS = 500; }
|
|
68
|
+
/**
|
|
69
|
+
* Ejecuta el handler registrado y espera a que termine, garantizando una
|
|
70
|
+
* duración mínima de spinner. Lo invoca `val-page-wrapper` al detectar el
|
|
71
|
+
* gesto de pull. No-op si no hay handler.
|
|
64
72
|
*/
|
|
65
73
|
async run() {
|
|
66
74
|
if (!this.handler)
|
|
67
75
|
return;
|
|
68
|
-
|
|
76
|
+
const minDelay = new Promise(resolve => setTimeout(resolve, PageRefreshService.MIN_SPINNER_MS));
|
|
77
|
+
// Espera AMBOS: el trabajo real + el mínimo visual. Si el handler tarda más,
|
|
78
|
+
// manda el handler; si es instantáneo, el spinner igual se ve ~500ms.
|
|
79
|
+
await Promise.all([Promise.resolve(this.handler()), minDelay]);
|
|
69
80
|
}
|
|
70
81
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PageRefreshService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
71
82
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PageRefreshService, providedIn: 'root' }); }
|
|
@@ -101,4 +112,4 @@ export function connectPageRefresh(handler) {
|
|
|
101
112
|
svc.register(handler);
|
|
102
113
|
destroyRef.onDestroy(() => svc.unregister());
|
|
103
114
|
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1yZWZyZXNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3BhZ2UtcmVmcmVzaC9wYWdlLXJlZnJlc2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVF2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQUVILE1BQU0sT0FBTyxrQkFBa0I7SUFEL0I7UUFFVSxZQUFPLEdBQThCLElBQUksQ0FBQztRQUVsRDs7O1dBR0c7UUFDTSxlQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBMkNyQztJQXpDQzs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLE9BQTJCO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVO1FBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7OztPQUtHO2FBQ3FCLG1CQUFjLEdBQUcsR0FBRyxBQUFOLENBQU87SUFFN0M7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxHQUFHO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUMxQixNQUFNLFFBQVEsR0FBRyxJQUFJLE9BQU8sQ0FBTyxPQUFPLENBQUMsRUFBRSxDQUMzQyxVQUFVLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUN2RCxDQUFDO1FBQ0YsNkVBQTZFO1FBQzdFLHNFQUFzRTtRQUN0RSxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQzsrR0FqRFUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FETCxNQUFNOzs0RkFDbkIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUFxRGxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUEyQjtJQUM1RCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN2QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QixVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBpbmplY3QsIEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEhhbmRsZXIgZGUgcmVmcmVzaCBxdWUgcmVnaXN0cmEgdW5hIHDDoWdpbmEuIFB1ZWRlIHNlciBzeW5jIG8gYXN5bmMg4oCUXG4gKiBgdmFsLXBhZ2Utd3JhcHBlcmAgZXNwZXJhIChgYXdhaXRgKSBhIHF1ZSB0ZXJtaW5lIGFudGVzIGRlIGNlcnJhciBlbCBzcGlubmVyLlxuICovXG5leHBvcnQgdHlwZSBQYWdlUmVmcmVzaEhhbmRsZXIgPSAoKSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcblxuLyoqXG4gKiBQYWdlUmVmcmVzaFNlcnZpY2Ug4oCUIGJ1cyBkZWwgcHVsbC10by1yZWZyZXNoIGVzdMOhbmRhciBkZWwgZmFjdG9yeS5cbiAqXG4gKiAqKlBvciBxdcOpIGV4aXN0ZToqKiBgdmFsLXBhZ2Utd3JhcHBlcmAgcG9zZWUgdW4gw7puaWNvIGA8aW9uLWNvbnRlbnQ+YCB5IHRvZGFzXG4gKiBsYXMgcMOhZ2luYXMgc2UgcmVuZGVyaXphbiBkZW50cm8gdsOtYSBgPHJvdXRlci1vdXRsZXQ+YC4gVW4gYDxpb24tcmVmcmVzaGVyPmBcbiAqIHRpZW5lIHF1ZSB2aXZpciBkZW50cm8gZGUgZXNlIGBpb24tY29udGVudGAsIGFzw60gcXVlIGVsIHJlZnJlc2hlciBOTyBwdWVkZVxuICogZGVjbGFyYXJzZSBlbiBlbCB0ZW1wbGF0ZSBkZSBjYWRhIHDDoWdpbmEg4oCUIHZpdmUgdW5hIHNvbGEgdmV6IGVuXG4gKiBgdmFsLXBhZ2Utd3JhcHBlcmAuIEVzdGUgc2VydmljaW8gZXMgZWwgcHVlbnRlOiBsYSBww6FnaW5hIGFjdGl2YSByZWdpc3RyYVxuICogKnF1w6kgaGFjZXIqIGFsIHJlZnJlc2NhcjsgZWwgcGFnZS13cmFwcGVyIGRpc3BhcmEgZWwgZ2VzdG8geSBjaWVycmEgZWwgc3Bpbm5lci5cbiAqXG4gKiAqKlVzbyBlbiB1bmEgcMOhZ2luYSoqICh2ZXIgYGZyb250ZW5kL0NMQVVERS5tZGAg4oCUIGVzIGVsIHBhdHLDs24gZXN0w6FuZGFyKTpcbiAqXG4gKiBgYGB0c1xuICogZXhwb3J0IGNsYXNzIE1pUGFnZSBpbXBsZW1lbnRzIFZpZXdXaWxsRW50ZXIsIFZpZXdXaWxsTGVhdmUge1xuICogICBwcml2YXRlIHBhZ2VSZWZyZXNoID0gaW5qZWN0KFBhZ2VSZWZyZXNoU2VydmljZSk7XG4gKlxuICogICBpb25WaWV3V2lsbEVudGVyKCk6IHZvaWQge1xuICogICAgIHRoaXMucGFnZVJlZnJlc2gucmVnaXN0ZXIoKCkgPT4gdGhpcy5yZWxvYWQoKSk7XG4gKiAgIH1cbiAqICAgaW9uVmlld1dpbGxMZWF2ZSgpOiB2b2lkIHtcbiAqICAgICB0aGlzLnBhZ2VSZWZyZXNoLnVucmVnaXN0ZXIoKTtcbiAqICAgfVxuICpcbiAqICAgcHJpdmF0ZSBhc3luYyByZWxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gKiAgICAgLy8gcmUtZmV0Y2ggLyByZS1zdXNjcmliaXIgc3RyZWFtcyAvIGV0Yy5cbiAqICAgfVxuICogfVxuICogYGBgXG4gKlxuICogUMOhZ2luYXMgcXVlIG5vIGxsYW1hbiBgcmVnaXN0ZXIoKWAgc2ltcGxlbWVudGUgbm8gbXVlc3RyYW4gcmVmcmVzaGVyIOKAlFxuICogb3B0LWluLCBzaW4gaW1wYWN0by5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQYWdlUmVmcmVzaFNlcnZpY2Uge1xuICBwcml2YXRlIGhhbmRsZXI6IFBhZ2VSZWZyZXNoSGFuZGxlciB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBgdHJ1ZWAgY3VhbmRvIGhheSB1bmEgcMOhZ2luYSBjb24gaGFuZGxlciByZWdpc3RyYWRvLiBgdmFsLXBhZ2Utd3JhcHBlcmBcbiAgICogcmVuZGVyaXphIGVsIGA8dmFsLXJlZnJlc2hlcj5gIHPDs2xvIGN1YW5kbyBlc3RvIGVzIGB0cnVlYC5cbiAgICovXG4gIHJlYWRvbmx5IGhhc0hhbmRsZXIgPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBSZWdpc3RyYSBlbCBoYW5kbGVyIGRlIHJlZnJlc2ggZGUgbGEgcMOhZ2luYSBhY3RpdmEuIExsYW1hciBlblxuICAgKiBgaW9uVmlld1dpbGxFbnRlcmAuIFNpIHlhIGhhYsOtYSB1bm8sIGxvIHJlZW1wbGF6YSAoc8OzbG8gaGF5IHVuYSBww6FnaW5hXG4gICAqIGFjdGl2YSBhIGxhIHZleiBlbiBlbCByb3V0ZXItb3V0bGV0IGRlIElvbmljKS5cbiAgICovXG4gIHJlZ2lzdGVyKGhhbmRsZXI6IFBhZ2VSZWZyZXNoSGFuZGxlcik6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlciA9IGhhbmRsZXI7XG4gICAgdGhpcy5oYXNIYW5kbGVyLnNldCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBRdWl0YSBlbCBoYW5kbGVyLiBMbGFtYXIgZW4gYGlvblZpZXdXaWxsTGVhdmVgIHBhcmEgcXVlIGVsIHJlZnJlc2hlclxuICAgKiBkZXNhcGFyZXpjYSBhbCBzYWxpciBkZSBsYSB2aXN0YS5cbiAgICovXG4gIHVucmVnaXN0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVyID0gbnVsbDtcbiAgICB0aGlzLmhhc0hhbmRsZXIuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEdXJhY2nDs24gbcOtbmltYSAobXMpIHF1ZSBlbCBzcGlubmVyIHBlcm1hbmVjZSB2aXNpYmxlLCBhdW5xdWUgZWwgaGFuZGxlclxuICAgKiB0ZXJtaW5lIGFudGVzLiBTaW4gZXN0bywgdW4gcmVsb2FkIHLDoXBpZG8gKGRhdGEgY2FjaGVhZGEpIGNpZXJyYSBlbCBzcGlubmVyXG4gICAqIGFsIGluc3RhbnRlIOKGkiBzZSBwZXJjaWJlIGNvbW8gXCJubyBodWJvIHJlZnJlc2hcIi4gQ29uIGVsIG3DrW5pbW8sIGVsIGdlc3RvIHNlXG4gICAqIHNpZW50ZSBzbW9vdGggeSBDT05TSVNURU5URSBlbiB0b2RhcyBsYXMgdmlzdGFzIHF1ZSB1c2FuIGVsIHBhZ2Utd3JhcHBlci5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1JTl9TUElOTkVSX01TID0gNTAwO1xuXG4gIC8qKlxuICAgKiBFamVjdXRhIGVsIGhhbmRsZXIgcmVnaXN0cmFkbyB5IGVzcGVyYSBhIHF1ZSB0ZXJtaW5lLCBnYXJhbnRpemFuZG8gdW5hXG4gICAqIGR1cmFjacOzbiBtw61uaW1hIGRlIHNwaW5uZXIuIExvIGludm9jYSBgdmFsLXBhZ2Utd3JhcHBlcmAgYWwgZGV0ZWN0YXIgZWxcbiAgICogZ2VzdG8gZGUgcHVsbC4gTm8tb3Agc2kgbm8gaGF5IGhhbmRsZXIuXG4gICAqL1xuICBhc3luYyBydW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmhhbmRsZXIpIHJldHVybjtcbiAgICBjb25zdCBtaW5EZWxheSA9IG5ldyBQcm9taXNlPHZvaWQ+KHJlc29sdmUgPT5cbiAgICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgUGFnZVJlZnJlc2hTZXJ2aWNlLk1JTl9TUElOTkVSX01TKVxuICAgICk7XG4gICAgLy8gRXNwZXJhIEFNQk9TOiBlbCB0cmFiYWpvIHJlYWwgKyBlbCBtw61uaW1vIHZpc3VhbC4gU2kgZWwgaGFuZGxlciB0YXJkYSBtw6FzLFxuICAgIC8vIG1hbmRhIGVsIGhhbmRsZXI7IHNpIGVzIGluc3RhbnTDoW5lbywgZWwgc3Bpbm5lciBpZ3VhbCBzZSB2ZSB+NTAwbXMuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSh0aGlzLmhhbmRsZXIoKSksIG1pbkRlbGF5XSk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb25lY3RhIHVuYSBww6FnaW5hIGFsIHB1bGwtdG8tcmVmcmVzaCBlc3TDoW5kYXIgZW4gVU5BIGzDrW5lYSwgc2luIGxpZmVjeWNsZVxuICogaG9va3MgbWFudWFsZXM6IHJlZ2lzdHJhIGVsIGhhbmRsZXIgeSBsbyBkZXNyZWdpc3RyYSBhbCBkZXN0cnVpciBsYSBww6FnaW5hXG4gKiAodsOtYSBgRGVzdHJveVJlZmApLlxuICpcbiAqIERFQkUgbGxhbWFyc2UgZW4gdW4gaW5qZWN0aW9uIGNvbnRleHQgKGNvbnN0cnVjdG9yIG8gZmllbGQgaW5pdGlhbGl6ZXIpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogZXhwb3J0IGNsYXNzIE1pUGFnZSB7XG4gKiAgIHByaXZhdGUgZGF0YSA9IGNyZWF0ZVJlZnJlc2hhYmxlU3RyZWFtKCgpID0+IHRoaXMuc3ZjLmdldFgoKSk7XG4gKiAgIHJlYWRvbmx5IGl0ZW1zID0gdGhpcy5kYXRhLmRhdGE7XG4gKlxuICogICBjb25zdHJ1Y3RvcigpIHtcbiAqICAgICBjb25uZWN0UGFnZVJlZnJlc2goKCkgPT4gdGhpcy5kYXRhLnJlbG9hZCgpKTtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKlxuICogUmVlbXBsYXphIGVsIHBhdHLDs24gYG5nT25Jbml0YOKGkmByZWdpc3RlcmAgLyBgbmdPbkRlc3Ryb3lg4oaSYHVucmVnaXN0ZXJgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29ubmVjdFBhZ2VSZWZyZXNoKGhhbmRsZXI6IFBhZ2VSZWZyZXNoSGFuZGxlcik6IHZvaWQge1xuICBjb25zdCBzdmMgPSBpbmplY3QoUGFnZVJlZnJlc2hTZXJ2aWNlKTtcbiAgY29uc3QgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgc3ZjLnJlZ2lzdGVyKGhhbmRsZXIpO1xuICBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiBzdmMudW5yZWdpc3RlcigpKTtcbn1cbiJdfQ==
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '2.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '2.0.1011';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC4xMDExJztcbiJdfQ==
|
|
@@ -54,7 +54,7 @@ import 'prismjs/components/prism-json';
|
|
|
54
54
|
* Current version of valtech-components.
|
|
55
55
|
* This is automatically updated during the publish process.
|
|
56
56
|
*/
|
|
57
|
-
const VERSION = '2.0.
|
|
57
|
+
const VERSION = '2.0.1011';
|
|
58
58
|
|
|
59
59
|
// Control de estado de refresco (singleton a nivel de módulo)
|
|
60
60
|
let isRefreshing = false;
|
|
@@ -41642,13 +41642,24 @@ class PageRefreshService {
|
|
|
41642
41642
|
this.hasHandler.set(false);
|
|
41643
41643
|
}
|
|
41644
41644
|
/**
|
|
41645
|
-
*
|
|
41646
|
-
*
|
|
41645
|
+
* Duración mínima (ms) que el spinner permanece visible, aunque el handler
|
|
41646
|
+
* termine antes. Sin esto, un reload rápido (data cacheada) cierra el spinner
|
|
41647
|
+
* al instante → se percibe como "no hubo refresh". Con el mínimo, el gesto se
|
|
41648
|
+
* siente smooth y CONSISTENTE en todas las vistas que usan el page-wrapper.
|
|
41649
|
+
*/
|
|
41650
|
+
static { this.MIN_SPINNER_MS = 500; }
|
|
41651
|
+
/**
|
|
41652
|
+
* Ejecuta el handler registrado y espera a que termine, garantizando una
|
|
41653
|
+
* duración mínima de spinner. Lo invoca `val-page-wrapper` al detectar el
|
|
41654
|
+
* gesto de pull. No-op si no hay handler.
|
|
41647
41655
|
*/
|
|
41648
41656
|
async run() {
|
|
41649
41657
|
if (!this.handler)
|
|
41650
41658
|
return;
|
|
41651
|
-
|
|
41659
|
+
const minDelay = new Promise(resolve => setTimeout(resolve, PageRefreshService.MIN_SPINNER_MS));
|
|
41660
|
+
// Espera AMBOS: el trabajo real + el mínimo visual. Si el handler tarda más,
|
|
41661
|
+
// manda el handler; si es instantáneo, el spinner igual se ve ~500ms.
|
|
41662
|
+
await Promise.all([Promise.resolve(this.handler()), minDelay]);
|
|
41652
41663
|
}
|
|
41653
41664
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PageRefreshService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
41654
41665
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PageRefreshService, providedIn: 'root' }); }
|