@intellegens/cornerstone-client 0.0.9999-alpha-43 → 0.0.9999-alpha-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.
@@ -1,6 +1,7 @@
1
1
  import { PropertyPathDto, ReadSelectedOrderingDirection, ReadSelectedSearchDefinitionDto } from '../data';
2
- import { IHasObservableProperty, SingularEventTarget } from '../utils';
2
+ import { SingularEventTarget } from '../utils';
3
3
  import { IReadSelectedClient } from '../services/api';
4
+ import { ICollectionViewAdapter } from '../interfaces';
4
5
  /**
5
6
  * Options for the CollectionViewAdapter
6
7
  */
@@ -26,29 +27,6 @@ export type CollectionViewAdapterOptions<TDto> = {
26
27
  defaultSelection?: TDto[];
27
28
  };
28
29
  };
29
- /**
30
- * Adapter for managing a collection view of data
31
- */
32
- export interface ICollectionViewAdapter<TDto> extends IHasObservableProperty<'isLoading', boolean>, IHasObservableProperty<'pageData', readonly TDto[] | undefined>, IHasObservableProperty<'error', string | undefined>, IHasObservableProperty<'totalItemCount', number>, IHasObservableProperty<'pageIndex', number>, IHasObservableProperty<'pageSize', number>, IHasObservableProperty<'ordering', readonly {
33
- path: PropertyPathDto;
34
- direction: ReadSelectedOrderingDirection;
35
- }[]>, IHasObservableProperty<'selection', readonly TDto[]>, IHasObservableProperty<'search', ReadSelectedSearchDefinitionDto<TDto>> {
36
- setSearch(searchDefinition: ReadSelectedSearchDefinitionDto<TDto>): void;
37
- setOrdering(propertyPath: PropertyPathDto, orderDirection: ReadSelectedOrderingDirection): void;
38
- setPageIndex(pageNumber: number): void;
39
- setPageSize(pageSize: number): void;
40
- refreshData(): void;
41
- selectionToggle(item: TDto): void;
42
- selectionAdd(item: TDto): void;
43
- selectionRemove(item: TDto): void;
44
- selectionClear(): void;
45
- isSelected(item: TDto): boolean;
46
- selectionAddPage(): void;
47
- selectionRemovePage(): void;
48
- isSelectedPage(): boolean;
49
- isSomeSelectedPage(): boolean;
50
- destroy(): void;
51
- }
52
30
  /**
53
31
  * Adapter for managing a collection view of data
54
32
  */
@@ -91,7 +91,7 @@ export class SearchAdapter {
91
91
  }
92
92
  refresh() {
93
93
  this._lastSearchedText = undefined;
94
- this._triggerFetch();
94
+ this._triggerFetch(true);
95
95
  }
96
96
  // --- Selection ---
