Как использовать / установить stopDelegation с опциями бумаги Jointjs (на основе примера Angular 6 Kitchensink) - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь использовать эту «новую» функцию stopDelegation.Я хочу предоставить «только для чтения» представление о бумаге, и я почти закончил - последнее, чего не хватает, это подвижность (перетаскивание) бумаги.Ну, это подвижно, но не при захвате элемента / формы / ссылки.Как этот вариант предполагается использовать?На самом деле я использую пробную версию v2.4.0 (Angular 6).

Согласно документации, я предположил, что stopDelegation является свойством CellView.InteractivityOptions (или ElementView.InteractivityOptions).Но это не похоже на работу.

    const self = this;
    const paper = (this.paper = new joint.dia.Paper({
      width: 1000,
      height: 1000,
      gridSize: 10,
      drawGrid: true,
      model: graph,
      cellViewNamespace: appShapes,
      defaultLink: <joint.dia.Link>new appShapes.app.Link(),
      interactive: function(cellView, event) {
        return {
          linkMove: self.isEditable,
          labelMove: self.isEditable,
          arrowheadMove: self.isEditable,
          vertexMove: self.isEditable,
          vertexAdd: self.isEditable,
          vertexRemove: self.isEditable,
          useLinkTools: self.isEditable,
          elementMove: self.isEditable,
          addLinkFromMagnet: self.isEditable,
          stopDelegation: self.isEditable
        } as joint.dia.CellView.InteractivityOptions;
      }
    }));

Когда self.isEditable == false, бумага должна быть подвижной при захвате элемента, но это не так (она все еще подвижна, когда указывает на пустое место на бумаге).

(Мне также пришлось немного подправить rappis.d.ts, чтобы интерактивная функция была функцией, возвращающей объект CellView.InteractivityOptions ...).

Я что-то не так делаю или это ошибка?Или он не предназначен / не предназначен для его использования (чтобы разрешить перемещение бумаги только вместо родительского «элемента»)?

...