@sankhyalabs/core 1.0.40 → 1.0.42

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 (154) hide show
  1. package/.eslintignore +2 -0
  2. package/.eslintrc.cjs +34 -0
  3. package/README.md +54 -54
  4. package/dist/application/Application.d.ts +8 -0
  5. package/dist/application/Application.js +19 -0
  6. package/dist/application/Application.js.map +1 -0
  7. package/dist/dataunit/DataUnit.d.ts +82 -82
  8. package/dist/dataunit/DataUnit.js +278 -278
  9. package/dist/dataunit/DataUnit.js.map +1 -1
  10. package/dist/dataunit/metadata/DataType.d.ts +9 -9
  11. package/dist/dataunit/metadata/DataType.js +36 -36
  12. package/dist/dataunit/metadata/DataType.js.map +1 -1
  13. package/dist/dataunit/metadata/UnitMetadata.d.ts +71 -71
  14. package/dist/dataunit/metadata/UnitMetadata.js +31 -31
  15. package/dist/dataunit/state/HistReducer.d.ts +10 -10
  16. package/dist/dataunit/state/HistReducer.js +27 -27
  17. package/dist/dataunit/state/HistReducer.js.map +1 -1
  18. package/dist/dataunit/state/StateManager.d.ts +57 -57
  19. package/dist/dataunit/state/StateManager.js +96 -96
  20. package/dist/dataunit/state/action/DataUnitAction.d.ts +28 -28
  21. package/dist/dataunit/state/action/DataUnitAction.js +33 -33
  22. package/dist/dataunit/state/slice/AddedRecordsSlice.d.ts +11 -11
  23. package/dist/dataunit/state/slice/AddedRecordsSlice.js +25 -25
  24. package/dist/dataunit/state/slice/AddedRecordsSlice.js.map +1 -1
  25. package/dist/dataunit/state/slice/ChangesSlice.d.ts +12 -12
  26. package/dist/dataunit/state/slice/ChangesSlice.js +72 -72
  27. package/dist/dataunit/state/slice/ChangesSlice.js.map +1 -1
  28. package/dist/dataunit/state/slice/CurrentRecordsSlice.d.ts +11 -11
  29. package/dist/dataunit/state/slice/CurrentRecordsSlice.js +45 -45
  30. package/dist/dataunit/state/slice/CurrentRecordsSlice.js.map +1 -1
  31. package/dist/dataunit/state/slice/RecordsSlice.d.ts +10 -10
  32. package/dist/dataunit/state/slice/RecordsSlice.js +43 -43
  33. package/dist/dataunit/state/slice/RecordsSlice.js.map +1 -1
  34. package/dist/dataunit/state/slice/RemovedRecordsSlice.d.ts +9 -9
  35. package/dist/dataunit/state/slice/RemovedRecordsSlice.js +24 -24
  36. package/dist/dataunit/state/slice/RemovedRecordsSlice.js.map +1 -1
  37. package/dist/dataunit/state/slice/SelectionSlice.d.ts +11 -11
  38. package/dist/dataunit/state/slice/SelectionSlice.js +111 -111
  39. package/dist/dataunit/state/slice/SelectionSlice.js.map +1 -1
  40. package/dist/dataunit/state/slice/UnitMetadataSlice.d.ts +11 -11
  41. package/dist/dataunit/state/slice/UnitMetadataSlice.js +20 -20
  42. package/dist/dataunit/state/slice/UnitMetadataSlice.js.map +1 -1
  43. package/dist/http/AuthorizedServiceCaller.d.ts +11 -11
  44. package/dist/http/AuthorizedServiceCaller.js +53 -53
  45. package/dist/http/AuthorizedServiceCaller.js.map +1 -1
  46. package/dist/http/HttpProvider.d.ts +25 -25
  47. package/dist/http/HttpProvider.js +73 -73
  48. package/dist/http/HttpProvider.js.map +1 -1
  49. package/dist/http/RequestMetadata.d.ts +30 -30
  50. package/dist/http/RequestMetadata.js +24 -24
  51. package/dist/http/SkwHttpProvider.d.ts +9 -9
  52. package/dist/http/SkwHttpProvider.js +66 -67
  53. package/dist/http/SkwHttpProvider.js.map +1 -1
  54. package/dist/http/data-fetcher/HttpFetcher.d.ts +14 -0
  55. package/dist/http/data-fetcher/HttpFetcher.js +164 -0
  56. package/dist/http/data-fetcher/HttpFetcher.js.map +1 -0
  57. package/dist/http/data-fetcher/default/DefaultGraphQL.d.ts +3 -0
  58. package/dist/http/data-fetcher/default/DefaultGraphQL.js +18 -0
  59. package/dist/http/data-fetcher/default/DefaultGraphQL.js.map +1 -0
  60. package/dist/http/data-fetcher/default/application-config-fetcher.d.ts +6 -0
  61. package/dist/http/data-fetcher/default/application-config-fetcher.js +21 -0
  62. package/dist/http/data-fetcher/default/application-config-fetcher.js.map +1 -0
  63. package/dist/http/data-fetcher/default/data-unit-graphql.d.ts +3 -0
  64. package/dist/http/data-fetcher/default/data-unit-graphql.js +18 -0
  65. package/dist/http/data-fetcher/default/data-unit-graphql.js.map +1 -0
  66. package/dist/http/data-fetcher/default/dataunit-executor.d.ts +10 -0
  67. package/dist/http/data-fetcher/default/dataunit-executor.js +56 -0
  68. package/dist/http/data-fetcher/default/dataunit-executor.js.map +1 -0
  69. package/dist/http/data-fetcher/default/dataunit-fetcher.d.ts +9 -0
  70. package/dist/http/data-fetcher/default/dataunit-fetcher.js +69 -0
  71. package/dist/http/data-fetcher/default/dataunit-fetcher.js.map +1 -0
  72. package/dist/http/data-fetcher/default/form-config-fetcher.d.ts +2 -0
  73. package/dist/http/data-fetcher/default/form-config-fetcher.js +3 -0
  74. package/dist/http/data-fetcher/default/form-config-fetcher.js.map +1 -0
  75. package/dist/http/data-fetcher/default/grid-config-fetcher.d.ts +2 -0
  76. package/dist/http/data-fetcher/default/grid-config-fetcher.js +3 -0
  77. package/dist/http/data-fetcher/default/grid-config-fetcher.js.map +1 -0
  78. package/dist/http/data-fetcher/default/index.d.ts +0 -0
  79. package/dist/http/data-fetcher/default/index.js +2 -0
  80. package/dist/http/data-fetcher/default/index.js.map +1 -0
  81. package/dist/http/data-fetcher/default/sankhya-graphql.d.ts +3 -0
  82. package/dist/http/data-fetcher/default/sankhya-graphql.js +8 -0
  83. package/dist/http/data-fetcher/default/sankhya-graphql.js.map +1 -0
  84. package/dist/http/data-fetcher/graphql/DefaultGraphQl.d.ts +3 -0
  85. package/dist/http/data-fetcher/graphql/DefaultGraphQl.js +18 -0
  86. package/dist/http/data-fetcher/graphql/DefaultGraphQl.js.map +1 -0
  87. package/dist/http/data-fetcher/state/LoadStateManager.d.ts +23 -0
  88. package/dist/http/data-fetcher/state/LoadStateManager.js +78 -0
  89. package/dist/http/data-fetcher/state/LoadStateManager.js.map +1 -0
  90. package/dist/index.d.ts +16 -16
  91. package/dist/index.js +17 -17
  92. package/dist/index.js.map +1 -1
  93. package/dist/ui/FloatingManager.d.ts +24 -24
  94. package/dist/ui/FloatingManager.js +122 -123
  95. package/dist/ui/FloatingManager.js.map +1 -1
  96. package/dist/utils/ApplicationContext.d.ts +5 -5
  97. package/dist/utils/ApplicationContext.js +16 -16
  98. package/dist/utils/CriteriaModel.d.ts +109 -109
  99. package/dist/utils/CriteriaModel.js +173 -173
  100. package/dist/utils/CriteriaParameter.d.ts +69 -69
  101. package/dist/utils/CriteriaParameter.js +82 -84
  102. package/dist/utils/CriteriaParameter.js.map +1 -1
  103. package/dist/utils/DateUtils.d.ts +5 -5
  104. package/dist/utils/DateUtils.js +42 -42
  105. package/dist/utils/DateUtils.js.map +1 -1
  106. package/dist/utils/MaskFormatter.d.ts +126 -126
  107. package/dist/utils/MaskFormatter.js +275 -275
  108. package/dist/utils/NumberUtils.d.ts +53 -53
  109. package/dist/utils/NumberUtils.js +141 -146
  110. package/dist/utils/NumberUtils.js.map +1 -1
  111. package/dist/utils/StringUtils.d.ts +18 -18
  112. package/dist/utils/StringUtils.js +53 -53
  113. package/dist/utils/TimeFormatter.d.ts +33 -33
  114. package/dist/utils/TimeFormatter.js +97 -97
  115. package/dist/utils/TimeFormatter.js.map +1 -1
  116. package/jest.config.ts +16 -13
  117. package/mock/http/XMLHttpRequest-mock.js +25 -25
  118. package/package.json +37 -31
  119. package/src/dataunit/DataUnit.ts +356 -356
  120. package/src/dataunit/metadata/DataType.ts +37 -37
  121. package/src/dataunit/metadata/UnitMetadata.ts +82 -82
  122. package/src/dataunit/state/HistReducer.ts +33 -33
  123. package/src/dataunit/state/StateManager.ts +141 -141
  124. package/src/dataunit/state/action/DataUnitAction.ts +50 -50
  125. package/src/dataunit/state/slice/AddedRecordsSlice.ts +32 -32
  126. package/src/dataunit/state/slice/ChangesSlice.ts +90 -90
  127. package/src/dataunit/state/slice/CurrentRecordsSlice.ts +53 -53
  128. package/src/dataunit/state/slice/RecordsSlice.ts +56 -56
  129. package/src/dataunit/state/slice/RemovedRecordsSlice.ts +29 -29
  130. package/src/dataunit/state/slice/SelectionSlice.ts +130 -130
  131. package/src/dataunit/state/slice/UnitMetadataSlice.ts +29 -29
  132. package/src/http/AuthorizedServiceCaller.ts +58 -57
  133. package/src/http/HttpProvider.ts +93 -93
  134. package/src/http/RequestMetadata.ts +41 -41
  135. package/src/http/SkwHttpProvider.ts +77 -77
  136. package/src/index.ts +44 -44
  137. package/src/ui/FloatingManager.ts +165 -165
  138. package/src/utils/ApplicationContext.ts +18 -18
  139. package/src/utils/CriteriaModel.ts +207 -207
  140. package/src/utils/CriteriaParameter.ts +107 -107
  141. package/src/utils/DateUtils.ts +52 -52
  142. package/src/utils/MaskFormatter.ts +322 -322
  143. package/src/utils/NumberUtils.ts +175 -175
  144. package/src/utils/StringUtils.ts +60 -60
  145. package/src/utils/TimeFormatter.ts +97 -97
  146. package/test/http/HttpProvider.spec.ts +34 -34
  147. package/test/http/SkwHttpProvider.ts.spec.ts +33 -33
  148. package/test/util/CriteriaModel.spec.ts +231 -231
  149. package/test/util/CriteriaParameter.spec.ts +51 -51
  150. package/test/util/MaskFormatter.spec.ts +138 -138
  151. package/test/util/NumberUtils.spec.ts +156 -156
  152. package/test/util/StringUtils.spec.ts +43 -43
  153. package/test/util/TimeFormatter.spec.ts +25 -25
  154. package/tsconfig.json +15 -15
