Commit e6992e87d96e531b42d5656c1d2e4ea8b5b6b171
1 parent
819b08d0
fix: implement dynamic effect priority
Showing
1 changed file
with
65 additions
and
39 deletions
... | ... | @@ -5579,7 +5579,6 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
5579 | 5579 | const { dataSources = [] } = currentNodeData |
5580 | 5580 | const { additional = {} } = dataSources[0] || {} |
5581 | 5581 | const { [enumBindKey.EFFECT_SCOPE]: effectScope = 1000 } = additional |
5582 | - console.log(additional) | |
5583 | 5582 | linkageIntervalSelect(effectScope) |
5584 | 5583 | form.val(CONTAINER_FILTER, additional) |
5585 | 5584 | } |
... | ... | @@ -7267,7 +7266,6 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
7267 | 7266 | } |
7268 | 7267 | |
7269 | 7268 | function getValue() { |
7270 | - console.log(form.val(componentFilter)) | |
7271 | 7269 | return form.val(componentFilter) |
7272 | 7270 | } |
7273 | 7271 | |
... | ... | @@ -12626,7 +12624,7 @@ class HandleDataSource { |
12626 | 12624 | const seriesValue = [] |
12627 | 12625 | const chartOption = { |
12628 | 12626 | title: { |
12629 | - subtext: realDataList.length ? '' :'暂无数据', | |
12627 | + subtext: realDataList.length ? '' : '暂无数据', | |
12630 | 12628 | x: 'center', |
12631 | 12629 | y: 'center', |
12632 | 12630 | itemGap: -20, |
... | ... | @@ -12672,11 +12670,9 @@ class HandleDataSource { |
12672 | 12670 | ], |
12673 | 12671 | dataZoom: [ |
12674 | 12672 | { |
12675 | - xAxisIndex: 0, | |
12676 | 12673 | show: true, |
12677 | 12674 | type: 'slider', |
12678 | - startValue: 0, | |
12679 | - endValue: showNumberOf | |
12675 | + // endValue: showNumberOf | |
12680 | 12676 | } |
12681 | 12677 | ] |
12682 | 12678 | } |
... | ... | @@ -12730,17 +12726,21 @@ class HandleDataSource { |
12730 | 12726 | ], |
12731 | 12727 | dataZoom: [ |
12732 | 12728 | { |
12733 | - startValue: seriesValue.length - 1 > showNumberOf | |
12734 | - ? oldStartValue === seriesValue.length - 1 | |
12735 | - ? 0 | |
12736 | - : oldStartValue + 1 | |
12737 | - : 0, | |
12738 | - endValue: seriesValue.length - 1 > showNumberOf | |
12739 | - ? oldEndValue === seriesValue.length - 1 | |
12740 | - ? showNumberOf | |
12741 | - : oldEndValue + 1 | |
12742 | - : showNumberOf | |
12729 | + show: true, | |
12730 | + type: 'slider', | |
12743 | 12731 | } |
12732 | + // { | |
12733 | + // startValue: seriesValue.length - 1 > showNumberOf | |
12734 | + // ? oldStartValue === seriesValue.length - 1 | |
12735 | + // ? 0 | |
12736 | + // : oldStartValue + 1 | |
12737 | + // : 0, | |
12738 | + // endValue: seriesValue.length - 1 > showNumberOf | |
12739 | + // ? oldEndValue === seriesValue.length - 1 | |
12740 | + // ? showNumberOf | |
12741 | + // : oldEndValue + 1 | |
12742 | + // : showNumberOf | |
12743 | + // } | |
12744 | 12744 | ] |
12745 | 12745 | }) |
12746 | 12746 | } |
... | ... | @@ -12768,7 +12768,7 @@ class HandleDataSource { |
12768 | 12768 | const seriesValue = [] |
12769 | 12769 | const chartOption = { |
12770 | 12770 | title: { |
12771 | - subtext: historyDataList.length ? '' :'暂无数据', | |
12771 | + subtext: historyDataList.length ? '' : '暂无数据', | |
12772 | 12772 | x: 'center', |
12773 | 12773 | y: 'center', |
12774 | 12774 | itemGap: -20, |
... | ... | @@ -12815,11 +12815,11 @@ class HandleDataSource { |
12815 | 12815 | ], |
12816 | 12816 | dataZoom: [ |
12817 | 12817 | { |
12818 | - xAxisIndex: 0, | |
12819 | - show: false, | |
12818 | + // xAxisIndex: 0, | |
12819 | + show: true, | |
12820 | 12820 | type: 'slider', |
12821 | - startValue: 0, | |
12822 | - endValue: showNumberOf | |
12821 | + // startValue: 0, | |
12822 | + // endValue: showNumberOf | |
12823 | 12823 | } |
12824 | 12824 | ] |
12825 | 12825 | } |
... | ... | @@ -12860,9 +12860,9 @@ class HandleDataSource { |
12860 | 12860 | } |
12861 | 12861 | |
12862 | 12862 | instance.setOption(chartOption) |
12863 | - instance.on('mouseover', stop) | |
12864 | - instance.on('mouseout', goMove) | |
12865 | - autoMove() | |
12863 | + // instance.on('mouseover', stop) | |
12864 | + // instance.on('mouseout', goMove) | |
12865 | + // autoMove() | |
12866 | 12866 | } |
12867 | 12867 | |
12868 | 12868 | /** |
... | ... | @@ -13141,7 +13141,7 @@ class HandleDynamicEffect { |
13141 | 13141 | |
13142 | 13142 | /** |
13143 | 13143 | * @description 动效节点映射 |
13144 | - * @type {Map<string, Map<string, any>>} | |
13144 | + * @type {Map<string, {display: boolean, value: Map<string, any>}>} | |
13145 | 13145 | */ |
13146 | 13146 | actNodeMapping = new Map() |
13147 | 13147 | |
... | ... | @@ -13223,9 +13223,9 @@ class HandleDynamicEffect { |
13223 | 13223 | this.enableActList.forEach(each => { |
13224 | 13224 | const { id, type, attr, deviceId, slaveDeviceId } = each |
13225 | 13225 | |
13226 | - if (!this.actNodeMapping.has(id)) this.actNodeMapping.set(id, new Map()) | |
13226 | + if (!this.actNodeMapping.has(id)) this.actNodeMapping.set(id, { display: true, value: new Map() }) | |
13227 | 13227 | const temp = this.actNodeMapping.get(id) |
13228 | - temp.set(type, each) | |
13228 | + temp.value.set(type, each) | |
13229 | 13229 | |
13230 | 13230 | const cmdId = this.DispatchInstance.getCmdId(id) |
13231 | 13231 | |
... | ... | @@ -13303,6 +13303,11 @@ class HandleDynamicEffect { |
13303 | 13303 | rotate(message) { |
13304 | 13304 | const { subscriptionId, data } = message |
13305 | 13305 | const node = this.getNodeByCmdId(subscriptionId) |
13306 | + const key = node.id + DispatchCenter.enumDynamicEffectType.ROTATE | |
13307 | + if (!this.validatePriority(node.id)) { | |
13308 | + this.delUpdateFn(key) | |
13309 | + return | |
13310 | + } | |
13306 | 13311 | const { flag } = this.validate(subscriptionId, DispatchCenter.enumDynamicEffectType.ROTATE, data) |
13307 | 13312 | let deg = 0 |
13308 | 13313 | const updateFn = () => { |
... | ... | @@ -13311,16 +13316,14 @@ class HandleDynamicEffect { |
13311 | 13316 | let style = node.getStyle() |
13312 | 13317 | const reg = /rotation=(-?)\w+(;?)/g |
13313 | 13318 | style = style.replace(reg, '') |
13314 | - style += `rotation=${deg}` | |
13319 | + style += `rotation=${deg};` | |
13315 | 13320 | node.setStyle(style) |
13316 | 13321 | this.graph.updateCellStyles(style, node) |
13317 | 13322 | } |
13318 | - const key = node.id + DispatchCenter.enumDynamicEffectType.ROTATE | |
13319 | 13323 | if (!flag) { |
13320 | 13324 | this.delUpdateFn(key) |
13321 | 13325 | return |
13322 | 13326 | } |
13323 | - console.log(this.actNodeMapping) | |
13324 | 13327 | this.insertContinueUpdateFn(node, updateFn, key) |
13325 | 13328 | } |
13326 | 13329 | |
... | ... | @@ -13335,19 +13338,29 @@ class HandleDynamicEffect { |
13335 | 13338 | if (!flag) return |
13336 | 13339 | const node = this.getNodeByCmdId(subscriptionId) |
13337 | 13340 | let isShow = false |
13338 | - if (node.visible && condition.type === HandleDynamicEffect.enumDisplayType.SHOW) { | |
13339 | - return | |
13340 | - } else if (condition.type === HandleDynamicEffect.enumDisplayType.SHOW) { | |
13341 | + if (condition.type === HandleDynamicEffect.enumDisplayType.SHOW) { | |
13341 | 13342 | isShow = true |
13342 | 13343 | } else if (condition.type === HandleDynamicEffect.enumDisplayType.HIDDEN) { |
13343 | 13344 | isShow = false |
13344 | 13345 | } |
13345 | 13346 | const updateFn = () => { |
13347 | + // let style = node.getStyle() | |
13348 | + // const reg = /opacity=(-?)\w+(;?)/g | |
13349 | + // style = style.replace(reg, '') | |
13350 | + // style += `opacity=${isShow ? 100 : 0};` | |
13351 | + // console.log(style) | |
13352 | + // node.setStyle(style) | |
13353 | + | |
13354 | + if (!isShow) { | |
13355 | + Object.keys(HandleDynamicEffect.enumActType).forEach(key => { | |
13356 | + const delKey = node.id + key | |
13357 | + this.delUpdateFn(delKey) | |
13358 | + }) | |
13359 | + const temp = this.actNodeMapping.get(node.id) | |
13360 | + temp.display = false | |
13361 | + } | |
13362 | + | |
13346 | 13363 | node.setVisible(isShow) |
13347 | - node.setAttribute('display', isShow) | |
13348 | - console.log('isShow', isShow) | |
13349 | - console.log(node.style) | |
13350 | - console.log(node) | |
13351 | 13364 | } |
13352 | 13365 | this.insertOnceUpdateFn(node, updateFn) |
13353 | 13366 | } |
... | ... | @@ -13360,13 +13373,17 @@ class HandleDynamicEffect { |
13360 | 13373 | flash(message) { |
13361 | 13374 | const { subscriptionId, data } = message |
13362 | 13375 | const node = this.getNodeByCmdId(subscriptionId) |
13376 | + const key = node.id + DispatchCenter.enumDynamicEffectType.FLASH | |
13377 | + if (!this.validatePriority(node.id)) { | |
13378 | + this.delUpdateFn(key) | |
13379 | + return | |
13380 | + } | |
13363 | 13381 | const { flag, condition } = this.validate(subscriptionId, HandleDynamicEffect.enumActType.FLASH, data) |
13364 | 13382 | let flashFlag = false |
13365 | 13383 | const updateFn = () => { |
13366 | 13384 | node.setVisible(flashFlag) |
13367 | 13385 | flashFlag = !flashFlag |
13368 | 13386 | } |
13369 | - const key = node.id + DispatchCenter.enumDynamicEffectType.FLASH | |
13370 | 13387 | if (!flag) { |
13371 | 13388 | flashFlag = true |
13372 | 13389 | this.insertOnceUpdateFn(node, updateFn) |
... | ... | @@ -13435,7 +13452,7 @@ class HandleDynamicEffect { |
13435 | 13452 | getBindData(subscriptionId, actionType) { |
13436 | 13453 | const nodeId = this.getNodeIdByCmdId(subscriptionId) |
13437 | 13454 | const temp = this.actNodeMapping.get(nodeId) |
13438 | - return temp.get(actionType) | |
13455 | + return temp.value.get(actionType) | |
13439 | 13456 | } |
13440 | 13457 | |
13441 | 13458 | /** |
... | ... | @@ -13457,6 +13474,15 @@ class HandleDynamicEffect { |
13457 | 13474 | return this.DispatchInstance.contentAllCell.find(item => item.id === nodeId) |
13458 | 13475 | } |
13459 | 13476 | |
13477 | + /** | |
13478 | + * @description 验证优先级 | |
13479 | + * @param {string} nodeId | |
13480 | + * @returns | |
13481 | + */ | |
13482 | + validatePriority(nodeId) { | |
13483 | + return this.actNodeMapping.get(nodeId).display | |
13484 | + } | |
13485 | + | |
13460 | 13486 | } |
13461 | 13487 | |
13462 | 13488 | class UpdateQueue { | ... | ... |