@etsoo/appscript 1.4.30 → 1.4.32

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.
@@ -519,15 +519,16 @@ export declare abstract class CoreApp<U extends IUser, S extends IAppSettings, N
519
519
  */
520
520
  setup(): void;
521
521
  /**
522
- * Signout
522
+ * Signout, with userLogout and toLoginPage
523
523
  * @param apiUrl Signout API URL
524
524
  */
525
525
  signout(): Promise<void>;
526
526
  /**
527
527
  * Go to the login page
528
528
  * @param tryLogin Try to login again
529
+ * @param removeUrl Remove current URL for reuse
529
530
  */
530
- toLoginPage(tryLogin?: boolean): void;
531
+ toLoginPage(tryLogin?: boolean, removeUrl?: boolean): void;
531
532
  /**
532
533
  * Try login, returning false means is loading
533
534
  * UI get involved while refreshToken not intended
@@ -545,8 +546,9 @@ export declare abstract class CoreApp<U extends IUser, S extends IAppSettings, N
545
546
  /**
546
547
  * User logout
547
548
  * @param clearToken Clear refresh token or not
549
+ * @param noTrigger No trigger for state change
548
550
  */
549
- userLogout(clearToken?: boolean): void;
551
+ userLogout(clearToken?: boolean, noTrigger?: boolean): void;
550
552
  /**
551
553
  * User unauthorized
552
554
  */
@@ -1278,7 +1278,7 @@ class CoreApp {
1278
1278
  this.pendings.forEach((p) => p());
1279
1279
  }
1280
1280
  /**
1281
- * Signout
1281
+ * Signout, with userLogout and toLoginPage
1282
1282
  * @param apiUrl Signout API URL
1283
1283
  */
1284
1284
  async signout() {
@@ -1289,19 +1289,19 @@ class CoreApp {
1289
1289
  return false;
1290
1290
  }
1291
1291
  });
1292
- // Clear
1293
- this.userLogout();
1292
+ // Clear, noTrigger = true, avoid state update
1293
+ this.userLogout(true, true);
1294
1294
  // Go to login page
1295
- this.toLoginPage();
1295
+ this.toLoginPage(false, true);
1296
1296
  }
1297
1297
  /**
1298
1298
  * Go to the login page
1299
1299
  * @param tryLogin Try to login again
1300
+ * @param removeUrl Remove current URL for reuse
1300
1301
  */
