|
/*
|
* Licensed to the Apache Software Foundation (ASF) under one
|
* or more contributor license agreements. See the NOTICE file
|
* distributed with this work for additional information
|
* regarding copyright ownership. The ASF licenses this file
|
* to you under the Apache License, Version 2.0 (the
|
* "License"); you may not use this file except in compliance
|
* with the License. You may obtain a copy of the License at
|
*
|
* http://www.apache.org/licenses/LICENSE-2.0
|
*
|
* Unless required by applicable law or agreed to in writing,
|
* software distributed under the License is distributed on an
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* KIND, either express or implied. See the License for the
|
* specific language governing permissions and limitations
|
* under the License.
|
*/
|
|
|
/**
|
* AUTO-GENERATED FILE. DO NOT MODIFY.
|
*/
|
|
/*
|
* Licensed to the Apache Software Foundation (ASF) under one
|
* or more contributor license agreements. See the NOTICE file
|
* distributed with this work for additional information
|
* regarding copyright ownership. The ASF licenses this file
|
* to you under the Apache License, Version 2.0 (the
|
* "License"); you may not use this file except in compliance
|
* with the License. You may obtain a copy of the License at
|
*
|
* http://www.apache.org/licenses/LICENSE-2.0
|
*
|
* Unless required by applicable law or agreed to in writing,
|
* software distributed under the License is distributed on an
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* KIND, either express or implied. See the License for the
|
* specific language governing permissions and limitations
|
* under the License.
|
*/
|
import { isNumber } from 'zrender/lib/core/util.js';
|
export default function categoryFilter(ecModel) {
|
var legendModels = ecModel.findComponents({
|
mainType: 'legend'
|
});
|
|
if (!legendModels || !legendModels.length) {
|
return;
|
}
|
|
ecModel.eachSeriesByType('graph', function (graphSeries) {
|
var categoriesData = graphSeries.getCategoriesData();
|
var graph = graphSeries.getGraph();
|
var data = graph.data;
|
var categoryNames = categoriesData.mapArray(categoriesData.getName);
|
data.filterSelf(function (idx) {
|
var model = data.getItemModel(idx);
|
var category = model.getShallow('category');
|
|
if (category != null) {
|
if (isNumber(category)) {
|
category = categoryNames[category];
|
} // If in any legend component the status is not selected.
|
|
|
for (var i = 0; i < legendModels.length; i++) {
|
if (!legendModels[i].isSelected(category)) {
|
return false;
|
}
|
}
|
}
|
|
return true;
|
});
|
});
|
}
|