цвет RGB
Модератор: immortal
цвет RGB
Добрый день, подскажите как сделать всплывающую панель (от клика на объекте сцены) при котором можно было бы движком выбрать цвет RGB.
На пультах такого не нашел, может кто делал?
На пультах такого не нашел, может кто делал?
Re: цвет RGB
в интерфейсе mboard есть готовый виджетSlavaAf писал(а): Чт сен 10, 2020 1:44 am Добрый день, подскажите как сделать всплывающую панель (от клика на объекте сцены) при котором можно было бы движком выбрать цвет RGB.
На пультах такого не нашел, может кто делал?
в системе есть встроенный, например в ПУ, колорпикер.
Диван, вроде, в своих сценах делал
- Вложения
-
- 2020-09-10_01-50-00.png (3.53 КБ) 2996 просмотров
-
- 2020-09-10_01-49-19.png (33.21 КБ) 2996 просмотров
win10 connect https://connect.smartliving.ru/profile/303
Re: цвет RGB
Еще бы знать как это прикрепить к своему классу

Re: цвет RGB
вот у меня такой шаблон класса ргб, выдранный из пу
Только свои свойства и методы пропишите (где %%)
Код: Выделить всё
<style>
.myrgb-widget {
}
.myrgb-text {
padding-top:10px;
cursor:pointer;
vertical-align:middle;
}
.myrgb-light {
border-radius:50%;
width:22px;
height:22px;
border:2px solid #3d3d3d;
margin-top:5px;
float:left;
margin-right:10px;
}
.myrgb-light.on {
background-color:#FFC773;
box-shadow: 0px 0px 15px #FF9900;
border-color:#FDF1DF;
}
</style>
<script src='/3rdparty/spectrum/spectrum.min.js'></script>
<link rel='stylesheet' href='/3rdparty/spectrum/spectrum.min.css' />
<div class="myrgb-widget">
<div class="myrgb-light %.status|"off;on"%"></div>
<div class="myrgb-text" style='display:%.status|"none;block"%;cursor:pointer' onClick='callMethod("%.object_title%.turnOff");'>%.name%</div>
<div class="myrgb-text" style='display:%.status|"block;none"%;cursor:pointer' onClick='callMethod("%.object_title%.turnOn");'>%.name%</div>
<div>
<input type="text" id="colnn" value="%.color%" onChange='callMethod("%.object_title%.setColor","color="+encodeURIComponent(this.value));'/>
</div>
<script>
$("#colnn").spectrum({
preferredFormat: "hex",
showInput: true,
chooseText: "OK",
cancelText: "Отмена"
});
</script>
</div>
win10 connect https://connect.smartliving.ru/profile/303
Re: цвет RGB
спасибо буду пробывать
Re: цвет RGB
Не выходит до конца. Не могу принять измененное значение цвета.
Упростил немного под свою задачку код.
Но по итогу инициализируется все нормально значением из свойства класса, а обратно не возвращает когда меняю цвет. Метод изменения цвета при этом запускается а свойство Color остается без изменений.
Наверное что-то простое упустил.

Упростил немного под свою задачку код.
Код: Выделить всё
<script src='/3rdparty/spectrum/spectrum.min.js'></script>
<link rel='stylesheet' href='/3rdparty/spectrum/spectrum.min.css' />
<div class="rgb_class">
<div>
<input type="text" id="colnn" value="%.Color%" onChange='callMethod("%.object_title%.SetColor", "Color="+encodeURIComponent(this.value));'/>
</div>
<script>
$("#colnn").spectrum({
preferredFormat: "hex",
showInput: true,
chooseText: "OK",
cancelText: "Отмена"
});
</script>
%.Color%
</div>Наверное что-то простое упустил.
Re: цвет RGB
а, у меня метод SetColor получает цвет через параметр colorSlavaAf писал(а): Пт сен 11, 2020 2:25 am Не выходит до конца. Не могу принять измененное значение цвета.
Упростил немного под свою задачку код.Но по итогу инициализируется все нормально значением из свойства класса, а обратно не возвращает когда меняю цвет. Метод изменения цвета при этом запускается а свойство Color остается без изменений.Код: Выделить всё
<script src='/3rdparty/spectrum/spectrum.min.js'></script> <link rel='stylesheet' href='/3rdparty/spectrum/spectrum.min.css' /> <div class="rgb_class"> <div> <input type="text" id="colnn" value="%.Color%" onChange='callMethod("%.object_title%.SetColor", "Color="+encodeURIComponent(this.value));'/> </div> <script> $("#colnn").spectrum({ preferredFormat: "hex", showInput: true, chooseText: "OK", cancelText: "Отмена" }); </script> %.Color% </div>
Наверное что-то простое упустил.![]()
![]()
![]()
Код: Выделить всё
if (!$params['color']) return;
$color = strtolower($params['color']);
$color = preg_replace('/^#/','',$color);
$transform = array(
'red'=>'ff0000',
'green'=>'00ff00',
'blue'=>'0000ff',
'white'=>'ffffff'
);
if (isset($transform[$color])) {
$color = $transform[$color];
}
if ($color == '000000') {
$this->callMethod('turnOff');
} else {
$this->setProperty('color',$color);
$this->callMethod('turnOn');
}win10 connect https://connect.smartliving.ru/profile/303
Re: цвет RGB
Этот текст очень помог, все заработало, огромное спасибо!!!
Re: цвет RGB
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB