@esolve/ng-esolve-connect 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/esm2020/lib/locations/esolve-locations.service.mjs +10 -3
  2. package/esm2020/lib/ng-esolve-connect.module.mjs +3 -3
  3. package/esm2020/media/classes/esolve-heading.model.mjs +7 -0
  4. package/esm2020/media/classes/esolve-media-article.model.mjs +54 -0
  5. package/esm2020/media/classes/esolve-media-group.model.mjs +15 -0
  6. package/esm2020/media/classes/esolve-media-layout-section.model.mjs +18 -0
  7. package/esm2020/media/classes/index.mjs +5 -0
  8. package/esm2020/media/components/index.mjs +3 -0
  9. package/esm2020/media/components/media-layout/esolve-media-layout.component.mjs +41 -0
  10. package/esm2020/media/components/media-section/esolve-media-section.component.mjs +46 -0
  11. package/esm2020/media/esolve-connect-media-config.token.mjs +3 -0
  12. package/esm2020/media/esolve-connect-media.config.mjs +2 -0
  13. package/esm2020/media/esolve-ng-esolve-connect-media.mjs +5 -0
  14. package/esm2020/media/esolve-section-data.token.mjs +3 -0
  15. package/esm2020/media/interfaces/esolve-heading-record.interface.mjs +2 -0
  16. package/esm2020/media/interfaces/esolve-layout-config.interface.mjs +2 -0
  17. package/esm2020/media/interfaces/esolve-layout-section-config.interface.mjs +2 -0
  18. package/esm2020/media/interfaces/esolve-media-group-record.interface.mjs +2 -0
  19. package/esm2020/media/interfaces/esolve-media-layout-section-record.interface.mjs +2 -0
  20. package/esm2020/media/interfaces/esolve-media-record.interface.mjs +2 -0
  21. package/esm2020/media/interfaces/index.mjs +7 -0
  22. package/esm2020/media/ng-esolve-connect-media.module.mjs +54 -0
  23. package/esm2020/media/public_api.mjs +10 -0
  24. package/esm2020/media/services/esolve-media-layout.service.mjs +145 -0
  25. package/esm2020/media/services/esolve-media.service.mjs +114 -0
  26. package/esm2020/media/services/index.mjs +3 -0
  27. package/esm2020/media/types/esolve-media-layout-section-type.type.mjs +2 -0
  28. package/esm2020/media/types/index.mjs +2 -0
  29. package/esm2020/public-api.mjs +3 -3
  30. package/fesm2015/esolve-ng-esolve-connect-media.mjs +487 -0
  31. package/fesm2015/esolve-ng-esolve-connect-media.mjs.map +1 -0
  32. package/fesm2015/esolve-ng-esolve-connect.mjs +12 -148
  33. package/fesm2015/esolve-ng-esolve-connect.mjs.map +1 -1
  34. package/fesm2020/esolve-ng-esolve-connect-media.mjs +480 -0
  35. package/fesm2020/esolve-ng-esolve-connect-media.mjs.map +1 -0
  36. package/fesm2020/esolve-ng-esolve-connect.mjs +12 -146
  37. package/fesm2020/esolve-ng-esolve-connect.mjs.map +1 -1
  38. package/lib/locations/esolve-locations.service.d.ts +7 -2
  39. package/{lib/media → media/classes}/esolve-heading.model.d.ts +0 -0
  40. package/media/classes/esolve-media-article.model.d.ts +19 -0
  41. package/media/classes/esolve-media-group.model.d.ts +8 -0
  42. package/media/classes/esolve-media-layout-section.model.d.ts +10 -0
  43. package/media/classes/index.d.ts +4 -0
  44. package/media/components/index.d.ts +2 -0
  45. package/media/components/media-layout/esolve-media-layout.component.d.ts +14 -0
  46. package/media/components/media-section/esolve-media-section.component.d.ts +14 -0
  47. package/media/esolve-connect-media-config.token.d.ts +3 -0
  48. package/media/esolve-connect-media.config.d.ts +6 -0
  49. package/media/esolve-ng-esolve-connect-media.d.ts +5 -0
  50. package/media/esolve-section-data.token.d.ts +3 -0
  51. package/{lib/media → media/interfaces}/esolve-heading-record.interface.d.ts +0 -0
  52. package/media/interfaces/esolve-layout-config.interface.d.ts +9 -0
  53. package/media/interfaces/esolve-layout-section-config.interface.d.ts +7 -0
  54. package/media/interfaces/esolve-media-group-record.interface.d.ts +6 -0
  55. package/media/interfaces/esolve-media-layout-section-record.interface.d.ts +7 -0
  56. package/media/interfaces/esolve-media-record.interface.d.ts +38 -0
  57. package/media/interfaces/index.d.ts +6 -0
  58. package/media/ng-esolve-connect-media.module.d.ts +15 -0
  59. package/media/package.json +10 -0
  60. package/media/public_api.d.ts +9 -0
  61. package/media/services/esolve-media-layout.service.d.ts +23 -0
  62. package/{lib/media → media/services}/esolve-media.service.d.ts +2 -3
  63. package/media/services/index.d.ts +2 -0
  64. package/media/types/esolve-media-layout-section-type.type.d.ts +1 -0
  65. package/media/types/index.d.ts +1 -0
  66. package/package.json +18 -5
  67. package/public-api.d.ts +2 -2
  68. package/schematics/collection.json +9 -0
  69. package/schematics/ng-add/index.d.ts +2 -0
  70. package/schematics/ng-add/index.js +30 -0
  71. package/schematics/ng-add/index.js.map +1 -0
  72. package/esm2020/lib/media/esolve-heading-record.interface.mjs +0 -2
  73. package/esm2020/lib/media/esolve-heading.model.mjs +0 -7
  74. package/esm2020/lib/media/esolve-media-article.model.mjs +0 -16
  75. package/esm2020/lib/media/esolve-media-record.interface.mjs +0 -2
  76. package/esm2020/lib/media/esolve-media.service.mjs +0 -129
  77. package/esm2020/lib/media/index.mjs +0 -6
  78. package/lib/media/esolve-media-article.model.d.ts +0 -14
  79. package/lib/media/esolve-media-record.interface.d.ts +0 -31
  80. package/lib/media/index.d.ts +0 -5
