@sankhyalabs/core 1.0.42 → 1.0.45

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 (145) hide show
  1. package/.eslintignore +1 -1
  2. package/.eslintrc.cjs +34 -34
  3. package/README.md +54 -54
  4. package/dist/dataunit/DataUnit.d.ts +87 -82
  5. package/dist/dataunit/DataUnit.js +290 -278
  6. package/dist/dataunit/DataUnit.js.map +1 -1
  7. package/dist/dataunit/metadata/DataType.d.ts +9 -9
  8. package/dist/dataunit/metadata/DataType.js +36 -36
  9. package/dist/dataunit/metadata/UnitMetadata.d.ts +71 -71
  10. package/dist/dataunit/metadata/UnitMetadata.js +31 -31
  11. package/dist/dataunit/state/HistReducer.d.ts +10 -10
  12. package/dist/dataunit/state/HistReducer.js +27 -27
  13. package/dist/dataunit/state/StateManager.d.ts +57 -57
  14. package/dist/dataunit/state/StateManager.js +96 -96
  15. package/dist/dataunit/state/action/DataUnitAction.d.ts +29 -28
  16. package/dist/dataunit/state/action/DataUnitAction.js +34 -33
  17. package/dist/dataunit/state/action/DataUnitAction.js.map +1 -1
  18. package/dist/dataunit/state/slice/AddedRecordsSlice.d.ts +11 -11
  19. package/dist/dataunit/state/slice/AddedRecordsSlice.js +25 -25
  20. package/dist/dataunit/state/slice/ChangesSlice.d.ts +12 -12
  21. package/dist/dataunit/state/slice/ChangesSlice.js +76 -72
  22. package/dist/dataunit/state/slice/ChangesSlice.js.map +1 -1
  23. package/dist/dataunit/state/slice/CurrentRecordsSlice.d.ts +11 -11
  24. package/dist/dataunit/state/slice/CurrentRecordsSlice.js +45 -45
  25. package/dist/dataunit/state/slice/RecordsSlice.d.ts +10 -10
  26. package/dist/dataunit/state/slice/RecordsSlice.js +43 -43
  27. package/dist/dataunit/state/slice/RemovedRecordsSlice.d.ts +9 -9
  28. package/dist/dataunit/state/slice/RemovedRecordsSlice.js +24 -24
  29. package/dist/dataunit/state/slice/SelectionSlice.d.ts +11 -11
  30. package/dist/dataunit/state/slice/SelectionSlice.js +111 -111
  31. package/dist/dataunit/state/slice/UnitMetadataSlice.d.ts +11 -11
  32. package/dist/dataunit/state/slice/UnitMetadataSlice.js +20 -20
  33. package/dist/dataunit/state/slice/WaitingChangesSlice.d.ts +9 -0
  34. package/dist/dataunit/state/slice/WaitingChangesSlice.js +32 -0
  35. package/dist/dataunit/state/slice/WaitingChangesSlice.js.map +1 -0
  36. package/dist/http/AuthorizedServiceCaller.d.ts +11 -11
  37. package/dist/http/AuthorizedServiceCaller.js +53 -53
  38. package/dist/http/HttpProvider.d.ts +25 -25
  39. package/dist/http/HttpProvider.js +73 -73
  40. package/dist/http/RequestMetadata.d.ts +30 -30
  41. package/dist/http/RequestMetadata.js +24 -24
  42. package/dist/http/SkwHttpProvider.d.ts +9 -9
  43. package/dist/http/SkwHttpProvider.js +66 -66
  44. package/dist/index.d.ts +16 -16
  45. package/dist/index.js +17 -17
  46. package/dist/index.js.map +1 -1
  47. package/dist/ui/FloatingManager.d.ts +25 -24
  48. package/dist/ui/FloatingManager.js +124 -122
  49. package/dist/ui/FloatingManager.js.map +1 -1
  50. package/dist/utils/ApplicationContext.d.ts +5 -5
  51. package/dist/utils/ApplicationContext.js +16 -16
  52. package/dist/utils/CriteriaModel.d.ts +109 -109
  53. package/dist/utils/CriteriaModel.js +173 -173
  54. package/dist/utils/CriteriaParameter.d.ts +69 -69
  55. package/dist/utils/CriteriaParameter.js +82 -82
  56. package/dist/utils/DateUtils.d.ts +5 -5
  57. package/dist/utils/DateUtils.js +42 -42
  58. package/dist/utils/MaskFormatter.d.ts +126 -126
  59. package/dist/utils/MaskFormatter.js +275 -275
  60. package/dist/utils/NumberUtils.d.ts +53 -53
  61. package/dist/utils/NumberUtils.js +141 -141
  62. package/dist/utils/StringUtils.d.ts +18 -18
  63. package/dist/utils/StringUtils.js +53 -53
  64. package/dist/utils/TimeFormatter.d.ts +33 -33
  65. package/dist/utils/TimeFormatter.js +97 -97
  66. package/jest.config.ts +16 -16
  67. package/mock/http/XMLHttpRequest-mock.js +25 -25
  68. package/package.json +38 -37
  69. package/scripts/runlink.bat +1 -0
  70. package/src/dataunit/DataUnit.ts +374 -356
  71. package/src/dataunit/metadata/DataType.ts +37 -37
  72. package/src/dataunit/metadata/UnitMetadata.ts +82 -82
  73. package/src/dataunit/state/HistReducer.ts +33 -33
  74. package/src/dataunit/state/StateManager.ts +141 -141
  75. package/src/dataunit/state/action/DataUnitAction.ts +52 -50
  76. package/src/dataunit/state/slice/AddedRecordsSlice.ts +32 -32
  77. package/src/dataunit/state/slice/ChangesSlice.ts +95 -90
  78. package/src/dataunit/state/slice/CurrentRecordsSlice.ts +53 -53
  79. package/src/dataunit/state/slice/RecordsSlice.ts +56 -56
  80. package/src/dataunit/state/slice/RemovedRecordsSlice.ts +29 -29
  81. package/src/dataunit/state/slice/SelectionSlice.ts +130 -130
  82. package/src/dataunit/state/slice/UnitMetadataSlice.ts +29 -29
  83. package/src/dataunit/state/slice/WaitingChangesSlice.ts +44 -0
  84. package/src/http/AuthorizedServiceCaller.ts +58 -58
  85. package/src/http/HttpProvider.ts +93 -93
  86. package/src/http/RequestMetadata.ts +41 -41
  87. package/src/http/SkwHttpProvider.ts +77 -77
  88. package/src/index.ts +45 -44
  89. package/src/ui/FloatingManager.ts +167 -165
  90. package/src/utils/ApplicationContext.ts +18 -18
  91. package/src/utils/CriteriaModel.ts +207 -207
  92. package/src/utils/CriteriaParameter.ts +107 -107
  93. package/src/utils/DateUtils.ts +52 -52
  94. package/src/utils/MaskFormatter.ts +322 -322
  95. package/src/utils/NumberUtils.ts +174 -174
  96. package/src/utils/StringUtils.ts +60 -60
  97. package/src/utils/TimeFormatter.ts +97 -97
  98. package/test/http/HttpProvider.spec.ts +34 -34
  99. package/test/http/SkwHttpProvider.ts.spec.ts +33 -33
  100. package/test/util/CriteriaModel.spec.ts +231 -231
  101. package/test/util/CriteriaParameter.spec.ts +51 -51
  102. package/test/util/MaskFormatter.spec.ts +138 -138
  103. package/test/util/NumberUtils.spec.ts +156 -156
  104. package/test/util/StringUtils.spec.ts +43 -43
  105. package/test/util/TimeFormatter.spec.ts +25 -25
  106. package/tsconfig.json +15 -15
  107. package/dist/application/Application.d.ts +0 -8
  108. package/dist/application/Application.js +0 -19
  109. package/dist/application/Application.js.map +0 -1
  110. package/dist/http/data-fetcher/HttpFetcher.d.ts +0 -14
  111. package/dist/http/data-fetcher/HttpFetcher.js +0 -164
  112. package/dist/http/data-fetcher/HttpFetcher.js.map +0 -1
  113. package/dist/http/data-fetcher/default/DefaultGraphQL.d.ts +0 -3
  114. package/dist/http/data-fetcher/default/DefaultGraphQL.js +0 -18
  115. package/dist/http/data-fetcher/default/DefaultGraphQL.js.map +0 -1
  116. package/dist/http/data-fetcher/default/application-config-fetcher.d.ts +0 -6
  117. package/dist/http/data-fetcher/default/application-config-fetcher.js +0 -21
  118. package/dist/http/data-fetcher/default/application-config-fetcher.js.map +0 -1
  119. package/dist/http/data-fetcher/default/data-unit-graphql.d.ts +0 -3
  120. package/dist/http/data-fetcher/default/data-unit-graphql.js +0 -18
  121. package/dist/http/data-fetcher/default/data-unit-graphql.js.map +0 -1
  122. package/dist/http/data-fetcher/default/dataunit-executor.d.ts +0 -10
  123. package/dist/http/data-fetcher/default/dataunit-executor.js +0 -56
  124. package/dist/http/data-fetcher/default/dataunit-executor.js.map +0 -1
  125. package/dist/http/data-fetcher/default/dataunit-fetcher.d.ts +0 -9
  126. package/dist/http/data-fetcher/default/dataunit-fetcher.js +0 -69
  127. package/dist/http/data-fetcher/default/dataunit-fetcher.js.map +0 -1
  128. package/dist/http/data-fetcher/default/form-config-fetcher.d.ts +0 -2
  129. package/dist/http/data-fetcher/default/form-config-fetcher.js +0 -3
  130. package/dist/http/data-fetcher/default/form-config-fetcher.js.map +0 -1
  131. package/dist/http/data-fetcher/default/grid-config-fetcher.d.ts +0 -2
  132. package/dist/http/data-fetcher/default/grid-config-fetcher.js +0 -3
  133. package/dist/http/data-fetcher/default/grid-config-fetcher.js.map +0 -1
  134. package/dist/http/data-fetcher/default/index.d.ts +0 -0
  135. package/dist/http/data-fetcher/default/index.js +0 -2
  136. package/dist/http/data-fetcher/default/index.js.map +0 -1
  137. package/dist/http/data-fetcher/default/sankhya-graphql.d.ts +0 -3
  138. package/dist/http/data-fetcher/default/sankhya-graphql.js +0 -8
  139. package/dist/http/data-fetcher/default/sankhya-graphql.js.map +0 -1
  140. package/dist/http/data-fetcher/graphql/DefaultGraphQl.d.ts +0 -3
  141. package/dist/http/data-fetcher/graphql/DefaultGraphQl.js +0 -18
  142. package/dist/http/data-fetcher/graphql/DefaultGraphQl.js.map +0 -1
  143. package/dist/http/data-fetcher/state/LoadStateManager.d.ts +0 -23
  144. package/dist/http/data-fetcher/state/LoadStateManager.js +0 -78
  145. package/dist/http/data-fetcher/state/LoadStateManager.js.map +0 -1
