@posiwise/resource-module 0.0.163 → 0.0.164
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/public/components/resource-case-studies/resource-case-studies.component.mjs +31 -3
- package/fesm2022/{posiwise-resource-module-base-top-banner.component-Cxeoyf5z.mjs → posiwise-resource-module-base-top-banner.component-BFtr7G1c.mjs} +2 -2
- package/fesm2022/{posiwise-resource-module-base-top-banner.component-Cxeoyf5z.mjs.map → posiwise-resource-module-base-top-banner.component-BFtr7G1c.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-posiwise-resource-module-B1G5qNj1.mjs → posiwise-resource-module-posiwise-resource-module-CSoAgDvz.mjs} +12 -12
- package/fesm2022/{posiwise-resource-module-posiwise-resource-module-B1G5qNj1.mjs.map → posiwise-resource-module-posiwise-resource-module-CSoAgDvz.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-blogs.module-CTYKg3kh.mjs → posiwise-resource-module-resource-blogs.module-Bj-Zi-hs.mjs} +3 -3
- package/fesm2022/{posiwise-resource-module-resource-blogs.module-CTYKg3kh.mjs.map → posiwise-resource-module-resource-blogs.module-Bj-Zi-hs.mjs.map} +1 -1
- package/fesm2022/posiwise-resource-module-resource-case-studies.module-C8dIufFw.mjs +155 -0
- package/fesm2022/posiwise-resource-module-resource-case-studies.module-C8dIufFw.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-events.module-K3sH1mdv.mjs → posiwise-resource-module-resource-events.module-DyZv40A6.mjs} +3 -3
- package/fesm2022/{posiwise-resource-module-resource-events.module-K3sH1mdv.mjs.map → posiwise-resource-module-resource-events.module-DyZv40A6.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-hub.module-C5t2KeqW.mjs → posiwise-resource-module-resource-hub.module-Bxxsz8FP.mjs} +3 -3
- package/fesm2022/{posiwise-resource-module-resource-hub.module-C5t2KeqW.mjs.map → posiwise-resource-module-resource-hub.module-Bxxsz8FP.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-integrations.module-CN_tWJV2.mjs → posiwise-resource-module-resource-integrations.module-D8bz630p.mjs} +3 -3
- package/fesm2022/{posiwise-resource-module-resource-integrations.module-CN_tWJV2.mjs.map → posiwise-resource-module-resource-integrations.module-D8bz630p.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-post.module-PsfJSV3t.mjs → posiwise-resource-module-resource-post.module-DVxk5PGg.mjs} +3 -3
- package/fesm2022/{posiwise-resource-module-resource-post.module-PsfJSV3t.mjs.map → posiwise-resource-module-resource-post.module-DVxk5PGg.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-release-notes.module-TR3GIX0u.mjs → posiwise-resource-module-resource-release-notes.module-yWTEtDrA.mjs} +3 -3
- package/fesm2022/{posiwise-resource-module-resource-release-notes.module-TR3GIX0u.mjs.map → posiwise-resource-module-resource-release-notes.module-yWTEtDrA.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-root.module-Bm5Wv4mP.mjs → posiwise-resource-module-resource-root.module-B321gKmv.mjs} +3 -3
- package/fesm2022/{posiwise-resource-module-resource-root.module-Bm5Wv4mP.mjs.map → posiwise-resource-module-resource-root.module-B321gKmv.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-videos.module-CDBHydlX.mjs → posiwise-resource-module-resource-videos.module-dcXYpdg1.mjs} +3 -3
- package/fesm2022/{posiwise-resource-module-resource-videos.module-CDBHydlX.mjs.map → posiwise-resource-module-resource-videos.module-dcXYpdg1.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-white-papers.module-DVDuexfj.mjs → posiwise-resource-module-resource-white-papers.module-BIPcEt7S.mjs} +4 -4
- package/fesm2022/{posiwise-resource-module-resource-white-papers.module-DVDuexfj.mjs.map → posiwise-resource-module-resource-white-papers.module-BIPcEt7S.mjs.map} +1 -1
- package/fesm2022/posiwise-resource-module.mjs +1 -1
- package/lib/public/components/resource-case-studies/resource-case-studies.component.d.ts +1 -0
- package/package.json +1 -1
- package/fesm2022/posiwise-resource-module-resource-case-studies.module-Dov1BAfF.mjs +0 -127
- package/fesm2022/posiwise-resource-module-resource-case-studies.module-Dov1BAfF.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"posiwise-resource-module-resource-hub.module-C5t2KeqW.mjs","sources":["../../../../libs/resource-module/src/lib/public/components/resources-hub/resources-hub.component.ts","../../../../libs/resource-module/src/lib/public/components/resources-hub/resources-hub.component.html","../../../../libs/resource-module/src/lib/public/modules/hub/resource-hub.module.ts"],"sourcesContent":["import {\n Component,\n HostListener,\n Injector,\n OnDestroy,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService, TagService } from '@posiwise/common-services';\nimport { Resource, Tag, User } from '@posiwise/common-utilities';\nimport { HelperService } from '@posiwise/helper-service';\n\nimport { forkJoin, Subscription } from 'rxjs';\n\nimport { ResourceService } from '../../../resource.service';\n\n@Component({\n selector: 'pw-posts-list',\n templateUrl: './resources-hub.component.html',\n styleUrls: [\n './resources-hub.component.scss',\n '../resource-company-card/resource-company-card.component.scss'\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class ResourceHubComponent extends AppBaseComponent implements OnInit, OnDestroy {\n private delayTimeout: ReturnType<typeof setTimeout> | null = null;\n private userSub: Subscription;\n\n data = [];\n\n posts: Resource[] = [];\n tags: Tag[] = [];\n\n selectedTags = [];\n\n currentPage = 1;\n pageSize = 20;\n objectCount = 0;\n\n searchTextItems = '';\n searchInput = false;\n\n readingTime: number;\n\n totalRecords: number;\n\n loading = true;\n loaded = false;\n\n masterSubscriptionId: number;\n subscriptionId;\n userLoggedIn: boolean;\n isMasterSubscription;\n\n scrollLocked = false;\n\n iconClasses: string[] = [\n 'fa-lightbulb',\n 'fa-rocket',\n 'fa-file-alt',\n 'fa-users',\n 'fa-video',\n 'fa-pencil-alt',\n 'fa-book-open',\n 'fa-cogs'\n ];\n user: User;\n\n canEditResourcesValue = false;\n\n constructor(\n private readonly resourceService: ResourceService,\n private readonly authService: AuthService,\n private readonly tagService: TagService,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit() {\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 });\n this.userSub = this.userService.getUserInfo().subscribe(data => {\n this.user = data;\n this.updateCanEditResourcesValue();\n this.getPostsAndTags();\n });\n } else {\n this.getPostsAndTags();\n }\n });\n this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n this.readingTime = 0;\n }\n\n getPostsAndTags() {\n this.loading = true;\n this.loaded = false;\n forkJoin({\n resPosts: this.resourceService.getPublicPosts(\n this.getEffectiveSubscriptionId(),\n this.currentPage,\n this.pageSize,\n this.searchTextItems\n ),\n resTags: this.tagService.getTagsByType(\n 'post_categories',\n {},\n this.getEffectiveSubscriptionId()\n )\n })\n .subscribe(res => {\n this.posts = res?.resPosts?.posts;\n this.objectCount = res?.resPosts.object_count;\n this.data = res?.resPosts?.posts;\n this.data = res?.resPosts?.posts.map(post => ({\n ...post,\n expandedTags: false\n }));\n this.totalRecords = this.posts?.length;\n\n this.tags = res?.resTags?.tags?.filter(tag => tag.visible_in_resources);\n this.tags = this.tags.map(tag => ({\n ...tag\n }));\n })\n .add(() => {\n this.loading = false;\n this.loaded = true;\n });\n }\n\n toggleDropdown(event: Event, post): void {\n event.stopPropagation();\n post.showDropdown = !post.showDropdown;\n }\n\n getPosts(page: number, pageSize: number, fetchAll = false, append = false) {\n if (fetchAll) this.selectedTags = [];\n\n if (!append) {\n this.loading = true;\n this.loaded = false;\n }\n\n const tagCategoryParam = this.selectedTags.map(tag => tag.tag_category_id).join(',');\n\n this.resourceService\n .getPublicPosts(\n this.getEffectiveSubscriptionId(),\n page,\n append ? 10 : pageSize,\n this.searchTextItems,\n tagCategoryParam\n )\n .subscribe(response => {\n this.objectCount = response.object_count;\n this.posts = append ? [...this.posts, ...response.posts] : response.posts;\n this.data = [...this.posts];\n this.totalRecords = this.posts?.length;\n })\n .add(() => {\n this.loading = false;\n this.loaded = true;\n });\n }\n\n onSearch(seconds: number) {\n let delay = 0;\n delay = seconds * 1000;\n clearTimeout(this.delayTimeout);\n const delayTimeout = setTimeout(() => {\n this.currentPage = 1;\n this.getPosts(1, this.pageSize);\n }, delay);\n\n this.delayTimeout = delayTimeout;\n }\n\n navigateToTagList(): void {\n HelperService.navigateToTagList();\n }\n\n @HostListener('window:scroll', [])\n onWindowScroll(): void {\n const scrollPosition = window.scrollY + window.innerHeight;\n const pageHeight = document.documentElement.scrollHeight;\n\n const nearBottom = scrollPosition >= pageHeight - 100;\n\n if (\n nearBottom &&\n this.posts.length < this.objectCount &&\n !this.loading &&\n !this.scrollLocked\n ) {\n this.scrollLocked = true;\n this.currentPage += 1;\n\n this.getPosts(this.currentPage, this.pageSize, false, true);\n\n setTimeout(() => {\n this.scrollLocked = false;\n }, 500);\n }\n }\n\n isSelected(tagId: number): boolean {\n return this.selectedTags.map(tag => tag.id).includes(tagId);\n }\n\n tagPost(selectedTag) {\n const index = this.selectedTags.findIndex(\n tag => tag.tag_category_id === selectedTag?.tag_category_id && tag.id === selectedTag.id\n );\n\n if (index === -1) {\n this.selectedTags.push({\n tag_category_id: selectedTag?.tag_category_id,\n id: selectedTag.id\n });\n } else {\n this.selectedTags.splice(index, 1);\n }\n\n this.currentPage = 1;\n this.getPosts(1, this.pageSize);\n }\n\n thisPostReadingTime(text: string): string {\n if (text) {\n const wordsPerMinute = 200;\n const noOfWords = text.split(/\\s/g).length;\n const minutes = noOfWords / wordsPerMinute;\n const readTime = Math.ceil(minutes);\n\n return `${readTime} minute read`;\n }\n\n return '';\n }\n\n override ngOnDestroy() {\n this.userSub?.unsubscribe();\n super.ngOnDestroy();\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.appConfig.master_subscription.subscription_id\n );\n }\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","<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n<div class=\"all-posts py-5\">\n\n <div class=\"row mt-1 mb-4 px-2\">\n <div class=\"col-md-8\">\n </div>\n <div class=\"col-md-4\">\n <div class=\"text-end mt-0 mt-sm-3 d-flex\">\n <i *ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\"\n class=\"fa fa-edit in-page-edit-icon cursor-pointer mt-2 me-3\"\n (click)=\"navigateToTagList()\"\n (keydown.enter)=\"navigateToTagList()\"\n (keydown.space)=\"navigateToTagList()\"\n title=\"Edit Logo\"></i>\n <div class=\"search-wrapper position-relative\">\n <i class=\"fa fa-search search-icon\"></i>\n <input type=\"text\" [(ngModel)]=\"searchTextItems\" pInputText size=\"50\" placeholder=\"Search resources...\"\n (input)=\"onSearch(1)\"\n class=\"search-input top-search-input\" />\n </div>\n </div>\n </div>\n </div>\n <div class=\"row resource-row\">\n <!-- All Resources Card -->\n <div class=\"col-md-3 col-sm-6 col-6 mb-4\">\n <div class=\"resource-card d-flex align-items-center p-3\"\n (keydown.enter)=\"getPosts(1, 20, true)\"\n [ngClass]=\"{ 'selected': selectedTags.length === 0 }\"\n (click)=\"getPosts(1, 20, true)\">\n <i class=\"fa fa-layer-group resource-icon me-3\"></i>\n <span class=\"resource-text\">All Resources</span>\n </div>\n </div>\n\n <!-- Dynamic Tags -->\n <div class=\"col-md-3 col-sm-6 mb-4 col-6\"\n *ngFor=\"let tag of tags\">\n <div\n class=\"resource-card d-flex align-items-center p-3\"\n (keydown.enter)=\"tagPost(tag)\"\n [ngClass]=\"{ 'selected': isSelected(tag.id) }\"\n (click)=\"tagPost(tag)\">\n <i *ngIf=\"tag?.icon_name\" class=\"fa\" [ngClass]=\"tag.icon_name + ' resource-icon me-3'\"></i>\n <span class=\"resource-text\">{{ tag.name }}</span>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"loading && !loaded\">\n <div class=\"w-100 text-center mt-3\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n </ng-container>\n <ng-container *ngIf=\"posts?.length && !loading\">\n <div>\n <div class=\"blog-list\">\n <div class=\"row mt-4 mb-5 ms-1 me-1 blog-listing\"\n *ngFor=\"let post of data\">\n <div class=\"col-md-6 col-sm-12 col-xs-12 my-auto\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post?.id\"\n [resourceData]=\"post\"\n (updated)=\"getPosts(1, pageSize)\">\n </pw-resource-edit-card-lazy>\n <div class=\"list-blog-image\" [routerLink]=\"['/resources/view', post.slug]\">\n <img [src]=\"post.picture?.url\"\n alt=\"Resource thumbnail\"\n class=\"img-fluid\" />\n </div>\n </div>\n <div class=\"col-md-6 col-sm-12 col-xs-12 px-4 position-relative\">\n <div class=\"tag-div\">\n <div class=\"author d-flex\">\n <div class=\"avatar-image\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\">\n <img *ngIf=\"post.author?.avatar\"\n [src]=\"post.author?.avatar[0]?.url\"\n alt=\"Author profile\" />\n <img *ngIf=\"!post.author?.avatar\"\n src=\"/assets/img/icons/male.png\"\n alt=\"Default author profile\"\n class=\"default-user-image\" />\n </a>\n </div>\n\n <div class=\"author-name ps-2\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\"\n class=\"name\">\n {{ post.author.first_name }}\n <i class=\"fas fa-crown\" aria-hidden=\"true\"></i></a>\n <ul>\n <li>\n <a href=\"javascript:void(0);\">\n {{ post.published_at | date: 'dd/MM/yyyy' }}\n </a>\n </li>\n <li>.</li>\n <li>\n <a href=\"javascript:void(0);\">{{ thisPostReadingTime(post.body) }}\n </a>\n </li>\n </ul>\n </div>\n <div class=\"share-post\">\n <div class=\"dropdown position-relative d-flex justify-content-end\" (clickOutside)=\"post.showDropdown = false\">\n <div class=\"three-dots-wrapper\" (keydown.enter)=\"toggleDropdown($event, post)\" (click)=\"toggleDropdown($event, post)\">\n <i class=\"fas fa-ellipsis-v\"></i>\n </div>\n\n <div class=\"dropdown-menu show\"\n *ngIf=\"post.showDropdown\">\n <a class=\"dropdown-item\"\n href=\"http://www.facebook.com/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\">\n <i class=\"fas fa-share\"></i> Share Post\n </a>\n </div>\n </div>\n\n </div>\n </div>\n <h4 [routerLink]=\"['/resources/view', post.slug]\"\n class=\"title my-3\">{{ post.title }}</h4>\n <p [routerLink]=\"['/resources/view', post.slug]\"\n class=\"body mb-3 pb-3 post-body-text\">\n {{ post.body | removeHtml: 'quill' | textTruncate: 200 }}\n </p>\n <div class=\"d-flex flex-wrap align-items-center gap-2 mt-auto mb-3\">\n <ng-container *ngIf=\"post?.tags?.length\">\n <ng-container *ngFor=\"let tag of post?.tags?.slice(0, 4)\">\n <span class=\"badge m-1\"\n [appDynamicBadge]=\"{ itemsArray: post?.tags, item: tag }\"\n [colorByName]=\"true\"\n [dataName]=\"tag.name\"\n color=\"blue-grey\">\n {{ tag.name }}\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"post.expandedTags\">\n <ng-container *ngFor=\"let tag of post?.tags?.slice(4)\">\n <span class=\"badge m-1\"\n [appDynamicBadge]=\"{ itemsArray: post?.tags, item: tag }\"\n [colorByName]=\"true\"\n [dataName]=\"tag.name\"\n color=\"blue-grey\">\n {{ tag.name }}\n </span>\n </ng-container>\n </ng-container>\n\n <span *ngIf=\"post?.tags?.length > 4\"\n (click)=\"post.expandedTags = !post.expandedTags\"\n (keydown.enter)=\"post.expandedTags = !post.expandedTags\"\n class=\"fw-bold cursor-pointer m-1 expand-tags\">...</span>\n </ng-container>\n </div>\n\n\n <div class=\"blog-view py-3 blog-list-write-view\">\n <ul class=\"d-flex\">\n <li>{{ post.view !== null ? post.view : '0' }} View</li>\n <li><a [routerLink]=\"['/resources/view', post.slug]\">Write Comment</a></li>\n <li>\n <a [routerLink]=\"['/resources/view', post.slug]\" aria-label=\"Blog\"><i class=\"far fa-heart\" aria-hidden=\"true\"></i></a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!posts?.length && loaded\">\n <pw-no-data [withImage]=\"true\" message=\"We couldn't find any resources.\" > </pw-no-data>\n </ng-container>\n</div>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { ResourceHubComponent } from '../../components/resources-hub/resources-hub.component';\nimport { ResourceSharedModule } from '../../shared/resource-shared.module';\n\nconst routes: Routes = [\n {\n path: '',\n component: ResourceHubComponent,\n data: {\n title: 'Resources - Hub',\n permission: 'Pages.Blog',\n preload: false\n }\n }\n];\n\n@NgModule({\n declarations: [ResourceHubComponent],\n imports: [ResourceSharedModule, RouterModule.forChild(routes)]\n})\nexport class ResourceHubModule {}\n"],"names":["i1.ResourceService","i4","i5","i6","i7.ResourceEditCardLazyComponent","i8","i9","i10","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"posiwise-resource-module-resource-hub.module-Bxxsz8FP.mjs","sources":["../../../../libs/resource-module/src/lib/public/components/resources-hub/resources-hub.component.ts","../../../../libs/resource-module/src/lib/public/components/resources-hub/resources-hub.component.html","../../../../libs/resource-module/src/lib/public/modules/hub/resource-hub.module.ts"],"sourcesContent":["import {\n Component,\n HostListener,\n Injector,\n OnDestroy,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService, TagService } from '@posiwise/common-services';\nimport { Resource, Tag, User } from '@posiwise/common-utilities';\nimport { HelperService } from '@posiwise/helper-service';\n\nimport { forkJoin, Subscription } from 'rxjs';\n\nimport { ResourceService } from '../../../resource.service';\n\n@Component({\n selector: 'pw-posts-list',\n templateUrl: './resources-hub.component.html',\n styleUrls: [\n './resources-hub.component.scss',\n '../resource-company-card/resource-company-card.component.scss'\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class ResourceHubComponent extends AppBaseComponent implements OnInit, OnDestroy {\n private delayTimeout: ReturnType<typeof setTimeout> | null = null;\n private userSub: Subscription;\n\n data = [];\n\n posts: Resource[] = [];\n tags: Tag[] = [];\n\n selectedTags = [];\n\n currentPage = 1;\n pageSize = 20;\n objectCount = 0;\n\n searchTextItems = '';\n searchInput = false;\n\n readingTime: number;\n\n totalRecords: number;\n\n loading = true;\n loaded = false;\n\n masterSubscriptionId: number;\n subscriptionId;\n userLoggedIn: boolean;\n isMasterSubscription;\n\n scrollLocked = false;\n\n iconClasses: string[] = [\n 'fa-lightbulb',\n 'fa-rocket',\n 'fa-file-alt',\n 'fa-users',\n 'fa-video',\n 'fa-pencil-alt',\n 'fa-book-open',\n 'fa-cogs'\n ];\n user: User;\n\n canEditResourcesValue = false;\n\n constructor(\n private readonly resourceService: ResourceService,\n private readonly authService: AuthService,\n private readonly tagService: TagService,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit() {\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 });\n this.userSub = this.userService.getUserInfo().subscribe(data => {\n this.user = data;\n this.updateCanEditResourcesValue();\n this.getPostsAndTags();\n });\n } else {\n this.getPostsAndTags();\n }\n });\n this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n this.readingTime = 0;\n }\n\n getPostsAndTags() {\n this.loading = true;\n this.loaded = false;\n forkJoin({\n resPosts: this.resourceService.getPublicPosts(\n this.getEffectiveSubscriptionId(),\n this.currentPage,\n this.pageSize,\n this.searchTextItems\n ),\n resTags: this.tagService.getTagsByType(\n 'post_categories',\n {},\n this.getEffectiveSubscriptionId()\n )\n })\n .subscribe(res => {\n this.posts = res?.resPosts?.posts;\n this.objectCount = res?.resPosts.object_count;\n this.data = res?.resPosts?.posts;\n this.data = res?.resPosts?.posts.map(post => ({\n ...post,\n expandedTags: false\n }));\n this.totalRecords = this.posts?.length;\n\n this.tags = res?.resTags?.tags?.filter(tag => tag.visible_in_resources);\n this.tags = this.tags.map(tag => ({\n ...tag\n }));\n })\n .add(() => {\n this.loading = false;\n this.loaded = true;\n });\n }\n\n toggleDropdown(event: Event, post): void {\n event.stopPropagation();\n post.showDropdown = !post.showDropdown;\n }\n\n getPosts(page: number, pageSize: number, fetchAll = false, append = false) {\n if (fetchAll) this.selectedTags = [];\n\n if (!append) {\n this.loading = true;\n this.loaded = false;\n }\n\n const tagCategoryParam = this.selectedTags.map(tag => tag.tag_category_id).join(',');\n\n this.resourceService\n .getPublicPosts(\n this.getEffectiveSubscriptionId(),\n page,\n append ? 10 : pageSize,\n this.searchTextItems,\n tagCategoryParam\n )\n .subscribe(response => {\n this.objectCount = response.object_count;\n this.posts = append ? [...this.posts, ...response.posts] : response.posts;\n this.data = [...this.posts];\n this.totalRecords = this.posts?.length;\n })\n .add(() => {\n this.loading = false;\n this.loaded = true;\n });\n }\n\n onSearch(seconds: number) {\n let delay = 0;\n delay = seconds * 1000;\n clearTimeout(this.delayTimeout);\n const delayTimeout = setTimeout(() => {\n this.currentPage = 1;\n this.getPosts(1, this.pageSize);\n }, delay);\n\n this.delayTimeout = delayTimeout;\n }\n\n navigateToTagList(): void {\n HelperService.navigateToTagList();\n }\n\n @HostListener('window:scroll', [])\n onWindowScroll(): void {\n const scrollPosition = window.scrollY + window.innerHeight;\n const pageHeight = document.documentElement.scrollHeight;\n\n const nearBottom = scrollPosition >= pageHeight - 100;\n\n if (\n nearBottom &&\n this.posts.length < this.objectCount &&\n !this.loading &&\n !this.scrollLocked\n ) {\n this.scrollLocked = true;\n this.currentPage += 1;\n\n this.getPosts(this.currentPage, this.pageSize, false, true);\n\n setTimeout(() => {\n this.scrollLocked = false;\n }, 500);\n }\n }\n\n isSelected(tagId: number): boolean {\n return this.selectedTags.map(tag => tag.id).includes(tagId);\n }\n\n tagPost(selectedTag) {\n const index = this.selectedTags.findIndex(\n tag => tag.tag_category_id === selectedTag?.tag_category_id && tag.id === selectedTag.id\n );\n\n if (index === -1) {\n this.selectedTags.push({\n tag_category_id: selectedTag?.tag_category_id,\n id: selectedTag.id\n });\n } else {\n this.selectedTags.splice(index, 1);\n }\n\n this.currentPage = 1;\n this.getPosts(1, this.pageSize);\n }\n\n thisPostReadingTime(text: string): string {\n if (text) {\n const wordsPerMinute = 200;\n const noOfWords = text.split(/\\s/g).length;\n const minutes = noOfWords / wordsPerMinute;\n const readTime = Math.ceil(minutes);\n\n return `${readTime} minute read`;\n }\n\n return '';\n }\n\n override ngOnDestroy() {\n this.userSub?.unsubscribe();\n super.ngOnDestroy();\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.appConfig.master_subscription.subscription_id\n );\n }\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","<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n<div class=\"all-posts py-5\">\n\n <div class=\"row mt-1 mb-4 px-2\">\n <div class=\"col-md-8\">\n </div>\n <div class=\"col-md-4\">\n <div class=\"text-end mt-0 mt-sm-3 d-flex\">\n <i *ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\"\n class=\"fa fa-edit in-page-edit-icon cursor-pointer mt-2 me-3\"\n (click)=\"navigateToTagList()\"\n (keydown.enter)=\"navigateToTagList()\"\n (keydown.space)=\"navigateToTagList()\"\n title=\"Edit Logo\"></i>\n <div class=\"search-wrapper position-relative\">\n <i class=\"fa fa-search search-icon\"></i>\n <input type=\"text\" [(ngModel)]=\"searchTextItems\" pInputText size=\"50\" placeholder=\"Search resources...\"\n (input)=\"onSearch(1)\"\n class=\"search-input top-search-input\" />\n </div>\n </div>\n </div>\n </div>\n <div class=\"row resource-row\">\n <!-- All Resources Card -->\n <div class=\"col-md-3 col-sm-6 col-6 mb-4\">\n <div class=\"resource-card d-flex align-items-center p-3\"\n (keydown.enter)=\"getPosts(1, 20, true)\"\n [ngClass]=\"{ 'selected': selectedTags.length === 0 }\"\n (click)=\"getPosts(1, 20, true)\">\n <i class=\"fa fa-layer-group resource-icon me-3\"></i>\n <span class=\"resource-text\">All Resources</span>\n </div>\n </div>\n\n <!-- Dynamic Tags -->\n <div class=\"col-md-3 col-sm-6 mb-4 col-6\"\n *ngFor=\"let tag of tags\">\n <div\n class=\"resource-card d-flex align-items-center p-3\"\n (keydown.enter)=\"tagPost(tag)\"\n [ngClass]=\"{ 'selected': isSelected(tag.id) }\"\n (click)=\"tagPost(tag)\">\n <i *ngIf=\"tag?.icon_name\" class=\"fa\" [ngClass]=\"tag.icon_name + ' resource-icon me-3'\"></i>\n <span class=\"resource-text\">{{ tag.name }}</span>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"loading && !loaded\">\n <div class=\"w-100 text-center mt-3\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n </ng-container>\n <ng-container *ngIf=\"posts?.length && !loading\">\n <div>\n <div class=\"blog-list\">\n <div class=\"row mt-4 mb-5 ms-1 me-1 blog-listing\"\n *ngFor=\"let post of data\">\n <div class=\"col-md-6 col-sm-12 col-xs-12 my-auto\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post?.id\"\n [resourceData]=\"post\"\n (updated)=\"getPosts(1, pageSize)\">\n </pw-resource-edit-card-lazy>\n <div class=\"list-blog-image\" [routerLink]=\"['/resources/view', post.slug]\">\n <img [src]=\"post.picture?.url\"\n alt=\"Resource thumbnail\"\n class=\"img-fluid\" />\n </div>\n </div>\n <div class=\"col-md-6 col-sm-12 col-xs-12 px-4 position-relative\">\n <div class=\"tag-div\">\n <div class=\"author d-flex\">\n <div class=\"avatar-image\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\">\n <img *ngIf=\"post.author?.avatar\"\n [src]=\"post.author?.avatar[0]?.url\"\n alt=\"Author profile\" />\n <img *ngIf=\"!post.author?.avatar\"\n src=\"/assets/img/icons/male.png\"\n alt=\"Default author profile\"\n class=\"default-user-image\" />\n </a>\n </div>\n\n <div class=\"author-name ps-2\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\"\n class=\"name\">\n {{ post.author.first_name }}\n <i class=\"fas fa-crown\" aria-hidden=\"true\"></i></a>\n <ul>\n <li>\n <a href=\"javascript:void(0);\">\n {{ post.published_at | date: 'dd/MM/yyyy' }}\n </a>\n </li>\n <li>.</li>\n <li>\n <a href=\"javascript:void(0);\">{{ thisPostReadingTime(post.body) }}\n </a>\n </li>\n </ul>\n </div>\n <div class=\"share-post\">\n <div class=\"dropdown position-relative d-flex justify-content-end\" (clickOutside)=\"post.showDropdown = false\">\n <div class=\"three-dots-wrapper\" (keydown.enter)=\"toggleDropdown($event, post)\" (click)=\"toggleDropdown($event, post)\">\n <i class=\"fas fa-ellipsis-v\"></i>\n </div>\n\n <div class=\"dropdown-menu show\"\n *ngIf=\"post.showDropdown\">\n <a class=\"dropdown-item\"\n href=\"http://www.facebook.com/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\">\n <i class=\"fas fa-share\"></i> Share Post\n </a>\n </div>\n </div>\n\n </div>\n </div>\n <h4 [routerLink]=\"['/resources/view', post.slug]\"\n class=\"title my-3\">{{ post.title }}</h4>\n <p [routerLink]=\"['/resources/view', post.slug]\"\n class=\"body mb-3 pb-3 post-body-text\">\n {{ post.body | removeHtml: 'quill' | textTruncate: 200 }}\n </p>\n <div class=\"d-flex flex-wrap align-items-center gap-2 mt-auto mb-3\">\n <ng-container *ngIf=\"post?.tags?.length\">\n <ng-container *ngFor=\"let tag of post?.tags?.slice(0, 4)\">\n <span class=\"badge m-1\"\n [appDynamicBadge]=\"{ itemsArray: post?.tags, item: tag }\"\n [colorByName]=\"true\"\n [dataName]=\"tag.name\"\n color=\"blue-grey\">\n {{ tag.name }}\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"post.expandedTags\">\n <ng-container *ngFor=\"let tag of post?.tags?.slice(4)\">\n <span class=\"badge m-1\"\n [appDynamicBadge]=\"{ itemsArray: post?.tags, item: tag }\"\n [colorByName]=\"true\"\n [dataName]=\"tag.name\"\n color=\"blue-grey\">\n {{ tag.name }}\n </span>\n </ng-container>\n </ng-container>\n\n <span *ngIf=\"post?.tags?.length > 4\"\n (click)=\"post.expandedTags = !post.expandedTags\"\n (keydown.enter)=\"post.expandedTags = !post.expandedTags\"\n class=\"fw-bold cursor-pointer m-1 expand-tags\">...</span>\n </ng-container>\n </div>\n\n\n <div class=\"blog-view py-3 blog-list-write-view\">\n <ul class=\"d-flex\">\n <li>{{ post.view !== null ? post.view : '0' }} View</li>\n <li><a [routerLink]=\"['/resources/view', post.slug]\">Write Comment</a></li>\n <li>\n <a [routerLink]=\"['/resources/view', post.slug]\" aria-label=\"Blog\"><i class=\"far fa-heart\" aria-hidden=\"true\"></i></a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!posts?.length && loaded\">\n <pw-no-data [withImage]=\"true\" message=\"We couldn't find any resources.\" > </pw-no-data>\n </ng-container>\n</div>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { ResourceHubComponent } from '../../components/resources-hub/resources-hub.component';\nimport { ResourceSharedModule } from '../../shared/resource-shared.module';\n\nconst routes: Routes = [\n {\n path: '',\n component: ResourceHubComponent,\n data: {\n title: 'Resources - Hub',\n permission: 'Pages.Blog',\n preload: false\n }\n }\n];\n\n@NgModule({\n declarations: [ResourceHubComponent],\n imports: [ResourceSharedModule, RouterModule.forChild(routes)]\n})\nexport class ResourceHubModule {}\n"],"names":["i1.ResourceService","i4","i5","i6","i7.ResourceEditCardLazyComponent","i8","i9","i10","i1"],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import * as i1$1 from '@angular/router';
|
|
|
4
4
|
import { RouterModule } from '@angular/router';
|
|
5
5
|
import * as i3 from '@angular/platform-browser';
|
|
6
6
|
import * as i2 from '@posiwise/common-services';
|
|
7
|
-
import { e as ResourceService, h as ResourceTopBannerEditComponent, i as ResourceCompanyCardComponent, b as ResourceNoteCardComponent, g as ResourceSharedModule } from './posiwise-resource-module-posiwise-resource-module-
|
|
8
|
-
import { B as BaseTopBannerComponent } from './posiwise-resource-module-base-top-banner.component-
|
|
7
|
+
import { e as ResourceService, h as ResourceTopBannerEditComponent, i as ResourceCompanyCardComponent, b as ResourceNoteCardComponent, g as ResourceSharedModule } from './posiwise-resource-module-posiwise-resource-module-CSoAgDvz.mjs';
|
|
8
|
+
import { B as BaseTopBannerComponent } from './posiwise-resource-module-base-top-banner.component-BFtr7G1c.mjs';
|
|
9
9
|
import * as i3$1 from '@angular/common';
|
|
10
10
|
import * as i8 from '@posiwise/directives';
|
|
11
11
|
import * as i14 from '@angular/cdk/drag-drop';
|
|
@@ -284,4 +284,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
284
284
|
}] });
|
|
285
285
|
|
|
286
286
|
export { ResourceIntegrationsModule };
|
|
287
|
-
//# sourceMappingURL=posiwise-resource-module-resource-integrations.module-
|
|
287
|
+
//# sourceMappingURL=posiwise-resource-module-resource-integrations.module-D8bz630p.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"posiwise-resource-module-resource-integrations.module-CN_tWJV2.mjs","sources":["../../../../libs/resource-module/src/lib/public/components/resource-integration/integration-top-banner/integration-top-banner.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-integration/integration-top-banner/integration-top-banner.component.html","../../../../libs/resource-module/src/lib/public/components/resource-integration/resource-integration.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-integration/resource-integration.component.html","../../../../libs/resource-module/src/lib/public/modules/integrations/resource-integrations.module.ts"],"sourcesContent":["import { 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-integration-top-banner',\n templateUrl: './integration-top-banner.component.html',\n styleUrls: [\n '../../resource-case-studies/resource-case-studies.component.scss',\n '../../resources/resources-shared.component.scss',\n '../../resource-post/related-resources/related-resources.component.scss'\n ]\n})\nexport class IntegrationTopBannerComponent extends BaseTopBannerComponent {\n constructor(\n resourceService: ResourceService,\n tagService: TagService,\n authService: AuthService,\n titleService: Title,\n injector: Injector\n ) {\n super(resourceService, tagService, authService, titleService, injector);\n }\n\n protected getSearchTerm(): string {\n return 'Integrations';\n }\n}\n","<section class=\"bg-white pricing-section\">\n <div class=\"resource-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\" *ngIf=\"isLoaded\">\n\n <!-- Left Content -->\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 || 'Integrated vendors'\"></span>\n <pw-resource-top-banner-edit\n *ngIf=\"canEditResourcesValue\"\n [blogPostTag]=\"blogPostTag\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"\n (getUpdatedTag)=\"getPostTags()\"\n ></pw-resource-top-banner-edit>\n </span>\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n\n <div class=\"cta-buttons d-flex flex-column justify-between h-100\">\n <div class=\"flex-grow-1\">\n <ng-container *ngIf=\"blogPostTag?.description && blogPostTag.description !== 'null' ; else defaultDescription\">\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n </ng-container>\n <ng-template #defaultDescription>\n <p class=\"intro\">\n Browse below the vendor integrations<br />\n we support.\n </p>\n </ng-template>\n </div>\n\n <!-- Buttons always at bottom -->\n <div class=\"d-flex gap-3 flex-wrap mt-3\">\n <a [href]=\"contactUsUrl\" target=\"_blank\"\n class=\"cta-btn filled\">Speak to sales ></a>\n </div>\n </div>\n</div>\n\n <!-- Right Content -->\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/men.png'\"\n alt=\"Integrated vendors banner\"\n loading=\"eager\"\n fetchpriority=\"high\" />\n </div>\n\n </div>\n </div>\n</section>\n","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Component, Injector, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\nimport { AdminService } from '@posiwise/admin-module-utils';\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService, TagService } from '@posiwise/common-services';\nimport { CompanyData, Resource, User } from '@posiwise/common-utilities';\nimport { HelperService } from '@posiwise/helper-service';\nimport { CustomUploaderComponent } from '@posiwise/utils';\n\nimport { forkJoin } from 'rxjs';\n\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\n\nimport { ResourceService } from '../../../resource.service';\n\n@Component({\n selector: 'pw-resource-integration',\n templateUrl: './resource-integration.component.html',\n styleUrls: [\n './resource-integration.component.scss',\n '../resources/resources-shared.component.scss'\n ]\n})\nexport class ResourceIntegrationComponent extends AppBaseComponent implements OnInit {\n @ViewChild('editIntegrationsModal') editIntegrationsModal: TemplateRef<CustomUploaderComponent>;\n editingIntegrations;\n distributorsData = CompanyData?.distributorsData;\n vendorsData = CompanyData?.vendorsData;\n\n textColor = this.appConfig?.color_codes?.text;\n\n subscriptionId: number;\n masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n posts: Resource[] = [];\n distributerPosts = [];\n userLoggedIn: boolean;\n blogPostTag;\n isLoaded = false;\n resourcePostTag;\n blogPostVendorTag;\n isMasterSubscription;\n\n integrations = this.appConfig?.pages_config?.integrations;\n\n releaseNotesLink = '/resources/product-release-notes';\n q1NotesLink = '/resources/product-release-q1-2025';\n q3NotesLink = '/resources/product-release-q3-2024';\n q4NotesLink = '/resources/product-release-q4-2024';\n companyName;\n\n videoWebinarLoaded = false;\n videoDemoLoaded = false;\n youtubeVideoId = 'R7Vk219zbhA';\n videoTitle = 'CloudOlive Overview';\n sanitizedMicrosoftVideoUrl: SafeResourceUrl;\n sanitizedKesyaVideoUrl: SafeResourceUrl;\n integrationCountDisplay: number;\n contactUsUrl = this.appConfig?.pages_config?.contact_us?.url;\n tagCategory;\n totalPosts: number;\n\n guideData = this.appConfig?.pages_config?.guides;\n editingGuides = { items: [] };\n user: User;\n\n canEditResourcesValue = false;\n domainId = this.appConfig.domain_id;\n\n constructor(\n private readonly sanitizer: DomSanitizer,\n private readonly resourceService: ResourceService,\n private readonly modalService: NgbModal,\n private readonly tagService: TagService,\n private readonly authService: AuthService,\n private readonly adminService: AdminService,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit() {\n this.companyName = this.appConfig.company.name;\n\n document.documentElement.style.setProperty('--text-color', this.textColor);\n this.getUserSubscriptionId().subscribe(response => {\n this.subscriptionId = response;\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 });\n this.userService.getUserInfo().subscribe(data => {\n this.user = data;\n\n this.getTags();\n this.updateCanEditResourcesValue();\n });\n } else {\n this.getTags();\n }\n });\n }\n\n private getTags() {\n this.isLoaded = false;\n this.tagService\n .getAllTagCategories({ search: 'Integrations' }, this.getEffectiveSubscriptionId())\n .subscribe(response => {\n this.tagCategory = response.tag_categories[0];\n this.getPostTags();\n });\n }\n\n openEditIntegrationsModal(modalRef) {\n this.editingIntegrations = JSON.parse(JSON.stringify(this.integrations));\n this.modalService.open(modalRef, {\n size: 'lg',\n centered: true,\n windowClass: 'modal-holder'\n });\n }\n\n showIntegrations(): boolean {\n if (this.userLoggedIn) {\n return true;\n }\n\n if (Array.isArray(this.guideData?.items) && this.guideData.items.length) {\n const item = this.guideData.items[0];\n return (\n !!item?.title ||\n !!item?.description ||\n !!item?.guide_url ||\n (!!item?.image_url && !item.image_url.includes('default-image.png'))\n );\n }\n\n return false;\n }\n\n private getPostTags() {\n this.tagService\n .getTagsByType('post_categories', {}, this.getEffectiveSubscriptionId())\n .subscribe(response => {\n this.resourcePostTag = response.tags.find(\n tag => tag.name === 'Product Release Notes'\n );\n this.blogPostTag = response.tags.find(\n tag =>\n tag.name === 'Integrated Distributors' &&\n tag.tag_category_id === this.tagCategory?.id\n );\n this.blogPostVendorTag = response.tags.find(\n tag =>\n tag.name === 'Integrated Vendors' &&\n tag.tag_category_id === this.tagCategory?.id\n );\n\n // use forkJoin to fetch both sets of posts in parallel\n forkJoin({\n vendorResponse: this.resourceService.getPublicPosts(\n this.getEffectiveSubscriptionId(),\n 1,\n 100,\n '',\n '',\n this.blogPostVendorTag?.id\n ),\n distributorResponse: this.resourceService.getPublicPosts(\n this.getEffectiveSubscriptionId(),\n 1,\n 100,\n '',\n '',\n this.blogPostTag?.id\n )\n }).subscribe(({ vendorResponse, distributorResponse }) => {\n this.posts = vendorResponse.posts.sort(\n (a, b) =>\n new Date(b.published_at).getTime() - new Date(a.published_at).getTime()\n );\n\n this.distributerPosts = distributorResponse.posts.sort(\n (a, b) =>\n new Date(b.published_at).getTime() - new Date(a.published_at).getTime()\n );\n\n const vendorCount = vendorResponse?.object_count ?? 0;\n const distributorCount = distributorResponse?.object_count ?? 0;\n const total = vendorCount + distributorCount;\n\n this.integrationCountDisplay = total === 0 ? 0 : Math.ceil(total / 10) * 10;\n this.isLoaded = true;\n });\n });\n }\n\n loadMicrosoftVideo(videoUrl) {\n window.open(videoUrl, '_blank', 'noopener,noreferrer');\n }\n\n loadKeseyaVideo(): void {\n const baseUrl = `https://www.youtube.com/embed/${this.youtubeVideoId}?autoplay=1`;\n // baseUrl is a trusted internal source (e.g. YouTube embed URL)\n this.sanitizedKesyaVideoUrl = this.sanitizer.bypassSecurityTrustResourceUrl(baseUrl); // NOSONAR\n this.videoWebinarLoaded = true;\n }\n\n addIntegrationItem() {\n this.editingIntegrations.items.push({\n title: '',\n description: '',\n blog_url: '',\n image_url: '',\n video_url: ''\n });\n }\n\n removeIntegrationItem(index: number) {\n this.editingIntegrations.items.splice(index, 1);\n }\n\n dropIntegrationItems(event) {\n moveItemInArray(this.editingIntegrations.items, event.previousIndex, event.currentIndex);\n }\n\n saveIntegrations(modalRef) {\n const updatedIntegrations = {\n ...this.editingIntegrations\n };\n\n this.adminService\n .updateDomainConfig(this.domainId, {\n integrations: updatedIntegrations,\n subscription_id: this.getEffectiveSubscriptionId()\n })\n .subscribe(() => {\n this.integrations = updatedIntegrations;\n this.toast.success('Integrations updated');\n modalRef.close();\n });\n }\n\n saveGuides(modalRef) {\n const updatedGuides = {\n ...this.editingGuides\n };\n\n this.adminService\n .updateDomainConfig(this.domainId, {\n guides: updatedGuides,\n subscription_id: this.getEffectiveSubscriptionId()\n })\n .subscribe(() => {\n this.guideData = updatedGuides;\n this.toast.success('Guides updated');\n modalRef.close();\n });\n }\n\n openGuidesModal(template) {\n this.editingGuides = JSON.parse(JSON.stringify(this.guideData ?? { items: [] }));\n this.modalService.open(template, { size: 'xl' });\n }\n\n addGuide() {\n this.editingGuides.items.push({\n title: '',\n button_text: '',\n image_url: '',\n guide_url: '',\n description: ''\n });\n }\n\n removeGuide(index: number) {\n this.editingGuides.items.splice(index, 1);\n }\n\n dropGuides(event: CdkDragDrop<string[]>) {\n moveItemInArray(this.editingGuides.items, event.previousIndex, event.currentIndex);\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 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","<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n<pw-integration-top-banner></pw-integration-top-banner>\n<div class=\"bg-white\">\n <section class=\"guide-section bg-white py-5 section-outer\">\n <div class=\"container sec-container\">\n <div *ngIf=\"isLoaded && integrationCountDisplay > 0\">\n <h1 class=\"int-title mb-0\">{{ integrationCountDisplay }}+ integrations (& counting)</h1>\n <p class=\"int-text\"> Search the current list of {{companyName}} vendor and distributor integrations below. <br />\n </p>\n </div>\n <pw-resource-company-card *ngIf=\"isLoaded\" [header]=\"'integrated vendors'\"\n (getPosts)=\"getPostTags()\"\n [integrationCountDisplay]=\"integrationCountDisplay\"\n [data]=\"posts\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"></pw-resource-company-card>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"integrationCountDisplay === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n <div class=\"text-center pt-3 mt-4\" *ngIf=\"isLoaded && integrationCountDisplay > 0\">\n <p class=\"see-span\"> Don’t see what you’re after? <a [href]=\"contactUsUrl\"\n target=\"_blank\"\n class=\"int-span team-span\">Speak with our team to request a connection >\n </a>\n </p>\n </div>\n </div>\n\n </section>\n <section class=\"guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <pw-resource-company-card [header]=\"'integrated Distributors'\"\n [integrationCountDisplay]=\"integrationCountDisplay\"\n *ngIf=\"isLoaded\"\n [vendor]=\"true\"\n (getPosts)=\"getPostTags()\"\n [data]=\"distributerPosts\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"></pw-resource-company-card>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"integrationCountDisplay === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n </div>\n\n </section>\n <section class=\"guide-section bg-white py-5 section-outer\" *ngIf=\"integrations\">\n <div class=\"container\">\n\n <div class=\"how-it-works-wrapper\">\n <div class=\"d-flex\">\n <h1 class=\"it-works-title mb-0\">{{integrations?.title || 'How it works'}}</h1>\n <i *ngIf=\"canEditResourcesValue\"\n class=\"fa fa-edit in-page-edit-icon text-black ms-4 mt-3 cursor-pointer\"\n (click)=\"openEditIntegrationsModal(editIntegrationsModal)\"\n (keydown.enter)=\"openEditIntegrationsModal(editIntegrationsModal)\"\n (keydown.space)=\"openEditIntegrationsModal(editIntegrationsModal)\"\n title=\"Edit Integrations Section\"></i>\n </div>\n <p class=\"pb-20\" [innerHTML]=\"integrations?.description || 'View short example videos to understand how these integrations can work for you:'\"></p>\n <div class=\"row section-row\" [ngClass]=\"{ 'justify-content-center': integrations?.items?.length === 1 }\">\n <ng-container *ngIf=\"integrations?.items?.length > 0; else noIntegrations\">\n <ng-container *ngFor=\"let integration of integrations?.items\">\n <div\n class=\"col-md-6\"\n *ngIf=\"integration?.image_url || integration?.title || integration?.description\"\n >\n <ng-container *ngIf=\"integration?.video_url && integration?.video_url.includes('https'); else noVideo\">\n <div class=\"d-flex justify-content-center cursor-pointer\">\n <img\n *ngIf=\"integration?.video_url\"\n [src]=\"integration?.image_url\"\n (click)=\"loadMicrosoftVideo(integration?.video_url)\"\n (keydown.enter)=\"loadMicrosoftVideo(integration?.video_url)\"\n class=\"how-it-works-img\"\n alt=\"Integration Video Thumbnail\"\n />\n </div>\n </ng-container>\n\n <ng-template #noVideo>\n <div class=\"d-flex justify-content-center\">\n <div class=\"w-100\">\n <pw-no-data [withImage]=\"true\" [message]=\"'No video found' | transloco\">\n </pw-no-data>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #noIntegrations>\n <div class=\"w-100 text-center\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Integration.NoDataMessage' | transloco\"></pw-no-data>\n </div>\n </ng-template>\n\n </div>\n </div>\n </div>\n\n </section>\n <section class=\"guide-section bg-white py-5 section-outer\" *ngIf=\"showIntegrations()\">\n <div class=\"container\">\n <div class=\"row align-items-start\">\n <div class=\"col-md-6 text-md-start text-center\">\n <div class=\"d-flex\">\n <h1 class=\"guide-title mb-3\">{{guideData?.items[0]?.title || '--UPDATE ME ON THE ADMIN/DOMAINS MODULE--'}}</h1>\n <i *ngIf=\"canEditResourcesValue\"\n class=\"fa fa-edit in-page-edit-icon text-black ms-4 mt-3 cursor-pointer\"\n (click)=\"openGuidesModal(guidesEditModal)\"\n (keydown.enter)=\"openGuidesModal(guidesEditModal)\"\n (keydown.space)=\"openGuidesModal(guidesEditModal)\"\n title=\"Edit Integrations Section\"></i>\n </div>\n <p class=\"guide-subtext\"\n [innerHTML]=\"guideData?.items[0]?.description || '--UPDATE ME ON THE ADMIN/DOMAINS MODULE--'\">\n </p>\n <a class=\"vault-btn\"\n [href]=\"guideData?.items[0]?.guide_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n {{guideData?.items[0]?.button_text || 'View the guide'}}\n </a>\n\n </div>\n\n <div class=\"col-md-6 text-center\">\n <ng-container *ngIf=\"guideData?.items[0]?.image_url && !guideData?.items[0].image_url.includes('default-photo.jpg'); else noDataTemplate\">\n <img\n [src]=\"guideData?.items[0].image_url\"\n alt=\"Guide\"\n class=\"guide-img\" />\n </ng-container>\n\n <ng-template #noDataTemplate>\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'--ADD ME ON THE ADMIN/DOMAINS MODULE--' | transloco\" />\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n </section>\n</div>\n\n<pw-resource-note-card *ngIf=\"resourcePostTag?.tag_category_id\" [categoryId]=\"resourcePostTag?.tag_category_id\" [tag]=\"resourcePostTag\" [releaseHeader]=\"true\" [resourceTitle]=\"resourcePostTag?.title\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-note-card>\n\n<pw-trial-4-contact-us [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>\n\n\n\n<ng-template #editIntegrationsModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Integrations Section</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <div class=\"mb-3\">\n <label class=\"form-label\" for=\"integration-title\">Title</label>\n <input class=\"form-control\" id=\"integration-title\" [(ngModel)]=\"editingIntegrations.title\" />\n </div>\n\n <div class=\"mb-3\">\n <label class=\"form-label\" for=\"integration-description\">Description</label>\n <textarea class=\"form-control\" id=\"integration-description\" rows=\"3\" [(ngModel)]=\"editingIntegrations.description\"></textarea>\n </div>\n\n <div cdkDropList (cdkDropListDropped)=\"dropIntegrationItems($event)\">\n <div *ngFor=\"let integration of editingIntegrations.items; let i = index\" class=\"border p-3 mb-3\" cdkDrag>\n <div class=\"d-flex justify-content-between align-items-center mb-2\">\n <label class=\"form-label mb-0\" for=\"integration-item\">Integration Item</label>\n <i class=\"fa fa-bars cursor-move in-page-bars-icon\" cdkDragHandle></i>\n </div>\n\n <div class=\"row\">\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'integration-item-title-' + i\">Title</label>\n <input class=\"form-control\" [id]=\"'integration-item-title-' + i\" [(ngModel)]=\"integration.title\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'integration-item-description-' + i\">Description</label>\n <input class=\"form-control\" [id]=\"'integration-item-description-' + i\" [(ngModel)]=\"integration.description\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'integration-item-blog-url-' + i\">Blog URL</label>\n <input class=\"form-control\" [id]=\"'integration-item-blog-url-' + i\" [(ngModel)]=\"integration.blog_url\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'integration-item-image-url-' + i\">Image URL</label>\n <input class=\"form-control\" [id]=\"'integration-item-image-url-' + i\" [(ngModel)]=\"integration.image_url\" />\n </div>\n <div class=\"col-md-12 mb-2\">\n <label class=\"form-label\" [for]=\"'integration-item-video-url-' + i\">Video URL</label>\n <input class=\"form-control\" [id]=\"'integration-item-video-url-' + i\" [(ngModel)]=\"integration.video_url\" />\n </div>\n </div>\n\n <div class=\"d-flex justify-content-end\">\n <i class=\"fa fa-trash text-danger cursor-pointer\" (click)=\"removeIntegrationItem(i)\" (keydown.enter)=\"removeIntegrationItem(i)\"\n (keydown.space)=\"removeIntegrationItem(i)\"></i>\n </div>\n </div>\n </div>\n\n <button class=\"btn btn-outline-primary btn-sm\" (click)=\"addIntegrationItem()\">+ Add Integration</button>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" (click)=\"saveIntegrations(modal)\">Save</button>\n </div>\n</ng-template>\n\n\n\n<ng-template #guidesEditModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Guides</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <h4 class=\"mb-3\">Guides Section</h4>\n\n <div cdkDropList (cdkDropListDropped)=\"dropGuides($event)\">\n <div *ngFor=\"let guide of editingGuides.items; let i = index\" class=\"border p-3 mb-3\" cdkDrag>\n <div class=\"row\">\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'guide-title-' + i\">Title</label>\n <input class=\"form-control\" [id]=\"'guide-title-' + i\" [(ngModel)]=\"guide.title\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'guide-button-text-' + i\">Button Text</label>\n <input class=\"form-control\" [id]=\"'guide-button-text-' + i\" [(ngModel)]=\"guide.button_text\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'guide-image-url-' + i\">Image URL</label>\n <input class=\"form-control\" [id]=\"'guide-image-url-' + i\" [(ngModel)]=\"guide.image_url\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'guide-url-' + i\">Guide URL</label>\n <input class=\"form-control\" [id]=\"'guide-url-' + i\" [(ngModel)]=\"guide.guide_url\" />\n </div>\n <div class=\"col-12 mb-2\">\n <label class=\"form-label\" [for]=\"'guide-description-' + i\">Description</label>\n <textarea class=\"form-control\" [id]=\"'guide-description-' + i\" rows=\"3\" [(ngModel)]=\"guide.description\"></textarea>\n </div>\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <i class=\"fa fa-trash text-danger cursor-pointer\" (click)=\"removeGuide(i)\" (keydown.enter)=\"removeGuide(i)\" (keydown.space)=\"removeGuide(i)\"></i>\n <i class=\"fa fa-bars cursor-move\" cdkDragHandle></i>\n </div>\n </div>\n </div>\n </div>\n\n <button class=\"btn btn-primary mt-2\" (click)=\"addGuide()\">+ Add Guide</button>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" (click)=\"saveGuides(modal)\">Save</button>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { IntegrationTopBannerComponent } from '../../components/resource-integration/integration-top-banner/integration-top-banner.component';\nimport { ResourceIntegrationComponent } from '../../components/resource-integration/resource-integration.component';\nimport { ResourceSharedModule } from '../../shared/resource-shared.module';\n\nconst routes: Routes = [\n {\n path: '',\n component: ResourceIntegrationComponent,\n data: {\n title: 'Resources - Integrations',\n permission: 'Pages.Blog',\n preload: false\n }\n }\n];\n\n@NgModule({\n declarations: [ResourceIntegrationComponent, IntegrationTopBannerComponent],\n imports: [ResourceSharedModule, RouterModule.forChild(routes)]\n})\nexport class ResourceIntegrationsModule {}\n"],"names":["i1.ResourceService","i4.ResourceTopBannerEditComponent","i5","i6","i1","i2.ResourceService","i3","i4","i6.ResourceCompanyCardComponent","i7.ResourceNoteCardComponent","i8","i9","i10","i11","i12","i13","i15","i16.IntegrationTopBannerComponent","i17"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"posiwise-resource-module-resource-integrations.module-D8bz630p.mjs","sources":["../../../../libs/resource-module/src/lib/public/components/resource-integration/integration-top-banner/integration-top-banner.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-integration/integration-top-banner/integration-top-banner.component.html","../../../../libs/resource-module/src/lib/public/components/resource-integration/resource-integration.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-integration/resource-integration.component.html","../../../../libs/resource-module/src/lib/public/modules/integrations/resource-integrations.module.ts"],"sourcesContent":["import { 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-integration-top-banner',\n templateUrl: './integration-top-banner.component.html',\n styleUrls: [\n '../../resource-case-studies/resource-case-studies.component.scss',\n '../../resources/resources-shared.component.scss',\n '../../resource-post/related-resources/related-resources.component.scss'\n ]\n})\nexport class IntegrationTopBannerComponent extends BaseTopBannerComponent {\n constructor(\n resourceService: ResourceService,\n tagService: TagService,\n authService: AuthService,\n titleService: Title,\n injector: Injector\n ) {\n super(resourceService, tagService, authService, titleService, injector);\n }\n\n protected getSearchTerm(): string {\n return 'Integrations';\n }\n}\n","<section class=\"bg-white pricing-section\">\n <div class=\"resource-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\" *ngIf=\"isLoaded\">\n\n <!-- Left Content -->\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 || 'Integrated vendors'\"></span>\n <pw-resource-top-banner-edit\n *ngIf=\"canEditResourcesValue\"\n [blogPostTag]=\"blogPostTag\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"\n (getUpdatedTag)=\"getPostTags()\"\n ></pw-resource-top-banner-edit>\n </span>\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n\n <div class=\"cta-buttons d-flex flex-column justify-between h-100\">\n <div class=\"flex-grow-1\">\n <ng-container *ngIf=\"blogPostTag?.description && blogPostTag.description !== 'null' ; else defaultDescription\">\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n </ng-container>\n <ng-template #defaultDescription>\n <p class=\"intro\">\n Browse below the vendor integrations<br />\n we support.\n </p>\n </ng-template>\n </div>\n\n <!-- Buttons always at bottom -->\n <div class=\"d-flex gap-3 flex-wrap mt-3\">\n <a [href]=\"contactUsUrl\" target=\"_blank\"\n class=\"cta-btn filled\">Speak to sales ></a>\n </div>\n </div>\n</div>\n\n <!-- Right Content -->\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/men.png'\"\n alt=\"Integrated vendors banner\"\n loading=\"eager\"\n fetchpriority=\"high\" />\n </div>\n\n </div>\n </div>\n</section>\n","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Component, Injector, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\nimport { AdminService } from '@posiwise/admin-module-utils';\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService, TagService } from '@posiwise/common-services';\nimport { CompanyData, Resource, User } from '@posiwise/common-utilities';\nimport { HelperService } from '@posiwise/helper-service';\nimport { CustomUploaderComponent } from '@posiwise/utils';\n\nimport { forkJoin } from 'rxjs';\n\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\n\nimport { ResourceService } from '../../../resource.service';\n\n@Component({\n selector: 'pw-resource-integration',\n templateUrl: './resource-integration.component.html',\n styleUrls: [\n './resource-integration.component.scss',\n '../resources/resources-shared.component.scss'\n ]\n})\nexport class ResourceIntegrationComponent extends AppBaseComponent implements OnInit {\n @ViewChild('editIntegrationsModal') editIntegrationsModal: TemplateRef<CustomUploaderComponent>;\n editingIntegrations;\n distributorsData = CompanyData?.distributorsData;\n vendorsData = CompanyData?.vendorsData;\n\n textColor = this.appConfig?.color_codes?.text;\n\n subscriptionId: number;\n masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n posts: Resource[] = [];\n distributerPosts = [];\n userLoggedIn: boolean;\n blogPostTag;\n isLoaded = false;\n resourcePostTag;\n blogPostVendorTag;\n isMasterSubscription;\n\n integrations = this.appConfig?.pages_config?.integrations;\n\n releaseNotesLink = '/resources/product-release-notes';\n q1NotesLink = '/resources/product-release-q1-2025';\n q3NotesLink = '/resources/product-release-q3-2024';\n q4NotesLink = '/resources/product-release-q4-2024';\n companyName;\n\n videoWebinarLoaded = false;\n videoDemoLoaded = false;\n youtubeVideoId = 'R7Vk219zbhA';\n videoTitle = 'CloudOlive Overview';\n sanitizedMicrosoftVideoUrl: SafeResourceUrl;\n sanitizedKesyaVideoUrl: SafeResourceUrl;\n integrationCountDisplay: number;\n contactUsUrl = this.appConfig?.pages_config?.contact_us?.url;\n tagCategory;\n totalPosts: number;\n\n guideData = this.appConfig?.pages_config?.guides;\n editingGuides = { items: [] };\n user: User;\n\n canEditResourcesValue = false;\n domainId = this.appConfig.domain_id;\n\n constructor(\n private readonly sanitizer: DomSanitizer,\n private readonly resourceService: ResourceService,\n private readonly modalService: NgbModal,\n private readonly tagService: TagService,\n private readonly authService: AuthService,\n private readonly adminService: AdminService,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit() {\n this.companyName = this.appConfig.company.name;\n\n document.documentElement.style.setProperty('--text-color', this.textColor);\n this.getUserSubscriptionId().subscribe(response => {\n this.subscriptionId = response;\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 });\n this.userService.getUserInfo().subscribe(data => {\n this.user = data;\n\n this.getTags();\n this.updateCanEditResourcesValue();\n });\n } else {\n this.getTags();\n }\n });\n }\n\n private getTags() {\n this.isLoaded = false;\n this.tagService\n .getAllTagCategories({ search: 'Integrations' }, this.getEffectiveSubscriptionId())\n .subscribe(response => {\n this.tagCategory = response.tag_categories[0];\n this.getPostTags();\n });\n }\n\n openEditIntegrationsModal(modalRef) {\n this.editingIntegrations = JSON.parse(JSON.stringify(this.integrations));\n this.modalService.open(modalRef, {\n size: 'lg',\n centered: true,\n windowClass: 'modal-holder'\n });\n }\n\n showIntegrations(): boolean {\n if (this.userLoggedIn) {\n return true;\n }\n\n if (Array.isArray(this.guideData?.items) && this.guideData.items.length) {\n const item = this.guideData.items[0];\n return (\n !!item?.title ||\n !!item?.description ||\n !!item?.guide_url ||\n (!!item?.image_url && !item.image_url.includes('default-image.png'))\n );\n }\n\n return false;\n }\n\n private getPostTags() {\n this.tagService\n .getTagsByType('post_categories', {}, this.getEffectiveSubscriptionId())\n .subscribe(response => {\n this.resourcePostTag = response.tags.find(\n tag => tag.name === 'Product Release Notes'\n );\n this.blogPostTag = response.tags.find(\n tag =>\n tag.name === 'Integrated Distributors' &&\n tag.tag_category_id === this.tagCategory?.id\n );\n this.blogPostVendorTag = response.tags.find(\n tag =>\n tag.name === 'Integrated Vendors' &&\n tag.tag_category_id === this.tagCategory?.id\n );\n\n // use forkJoin to fetch both sets of posts in parallel\n forkJoin({\n vendorResponse: this.resourceService.getPublicPosts(\n this.getEffectiveSubscriptionId(),\n 1,\n 100,\n '',\n '',\n this.blogPostVendorTag?.id\n ),\n distributorResponse: this.resourceService.getPublicPosts(\n this.getEffectiveSubscriptionId(),\n 1,\n 100,\n '',\n '',\n this.blogPostTag?.id\n )\n }).subscribe(({ vendorResponse, distributorResponse }) => {\n this.posts = vendorResponse.posts.sort(\n (a, b) =>\n new Date(b.published_at).getTime() - new Date(a.published_at).getTime()\n );\n\n this.distributerPosts = distributorResponse.posts.sort(\n (a, b) =>\n new Date(b.published_at).getTime() - new Date(a.published_at).getTime()\n );\n\n const vendorCount = vendorResponse?.object_count ?? 0;\n const distributorCount = distributorResponse?.object_count ?? 0;\n const total = vendorCount + distributorCount;\n\n this.integrationCountDisplay = total === 0 ? 0 : Math.ceil(total / 10) * 10;\n this.isLoaded = true;\n });\n });\n }\n\n loadMicrosoftVideo(videoUrl) {\n window.open(videoUrl, '_blank', 'noopener,noreferrer');\n }\n\n loadKeseyaVideo(): void {\n const baseUrl = `https://www.youtube.com/embed/${this.youtubeVideoId}?autoplay=1`;\n // baseUrl is a trusted internal source (e.g. YouTube embed URL)\n this.sanitizedKesyaVideoUrl = this.sanitizer.bypassSecurityTrustResourceUrl(baseUrl); // NOSONAR\n this.videoWebinarLoaded = true;\n }\n\n addIntegrationItem() {\n this.editingIntegrations.items.push({\n title: '',\n description: '',\n blog_url: '',\n image_url: '',\n video_url: ''\n });\n }\n\n removeIntegrationItem(index: number) {\n this.editingIntegrations.items.splice(index, 1);\n }\n\n dropIntegrationItems(event) {\n moveItemInArray(this.editingIntegrations.items, event.previousIndex, event.currentIndex);\n }\n\n saveIntegrations(modalRef) {\n const updatedIntegrations = {\n ...this.editingIntegrations\n };\n\n this.adminService\n .updateDomainConfig(this.domainId, {\n integrations: updatedIntegrations,\n subscription_id: this.getEffectiveSubscriptionId()\n })\n .subscribe(() => {\n this.integrations = updatedIntegrations;\n this.toast.success('Integrations updated');\n modalRef.close();\n });\n }\n\n saveGuides(modalRef) {\n const updatedGuides = {\n ...this.editingGuides\n };\n\n this.adminService\n .updateDomainConfig(this.domainId, {\n guides: updatedGuides,\n subscription_id: this.getEffectiveSubscriptionId()\n })\n .subscribe(() => {\n this.guideData = updatedGuides;\n this.toast.success('Guides updated');\n modalRef.close();\n });\n }\n\n openGuidesModal(template) {\n this.editingGuides = JSON.parse(JSON.stringify(this.guideData ?? { items: [] }));\n this.modalService.open(template, { size: 'xl' });\n }\n\n addGuide() {\n this.editingGuides.items.push({\n title: '',\n button_text: '',\n image_url: '',\n guide_url: '',\n description: ''\n });\n }\n\n removeGuide(index: number) {\n this.editingGuides.items.splice(index, 1);\n }\n\n dropGuides(event: CdkDragDrop<string[]>) {\n moveItemInArray(this.editingGuides.items, event.previousIndex, event.currentIndex);\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 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","<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n<pw-integration-top-banner></pw-integration-top-banner>\n<div class=\"bg-white\">\n <section class=\"guide-section bg-white py-5 section-outer\">\n <div class=\"container sec-container\">\n <div *ngIf=\"isLoaded && integrationCountDisplay > 0\">\n <h1 class=\"int-title mb-0\">{{ integrationCountDisplay }}+ integrations (& counting)</h1>\n <p class=\"int-text\"> Search the current list of {{companyName}} vendor and distributor integrations below. <br />\n </p>\n </div>\n <pw-resource-company-card *ngIf=\"isLoaded\" [header]=\"'integrated vendors'\"\n (getPosts)=\"getPostTags()\"\n [integrationCountDisplay]=\"integrationCountDisplay\"\n [data]=\"posts\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"></pw-resource-company-card>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"integrationCountDisplay === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n <div class=\"text-center pt-3 mt-4\" *ngIf=\"isLoaded && integrationCountDisplay > 0\">\n <p class=\"see-span\"> Don’t see what you’re after? <a [href]=\"contactUsUrl\"\n target=\"_blank\"\n class=\"int-span team-span\">Speak with our team to request a connection >\n </a>\n </p>\n </div>\n </div>\n\n </section>\n <section class=\"guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <pw-resource-company-card [header]=\"'integrated Distributors'\"\n [integrationCountDisplay]=\"integrationCountDisplay\"\n *ngIf=\"isLoaded\"\n [vendor]=\"true\"\n (getPosts)=\"getPostTags()\"\n [data]=\"distributerPosts\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"></pw-resource-company-card>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"integrationCountDisplay === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n </div>\n\n </section>\n <section class=\"guide-section bg-white py-5 section-outer\" *ngIf=\"integrations\">\n <div class=\"container\">\n\n <div class=\"how-it-works-wrapper\">\n <div class=\"d-flex\">\n <h1 class=\"it-works-title mb-0\">{{integrations?.title || 'How it works'}}</h1>\n <i *ngIf=\"canEditResourcesValue\"\n class=\"fa fa-edit in-page-edit-icon text-black ms-4 mt-3 cursor-pointer\"\n (click)=\"openEditIntegrationsModal(editIntegrationsModal)\"\n (keydown.enter)=\"openEditIntegrationsModal(editIntegrationsModal)\"\n (keydown.space)=\"openEditIntegrationsModal(editIntegrationsModal)\"\n title=\"Edit Integrations Section\"></i>\n </div>\n <p class=\"pb-20\" [innerHTML]=\"integrations?.description || 'View short example videos to understand how these integrations can work for you:'\"></p>\n <div class=\"row section-row\" [ngClass]=\"{ 'justify-content-center': integrations?.items?.length === 1 }\">\n <ng-container *ngIf=\"integrations?.items?.length > 0; else noIntegrations\">\n <ng-container *ngFor=\"let integration of integrations?.items\">\n <div\n class=\"col-md-6\"\n *ngIf=\"integration?.image_url || integration?.title || integration?.description\"\n >\n <ng-container *ngIf=\"integration?.video_url && integration?.video_url.includes('https'); else noVideo\">\n <div class=\"d-flex justify-content-center cursor-pointer\">\n <img\n *ngIf=\"integration?.video_url\"\n [src]=\"integration?.image_url\"\n (click)=\"loadMicrosoftVideo(integration?.video_url)\"\n (keydown.enter)=\"loadMicrosoftVideo(integration?.video_url)\"\n class=\"how-it-works-img\"\n alt=\"Integration Video Thumbnail\"\n />\n </div>\n </ng-container>\n\n <ng-template #noVideo>\n <div class=\"d-flex justify-content-center\">\n <div class=\"w-100\">\n <pw-no-data [withImage]=\"true\" [message]=\"'No video found' | transloco\">\n </pw-no-data>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #noIntegrations>\n <div class=\"w-100 text-center\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Integration.NoDataMessage' | transloco\"></pw-no-data>\n </div>\n </ng-template>\n\n </div>\n </div>\n </div>\n\n </section>\n <section class=\"guide-section bg-white py-5 section-outer\" *ngIf=\"showIntegrations()\">\n <div class=\"container\">\n <div class=\"row align-items-start\">\n <div class=\"col-md-6 text-md-start text-center\">\n <div class=\"d-flex\">\n <h1 class=\"guide-title mb-3\">{{guideData?.items[0]?.title || '--UPDATE ME ON THE ADMIN/DOMAINS MODULE--'}}</h1>\n <i *ngIf=\"canEditResourcesValue\"\n class=\"fa fa-edit in-page-edit-icon text-black ms-4 mt-3 cursor-pointer\"\n (click)=\"openGuidesModal(guidesEditModal)\"\n (keydown.enter)=\"openGuidesModal(guidesEditModal)\"\n (keydown.space)=\"openGuidesModal(guidesEditModal)\"\n title=\"Edit Integrations Section\"></i>\n </div>\n <p class=\"guide-subtext\"\n [innerHTML]=\"guideData?.items[0]?.description || '--UPDATE ME ON THE ADMIN/DOMAINS MODULE--'\">\n </p>\n <a class=\"vault-btn\"\n [href]=\"guideData?.items[0]?.guide_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n {{guideData?.items[0]?.button_text || 'View the guide'}}\n </a>\n\n </div>\n\n <div class=\"col-md-6 text-center\">\n <ng-container *ngIf=\"guideData?.items[0]?.image_url && !guideData?.items[0].image_url.includes('default-photo.jpg'); else noDataTemplate\">\n <img\n [src]=\"guideData?.items[0].image_url\"\n alt=\"Guide\"\n class=\"guide-img\" />\n </ng-container>\n\n <ng-template #noDataTemplate>\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'--ADD ME ON THE ADMIN/DOMAINS MODULE--' | transloco\" />\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n </section>\n</div>\n\n<pw-resource-note-card *ngIf=\"resourcePostTag?.tag_category_id\" [categoryId]=\"resourcePostTag?.tag_category_id\" [tag]=\"resourcePostTag\" [releaseHeader]=\"true\" [resourceTitle]=\"resourcePostTag?.title\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-note-card>\n\n<pw-trial-4-contact-us [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>\n\n\n\n<ng-template #editIntegrationsModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Integrations Section</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <div class=\"mb-3\">\n <label class=\"form-label\" for=\"integration-title\">Title</label>\n <input class=\"form-control\" id=\"integration-title\" [(ngModel)]=\"editingIntegrations.title\" />\n </div>\n\n <div class=\"mb-3\">\n <label class=\"form-label\" for=\"integration-description\">Description</label>\n <textarea class=\"form-control\" id=\"integration-description\" rows=\"3\" [(ngModel)]=\"editingIntegrations.description\"></textarea>\n </div>\n\n <div cdkDropList (cdkDropListDropped)=\"dropIntegrationItems($event)\">\n <div *ngFor=\"let integration of editingIntegrations.items; let i = index\" class=\"border p-3 mb-3\" cdkDrag>\n <div class=\"d-flex justify-content-between align-items-center mb-2\">\n <label class=\"form-label mb-0\" for=\"integration-item\">Integration Item</label>\n <i class=\"fa fa-bars cursor-move in-page-bars-icon\" cdkDragHandle></i>\n </div>\n\n <div class=\"row\">\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'integration-item-title-' + i\">Title</label>\n <input class=\"form-control\" [id]=\"'integration-item-title-' + i\" [(ngModel)]=\"integration.title\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'integration-item-description-' + i\">Description</label>\n <input class=\"form-control\" [id]=\"'integration-item-description-' + i\" [(ngModel)]=\"integration.description\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'integration-item-blog-url-' + i\">Blog URL</label>\n <input class=\"form-control\" [id]=\"'integration-item-blog-url-' + i\" [(ngModel)]=\"integration.blog_url\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'integration-item-image-url-' + i\">Image URL</label>\n <input class=\"form-control\" [id]=\"'integration-item-image-url-' + i\" [(ngModel)]=\"integration.image_url\" />\n </div>\n <div class=\"col-md-12 mb-2\">\n <label class=\"form-label\" [for]=\"'integration-item-video-url-' + i\">Video URL</label>\n <input class=\"form-control\" [id]=\"'integration-item-video-url-' + i\" [(ngModel)]=\"integration.video_url\" />\n </div>\n </div>\n\n <div class=\"d-flex justify-content-end\">\n <i class=\"fa fa-trash text-danger cursor-pointer\" (click)=\"removeIntegrationItem(i)\" (keydown.enter)=\"removeIntegrationItem(i)\"\n (keydown.space)=\"removeIntegrationItem(i)\"></i>\n </div>\n </div>\n </div>\n\n <button class=\"btn btn-outline-primary btn-sm\" (click)=\"addIntegrationItem()\">+ Add Integration</button>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" (click)=\"saveIntegrations(modal)\">Save</button>\n </div>\n</ng-template>\n\n\n\n<ng-template #guidesEditModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Guides</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <h4 class=\"mb-3\">Guides Section</h4>\n\n <div cdkDropList (cdkDropListDropped)=\"dropGuides($event)\">\n <div *ngFor=\"let guide of editingGuides.items; let i = index\" class=\"border p-3 mb-3\" cdkDrag>\n <div class=\"row\">\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'guide-title-' + i\">Title</label>\n <input class=\"form-control\" [id]=\"'guide-title-' + i\" [(ngModel)]=\"guide.title\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'guide-button-text-' + i\">Button Text</label>\n <input class=\"form-control\" [id]=\"'guide-button-text-' + i\" [(ngModel)]=\"guide.button_text\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'guide-image-url-' + i\">Image URL</label>\n <input class=\"form-control\" [id]=\"'guide-image-url-' + i\" [(ngModel)]=\"guide.image_url\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'guide-url-' + i\">Guide URL</label>\n <input class=\"form-control\" [id]=\"'guide-url-' + i\" [(ngModel)]=\"guide.guide_url\" />\n </div>\n <div class=\"col-12 mb-2\">\n <label class=\"form-label\" [for]=\"'guide-description-' + i\">Description</label>\n <textarea class=\"form-control\" [id]=\"'guide-description-' + i\" rows=\"3\" [(ngModel)]=\"guide.description\"></textarea>\n </div>\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <i class=\"fa fa-trash text-danger cursor-pointer\" (click)=\"removeGuide(i)\" (keydown.enter)=\"removeGuide(i)\" (keydown.space)=\"removeGuide(i)\"></i>\n <i class=\"fa fa-bars cursor-move\" cdkDragHandle></i>\n </div>\n </div>\n </div>\n </div>\n\n <button class=\"btn btn-primary mt-2\" (click)=\"addGuide()\">+ Add Guide</button>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" (click)=\"saveGuides(modal)\">Save</button>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { IntegrationTopBannerComponent } from '../../components/resource-integration/integration-top-banner/integration-top-banner.component';\nimport { ResourceIntegrationComponent } from '../../components/resource-integration/resource-integration.component';\nimport { ResourceSharedModule } from '../../shared/resource-shared.module';\n\nconst routes: Routes = [\n {\n path: '',\n component: ResourceIntegrationComponent,\n data: {\n title: 'Resources - Integrations',\n permission: 'Pages.Blog',\n preload: false\n }\n }\n];\n\n@NgModule({\n declarations: [ResourceIntegrationComponent, IntegrationTopBannerComponent],\n imports: [ResourceSharedModule, RouterModule.forChild(routes)]\n})\nexport class ResourceIntegrationsModule {}\n"],"names":["i1.ResourceService","i4.ResourceTopBannerEditComponent","i5","i6","i1","i2.ResourceService","i3","i4","i6.ResourceCompanyCardComponent","i7.ResourceNoteCardComponent","i8","i9","i10","i11","i12","i13","i15","i16.IntegrationTopBannerComponent","i17"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBM,MAAO,6BAA8B,SAAQ,sBAAsB,CAAA;IACrE,WAAA,CACI,eAAgC,EAChC,UAAsB,EACtB,WAAwB,EACxB,YAAmB,EACnB,QAAkB,EAAA;QAElB,KAAK,CAAC,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC;IAC3E;IAEU,aAAa,GAAA;AACnB,QAAA,OAAO,cAAc;IACzB;+GAbS,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,wFCjB1C,o6EA4DA,EAAA,MAAA,EAAA,CAAA,uuRAAA,EAAA,8tGAAA,EAAA,q0JAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,8BAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,MAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD3Ca,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBATzC,SAAS;+BACI,2BAA2B,EAAA,QAAA,EAAA,o6EAAA,EAAA,MAAA,EAAA,CAAA,uuRAAA,EAAA,8tGAAA,EAAA,q0JAAA,CAAA,EAAA;;;AEgBnC,MAAO,4BAA6B,SAAQ,gBAAgB,CAAA;AA6C9D,IAAA,WAAA,CACqB,SAAuB,EACvB,eAAgC,EAChC,YAAsB,EACtB,UAAsB,EACtB,WAAwB,EACxB,YAA0B,EAC3C,QAAkB,EAAA;QAElB,KAAK,CAAC,QAAQ,CAAC;QARE,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,eAAe,GAAf,eAAe;QACf,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,YAAY,GAAZ,YAAY;AAhDjC,QAAA,IAAA,CAAA,gBAAgB,GAAG,WAAW,EAAE,gBAAgB;AAChD,QAAA,IAAA,CAAA,WAAW,GAAG,WAAW,EAAE,WAAW;QAEtC,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI;QAG7C,IAAA,CAAA,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,eAAe;QACzE,IAAA,CAAA,KAAK,GAAe,EAAE;QACtB,IAAA,CAAA,gBAAgB,GAAG,EAAE;QAGrB,IAAA,CAAA,QAAQ,GAAG,KAAK;QAKhB,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY;QAEzD,IAAA,CAAA,gBAAgB,GAAG,kCAAkC;QACrD,IAAA,CAAA,WAAW,GAAG,oCAAoC;QAClD,IAAA,CAAA,WAAW,GAAG,oCAAoC;QAClD,IAAA,CAAA,WAAW,GAAG,oCAAoC;QAGlD,IAAA,CAAA,kBAAkB,GAAG,KAAK;QAC1B,IAAA,CAAA,eAAe,GAAG,KAAK;QACvB,IAAA,CAAA,cAAc,GAAG,aAAa;QAC9B,IAAA,CAAA,UAAU,GAAG,qBAAqB;QAIlC,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG;QAI5D,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM;AAChD,QAAA,IAAA,CAAA,aAAa,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QAG7B,IAAA,CAAA,qBAAqB,GAAG,KAAK;AAC7B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS;IAYnC;IAEA,QAAQ,GAAA;QACJ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI;AAE9C,QAAA,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;QAC1E,IAAI,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,QAAQ,IAAG;AAC9C,YAAA,IAAI,CAAC,cAAc,GAAG,QAAQ;AAClC,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,GAAG,IAAG;AACzC,YAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG;AACzB,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,gBAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,IAAG;AAClD,oBAAA,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI;AACzC,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,EAAE,cAAc;AAC9C,gBAAA,CAAC,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,IAAI,IAAG;AAC5C,oBAAA,IAAI,CAAC,IAAI,GAAG,IAAI;oBAEhB,IAAI,CAAC,OAAO,EAAE;oBACd,IAAI,CAAC,2BAA2B,EAAE;AACtC,gBAAA,CAAC,CAAC;YACN;iBAAO;gBACH,IAAI,CAAC,OAAO,EAAE;YAClB;AACJ,QAAA,CAAC,CAAC;IACN;IAEQ,OAAO,GAAA;AACX,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,QAAA,IAAI,CAAC;aACA,mBAAmB,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,IAAI,CAAC,0BAA0B,EAAE;aACjF,SAAS,CAAC,QAAQ,IAAG;YAClB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,EAAE;AACtB,QAAA,CAAC,CAAC;IACV;AAEA,IAAA,yBAAyB,CAAC,QAAQ,EAAA;AAC9B,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACxE,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC7B,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,WAAW,EAAE;AAChB,SAAA,CAAC;IACN;IAEA,gBAAgB,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,OAAO,IAAI;QACf;AAEA,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE;YACrE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,YAAA,QACI,CAAC,CAAC,IAAI,EAAE,KAAK;gBACb,CAAC,CAAC,IAAI,EAAE,WAAW;gBACnB,CAAC,CAAC,IAAI,EAAE,SAAS;AACjB,iBAAC,CAAC,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAE5E;AAEA,QAAA,OAAO,KAAK;IAChB;IAEQ,WAAW,GAAA;AACf,QAAA,IAAI,CAAC;aACA,aAAa,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,CAAC,0BAA0B,EAAE;aACtE,SAAS,CAAC,QAAQ,IAAG;AAClB,YAAA,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CACrC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAuB,CAC9C;AACD,YAAA,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CACjC,GAAG,IACC,GAAG,CAAC,IAAI,KAAK,yBAAyB;gBACtC,GAAG,CAAC,eAAe,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CACnD;AACD,YAAA,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CACvC,GAAG,IACC,GAAG,CAAC,IAAI,KAAK,oBAAoB;gBACjC,GAAG,CAAC,eAAe,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CACnD;;AAGD,YAAA,QAAQ,CAAC;gBACL,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,CAC/C,IAAI,CAAC,0BAA0B,EAAE,EACjC,CAAC,EACD,GAAG,EACH,EAAE,EACF,EAAE,EACF,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAC7B;gBACD,mBAAmB,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,CACpD,IAAI,CAAC,0BAA0B,EAAE,EACjC,CAAC,EACD,GAAG,EACH,EAAE,EACF,EAAE,EACF,IAAI,CAAC,WAAW,EAAE,EAAE;aAE3B,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,EAAE,mBAAmB,EAAE,KAAI;AACrD,gBAAA,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,CAAC,KACD,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAC9E;AAED,gBAAA,IAAI,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAClD,CAAC,CAAC,EAAE,CAAC,KACD,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAC9E;AAED,gBAAA,MAAM,WAAW,GAAG,cAAc,EAAE,YAAY,IAAI,CAAC;AACrD,gBAAA,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,YAAY,IAAI,CAAC;AAC/D,gBAAA,MAAM,KAAK,GAAG,WAAW,GAAG,gBAAgB;gBAE5C,IAAI,CAAC,uBAAuB,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE;AAC3E,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACxB,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;IACV;AAEA,IAAA,kBAAkB,CAAC,QAAQ,EAAA;QACvB,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,CAAC;IAC1D;IAEA,eAAe,GAAA;AACX,QAAA,MAAM,OAAO,GAAG,CAAA,8BAAA,EAAiC,IAAI,CAAC,cAAc,aAAa;;AAEjF,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;AACrF,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;IAClC;IAEA,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC;AAChC,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,SAAS,EAAE;AACd,SAAA,CAAC;IACN;AAEA,IAAA,qBAAqB,CAAC,KAAa,EAAA;QAC/B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD;AAEA,IAAA,oBAAoB,CAAC,KAAK,EAAA;AACtB,QAAA,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC;IAC5F;AAEA,IAAA,gBAAgB,CAAC,QAAQ,EAAA;AACrB,QAAA,MAAM,mBAAmB,GAAG;YACxB,GAAG,IAAI,CAAC;SACX;AAED,QAAA,IAAI,CAAC;AACA,aAAA,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC/B,YAAA,YAAY,EAAE,mBAAmB;AACjC,YAAA,eAAe,EAAE,IAAI,CAAC,0BAA0B;SACnD;aACA,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,YAAY,GAAG,mBAAmB;AACvC,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC;YAC1C,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAA,CAAC,CAAC;IACV;AAEA,IAAA,UAAU,CAAC,QAAQ,EAAA;AACf,QAAA,MAAM,aAAa,GAAG;YAClB,GAAG,IAAI,CAAC;SACX;AAED,QAAA,IAAI,CAAC;AACA,aAAA,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC/B,YAAA,MAAM,EAAE,aAAa;AACrB,YAAA,eAAe,EAAE,IAAI,CAAC,0BAA0B;SACnD;aACA,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,SAAS,GAAG,aAAa;AAC9B,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACpC,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAA,CAAC,CAAC;IACV;AAEA,IAAA,eAAe,CAAC,QAAQ,EAAA;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AAChF,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpD;IAEA,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1B,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,WAAW,EAAE;AAChB,SAAA,CAAC;IACN;AAEA,IAAA,WAAW,CAAC,KAAa,EAAA;QACrB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7C;AAEA,IAAA,UAAU,CAAC,KAA4B,EAAA;AACnC,QAAA,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC;IACtF;;IAGQ,0BAA0B,GAAA;AAC9B,QAAA,OAAO,aAAa,CAAC,0BAA0B,CAC3C,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,oBAAoB,CAC5B;IACL;IAEQ,2BAA2B,GAAA;QAC/B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE;AAChC,YAAA,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC,gBAAgB,CACvD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,iBAAiB,CACzB;QACL;aAAO;AACH,YAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;QACtC;IACJ;IAEA,gBAAgB,GAAA;QACZ,OAAO,IAAI,CAAC,qBAAqB;IACrC;+GA9RS,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,sNCzBzC,yiaAgRA,EAAA,MAAA,EAAA,CAAA,8iFAAA,EAAA,8tGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,4BAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,MAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,WAAA,EAAA,eAAA,EAAA,KAAA,EAAA,MAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,MAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,aAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,WAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,6BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,GAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDvPa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBARxC,SAAS;+BACI,yBAAyB,EAAA,QAAA,EAAA,yiaAAA,EAAA,MAAA,EAAA,CAAA,8iFAAA,EAAA,8tGAAA,CAAA,EAAA;4OAQC,qBAAqB,EAAA,CAAA;sBAAxD,SAAS;uBAAC,uBAAuB;;;AEnBtC,MAAM,MAAM,GAAW;AACnB,IAAA;AACI,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,SAAS,EAAE,4BAA4B;AACvC,QAAA,IAAI,EAAE;AACF,YAAA,KAAK,EAAE,0BAA0B;AACjC,YAAA,UAAU,EAAE,YAAY;AACxB,YAAA,OAAO,EAAE;AACZ;AACJ;CACJ;MAMY,0BAA0B,CAAA;+GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,CAHpB,4BAA4B,EAAE,6BAA6B,aAChE,oBAAoB,EAAAd,IAAA,CAAA,YAAA,CAAA,EAAA,CAAA,CAAA;gHAErB,0BAA0B,EAAA,OAAA,EAAA,CAFzB,oBAAoB,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA,EAAA,CAAA,CAAA;;4FAEpD,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE,CAAC,4BAA4B,EAAE,6BAA6B,CAAC;oBAC3E,OAAO,EAAE,CAAC,oBAAoB,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;AAChE,iBAAA;;;;;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component,
|
|
2
|
+
import { Component, CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1$1 from '@angular/router';
|
|
4
4
|
import { RouterModule } from '@angular/router';
|
|
5
5
|
import * as i3 from '@angular/platform-browser';
|
|
6
6
|
import { AppBaseComponent } from '@posiwise/app-base-component';
|
|
7
7
|
import * as i2 from '@posiwise/common-services';
|
|
8
8
|
import { HelperService } from '@posiwise/helper-service';
|
|
9
|
-
import { e as ResourceService, a as ResourceCardComponent, g as ResourceSharedModule } from './posiwise-resource-module-posiwise-resource-module-
|
|
9
|
+
import { e as ResourceService, a as ResourceCardComponent, g as ResourceSharedModule } from './posiwise-resource-module-posiwise-resource-module-CSoAgDvz.mjs';
|
|
10
10
|
import * as i1 from '@angular/forms';
|
|
11
11
|
import { UntypedFormBuilder, Validators } from '@angular/forms';
|
|
12
12
|
import * as i3$1 from '@angular/common';
|
|
@@ -315,4 +315,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
315
315
|
}] });
|
|
316
316
|
|
|
317
317
|
export { ResourcePostModule };
|
|
318
|
-
//# sourceMappingURL=posiwise-resource-module-resource-post.module-
|
|
318
|
+
//# sourceMappingURL=posiwise-resource-module-resource-post.module-DVxk5PGg.mjs.map
|