Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
huang-xiao-jian committed May 16, 2016
2 parents 464dfb9 + 69672f8 commit 6e1ae8c
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 37 deletions.
4 changes: 4 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ sudo: false
language: node_js
node_js:
- "4.0"
branches:
only:
- master
- /^Release.*$/
before_install:
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
Expand Down
51 changes: 33 additions & 18 deletions dist/echarts-ng.js
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,9 @@
* @description - transfer instance into waterfall mode
*/
function adaptWaterfallSeries(config) {
if (!waterfall.shouldAdaptWaterfall(config)) return;
if (!waterfall.shouldAdaptWaterfall(config)) return config;

config = angular.copy(config);

var target = config.series[0]
, extension = {
Expand Down Expand Up @@ -211,6 +213,8 @@
};

config.series = [helper, target];

return config;
}
}];
}
Expand Down Expand Up @@ -646,44 +650,55 @@
, config = vm.config
, theme = GLOBAL_OPTION.theme
, driftPalette = GLOBAL_OPTION.driftPalette
, element = $element[0]
, calculateHeight = $dimension.calculateEchartsDimension(element, vm.echartsDimension);
, element = $element[0];

if (!identity) {
throw new Error('Echarts Instance Identity Required');
}

/**
* @type property
*
* @description - 基于宽高比计算动态高度
*/
var calculateHeight = $dimension.calculateEchartsDimension(element, vm.echartsDimension);
$dimension.adaptEchartsDimension(element, calculateHeight);

var instance = theme ? echarts.init(element, theme) : echarts.init(element);
var instance = echarts.init(element, theme)
, decorativeConfig = $waterfall.adaptWaterfallSeries(vm.config);

instance.setOption(GLOBAL_OPTION);

$echarts.driftEchartsPalette(instance, driftPalette);
$echarts.registerEchartsInstance(identity, instance);
$waterfall.adaptWaterfallTooltip(instance, vm.config);

$waterfall.adaptWaterfallTooltip(instance, config);
$waterfall.adaptWaterfallSeries(config);

angular.isObject(config) && angular.isArray(config.series)
? instance.setOption(config)
angular.isObject(decorativeConfig) && angular.isArray(decorativeConfig.series)
? instance.setOption(decorativeConfig)
: instance.showLoading();

$scope.$watch('chart.echartsDimension', function (newDimension, oldDimension) {
if (!angular.equals(newDimension, oldDimension)) {
$dimension.adaptEchartsDimension(element, newDimension);
$scope.$watch('chart.echartsDimension', function (current, prev) {
if (!angular.equals(current, prev)) {
calculateHeight = $dimension.calculateEchartsDimension(element, vm.echartsDimension);
$dimension.adaptEchartsDimension(element, calculateHeight);
$dimension.synchronizeEchartsDimension(instance);
}
});

$scope.$watchCollection('chart.config.title', function () {
$waterfall.adaptWaterfallSeries(vm.config, vm.config.waterfall);
$echarts.updateEchartsInstance(identity, vm.config);
$scope.$watchCollection('chart.config.title', function (current, prev) {
if (!angular.equals(current, prev)) {
decorativeConfig = $waterfall.adaptWaterfallSeries(vm.config);
$waterfall.adaptWaterfallTooltip(instance, vm.config);
$echarts.updateEchartsInstance(identity, decorativeConfig);
}
});

$scope.$watchCollection('chart.config.series', function () {
$waterfall.adaptWaterfallSeries(vm.config, vm.config.waterfall);
$echarts.updateEchartsInstance(identity, vm.config);
$scope.$watchCollection('chart.config.series', function (current, prev) {
if (!angular.equals(current, prev)) {
decorativeConfig = $waterfall.adaptWaterfallSeries(vm.config);
$waterfall.adaptWaterfallTooltip(instance, vm.config);
$echarts.updateEchartsInstance(identity, decorativeConfig);
}
});

$scope.$on('$destroy', function () {
Expand Down
2 changes: 1 addition & 1 deletion dist/echarts-ng.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion src/echarts-ng-waterfall.service.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,9 @@
* @description - transfer instance into waterfall mode
*/
function adaptWaterfallSeries(config) {
if (!waterfall.shouldAdaptWaterfall(config)) return;
if (!waterfall.shouldAdaptWaterfall(config)) return config;

config = angular.copy(config);

var target = config.series[0]
, extension = {
Expand Down Expand Up @@ -160,6 +162,8 @@
};

config.series = [helper, target];

return config;
}
}];
}
Expand Down
45 changes: 28 additions & 17 deletions src/echarts-ng.directive.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,44 +37,55 @@
, config = vm.config
, theme = GLOBAL_OPTION.theme
, driftPalette = GLOBAL_OPTION.driftPalette
, element = $element[0]
, calculateHeight = $dimension.calculateEchartsDimension(element, vm.echartsDimension);
, element = $element[0];

if (!identity) {
throw new Error('Echarts Instance Identity Required');
}

/**
* @type property
*
* @description - 基于宽高比计算动态高度
*/
var calculateHeight = $dimension.calculateEchartsDimension(element, vm.echartsDimension);
$dimension.adaptEchartsDimension(element, calculateHeight);

var instance = theme ? echarts.init(element, theme) : echarts.init(element);
var instance = echarts.init(element, theme)
, decorativeConfig = $waterfall.adaptWaterfallSeries(vm.config);

instance.setOption(GLOBAL_OPTION);

$echarts.driftEchartsPalette(instance, driftPalette);
$echarts.registerEchartsInstance(identity, instance);
$waterfall.adaptWaterfallTooltip(instance, vm.config);

$waterfall.adaptWaterfallTooltip(instance, config);
$waterfall.adaptWaterfallSeries(config);

angular.isObject(config) && angular.isArray(config.series)
? instance.setOption(config)
angular.isObject(decorativeConfig) && angular.isArray(decorativeConfig.series)
? instance.setOption(decorativeConfig)
: instance.showLoading();

$scope.$watch('chart.echartsDimension', function (newDimension, oldDimension) {
if (!angular.equals(newDimension, oldDimension)) {
$dimension.adaptEchartsDimension(element, newDimension);
$scope.$watch('chart.echartsDimension', function (current, prev) {
if (!angular.equals(current, prev)) {
calculateHeight = $dimension.calculateEchartsDimension(element, vm.echartsDimension);
$dimension.adaptEchartsDimension(element, calculateHeight);
$dimension.synchronizeEchartsDimension(instance);
}
});

$scope.$watchCollection('chart.config.title', function () {
$waterfall.adaptWaterfallSeries(vm.config, vm.config.waterfall);
$echarts.updateEchartsInstance(identity, vm.config);
$scope.$watchCollection('chart.config.title', function (current, prev) {
if (!angular.equals(current, prev)) {
decorativeConfig = $waterfall.adaptWaterfallSeries(vm.config);
$waterfall.adaptWaterfallTooltip(instance, vm.config);
$echarts.updateEchartsInstance(identity, decorativeConfig);
}
});

$scope.$watchCollection('chart.config.series', function () {
$waterfall.adaptWaterfallSeries(vm.config, vm.config.waterfall);
$echarts.updateEchartsInstance(identity, vm.config);
$scope.$watchCollection('chart.config.series', function (current, prev) {
if (!angular.equals(current, prev)) {
decorativeConfig = $waterfall.adaptWaterfallSeries(vm.config);
$waterfall.adaptWaterfallTooltip(instance, vm.config);
$echarts.updateEchartsInstance(identity, decorativeConfig);
}
});

$scope.$on('$destroy', function () {
Expand Down

0 comments on commit 6e1ae8c

Please sign in to comment.