@solidev/data 0.0.1-dev.3 → 0.0.1-rc.1

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 (104) hide show
  1. package/esm2020/lib/auth/auth-interceptor.service.mjs +13 -4
  2. package/esm2020/lib/auth/auth.service.mjs +20 -9
  3. package/esm2020/lib/data/data-backend.mjs +33 -5
  4. package/esm2020/lib/data/data-collection.mjs +17 -1
  5. package/esm2020/lib/data/data-model.mjs +5 -1
  6. package/esm2020/lib/data/data-query.mjs +32 -25
  7. package/esm2020/lib/data/fields/base.mjs +9 -8
  8. package/esm2020/lib/data/fields/computed.mjs +10 -0
  9. package/esm2020/lib/data/fields/index.mjs +2 -1
  10. package/esm2020/lib/dispedit/choice.pipe.mjs +44 -4
  11. package/esm2020/lib/dispedit/dispedit/dispedit.component.mjs +17 -6
  12. package/esm2020/lib/dispedit/factor.pipe.mjs +37 -4
  13. package/esm2020/lib/dispedit/factorc.pipe.mjs +59 -8
  14. package/esm2020/lib/dispedit/fkselect/fkselect.component.mjs +3 -3
  15. package/esm2020/lib/dispedit/flags/flags.component.mjs +140 -0
  16. package/esm2020/lib/dispedit/m2mselect/m2mselect.component.mjs +4 -4
  17. package/esm2020/lib/dispedit/richedit/richedit.component.mjs +103 -0
  18. package/esm2020/lib/dispedit/sdelete/sdelete.component.mjs +62 -15
  19. package/esm2020/lib/messages/message-zone/message-zone.component.mjs +3 -3
  20. package/esm2020/lib/messages/message.service.mjs +3 -3
  21. package/esm2020/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.mjs +5 -5
  22. package/esm2020/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.mjs +3 -3
  23. package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.mjs +4 -4
  24. package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.mjs +4 -4
  25. package/esm2020/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.component.mjs +3 -3
  26. package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.mjs +3 -3
  27. package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.mjs +3 -3
  28. package/esm2020/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.mjs +3 -3
  29. package/esm2020/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.mjs +4 -4
  30. package/esm2020/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.mjs +3 -3
  31. package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.mjs +5 -6
  32. package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.mjs +6 -1
  33. package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.mjs +3 -3
  34. package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.mjs +7 -1
  35. package/esm2020/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.mjs +7 -7
  36. package/esm2020/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.mjs +10 -7
  37. package/esm2020/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.mjs +3 -3
  38. package/esm2020/lib/modellist/model-list-filters/model-list-filter.mjs +11 -10
  39. package/esm2020/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.mjs +3 -3
  40. package/esm2020/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.mjs +3 -3
  41. package/esm2020/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.mjs +3 -3
  42. package/esm2020/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.mjs +3 -3
  43. package/esm2020/lib/modellist/model-list.service.mjs +21 -16
  44. package/esm2020/lib/routing/breadcrumb/breadcrumb.component.mjs +3 -3
  45. package/esm2020/lib/updates/update/update.component.mjs +17 -0
  46. package/esm2020/lib/updates/update.service.mjs +58 -0
  47. package/esm2020/lib/uploader/ng-file-drop.directive.mjs +3 -3
  48. package/esm2020/lib/uploader/ng-file-select.directive.mjs +3 -3
  49. package/esm2020/lib/uploader/ngx-uploader.module.mjs +4 -4
  50. package/esm2020/lib/utils/tab-memory.service.mjs +20 -11
  51. package/esm2020/public-api.mjs +5 -1
  52. package/fesm2015/solidev-data.mjs +807 -202
  53. package/fesm2015/solidev-data.mjs.map +1 -1
  54. package/fesm2020/solidev-data.mjs +788 -200
  55. package/fesm2020/solidev-data.mjs.map +1 -1
  56. package/lib/auth/auth.service.d.ts +6 -1
  57. package/lib/data/data-backend.d.ts +15 -0
  58. package/lib/data/data-collection.d.ts +23 -0
  59. package/lib/data/data-model.d.ts +1 -0
  60. package/lib/data/data-query.d.ts +14 -11
  61. package/lib/data/fields/base.d.ts +6 -5
  62. package/lib/data/fields/computed.d.ts +14 -0
  63. package/lib/data/fields/index.d.ts +1 -0
  64. package/lib/dispedit/choice.pipe.d.ts +5 -0
  65. package/lib/dispedit/dispedit/dispedit.component.d.ts +6 -1
  66. package/lib/dispedit/factor.pipe.d.ts +7 -0
  67. package/lib/dispedit/factorc.pipe.d.ts +8 -0
  68. package/lib/dispedit/fkselect/fkselect.component.d.ts +1 -1
  69. package/lib/dispedit/flags/flags.component.d.ts +40 -0
  70. package/lib/dispedit/m2mselect/m2mselect.component.d.ts +1 -1
  71. package/lib/dispedit/richedit/richedit.component.d.ts +36 -0
  72. package/lib/dispedit/sdelete/sdelete.component.d.ts +13 -4
  73. package/lib/messages/message-zone/message-zone.component.d.ts +1 -1
  74. package/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.d.ts +1 -1
  75. package/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.d.ts +1 -1
  76. package/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.d.ts +1 -1
  77. package/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.d.ts +1 -1
  78. package/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.component.d.ts +1 -1
  79. package/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.d.ts +1 -1
  80. package/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.d.ts +1 -1
  81. package/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.d.ts +1 -1
  82. package/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.d.ts +1 -1
  83. package/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.d.ts +1 -1
  84. package/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.d.ts +2 -2
  85. package/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.d.ts +1 -0
  86. package/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.d.ts +1 -1
  87. package/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.d.ts +6 -1
  88. package/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.d.ts +3 -3
  89. package/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.d.ts +1 -1
  90. package/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.d.ts +1 -1
  91. package/lib/modellist/model-list-filters/model-list-filter.d.ts +4 -2
  92. package/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.d.ts +1 -1
  93. package/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.d.ts +1 -1
  94. package/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.d.ts +1 -1
  95. package/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.d.ts +1 -1
  96. package/lib/modellist/model-list.service.d.ts +6 -6
  97. package/lib/routing/breadcrumb/breadcrumb.component.d.ts +1 -1
  98. package/lib/updates/update/update.component.d.ts +8 -0
  99. package/lib/updates/update.service.d.ts +16 -0
  100. package/lib/uploader/ng-file-drop.directive.d.ts +1 -1
  101. package/lib/uploader/ng-file-select.directive.d.ts +1 -1
  102. package/lib/utils/tab-memory.service.d.ts +4 -3
  103. package/package.json +7 -4
  104. package/public-api.d.ts +4 -0
