@posiwise/resource-module 0.0.199 → 0.0.201
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/fesm2022/{posiwise-resource-module-base-top-banner.component-Bxj0WwXC.mjs → posiwise-resource-module-base-top-banner.component-CrdBpNSj.mjs} +5 -5
- package/fesm2022/{posiwise-resource-module-base-top-banner.component-Bxj0WwXC.mjs.map → posiwise-resource-module-base-top-banner.component-CrdBpNSj.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-blogs.module-Czhlpgcb.mjs → posiwise-resource-module-resource-blogs.module-hxktrj98.mjs} +14 -14
- package/fesm2022/{posiwise-resource-module-resource-blogs.module-Czhlpgcb.mjs.map → posiwise-resource-module-resource-blogs.module-hxktrj98.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-cards.module-BX8R0Cng.mjs → posiwise-resource-module-resource-cards.module-D3yf7FNt.mjs} +37 -37
- package/fesm2022/{posiwise-resource-module-resource-cards.module-BX8R0Cng.mjs.map → posiwise-resource-module-resource-cards.module-D3yf7FNt.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-case-studies.module-ClEua35f.mjs → posiwise-resource-module-resource-case-studies.module-CFcO0CI-.mjs} +10 -10
- package/fesm2022/{posiwise-resource-module-resource-case-studies.module-ClEua35f.mjs.map → posiwise-resource-module-resource-case-studies.module-CFcO0CI-.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-events.module-CFngKia0.mjs → posiwise-resource-module-resource-events.module-0PDppSJ6.mjs} +10 -10
- package/fesm2022/{posiwise-resource-module-resource-events.module-CFngKia0.mjs.map → posiwise-resource-module-resource-events.module-0PDppSJ6.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-hub.module-BIlT8XPx.mjs → posiwise-resource-module-resource-hub.module-2qzLV9I1.mjs} +12 -12
- package/fesm2022/{posiwise-resource-module-resource-hub.module-BIlT8XPx.mjs.map → posiwise-resource-module-resource-hub.module-2qzLV9I1.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-integrations.module-D7xWr2Y2.mjs → posiwise-resource-module-resource-integrations.module-DqDd_1U9.mjs} +18 -16
- package/fesm2022/posiwise-resource-module-resource-integrations.module-DqDd_1U9.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-post.module-DijUa5vO.mjs → posiwise-resource-module-resource-post.module-BFuEjqA9.mjs} +16 -16
- package/fesm2022/{posiwise-resource-module-resource-post.module-DijUa5vO.mjs.map → posiwise-resource-module-resource-post.module-BFuEjqA9.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-release-notes.module-u6O3JD9u.mjs → posiwise-resource-module-resource-release-notes.module-BbofH_0n.mjs} +14 -14
- package/fesm2022/{posiwise-resource-module-resource-release-notes.module-u6O3JD9u.mjs.map → posiwise-resource-module-resource-release-notes.module-BbofH_0n.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-root.module-3WYuuuw6.mjs → posiwise-resource-module-resource-root.module-C9c17Dhm.mjs} +21 -21
- package/fesm2022/{posiwise-resource-module-resource-root.module-3WYuuuw6.mjs.map → posiwise-resource-module-resource-root.module-C9c17Dhm.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-videos.module-BTPdGGSf.mjs → posiwise-resource-module-resource-videos.module-BsnB9vFd.mjs} +14 -14
- package/fesm2022/{posiwise-resource-module-resource-videos.module-BTPdGGSf.mjs.map → posiwise-resource-module-resource-videos.module-BsnB9vFd.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-white-papers.module-DY-hDx94.mjs → posiwise-resource-module-resource-white-papers.module-BC-OyhAK.mjs} +14 -14
- package/fesm2022/{posiwise-resource-module-resource-white-papers.module-DY-hDx94.mjs.map → posiwise-resource-module-resource-white-papers.module-BC-OyhAK.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource.service-B09CoD3d.mjs → posiwise-resource-module-resource.service-IK3r0iUB.mjs} +12 -9
- package/fesm2022/posiwise-resource-module-resource.service-IK3r0iUB.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module.mjs +44 -44
- package/package.json +1 -1
- package/types/posiwise-resource-module.d.ts +1 -0
- package/fesm2022/posiwise-resource-module-resource-integrations.module-D7xWr2Y2.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource.service-B09CoD3d.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"posiwise-resource-module-resource-post.module-DijUa5vO.mjs","names":["i1.ResourceService","i3","i4.ResourceCardComponent","i7","i8","i9","i1.ResourceService","i2","i3","i4","i5","i6","i10","i1","i2","i5.ResourcePostDetailsComponent","i6.RelatedResourcesComponent","i1"],"sources":["../../../../libs/resource-module/src/lib/shared/models/resource.model.ts","../../../../libs/resource-module/src/lib/public/components/resource-post/related-resources/related-resources.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-post/related-resources/related-resources.component.html","../../../../libs/resource-module/src/lib/public/components/resource-post/resource-post-details/resource-post-details.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-post/resource-post-details/resource-post-details.component.html","../../../../libs/resource-module/src/lib/public/components/resource-post/resource-post.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-post/resource-post.component.html","../../../../libs/resource-module/src/lib/public/modules/post/resource-post.module.ts"],"sourcesContent":["import { UntypedFormBuilder, Validators } from '@angular/forms';\n\nexport class ResourceBlog {\n static getResourcePostsForm() {\n return new UntypedFormBuilder().group({\n related_entity_id: [''],\n related_entity_type: [''],\n comment: [null, Validators.required],\n user_id: ['']\n });\n }\n}\n","import { ChangeDetectionStrategy,\n ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService, CustomToastService, TagService } from '@posiwise/common-services';\nimport { User } from '@posiwise/common-utilities';\nimport { HelperService } from '@posiwise/helper-service';\n\nimport { ResourceService } from '../../../../resource.service';\nimport { ResourceBlog } from '../../../../shared/models/resource.model';\n\n@Component({\n selector: 'pw-related-resources',\n templateUrl: './related-resources.component.html',\n styleUrls: ['./related-resources.component.scss'],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class RelatedResourcesComponent extends AppBaseComponent implements OnInit {\n resourceCards = [\n {\n title: 'BLOG: Here’s why you should QA your distributor invoices',\n image: '/assets/img/resource/resource-qa.png',\n alt: 'QA distributor invoices',\n url: '/resources/view/here-s-why-you-should-be-seeking-independent-qa-of-all-distributor-inv'\n },\n {\n title: 'BLOG: 4 instant hacks to uplift your MSP’s monthly billing',\n image: '/assets/img/resource/resource-hacks.png',\n alt: 'Monthly billing hacks',\n url: '/resources/view/4-instant-hacks-to-uplift-your-msp-s-monthly-billing'\n },\n {\n title: 'BLOG: The trivial detail that will either future-proof or sabotage your PSA.',\n image: '/assets/img/resource/resource-psa.png',\n alt: 'PSA future-proof',\n url: '/resources/view/the-trivial-detail-that-will-either-future-proof-or-sabotage-your-psa'\n }\n ];\n\n post;\n masterSubscriptionId;\n slug;\n\n postComments = [];\n commentForm;\n\n userLoggedIn: boolean;\n\n demoLinks = this.appConfig?.pages_config?.book_demo?.items;\n\n user: User;\n blogPostTag;\n subscriptionId;\n isMasterSubscription;\n linkedInUrl = this.appConfig?.social?.linkedin_url;\n company_email = this.appConfig.company.email;\n\n constructor(\n private readonly resourceService: ResourceService,\n injector: Injector,\n private readonly sanitizer: DomSanitizer,\n private readonly tagService: TagService,\n private readonly authService: AuthService,\n private readonly toastr: CustomToastService,\n private readonly cdr: ChangeDetectorRef\n ) {\n super(injector);\n this.commentForm = ResourceBlog.getResourcePostsForm();\n }\n\n ngOnInit(): void {\n this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n this.route.params.subscribe(params => {\n this.slug = params['slug'] ?? '';\n this.getBlogItem(this.slug);\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\n this.getPostTags();\n this.cdr.markForCheck();\n });\n } else {\n this.getPostTags();\n }\n this.cdr.markForCheck();\n });\n }\n\n get hasValidDemoLinks(): boolean {\n return (\n Array.isArray(this.demoLinks) && this.demoLinks.some(link => link?.title ?? link?.url)\n );\n }\n\n private getPostTags() {\n this.tagService\n .getTagsByType('post_categories', {}, this.getEffectiveSubscriptionId())\n .subscribe(response => {\n this.blogPostTag = response.tags.find(tag => tag.name === 'Blog Posts');\n this.cdr.markForCheck();\n });\n }\n\n private getBlogItem(slug: string) {\n this.resourceService.getPostBySlug(slug).subscribe(response => {\n let blogBody;\n if (response?.body) {\n blogBody = HelperService.sanitizeQuillBody(response.body, this.sanitizer);\n }\n const date = new Date(response?.when);\n const formatted = date.toISOString().split('T')[0];\n this.postComments = response.entity_comments;\n this.post = { ...response, body: blogBody, when: formatted };\n this.cdr.markForCheck();\n });\n }\n\n onComment() {\n const data = { ...this.commentForm.value };\n data.related_entity_id = this.post?.id;\n data.related_entity_type = 'Post';\n data.user_id = this.user?.id;\n this.resourceService.postComments(data).subscribe(() => {\n this.getBlogItem(this.slug);\n this.commentForm.reset();\n this.toastr.success(this.translation.translate('Resource.Posts.CommentAdded'));\n this.cdr.markForCheck();\n });\n }\n\n trackByComment(_index: number, item: { id: number }) {\n return item.id;\n }\n\n /** Helper method to get effective subscription ID */\n private getEffectiveSubscriptionId(): number {\n return HelperService.getEffectiveSubscriptionId(\n this.user,\n this.subscriptionId,\n this.masterSubscriptionId\n );\n }\n}\n","\n\n<section class=\"resource-body-section\">\n <div class=\"container\">\n <div class=\"ql-snow body-quill\"\n >\n <div class=\"ql-editor body post-body-text\"\n [innerHTML]=\"post?.body\">\n </div>\n </div>\n <section class=\"resource-offer-section\">\n\n <div class=\"row mt-5 mb-4 response-row\">\n <div class=\"col-12\">\n @if (userLoggedIn) {\n <form\n class=\"p-fluid mb-5\"\n [formGroup]=\"commentForm\"\n (ngSubmit)=\"onComment()\"\n >\n <div class=\"card shadow-sm no-border p-4\">\n <div class=\"field\">\n <label for=\"related-resources-comment\" class=\"font-bold text-lg mb-4 comment-label\">💬 LEAVE A COMMENT</label>\n <textarea\n id=\"related-resources-comment\"\n pInputTextarea\n formControlName=\"comment\"\n rows=\"6\"\n fluid\n placeholder=\"What's on your mind?\"\n\n aria-label=\"What's on your mind?\" ></textarea>\n @if (commentForm.get('comment')?.invalid && commentForm.get('comment')?.touched) {\n <small\n class=\"text-danger\"\n >Please enter comment</small\n >\n }\n </div>\n <div class=\"text-end mt-3\">\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"sign-btn sign-header-btn\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n } @else {\n <p class=\"text-center pt-3 pb-3 user-not-logged-in text-muted shadow-sm mb-5\">\n <a [routerLink]=\"['/login']\" class=\"text-primary fw-bold\">Log in</a> to leave a comment!\n </p>\n }\n </div>\n </div>\n\n @if (postComments.length > 0) {\n <div class=\"row mt-5 comment-row\">\n @for (comment of postComments; track trackByComment($index, comment)) {\n <div class=\"col-12\">\n <div class=\"card no-border shadow-sm p-3 mb-3\">\n <div class=\"d-flex align-items-start\">\n <img\n [src]=\"comment?.author?.avatar?.[0]?.url || 'assets/img/icons/male.png'\"\n alt=\"avatar\"\n class=\"rounded-circle me-3\"\n width=\"50\"\n height=\"50\"\n (error)=\"handleImageError($event, 'assets/img/icons/male.png')\"\n />\n <div class=\"flex-grow-1\">\n <div class=\"fw-bold text-dark\">\n {{ comment.user?.first_name || '' }} {{ comment.user?.last_name || '' }}\n </div>\n <div class=\"text-muted small mb-2\">{{ comment.created_at | date: 'dd MMM yyyy, h:mm a' }}</div>\n <div class=\"text-body\">\n {{ comment.comment }}\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n\n\n </section>\n </div>\n <hr class=\"resource-divider\" />\n </section>\n\n @if (hasValidDemoLinks) {\n <section class=\"resource-book-section\">\n <div class=\"container\">\n <p class=\"resource-contact\">\n Any questions, get in touch <a href=\"mailto:{{ company_email }}\">here</a>,\n <a [href]=\"linkedInUrl\" target=\"_blank\">connect on LinkedIn</a>, or book a meeting below:\n </p>\n </div>\n <pw-book-a-demo [isBlog]=\"true\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-book-a-demo>\n <hr class=\"resource-divider\" />\n </section>\n }\n\n\n @if (blogPostTag?.tag_category_id) {\n <pw-resource-cards [tag]=\"blogPostTag\" [categoryId]=\"blogPostTag?.tag_category_id\" [resourceTitle]=\"blogPostTag?.title\" [isHeaderVisible]=\"true\" resourceLink=\"/resources/blogs\" [isRelated]=\"true\" [resourceTitle]=\"'Other resources you may be interested in:'\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-cards>\n }\n","import { ChangeDetectionStrategy,\n ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core';\nimport { DomSanitizer, Meta, Title } from '@angular/platform-browser';\n\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService, TagService } from '@posiwise/common-services';\nimport { ADMIN_ROUTERS, User } from '@posiwise/common-utilities';\nimport { HelperService } from '@posiwise/helper-service';\n\nimport { ResourceService } from '../../../../resource.service';\n@Component({\n selector: 'pw-resource-post-details',\n templateUrl: './resource-post-details.component.html',\n styleUrls: ['./resource-post-details.component.scss'],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class ResourcePostDetailsComponent extends AppBaseComponent implements OnInit {\n post;\n masterSubscriptionId;\n slug;\n blogPermission: string;\n userLoggedIn: boolean;\n routers = ADMIN_ROUTERS;\n hasBlogAccess: boolean;\n user: User;\n subscriptionId: number;\n blogPostTag;\n postCategoryTags = [];\n isLoaded = false;\n\n private static readonly CATEGORY_LABEL_KEYS: Record<string, string> = {\n 'Blog Posts': 'Resource.Posts.Category.BlogPosts',\n 'Case Studies': 'Resource.Posts.Category.CaseStudies',\n Webinars: 'Resource.Posts.Category.Webinars',\n Videos: 'Resource.Posts.Category.Videos',\n Events: 'Resource.Posts.Category.Events',\n 'White Papers': 'Resource.Posts.Category.WhitePapers',\n 'Product Release Notes': 'Resource.Posts.Category.ProductReleaseNotes'\n };\n private static readonly DEFAULT_CATEGORY_LABEL_KEY = 'Resource.Posts.Category.Default';\n\n constructor(\n private readonly resourceService: ResourceService,\n private readonly tagService: TagService,\n private readonly authService: AuthService,\n private readonly titleService: Title,\n private readonly meta: Meta,\n injector: Injector,\n private readonly sanitizer: DomSanitizer,\n private readonly cdr: ChangeDetectorRef\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n this.getUserSubscriptionId().subscribe(response => {\n this.subscriptionId = response;\n this.cdr.markForCheck();\n });\n this.route.params.subscribe(params => {\n this.slug = params['slug'] ?? '';\n this.getBlogItem(this.slug);\n this.cdr.markForCheck();\n });\n\n this.authService.getToken$().subscribe(res => {\n this.userLoggedIn = !!res;\n\n if (res) {\n this.userService.getUserInfo().subscribe(data => {\n this.user = data;\n this.hasBlogAccess = HelperService.checkBlogPermission(this.user);\n this.cdr.markForCheck();\n });\n }\n\n this.getPostTags();\n this.cdr.markForCheck();\n });\n }\n\n private getPostTags() {\n this.tagService\n .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)\n .subscribe(response => {\n this.postCategoryTags = response.tags ?? [];\n this.blogPostTag = this.postCategoryTags.find(tag => tag.name === 'Blog Posts');\n // Update SEO metadata again now that blogPostTag is available\n if (this.post) {\n this.setOpenGraphMetaTags();\n }\n this.cdr.markForCheck();\n })\n .add(() => {\n this.isLoaded = true;\n this.cdr.markForCheck();\n });\n }\n\n get postCategoryLabelKey(): string {\n const categoryIds = new Set(this.postCategoryTags.map(t => t.id));\n const match = this.post?.tags?.find(t => categoryIds.has(t.id));\n return (\n ResourcePostDetailsComponent.CATEGORY_LABEL_KEYS[match?.name] ??\n ResourcePostDetailsComponent.DEFAULT_CATEGORY_LABEL_KEY\n );\n }\n\n private getBlogItem(slug: string) {\n this.resourceService.getPostBySlug(slug).subscribe(response => {\n let blogBody;\n if (response?.body) {\n blogBody = HelperService.sanitizeQuillBody(response.body, this.sanitizer);\n }\n this.post = { ...response, body: blogBody };\n this.cdr.markForCheck();\n });\n }\n\n private setOpenGraphMetaTags() {\n if (this.post.title) {\n this.meta.updateTag({ property: 'og:title', content: this.post.title });\n this.meta.updateTag({ name: 'twitter:title', content: this.post.title });\n }\n\n if (this.post.blurb) {\n this.meta.updateTag({ property: 'og:description', content: this.post.blurb });\n this.meta.updateTag({ name: 'twitter:description', content: this.post.blurb });\n }\n\n let imageUrl = null;\n if (this.post?.picture?.url && !this.post.picture.url.includes('default-photo.jpg')) {\n imageUrl = this.post.picture.url;\n } else if (\n this.blogPostTag?.image?.url &&\n !this.blogPostTag.image.url.includes('no_image_uploaded_squared')\n ) {\n imageUrl = this.blogPostTag.image.url;\n }\n\n if (imageUrl) {\n this.meta.updateTag({ property: 'og:image', content: imageUrl });\n this.meta.updateTag({ name: 'twitter:image', content: imageUrl });\n }\n\n this.meta.updateTag({ property: 'og:type', content: 'article' });\n this.meta.updateTag({ property: 'og:url', content: window.location.href });\n this.meta.updateTag({ property: 'og:site_name', content: 'PosiWise' });\n\n // Twitter Card properties\n this.meta.updateTag({ name: 'twitter:card', content: 'summary_large_image' });\n this.meta.updateTag({ name: 'twitter:site', content: '@posiwise' });\n }\n\n getImageUrl(): string | null {\n if (this.post?.picture?.url && !this.post.picture.url.includes('default-photo.jpg')) {\n return this.post.picture.url;\n } else if (\n this.blogPostTag?.image?.url &&\n !this.blogPostTag.image.url.includes('no_image_uploaded_squared')\n ) {\n return this.blogPostTag.image.url;\n }\n return null;\n }\n}\n","<section class=\"resource-hero-section\">\n <div class=\"container d-flex flex-wrap\" [ngClass]=\"getImageUrl() ? 'container-top' : 'container-no-image'\">\n <div class=\"hero-left\">\n <p class=\"blog-label\">{{ postCategoryLabelKey | transloco }}</p>\n\n <h1 class=\"hero-title\">\n @if (post?.title) {\n <span [innerHTML]=\"post.title\"></span>\n } @else {\n \n }\n @if (userLoggedIn && hasBlogAccess) {\n <a\n class=\"ms-3 text-decoration-none\"\n pTooltip=\"Edit this post\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n aria-label=\"Edit this blog post\"\n [routerLink]=\"['/admin/resources/', post?.slug]\"\n target=\"_blank\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </a>\n }\n </h1>\n\n\n <div class=\"author-info\">\n <img [src]=\"post?.author?.avatar?.[0]?.url || 'assets/img/icons/male.png'\" alt=\"User Profile Logo\" class=\"author-img\" />\n <div class=\"author-meta\">\n <p>Article by {{ post?.author?.first_name }} {{ post?.author?.last_name }}</p>\n <p class=\"date\">{{post?.published_at | dateFormat}}</p>\n </div>\n </div>\n </div>\n\n @if (isLoaded) {\n <div class=\"hero-right\">\n @if (getImageUrl()) {\n <img\n [src]=\"getImageUrl()\"\n alt=\"Blog Post\"\n class=\"hero-image\"\n />\n } @else {\n <pw-no-data\n class=\"data-image\"\n [withImage]=\"true\"\n [message]=\"'Resource.Tag.NoImageMessage' | transloco\"\n [description]=\"'Resource.Tag.NoDataMessage' | transloco\"\n ></pw-no-data>\n }\n </div>\n }\n </div>\n</section>\n","import { ChangeDetectionStrategy,\n ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService } from '@posiwise/common-services';\nimport { User } from '@posiwise/common-utilities';\n\n@Component({\n selector: 'app-resource-post',\n templateUrl: './resource-post.component.html',\n styleUrl: './resource-post.component.scss',\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class ResourcePostComponent extends AppBaseComponent implements OnInit {\n slug: string;\n user: User;\n userLoggedIn: boolean | undefined = undefined;\n\n constructor(\n private readonly titleService: Title,\n private readonly authService: AuthService,\n private readonly cdr: ChangeDetectorRef,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.slug = params['slug'] ?? 'Default';\n this.cdr.markForCheck();\n });\n\n this.authService.getToken$().subscribe(res => {\n this.userLoggedIn = !!res;\n if (this.userLoggedIn) {\n this.userService.getUserInfo().subscribe(data => {\n this.user = data;\n this.cdr.markForCheck();\n });\n }\n this.cdr.markForCheck();\n });\n }\n}\n","<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n<pw-resource-post-details></pw-resource-post-details>\n<pw-related-resources></pw-related-resources>\n<pw-trial-4-contact-us [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { TooltipModule } from 'primeng/tooltip';\n\nimport { RelatedResourcesComponent } from '../../components/resource-post/related-resources/related-resources.component';\nimport { ResourcePostComponent } from '../../components/resource-post/resource-post.component';\nimport { ResourcePostDetailsComponent } from '../../components/resource-post/resource-post-details/resource-post-details.component';\nimport { ResourceSharedModule } from '../../shared/resource-shared.module';\n\nconst routes: Routes = [\n {\n path: '',\n component: ResourcePostComponent,\n data: {\n title: 'Resources - Post',\n permission: 'Pages.Blog',\n preload: false\n }\n }\n];\n\n@NgModule({\n declarations: [ResourcePostComponent, ResourcePostDetailsComponent, RelatedResourcesComponent],\n imports: [ResourceSharedModule, TooltipModule, RouterModule.forChild(routes)],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class ResourcePostModule {}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"posiwise-resource-module-resource-post.module-BFuEjqA9.mjs","names":["i1.ResourceService","i3","i4.ResourceCardComponent","i7","i8","i9","i1.ResourceService","i2","i3","i4","i5","i6","i10","i1","i2","i5.ResourcePostDetailsComponent","i6.RelatedResourcesComponent","i1"],"sources":["../../../../libs/resource-module/src/lib/shared/models/resource.model.ts","../../../../libs/resource-module/src/lib/public/components/resource-post/related-resources/related-resources.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-post/related-resources/related-resources.component.html","../../../../libs/resource-module/src/lib/public/components/resource-post/resource-post-details/resource-post-details.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-post/resource-post-details/resource-post-details.component.html","../../../../libs/resource-module/src/lib/public/components/resource-post/resource-post.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-post/resource-post.component.html","../../../../libs/resource-module/src/lib/public/modules/post/resource-post.module.ts"],"sourcesContent":["import { UntypedFormBuilder, Validators } from '@angular/forms';\n\nexport class ResourceBlog {\n static getResourcePostsForm() {\n return new UntypedFormBuilder().group({\n related_entity_id: [''],\n related_entity_type: [''],\n comment: [null, Validators.required],\n user_id: ['']\n });\n }\n}\n","import { ChangeDetectionStrategy,\n ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService, CustomToastService, TagService } from '@posiwise/common-services';\nimport { User } from '@posiwise/common-utilities';\nimport { HelperService } from '@posiwise/helper-service';\n\nimport { ResourceService } from '../../../../resource.service';\nimport { ResourceBlog } from '../../../../shared/models/resource.model';\n\n@Component({\n selector: 'pw-related-resources',\n templateUrl: './related-resources.component.html',\n styleUrls: ['./related-resources.component.scss'],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class RelatedResourcesComponent extends AppBaseComponent implements OnInit {\n resourceCards = [\n {\n title: 'BLOG: Here’s why you should QA your distributor invoices',\n image: '/assets/img/resource/resource-qa.png',\n alt: 'QA distributor invoices',\n url: '/resources/view/here-s-why-you-should-be-seeking-independent-qa-of-all-distributor-inv'\n },\n {\n title: 'BLOG: 4 instant hacks to uplift your MSP’s monthly billing',\n image: '/assets/img/resource/resource-hacks.png',\n alt: 'Monthly billing hacks',\n url: '/resources/view/4-instant-hacks-to-uplift-your-msp-s-monthly-billing'\n },\n {\n title: 'BLOG: The trivial detail that will either future-proof or sabotage your PSA.',\n image: '/assets/img/resource/resource-psa.png',\n alt: 'PSA future-proof',\n url: '/resources/view/the-trivial-detail-that-will-either-future-proof-or-sabotage-your-psa'\n }\n ];\n\n post;\n masterSubscriptionId;\n slug;\n\n postComments = [];\n commentForm;\n\n userLoggedIn: boolean;\n\n demoLinks = this.appConfig?.pages_config?.book_demo?.items;\n\n user: User;\n blogPostTag;\n subscriptionId;\n isMasterSubscription;\n linkedInUrl = this.appConfig?.social?.linkedin_url;\n company_email = this.appConfig.company.email;\n\n constructor(\n private readonly resourceService: ResourceService,\n injector: Injector,\n private readonly sanitizer: DomSanitizer,\n private readonly tagService: TagService,\n private readonly authService: AuthService,\n private readonly toastr: CustomToastService,\n private readonly cdr: ChangeDetectorRef\n ) {\n super(injector);\n this.commentForm = ResourceBlog.getResourcePostsForm();\n }\n\n ngOnInit(): void {\n this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n this.route.params.subscribe(params => {\n this.slug = params['slug'] ?? '';\n this.getBlogItem(this.slug);\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\n this.getPostTags();\n this.cdr.markForCheck();\n });\n } else {\n this.getPostTags();\n }\n this.cdr.markForCheck();\n });\n }\n\n get hasValidDemoLinks(): boolean {\n return (\n Array.isArray(this.demoLinks) && this.demoLinks.some(link => link?.title ?? link?.url)\n );\n }\n\n private getPostTags() {\n this.tagService\n .getTagsByType('post_categories', {}, this.getEffectiveSubscriptionId())\n .subscribe(response => {\n this.blogPostTag = response.tags.find(tag => tag.name === 'Blog Posts');\n this.cdr.markForCheck();\n });\n }\n\n private getBlogItem(slug: string) {\n this.resourceService.getPostBySlug(slug).subscribe(response => {\n let blogBody;\n if (response?.body) {\n blogBody = HelperService.sanitizeQuillBody(response.body, this.sanitizer);\n }\n const date = new Date(response?.when);\n const formatted = date.toISOString().split('T')[0];\n this.postComments = response.entity_comments;\n this.post = { ...response, body: blogBody, when: formatted };\n this.cdr.markForCheck();\n });\n }\n\n onComment() {\n const data = { ...this.commentForm.value };\n data.related_entity_id = this.post?.id;\n data.related_entity_type = 'Post';\n data.user_id = this.user?.id;\n this.resourceService.postComments(data).subscribe(() => {\n this.getBlogItem(this.slug);\n this.commentForm.reset();\n this.toastr.success(this.translation.translate('Resource.Posts.CommentAdded'));\n this.cdr.markForCheck();\n });\n }\n\n trackByComment(_index: number, item: { id: number }) {\n return item.id;\n }\n\n /** Helper method to get effective subscription ID */\n private getEffectiveSubscriptionId(): number {\n return HelperService.getEffectiveSubscriptionId(\n this.user,\n this.subscriptionId,\n this.masterSubscriptionId\n );\n }\n}\n","\n\n<section class=\"resource-body-section\">\n <div class=\"container\">\n <div class=\"ql-snow body-quill\"\n >\n <div class=\"ql-editor body post-body-text\"\n [innerHTML]=\"post?.body\">\n </div>\n </div>\n <section class=\"resource-offer-section\">\n\n <div class=\"row mt-5 mb-4 response-row\">\n <div class=\"col-12\">\n @if (userLoggedIn) {\n <form\n class=\"p-fluid mb-5\"\n [formGroup]=\"commentForm\"\n (ngSubmit)=\"onComment()\"\n >\n <div class=\"card shadow-sm no-border p-4\">\n <div class=\"field\">\n <label for=\"related-resources-comment\" class=\"font-bold text-lg mb-4 comment-label\">💬 LEAVE A COMMENT</label>\n <textarea\n id=\"related-resources-comment\"\n pInputTextarea\n formControlName=\"comment\"\n rows=\"6\"\n fluid\n placeholder=\"What's on your mind?\"\n\n aria-label=\"What's on your mind?\" ></textarea>\n @if (commentForm.get('comment')?.invalid && commentForm.get('comment')?.touched) {\n <small\n class=\"text-danger\"\n >Please enter comment</small\n >\n }\n </div>\n <div class=\"text-end mt-3\">\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"sign-btn sign-header-btn\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n } @else {\n <p class=\"text-center pt-3 pb-3 user-not-logged-in text-muted shadow-sm mb-5\">\n <a [routerLink]=\"['/login']\" class=\"text-primary fw-bold\">Log in</a> to leave a comment!\n </p>\n }\n </div>\n </div>\n\n @if (postComments.length > 0) {\n <div class=\"row mt-5 comment-row\">\n @for (comment of postComments; track trackByComment($index, comment)) {\n <div class=\"col-12\">\n <div class=\"card no-border shadow-sm p-3 mb-3\">\n <div class=\"d-flex align-items-start\">\n <img\n [src]=\"comment?.author?.avatar?.[0]?.url || 'assets/img/icons/male.png'\"\n alt=\"avatar\"\n class=\"rounded-circle me-3\"\n width=\"50\"\n height=\"50\"\n (error)=\"handleImageError($event, 'assets/img/icons/male.png')\"\n />\n <div class=\"flex-grow-1\">\n <div class=\"fw-bold text-dark\">\n {{ comment.user?.first_name || '' }} {{ comment.user?.last_name || '' }}\n </div>\n <div class=\"text-muted small mb-2\">{{ comment.created_at | date: 'dd MMM yyyy, h:mm a' }}</div>\n <div class=\"text-body\">\n {{ comment.comment }}\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n\n\n </section>\n </div>\n <hr class=\"resource-divider\" />\n </section>\n\n @if (hasValidDemoLinks) {\n <section class=\"resource-book-section\">\n <div class=\"container\">\n <p class=\"resource-contact\">\n Any questions, get in touch <a href=\"mailto:{{ company_email }}\">here</a>,\n <a [href]=\"linkedInUrl\" target=\"_blank\">connect on LinkedIn</a>, or book a meeting below:\n </p>\n </div>\n <pw-book-a-demo [isBlog]=\"true\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-book-a-demo>\n <hr class=\"resource-divider\" />\n </section>\n }\n\n\n @if (blogPostTag?.tag_category_id) {\n <pw-resource-cards [tag]=\"blogPostTag\" [categoryId]=\"blogPostTag?.tag_category_id\" [resourceTitle]=\"blogPostTag?.title\" [isHeaderVisible]=\"true\" resourceLink=\"/resources/blogs\" [isRelated]=\"true\" [resourceTitle]=\"'Other resources you may be interested in:'\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-cards>\n }\n","import { ChangeDetectionStrategy,\n ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core';\nimport { DomSanitizer, Meta, Title } from '@angular/platform-browser';\n\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService, TagService } from '@posiwise/common-services';\nimport { ADMIN_ROUTERS, User } from '@posiwise/common-utilities';\nimport { HelperService } from '@posiwise/helper-service';\n\nimport { ResourceService } from '../../../../resource.service';\n@Component({\n selector: 'pw-resource-post-details',\n templateUrl: './resource-post-details.component.html',\n styleUrls: ['./resource-post-details.component.scss'],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class ResourcePostDetailsComponent extends AppBaseComponent implements OnInit {\n post;\n masterSubscriptionId;\n slug;\n blogPermission: string;\n userLoggedIn: boolean;\n routers = ADMIN_ROUTERS;\n hasBlogAccess: boolean;\n user: User;\n subscriptionId: number;\n blogPostTag;\n postCategoryTags = [];\n isLoaded = false;\n\n private static readonly CATEGORY_LABEL_KEYS: Record<string, string> = {\n 'Blog Posts': 'Resource.Posts.Category.BlogPosts',\n 'Case Studies': 'Resource.Posts.Category.CaseStudies',\n Webinars: 'Resource.Posts.Category.Webinars',\n Videos: 'Resource.Posts.Category.Videos',\n Events: 'Resource.Posts.Category.Events',\n 'White Papers': 'Resource.Posts.Category.WhitePapers',\n 'Product Release Notes': 'Resource.Posts.Category.ProductReleaseNotes'\n };\n private static readonly DEFAULT_CATEGORY_LABEL_KEY = 'Resource.Posts.Category.Default';\n\n constructor(\n private readonly resourceService: ResourceService,\n private readonly tagService: TagService,\n private readonly authService: AuthService,\n private readonly titleService: Title,\n private readonly meta: Meta,\n injector: Injector,\n private readonly sanitizer: DomSanitizer,\n private readonly cdr: ChangeDetectorRef\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n this.getUserSubscriptionId().subscribe(response => {\n this.subscriptionId = response;\n this.cdr.markForCheck();\n });\n this.route.params.subscribe(params => {\n this.slug = params['slug'] ?? '';\n this.getBlogItem(this.slug);\n this.cdr.markForCheck();\n });\n\n this.authService.getToken$().subscribe(res => {\n this.userLoggedIn = !!res;\n\n if (res) {\n this.userService.getUserInfo().subscribe(data => {\n this.user = data;\n this.hasBlogAccess = HelperService.checkBlogPermission(this.user);\n this.cdr.markForCheck();\n });\n }\n\n this.getPostTags();\n this.cdr.markForCheck();\n });\n }\n\n private getPostTags() {\n this.tagService\n .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)\n .subscribe(response => {\n this.postCategoryTags = response.tags ?? [];\n this.blogPostTag = this.postCategoryTags.find(tag => tag.name === 'Blog Posts');\n // Update SEO metadata again now that blogPostTag is available\n if (this.post) {\n this.setOpenGraphMetaTags();\n }\n this.cdr.markForCheck();\n })\n .add(() => {\n this.isLoaded = true;\n this.cdr.markForCheck();\n });\n }\n\n get postCategoryLabelKey(): string {\n const categoryIds = new Set(this.postCategoryTags.map(t => t.id));\n const match = this.post?.tags?.find(t => categoryIds.has(t.id));\n return (\n ResourcePostDetailsComponent.CATEGORY_LABEL_KEYS[match?.name] ??\n ResourcePostDetailsComponent.DEFAULT_CATEGORY_LABEL_KEY\n );\n }\n\n private getBlogItem(slug: string) {\n this.resourceService.getPostBySlug(slug).subscribe(response => {\n let blogBody;\n if (response?.body) {\n blogBody = HelperService.sanitizeQuillBody(response.body, this.sanitizer);\n }\n this.post = { ...response, body: blogBody };\n this.cdr.markForCheck();\n });\n }\n\n private setOpenGraphMetaTags() {\n if (this.post.title) {\n this.meta.updateTag({ property: 'og:title', content: this.post.title });\n this.meta.updateTag({ name: 'twitter:title', content: this.post.title });\n }\n\n if (this.post.blurb) {\n this.meta.updateTag({ property: 'og:description', content: this.post.blurb });\n this.meta.updateTag({ name: 'twitter:description', content: this.post.blurb });\n }\n\n let imageUrl = null;\n if (this.post?.picture?.url && !this.post.picture.url.includes('default-photo.jpg')) {\n imageUrl = this.post.picture.url;\n } else if (\n this.blogPostTag?.image?.url &&\n !this.blogPostTag.image.url.includes('no_image_uploaded_squared')\n ) {\n imageUrl = this.blogPostTag.image.url;\n }\n\n if (imageUrl) {\n this.meta.updateTag({ property: 'og:image', content: imageUrl });\n this.meta.updateTag({ name: 'twitter:image', content: imageUrl });\n }\n\n this.meta.updateTag({ property: 'og:type', content: 'article' });\n this.meta.updateTag({ property: 'og:url', content: window.location.href });\n this.meta.updateTag({ property: 'og:site_name', content: 'PosiWise' });\n\n // Twitter Card properties\n this.meta.updateTag({ name: 'twitter:card', content: 'summary_large_image' });\n this.meta.updateTag({ name: 'twitter:site', content: '@posiwise' });\n }\n\n getImageUrl(): string | null {\n if (this.post?.picture?.url && !this.post.picture.url.includes('default-photo.jpg')) {\n return this.post.picture.url;\n } else if (\n this.blogPostTag?.image?.url &&\n !this.blogPostTag.image.url.includes('no_image_uploaded_squared')\n ) {\n return this.blogPostTag.image.url;\n }\n return null;\n }\n}\n","<section class=\"resource-hero-section\">\n <div class=\"container d-flex flex-wrap\" [ngClass]=\"getImageUrl() ? 'container-top' : 'container-no-image'\">\n <div class=\"hero-left\">\n <p class=\"blog-label\">{{ postCategoryLabelKey | transloco }}</p>\n\n <h1 class=\"hero-title\">\n @if (post?.title) {\n <span [innerHTML]=\"post.title\"></span>\n } @else {\n \n }\n @if (userLoggedIn && hasBlogAccess) {\n <a\n class=\"ms-3 text-decoration-none\"\n pTooltip=\"Edit this post\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n aria-label=\"Edit this blog post\"\n [routerLink]=\"['/admin/resources/', post?.slug]\"\n target=\"_blank\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </a>\n }\n </h1>\n\n\n <div class=\"author-info\">\n <img [src]=\"post?.author?.avatar?.[0]?.url || 'assets/img/icons/male.png'\" alt=\"User Profile Logo\" class=\"author-img\" />\n <div class=\"author-meta\">\n <p>Article by {{ post?.author?.first_name }} {{ post?.author?.last_name }}</p>\n <p class=\"date\">{{post?.published_at | dateFormat}}</p>\n </div>\n </div>\n </div>\n\n @if (isLoaded) {\n <div class=\"hero-right\">\n @if (getImageUrl()) {\n <img\n [src]=\"getImageUrl()\"\n alt=\"Blog Post\"\n class=\"hero-image\"\n />\n } @else {\n <pw-no-data\n class=\"data-image\"\n [withImage]=\"true\"\n [message]=\"'Resource.Tag.NoImageMessage' | transloco\"\n [description]=\"'Resource.Tag.NoDataMessage' | transloco\"\n ></pw-no-data>\n }\n </div>\n }\n </div>\n</section>\n","import { ChangeDetectionStrategy,\n ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService } from '@posiwise/common-services';\nimport { User } from '@posiwise/common-utilities';\n\n@Component({\n selector: 'app-resource-post',\n templateUrl: './resource-post.component.html',\n styleUrl: './resource-post.component.scss',\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class ResourcePostComponent extends AppBaseComponent implements OnInit {\n slug: string;\n user: User;\n userLoggedIn: boolean | undefined = undefined;\n\n constructor(\n private readonly titleService: Title,\n private readonly authService: AuthService,\n private readonly cdr: ChangeDetectorRef,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.slug = params['slug'] ?? 'Default';\n this.cdr.markForCheck();\n });\n\n this.authService.getToken$().subscribe(res => {\n this.userLoggedIn = !!res;\n if (this.userLoggedIn) {\n this.userService.getUserInfo().subscribe(data => {\n this.user = data;\n this.cdr.markForCheck();\n });\n }\n this.cdr.markForCheck();\n });\n }\n}\n","<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n<pw-resource-post-details></pw-resource-post-details>\n<pw-related-resources></pw-related-resources>\n<pw-trial-4-contact-us [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { TooltipModule } from 'primeng/tooltip';\n\nimport { RelatedResourcesComponent } from '../../components/resource-post/related-resources/related-resources.component';\nimport { ResourcePostComponent } from '../../components/resource-post/resource-post.component';\nimport { ResourcePostDetailsComponent } from '../../components/resource-post/resource-post-details/resource-post-details.component';\nimport { ResourceSharedModule } from '../../shared/resource-shared.module';\n\nconst routes: Routes = [\n {\n path: '',\n component: ResourcePostComponent,\n data: {\n title: 'Resources - Post',\n permission: 'Pages.Blog',\n preload: false\n }\n }\n];\n\n@NgModule({\n declarations: [ResourcePostComponent, ResourcePostDetailsComponent, RelatedResourcesComponent],\n imports: [ResourceSharedModule, TooltipModule, RouterModule.forChild(routes)],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class ResourcePostModule {}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAa,eAAb,MAAyB;CACrB,OAAO,uBAAoB;EACvB,OAAO,IAAI,mBAAkB,CAAE,CAAC,MAAM;GAClC,mBAAmB,CAAC,EAAE;GACtB,qBAAqB,CAAC,EAAE;GACxB,SAAS,CAAC,MAAM,WAAW,QAAQ;GACnC,SAAS,CAAC,EAAE;EACf,CAAA;CACL;AACH;ACSD,IAAa,4BAAb,MAAa,kCAAkC,iBAAgB;CAwC3D,YACqB,iBACjB,UACiB,WACA,YACA,aACA,QACA,KAAsB;EAEvC,MAAM,QAAQ;EARG,KAAA,kBAAA;EAEA,KAAA,YAAA;EACA,KAAA,aAAA;EACA,KAAA,cAAA;EACA,KAAA,SAAA;EACA,KAAA,MAAA;EA9CrB,KAAA,gBAAgB;GACZ;IACI,OAAO;IACP,OAAO;IACP,KAAK;IACL,KAAK;GACR;GACD;IACI,OAAO;IACP,OAAO;IACP,KAAK;IACL,KAAK;GACR;GACD;IACI,OAAO;IACP,OAAO;IACP,KAAK;IACL,KAAK;GACR;EACJ;EAMD,KAAA,eAAe,CAAA;EAKf,KAAA,YAAY,KAAK,WAAW,cAAc,WAAW;EAMrD,KAAA,cAAc,KAAK,WAAW,QAAQ;EACtC,KAAA,gBAAgB,KAAK,UAAU,QAAQ;EAYnC,KAAK,cAAc,aAAa,qBAAoB;CACxD;CAEA,WAAQ;EACJ,KAAK,uBAAuB,KAAK,UAAU,oBAAoB;EAC/D,KAAK,MAAM,OAAO,WAAU,WAAS;GACjC,KAAK,OAAO,OAAO,WAAW;GAC9B,KAAK,YAAY,KAAK,IAAI;GAC1B,KAAK,IAAI,aAAY;EACzB,CAAC;EACD,KAAK,YAAY,UAAS,CAAE,CAAC,WAAU,QAAM;GACzC,KAAK,eAAe,CAAC,CAAC;GACtB,IAAI,KAAK,cAAc;IACnB,KAAK,aAAa,SAAS,SAAS,CAAC,CAAC,WAAU,QAAM;KAClD,MAAM,OAAO,MAAM,KAAK,MAAM,GAAG,IAAI;KACrC,KAAK,iBAAiB,MAAM;KAC5B,KAAK,IAAI,aAAY;IACzB,CAAC;IACD,KAAK,YAAY,YAAW,CAAE,CAAC,WAAU,SAAO;KAC5C,KAAK,OAAO;KAEZ,KAAK,YAAW;KAChB,KAAK,IAAI,aAAY;IACzB,CAAC;GACL,OACI,KAAK,YAAW;GAEpB,KAAK,IAAI,aAAY;EACzB,CAAC;CACL;CAEA,IAAI,oBAAiB;EACjB,OACI,MAAM,QAAQ,KAAK,SAAS,KAAK,KAAK,UAAU,MAAK,SAAQ,MAAM,SAAS,MAAM,GAAG;CAE7F;CAEQ,cAAW;EACf,KAAK,WACA,cAAc,mBAAmB,CAAA,GAAI,KAAK,2BAA0B,CAAE,CAAC,CACvE,WAAU,aAAW;GAClB,KAAK,cAAc,SAAS,KAAK,MAAK,QAAO,IAAI,SAAS,YAAY;GACtE,KAAK,IAAI,aAAY;EACzB,CAAC;CACT;CAEQ,YAAY,MAAY;EAC5B,KAAK,gBAAgB,cAAc,IAAI,CAAC,CAAC,WAAU,aAAW;GAC1D,IAAI;GACJ,IAAI,UAAU,MACV,WAAW,cAAc,kBAAkB,SAAS,MAAM,KAAK,SAAS;GAG5E,MAAM,YAAY,IADD,KAAK,UAAU,IACd,CAAA,CAAK,YAAW,CAAE,CAAC,MAAM,GAAG,CAAC,CAAC;GAChD,KAAK,eAAe,SAAS;GAC7B,KAAK,OAAO;IAAE,GAAG;IAAU,MAAM;IAAU,MAAM;GAAS;GAC1D,KAAK,IAAI,aAAY;EACzB,CAAC;CACL;CAEA,YAAS;EACL,MAAM,OAAO,EAAE,GAAG,KAAK,YAAY,MAAK;EACxC,KAAK,oBAAoB,KAAK,MAAM;EACpC,KAAK,sBAAsB;EAC3B,KAAK,UAAU,KAAK,MAAM;EAC1B,KAAK,gBAAgB,aAAa,IAAI,CAAC,CAAC,gBAAe;GACnD,KAAK,YAAY,KAAK,IAAI;GAC1B,KAAK,YAAY,MAAK;GACtB,KAAK,OAAO,QAAQ,KAAK,YAAY,UAAU,6BAA6B,CAAC;GAC7E,KAAK,IAAI,aAAY;EACzB,CAAC;CACL;CAEA,eAAe,QAAgB,MAAoB;EAC/C,OAAO,KAAK;CAChB;CAGQ,6BAA0B;EAC9B,OAAO,cAAc,2BACjB,KAAK,MACL,KAAK,gBACL,KAAK,oBAAoB;CAEjC;CAtIS;EAAA,KAAA,OAAA,GAAA,mBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAAyB,MAAA;IAAA,EAAA,OAAAA,gBAAA;IAAA,EAAA,OAAA,GAAA,SAAA;IAAA,EAAA,OAAA,GAAA,aAAA;IAAA,EAAA,OAAAC,KAAA,WAAA;IAAA,EAAA,OAAAA,KAAA,YAAA;IAAA,EAAA,OAAAA,KAAA,mBAAA;IAAA,EAAA,OAAA,GAAA,kBAAA;GAAA;GAAA,QAAA,GAAA,gBAAA;EAAA,CAAA;CAAA;CAAzB;EAAA,KAAA,OAAA,GAAA,qBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,MAAA;GAAyB,cAAA;GAAA,UAAA;GAAA,iBAAA;GAAA,UAAA;GAAA,UCpBtC;GA6GA,QAAA,CAAA,sjFAAA;GAAA,cAAA;IAAA;KAAA,MAAA;KAAA,MAAAC;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA,CAAA,WAAA;KAAA,SAAA,CAAA,UAAA;KAAA,UAAA,CAAA,QAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;KAAA;KAAA,SAAA,CAAA,eAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAAC,KAAA;KAAA,UAAA;KAAA,QAAA,CAAA,cAAA,UAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAAA,KAAA;KAAA,UAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAAC,KAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAAC,KAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;KAAA,SAAA,CAAA,UAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,IAAA;KAAA,MAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,IAAA;KAAA,MAAA;IAAA;GAAA;GAAA,iBAAA,GAAA,wBAAA;EAAA,CAAA;CAAA;;ADzFa,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAyB,YAAA,CAAA;EARrC,MAAA;EACa,MAAA,CAAA;GAAA,UAAA;GAAsB,iBAIf,wBAAwB;GAAM,YACnC;GAAK,UAAA;GAAA,QAAA,CAAA,sjFAAA;EAAA,CAAA;;;;;;;;;;;;AEArB,IAAa,+BAAb,MAAa,qCAAqC,iBAAgB;CActC;EAAA,KAAA,sBAA8C;GAClE,cAAc;GACd,gBAAgB;GAChB,UAAU;GACV,QAAQ;GACR,QAAQ;GACR,gBAAgB;GAChB,yBAAyB;EAC5B;CAAC;CACsB;EAAA,KAAA,6BAA6B;CAAkC;CAEvF,YACqB,iBACA,YACA,aACA,cACA,MACjB,UACiB,WACA,KAAsB;EAEvC,MAAM,QAAQ;EATG,KAAA,kBAAA;EACA,KAAA,aAAA;EACA,KAAA,cAAA;EACA,KAAA,eAAA;EACA,KAAA,OAAA;EAEA,KAAA,YAAA;EACA,KAAA,MAAA;EA3BrB,KAAA,UAAU;EAKV,KAAA,mBAAmB,CAAA;EACnB,KAAA,WAAW;CAwBX;CAEA,WAAQ;EACJ,KAAK,uBAAuB,KAAK,UAAU,oBAAoB;EAC/D,KAAK,sBAAqB,CAAE,CAAC,WAAU,aAAW;GAC9C,KAAK,iBAAiB;GACtB,KAAK,IAAI,aAAY;EACzB,CAAC;EACD,KAAK,MAAM,OAAO,WAAU,WAAS;GACjC,KAAK,OAAO,OAAO,WAAW;GAC9B,KAAK,YAAY,KAAK,IAAI;GAC1B,KAAK,IAAI,aAAY;EACzB,CAAC;EAED,KAAK,YAAY,UAAS,CAAE,CAAC,WAAU,QAAM;GACzC,KAAK,eAAe,CAAC,CAAC;GAEtB,IAAI,KACA,KAAK,YAAY,YAAW,CAAE,CAAC,WAAU,SAAO;IAC5C,KAAK,OAAO;IACZ,KAAK,gBAAgB,cAAc,oBAAoB,KAAK,IAAI;IAChE,KAAK,IAAI,aAAY;GACzB,CAAC;GAGL,KAAK,YAAW;GAChB,KAAK,IAAI,aAAY;EACzB,CAAC;CACL;CAEQ,cAAW;EACf,KAAK,WACA,cAAc,mBAAmB,CAAA,GAAI,KAAK,kBAAkB,KAAK,oBAAoB,CAAC,CACtF,WAAU,aAAW;GAClB,KAAK,mBAAmB,SAAS,QAAQ,CAAA;GACzC,KAAK,cAAc,KAAK,iBAAiB,MAAK,QAAO,IAAI,SAAS,YAAY;GAE9E,IAAI,KAAK,MACL,KAAK,qBAAoB;GAE7B,KAAK,IAAI,aAAY;EACzB,CAAC,CAAC,CACD,UAAS;GACN,KAAK,WAAW;GAChB,KAAK,IAAI,aAAY;EACzB,CAAC;CACT;CAEA,IAAI,uBAAoB;EACpB,MAAM,cAAc,IAAI,IAAI,KAAK,iBAAiB,KAAI,MAAK,EAAE,EAAE,CAAC;EAChE,MAAM,QAAQ,KAAK,MAAM,MAAM,MAAK,MAAK,YAAY,IAAI,EAAE,EAAE,CAAC;EAC9D,OACI,6BAA6B,oBAAoB,OAAO,SACxD,6BAA6B;CAErC;CAEQ,YAAY,MAAY;EAC5B,KAAK,gBAAgB,cAAc,IAAI,CAAC,CAAC,WAAU,aAAW;GAC1D,IAAI;GACJ,IAAI,UAAU,MACV,WAAW,cAAc,kBAAkB,SAAS,MAAM,KAAK,SAAS;GAE5E,KAAK,OAAO;IAAE,GAAG;IAAU,MAAM;GAAQ;GACzC,KAAK,IAAI,aAAY;EACzB,CAAC;CACL;CAEQ,uBAAoB;EACxB,IAAI,KAAK,KAAK,OAAO;GACjB,KAAK,KAAK,UAAU;IAAE,UAAU;IAAY,SAAS,KAAK,KAAK;GAAK,CAAE;GACtE,KAAK,KAAK,UAAU;IAAE,MAAM;IAAiB,SAAS,KAAK,KAAK;GAAK,CAAE;EAC3E;EAEA,IAAI,KAAK,KAAK,OAAO;GACjB,KAAK,KAAK,UAAU;IAAE,UAAU;IAAkB,SAAS,KAAK,KAAK;GAAK,CAAE;GAC5E,KAAK,KAAK,UAAU;IAAE,MAAM;IAAuB,SAAS,KAAK,KAAK;GAAK,CAAE;EACjF;EAEA,IAAI,WAAW;EACf,IAAI,KAAK,MAAM,SAAS,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,SAAS,mBAAmB,GAC9E,WAAW,KAAK,KAAK,QAAQ;OAC1B,IACH,KAAK,aAAa,OAAO,OACzB,CAAC,KAAK,YAAY,MAAM,IAAI,SAAS,2BAA2B,GAEhE,WAAW,KAAK,YAAY,MAAM;EAGtC,IAAI,UAAU;GACV,KAAK,KAAK,UAAU;IAAE,UAAU;IAAY,SAAS;GAAQ,CAAE;GAC/D,KAAK,KAAK,UAAU;IAAE,MAAM;IAAiB,SAAS;GAAQ,CAAE;EACpE;EAEA,KAAK,KAAK,UAAU;GAAE,UAAU;GAAW,SAAS;EAAS,CAAE;EAC/D,KAAK,KAAK,UAAU;GAAE,UAAU;GAAU,SAAS,OAAO,SAAS;EAAI,CAAE;EACzE,KAAK,KAAK,UAAU;GAAE,UAAU;GAAgB,SAAS;EAAU,CAAE;EAGrE,KAAK,KAAK,UAAU;GAAE,MAAM;GAAgB,SAAS;EAAqB,CAAE;EAC5E,KAAK,KAAK,UAAU;GAAE,MAAM;GAAgB,SAAS;EAAW,CAAE;CACtE;CAEA,cAAW;EACP,IAAI,KAAK,MAAM,SAAS,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,SAAS,mBAAmB,GAC9E,OAAO,KAAK,KAAK,QAAQ;OACtB,IACH,KAAK,aAAa,OAAO,OACzB,CAAC,KAAK,YAAY,MAAM,IAAI,SAAS,2BAA2B,GAEhE,OAAO,KAAK,YAAY,MAAM;EAElC,OAAO;CACX;CArJS;EAAA,KAAA,OAAA,GAAA,mBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAA4B,MAAA;IAAA,EAAA,OAAAC,gBAAA;IAAA,EAAA,OAAAC,KAAA,WAAA;IAAA,EAAA,OAAAA,KAAA,YAAA;IAAA,EAAA,OAAAC,GAAA,MAAA;IAAA,EAAA,OAAAA,GAAA,KAAA;IAAA,EAAA,OAAA,GAAA,SAAA;IAAA,EAAA,OAAAA,GAAA,aAAA;IAAA,EAAA,OAAA,GAAA,kBAAA;GAAA;GAAA,QAAA,GAAA,gBAAA;EAAA,CAAA;CAAA;CAA5B;EAAA,KAAA,OAAA,GAAA,qBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,MAAA;GAA4B,cAAA;GAAA,UAAA;GAAA,iBAAA;GAAA,UAAA;GAAA,UClBzC;GAuDA,QAAA,CAAA,u/DAAA;GAAA,cAAA;IAAA;KAAA,MAAA;KAAA,MAAAC,IAAA;KAAA,UAAA;KAAA,QAAA,CAAA,SAAA,SAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAAC,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAAC,KAAA;KAAA,UAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,MAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAAC,IAAA;KAAA,MAAA;IAAA;GAAA;GAAA,iBAAA,GAAA,wBAAA;EAAA,CAAA;CAAA;;ADrCa,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAA4B,YAAA,CAAA;EARxC,MAAA;EACa,MAAA,CAAA;GAAA,UAAA;GAA0B,iBAInB,wBAAwB;GAAM,YACnC;GAAK,UAAA;GAAA,QAAA,CAAA,u/DAAA;EAAA,CAAA;;;;;;;;;;;;;AEArB,IAAa,wBAAb,MAAa,8BAA8B,iBAAgB;CAKvD,YACqB,cACA,aACA,KACjB,UAAkB;EAElB,MAAM,QAAQ;EALG,KAAA,eAAA;EACA,KAAA,cAAA;EACA,KAAA,MAAA;EALrB,KAAA,eAAoC;CASpC;CAEA,WAAQ;EACJ,KAAK,MAAM,OAAO,WAAU,WAAS;GACjC,KAAK,OAAO,OAAO,WAAW;GAC9B,KAAK,IAAI,aAAY;EACzB,CAAC;EAED,KAAK,YAAY,UAAS,CAAE,CAAC,WAAU,QAAM;GACzC,KAAK,eAAe,CAAC,CAAC;GACtB,IAAI,KAAK,cACL,KAAK,YAAY,YAAW,CAAE,CAAC,WAAU,SAAO;IAC5C,KAAK,OAAO;IACZ,KAAK,IAAI,aAAY;GACzB,CAAC;GAEL,KAAK,IAAI,aAAY;EACzB,CAAC;CACL;CA9BS;EAAA,KAAA,OAAA,GAAA,mBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAAqB,MAAA;IAAA,EAAA,OAAAC,GAAA,MAAA;IAAA,EAAA,OAAAC,KAAA,YAAA;IAAA,EAAA,OAAA,GAAA,kBAAA;IAAA,EAAA,OAAA,GAAA,SAAA;GAAA;GAAA,QAAA,GAAA,gBAAA;EAAA,CAAA;CAAA;CAArB;EAAA,KAAA,OAAA,GAAA,qBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,MAAA;GAAqB,cAAA;GAAA,UAAA;GAAA,iBAAA;GAAA,UAAA;GAAA,UChBlC;GAG2F,QAAA,CAAA,oFAAA;GAAA,cAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA,CAAA,QAAA,cAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAAC;KAAA,UAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAAC;KAAA,UAAA;IAAA;GAAA;GAAA,iBAAA,GAAA,wBAAA;EAAA,CAAA;CAAA;;ADa9E,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAqB,YAAA,CAAA;EARjC,MAAA;EACa,MAAA,CAAA;GAAA,UAAA;GAAmB,iBAIZ,wBAAwB;GAAM,YACnC;GAAK,UAAA;GAAA,QAAA,CAAA,oFAAA;EAAA,CAAA;;;;;;;;;AEJrB,MAAM,SAAiB,CACnB;CACI,MAAM;CACN,WAAW;CACX,MAAM;EACF,OAAO;EACP,YAAY;EACZ,SAAS;CACZ;AACJ,CACJ;AAOD,IAAa,qBAAb,MAAa,mBAAkB;CAAlB;EAAA,KAAA,OAAA,GAAA,mBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAAkB,MAAA,CAAA;GAAA,QAAA,GAAA,gBAAA;EAAA,CAAA;CAAA;CAAlB;EAAA,KAAA,OAAA,GAAA,oBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAAkB,cAAA;IAJZ;IAAuB;IAA8B;GAAyB;GAAA,SAAA;IACnF;IAAsB;IAAaC,GAAA;GAAA;EAAA,CAAA;CAAA;CAGpC;EAAA,KAAA,OAAA,GAAA,oBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAAkB,SAAA;IAHjB;IAAsB;IAAe,aAAa,SAAS,MAAM;GAAC;EAAA,CAAA;CAAA;;AAGnE,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAkB,YAAA,CAAA;EAL9B,MAAA;EAAS,MAAA,CAAA;GACN,cAAc;IAAC;IAAuB;IAA8B;GAAyB;GAC7F,SAAS;IAAC;IAAsB;IAAe,aAAa,SAAS,MAAM;GAAC;GAC5E,SAAS,CAAC,sBAAsB;EACnC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as ResourceService } from "./posiwise-resource-module-resource.service-
|
|
2
|
-
import { c as ResourceNoteCardComponent } from "./posiwise-resource-module-resource-cards.module-
|
|
1
|
+
import { t as ResourceService } from "./posiwise-resource-module-resource.service-IK3r0iUB.mjs";
|
|
2
|
+
import { c as ResourceNoteCardComponent } from "./posiwise-resource-module-resource-cards.module-D3yf7FNt.mjs";
|
|
3
3
|
import { ResourceSharedModule, ResourceTopBannerEditComponent } from "./posiwise-resource-module.mjs";
|
|
4
|
-
import { t as BaseTopBannerComponent } from "./posiwise-resource-module-base-top-banner.component-
|
|
4
|
+
import { t as BaseTopBannerComponent } from "./posiwise-resource-module-base-top-banner.component-CrdBpNSj.mjs";
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import { ChangeDetectionStrategy, Component, NgModule } from "@angular/core";
|
|
7
7
|
import { HelperService } from "@posiwise/helper-service";
|
|
@@ -24,7 +24,7 @@ var ReleaseTopBannerComponent = class ReleaseTopBannerComponent extends BaseTopB
|
|
|
24
24
|
static {
|
|
25
25
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
26
26
|
minVersion: "12.0.0",
|
|
27
|
-
version: "22.2.
|
|
27
|
+
version: "22.2.3",
|
|
28
28
|
ngImport: i0,
|
|
29
29
|
type: ReleaseTopBannerComponent,
|
|
30
30
|
deps: [
|
|
@@ -41,7 +41,7 @@ var ReleaseTopBannerComponent = class ReleaseTopBannerComponent extends BaseTopB
|
|
|
41
41
|
static {
|
|
42
42
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
43
43
|
minVersion: "17.0.0",
|
|
44
|
-
version: "22.2.
|
|
44
|
+
version: "22.2.3",
|
|
45
45
|
type: ReleaseTopBannerComponent,
|
|
46
46
|
isStandalone: false,
|
|
47
47
|
selector: "pw-resource-release-notes-top-banner",
|
|
@@ -75,7 +75,7 @@ var ReleaseTopBannerComponent = class ReleaseTopBannerComponent extends BaseTopB
|
|
|
75
75
|
};
|
|
76
76
|
i0.ɵɵngDeclareClassMetadata({
|
|
77
77
|
minVersion: "12.0.0",
|
|
78
|
-
version: "22.2.
|
|
78
|
+
version: "22.2.3",
|
|
79
79
|
ngImport: i0,
|
|
80
80
|
type: ReleaseTopBannerComponent,
|
|
81
81
|
decorators: [{
|
|
@@ -145,7 +145,7 @@ var ResourceReleaseNoteComponent = class ResourceReleaseNoteComponent extends Ap
|
|
|
145
145
|
static {
|
|
146
146
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
147
147
|
minVersion: "12.0.0",
|
|
148
|
-
version: "22.2.
|
|
148
|
+
version: "22.2.3",
|
|
149
149
|
ngImport: i0,
|
|
150
150
|
type: ResourceReleaseNoteComponent,
|
|
151
151
|
deps: [
|
|
@@ -160,7 +160,7 @@ var ResourceReleaseNoteComponent = class ResourceReleaseNoteComponent extends Ap
|
|
|
160
160
|
static {
|
|
161
161
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
162
162
|
minVersion: "17.0.0",
|
|
163
|
-
version: "22.2.
|
|
163
|
+
version: "22.2.3",
|
|
164
164
|
type: ResourceReleaseNoteComponent,
|
|
165
165
|
isStandalone: false,
|
|
166
166
|
selector: "pw-resource-release-notes",
|
|
@@ -217,7 +217,7 @@ var ResourceReleaseNoteComponent = class ResourceReleaseNoteComponent extends Ap
|
|
|
217
217
|
};
|
|
218
218
|
i0.ɵɵngDeclareClassMetadata({
|
|
219
219
|
minVersion: "12.0.0",
|
|
220
|
-
version: "22.2.
|
|
220
|
+
version: "22.2.3",
|
|
221
221
|
ngImport: i0,
|
|
222
222
|
type: ResourceReleaseNoteComponent,
|
|
223
223
|
decorators: [{
|
|
@@ -249,7 +249,7 @@ var ResourceReleaseNotesModule = class ResourceReleaseNotesModule {
|
|
|
249
249
|
static {
|
|
250
250
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
251
251
|
minVersion: "12.0.0",
|
|
252
|
-
version: "22.2.
|
|
252
|
+
version: "22.2.3",
|
|
253
253
|
ngImport: i0,
|
|
254
254
|
type: ResourceReleaseNotesModule,
|
|
255
255
|
deps: [],
|
|
@@ -259,7 +259,7 @@ var ResourceReleaseNotesModule = class ResourceReleaseNotesModule {
|
|
|
259
259
|
static {
|
|
260
260
|
this.ɵmod = i0.ɵɵngDeclareNgModule({
|
|
261
261
|
minVersion: "14.0.0",
|
|
262
|
-
version: "22.2.
|
|
262
|
+
version: "22.2.3",
|
|
263
263
|
ngImport: i0,
|
|
264
264
|
type: ResourceReleaseNotesModule,
|
|
265
265
|
declarations: [ResourceReleaseNoteComponent, ReleaseTopBannerComponent],
|
|
@@ -269,7 +269,7 @@ var ResourceReleaseNotesModule = class ResourceReleaseNotesModule {
|
|
|
269
269
|
static {
|
|
270
270
|
this.ɵinj = i0.ɵɵngDeclareInjector({
|
|
271
271
|
minVersion: "12.0.0",
|
|
272
|
-
version: "22.2.
|
|
272
|
+
version: "22.2.3",
|
|
273
273
|
ngImport: i0,
|
|
274
274
|
type: ResourceReleaseNotesModule,
|
|
275
275
|
imports: [ResourceSharedModule, RouterModule.forChild(routes)]
|
|
@@ -278,7 +278,7 @@ var ResourceReleaseNotesModule = class ResourceReleaseNotesModule {
|
|
|
278
278
|
};
|
|
279
279
|
i0.ɵɵngDeclareClassMetadata({
|
|
280
280
|
minVersion: "12.0.0",
|
|
281
|
-
version: "22.2.
|
|
281
|
+
version: "22.2.3",
|
|
282
282
|
ngImport: i0,
|
|
283
283
|
type: ResourceReleaseNotesModule,
|
|
284
284
|
decorators: [{
|
|
@@ -291,4 +291,4 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
291
291
|
});
|
|
292
292
|
export { ResourceReleaseNotesModule };
|
|
293
293
|
|
|
294
|
-
//# sourceMappingURL=posiwise-resource-module-resource-release-notes.module-
|
|
294
|
+
//# sourceMappingURL=posiwise-resource-module-resource-release-notes.module-BbofH_0n.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"posiwise-resource-module-resource-release-notes.module-u6O3JD9u.mjs","names":["i1.ResourceService","i3","i4.ResourceTopBannerEditComponent","i1","i2.ResourceNoteCardComponent","i5.ReleaseTopBannerComponent"],"sources":["../../../../libs/resource-module/src/lib/public/components/resource-release-notes/resource-release-notes-top-banner/resource-release-notes-top-banner.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-release-notes/resource-release-notes-top-banner/resource-release-notes-top-banner.component.html","../../../../libs/resource-module/src/lib/public/components/resource-release-notes/resource-release-notes.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-release-notes/resource-release-notes.component.html","../../../../libs/resource-module/src/lib/public/modules/release-notes/resource-release-notes.module.ts"],"sourcesContent":["import { ChangeDetectionStrategy,\n ChangeDetectorRef, Component, Injector } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\nimport { AuthService, TagService } from '@posiwise/common-services';\n\nimport { ResourceService } from '../../../../resource.service';\nimport { BaseTopBannerComponent } from '../../base/base-top-banner.component';\n\n@Component({\n selector: 'pw-resource-release-notes-top-banner',\n templateUrl: './resource-release-notes-top-banner.component.html',\n styleUrls: [\n '../../resource-case-studies/resource-case-studies.component.scss',\n './resource-release-notes-top-banner.component.scss',\n '../../resources/resources-shared.component.scss',\n '../../resource-post/related-resources/related-resources.component.scss'\n ],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class ReleaseTopBannerComponent extends BaseTopBannerComponent {\n contactUsUrl = this.appConfig?.pages_config?.contact_us?.url;\n\n constructor(\n resourceService: ResourceService,\n tagService: TagService,\n authService: AuthService,\n titleService: Title,\n cdr: ChangeDetectorRef,\n injector: Injector\n ) {\n super(resourceService, tagService, authService, titleService, cdr, injector);\n }\n\n protected getSearchTerm(): string {\n return 'Release Notes';\n }\n}\n","<section class=\"bg-white pricing-section\">\n <div class=\"resource-banner\">\n @if (isLoaded) {\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n <div class=\"text-content\">\n <div class=\"resource-heading\">\n <h1 class=\"resource-header-text mb-4\">\n <span class=\"d-inline-flex align-items-center gap-2 flex-wrap\">\n <span [innerHTML]=\"blogPostTag?.title || 'Release Notes'\"></span>\n @if (canEditResourcesValue) {\n <pw-resource-top-banner-edit\n [blogPostTag]=\"blogPostTag\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"\n (getUpdatedTag)=\"getTags()\"\n ></pw-resource-top-banner-edit>\n }\n </span>\n </h1>\n </div>\n </div>\n <div class=\"text-extension mt-4\">\n <div class=\"cta-buttons d-flex flex-column justify-between h-100\">\n <div class=\"flex-grow-1\">\n @if (blogPostTag?.description && blogPostTag.description !== 'null' ) {\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n } @else {\n <p class=\"intro\">\n We’re obsessed with solving real problems for our customers.\n </p>\n }\n </div>\n <div class=\"d-flex gap-3 flex-wrap mt-3\">\n <a [href]=\"contactUsUrl\" target=\"_blank\" rel=\"noopener noreferrer\"\n class=\"cta-btn filled\">Talk to us <i class=\"fa fa-chevron-right cta-btn__icon\" aria-hidden=\"true\"></i></a>\n </div>\n </div>\n </div>\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <div class=\"resource-math-img\"></div>\n <img class=\"resource-laptop-img dyn-img\"\n [src]=\"(blogPostTag?.image?.url && !(blogPostTag?.image?.url.includes('no_image_uploaded_squared'))) ? blogPostTag?.image?.url : '/assets/img/resource/release-person.png'\"\n alt=\"Release notes banner\"\n width=\"600\"\n height=\"450\"\n loading=\"eager\"\n fetchpriority=\"high\" />\n </div>\n </div>\n }\n </div>\n</section>\n","import { ChangeDetectionStrategy,\n ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core';\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\n@Component({\n selector: 'pw-resource-release-notes',\n templateUrl: './resource-release-notes.component.html',\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class ResourceReleaseNoteComponent extends AppBaseComponent implements OnInit {\n subscriptionId: number;\n masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n posts: Resource[] = [];\n userLoggedIn: boolean;\n blogPostTag;\n user: User;\n isMasterSubscription;\n\n constructor(\n private readonly authService: AuthService,\n private readonly tagService: TagService,\n private 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.getPostTags();\n this.cdr.markForCheck();\n });\n } else {\n this.getPostTags();\n }\n this.cdr.markForCheck();\n });\n }\n\n private getPostTags() {\n this.tagService\n .getTagsByType('post_categories', {}, this.getEffectiveSubscriptionId())\n .subscribe(response => {\n this.blogPostTag = response.tags.find(tag => tag.name === 'Product Release Notes');\n this.cdr.markForCheck();\n });\n }\n\n /** Helper method to get effective subscription ID */\n private getEffectiveSubscriptionId(): number {\n return HelperService.getEffectiveSubscriptionId(\n this.user,\n this.subscriptionId,\n this.masterSubscriptionId\n );\n }\n}\n","<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n<pw-resource-release-notes-top-banner></pw-resource-release-notes-top-banner>\n\n@if (blogPostTag?.tag_category_id) {\n <pw-resource-note-card [isReleasePress]=\"true\" [tag]=\"blogPostTag\" [categoryId]=\"blogPostTag?.tag_category_id\" [releaseHeader]=\"true\" [resourceTitle]=\"blogPostTag?.title\" [postSlice]=\"true\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-note-card>\n}\n\n<pw-trial-4-contact-us [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { ResourceReleaseNoteComponent } from '../../components/resource-release-notes/resource-release-notes.component';\nimport { ReleaseTopBannerComponent } from '../../components/resource-release-notes/resource-release-notes-top-banner/resource-release-notes-top-banner.component';\nimport { ResourceSharedModule } from '../../shared/resource-shared.module';\n\nconst routes: Routes = [\n {\n path: '',\n component: ResourceReleaseNoteComponent,\n data: {\n title: 'Resources - Release Notes',\n permission: 'Pages.Blog',\n preload: false\n }\n }\n];\n\n@NgModule({\n declarations: [ResourceReleaseNoteComponent, ReleaseTopBannerComponent],\n imports: [ResourceSharedModule, RouterModule.forChild(routes)]\n})\nexport class ResourceReleaseNotesModule {}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"posiwise-resource-module-resource-release-notes.module-BbofH_0n.mjs","names":["i1.ResourceService","i3","i4.ResourceTopBannerEditComponent","i1","i2.ResourceNoteCardComponent","i5.ReleaseTopBannerComponent"],"sources":["../../../../libs/resource-module/src/lib/public/components/resource-release-notes/resource-release-notes-top-banner/resource-release-notes-top-banner.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-release-notes/resource-release-notes-top-banner/resource-release-notes-top-banner.component.html","../../../../libs/resource-module/src/lib/public/components/resource-release-notes/resource-release-notes.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-release-notes/resource-release-notes.component.html","../../../../libs/resource-module/src/lib/public/modules/release-notes/resource-release-notes.module.ts"],"sourcesContent":["import { ChangeDetectionStrategy,\n ChangeDetectorRef, Component, Injector } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\nimport { AuthService, TagService } from '@posiwise/common-services';\n\nimport { ResourceService } from '../../../../resource.service';\nimport { BaseTopBannerComponent } from '../../base/base-top-banner.component';\n\n@Component({\n selector: 'pw-resource-release-notes-top-banner',\n templateUrl: './resource-release-notes-top-banner.component.html',\n styleUrls: [\n '../../resource-case-studies/resource-case-studies.component.scss',\n './resource-release-notes-top-banner.component.scss',\n '../../resources/resources-shared.component.scss',\n '../../resource-post/related-resources/related-resources.component.scss'\n ],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class ReleaseTopBannerComponent extends BaseTopBannerComponent {\n contactUsUrl = this.appConfig?.pages_config?.contact_us?.url;\n\n constructor(\n resourceService: ResourceService,\n tagService: TagService,\n authService: AuthService,\n titleService: Title,\n cdr: ChangeDetectorRef,\n injector: Injector\n ) {\n super(resourceService, tagService, authService, titleService, cdr, injector);\n }\n\n protected getSearchTerm(): string {\n return 'Release Notes';\n }\n}\n","<section class=\"bg-white pricing-section\">\n <div class=\"resource-banner\">\n @if (isLoaded) {\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n <div class=\"text-content\">\n <div class=\"resource-heading\">\n <h1 class=\"resource-header-text mb-4\">\n <span class=\"d-inline-flex align-items-center gap-2 flex-wrap\">\n <span [innerHTML]=\"blogPostTag?.title || 'Release Notes'\"></span>\n @if (canEditResourcesValue) {\n <pw-resource-top-banner-edit\n [blogPostTag]=\"blogPostTag\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"\n (getUpdatedTag)=\"getTags()\"\n ></pw-resource-top-banner-edit>\n }\n </span>\n </h1>\n </div>\n </div>\n <div class=\"text-extension mt-4\">\n <div class=\"cta-buttons d-flex flex-column justify-between h-100\">\n <div class=\"flex-grow-1\">\n @if (blogPostTag?.description && blogPostTag.description !== 'null' ) {\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n } @else {\n <p class=\"intro\">\n We’re obsessed with solving real problems for our customers.\n </p>\n }\n </div>\n <div class=\"d-flex gap-3 flex-wrap mt-3\">\n <a [href]=\"contactUsUrl\" target=\"_blank\" rel=\"noopener noreferrer\"\n class=\"cta-btn filled\">Talk to us <i class=\"fa fa-chevron-right cta-btn__icon\" aria-hidden=\"true\"></i></a>\n </div>\n </div>\n </div>\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <div class=\"resource-math-img\"></div>\n <img class=\"resource-laptop-img dyn-img\"\n [src]=\"(blogPostTag?.image?.url && !(blogPostTag?.image?.url.includes('no_image_uploaded_squared'))) ? blogPostTag?.image?.url : '/assets/img/resource/release-person.png'\"\n alt=\"Release notes banner\"\n width=\"600\"\n height=\"450\"\n loading=\"eager\"\n fetchpriority=\"high\" />\n </div>\n </div>\n }\n </div>\n</section>\n","import { ChangeDetectionStrategy,\n ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core';\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\n@Component({\n selector: 'pw-resource-release-notes',\n templateUrl: './resource-release-notes.component.html',\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class ResourceReleaseNoteComponent extends AppBaseComponent implements OnInit {\n subscriptionId: number;\n masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n posts: Resource[] = [];\n userLoggedIn: boolean;\n blogPostTag;\n user: User;\n isMasterSubscription;\n\n constructor(\n private readonly authService: AuthService,\n private readonly tagService: TagService,\n private 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.getPostTags();\n this.cdr.markForCheck();\n });\n } else {\n this.getPostTags();\n }\n this.cdr.markForCheck();\n });\n }\n\n private getPostTags() {\n this.tagService\n .getTagsByType('post_categories', {}, this.getEffectiveSubscriptionId())\n .subscribe(response => {\n this.blogPostTag = response.tags.find(tag => tag.name === 'Product Release Notes');\n this.cdr.markForCheck();\n });\n }\n\n /** Helper method to get effective subscription ID */\n private getEffectiveSubscriptionId(): number {\n return HelperService.getEffectiveSubscriptionId(\n this.user,\n this.subscriptionId,\n this.masterSubscriptionId\n );\n }\n}\n","<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n<pw-resource-release-notes-top-banner></pw-resource-release-notes-top-banner>\n\n@if (blogPostTag?.tag_category_id) {\n <pw-resource-note-card [isReleasePress]=\"true\" [tag]=\"blogPostTag\" [categoryId]=\"blogPostTag?.tag_category_id\" [releaseHeader]=\"true\" [resourceTitle]=\"blogPostTag?.title\" [postSlice]=\"true\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-note-card>\n}\n\n<pw-trial-4-contact-us [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { ResourceReleaseNoteComponent } from '../../components/resource-release-notes/resource-release-notes.component';\nimport { ReleaseTopBannerComponent } from '../../components/resource-release-notes/resource-release-notes-top-banner/resource-release-notes-top-banner.component';\nimport { ResourceSharedModule } from '../../shared/resource-shared.module';\n\nconst routes: Routes = [\n {\n path: '',\n component: ResourceReleaseNoteComponent,\n data: {\n title: 'Resources - Release Notes',\n permission: 'Pages.Blog',\n preload: false\n }\n }\n];\n\n@NgModule({\n declarations: [ResourceReleaseNoteComponent, ReleaseTopBannerComponent],\n imports: [ResourceSharedModule, RouterModule.forChild(routes)]\n})\nexport class ResourceReleaseNotesModule {}\n"],"mappings":"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"}
|