1301
- toLoginPage(tryLogin) {
1302
- const url = '/?url=' +
1303
- encodeURIComponent(location.href) +
1304
- (tryLogin ? '' : '&tryLogin=false');
1302
+ toLoginPage(tryLogin, removeUrl) {
1303
+ const url = `/?tryLogin=${tryLogin !== null && tryLogin !== void 0 ? tryLogin : false}` +
1304
+ (removeUrl ? '' : '&url=' + encodeURIComponent(location.href));
1305
1305
  this.navigate(url);
1306
1306
  }
1307
1307
  /**
@@ -1337,8 +1337,9 @@ class CoreApp {
1337
1337
  /**
1338
1338
  * User logout
1339
1339
  * @param clearToken Clear refresh token or not
1340
+ * @param noTrigger No trigger for state change
1340
1341
  */
1341
- userLogout(clearToken = true) {
1342
+ userLogout(clearToken = true, noTrigger = false) {
1342
1343
  this.authorize(undefined, clearToken ? undefined : '');
1343
1344
  }
1344
1345
  /**
@@ -449,7 +449,7 @@ export interface IApp {
449
449
  */
450
450
  refreshToken<D extends object = {}>(props?: RefreshTokenProps<D>): Promise<boolean>;
451
451
  /**
452
- * Signout
452
+ * Signout, with userLogout and toLoginPage
453
453
  */
454
454
  signout(): Promise<void>;
455
455
  /**
@@ -459,8 +459,9 @@ export interface IApp {
459
459
  /**
460
460
  * Go to the login page
461
461
  * @param tryLogin Try to login again
462
+ * @param removeUrl Remove current URL for reuse
462
463
  */
463
- toLoginPage(tryLogin?: boolean): void;
464
+ toLoginPage(tryLogin?: boolean, removeUrl?: boolean): void;
464
465
  /**
465
466
  * Try login, returning false means is loading
466
467
  * UI get involved while refreshToken not intended
@@ -477,8 +478,9 @@ export interface IApp {
477
478
  /**
478
479
  * User logout
479
480
  * @param clearToken Clear refresh token or not
481
+ * @param noTrigger No trigger for state change
480
482
  */
481
- userLogout(clearToken: boolean): void;
483
+ userLogout(clearToken: boolean, noTrigger?: boolean): void;
482
484
  /**
483
485
  * User unauthorized
484
486
  */
@@ -519,15 +519,16 @@ export declare abstract class CoreApp<U extends IUser, S extends IAppSettings, N
519
519
  */
520
520
  setup(): void;
521
521
  /**
522
- * Signout
522
+ * Signout, with userLogout and toLoginPage
523
523
  * @param apiUrl Signout API URL
524
524
  */
525
525
  signout(): Promise<void>;
526
526
  /**
527
527
  * Go to the login page
528
528
  * @param tryLogin Try to login again
529
+ * @param removeUrl Remove current URL for reuse
529
530
  */
530
- toLoginPage(tryLogin?: boolean): void;
531
+ toLoginPage(tryLogin?: boolean, removeUrl?: boolean): void;
531
532
  /**
532
533
  * Try login, returning false means is loading
533
534
  * UI get involved while refreshToken not intended
@@ -545,8 +546,9 @@ export declare abstract class CoreApp<U extends IUser, S extends IAppSettings, N
545
546
  /**
546
547
  * User logout
547
548
  * @param clearToken Clear refresh token or not
549
+ * @param noTrigger No trigger for state change
548
550
  */
549
- userLogout(clearToken?: boolean): void;
551
+ userLogout(clearToken?: boolean, noTrigger?: boolean): void;
550
552
  /**
551
553
  * User unauthorized
552
554
  */
@@ -1252,7 +1252,7 @@ export class CoreApp {
1252
1252
  this.pendings.forEach((p) => p());
1253
1253
  }
1254
1254
  /**
1255
- * Signout
1255
+ * Signout, with userLogout and toLoginPage
1256
1256
  * @param apiUrl Signout API URL
1257
1257
  */
1258
1258
  async signout() {
@@ -1263,19 +1263,19 @@ export class CoreApp {
1263
1263
  return false;
1264
1264
  }
1265
1265
  });
1266
- // Clear
1267
- this.userLogout();
1266
+ // Clear, noTrigger = true, avoid state update
1267
+ this.userLogout(true, true);
1268
1268
  // Go to login page
1269
- this.toLoginPage();
1269
+ this.toLoginPage(false, true);
1270
1270
  }
1271
1271
  /**
1272
1272
  * Go to the login page
1273
1273
  * @param tryLogin Try to login again
1274
+ * @param removeUrl Remove current URL for reuse
1274
1275
  */