@@ -4,11 +4,14 @@ import { HttpClient } from '@angular/common/http';
4
4
  import { Observable } from 'rxjs';
5
5
  import { DataModel } from '../data/data-model';
6
6
  import { Collection } from '../data/data-collection';
7
+ import { Router } from '@angular/router';
8
+ import { DataMessageService } from '../messages/message.service';
7
9
  export interface AuthParams {
8
10
  tokenUrl: string;
9
11
  tokenRefreshUrl: string;
10
12
  loginField: string;
11
13
  passwordField: string;
14
+ loginRoute: string[];
12
15
  }
13
16
  /**
14
17
  * DATA_API_URL: stores data api base url
@@ -18,11 +21,13 @@ export declare const DATA_AUTH_USER_SERVICE: InjectionToken<Collection<any>>;
18
21
  export declare class AuthServiceBase<User extends DataModel, UserService extends Collection<User>, UserData extends IJwtBaseData> {
19
22
  userService: UserService;
20
23
  private _params;
24
+ private _router;
21
25
  private _http;
26
+ private _msgs;
22
27
  private _user;
23
28
  private _user$;
24
29
  private _token;
25
- constructor(userService: UserService, _params: AuthParams, _http: HttpClient);
30
+ constructor(userService: UserService, _params: AuthParams, _router: Router, _http: HttpClient, _msgs: DataMessageService);
26
31
  get isAnonymous(): boolean;
27
32
  get accessToken(): string | null;
28
33
  get refreshToken(): string | null;
@@ -31,10 +31,25 @@ export declare class DataBackend {
31
31
  * @param body JSON body
32
32
  * @param params query parameters
33
33
  * @param headers query headers
34
+ * @param responseType response type
34
35
  *
35
36
  * @return an observable of response body
36
37
  */
