На фронте нет кода. Правда?
Задача: Добавить функционал изменения заливки фигур, типа заливки и изменения цвета бордера.
Важный момент, в tldraw проп color отвечает и за заливку, и за бордер, отделить логику без кастомного утилс не получится. А DefaultColorStyle может быть только у одной пропсы, т.к. сложный объект и валидация не пройдет. Значит пишем свой утил, экстендимся от BaseBoxShapeUtil или GeoShapeUtil, создаем новый объект для новой пропсы. В первом случае нужно писать все поддерживаемые фигуры с нуля, значит и кода больше, во втором случае в геоутилс уже все есть, нужно только забрать svgPath, метод тоже предоставляется.
Результат: Написан полностью кастомный shape. Старый шейп с типом 'geo' недоступен для пользователей, но поддерживется для обратной совместимости. У новых шейпов доступен функционал: • изменить тип заливки: без заливки / полупрозрачная / сплошная; • изменить цвет заливки; • изменить цвет бордера; • изменить толщину бордера('s' / 'm' / 'l' / 'xl' ); • вставка текста в фигуру. При выделении нескольких фигур также этот функционал доступен. Все настройки фигуры сохраняются в стейт. Есть в будущем возможность добавить функционал: • изменить тип бордера(пунктир/ точки/ линии и т.д); • управление стилем текста(размер / шрифт / цвет; • управление прозрачностью(границы/ фон); • управление толщиной бордера в pixels; • управление бордерРадиусом.
Написала 775 строчек кода.
· 13.05
Смотря какой фабрик, сколько дитейлз.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён