Commit 5b576b6759a17ffa8d4ad9a96285891162504d20
Merge branch 'ww' into 'main'
fix: fix some problem See merge request huang/thingskit-drawio!27
Showing
2 changed files
with
148 additions
and
81 deletions
... | ... | @@ -618,10 +618,10 @@ |
618 | 618 | this.setComponentPermission(DEFAULT, [DYNAMIC_EFFECT]) |
619 | 619 | this.setComponentPermission(REAL_TIME, [DYNAMIC_EFFECT]) |
620 | 620 | this.setComponentPermission(TITLE, [INTERACTION, DYNAMIC_EFFECT]) |
621 | - this.setComponentPermission(VAR_IMAGE, [DATA_SOURCE, INTERACTION, VAR_IMAGE]) | |
621 | + this.setComponentPermission(VAR_IMAGE, [INTERACTION, VAR_IMAGE]) | |
622 | 622 | this.setComponentPermission(VARIABLE, [DATA_SOURCE, INTERACTION, DYNAMIC_EFFECT]) |
623 | - this.setComponentPermission(BAR_CHART, [DATA_SOURCE, BAR_CHART_EXPAND, DYNAMIC_EFFECT]) | |
624 | - this.setComponentPermission(LINE_CHART, [DATA_SOURCE, LINE_CHART_EXPAND, DYNAMIC_EFFECT]) | |
623 | + this.setComponentPermission(BAR_CHART, [DATA_SOURCE, BAR_CHART_EXPAND]) | |
624 | + this.setComponentPermission(LINE_CHART, [DATA_SOURCE, LINE_CHART_EXPAND]) | |
625 | 625 | |
626 | 626 | var thingskitEntries = [ |
627 | 627 | { title: "风机", id: 'fan', image: IMAGE_PATH + '/thingskit/风机.png' }, | ... | ... |
... | ... | @@ -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 | } |
... | ... | @@ -5666,7 +5665,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
5666 | 5665 | [enumDataSourceConst.ORG_ID]: field[enumDataSourceConst.ORG_ID], |
5667 | 5666 | [enumDataSourceConst.DEVICE_ID]: field[enumDataSourceConst.DEVICE_ID], |
5668 | 5667 | // ...(field[enumDataSourceConst.SLAVE_DEVICE_ID] && { [enumDataSourceConst.SLAVE_DEVICE_ID]: field[enumDataSourceConst.SLAVE_DEVICE_ID] }), |
5669 | - [enumDataSourceConst.SLAVE_DEVICE_ID]: field[enumDataSourceConst.SLAVE_DEVICE_ID] ? [enumDataSourceConst.SLAVE_DEVICE_ID] : '', | |
5668 | + [enumDataSourceConst.SLAVE_DEVICE_ID]: field[enumDataSourceConst.SLAVE_DEVICE_ID] ? field[enumDataSourceConst.SLAVE_DEVICE_ID] : '', | |
5670 | 5669 | [enumDataSourceConst.ATTR]: field[enumDataSourceConst.ATTR], |
5671 | 5670 | [enumDataSourceConst.ADDITIONAL]: field[additionalKey.DATA_TYPE] ? { |
5672 | 5671 | [additionalKey.AGG]: field[additionalKey.AGG], |
... | ... | @@ -6343,7 +6342,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
6343 | 6342 | /** |
6344 | 6343 | * @description 下拉选项挂载 |
6345 | 6344 | */ |
6346 | - function createSelectOptionMountEvent(params) { | |
6345 | + function createSelectOptionMountEvent() { | |
6347 | 6346 | $(`#${enumActionEl.DEVICE_DATA_BODY_EL}`).on('click', '.layui-form-select', event => { |
6348 | 6347 | const width = event.currentTarget.offsetWidth || 200 |
6349 | 6348 | const height = event.currentTarget.offsetHeight || 38 |
... | ... | @@ -6383,7 +6382,6 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
6383 | 6382 | function echoOrgTree(id) { |
6384 | 6383 | orgId = id |
6385 | 6384 | const node = UseLayUi.findTreeObjectByField(treeList, id) |
6386 | - | |
6387 | 6385 | UseLayUi.nextTick(() => $(`#${enumActionEl.ORG_EL} input[name="${enumConst.ORG_ID}"]`).val(orgId).parent().find('span').html(node?.name)) |
6388 | 6386 | } |
6389 | 6387 | |
... | ... | @@ -6527,8 +6525,8 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
6527 | 6525 | }) |
6528 | 6526 | createOrgTreeSelect() |
6529 | 6527 | const info = getLayerBindInfo('event', type) |
6530 | - const { content: { data = [] } = {}, orgId } = info | |
6531 | - echoOrgTree(orgId) | |
6528 | + const { content: { data = [] } = {}, orgId: recordOrgId } = info | |
6529 | + orgId = recordOrgId | |
6532 | 6530 | await getAllGatewayDeviceAndConnectionDevice() |
6533 | 6531 | if (!info || !data.length) { |
6534 | 6532 | addRecord() |
... | ... | @@ -6537,7 +6535,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
6537 | 6535 | } |
6538 | 6536 | generatorEventListen() |
6539 | 6537 | form.render() |
6540 | - echoOrgTree(orgId) | |
6538 | + echoOrgTree(recordOrgId) | |
6541 | 6539 | }, |
6542 | 6540 | }) |
6543 | 6541 | } |
... | ... | @@ -6634,6 +6632,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
6634 | 6632 | configurationId, |
6635 | 6633 | contentId: currentPageId.id, |
6636 | 6634 | id: graphId, |
6635 | + orgId: 'b4dd6e2b-6e0f-413c-bf5a-70133bd571e8', | |
6637 | 6636 | content: { |
6638 | 6637 | type: formVal[enumConst.ACTION], |
6639 | 6638 | value: formVal[enumGetValue[formVal[enumConst.ACTION]]], |
... | ... | @@ -6886,6 +6885,24 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
6886 | 6885 | }) |
6887 | 6886 | } |
6888 | 6887 | |
6888 | + | |
6889 | + /** | |
6890 | + * @description 下拉选项挂载 | |
6891 | + */ | |
6892 | + function createSelectOptionMountEvent() { | |
6893 | + $(`#${enumActionEl.TABLE_BODY_EL}`).on('click', '.layui-form-select', event => { | |
6894 | + const width = event.currentTarget.offsetWidth || 200 | |
6895 | + const height = event.currentTarget.offsetHeight || 38 | |
6896 | + const offset = $(event.currentTarget).offset() | |
6897 | + $(event.currentTarget).find('dl').css({ | |
6898 | + position: 'fixed', | |
6899 | + 'min-width': width + 'px', | |
6900 | + top: offset.top + height + 'px', | |
6901 | + left: offset.left + 'px' | |
6902 | + }) | |
6903 | + }) | |
6904 | + } | |
6905 | + | |
6889 | 6906 | /** |
6890 | 6907 | * @description 创建事件监听 |
6891 | 6908 | */ |
... | ... | @@ -6893,6 +6910,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
6893 | 6910 | createInputListener() |
6894 | 6911 | createAddRowListenEvent() |
6895 | 6912 | createDeleteRowListenEvent() |
6913 | + createSelectOptionMountEvent() | |
6896 | 6914 | } |
6897 | 6915 | |
6898 | 6916 | /** |
... | ... | @@ -6939,7 +6957,6 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
6939 | 6957 | contentId: currentPageId.id, |
6940 | 6958 | ...formVal, |
6941 | 6959 | id: graphId, |
6942 | - orgId: 'b4dd6e2b-6e0f-413c-bf5a-70133bd571e8', | |
6943 | 6960 | condition: tableData, |
6944 | 6961 | type: event.data.type, |
6945 | 6962 | } |
... | ... | @@ -7005,6 +7022,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
7005 | 7022 | echoDataSource, |
7006 | 7023 | } = generatorDataSourceComponent({ overrideClass: 'dynamic-effect__data-source-comp--override' }) |
7007 | 7024 | $(`#${enumActionEl.DATA_SOURCE_COMP_EL}`).append(component) |
7025 | + form.render() | |
7008 | 7026 | const info = getLayerBindInfo('act', type) |
7009 | 7027 | const { condition = [] } = info |
7010 | 7028 | if (info && condition.length) { |
... | ... | @@ -7136,6 +7154,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
7136 | 7154 | data: treeList, |
7137 | 7155 | onlyIconControl: true, |
7138 | 7156 | click(node) { |
7157 | + currentCheckedOrgNode = node.data.id | |
7139 | 7158 | form.val(componentFilter, { |
7140 | 7159 | [enumDataSourceConst.DEVICE_ID]: null, |
7141 | 7160 | [enumDataSourceConst.SLAVE_DEVICE_ID]: null, |
... | ... | @@ -11620,6 +11639,7 @@ class UseLayUi { |
11620 | 11639 | // focus |
11621 | 11640 | $(`.${SELECT_CLS}`).off('click') |
11622 | 11641 | .on("click", ".layui-select-title", function (e) { |
11642 | + $(document).find('.layui-form-select').removeClass('layui-form-selected') | |
11623 | 11643 | $(this).parents(`.${SELECT_CLS}`).toggleClass("layui-form-selected"); |
11624 | 11644 | layui.stope(e); |
11625 | 11645 | }) |
... | ... | @@ -12467,7 +12487,7 @@ class HandleDataSource { |
12467 | 12487 | * @description 普通数据源绑定列表 |
12468 | 12488 | */ |
12469 | 12489 | get commonDataSourceBindList() { |
12470 | - return this.DispatchInstance.contentData?.dataSources?.filter(item => !item.additional) || [] | |
12490 | + return this.DispatchInstance.contentData?.dataSources?.filter(item => !item.additional && item.attr) || [] | |
12471 | 12491 | } |
12472 | 12492 | |
12473 | 12493 | /** |
... | ... | @@ -12533,13 +12553,17 @@ class HandleDataSource { |
12533 | 12553 | template[STARTTs] = Date.now() - scope |
12534 | 12554 | template[ENDTs] = Date.now() |
12535 | 12555 | historyList.push(template) |
12536 | - this.subscribeEvent(cmdId, this.updateHistoryDataSource.bind(this)) | |
12556 | + this.subscribeEvent(cmdId, (message) => { | |
12557 | + this.updateHistoryDataSource(message, agg) | |
12558 | + }) | |
12537 | 12559 | } |
12538 | 12560 | else if (dataType === REAL) { |
12539 | 12561 | template[STARTTs] = Date.now() - scope |
12540 | - template['timeWindow'] = interval | |
12562 | + // template['timeWindow'] = interval | |
12541 | 12563 | realList.push(template) |
12542 | - this.subscribeEvent(cmdId, this.updateRealTimeDataSource.bind(this)) | |
12564 | + this.subscribeEvent(cmdId, (message) => { | |
12565 | + this.updateRealTimeDataSource(message, agg) | |
12566 | + }) | |
12543 | 12567 | } |
12544 | 12568 | this.dataSourceNodeMapping.set(nodeId, item) |
12545 | 12569 | } |
... | ... | @@ -12575,9 +12599,9 @@ class HandleDataSource { |
12575 | 12599 | /** |
12576 | 12600 | * @description 更新实时数据 |
12577 | 12601 | * @param {} message |
12602 | + * @param {} agg 聚合方式 | |
12578 | 12603 | */ |
12579 | - updateRealTimeDataSource(message) { | |
12580 | - console.log(message) | |
12604 | + updateRealTimeDataSource(message, agg) { | |
12581 | 12605 | const { data = {}, subscriptionId } = message |
12582 | 12606 | const node = this.getNodeByCmdId(subscriptionId) |
12583 | 12607 | if (!node) return |
... | ... | @@ -12588,11 +12612,12 @@ class HandleDataSource { |
12588 | 12612 | const instance = chartInstanceMap.get(chartInstanceId) |
12589 | 12613 | const { attr = [[]] } = this.getBindData(subscriptionId) |
12590 | 12614 | const realDataList = data[attr] || [] |
12615 | + const showNumberOf = 4 | |
12616 | + const action = agg === 'NONE' ? 'unshift' : 'push' | |
12617 | + | |
12618 | + // const chartWidth = node.getAttribute('width') | |
12619 | + // const chartHeight = node.getAttribute('height') | |
12591 | 12620 | |
12592 | - const chartWidth = node.getAttribute('width') | |
12593 | - const chartHeight = node.getAttribute('height') | |
12594 | - console.log(chartHeight) | |
12595 | - console.log(chartWidth) | |
12596 | 12621 | // chart insstance 是否已经接受过一次消息推送 |
12597 | 12622 | const isActive = instance.isActive |
12598 | 12623 | if (!isActive) { |
... | ... | @@ -12601,24 +12626,10 @@ class HandleDataSource { |
12601 | 12626 | const seriesValue = [] |
12602 | 12627 | const chartOption = { |
12603 | 12628 | title: { |
12604 | - // text: '{a|}', | |
12605 | - subtext: '暂无数据', | |
12629 | + subtext: realDataList.length ? '' : '暂无数据', | |
12606 | 12630 | x: 'center', |
12607 | 12631 | y: 'center', |
12608 | 12632 | itemGap: -20, |
12609 | - // textStyle: { | |
12610 | - // rich: { | |
12611 | - // a: { | |
12612 | - // color: '#000', | |
12613 | - // fontSize: '16', | |
12614 | - // height: 160, | |
12615 | - // width: 180, | |
12616 | - // backgroundColor: { | |
12617 | - // image: '/thingskit-drawio/images/thingskit/empty.svg' | |
12618 | - // } | |
12619 | - // } | |
12620 | - // } | |
12621 | - // }, | |
12622 | 12633 | subtextStyle: { |
12623 | 12634 | fontSize: 16 |
12624 | 12635 | } |
... | ... | @@ -12661,21 +12672,24 @@ class HandleDataSource { |
12661 | 12672 | ], |
12662 | 12673 | dataZoom: [ |
12663 | 12674 | { |
12664 | - xAxisIndex: 0, | |
12665 | - show: realDataList.length ? true : false, | |
12675 | + show: true, | |
12666 | 12676 | type: 'slider', |
12667 | - startValue: 0, | |
12668 | - endValue: 4 | |
12677 | + // endValue: showNumberOf | |
12669 | 12678 | } |
12670 | 12679 | ] |
12671 | 12680 | } |
12672 | 12681 | |
12673 | - for (let i = realDataList.length - 1; i >= 0; i--) { | |
12674 | - const [timespan, value] = realDataList[i] | |
12675 | - xAxisData.push(new Date(Number(timespan)).toLocaleTimeString()) | |
12676 | - seriesValue.push(Number(value)) | |
12677 | - } | |
12678 | - console.log(chartOption) | |
12682 | + // for (let i = realDataList.length - 1; i >= 0; i--) { | |
12683 | + // const [timespan, value] = realDataList[i] | |
12684 | + // xAxisData.push(new Date(Number(timespan)).toLocaleTimeString()) | |
12685 | + // seriesValue.push(Number(value)) | |
12686 | + // } | |
12687 | + realDataList.forEach(item => { | |
12688 | + const [timespan, value] = item | |
12689 | + xAxisData[action](new Date(Number(timespan)).toLocaleTimeString()) | |
12690 | + seriesValue[action](Number(value)) | |
12691 | + }) | |
12692 | + | |
12679 | 12693 | instance.setOption(chartOption) |
12680 | 12694 | |
12681 | 12695 | } else { |
... | ... | @@ -12692,7 +12706,7 @@ class HandleDataSource { |
12692 | 12706 | } |
12693 | 12707 | |
12694 | 12708 | if (Number(oldOptions.dataZoom[0].endValue) === seriesValue.length - 1) { |
12695 | - oldOptions.dataZoom[0].endValue = 4 | |
12709 | + oldOptions.dataZoom[0].endValue = showNumberOf | |
12696 | 12710 | oldOptions.dataZoom[0].startValue = 0 |
12697 | 12711 | } else { |
12698 | 12712 | oldOptions.dataZoom[0].endValue = oldOptions.dataZoom[0].endValue + 1 |
... | ... | @@ -12701,6 +12715,9 @@ class HandleDataSource { |
12701 | 12715 | |
12702 | 12716 | if (!instance) clearInterval(interval) |
12703 | 12717 | instance && instance.setOption({ |
12718 | + title: { | |
12719 | + subtext: '' | |
12720 | + }, | |
12704 | 12721 | xAxis: { |
12705 | 12722 | data: xAxisData |
12706 | 12723 | }, |
... | ... | @@ -12711,17 +12728,21 @@ class HandleDataSource { |
12711 | 12728 | ], |
12712 | 12729 | dataZoom: [ |
12713 | 12730 | { |
12714 | - startValue: seriesValue.length > 5 | |
12715 | - ? oldStartValue === seriesValue.length - 1 | |
12716 | - ? 0 | |
12717 | - : oldStartValue + 1 | |
12718 | - : 0, | |
12719 | - endValue: seriesValue.length > 5 | |
12720 | - ? oldEndValue === seriesValue.length - 1 | |
12721 | - ? 4 | |
12722 | - : oldEndValue + 1 | |
12723 | - : 4 | |
12731 | + show: true, | |
12732 | + type: 'slider', | |
12724 | 12733 | } |
12734 | + // { | |
12735 | + // startValue: seriesValue.length - 1 > showNumberOf | |
12736 | + // ? oldStartValue === seriesValue.length - 1 | |
12737 | + // ? 0 | |
12738 | + // : oldStartValue + 1 | |
12739 | + // : 0, | |
12740 | + // endValue: seriesValue.length - 1 > showNumberOf | |
12741 | + // ? oldEndValue === seriesValue.length - 1 | |
12742 | + // ? showNumberOf | |
12743 | + // : oldEndValue + 1 | |
12744 | + // : showNumberOf | |
12745 | + // } | |
12725 | 12746 | ] |
12726 | 12747 | }) |
12727 | 12748 | } |
... | ... | @@ -12730,7 +12751,7 @@ class HandleDataSource { |
12730 | 12751 | /** |
12731 | 12752 | * @description 更新历史数据 |
12732 | 12753 | */ |
12733 | - updateHistoryDataSource(message) { | |
12754 | + updateHistoryDataSource(message, agg) { | |
12734 | 12755 | const { data = {}, subscriptionId } = message |
12735 | 12756 | const node = this.getNodeByCmdId(subscriptionId) |
12736 | 12757 | if (!node) return |
... | ... | @@ -12741,10 +12762,22 @@ class HandleDataSource { |
12741 | 12762 | const instance = chartInstanceMap.get(chartInstanceId) |
12742 | 12763 | const { attr = [[]] } = this.getBindData(subscriptionId) |
12743 | 12764 | const historyDataList = data[attr] || [] |
12765 | + const showNumberOf = 4 | |
12766 | + const action = agg === 'NONE' ? 'unshift' : 'push' | |
12767 | + | |
12744 | 12768 | |
12745 | 12769 | const xAxisData = [] |
12746 | 12770 | const seriesValue = [] |
12747 | 12771 | const chartOption = { |
12772 | + title: { | |
12773 | + subtext: historyDataList.length ? '' : '暂无数据', | |
12774 | + x: 'center', | |
12775 | + y: 'center', | |
12776 | + itemGap: -20, | |
12777 | + subtextStyle: { | |
12778 | + fontSize: 16 | |
12779 | + } | |
12780 | + }, | |
12748 | 12781 | tooltip: { |
12749 | 12782 | trigger: 'axis', |
12750 | 12783 | axisPointer: { |
... | ... | @@ -12784,20 +12817,20 @@ class HandleDataSource { |
12784 | 12817 | ], |
12785 | 12818 | dataZoom: [ |
12786 | 12819 | { |
12787 | - xAxisIndex: 0, | |
12788 | - show: false, | |
12820 | + // xAxisIndex: 0, | |
12821 | + show: true, | |
12789 | 12822 | type: 'slider', |
12790 | - startValue: 0, | |
12791 | - endValue: 4 | |
12823 | + // startValue: 0, | |
12824 | + // endValue: showNumberOf | |
12792 | 12825 | } |
12793 | 12826 | ] |
12794 | 12827 | } |
12795 | 12828 | |
12796 | - for (let i = historyDataList.length - 1; i >= 0; i--) { | |
12797 | - const [timespan, value] = historyDataList[i] | |
12798 | - xAxisData.push(new Date(Number(timespan)).toLocaleTimeString()) | |
12799 | - seriesValue.push(Number(value)) | |
12800 | - } | |
12829 | + historyDataList.forEach(item => { | |
12830 | + const [timespan, value] = item | |
12831 | + xAxisData[action](new Date(Number(timespan)).toLocaleTimeString()) | |
12832 | + seriesValue[action](Number(value)) | |
12833 | + }) | |
12801 | 12834 | |
12802 | 12835 | let interval |
12803 | 12836 | // TODO 清除定时器 |
... | ... | @@ -12805,7 +12838,7 @@ class HandleDataSource { |
12805 | 12838 | if (seriesValue.length <= 5) return |
12806 | 12839 | interval = setInterval(() => { |
12807 | 12840 | if (Number(chartOption.dataZoom[0].endValue) === seriesValue.length - 1) { |
12808 | - chartOption.dataZoom[0].endValue = 4 | |
12841 | + chartOption.dataZoom[0].endValue = showNumberOf | |
12809 | 12842 | chartOption.dataZoom[0].startValue = 0 |
12810 | 12843 | } else { |
12811 | 12844 | chartOption.dataZoom[0].endValue = chartOption.dataZoom[0].endValue + 1 |
... | ... | @@ -12829,9 +12862,9 @@ class HandleDataSource { |
12829 | 12862 | } |
12830 | 12863 | |
12831 | 12864 | instance.setOption(chartOption) |
12832 | - instance.on('mouseover', stop) | |
12833 | - instance.on('mouseout', goMove) | |
12834 | - autoMove() | |
12865 | + // instance.on('mouseover', stop) | |
12866 | + // instance.on('mouseout', goMove) | |
12867 | + // autoMove() | |
12835 | 12868 | } |
12836 | 12869 | |
12837 | 12870 | /** |
... | ... | @@ -13110,7 +13143,7 @@ class HandleDynamicEffect { |
13110 | 13143 | |
13111 | 13144 | /** |
13112 | 13145 | * @description 动效节点映射 |
13113 | - * @type {Map<string, Map<string, any>>} | |
13146 | + * @type {Map<string, {display: boolean, value: Map<string, any>}>} | |
13114 | 13147 | */ |
13115 | 13148 | actNodeMapping = new Map() |
13116 | 13149 | |
... | ... | @@ -13192,9 +13225,9 @@ class HandleDynamicEffect { |
13192 | 13225 | this.enableActList.forEach(each => { |
13193 | 13226 | const { id, type, attr, deviceId, slaveDeviceId } = each |
13194 | 13227 | |
13195 | - if (!this.actNodeMapping.has(id)) this.actNodeMapping.set(id, new Map()) | |
13228 | + if (!this.actNodeMapping.has(id)) this.actNodeMapping.set(id, { display: true, value: new Map() }) | |
13196 | 13229 | const temp = this.actNodeMapping.get(id) |
13197 | - temp.set(type, each) | |
13230 | + temp.value.set(type, each) | |
13198 | 13231 | |
13199 | 13232 | const cmdId = this.DispatchInstance.getCmdId(id) |
13200 | 13233 | |
... | ... | @@ -13272,6 +13305,11 @@ class HandleDynamicEffect { |
13272 | 13305 | rotate(message) { |
13273 | 13306 | const { subscriptionId, data } = message |
13274 | 13307 | const node = this.getNodeByCmdId(subscriptionId) |
13308 | + const key = node.id + DispatchCenter.enumDynamicEffectType.ROTATE | |
13309 | + if (!this.validatePriority(node.id)) { | |
13310 | + this.delUpdateFn(key) | |
13311 | + return | |
13312 | + } | |
13275 | 13313 | const { flag } = this.validate(subscriptionId, DispatchCenter.enumDynamicEffectType.ROTATE, data) |
13276 | 13314 | let deg = 0 |
13277 | 13315 | const updateFn = () => { |
... | ... | @@ -13280,11 +13318,10 @@ class HandleDynamicEffect { |
13280 | 13318 | let style = node.getStyle() |
13281 | 13319 | const reg = /rotation=(-?)\w+(;?)/g |
13282 | 13320 | style = style.replace(reg, '') |
13283 | - style += `rotation=${deg}` | |
13321 | + style += `rotation=${deg};` | |
13284 | 13322 | node.setStyle(style) |
13285 | 13323 | this.graph.updateCellStyles(style, node) |
13286 | 13324 | } |
13287 | - const key = node.id + DispatchCenter.enumDynamicEffectType.ROTATE | |
13288 | 13325 | if (!flag) { |
13289 | 13326 | this.delUpdateFn(key) |
13290 | 13327 | return |
... | ... | @@ -13303,14 +13340,31 @@ class HandleDynamicEffect { |
13303 | 13340 | if (!flag) return |
13304 | 13341 | const node = this.getNodeByCmdId(subscriptionId) |
13305 | 13342 | let isShow = false |
13306 | - if (node.visible && condition.type === HandleDynamicEffect.enumDisplayType.SHOW) { | |
13307 | - return | |
13308 | - } else if (condition.type === HandleDynamicEffect.enumDisplayType.SHOW) { | |
13343 | + if (condition.type === HandleDynamicEffect.enumDisplayType.SHOW) { | |
13309 | 13344 | isShow = true |
13310 | 13345 | } else if (condition.type === HandleDynamicEffect.enumDisplayType.HIDDEN) { |
13311 | 13346 | isShow = false |
13312 | 13347 | } |
13313 | 13348 | const updateFn = () => { |
13349 | + // let style = node.getStyle() | |
13350 | + // const reg = /opacity=(-?)\w+(;?)/g | |
13351 | + // style = style.replace(reg, '') | |
13352 | + // style += `opacity=${isShow ? 100 : 0};` | |
13353 | + // console.log(style) | |
13354 | + // node.setStyle(style) | |
13355 | + | |
13356 | + if (!isShow) { | |
13357 | + Object.keys(HandleDynamicEffect.enumActType).forEach(key => { | |
13358 | + const delKey = node.id + key | |
13359 | + this.delUpdateFn(delKey) | |
13360 | + }) | |
13361 | + const temp = this.actNodeMapping.get(node.id) | |
13362 | + temp.display = false | |
13363 | + } else { | |
13364 | + const temp = this.actNodeMapping.get(node.id) | |
13365 | + temp.display = true | |
13366 | + } | |
13367 | + | |
13314 | 13368 | node.setVisible(isShow) |
13315 | 13369 | } |
13316 | 13370 | this.insertOnceUpdateFn(node, updateFn) |
... | ... | @@ -13324,13 +13378,17 @@ class HandleDynamicEffect { |
13324 | 13378 | flash(message) { |
13325 | 13379 | const { subscriptionId, data } = message |
13326 | 13380 | const node = this.getNodeByCmdId(subscriptionId) |
13381 | + const key = node.id + DispatchCenter.enumDynamicEffectType.FLASH | |
13382 | + if (!this.validatePriority(node.id)) { | |
13383 | + this.delUpdateFn(key) | |
13384 | + return | |
13385 | + } | |
13327 | 13386 | const { flag, condition } = this.validate(subscriptionId, HandleDynamicEffect.enumActType.FLASH, data) |
13328 | 13387 | let flashFlag = false |
13329 | 13388 | const updateFn = () => { |
13330 | 13389 | node.setVisible(flashFlag) |
13331 | 13390 | flashFlag = !flashFlag |
13332 | 13391 | } |
13333 | - const key = node.id + DispatchCenter.enumDynamicEffectType.FLASH | |
13334 | 13392 | if (!flag) { |
13335 | 13393 | flashFlag = true |
13336 | 13394 | this.insertOnceUpdateFn(node, updateFn) |
... | ... | @@ -13399,7 +13457,7 @@ class HandleDynamicEffect { |
13399 | 13457 | getBindData(subscriptionId, actionType) { |
13400 | 13458 | const nodeId = this.getNodeIdByCmdId(subscriptionId) |
13401 | 13459 | const temp = this.actNodeMapping.get(nodeId) |
13402 | - return temp.get(actionType) | |
13460 | + return temp.value.get(actionType) | |
13403 | 13461 | } |
13404 | 13462 | |
13405 | 13463 | /** |
... | ... | @@ -13421,6 +13479,15 @@ class HandleDynamicEffect { |
13421 | 13479 | return this.DispatchInstance.contentAllCell.find(item => item.id === nodeId) |
13422 | 13480 | } |
13423 | 13481 | |
13482 | + /** | |
13483 | + * @description 验证优先级 | |
13484 | + * @param {string} nodeId | |
13485 | + * @returns | |
13486 | + */ | |
13487 | + validatePriority(nodeId) { | |
13488 | + return this.actNodeMapping.get(nodeId).display | |
13489 | + } | |
13490 | + | |
13424 | 13491 | } |
13425 | 13492 | |
13426 | 13493 | class UpdateQueue { | ... | ... |