37
38
  action<T extends DataModel, RT>(collection: Collection<T>, method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', url: string, { body, params, headers }?: IActionParams): Observable<RT>;
39
+ /**
40
+ * Launch an action on collection, receiving a blob.
41
+ *
42
+ * @param collection Collection reference
43
+ * @param method HTTP method
44
+ * @param url full URL for action
45
+ * @param body JSON body
46
+ * @param params query parameters
47
+ * @param headers query headers
48
+ * @param responseType response type
49
+ *
50
+ * @return an observable of response body
51
+ */
52
+ blob<T extends DataModel>(collection: Collection<T>, method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', url: string, { body, params, headers }?: IActionParams): Observable<Blob>;
38
53
  put<T extends DataModel>(collection: Collection<T>, url: string, { body, params, headers }?: IActionParams): Observable<T>;
39
54
  post<T extends DataModel>(collection: Collection<T>, url: string, { body, params, headers }?: IActionParams): Observable<Partial<T>>;
40
55
  patch<T extends DataModel>(collection: Collection<T>, url: string, { body, params, headers }?: IActionParams): Observable<Partial<T>>;
@@ -11,6 +11,7 @@ export interface IActionParams {
11
11
  params?: {
12
12
  [index: string]: string;
13
13
  };
14
+ responseType?: 'json' | 'blob';
14
15
  }
15
16
  export interface ICollectionCacheParams {
16
17
  transferState?: {
@@ -80,6 +81,28 @@ export declare class Collection<T extends DataModel> {
80
81
  [_index: string]: string;
81
82
  };
82
83
  }): Observable<RT>;
84
+ /**
85
+ * Calls *method* endpoint for this collection and returns raw results.
86
+ *
87
+ * @param method GET/POST/...
88
+ * @param prefix collection_urlPREFIXSUFFIX
89
+ * @param suffix collection_urlPREFIXSUFFIX
90
+ * @param params query paremeters
91
+ * @param body body as json
92
+ * @param headers headers
93
+ */
94
+ blob<RT>({ method, prefix, suffix, params, body, headers, }?: {
95
+ method?: IHttpMethod;
96
+ prefix?: string;
97
+ suffix?: string;
98
+ body?: any;
99
+ params?: {
100
+ [_index: string]: string;
101
+ };
102
+ headers?: {
103
+ [_index: string]: string;
104
+ };
105
+ }): Observable<Blob>;
83
106
  getUrl(id?: number | null, { prefix, suffix }?: {
84
107
  prefix?: string;
85
108
  suffix?: string;
@@ -72,6 +72,7 @@ export declare class DataModel {
72
72
  FV<FT>(field: string): FT;
73
73
  /**
74
74
  * Set field value. If check is true, only set value if all validators pass.
75
+ * Skip setting field value if manager computed flag is true.
75
76
  *
76
77
  * The validation result is returned.
77
78
  *
@@ -5,6 +5,9 @@ import { ActivatedRoute, Router } from '@angular/router';
5
5
  export interface FilterData {
6
6
  [index: string]: string | number | boolean | undefined | null;
7
7
  }
8
+ export interface OutFilterData {
9
+ [index: string]: string;
10
+ }
8
11
  export declare type SortData = string;
9
12
  /**
10
13
  * Queryset parameters
@@ -57,22 +60,22 @@ export declare class Queryset<T extends DataModel> {
57
60
  /** Current page number */
58
61
  page: number;
59
62
  options: IQuerysetOptions;
60
- constructor(_coll: Collection<T>, options?: IQuerysetOptions);
61
- private _pristine;
62
- /** Pristine status (true if it has not collected results yet) */
63
- get pristine(): boolean;
64
63
  private _loading;
65
64
  /** Loading status (true if currently fetching data) */
66
- get loading(): Observable<boolean>;
65
+ loading: Observable<boolean>;
67
66
  private _meta;
68
67
  /** Results meta part observable */
69
- get meta(): Observable<IQueryMeta>;
68
+ meta: Observable<IQueryMeta>;
70
69
  private _results;
71
70
  /** Results data part observable */
72
- get results(): Observable<T[]>;
73
- private _full?;
71
+ results: Observable<T[]>;
72
+ private _full;
74
73
  /** Full results observable (results, loading, meta) */
75
- get full(): Observable<[T[], boolean, IQueryMeta]>;
74
+ full: Observable<[T[], boolean, IQueryMeta]>;
75
+ constructor(_coll: Collection<T>, options?: IQuerysetOptions);
76
+ private _pristine;
77
+ /** Pristine status (true if it has not collected results yet) */
78
+ get pristine(): boolean;
76
79
  /**
77
80
  * Update current filter data. Null or undefined values are removed from filter data.
78
81
  * @param params filter data
@@ -96,6 +99,6 @@ export declare class Queryset<T extends DataModel> {
96
99
  */
97
100
  setPage(page?: number, fragment?: string): Queryset<T>;
98
101
  setFields(fields: string[]): Queryset<T>;
99
- getQueryParams(): FilterData;
100
- get(refresh?: boolean): Observable<T[]>;
102
+ getQueryParams(): OutFilterData;
103
+ get(refresh?: boolean, sync?: boolean): Observable<T[]>;
101
104
  }
@@ -48,6 +48,7 @@ export declare class BaseFieldManager<FT> implements IFieldMetadata<FT> {
48
48
  help: string;
49
49
  required: boolean;
50
50
  readonly: boolean;
51
+ computed: boolean;
51
52
  defaultValue?: FT | ((args: any) => FT);
52
53
  editorType: DISPEDIT_EDITOR_TYPES;
53
54
  displayType: DISPEDIT_DISPLAY_TYPES;
@@ -68,16 +69,16 @@ export declare class BaseFieldManager<FT> implements IFieldMetadata<FT> {
68
69
  * @param format (not used)
69
70
  */
70
71
  toString(data: FT, format?: string): string;
71
- /** Return validators
72
- *
73
- * @protected
74
- */
75
- protected getValidators(): ValidatorFn[];
76
72
  /**
77
73
  * Returns default value for model, using args if needed.
78
74
  * @param args
79
75
  */
80
76
  default(args?: any): FT | undefined;
77
+ /** Return validators
78
+ *
79
+ * @protected
80
+ */
81
+ protected getValidators(): ValidatorFn[];
81
82
  /**
82
83
  * Returns default value for model, using args if needed.
83
84
  * @param args
@@ -0,0 +1,14 @@
1
+ import { BaseFieldManager, FieldDecoratorFn, IFieldMetadata } from './base';
2
+ import { Collection } from '../data-collection';
3
+ import { ICharFieldChoice } from './stringfields';
4
+ export interface IComputedFieldMetadata<T> extends IFieldMetadata<T> {
5
+ field?: string;
6
+ factor?: number;
7
+ choices?: ICharFieldChoice[];
8
+ }
9
+ export declare class ComputedFieldManager<T> extends BaseFieldManager<T> implements IComputedFieldMetadata<T> {
10
+ field?: string;
11
+ computed: boolean;
12
+ fromJson(data: any, coll?: Collection<any>): any;
13
+ }
14
+ export declare const computedField: (meta?: IComputedFieldMetadata<any>) => FieldDecoratorFn;
@@ -4,3 +4,4 @@ export { dateField, datetimeField } from './datetime';
4
4
  export { foreignKeyField, manyToManyField, reverseForeignKeyField, detailsField, } from './relations';
5
5
  export { booleanField } from './boolean';
6
6
  export { decimalField, integerField, floatField } from './numbers';
7
+ export { computedField } from './computed';
@@ -6,3 +6,8 @@ export declare class ChoicePipe<T extends DataModel> implements PipeTransform {
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<ChoicePipe<any>, never>;
7
7
  static ɵpipe: i0.ɵɵPipeDeclaration<ChoicePipe<any>, "choice", true>;
8
8
  }
9
+ export declare class PChoicePipe<T extends DataModel> implements PipeTransform {
10
+ transform(value: any, model: T, field: string, mode?: 'code' | 'desc' | 'both'): string;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<PChoicePipe<any>, never>;
12
+ static ɵpipe: i0.ɵɵPipeDeclaration<PChoicePipe<any>, "pchoice", true>;
13
+ }
@@ -23,6 +23,11 @@ export declare class DispeditComponent<FT, T extends DataModel, R extends DataMo
23
23
  * If mode is inline, edit is always true.
24
24
  */
25
25
  edit: boolean;
26
+ /**
27
+ * Can be switched to edit mode?
28
+ * default : true
29
+ */
30
+ editable: boolean;
26
31
  /**
27
32
  * Save updated values ?
28
33
  * If not given, default value depends on mode :
@@ -173,5 +178,5 @@ export declare class DispeditComponent<FT, T extends DataModel, R extends DataMo
173
178
  private _getDisplayValue;
174
179
  private _setDisplayClasses;
175
180
  static ɵfac: i0.ɵɵFactoryDeclaration<DispeditComponent<any, any, any>, [{ optional: true; }, null]>;
176
- static ɵcmp: i0.ɵɵComponentDeclaration<DispeditComponent<any, any, any>, "data-dispedit", never, { "model": "model"; "field": "field"; "form": "form"; "edit": "edit"; "mode": "mode"; "choices": "choices"; "inputClasses": "inputClasses"; "editor": "editor"; "viewer": "viewer"; "default": "default"; "placeholder": "placeholder"; "help": "help"; "hideLabel": "hideLabel"; "queryset": "queryset"; "collection": "collection"; "display": "display"; "filter": "filter"; }, { "changed": "changed"; }, never, ["*"], true>;
181
+ static ɵcmp: i0.ɵɵComponentDeclaration<DispeditComponent<any, any, any>, "data-dispedit", never, { "model": "model"; "field": "field"; "form": "form"; "edit": "edit"; "editable": "editable"; "mode": "mode"; "choices": "choices"; "inputClasses": "inputClasses"; "editor": "editor"; "viewer": "viewer"; "default": "default"; "placeholder": "placeholder"; "help": "help"; "hideLabel": "hideLabel"; "queryset": "queryset"; "collection": "collection"; "display": "display"; "filter": "filter"; }, { "changed": "changed"; }, never, ["*"], true, never>;
177
182
  }
@@ -10,3 +10,10 @@ export declare class FactorPipe<T extends DataModel> implements PipeTransform {
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<FactorPipe<any>, never>;
11
11
  static ɵpipe: i0.ɵɵPipeDeclaration<FactorPipe<any>, "factor", true>;
12
12
  }
13
+ export declare class PFactorPipe<T extends DataModel> implements PipeTransform {
14
+ private _locale;
15
+ constructor(_locale: string);
16
+ transform(value: number | string | null | undefined, model: T | null, field: string, digitsInfo?: string, locale?: string): string | null;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<PFactorPipe<any>, never>;
18
+ static ɵpipe: i0.ɵɵPipeDeclaration<PFactorPipe<any>, "pfactor", true>;
19
+ }
@@ -9,3 +9,11 @@ export declare class FactorcPipe<T extends DataModel> implements PipeTransform {
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<FactorcPipe<any>, never>;
10
10
  static ɵpipe: i0.ɵɵPipeDeclaration<FactorcPipe<any>, "factorc", true>;
11
11
  }
12
+ export declare class PFactorcPipe<T extends DataModel> implements PipeTransform {
13
+ private _locale;
14
+ private _defaultCurrencyCode;
15
+ constructor(_locale: string, _defaultCurrencyCode?: string);
16
+ transform(value: number | string | undefined | null, model: T | null, field: string, currencyCode?: string, display?: 'code' | 'symbol' | 'symbol-narrow' | string, digitsInfo?: string, locale?: string): string | null;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<PFactorcPipe<any>, never>;
18
+ static ɵpipe: i0.ɵɵPipeDeclaration<PFactorcPipe<any>, "pfactorc", true>;
19
+ }
@@ -39,5 +39,5 @@ export declare class FkselectComponent<T extends DataModel, R extends DataModel>
39
39
  private _display;
40
40
  private _search;
41
41
  static ɵfac: i0.ɵɵFactoryDeclaration<FkselectComponent<any, any>, never>;
42
- static ɵcmp: i0.ɵɵComponentDeclaration<FkselectComponent<any, any>, "data-fkselect", never, { "model": "model"; "field": "field"; "edit": "edit"; "value": "value"; "queryset": "queryset"; "collection": "collection"; "update": "update"; "filter": "filter"; "mode": "mode"; "display": "display"; "search": "search"; "label": "label"; "placeholder": "placeholder"; "inputClasses": "inputClasses"; }, { "selected": "selected"; "cancelled": "cancelled"; "cleared": "cleared"; }, never, never, true>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<FkselectComponent<any, any>, "data-fkselect", never, { "model": "model"; "field": "field"; "edit": "edit"; "value": "value"; "queryset": "queryset"; "collection": "collection"; "update": "update"; "filter": "filter"; "mode": "mode"; "display": "display"; "search": "search"; "label": "label"; "placeholder": "placeholder"; "inputClasses": "inputClasses"; }, { "selected": "selected"; "cancelled": "cancelled"; "cleared": "cleared"; }, never, never, true, never>;
43
43
  }
@@ -0,0 +1,40 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { DataModel } from '../../data/data-model';
3
+ import { Observable } from 'rxjs';
4
+ import { FormControl } from '@angular/forms';
5
+ import { DataMessageService } from '../../messages/message.service';
6
+ import * as i0 from "@angular/core";
7
+ export interface IFlagItem {
8
+ flag: string;
9
+ count: number;
10
+ }
11
+ export declare class FlagsComponent<T extends DataModel> implements OnInit, OnDestroy {
12
+ private _msg;
13
+ model: T;
14
+ field: string;
15
+ get_flags_endpoint: string;
16
+ edit: boolean;
17
+ editable: boolean;
18
+ flags: Observable<IFlagItem[]>;
19
+ free: boolean;
20
+ create: boolean;
21
+ action: boolean;
22
+ ft: FormControl;
23
+ fs: FormControl;
24
+ curflags: string[];
25
+ txtflag: string;
26
+ selflag: string;
27
+ flaglist: IFlagItem[];
28
+ private _subscriptions$;
29
+ constructor(_msg: DataMessageService);
30
+ ngOnDestroy(): void;
31
+ ngOnInit(): Promise<any>;
32
+ addFreeFlag(): Promise<any>;
33
+ addFlag(flag: string): Promise<any>;
34
+ update(): Promise<any>;
35
+ flagPresent(flag: string): boolean;
36
+ removeFlag(flag: string): Promise<any>;
37
+ toggleEdit(): Promise<void>;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<FlagsComponent<any>, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<FlagsComponent<any>, "data-flags", never, { "model": "model"; "field": "field"; "get_flags_endpoint": "get_flags_endpoint"; "edit": "edit"; "editable": "editable"; "flags": "flags"; "free": "free"; "create": "create"; "action": "action"; }, {}, never, ["*"], true, never>;
40
+ }
@@ -116,5 +116,5 @@ export declare class M2mselectComponent<T extends DataModel, R extends DataModel
116
116
  */
117
117
  private _search;
118
118
  static ɵfac: i0.ɵɵFactoryDeclaration<M2mselectComponent<any, any>, never>;
119
- static ɵcmp: i0.ɵɵComponentDeclaration<M2mselectComponent<any, any>, "data-m2mselect", never, { "model": "model"; "field": "field"; "edit": "edit"; "values": "values"; "queryset": "queryset"; "collection": "collection"; "filter": "filter"; "mode": "mode"; "display": "display"; "search": "search"; "label": "label"; "placeholder": "placeholder"; "emptyLabel": "emptyLabel"; "inputClasses": "inputClasses"; }, { "added": "added"; "removed": "removed"; "cancelled": "cancelled"; "cleared": "cleared"; "detailsChanged": "detailsChanged"; "changed": "changed"; }, never, never, true>;
119
+ static ɵcmp: i0.ɵɵComponentDeclaration<M2mselectComponent<any, any>, "data-m2mselect", never, { "model": "model"; "field": "field"; "edit": "edit"; "values": "values"; "queryset": "queryset"; "collection": "collection"; "filter": "filter"; "mode": "mode"; "display": "display"; "search": "search"; "label": "label"; "placeholder": "placeholder"; "emptyLabel": "emptyLabel"; "inputClasses": "inputClasses"; }, { "added": "added"; "removed": "removed"; "cancelled": "cancelled"; "cleared": "cleared"; "detailsChanged": "detailsChanged"; "changed": "changed"; }, never, never, true, never>;
120
120
  }
@@ -0,0 +1,36 @@
1
+ import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
+ import { Editor, Toolbar } from 'ngx-editor';
3
+ import { FormControl } from '@angular/forms';
4
+ import { DataModel } from '../../data/data-model';
5
+ import { BaseFieldManager } from '../../data/fields/base';
6
+ import * as i0 from "@angular/core";
7
+ export declare class RicheditComponent<FT, T extends DataModel> implements OnInit, OnDestroy {
8
+ model: T;
9
+ field: string;
10
+ editable: boolean;
11
+ edit: boolean;
12
+ mode: 'dd' | 'inline' | 'form';
13
+ /**
14
+ * Hide label (for inline forms)
15
+ */
16
+ hideLabel: boolean;
17
+ /**
18
+ * Hide button (for changed usage)
19
+ */
20
+ hideButton: boolean;
21
+ changed: EventEmitter<string | null>;
22
+ /** Field manager */
23
+ manager?: BaseFieldManager<FT>;
24
+ /** Computed required */
25
+ required: boolean;
26
+ editor: Editor;
27
+ toolbar: Toolbar;
28
+ html: string;
29
+ fc: FormControl<string | null>;
30
+ ngOnInit(): void;
31
+ ngOnDestroy(): void;
32
+ toggleEdit(): void;
33
+ save(): Promise<void>;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<RicheditComponent<any, any>, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<RicheditComponent<any, any>, "data-richedit", never, { "model": "model"; "field": "field"; "editable": "editable"; "edit": "edit"; "mode": "mode"; "hideLabel": "hideLabel"; "hideButton": "hideButton"; }, { "changed": "changed"; }, never, ["*"], true, never>;
36
+ }
@@ -2,6 +2,7 @@ import { EventEmitter } from '@angular/core';
2
2
  import { DataModel } from '../../data/data-model';
3
3
  import { Collection } from '../../data/data-collection';
4
4
  import { NgbOffcanvas } from '@ng-bootstrap/ng-bootstrap';
5
+ import { DataMessageService } from '../../messages/message.service';
5
6
  import * as i0 from "@angular/core";
6
7
  export interface FakeDeleteResult {
7
8
  count: number;
@@ -9,19 +10,27 @@ export interface FakeDeleteResult {
9
10
  }
10
11
  export declare class SafeDeleteComponent<T extends DataModel> {
11
12
  private _ofc;
13
+ private _msgs;
12
14
  model: T;
13
- service: Collection<T>;
15
+ service?: Collection<T>;
16
+ actionFn?: (model: T) => Promise<{
17
+ success: boolean;
18
+ }>;
14
19
  checks: {
15
20
  [index: string]: string;
16
21
  };
22
+ messages: {
23
+ success?: string;
24
+ error?: string;
25
+ };
17
26
  deleted: EventEmitter<FakeDeleteResult>;
18
- display: 'button' | 'icon' | 'custom';
27
+ display: 'fbutton' | 'button' | 'icon' | 'custom';
19
28
  result?: FakeDeleteResult;
20
29
  private _dialogRef?;
21
30
  private ofc?;
22
- constructor(_ofc: NgbOffcanvas);
31
+ constructor(_ofc: NgbOffcanvas, _msgs: DataMessageService);
23
32
  checkDelete(model: DataModel): Promise<void>;
24
33
  reallyDelete(): Promise<void>;
25
34
  static ɵfac: i0.ɵɵFactoryDeclaration<SafeDeleteComponent<any>, never>;
26
- static ɵcmp: i0.ɵɵComponentDeclaration<SafeDeleteComponent<any>, "data-safe-delete", never, { "model": "model"; "service": "service"; "checks": "checks"; "display": "display"; }, { "deleted": "deleted"; }, never, ["*"], true>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<SafeDeleteComponent<any>, "data-safe-delete", never, { "model": "model"; "service": "service"; "actionFn": "actionFn"; "checks": "checks"; "messages": "messages"; "display": "display"; }, { "deleted": "deleted"; }, never, ["*"], true, never>;
27
36
  }
@@ -10,5 +10,5 @@ export declare class MessageZoneComponent implements OnInit, OnDestroy {
10
10
  ngOnInit(): void;
11
11
  ngOnDestroy(): void;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<MessageZoneComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<MessageZoneComponent, "data-message-zone", never, { "filter": "filter"; }, {}, never, never, true>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<MessageZoneComponent, "data-message-zone", never, { "filter": "filter"; }, {}, never, never, true, never>;
14
14
  }
@@ -11,5 +11,5 @@ export declare class ModelListFieldHeaderComponent<T extends DataModel> {
11
11
  disable(): void;
12
12
  enable(f: ModelListField): void;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelListFieldHeaderComponent<any>, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<ModelListFieldHeaderComponent<any>, "data-model-list-field-header", never, { "list": "list"; "field": "field"; "sort": "sort"; "sortField": "sortField"; }, {}, never, ["*"], true>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModelListFieldHeaderComponent<any>, "data-model-list-field-header", never, { "list": "list"; "field": "field"; "sort": "sort"; "sortField": "sortField"; }, {}, never, ["*"], true, never>;
15
15
  }
@@ -15,5 +15,5 @@ export declare class ModelListFieldsSelectorComponent<T extends DataModel> imple
15
15
  drop($event: CdkDragDrop<T, any>): void;
16
16
  toggle(f: ModelListField): void;
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelListFieldsSelectorComponent<any>, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<ModelListFieldsSelectorComponent<any>, "data-model-list-fields-selector", never, { "list": "list"; }, {}, never, never, true>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModelListFieldsSelectorComponent<any>, "data-model-list-fields-selector", never, { "list": "list"; }, {}, never, never, true, never>;
19
19
  }
@@ -26,5 +26,5 @@ export declare class ModelListAutocompleteFilterComponent<T extends DataModel> i
26
26
  private _display;
27
27
  private _search;
28
28
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelListAutocompleteFilterComponent<any>, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<ModelListAutocompleteFilterComponent<any>, "data-model-list-autocomplete-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModelListAutocompleteFilterComponent<any>, "data-model-list-autocomplete-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true, never>;
30
30
  }
@@ -6,5 +6,5 @@ export declare class ModelListAutocompleteMultiFilterComponent<T extends DataMod
6
6
  filter: ModelListAutocompleteMultiFilter<T>;
7
7
  unset(value: any, desc: string): void;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelListAutocompleteMultiFilterComponent<any>, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<ModelListAutocompleteMultiFilterComponent<any>, "data-model-list-autocomplete-multi-filter", never, { "filter": "filter"; }, {}, never, never, true>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModelListAutocompleteMultiFilterComponent<any>, "data-model-list-autocomplete-multi-filter", never, { "filter": "filter"; }, {}, never, never, true, never>;
10
10
  }
@@ -11,5 +11,5 @@ export declare class ModelListDateFilterComponent {
11
11
  ngOnInit(): void;
12
12
  disable(): void;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelListDateFilterComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<ModelListDateFilterComponent, "data-model-list-date-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModelListDateFilterComponent, "data-model-list-date-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true, never>;
15
15
  }
@@ -11,5 +11,5 @@ export declare class ModelListDatetimeFilterComponent {
11
11
  ngOnInit(): void;
12
12
  disable(): void;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelListDatetimeFilterComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<ModelListDatetimeFilterComponent, "data-model-list-datetime-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModelListDatetimeFilterComponent, "data-model-list-datetime-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true, never>;
15
15
  }
@@ -7,5 +7,5 @@ export declare class ModelListDatetimeRangeFilterComponent {
7
7
  classes: string[] | string;
8
8
  constructor();
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelListDatetimeRangeFilterComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<ModelListDatetimeRangeFilterComponent, "data-model-list-datetime-range-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModelListDatetimeRangeFilterComponent, "data-model-list-datetime-range-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true, never>;
11
11
  }
@@ -7,5 +7,5 @@ export declare class ModelListFlagsFilterComponent {
7
7
  classes: string[] | string;
8
8
  constructor();
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelListFlagsFilterComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<ModelListFlagsFilterComponent, "data-model-list-flags-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModelListFlagsFilterComponent, "data-model-list-flags-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true, never>;
11
11
  }
@@ -21,5 +21,5 @@ export declare class ModelListGeodistanceFilterComponent implements OnInit, OnDe
21
21
  private _search;
22
22
  scrollAction($event: any): void;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelListGeodistanceFilterComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<ModelListGeodistanceFilterComponent, "data-model-list-geodistance-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModelListGeodistanceFilterComponent, "data-model-list-geodistance-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true, never>;
25
25
  }
@@ -13,5 +13,5 @@ export declare class ModelListNumberFilterComponent implements OnInit {
13
13
  disable(): void;
14
14
  selectOp(eq: string): void;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelListNumberFilterComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<ModelListNumberFilterComponent, "data-model-list-number-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModelListNumberFilterComponent, "data-model-list-number-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true, never>;
17
17
  }
@@ -8,10 +8,10 @@ export declare class ModelListSelectFilterComponent<T extends DataModel> impleme
8
8
  list: ModelList<T>;
9
9
  filter: ModelListSelectFilter<T>;
10
10
  classes: string[] | string;
11
- fc: FormControl<null>;
11
+ fc: FormControl<string | number | null>;
12
12
  constructor();
13
13
  ngOnInit(): void;
14
14
  disable(): void;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelListSelectFilterComponent<any>, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<ModelListSelectFilterComponent<any>, "data-model-list-select-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModelListSelectFilterComponent<any>, "data-model-list-select-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true, never>;
17
17
  }
@@ -13,4 +13,5 @@ export declare class ModelListSelectFilter<T extends DataModel> extends ModelLis
13
13
  model?: DataModelType<T>;
14
14
  mfield?: string;
15
15
  constructor(params: ModelListSelectFilterParams<T>);
16
+ setDefault(): void;
16
17
  }