package/.eslintignore CHANGED
@@ -1,2 +1,2 @@
1
- *.spec.ts
1
+ *.spec.ts
2
2
  /test/*
package/.eslintrc.cjs CHANGED
@@ -1,34 +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
- }
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)
@@ -1,82 +1,87 @@
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
- }
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
+ startChange(fieldName: string, waitingChange: WaitingChange): void;
38
+ getSelection(): Array<string>;
39
+ setSelection(selection: Array<string>): void;
40
+ setSelectionByIndex(selection: Array<number>): void;
41
+ getSelectedRecords(): Array<Record> | undefined;
42
+ nextRecord(): void;
43
+ previousRecord(): void;
44
+ cancelEdition(): void;
45
+ isDirty(): boolean;
46
+ hasNext(): boolean;
47
+ hasPrevious(): boolean;
48
+ canUndo(): boolean;
49
+ canRedo(): boolean;
50
+ undo(): void;
51
+ redo(): void;
52
+ toString(): string;
53
+ private dispatchAction;
54
+ subscribe(observer: (action: DataUnitAction) => void): void;
55
+ unsubscribe(observer: Function): void;
56
+ }
57
+ export interface DUActionInterceptor {
58
+ interceptAction(action: DataUnitAction): DataUnitAction;
59
+ }
60
+ export interface Record {
61
+ __record__id__: string;
62
+ __parent__record__id__?: string;
63
+ [key: string]: any;
64
+ }
65
+ export interface SavedRecord extends Record {
66
+ __old__id__?: string;
67
+ }
68
+ export declare enum ChangeOperation {
69
+ INSERT = "INSERT",
70
+ UPDATE = "UPDATE",
71
+ DELETE = "DELETE"
72
+ }
73
+ export declare class Change {
74
+ dataUnit: string;
75
+ record: Record;
76
+ updatingFields: any;
77
+ private _operation;
78
+ constructor(dataUnit: string, record: Record, updates: any, operation: ChangeOperation);
79
+ get operation(): string;
80
+ isInsert(): boolean;
81
+ isDelete(): boolean;
82
+ isUpdate(): boolean;
83
+ }
84
+ export interface WaitingChange {
85
+ waitmessage: string;
86
+ promise?: Promise<any>;
87
+ }