@solidev/data 0.0.1-alpha.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 (167) hide show
  1. package/README.md +7 -0
  2. package/esm2020/lib/auth/auth-interceptor.service.mjs +90 -0
  3. package/esm2020/lib/auth/auth.service.mjs +125 -0
  4. package/esm2020/lib/auth/jwt.mjs +21 -0
  5. package/esm2020/lib/data/data-backend.mjs +106 -0
  6. package/esm2020/lib/data/data-collection.mjs +109 -0
  7. package/esm2020/lib/data/data-collection.mock.mjs +39 -0
  8. package/esm2020/lib/data/data-model.mjs +287 -0
  9. package/esm2020/lib/data/data-parameters.mjs +34 -0
  10. package/esm2020/lib/data/data-query.mjs +147 -0
  11. package/esm2020/lib/data/data-query.mock.mjs +46 -0
  12. package/esm2020/lib/data/fields/base.mjs +142 -0
  13. package/esm2020/lib/data/fields/boolean.mjs +38 -0
  14. package/esm2020/lib/data/fields/datetime.mjs +124 -0
  15. package/esm2020/lib/data/fields/index.mjs +7 -0
  16. package/esm2020/lib/data/fields/numbers.mjs +38 -0
  17. package/esm2020/lib/data/fields/primaryfield.mjs +9 -0
  18. package/esm2020/lib/data/fields/relations.mjs +53 -0
  19. package/esm2020/lib/data/fields/stringfields.mjs +71 -0
  20. package/esm2020/lib/dispedit/choice.pipe.mjs +39 -0
  21. package/esm2020/lib/dispedit/dispedit/dispedit.component.mjs +475 -0
  22. package/esm2020/lib/dispedit/dispedit/dispedit.constants.mjs +2 -0
  23. package/esm2020/lib/dispedit/factor.pipe.mjs +48 -0
  24. package/esm2020/lib/dispedit/factorc.pipe.mjs +50 -0
  25. package/esm2020/lib/dispedit/fkselect/fkselect.component.mjs +142 -0
  26. package/esm2020/lib/dispedit/flags/flags.component.mjs +140 -0
  27. package/esm2020/lib/dispedit/m2mselect/m2mselect.component.mjs +318 -0
  28. package/esm2020/lib/dispedit/richedit/richedit.component.mjs +94 -0
  29. package/esm2020/lib/dispedit/sdelete/sdelete.component.mjs +46 -0
  30. package/esm2020/lib/messages/message-zone/message-zone.component.mjs +57 -0
  31. package/esm2020/lib/messages/message.service.mjs +151 -0
  32. package/esm2020/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.mjs +34 -0
  33. package/esm2020/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.mjs +63 -0
  34. package/esm2020/lib/modellist/model-list-fields/model-list-fields.mjs +225 -0
  35. package/esm2020/lib/modellist/model-list-filters/filters/filtertypes.mjs +3 -0
  36. package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.mjs +108 -0
  37. package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.mjs +28 -0
  38. package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.mjs +24 -0
  39. package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.mjs +9 -0
  40. package/esm2020/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.component.mjs +40 -0
  41. package/esm2020/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.mjs +14 -0
  42. package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.mjs +40 -0
  43. package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.mjs +14 -0
  44. package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.mjs +21 -0
  45. package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetimerange-filter.mjs +14 -0
  46. package/esm2020/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.mjs +21 -0
  47. package/esm2020/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.mjs +14 -0
  48. package/esm2020/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/adapters/ban.mjs +24 -0
  49. package/esm2020/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.mjs +63 -0
  50. package/esm2020/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.mjs +16 -0
  51. package/esm2020/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.mjs +46 -0
  52. package/esm2020/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.mjs +49 -0
  53. package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.mjs +57 -0
  54. package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.mjs +35 -0
  55. package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.mjs +49 -0
  56. package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.mjs +15 -0
  57. package/esm2020/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.mjs +40 -0
  58. package/esm2020/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.mjs +14 -0
  59. package/esm2020/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.mjs +21 -0
  60. package/esm2020/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.mjs +14 -0
  61. package/esm2020/lib/modellist/model-list-filters/model-list-filter.mjs +145 -0
  62. package/esm2020/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.mjs +50 -0
  63. package/esm2020/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.mjs +30 -0
  64. package/esm2020/lib/modellist/model-list-filters/model-list-filters.mjs +80 -0
  65. package/esm2020/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.mjs +70 -0
  66. package/esm2020/lib/modellist/model-list-paginator/model-list-paginator.mjs +47 -0
  67. package/esm2020/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.mjs +49 -0
  68. package/esm2020/lib/modellist/model-list-sorter/model-list-sorter.mjs +116 -0
  69. package/esm2020/lib/modellist/model-list.service.mjs +135 -0
  70. package/esm2020/lib/routing/breadcrumb/breadcrumb.component.mjs +142 -0
  71. package/esm2020/lib/routing/routing.mjs +57 -0
  72. package/esm2020/lib/uploader/index.mjs +6 -0
  73. package/esm2020/lib/uploader/interfaces.mjs +8 -0
  74. package/esm2020/lib/uploader/ng-file-drop.directive.mjs +81 -0
  75. package/esm2020/lib/uploader/ng-file-select.directive.mjs +51 -0
  76. package/esm2020/lib/uploader/ngx-uploader.class.mjs +308 -0
  77. package/esm2020/lib/uploader/ngx-uploader.module.mjs +17 -0
  78. package/esm2020/lib/utils/slugify.mjs +16 -0
  79. package/esm2020/lib/utils/tab-memory.service.mjs +71 -0
  80. package/esm2020/public-api.mjs +51 -0
  81. package/esm2020/solidev-data.mjs +5 -0
  82. package/fesm2015/solidev-data.mjs +5411 -0
  83. package/fesm2015/solidev-data.mjs.map +1 -0
  84. package/fesm2020/solidev-data.mjs +5358 -0
  85. package/fesm2020/solidev-data.mjs.map +1 -0
  86. package/index.d.ts +5 -0
  87. package/lib/auth/auth-interceptor.service.d.ts +17 -0
  88. package/lib/auth/auth.service.d.ts +43 -0
  89. package/lib/auth/jwt.d.ts +22 -0
  90. package/lib/data/data-backend.d.ts +47 -0
  91. package/lib/data/data-collection.d.ts +87 -0
  92. package/lib/data/data-collection.mock.d.ts +19 -0
  93. package/lib/data/data-model.d.ts +93 -0
  94. package/lib/data/data-parameters.d.ts +26 -0
  95. package/lib/data/data-query.d.ts +101 -0
  96. package/lib/data/data-query.mock.d.ts +25 -0
  97. package/lib/data/fields/base.d.ts +116 -0
  98. package/lib/data/fields/boolean.d.ts +9 -0
  99. package/lib/data/fields/datetime.d.ts +39 -0
  100. package/lib/data/fields/index.d.ts +6 -0
  101. package/lib/data/fields/numbers.d.ts +35 -0
  102. package/lib/data/fields/primaryfield.d.ts +8 -0
  103. package/lib/data/fields/relations.d.ts +45 -0
  104. package/lib/data/fields/stringfields.d.ts +50 -0
  105. package/lib/dispedit/choice.pipe.d.ts +8 -0
  106. package/lib/dispedit/dispedit/dispedit.component.d.ts +182 -0
  107. package/lib/dispedit/dispedit/dispedit.constants.d.ts +6 -0
  108. package/lib/dispedit/factor.pipe.d.ts +12 -0
  109. package/lib/dispedit/factorc.pipe.d.ts +11 -0
  110. package/lib/dispedit/fkselect/fkselect.component.d.ts +43 -0
  111. package/lib/dispedit/flags/flags.component.d.ts +40 -0
  112. package/lib/dispedit/m2mselect/m2mselect.component.d.ts +120 -0
  113. package/lib/dispedit/richedit/richedit.component.d.ts +31 -0
  114. package/lib/dispedit/sdelete/sdelete.component.d.ts +27 -0
  115. package/lib/messages/message-zone/message-zone.component.d.ts +14 -0
  116. package/lib/messages/message.service.d.ts +59 -0
  117. package/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.d.ts +15 -0
  118. package/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.d.ts +19 -0
  119. package/lib/modellist/model-list-fields/model-list-fields.d.ts +67 -0
  120. package/lib/modellist/model-list-filters/filters/filtertypes.d.ts +1 -0
  121. package/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.d.ts +30 -0
  122. package/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.d.ts +22 -0
  123. package/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.d.ts +10 -0
  124. package/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.d.ts +8 -0
  125. package/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.component.d.ts +15 -0
  126. package/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.d.ts +4 -0
  127. package/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.d.ts +15 -0
  128. package/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.d.ts +4 -0
  129. package/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.d.ts +11 -0
  130. package/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetimerange-filter.d.ts +4 -0
  131. package/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.d.ts +11 -0
  132. package/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.d.ts +4 -0
  133. package/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/adapters/ban.d.ts +35 -0
  134. package/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.d.ts +25 -0
  135. package/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.d.ts +18 -0
  136. package/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.d.ts +17 -0
  137. package/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.d.ts +19 -0
  138. package/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.d.ts +17 -0
  139. package/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.d.ts +16 -0
  140. package/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.d.ts +17 -0
  141. package/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.d.ts +6 -0
  142. package/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.d.ts +16 -0
  143. package/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.d.ts +4 -0
  144. package/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.d.ts +11 -0
  145. package/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.d.ts +4 -0
  146. package/lib/modellist/model-list-filters/model-list-filter.d.ts +52 -0
  147. package/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.d.ts +9 -0
  148. package/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.d.ts +13 -0
  149. package/lib/modellist/model-list-filters/model-list-filters.d.ts +15 -0
  150. package/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.d.ts +23 -0
  151. package/lib/modellist/model-list-paginator/model-list-paginator.d.ts +16 -0
  152. package/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.d.ts +22 -0
  153. package/lib/modellist/model-list-sorter/model-list-sorter.d.ts +61 -0
  154. package/lib/modellist/model-list.service.d.ts +83 -0
  155. package/lib/routing/breadcrumb/breadcrumb.component.d.ts +42 -0
  156. package/lib/routing/routing.d.ts +64 -0
  157. package/lib/uploader/index.d.ts +5 -0
  158. package/lib/uploader/interfaces.d.ts +67 -0
  159. package/lib/uploader/ng-file-drop.directive.d.ts +22 -0
  160. package/lib/uploader/ng-file-select.directive.d.ts +19 -0
  161. package/lib/uploader/ngx-uploader.class.d.ts +35 -0
  162. package/lib/uploader/ngx-uploader.module.d.ts +8 -0
  163. package/lib/utils/slugify.d.ts +1 -0
  164. package/lib/utils/tab-memory.service.d.ts +29 -0
  165. package/package.json +35 -0
  166. package/public-api.d.ts +47 -0
  167. package/src/lib/data/README.md +35 -0