@@ -13,5 +13,5 @@ export declare class ModelListSelectMultiFilterComponent<T extends DataModel> {
13
13
  unset(value: any, desc: string): void;
14
14
  disable(): void;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelListSelectMultiFilterComponent<any>, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<ModelListSelectMultiFilterComponent<any>, "data-model-list-select-multi-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModelListSelectMultiFilterComponent<any>, "data-model-list-select-multi-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true, never>;
17
17
  }
@@ -1,6 +1,11 @@
1
1
  import { ModelListSelectFilter, ModelListSelectFilterParams } from '../model-list-select-filter/model-list-select-filter';
2
2
  import { DataModel } from '../../../../data/data-model';
3
+ import { IDispEditChoice } from '../../../../dispedit/dispedit/dispedit.constants';
4
+ export interface ModelListMultiSelectFilterParams<T extends DataModel> extends ModelListSelectFilterParams<T> {
5
+ default?: IDispEditChoice[];
6
+ }
3
7
  export declare class ModelListSelectMultiFilter<T extends DataModel> extends ModelListSelectFilter<T> {
4
8
  multi: boolean;
5
- constructor(params: ModelListSelectFilterParams<T>);
9
+ default?: IDispEditChoice[];
10
+ constructor(params: ModelListMultiSelectFilterParams<T>);
6
11
  }
