Шаблон класса / Class Template

Новые релизы, обновления и т.п.

Модератор: immortal

Аватара пользователя
sergejey
Site Admin
Сообщения: 4279
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1529 раз
Контактная информация:

Шаблон класса / Class Template

Сообщение sergejey » Пт ноя 18, 2016 6:41 pm

Ещё одна очень экспериментальная и, как по мне, весьма интересная штука для разработчиков -- шаблон класса.

В настройках класса объектов появилась дополнительная закладка Template (Шаблон) -- туда можно вводить HTML/javascript код, который будет отвечать за визуальное представление и поведение всех объектов данного класса, если они будут добавлены в сцену.
Изображение

Код шаблона:

Код: Выделить всё

<div style='display:%.status|"none;block"%' onClick='callMethod("%.turnOff");'>Включено</div>
<div style='display:%.status|"block;none"%' onClick='callMethod("%.turnOn");'>Выключено</div> 
Как видно из примера, в шаблоне можно использовать HTML для отображения, а так же Javascript для поведения. В шаблоне не указывается конкретное имя объекта, а только свойства и методы, т.к. шаблон применяется ко всем объектам данного класса.

Соответственно, теперь в сцену можно добавить такой тип элемента, как Объект:
Изображение

И он будет выведен и вести себя на сцене в соответствии с шаблоном:
Изображение

Для чего эта возможность вводилась -- для того, чтобы можно было создавать модель взаимодействия с объектом и многократно её использовать в интерфейсе. Если не понятно, то, скорее всего, оно вам и не нужно :)
За это сообщение автора sergejey поблагодарили (всего 6):
ivannag (Сб дек 03, 2016 4:22 pm) • Bagir (Вт фев 14, 2017 10:01 am) • leodev (Сб авг 25, 2018 7:54 pm) • Logrus (Пн ноя 12, 2018 5:30 pm) • Samir77 (Пн дек 17, 2018 11:30 am) • Marss (Чт окт 31, 2019 12:05 am)
Рейтинг: 7.14%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Rad81
Сообщения: 193
Зарегистрирован: Пт апр 01, 2016 2:42 pm
Благодарил (а): 10 раз
Поблагодарили: 10 раз

Re: Шаблон класса / Class Template

Сообщение Rad81 » Пт ноя 18, 2016 8:07 pm

невозможно редактировать Template
Вложения
Безымянный.jpg
Безымянный.jpg (105.38 КБ) 14723 просмотра
Аватара пользователя
sergejey
Site Admin
Сообщения: 4279
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1529 раз
Контактная информация:

Re: Шаблон класса / Class Template

Сообщение sergejey » Пт ноя 18, 2016 10:00 pm

Сорри, торопился загрузить и пропусти один файл. Теперь должно быть ок.
За это сообщение автора sergejey поблагодарили (всего 2):
Rad81 (Пт ноя 18, 2016 11:01 pm) • leodev (Сб авг 25, 2018 7:54 pm)
Рейтинг: 2.38%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Rad81
Сообщения: 193
Зарегистрирован: Пт апр 01, 2016 2:42 pm
Благодарил (а): 10 раз
Поблагодарили: 10 раз

Re: Шаблон класса / Class Template

Сообщение Rad81 » Пт ноя 18, 2016 11:06 pm

Был бы хорош если можно было сделать так что бы Привязка была с Меню управления.
Сцена тоже хорош
Аватара пользователя
sergejey
Site Admin
Сообщения: 4279
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1529 раз
Контактная информация:

Re: Шаблон класса / Class Template

Сообщение sergejey » Вс ноя 20, 2016 11:58 pm

Rad81 писал(а):Был бы хорош если можно было сделать так что бы Привязка была с Меню управления.
Сцена тоже хорош
Да, я думал об этом. Пожалуй, следующим шагом будет добавление объектов в меню и чтобы оно работало одинаково и там и там.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
sergejey
Site Admin
Сообщения: 4279
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1529 раз
Контактная информация:

Re: Шаблон класса / Class Template

Сообщение sergejey » Пн ноя 21, 2016 5:41 pm

Теперь есть возможность добавления объектов в меню управления. Используется тот же механизм, что и в сценах. Теоретически, с помощью единого шаблона класса теперь можно вставлять элементы и в меню и на сцены. Дальше дело за рецептами красивых шаблонов для различных объектов. К примеру, вот так может выглядеть шаблон для термостата:
Изображение

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
ivannag
Сообщения: 146
Зарегистрирован: Вт апр 12, 2016 12:19 am
Благодарил (а): 18 раз
Поблагодарили: 27 раз