@@ -14,11 +14,16 @@ export declare class EsolveLocationsService {
14
14
  */
15
15
  getStockLocations(): Observable<EsolveLocation[]>;
16
16
  /**
17
- * Retrieves a list of stock locations
17
+ * Retrieves a list of stock locations using the address_id as parameter or the latitude and longitude.
18
+ * Set the addresses_id to 0 and the gps coordinates in order to retrieve the locations list when the address isn't
19
+ * yet saved.
18
20
  *
21
+ * @param addresses_id if supplied, the address will be looked up and the latitude and longitude on the address will be used.
22
+ * @param latitude if supplied and address_id > 0, the value is ignored.
23
+ * @param longitude if supplied and address_id > 0, the value is ignored.
19
24
  * @returns An `Observable` with an array of stock locations
20
25
  */
21
- getStockLocationsGeo(addresses_id?: number): Observable<EsolveLocation[]>;
26
+ getStockLocationsGeo(addresses_id?: number, latitude?: number, longitude?: number): Observable<EsolveLocation[]>;
22
27
  /**
23
28
  * Processes the eSolve stock location records.
24
29
  *
@@ -0,0 +1,19 @@
1
+ import { EsolveManufacturer, EsolveRange, EsolveSeoDetails, EsolveSeoInfo, EsolveTag, EsolveTopic } from '@esolve/ng-esolve-connect';
2
+ import { EsolveMediaRecord } from '../interfaces';
3
+ import { EsolveMediaGroup } from './esolve-media-group.model';
4
+ import { EsolveMediaLayoutSection } from './esolve-media-layout-section.model';
5
+ export declare class EsolveMediaArticle implements EsolveSeoDetails {
6
+ identifier: string;
7
+ title: string;
8
+ article: string;
9
+ layout: string;
10
+ image_url: string;
11
+ tags: EsolveTag[];
12
+ topics: EsolveTopic[];
13
+ seo_details: EsolveSeoInfo;
14
+ group?: EsolveMediaGroup;
15
+ manufacturer?: EsolveManufacturer;
16
+ range?: EsolveRange;
17
+ sections?: Map<string, EsolveMediaLayoutSection[]>;
18
+ constructor(record: EsolveMediaRecord);
19
+ }
@@ -0,0 +1,8 @@
1
+ import { EsolveMediaGroupRecord } from '../interfaces';
2
+ export declare class EsolveMediaGroup {
3
+ id: number;
4
+ name: string;
5
+ sef_name: string;
6
+ description: string;
7
+ constructor(record?: EsolveMediaGroupRecord);
8
+ }
@@ -0,0 +1,10 @@
1
+ import { EsolveMediaLayoutSectionRecord } from '../interfaces';
2
+ import { EsolveMediaLayoutSectionType } from '../types';
3
+ export declare class EsolveMediaLayoutSection {
4
+ type: EsolveMediaLayoutSectionType;
5
+ sub_type: string;
6
+ identifier: string;
7
+ private data?;
8
+ constructor(record: EsolveMediaLayoutSectionRecord);
9
+ getData<T>(): T | null;
10
+ }
@@ -0,0 +1,4 @@
1
+ export * from './esolve-heading.model';
2
+ export * from './esolve-media-article.model';
3
+ export * from './esolve-media-group.model';
4
+ export * from './esolve-media-layout-section.model';
@@ -0,0 +1,2 @@
1
+ export * from './media-layout/esolve-media-layout.component';
2
+ export * from './media-section/esolve-media-section.component';
@@ -0,0 +1,14 @@
1
+ import { OnChanges } from '@angular/core';
2
+ import { ComponentPortal } from '@angular/cdk/portal';
3
+ import { EsolveMediaArticle } from '../../classes';
4
+ import { EsolveMediaLayoutService } from '../../services';
5
+ import * as i0 from "@angular/core";
6
+ export declare class EsolveMediaLayoutComponent implements OnChanges {
7
+ layoutService: EsolveMediaLayoutService;
8
+ media: EsolveMediaArticle;
9
+ portal: ComponentPortal<any>;
10
+ constructor(layoutService: EsolveMediaLayoutService);
11
+ ngOnChanges(): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<EsolveMediaLayoutComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<EsolveMediaLayoutComponent, "eslv-media-layout", never, { "media": "media"; }, {}, never, never>;
14
+ }
@@ -0,0 +1,14 @@
1
+ import { OnChanges } from '@angular/core';
2
+ import { ComponentPortal } from '@angular/cdk/portal';
3
+ import { EsolveMediaLayoutService } from '../../services';
4
+ import * as i0 from "@angular/core";
5
+ export declare class EsolveMediaSectionComponent implements OnChanges {
6
+ layoutService: EsolveMediaLayoutService;
7
+ key: string;
8
+ portals: ComponentPortal<any>[];
9
+ constructor(layoutService: EsolveMediaLayoutService);
10
+ ngOnChanges(): void;
11
+ private processPortals;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<EsolveMediaSectionComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<EsolveMediaSectionComponent, "eslv-media-section", never, { "key": "key"; }, {}, never, never>;
14
+ }
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { EsolveConnectMediaConfig } from './esolve-connect-media.config';
3
+ export declare const ESOLVE_CONNECT_MEDIA_CONFIG: InjectionToken<EsolveConnectMediaConfig>;
@@ -0,0 +1,6 @@
1
+ import { EsolveLayoutConfig, EsolveLayoutSectionConfig } from './interfaces';
2
+ export interface EsolveConnectMediaConfig {
3
+ layouts: EsolveLayoutConfig[];
4
+ default_layout?: string;
5
+ sections: EsolveLayoutSectionConfig[];
6
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@esolve/ng-esolve-connect/media" />
5
+ export * from './public_api';
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { EsolveMediaLayoutSection } from './classes';
3
+ export declare const ESOLVE_SECTION_DATA: InjectionToken<EsolveMediaLayoutSection>;
@@ -0,0 +1,9 @@
1
+ import { ComponentType } from '@angular/cdk/portal';
2
+ import { EsolveLayoutSectionConfig } from './esolve-layout-section-config.interface';
3
+ export interface EsolveLayoutConfig {
4
+ key: string;
5
+ component: ComponentType<any>;
6
+ sections?: {
7
+ [key: string]: EsolveLayoutSectionConfig[];
8
+ };
9
+ }
@@ -0,0 +1,7 @@
1
+ import { ComponentType } from '@angular/cdk/portal';
2
+ import { EsolveMediaLayoutSectionType } from '../types';
3
+ export interface EsolveLayoutSectionConfig {
4
+ key: EsolveMediaLayoutSectionType;
5
+ sub_key?: string;
6
+ component: ComponentType<any>;
7
+ }
@@ -0,0 +1,6 @@
1
+ export interface EsolveMediaGroupRecord {
2
+ id?: number;
3
+ name?: string;
4
+ sef_name?: string;
5
+ description?: string;
6
+ }
@@ -0,0 +1,7 @@
1
+ import { EsolveMediaLayoutSectionType } from '../types';
2
+ export interface EsolveMediaLayoutSectionRecord {
3
+ type: EsolveMediaLayoutSectionType;
4
+ sub_type?: string;
5
+ identifier: string;
6
+ data?: any;
7
+ }
@@ -0,0 +1,38 @@
1
+ import { EsolveManufacturerRecord, EsolveRangeRecord, EsolveTagRecord, EsolveTopicRecord } from '@esolve/ng-esolve-connect';
2
+ import { EsolveMediaGroupRecord } from './esolve-media-group-record.interface';
3
+ import { EsolveMediaLayoutSectionRecord } from './esolve-media-layout-section-record.interface';
4
+ export interface EsolveMediaRecord {
5
+ identifier: string;
6
+ title: string;
7
+ article: string;
8
+ id?: number;
9
+ media_group_id?: number;
10
+ media_group?: EsolveMediaGroupRecord;
11
+ txdate?: string;
12
+ seo_page_priority?: string;
13
+ seo_page_update_frequency?: string;
14
+ seo_page_title?: string;
15
+ seo_keywords?: string;
16
+ seo_description?: string;
17
+ userid?: number;
18
+ language_code?: string;
19
+ active?: boolean;
20
+ sort_priority?: number;
21
+ only_display_when_logged_on?: boolean;
22
+ is_minor_article?: boolean;
23
+ is_both_master_and_minor_article?: boolean;
24
+ url?: string;
25
+ sef_url?: string;
26
+ link_caption?: string;
27
+ modified?: string;
28
+ image_url?: string;
29
+ image_checksum?: string;
30
+ manufacturer?: EsolveManufacturerRecord;
31
+ range?: EsolveRangeRecord;
32
+ layout?: string;
33
+ tags?: EsolveTagRecord[];
34
+ topics?: EsolveTopicRecord[];
35
+ sections?: {
36
+ [key: string]: EsolveMediaLayoutSectionRecord[];
37
+ };
38
+ }
@@ -0,0 +1,6 @@
1
+ export * from './esolve-layout-config.interface';
2
+ export * from './esolve-layout-section-config.interface';
3
+ export * from './esolve-heading-record.interface';
4
+ export * from './esolve-media-record.interface';
5
+ export * from './esolve-media-group-record.interface';
6
+ export * from './esolve-media-layout-section-record.interface';
@@ -0,0 +1,15 @@
1
+ import { ModuleWithProviders } from '@angular/core';
2
+ import { EsolveConnectMediaConfig } from './esolve-connect-media.config';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./components/media-layout/esolve-media-layout.component";
5
+ import * as i2 from "./components/media-section/esolve-media-section.component";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@angular/common/http";
8
+ import * as i5 from "@angular/cdk/portal";
9
+ import * as i6 from "@esolve/ng-esolve-connect";
10
+ export declare class NgEsolveConnectMediaModule {
11
+ static withConfig(config: EsolveConnectMediaConfig): ModuleWithProviders<NgEsolveConnectMediaModule>;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgEsolveConnectMediaModule, never>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgEsolveConnectMediaModule, [typeof i1.EsolveMediaLayoutComponent, typeof i2.EsolveMediaSectionComponent], [typeof i3.CommonModule, typeof i4.HttpClientModule, typeof i5.PortalModule, typeof i6.NgEsolveConnectModule], [typeof i1.EsolveMediaLayoutComponent, typeof i2.EsolveMediaSectionComponent]>;
14
+ static ɵinj: i0.ɵɵInjectorDeclaration<NgEsolveConnectMediaModule>;
15
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "module": "../fesm2015/esolve-ng-esolve-connect-media.mjs",
3
+ "es2020": "../fesm2020/esolve-ng-esolve-connect-media.mjs",
4
+ "esm2020": "../esm2020/media/esolve-ng-esolve-connect-media.mjs",
5
+ "fesm2020": "../fesm2020/esolve-ng-esolve-connect-media.mjs",
6
+ "fesm2015": "../fesm2015/esolve-ng-esolve-connect-media.mjs",
7
+ "typings": "esolve-ng-esolve-connect-media.d.ts",
8
+ "sideEffects": false,
9
+ "name": "@esolve/ng-esolve-connect/media"
10
+ }
@@ -0,0 +1,9 @@
1
+ export * from './ng-esolve-connect-media.module';
2
+ export * from './esolve-connect-media.config';
3
+ export * from './esolve-connect-media-config.token';
4
+ export * from './esolve-section-data.token';
5
+ export * from './components';
6
+ export * from './classes';
7
+ export * from './types';
8
+ export * from './interfaces';
9
+ export * from './services';
@@ -0,0 +1,23 @@
1
+ import { ComponentType } from '@angular/cdk/portal';
2
+ import { EsolveMediaArticle, EsolveMediaLayoutSection } from '../classes';
3
+ import { EsolveConnectMediaConfig } from '../esolve-connect-media.config';
4
+ import * as i0 from "@angular/core";
5
+ export declare class EsolveMediaLayoutService {
6
+ private readonly section_key_delimiter;
7
+ private media?;
8
+ private layout_map;
9
+ private section_map;
10
+ private default_layout;
11
+ constructor(config: EsolveConnectMediaConfig);
12
+ getMedia(): EsolveMediaArticle;
13
+ setMedia(media: EsolveMediaArticle): void;
14
+ getLayout(): ComponentType<any>;
15
+ getSectionContent(key: string): EsolveMediaLayoutSection[];
16
+ getSectionComponent(key: string, section: EsolveMediaLayoutSection): ComponentType<any>;
17
+ private searchLayout;
18
+ private setLayout;
19
+ private setSection;
20
+ private createSectionMapKey;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<EsolveMediaLayoutService, never>;
22
+ static ɵprov: i0.ɵɵInjectableDeclaration<EsolveMediaLayoutService>;
23
+ }
@@ -1,8 +1,7 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import { Observable } from 'rxjs';
3
- import { EsolveConnectConfig } from '../esolve-connect.config';
4
- import { EsolveMediaArticle } from './esolve-media-article.model';
5
- import { EsolveHeading } from './esolve-heading.model';
3
+ import { EsolveConnectConfig } from '@esolve/ng-esolve-connect';
4
+ import { EsolveMediaArticle, EsolveHeading } from '../classes';
6
5
  import * as i0 from "@angular/core";
7
6
  export declare class EsolveMediaService {
8
7
  private config;
@@ -0,0 +1,2 @@
1
+ export * from './esolve-media.service';
2
+ export * from './esolve-media-layout.service';
@@ -0,0 +1 @@
1
+ export declare type EsolveMediaLayoutSectionType = 'media' | 'banner' | 'linked_stock' | 'custom';
@@ -0,0 +1 @@
1
+ export * from './esolve-media-layout-section-type.type';
package/package.json CHANGED
@@ -1,12 +1,17 @@
1
1
  {
2
2
  "name": "@esolve/ng-esolve-connect",
3
- "version": "0.19.0",
3
+ "version": "0.20.0",
4
4
  "description": "An Angular library that speaks to an eSolve instance's API",
5
+ "ng-add": {
6
+ "save": "true"
7
+ },
8
+ "schematics": "./schematics/collection.json",
5
9
  "peerDependencies": {
6
- "@angular/common": ">=12.0.0",
7
- "@angular/core": ">=12.0.0",
8
- "ngx-cookie-service": "^13.0.0",
9
- "@types/express": "^4.17.0"
10
+ "@angular/common": ">=13.0.0",
11
+ "@angular/core": ">=13.0.0",
12
+ "@angular/cdk": ">=13.0.0",
13
+ "@types/express": "^4.17.0",
14
+ "ngx-cookie-service": "^13.0.0"
10
15
  },
11
16
  "dependencies": {
12
17
  "tslib": "^2.3.0"
@@ -29,6 +34,14 @@
29
34
  "es2015": "./fesm2015/esolve-ng-esolve-connect.mjs",
30
35
  "node": "./fesm2015/esolve-ng-esolve-connect.mjs",
31
36
  "default": "./fesm2020/esolve-ng-esolve-connect.mjs"
37
+ },
38
+ "./media": {
39
+ "types": "./media/esolve-ng-esolve-connect-media.d.ts",
40
+ "esm2020": "./esm2020/media/esolve-ng-esolve-connect-media.mjs",
41
+ "es2020": "./fesm2020/esolve-ng-esolve-connect-media.mjs",
42
+ "es2015": "./fesm2015/esolve-ng-esolve-connect-media.mjs",
43
+ "node": "./fesm2015/esolve-ng-esolve-connect-media.mjs",
44
+ "default": "./fesm2020/esolve-ng-esolve-connect-media.mjs"
32
45
  }
33
46
  },
34
47
  "sideEffects": false
package/public-api.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './lib/ng-esolve-connect.module';
2
- export { EsolveConnectConfig } from './lib/esolve-connect.config';
2
+ export * from './lib/esolve-connect.config';
3
+ export * from './lib/esolve-connect-config.constant';
3
4
  export * from './lib/shared/esolve-list.model';
4
5
  export * from './lib/shared/esolve-result.model';
5
6
  export * from './lib/shared/response';
@@ -13,7 +14,6 @@ export * from './lib/session';
13
14
  export * from './lib/auth';
14
15
  export * from './lib/account';
15
16
  export * from './lib/banners';
16
- export * from './lib/media';
17
17
  export * from './lib/menu';
18
18
  export * from './lib/news';
19
19
  export * from './lib/topics';
@@ -0,0 +1,9 @@
1
+ {
2
+ "$schema": "../../../node_modules/@angular-devkit/schematics/collection-schema.json",
3
+ "schematics": {
4
+ "ng-add": {
5
+ "description": "Add NG eSolve Connect to project",
6
+ "factory": "./ng-add/index#ngAdd"
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,2 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ export declare function ngAdd(): Rule;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ngAdd = void 0;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ const tasks_1 = require("@angular-devkit/schematics/tasks");
6
+ const change_1 = require("@schematics/angular/utility/change");
7
+ const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
8
+ const ts = require("typescript");
9
+ function ngAdd() {
10
+ return (tree, context) => {
11
+ context.logger.info('Adding library module to the app...');
12
+ const module_path = '/src/app/app.module.ts';
13
+ if (!tree.exists(module_path)) {
14
+ throw new schematics_1.SchematicsException(`The file '${module_path}' doesn't exist...`);
15
+ }
16
+ const recorder = tree.beginUpdate(module_path);
17
+ const text = tree.read(module_path);
18
+ if (text === null) {
19
+ throw new schematics_1.SchematicsException(`The file '${module_path}' doesn't exist...`);
20
+ }
21
+ const source = ts.createSourceFile(module_path, text.toString(), ts.ScriptTarget.Latest, true);
22
+ (0, change_1.applyToUpdateRecorder)(recorder, (0, ast_utils_1.addImportToModule)(source, module_path, 'NgEsolveConnectModule.forRoot()', '@esolve/ng-esolve-connect'));
23
+ tree.commitUpdate(recorder);
24
+ context.logger.info('Installing dependencies...');
25
+ context.addTask(new tasks_1.NodePackageInstallTask());
26
+ return tree;
27
+ };
28
+ }
29
+ exports.ngAdd = ngAdd;
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/ng-esolve-connect/schematics/ng-add/index.ts"],"names":[],"mappings":";;;AAAA,2DAA+F;AAC/F,4DAA0E;AAE1E,+DAA2E;AAC3E,qEAA0E;AAE1E,iCAAgC;AAEhC,SAAgB,KAAK;IACjB,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC7C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,wBAAwB,CAAC;QAE7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;YAC3B,MAAM,IAAI,gCAAmB,CAAC,aAAa,WAAW,oBAAoB,CAAC,CAAC;SAC/E;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEpC,IAAI,IAAI,KAAK,IAAI,EAAE;YACf,MAAM,IAAI,gCAAmB,CAAC,aAAa,WAAW,oBAAoB,CAAC,CAAC;SAC/E;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAC9B,WAAW,EACX,IAAI,CAAC,QAAQ,EAAE,EACf,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACP,CAAC;QAEF,IAAA,8BAAqB,EACjB,QAAQ,EACR,IAAA,6BAAiB,EACb,MAAM,EACN,WAAW,EACX,iCAAiC,EACjC,2BAA2B,CAC9B,CACJ,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAClD,OAAO,CAAC,OAAO,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;AACN,CAAC;AAzCD,sBAyCC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWhlYWRpbmctcmVjb3JkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbWVkaWEvZXNvbHZlLWhlYWRpbmctcmVjb3JkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFc29sdmVIZWFkaW5nUmVjb3JkIHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICBpZGVudGlmaWVyOiBzdHJpbmc7XHJcbiAgICB2YWx1ZTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -1,7 +0,0 @@
1
- export class EsolveHeading {
2
- constructor(identifier, value) {
3
- this.identifier = identifier;
4
- this.value = value;
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWhlYWRpbmcubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL21lZGlhL2Vzb2x2ZS1oZWFkaW5nLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFlBQ1csVUFBa0IsRUFDbEIsS0FBYTtRQURiLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDbEIsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUNwQixDQUFDO0NBQ1IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRXNvbHZlSGVhZGluZyB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgaWRlbnRpZmllcjogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyB2YWx1ZTogc3RyaW5nLFxyXG4gICAgKSB7IH1cclxufVxyXG4iXX0=
@@ -1,16 +0,0 @@
1
- import { EsolveSeoInfo } from '../shared/seo/esolve-seo-info.model';
2
- export class EsolveMediaArticle {
3
- constructor(identifier, title, article, image_url = '', tags = [], topics = [], seo_title = '', seo_keywords = '', seo_description = '') {
4
- this.identifier = identifier;
5
- this.title = title;
6
- this.article = article;
7
- this.image_url = image_url;
8
- this.tags = tags;
9
- this.topics = topics;
10
- if (seo_title.trim() === '') {
11
- seo_title = this.title;
12
- }
13
- this.seo_details = new EsolveSeoInfo(seo_title, seo_description, seo_keywords);
14
- }
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLWFydGljbGUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL21lZGlhL2Vzb2x2ZS1tZWRpYS1hcnRpY2xlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUtwRSxNQUFNLE9BQU8sa0JBQWtCO0lBRzNCLFlBQ1csVUFBa0IsRUFDbEIsS0FBYSxFQUNiLE9BQWUsRUFDZixZQUFvQixFQUFFLEVBQ3RCLE9BQW9CLEVBQUUsRUFDdEIsU0FBd0IsRUFBRSxFQUNqQyxZQUFvQixFQUFFLEVBQ3RCLGVBQXVCLEVBQUUsRUFDekIsa0JBQTBCLEVBQUU7UUFSckIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGNBQVMsR0FBVCxTQUFTLENBQWE7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFLakMsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3pCLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQzFCO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGFBQWEsQ0FDaEMsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLENBQ2YsQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZVNlb0luZm8gfSBmcm9tICcuLi9zaGFyZWQvc2VvL2Vzb2x2ZS1zZW8taW5mby5tb2RlbCc7XHJcbmltcG9ydCB7IEVzb2x2ZVNlb0RldGFpbHMgfSBmcm9tICcuLi9zaGFyZWQvc2VvL2Vzb2x2ZS1zZW8tZGV0YWlscy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBFc29sdmVUYWcgfSBmcm9tICcuLi90YWdzL2Vzb2x2ZS10YWcubW9kZWwnO1xyXG5pbXBvcnQgeyBFc29sdmVUb3BpYyB9IGZyb20gJy4uL3RvcGljcy9lc29sdmUtdG9waWMubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEVzb2x2ZU1lZGlhQXJ0aWNsZSBpbXBsZW1lbnRzIEVzb2x2ZVNlb0RldGFpbHMge1xyXG4gICAgcHVibGljIHNlb19kZXRhaWxzOiBFc29sdmVTZW9JbmZvO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBpZGVudGlmaWVyOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIHRpdGxlOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGFydGljbGU6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgaW1hZ2VfdXJsOiBzdHJpbmcgPSAnJyxcclxuICAgICAgICBwdWJsaWMgdGFnczogRXNvbHZlVGFnW10gPSBbXSxcclxuICAgICAgICBwdWJsaWMgdG9waWNzOiBFc29sdmVUb3BpY1tdID0gW10sXHJcbiAgICAgICAgc2VvX3RpdGxlOiBzdHJpbmcgPSAnJyxcclxuICAgICAgICBzZW9fa2V5d29yZHM6IHN0cmluZyA9ICcnLFxyXG4gICAgICAgIHNlb19kZXNjcmlwdGlvbjogc3RyaW5nID0gJycsXHJcbiAgICApIHtcclxuICAgICAgICBpZiAoc2VvX3RpdGxlLnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgICAgICAgc2VvX3RpdGxlID0gdGhpcy50aXRsZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2VvX2RldGFpbHMgPSBuZXcgRXNvbHZlU2VvSW5mbyhcclxuICAgICAgICAgICAgc2VvX3RpdGxlLFxyXG4gICAgICAgICAgICBzZW9fZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgIHNlb19rZXl3b3Jkc1xyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLXJlY29yZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL21lZGlhL2Vzb2x2ZS1tZWRpYS1yZWNvcmQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVUYWdSZWNvcmQgfSBmcm9tICcuLi90YWdzL2Vzb2x2ZS10YWctcmVjb3JkLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEVzb2x2ZVRvcGljUmVjb3JkIH0gZnJvbSAnLi4vdG9waWNzL2Vzb2x2ZS10b3BpYy1yZWNvcmQuaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlTWVkaWFSZWNvcmQge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIG1lZGlhX2dyb3VwX2lkOiBudW1iZXI7XHJcbiAgICBpZGVudGlmaWVyOiBzdHJpbmc7XHJcbiAgICBtZWRpYV9ncm91cDogYW55O1xyXG4gICAgdHhkYXRlOiBzdHJpbmc7XHJcbiAgICBzZW9fcGFnZV9wcmlvcml0eTogc3RyaW5nO1xyXG4gICAgc2VvX3BhZ2VfdXBkYXRlX2ZyZXF1ZW5jeTogc3RyaW5nO1xyXG4gICAgc2VvX3BhZ2VfdGl0bGU6IHN0cmluZztcclxuICAgIHNlb19rZXl3b3Jkczogc3RyaW5nO1xyXG4gICAgc2VvX2Rlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICB1c2VyaWQ6IG51bWJlcjtcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBsYW5ndWFnZV9jb2RlOiBzdHJpbmc7XHJcbiAgICBhcnRpY2xlOiBzdHJpbmc7XHJcbiAgICBhY3RpdmU6IGJvb2xlYW47XHJcbiAgICBzb3J0X3ByaW9yaXR5OiBudW1iZXI7XHJcbiAgICBvbmx5X2Rpc3BsYXlfd2hlbl9sb2dnZWRfb246IGJvb2xlYW47XHJcbiAgICBpc19taW5vcl9hcnRpY2xlOiBib29sZWFuO1xyXG4gICAgaXNfYm90aF9tYXN0ZXJfYW5kX21pbm9yX2FydGljbGU6IGJvb2xlYW47XHJcbiAgICB1cmw6IHN0cmluZztcclxuICAgIHNlZl91cmw6IHN0cmluZztcclxuICAgIGxpbmtfY2FwdGlvbjogc3RyaW5nO1xyXG4gICAgbW9kaWZpZWQ6IHN0cmluZztcclxuICAgIGltYWdlX3VybDogc3RyaW5nO1xyXG4gICAgaW1hZ2VfY2hlY2tzdW06IHN0cmluZztcclxuICAgIHRhZ3M6IEVzb2x2ZVRhZ1JlY29yZFtdO1xyXG4gICAgdG9waWNzOiBFc29sdmVUb3BpY1JlY29yZFtdO1xyXG59XHJcbiJdfQ==
@@ -1,129 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { HttpParams } from '@angular/common/http';
3
- import { map } from 'rxjs/operators';
4
- import { ESOLVE_CONNECT_CONFIG } from '../esolve-connect-config.constant';
5
- import { EsolveTag } from '../tags';
6
- import { EsolveTopic } from '../topics';
7
- import { EsolveMediaArticle } from './esolve-media-article.model';
8
- import { EsolveHeading } from './esolve-heading.model';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common/http";
11
- export class EsolveMediaService {
12
- constructor(config, http) {
13
- this.config = config;
14
- this.http = http;
15
- }
16
- /**
17
- * Retrieves the media record from the eSolve instance using the identifier
18
- *
19
- * @param identifier String representing the eSolve media identifier
20
- */
21
- getMediaArticle(identifier) {
22
- const params = new HttpParams({ fromObject: { identifier } });
23
- // TODO: Error Handling
24
- return this.getMediaRecords(params).pipe(map((response) => {
25
- if ((response.records === undefined) ||
26
- (response.records.length <= 0)) {
27
- throw response;
28
- }
29
- const mediaRecord = response.records[0];
30
- if (!mediaRecord.active) {
31
- throw response;
32
- }
33
- return this.processMediaRecord(mediaRecord);
34
- }));
35
- }
36
- /**
37
- * Retrieves a group of media records from the eSolve instance linked to a group
38
- *
39
- * @param media_group String representing the eSolve media group
40
- */
41
- getGroupedMediaArticles(media_group) {
42
- const params = new HttpParams({
43
- fromObject: { media_group_sef: media_group }
44
- });
45
- return this.getMediaRecords(params).pipe(map((response) => {
46
- const mediaArticles = [];
47
- if ((response.records !== undefined) &&
48
- (response.records.length > 0)) {
49
- for (const mediaRecord of response.records) {
50
- if (mediaRecord.active) {
51
- mediaArticles.push(this.processMediaRecord(mediaRecord));
52
- }
53
- }
54
- }
55
- return mediaArticles;
56
- }));
57
- }
58
- /**
59
- * Retrieves the media heading records from the eSolve instance using the identifiers
60
- *
61
- * @param identifiers Array of strings representing the eSolve heading identifiers
62
- */
63
- getHeadings(identifiers) {
64
- return this.http
65
- .get(`${this.config.api_url}/get-headings.php`, {
66
- params: {
67
- identifier: identifiers.join(','),
68
- },
69
- })
70
- .pipe(map((response) => {
71
- const headings = [];
72
- if ((response.records !== undefined) &&
73
- (response.records.length > 0)) {
74
- for (const heading_record of response.records) {
75
- headings.push(this.processHeadingRecord(heading_record));
76
- }
77
- }
78
- return headings;
79
- }));
80
- }
81
- /**
82
- * Processes media article record
83
- *
84
- * @param record Record from eSolve instance
85
- */
86
- processMediaRecord(record) {
87
- const tags = [];
88
- const topics = [];
89
- if ((record.tags) && (record.tags.length > 0)) {
90
- for (const tag of record.tags) {
91
- tags.push(new EsolveTag(tag));
92
- }
93
- }
94
- if ((record.topics) && (record.topics.length > 0)) {
95
- for (const topic of record.topics) {
96
- topics.push(new EsolveTopic(topic));
97
- }
98
- }
99
- return new EsolveMediaArticle(record.identifier, record.title, record.article, record.image_url, tags, topics, record.seo_page_title, record.seo_keywords, record.seo_description);
100
- }
101
- /**
102
- * Processes media heading record
103
- *
104
- * @param record Record from eSolve instance
105
- */
106
- processHeadingRecord(record) {
107
- return new EsolveHeading(record.identifier, record.value);
108
- }
109
- /**
110
- * Retrieves media records from eSolve instance.
111
- *
112
- * @param params HTTP params
113
- */
114
- getMediaRecords(params) {
115
- return this.http.get(`${this.config.api_url}/get-media.php`, { params });
116
- }
117
- }
118
- EsolveMediaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EsolveMediaService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
119
- EsolveMediaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EsolveMediaService, providedIn: 'root' });
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EsolveMediaService, decorators: [{
121
- type: Injectable,
122
- args: [{
123
- providedIn: 'root',
124
- }]
125
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
126
- type: Inject,
127
- args: [ESOLVE_CONNECT_CONFIG]
128
- }] }, { type: i1.HttpClient }]; } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL21lZGlhL2Vzb2x2ZS1tZWRpYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBTXZELE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsWUFDMkMsTUFBMkIsRUFDMUQsSUFBZ0I7UUFEZSxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxRCxTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3hCLENBQUM7SUFFTDs7OztPQUlHO0lBQ0ksZUFBZSxDQUFDLFVBQWtCO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTlELHVCQUF1QjtRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNwQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNiLElBQ0ksQ0FBQyxRQUFRLENBQUMsT0FBTyxLQUFLLFNB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QUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDL0MsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUMvQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDdkM7U0FDSjtRQUVELE9BQU8sSUFBSSxrQkFBa0IsQ0FDekIsTUFBTSxDQUFDLFVBQVUsRUFDakIsTUFBTSxDQUFDLEtBQUssRUFDWixNQUFNLENBQUMsT0FBTyxFQUNkLE1BQU0sQ0FBQyxTQUFTLEVBQ2hCLElBQUksRUFDSixNQUFNLEVBQ04sTUFBTSxDQUFDLGNBQWMsRUFDckIsTUFBTSxDQUFDLFlBQVksRUFDbkIsTUFBTSxDQUFDLGVBQWUsQ0FDekIsQ0FBQztJQUNOLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssb0JBQW9CLENBQUMsTUFBMkI7UUFDcEQsT0FBTyxJQUFJLGFBQWEsQ0FDcEIsTUFBTSxDQUFDLFVBQVUsRUFDakIsTUFBTSxDQUFDLEtBQUssQ0FDZixDQUFDO0lBQ04sQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxlQUFlLENBQUMsTUFBa0I7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDaEIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sZ0JBQWdCLEVBQ3RDLEVBQUUsTUFBTSxFQUFFLENBQ2IsQ0FBQztJQUNOLENBQUM7O2dIQTFKUSxrQkFBa0Isa0JBRWYscUJBQXFCO29IQUZ4QixrQkFBa0IsY0FGZixNQUFNOzRGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUdRLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZUNvbm5lY3RDb25maWcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5pbXBvcnQgeyBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC1jb25maWcuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBFc29sdmVHZXRSZXNwb25zZSB9IGZyb20gJy4uL3NoYXJlZC9yZXNwb25zZSc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVUYWcgfSBmcm9tICcuLi90YWdzJztcclxuaW1wb3J0IHsgRXNvbHZlVG9waWMgfSBmcm9tICcuLi90b3BpY3MnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlTWVkaWFBcnRpY2xlIH0gZnJvbSAnLi9lc29sdmUtbWVkaWEtYXJ0aWNsZS5tb2RlbCc7XHJcbmltcG9ydCB7IEVzb2x2ZU1lZGlhUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtbWVkaWEtcmVjb3JkLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEVzb2x2ZUhlYWRpbmcgfSBmcm9tICcuL2Vzb2x2ZS1oZWFkaW5nLm1vZGVsJztcclxuaW1wb3J0IHsgRXNvbHZlSGVhZGluZ1JlY29yZCB9IGZyb20gJy4vZXNvbHZlLWhlYWRpbmctcmVjb3JkLmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVNZWRpYVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICkgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIG1lZGlhIHJlY29yZCBmcm9tIHRoZSBlU29sdmUgaW5zdGFuY2UgdXNpbmcgdGhlIGlkZW50aWZpZXJcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gaWRlbnRpZmllciBTdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBlU29sdmUgbWVkaWEgaWRlbnRpZmllclxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0TWVkaWFBcnRpY2xlKGlkZW50aWZpZXI6IHN0cmluZyk6IE9ic2VydmFibGU8RXNvbHZlTWVkaWFBcnRpY2xlPiB7XHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoeyBmcm9tT2JqZWN0OiB7IGlkZW50aWZpZXIgfSB9KTtcclxuXHJcbiAgICAgICAgLy8gVE9ETzogRXJyb3IgSGFuZGxpbmdcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNZWRpYVJlY29yZHMocGFyYW1zKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPD0gMClcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IG1lZGlhUmVjb3JkID0gcmVzcG9uc2UucmVjb3Jkc1swXTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoIW1lZGlhUmVjb3JkLmFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NNZWRpYVJlY29yZChtZWRpYVJlY29yZCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyBhIGdyb3VwIG9mIG1lZGlhIHJlY29yZHMgZnJvbSB0aGUgZVNvbHZlIGluc3RhbmNlIGxpbmtlZCB0byBhIGdyb3VwXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIG1lZGlhX2dyb3VwIFN0cmluZyByZXByZXNlbnRpbmcgdGhlIGVTb2x2ZSBtZWRpYSBncm91cFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0R3JvdXBlZE1lZGlhQXJ0aWNsZXMobWVkaWFfZ3JvdXA6IHN0cmluZyk6IE9ic2VydmFibGU8RXNvbHZlTWVkaWFBcnRpY2xlW10+IHtcclxuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7XHJcbiAgICAgICAgICAgIGZyb21PYmplY3Q6IHsgbWVkaWFfZ3JvdXBfc2VmOiBtZWRpYV9ncm91cCB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmdldE1lZGlhUmVjb3JkcyhwYXJhbXMpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1lZGlhQXJ0aWNsZXM6IEVzb2x2ZU1lZGlhQXJ0aWNsZVtdID0gW107XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgIChyZXNwb25zZS5yZWNvcmRzICE9PSB1bmRlZmluZWQpICYmXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlLnJlY29yZHMubGVuZ3RoID4gMClcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgbWVkaWFSZWNvcmQgb2YgcmVzcG9uc2UucmVjb3Jkcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWVkaWFSZWNvcmQuYWN0aXZlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZWRpYUFydGljbGVzLnB1c2godGhpcy5wcm9jZXNzTWVkaWFSZWNvcmQobWVkaWFSZWNvcmQpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbWVkaWFBcnRpY2xlcztcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0cmlldmVzIHRoZSBtZWRpYSBoZWFkaW5nIHJlY29yZHMgZnJvbSB0aGUgZVNvbHZlIGluc3RhbmNlIHVzaW5nIHRoZSBpZGVudGlmaWVyc1xyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpZGVudGlmaWVycyBBcnJheSBvZiBzdHJpbmdzIHJlcHJlc2VudGluZyB0aGUgZVNvbHZlIGhlYWRpbmcgaWRlbnRpZmllcnNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEhlYWRpbmdzKGlkZW50aWZpZXJzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8RXNvbHZlSGVhZGluZ1tdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUhlYWRpbmdSZWNvcmRbXT4+KFxyXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWhlYWRpbmdzLnBocGAsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZpZXI6IGlkZW50aWZpZXJzLmpvaW4oJywnKSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhlYWRpbmdzOiBFc29sdmVIZWFkaW5nW10gPSBbXTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVjb3JkcyAhPT0gdW5kZWZpbmVkKSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGhlYWRpbmdfcmVjb3JkIG9mIHJlc3BvbnNlLnJlY29yZHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmdzLnB1c2godGhpcy5wcm9jZXNzSGVhZGluZ1JlY29yZChoZWFkaW5nX3JlY29yZCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGVhZGluZ3M7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvY2Vzc2VzIG1lZGlhIGFydGljbGUgcmVjb3JkXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHJlY29yZCBSZWNvcmQgZnJvbSBlU29sdmUgaW5zdGFuY2VcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBwcm9jZXNzTWVkaWFSZWNvcmQocmVjb3JkOiBFc29sdmVNZWRpYVJlY29yZCk6IEVzb2x2ZU1lZGlhQXJ0aWNsZSB7XHJcbiAgICAgICAgY29uc3QgdGFnczogRXNvbHZlVGFnW10gPSBbXTtcclxuICAgICAgICBjb25zdCB0b3BpY3M6IEVzb2x2ZVRvcGljW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKChyZWNvcmQudGFncykgJiYgKHJlY29yZC50YWdzLmxlbmd0aCA+IDApKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgdGFnIG9mIHJlY29yZC50YWdzKSB7XHJcbiAgICAgICAgICAgICAgICB0YWdzLnB1c2gobmV3IEVzb2x2ZVRhZyh0YWcpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKChyZWNvcmQudG9waWNzKSAmJiAocmVjb3JkLnRvcGljcy5sZW5ndGggPiAwKSkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRvcGljIG9mIHJlY29yZC50b3BpY3MpIHtcclxuICAgICAgICAgICAgICAgIHRvcGljcy5wdXNoKG5ldyBFc29sdmVUb3BpYyh0b3BpYykpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZU1lZGlhQXJ0aWNsZShcclxuICAgICAgICAgICAgcmVjb3JkLmlkZW50aWZpZXIsXHJcbiAgICAgICAgICAgIHJlY29yZC50aXRsZSxcclxuICAgICAgICAgICAgcmVjb3JkLmFydGljbGUsXHJcbiAgICAgICAgICAgIHJlY29yZC5pbWFnZV91cmwsXHJcbiAgICAgICAgICAgIHRhZ3MsXHJcbiAgICAgICAgICAgIHRvcGljcyxcclxuICAgICAgICAgICAgcmVjb3JkLnNlb19wYWdlX3RpdGxlLFxyXG4gICAgICAgICAgICByZWNvcmQuc2VvX2tleXdvcmRzLFxyXG4gICAgICAgICAgICByZWNvcmQuc2VvX2Rlc2NyaXB0aW9uLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9jZXNzZXMgbWVkaWEgaGVhZGluZyByZWNvcmRcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcmVjb3JkIFJlY29yZCBmcm9tIGVTb2x2ZSBpbnN0YW5jZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NIZWFkaW5nUmVjb3JkKHJlY29yZDogRXNvbHZlSGVhZGluZ1JlY29yZCk6IEVzb2x2ZUhlYWRpbmcge1xyXG4gICAgICAgIHJldHVybiBuZXcgRXNvbHZlSGVhZGluZyhcclxuICAgICAgICAgICAgcmVjb3JkLmlkZW50aWZpZXIsXHJcbiAgICAgICAgICAgIHJlY29yZC52YWx1ZVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgbWVkaWEgcmVjb3JkcyBmcm9tIGVTb2x2ZSBpbnN0YW5jZS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zIEhUVFAgcGFyYW1zXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0TWVkaWFSZWNvcmRzKHBhcmFtczogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlTWVkaWFSZWNvcmRbXT4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVNZWRpYVJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1tZWRpYS5waHBgLFxyXG4gICAgICAgICAgICB7IHBhcmFtcyB9XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,6 +0,0 @@
1
- export * from './esolve-heading.model';
2
- export * from './esolve-heading-record.interface';
3
- export * from './esolve-media-article.model';
4
- export * from './esolve-media-record.interface';
5
- export * from './esolve-media.service';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL21lZGlhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWhlYWRpbmcubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1oZWFkaW5nLXJlY29yZC5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1tZWRpYS1hcnRpY2xlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbWVkaWEtcmVjb3JkLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLW1lZGlhLnNlcnZpY2UnO1xyXG4iXX0=