@@ -1,16 +1,16 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { ModelList } from '../../../model-list.service';
3
- import { UntypedFormControl } from '@angular/forms';
3
+ import { FormControl } from '@angular/forms';
4
4
  import { ModelListTextFilter } from './model-list-text-filter';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class ModelListTextFilterComponent implements OnInit {
7
7
  list: ModelList<any>;
8
8
  filter: ModelListTextFilter;
9
9
  classes: string[] | string;
10
- fc: UntypedFormControl;
10
+ fc: FormControl<string | null>;
11
11
  constructor();
12
12
  ngOnInit(): void;
13
13
  disable(): void;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelListTextFilterComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<ModelListTextFilterComponent, "data-model-list-text-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModelListTextFilterComponent, "data-model-list-text-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true, never>;
16
16
  }
@@ -1,4 +1,4 @@
1
- import { ModelListFilter, ModelListFilterParams } from "../../model-list-filter";
1
+ import { ModelListFilter, ModelListFilterParams } from '../../model-list-filter';
2
2
  export declare class ModelListTextFilter extends ModelListFilter {
3
3
  constructor(params: ModelListFilterParams);
4
4
  }
@@ -7,5 +7,5 @@ export declare class ModelListTreeFilterComponent {
7
7
  classes: string[] | string;
8
8
  constructor();
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelListTreeFilterComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<ModelListTreeFilterComponent, "data-model-list-tree-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModelListTreeFilterComponent, "data-model-list-tree-filter", never, { "list": "list"; "filter": "filter"; "classes": "classes"; }, {}, never, never, true, never>;
11
11
  }
