1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var tslib_1 = require("tslib");
|
4 | var util_1 = require("@antv/util");
|
5 | var base_1 = (0, tslib_1.__importDefault)(require("../base"));
|
6 | var util_2 = require("../util");
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | var DataFilter = (function (_super) {
|
12 | (0, tslib_1.__extends)(DataFilter, _super);
|
13 | function DataFilter() {
|
14 | return _super !== null && _super.apply(this, arguments) || this;
|
15 | }
|
16 | DataFilter.prototype.filterView = function (view, field, filter) {
|
17 | var _this = this;
|
18 |
|
19 | if (view.getScaleByField(field)) {
|
20 | view.filter(field, filter);
|
21 | }
|
22 | if (view.views && view.views.length) {
|
23 | (0, util_1.each)(view.views, function (subView) {
|
24 | _this.filterView(subView, field, filter);
|
25 | });
|
26 | }
|
27 | };
|
28 | |
29 |
|
30 |
|
31 | DataFilter.prototype.filter = function () {
|
32 | var delegateObject = (0, util_2.getDelegationObject)(this.context);
|
33 | if (delegateObject) {
|
34 | var view = this.context.view;
|
35 | var component = delegateObject.component;
|
36 | var field = component.get('field');
|
37 |
|
38 | if ((0, util_2.isList)(delegateObject)) {
|
39 | if (field) {
|
40 | var unCheckedItems = component.getItemsByState('unchecked');
|
41 | var scale_1 = (0, util_2.getScaleByField)(view, field);
|
42 | var names_1 = unCheckedItems.map(function (item) { return item.name; });
|
43 | if (names_1.length) {
|
44 | this.filterView(view, field, function (value) {
|
45 | var text = scale_1.getText(value);
|
46 | return !names_1.includes(text);
|
47 | });
|
48 | }
|
49 | else {
|
50 | this.filterView(view, field, null);
|
51 | }
|
52 | view.render(true);
|
53 | }
|
54 | }
|
55 | else if ((0, util_2.isSlider)(delegateObject)) {
|
56 | var range = component.getValue();
|
57 | var min_1 = range[0], max_1 = range[1];
|
58 | this.filterView(view, field, function (value) {
|
59 | return value >= min_1 && value <= max_1;
|
60 | });
|
61 | view.render(true);
|
62 | }
|
63 | }
|
64 | };
|
65 | return DataFilter;
|
66 | }(base_1.default));
|
67 | exports.default = DataFilter;
|
68 |
|
\ | No newline at end of file |