@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,35 @@
1
+ import { BaseFieldManager, FieldDecoratorFn, IFieldMetadata } from './base';
2
+ import { DISPEDIT_DISPLAY_TYPES, DISPEDIT_EDITOR_TYPES } from '../../dispedit/dispedit/dispedit.constants';
3
+ import { ValidatorFn } from '@angular/forms';
4
+ export interface IIntegerFieldMetadata extends IFieldMetadata<number> {
5
+ min?: number;
6
+ max?: number;
7
+ }
8
+ export interface IFloatFieldMetadata extends IFieldMetadata<number> {
9
+ min?: number;
10
+ max?: number;
11
+ }
12
+ export interface IDecimalFieldMetadata extends IFieldMetadata<number> {
13
+ min?: number;
14
+ max?: number;
15
+ factor?: number;
16
+ }
17
+ export declare class IntegerFieldManager extends BaseFieldManager<number> implements IIntegerFieldMetadata {
18
+ displayType: DISPEDIT_DISPLAY_TYPES;
19
+ editorType: DISPEDIT_EDITOR_TYPES;
20
+ min?: number;
21
+ max?: number;
22
+ get validators(): ValidatorFn[];
23
+ }
24
+ export declare class FloatFieldManager extends IntegerFieldManager implements IFloatFieldMetadata {
25
+ displayType: DISPEDIT_DISPLAY_TYPES;
26
+ editorType: DISPEDIT_EDITOR_TYPES;
27
+ }
28
+ export declare class DecimalFieldManager extends IntegerFieldManager implements IDecimalFieldMetadata {
29
+ factor?: number;
30
+ displayType: DISPEDIT_DISPLAY_TYPES;
31
+ editorType: DISPEDIT_EDITOR_TYPES;
32
+ }
33
+ export declare const integerField: (updates?: IIntegerFieldMetadata) => FieldDecoratorFn;
34
+ export declare const floatField: (updates?: IFloatFieldMetadata) => FieldDecoratorFn;
35
+ export declare const decimalField: (updates?: IDecimalFieldMetadata) => FieldDecoratorFn;
@@ -0,0 +1,8 @@
1
+ import { BaseFieldManager, FieldDecoratorFn, IFieldMetadata } from './base';
2
+ export interface IPrimaryFieldMetadata extends IFieldMetadata<number> {
3
+ step?: number;
4
+ }
5
+ export declare class PrimaryFieldManager extends BaseFieldManager<number> implements IPrimaryFieldMetadata {
6
+ step: number;
7
+ }
8
+ export declare const primaryField: (updates?: IPrimaryFieldMetadata) => FieldDecoratorFn;
@@ -0,0 +1,45 @@
1
+ import { BaseFieldManager, FieldDecoratorFn, IFieldMetadata } from './base';
2
+ import { Collection } from '../data-collection';
3
+ import { DISPEDIT_DISPLAY_TYPES, DISPEDIT_EDITOR_TYPES } from '../../dispedit/dispedit/dispedit.constants';
4
+ export interface IForeignKeyFieldMetadata extends IFieldMetadata<number> {
5
+ related?: string;
6
+ }
7
+ export interface IReverseForeignKeyFieldMetadata extends IFieldMetadata<number> {
8
+ related: string;
9
+ }
10
+ export interface IDetailsFieldMetadata<T> extends IFieldMetadata<T> {
11
+ field?: string;
12
+ many?: boolean;
13
+ model?: T;
14
+ deserialize?: (data: any) => T;
15
+ }
16
+ export interface IManyToManyFieldMetadata extends IFieldMetadata<number[]> {
17
+ related: string;
18
+ }
19
+ export declare class ForeignKeyFieldManager extends BaseFieldManager<number> implements IForeignKeyFieldMetadata {
20
+ related?: string;
21
+ editorType: DISPEDIT_EDITOR_TYPES;
22
+ displayType: DISPEDIT_DISPLAY_TYPES;
23
+ }
24
+ export declare class ReverseForeignKeyFieldManager extends BaseFieldManager<number> implements IForeignKeyFieldMetadata {
25
+ related?: string;
26
+ }
27
+ export declare class DetailsFieldManager<T> extends BaseFieldManager<T> implements IDetailsFieldMetadata<T> {
28
+ field?: string;
29
+ many?: boolean;
30
+ model: any;
31
+ deserialize?: (data: any) => any;
32
+ fromJson(data: any, coll?: Collection<any>): any;
33
+ }
34
+ export interface IManyToManyKeyFieldMetadata extends IFieldMetadata<number[]> {
35
+ related?: string;
36
+ }
37
+ export declare class ManyToManyFieldManager extends BaseFieldManager<number[]> implements IManyToManyKeyFieldMetadata {
38
+ related?: string;
39
+ editorType: DISPEDIT_EDITOR_TYPES;
40
+ displayType: DISPEDIT_DISPLAY_TYPES;
41
+ }
42
+ export declare const foreignKeyField: (updates: IForeignKeyFieldMetadata) => FieldDecoratorFn;
43
+ export declare const reverseForeignKeyField: (updates: IReverseForeignKeyFieldMetadata) => FieldDecoratorFn;
44
+ export declare const detailsField: (meta?: IDetailsFieldMetadata<any>) => FieldDecoratorFn;
45
+ export declare const manyToManyField: (meta: IManyToManyFieldMetadata) => FieldDecoratorFn;
@@ -0,0 +1,50 @@
1
+ import { BaseFieldManager, FieldDecoratorFn, IFieldMetadata } from './base';
2
+ import { ValidatorFn } from '@angular/forms';
3
+ import { DISPEDIT_EDITOR_TYPES } from '../../dispedit/dispedit/dispedit.constants';
4
+ export interface ICharFieldDescChoice {
5
+ value: string;
6
+ desc: string;
7
+ }
8
+ export declare type ICharFieldChoice = ICharFieldDescChoice | string;
9
+ export interface ICharFieldMetadata extends IFieldMetadata<string> {
10
+ minLength?: number;
11
+ maxLength?: number;
12
+ pattern?: RegExp | string;
13
+ choices?: ICharFieldChoice[];
14
+ }
15
+ export interface IEmailFieldMetadata extends ICharFieldMetadata {
16
+ validate?: boolean;
17
+ }
18
+ export interface IPasswordFieldMetadata extends ICharFieldMetadata {
19
+ validate?: boolean;
20
+ }
21
+ export interface ITextFieldMetadata extends ICharFieldMetadata {
22
+ syntax?: string;
23
+ }
24
+ export declare class CharFieldManager extends BaseFieldManager<string> {
25
+ minLength?: number;
26
+ maxLength?: number;
27
+ choices?: ICharFieldChoice[];
28
+ pattern?: RegExp | string;
29
+ constructor(params: any);
30
+ get validators(): ValidatorFn[];
31
+ fromJson(data: any): string;
32
+ }
33
+ export declare class EmailFieldManager extends CharFieldManager implements ICharFieldMetadata {
34
+ validate: boolean;
35
+ editorType: DISPEDIT_EDITOR_TYPES;
36
+ constructor(params: any);
37
+ get validators(): ValidatorFn[];
38
+ }
39
+ export declare class TextFieldManager extends CharFieldManager {
40
+ syntax?: string;
41
+ editorType: DISPEDIT_EDITOR_TYPES;
42
+ }
43
+ export declare class PasswordFieldManager extends CharFieldManager {
44
+ syntax?: string;
45
+ editorType: DISPEDIT_EDITOR_TYPES;
46
+ }
47
+ export declare const charField: (updates?: ICharFieldMetadata) => FieldDecoratorFn;
48
+ export declare const emailField: (updates?: IEmailFieldMetadata) => FieldDecoratorFn;
49
+ export declare const textField: (updates?: ITextFieldMetadata) => FieldDecoratorFn;
50
+ export declare const passwordField: (updates?: IPasswordFieldMetadata) => FieldDecoratorFn;
@@ -0,0 +1,8 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { DataModel } from '../data/data-model';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ChoicePipe<T extends DataModel> implements PipeTransform {
5
+ transform(value: T, field: string, mode?: 'code' | 'desc' | 'both'): string;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChoicePipe<any>, never>;
7
+ static ɵpipe: i0.ɵɵPipeDeclaration<ChoicePipe<any>, "choice", true>;
8
+ }
@@ -0,0 +1,182 @@
1
+ import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
+ import { DataModel } from '../../data/data-model';
3
+ import { BaseFieldManager } from '../../data/fields/base';
4
+ import { UntypedFormGroup } from '@angular/forms';
5
+ import { DISPEDIT_DISPLAY_TYPES, DISPEDIT_EDITOR_TYPES, IDispEditChoice } from './dispedit.constants';
6
+ import { FilterData, Queryset } from '../../data/data-query';
7
+ import { Collection } from '../../data/data-collection';
8
+ import { TplFun } from '../fkselect/fkselect.component';
9
+ import { DataDisplayConfig } from '../../data/data-parameters';
10
+ import { DataMessageService } from '../../messages/message.service';
11
+ import * as i0 from "@angular/core";
12
+ export declare class DispeditComponent<FT, T extends DataModel, R extends DataModel> implements OnInit, OnChanges {
13
+ dconf: DataDisplayConfig;
14
+ private _msgs;
15
+ /** Model (mandatory) */
16
+ model: T;
17
+ /** Field (mandatory) */
18
+ field: string;
19
+ /** External form */
20
+ form?: UntypedFormGroup;
21
+ /**
22
+ * Starting edit mode
23
+ * If mode is inline, edit is always true.
24
+ */
25
+ edit: boolean;
26
+ /**
27
+ * Can be switched to edit mode?
28
+ * default : true
29
+ */
30
+ editable: boolean;
31
+ /**
32
+ * Save updated values ?
33
+ * If not given, default value depends on mode :
34
+ * - save if mode is dd
35
+ * - don't save if mode is inline
36
+ */
37
+ save?: boolean;
38
+ /**
39
+ * Display mode
40
+ * - dd provides display / edit within a dt/dd block
41
+ * - inline (to be renamed to form) provides a (label? and) form control
42
+ * */
43
+ mode: 'dd' | 'inline' | 'form';
44
+ /**
45
+ * Custom choices
46
+ * If provided, a select form control will be used instead of base editor
47
+ */
48
+ choices: IDispEditChoice[];
49
+ /** Custom input classes */
50
+ inputClasses: string[] | string;
51
+ /** Override editor, if provided */
52
+ editor?: DISPEDIT_EDITOR_TYPES;
53
+ /** Override viewer, if provided */
54
+ viewer?: DISPEDIT_DISPLAY_TYPES;
55
+ /** Override default value */
56
+ default?: any;
57
+ /**
58
+ * Override placeholder, if provided.
59
+ * By default, manager.description is used
60
+ */
61
+ placeholder: string;
62
+ /**
63
+ * Override help, if provided.
64
+ * By default, manager.help is used.
65
+ */
66
+ help: string;
67
+ /**
68
+ * Hide label (for inline forms)
69
+ */
70
+ hideLabel: boolean;
71
+ /** Fk queryset */
72
+ queryset?: Queryset<R>;
73
+ /** Fk collection */
74
+ collection?: Collection<R>;
75
+ /** Fk display */
76
+ display?: string | TplFun<R>;
77
+ /** Fk filter */
78
+ filter: FilterData;
79
+ /** Output emitter, output model on every change */
80
+ changed: EventEmitter<T>;
81
+ /** Field manager */
82
+ manager?: BaseFieldManager<FT>;
83
+ /** Text value used for display */
84
+ txtValue?: string;
85
+ /** Text values used for many displays */
86
+ txtValues?: string[];
87
+ /** Computed editor type */
88
+ realEditor: DISPEDIT_EDITOR_TYPES;
89
+ /** Computed display type */
90
+ realDisplay: DISPEDIT_DISPLAY_TYPES;
91
+ /** Current disp raw value */
92
+ dispValue?: any;
93
+ /** Computed chocies type */
94
+ realChoices?: IDispEditChoice[];
95
+ /** Computed help */
96
+ realHelp: string;
97
+ /** Computed placeholder */
98
+ realPlaceholder: string;
99
+ /** Computed required */
100
+ required: boolean;
101
+ /** Computed default value */
102
+ realDefault: any;
103
+ m2mValues?: any[];
104
+ fg?: UntypedFormGroup;
105
+ private _tpl;
106
+ /**
107
+ * Constructor, can be given DATA_DISPLAY_CONFIG injection token to override display classes.
108
+ * By default, bs5 config is used
109
+ * @param dconf DataDisplayConfig item
110
+ * @param _msgs messages service
111
+ */
112
+ constructor(dconf: DataDisplayConfig, _msgs: DataMessageService);
113
+ /**
114
+ * Init sequence.
115
+ * - Sets mode
116
+ * - Sets display function
117
+ * - Loads manager
118
+ * - Run misc checks on special values
119
+ * - Get help, placeholder strings
120
+ */
121
+ ngOnInit(): void;
122
+ /**
123
+ * Upgrade all values on any change.
124
+ * @param changes
125
+ */
126
+ ngOnChanges(changes: SimpleChanges): void;
127
+ /**
128
+ * Set up display mode.
129
+ * - get choices if available
130
+ * - get display type
131
+ * - process current value for display
132
+ * - set display classes
133
+ */
134
+ enableDisplayMode(): void;
135
+ /**
136
+ * Set up edit mode :
137
+ * - get choices if available
138
+ * - get editor type
139
+ * - prepare form controle
140
+ * - set form control value
141
+ * - update form control classes
142
+ */
143
+ enableEditMode(): void;
144
+ /**
145
+ * Update model field from form control value (if value is valid).
146
+ * If save boolean is true, save values to API.
147
+ */
148
+ update(): Promise<void>;
149
+ unsetEdit(): void;
150
+ toggleEdit(): void;
151
+ /**
152
+ * Reset field to default value
153
+ * TODO: check if edit mode needs to be changed / saved
154
+ */
155
+ setDefault(): Promise<void>;
156
+ selectedRefItem($event: T | null): Promise<void>;
157
+ onM2MValuesChanges(v: any[]): void;
158
+ private _checks;
159
+ /**
160
+ * Save value to database, only if model have an id.
161
+ * If mode is dd, toggle edit / display mode.
162
+ * @private
163
+ */
164
+ private _save;
165
+ private _display;
166
+ /**
167
+ * Set display mode based on current display config
168
+ * @private
169
+ */
170
+ private _setMode;
171
+ private _setDisplayFn;
172
+ private _getChoices;
173
+ private _getRealDisplay;
174
+ private _getRealEditor;
175
+ private _setFormControl;
176
+ private _setFormControlValue;
177
+ private _setEditorClasses;
178
+ private _getDisplayValue;
179
+ private _setDisplayClasses;
180
+ static ɵfac: i0.ɵɵFactoryDeclaration<DispeditComponent<any, any, any>, [{ optional: true; }, null]>;
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>;
182
+ }
@@ -0,0 +1,6 @@
1
+ export interface IDispEditChoice {
2
+ desc: string;
3
+ value: any;
4
+ }
5
+ export declare type DISPEDIT_EDITOR_TYPES = 'input.text' | 'input.email' | 'input.number' | 'input.decimal' | 'input.datetime' | 'input.date' | 'input.checkbox' | 'input.password' | 'textarea' | 'select' | 'quill' | 'fkselect' | 'm2mselect';
6
+ export declare type DISPEDIT_DISPLAY_TYPES = 'text' | 'choice' | 'boolean' | 'decimal' | 'fkdetails' | 'm2mdetails' | 'datetime' | 'date' | 'quill';
@@ -0,0 +1,12 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { DataModel } from '../data/data-model';
3
+ import * as i0 from "@angular/core";
4
+ export declare function isValue(value: number | string | null | undefined): value is number | string;
5
+ export declare function strToNumber(value: number | string): number;
6
+ export declare class FactorPipe<T extends DataModel> implements PipeTransform {
7
+ private _locale;
8
+ constructor(_locale: string);
9
+ transform(value: T | null, field: string, digitsInfo?: string, locale?: string): string | null;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<FactorPipe<any>, never>;
11
+ static ɵpipe: i0.ɵɵPipeDeclaration<FactorPipe<any>, "factor", true>;
12
+ }
@@ -0,0 +1,11 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { DataModel } from '../data/data-model';
3
+ import * as i0 from "@angular/core";
4
+ export declare class FactorcPipe<T extends DataModel> implements PipeTransform {
5
+ private _locale;
6
+ private _defaultCurrencyCode;
7
+ constructor(_locale: string, _defaultCurrencyCode?: string);
8
+ transform(value: T | null, field: string, currencyCode?: string, display?: 'code' | 'symbol' | 'symbol-narrow' | string, digitsInfo?: string, locale?: string): string | null;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<FactorcPipe<any>, never>;
10
+ static ɵpipe: i0.ɵɵPipeDeclaration<FactorcPipe<any>, "factorc", true>;
11
+ }
@@ -0,0 +1,43 @@
1
+ import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
+ import { DataModel } from '../../data/data-model';
3
+ import { FilterData, Queryset } from '../../data/data-query';
4
+ import { Collection } from '../../data/data-collection';
5
+ import { Observable } from 'rxjs';
6
+ import { UntypedFormControl } from '@angular/forms';
7
+ import * as i0 from "@angular/core";
8
+ export declare type TplFun<T extends DataModel> = (data: T) => string;
9
+ export declare class FkselectComponent<T extends DataModel, R extends DataModel> implements OnInit, OnDestroy {
10
+ model?: T;
11
+ field?: string;
12
+ edit: boolean;
13
+ value?: R;
14
+ queryset?: Queryset<R>;
15
+ collection?: Collection<R>;
16
+ update: boolean;
17
+ filter: FilterData;
18
+ mode: 'autocomplete' | 'select' | 'auto';
19
+ display?: string | TplFun<R>;
20
+ search: string;
21
+ label: string;
22
+ placeholder: string;
23
+ inputClasses: string[] | string;
24
+ selected: EventEmitter<T>;
25
+ cancelled: EventEmitter<void>;
26
+ cleared: EventEmitter<void>;
27
+ fc: UntypedFormControl;
28
+ searchFn: (text$: Observable<string>) => Observable<any>;
29
+ displayFn: (x: any) => any;
30
+ private _subscription;
31
+ private _tpl;
32
+ constructor();
33
+ ngOnDestroy(): void;
34
+ ngOnInit(): void;
35
+ clearAction(): void;
36
+ /**
37
+ * Display function. Uses descfield or desc tpl (lodash template using model fields).
38
+ */
39
+ private _display;
40
+ private _search;
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>;
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>;
40
+ }
@@ -0,0 +1,120 @@
1
+ import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
+ import { FilterData, Queryset } from '../../data/data-query';
3
+ import { Collection } from '../../data/data-collection';
4
+ import { ControlValueAccessor, UntypedFormControl } from '@angular/forms';
5
+ import { Observable } from 'rxjs';
6
+ import { TplFun } from '../fkselect/fkselect.component';
7
+ import { DataModel } from '../../data/data-model';
8
+ import * as i0 from "@angular/core";
9
+ export declare class M2mselectComponent<T extends DataModel, R extends DataModel> implements OnDestroy, OnInit, ControlValueAccessor {
10
+ model?: T;
11
+ field?: string;
12
+ edit: boolean;
13
+ values: R[];
14
+ pks: number[];
15
+ disabled: boolean;
16
+ queryset?: Queryset<R>;
17
+ collection?: Collection<R>;
18
+ filter: FilterData;
19
+ mode: 'autocomplete' | 'select' | 'auto';
20
+ display?: string | TplFun<R>;
21
+ search: string;
22
+ label: string;
23
+ placeholder: string;
24
+ emptyLabel: string;
25
+ inputClasses: string[] | string;
26
+ added: EventEmitter<R>;
27
+ removed: EventEmitter<R>;
28
+ cancelled: EventEmitter<void>;
29
+ cleared: EventEmitter<void>;
30
+ detailsChanged: EventEmitter<R[]>;
31
+ changed: EventEmitter<number[]>;
32
+ fc: UntypedFormControl;
33
+ searchFn: (text$: Observable<string>) => Observable<any>;
34
+ displayFn: (x: any) => any;
35
+ private touched;
36
+ private _subscription;
37
+ private _tpl;
38
+ /**
39
+ * Control value accessor onChange dummy callback;
40
+ * @param fks
41
+ */
42
+ onChange: (fks: number[]) => void;
43
+ /**
44
+ * Control value accessor onTouched dummy callback;
45
+ */
46
+ onTouched: () => void;
47
+ /**
48
+ * On Destroy clears subscriptions.
49
+ */
50
+ ngOnDestroy(): void;
51
+ /**
52
+ * OnChange register from controlValueAccessor
53
+ * @param onChange callback
54
+ */
55
+ registerOnChange(onChange: any): void;
56
+ /**
57
+ * OnTouched register from controlValueAccessor
58
+ * @param onTouched callback
59
+ */
60
+ registerOnTouched(onTouched: any): void;
61
+ /**
62
+ * OnInit :
63
+ * - ensures queryset is available
64
+ * - creates form control for input
65
+ * - creates display function
66
+ * - ensure values are set from any source
67
+ */
68
+ ngOnInit(): void;
69
+ /**
70
+ * Remove a value.
71
+ * Emits detailsChanged, changed and removed signals.
72
+ * @param i instance to be removed
73
+ */
74
+ onRemove(i: R): void;
75
+ /**
76
+ * Add a value.
77
+ * Emits detailsChanged, changed and added signals.
78
+ * @param i instance to be added.
79
+ */
80
+ onAdd(i: R): void;
81
+ /**
82
+ * Clear all values.
83
+ * Emits detailsChanged, changed and cleared signals.
84
+ */
85
+ onClear(): void;
86
+ /**
87
+ * Write value from controlValueAccessor.
88
+ * @param pks
89
+ */
90
+ writeValue(pks: number[]): Promise<void>;
91
+ /**
92
+ * Mark as touched.
93
+ */
94
+ markAsTouched(): void;
95
+ /**
96
+ * Mark as disabled.
97
+ * @param disabled
98
+ */
99
+ setDisabledState(disabled: boolean): void;
100
+ /**
101
+ * Retrieve display values for current set of pks.
102
+ * Eventually fetches items from collection.
103
+ * Emits detailsChanged signal.
104
+ * @param pks list of current pks.
105
+ * @private
106
+ */
107
+ private _getDisplayValues;
108
+ /**
109
+ * Display function. Uses descfield or desc tpl (lodash template using model fields).
110
+ */
111
+ private _display;
112
+ /**
113
+ * Search function.
114
+ * @param text$
115
+ * @private
116
+ */
117
+ private _search;
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>;
120
+ }
@@ -0,0 +1,31 @@
1
+ import { 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
+ /** Field manager */
18
+ manager?: BaseFieldManager<FT>;
19
+ /** Computed required */
20
+ required: boolean;
21
+ editor: Editor;
22
+ toolbar: Toolbar;
23
+ html: string;
24
+ fc: FormControl<string | null>;
25
+ ngOnInit(): void;
26
+ ngOnDestroy(): void;
27
+ toggleEdit(): void;
28
+ save(): Promise<void>;
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<RicheditComponent<any, any>, never>;
30
+ static ɵcmp: i0.ɵɵComponentDeclaration<RicheditComponent<any, any>, "data-richedit", never, { "model": "model"; "field": "field"; "editable": "editable"; "edit": "edit"; "mode": "mode"; "hideLabel": "hideLabel"; }, {}, never, ["*"], true>;
31
+ }
@@ -0,0 +1,27 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { DataModel } from '../../data/data-model';
3
+ import { Collection } from '../../data/data-collection';
4
+ import { NgbOffcanvas } from '@ng-bootstrap/ng-bootstrap';
5
+ import * as i0 from "@angular/core";
6
+ export interface FakeDeleteResult {
7
+ count: number;
8
+ details: [string, number][];
9
+ }
10
+ export declare class SafeDeleteComponent<T extends DataModel> {
11
+ private _ofc;
12
+ model: T;
13
+ service: Collection<T>;
14
+ checks: {
15
+ [index: string]: string;
16
+ };
17
+ deleted: EventEmitter<FakeDeleteResult>;
18
+ display: 'button' | 'icon' | 'custom';
19
+ result?: FakeDeleteResult;
20
+ private _dialogRef?;
21
+ private ofc?;
22
+ constructor(_ofc: NgbOffcanvas);
23
+ checkDelete(model: DataModel): Promise<void>;
24
+ reallyDelete(): Promise<void>;
25
+ 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>;
27
+ }
@@ -0,0 +1,14 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { DataMessageService, Message } from '../message.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class MessageZoneComponent implements OnInit, OnDestroy {
5
+ messages: DataMessageService;
6
+ filter?: string;
7
+ current: Message[];
8
+ private _subscriptions$;
9
+ constructor(messages: DataMessageService);
10
+ ngOnInit(): void;
11
+ ngOnDestroy(): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<MessageZoneComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<MessageZoneComponent, "data-message-zone", never, { "filter": "filter"; }, {}, never, never, true>;
14
+ }