2014-09-12 2 views
1

У меня есть динамическая сгенерированная блок-схема с jsPlumb. Im сохраняет его в базу данных MySQL, и мне нужно другое представление без каких-либо функций редактирования.jsPlumb Конечная точка видимая: false?

Я знаю, как удалить все части, чтобы сделать их не редактируется , но он всегда показывает точки подключения (слева, справа, сверху, снизу)

Как я могу сделать их невидимыми, так что я просто увидеть разъем/Arrow без моей точки подключения?

sourceEndpoint = { 
    endpoint:["Rectangle",{ width:1, height:1}], 
    paintStyle:{ 
     fillStyle:"#db0013", 
    }, 
    maxConnections:999,  
    isSource:false, 
    isTarget:false,   
    connector:[ "Flowchart", { stub:[10, 25], gap:0, cornerRadius:0, alwaysRespectStubs:false } ],            
    connectorStyle:connectorPaintStyle, 
    hoverPaintStyle:endpointHoverStyle, 
    connectorHoverStyle:connectorHoverStyle, 
    dragOptions:{}  
    }, 

прямоугольник с шириной и высотой = 1 делает это очень мало, но все-таки видно как я могу сделать это невидимость? :)

ТНХ так фа

XQP

ответ

1

Есть еще два способа:

  1. Использовать пустой конечный тип. It does not draw anything visible to the user.

  2. Добавить CssClass опционам sourceEndpoint

    sourceEndpoint = { 
    ... other options ... 
        cssClass: 'source-endpoint' 
    } 
    

    и стиль CSS

    .source-endpoint svg * { 
        fill: transparent; 
        stroke: transparent; 
    } 
    
+0

ТНХ для этого решения, немного поздно, но все же можно использовать его thx – xQp

0

на http://www.jsplumb.org/doc/endpoints.html Я заметил, что вы можете добавить CSS к конечной точке. Не можете ли вы просто использовать css «display: none»?

+0

судимое это, но не работал, может быть, плохо попробовать еще раз на PHP непосредственно вместо внешнего CSS – xQp

1

Поскольку нет никакой функции, чтобы получить все конечные точки, следовательно, вам нужно получить все элементы, имеющими конечные точки, а затем для каждой конечной точки отдельного элемента вам необходимо установить его видеть ложь:

var elem = $('.havingEndpoint'); // get elements having endpoint based on its class 

for(var i=0;i<elem.length;i++) // for all elements having endpoints iterate 
{ 
    var eps=jsPlumb.getEndpoints($(elem[i])); //get all endpoints of element 
    for(var j=0;j<eps.length;j++) 
    { 
      eps[j].setVisible(false); // Set visibility of endpoint to false 
    } 
} 

Для более см API Дока:

->Getting endpoints for an element

->Setting visibility for endpoint

Смежные вопросы