А мне кажется очень красиво. Фпс маловат, но все равно классно. Концов не могу найти, весь код минифицирован. Можно попробовать искать здесь - https://epica.ru/_nuxt/d360fb7a1317ac2de91c.js .
Думаю Соколов может что-то знать о реализации подобного, @sergiks
Или Богачёв, Ivan Bogachev
"Cannot read property 'run' of undefined at Client. (C:\Папки\Bot\bot.js:68:20)" - вот текст ошибки. На 68ой строке вы пытаетесь обратиться к свойству run у undefined. Такого свойства у undefined нету
Надим Закиров, Вообще для начала немного странно, что все данные вы храните в браузере, это в 99% случаев довольно хреновый вариант, и вот вы сами на практике нашли одну из причин. Если вас устраивают такие условия и вам действительно нужен экспорт, то мне кажется вам проще будет его реализовать архивом: по нажатию на кнопку экспорта создаёте архив в котором будет файл конфига и директория с файлами найденными в переписке, в конфиге ссылаетесь на эти файлы; при нажатии на кнопку экспорта запрашиваете у пользователя архив, парсите конфиг, загружаете файлы из архива в нужном вам формате
"как тогда быть, если объект кроме строк и чисел может содержать Blob?" - это довольно внезапно учитывая что вопрос начался с фразы "допустим есть объект с настройками программы". Я бы например сильно удивился если б в конфиге вдруг откуда-то возникли бинарные данные. Если вам действительно зачем-то нужно достать из браузера бинарные данные с конвертацией через JS (а звучит это очень странно и скорее всего это совсем не то что нужно), то вы вполне можете использовать replacer в JSON.stringify.
Думаю более менее адекватный ответ вы получите только после того как полностью опишете условия задачи
"material design, но он для ангуляра" - md это большой набор ui правил и ux суеверий, он используется очень много где. И само собой реализации md существуют для всех известных фреймворков, а не только для angular. И без фреймворков он тоже доступен в уже готовом виде. Вот например реализация на оф сайте мд - https://material.io/components/text-fields . Открывайте инспектор, смотрите как реализован инпут. Или вот реализация на материалайзе - https://materializecss.com/text-inputs.html
nikivinn, выражение "document.getElementById(".chosen-value")" возвращает элемент у которого идентификатор равен ".chosen-value" (без кавычек). В вашей разметке нету элемента с идентификатором ".chosen-value"
Это легко ищется, это ведь самое простое что можно делать регулярками. В куче учебных материалов это один из первых примеров использования регулярок. Репорт же