@appbaseio/reactivesearch-vue 1.32.3 → 1.33.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/dist/@appbaseio/reactivesearch-vue.umd.js +1752 -1568
- package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js +14 -9
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
- package/dist/cjs/{ComponentWrapper-ad3dad02.js → ComponentWrapper-981ab977.js} +7 -6
- package/dist/cjs/{DataSearch-b51a5d0f.js → DataSearch-708b183d.js} +11 -8
- package/dist/cjs/DataSearch.js +6 -4
- package/dist/cjs/DropDown-c479bbb0.js +1 -1
- package/dist/cjs/DynamicRangeSlider.js +5 -3
- package/dist/cjs/MultiDropdownList.js +10 -6
- package/dist/cjs/MultiList.js +11 -6
- package/dist/cjs/MultiRange.js +7 -5
- package/dist/cjs/PreferencesConsumer-7be03476.js +80 -0
- package/dist/cjs/RangeInput.js +7 -5
- package/dist/cjs/RangeSlider.js +6 -5
- package/dist/cjs/ReactiveBase.js +6 -4
- package/dist/cjs/{install-3ebc879c.js → ReactiveComponent-5ff98cce.js} +407 -22
- package/dist/cjs/ReactiveComponent.js +48 -340
- package/dist/cjs/ReactiveGoogleMap.js +7 -6
- package/dist/cjs/ReactiveList.js +6 -5
- package/dist/cjs/SelectedFilters.js +2 -2
- package/dist/cjs/SingleDropdownList.js +10 -6
- package/dist/cjs/SingleList.js +12 -6
- package/dist/cjs/SingleRange.js +7 -5
- package/dist/cjs/StateProvider.js +3 -3
- package/dist/cjs/ToggleButton.js +8 -6
- package/dist/cjs/{index-6a167fe0.js → index-08f8dfa3.js} +1 -1
- package/dist/cjs/index.js +28 -21
- package/dist/cjs/initReactivesearch.js +1 -1
- package/dist/cjs/install.js +30 -24
- package/dist/cjs/version.js +1 -1
- package/dist/es/{ComponentWrapper-424e86fd.js → ComponentWrapper-d5e814a4.js} +7 -6
- package/dist/es/{DataSearch-c40e26c7.js → DataSearch-5376d39a.js} +11 -9
- package/dist/es/DataSearch.js +5 -4
- package/dist/es/DropDown-05a644a5.js +1 -1
- package/dist/es/DynamicRangeSlider.js +5 -3
- package/dist/es/MultiDropdownList.js +10 -6
- package/dist/es/MultiList.js +11 -6
- package/dist/es/MultiRange.js +7 -5
- package/dist/es/PreferencesConsumer-c30605fe.js +78 -0
- package/dist/es/RangeInput.js +7 -5
- package/dist/es/RangeSlider.js +6 -5
- package/dist/es/ReactiveBase.js +6 -4
- package/dist/es/{install-c438014c.js → ReactiveComponent-ee01562d.js} +418 -33
- package/dist/es/ReactiveComponent.js +44 -337
- package/dist/es/ReactiveGoogleMap.js +7 -6
- package/dist/es/ReactiveList.js +6 -5
- package/dist/es/SelectedFilters.js +2 -2
- package/dist/es/SingleDropdownList.js +10 -6
- package/dist/es/SingleList.js +12 -6
- package/dist/es/SingleRange.js +7 -5
- package/dist/es/StateProvider.js +3 -3
- package/dist/es/ToggleButton.js +8 -6
- package/dist/es/{index-7788a843.js → index-99c5f9c9.js} +1 -1
- package/dist/es/index.js +14 -13
- package/dist/es/initReactivesearch.js +1 -1
- package/dist/es/install.js +32 -22
- package/dist/es/version.js +1 -1
- package/package.json +3 -3
|
@@ -4,21 +4,21 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
|
|
|
4
4
|
|
|
5
5
|
var configureStore = require('@appbaseio/reactivecore');
|
|
6
6
|
var configureStore__default = _interopDefault(configureStore);
|
|
7
|
+
var constants = require('@appbaseio/reactivecore/lib/utils/constants');
|
|
7
8
|
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
|
|
8
9
|
var VueTypes = _interopDefault(require('vue-types'));
|
|
9
|
-
var constants = require('@appbaseio/reactivecore/lib/utils/constants');
|
|
10
10
|
var helper = require('@appbaseio/reactivecore/lib/utils/helper');
|
|
11
11
|
var styled = require('@appbaseio/vue-emotion');
|
|
12
12
|
var styled__default = _interopDefault(styled);
|
|
13
13
|
var Button = require('./Button-0673191e.js');
|
|
14
14
|
var vueTypes = require('./vueTypes-727b7c63.js');
|
|
15
15
|
var ReactiveList = require('./ReactiveList.js');
|
|
16
|
-
var index = require('./index-
|
|
17
|
-
var ComponentWrapper = require('./ComponentWrapper-
|
|
16
|
+
var index = require('./index-08f8dfa3.js');
|
|
17
|
+
var ComponentWrapper = require('./ComponentWrapper-981ab977.js');
|
|
18
|
+
var PreferencesConsumer = require('./PreferencesConsumer-7be03476.js');
|
|
18
19
|
var Title = require('./Title-1de7d0f4.js');
|
|
19
|
-
var ReactiveBase = require('./ReactiveBase.js');
|
|
20
20
|
var hotkeys = _interopDefault(require('hotkeys-js'));
|
|
21
|
-
var DataSearch = require('./DataSearch-
|
|
21
|
+
var DataSearch = require('./DataSearch-708b183d.js');
|
|
22
22
|
var CancelSvg = require('./CancelSvg-9f258f4f.js');
|
|
23
23
|
var Input = require('./Input-e6603a7e.js');
|
|
24
24
|
var Container = require('./Container-daf30918.js');
|
|
@@ -27,15 +27,10 @@ var MultiList = require('./MultiList.js');
|
|
|
27
27
|
var SingleDropdownList = require('./SingleDropdownList.js');
|
|
28
28
|
var MultiDropdownList = require('./MultiDropdownList.js');
|
|
29
29
|
var ToggleButton = require('./ToggleButton.js');
|
|
30
|
-
var
|
|
31
|
-
var SelectedFilters = require('./SelectedFilters.js');
|
|
30
|
+
var DynamicRangeSlider = require('./DynamicRangeSlider.js');
|
|
32
31
|
var SingleRange = require('./SingleRange.js');
|
|
33
32
|
var MultiRange = require('./MultiRange.js');
|
|
34
|
-
var ResultCard = require('./ResultCard.js');
|
|
35
|
-
var ResultList = require('./ResultList.js');
|
|
36
33
|
var RangeSlider = require('./RangeSlider.js');
|
|
37
|
-
var DynamicRangeSlider = require('./DynamicRangeSlider.js');
|
|
38
|
-
var StateProvider = require('./StateProvider.js');
|
|
39
34
|
var RangeInput = require('./RangeInput.js');
|
|
40
35
|
|
|
41
36
|
var _templateObject;
|
|
@@ -1385,25 +1380,415 @@ var mapDispatchToProps = {
|
|
|
1385
1380
|
setDefaultQuery: setDefaultQuery,
|
|
1386
1381
|
recordSuggestionClick: recordSuggestionClick
|
|
1387
1382
|
};
|
|
1388
|
-
var
|
|
1383
|
+
var SBConnected = PreferencesConsumer.PreferencesConsumer(ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchToProps)(SearchBox), {
|
|
1389
1384
|
componentType: constants.componentTypes.searchBox,
|
|
1390
1385
|
internalComponent: true
|
|
1391
|
-
});
|
|
1386
|
+
}));
|
|
1392
1387
|
|
|
1393
1388
|
SearchBox.install = function (Vue) {
|
|
1394
|
-
Vue.component(SearchBox.name,
|
|
1389
|
+
Vue.component(SearchBox.name, SBConnected);
|
|
1395
1390
|
}; // Add componentType for SSR
|
|
1396
1391
|
|
|
1397
1392
|
|
|
1398
1393
|
SearchBox.componentType = constants.componentTypes.searchBox;
|
|
1399
1394
|
|
|
1400
|
-
var
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1395
|
+
var _excluded = ["options"];
|
|
1396
|
+
var updateQuery$1 = configureStore.Actions.updateQuery,
|
|
1397
|
+
setQueryOptions = configureStore.Actions.setQueryOptions,
|
|
1398
|
+
setCustomQuery$1 = configureStore.Actions.setCustomQuery,
|
|
1399
|
+
setDefaultQuery$1 = configureStore.Actions.setDefaultQuery;
|
|
1400
|
+
var parseHits = configureStore.helper.parseHits,
|
|
1401
|
+
isEqual$1 = configureStore.helper.isEqual,
|
|
1402
|
+
getCompositeAggsQuery$1 = configureStore.helper.getCompositeAggsQuery,
|
|
1403
|
+
getResultStats$1 = configureStore.helper.getResultStats,
|
|
1404
|
+
extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
|
|
1405
|
+
getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
|
|
1406
|
+
var ReactiveComponent = {
|
|
1407
|
+
name: 'ReactiveComponent',
|
|
1408
|
+
props: {
|
|
1409
|
+
componentId: vueTypes.types.stringRequired,
|
|
1410
|
+
aggregationField: vueTypes.types.string,
|
|
1411
|
+
aggregationSize: VueTypes.number,
|
|
1412
|
+
size: VueTypes.number,
|
|
1413
|
+
defaultQuery: vueTypes.types.func,
|
|
1414
|
+
customQuery: vueTypes.types.func,
|
|
1415
|
+
filterLabel: vueTypes.types.string,
|
|
1416
|
+
react: vueTypes.types.react,
|
|
1417
|
+
showFilter: VueTypes.bool.def(true),
|
|
1418
|
+
URLParams: VueTypes.bool.def(false),
|
|
1419
|
+
distinctField: vueTypes.types.string,
|
|
1420
|
+
distinctFieldConfig: vueTypes.types.props,
|
|
1421
|
+
index: VueTypes.string,
|
|
1422
|
+
endpoint: vueTypes.types.endpointConfig
|
|
1423
|
+
},
|
|
1424
|
+
created: function created() {
|
|
1425
|
+
var _this = this;
|
|
1426
|
+
|
|
1427
|
+
var props = this.$props;
|
|
1428
|
+
this.internalComponent = null;
|
|
1429
|
+
this.$defaultQuery = null; // Set custom query in store
|
|
1430
|
+
|
|
1431
|
+
index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.selectedValue);
|
|
1432
|
+
var customQuery = props.customQuery,
|
|
1433
|
+
componentId = props.componentId,
|
|
1434
|
+
filterLabel = props.filterLabel,
|
|
1435
|
+
showFilter = props.showFilter,
|
|
1436
|
+
URLParams = props.URLParams,
|
|
1437
|
+
distinctField = props.distinctField,
|
|
1438
|
+
distinctFieldConfig = props.distinctFieldConfig,
|
|
1439
|
+
index$1 = props.index;
|
|
1440
|
+
|
|
1441
|
+
if (this.enableAppbase && this.aggregationField && this.aggregationField !== '') {
|
|
1442
|
+
console.warn('Warning(ReactiveSearch): The `aggregationField` prop has been marked as deprecated, please use the `distinctField` prop instead.');
|
|
1443
|
+
}
|
|
1444
|
+
|
|
1445
|
+
if (!this.enableAppbase && (distinctField || distinctFieldConfig)) {
|
|
1446
|
+
console.warn('Warning(ReactiveSearch): In order to use the `distinctField` and `distinctFieldConfig` props, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
|
|
1447
|
+
}
|
|
1448
|
+
|
|
1449
|
+
if (!this.enableAppbase && index$1) {
|
|
1450
|
+
console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
|
|
1451
|
+
}
|
|
1452
|
+
|
|
1453
|
+
if (customQuery) {
|
|
1454
|
+
var calcCustomQuery = customQuery(this.selectedValue, props);
|
|
1455
|
+
var query = extractQueryFromCustomQuery(calcCustomQuery);
|
|
1456
|
+
var customQueryOptions = calcCustomQuery ? getOptionsForCustomQuery(calcCustomQuery) : null;
|
|
1457
|
+
|
|
1458
|
+
if (customQueryOptions) {
|
|
1459
|
+
this.setQueryOptions(componentId, _rollupPluginBabelHelpers._extends({}, customQueryOptions, this.getAggsQuery()), false);
|
|
1460
|
+
} else this.setQueryOptions(componentId, this.getAggsQuery(), false);
|
|
1461
|
+
|
|
1462
|
+
this.updateQuery({
|
|
1463
|
+
componentId: componentId,
|
|
1464
|
+
query: query,
|
|
1465
|
+
value: this.selectedValue || null,
|
|
1466
|
+
label: filterLabel,
|
|
1467
|
+
showFilter: showFilter,
|
|
1468
|
+
URLParams: URLParams
|
|
1469
|
+
});
|
|
1470
|
+
}
|
|
1471
|
+
|
|
1472
|
+
this.setQuery = function (_ref) {
|
|
1473
|
+
var options = _ref.options,
|
|
1474
|
+
obj = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_ref, _excluded);
|
|
1475
|
+
|
|
1476
|
+
var queryToBeSet = obj.query; // when enableAppbase is true, Backend throws error because of repeated query in request body
|
|
1477
|
+
|
|
1478
|
+
if (queryToBeSet && queryToBeSet.query) {
|
|
1479
|
+
queryToBeSet = queryToBeSet.query;
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1482
|
+
var customQueryCalc = _rollupPluginBabelHelpers._extends({}, options, {
|
|
1483
|
+
query: queryToBeSet
|
|
1484
|
+
});
|
|
1485
|
+
|
|
1486
|
+
var rsAPIQuery = customQueryCalc; // handle stored queries
|
|
1487
|
+
|
|
1488
|
+
if (queryToBeSet && queryToBeSet.id) {
|
|
1489
|
+
rsAPIQuery = queryToBeSet;
|
|
1490
|
+
} // Update customQuery field for RS API
|
|
1491
|
+
|
|
1492
|
+
|
|
1493
|
+
_this.setCustomQuery(props.componentId, rsAPIQuery);
|
|
1494
|
+
|
|
1495
|
+
if (options) {
|
|
1496
|
+
_this.setQueryOptions(props.componentId, _rollupPluginBabelHelpers._extends({}, _this.getAggsQuery(), options), false);
|
|
1497
|
+
}
|
|
1498
|
+
|
|
1499
|
+
_this.updateQuery(_rollupPluginBabelHelpers._extends({}, obj, {
|
|
1500
|
+
query: customQueryCalc.query,
|
|
1501
|
+
componentId: props.componentId,
|
|
1502
|
+
label: props.filterLabel,
|
|
1503
|
+
showFilter: props.showFilter,
|
|
1504
|
+
URLParams: props.URLParams
|
|
1505
|
+
}));
|
|
1506
|
+
};
|
|
1507
|
+
|
|
1508
|
+
if (props.defaultQuery) {
|
|
1509
|
+
this.internalComponent = props.componentId + "__internal";
|
|
1510
|
+
}
|
|
1511
|
+
|
|
1512
|
+
if (this.internalComponent && this.$props.defaultQuery) {
|
|
1513
|
+
index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.selectedValue);
|
|
1514
|
+
this.$defaultQuery = this.$props.defaultQuery(this.selectedValue, this.$props);
|
|
1515
|
+
|
|
1516
|
+
var _query = extractQueryFromCustomQuery(this.$defaultQuery);
|
|
1517
|
+
|
|
1518
|
+
var queryOptions = getOptionsForCustomQuery(this.$defaultQuery);
|
|
1519
|
+
|
|
1520
|
+
if (queryOptions) {
|
|
1521
|
+
this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, this.getAggsQuery()), false);
|
|
1522
|
+
} else this.setQueryOptions(this.internalComponent, this.getAggsQuery(), false);
|
|
1523
|
+
|
|
1524
|
+
this.updateQuery({
|
|
1525
|
+
componentId: this.internalComponent,
|
|
1526
|
+
query: _query
|
|
1527
|
+
});
|
|
1528
|
+
}
|
|
1529
|
+
},
|
|
1530
|
+
watch: {
|
|
1531
|
+
hits: function hits(newVal, oldVal) {
|
|
1532
|
+
if (!isEqual$1(newVal, oldVal)) {
|
|
1533
|
+
this.$emit('data', this.getData());
|
|
1534
|
+
}
|
|
1535
|
+
},
|
|
1536
|
+
rawData: function rawData(newVal, oldVal) {
|
|
1537
|
+
if (!isEqual$1(newVal, oldVal)) {
|
|
1538
|
+
this.$emit('data', this.getData());
|
|
1539
|
+
}
|
|
1540
|
+
},
|
|
1541
|
+
aggregations: function aggregations(newVal, oldVal) {
|
|
1542
|
+
if (!isEqual$1(newVal, oldVal)) {
|
|
1543
|
+
this.$emit('data', this.getData());
|
|
1544
|
+
}
|
|
1545
|
+
},
|
|
1546
|
+
aggregationData: function aggregationData(newVal, oldVal) {
|
|
1547
|
+
if (!isEqual$1(newVal, oldVal)) {
|
|
1548
|
+
this.$emit('data', this.getData());
|
|
1549
|
+
}
|
|
1550
|
+
},
|
|
1551
|
+
promotedResults: function promotedResults(newVal, oldVal) {
|
|
1552
|
+
if (!isEqual$1(newVal, oldVal)) {
|
|
1553
|
+
this.$emit('data', this.getData());
|
|
1554
|
+
}
|
|
1555
|
+
},
|
|
1556
|
+
hidden: function hidden(newVal, oldVal) {
|
|
1557
|
+
if (!isEqual$1(newVal, oldVal)) {
|
|
1558
|
+
this.$emit('data', this.getData());
|
|
1559
|
+
}
|
|
1560
|
+
},
|
|
1561
|
+
total: function total(newVal, oldVal) {
|
|
1562
|
+
if (!isEqual$1(newVal, oldVal)) {
|
|
1563
|
+
this.$emit('data', this.getData());
|
|
1564
|
+
}
|
|
1565
|
+
},
|
|
1566
|
+
time: function time(newVal, oldVal) {
|
|
1567
|
+
if (!isEqual$1(newVal, oldVal)) {
|
|
1568
|
+
this.$emit('data', this.getData());
|
|
1569
|
+
}
|
|
1570
|
+
},
|
|
1571
|
+
defaultQuery: function defaultQuery(newVal, oldVal) {
|
|
1572
|
+
if (newVal && !index.isQueryIdentical(newVal, oldVal, this.selectedValue, this.$props)) {
|
|
1573
|
+
this.$defaultQuery = newVal(this.selectedValue, this.$props);
|
|
1574
|
+
var query = extractQueryFromCustomQuery(this.$defaultQuery);
|
|
1575
|
+
var queryOptions = getOptionsForCustomQuery(this.$defaultQuery);
|
|
1576
|
+
|
|
1577
|
+
if (queryOptions) {
|
|
1578
|
+
this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, this.getAggsQuery()), false);
|
|
1579
|
+
} else this.setQueryOptions(this.internalComponent, this.getAggsQuery(), false); // Update default query for RS API
|
|
1580
|
+
|
|
1581
|
+
|
|
1582
|
+
index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.selectedValue);
|
|
1583
|
+
this.updateQuery({
|
|
1584
|
+
componentId: this.internalComponent,
|
|
1585
|
+
query: query
|
|
1586
|
+
});
|
|
1587
|
+
}
|
|
1588
|
+
},
|
|
1589
|
+
customQuery: function customQuery(newVal, oldVal) {
|
|
1590
|
+
if (newVal && !index.isQueryIdentical(newVal, oldVal, this.selectedValue, this.$props)) {
|
|
1591
|
+
var componentId = this.$props.componentId;
|
|
1592
|
+
this.$customQuery = newVal(this.selectedValue, this.$props);
|
|
1593
|
+
var query = extractQueryFromCustomQuery(this.$customQuery);
|
|
1594
|
+
var queryOptions = getOptionsForCustomQuery(this.$customQuery);
|
|
1595
|
+
|
|
1596
|
+
if (queryOptions) {
|
|
1597
|
+
this.setQueryOptions(componentId, _rollupPluginBabelHelpers._extends({}, queryOptions, this.getAggsQuery()), false);
|
|
1598
|
+
} else this.setQueryOptions(componentId, this.getAggsQuery(), false); // Update custom query for RS API
|
|
1599
|
+
|
|
1600
|
+
|
|
1601
|
+
index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.selectedValue);
|
|
1602
|
+
this.updateQuery({
|
|
1603
|
+
componentId: componentId,
|
|
1604
|
+
query: query
|
|
1605
|
+
});
|
|
1606
|
+
}
|
|
1607
|
+
}
|
|
1608
|
+
},
|
|
1609
|
+
render: function render() {
|
|
1610
|
+
var h = arguments[0];
|
|
1611
|
+
|
|
1612
|
+
try {
|
|
1613
|
+
var dom = this.$scopedSlots["default"];
|
|
1614
|
+
var error = this.error,
|
|
1615
|
+
isLoading = this.isLoading,
|
|
1616
|
+
selectedValue = this.selectedValue;
|
|
1617
|
+
|
|
1618
|
+
var propsToBePassed = _rollupPluginBabelHelpers._extends({
|
|
1619
|
+
error: error,
|
|
1620
|
+
loading: isLoading
|
|
1621
|
+
}, this.getData(), {
|
|
1622
|
+
value: selectedValue,
|
|
1623
|
+
setQuery: this.setQuery
|
|
1624
|
+
});
|
|
1625
|
+
|
|
1626
|
+
return h("div", [dom(propsToBePassed)]);
|
|
1627
|
+
} catch (e) {
|
|
1628
|
+
return null;
|
|
1629
|
+
}
|
|
1630
|
+
},
|
|
1631
|
+
methods: {
|
|
1632
|
+
getAggsQuery: function getAggsQuery() {
|
|
1633
|
+
if (this.aggregationField) {
|
|
1634
|
+
return {
|
|
1635
|
+
aggs: getCompositeAggsQuery$1({
|
|
1636
|
+
props: this.$props,
|
|
1637
|
+
showTopHits: true,
|
|
1638
|
+
value: this.selectedValue
|
|
1639
|
+
}).aggs
|
|
1640
|
+
};
|
|
1641
|
+
}
|
|
1642
|
+
|
|
1643
|
+
return {};
|
|
1644
|
+
},
|
|
1645
|
+
getData: function getData() {
|
|
1646
|
+
var hits = this.hits,
|
|
1647
|
+
aggregations = this.aggregations,
|
|
1648
|
+
aggregationData = this.aggregationData,
|
|
1649
|
+
promotedResults = this.promotedResults,
|
|
1650
|
+
rawData = this.rawData;
|
|
1651
|
+
var filteredResults = parseHits(hits);
|
|
1652
|
+
|
|
1653
|
+
if (promotedResults.length) {
|
|
1654
|
+
var ids = promotedResults.map(function (item) {
|
|
1655
|
+
return item._id;
|
|
1656
|
+
}).filter(Boolean);
|
|
1657
|
+
|
|
1658
|
+
if (ids) {
|
|
1659
|
+
filteredResults = filteredResults.filter(function (item) {
|
|
1660
|
+
return !ids.includes(item._id);
|
|
1661
|
+
});
|
|
1662
|
+
}
|
|
1663
|
+
|
|
1664
|
+
filteredResults = [].concat(promotedResults, filteredResults);
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
return {
|
|
1668
|
+
data: filteredResults,
|
|
1669
|
+
aggregationData: aggregationData,
|
|
1670
|
+
rawData: rawData,
|
|
1671
|
+
aggregations: aggregations,
|
|
1672
|
+
promotedData: promotedResults,
|
|
1673
|
+
resultStats: this.stats
|
|
1674
|
+
};
|
|
1675
|
+
}
|
|
1676
|
+
},
|
|
1677
|
+
computed: {
|
|
1678
|
+
stats: function stats() {
|
|
1679
|
+
return getResultStats$1(this);
|
|
1680
|
+
}
|
|
1681
|
+
}
|
|
1682
|
+
};
|
|
1683
|
+
|
|
1684
|
+
ReactiveComponent.hasInternalComponent = function (props) {
|
|
1685
|
+
return !!props.defaultQuery;
|
|
1686
|
+
};
|
|
1687
|
+
|
|
1688
|
+
var mapStateToProps$1 = function mapStateToProps(state, props) {
|
|
1689
|
+
return {
|
|
1690
|
+
aggregations: state.aggregations[props.componentId] && state.aggregations[props.componentId] || null,
|
|
1691
|
+
aggregationData: state.compositeAggregations[props.componentId] || [],
|
|
1692
|
+
hits: state.hits[props.componentId] && state.hits[props.componentId].hits || [],
|
|
1693
|
+
rawData: state.rawData[props.componentId],
|
|
1694
|
+
error: state.error[props.componentId],
|
|
1695
|
+
isLoading: state.isLoading[props.componentId],
|
|
1696
|
+
selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
|
|
1697
|
+
promotedResults: state.promotedResults[props.componentId] || [],
|
|
1698
|
+
time: state.hits[props.componentId] && state.hits[props.componentId].time || 0,
|
|
1699
|
+
total: state.hits[props.componentId] && state.hits[props.componentId].total,
|
|
1700
|
+
hidden: state.hits[props.componentId] && state.hits[props.componentId].hidden,
|
|
1701
|
+
componentProps: state.props[props.componentId],
|
|
1702
|
+
enableAppbase: state.config.enableAppbase
|
|
1703
|
+
};
|
|
1704
|
+
};
|
|
1705
|
+
|
|
1706
|
+
var mapDispatchtoProps = {
|
|
1707
|
+
setQueryOptions: setQueryOptions,
|
|
1708
|
+
updateQuery: updateQuery$1,
|
|
1709
|
+
setCustomQuery: setCustomQuery$1,
|
|
1710
|
+
setDefaultQuery: setDefaultQuery$1
|
|
1711
|
+
};
|
|
1712
|
+
var ConnectedComponent = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps$1, mapDispatchtoProps)(ReactiveComponent), {
|
|
1713
|
+
componentType: constants.componentTypes.reactiveComponent
|
|
1714
|
+
});
|
|
1715
|
+
var RcConnected = PreferencesConsumer.PreferencesConsumer({
|
|
1716
|
+
name: 'RcConnected',
|
|
1717
|
+
render: function render(h) {
|
|
1718
|
+
var component = ConnectedComponent;
|
|
1719
|
+
|
|
1720
|
+
switch (this.$attrs.componentType) {
|
|
1721
|
+
case constants.componentTypes.reactiveList:
|
|
1722
|
+
component = ReactiveList.RLConnected;
|
|
1723
|
+
break;
|
|
1724
|
+
|
|
1725
|
+
case constants.componentTypes.dataSearch:
|
|
1726
|
+
component = DataSearch.DSConnected;
|
|
1727
|
+
break;
|
|
1728
|
+
|
|
1729
|
+
case constants.componentTypes.searchBox:
|
|
1730
|
+
component = SBConnected;
|
|
1731
|
+
break;
|
|
1732
|
+
// list components
|
|
1733
|
+
|
|
1734
|
+
case constants.componentTypes.singleList:
|
|
1735
|
+
component = SingleList.ListConnected;
|
|
1736
|
+
break;
|
|
1737
|
+
|
|
1738
|
+
case constants.componentTypes.multiList:
|
|
1739
|
+
component = MultiList.ListConnected;
|
|
1740
|
+
break;
|
|
1741
|
+
|
|
1742
|
+
case constants.componentTypes.singleDropdownList:
|
|
1743
|
+
component = SingleDropdownList.ListConnected;
|
|
1744
|
+
break;
|
|
1745
|
+
|
|
1746
|
+
case constants.componentTypes.multiDropdownList:
|
|
1747
|
+
component = MultiDropdownList.ListConnected;
|
|
1748
|
+
break;
|
|
1749
|
+
// basic components
|
|
1750
|
+
|
|
1751
|
+
case constants.componentTypes.toggleButton:
|
|
1752
|
+
component = ToggleButton.ListConnected;
|
|
1753
|
+
break;
|
|
1754
|
+
// range components
|
|
1755
|
+
|
|
1756
|
+
case constants.componentTypes.dynamicRangeSlider:
|
|
1757
|
+
component = DynamicRangeSlider.RangeConnected;
|
|
1758
|
+
break;
|
|
1759
|
+
|
|
1760
|
+
case constants.componentTypes.singleRange:
|
|
1761
|
+
component = SingleRange.RangeConnected;
|
|
1762
|
+
break;
|
|
1763
|
+
|
|
1764
|
+
case constants.componentTypes.multiRange:
|
|
1765
|
+
component = MultiRange.RangeConnected;
|
|
1766
|
+
break;
|
|
1767
|
+
|
|
1768
|
+
case constants.componentTypes.rangeSlider:
|
|
1769
|
+
component = RangeSlider.RangeConnected;
|
|
1770
|
+
break;
|
|
1771
|
+
|
|
1772
|
+
case constants.componentTypes.rangeInput:
|
|
1773
|
+
component = RangeInput.RangeConnected;
|
|
1774
|
+
break;
|
|
1775
|
+
}
|
|
1776
|
+
|
|
1777
|
+
return h(component, {
|
|
1778
|
+
attrs: this.$attrs,
|
|
1779
|
+
on: this.$listeners,
|
|
1780
|
+
scopedSlots: this.$scopedSlots,
|
|
1781
|
+
slots: this.$slots
|
|
1782
|
+
});
|
|
1783
|
+
}
|
|
1784
|
+
});
|
|
1785
|
+
|
|
1786
|
+
ReactiveComponent.install = function (Vue) {
|
|
1787
|
+
Vue.component(ReactiveComponent.name, RcConnected);
|
|
1788
|
+
}; // Add componentType for SSR
|
|
1789
|
+
|
|
1790
|
+
|
|
1791
|
+
ReactiveComponent.componentType = constants.componentTypes.reactiveComponent;
|
|
1407
1792
|
|
|
1793
|
+
exports.ReactiveComponent = ReactiveComponent;
|
|
1408
1794
|
exports.SearchBox = SearchBox;
|
|
1409
|
-
exports.install = install;
|