@@ -9,6 +9,7 @@ export interface ModelListFilterParams {
9
9
  help?: string;
10
10
  value?: any;
11
11
  desc?: any;
12
+ default?: any;
12
13
  displayClasses?: string[] | string;
13
14
  }
14
15
  export declare class ModelListFilter implements ModelListFilterParams {
@@ -17,6 +18,7 @@ export declare class ModelListFilter implements ModelListFilterParams {
17
18
  label: string;
18
19
  help: string;
19
20
  desc?: any;
21
+ default?: any;
20
22
  type: FILTER_TYPE;
21
23
  allowed: boolean;
22
24
  enabled: boolean;
@@ -34,12 +36,13 @@ export declare class ModelListFilter implements ModelListFilterParams {
34
36
  constructor(params: ModelListFilterParams);
35
37
  get mcurrent$(): Observable<IDispEditChoice[]>;
36
38
  get current$(): Observable<IDispEditChoice | null>;
37
- updateFilter(filter: FilterData): void;
38
39
  get valueChanges(): Observable<IDispEditChoice | IDispEditChoice[] | null>;
40
+ updateFilter(filter: FilterData): void;
39
41
  clear(notify?: boolean): void;
40
42
  set(value: any, desc: string, notify?: boolean): boolean;
41
43
  unset(value: any, desc: string, notify?: boolean): boolean;
42
44
  toggle(value: any, desc: string, notify?: boolean): boolean;
45
+ getValue(): string | number;
43
46
  private mtoggle;
44
47
  private mset;
45
48
  private munset;
@@ -47,6 +50,5 @@ export declare class ModelListFilter implements ModelListFilterParams {
47
50
  private sset;
48
51
  private sunset;
49
52
  private getMultiValue;
50
- protected getValue(): string | number;
51
53
  private notify;
52
54
  }