@yuuvis/client-core 0.7.3 → 0.8.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.
package/index.d.ts CHANGED
@@ -45,6 +45,7 @@ export * from './lib/service/pending-changes/pending-changes.service';
45
45
  export * from './lib/service/prediction/prediction.interface';
46
46
  export * from './lib/service/prediction/prediction.service';
47
47
  export * from './lib/service/search/search.service';
48
+ export * from './lib/service/search/search.utils';
48
49
  export * from './lib/service/search/search.service.interface';
49
50
  export * from './lib/service/session-storage/session-storage.service';
50
51
  export * from './lib/service/system/object-form.interface';
@@ -1,5 +1,6 @@
1
1
  import { Observable } from 'rxjs';
2
- import { AggregateResult, SearchQuery, SearchResponse, SearchResult } from './search.service.interface';
2
+ import { AggregateResult, SearchFilter, SearchQuery, SearchResponse, SearchResult } from './search.service.interface';
3
+ import { RangeValue } from '../../model/range-value.interface';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class SearchService {
5
6
  #private;
@@ -41,6 +42,14 @@ export declare class SearchService {
41
42
  * @param searchResponse The backend response
42
43
  */
43
44
  toSearchResult(searchResponse: SearchResponse): SearchResult;
45
+ /**
46
+ * Maps data extracted from a search form to search filters. Every key of the form data object
47
+ * will be mapped to a search filter.
48
+ * @param formData form data
49
+ * @returns Array of search filters
50
+ */
51
+ formDataToSearchFilter(formData: Record<string, unknown>): SearchFilter[];
52
+ rangeValueToSearchFilter(value: RangeValue, property: string): SearchFilter | undefined;
44
53
  static ɵfac: i0.ɵɵFactoryDeclaration<SearchService, never>;
45
54
  static ɵprov: i0.ɵɵInjectableDeclaration<SearchService>;
46
55
  }
@@ -1,7 +1,9 @@
1
1
  import { ContentStream, CoreApiObject } from '../dms/dms.service.interface';
2
+ export type DateRange = 'today' | 'yesterday' | 'thisWeek' | 'lastWeek' | 'thisMonth' | 'lastMonth' | 'thisYear' | 'lastYear';
3
+ export type FilesizeRange = 'small' | 'medium' | 'large' | 'verylarge';
2
4
  export interface SearchQuery {
3
5
  term?: string;
4
- scope?: 'all' | 'metadata' | 'content';
6
+ scope?: 'metadata' | 'content';
5
7
  size?: number;
6
8
  from?: number;
7
9
  fields?: string[];
@@ -0,0 +1,18 @@
1
+ import { RangeValue } from '../../model/range-value.interface';
2
+ import { DateRange, FilesizeRange } from './search.service.interface';
3
+ export declare class SearchUtils {
4
+ static dateRanges: string[];
5
+ static filesizeRanges: string[];
6
+ static dateRangeStartEnd(dateRange: DateRange): {
7
+ start: Date;
8
+ end: Date;
9
+ };
10
+ /**
11
+ * Maps a date range filter to a date range value like 'thisWeek', 'lastMonth', etc.
12
+ * @param rangeValue the range value
13
+ * @returns the date range (eg. 'thisWeek', 'lastMonth', etc.)
14
+ */
15
+ static getMatchingDateRange(rangeValue: RangeValue): DateRange | undefined;
16
+ static getMatchingFilesizeRange(rangeValue: RangeValue): FilesizeRange | undefined;
17
+ static filesizeRangeToRangeValue(filesizeRange: FilesizeRange): RangeValue | undefined;
18
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yuuvis/client-core",
3
- "version": "0.7.3",
3
+ "version": "0.8.0",
4
4
  "author": "OPTIMAL SYSTEMS GmbH <npm@optimal-systems.de>",
5
5
  "license": "MIT",
6
6
  "peerDependencies": {