@posiwise/resource-module 0.0.190 → 0.0.192

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.
Files changed (49) hide show
  1. package/fesm2022/{posiwise-resource-module-base-top-banner.component-Cf04fHND.mjs → posiwise-resource-module-base-top-banner.component-CIvGr9du.mjs} +15 -19
  2. package/fesm2022/posiwise-resource-module-base-top-banner.component-CIvGr9du.mjs.map +1 -0
  3. package/fesm2022/posiwise-resource-module-posiwise-resource-module-QIX6Y1Ol.mjs +1888 -0
  4. package/fesm2022/posiwise-resource-module-posiwise-resource-module-QIX6Y1Ol.mjs.map +1 -0
  5. package/fesm2022/posiwise-resource-module-resource-blogs.module-DQhQ9YWu.mjs +69 -0
  6. package/fesm2022/posiwise-resource-module-resource-blogs.module-DQhQ9YWu.mjs.map +1 -0
  7. package/fesm2022/posiwise-resource-module-resource-case-studies.module-D7ALgcL_.mjs +135 -0
  8. package/fesm2022/posiwise-resource-module-resource-case-studies.module-D7ALgcL_.mjs.map +1 -0
  9. package/fesm2022/posiwise-resource-module-resource-events.module-UnO7wcUI.mjs +241 -0
  10. package/fesm2022/posiwise-resource-module-resource-events.module-UnO7wcUI.mjs.map +1 -0
  11. package/fesm2022/posiwise-resource-module-resource-hub.module-UBFt3bki.mjs +244 -0
  12. package/fesm2022/posiwise-resource-module-resource-hub.module-UBFt3bki.mjs.map +1 -0
  13. package/fesm2022/posiwise-resource-module-resource-integrations.module-D7idZK_y.mjs +295 -0
  14. package/fesm2022/posiwise-resource-module-resource-integrations.module-D7idZK_y.mjs.map +1 -0
  15. package/fesm2022/posiwise-resource-module-resource-post.module-CR9sCgeR.mjs +334 -0
  16. package/fesm2022/posiwise-resource-module-resource-post.module-CR9sCgeR.mjs.map +1 -0
  17. package/fesm2022/posiwise-resource-module-resource-release-notes.module-DxRiC1Q4.mjs +110 -0
  18. package/fesm2022/posiwise-resource-module-resource-release-notes.module-DxRiC1Q4.mjs.map +1 -0
  19. package/fesm2022/posiwise-resource-module-resource-root.module-PmW6b6c0.mjs +398 -0
  20. package/fesm2022/posiwise-resource-module-resource-root.module-PmW6b6c0.mjs.map +1 -0
  21. package/fesm2022/posiwise-resource-module-resource-videos.module-VJAmMFn-.mjs +68 -0
  22. package/fesm2022/posiwise-resource-module-resource-videos.module-VJAmMFn-.mjs.map +1 -0
  23. package/fesm2022/posiwise-resource-module-resource-white-papers.module-jsS-ik0o.mjs +70 -0
  24. package/fesm2022/posiwise-resource-module-resource-white-papers.module-jsS-ik0o.mjs.map +1 -0
  25. package/fesm2022/posiwise-resource-module.mjs +1 -1
  26. package/package.json +3 -3
  27. package/fesm2022/posiwise-resource-module-base-top-banner.component-Cf04fHND.mjs.map +0 -1
  28. package/fesm2022/posiwise-resource-module-posiwise-resource-module-BQQJRWpa.mjs +0 -1884
  29. package/fesm2022/posiwise-resource-module-posiwise-resource-module-BQQJRWpa.mjs.map +0 -1
  30. package/fesm2022/posiwise-resource-module-resource-blogs.module-BR7TSMOR.mjs +0 -69
  31. package/fesm2022/posiwise-resource-module-resource-blogs.module-BR7TSMOR.mjs.map +0 -1
  32. package/fesm2022/posiwise-resource-module-resource-case-studies.module-opMXWIeg.mjs +0 -135
  33. package/fesm2022/posiwise-resource-module-resource-case-studies.module-opMXWIeg.mjs.map +0 -1
  34. package/fesm2022/posiwise-resource-module-resource-events.module-C5Q81-a4.mjs +0 -241
  35. package/fesm2022/posiwise-resource-module-resource-events.module-C5Q81-a4.mjs.map +0 -1
  36. package/fesm2022/posiwise-resource-module-resource-hub.module-0G1ymGn3.mjs +0 -244
  37. package/fesm2022/posiwise-resource-module-resource-hub.module-0G1ymGn3.mjs.map +0 -1
  38. package/fesm2022/posiwise-resource-module-resource-integrations.module-Bmon54E1.mjs +0 -295
  39. package/fesm2022/posiwise-resource-module-resource-integrations.module-Bmon54E1.mjs.map +0 -1
  40. package/fesm2022/posiwise-resource-module-resource-post.module-C5tpRpPE.mjs +0 -332
  41. package/fesm2022/posiwise-resource-module-resource-post.module-C5tpRpPE.mjs.map +0 -1
  42. package/fesm2022/posiwise-resource-module-resource-release-notes.module-Cfrtxu7y.mjs +0 -110
  43. package/fesm2022/posiwise-resource-module-resource-release-notes.module-Cfrtxu7y.mjs.map +0 -1
  44. package/fesm2022/posiwise-resource-module-resource-root.module-D0L-M3Xf.mjs +0 -398
  45. package/fesm2022/posiwise-resource-module-resource-root.module-D0L-M3Xf.mjs.map +0 -1
  46. package/fesm2022/posiwise-resource-module-resource-videos.module-BJz8jCt8.mjs +0 -68
  47. package/fesm2022/posiwise-resource-module-resource-videos.module-BJz8jCt8.mjs.map +0 -1
  48. package/fesm2022/posiwise-resource-module-resource-white-papers.module-XAPem1wC.mjs +0 -70
  49. package/fesm2022/posiwise-resource-module-resource-white-papers.module-XAPem1wC.mjs.map +0 -1
