@sumaris-net/ngx-components 18.16.7 → 18.16.8

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sumaris-net/ngx-components",
3
3
  "description": "SUMARiS Angular components",
4
- "version": "18.16.7",
4
+ "version": "18.16.8",
5
5
  "author": "contact@e-is.pro",
6
6
  "license": "AGPL-3.0",
7
7
  "readmeFilename": "README.md",
package/public_api.d.ts CHANGED
@@ -285,6 +285,7 @@ export * from './src/app/social/message/message.service';
285
285
  export * from './src/app/social/message/message.form';
286
286
  export * from './src/app/social/message/message.modal';
287
287
  export * from './src/app/social/feed/feed.component';
288
+ export * from './src/app/social/feed/feed.page';
288
289
  export * from './src/app/social/feed/feed.service';
289
290
  export * from './src/app/social/feed/feed.model';
290
291
  export * from './src/app/social/feed/feed.directive';
@@ -2,11 +2,14 @@ import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { RxState } from '@rx-angular/state';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
4
  import { Router } from '@angular/router';
5
- import { JsonFeed } from './feed.model';
5
+ import { JsonFeed, JsonFeedItem } from './feed.model';
6
6
  import { PlatformService } from '../../core/services/platform.service';
7
7
  import { Environment } from '../../../environments/environment.class';
8
8
  import { AppColors } from '../../shared/types';
9
9
  import { IFeedService } from './feed.service';
10
+ import { NetworkService } from '../../core/services/network.service';
11
+ import { IonModal } from '@ionic/angular';
12
+ import { LocalSettingsService } from '../../core/services/local-settings.service';
10
13
  import * as i0 from "@angular/core";
