@posiwise/resource-module 0.0.201 → 0.0.203
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/{posiwise-resource-module-base-top-banner.component-CrdBpNSj.mjs → posiwise-resource-module-base-top-banner.component-BwujN_up.mjs} +16 -32
- package/fesm2022/posiwise-resource-module-base-top-banner.component-BwujN_up.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-blogs.module-hxktrj98.mjs → posiwise-resource-module-resource-blogs.module-mSKg7oDE.mjs} +52 -70
- package/fesm2022/posiwise-resource-module-resource-blogs.module-mSKg7oDE.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-cards.module-D3yf7FNt.mjs → posiwise-resource-module-resource-cards.module-BSJpkk9V.mjs} +718 -705
- package/fesm2022/posiwise-resource-module-resource-cards.module-BSJpkk9V.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-case-studies.module-CFcO0CI-.mjs → posiwise-resource-module-resource-case-studies.module-rCEpwQ4J.mjs} +62 -61
- package/fesm2022/posiwise-resource-module-resource-case-studies.module-rCEpwQ4J.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-events.module-0PDppSJ6.mjs → posiwise-resource-module-resource-events.module-Djau8zuG.mjs} +53 -54
- package/fesm2022/posiwise-resource-module-resource-events.module-Djau8zuG.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-hub.module-2qzLV9I1.mjs → posiwise-resource-module-resource-hub.module-CQtyBld2.mjs} +141 -122
- package/fesm2022/posiwise-resource-module-resource-hub.module-CQtyBld2.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-integrations.module-DqDd_1U9.mjs → posiwise-resource-module-resource-integrations.module-BXyPZf3W.mjs} +129 -132
- package/fesm2022/posiwise-resource-module-resource-integrations.module-BXyPZf3W.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module-resource-jobs.module-B53AOs8y.mjs +399 -0
- package/fesm2022/posiwise-resource-module-resource-jobs.module-B53AOs8y.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-post.module-BFuEjqA9.mjs → posiwise-resource-module-resource-post.module-DIaB5kyW.mjs} +206 -212
- package/fesm2022/posiwise-resource-module-resource-post.module-DIaB5kyW.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-release-notes.module-BbofH_0n.mjs → posiwise-resource-module-resource-release-notes.module-Btxs8la7.mjs} +59 -71
- package/fesm2022/posiwise-resource-module-resource-release-notes.module-Btxs8la7.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-root.module-C9c17Dhm.mjs → posiwise-resource-module-resource-root.module-BukwL-wp.mjs} +129 -132
- package/fesm2022/posiwise-resource-module-resource-root.module-BukwL-wp.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-videos.module-BsnB9vFd.mjs → posiwise-resource-module-resource-videos.module-CFkPbXn3.mjs} +50 -71
- package/fesm2022/posiwise-resource-module-resource-videos.module-CFkPbXn3.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-white-papers.module-BC-OyhAK.mjs → posiwise-resource-module-resource-white-papers.module-DBjSfwx4.mjs} +54 -68
- package/fesm2022/posiwise-resource-module-resource-white-papers.module-DBjSfwx4.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource.service-IK3r0iUB.mjs → posiwise-resource-module-resource.service-DAXsq-WG.mjs} +7 -8
- package/fesm2022/posiwise-resource-module-resource.service-DAXsq-WG.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module.mjs +252 -219
- package/fesm2022/posiwise-resource-module.mjs.map +1 -1
- package/package.json +1 -1
- package/types/posiwise-resource-module.d.ts +159 -168
- package/fesm2022/posiwise-resource-module-base-top-banner.component-CrdBpNSj.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-blogs.module-hxktrj98.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-cards.module-D3yf7FNt.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-case-studies.module-CFcO0CI-.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-events.module-0PDppSJ6.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-hub.module-2qzLV9I1.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-integrations.module-DqDd_1U9.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-post.module-BFuEjqA9.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-release-notes.module-BbofH_0n.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-root.module-C9c17Dhm.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-videos.module-BsnB9vFd.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-white-papers.module-BC-OyhAK.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource.service-IK3r0iUB.mjs.map +0 -1
|
@@ -1,31 +1,27 @@
|
|
|
1
|
-
import { t as ResourceService } from "./posiwise-resource-module-resource.service-
|
|
1
|
+
import { t as ResourceService } from "./posiwise-resource-module-resource.service-DAXsq-WG.mjs";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, NgModule, Output, ViewChild, ViewContainerRef } from "@angular/core";
|
|
3
|
+
import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostListener, Input, NgModule, Output, ViewChild, ViewContainerRef, inject } from "@angular/core";
|
|
4
|
+
import { AuthService, TagService } from "@posiwise/common-services";
|
|
4
5
|
import { HelperService } from "@posiwise/helper-service";
|
|
5
|
-
import
|
|
6
|
-
import * as i4 from "@angular/router";
|
|
7
|
-
import { RouterModule } from "@angular/router";
|
|
6
|
+
import { RouterLink, RouterModule } from "@angular/router";
|
|
8
7
|
import { Trial4SharedContactUsModule } from "@posiwise/resource-contact-us";
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import * as i5 from "@angular/forms";
|
|
8
|
+
import { CommonModule, NgClass, NgTemplateOutlet } from "@angular/common";
|
|
9
|
+
import * as i1 from "@angular/forms";
|
|
12
10
|
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
13
11
|
import { CoreTranslocoModule } from "@posiwise/core-transloco";
|
|
14
|
-
import
|
|
15
|
-
import { DirectivesModule } from "@posiwise/directives";
|
|
12
|
+
import { DirectivesModule, LazyImgDirective } from "@posiwise/directives";
|
|
16
13
|
import { PipesModule } from "@posiwise/pipes";
|
|
17
|
-
import
|
|
18
|
-
import {
|
|
19
|
-
import * as i10 from "@jsverse/transloco";
|
|
20
|
-
import { TranslocoModule } from "@jsverse/transloco";
|
|
14
|
+
import { NoDataComponent, ResourceSharedComponentsModule } from "@posiwise/shared-components";
|
|
15
|
+
import { TranslocoModule, TranslocoPipe } from "@jsverse/transloco";
|
|
21
16
|
import { AppBaseComponent } from "@posiwise/app-base-component";
|
|
22
|
-
import {
|
|
17
|
+
import { Bind } from "primeng/bind";
|
|
23
18
|
import { PaginatorModule } from "primeng/paginator";
|
|
19
|
+
import { forkJoin } from "rxjs";
|
|
24
20
|
import { DragDropModule } from "@angular/cdk/drag-drop";
|
|
25
21
|
import { NgxCaptchaModule } from "ngx-captcha";
|
|
26
22
|
import { SelectModule } from "primeng/select";
|
|
27
|
-
import
|
|
28
|
-
import
|
|
23
|
+
import { ProgressSpinner } from "primeng/progressspinner";
|
|
24
|
+
import { DomSanitizer } from "@angular/platform-browser";
|
|
29
25
|
var Trial4ContactUsModule = class Trial4ContactUsModule {
|
|
30
26
|
static {
|
|
31
27
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
@@ -71,8 +67,8 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
71
67
|
}]
|
|
72
68
|
});
|
|
73
69
|
var ResourceEditCardLazyComponent = class ResourceEditCardLazyComponent {
|
|
74
|
-
constructor(
|
|
75
|
-
this.cdr =
|
|
70
|
+
constructor() {
|
|
71
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
76
72
|
this.canEdit = false;
|
|
77
73
|
this.updated = new EventEmitter();
|
|
78
74
|
this.componentRef = null;
|
|
@@ -117,7 +113,7 @@ var ResourceEditCardLazyComponent = class ResourceEditCardLazyComponent {
|
|
|
117
113
|
version: "22.2.3",
|
|
118
114
|
ngImport: i0,
|
|
119
115
|
type: ResourceEditCardLazyComponent,
|
|
120
|
-
deps: [
|
|
116
|
+
deps: [],
|
|
121
117
|
target: i0.ɵɵFactoryTarget.Component
|
|
122
118
|
});
|
|
123
119
|
}
|
|
@@ -126,7 +122,7 @@ var ResourceEditCardLazyComponent = class ResourceEditCardLazyComponent {
|
|
|
126
122
|
minVersion: "14.0.0",
|
|
127
123
|
version: "22.2.3",
|
|
128
124
|
type: ResourceEditCardLazyComponent,
|
|
129
|
-
isStandalone:
|
|
125
|
+
isStandalone: true,
|
|
130
126
|
selector: "pw-resource-edit-card-lazy",
|
|
131
127
|
inputs: {
|
|
132
128
|
id: "id",
|
|
@@ -161,10 +157,9 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
161
157
|
selector: "pw-resource-edit-card-lazy",
|
|
162
158
|
template: `<ng-container #editCardContainer></ng-container>`,
|
|
163
159
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
164
|
-
|
|
160
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
165
161
|
}]
|
|
166
162
|
}],
|
|
167
|
-
ctorParameters: () => [{ type: i0.ChangeDetectorRef }],
|
|
168
163
|
propDecorators: {
|
|
169
164
|
container: [{
|
|
170
165
|
type: ViewChild,
|
|
@@ -193,6 +188,7 @@ var ResourcePager = class ResourcePager {
|
|
|
193
188
|
this.items = [];
|
|
194
189
|
this.isLoaded = false;
|
|
195
190
|
this.isLoadingMore = false;
|
|
191
|
+
this.hasError = false;
|
|
196
192
|
this.page = 0;
|
|
197
193
|
this.fetched = 0;
|
|
198
194
|
this.total = 0;
|
|
@@ -208,6 +204,9 @@ var ResourcePager = class ResourcePager {
|
|
|
208
204
|
get hasMore() {
|
|
209
205
|
return this.fetched < this.total;
|
|
210
206
|
}
|
|
207
|
+
get totalCount() {
|
|
208
|
+
return this.total;
|
|
209
|
+
}
|
|
211
210
|
reset() {
|
|
212
211
|
this.generation += 1;
|
|
213
212
|
this.items = [];
|
|
@@ -216,6 +215,7 @@ var ResourcePager = class ResourcePager {
|
|
|
216
215
|
this.total = 0;
|
|
217
216
|
this.isLoaded = false;
|
|
218
217
|
this.isLoadingMore = false;
|
|
218
|
+
this.hasError = false;
|
|
219
219
|
this.fetchNext(this.generation, 0);
|
|
220
220
|
}
|
|
221
221
|
loadMore() {
|
|
@@ -233,6 +233,7 @@ var ResourcePager = class ResourcePager {
|
|
|
233
233
|
this.fetchPage(this.page, this.pageSize).subscribe({
|
|
234
234
|
next: (response) => {
|
|
235
235
|
if (generation !== this.generation) return;
|
|
236
|
+
this.hasError = false;
|
|
236
237
|
const posts = response?.posts ?? [];
|
|
237
238
|
this.fetched += posts.length;
|
|
238
239
|
this.total = posts.length ? response.object_count ?? this.fetched : this.fetched;
|
|
@@ -248,6 +249,7 @@ var ResourcePager = class ResourcePager {
|
|
|
248
249
|
error: () => {
|
|
249
250
|
if (generation !== this.generation) return;
|
|
250
251
|
this.page -= 1;
|
|
252
|
+
this.hasError = true;
|
|
251
253
|
this.finish();
|
|
252
254
|
}
|
|
253
255
|
});
|
|
@@ -263,11 +265,11 @@ const RELEASE_TAG_NAMES = {
|
|
|
263
265
|
press: "Press Release Notes"
|
|
264
266
|
};
|
|
265
267
|
var ResourceNoteCardComponent = class ResourceNoteCardComponent extends AppBaseComponent {
|
|
266
|
-
constructor(
|
|
267
|
-
super(
|
|
268
|
-
this.resourceService =
|
|
269
|
-
this.tagService =
|
|
270
|
-
this.cdr =
|
|
268
|
+
constructor() {
|
|
269
|
+
super(...arguments);
|
|
270
|
+
this.resourceService = inject(ResourceService);
|
|
271
|
+
this.tagService = inject(TagService);
|
|
272
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
271
273
|
this.releaseHeader = false;
|
|
272
274
|
this.isReleasePress = false;
|
|
273
275
|
this.isResource = false;
|
|
@@ -364,12 +366,7 @@ var ResourceNoteCardComponent = class ResourceNoteCardComponent extends AppBaseC
|
|
|
364
366
|
version: "22.2.3",
|
|
365
367
|
ngImport: i0,
|
|
366
368
|
type: ResourceNoteCardComponent,
|
|
367
|
-
deps:
|
|
368
|
-
{ token: i0.Injector },
|
|
369
|
-
{ token: ResourceService },
|
|
370
|
-
{ token: i2.TagService },
|
|
371
|
-
{ token: i0.ChangeDetectorRef }
|
|
372
|
-
],
|
|
369
|
+
deps: null,
|
|
373
370
|
target: i0.ɵɵFactoryTarget.Component
|
|
374
371
|
});
|
|
375
372
|
}
|
|
@@ -378,7 +375,7 @@ var ResourceNoteCardComponent = class ResourceNoteCardComponent extends AppBaseC
|
|
|
378
375
|
minVersion: "17.0.0",
|
|
379
376
|
version: "22.2.3",
|
|
380
377
|
type: ResourceNoteCardComponent,
|
|
381
|
-
isStandalone:
|
|
378
|
+
isStandalone: true,
|
|
382
379
|
selector: "pw-resource-note-card",
|
|
383
380
|
inputs: {
|
|
384
381
|
releaseHeader: "releaseHeader",
|
|
@@ -399,42 +396,27 @@ var ResourceNoteCardComponent = class ResourceNoteCardComponent extends AppBaseC
|
|
|
399
396
|
dependencies: [
|
|
400
397
|
{
|
|
401
398
|
kind: "directive",
|
|
402
|
-
type:
|
|
399
|
+
type: NgClass,
|
|
403
400
|
selector: "[ngClass]",
|
|
404
401
|
inputs: ["class", "ngClass"]
|
|
405
402
|
},
|
|
406
403
|
{
|
|
407
|
-
kind: "
|
|
408
|
-
type:
|
|
409
|
-
selector: "[routerLink]",
|
|
410
|
-
inputs: [
|
|
411
|
-
"target",
|
|
412
|
-
"queryParams",
|
|
413
|
-
"fragment",
|
|
414
|
-
"queryParamsHandling",
|
|
415
|
-
"state",
|
|
416
|
-
"info",
|
|
417
|
-
"relativeTo",
|
|
418
|
-
"preserveFragment",
|
|
419
|
-
"skipLocationChange",
|
|
420
|
-
"replaceUrl",
|
|
421
|
-
"browserUrl",
|
|
422
|
-
"routerLink"
|
|
423
|
-
]
|
|
404
|
+
kind: "ngmodule",
|
|
405
|
+
type: FormsModule
|
|
424
406
|
},
|
|
425
407
|
{
|
|
426
408
|
kind: "directive",
|
|
427
|
-
type:
|
|
409
|
+
type: i1.DefaultValueAccessor,
|
|
428
410
|
selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]"
|
|
429
411
|
},
|
|
430
412
|
{
|
|
431
413
|
kind: "directive",
|
|
432
|
-
type:
|
|
414
|
+
type: i1.NgControlStatus,
|
|
433
415
|
selector: "[formControlName],[ngModel],[formControl]"
|
|
434
416
|
},
|
|
435
417
|
{
|
|
436
418
|
kind: "directive",
|
|
437
|
-
type:
|
|
419
|
+
type: i1.NgModel,
|
|
438
420
|
selector: "[ngModel]:not([formControlName]):not([formControl])",
|
|
439
421
|
inputs: [
|
|
440
422
|
"name",
|
|
@@ -446,18 +428,27 @@ var ResourceNoteCardComponent = class ResourceNoteCardComponent extends AppBaseC
|
|
|
446
428
|
exportAs: ["ngModel"]
|
|
447
429
|
},
|
|
448
430
|
{
|
|
449
|
-
kind: "
|
|
450
|
-
type:
|
|
451
|
-
selector: "
|
|
431
|
+
kind: "directive",
|
|
432
|
+
type: RouterLink,
|
|
433
|
+
selector: "[routerLink]",
|
|
452
434
|
inputs: [
|
|
453
|
-
"
|
|
454
|
-
"
|
|
455
|
-
"
|
|
435
|
+
"target",
|
|
436
|
+
"queryParams",
|
|
437
|
+
"fragment",
|
|
438
|
+
"queryParamsHandling",
|
|
439
|
+
"state",
|
|
440
|
+
"info",
|
|
441
|
+
"relativeTo",
|
|
442
|
+
"preserveFragment",
|
|
443
|
+
"skipLocationChange",
|
|
444
|
+
"replaceUrl",
|
|
445
|
+
"browserUrl",
|
|
446
|
+
"routerLink"
|
|
456
447
|
]
|
|
457
448
|
},
|
|
458
449
|
{
|
|
459
450
|
kind: "component",
|
|
460
|
-
type:
|
|
451
|
+
type: ProgressSpinner,
|
|
461
452
|
selector: "p-progress-spinner, p-progressspinner",
|
|
462
453
|
inputs: [
|
|
463
454
|
"value",
|
|
@@ -470,9 +461,14 @@ var ResourceNoteCardComponent = class ResourceNoteCardComponent extends AppBaseC
|
|
|
470
461
|
]
|
|
471
462
|
},
|
|
472
463
|
{
|
|
473
|
-
kind: "
|
|
474
|
-
type:
|
|
475
|
-
selector: "
|
|
464
|
+
kind: "component",
|
|
465
|
+
type: NoDataComponent,
|
|
466
|
+
selector: "pw-no-data",
|
|
467
|
+
inputs: [
|
|
468
|
+
"message",
|
|
469
|
+
"description",
|
|
470
|
+
"withImage"
|
|
471
|
+
]
|
|
476
472
|
},
|
|
477
473
|
{
|
|
478
474
|
kind: "component",
|
|
@@ -485,9 +481,14 @@ var ResourceNoteCardComponent = class ResourceNoteCardComponent extends AppBaseC
|
|
|
485
481
|
],
|
|
486
482
|
outputs: ["updated"]
|
|
487
483
|
},
|
|
484
|
+
{
|
|
485
|
+
kind: "directive",
|
|
486
|
+
type: LazyImgDirective,
|
|
487
|
+
selector: "img"
|
|
488
|
+
},
|
|
488
489
|
{
|
|
489
490
|
kind: "pipe",
|
|
490
|
-
type:
|
|
491
|
+
type: TranslocoPipe,
|
|
491
492
|
name: "transloco"
|
|
492
493
|
}
|
|
493
494
|
],
|
|
@@ -505,17 +506,22 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
505
506
|
args: [{
|
|
506
507
|
selector: "pw-resource-note-card",
|
|
507
508
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
508
|
-
|
|
509
|
+
imports: [
|
|
510
|
+
NgClass,
|
|
511
|
+
FormsModule,
|
|
512
|
+
RouterLink,
|
|
513
|
+
Bind,
|
|
514
|
+
ProgressSpinner,
|
|
515
|
+
NoDataComponent,
|
|
516
|
+
ResourceEditCardLazyComponent,
|
|
517
|
+
LazyImgDirective,
|
|
518
|
+
TranslocoPipe
|
|
519
|
+
],
|
|
520
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
509
521
|
template: "@if (hasReleases('product')) {\n<section class=\"resource-vault-section bg-white\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n @if (!isEditingTitle) {\n @if (postTags['product']?.title) {\n <span [innerHTML]=\"postTags['product']?.title\"></span>\n } @else {\n Product Release Notes\n }\n @if (canEditResourcesValue) {\n <i class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleEditTitle()\" (keydown.enter)=\"toggleEditTitle()\" (keydown.space)=\"toggleEditTitle()\" title=\"Edit Title\"></i>\n }\n } @else {\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" id=\"input_editedTitle_9216\" name=\"input_editedTitle_9216\"\n aria-label=\"Input Edited Title 9216\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle('product')\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n }\n </h2>\n @if (!postSlice) {\n <a class=\"view-all\" routerLink=\"/resources/release-notes\">VIEW ALL ></a>\n }\n </div>\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (releasePosts['product']?.length === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n @if (hasReleases('product')) {\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\">\n @for (post of releasePosts['product']; track post.id; let i = $index) {\n <div class=\"resource-blog-card p-4\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"loadReleases('product')\">\n </pw-resource-edit-card-lazy>\n <p class=\"resource-title\" [innerHTML]=\"post.title\"></p>\n @if (!post.picture?.url?.includes('default-photo.jpg')) {\n <img\n src=\"{{ post.picture.url }}\"\n class=\"resource-image mt-auto\"\n alt=\"Product Resource Icon\"\n width=\"240\"\n height=\"240\"\n [attr.loading]=\"i === 0 ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"i === 0 ? 'high' : null\"\n decoding=\"async\" />\n } @else {\n <img\n src=\"assets/img/resource/rocket-box.png\"\n class=\"press-release-icon mt-auto\"\n alt=\"Product Resource Default Icon\"\n width=\"240\"\n height=\"240\"\n [attr.loading]=\"i === 0 ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"i === 0 ? 'high' : null\"\n decoding=\"async\" />\n }\n @if (post?.external_url) {\n <a\n class=\"resource-btn mt-3\"\n [attr.aria-label]=\"'Open external: ' + (post?.title || 'article')\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">external</span>\n <span class=\"arrow\">→</span>\n </a>\n } @else {\n <a class=\"resource-btn mt-3\" [attr.aria-label]=\"'Read resource: ' + (post?.title || 'article')\" [routerLink]=\"['/resources/view', post?.slug]\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">on site</span>\n <span class=\"arrow\">→</span>\n </a>\n }\n </div>\n }\n </div>\n @if (postSlice && pagers['product']?.hasMore) {\n <button type=\"button\" class=\"resource-load-more\" [disabled]=\"isLoadingMore['product']\" (click)=\"pagers['product'].loadMore()\">\n {{ 'Resource.LoadMore' | transloco }}\n </button>\n }\n }\n </div>\n</section>\n}\n@if (isReleasePress && hasReleases('press')) {\n<section class=\"resource-vault-section bg-white\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isPressEditingTitle }\">\n @if (!isPressEditingTitle) {\n @if (postTags['press']?.title) {\n <span [innerHTML]=\"postTags['press']?.title\"></span>\n } @else {\n Press Release Notes\n }\n @if (canEditResourcesValue) {\n <i class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleEditPressTitle()\" (keydown.enter)=\"toggleEditPressTitle()\" (keydown.space)=\"toggleEditPressTitle()\" title=\"Edit Title\"></i>\n }\n } @else {\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isPressEditingTitle }\" id=\"input_editedTitle_1600\" name=\"input_editedTitle_1600\"\n aria-label=\"Input Edited Title 1600\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle('press')\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isPressEditingTitle = false\">Cancel</button>\n }\n </h2>\n @if (!postSlice) {\n <a class=\"view-all\" routerLink=\"/resources/release-notes\">VIEW ALL ></a>\n }\n </div>\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (releasePosts['press']?.length === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n @if (hasReleases('press')) {\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\">\n @for (post of releasePosts['press']; track post.id; let i = $index) {\n <div class=\"resource-blog-card p-4\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"loadReleases('press')\">\n </pw-resource-edit-card-lazy>\n <p class=\"resource-title\" [innerHTML]=\"post.title\"></p>\n @if (!post.picture?.url.includes('default-photo.jpg')) {\n <img\n src=\"{{ post.picture.url }}\"\n class=\"resource-image mt-auto\"\n alt=\"Press Resource Icon\"\n width=\"240\"\n height=\"240\"\n [attr.loading]=\"i === 0 ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"i === 0 ? 'high' : null\"\n decoding=\"async\" />\n } @else {\n <img\n src=\"assets/img/resource/rocket-box.png\"\n class=\"press-release-icon mt-auto\"\n alt=\"Press Resource Default Icon\"\n width=\"240\"\n height=\"240\"\n [attr.loading]=\"i === 0 ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"i === 0 ? 'high' : null\"\n decoding=\"async\" />\n }\n @if (post?.external_url) {\n <a\n class=\"resource-btn mt-3\"\n [attr.aria-label]=\"'Open external: ' + (post?.title || 'article')\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">external</span>\n <span class=\"arrow\">→</span>\n </a>\n } @else {\n <a class=\"resource-btn mt-3\" [attr.aria-label]=\"'Read resource: ' + (post?.title || 'article')\" [routerLink]=\"['/resources/view', post?.slug]\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">on site</span>\n <span class=\"arrow\">→</span>\n </a>\n }\n </div>\n }\n </div>\n @if (postSlice && pagers['press']?.hasMore) {\n <button type=\"button\" class=\"resource-load-more\" [disabled]=\"isLoadingMore['press']\" (click)=\"pagers['press'].loadMore()\">\n {{ 'Resource.LoadMore' | transloco }}\n </button>\n }\n }\n </div>\n</section>\n}\n",
|
|
510
522
|
styles: [".bold{font-weight:700}.resource-heading{margin-bottom:2rem}.resource-note{margin-top:1rem;font-size:.85rem;color:#555}.resource-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.resource-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.resource-vault-section .vault-heading{font-size:3rem;font-weight:300}.resource-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.resource-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.resource-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.resource-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.resource-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.resource-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.resource-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.resource-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.resource-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media(width<=1200px){.resource-vault-section .vault-heading{font-size:3.5rem}.resource-vault-section .vault-description{margin-top:1.35rem}.resource-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media(width>=991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media(width>=768px)and (width<=1200px){.container{padding:0 6rem!important}}@media(width<=768px){.video-row{gap:3rem!important}}@media(max-width:768px){.resource-vault-section{padding-bottom:6rem!important}.resource-vault-section .container{padding-top:0rem!important;padding-bottom:0rem!important}.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media(width<=1200px){.container{padding:7rem 3rem 1rem!important}}\n", ".resource-load-more{display:block;margin:4rem auto 0;padding:10px 32px;border-radius:24px;border:1px solid var(--text-color, black);background-color:var(--text-color, black);color:#fff;font-size:1.5rem;font-weight:500;cursor:pointer;transition:background .3s ease}.resource-load-more:hover:not(:disabled){background:#fff;color:var(--text-color, black)}.resource-load-more:disabled{opacity:.6;cursor:default}\n"]
|
|
511
523
|
}]
|
|
512
524
|
}],
|
|
513
|
-
ctorParameters: () => [
|
|
514
|
-
{ type: i0.Injector },
|
|
515
|
-
{ type: ResourceService },
|
|
516
|
-
{ type: i2.TagService },
|
|
517
|
-
{ type: i0.ChangeDetectorRef }
|
|
518
|
-
],
|
|
519
525
|
propDecorators: {
|
|
520
526
|
releaseHeader: [{ type: Input }],
|
|
521
527
|
categoryId: [{ type: Input }],
|
|
@@ -528,7 +534,20 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
528
534
|
userLoggedIn: [{ type: Input }]
|
|
529
535
|
}
|
|
530
536
|
});
|
|
531
|
-
var
|
|
537
|
+
var ResourceVideoCardComponent = class ResourceVideoCardComponent extends AppBaseComponent {
|
|
538
|
+
constructor() {
|
|
539
|
+
super(...arguments);
|
|
540
|
+
this.sanitizer = inject(DomSanitizer);
|
|
541
|
+
this.resourceService = inject(ResourceService);
|
|
542
|
+
this.tagService = inject(TagService);
|
|
543
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
544
|
+
this.showVideoSection = false;
|
|
545
|
+
this.postSlice = false;
|
|
546
|
+
this.canEditResourcesValue = false;
|
|
547
|
+
this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
|
|
548
|
+
this.videoStates = {};
|
|
549
|
+
this.isEditingTitle = false;
|
|
550
|
+
}
|
|
532
551
|
get posts() {
|
|
533
552
|
return this.pager?.items ?? [];
|
|
534
553
|
}
|
|
@@ -538,18 +557,6 @@ var CaseStudyCardComponent = class CaseStudyCardComponent extends AppBaseCompone
|
|
|
538
557
|
get isLoadingMore() {
|
|
539
558
|
return this.pager?.isLoadingMore ?? false;
|
|
540
559
|
}
|
|
541
|
-
constructor(injector, resourceService, tagService, cdr) {
|
|
542
|
-
super(injector);
|
|
543
|
-
this.resourceService = resourceService;
|
|
544
|
-
this.tagService = tagService;
|
|
545
|
-
this.cdr = cdr;
|
|
546
|
-
this.showCaseStudyHeader = false;
|
|
547
|
-
this.postSlice = false;
|
|
548
|
-
this.canEditResourcesValue = false;
|
|
549
|
-
this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
|
|
550
|
-
this.companyName = this.appConfig.company.name;
|
|
551
|
-
this.isEditingTitle = false;
|
|
552
|
-
}
|
|
553
560
|
ngOnInit() {
|
|
554
561
|
if (this.userLoggedIn) this.localStorage.getItem$("product").subscribe((res) => {
|
|
555
562
|
const data = res ? JSON.parse(res) : null;
|
|
@@ -563,17 +570,35 @@ var CaseStudyCardComponent = class CaseStudyCardComponent extends AppBaseCompone
|
|
|
563
570
|
if (this.userLoggedIn && this.user) this.updateCanEditResourcesValue();
|
|
564
571
|
}
|
|
565
572
|
}
|
|
573
|
+
loadVideo(post) {
|
|
574
|
+
if (!post.external_url) return;
|
|
575
|
+
const slug = post.slug;
|
|
576
|
+
let externalUrl = post.external_url;
|
|
577
|
+
externalUrl += externalUrl.includes("?") ? "&autoplay=1" : "?autoplay=1";
|
|
578
|
+
this.videoStates[slug].url = this.sanitizer.bypassSecurityTrustResourceUrl(externalUrl);
|
|
579
|
+
}
|
|
566
580
|
loadPosts() {
|
|
567
581
|
this.pager = ResourcePager.forPublicPosts(this.resourceService, () => ({
|
|
568
582
|
subscriptionId: this.getEffectiveSubscriptionId(),
|
|
569
583
|
tagCategoryIds: this.categoryId
|
|
570
|
-
}), () =>
|
|
584
|
+
}), () => {
|
|
585
|
+
this.syncVideoStates();
|
|
586
|
+
this.cdr.markForCheck();
|
|
587
|
+
}, (post) => post.showcase === true, this.postSlice ? 15 : 3);
|
|
571
588
|
this.pager.reset();
|
|
572
589
|
}
|
|
573
590
|
onWindowScroll() {
|
|
574
591
|
if (this.postSlice) this.pager?.loadMoreIfNearBottom();
|
|
575
592
|
}
|
|
576
|
-
|
|
593
|
+
syncVideoStates() {
|
|
594
|
+
this.posts.forEach((post) => {
|
|
595
|
+
if (post.external_url && !this.videoStates[post.slug]) this.videoStates[post.slug] = {
|
|
596
|
+
loaded: true,
|
|
597
|
+
url: this.sanitizer.bypassSecurityTrustResourceUrl(post.external_url)
|
|
598
|
+
};
|
|
599
|
+
});
|
|
600
|
+
}
|
|
601
|
+
toggleTagEditTitle() {
|
|
577
602
|
this.isEditingTitle = true;
|
|
578
603
|
this.editedTitle = this.resourceTitle;
|
|
579
604
|
}
|
|
@@ -601,13 +626,8 @@ var CaseStudyCardComponent = class CaseStudyCardComponent extends AppBaseCompone
|
|
|
601
626
|
minVersion: "12.0.0",
|
|
602
627
|
version: "22.2.3",
|
|
603
628
|
ngImport: i0,
|
|
604
|
-
type:
|
|
605
|
-
deps:
|
|
606
|
-
{ token: i0.Injector },
|
|
607
|
-
{ token: ResourceService },
|
|
608
|
-
{ token: i2.TagService },
|
|
609
|
-
{ token: i0.ChangeDetectorRef }
|
|
610
|
-
],
|
|
629
|
+
type: ResourceVideoCardComponent,
|
|
630
|
+
deps: null,
|
|
611
631
|
target: i0.ɵɵFactoryTarget.Component
|
|
612
632
|
});
|
|
613
633
|
}
|
|
@@ -615,14 +635,14 @@ var CaseStudyCardComponent = class CaseStudyCardComponent extends AppBaseCompone
|
|
|
615
635
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
616
636
|
minVersion: "17.0.0",
|
|
617
637
|
version: "22.2.3",
|
|
618
|
-
type:
|
|
619
|
-
isStandalone:
|
|
620
|
-
selector: "pw-
|
|
638
|
+
type: ResourceVideoCardComponent,
|
|
639
|
+
isStandalone: true,
|
|
640
|
+
selector: "pw-resource-video-card",
|
|
621
641
|
inputs: {
|
|
622
|
-
|
|
642
|
+
showVideoSection: "showVideoSection",
|
|
623
643
|
categoryId: "categoryId",
|
|
624
|
-
postSlice: "postSlice",
|
|
625
644
|
tag: "tag",
|
|
645
|
+
postSlice: "postSlice",
|
|
626
646
|
resourceTitle: "resourceTitle",
|
|
627
647
|
user: "user",
|
|
628
648
|
userLoggedIn: "userLoggedIn"
|
|
@@ -631,57 +651,32 @@ var CaseStudyCardComponent = class CaseStudyCardComponent extends AppBaseCompone
|
|
|
631
651
|
usesInheritance: true,
|
|
632
652
|
usesOnChanges: true,
|
|
633
653
|
ngImport: i0,
|
|
634
|
-
template: "<section class=\"resource-vault-section bg-white text-center py-5 extra-top-padding section-outer\"
|
|
635
|
-
styles: [".
|
|
654
|
+
template: "<section class=\"resource-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n @if (showVideoSection) {\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n @if (!isEditingTitle) {\n @if (resourceTitle) {\n <span [innerHTML]=\"resourceTitle\"></span>\n } @else {\n On-Demand Videos\n }\n @if (canEditResourcesValue) {\n <i class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleTagEditTitle()\" (keydown.enter)=\"toggleTagEditTitle()\" (keydown.space)=\"toggleTagEditTitle()\" title=\"Edit Title\"></i>\n }\n } @else {\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" id=\"input_editedTitle_9216\" name=\"input_editedTitle_9216\"\n aria-label=\"Input Edited Title 9216\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle()\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n }\n </h2>\n <a class=\"view-all\" routerLink=\"/resources/videos\">VIEW ALL ></a>\n </div>\n }\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (posts.length === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n @if (posts.length !== 0 && isLoaded) {\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center video-row\">\n @for (post of posts; track trackByPostId($index, post); let i = $index) {\n <div class=\"resource-blog-card\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"loadPosts()\">\n </pw-resource-edit-card-lazy>\n <p [innerHTML]=\"post.title\" class=\"mb-5\"></p>\n <a [href]=\" post.external_url\" target=\"_blank\">\n <img\n [src]=\"post.picture?.url\"\n class=\"img-fluid mb-3\"\n [alt]=\"post.title\"\n width=\"640\"\n height=\"360\"\n [attr.loading]=\"i === 0 ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"i === 0 ? 'high' : null\"\n decoding=\"async\" />\n </a>\n <a class=\"resource-btn mt-3\" [href]=\" post.external_url\" target=\"_blank\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Watch now' }}</span>\n <span class=\"arrow\">→</span>\n </a>\n </div>\n }\n </div>\n }\n @if (isLoadingMore) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n </div>\n\n</section>\n",
|
|
655
|
+
styles: [".bold{font-weight:700}.resource-heading{margin-bottom:2rem}.resource-note{margin-top:1rem;font-size:.85rem;color:#555}.resource-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.resource-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.resource-vault-section .vault-heading{font-size:3rem;font-weight:300}.resource-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.resource-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.resource-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.resource-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.resource-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.resource-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.resource-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.resource-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.resource-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media(width<=1200px){.resource-vault-section .vault-heading{font-size:3.5rem}.resource-vault-section .vault-description{margin-top:1.35rem}.resource-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media(width>=991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media(width>=768px)and (width<=1200px){.container{padding:0 6rem!important}}@media(width<=768px){.video-row{gap:3rem!important}}@media(max-width:768px){.resource-vault-section{padding-bottom:6rem!important}.resource-vault-section .container{padding-top:0rem!important;padding-bottom:0rem!important}.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media(width<=1200px){.container{padding:7rem 3rem 1rem!important}}\n"],
|
|
636
656
|
dependencies: [
|
|
637
657
|
{
|
|
638
658
|
kind: "directive",
|
|
639
|
-
type:
|
|
659
|
+
type: NgClass,
|
|
640
660
|
selector: "[ngClass]",
|
|
641
661
|
inputs: ["class", "ngClass"]
|
|
642
662
|
},
|
|
643
663
|
{
|
|
644
|
-
kind: "
|
|
645
|
-
type:
|
|
646
|
-
selector: "[ngTemplateOutlet]",
|
|
647
|
-
inputs: [
|
|
648
|
-
"ngTemplateOutletContext",
|
|
649
|
-
"ngTemplateOutlet",
|
|
650
|
-
"ngTemplateOutletInjector"
|
|
651
|
-
]
|
|
652
|
-
},
|
|
653
|
-
{
|
|
654
|
-
kind: "directive",
|
|
655
|
-
type: i4.RouterLink,
|
|
656
|
-
selector: "[routerLink]",
|
|
657
|
-
inputs: [
|
|
658
|
-
"target",
|
|
659
|
-
"queryParams",
|
|
660
|
-
"fragment",
|
|
661
|
-
"queryParamsHandling",
|
|
662
|
-
"state",
|
|
663
|
-
"info",
|
|
664
|
-
"relativeTo",
|
|
665
|
-
"preserveFragment",
|
|
666
|
-
"skipLocationChange",
|
|
667
|
-
"replaceUrl",
|
|
668
|
-
"browserUrl",
|
|
669
|
-
"routerLink"
|
|
670
|
-
]
|
|
664
|
+
kind: "ngmodule",
|
|
665
|
+
type: FormsModule
|
|
671
666
|
},
|
|
672
667
|
{
|
|
673
668
|
kind: "directive",
|
|
674
|
-
type:
|
|
669
|
+
type: i1.DefaultValueAccessor,
|
|
675
670
|
selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]"
|
|
676
671
|
},
|
|
677
672
|
{
|
|
678
673
|
kind: "directive",
|
|
679
|
-
type:
|
|
674
|
+
type: i1.NgControlStatus,
|
|
680
675
|
selector: "[formControlName],[ngModel],[formControl]"
|
|
681
676
|
},
|
|
682
677
|
{
|
|
683
678
|
kind: "directive",
|
|
684
|
-
type:
|
|
679
|
+
type: i1.NgModel,
|
|
685
680
|
selector: "[ngModel]:not([formControlName]):not([formControl])",
|
|
686
681
|
inputs: [
|
|
687
682
|
"name",
|
|
@@ -693,18 +688,27 @@ var CaseStudyCardComponent = class CaseStudyCardComponent extends AppBaseCompone
|
|
|
693
688
|
exportAs: ["ngModel"]
|
|
694
689
|
},
|
|
695
690
|
{
|
|
696
|
-
kind: "
|
|
697
|
-
type:
|
|
698
|
-
selector: "
|
|
691
|
+
kind: "directive",
|
|
692
|
+
type: RouterLink,
|
|
693
|
+
selector: "[routerLink]",
|
|
699
694
|
inputs: [
|
|
700
|
-
"
|
|
701
|
-
"
|
|
702
|
-
"
|
|
695
|
+
"target",
|
|
696
|
+
"queryParams",
|
|
697
|
+
"fragment",
|
|
698
|
+
"queryParamsHandling",
|
|
699
|
+
"state",
|
|
700
|
+
"info",
|
|
701
|
+
"relativeTo",
|
|
702
|
+
"preserveFragment",
|
|
703
|
+
"skipLocationChange",
|
|
704
|
+
"replaceUrl",
|
|
705
|
+
"browserUrl",
|
|
706
|
+
"routerLink"
|
|
703
707
|
]
|
|
704
708
|
},
|
|
705
709
|
{
|
|
706
710
|
kind: "component",
|
|
707
|
-
type:
|
|
711
|
+
type: ProgressSpinner,
|
|
708
712
|
selector: "p-progress-spinner, p-progressspinner",
|
|
709
713
|
inputs: [
|
|
710
714
|
"value",
|
|
@@ -717,9 +721,14 @@ var CaseStudyCardComponent = class CaseStudyCardComponent extends AppBaseCompone
|
|
|
717
721
|
]
|
|
718
722
|
},
|
|
719
723
|
{
|
|
720
|
-
kind: "
|
|
721
|
-
type:
|
|
722
|
-
selector: "
|
|
724
|
+
kind: "component",
|
|
725
|
+
type: NoDataComponent,
|
|
726
|
+
selector: "pw-no-data",
|
|
727
|
+
inputs: [
|
|
728
|
+
"message",
|
|
729
|
+
"description",
|
|
730
|
+
"withImage"
|
|
731
|
+
]
|
|
723
732
|
},
|
|
724
733
|
{
|
|
725
734
|
kind: "component",
|
|
@@ -732,9 +741,14 @@ var CaseStudyCardComponent = class CaseStudyCardComponent extends AppBaseCompone
|
|
|
732
741
|
],
|
|
733
742
|
outputs: ["updated"]
|
|
734
743
|
},
|
|
744
|
+
{
|
|
745
|
+
kind: "directive",
|
|
746
|
+
type: LazyImgDirective,
|
|
747
|
+
selector: "img"
|
|
748
|
+
},
|
|
735
749
|
{
|
|
736
750
|
kind: "pipe",
|
|
737
|
-
type:
|
|
751
|
+
type: TranslocoPipe,
|
|
738
752
|
name: "transloco"
|
|
739
753
|
}
|
|
740
754
|
],
|
|
@@ -746,28 +760,33 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
746
760
|
minVersion: "12.0.0",
|
|
747
761
|
version: "22.2.3",
|
|
748
762
|
ngImport: i0,
|
|
749
|
-
type:
|
|
763
|
+
type: ResourceVideoCardComponent,
|
|
750
764
|
decorators: [{
|
|
751
765
|
type: Component,
|
|
752
766
|
args: [{
|
|
753
|
-
selector: "pw-
|
|
767
|
+
selector: "pw-resource-video-card",
|
|
754
768
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
769
|
+
imports: [
|
|
770
|
+
NgClass,
|
|
771
|
+
FormsModule,
|
|
772
|
+
RouterLink,
|
|
773
|
+
Bind,
|
|
774
|
+
ProgressSpinner,
|
|
775
|
+
NoDataComponent,
|
|
776
|
+
ResourceEditCardLazyComponent,
|
|
777
|
+
LazyImgDirective,
|
|
778
|
+
TranslocoPipe
|
|
779
|
+
],
|
|
780
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
781
|
+
template: "<section class=\"resource-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n @if (showVideoSection) {\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n @if (!isEditingTitle) {\n @if (resourceTitle) {\n <span [innerHTML]=\"resourceTitle\"></span>\n } @else {\n On-Demand Videos\n }\n @if (canEditResourcesValue) {\n <i class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleTagEditTitle()\" (keydown.enter)=\"toggleTagEditTitle()\" (keydown.space)=\"toggleTagEditTitle()\" title=\"Edit Title\"></i>\n }\n } @else {\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" id=\"input_editedTitle_9216\" name=\"input_editedTitle_9216\"\n aria-label=\"Input Edited Title 9216\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle()\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n }\n </h2>\n <a class=\"view-all\" routerLink=\"/resources/videos\">VIEW ALL ></a>\n </div>\n }\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (posts.length === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n @if (posts.length !== 0 && isLoaded) {\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center video-row\">\n @for (post of posts; track trackByPostId($index, post); let i = $index) {\n <div class=\"resource-blog-card\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"loadPosts()\">\n </pw-resource-edit-card-lazy>\n <p [innerHTML]=\"post.title\" class=\"mb-5\"></p>\n <a [href]=\" post.external_url\" target=\"_blank\">\n <img\n [src]=\"post.picture?.url\"\n class=\"img-fluid mb-3\"\n [alt]=\"post.title\"\n width=\"640\"\n height=\"360\"\n [attr.loading]=\"i === 0 ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"i === 0 ? 'high' : null\"\n decoding=\"async\" />\n </a>\n <a class=\"resource-btn mt-3\" [href]=\" post.external_url\" target=\"_blank\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Watch now' }}</span>\n <span class=\"arrow\">→</span>\n </a>\n </div>\n }\n </div>\n }\n @if (isLoadingMore) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n </div>\n\n</section>\n",
|
|
782
|
+
styles: [".bold{font-weight:700}.resource-heading{margin-bottom:2rem}.resource-note{margin-top:1rem;font-size:.85rem;color:#555}.resource-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.resource-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.resource-vault-section .vault-heading{font-size:3rem;font-weight:300}.resource-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.resource-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.resource-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.resource-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.resource-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.resource-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.resource-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.resource-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.resource-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media(width<=1200px){.resource-vault-section .vault-heading{font-size:3.5rem}.resource-vault-section .vault-description{margin-top:1.35rem}.resource-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media(width>=991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media(width>=768px)and (width<=1200px){.container{padding:0 6rem!important}}@media(width<=768px){.video-row{gap:3rem!important}}@media(max-width:768px){.resource-vault-section{padding-bottom:6rem!important}.resource-vault-section .container{padding-top:0rem!important;padding-bottom:0rem!important}.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media(width<=1200px){.container{padding:7rem 3rem 1rem!important}}\n"]
|
|
758
783
|
}]
|
|
759
784
|
}],
|
|
760
|
-
ctorParameters: () => [
|
|
761
|
-
{ type: i0.Injector },
|
|
762
|
-
{ type: ResourceService },
|
|
763
|
-
{ type: i2.TagService },
|
|
764
|
-
{ type: i0.ChangeDetectorRef }
|
|
765
|
-
],
|
|
766
785
|
propDecorators: {
|
|
767
|
-
|
|
786
|
+
showVideoSection: [{ type: Input }],
|
|
768
787
|
categoryId: [{ type: Input }],
|
|
769
|
-
postSlice: [{ type: Input }],
|
|
770
788
|
tag: [{ type: Input }],
|
|
789
|
+
postSlice: [{ type: Input }],
|
|
771
790
|
resourceTitle: [{ type: Input }],
|
|
772
791
|
user: [{ type: Input }],
|
|
773
792
|
userLoggedIn: [{ type: Input }],
|
|
@@ -777,17 +796,27 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
777
796
|
}]
|
|
778
797
|
}
|
|
779
798
|
});
|
|
780
|
-
var
|
|
781
|
-
constructor(
|
|
782
|
-
super(
|
|
783
|
-
this.resourceService =
|
|
784
|
-
this.tagService =
|
|
785
|
-
this.cdr =
|
|
786
|
-
this.
|
|
787
|
-
this.isRelated = false;
|
|
799
|
+
var CaseStudyCardComponent = class CaseStudyCardComponent extends AppBaseComponent {
|
|
800
|
+
constructor() {
|
|
801
|
+
super(...arguments);
|
|
802
|
+
this.resourceService = inject(ResourceService);
|
|
803
|
+
this.tagService = inject(TagService);
|
|
804
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
805
|
+
this.showCaseStudyHeader = false;
|
|
788
806
|
this.postSlice = false;
|
|
789
|
-
this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
|
|
790
807
|
this.canEditResourcesValue = false;
|
|
808
|
+
this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
|
|
809
|
+
this.companyName = this.appConfig.company.name;
|
|
810
|
+
this.isEditingTitle = false;
|
|
811
|
+
}
|
|
812
|
+
get posts() {
|
|
813
|
+
return this.pager?.items ?? [];
|
|
814
|
+
}
|
|
815
|
+
get isLoaded() {
|
|
816
|
+
return this.pager?.isLoaded ?? false;
|
|
817
|
+
}
|
|
818
|
+
get isLoadingMore() {
|
|
819
|
+
return this.pager?.isLoadingMore ?? false;
|
|
791
820
|
}
|
|
792
821
|
ngOnInit() {
|
|
793
822
|
if (this.userLoggedIn) this.localStorage.getItem$("product").subscribe((res) => {
|
|
@@ -802,18 +831,6 @@ var ResourceCardComponent = class ResourceCardComponent extends AppBaseComponent
|
|
|
802
831
|
if (this.userLoggedIn && this.user) this.updateCanEditResourcesValue();
|
|
803
832
|
}
|
|
804
833
|
}
|
|
805
|
-
get posts() {
|
|
806
|
-
return this.pager?.items ?? [];
|
|
807
|
-
}
|
|
808
|
-
get isLoaded() {
|
|
809
|
-
return this.pager?.isLoaded ?? false;
|
|
810
|
-
}
|
|
811
|
-
get isLoadingMore() {
|
|
812
|
-
return this.pager?.isLoadingMore ?? false;
|
|
813
|
-
}
|
|
814
|
-
get hasMorePosts() {
|
|
815
|
-
return this.postSlice && !!this.pager?.hasMore;
|
|
816
|
-
}
|
|
817
834
|
loadPosts() {
|
|
818
835
|
this.pager = ResourcePager.forPublicPosts(this.resourceService, () => ({
|
|
819
836
|
subscriptionId: this.getEffectiveSubscriptionId(),
|
|
@@ -824,7 +841,7 @@ var ResourceCardComponent = class ResourceCardComponent extends AppBaseComponent
|
|
|
824
841
|
onWindowScroll() {
|
|
825
842
|
if (this.postSlice) this.pager?.loadMoreIfNearBottom();
|
|
826
843
|
}
|
|
827
|
-
|
|
844
|
+
toggleEditTitle() {
|
|
828
845
|
this.isEditingTitle = true;
|
|
829
846
|
this.editedTitle = this.resourceTitle;
|
|
830
847
|
}
|
|
@@ -844,18 +861,16 @@ var ResourceCardComponent = class ResourceCardComponent extends AppBaseComponent
|
|
|
844
861
|
canEditResources() {
|
|
845
862
|
return this.canEditResourcesValue;
|
|
846
863
|
}
|
|
864
|
+
trackByPostId(index, post) {
|
|
865
|
+
return post.id;
|
|
866
|
+
}
|
|
847
867
|
static {
|
|
848
868
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
849
869
|
minVersion: "12.0.0",
|
|
850
870
|
version: "22.2.3",
|
|
851
871
|
ngImport: i0,
|
|
852
|
-
type:
|
|
853
|
-
deps:
|
|
854
|
-
{ token: i0.Injector },
|
|
855
|
-
{ token: ResourceService },
|
|
856
|
-
{ token: i2.TagService },
|
|
857
|
-
{ token: i0.ChangeDetectorRef }
|
|
858
|
-
],
|
|
872
|
+
type: CaseStudyCardComponent,
|
|
873
|
+
deps: null,
|
|
859
874
|
target: i0.ɵɵFactoryTarget.Component
|
|
860
875
|
});
|
|
861
876
|
}
|
|
@@ -863,18 +878,15 @@ var ResourceCardComponent = class ResourceCardComponent extends AppBaseComponent
|
|
|
863
878
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
864
879
|
minVersion: "17.0.0",
|
|
865
880
|
version: "22.2.3",
|
|
866
|
-
type:
|
|
867
|
-
isStandalone:
|
|
868
|
-
selector: "pw-
|
|
881
|
+
type: CaseStudyCardComponent,
|
|
882
|
+
isStandalone: true,
|
|
883
|
+
selector: "pw-case-studies-card",
|
|
869
884
|
inputs: {
|
|
885
|
+
showCaseStudyHeader: "showCaseStudyHeader",
|
|
870
886
|
categoryId: "categoryId",
|
|
871
|
-
isHeaderVisible: "isHeaderVisible",
|
|
872
|
-
isRelated: "isRelated",
|
|
873
|
-
resourceTitle: "resourceTitle",
|
|
874
887
|
postSlice: "postSlice",
|
|
875
|
-
header: "header",
|
|
876
888
|
tag: "tag",
|
|
877
|
-
|
|
889
|
+
resourceTitle: "resourceTitle",
|
|
878
890
|
user: "user",
|
|
879
891
|
userLoggedIn: "userLoggedIn"
|
|
880
892
|
},
|
|
@@ -882,18 +894,22 @@ var ResourceCardComponent = class ResourceCardComponent extends AppBaseComponent
|
|
|
882
894
|
usesInheritance: true,
|
|
883
895
|
usesOnChanges: true,
|
|
884
896
|
ngImport: i0,
|
|
885
|
-
template: "<section class=\"resource-vault-section bg-white\">\n <div class=\"container\">\n @if (
|
|
886
|
-
styles: [".
|
|
897
|
+
template: "<section class=\"resource-vault-section bg-white text-center py-5 extra-top-padding section-outer\" id=\"case-studies\">\n <div class=\"container\">\n @if (showCaseStudyHeader) {\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <ng-container *ngTemplateOutlet=\"caseStudyHeaderTemplate\"></ng-container>\n <a class=\"view-all\" routerLink=\"/resources/case-studies\">VIEW ALL ></a>\n </div>\n } @else {\n <div class=\"d-md-flex justify-content-between align-items-start\">\n <ng-container *ngTemplateOutlet=\"caseStudyHeaderTemplate\"></ng-container>\n </div>\n }\n\n\n <ng-template #caseStudyHeaderTemplate>\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n @if (!isEditingTitle) {\n @if (resourceTitle) {\n <span>\n <span [innerHTML]=\"resourceTitle\"></span>\n </span>\n } @else {\n Case Studies\n }\n @if (canEditResourcesValue) {\n <i\n class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\"\n (click)=\"toggleEditTitle()\"\n (keydown.enter)=\"toggleEditTitle()\"\n (keydown.space)=\"toggleEditTitle()\"\n title=\"Edit Title\"></i>\n }\n } @else {\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" id=\"input_editedTitle_9216\" name=\"input_editedTitle_9216\"\n aria-label=\"Input Edited Title 9216\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle()\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n }\n\n </h2>\n </ng-template>\n\n\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (posts.length === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n\n\n @if (posts.length !== 0 && isLoaded) {\n <div class=\"row d-flex flex-wrap justify-content-center gap-4 video-row\">\n @for (post of posts; track trackByPostId($index, post); let i = $index) {\n <div class=\"testimonial-box\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"loadPosts()\">\n </pw-resource-edit-card-lazy>\n <div>\n @if (!post.rectangular_picture.url.includes('default-photo.jpg') ) {\n <img [src]=\"post.rectangular_picture.url\"\n alt=\"IT Partners Logo\"\n class=\"company-logo mb-3\"\n width=\"320\"\n height=\"180\"\n [attr.loading]=\"i === 0 ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"i === 0 ? 'high' : null\"\n decoding=\"async\" />\n }\n <p class=\"mb-4 mt-3 testimonial-section\">\n <span [innerHTML]=\"post.title\"></span>\n </p>\n </div>\n <!-- BOTTOM AVATAR -->\n <div class=\"avatar-container mt-5\">\n @if (post.picture.url && !post.picture.url.includes('default-photo.jpg')) {\n <img [src]=\"post.picture.url\"\n alt=\"User Avatar\"\n class=\"testimonial-avatar\"\n width=\"96\"\n height=\"96\"\n loading=\"lazy\"\n decoding=\"async\" />\n }\n @if (post?.external_url) {\n <a\n class=\"read-more-btn-overlay\"\n [attr.aria-label]=\"'Open external: ' + (post?.title || 'article')\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">external</span>\n <span class=\"arrow\">→</span>\n </a>\n } @else {\n <a class=\"read-more-btn-overlay\" [attr.aria-label]=\"'Read resource: ' + (post?.title || 'article')\" [routerLink]=\"['/resources/view', post?.slug]\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">on site</span>\n <span class=\"arrow\">→</span>\n </a>\n }\n </div>\n </div>\n }\n </div>\n }\n @if (isLoadingMore) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n </div>\n</section>\n",
|
|
898
|
+
styles: [".resource-vault-section{background:#fff;text-align:center;padding:3rem 0}.section-outer,.container{padding:0 15px}.d-md-flex{display:flex}.justify-content-between{justify-content:space-between}.align-items-start{align-items:flex-start}.vault-heading{font-size:2rem;font-weight:700}.video-row{margin-top:3rem;gap:5.5rem!important}.row{display:flex;flex-wrap:wrap}.col-md-6,.col-lg-4{flex:0 0 auto;width:100%}@media(width>=768px){.col-md-6,.col-lg-4{width:50%}}@media(width>=992px){.col-md-6,.col-lg-4{width:33.3333%}}.mb-4{margin-bottom:1.5rem}.testimonial-box{display:flex;flex-direction:column;justify-content:space-between;background:#fff;color:#000;border-radius:20px;box-shadow:0 0 20px #0000001a;text-align:center;width:338px;height:auto;padding:2.5rem 1.5rem;font-size:1.1rem;min-height:421.4px!important}.testimonial-box .testimonial-section{font-size:1.5rem;line-height:2rem;font-weight:400;color:var(--text-color, black)}.testimonial-box .testimonial-section strong{display:block}.testimonial-box .company-logo{width:100%!important;height:auto!important;max-width:150px!important;object-fit:contain;align-self:center}.testimonial-box .avatar-container{margin-top:auto;position:relative;display:inline-block}.testimonial-box .avatar-container .testimonial-avatar{width:60%;aspect-ratio:1/1;height:auto;border-radius:50%;object-fit:fill}.testimonial-box .avatar-container .read-more-btn-overlay{position:absolute;text-decoration:none!important;bottom:0;left:50%;transform:translate(-50%);background-color:var(--text-color, black);color:#fff;width:240px;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.testimonial-box .avatar-container .read-more-btn-overlay:hover{background:#fff;color:var(--text-color, black)!important}.testimonial-box .avatar-container .read-more-btn-overlay .arrow{margin-bottom:.3rem}\n"],
|
|
887
899
|
dependencies: [
|
|
888
900
|
{
|
|
889
901
|
kind: "directive",
|
|
890
|
-
type:
|
|
891
|
-
selector: "[
|
|
892
|
-
inputs: [
|
|
902
|
+
type: NgTemplateOutlet,
|
|
903
|
+
selector: "[ngTemplateOutlet]",
|
|
904
|
+
inputs: [
|
|
905
|
+
"ngTemplateOutletContext",
|
|
906
|
+
"ngTemplateOutlet",
|
|
907
|
+
"ngTemplateOutletInjector"
|
|
908
|
+
]
|
|
893
909
|
},
|
|
894
910
|
{
|
|
895
911
|
kind: "directive",
|
|
896
|
-
type:
|
|
912
|
+
type: RouterLink,
|
|
897
913
|
selector: "[routerLink]",
|
|
898
914
|
inputs: [
|
|
899
915
|
"target",
|
|
@@ -912,17 +928,27 @@ var ResourceCardComponent = class ResourceCardComponent extends AppBaseComponent
|
|
|
912
928
|
},
|
|
913
929
|
{
|
|
914
930
|
kind: "directive",
|
|
915
|
-
type:
|
|
931
|
+
type: NgClass,
|
|
932
|
+
selector: "[ngClass]",
|
|
933
|
+
inputs: ["class", "ngClass"]
|
|
934
|
+
},
|
|
935
|
+
{
|
|
936
|
+
kind: "ngmodule",
|
|
937
|
+
type: FormsModule
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
kind: "directive",
|
|
941
|
+
type: i1.DefaultValueAccessor,
|
|
916
942
|
selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]"
|
|
917
943
|
},
|
|
918
944
|
{
|
|
919
945
|
kind: "directive",
|
|
920
|
-
type:
|
|
946
|
+
type: i1.NgControlStatus,
|
|
921
947
|
selector: "[formControlName],[ngModel],[formControl]"
|
|
922
948
|
},
|
|
923
949
|
{
|
|
924
950
|
kind: "directive",
|
|
925
|
-
type:
|
|
951
|
+
type: i1.NgModel,
|
|
926
952
|
selector: "[ngModel]:not([formControlName]):not([formControl])",
|
|
927
953
|
inputs: [
|
|
928
954
|
"name",
|
|
@@ -935,17 +961,254 @@ var ResourceCardComponent = class ResourceCardComponent extends AppBaseComponent
|
|
|
935
961
|
},
|
|
936
962
|
{
|
|
937
963
|
kind: "component",
|
|
938
|
-
type:
|
|
939
|
-
selector: "
|
|
964
|
+
type: ProgressSpinner,
|
|
965
|
+
selector: "p-progress-spinner, p-progressspinner",
|
|
940
966
|
inputs: [
|
|
941
|
-
"
|
|
942
|
-
"
|
|
967
|
+
"value",
|
|
968
|
+
"strokeWidth",
|
|
969
|
+
"animationDuration",
|
|
970
|
+
"min",
|
|
971
|
+
"max",
|
|
972
|
+
"ariaLabel",
|
|
973
|
+
"fill"
|
|
974
|
+
]
|
|
975
|
+
},
|
|
976
|
+
{
|
|
977
|
+
kind: "component",
|
|
978
|
+
type: NoDataComponent,
|
|
979
|
+
selector: "pw-no-data",
|
|
980
|
+
inputs: [
|
|
981
|
+
"message",
|
|
982
|
+
"description",
|
|
943
983
|
"withImage"
|
|
944
984
|
]
|
|
945
985
|
},
|
|
946
986
|
{
|
|
947
987
|
kind: "component",
|
|
948
|
-
type:
|
|
988
|
+
type: ResourceEditCardLazyComponent,
|
|
989
|
+
selector: "pw-resource-edit-card-lazy",
|
|
990
|
+
inputs: [
|
|
991
|
+
"id",
|
|
992
|
+
"resourceData",
|
|
993
|
+
"canEdit"
|
|
994
|
+
],
|
|
995
|
+
outputs: ["updated"]
|
|
996
|
+
},
|
|
997
|
+
{
|
|
998
|
+
kind: "directive",
|
|
999
|
+
type: LazyImgDirective,
|
|
1000
|
+
selector: "img"
|
|
1001
|
+
},
|
|
1002
|
+
{
|
|
1003
|
+
kind: "pipe",
|
|
1004
|
+
type: TranslocoPipe,
|
|
1005
|
+
name: "transloco"
|
|
1006
|
+
}
|
|
1007
|
+
],
|
|
1008
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
1009
|
+
});
|
|
1010
|
+
}
|
|
1011
|
+
};
|
|
1012
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
1013
|
+
minVersion: "12.0.0",
|
|
1014
|
+
version: "22.2.3",
|
|
1015
|
+
ngImport: i0,
|
|
1016
|
+
type: CaseStudyCardComponent,
|
|
1017
|
+
decorators: [{
|
|
1018
|
+
type: Component,
|
|
1019
|
+
args: [{
|
|
1020
|
+
selector: "pw-case-studies-card",
|
|
1021
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1022
|
+
imports: [
|
|
1023
|
+
NgTemplateOutlet,
|
|
1024
|
+
RouterLink,
|
|
1025
|
+
NgClass,
|
|
1026
|
+
FormsModule,
|
|
1027
|
+
Bind,
|
|
1028
|
+
ProgressSpinner,
|
|
1029
|
+
NoDataComponent,
|
|
1030
|
+
ResourceEditCardLazyComponent,
|
|
1031
|
+
LazyImgDirective,
|
|
1032
|
+
ResourceVideoCardComponent,
|
|
1033
|
+
TranslocoPipe
|
|
1034
|
+
],
|
|
1035
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
1036
|
+
template: "<section class=\"resource-vault-section bg-white text-center py-5 extra-top-padding section-outer\" id=\"case-studies\">\n <div class=\"container\">\n @if (showCaseStudyHeader) {\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <ng-container *ngTemplateOutlet=\"caseStudyHeaderTemplate\"></ng-container>\n <a class=\"view-all\" routerLink=\"/resources/case-studies\">VIEW ALL ></a>\n </div>\n } @else {\n <div class=\"d-md-flex justify-content-between align-items-start\">\n <ng-container *ngTemplateOutlet=\"caseStudyHeaderTemplate\"></ng-container>\n </div>\n }\n\n\n <ng-template #caseStudyHeaderTemplate>\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n @if (!isEditingTitle) {\n @if (resourceTitle) {\n <span>\n <span [innerHTML]=\"resourceTitle\"></span>\n </span>\n } @else {\n Case Studies\n }\n @if (canEditResourcesValue) {\n <i\n class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\"\n (click)=\"toggleEditTitle()\"\n (keydown.enter)=\"toggleEditTitle()\"\n (keydown.space)=\"toggleEditTitle()\"\n title=\"Edit Title\"></i>\n }\n } @else {\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" id=\"input_editedTitle_9216\" name=\"input_editedTitle_9216\"\n aria-label=\"Input Edited Title 9216\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle()\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n }\n\n </h2>\n </ng-template>\n\n\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (posts.length === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n\n\n @if (posts.length !== 0 && isLoaded) {\n <div class=\"row d-flex flex-wrap justify-content-center gap-4 video-row\">\n @for (post of posts; track trackByPostId($index, post); let i = $index) {\n <div class=\"testimonial-box\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"loadPosts()\">\n </pw-resource-edit-card-lazy>\n <div>\n @if (!post.rectangular_picture.url.includes('default-photo.jpg') ) {\n <img [src]=\"post.rectangular_picture.url\"\n alt=\"IT Partners Logo\"\n class=\"company-logo mb-3\"\n width=\"320\"\n height=\"180\"\n [attr.loading]=\"i === 0 ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"i === 0 ? 'high' : null\"\n decoding=\"async\" />\n }\n <p class=\"mb-4 mt-3 testimonial-section\">\n <span [innerHTML]=\"post.title\"></span>\n </p>\n </div>\n <!-- BOTTOM AVATAR -->\n <div class=\"avatar-container mt-5\">\n @if (post.picture.url && !post.picture.url.includes('default-photo.jpg')) {\n <img [src]=\"post.picture.url\"\n alt=\"User Avatar\"\n class=\"testimonial-avatar\"\n width=\"96\"\n height=\"96\"\n loading=\"lazy\"\n decoding=\"async\" />\n }\n @if (post?.external_url) {\n <a\n class=\"read-more-btn-overlay\"\n [attr.aria-label]=\"'Open external: ' + (post?.title || 'article')\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">external</span>\n <span class=\"arrow\">→</span>\n </a>\n } @else {\n <a class=\"read-more-btn-overlay\" [attr.aria-label]=\"'Read resource: ' + (post?.title || 'article')\" [routerLink]=\"['/resources/view', post?.slug]\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">on site</span>\n <span class=\"arrow\">→</span>\n </a>\n }\n </div>\n </div>\n }\n </div>\n }\n @if (isLoadingMore) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n </div>\n</section>\n",
|
|
1037
|
+
styles: [".resource-vault-section{background:#fff;text-align:center;padding:3rem 0}.section-outer,.container{padding:0 15px}.d-md-flex{display:flex}.justify-content-between{justify-content:space-between}.align-items-start{align-items:flex-start}.vault-heading{font-size:2rem;font-weight:700}.video-row{margin-top:3rem;gap:5.5rem!important}.row{display:flex;flex-wrap:wrap}.col-md-6,.col-lg-4{flex:0 0 auto;width:100%}@media(width>=768px){.col-md-6,.col-lg-4{width:50%}}@media(width>=992px){.col-md-6,.col-lg-4{width:33.3333%}}.mb-4{margin-bottom:1.5rem}.testimonial-box{display:flex;flex-direction:column;justify-content:space-between;background:#fff;color:#000;border-radius:20px;box-shadow:0 0 20px #0000001a;text-align:center;width:338px;height:auto;padding:2.5rem 1.5rem;font-size:1.1rem;min-height:421.4px!important}.testimonial-box .testimonial-section{font-size:1.5rem;line-height:2rem;font-weight:400;color:var(--text-color, black)}.testimonial-box .testimonial-section strong{display:block}.testimonial-box .company-logo{width:100%!important;height:auto!important;max-width:150px!important;object-fit:contain;align-self:center}.testimonial-box .avatar-container{margin-top:auto;position:relative;display:inline-block}.testimonial-box .avatar-container .testimonial-avatar{width:60%;aspect-ratio:1/1;height:auto;border-radius:50%;object-fit:fill}.testimonial-box .avatar-container .read-more-btn-overlay{position:absolute;text-decoration:none!important;bottom:0;left:50%;transform:translate(-50%);background-color:var(--text-color, black);color:#fff;width:240px;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.testimonial-box .avatar-container .read-more-btn-overlay:hover{background:#fff;color:var(--text-color, black)!important}.testimonial-box .avatar-container .read-more-btn-overlay .arrow{margin-bottom:.3rem}\n"]
|
|
1038
|
+
}]
|
|
1039
|
+
}],
|
|
1040
|
+
propDecorators: {
|
|
1041
|
+
showCaseStudyHeader: [{ type: Input }],
|
|
1042
|
+
categoryId: [{ type: Input }],
|
|
1043
|
+
postSlice: [{ type: Input }],
|
|
1044
|
+
tag: [{ type: Input }],
|
|
1045
|
+
resourceTitle: [{ type: Input }],
|
|
1046
|
+
user: [{ type: Input }],
|
|
1047
|
+
userLoggedIn: [{ type: Input }],
|
|
1048
|
+
onWindowScroll: [{
|
|
1049
|
+
type: HostListener,
|
|
1050
|
+
args: ["window:scroll"]
|
|
1051
|
+
}]
|
|
1052
|
+
}
|
|
1053
|
+
});
|
|
1054
|
+
var ResourceCardComponent = class ResourceCardComponent extends AppBaseComponent {
|
|
1055
|
+
constructor() {
|
|
1056
|
+
super(...arguments);
|
|
1057
|
+
this.resourceService = inject(ResourceService);
|
|
1058
|
+
this.tagService = inject(TagService);
|
|
1059
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
1060
|
+
this.isHeaderVisible = true;
|
|
1061
|
+
this.isRelated = false;
|
|
1062
|
+
this.postSlice = false;
|
|
1063
|
+
this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
|
|
1064
|
+
this.canEditResourcesValue = false;
|
|
1065
|
+
}
|
|
1066
|
+
ngOnInit() {
|
|
1067
|
+
if (this.userLoggedIn) this.localStorage.getItem$("product").subscribe((res) => {
|
|
1068
|
+
const data = res ? JSON.parse(res) : null;
|
|
1069
|
+
this.subscriptionId = data?.subscriptionId;
|
|
1070
|
+
this.cdr.markForCheck();
|
|
1071
|
+
});
|
|
1072
|
+
this.loadPosts();
|
|
1073
|
+
}
|
|
1074
|
+
ngOnChanges(changes) {
|
|
1075
|
+
if (changes["user"] || changes["userLoggedIn"]) {
|
|
1076
|
+
if (this.userLoggedIn && this.user) this.updateCanEditResourcesValue();
|
|
1077
|
+
}
|
|
1078
|
+
}
|
|
1079
|
+
get posts() {
|
|
1080
|
+
return this.pager?.items ?? [];
|
|
1081
|
+
}
|
|
1082
|
+
get isLoaded() {
|
|
1083
|
+
return this.pager?.isLoaded ?? false;
|
|
1084
|
+
}
|
|
1085
|
+
get isLoadingMore() {
|
|
1086
|
+
return this.pager?.isLoadingMore ?? false;
|
|
1087
|
+
}
|
|
1088
|
+
get hasMorePosts() {
|
|
1089
|
+
return this.postSlice && !!this.pager?.hasMore;
|
|
1090
|
+
}
|
|
1091
|
+
loadPosts() {
|
|
1092
|
+
this.pager = ResourcePager.forPublicPosts(this.resourceService, () => ({
|
|
1093
|
+
subscriptionId: this.getEffectiveSubscriptionId(),
|
|
1094
|
+
tagCategoryIds: this.categoryId
|
|
1095
|
+
}), () => this.cdr.markForCheck(), (post) => post.showcase === true, this.postSlice ? 15 : 3);
|
|
1096
|
+
this.pager.reset();
|
|
1097
|
+
}
|
|
1098
|
+
onWindowScroll() {
|
|
1099
|
+
if (this.postSlice) this.pager?.loadMoreIfNearBottom();
|
|
1100
|
+
}
|
|
1101
|
+
toggleTagEditTitle() {
|
|
1102
|
+
this.isEditingTitle = true;
|
|
1103
|
+
this.editedTitle = this.resourceTitle;
|
|
1104
|
+
}
|
|
1105
|
+
saveEditedTitle() {
|
|
1106
|
+
HelperService.updateTagTitle(this.tag, this.editedTitle, this.tagService, this.getEffectiveSubscriptionId(), this.toast).subscribe(() => {
|
|
1107
|
+
this.resourceTitle = this.editedTitle;
|
|
1108
|
+
this.isEditingTitle = false;
|
|
1109
|
+
this.cdr.markForCheck();
|
|
1110
|
+
});
|
|
1111
|
+
}
|
|
1112
|
+
getEffectiveSubscriptionId() {
|
|
1113
|
+
return HelperService.getEffectiveSubscriptionId(this.user, this.subscriptionId, this.masterSubscriptionId);
|
|
1114
|
+
}
|
|
1115
|
+
updateCanEditResourcesValue() {
|
|
1116
|
+
this.canEditResourcesValue = HelperService.canEditResources(this.user, this.userLoggedIn, this.permissionService);
|
|
1117
|
+
}
|
|
1118
|
+
canEditResources() {
|
|
1119
|
+
return this.canEditResourcesValue;
|
|
1120
|
+
}
|
|
1121
|
+
static {
|
|
1122
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
1123
|
+
minVersion: "12.0.0",
|
|
1124
|
+
version: "22.2.3",
|
|
1125
|
+
ngImport: i0,
|
|
1126
|
+
type: ResourceCardComponent,
|
|
1127
|
+
deps: null,
|
|
1128
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
1129
|
+
});
|
|
1130
|
+
}
|
|
1131
|
+
static {
|
|
1132
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
1133
|
+
minVersion: "17.0.0",
|
|
1134
|
+
version: "22.2.3",
|
|
1135
|
+
type: ResourceCardComponent,
|
|
1136
|
+
isStandalone: true,
|
|
1137
|
+
selector: "pw-resource-cards",
|
|
1138
|
+
inputs: {
|
|
1139
|
+
categoryId: "categoryId",
|
|
1140
|
+
isHeaderVisible: "isHeaderVisible",
|
|
1141
|
+
isRelated: "isRelated",
|
|
1142
|
+
resourceTitle: "resourceTitle",
|
|
1143
|
+
postSlice: "postSlice",
|
|
1144
|
+
header: "header",
|
|
1145
|
+
tag: "tag",
|
|
1146
|
+
resourceLink: "resourceLink",
|
|
1147
|
+
user: "user",
|
|
1148
|
+
userLoggedIn: "userLoggedIn"
|
|
1149
|
+
},
|
|
1150
|
+
host: { listeners: { "window:scroll": "onWindowScroll()" } },
|
|
1151
|
+
usesInheritance: true,
|
|
1152
|
+
usesOnChanges: true,
|
|
1153
|
+
ngImport: i0,
|
|
1154
|
+
template: "<section class=\"resource-vault-section bg-white\">\n <div class=\"container\">\n @if (isHeaderVisible) {\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n @if (!isEditingTitle) {\n @if (resourceTitle) {\n <span [innerHTML]=\"resourceTitle\"></span>\n } @else {\n Our team's articles\n }\n @if (!isRelated && canEditResourcesValue) {\n <i class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleTagEditTitle()\" (keydown.enter)=\"toggleTagEditTitle()\" (keydown.space)=\"toggleTagEditTitle()\" title=\"Edit Title\"></i>\n }\n } @else {\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" id=\"input_editedTitle_9056\" name=\"input_editedTitle_9056\"\n aria-label=\"Input Edited Title 9056\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle()\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n }\n </h2>\n <a class=\"view-all\" [routerLink]=\"resourceLink\">VIEW ALL ></a>\n </div>\n }\n\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (posts.length === 0 && isLoaded && !hasMorePosts && !isLoadingMore) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n\n @if (posts.length !== 0 && isLoaded) {\n <div class=\"row d-flex flex-wrap justify-content-center gap-4 video-row\">\n @for (post of posts; track post; let i = $index) {\n <div class=\"resource-blog-card p-4\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"loadPosts()\">\n </pw-resource-edit-card-lazy>\n <p class=\"resource-title\" [innerHTML]=\"post.title \"></p>\n <a\n [href]=\"post.external_url || ('/resources/view/' + post?.slug)\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n [attr.aria-label]=\"'Open resource card: ' + (post?.title || 'article')\"\n >\n <img\n [src]=\"post.picture.url\"\n class=\"img-fluid my-3 mt-auto\"\n alt=\"Webinar\"\n width=\"640\"\n height=\"360\"\n [attr.loading]=\"i === 0 ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"i === 0 ? 'high' : null\"\n decoding=\"async\"\n /></a>\n @if (post?.external_url) {\n <a\n class=\"resource-btn mt-3\"\n [href]=\"post.external_url\"\n [attr.aria-label]=\"'Open external: ' + (post?.title || 'article')\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">external</span>\n <span class=\"arrow\">→</span>\n </a>\n } @else {\n <a class=\"resource-btn mt-3\" [attr.aria-label]=\"'Read resource: ' + (post?.title || 'article')\" [href]=\"'/resources/view/' + post?.slug\" target=\"_blank\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">on site</span>\n <span class=\"arrow\">→</span>\n </a>\n }\n </div>\n }\n </div>\n @if (isLoadingMore) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n }\n </div>\n</section>",
|
|
1155
|
+
styles: [".bold{font-weight:700}.resource-heading{margin-bottom:2rem}.resource-note{margin-top:1rem;font-size:.85rem;color:#555}.resource-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.resource-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.resource-vault-section .vault-heading{font-size:3rem;font-weight:300}.resource-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.resource-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.resource-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.resource-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.resource-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.resource-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.resource-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.resource-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.resource-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media(width<=1200px){.resource-vault-section .vault-heading{font-size:3.5rem}.resource-vault-section .vault-description{margin-top:1.35rem}.resource-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media(width>=991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media(width>=768px)and (width<=1200px){.container{padding:0 6rem!important}}@media(width<=768px){.video-row{gap:3rem!important}}@media(max-width:768px){.resource-vault-section{padding-bottom:6rem!important}.resource-vault-section .container{padding-top:0rem!important;padding-bottom:0rem!important}.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media(width<=1200px){.container{padding:7rem 3rem 1rem!important}}\n"],
|
|
1156
|
+
dependencies: [
|
|
1157
|
+
{
|
|
1158
|
+
kind: "directive",
|
|
1159
|
+
type: NgClass,
|
|
1160
|
+
selector: "[ngClass]",
|
|
1161
|
+
inputs: ["class", "ngClass"]
|
|
1162
|
+
},
|
|
1163
|
+
{
|
|
1164
|
+
kind: "ngmodule",
|
|
1165
|
+
type: FormsModule
|
|
1166
|
+
},
|
|
1167
|
+
{
|
|
1168
|
+
kind: "directive",
|
|
1169
|
+
type: i1.DefaultValueAccessor,
|
|
1170
|
+
selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]"
|
|
1171
|
+
},
|
|
1172
|
+
{
|
|
1173
|
+
kind: "directive",
|
|
1174
|
+
type: i1.NgControlStatus,
|
|
1175
|
+
selector: "[formControlName],[ngModel],[formControl]"
|
|
1176
|
+
},
|
|
1177
|
+
{
|
|
1178
|
+
kind: "directive",
|
|
1179
|
+
type: i1.NgModel,
|
|
1180
|
+
selector: "[ngModel]:not([formControlName]):not([formControl])",
|
|
1181
|
+
inputs: [
|
|
1182
|
+
"name",
|
|
1183
|
+
"disabled",
|
|
1184
|
+
"ngModel",
|
|
1185
|
+
"ngModelOptions"
|
|
1186
|
+
],
|
|
1187
|
+
outputs: ["ngModelChange"],
|
|
1188
|
+
exportAs: ["ngModel"]
|
|
1189
|
+
},
|
|
1190
|
+
{
|
|
1191
|
+
kind: "directive",
|
|
1192
|
+
type: RouterLink,
|
|
1193
|
+
selector: "[routerLink]",
|
|
1194
|
+
inputs: [
|
|
1195
|
+
"target",
|
|
1196
|
+
"queryParams",
|
|
1197
|
+
"fragment",
|
|
1198
|
+
"queryParamsHandling",
|
|
1199
|
+
"state",
|
|
1200
|
+
"info",
|
|
1201
|
+
"relativeTo",
|
|
1202
|
+
"preserveFragment",
|
|
1203
|
+
"skipLocationChange",
|
|
1204
|
+
"replaceUrl",
|
|
1205
|
+
"browserUrl",
|
|
1206
|
+
"routerLink"
|
|
1207
|
+
]
|
|
1208
|
+
},
|
|
1209
|
+
{
|
|
1210
|
+
kind: "component",
|
|
1211
|
+
type: ProgressSpinner,
|
|
949
1212
|
selector: "p-progress-spinner, p-progressspinner",
|
|
950
1213
|
inputs: [
|
|
951
1214
|
"value",
|
|
@@ -958,9 +1221,14 @@ var ResourceCardComponent = class ResourceCardComponent extends AppBaseComponent
|
|
|
958
1221
|
]
|
|
959
1222
|
},
|
|
960
1223
|
{
|
|
961
|
-
kind: "
|
|
962
|
-
type:
|
|
963
|
-
selector: "
|
|
1224
|
+
kind: "component",
|
|
1225
|
+
type: NoDataComponent,
|
|
1226
|
+
selector: "pw-no-data",
|
|
1227
|
+
inputs: [
|
|
1228
|
+
"message",
|
|
1229
|
+
"description",
|
|
1230
|
+
"withImage"
|
|
1231
|
+
]
|
|
964
1232
|
},
|
|
965
1233
|
{
|
|
966
1234
|
kind: "component",
|
|
@@ -973,9 +1241,14 @@ var ResourceCardComponent = class ResourceCardComponent extends AppBaseComponent
|
|
|
973
1241
|
],
|
|
974
1242
|
outputs: ["updated"]
|
|
975
1243
|
},
|
|
1244
|
+
{
|
|
1245
|
+
kind: "directive",
|
|
1246
|
+
type: LazyImgDirective,
|
|
1247
|
+
selector: "img"
|
|
1248
|
+
},
|
|
976
1249
|
{
|
|
977
1250
|
kind: "pipe",
|
|
978
|
-
type:
|
|
1251
|
+
type: TranslocoPipe,
|
|
979
1252
|
name: "transloco"
|
|
980
1253
|
}
|
|
981
1254
|
],
|
|
@@ -993,17 +1266,23 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
993
1266
|
args: [{
|
|
994
1267
|
selector: "pw-resource-cards",
|
|
995
1268
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
996
|
-
|
|
1269
|
+
imports: [
|
|
1270
|
+
NgClass,
|
|
1271
|
+
FormsModule,
|
|
1272
|
+
RouterLink,
|
|
1273
|
+
Bind,
|
|
1274
|
+
ProgressSpinner,
|
|
1275
|
+
NoDataComponent,
|
|
1276
|
+
ResourceEditCardLazyComponent,
|
|
1277
|
+
LazyImgDirective,
|
|
1278
|
+
ResourceVideoCardComponent,
|
|
1279
|
+
TranslocoPipe
|
|
1280
|
+
],
|
|
1281
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
997
1282
|
template: "<section class=\"resource-vault-section bg-white\">\n <div class=\"container\">\n @if (isHeaderVisible) {\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n @if (!isEditingTitle) {\n @if (resourceTitle) {\n <span [innerHTML]=\"resourceTitle\"></span>\n } @else {\n Our team's articles\n }\n @if (!isRelated && canEditResourcesValue) {\n <i class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleTagEditTitle()\" (keydown.enter)=\"toggleTagEditTitle()\" (keydown.space)=\"toggleTagEditTitle()\" title=\"Edit Title\"></i>\n }\n } @else {\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" id=\"input_editedTitle_9056\" name=\"input_editedTitle_9056\"\n aria-label=\"Input Edited Title 9056\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle()\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n }\n </h2>\n <a class=\"view-all\" [routerLink]=\"resourceLink\">VIEW ALL ></a>\n </div>\n }\n\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (posts.length === 0 && isLoaded && !hasMorePosts && !isLoadingMore) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n\n @if (posts.length !== 0 && isLoaded) {\n <div class=\"row d-flex flex-wrap justify-content-center gap-4 video-row\">\n @for (post of posts; track post; let i = $index) {\n <div class=\"resource-blog-card p-4\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"loadPosts()\">\n </pw-resource-edit-card-lazy>\n <p class=\"resource-title\" [innerHTML]=\"post.title \"></p>\n <a\n [href]=\"post.external_url || ('/resources/view/' + post?.slug)\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n [attr.aria-label]=\"'Open resource card: ' + (post?.title || 'article')\"\n >\n <img\n [src]=\"post.picture.url\"\n class=\"img-fluid my-3 mt-auto\"\n alt=\"Webinar\"\n width=\"640\"\n height=\"360\"\n [attr.loading]=\"i === 0 ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"i === 0 ? 'high' : null\"\n decoding=\"async\"\n /></a>\n @if (post?.external_url) {\n <a\n class=\"resource-btn mt-3\"\n [href]=\"post.external_url\"\n [attr.aria-label]=\"'Open external: ' + (post?.title || 'article')\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">external</span>\n <span class=\"arrow\">→</span>\n </a>\n } @else {\n <a class=\"resource-btn mt-3\" [attr.aria-label]=\"'Read resource: ' + (post?.title || 'article')\" [href]=\"'/resources/view/' + post?.slug\" target=\"_blank\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">on site</span>\n <span class=\"arrow\">→</span>\n </a>\n }\n </div>\n }\n </div>\n @if (isLoadingMore) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n }\n </div>\n</section>",
|
|
998
1283
|
styles: [".bold{font-weight:700}.resource-heading{margin-bottom:2rem}.resource-note{margin-top:1rem;font-size:.85rem;color:#555}.resource-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.resource-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.resource-vault-section .vault-heading{font-size:3rem;font-weight:300}.resource-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.resource-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.resource-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.resource-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.resource-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.resource-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.resource-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.resource-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.resource-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media(width<=1200px){.resource-vault-section .vault-heading{font-size:3.5rem}.resource-vault-section .vault-description{margin-top:1.35rem}.resource-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media(width>=991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media(width>=768px)and (width<=1200px){.container{padding:0 6rem!important}}@media(width<=768px){.video-row{gap:3rem!important}}@media(max-width:768px){.resource-vault-section{padding-bottom:6rem!important}.resource-vault-section .container{padding-top:0rem!important;padding-bottom:0rem!important}.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media(width<=1200px){.container{padding:7rem 3rem 1rem!important}}\n"]
|
|
999
1284
|
}]
|
|
1000
1285
|
}],
|
|
1001
|
-
ctorParameters: () => [
|
|
1002
|
-
{ type: i0.Injector },
|
|
1003
|
-
{ type: ResourceService },
|
|
1004
|
-
{ type: i2.TagService },
|
|
1005
|
-
{ type: i0.ChangeDetectorRef }
|
|
1006
|
-
],
|
|
1007
1286
|
propDecorators: {
|
|
1008
1287
|
categoryId: [{ type: Input }],
|
|
1009
1288
|
isHeaderVisible: [{ type: Input }],
|
|
@@ -1022,12 +1301,12 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
1022
1301
|
}
|
|
1023
1302
|
});
|
|
1024
1303
|
var BaseResourceComponent = class BaseResourceComponent extends AppBaseComponent {
|
|
1025
|
-
constructor(
|
|
1026
|
-
super(
|
|
1027
|
-
this.resourceService =
|
|
1028
|
-
this.tagService =
|
|
1029
|
-
this.authService =
|
|
1030
|
-
this.cdr =
|
|
1304
|
+
constructor() {
|
|
1305
|
+
super(...arguments);
|
|
1306
|
+
this.resourceService = inject(ResourceService);
|
|
1307
|
+
this.tagService = inject(TagService);
|
|
1308
|
+
this.authService = inject(AuthService);
|
|
1309
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
1031
1310
|
this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
|
|
1032
1311
|
this.posts = [];
|
|
1033
1312
|
this.testimonialsPosts = [];
|
|
@@ -1133,13 +1412,7 @@ var BaseResourceComponent = class BaseResourceComponent extends AppBaseComponent
|
|
|
1133
1412
|
version: "22.2.3",
|
|
1134
1413
|
ngImport: i0,
|
|
1135
1414
|
type: BaseResourceComponent,
|
|
1136
|
-
deps:
|
|
1137
|
-
{ token: ResourceService },
|
|
1138
|
-
{ token: i2.TagService },
|
|
1139
|
-
{ token: i2.AuthService },
|
|
1140
|
-
{ token: i0.ChangeDetectorRef },
|
|
1141
|
-
{ token: i0.Injector }
|
|
1142
|
-
],
|
|
1415
|
+
deps: null,
|
|
1143
1416
|
target: i0.ɵɵFactoryTarget.Component
|
|
1144
1417
|
});
|
|
1145
1418
|
}
|
|
@@ -1148,7 +1421,7 @@ var BaseResourceComponent = class BaseResourceComponent extends AppBaseComponent
|
|
|
1148
1421
|
minVersion: "14.0.0",
|
|
1149
1422
|
version: "22.2.3",
|
|
1150
1423
|
type: BaseResourceComponent,
|
|
1151
|
-
isStandalone:
|
|
1424
|
+
isStandalone: true,
|
|
1152
1425
|
selector: "ng-component",
|
|
1153
1426
|
usesInheritance: true,
|
|
1154
1427
|
ngImport: i0,
|
|
@@ -1167,21 +1440,13 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
1167
1440
|
type: Component,
|
|
1168
1441
|
args: [{
|
|
1169
1442
|
template: "",
|
|
1170
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
1171
|
-
standalone: false
|
|
1443
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
1172
1444
|
}]
|
|
1173
|
-
}]
|
|
1174
|
-
ctorParameters: () => [
|
|
1175
|
-
{ type: ResourceService },
|
|
1176
|
-
{ type: i2.TagService },
|
|
1177
|
-
{ type: i2.AuthService },
|
|
1178
|
-
{ type: i0.ChangeDetectorRef },
|
|
1179
|
-
{ type: i0.Injector }
|
|
1180
|
-
]
|
|
1445
|
+
}]
|
|
1181
1446
|
});
|
|
1182
1447
|
var ResourceVaultComponent = class ResourceVaultComponent extends BaseResourceComponent {
|
|
1183
|
-
constructor(
|
|
1184
|
-
super(
|
|
1448
|
+
constructor() {
|
|
1449
|
+
super(...arguments);
|
|
1185
1450
|
this.showVaultSection = false;
|
|
1186
1451
|
this.postSlice = false;
|
|
1187
1452
|
this.isLoadedChange = new EventEmitter();
|
|
@@ -1232,13 +1497,7 @@ var ResourceVaultComponent = class ResourceVaultComponent extends BaseResourceCo
|
|
|
1232
1497
|
version: "22.2.3",
|
|
1233
1498
|
ngImport: i0,
|
|
1234
1499
|
type: ResourceVaultComponent,
|
|
1235
|
-
deps:
|
|
1236
|
-
{ token: ResourceService },
|
|
1237
|
-
{ token: i2.TagService },
|
|
1238
|
-
{ token: i2.AuthService },
|
|
1239
|
-
{ token: i0.ChangeDetectorRef },
|
|
1240
|
-
{ token: i0.Injector }
|
|
1241
|
-
],
|
|
1500
|
+
deps: null,
|
|
1242
1501
|
target: i0.ɵɵFactoryTarget.Component
|
|
1243
1502
|
});
|
|
1244
1503
|
}
|
|
@@ -1247,319 +1506,45 @@ var ResourceVaultComponent = class ResourceVaultComponent extends BaseResourceCo
|
|
|
1247
1506
|
minVersion: "17.0.0",
|
|
1248
1507
|
version: "22.2.3",
|
|
1249
1508
|
type: ResourceVaultComponent,
|
|
1250
|
-
isStandalone:
|
|
1251
|
-
selector: "pw-resource--vault",
|
|
1252
|
-
inputs: {
|
|
1253
|
-
showVaultSection: "showVaultSection",
|
|
1254
|
-
postSlice: "postSlice",
|
|
1255
|
-
categoryId: "categoryId",
|
|
1256
|
-
resourceTitle: "resourceTitle",
|
|
1257
|
-
tag: "tag"
|
|
1258
|
-
},
|
|
1259
|
-
outputs: { isLoadedChange: "isLoadedChange" },
|
|
1260
|
-
host: { listeners: { "window:scroll": "onWindowScroll()" } },
|
|
1261
|
-
usesInheritance: true,
|
|
1262
|
-
ngImport: i0,
|
|
1263
|
-
template: "<section class=\"resource-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n @if (showVaultSection) {\n <div class=\"d-flex justify-content-between align-items-center flex-wrap mb-5\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n @if (!isEditingTitle) {\n @if (resourceTitle) {\n <span [innerHTML]=\"resourceTitle\"></span>\n } @else {\n Whitepapers & Tools\n }\n @if (canEditResourcesValue) {\n <i class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleEditTitle()\" (keydown.enter)=\"toggleEditTitle()\" (keydown.space)=\"toggleEditTitle()\" title=\"Edit Title\"></i>\n }\n } @else {\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" id=\"input_editedTitle_9216\" name=\"input_editedTitle_9216\"\n aria-label=\"Input Edited Title 9216\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle()\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n }\n </h2>\n <a class=\"view-all\" routerLink=\"/resources/white-papers\">VIEW ALL ></a>\n </div>\n }\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (posts.length === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n @if (posts.length !== 0 && isLoaded) {\n <div class=\"d-flex mt-2 flex-wrap justify-content-center gap-4 video-row\">\n @for (post of posts; track post) {\n <div class=\"resource-blog-card text-center p-4\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"loadPosts()\">\n </pw-resource-edit-card-lazy>\n <p class=\"mb-4\" [innerHTML]=\"post.title\"></p>\n <a\n [href]=\"post.external_url || ('/resources/view/' + post?.slug)\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n [attr.aria-label]=\"'Open resource card: ' + (post?.title || 'article')\"\n >\n <img\n [src]=\"post.picture.url\"\n class=\"img-fluid my-3 mt-auto\"\n alt=\"Webinar\"\n loading=\"lazy\"\n />\n </a>\n @if (post?.external_url) {\n <a\n class=\"resource-btn mt-3\"\n [attr.aria-label]=\"'Open external: ' + (post?.title || 'article')\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">external</span>\n <span class=\"arrow\">→</span>\n </a>\n } @else {\n <a class=\"resource-btn mt-3\" [attr.aria-label]=\"'Read resource: ' + (post?.title || 'article')\" [href]=\"'/resources/view/' + post?.slug\" target=\"_blank\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">on site</span>\n <span class=\"arrow\">→</span>\n </a>\n }\n </div>\n }\n </div>\n }\n @if (isLoadingMore) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n </div>\n</section>\n",
|
|
1264
|
-
styles: [".bold{font-weight:700}.resource-heading{margin-bottom:2rem}.resource-note{margin-top:1rem;font-size:.85rem;color:#555}.resource-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.resource-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.resource-vault-section .vault-heading{font-size:3rem;font-weight:300}.resource-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.resource-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.resource-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.resource-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.resource-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.resource-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.resource-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.resource-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.resource-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media(width<=1200px){.resource-vault-section .vault-heading{font-size:3.5rem}.resource-vault-section .vault-description{margin-top:1.35rem}.resource-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media(width>=991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media(width>=768px)and (width<=1200px){.container{padding:0 6rem!important}}@media(width<=768px){.video-row{gap:3rem!important}}@media(max-width:768px){.resource-vault-section{padding-bottom:6rem!important}.resource-vault-section .container{padding-top:0rem!important;padding-bottom:0rem!important}.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media(width<=1200px){.container{padding:7rem 3rem 1rem!important}}\n"],
|
|
1265
|
-
dependencies: [
|
|
1266
|
-
{
|
|
1267
|
-
kind: "directive",
|
|
1268
|
-
type: i3.NgClass,
|
|
1269
|
-
selector: "[ngClass]",
|
|
1270
|
-
inputs: ["class", "ngClass"]
|
|
1271
|
-
},
|
|
1272
|
-
{
|
|
1273
|
-
kind: "directive",
|
|
1274
|
-
type: i4.RouterLink,
|
|
1275
|
-
selector: "[routerLink]",
|
|
1276
|
-
inputs: [
|
|
1277
|
-
"target",
|
|
1278
|
-
"queryParams",
|
|
1279
|
-
"fragment",
|
|
1280
|
-
"queryParamsHandling",
|
|
1281
|
-
"state",
|
|
1282
|
-
"info",
|
|
1283
|
-
"relativeTo",
|
|
1284
|
-
"preserveFragment",
|
|
1285
|
-
"skipLocationChange",
|
|
1286
|
-
"replaceUrl",
|
|
1287
|
-
"browserUrl",
|
|
1288
|
-
"routerLink"
|
|
1289
|
-
]
|
|
1290
|
-
},
|
|
1291
|
-
{
|
|
1292
|
-
kind: "directive",
|
|
1293
|
-
type: i5.DefaultValueAccessor,
|
|
1294
|
-
selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]"
|
|
1295
|
-
},
|
|
1296
|
-
{
|
|
1297
|
-
kind: "directive",
|
|
1298
|
-
type: i5.NgControlStatus,
|
|
1299
|
-
selector: "[formControlName],[ngModel],[formControl]"
|
|
1300
|
-
},
|
|
1301
|
-
{
|
|
1302
|
-
kind: "directive",
|
|
1303
|
-
type: i5.NgModel,
|
|
1304
|
-
selector: "[ngModel]:not([formControlName]):not([formControl])",
|
|
1305
|
-
inputs: [
|
|
1306
|
-
"name",
|
|
1307
|
-
"disabled",
|
|
1308
|
-
"ngModel",
|
|
1309
|
-
"ngModelOptions"
|
|
1310
|
-
],
|
|
1311
|
-
outputs: ["ngModelChange"],
|
|
1312
|
-
exportAs: ["ngModel"]
|
|
1313
|
-
},
|
|
1314
|
-
{
|
|
1315
|
-
kind: "component",
|
|
1316
|
-
type: i6.NoDataComponent,
|
|
1317
|
-
selector: "pw-no-data",
|
|
1318
|
-
inputs: [
|
|
1319
|
-
"message",
|
|
1320
|
-
"description",
|
|
1321
|
-
"withImage"
|
|
1322
|
-
]
|
|
1323
|
-
},
|
|
1324
|
-
{
|
|
1325
|
-
kind: "component",
|
|
1326
|
-
type: i7.ProgressSpinner,
|
|
1327
|
-
selector: "p-progress-spinner, p-progressspinner",
|
|
1328
|
-
inputs: [
|
|
1329
|
-
"value",
|
|
1330
|
-
"strokeWidth",
|
|
1331
|
-
"animationDuration",
|
|
1332
|
-
"min",
|
|
1333
|
-
"max",
|
|
1334
|
-
"ariaLabel",
|
|
1335
|
-
"fill"
|
|
1336
|
-
]
|
|
1337
|
-
},
|
|
1338
|
-
{
|
|
1339
|
-
kind: "directive",
|
|
1340
|
-
type: i8.LazyImgDirective,
|
|
1341
|
-
selector: "img"
|
|
1342
|
-
},
|
|
1343
|
-
{
|
|
1344
|
-
kind: "component",
|
|
1345
|
-
type: ResourceEditCardLazyComponent,
|
|
1346
|
-
selector: "pw-resource-edit-card-lazy",
|
|
1347
|
-
inputs: [
|
|
1348
|
-
"id",
|
|
1349
|
-
"resourceData",
|
|
1350
|
-
"canEdit"
|
|
1351
|
-
],
|
|
1352
|
-
outputs: ["updated"]
|
|
1353
|
-
},
|
|
1354
|
-
{
|
|
1355
|
-
kind: "pipe",
|
|
1356
|
-
type: i10.TranslocoPipe,
|
|
1357
|
-
name: "transloco"
|
|
1358
|
-
}
|
|
1359
|
-
],
|
|
1360
|
-
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
1361
|
-
});
|
|
1362
|
-
}
|
|
1363
|
-
};
|
|
1364
|
-
i0.ɵɵngDeclareClassMetadata({
|
|
1365
|
-
minVersion: "12.0.0",
|
|
1366
|
-
version: "22.2.3",
|
|
1367
|
-
ngImport: i0,
|
|
1368
|
-
type: ResourceVaultComponent,
|
|
1369
|
-
decorators: [{
|
|
1370
|
-
type: Component,
|
|
1371
|
-
args: [{
|
|
1372
|
-
selector: "pw-resource--vault",
|
|
1373
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1374
|
-
standalone: false,
|
|
1375
|
-
template: "<section class=\"resource-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n @if (showVaultSection) {\n <div class=\"d-flex justify-content-between align-items-center flex-wrap mb-5\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n @if (!isEditingTitle) {\n @if (resourceTitle) {\n <span [innerHTML]=\"resourceTitle\"></span>\n } @else {\n Whitepapers & Tools\n }\n @if (canEditResourcesValue) {\n <i class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleEditTitle()\" (keydown.enter)=\"toggleEditTitle()\" (keydown.space)=\"toggleEditTitle()\" title=\"Edit Title\"></i>\n }\n } @else {\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" id=\"input_editedTitle_9216\" name=\"input_editedTitle_9216\"\n aria-label=\"Input Edited Title 9216\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle()\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n }\n </h2>\n <a class=\"view-all\" routerLink=\"/resources/white-papers\">VIEW ALL ></a>\n </div>\n }\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (posts.length === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n @if (posts.length !== 0 && isLoaded) {\n <div class=\"d-flex mt-2 flex-wrap justify-content-center gap-4 video-row\">\n @for (post of posts; track post) {\n <div class=\"resource-blog-card text-center p-4\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"loadPosts()\">\n </pw-resource-edit-card-lazy>\n <p class=\"mb-4\" [innerHTML]=\"post.title\"></p>\n <a\n [href]=\"post.external_url || ('/resources/view/' + post?.slug)\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n [attr.aria-label]=\"'Open resource card: ' + (post?.title || 'article')\"\n >\n <img\n [src]=\"post.picture.url\"\n class=\"img-fluid my-3 mt-auto\"\n alt=\"Webinar\"\n loading=\"lazy\"\n />\n </a>\n @if (post?.external_url) {\n <a\n class=\"resource-btn mt-3\"\n [attr.aria-label]=\"'Open external: ' + (post?.title || 'article')\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">external</span>\n <span class=\"arrow\">→</span>\n </a>\n } @else {\n <a class=\"resource-btn mt-3\" [attr.aria-label]=\"'Read resource: ' + (post?.title || 'article')\" [href]=\"'/resources/view/' + post?.slug\" target=\"_blank\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">on site</span>\n <span class=\"arrow\">→</span>\n </a>\n }\n </div>\n }\n </div>\n }\n @if (isLoadingMore) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n </div>\n</section>\n",
|
|
1376
|
-
styles: [".bold{font-weight:700}.resource-heading{margin-bottom:2rem}.resource-note{margin-top:1rem;font-size:.85rem;color:#555}.resource-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.resource-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.resource-vault-section .vault-heading{font-size:3rem;font-weight:300}.resource-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.resource-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.resource-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.resource-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.resource-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.resource-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.resource-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.resource-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.resource-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media(width<=1200px){.resource-vault-section .vault-heading{font-size:3.5rem}.resource-vault-section .vault-description{margin-top:1.35rem}.resource-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media(width>=991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media(width>=768px)and (width<=1200px){.container{padding:0 6rem!important}}@media(width<=768px){.video-row{gap:3rem!important}}@media(max-width:768px){.resource-vault-section{padding-bottom:6rem!important}.resource-vault-section .container{padding-top:0rem!important;padding-bottom:0rem!important}.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media(width<=1200px){.container{padding:7rem 3rem 1rem!important}}\n"]
|
|
1377
|
-
}]
|
|
1378
|
-
}],
|
|
1379
|
-
ctorParameters: () => [
|
|
1380
|
-
{ type: ResourceService },
|
|
1381
|
-
{ type: i2.TagService },
|
|
1382
|
-
{ type: i2.AuthService },
|
|
1383
|
-
{ type: i0.ChangeDetectorRef },
|
|
1384
|
-
{ type: i0.Injector }
|
|
1385
|
-
],
|
|
1386
|
-
propDecorators: {
|
|
1387
|
-
showVaultSection: [{ type: Input }],
|
|
1388
|
-
postSlice: [{ type: Input }],
|
|
1389
|
-
categoryId: [{ type: Input }],
|
|
1390
|
-
resourceTitle: [{ type: Input }],
|
|
1391
|
-
tag: [{ type: Input }],
|
|
1392
|
-
isLoadedChange: [{ type: Output }],
|
|
1393
|
-
onWindowScroll: [{
|
|
1394
|
-
type: HostListener,
|
|
1395
|
-
args: ["window:scroll"]
|
|
1396
|
-
}]
|
|
1397
|
-
}
|
|
1398
|
-
});
|
|
1399
|
-
var ResourceVideoCardComponent = class ResourceVideoCardComponent extends AppBaseComponent {
|
|
1400
|
-
get posts() {
|
|
1401
|
-
return this.pager?.items ?? [];
|
|
1402
|
-
}
|
|
1403
|
-
get isLoaded() {
|
|
1404
|
-
return this.pager?.isLoaded ?? false;
|
|
1405
|
-
}
|
|
1406
|
-
get isLoadingMore() {
|
|
1407
|
-
return this.pager?.isLoadingMore ?? false;
|
|
1408
|
-
}
|
|
1409
|
-
constructor(sanitizer, resourceService, tagService, cdr, injector) {
|
|
1410
|
-
super(injector);
|
|
1411
|
-
this.sanitizer = sanitizer;
|
|
1412
|
-
this.resourceService = resourceService;
|
|
1413
|
-
this.tagService = tagService;
|
|
1414
|
-
this.cdr = cdr;
|
|
1415
|
-
this.showVideoSection = false;
|
|
1416
|
-
this.postSlice = false;
|
|
1417
|
-
this.canEditResourcesValue = false;
|
|
1418
|
-
this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
|
|
1419
|
-
this.videoStates = {};
|
|
1420
|
-
this.isEditingTitle = false;
|
|
1421
|
-
}
|
|
1422
|
-
ngOnInit() {
|
|
1423
|
-
if (this.userLoggedIn) this.localStorage.getItem$("product").subscribe((res) => {
|
|
1424
|
-
const data = res ? JSON.parse(res) : null;
|
|
1425
|
-
this.subscriptionId = data?.subscriptionId;
|
|
1426
|
-
this.cdr.markForCheck();
|
|
1427
|
-
});
|
|
1428
|
-
this.loadPosts();
|
|
1429
|
-
}
|
|
1430
|
-
ngOnChanges(changes) {
|
|
1431
|
-
if (changes["user"] || changes["userLoggedIn"]) {
|
|
1432
|
-
if (this.userLoggedIn && this.user) this.updateCanEditResourcesValue();
|
|
1433
|
-
}
|
|
1434
|
-
}
|
|
1435
|
-
loadVideo(post) {
|
|
1436
|
-
if (!post.external_url) return;
|
|
1437
|
-
const slug = post.slug;
|
|
1438
|
-
let externalUrl = post.external_url;
|
|
1439
|
-
externalUrl += externalUrl.includes("?") ? "&autoplay=1" : "?autoplay=1";
|
|
1440
|
-
this.videoStates[slug].url = this.sanitizer.bypassSecurityTrustResourceUrl(externalUrl);
|
|
1441
|
-
}
|
|
1442
|
-
loadPosts() {
|
|
1443
|
-
this.pager = ResourcePager.forPublicPosts(this.resourceService, () => ({
|
|
1444
|
-
subscriptionId: this.getEffectiveSubscriptionId(),
|
|
1445
|
-
tagCategoryIds: this.categoryId
|
|
1446
|
-
}), () => {
|
|
1447
|
-
this.syncVideoStates();
|
|
1448
|
-
this.cdr.markForCheck();
|
|
1449
|
-
}, (post) => post.showcase === true, this.postSlice ? 15 : 3);
|
|
1450
|
-
this.pager.reset();
|
|
1451
|
-
}
|
|
1452
|
-
onWindowScroll() {
|
|
1453
|
-
if (this.postSlice) this.pager?.loadMoreIfNearBottom();
|
|
1454
|
-
}
|
|
1455
|
-
syncVideoStates() {
|
|
1456
|
-
this.posts.forEach((post) => {
|
|
1457
|
-
if (post.external_url && !this.videoStates[post.slug]) this.videoStates[post.slug] = {
|
|
1458
|
-
loaded: true,
|
|
1459
|
-
url: this.sanitizer.bypassSecurityTrustResourceUrl(post.external_url)
|
|
1460
|
-
};
|
|
1461
|
-
});
|
|
1462
|
-
}
|
|
1463
|
-
toggleTagEditTitle() {
|
|
1464
|
-
this.isEditingTitle = true;
|
|
1465
|
-
this.editedTitle = this.resourceTitle;
|
|
1466
|
-
}
|
|
1467
|
-
saveEditedTitle() {
|
|
1468
|
-
HelperService.updateTagTitle(this.tag, this.editedTitle, this.tagService, this.getEffectiveSubscriptionId(), this.toast).subscribe(() => {
|
|
1469
|
-
this.resourceTitle = this.editedTitle;
|
|
1470
|
-
this.isEditingTitle = false;
|
|
1471
|
-
this.cdr.markForCheck();
|
|
1472
|
-
});
|
|
1473
|
-
}
|
|
1474
|
-
getEffectiveSubscriptionId() {
|
|
1475
|
-
return HelperService.getEffectiveSubscriptionId(this.user, this.subscriptionId, this.masterSubscriptionId);
|
|
1476
|
-
}
|
|
1477
|
-
updateCanEditResourcesValue() {
|
|
1478
|
-
this.canEditResourcesValue = HelperService.canEditResources(this.user, this.userLoggedIn, this.permissionService);
|
|
1479
|
-
}
|
|
1480
|
-
canEditResources() {
|
|
1481
|
-
return this.canEditResourcesValue;
|
|
1482
|
-
}
|
|
1483
|
-
trackByPostId(index, post) {
|
|
1484
|
-
return post.id;
|
|
1485
|
-
}
|
|
1486
|
-
static {
|
|
1487
|
-
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
1488
|
-
minVersion: "12.0.0",
|
|
1489
|
-
version: "22.2.3",
|
|
1490
|
-
ngImport: i0,
|
|
1491
|
-
type: ResourceVideoCardComponent,
|
|
1492
|
-
deps: [
|
|
1493
|
-
{ token: i1.DomSanitizer },
|
|
1494
|
-
{ token: ResourceService },
|
|
1495
|
-
{ token: i2.TagService },
|
|
1496
|
-
{ token: i0.ChangeDetectorRef },
|
|
1497
|
-
{ token: i0.Injector }
|
|
1498
|
-
],
|
|
1499
|
-
target: i0.ɵɵFactoryTarget.Component
|
|
1500
|
-
});
|
|
1501
|
-
}
|
|
1502
|
-
static {
|
|
1503
|
-
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
1504
|
-
minVersion: "17.0.0",
|
|
1505
|
-
version: "22.2.3",
|
|
1506
|
-
type: ResourceVideoCardComponent,
|
|
1507
|
-
isStandalone: false,
|
|
1508
|
-
selector: "pw-resource-video-card",
|
|
1509
|
-
inputs: {
|
|
1510
|
-
showVideoSection: "showVideoSection",
|
|
1511
|
-
categoryId: "categoryId",
|
|
1512
|
-
tag: "tag",
|
|
1509
|
+
isStandalone: true,
|
|
1510
|
+
selector: "pw-resource--vault",
|
|
1511
|
+
inputs: {
|
|
1512
|
+
showVaultSection: "showVaultSection",
|
|
1513
1513
|
postSlice: "postSlice",
|
|
1514
|
+
categoryId: "categoryId",
|
|
1514
1515
|
resourceTitle: "resourceTitle",
|
|
1515
|
-
|
|
1516
|
-
userLoggedIn: "userLoggedIn"
|
|
1516
|
+
tag: "tag"
|
|
1517
1517
|
},
|
|
1518
|
+
outputs: { isLoadedChange: "isLoadedChange" },
|
|
1518
1519
|
host: { listeners: { "window:scroll": "onWindowScroll()" } },
|
|
1519
1520
|
usesInheritance: true,
|
|
1520
|
-
usesOnChanges: true,
|
|
1521
1521
|
ngImport: i0,
|
|
1522
|
-
template: "<section class=\"resource-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n @if (
|
|
1522
|
+
template: "<section class=\"resource-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n @if (showVaultSection) {\n <div class=\"d-flex justify-content-between align-items-center flex-wrap mb-5\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n @if (!isEditingTitle) {\n @if (resourceTitle) {\n <span [innerHTML]=\"resourceTitle\"></span>\n } @else {\n Whitepapers & Tools\n }\n @if (canEditResourcesValue) {\n <i class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleEditTitle()\" (keydown.enter)=\"toggleEditTitle()\" (keydown.space)=\"toggleEditTitle()\" title=\"Edit Title\"></i>\n }\n } @else {\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" id=\"input_editedTitle_9216\" name=\"input_editedTitle_9216\"\n aria-label=\"Input Edited Title 9216\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle()\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n }\n </h2>\n <a class=\"view-all\" routerLink=\"/resources/white-papers\">VIEW ALL ></a>\n </div>\n }\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (posts.length === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n @if (posts.length !== 0 && isLoaded) {\n <div class=\"d-flex mt-2 flex-wrap justify-content-center gap-4 video-row\">\n @for (post of posts; track post) {\n <div class=\"resource-blog-card text-center p-4\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"loadPosts()\">\n </pw-resource-edit-card-lazy>\n <p class=\"mb-4\" [innerHTML]=\"post.title\"></p>\n <a\n [href]=\"post.external_url || ('/resources/view/' + post?.slug)\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n [attr.aria-label]=\"'Open resource card: ' + (post?.title || 'article')\"\n >\n <img\n [src]=\"post.picture.url\"\n class=\"img-fluid my-3 mt-auto\"\n alt=\"Webinar\"\n loading=\"lazy\"\n />\n </a>\n @if (post?.external_url) {\n <a\n class=\"resource-btn mt-3\"\n [attr.aria-label]=\"'Open external: ' + (post?.title || 'article')\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">external</span>\n <span class=\"arrow\">→</span>\n </a>\n } @else {\n <a class=\"resource-btn mt-3\" [attr.aria-label]=\"'Read resource: ' + (post?.title || 'article')\" [href]=\"'/resources/view/' + post?.slug\" target=\"_blank\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">on site</span>\n <span class=\"arrow\">→</span>\n </a>\n }\n </div>\n }\n </div>\n }\n @if (isLoadingMore) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n </div>\n</section>\n",
|
|
1523
1523
|
styles: [".bold{font-weight:700}.resource-heading{margin-bottom:2rem}.resource-note{margin-top:1rem;font-size:.85rem;color:#555}.resource-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.resource-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.resource-vault-section .vault-heading{font-size:3rem;font-weight:300}.resource-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.resource-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.resource-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.resource-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.resource-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.resource-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.resource-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.resource-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.resource-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media(width<=1200px){.resource-vault-section .vault-heading{font-size:3.5rem}.resource-vault-section .vault-description{margin-top:1.35rem}.resource-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media(width>=991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media(width>=768px)and (width<=1200px){.container{padding:0 6rem!important}}@media(width<=768px){.video-row{gap:3rem!important}}@media(max-width:768px){.resource-vault-section{padding-bottom:6rem!important}.resource-vault-section .container{padding-top:0rem!important;padding-bottom:0rem!important}.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media(width<=1200px){.container{padding:7rem 3rem 1rem!important}}\n"],
|
|
1524
1524
|
dependencies: [
|
|
1525
1525
|
{
|
|
1526
1526
|
kind: "directive",
|
|
1527
|
-
type:
|
|
1527
|
+
type: NgClass,
|
|
1528
1528
|
selector: "[ngClass]",
|
|
1529
1529
|
inputs: ["class", "ngClass"]
|
|
1530
1530
|
},
|
|
1531
1531
|
{
|
|
1532
|
-
kind: "
|
|
1533
|
-
type:
|
|
1534
|
-
selector: "[routerLink]",
|
|
1535
|
-
inputs: [
|
|
1536
|
-
"target",
|
|
1537
|
-
"queryParams",
|
|
1538
|
-
"fragment",
|
|
1539
|
-
"queryParamsHandling",
|
|
1540
|
-
"state",
|
|
1541
|
-
"info",
|
|
1542
|
-
"relativeTo",
|
|
1543
|
-
"preserveFragment",
|
|
1544
|
-
"skipLocationChange",
|
|
1545
|
-
"replaceUrl",
|
|
1546
|
-
"browserUrl",
|
|
1547
|
-
"routerLink"
|
|
1548
|
-
]
|
|
1532
|
+
kind: "ngmodule",
|
|
1533
|
+
type: FormsModule
|
|
1549
1534
|
},
|
|
1550
1535
|
{
|
|
1551
1536
|
kind: "directive",
|
|
1552
|
-
type:
|
|
1537
|
+
type: i1.DefaultValueAccessor,
|
|
1553
1538
|
selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]"
|
|
1554
1539
|
},
|
|
1555
1540
|
{
|
|
1556
1541
|
kind: "directive",
|
|
1557
|
-
type:
|
|
1542
|
+
type: i1.NgControlStatus,
|
|
1558
1543
|
selector: "[formControlName],[ngModel],[formControl]"
|
|
1559
1544
|
},
|
|
1560
1545
|
{
|
|
1561
1546
|
kind: "directive",
|
|
1562
|
-
type:
|
|
1547
|
+
type: i1.NgModel,
|
|
1563
1548
|
selector: "[ngModel]:not([formControlName]):not([formControl])",
|
|
1564
1549
|
inputs: [
|
|
1565
1550
|
"name",
|
|
@@ -1571,18 +1556,27 @@ var ResourceVideoCardComponent = class ResourceVideoCardComponent extends AppBas
|
|
|
1571
1556
|
exportAs: ["ngModel"]
|
|
1572
1557
|
},
|
|
1573
1558
|
{
|
|
1574
|
-
kind: "
|
|
1575
|
-
type:
|
|
1576
|
-
selector: "
|
|
1559
|
+
kind: "directive",
|
|
1560
|
+
type: RouterLink,
|
|
1561
|
+
selector: "[routerLink]",
|
|
1577
1562
|
inputs: [
|
|
1578
|
-
"
|
|
1579
|
-
"
|
|
1580
|
-
"
|
|
1563
|
+
"target",
|
|
1564
|
+
"queryParams",
|
|
1565
|
+
"fragment",
|
|
1566
|
+
"queryParamsHandling",
|
|
1567
|
+
"state",
|
|
1568
|
+
"info",
|
|
1569
|
+
"relativeTo",
|
|
1570
|
+
"preserveFragment",
|
|
1571
|
+
"skipLocationChange",
|
|
1572
|
+
"replaceUrl",
|
|
1573
|
+
"browserUrl",
|
|
1574
|
+
"routerLink"
|
|
1581
1575
|
]
|
|
1582
1576
|
},
|
|
1583
1577
|
{
|
|
1584
1578
|
kind: "component",
|
|
1585
|
-
type:
|
|
1579
|
+
type: ProgressSpinner,
|
|
1586
1580
|
selector: "p-progress-spinner, p-progressspinner",
|
|
1587
1581
|
inputs: [
|
|
1588
1582
|
"value",
|
|
@@ -1595,9 +1589,14 @@ var ResourceVideoCardComponent = class ResourceVideoCardComponent extends AppBas
|
|
|
1595
1589
|
]
|
|
1596
1590
|
},
|
|
1597
1591
|
{
|
|
1598
|
-
kind: "
|
|
1599
|
-
type:
|
|
1600
|
-
selector: "
|
|
1592
|
+
kind: "component",
|
|
1593
|
+
type: NoDataComponent,
|
|
1594
|
+
selector: "pw-no-data",
|
|
1595
|
+
inputs: [
|
|
1596
|
+
"message",
|
|
1597
|
+
"description",
|
|
1598
|
+
"withImage"
|
|
1599
|
+
]
|
|
1601
1600
|
},
|
|
1602
1601
|
{
|
|
1603
1602
|
kind: "component",
|
|
@@ -1610,9 +1609,14 @@ var ResourceVideoCardComponent = class ResourceVideoCardComponent extends AppBas
|
|
|
1610
1609
|
],
|
|
1611
1610
|
outputs: ["updated"]
|
|
1612
1611
|
},
|
|
1612
|
+
{
|
|
1613
|
+
kind: "directive",
|
|
1614
|
+
type: LazyImgDirective,
|
|
1615
|
+
selector: "img"
|
|
1616
|
+
},
|
|
1613
1617
|
{
|
|
1614
1618
|
kind: "pipe",
|
|
1615
|
-
type:
|
|
1619
|
+
type: TranslocoPipe,
|
|
1616
1620
|
name: "transloco"
|
|
1617
1621
|
}
|
|
1618
1622
|
],
|
|
@@ -1624,32 +1628,36 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
1624
1628
|
minVersion: "12.0.0",
|
|
1625
1629
|
version: "22.2.3",
|
|
1626
1630
|
ngImport: i0,
|
|
1627
|
-
type:
|
|
1631
|
+
type: ResourceVaultComponent,
|
|
1628
1632
|
decorators: [{
|
|
1629
1633
|
type: Component,
|
|
1630
1634
|
args: [{
|
|
1631
|
-
selector: "pw-resource
|
|
1635
|
+
selector: "pw-resource--vault",
|
|
1632
1636
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1633
|
-
|
|
1634
|
-
|
|
1637
|
+
imports: [
|
|
1638
|
+
NgClass,
|
|
1639
|
+
FormsModule,
|
|
1640
|
+
RouterLink,
|
|
1641
|
+
Bind,
|
|
1642
|
+
ProgressSpinner,
|
|
1643
|
+
NoDataComponent,
|
|
1644
|
+
ResourceEditCardLazyComponent,
|
|
1645
|
+
LazyImgDirective,
|
|
1646
|
+
ResourceVideoCardComponent,
|
|
1647
|
+
TranslocoPipe
|
|
1648
|
+
],
|
|
1649
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
1650
|
+
template: "<section class=\"resource-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n @if (showVaultSection) {\n <div class=\"d-flex justify-content-between align-items-center flex-wrap mb-5\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n @if (!isEditingTitle) {\n @if (resourceTitle) {\n <span [innerHTML]=\"resourceTitle\"></span>\n } @else {\n Whitepapers & Tools\n }\n @if (canEditResourcesValue) {\n <i class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleEditTitle()\" (keydown.enter)=\"toggleEditTitle()\" (keydown.space)=\"toggleEditTitle()\" title=\"Edit Title\"></i>\n }\n } @else {\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" id=\"input_editedTitle_9216\" name=\"input_editedTitle_9216\"\n aria-label=\"Input Edited Title 9216\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle()\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n }\n </h2>\n <a class=\"view-all\" routerLink=\"/resources/white-papers\">VIEW ALL ></a>\n </div>\n }\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (posts.length === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n @if (posts.length !== 0 && isLoaded) {\n <div class=\"d-flex mt-2 flex-wrap justify-content-center gap-4 video-row\">\n @for (post of posts; track post) {\n <div class=\"resource-blog-card text-center p-4\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"loadPosts()\">\n </pw-resource-edit-card-lazy>\n <p class=\"mb-4\" [innerHTML]=\"post.title\"></p>\n <a\n [href]=\"post.external_url || ('/resources/view/' + post?.slug)\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n [attr.aria-label]=\"'Open resource card: ' + (post?.title || 'article')\"\n >\n <img\n [src]=\"post.picture.url\"\n class=\"img-fluid my-3 mt-auto\"\n alt=\"Webinar\"\n loading=\"lazy\"\n />\n </a>\n @if (post?.external_url) {\n <a\n class=\"resource-btn mt-3\"\n [attr.aria-label]=\"'Open external: ' + (post?.title || 'article')\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">external</span>\n <span class=\"arrow\">→</span>\n </a>\n } @else {\n <a class=\"resource-btn mt-3\" [attr.aria-label]=\"'Read resource: ' + (post?.title || 'article')\" [href]=\"'/resources/view/' + post?.slug\" target=\"_blank\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">on site</span>\n <span class=\"arrow\">→</span>\n </a>\n }\n </div>\n }\n </div>\n }\n @if (isLoadingMore) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n </div>\n</section>\n",
|
|
1635
1651
|
styles: [".bold{font-weight:700}.resource-heading{margin-bottom:2rem}.resource-note{margin-top:1rem;font-size:.85rem;color:#555}.resource-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.resource-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.resource-vault-section .vault-heading{font-size:3rem;font-weight:300}.resource-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.resource-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.resource-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.resource-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.resource-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.resource-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.resource-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.resource-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.resource-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media(width<=1200px){.resource-vault-section .vault-heading{font-size:3.5rem}.resource-vault-section .vault-description{margin-top:1.35rem}.resource-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media(width>=991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media(width>=768px)and (width<=1200px){.container{padding:0 6rem!important}}@media(width<=768px){.video-row{gap:3rem!important}}@media(max-width:768px){.resource-vault-section{padding-bottom:6rem!important}.resource-vault-section .container{padding-top:0rem!important;padding-bottom:0rem!important}.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media(width<=1200px){.container{padding:7rem 3rem 1rem!important}}\n"]
|
|
1636
1652
|
}]
|
|
1637
1653
|
}],
|
|
1638
|
-
ctorParameters: () => [
|
|
1639
|
-
{ type: i1.DomSanitizer },
|
|
1640
|
-
{ type: ResourceService },
|
|
1641
|
-
{ type: i2.TagService },
|
|
1642
|
-
{ type: i0.ChangeDetectorRef },
|
|
1643
|
-
{ type: i0.Injector }
|
|
1644
|
-
],
|
|
1645
1654
|
propDecorators: {
|
|
1646
|
-
|
|
1647
|
-
categoryId: [{ type: Input }],
|
|
1648
|
-
tag: [{ type: Input }],
|
|
1655
|
+
showVaultSection: [{ type: Input }],
|
|
1649
1656
|
postSlice: [{ type: Input }],
|
|
1657
|
+
categoryId: [{ type: Input }],
|
|
1650
1658
|
resourceTitle: [{ type: Input }],
|
|
1651
|
-
|
|
1652
|
-
|
|
1659
|
+
tag: [{ type: Input }],
|
|
1660
|
+
isLoadedChange: [{ type: Output }],
|
|
1653
1661
|
onWindowScroll: [{
|
|
1654
1662
|
type: HostListener,
|
|
1655
1663
|
args: ["window:scroll"]
|
|
@@ -1657,11 +1665,11 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
1657
1665
|
}
|
|
1658
1666
|
});
|
|
1659
1667
|
var ReplayEventCardComponent = class ReplayEventCardComponent extends AppBaseComponent {
|
|
1660
|
-
constructor(
|
|
1661
|
-
super(
|
|
1662
|
-
this.resourceService =
|
|
1663
|
-
this.tagService =
|
|
1664
|
-
this.cdr =
|
|
1668
|
+
constructor() {
|
|
1669
|
+
super(...arguments);
|
|
1670
|
+
this.resourceService = inject(ResourceService);
|
|
1671
|
+
this.tagService = inject(TagService);
|
|
1672
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
1665
1673
|
this.showEventContent = false;
|
|
1666
1674
|
this.canEditResourcesValue = false;
|
|
1667
1675
|
this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
|
|
@@ -1720,12 +1728,7 @@ var ReplayEventCardComponent = class ReplayEventCardComponent extends AppBaseCom
|
|
|
1720
1728
|
version: "22.2.3",
|
|
1721
1729
|
ngImport: i0,
|
|
1722
1730
|
type: ReplayEventCardComponent,
|
|
1723
|
-
deps:
|
|
1724
|
-
{ token: ResourceService },
|
|
1725
|
-
{ token: i2.TagService },
|
|
1726
|
-
{ token: i0.ChangeDetectorRef },
|
|
1727
|
-
{ token: i0.Injector }
|
|
1728
|
-
],
|
|
1731
|
+
deps: null,
|
|
1729
1732
|
target: i0.ɵɵFactoryTarget.Component
|
|
1730
1733
|
});
|
|
1731
1734
|
}
|
|
@@ -1734,7 +1737,7 @@ var ReplayEventCardComponent = class ReplayEventCardComponent extends AppBaseCom
|
|
|
1734
1737
|
minVersion: "17.0.0",
|
|
1735
1738
|
version: "22.2.3",
|
|
1736
1739
|
type: ReplayEventCardComponent,
|
|
1737
|
-
isStandalone:
|
|
1740
|
+
isStandalone: true,
|
|
1738
1741
|
selector: "pw-replay-event-card",
|
|
1739
1742
|
inputs: {
|
|
1740
1743
|
showEventContent: "showEventContent",
|
|
@@ -1749,38 +1752,9 @@ var ReplayEventCardComponent = class ReplayEventCardComponent extends AppBaseCom
|
|
|
1749
1752
|
template: "<section class=\"resource-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n <div class=\"d-md-flex justify-content-between align-items-start\">\n <div class=\"vault-header\">\n @if (resourceTitle) {\n <h2 class=\"vault-heading\">{{resourceTitle}} Replays</h2>\n } @else {\n <h2 class=\"vault-heading\">Events & Webinars Replays</h2>\n }\n </div>\n </div>\n\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (posts.length === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n\n @if (posts.length !== 0 && isLoaded) {\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\">\n @for (post of posts; track post) {\n <div class=\"resource-blog-card vault-card text-center p-4\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"loadReplays()\">\n </pw-resource-edit-card-lazy>\n <h5 class=\"badge-title fw-bold\">REPLAY:</h5>\n <p class=\"event-title mb-4\" [innerHtml]=\"post?.title\"></p>\n <img\n [src]=\"post.picture.url\"\n class=\"img-fluid my-3 mt-auto\"\n alt=\"Webinar\" />\n @if (post?.external_url) {\n <a\n class=\"resource-btn mt-3\"\n [href]=\"post.external_url\"\n [attr.aria-label]=\"'Open external: ' + (post?.title || 'article')\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">external</span>\n <span class=\"arrow\">→</span>\n </a>\n } @else {\n <a class=\"resource-btn mt-3\" [attr.aria-label]=\"'Read resource: ' + (post?.title || 'article')\" [routerLink]=\"['/resources/view', post?.slug]\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">on site</span>\n <span class=\"arrow\">→</span>\n </a>\n }\n </div>\n }\n </div>\n @if (pager?.hasMore) {\n <button type=\"button\" class=\"resource-load-more\" [disabled]=\"isLoadingMore\" (click)=\"pager.loadMore()\">\n {{ 'Resource.LoadMore' | transloco }}\n </button>\n }\n }\n </div>\n</section>\n",
|
|
1750
1753
|
styles: [".bold{font-weight:700}.resource-heading{margin-bottom:2rem}.resource-note{margin-top:1rem;font-size:.85rem;color:#555}.resource-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.resource-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.resource-vault-section .vault-heading{font-size:3rem;font-weight:300}.resource-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.resource-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.resource-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.resource-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.resource-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.resource-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.resource-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.resource-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.resource-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media(width<=1200px){.resource-vault-section .vault-heading{font-size:3.5rem}.resource-vault-section .vault-description{margin-top:1.35rem}.resource-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media(width>=991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media(width>=768px)and (width<=1200px){.container{padding:0 6rem!important}}@media(width<=768px){.video-row{gap:3rem!important}}@media(max-width:768px){.resource-vault-section{padding-bottom:6rem!important}.resource-vault-section .container{padding-top:0rem!important;padding-bottom:0rem!important}.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media(width<=1200px){.container{padding:7rem 3rem 1rem!important}}\n", ".resource-load-more{display:block;margin:4rem auto 0;padding:10px 32px;border-radius:24px;border:1px solid var(--text-color, black);background-color:var(--text-color, black);color:#fff;font-size:1.5rem;font-weight:500;cursor:pointer;transition:background .3s ease}.resource-load-more:hover:not(:disabled){background:#fff;color:var(--text-color, black)}.resource-load-more:disabled{opacity:.6;cursor:default}\n"],
|
|
1751
1754
|
dependencies: [
|
|
1752
|
-
{
|
|
1753
|
-
kind: "directive",
|
|
1754
|
-
type: i4.RouterLink,
|
|
1755
|
-
selector: "[routerLink]",
|
|
1756
|
-
inputs: [
|
|
1757
|
-
"target",
|
|
1758
|
-
"queryParams",
|
|
1759
|
-
"fragment",
|
|
1760
|
-
"queryParamsHandling",
|
|
1761
|
-
"state",
|
|
1762
|
-
"info",
|
|
1763
|
-
"relativeTo",
|
|
1764
|
-
"preserveFragment",
|
|
1765
|
-
"skipLocationChange",
|
|
1766
|
-
"replaceUrl",
|
|
1767
|
-
"browserUrl",
|
|
1768
|
-
"routerLink"
|
|
1769
|
-
]
|
|
1770
|
-
},
|
|
1771
|
-
{
|
|
1772
|
-
kind: "component",
|
|
1773
|
-
type: i6.NoDataComponent,
|
|
1774
|
-
selector: "pw-no-data",
|
|
1775
|
-
inputs: [
|
|
1776
|
-
"message",
|
|
1777
|
-
"description",
|
|
1778
|
-
"withImage"
|
|
1779
|
-
]
|
|
1780
|
-
},
|
|
1781
1755
|
{
|
|
1782
1756
|
kind: "component",
|
|
1783
|
-
type:
|
|
1757
|
+
type: ProgressSpinner,
|
|
1784
1758
|
selector: "p-progress-spinner, p-progressspinner",
|
|
1785
1759
|
inputs: [
|
|
1786
1760
|
"value",
|
|
@@ -1793,9 +1767,14 @@ var ReplayEventCardComponent = class ReplayEventCardComponent extends AppBaseCom
|
|
|
1793
1767
|
]
|
|
1794
1768
|
},
|
|
1795
1769
|
{
|
|
1796
|
-
kind: "
|
|
1797
|
-
type:
|
|
1798
|
-
selector: "
|
|
1770
|
+
kind: "component",
|
|
1771
|
+
type: NoDataComponent,
|
|
1772
|
+
selector: "pw-no-data",
|
|
1773
|
+
inputs: [
|
|
1774
|
+
"message",
|
|
1775
|
+
"description",
|
|
1776
|
+
"withImage"
|
|
1777
|
+
]
|
|
1799
1778
|
},
|
|
1800
1779
|
{
|
|
1801
1780
|
kind: "component",
|
|
@@ -1808,9 +1787,33 @@ var ReplayEventCardComponent = class ReplayEventCardComponent extends AppBaseCom
|
|
|
1808
1787
|
],
|
|
1809
1788
|
outputs: ["updated"]
|
|
1810
1789
|
},
|
|
1790
|
+
{
|
|
1791
|
+
kind: "directive",
|
|
1792
|
+
type: LazyImgDirective,
|
|
1793
|
+
selector: "img"
|
|
1794
|
+
},
|
|
1795
|
+
{
|
|
1796
|
+
kind: "directive",
|
|
1797
|
+
type: RouterLink,
|
|
1798
|
+
selector: "[routerLink]",
|
|
1799
|
+
inputs: [
|
|
1800
|
+
"target",
|
|
1801
|
+
"queryParams",
|
|
1802
|
+
"fragment",
|
|
1803
|
+
"queryParamsHandling",
|
|
1804
|
+
"state",
|
|
1805
|
+
"info",
|
|
1806
|
+
"relativeTo",
|
|
1807
|
+
"preserveFragment",
|
|
1808
|
+
"skipLocationChange",
|
|
1809
|
+
"replaceUrl",
|
|
1810
|
+
"browserUrl",
|
|
1811
|
+
"routerLink"
|
|
1812
|
+
]
|
|
1813
|
+
},
|
|
1811
1814
|
{
|
|
1812
1815
|
kind: "pipe",
|
|
1813
|
-
type:
|
|
1816
|
+
type: TranslocoPipe,
|
|
1814
1817
|
name: "transloco"
|
|
1815
1818
|
}
|
|
1816
1819
|
],
|
|
@@ -1828,17 +1831,19 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
1828
1831
|
args: [{
|
|
1829
1832
|
selector: "pw-replay-event-card",
|
|
1830
1833
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1831
|
-
|
|
1834
|
+
imports: [
|
|
1835
|
+
Bind,
|
|
1836
|
+
ProgressSpinner,
|
|
1837
|
+
NoDataComponent,
|
|
1838
|
+
ResourceEditCardLazyComponent,
|
|
1839
|
+
LazyImgDirective,
|
|
1840
|
+
RouterLink,
|
|
1841
|
+
TranslocoPipe
|
|
1842
|
+
],
|
|
1832
1843
|
template: "<section class=\"resource-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n <div class=\"d-md-flex justify-content-between align-items-start\">\n <div class=\"vault-header\">\n @if (resourceTitle) {\n <h2 class=\"vault-heading\">{{resourceTitle}} Replays</h2>\n } @else {\n <h2 class=\"vault-heading\">Events & Webinars Replays</h2>\n }\n </div>\n </div>\n\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (posts.length === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n\n @if (posts.length !== 0 && isLoaded) {\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\">\n @for (post of posts; track post) {\n <div class=\"resource-blog-card vault-card text-center p-4\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"loadReplays()\">\n </pw-resource-edit-card-lazy>\n <h5 class=\"badge-title fw-bold\">REPLAY:</h5>\n <p class=\"event-title mb-4\" [innerHtml]=\"post?.title\"></p>\n <img\n [src]=\"post.picture.url\"\n class=\"img-fluid my-3 mt-auto\"\n alt=\"Webinar\" />\n @if (post?.external_url) {\n <a\n class=\"resource-btn mt-3\"\n [href]=\"post.external_url\"\n [attr.aria-label]=\"'Open external: ' + (post?.title || 'article')\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">external</span>\n <span class=\"arrow\">→</span>\n </a>\n } @else {\n <a class=\"resource-btn mt-3\" [attr.aria-label]=\"'Read resource: ' + (post?.title || 'article')\" [routerLink]=\"['/resources/view', post?.slug]\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">on site</span>\n <span class=\"arrow\">→</span>\n </a>\n }\n </div>\n }\n </div>\n @if (pager?.hasMore) {\n <button type=\"button\" class=\"resource-load-more\" [disabled]=\"isLoadingMore\" (click)=\"pager.loadMore()\">\n {{ 'Resource.LoadMore' | transloco }}\n </button>\n }\n }\n </div>\n</section>\n",
|
|
1833
1844
|
styles: [".bold{font-weight:700}.resource-heading{margin-bottom:2rem}.resource-note{margin-top:1rem;font-size:.85rem;color:#555}.resource-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.resource-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.resource-vault-section .vault-heading{font-size:3rem;font-weight:300}.resource-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.resource-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.resource-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.resource-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.resource-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.resource-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.resource-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.resource-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.resource-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media(width<=1200px){.resource-vault-section .vault-heading{font-size:3.5rem}.resource-vault-section .vault-description{margin-top:1.35rem}.resource-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media(width>=991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media(width>=768px)and (width<=1200px){.container{padding:0 6rem!important}}@media(width<=768px){.video-row{gap:3rem!important}}@media(max-width:768px){.resource-vault-section{padding-bottom:6rem!important}.resource-vault-section .container{padding-top:0rem!important;padding-bottom:0rem!important}.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media(width<=1200px){.container{padding:7rem 3rem 1rem!important}}\n", ".resource-load-more{display:block;margin:4rem auto 0;padding:10px 32px;border-radius:24px;border:1px solid var(--text-color, black);background-color:var(--text-color, black);color:#fff;font-size:1.5rem;font-weight:500;cursor:pointer;transition:background .3s ease}.resource-load-more:hover:not(:disabled){background:#fff;color:var(--text-color, black)}.resource-load-more:disabled{opacity:.6;cursor:default}\n"]
|
|
1834
1845
|
}]
|
|
1835
1846
|
}],
|
|
1836
|
-
ctorParameters: () => [
|
|
1837
|
-
{ type: ResourceService },
|
|
1838
|
-
{ type: i2.TagService },
|
|
1839
|
-
{ type: i0.ChangeDetectorRef },
|
|
1840
|
-
{ type: i0.Injector }
|
|
1841
|
-
],
|
|
1842
1847
|
propDecorators: {
|
|
1843
1848
|
showEventContent: [{ type: Input }],
|
|
1844
1849
|
categoryId: [{ type: Input }],
|
|
@@ -1848,11 +1853,11 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
1848
1853
|
}
|
|
1849
1854
|
});
|
|
1850
1855
|
var UpcomingEventCardComponent = class UpcomingEventCardComponent extends AppBaseComponent {
|
|
1851
|
-
constructor(
|
|
1852
|
-
super(
|
|
1853
|
-
this.resourceService =
|
|
1854
|
-
this.tagService =
|
|
1855
|
-
this.cdr =
|
|
1856
|
+
constructor() {
|
|
1857
|
+
super(...arguments);
|
|
1858
|
+
this.resourceService = inject(ResourceService);
|
|
1859
|
+
this.tagService = inject(TagService);
|
|
1860
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
1856
1861
|
this.showEventContent = false;
|
|
1857
1862
|
this.postSlice = false;
|
|
1858
1863
|
this.canEditResourcesValue = false;
|
|
@@ -1944,12 +1949,7 @@ var UpcomingEventCardComponent = class UpcomingEventCardComponent extends AppBas
|
|
|
1944
1949
|
version: "22.2.3",
|
|
1945
1950
|
ngImport: i0,
|
|
1946
1951
|
type: UpcomingEventCardComponent,
|
|
1947
|
-
deps:
|
|
1948
|
-
{ token: ResourceService },
|
|
1949
|
-
{ token: i2.TagService },
|
|
1950
|
-
{ token: i0.ChangeDetectorRef },
|
|
1951
|
-
{ token: i0.Injector }
|
|
1952
|
-
],
|
|
1952
|
+
deps: null,
|
|
1953
1953
|
target: i0.ɵɵFactoryTarget.Component
|
|
1954
1954
|
});
|
|
1955
1955
|
}
|
|
@@ -1958,7 +1958,7 @@ var UpcomingEventCardComponent = class UpcomingEventCardComponent extends AppBas
|
|
|
1958
1958
|
minVersion: "17.0.0",
|
|
1959
1959
|
version: "22.2.3",
|
|
1960
1960
|
type: UpcomingEventCardComponent,
|
|
1961
|
-
isStandalone:
|
|
1961
|
+
isStandalone: true,
|
|
1962
1962
|
selector: "pw-upcoming-event-card",
|
|
1963
1963
|
inputs: {
|
|
1964
1964
|
showEventContent: "showEventContent",
|
|
@@ -1977,42 +1977,27 @@ var UpcomingEventCardComponent = class UpcomingEventCardComponent extends AppBas
|
|
|
1977
1977
|
dependencies: [
|
|
1978
1978
|
{
|
|
1979
1979
|
kind: "directive",
|
|
1980
|
-
type:
|
|
1980
|
+
type: NgClass,
|
|
1981
1981
|
selector: "[ngClass]",
|
|
1982
1982
|
inputs: ["class", "ngClass"]
|
|
1983
1983
|
},
|
|
1984
1984
|
{
|
|
1985
|
-
kind: "
|
|
1986
|
-
type:
|
|
1987
|
-
selector: "[routerLink]",
|
|
1988
|
-
inputs: [
|
|
1989
|
-
"target",
|
|
1990
|
-
"queryParams",
|
|
1991
|
-
"fragment",
|
|
1992
|
-
"queryParamsHandling",
|
|
1993
|
-
"state",
|
|
1994
|
-
"info",
|
|
1995
|
-
"relativeTo",
|
|
1996
|
-
"preserveFragment",
|
|
1997
|
-
"skipLocationChange",
|
|
1998
|
-
"replaceUrl",
|
|
1999
|
-
"browserUrl",
|
|
2000
|
-
"routerLink"
|
|
2001
|
-
]
|
|
1985
|
+
kind: "ngmodule",
|
|
1986
|
+
type: FormsModule
|
|
2002
1987
|
},
|
|
2003
1988
|
{
|
|
2004
1989
|
kind: "directive",
|
|
2005
|
-
type:
|
|
1990
|
+
type: i1.DefaultValueAccessor,
|
|
2006
1991
|
selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]"
|
|
2007
1992
|
},
|
|
2008
1993
|
{
|
|
2009
1994
|
kind: "directive",
|
|
2010
|
-
type:
|
|
1995
|
+
type: i1.NgControlStatus,
|
|
2011
1996
|
selector: "[formControlName],[ngModel],[formControl]"
|
|
2012
1997
|
},
|
|
2013
1998
|
{
|
|
2014
1999
|
kind: "directive",
|
|
2015
|
-
type:
|
|
2000
|
+
type: i1.NgModel,
|
|
2016
2001
|
selector: "[ngModel]:not([formControlName]):not([formControl])",
|
|
2017
2002
|
inputs: [
|
|
2018
2003
|
"name",
|
|
@@ -2024,18 +2009,27 @@ var UpcomingEventCardComponent = class UpcomingEventCardComponent extends AppBas
|
|
|
2024
2009
|
exportAs: ["ngModel"]
|
|
2025
2010
|
},
|
|
2026
2011
|
{
|
|
2027
|
-
kind: "
|
|
2028
|
-
type:
|
|
2029
|
-
selector: "
|
|
2012
|
+
kind: "directive",
|
|
2013
|
+
type: RouterLink,
|
|
2014
|
+
selector: "[routerLink]",
|
|
2030
2015
|
inputs: [
|
|
2031
|
-
"
|
|
2032
|
-
"
|
|
2033
|
-
"
|
|
2016
|
+
"target",
|
|
2017
|
+
"queryParams",
|
|
2018
|
+
"fragment",
|
|
2019
|
+
"queryParamsHandling",
|
|
2020
|
+
"state",
|
|
2021
|
+
"info",
|
|
2022
|
+
"relativeTo",
|
|
2023
|
+
"preserveFragment",
|
|
2024
|
+
"skipLocationChange",
|
|
2025
|
+
"replaceUrl",
|
|
2026
|
+
"browserUrl",
|
|
2027
|
+
"routerLink"
|
|
2034
2028
|
]
|
|
2035
2029
|
},
|
|
2036
2030
|
{
|
|
2037
2031
|
kind: "component",
|
|
2038
|
-
type:
|
|
2032
|
+
type: ProgressSpinner,
|
|
2039
2033
|
selector: "p-progress-spinner, p-progressspinner",
|
|
2040
2034
|
inputs: [
|
|
2041
2035
|
"value",
|
|
@@ -2047,21 +2041,14 @@ var UpcomingEventCardComponent = class UpcomingEventCardComponent extends AppBas
|
|
|
2047
2041
|
"fill"
|
|
2048
2042
|
]
|
|
2049
2043
|
},
|
|
2050
|
-
{
|
|
2051
|
-
kind: "directive",
|
|
2052
|
-
type: i8.LazyImgDirective,
|
|
2053
|
-
selector: "img"
|
|
2054
|
-
},
|
|
2055
2044
|
{
|
|
2056
2045
|
kind: "component",
|
|
2057
|
-
type:
|
|
2058
|
-
selector: "pw-
|
|
2046
|
+
type: NoDataComponent,
|
|
2047
|
+
selector: "pw-no-data",
|
|
2059
2048
|
inputs: [
|
|
2060
|
-
"
|
|
2061
|
-
"
|
|
2062
|
-
"
|
|
2063
|
-
"user",
|
|
2064
|
-
"userLoggedIn"
|
|
2049
|
+
"message",
|
|
2050
|
+
"description",
|
|
2051
|
+
"withImage"
|
|
2065
2052
|
]
|
|
2066
2053
|
},
|
|
2067
2054
|
{
|
|
@@ -2075,9 +2062,26 @@ var UpcomingEventCardComponent = class UpcomingEventCardComponent extends AppBas
|
|
|
2075
2062
|
],
|
|
2076
2063
|
outputs: ["updated"]
|
|
2077
2064
|
},
|
|
2065
|
+
{
|
|
2066
|
+
kind: "directive",
|
|
2067
|
+
type: LazyImgDirective,
|
|
2068
|
+
selector: "img"
|
|
2069
|
+
},
|
|
2070
|
+
{
|
|
2071
|
+
kind: "component",
|
|
2072
|
+
type: ReplayEventCardComponent,
|
|
2073
|
+
selector: "pw-replay-event-card",
|
|
2074
|
+
inputs: [
|
|
2075
|
+
"showEventContent",
|
|
2076
|
+
"categoryId",
|
|
2077
|
+
"resourceTitle",
|
|
2078
|
+
"user",
|
|
2079
|
+
"userLoggedIn"
|
|
2080
|
+
]
|
|
2081
|
+
},
|
|
2078
2082
|
{
|
|
2079
2083
|
kind: "pipe",
|
|
2080
|
-
type:
|
|
2084
|
+
type: TranslocoPipe,
|
|
2081
2085
|
name: "transloco"
|
|
2082
2086
|
}
|
|
2083
2087
|
],
|
|
@@ -2095,17 +2099,23 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2095
2099
|
args: [{
|
|
2096
2100
|
selector: "pw-upcoming-event-card",
|
|
2097
2101
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2098
|
-
|
|
2102
|
+
imports: [
|
|
2103
|
+
NgClass,
|
|
2104
|
+
FormsModule,
|
|
2105
|
+
RouterLink,
|
|
2106
|
+
Bind,
|
|
2107
|
+
ProgressSpinner,
|
|
2108
|
+
NoDataComponent,
|
|
2109
|
+
ResourceEditCardLazyComponent,
|
|
2110
|
+
LazyImgDirective,
|
|
2111
|
+
ReplayEventCardComponent,
|
|
2112
|
+
TranslocoPipe
|
|
2113
|
+
],
|
|
2114
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
2099
2115
|
template: "<section class=\"resource-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n @if (showEventContent) {\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n @if (!isEditingTitle) {\n @if (resourceTitle) {\n <span [innerHTML]=\"resourceTitle\"></span>\n } @else {\n Events & Webinars\n }\n @if (canEditResourcesValue) {\n <i class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleEditTitle()\" (keydown.enter)=\"toggleEditTitle()\" (keydown.space)=\"toggleEditTitle()\" title=\"Edit Title\"></i>\n }\n } @else {\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" id=\"input_editedTitle_7936\" name=\"input_editedTitle_7936\"\n aria-label=\"Input Edited Title 7936\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle()\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n }\n </h2>\n <a class=\"view-all\" routerLink=\"/resources/events\">VIEW ALL ></a>\n </div>\n }\n @if (!showEventContent) {\n <div class=\"d-md-flex justify-content-between align-items-start\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n @if (!isEditingTitle) {\n @if (resourceTitle) {\n <span [innerHTML]=\"resourceTitle\"></span>\n } @else {\n Upcoming Events\n }\n @if (canEditResourcesValue) {\n <i class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleEditTitle()\" (keydown.enter)=\"toggleEditTitle()\" (keydown.space)=\"toggleEditTitle()\" title=\"Edit Title\"></i>\n }\n } @else {\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" id=\"input_editedTitle_7936\" name=\"input_editedTitle_7936\"\n aria-label=\"Input Edited Title 7936\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle()\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n }\n </h2>\n </div>\n }\n\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (posts.length === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n\n @if (posts.length !== 0 && isLoaded) {\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\">\n @for (post of posts; track trackByPostId($index, post)) {\n <div class=\"resource-blog-card d text-center p-4\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"refresh()\">\n </pw-resource-edit-card-lazy>\n @if (postSlice) {\n <h5 class=\"badge-title fw-bold\">UPCOMING:</h5>\n } @else {\n <h5 class=\"badge-title fw-bold\">\n {{ isUpcoming(post) ? 'UPCOMING:' : 'REPLAY:' }}\n </h5>\n }\n\n <p class=\"event-title mb-4\" [innerHtml]=\"post?.title\"></p>\n <a\n [href]=\"post.external_url || ('/resources/view/' + post?.slug)\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n [attr.aria-label]=\"'Open resource card: ' + (post?.title || 'article')\"\n >\n <img\n [src]=\"post.picture?.url\"\n class=\"img-fluid my-3 mt-auto\"\n alt=\"Webinar\"\n loading=\"lazy\"\n />\n </a>\n\n @if (post?.external_url) {\n <a\n class=\"resource-btn mt-3\"\n [attr.aria-label]=\"'Open external: ' + (post?.title || 'article')\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">external</span>\n <span class=\"arrow\">→</span>\n </a>\n } @else {\n <a class=\"resource-btn mt-3\" [attr.aria-label]=\"'Read resource: ' + (post?.title || 'article')\" [href]=\"'/resources/view/' + post?.slug\" target=\"_blank\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"visually-hidden\">on site</span>\n <span class=\"arrow\">→</span>\n </a>\n }\n </div>\n }\n </div>\n @if (postSlice && pager?.hasMore) {\n <button type=\"button\" class=\"resource-load-more\" [disabled]=\"isLoadingMore\" (click)=\"pager.loadMore()\">\n {{ 'Resource.LoadMore' | transloco }}\n </button>\n }\n }\n </div>\n</section>\n\n\n@if (!showEventContent) {\n<section class=\"bg-white\">\n <pw-replay-event-card [resourceTitle]=\"resourceTitle\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-replay-event-card>\n</section>\n}\n",
|
|
2100
2116
|
styles: [".bold{font-weight:700}.resource-heading{margin-bottom:2rem}.resource-note{margin-top:1rem;font-size:.85rem;color:#555}.resource-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.resource-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.resource-vault-section .vault-heading{font-size:3rem;font-weight:300}.resource-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.resource-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.resource-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.resource-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.resource-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.resource-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.resource-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.resource-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.resource-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media(width<=1200px){.resource-vault-section .vault-heading{font-size:3.5rem}.resource-vault-section .vault-description{margin-top:1.35rem}.resource-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media(width>=991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media(width>=768px)and (width<=1200px){.container{padding:0 6rem!important}}@media(width<=768px){.video-row{gap:3rem!important}}@media(max-width:768px){.resource-vault-section{padding-bottom:6rem!important}.resource-vault-section .container{padding-top:0rem!important;padding-bottom:0rem!important}.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media(width<=1200px){.container{padding:7rem 3rem 1rem!important}}\n", ".resource-load-more{display:block;margin:4rem auto 0;padding:10px 32px;border-radius:24px;border:1px solid var(--text-color, black);background-color:var(--text-color, black);color:#fff;font-size:1.5rem;font-weight:500;cursor:pointer;transition:background .3s ease}.resource-load-more:hover:not(:disabled){background:#fff;color:var(--text-color, black)}.resource-load-more:disabled{opacity:.6;cursor:default}\n"]
|
|
2101
2117
|
}]
|
|
2102
2118
|
}],
|
|
2103
|
-
ctorParameters: () => [
|
|
2104
|
-
{ type: ResourceService },
|
|
2105
|
-
{ type: i2.TagService },
|
|
2106
|
-
{ type: i0.ChangeDetectorRef },
|
|
2107
|
-
{ type: i0.Injector }
|
|
2108
|
-
],
|
|
2109
2119
|
propDecorators: {
|
|
2110
2120
|
showEventContent: [{ type: Input }],
|
|
2111
2121
|
categoryId: [{ type: Input }],
|
|
@@ -2133,16 +2143,6 @@ var ResourceCardsModule = class ResourceCardsModule {
|
|
|
2133
2143
|
version: "22.2.3",
|
|
2134
2144
|
ngImport: i0,
|
|
2135
2145
|
type: ResourceCardsModule,
|
|
2136
|
-
declarations: [
|
|
2137
|
-
ResourceVideoCardComponent,
|
|
2138
|
-
UpcomingEventCardComponent,
|
|
2139
|
-
ReplayEventCardComponent,
|
|
2140
|
-
ResourceCardComponent,
|
|
2141
|
-
CaseStudyCardComponent,
|
|
2142
|
-
ResourceNoteCardComponent,
|
|
2143
|
-
ResourceVaultComponent,
|
|
2144
|
-
ResourceEditCardLazyComponent
|
|
2145
|
-
],
|
|
2146
2146
|
imports: [
|
|
2147
2147
|
CommonModule,
|
|
2148
2148
|
RouterModule,
|
|
@@ -2157,7 +2157,15 @@ var ResourceCardsModule = class ResourceCardsModule {
|
|
|
2157
2157
|
DirectivesModule,
|
|
2158
2158
|
DragDropModule,
|
|
2159
2159
|
NgxCaptchaModule,
|
|
2160
|
-
Trial4ContactUsModule
|
|
2160
|
+
Trial4ContactUsModule,
|
|
2161
|
+
ResourceVideoCardComponent,
|
|
2162
|
+
UpcomingEventCardComponent,
|
|
2163
|
+
ReplayEventCardComponent,
|
|
2164
|
+
ResourceCardComponent,
|
|
2165
|
+
CaseStudyCardComponent,
|
|
2166
|
+
ResourceNoteCardComponent,
|
|
2167
|
+
ResourceVaultComponent,
|
|
2168
|
+
ResourceEditCardLazyComponent
|
|
2161
2169
|
],
|
|
2162
2170
|
exports: [
|
|
2163
2171
|
ResourceVideoCardComponent,
|
|
@@ -2193,6 +2201,13 @@ var ResourceCardsModule = class ResourceCardsModule {
|
|
|
2193
2201
|
DragDropModule,
|
|
2194
2202
|
NgxCaptchaModule,
|
|
2195
2203
|
Trial4ContactUsModule,
|
|
2204
|
+
ResourceVideoCardComponent,
|
|
2205
|
+
UpcomingEventCardComponent,
|
|
2206
|
+
ReplayEventCardComponent,
|
|
2207
|
+
ResourceCardComponent,
|
|
2208
|
+
CaseStudyCardComponent,
|
|
2209
|
+
ResourceNoteCardComponent,
|
|
2210
|
+
ResourceVaultComponent,
|
|
2196
2211
|
Trial4ContactUsModule,
|
|
2197
2212
|
PaginatorModule
|
|
2198
2213
|
]
|
|
@@ -2207,16 +2222,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2207
2222
|
decorators: [{
|
|
2208
2223
|
type: NgModule,
|
|
2209
2224
|
args: [{
|
|
2210
|
-
declarations: [
|
|
2211
|
-
ResourceVideoCardComponent,
|
|
2212
|
-
UpcomingEventCardComponent,
|
|
2213
|
-
ReplayEventCardComponent,
|
|
2214
|
-
ResourceCardComponent,
|
|
2215
|
-
CaseStudyCardComponent,
|
|
2216
|
-
ResourceNoteCardComponent,
|
|
2217
|
-
ResourceVaultComponent,
|
|
2218
|
-
ResourceEditCardLazyComponent
|
|
2219
|
-
],
|
|
2220
2225
|
imports: [
|
|
2221
2226
|
CommonModule,
|
|
2222
2227
|
RouterModule,
|
|
@@ -2231,7 +2236,15 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2231
2236
|
DirectivesModule,
|
|
2232
2237
|
DragDropModule,
|
|
2233
2238
|
NgxCaptchaModule,
|
|
2234
|
-
Trial4ContactUsModule
|
|
2239
|
+
Trial4ContactUsModule,
|
|
2240
|
+
ResourceVideoCardComponent,
|
|
2241
|
+
UpcomingEventCardComponent,
|
|
2242
|
+
ReplayEventCardComponent,
|
|
2243
|
+
ResourceCardComponent,
|
|
2244
|
+
CaseStudyCardComponent,
|
|
2245
|
+
ResourceNoteCardComponent,
|
|
2246
|
+
ResourceVaultComponent,
|
|
2247
|
+
ResourceEditCardLazyComponent
|
|
2235
2248
|
],
|
|
2236
2249
|
exports: [
|
|
2237
2250
|
ResourceVideoCardComponent,
|
|
@@ -2248,6 +2261,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2248
2261
|
}]
|
|
2249
2262
|
}]
|
|
2250
2263
|
});
|
|
2251
|
-
export {
|
|
2264
|
+
export { ResourceCardComponent as a, ResourceNoteCardComponent as c, Trial4ContactUsModule as d, BaseResourceComponent as i, ResourcePager as l, UpcomingEventCardComponent as n, CaseStudyCardComponent as o, ResourceVaultComponent as r, ResourceVideoCardComponent as s, ResourceCardsModule as t, ResourceEditCardLazyComponent as u };
|
|
2252
2265
|
|
|
2253
|
-
//# sourceMappingURL=posiwise-resource-module-resource-cards.module-
|
|
2266
|
+
//# sourceMappingURL=posiwise-resource-module-resource-cards.module-BSJpkk9V.mjs.map
|