Commit 18b300be9d02da447d523adcd6a4f3a5931c441a

Authored by ww
1 parent e3fb8dbb

fix: fix some component not has data source panel but can checked

@@ -403,6 +403,24 @@ Format.prototype.immediateRefresh = function () { @@ -403,6 +403,24 @@ Format.prototype.immediateRefresh = function () {
403 var currentLabel = null; 403 var currentLabel = null;
404 var currentPanel = null; 404 var currentPanel = null;
405 405
  406 +
  407 + /**
  408 + * @description 验证是否有数据绑定面板
  409 + * @returns {boolean}
  410 + */
  411 + const validateHasDataSourcePanel = () => {
  412 + const ui = this.editorUi;
  413 + const ss = ui.getSelectionState();
  414 + const vertices = ss.vertices || []
  415 + const sidebarInstance = ui.sidebar
  416 + const cell = vertices[0]
  417 + if (!cell) return false
  418 + const basicAttr = sidebarInstance.enumCellBasicAttribute
  419 + const componentType = cell.getAttribute(basicAttr.COMPONENT_TYPE)
  420 + const hasPermission = sidebarInstance.getComponentPermission(componentType)
  421 + return !!hasPermission.length
  422 + }
  423 +
406 var addClickHandler = mxUtils.bind( 424 var addClickHandler = mxUtils.bind(
407 this, 425 this,
408 function (elt, panel, index, lastEntry) { 426 function (elt, panel, index, lastEntry) {
@@ -435,6 +453,8 @@ Format.prototype.immediateRefresh = function () { @@ -435,6 +453,8 @@ Format.prototype.immediateRefresh = function () {
435 currentPanel.style.display = ""; 453 currentPanel.style.display = "";
436 } 454 }
437 } 455 }
  456 +
  457 + if (!validateHasDataSourcePanel()) this.currentIndex = 0
438 }); 458 });
439 459
440 mxEvent.addListener(elt, "click", clickHandler); 460 mxEvent.addListener(elt, "click", clickHandler);
@@ -586,23 +606,6 @@ Format.prototype.immediateRefresh = function () { @@ -586,23 +606,6 @@ Format.prototype.immediateRefresh = function () {
586 this.panels.push(new ArrangePanel(this, ui, arrangePanel)); 606 this.panels.push(new ArrangePanel(this, ui, arrangePanel));
587 this.container.appendChild(arrangePanel); 607 this.container.appendChild(arrangePanel);
588 608
589 - /**  
590 - * @description 验证是否有数据绑定面板  
591 - * @returns {boolean}  
592 - */  
593 - const validateHasDataSourcePanel = () => {  
594 - const ui = this.editorUi;  
595 - const ss = ui.getSelectionState();  
596 - const vertices = ss.vertices || []  
597 - const sidebarInstance = ui.sidebar  
598 - const cell = vertices[0]  
599 - if (!cell) return false  
600 - const basicAttr = sidebarInstance.enumCellBasicAttribute  
601 - const componentType = cell.getAttribute(basicAttr.COMPONENT_TYPE)  
602 - const hasPermission = sidebarInstance.getComponentPermission(componentType)  
603 - return !!hasPermission.length  
604 - }  
605 -  
606 if (validateHasDataSourcePanel()) { 609 if (validateHasDataSourcePanel()) {
607 // bind data 610 // bind data
608 mxUtils.write(label4, "数据绑定"); 611 mxUtils.write(label4, "数据绑定");