Что такое метод fsa.State элемента Shapes в библиотеке JointJS - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь понять исходный код Finite State Machine демо Joint Js lib v-2.2.Я застрял ниже function

function state(x, y, label) {

var cell = new joint.shapes.fsa.State({
    position: { x: x, y: y },
    size: { width: 60, height: 60 },
    attrs: { text : { text: label }}
});
graph.addCell(cell);
return cell;
};

Выше я пытался получить ссылку на конструктор ниже для fsa.State в официальном документе, но не смог найти.

var cell = new joint.shapes.fsa.State({..});

Любойподсказки, как это работает.

Ссылка:

https://resources.jointjs.com/demos/fsa

https://resources.jointjs.com/demos/joint/demo/fsa/src/fsa.js

1 Ответ

0 голосов
/ 17 февраля 2019

Если вы посмотрите на исходный код демонстрационного примера fsa, который вы можете найти здесь - https://resources.jointjs.com/demos/joint/demo/fsa/index.html

Вы увидите, что наряду с библиотекой joinjs и ее зависимостями есть еще один скриптдобавлено

<script src="../../plugins/shapes/joint.shapes.fsa.js"></script>

Если вы посмотрите на его исходный код, этот плагин определил, что fsa.State

joint.shapes.basic.Circle.define('fsa.State', {...

fsa.State не является частью базовой библиотеки jointjs.Чтобы использовать его, вы должны включить этот плагин.

Возможно, по этой причине он не является частью официальных документов.Но вы можете найти исходный код на GitHub https://github.com/clientIO/joint/tree/master/dist там есть файл joint.shapes.fsa.js.

Читайте об определении вашей собственной формы https://resources.jointjs.com/docs/jointjs/v2.2/joint.html#dia.Cell.define в официальном документе.

...