@@ -1,10 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import * as i3 from '@angular/platform-browser';
4
4
  import { AppBaseComponent } from '@posiwise/app-base-component';
5
5
  import * as i2 from '@posiwise/common-services';
6
6
  import { HelperService } from '@posiwise/helper-service';
7
- import { e as ResourceService } from './posiwise-resource-module-posiwise-resource-module-BQQJRWpa.mjs';
7
+ import { forkJoin } from 'rxjs';
8
+ import { e as ResourceService } from './posiwise-resource-module-posiwise-resource-module-QIX6Y1Ol.mjs';
8
9
 
9
10
  class BaseTopBannerComponent extends AppBaseComponent {
10
11
  constructor(resourceService, tagService, authService, titleService, cdr, injector) {
@@ -48,19 +49,13 @@ class BaseTopBannerComponent extends AppBaseComponent {
48
49
  }
49
50
  getTags() {
50
51
  this.isLoaded = false;
51
- this.tagService
52
- .getAllTagCategories({ search: this.getSearchTerm() }, this.getEffectiveSubscriptionId())
53
- .subscribe(response => {
54
- this.tagCategory = response?.tag_categories?.[0];
55
- this.getPostTags();
56
- this.cdr.markForCheck();
57
- });
58
- }
59
- getPostTags() {
60
- this.tagService
61
- .getTagsByType('post_categories', {}, this.getEffectiveSubscriptionId())
62
- .subscribe(response => {
63
- this.blogPostTag = response.tags.find(tag => tag.tag_category_id === this.tagCategory?.id);
52
+ forkJoin({
53
+ categories: this.tagService.getAllTagCategories({ search: this.getSearchTerm() }, this.getEffectiveSubscriptionId()),
54
+ tags: this.tagService.getTagsByType('post_categories', {}, this.getEffectiveSubscriptionId())
55
+ })
56
+ .subscribe(({ categories, tags }) => {
57
+ this.tagCategory = categories?.tag_categories?.[0];
58
+ this.blogPostTag = tags.tags.find(tag => tag.tag_category_id === this.tagCategory?.id);
64
59
  this.updateSEOMetadata();
65
60
  this.cdr.markForCheck();
66
61
  })
@@ -105,16 +100,17 @@ class BaseTopBannerComponent extends AppBaseComponent {
105
100
  canEditResources() {
106
101
  return this.canEditResourcesValue;
107
102
  }
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: BaseTopBannerComponent, deps: [{ token: ResourceService }, { token: i2.TagService }, { token: i2.AuthService }, { token: i3.Title }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
109
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.6", type: BaseTopBannerComponent, isStandalone: false, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
103
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: BaseTopBannerComponent, deps: [{ token: ResourceService }, { token: i2.TagService }, { token: i2.AuthService }, { token: i3.Title }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
104
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: BaseTopBannerComponent, isStandalone: false, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
110
105
  }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: BaseTopBannerComponent, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: BaseTopBannerComponent, decorators: [{
112
107
  type: Component,
113
108
  args: [{
114
109
  template: '',
110
+ changeDetection: ChangeDetectionStrategy.OnPush,
115
111
  standalone: false
116
112
  }]
117
113
  }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i2.AuthService }, { type: i3.Title }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }] });
118
114
 
119
115
  export { BaseTopBannerComponent as B };
120
- //# sourceMappingURL=posiwise-resource-module-base-top-banner.component-Cf04fHND.mjs.map
116
+ //# sourceMappingURL=posiwise-resource-module-base-top-banner.component-CIvGr9du.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"posiwise-resource-module-base-top-banner.component-CIvGr9du.mjs","sources":["../../../../libs/resource-module/src/lib/public/components/base/base-top-banner.component.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Injector,\n OnInit\n} from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService, TagService } from '@posiwise/common-services';\nimport { Resource, User } from '@posiwise/common-utilities';\nimport { HelperService } from '@posiwise/helper-service';\n\nimport { forkJoin } from 'rxjs';\n\nimport { ResourceService } from '../../../resource.service';\n\n@Component({\n template: '',\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport abstract class BaseTopBannerComponent extends AppBaseComponent implements OnInit {\n subscriptionId: number;\n masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n posts: Resource[] = [];\n testimonialsPosts = [];\n userLoggedIn: boolean;\n blogPostTag;\n tagCategory;\n blogTestimonialsPostTag;\n isLoaded = false;\n user: User;\n isMasterSubscription;\n\n canEditResourcesValue = false;\n\n constructor(\n protected readonly resourceService: ResourceService,\n protected readonly tagService: TagService,\n private readonly authService: AuthService,\n private readonly titleService: Title,\n protected readonly cdr: ChangeDetectorRef,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit() {\n this.getUserSubscriptionId().subscribe(response => {\n this.subscriptionId = response;\n this.cdr.markForCheck();\n });\n this.authService.getToken$().subscribe(res => {\n this.userLoggedIn = !!res;\n if (this.userLoggedIn) {\n this.localStorage.getItem$('product').subscribe(res => {\n const data = res ? JSON.parse(res) : null;\n this.subscriptionId = data?.subscriptionId;\n this.cdr.markForCheck();\n });\n this.userService.getUserInfo().subscribe(data => {\n this.user = data;\n this.updateCanEditResourcesValue();\n this.getTags();\n this.cdr.markForCheck();\n });\n } else {\n this.getTags();\n }\n this.cdr.markForCheck();\n });\n }\n\n protected getTags() {\n this.isLoaded = false;\n forkJoin({\n categories: this.tagService.getAllTagCategories(\n { search: this.getSearchTerm() },\n this.getEffectiveSubscriptionId()\n ),\n tags: this.tagService.getTagsByType(\n 'post_categories',\n {},\n this.getEffectiveSubscriptionId()\n )\n })\n .subscribe(({ categories, tags }) => {\n this.tagCategory = categories?.tag_categories?.[0];\n this.blogPostTag = tags.tags.find(\n tag => tag.tag_category_id === this.tagCategory?.id\n );\n this.updateSEOMetadata();\n this.cdr.markForCheck();\n })\n .add(() => {\n this.isLoaded = true;\n this.cdr.markForCheck();\n });\n }\n\n /** Helper method to get effective subscription ID */\n protected getEffectiveSubscriptionId(): number {\n return HelperService.getEffectiveSubscriptionId(\n this.user,\n this.subscriptionId,\n this.masterSubscriptionId\n );\n }\n\n protected updateSEOMetadata() {\n if (this.blogPostTag) {\n // Update page title if meta_title is available\n if (this.blogPostTag.meta_title) {\n this.titleService.setTitle(this.blogPostTag.meta_title);\n }\n\n // Update meta description if meta_description is available\n if (this.blogPostTag.meta_description) {\n this.updateMetaDescription(this.blogPostTag.meta_description);\n }\n }\n }\n\n private updateMetaDescription(description: string) {\n let metaDescription = document.querySelector('meta[name=\"description\"]');\n if (!metaDescription) {\n metaDescription = document.createElement('meta');\n metaDescription.setAttribute('name', 'description');\n document.head.appendChild(metaDescription);\n }\n metaDescription.setAttribute('content', description);\n }\n\n // Abstract method that each component must implement\n protected abstract getSearchTerm(): string;\n\n private updateCanEditResourcesValue(): void {\n if (this.userLoggedIn && this.user) {\n this.canEditResourcesValue = HelperService.canEditResources(\n this.user,\n this.userLoggedIn,\n this.permissionService\n );\n } else {\n this.canEditResourcesValue = false;\n }\n }\n\n canEditResources(): boolean {\n return this.canEditResourcesValue;\n }\n}\n"],"names":["i1.ResourceService"],"mappings":"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"}