11
14
  export interface FeedState<T> {
12
15
  maxAgeInMonths: number;
@@ -15,23 +18,31 @@ export interface FeedState<T> {
15
18
  feeds: T[];
16
19
  hasFeeds: boolean;
17
20
  }
21
+ export type FilterItemFunction = (item: JsonFeedItem) => boolean;
22
+ export declare const NOOP_ITEM_FILTER: FilterItemFunction;
18
23
  export declare class FeedsComponent<T extends JsonFeed = JsonFeed> implements OnInit, OnDestroy {
19
24
  protected environment: Environment;
20
25
  feedService: IFeedService<T>;
21
26
  protected _state: RxState<FeedState<T>>;
22
27
  protected translate: TranslateService;
23
28
  protected platform: PlatformService;
29
+ protected networkService: NetworkService;
24
30
  protected router: Router;
25
31
  protected version: string;
32
+ protected modalItemId: string;
26
33
  feeds$: import("rxjs").Observable<T[]>;
27
34
  feedUrls$: import("rxjs").Observable<string[]>;
28
35
  hasFeeds$: import("rxjs").Observable<boolean>;
29
36
  debug: boolean;
37
+ mobile: boolean;
30
38
  showHeader: boolean;
39
+ showReadMoreButton: boolean;
31
40
  headerColor: AppColors;
32
41
  cardColor: AppColors | 'light-transparent';
33
42
  shape: 'round' | 'legacy';
34
43
  class: string;
44
+ itemId: string;
45
+ filterItem: FilterItemFunction;
35
46
  set feeds(value: T[]);
36
47
  get feeds(): T[];
37
48
  set feedUrls(value: string[]);
@@ -42,13 +53,16 @@ export declare class FeedsComponent<T extends JsonFeed = JsonFeed> implements On
42
53
  set maxContentLength(value: number);
43
54
  get maxContentLength(): number;
44
55
  get hostClass(): string;
45
- constructor(environment: Environment, feedService: IFeedService<T>);
56
+ modal: IonModal;
57
+ constructor(settings: LocalSettingsService, environment: Environment, feedService: IFeedService<T>);
46
58
  ngOnInit(): void;
47
59
  ngOnDestroy(): void;
48
60
  openFeedHome(feed?: T): Promise<void>;
61
+ openFeedItem(feedItem: JsonFeedItem, feed?: T): Promise<void>;
49
62
  openUrl(url: string): Promise<void>;
50
63
  openTag(feed: T, tag: string): Promise<void>;
51
64
  getTags(feedOrItem?: T | T['items'][0]): string[];
52
- static ɵfac: i0.ɵɵFactoryDeclaration<FeedsComponent<any>, [null, { optional: true; }]>;
53
- static ɵcmp: i0.ɵɵComponentDeclaration<FeedsComponent<any>, "app-feed", never, { "debug": { "alias": "debug"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "headerColor": { "alias": "headerColor"; "required": false; }; "cardColor": { "alias": "cardColor"; "required": false; }; "shape": { "alias": "shape"; "required": false; }; "class": { "alias": "class"; "required": false; }; "feeds": { "alias": "feeds"; "required": false; }; "feedUrls": { "alias": "feedUrls"; "required": false; }; "maxAgeInMonths": { "alias": "maxAgeInMonths"; "required": false; }; "maxContentLength": { "alias": "maxContentLength"; "required": false; }; }, {}, never, never, false, never>;
65
+ protected getFeedHomeUrl(feed: T): string;
66
+ static ɵfac: i0.ɵɵFactoryDeclaration<FeedsComponent<any>, [null, null, { optional: true; }]>;
67
+ static ɵcmp: i0.ɵɵComponentDeclaration<FeedsComponent<any>, "app-feed", never, { "debug": { "alias": "debug"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "showReadMoreButton": { "alias": "showReadMoreButton"; "required": false; }; "headerColor": { "alias": "headerColor"; "required": false; }; "cardColor": { "alias": "cardColor"; "required": false; }; "shape": { "alias": "shape"; "required": false; }; "class": { "alias": "class"; "required": false; }; "itemId": { "alias": "itemId"; "required": false; }; "filterItem": { "alias": "filterItem"; "required": false; }; "feeds": { "alias": "feeds"; "required": false; }; "feedUrls": { "alias": "feedUrls"; "required": false; }; "maxAgeInMonths": { "alias": "maxAgeInMonths"; "required": false; }; "maxContentLength": { "alias": "maxContentLength"; "required": false; }; }, {}, never, never, false, never>;
54
68
  }
@@ -1,12 +1,13 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./feed.component";
3
- import * as i2 from "./feed.directive";
4
- import * as i3 from "../../shared/shared.module";
5
- import * as i4 from "@ngx-translate/core";
6
- import * as i5 from "../../shared/debug/debug.module";
7
- import * as i6 from "../../shared/markdown/markdown.module";
3
+ import * as i2 from "./feed.page";
4
+ import * as i3 from "./feed.directive";
5
+ import * as i4 from "../../shared/shared.module";
6
+ import * as i5 from "@ngx-translate/core";
7
+ import * as i6 from "../../shared/debug/debug.module";
8
+ import * as i7 from "../../shared/markdown/markdown.module";
8
9
  export declare class FeedModule {
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<FeedModule, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<FeedModule, [typeof i1.FeedsComponent, typeof i2.FeedDirective], [typeof i3.SharedModule, typeof i4.TranslateModule, typeof i5.SharedDebugModule, typeof i6.SharedMarkdownModule], [typeof i4.TranslateModule, typeof i1.FeedsComponent, typeof i2.FeedDirective]>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FeedModule, [typeof i1.FeedsComponent, typeof i2.FeedPage, typeof i3.FeedDirective], [typeof i4.SharedModule, typeof i5.TranslateModule, typeof i6.SharedDebugModule, typeof i7.SharedMarkdownModule], [typeof i5.TranslateModule, typeof i1.FeedsComponent, typeof i2.FeedPage, typeof i3.FeedDirective]>;
11
12
  static ɵinj: i0.ɵɵInjectorDeclaration<FeedModule>;
12
13
  }
@@ -0,0 +1,24 @@
1
+ import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
2
+ import { Environment } from '../../../environments/environment.class';
3
+ import { LocalSettingsService } from '../../core/services/local-settings.service';
4
+ import { IFeedService } from './feed.service';
5
+ import { JsonFeed } from './feed.model';
6
+ import { BehaviorSubject, Subject } from 'rxjs';
7
+ import * as i0 from "@angular/core";
8
+ export declare class FeedPage<T extends JsonFeed = JsonFeed> implements OnInit, OnDestroy {
9
+ protected settings: LocalSettingsService;
10
+ protected cd: ChangeDetectorRef;
11
+ feedService: IFeedService<T>;
12
+ private environment;
13
+ protected destroySubject: Subject<void>;
14
+ protected loadingSubject: BehaviorSubject<boolean>;
15
+ debug: boolean;
16
+ title: string;
17
+ feedUrls: string[];
18
+ feedItemId: string;
19
+ constructor(settings: LocalSettingsService, cd: ChangeDetectorRef, feedService: IFeedService<T>, environment: Environment);
20
+ ngOnInit(): Promise<void>;
21
+ ngOnDestroy(): void;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<FeedPage<any>, [null, null, { optional: true; }, { optional: true; }]>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<FeedPage<any>, "app-feed-page", never, { "debug": { "alias": "debug"; "required": false; }; "title": { "alias": "title"; "required": false; }; "feedUrls": { "alias": "feedUrls"; "required": false; }; "feedItemId": { "alias": "feedItemId"; "required": false; }; }, {}, never, never, false, never>;
24
+ }
@@ -10,6 +10,7 @@ import { Environment } from '../../../environments/environment.class';
10
10
  import * as i0 from "@angular/core";
11
11
  export declare const APP_FEED_SERVICE: InjectionToken<IFeedService<any>>;
12
12
  export interface IFeedService<T extends JsonFeed = JsonFeed> {
13
+ ready(): Promise<FeedServiceState>;
13
14
  watchAll(opts?: {
14
15
  urls?: string[];
15
16
  maxAgeInMonths?: number;
@@ -17,6 +18,7 @@ export interface IFeedService<T extends JsonFeed = JsonFeed> {
17
18
  }): Observable<LoadResult<T>>;
18
19
  getHomeUrl(feed?: T): string;
19
20
  getTagUrl(feed: T, tag: string): string;
21
+ feedUrls$: Observable<string[]>;
20
22
  }
21
23
  export interface FeedServiceState {
22
24
  locale: string;
@@ -2,7 +2,7 @@
2
2
  "name": "ngx-sumaris-components",
3
3
  "short_name": "ngx-sumaris-components",
4
4
  "manifest_version": 1,
5
- "version": "18.16.7",
5
+ "version": "18.16.8",
6
6
  "default_locale": "fr",
7
7
  "description": "Angular components for building beautiful and responsive Apps",
8
8
  "icons": [{