@@ -0,0 +1,15 @@
1
+ import { FilterData } from '../../data/data-query';
2
+ import { Observable, ReplaySubject } from 'rxjs';
3
+ import { FiltersParams } from '../model-list.service';
4
+ import { ModelListFilter } from './model-list-filter';
5
+ export declare class ModelListFilters {
6
+ private _filters;
7
+ constructor(params?: FiltersParams);
8
+ private _output;
9
+ get output(): Observable<FilterData>;
10
+ _enabled: ReplaySubject<ModelListFilter[]>;
11
+ get enabled(): Observable<ModelListFilter[]>;
12
+ _available: ReplaySubject<ModelListFilter[]>;
13
+ get available(): Observable<ModelListFilter[]>;
14
+ update(): void;
15
+ }
@@ -0,0 +1,23 @@
1
+ import { OnChanges, OnDestroy } from '@angular/core';
2
+ import { ModelList } from '../../model-list.service';
3
+ import { FormControl } from '@angular/forms';
4
+ import { Subject } from 'rxjs';
5
+ import { DataModel } from '../../../data/data-model';
6
+ import * as i0 from "@angular/core";
7
+ export declare class ModelListPaginatorComponent<T extends DataModel> implements OnDestroy, OnChanges {
8
+ list: ModelList<T>;
9
+ maxPages: number;
10
+ hide: boolean;
11
+ perPageControl: FormControl;
12
+ showDirectAccess: boolean;
13
+ directAccess: FormControl;
14
+ curPage: number;
15
+ curCount: number;
16
+ pageSize: number;
17
+ _unsubscribe: Subject<void>;
18
+ onPageChange(page: number): void;
19
+ ngOnDestroy(): void;
20
+ ngOnChanges(): void;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<ModelListPaginatorComponent<any>, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModelListPaginatorComponent<any>, "data-model-list-paginator", never, { "list": "list"; "maxPages": "maxPages"; "hide": "hide"; }, {}, never, never, true>;
23
+ }
@@ -0,0 +1,16 @@
1
+ import { IQueryNav } from '../../data/data-query';
2
+ import { Observable } from 'rxjs';
3
+ export declare class ModelListPaginator {
4
+ private _page_size;
5
+ private _page;
6
+ constructor(defaults?: IQueryNav);
7
+ private _output;
8
+ get output(): Observable<IQueryNav>;
9
+ setPage(page: number): void;
10
+ updatePage(page: number): void;
11
+ setPageSize(size: number): void;
12
+ updatePageSize(size: number): void;
13
+ getPageSize(): number;
14
+ getPage(): number;
15
+ private _updateOutput;
16
+ }
@@ -0,0 +1,22 @@
1
+ import { ModelList } from '../../model-list.service';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ModelListSorterComponent {
4
+ /**
5
+ * ModelList reference.
6
+ */
7
+ list: ModelList<any>;
8
+ /**
9
+ * Sort field name.
10
+ */
11
+ field: string;
12
+ constructor();
13
+ isUp(): boolean;
14
+ isDown(): boolean;
15
+ setUp(): void;
16
+ setDown(): void;
17
+ getCount(): number;
18
+ getOrder(): number;
19
+ cancel(): void;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<ModelListSorterComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModelListSorterComponent, "data-model-list-sorter", never, { "list": "list"; "field": "field"; }, {}, never, ["*"], true>;
22
+ }
@@ -0,0 +1,61 @@
1
+ import { Observable } from 'rxjs';
2
+ import { SorterDefaults } from '../model-list.service';
3
+ export declare type SortDirection = 'asc' | 'desc';
4
+ export interface FieldSortData {
5
+ field: string;
6
+ direction: SortDirection;
7
+ }
8
+ export declare type SorterData = FieldSortData[];
9
+ export declare class ModelListSorter {
10
+ private readonly _values;
11
+ /**
12
+ * Create ModelListSorter instance, using defaults.
13
+ * @param defaults defaults sort values, as a list of strings (+field, -field, field)
14
+ */
15
+ constructor(defaults?: SorterDefaults);
16
+ private _output;
17
+ /**
18
+ * Returns a list of "+/-field" sort strings observable.
19
+ * @returns sort strings observable
20
+ */
21
+ get output(): Observable<string[]>;
22
+ /**
23
+ * Set sorting for `name` key, in direction `direction`.
24
+ * If sorting is already set for `name` key, updates direction without changing order.
25
+ * If sorting isn't set for `name` key, adds it at the end of sorting directions.
26
+ *
27
+ * @param name field name
28
+ * @param direction sort direction
29
+ * @returns model list sorter
30
+ */
31
+ set(name: string, direction: SortDirection): ModelListSorter;
32
+ /**
33
+ * Removes `name` sorting key from current keys.
34
+ *
35
+ * @param name sort key to be removed
36
+ * @returns model list sorter
37
+ */
38
+ unset(name: string): ModelListSorter;
39
+ /**
40
+ * Get sorting status for `field` argument.
41
+ * If `field` is not found, returns null.
42
+ *
43
+ * @param field field name
44
+ * @returns ordering direction / null
45
+ */
46
+ get(field: string): FieldSortData | null;
47
+ /**
48
+ * Return all sorter data values.
49
+ *
50
+ * @returns all sorter data values.
51
+ */
52
+ getAll(): SorterData;
53
+ /**
54
+ * Get the ordering position for `field` argument. If not found, returns -1.
55
+ *
56
+ * @param field field name
57
+ * @returns ordering position for field
58
+ */
59
+ getOrder(field: string): number;
60
+ private _updateOutput;
61
+ }
@@ -0,0 +1,83 @@
1
+ import { Observable, Subject } from 'rxjs';
2
+ import { DataModel } from '../data/data-model';
3
+ import { IQueryMeta, IQueryMetaNavParams, IQueryNav, Queryset } from '../data/data-query';
4
+ import { ModelListFields } from './model-list-fields/model-list-fields';
5
+ import { ModelListPaginator } from './model-list-paginator/model-list-paginator';
6
+ import { ModelListSorter } from './model-list-sorter/model-list-sorter';
7
+ import { ModelListFilters } from './model-list-filters/model-list-filters';
8
+ import { Collection } from '../data/data-collection';
9
+ import { ModelListFilter } from './model-list-filters/model-list-filter';
10
+ import * as i0 from "@angular/core";
11
+ export interface CustomField {
12
+ name: string;
13
+ label: string;
14
+ }
15
+ export interface FilterDefaults {
16
+ [index: string]: string | number | undefined;
17
+ }
18
+ export declare type SorterDefaults = string[];
19
+ /**
20
+ * Fields parameters.
21
+ */
22
+ export interface FieldsParams {
23
+ /** Allowed fields, all model fields are allowed if empty */
24
+ allowed?: string[];
25
+ /** Default enabled fields */
26
+ defaults?: string[];
27
+ /** Excluded fields */
28
+ excluded?: string[];
29
+ /** Custom fields */
30
+ custom?: CustomField[];
31
+ }
32
+ /**
33
+ * Filters parameters.
34
+ */
35
+ export interface FiltersParams {
36
+ /** Allowed filter names */
37
+ allowed?: string[];
38
+ /** Default active filter names */
39
+ defaults?: string[];
40
+ /** Excluded filter names */
41
+ excluded?: string[];
42
+ /** Filters definitions */
43
+ filters?: ModelListFilter[];
44
+ }
45
+ export declare type PaginationParams = IQueryMetaNavParams;
46
+ export interface ModelListParams {
47
+ fields?: FieldsParams;
48
+ filters?: FiltersParams;
49
+ filter?: FilterDefaults | Observable<FilterDefaults>;
50
+ sorter?: SorterDefaults;
51
+ paginator?: IQueryNav;
52
+ keep?: boolean;
53
+ reload?: Subject<void>;
54
+ unsubscribe?: Subject<void>;
55
+ }
56
+ export declare class ModelList<T extends DataModel> {
57
+ name: string;
58
+ filters: ModelListFilters;
59
+ sorter: ModelListSorter;
60
+ paginator: ModelListPaginator;
61
+ queryset: Queryset<T>;
62
+ fields: ModelListFields<T>;
63
+ reload: Subject<void>;
64
+ unsubscribe: Subject<void>;
65
+ started: boolean;
66
+ private _results?;
67
+ private _meta?;
68
+ private _loading?;
69
+ private _full?;
70
+ constructor(name: string);
71
+ get results(): Observable<T[]>;
72
+ get meta(): Observable<IQueryMeta>;
73
+ get loading(): Observable<boolean>;
74
+ get full(): Observable<[T[], boolean, IQueryMeta]>;
75
+ start(params: ModelListParams): void;
76
+ }
77
+ export declare class ModelListService {
78
+ private _instances;
79
+ constructor();
80
+ get<T extends DataModel>(name: string, collection: Collection<T>, defaults: ModelListParams): ModelList<T>;
81
+ static ɵfac: i0.ɵɵFactoryDeclaration<ModelListService, never>;
82
+ static ɵprov: i0.ɵɵInjectableDeclaration<ModelListService>;
83
+ }
@@ -0,0 +1,42 @@
1
+ import { OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
+ import { ActivatedRoute, Router, RouterState, UrlSegment } from '@angular/router';
3
+ import { BaseRouteParams } from '../routing';
4
+ import * as i0 from "@angular/core";
5
+ export interface IPathTreeItem {
6
+ path: string;
7
+ title: string;
8
+ icon: string;
9
+ current: boolean;
10
+ }
11
+ /**
12
+ * Use data from route config to create a breadcrumb for current route.
13
+ *
14
+ * Route config data is :
15
+ * - title : route fragment title or lodash template to build title
16
+ * (provided arguments for template processing : route (current segment route snapshot)
17
+ * and data (input argument)
18
+ * - icon: icon classes. Example fa fa-home for home & font awesome
19
+ */
20
+ export declare class BreadcrumbComponent implements OnChanges, OnInit, OnDestroy {
21
+ router: Router;
22
+ route: ActivatedRoute;
23
+ /**
24
+ * Additional data to be used in titleTemplate
25
+ */
26
+ data: any;
27
+ /**
28
+ * Do we display icons ?
29
+ */
30
+ icons: boolean;
31
+ tree: IPathTreeItem[];
32
+ private _subscriptions;
33
+ constructor(router: Router, route: ActivatedRoute);
34
+ ngOnInit(): void;
35
+ ngOnDestroy(): void;
36
+ ngOnChanges(changes: SimpleChanges): void;
37
+ getRouteTree(current: RouterState): void;
38
+ getTitle(rdata: Partial<BaseRouteParams>, data: BaseRouteParams, u?: UrlSegment): string;
39
+ getIcon(rdata: Partial<BaseRouteParams>, data: BaseRouteParams): string;
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<BreadcrumbComponent, never>;
41
+ static ɵcmp: i0.ɵɵComponentDeclaration<BreadcrumbComponent, "data-breadcrumb", never, { "data": "data"; "icons": "icons"; }, {}, never, never, true>;
42
+ }
@@ -0,0 +1,64 @@
1
+ import { Route, Router } from '@angular/router';
2
+ /**
3
+ * Template function type.
4
+ * Used for page title or other data to string operations.
5
+ *
6
+ * @param data: object
7
+ * @param path: optional path (see: usage)
8
+ */
9
+ export declare type TplFn<T> = (data: T, path?: string) => string;
10
+ /**
11
+ * Base route parameters interface.
12
+ */
13
+ export interface BaseRouteParams {
14
+ /** Skip route in breadcrumbs */
15
+ skip?: boolean;
16
+ /** Route title or title template */
17
+ title?: string | TplFn<any>;
18
+ /** Route icon string */
19
+ icon?: string;
20
+ /** Route config item */
21
+ route: RouteConfigItem;
22
+ /** This route is a tree route */
23
+ tree?: boolean;
24
+ }
25
+ /**
26
+ * Route function type.
27
+ * Takes parameters, return a route.
28
+ */
29
+ export declare type RouteFn = (...args: any[]) => (string | number)[];
30
+ /**
31
+ * Route config item.
32
+ * Stores route named parameters, route function and route name.
33
+ */
34
+ export interface RouteConfigItem {
35
+ params: string[];
36
+ route: RouteFn;
37
+ name: string;
38
+ }
39
+ export declare function RData<T extends BaseRouteParams>(value: T): T;
40
+ export declare type RoutesConfig<T extends string> = {
41
+ readonly [Property in T]: RouteConfigItem;
42
+ };
43
+ export interface StrictRoutes extends Route {
44
+ data: BaseRouteParams;
45
+ }
46
+ export declare type RoutesDefinition = StrictRoutes[];
47
+ interface RouteArg<T> {
48
+ [index: string]: T;
49
+ }
50
+ export declare class Link<T> {
51
+ private _cargs;
52
+ private _params;
53
+ private _route;
54
+ private _router?;
55
+ constructor(config: RouteConfigItem, context: any, router?: Router);
56
+ private _name;
57
+ get name(): string;
58
+ context(ctx: any): void;
59
+ route(params?: Required<RouteArg<T>>): (string | number)[];
60
+ navigate(params?: {
61
+ [index: string]: T;
62
+ }, router?: Router): Promise<boolean>;
63
+ }
64
+ export {};
@@ -0,0 +1,5 @@
1
+ export * from "./interfaces";
2
+ export * from "./ng-file-drop.directive";
3
+ export * from "./ng-file-select.directive";
4
+ export * from "./ngx-uploader.class";
5
+ export * from "./ngx-uploader.module";
@@ -0,0 +1,67 @@
1
+ import { Subscription } from "rxjs";
2
+ export interface UploaderOptions {
3
+ concurrency: number;
4
+ allowedContentTypes?: string[];
5
+ maxUploads?: number;
6
+ maxFileSize?: number;
7
+ }
8
+ export interface BlobFile extends Blob {
9
+ name: string;
10
+ }
11
+ export declare enum UploadStatus {
12
+ Queue = 0,
13
+ Uploading = 1,
14
+ Done = 2,
15
+ Cancelled = 3
16
+ }
17
+ export interface UploadProgress {
18
+ status: UploadStatus;
19
+ data?: {
20
+ percentage: number;
21
+ speed: number;
22
+ speedHuman: string;
23
+ startTime: number | null;
24
+ endTime: number | null;
25
+ eta: number | null;
26
+ etaHuman: string | null;
27
+ };
28
+ }
29
+ export interface UploadFile {
30
+ id: string;
31
+ fileIndex: number;
32
+ lastModifiedDate: Date;
33
+ name: string;
34
+ size: number;
35
+ type: string;
36
+ form: FormData;
37
+ progress: UploadProgress;
38
+ response?: any;
39
+ responseStatus?: number;
40
+ sub?: Subscription | any;
41
+ nativeFile?: File;
42
+ responseHeaders?: {
43
+ [key: string]: string;
44
+ };
45
+ }
46
+ export interface UploadOutput {
47
+ type: "addedToQueue" | "allAddedToQueue" | "uploading" | "done" | "start" | "cancelled" | "dragOver" | "dragOut" | "drop" | "removed" | "removedAll" | "rejected";
48
+ file?: UploadFile;
49
+ nativeFile?: File;
50
+ }
51
+ export interface UploadInput {
52
+ type: "uploadAll" | "uploadFile" | "cancel" | "cancelAll" | "remove" | "removeAll";
53
+ url?: string;
54
+ method?: string;
55
+ id?: string;
56
+ fieldName?: string;
57
+ fileIndex?: number;
58
+ file?: UploadFile;
59
+ data?: {
60
+ [key: string]: string | Blob;
61
+ };
62
+ headers?: {
63
+ [key: string]: string;
64
+ };
65
+ includeWebKitFormBoundary?: boolean;
66
+ withCredentials?: boolean;
67
+ }
@@ -0,0 +1,22 @@
1
+ import { ElementRef, EventEmitter, OnDestroy, OnInit } from "@angular/core";
2
+ import { UploaderOptions, UploadInput, UploadOutput } from "./interfaces";
3
+ import { DataUploaderService } from "./ngx-uploader.class";
4
+ import * as i0 from "@angular/core";
5
+ export declare class NgFileDropDirective implements OnInit, OnDestroy {
6
+ elementRef: ElementRef;
7
+ options: UploaderOptions;
8
+ uploadInput: EventEmitter<UploadInput>;
9
+ uploadOutput: EventEmitter<UploadOutput>;
10
+ upload: DataUploaderService;
11
+ el: HTMLInputElement;
12
+ private _sub;
13
+ constructor(elementRef: ElementRef);
14
+ ngOnInit(): void;
15
+ ngOnDestroy(): void;
16
+ stopEvent: (e: Event) => void;
17
+ onDrop(e: any): void;
18
+ onDragOver(e: Event): void;
19
+ onDragLeave(e: Event): void;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgFileDropDirective, never>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgFileDropDirective, "[dataFileDrop]", never, { "options": "options"; "uploadInput": "uploadInput"; }, { "uploadOutput": "uploadOutput"; }, never, never, false>;
22
+ }
@@ -0,0 +1,19 @@
1
+ import { ElementRef, EventEmitter, OnDestroy, OnInit } from "@angular/core";
2
+ import { UploaderOptions, UploadOutput } from "./interfaces";
3
+ import { DataUploaderService } from "./ngx-uploader.class";
4
+ import * as i0 from "@angular/core";
5
+ export declare class NgFileSelectDirective implements OnInit, OnDestroy {
6
+ elementRef: ElementRef;
7
+ options: UploaderOptions;
8
+ uploadInput: EventEmitter<any>;
9
+ uploadOutput: EventEmitter<UploadOutput>;
10
+ upload: DataUploaderService;
11
+ el: HTMLInputElement;
12
+ private _sub;
13
+ constructor(elementRef: ElementRef);
14
+ ngOnInit(): void;
15
+ ngOnDestroy(): void;
16
+ fileListener: () => void;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgFileSelectDirective, never>;
18
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgFileSelectDirective, "[dataFileSelect]", never, { "options": "options"; "uploadInput": "uploadInput"; }, { "uploadOutput": "uploadOutput"; }, never, never, false>;
19
+ }
@@ -0,0 +1,35 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { Observable, Subject, Subscription } from 'rxjs';
3
+ import { UploadFile, UploadInput, UploadOutput } from './interfaces';
4
+ export declare function humanizeBytes(bytes: number): string;
5
+ export declare class DataUploaderService {
6
+ queue: UploadFile[];
7
+ serviceEvents: EventEmitter<UploadOutput>;
8
+ uploadScheduler: Subject<{
9
+ file: UploadFile;
10
+ event: UploadInput;
11
+ }>;
12
+ subs: {
13
+ id: string;
14
+ sub: Subscription;
15
+ }[];
16
+ contentTypes: string[];
17
+ maxUploads: number;
18
+ maxFileSize: number;
19
+ constructor(concurrency?: number, contentTypes?: string[], maxUploads?: number, maxFileSize?: number);
20
+ handleFiles(incomingFiles: FileList): void;
21
+ initInputEvents(input: EventEmitter<UploadInput>): Subscription;
22
+ startUpload(upload: {
23
+ file: UploadFile;
24
+ event: UploadInput;
25
+ }): Observable<UploadOutput>;
26
+ uploadFile(file: UploadFile, event: UploadInput): Observable<UploadOutput>;
27
+ secondsToHuman(sec: number): string;
28
+ generateId(): string;
29
+ setContentTypes(contentTypes: string[]): void;
30
+ allContentTypesAllowed(): boolean;
31
+ isContentTypeAllowed(mimetype: string): boolean;
32
+ isFileSizeAllowed(fileSize: number): boolean;
33
+ makeUploadFile(file: File, index: number): UploadFile;
34
+ private parseResponseHeaders;
35
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./ng-file-drop.directive";
3
+ import * as i2 from "./ng-file-select.directive";
4
+ export declare class NgxUploaderModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgxUploaderModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgxUploaderModule, [typeof i1.NgFileDropDirective, typeof i2.NgFileSelectDirective], never, [typeof i1.NgFileDropDirective, typeof i2.NgFileSelectDirective]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<NgxUploaderModule>;
8
+ }
@@ -0,0 +1 @@
1
+ export declare const slugify: (str: string) => string;
@@ -0,0 +1,29 @@
1
+ import { UrlSegment } from '@angular/router';
2
+ import * as i0 from "@angular/core";
3
+ interface ITabStoredMem {
4
+ name: string;
5
+ value: string;
6
+ }
7
+ export declare class NavDriver {
8
+ private _parent;
9
+ name: string;
10
+ defaults: string;
11
+ private save;
12
+ private lastActive;
13
+ constructor(_parent: TabMemoryService, name: string, defaults: string, save: boolean);
14
+ private _current;
15
+ get current(): string;
16
+ set current(value: string);
17
+ get value(): ITabStoredMem;
18
+ }
19
+ export declare class TabMemoryService {
20
+ private tabMem;
21
+ constructor();
22
+ private static targetToString;
23
+ memFor(target: (string | number | UrlSegment)[], defaults: string, save?: boolean): NavDriver;
24
+ save(): void;
25
+ load(name: string): string | null;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<TabMemoryService, never>;
27
+ static ɵprov: i0.ɵɵInjectableDeclaration<TabMemoryService>;
28
+ }
29
+ export {};
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@solidev/data",
3
+ "version": "0.0.1-alpha.0",
4
+ "peerDependencies": {
5
+ "@angular/common": "^14.0.0",
6
+ "@angular/core": "^14.0.0",
7
+ "@ng-bootstrap/ng-bootstrap": "^13.1.0",
8
+ "jwt-decode": "^3.1.2",
9
+ "ngx-editor": "^15.0.1"
10
+ },
11
+ "dependencies": {
12
+ "tslib": "^2.3.0"
13
+ },
14
+ "private": false,
15
+ "module": "fesm2015/solidev-data.mjs",
16
+ "es2020": "fesm2020/solidev-data.mjs",
17
+ "esm2020": "esm2020/solidev-data.mjs",
18
+ "fesm2020": "fesm2020/solidev-data.mjs",
19
+ "fesm2015": "fesm2015/solidev-data.mjs",
20
+ "typings": "index.d.ts",
21
+ "exports": {
22
+ "./package.json": {
23
+ "default": "./package.json"
24
+ },
25
+ ".": {
26
+ "types": "./index.d.ts",
27
+ "esm2020": "./esm2020/solidev-data.mjs",
28
+ "es2020": "./fesm2020/solidev-data.mjs",
29
+ "es2015": "./fesm2015/solidev-data.mjs",
30
+ "node": "./fesm2015/solidev-data.mjs",
31
+ "default": "./fesm2020/solidev-data.mjs"
32
+ }
33
+ },
34
+ "sideEffects": false
35
+ }
@@ -0,0 +1,47 @@
1
+ export * from './lib/data/data-parameters';
2
+ export * from './lib/data/data-model';
3
+ export * from './lib/data/data-collection';
4
+ export * from './lib/data/data-backend';
5
+ export * from './lib/data/data-query';
6
+ export * from './lib/modellist/model-list.service';
7
+ export * from './lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component';
8
+ export * from './lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component';
9
+ export * from './lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component';
10
+ export * from './lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component';
11
+ export * from './lib/modellist/model-list-filters/model-list-filters/model-list-filters.component';
12
+ export * from './lib/modellist/model-list-filters/model-list-filters';
13
+ export * from './lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter';
14
+ export * from './lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter';
15
+ export * from './lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter';
16
+ export * from './lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter';
17
+ export * from './lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetimerange-filter';
18
+ export * from './lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter';
19
+ export * from './lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter';
20
+ export * from './lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter';
21
+ export * from './lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter';
22
+ export * from './lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter';
23
+ export * from './lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter';
24
+ export * from './lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter';
25
+ export * from './lib/modellist/model-list-filters/filters/model-list-geodistance-filter/adapters/ban';
26
+ export * from './lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component';
27
+ export * from './lib/dispedit/choice.pipe';
28
+ export * from './lib/dispedit/factor.pipe';
29
+ export * from './lib/dispedit/factorc.pipe';
30
+ export * from './lib/dispedit/dispedit/dispedit.component';
31
+ export * from './lib/dispedit/fkselect/fkselect.component';
32
+ export * from './lib/dispedit/m2mselect/m2mselect.component';
33
+ export * from './lib/dispedit/flags/flags.component';
34
+ export * from './lib/dispedit/richedit/richedit.component';
35
+ export * from './lib/dispedit/sdelete/sdelete.component';
36
+ export * from './lib/data/fields/index';
37
+ export * from './lib/messages/message.service';
38
+ export * from './lib/messages/message-zone/message-zone.component';
39
+ export * from './lib/data/data-collection.mock';
40
+ export * from './lib/uploader/index';
41
+ export * from './lib/auth/auth.service';
42
+ export * from './lib/auth/auth-interceptor.service';
43
+ export * from './lib/auth/jwt';
44
+ export * from './lib/routing/routing';
45
+ export * from './lib/routing/breadcrumb/breadcrumb.component';
46
+ export * from './lib/utils/tab-memory.service';
47
+ export * from './lib/utils/slugify';
@@ -0,0 +1,35 @@
1
+ # Model fields
2
+
3
+ - name
4
+ - help
5
+ - description
6
+ - required
7
+ - readonly
8
+ - default
9
+
10
+ - editor_type
11
+ - display_type
12
+
13
+ - fromJson
14
+ - toJson
15
+
16
+ - toString
17
+
18
+
19
+ - formControl
20
+ - validators
21
+
22
+ # null or undefined ?
23
+
24
+ - FormControl uses null values
25
+ - Json get undefined or none values
26
+ - db get null values
27
+ - class init get undefined values
28
+
29
+
30
+
31
+ # model
32
+
33
+ - _collection get / set object associated collection
34
+ - fromJson : update object from data (keeps only declared fields)
35
+ - toJson(fields) : serialize objects fields (all minus readonly fields if fields is not given or empty)