97
97
  _getItemKey(item) {
@@ -139,7 +139,7 @@ export class SearchAdapter {
139
139
  this._cancelPendingRequests();
140
140
  }
141
141
  // --- Private ---
142
- _triggerFetch() {
142
+ _triggerFetch(force = false) {
143
143
  const textLength = this._text?.length ?? 0;
144
144
  if (textLength < this.options.searchTriggerMinLength) {
145
145
  this._searchData = [];
@@ -147,7 +147,7 @@ export class SearchAdapter {
147
147
  this._emitSearchState();
148
148
  return;
149
149
  }
150
- if (this._text === this._lastSearchedText)
150
+ if (!force && this._text === this._lastSearchedText)
151
151
  return;
152
152
  this._lastSearchedText = this._text;
153
153
  this._searchData = [];
package/dist/index.d.ts CHANGED
@@ -2,3 +2,4 @@ export * from './services';
2
2
  export * from './data';
3
3
  export * from './adapters';
4
4
  export * from './utils';
5
+ export * from './interfaces';
package/dist/index.js CHANGED
@@ -2,3 +2,4 @@ export * from './services';
2
2
  export * from './data';
3
3
  export * from './adapters';
4
4
  export * from './utils';
5
+ export * from './interfaces';
@@ -0,0 +1,35 @@
1
+ import { PropertyPathDto, ReadSelectedOrderingDirection, ReadSelectedSearchDefinitionDto } from '../data';
2
+ import { IHasObservableProperty } from '../utils';
3
+ /**
4
+ * Actions for the adapters
5
+ */
6
+ export interface ICollectionViewAdapterActions<TDto> {
7
+ setSearch(searchDefinition: ReadSelectedSearchDefinitionDto<TDto>): void;
8
+ setOrdering(propertyPath: PropertyPathDto, orderDirection: ReadSelectedOrderingDirection): void;
9
+ setPageIndex(pageNumber: number): void;
10
+ setPageSize(pageSize: number): void;
11
+ refreshData(): void;
12
+ selectionToggle(item: TDto): void;
13
+ selectionAdd(item: TDto): void;
14
+ selectionRemove(item: TDto): void;
15
+ selectionClear(): void;
16
+ isSelected(item: TDto): boolean;
17
+ selectionAddPage(): void;
18
+ selectionRemovePage(): void;
19
+ isSelectedPage(): boolean;
20
+ isSomeSelectedPage(): boolean;
21
+ destroy(): void;
22
+ }
23
+ /**
24
+ * State properties for the adapters
25
+ */
26
+ export interface ICollectionViewAdapterState<TDto> extends IHasObservableProperty<'isLoading', boolean>, IHasObservableProperty<'pageData', readonly TDto[] | undefined>, IHasObservableProperty<'error', string | undefined>, IHasObservableProperty<'totalItemCount', number>, IHasObservableProperty<'pageIndex', number>, IHasObservableProperty<'pageSize', number>, IHasObservableProperty<'ordering', readonly {
27
+ path: PropertyPathDto;
28
+ direction: ReadSelectedOrderingDirection;
29
+ }[]>, IHasObservableProperty<'selection', readonly TDto[]>, IHasObservableProperty<'search', ReadSelectedSearchDefinitionDto<TDto>> {
30
+ }
31
+ /**
32
+ * Adapter for managing a collection view of data
33
+ */
34
+ export interface ICollectionViewAdapter<TDto> extends ICollectionViewAdapterActions<TDto>, ICollectionViewAdapterState<TDto> {
35
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export * from './icollection-view-adapter';
@@ -0,0 +1 @@
1
+ export * from './icollection-view-adapter';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intellegens/cornerstone-client",
3
- "version": "0.0.9999-alpha-43",
3
+ "version": "0.0.9999-alpha-45",
4
4
  "private": false,
5
5
  "publishable": true,
6
6
  "main": "./dist/index.js",
@@ -9,6 +9,7 @@ import {
9
9
  import { IHasObservableProperty, SingularEventTarget, toPascalCase } from '@utils';
10
10
  import { ApiReadControllerClient } from '@services';
11
11
  import { IReadSelectedClient } from '@services/api';
12
+ import { ICollectionViewAdapter } from '@/interfaces';
12
13
 
13
14
  /**
14
15
  * Options for the CollectionViewAdapter
@@ -36,41 +37,6 @@ export type CollectionViewAdapterOptions<TDto> = {
36
37
  };
37
38
  };
38
39
 
39
- /**
40
- * Adapter for managing a collection view of data
41
- */
42
- export interface ICollectionViewAdapter<TDto>
43
- extends
44
- IHasObservableProperty<'isLoading', boolean>,
45
- IHasObservableProperty<'pageData', readonly TDto[] | undefined>,
46
- IHasObservableProperty<'error', string | undefined>,
47
- IHasObservableProperty<'totalItemCount', number>,
48
- IHasObservableProperty<'pageIndex', number>,
49
- IHasObservableProperty<'pageSize', number>,
50
- IHasObservableProperty<'ordering', readonly { path: PropertyPathDto; direction: ReadSelectedOrderingDirection }[]>,
51
- IHasObservableProperty<'selection', readonly TDto[]>,
52
- IHasObservableProperty<'search', ReadSelectedSearchDefinitionDto<TDto>> {
53
- setSearch(searchDefinition: ReadSelectedSearchDefinitionDto<TDto>): void;
54
-
55
- setOrdering(propertyPath: PropertyPathDto, orderDirection: ReadSelectedOrderingDirection): void;
56
-
57
- setPageIndex(pageNumber: number): void;
58
- setPageSize(pageSize: number): void;
59
- refreshData(): void;
60
-
61
- selectionToggle(item: TDto): void;
62
- selectionAdd(item: TDto): void;
63
- selectionRemove(item: TDto): void;
64
- selectionClear(): void;
65
- isSelected(item: TDto): boolean;
66
- selectionAddPage(): void;
67
- selectionRemovePage(): void;
68
- isSelectedPage(): boolean;
69
- isSomeSelectedPage(): boolean;
70
-
71
- destroy(): void;
72
- }
73
-
74
40
  /**
75
41
  * Adapter for managing a collection view of data
76
42
  */
@@ -0,0 +1 @@
1
+ {"version":"4.0.18","results":[["debug:collection-view-adapter.integration.test.ts",{"duration":0,"failed":true}]]}
@@ -163,7 +163,7 @@ export class SearchAdapter<TDto> implements ISearchAdapter<TDto> {
163
163
 
164
164
  public refresh(): void {
165
165
  this._lastSearchedText = undefined;
166
- this._triggerFetch();
166
+ this._triggerFetch(true);
167
167
  }
168
168
 
169
169
  // --- Selection ---
@@ -217,7 +217,7 @@ export class SearchAdapter<TDto> implements ISearchAdapter<TDto> {
217
217
 
218
218
  // --- Private ---
219
219
 
220
- private _triggerFetch(): void {
220
+ private _triggerFetch(force = false): void {
221
221
  const textLength = this._text?.length ?? 0;
222
222
  if (textLength < this.options.searchTriggerMinLength) {
223
223
  this._searchData = [];
@@ -225,7 +225,7 @@ export class SearchAdapter<TDto> implements ISearchAdapter<TDto> {
225
225
  this._emitSearchState();
226
226
  return;
227
227
  }
228
- if (this._text === this._lastSearchedText) return;
228
+ if (!force && this._text === this._lastSearchedText) return;
229
229
  this._lastSearchedText = this._text;
230
230
 
231
231
  this._searchData = [];
package/src/index.ts CHANGED
@@ -2,3 +2,4 @@ export * from './services';
2
2
  export * from './data';
3
3
  export * from './adapters';
4
4
  export * from './utils';
5
+ export * from './interfaces';
@@ -0,0 +1,47 @@
1
+ import { PropertyPathDto, ReadSelectedOrderingDirection, ReadSelectedSearchDefinitionDto } from '@/data';
2
+ import { IHasObservableProperty } from '@/utils';
3
+
4
+ /**
5
+ * Actions for the adapters
6
+ */
7
+ export interface ICollectionViewAdapterActions<TDto> {
8
+ setSearch(searchDefinition: ReadSelectedSearchDefinitionDto<TDto>): void;
9
+
10
+ setOrdering(propertyPath: PropertyPathDto, orderDirection: ReadSelectedOrderingDirection): void;
11
+
12
+ setPageIndex(pageNumber: number): void;
13
+ setPageSize(pageSize: number): void;
14
+ refreshData(): void;
15
+
16
+ selectionToggle(item: TDto): void;
17
+ selectionAdd(item: TDto): void;
18
+ selectionRemove(item: TDto): void;
19
+ selectionClear(): void;
20
+ isSelected(item: TDto): boolean;
21
+ selectionAddPage(): void;
22
+ selectionRemovePage(): void;
23
+ isSelectedPage(): boolean;
24
+ isSomeSelectedPage(): boolean;
25
+
26
+ destroy(): void;
27
+ }
28
+
29
+ /**
30
+ * State properties for the adapters
31
+ */
32
+ export interface ICollectionViewAdapterState<TDto>
33
+ extends
34
+ IHasObservableProperty<'isLoading', boolean>,
35
+ IHasObservableProperty<'pageData', readonly TDto[] | undefined>,
36
+ IHasObservableProperty<'error', string | undefined>,
37
+ IHasObservableProperty<'totalItemCount', number>,
38
+ IHasObservableProperty<'pageIndex', number>,
39
+ IHasObservableProperty<'pageSize', number>,
40
+ IHasObservableProperty<'ordering', readonly { path: PropertyPathDto; direction: ReadSelectedOrderingDirection }[]>,
41
+ IHasObservableProperty<'selection', readonly TDto[]>,
42
+ IHasObservableProperty<'search', ReadSelectedSearchDefinitionDto<TDto>> {}
43
+
44
+ /**
45
+ * Adapter for managing a collection view of data
46
+ */
47
+ export interface ICollectionViewAdapter<TDto> extends ICollectionViewAdapterActions<TDto>, ICollectionViewAdapterState<TDto> {}
@@ -0,0 +1 @@
1
+ export * from './icollection-view-adapter';