1275
- toLoginPage(tryLogin) {
1276
- const url = '/?url=' +
1277
- encodeURIComponent(location.href) +
1278
- (tryLogin ? '' : '&tryLogin=false');
1276
+ toLoginPage(tryLogin, removeUrl) {
1277
+ const url = `/?tryLogin=${tryLogin !== null && tryLogin !== void 0 ? tryLogin : false}` +
1278
+ (removeUrl ? '' : '&url=' + encodeURIComponent(location.href));
1279
1279
  this.navigate(url);
1280
1280
  }
1281
1281
  /**
@@ -1311,8 +1311,9 @@ export class CoreApp {
1311
1311
  /**
1312
1312
  * User logout
1313
1313
  * @param clearToken Clear refresh token or not
1314
+ * @param noTrigger No trigger for state change
1314
1315
  */
1315
- userLogout(clearToken = true) {
1316
+ userLogout(clearToken = true, noTrigger = false) {
1316
1317
  this.authorize(undefined, clearToken ? undefined : '');
1317
1318
  }
1318
1319
  /**
@@ -449,7 +449,7 @@ export interface IApp {
449
449
  */
450
450
  refreshToken<D extends object = {}>(props?: RefreshTokenProps<D>): Promise<boolean>;
451
451
  /**
452
- * Signout
452
+ * Signout, with userLogout and toLoginPage
453
453
  */
454
454
  signout(): Promise<void>;
455
455
  /**
@@ -459,8 +459,9 @@ export interface IApp {
459
459
  /**
460
460
  * Go to the login page
461
461
  * @param tryLogin Try to login again
462
+ * @param removeUrl Remove current URL for reuse
462
463
  */
463
- toLoginPage(tryLogin?: boolean): void;
464
+ toLoginPage(tryLogin?: boolean, removeUrl?: boolean): void;
464
465
  /**
465
466
  * Try login, returning false means is loading
466
467
  * UI get involved while refreshToken not intended
@@ -477,8 +478,9 @@ export interface IApp {
477
478
  /**
478
479
  * User logout
479
480
  * @param clearToken Clear refresh token or not
481
+ * @param noTrigger No trigger for state change
480
482
  */
481
- userLogout(clearToken: boolean): void;
483
+ userLogout(clearToken: boolean, noTrigger?: boolean): void;
482
484
  /**
483
485
  * User unauthorized
484
486
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etsoo/appscript",
3
- "version": "1.4.30",
3
+ "version": "1.4.32",
4
4
  "description": "Applications shared TypeScript framework",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/mjs/index.js",
@@ -52,7 +52,7 @@
52
52
  },
53
53
  "homepage": "https://github.com/ETSOO/AppScript#readme",
54
54
  "dependencies": {
55
- "@etsoo/notificationbase": "^1.1.25",
55
+ "@etsoo/notificationbase": "^1.1.26",
56
56
  "@etsoo/restclient": "^1.0.89",
57
57
  "@etsoo/shared": "^1.2.8",
58
58
  "crypto-js": "^4.1.1"
@@ -1639,7 +1639,7 @@ export abstract class CoreApp<
1639
1639
  }
1640
1640
 
1641
1641
  /**
1642
- * Signout
1642
+ * Signout, with userLogout and toLoginPage
1643
1643
  * @param apiUrl Signout API URL
1644
1644
  */
1645
1645
  async signout() {
@@ -1655,22 +1655,23 @@ export abstract class CoreApp<
1655
1655
  }
1656
1656
  );
1657
1657
 
1658
- // Clear
1659
- this.userLogout();
1658
+ // Clear, noTrigger = true, avoid state update
1659
+ this.userLogout(true, true);
1660
1660
 
1661
1661
  // Go to login page
1662
- this.toLoginPage();
1662
+ this.toLoginPage(false, true);
1663
1663
  }
1664
1664
 
1665
1665
  /**
1666
1666
  * Go to the login page
1667
1667
  * @param tryLogin Try to login again
1668
+ * @param removeUrl Remove current URL for reuse
1668
1669
  */
1669
- toLoginPage(tryLogin?: boolean) {
1670
+ toLoginPage(tryLogin?: boolean, removeUrl?: boolean) {
1670
1671
  const url =
1671
- '/?url=' +
1672
- encodeURIComponent(location.href) +
1673
- (tryLogin ? '' : '&tryLogin=false');
1672
+ `/?tryLogin=${tryLogin ?? false}` +
1673
+ (removeUrl ? '' : '&url=' + encodeURIComponent(location.href));
1674
+
1674
1675
  this.navigate(url);
1675
1676
  }
1676
1677
 
@@ -1709,8 +1710,9 @@ export abstract class CoreApp<
1709
1710
  /**
1710
1711
  * User logout
1711
1712
  * @param clearToken Clear refresh token or not
1713
+ * @param noTrigger No trigger for state change
1712
1714
  */
1713
- userLogout(clearToken: boolean = true) {
1715
+ userLogout(clearToken: boolean = true, noTrigger: boolean = false) {
1714
1716
  this.authorize(undefined, clearToken ? undefined : '');
1715
1717
  }
1716
1718
 
package/src/app/IApp.ts CHANGED
@@ -607,7 +607,7 @@ export interface IApp {
607
607
  ): Promise<boolean>;
608
608
 
609
609
  /**
610
- * Signout
610
+ * Signout, with userLogout and toLoginPage
611
611
  */
612
612
  signout(): Promise<void>;
613
613
 
@@ -619,8 +619,9 @@ export interface IApp {
619
619
  /**
620
620
  * Go to the login page
621
621
  * @param tryLogin Try to login again
622
+ * @param removeUrl Remove current URL for reuse
622
623
  */
623
- toLoginPage(tryLogin?: boolean): void;
624
+ toLoginPage(tryLogin?: boolean, removeUrl?: boolean): void;
624
625
 
625
626
  /**
626
627
  * Try login, returning false means is loading
@@ -640,8 +641,9 @@ export interface IApp {
640
641
  /**
641
642
  * User logout
642
643
  * @param clearToken Clear refresh token or not
644
+ * @param noTrigger No trigger for state change
643
645
  */
644
- userLogout(clearToken: boolean): void;
646
+ userLogout(clearToken: boolean, noTrigger?: boolean): void;
645
647
 
646
648
  /**
647
649
  * User unauthorized