Библиотека middle_control

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Библиотека middle_control

Сообщение Alex » Чт апр 23, 2015 6:38 pm

middle_control версия 1.0

Описание
--------------

Библиотека предназначена для создания интерактивных элементов управления на веб-страницах. Элементы привязываются к объектам MajorDoMo и позволяют управлять их работой. Работает всё это на JavaScript и PHP через Ajax в обе стороны — элемент отслеживает изменение состояния объекта в MajorDoMo (и автоматически меняет внешний вид) и позволяет менять состояние объекта кликом мыши.

На данный момент библиотека содержит один управляющий элемент control_button. Это интерактивная кнопка, которая поддерживает три состояния on, off и неопределённое (когда произошла какая-либо ошибка).

Работает это так. Кнопка раз в заданный интервал времени (3+ сек.) связывается с сервером и проверяет состояние объекта. Если состояние on, то включается нижняя LED полоса на кнопке заданным вами цветом. Если состояние off, то LED не горит и надпись приглушена. Если произошла ошибка, то LED и надпись мигают синим цветом.

При клике на кнопке цвет надписи (состояние) изменяется мгновенно, а LED полоска включается / выключается с небольшой задержкой (~1 сек.), необходимой для связи с сервером. При наведении мыши кнопка немного меняет цвет.

Инсталляция
-------------------

Нужно создать папку middle_control в каталоге htdocs и распаковать в неё три файла из архива.

Подключение
-------------------

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

<script language="javascript" type="text/javascript" src="/middle_control/middle_control.js"></script>
<script language="javascript" type="text/javascript" src="/middle_control/control_button.js"></script>

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

<canvas id="btn-hom" width="54" height="28">Canvas not supported</canvas>


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

<script>
btn01 = new control_button('btn-hom', 'tempHOM.on_off', 'Дом', 3000, 1);
btn01.alertmin = 0;
btn01.alertmax = 1;
btn01.led_color = 'rgba(240, 140, 30, 1)'; // orange
btn01.objectToSend = 'tempHOM';
btn01.redraw();
</script>
Где tempHOM это название объекта, on_off — свойство, «Дом» - надпись на кнопке, 3000 — обновление раз в 3 секунды, 1 — тип кнопки.

Интеграция
----------------

У объекта MajorDoMo нужно создать метод set_on_off такого содержания

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

$on_off = $params['on_off'];
$this->setProperty('on_off', $on_off);
Вложения
middle_control.zip
(3.46 КБ) 300 скачиваний
1.png
1.png (11.42 КБ) 9580 просмотров
За это сообщение автора Alex поблагодарили (всего 6):
slgeo (Чт апр 23, 2015 6:45 pm) • savenko_egor (Пт апр 24, 2015 3:17 pm) • skysilver (Пт апр 24, 2015 4:41 pm) • kd0t (Чт май 21, 2015 3:20 pm) • ABola (Ср фев 03, 2016 5:48 pm) • alexnik100 (Пт фев 26, 2016 5:28 pm)
Рейтинг: 6.98%
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Библиотека middle_control

Сообщение Alex » Пт апр 24, 2015 4:19 pm

Ещё варианты дизайна.
Вложения
3.png
3.png (4.64 КБ) 9507 просмотров
2.png
2.png (4.95 КБ) 9507 просмотров
RusikOk
Сообщения: 91
Зарегистрирован: Чт июл 24, 2014 1:48 am
Откуда: Украина, Сумы
Благодарил (а): 43 раза
Поблагодарили: 6 раз

Re: Библиотека middle_control

Сообщение RusikOk » Пн авг 10, 2015 7:13 am

что за кубики слева на картинке из первого поста? какая их функциональность?
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Библиотека middle_control

Сообщение Alex » Пн авг 10, 2015 11:03 am

Это просто 3D модель, но при определённом желании ей можно придать некую функциональность, например индикацию параметров, что и сделано с подобной моделью в АМС. Там индицируется работа сетевых функций (посылки Ajax).
RusikOk
Сообщения: 91
Зарегистрирован: Чт июл 24, 2014 1:48 am
Откуда: Украина, Сумы
Благодарил (а): 43 раза
Поблагодарили: 6 раз

Re: Библиотека middle_control

Сообщение RusikOk » Пн авг 10, 2015 11:06 am

а сами кубики увеличиваются или меняют цвет?
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Библиотека middle_control

Сообщение Alex » Пн авг 10, 2015 11:20 am

Кубики просто вращаются, остальное в ваших руках.

http://majordomo.smartliving.ru/forum/v ... 100#p11970
smoker_vvo
Сообщения: 113
Зарегистрирован: Пт дек 14, 2012 3:46 am
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: Библиотека middle_control

Сообщение smoker_vvo » Ср авг 26, 2015 2:49 pm

Подскажите как внедрить все это на страницу... Не понимаю. По объекту МДМ все понятно, а основные коды куда.....
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Библиотека middle_control

Сообщение Alex » Ср авг 26, 2015 4:59 pm

На любую нужную вам страницу вначале подключаете библиотеки, canvas вставляете туда, где хотите видеть кнопку, а script ближе к концу страницы.
smoker_vvo
Сообщения: 113
Зарегистрирован: Пт дек 14, 2012 3:46 am
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: Библиотека middle_control

Сообщение smoker_vvo » Чт авг 27, 2015 10:23 am

ОК, спасибо, получилось. Теперь вопрос про типы кнопок?? Где и какие существуют?? И где поменять цвета LED по умолчанию??
smoker_vvo
Сообщения: 113
Зарегистрирован: Пт дек 14, 2012 3:46 am
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: Библиотека middle_control

Сообщение smoker_vvo » Пт авг 28, 2015 3:53 pm

Так, с цветом кнопок все понятно. Теперь с типами - где и как ???
Ответить