@resolveio/client-lib-core 1.3.14 → 1.3.16

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.
@@ -4837,15 +4837,7 @@ class NavbarModuleComponent extends BaseComponent {
4837
4837
  else {
4838
4838
  this.currentRoute = this._services._router.url.replace(/\/[a-f0-9]{24}$/, '').replace(/\?.+$/, '');
4839
4839
  this.selectedTab = null;
4840
- for (let i = 0; i < this.menuData.tabs.length; i++) {
4841
- let tab = this.menuData.tabs[i];
4842
- if (tab.link === this.currentRoute) {
4843
- this.selectedTab = tab;
4844
- break;
4845
- }
4846
- }
4847
- while (!this.selectedTab && this.currentRoute.includes('/')) {
4848
- this.currentRoute = this.currentRoute.replace(/(\/[^\/]+$)/, '');
4840
+ while (!this.selectedTab && this.currentRoute.split('/').length > 1) {
4849
4841
  for (let i = 0; i < this.menuData.tabs.length; i++) {
4850
4842
  let tab = this.menuData.tabs[i];
4851
4843
  if (tab.link === this.currentRoute) {
@@ -4853,6 +4845,10 @@ class NavbarModuleComponent extends BaseComponent {
4853
4845
  break;
4854
4846
  }
4855
4847
  }
4848
+ this.currentRoute = this.currentRoute.replace(/(\/[^\/]+$)/, '');
4849
+ }
4850
+ if (!this.selectedTab) {
4851
+ this.selectedTab = this.menuData.tabs[0];
4856
4852
  }
4857
4853
  }
4858
4854
  }
@@ -5520,61 +5516,35 @@ class AuthGuard {
5520
5516
  resolve(false);
5521
5517
  }
5522
5518
  else {
5523
- let fullView = state.url.replace(/\/[a-f0-9]{24}$/, '').replace(/\?.+$/, ''); //All but ID and Query String
5524
- let partialView = state.url.replace(/^(\/[-a-z]+\/[^\/]+)\/.*$/, '$1').replace(/\?.+$/, ''); //Module and First Child Only
5525
- let moduleView = partialView.replace(/^(\/[-a-z]+\/).*$/, '$1'); //Module Only
5519
+ let pageView = state.url.replace(/\/[a-f0-9]{24}$/, '').replace(/\?.+$/, ''); //All but ID and Query String
5520
+ let moduleView = pageView.replace(/([^\/]+\/?$)/, '');
5526
5521
  if (user.roles.super_admin) {
5527
5522
  resolve(true);
5528
5523
  }
5529
- else if (!this.isLinkFakeRoute(fullView)) {
5530
- if (!this.isLinkPartialRoute(fullView) && !user.roles.groups.some(a => a.views.some(b => b === fullView))) {
5531
- if (user.roles.groups.some(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))) {
5532
- let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5533
- this._router.navigateByUrl(link);
5534
- }
5535
- else {
5536
- this._router.navigateByUrl('/home');
5537
- }
5538
- resolve(false);
5539
- }
5540
- else if (this.isLinkPartialRoute(fullView) && !user.roles.groups.some(a => a.views.some(b => b.startsWith(fullView) || fullView.startsWith(b)))) {
5541
- if (user.roles.groups.some(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))) {
5542
- let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5543
- this._router.navigateByUrl(link);
5544
- }
5545
- else {
5546
- this._router.navigateByUrl('/home');
5547
- }
5548
- resolve(false);
5549
- }
5550
- else {
5551
- resolve(true);
5552
- }
5553
- }
5554
5524
  else {
5555
- if (!this.isLinkPartialRoute(partialView) && !user.roles.groups.some(a => a.views.some(b => b === partialView))) {
5556
- if (user.roles.groups.some(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))) {
5557
- let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5558
- this._router.navigateByUrl(link);
5525
+ let done = false;
5526
+ while (!done && pageView.split('/').length > 1) {
5527
+ if (!this.isLinkFakeRoute(pageView)) {
5528
+ if (!user.roles.groups.some(a => a.views.some(b => b === pageView))) {
5529
+ if (user.roles.groups.some(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))) {
5530
+ let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5531
+ done = true;
5532
+ this._router.navigateByUrl(link);
5533
+ resolve(false);
5534
+ }
5535
+ }
5536
+ else {
5537
+ done = true;
5538
+ resolve(true);
5539
+ }
5559
5540
  }
5560
- else {
5561
- this._router.navigateByUrl('/home');
5562
- }
5563
- resolve(false);
5541
+ moduleView = moduleView.replace(/([^\/]+\/?$)/, '');
5542
+ pageView = pageView.replace(/(\/[^\/]+$)/, '');
5564
5543
  }
5565
- else if (this.isLinkPartialRoute(partialView) && !user.roles.groups.some(a => a.views.some(b => b.startsWith(partialView) || partialView.startsWith(b)))) {
5566
- if (user.roles.groups.some(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))) {
5567
- let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5568
- this._router.navigateByUrl(link);
5569
- }
5570
- else {
5571
- this._router.navigateByUrl('/home');
5572
- }
5544
+ if (!done) {
5545
+ this._router.navigateByUrl('/home');
5573
5546
  resolve(false);
5574
5547
  }
5575
- else {
5576
- resolve(true);
5577
- }
5578
5548
  }
5579
5549
  }
