Стартовая страница › Форумы › Новые идеи › Mimic — Faceplate
- В этой теме 17 ответов, 4 участника, последнее обновление 1 месяц, 4 недели назад сделано
manjey73.
-
АвторСообщения
-
05.12.2025 в 09:17 #41294
manjey73УчастникFacepalm больше 🙂
1. Задумка была такова: передавать фейсплейту номер объекта (или устройства), несколько дополнительный параметров (по типу наименования объекта) и иметь некое самостоятельное окно, по сути шаблон, которое в несколько кликов можно вынести и настроить. (c) @imya
Это основное и самое главное. Но, если мнемосхема может передать целиком переменные Устройства и тем более объекта, то мнемосхема фактически может запрашивать у сервера много данных, больше, чем требуется экземпляру или экземплярам faceplate на данной мнемосхеме.
а) от faceplate нужна обратная связь в мнемосхему, чтобы мнемосхема построила «карту» параметров для запроса, чтобы после первого запуска мнемосхемы запрашивать у сервера только нужные данные
б) Необходимо, чтобы мнемосхема передавала в компонент больше данных, не только номера сигналов и коды тегов, но и имена объектов, имена экземпляров, Код и в идеале чтобы это было настраиваемым под мнемосхему. Если не надо, отключаем, если надо (применяем сложные faceplate со скриптами и т.д., мало ли для чего?)
в) скрипты или даже функционал самого faceplate должны уметь оперировать полученными данными, делать фильтрацию строковых данных по условиям. * любые символы сначала или в конце, ? любой одиночный символ, % — что-то вроде маски и т.д.2. После установки faceplate в зависимость проекта, нужна возможность его обновления, если мы что-то решили изменить в коде самого faceplate. Пока только через отключению и новое подключение он обновляется.
3. Когда мы подключили faceplate в Компоненты — должна быть возможность его настроить. Например изначально faceplate у нас создан под светлую тему, а мы делаем проект в темной теме. Мы должны зайти в настройки faceplate (напомню, в экземпляр faceplate добавленный в Компоненты проекта, а не в сам faceplate, сделав его очередную копию), изменить константы привязанных (экпортируемых) свойств — фон, цвета линий, в общем всего того, что мы вытянем из встроенных компонетов для настроек самого faceplate — надеюсь понятно объяснил хотелку? 🙂
Кстати то же самое относится и ко всем остальным компонентам, чтобы в проекте можно было настроить ОДИН раз нужные компоненты, а потом просто выбирать и ставить их на холст мнемосхемы, а не заниматься копированием всего и вся.
Как вариант — ставим первый на холст, настраиваем под тему, потом выбираем его и через контекстное меню или иным способом — Копировать все свойства — Далее применить свойства ЧЕМУ? другому компоненту на холсте, либо компоненту в дереве проекта — Сохранить.4. Все скрипты, стили и прочее должно быть изолировано установленным экземпляром.
Но с возможностью прямо в свойствах мнемосхемы этим оперировать.
Например faceplate — Клапан. Поставили два и более экземпляров на холст — получили на холсте условно Клапан1 и Клапан2. У каждого есть стиль изменения например цвета
my-faceplate {color: red;} (или вместо red имя привязанной переменной скажем [colorX] (з.ы. тут я не знаю и не понимаю как это делается в javascript все условно).
На основной мнемосхеме возможность добавить переменную — Клапан1.colorX или скажем Клапан1.my-faceplate.color — в общем тоже условно для возможности привязать канал, для возможности изменить это свойство другим компонентом и т.д.
А не дебрями скриптов, которые забудутся через Н-ное время… ползанием по консоли брайзера для вычисления номера компонента или в том же духе… Все должно быть понятно оперируя данными в редакторе мнемосхем.5. про предустановленные скрипты уже писал… по аналогии с Администратором. Выбираем из списка предустановленные скрипты, сделать им подсказки, и оно автоматом прописывает в скрипты компонента, тем самым можно будет получать примеры и учиться на них.
-
Тема изменена 2 месяца назад пользователем
manjey73.
05.12.2025 в 12:05 #41300
MikhailМодератор> После установки faceplate в зависимость проекта, нужна возможность его обновления, если мы что-то решили изменить в коде самого faceplate.
Кнопка обновить на верхней панели перезагружает фейсплейт.05.12.2025 в 12:07 #41301
MikhailМодератор> Когда мы подключили faceplate в Компоненты — должна быть возможность его настроить.
Сделайте это через CSS мнемосхемы.05.12.2025 в 12:10 #41304
MikhailМодераторВ CSS есть в том числе переменные. Таблица стилей фейсплейта может быть создана с использованием переменных. А сами переменные уже устанавливаются на уровне таблицы стилей мнемосхемы. Это всё нужно пробовать экспериментально.
-
Ответ изменён 2 месяца назад пользователем
Mikhail.
05.12.2025 в 12:14 #41305
MikhailМодераторСамое главное для понимания:
— Фейсплейт — это такой же компонент, как и все остальные.
— Он имеет свойства, которые устанавливаются для экземпляра компонента после того, как он помещён на схему.
— Фейсплейт ничего не знает о каналах, объектах и т.п. Изменение свойств фейсплейта приводит к изменению его отображения.
— Привязка свойств к данным выполняется на уровне мнемосхемы.05.12.2025 в 12:16 #41307
manjey73УчастникНу вы опять отправляете изучать… CSS, скрипты и т.д.
Сделайте предустановленные шаблоны скриптов и CSS для различных применений..
У меня вот вопрос по другой теме сразу. Почему я класс CSS добавил в faceplate, поставил два штуки на мнемосхему + добавил Text на мнемосхему, а выкрасилось в красное все, и оба faceplate-а и Текст.
А при повороте повернулась еще и мнемосхема.Что-то неправильно сделал или это ошибка и стили и скрипты компонентов никак не изолируются друг от друга? Если последнее, то в топку такой faceplate, если надо делать его копии под одну и ту же задачу… Тех же клапанов, приводов, моторов на мнемосхемах может быть много и их поведение должно быть абсолютно разным при одинаковом коде внутри.
05.12.2025 в 12:17 #41308
MikhailМодераторЕщё весьма полезен файл ScadaWeb\wwwroot\plugins\Mimic\css\mimic.css
В нём можно прописать свои стили, которые будут применяться ко всем мнемосхемам.05.12.2025 в 12:19 #41309
manjey73Участник— Фейсплейт — это такой же компонент, как и все остальные.
Это я понимаю, потому что он состоит из набора компонентов, просто собранных в одном месте.
Почему у меня все повернулось, если стиль CSS задан ТОЛЬКО в фейсплейте, я применяю стиль на main схеме и ожидаю, что повернутся все фейсплейты, потому что класс стиля только в них, а поворачивается и main? вот с какого бодуна ?Это же должны быть экземпляры компонента, установленные на main со своими правилами.
И как например обратиться из main к конкретно установленному экземпляру тоже загадка.з.ы. опять чувствую пошлете в консоль браузера 🙂
-
Ответ изменён 2 месяца назад пользователем
manjey73.
06.12.2025 в 12:14 #41319
MikhailМодератор> опять чувствую пошлете в консоль браузера
100%, искать причину именно так.
Выбираете компонент и смотрите, какие стили к нему применились.
Присылайте скриншоты, тогда смогу дать рекомендации по написанию CSS.06.12.2025 в 13:19 #41323
manjey73Участник1. CSS задан только в faceplate — пример MyFaceplate который вы выкладывали, там есть класс изменения цвета.
2. установите два таких + текст
На главной мнемосхеме укажите в стилях my-faceplate
Почему выкрашивается в красный даже текст, если класс стиля прописан только в faceplate-е ?
Не должно быть такого, стиль должен был примениться только к экземплярам фейсплейта, установленного на схеме.
06.12.2025 в 14:23 #41325Romiros
УчастникУбедитесь что название вашего класса уникально. Возможно в этом проблема. Если стили не изолированные, а это только уникальное имя, то они применяются ко всему html документу. Так работает весь web.
06.12.2025 в 14:42 #41326
manjey73УчастникВот, отсюда вопросы.
1. Каким образом сделать, чтобы класс CSS, который я создам в элементе (контейнере), чтобы он принадлежал только контейнеру и никому больше.
2. Каким образом использовать класс в главной мнемосхеме, чтобы
а) привязать одну переменную и применить его только к одному экземпляру контейнера на мнемосхеме
б) привязать одну переменную, но применить сразу ко всем экземплярам контейнера, установленных на мнемосхемеМожет все же как-то это кодом плагина Mimic организовать, чтобы для пользователей сделать меньше телодвижений ?
08.12.2025 в 14:20 #41332
MikhailМодераторСделайте скриншот из инструментов разработчика, предварительно выбрав компонент. Чтобы был виден HTML-код компонента. Тогда смогу дать рекомендации по оптимальному CSS. Всё это довольно легко делается.
08.12.2025 в 14:46 #41336
manjey73Участникскриншот из инструментов разработчика если бы я знал еще что это и где, цены бы не было 😀
08.12.2025 в 15:00 #41337
manjey73Участникблин, писал, писал и все слетело 🙁
лень повторять.
1. хочу поведение как в программировании ПЛК — Экземпляр объекта, класса и т.д. выделение памяти под него включая все стили, скрипты и т.д.
2. мне все равно, как это будет работать под капотом, главное чтобы это не валилось все в кучу. Это привычно всем асушникам, кто программирует ПЛК. И это задача редактора и плагина разруливать такие вещи
3. ХОЧУ (см.1 и 2) чтобы при изменении(применении) стиля он применялся только к тем компонентам, где он прописан, чтобы можно было привязать переменную к этому.
4. ХОЧУ чтобы можно было применить стиль либо к конкретному ЭКЗЕМПЛЯРУ или ко всем, где данный стиль прописан, а не ко всему подряд.тогда это будет правильным и разумны, и мне все равно как это работает под капотом.
з.ы. я и так не высыпаюсь, чтобы еще и это изучать. и думаю большинство асушников меня поддержат.
-
Тема изменена 2 месяца назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.