Example #1
0
        it('api test filters', function () {
            var newConfig = Object.assign({}, config);
            newConfig.data = [{x: 1, y: 2, z: 'category1'}, {x: 3, y: 4, z: 'category2'}, {x: 3, y: 1, z: 'category3'}];
            var plot = new tauCharts.Plot(newConfig);
            var id = plot.addFilter({
                tag: 'testFilter', predicate: function (item) {
                    return item.z === 'category3';
                }
            });
            plot.refresh();

            expect(plot.getChartModelData()).to.be.eql([newConfig.data[2]]);
            var id2 = plot.addFilter({
                tag: 'testFilter2', predicate: function (item) {
                    return item.z !== 'category2';
                }
            });
            plot.refresh();
            expect(plot.getChartModelData({excludeFilter: ['testFilter']})).to.be.eql([newConfig.data[0], newConfig.data[2]]);
            plot.removeFilter(id);
            plot.refresh();
            expect(plot.getChartModelData()).to.be.eql([newConfig.data[0], newConfig.data[2]]);
            plot.renderTo(div);
            var svg = plot.getSVG();
            expect(svg.querySelectorAll('.i-role-datum').length).to.be.equal(2);
            plot.removeFilter(id2);
            plot.refresh();
            svg = plot.getSVG();
            expect(svg.querySelectorAll('.i-role-datum').length).to.be.equal(3);
            plot.addFilter({
                tag: 'testFilter', predicate: function (item) {
                    return item.z === 'category3';
                }
            });
            plot.refresh();
            svg = plot.getSVG();
            expect(svg.querySelectorAll('.i-role-datum').length).to.be.equal(1);
        });