5580
5550
  });
@@ -5593,58 +5563,35 @@ class AuthGuard {
5593
5563
  resolve(false);
5594
5564
  }
5595
5565
  else {
5596
- let fullView = state.url.replace(/\/[a-f0-9]{24}$/, '').replace(/\?.+$/, ''); //All but ID and Query String
5597
- let partialView = state.url.replace(/^(\/[-a-z]+\/[^\/]+)\/.*$/, '$1').replace(/\?.+$/, ''); //Module and First Child Only
5598
- let moduleView = partialView.replace(/^(\/[-a-z]+\/).*$/, '$1'); //Module Only
5566
+ let pageView = state.url.replace(/\/[a-f0-9]{24}$/, '').replace(/\?.+$/, ''); //All but ID and Query String
5567
+ let moduleView = pageView.replace(/([^\/]+\/?$)/, '');
5599
5568
  if (user.roles.super_admin) {
5600
5569
  resolve(true);
5601
5570
  }
5602
- else if (!this.isLinkFakeRoute(fullView)) {
5603
- if (!this.isLinkPartialRoute(fullView) && !user.roles.groups.some(a => a.views.some(b => b === fullView))) {
5604
- if (user.roles.groups.some(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))) {
5605
- let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5606
- this._router.navigateByUrl(link);
5607
- }
5608
- else {
5609
- this._router.navigateByUrl('/home');
5610
- }
5611
- resolve(false);
5612
- }
5613
- else if (this.isLinkPartialRoute(fullView) && !user.roles.groups.some(a => a.views.some(b => b.startsWith(fullView) || fullView.startsWith(b)))) {
5614
- if (user.roles.groups.some(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))) {
5615
- let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5616
- this._router.navigateByUrl(link);
5617
- }
5618
- else {
5619
- this._router.navigateByUrl('/home');
5620
- }
5621
- resolve(false);
5622
- }
5623
- }
5624
5571
  else {
5625
- if (!this.isLinkPartialRoute(partialView) && !user.roles.groups.some(a => a.views.some(b => b === partialView))) {
5626
- if (user.roles.groups.some(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))) {
5627
- let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5628
- this._router.navigateByUrl(link);
5629
- }
5630
- else {
5631
- this._router.navigateByUrl('/home');
5572
+ let done = false;
5573
+ while (!done && pageView.split('/').length > 1) {
5574
+ if (!this.isLinkFakeRoute(pageView)) {
5575
+ if (!user.roles.groups.some(a => a.views.some(b => b === pageView))) {
5576
+ if (user.roles.groups.some(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))) {
5577
+ let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5578
+ done = true;
5579
+ this._router.navigateByUrl(link);
5580
+ resolve(false);
5581
+ }
5582
+ }
5583
+ else {
5584
+ done = true;
5585
+ resolve(true);
5586
+ }
5632
5587
  }
5633
- resolve(false);
5588
+ moduleView = moduleView.replace(/([^\/]+\/?$)/, '');
5589
+ pageView = pageView.replace(/(\/[^\/]+$)/, '');
5634
5590
  }
5635
- else if (this.isLinkPartialRoute(partialView) && !user.roles.groups.some(a => a.views.some(b => b.startsWith(partialView) || partialView.startsWith(b)))) {
5636
- if (user.roles.groups.some(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))) {
5637
- let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5638
- this._router.navigateByUrl(link);
5639
- }
5640
- else {
5641
- this._router.navigateByUrl('/home');
5642
- }
5591
+ if (!done) {
5592
+ this._router.navigateByUrl('/home');
5643
5593
  resolve(false);
5644
5594
  }
5645
- else {
5646
- resolve(true);
5647
- }
5648
5595
  }
5649
5596
  }
5650
5597
  }
@@ -5677,19 +5624,6 @@ class AuthGuard {
5677
5624
  }
5678
5625
  return true;
5679
5626
  }
5680
- isLinkPartialRoute(link) {
5681
- let permissions = this._aps.getAllModulePermissions();
5682
- for (let i = 0; i < permissions.length; i++) {
5683
- let permission = permissions[i];
5684
- for (let j = 0; j < permission.views.length; j++) {
5685
- let view = permission.views[j];
5686
- if (view.link === link) {
5687
- return !!view.partial_route;
5688
- }
5689
- }
5690
- }
5691
- return false;
5692
- }
5693
5627
  }
5694
5628
  AuthGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: AuthGuard, deps: [{ token: i1$3.Router }, { token: AuthService }, { token: DialogService }, { token: AccountManagerService }, { token: CoreService }, { token: OfflineManagerService }, { token: AuthPermissionService }, { token: AlertService }], target: i0.ɵɵFactoryTarget.Injectable });
5695
5629
  AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: AuthGuard });