==== Cablecat. Коммутация. JS логика ==== JS логика рисования коммутации представлена скриптом ''commutation.js''. \\ Для отрисовки на canvas'e используется библиотека Raphael.js (https://github.com/DmitryBaranovskiy/raphael/) Внутри логика отрисовки разделена по функционалу на отдельные объекты: ^ACableDrawer|Отрисовка кабелей и волокон кабеля| ^AInformation|Вывод дополнительной информации о волокнах| ^ACableColorPalette|Работа с цветовой схемой кабеля| ^ALinkManager|Хранение и управление соединениями между волокнами| ^ALinkDrawer|Отрисовка соединений волокон| ^Link | Функция-конструктор для соединения. Отвечает за отрисовку соединения| ==== Входные данные ==== Структура входных данных для кабеля: var cable = { id : 'string', image : { modules : int, fibers : int, color : 'string' }, meta : { name : 'string', // Localized name for cable position : 'enum', // 'bottom', 'top', 'left', 'right' fibers : { id : fiberObject } } } Структура объекта волокна: var fiberObject = { id : int, connected: { name : 'string', length: 'string' }; ==== Константы и опции ==== ''scale'' По умолчанию равна 2. SCHEME_OPTIONS = { SCALE : scale, CABLE_WIDTH : 25 * scale, CABLE_HEIGHT_MARGIN : 5 * scale, MODULE_WIDTH : 5 * scale, FIBER_WIDTH : 5 * scale, FIBER_HEIGHT : 25 * scale, FIBER_MARGIN : 5 * scale, ROUTER_WIDTH : 25 * scale, ROUTER_HEIGHT_MARGIN: 5 * scale, CANVAS_BASE_SIZE : 65, CABLE_COLOR : 'black', ROUTER_COLOR : 'green', FONT : 'Roboto', FONT_SIZE : 13, FONT_COLOR : 'black' };