package/.eslintignore ADDED
@@ -0,0 +1,2 @@
1
+ *.spec.ts
2
+ /test/*
package/.eslintrc.cjs ADDED
@@ -0,0 +1,34 @@
1
+ module.exports = {
2
+ "env": {
3
+ "browser": true,
4
+ "es2021": true,
5
+ "node": true
6
+ },
7
+ "extends": [
8
+ "eslint:recommended",
9
+ "plugin:@typescript-eslint/recommended"
10
+ ],
11
+ "parser": "@typescript-eslint/parser",
12
+ "parserOptions": {
13
+ "ecmaVersion": "latest",
14
+ "sourceType": "module"
15
+ },
16
+ "plugins": [
17
+ "@typescript-eslint",
18
+ "import"
19
+ ],
20
+ "rules": {
21
+ "import/extensions": [
22
+ "error",
23
+ "always"
24
+ ],
25
+ "@typescript-eslint/no-inferrable-types": 0,
26
+ "@typescript-eslint/no-explicit-any": 0,
27
+ "@typescript-eslint/ban-types": 0,
28
+ "@typescript-eslint/no-empty-function": 0,
29
+ "no-case-declarations": 0,
30
+ "prefer-const": 1,
31
+ "@typescript-eslint/no-namespace": 1,
32
+ "no-useless-escape": 1
33
+ }
34
+ }
package/README.md CHANGED
@@ -1,55 +1,55 @@
1
- # @sankhyalabs/core
2
-
3
- ### Intro
4
- Esse projeto é responsavél por disponibilizar utilitários JavaScript comuns entre vários projetos.
5
-
6
- # Como usar
7
-
8
- ```sh
9
- $ npm install @sankhyalabs/core
10
- ```
11
-
12
- ```ts
13
- import { StringUtils } from '@sankhyalabs/core'
14
-
15
- function test(){
16
- alert(StringUtils.isEmpty(''));
17
- }
18
- ```
19
- # Executar testes
20
- ```sh
21
- $ npm t
22
- ```
23
- # Como contribuir
24
- - Criar uma branch com nome sugestivo para o problema/melhoria.
25
- - Dentro do projeto criar uma pasta chamada "change_proposal" dentro dessa pasta deverá existir um exemplo do caso de uso/problema que você está resolvendo.
26
- - Realizar as alterações.
27
- - Criar caso de teste para o problema que você está resolvendo.
28
- - Fazer commit na branch.
29
- - Abrir MR para master, na descrição do MR, colocar a seguinte documentação :arrow_down:
30
-
31
- ##### Tipo de problema:
32
- - [ ] Hotfix
33
- - [ ] Feature
34
- ##### Ambiente simulação:
35
- - [ ] Teste/Desenvolvimento
36
- - [ ] Produçãp
37
-
38
- ##### Nome do projeto de origem (core, flow, wms...):
39
-
40
- ##### Descrição do problema:
41
-
42
- ##### Num.OS de origem(caso exista):
43
-
44
- #
45
- #
46
- #
47
- #
48
-
49
- ### Build em ambiente de desenvolvimento
50
-
51
- ```sh
52
- $ npm run build --watch
53
- ```
54
-
1
+ # @sankhyalabs/core
2
+
3
+ ### Intro
4
+ Esse projeto é responsavél por disponibilizar utilitários JavaScript comuns entre vários projetos.
5
+
6
+ # Como usar
7
+
8
+ ```sh
9
+ $ npm install @sankhyalabs/core
10
+ ```
11
+
12
+ ```ts
13
+ import { StringUtils } from '@sankhyalabs/core'
14
+
15
+ function test(){
16
+ alert(StringUtils.isEmpty(''));
17
+ }
18
+ ```
19
+ # Executar testes
20
+ ```sh
21
+ $ npm t
22
+ ```
23
+ # Como contribuir
24
+ - Criar uma branch com nome sugestivo para o problema/melhoria.
25
+ - Dentro do projeto criar uma pasta chamada "change_proposal" dentro dessa pasta deverá existir um exemplo do caso de uso/problema que você está resolvendo.
26
+ - Realizar as alterações.
27
+ - Criar caso de teste para o problema que você está resolvendo.
28
+ - Fazer commit na branch.
29
+ - Abrir MR para master, na descrição do MR, colocar a seguinte documentação :arrow_down:
30
+
31
+ ##### Tipo de problema:
32
+ - [ ] Hotfix
33
+ - [ ] Feature
34
+ ##### Ambiente simulação:
35
+ - [ ] Teste/Desenvolvimento
36
+ - [ ] Produçãp
37
+
38
+ ##### Nome do projeto de origem (core, flow, wms...):
39
+
40
+ ##### Descrição do problema:
41
+
42
+ ##### Num.OS de origem(caso exista):
43
+
44
+ #
45
+ #
46
+ #
47
+ #
48
+
49
+ ### Build em ambiente de desenvolvimento
50
+
51
+ ```sh
52
+ $ npm run build --watch
53
+ ```
54
+
55
55
  Veja mais informações em nossa [Wiki](https://git.sankhya.com.br/sankhyalabs/sankhyacore/-/wikis/Diretrizes-de-Codifica%C3%A7%C3%A3o)
@@ -0,0 +1,8 @@
1
+ export declare class Application {
2
+ private static instance;
3
+ private static element;
4
+ private constructor();
5
+ static get(): Application;
6
+ onLoaded(listener: Function): void;
7
+ getResourceID(): string;
8
+ }
@@ -0,0 +1,19 @@
1
+ export class Application {
2
+ constructor() { }
3
+ static get() {
4
+ if (Application.instance === undefined) {
5
+ Application.instance = new Application();
6
+ Application.element = document.querySelector('ez-application');
7
+ }
8
+ return Application.instance;
9
+ }
10
+ onLoaded(listener) {
11
+ var _a;
12
+ (_a = Application.element) === null || _a === void 0 ? void 0 : _a.addEventListener('applicationLoaded', () => listener());
13
+ }
14
+ getResourceID() {
15
+ return "br.com.sankhya.mge.cad.parceiro"; //TODO: Remover mock
16
+ }
17
+ }
18
+ Application.element = null;
19
+ //# sourceMappingURL=Application.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../src/application/Application.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IAGpB,gBAAsB,CAAC;IAEhB,MAAM,CAAC,GAAG;QACb,IAAG,WAAW,CAAC,QAAQ,KAAK,SAAS,EAAC;YAClC,WAAW,CAAC,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;YACzC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;SAClE;QACD,OAAO,WAAW,CAAC,QAAQ,CAAC;IAChC,CAAC;IAEM,QAAQ,CAAC,QAAiB;;QAC7B,MAAA,WAAW,CAAC,OAAO,0CAAE,gBAAgB,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjF,CAAC;IAEM,aAAa;QAChB,OAAO,iCAAiC,CAAC,CAAC,oBAAoB;IAClE,CAAC;;AAjBc,mBAAO,GAAkB,IAAI,CAAC"}
@@ -1,82 +1,82 @@
1
- import { UnitMetadata, FieldDescriptor, SortingProvider, FilterProvider, Sort, Filter } from "./metadata/UnitMetadata";
2
- import { DataUnitAction } from "./state/action/DataUnitAction";
3
- export default class DataUnit {
4
- private _name;
5
- private _observers;
6
- private _sortingProvider?;
7
- private _filterProviders;
8
- private _stateManager;
9
- private _interceptors;
10
- metadataLoader?: (dataUnit: DataUnit) => Promise<UnitMetadata>;
11
- dataLoader?: (dataUnit: DataUnit, sort?: Array<Sort>, filters?: Array<Filter>) => Promise<Array<Record>>;
12
- saveLoader?: (dataUnit: DataUnit, changes: Array<Change>) => Promise<Array<SavedRecord>>;
13
- removeLoader?: (dataUnit: DataUnit, recordIds: Array<string>) => Promise<Array<string>>;
14
- constructor(name: string);
15
- get name(): string;
16
- private validateAndTypeValue;
17
- private getFilters;
18
- private getSort;
19
- loadMetadata(): Promise<UnitMetadata>;
20
- loadData(): Promise<Array<Record>>;
21
- saveData(): Promise<void>;
22
- removeSelectedRecords(buffered?: boolean): Promise<Array<string>>;
23
- removeRecords(records: Array<string>, buffered?: boolean): Promise<Array<string>>;
24
- valueFromString(fieldName: string, value: string): any;
25
- addInterceptor(interceptor: DUActionInterceptor): void;
26
- addFilterProvider(provider: FilterProvider): void;
27
- set sortingProvider(provider: SortingProvider);
28
- set metadata(md: UnitMetadata);
29
- get metadata(): UnitMetadata;
30
- set records(r: Array<Record>);
31
- get records(): Array<Record>;
32
- getField(fieldName: string): FieldDescriptor | undefined;
33
- addRecord(): void;
34
- copySelected(): void;
35
- getFieldValue(fieldName: string): any;
36
- setFieldValue(fieldName: string, newValue: any, records?: Array<string>): void;
37
- getSelection(): Array<string>;
38
- setSelection(selection: Array<string>): void;
39
- setSelectionByIndex(selection: Array<number>): void;
40
- getSelectedRecords(): Array<Record> | undefined;
41
- nextRecord(): void;
42
- previousRecord(): void;
43
- cancelEdition(): void;
44
- isDirty(): boolean;
45
- hasNext(): boolean;
46
- hasPrevious(): boolean;
47
- canUndo(): boolean;
48
- canRedo(): boolean;
49
- undo(): void;
50
- redo(): void;
51
- toString(): string;
52
- private dispatchAction;
53
- subscribe(observer: (action: DataUnitAction) => void): void;
54
- unsubscribe(observer: Function): void;
55
- }
56
- export interface DUActionInterceptor {
57
- interceptAction(action: DataUnitAction): DataUnitAction;
58
- }
59
- export interface Record {
60
- __record__id__: string;
61
- __parent__record__id__?: string;
62
- [key: string]: any;
63
- }
64
- export interface SavedRecord extends Record {
65
- __old__id__?: string;
66
- }
67
- export declare enum ChangeOperation {
68
- INSERT = "INSERT",
69
- UPDATE = "UPDATE",
70
- DELETE = "DELETE"
71
- }
72
- export declare class Change {
73
- dataUnit: string;
74
- record: Record;
75
- updatingFields: any;
76
- private _operation;
77
- constructor(dataUnit: string, record: Record, updates: any, operation: ChangeOperation);
78
- get operation(): string;
79
- isInsert(): boolean;
80
- isDelete(): boolean;
81
- isUpdate(): boolean;
82
- }
1
+ import { UnitMetadata, FieldDescriptor, SortingProvider, FilterProvider, Sort, Filter } from "./metadata/UnitMetadata.js";
2
+ import { DataUnitAction } from "./state/action/DataUnitAction.js";
3
+ export default class DataUnit {
4
+ private _name;
5
+ private _observers;
6
+ private _sortingProvider?;
7
+ private _filterProviders;
8
+ private _stateManager;
9
+ private _interceptors;
10
+ metadataLoader?: (dataUnit: DataUnit) => Promise<UnitMetadata>;
11
+ dataLoader?: (dataUnit: DataUnit, sort?: Array<Sort>, filters?: Array<Filter>) => Promise<Array<Record>>;
12
+ saveLoader?: (dataUnit: DataUnit, changes: Array<Change>) => Promise<Array<SavedRecord>>;
13
+ removeLoader?: (dataUnit: DataUnit, recordIds: Array<string>) => Promise<Array<string>>;
14
+ constructor(name: string);
15
+ get name(): string;
16
+ private validateAndTypeValue;
17
+ private getFilters;
18
+ private getSort;
19
+ loadMetadata(): Promise<UnitMetadata>;
20
+ loadData(): Promise<Array<Record>>;
21
+ saveData(): Promise<void>;
22
+ removeSelectedRecords(buffered?: boolean): Promise<Array<string>>;
23
+ removeRecords(records: Array<string>, buffered?: boolean): Promise<Array<string>>;
24
+ valueFromString(fieldName: string, value: string): any;
25
+ addInterceptor(interceptor: DUActionInterceptor): void;
26
+ addFilterProvider(provider: FilterProvider): void;
27
+ set sortingProvider(provider: SortingProvider);
28
+ set metadata(md: UnitMetadata);
29
+ get metadata(): UnitMetadata;
30
+ set records(r: Array<Record>);
31
+ get records(): Array<Record>;
32
+ getField(fieldName: string): FieldDescriptor | undefined;
33
+ addRecord(): void;
34
+ copySelected(): void;
35
+ getFieldValue(fieldName: string): any;
36
+ setFieldValue(fieldName: string, newValue: any, records?: Array<string>): void;
37
+ getSelection(): Array<string>;
38
+ setSelection(selection: Array<string>): void;
39
+ setSelectionByIndex(selection: Array<number>): void;
40
+ getSelectedRecords(): Array<Record> | undefined;
41
+ nextRecord(): void;
42
+ previousRecord(): void;
43
+ cancelEdition(): void;
44
+ isDirty(): boolean;
45
+ hasNext(): boolean;
46
+ hasPrevious(): boolean;
47
+ canUndo(): boolean;
48
+ canRedo(): boolean;
49
+ undo(): void;
50
+ redo(): void;
51
+ toString(): string;
52
+ private dispatchAction;
53
+ subscribe(observer: (action: DataUnitAction) => void): void;
54
+ unsubscribe(observer: Function): void;
55
+ }
56
+ export interface DUActionInterceptor {
57
+ interceptAction(action: DataUnitAction): DataUnitAction;
58
+ }
59
+ export interface Record {
60
+ __record__id__: string;
61
+ __parent__record__id__?: string;
62
+ [key: string]: any;
63
+ }
64
+ export interface SavedRecord extends Record {
65
+ __old__id__?: string;
66
+ }
67
+ export declare enum ChangeOperation {
68
+ INSERT = "INSERT",
69
+ UPDATE = "UPDATE",
70
+ DELETE = "DELETE"
71
+ }
72
+ export declare class Change {
73
+ dataUnit: string;
74
+ record: Record;
75
+ updatingFields: any;
76
+ private _operation;
77
+ constructor(dataUnit: string, record: Record, updates: any, operation: ChangeOperation);
78
+ get operation(): string;
79
+ isInsert(): boolean;
80
+ isDelete(): boolean;
81
+ isUpdate(): boolean;
82
+ }