Re: Шаблон класса / Class Template

Сообщение ivannag » Сб дек 03, 2016 4:38 pm

Спасибо, Сергей за новую ооочеееньььь полезную фичу)
Теперь я так понимаю можно наделать готовых шаблончиков на подобие дизайна фибаро или вера для разных классов объектов и несколькими кликами вставлять их на сцены.

Помогите пожалуйста разобраться (гугление только запутало еще больше), если у меня свойство status принимает 4 значения (0,1,2,3) то как в коде организовать выбор варианта отображения?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4279
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1529 раз
Контактная информация:

Re: Шаблон класса / Class Template

Сообщение sergejey » Вс дек 04, 2016 5:18 pm

ivannag писал(а):Спасибо, Сергей за новую ооочеееньььь полезную фичу)
Теперь я так понимаю можно наделать готовых шаблончиков на подобие дизайна фибаро или вера для разных классов объектов и несколькими кликами вставлять их на сцены.

Помогите пожалуйста разобраться (гугление только запутало еще больше), если у меня свойство status принимает 4 значения (0,1,2,3) то как в коде организовать выбор варианта отображения?
Такая конструкция заменит числовое значение на текст:
%.status|"zero;one;two;three"%

если хотите сделать так, что б определённый блок отображался только при каком-то значении, то можно сделать так:

Код: Выделить всё

<div style='display:%.status|"none;none;none;block"%'>...</div> 
и данный блок покажется только когда статус будет равен 3
За это сообщение автора sergejey поблагодарили (всего 3):
ivannag (Вс дек 04, 2016 9:00 pm) • Bagir (Вс апр 01, 2018 12:50 am) • IrisKo (Пн мар 25, 2019 12:18 pm)
Рейтинг: 3.57%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
ivannag
Сообщения: 146
Зарегистрирован: Вт апр 12, 2016 12:19 am
Благодарил (а): 18 раз
Поблагодарили: 27 раз

Re: Шаблон класса / Class Template

Сообщение ivannag » Пн дек 05, 2016 12:23 am

Спасибо. Теперь в несколько кликов удается привязать к объекту элемент управления с 4-ма состояниями, соответствующими им действиями и с СSS стилями в придачу))

Теперь возникают следующие вопросы)):
1. как при вызове метода передать ему параметры? делаю шаблон для LMS плееров и хочу слайдером устанавливать громкость.

Код: Выделить всё

 <input type="range" value="%.Volume%" oninput='callMethod("%.Volume", ????????);' min="0" max="100" step="5">
пробовал что-то вроде array("value"=>$value) (и в методе работать с переменной $value) но ничего не вышло... метод вызывается только если вообще не посылать параметры... очевидно что-то не так делаю... но ума не приложу что именно...(
Сражу скажу, что слайдеры через Menu Item пробовал... но на сценах они очень долго подгружаются и кривовато работают... да и геморно очень каждый раз все настраивать для новых объектов... а тут открываются совсем новые возможности))

2. реально ли для style='display:%.status обрабатывать логические выражения? чтобы можно было в шаблоны интегрировать что-то вроде информеров со сменой оформления для разных диапазонов значений?

п.с. прошу сильно не пинать, если хочу слишком многого... просто я только учусь и пока моя фантазия опережает мои умения))
Аватара пользователя
nick7zmail
Сообщения: 7478
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 1973 раза

Re: Шаблон класса / Class Template

Сообщение nick7zmail » Пн дек 05, 2016 10:33 am

ivannag писал(а): пробовал что-то вроде array("value"=>$value) (и в методе работать с переменной $value) но ничего не вышло... метод вызывается только если вообще не посылать параметры... очевидно что-то не так делаю... но ума не приложу что именно...(
Сражу скажу, что слайдеры через Menu Item пробовал... но на сценах они очень долго подгружаются и кривовато работают... да и геморно очень каждый раз все настраивать для новых объектов... а тут открываются совсем новые возможности))
Передали параметр правильно, забираете неправильно)) Забирать надо то что переменной value в методе из $params['value'].

PS: Ещё один шаг к плиточному интерфейсу)) надо будет потыкать на досуге...вроде неплохая штука
Для модулей предусмотрен функционал в виде внешних функций, которыми можно создать тэмплэйт?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить