Есть ли “правильный” способ редактирование основы (файла, создаваемого во внешнем редакторе) svg панели, что бы при добавлении элементов и последующей загрузки этого файла, предыдущие связи не сбрасывались?
Есть, приведу тут выдержку, подробнее в документации: SVG-панели (Dashboards) — Wiren Board
Я редактирую svg программой Illustrator. После обновления у меня элементам присваиваются новые id. Ниже приведена часть json файла одного и того же элемента “id”: “f184cd3f0b05” - это до обновления файла, id": “f184f19b8268 - этот же элемент после обновления (настройки разные, что бы было проще найти…) id”: "f184f19b8268 создается в конце файла, т.е. как будто бы новый элемент…
Понятно, что руками можно поправить, но если файл большой с большим кол-вом элементов, это как миниимум неудобно…
[
{
“id”: “f184cd3f0b05”,
“read”: {
“enable”: true,
“channel”: “wb-modbus-0-1/Давление 1”,
“value”: “val.toFixed(2) + " бар"”
},
“write”: {
“enable”: false,
“channel”: null,
“value”: {
“on”: 1,
“off”: 0
}
},
“visible”: {
“enable”: false,
“channel”: null,
“condition”: “==”,
“value”: null
},
“style”: {
“enable”: false,
“channel”: null,
“value”: null
}
},
….
{
“id”: “f184f19b8268”,
“read”: {
“enable”: true,
“channel”: “wb-gpio/5V_OUT”,
“value”: “val”
},
“write”: {
“enable”: false,
“channel”: null,
“value”: {
“on”: 1,
“off”: 0
}
},
“visible”: {
“enable”: false,
“channel”: null,
“condition”: “==”,
“value”: null
},
“style”: {
“enable”: false,
“channel”: null,
“value”: null
}
}
]
“Illustrator” - это имеется в виду Adobe Illustrator?
да - Adobe Illustrator CC
id в JSON файле — это data-svg-param-id в самом SVG.
Опишите, пожалуйста, по шагам свои действия. В Illustrator сейчас проверить не могу.
- Создание файла svg в AI (Adobe Illustrator)
- Создание SVG панели в web интерфейсе wb (wirenboard)
- Импортирование svg файла (кнапка загрузить)
- Настройка элементов в web интерфейсе wb
- Проверка - данные верно изменяются на панели, все ок
- Через кнопку Редактировать вход в режим редактирования панели
- Скачивание svg файла на компьютер кнопкой " стрлка вниз"
- Редактирование (добавление нового элемента) в программе AI, сохранение файла
- Выбор измененного файла кнопкой Обзор, загрузка кнопкой Записать.
После этого настройки всех элементов пустые и при их редактировании появляются новые id…
Делаете всё верно, значит Adobe Illustrator пересоздаёт SVG заново при сохранении и я могу предположить причину: SVG не родной для иллюстратора формат, он из него может импортировать и экспортировать. Видимо он внутри как-то работает с объектами по своему, очищая по пути наши идентификаторы. Далее наш редактор их не находит, поэтому добавляет новые.
Единственный вариант остаётся — редактирование SVG в рекомендованном нами Inkscape. Спасибо за обратную связь, добавим в документацию пометку, что иллюстратор использовать для этого нельзя.
Да, с Inkscape такой проблемы вроде нет. Спасибо!
Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.