@fluid-topics/ft-wc-utils 1.2.21 → 1.2.23
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/build/ClusteringHelper.d.ts +4 -4
- package/build/ClusteringHelper.js +13 -9
- package/build/globals.min.js +13 -13
- package/build/redux/ReduxWatcher.d.ts +13 -0
- package/build/redux/ReduxWatcher.js +32 -0
- package/build/redux/index.d.ts +1 -0
- package/build/redux/index.js +1 -0
- package/package.json +2 -2
|
@@ -17,10 +17,10 @@ export declare class ClusteringHelper {
|
|
|
17
17
|
private metadataDescriptors;
|
|
18
18
|
constructor(allResults: Array<FtSearchResultClusterEntry>, selectedResult: FtSearchResultClusterEntry, clusteringMetadata: Set<string>, metadataDescriptors: Array<FtMetadataDescriptor>);
|
|
19
19
|
static extractResultMetadata(result: FtSearchResultClusterEntry): FlatMetadata[];
|
|
20
|
-
static extractResultMetadata(result: FtSearchResultClusterEntry, key: string): Optional<FlatMetadata>;
|
|
21
|
-
static flattenMetadata(metadata: Optional<FtMetadata>[]): FlatMetadata[];
|
|
22
|
-
static flattenMetadata(metadata: Optional<FtMetadata
|
|
23
|
-
computeClustersItemsForMetadata(key: string, locale: string, undefinedDisplayValue?: string): ClusterItem[];
|
|
20
|
+
static extractResultMetadata(result: FtSearchResultClusterEntry, key: string, dateFormatter?: ((value: string) => string)): Optional<FlatMetadata>;
|
|
21
|
+
static flattenMetadata(metadata: Optional<FtMetadata>[], dateFormatter?: ((value: string) => string)): FlatMetadata[];
|
|
22
|
+
static flattenMetadata(metadata: Optional<FtMetadata>, dateFormatter?: ((value: string) => string)): Optional<FlatMetadata>;
|
|
23
|
+
computeClustersItemsForMetadata(key: string, locale: string, undefinedDisplayValue?: string, dateFormatter?: ((value: string) => string)): ClusterItem[];
|
|
24
24
|
private compareMetadata;
|
|
25
25
|
getMetadataDescriptor(key: string): FtMetadataDescriptor | undefined;
|
|
26
26
|
private findBestResultForMetadataValue;
|
|
@@ -5,17 +5,17 @@ export class ClusteringHelper {
|
|
|
5
5
|
this.clusteringMetadata = clusteringMetadata;
|
|
6
6
|
this.metadataDescriptors = metadataDescriptors;
|
|
7
7
|
}
|
|
8
|
-
static extractResultMetadata(result, key) {
|
|
8
|
+
static extractResultMetadata(result, key, dateFormatter) {
|
|
9
9
|
var _a, _b;
|
|
10
10
|
let metadata = ((_b = (_a = result === null || result === void 0 ? void 0 : result.map) !== null && _a !== void 0 ? _a : result === null || result === void 0 ? void 0 : result.document) !== null && _b !== void 0 ? _b : result === null || result === void 0 ? void 0 : result.topic).metadata;
|
|
11
11
|
if (key == null) {
|
|
12
|
-
return ClusteringHelper.flattenMetadata(metadata);
|
|
12
|
+
return ClusteringHelper.flattenMetadata(metadata, dateFormatter);
|
|
13
13
|
}
|
|
14
|
-
return ClusteringHelper.flattenMetadata(metadata.find(m => m.key === key));
|
|
14
|
+
return ClusteringHelper.flattenMetadata(metadata.find(m => m.key === key), dateFormatter);
|
|
15
15
|
}
|
|
16
|
-
static flattenMetadata(metadata) {
|
|
16
|
+
static flattenMetadata(metadata, dateFormatter) {
|
|
17
17
|
if (Array.isArray(metadata)) {
|
|
18
|
-
return metadata.map(m => ClusteringHelper.flattenMetadata(m)).filter(m => m != null);
|
|
18
|
+
return metadata.map(m => ClusteringHelper.flattenMetadata(m, dateFormatter)).filter(m => m != null);
|
|
19
19
|
}
|
|
20
20
|
const isHierarchical = (metadata === null || metadata === void 0 ? void 0 : metadata.hierarchicalValues) != null && metadata.hierarchicalValues.length > 0;
|
|
21
21
|
if (metadata == null || (metadata.values.length == 0 && !isHierarchical)) {
|
|
@@ -41,21 +41,25 @@ export class ClusteringHelper {
|
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
44
|
+
// Date metadata cannot be hierarchical
|
|
44
45
|
const value = metadata.values.join(", ");
|
|
46
|
+
const displayValue = metadata.values
|
|
47
|
+
.map(value => dateFormatter ? dateFormatter(value) : value)
|
|
48
|
+
.join(", ");
|
|
45
49
|
return {
|
|
46
50
|
key: metadata.key,
|
|
47
51
|
label: metadata.label,
|
|
48
52
|
value: value,
|
|
49
|
-
displayValue:
|
|
53
|
+
displayValue: displayValue
|
|
50
54
|
};
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
|
-
computeClustersItemsForMetadata(key, locale, undefinedDisplayValue = "No value") {
|
|
57
|
+
computeClustersItemsForMetadata(key, locale, undefinedDisplayValue = "No value", dateFormatter) {
|
|
54
58
|
var _a, _b;
|
|
55
|
-
let currentResultMetadataTargeted = ClusteringHelper.extractResultMetadata(this.selectedResult, key);
|
|
59
|
+
let currentResultMetadataTargeted = ClusteringHelper.extractResultMetadata(this.selectedResult, key, dateFormatter);
|
|
56
60
|
let metadataLabel = (_a = currentResultMetadataTargeted === null || currentResultMetadataTargeted === void 0 ? void 0 : currentResultMetadataTargeted.label) !== null && _a !== void 0 ? _a : (_b = this.getMetadataDescriptor(key)) === null || _b === void 0 ? void 0 : _b.label;
|
|
57
61
|
const otherValues = this.allResults
|
|
58
|
-
.map(result => ClusteringHelper.extractResultMetadata(result, key))
|
|
62
|
+
.map(result => ClusteringHelper.extractResultMetadata(result, key, dateFormatter))
|
|
59
63
|
.map(m => m !== null && m !== void 0 ? m : { key: key, label: metadataLabel, value: undefined, displayValue: undefinedDisplayValue })
|
|
60
64
|
.filter(m => m.value != (currentResultMetadataTargeted === null || currentResultMetadataTargeted === void 0 ? void 0 : currentResultMetadataTargeted.value))
|
|
61
65
|
.filter((flatMeta, index, array) => array.findIndex(i => i.value === flatMeta.value) === index); // for unicity
|