цвет RGB

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Ответить
SlavaAf
Сообщения: 59
Зарегистрирован: Вс июл 26, 2020 6:52 pm
Благодарил (а): 17 раз
Поблагодарили: 0

цвет RGB

Сообщение SlavaAf » Чт сен 10, 2020 1:44 am

Добрый день, подскажите как сделать всплывающую панель (от клика на объекте сцены) при котором можно было бы движком выбрать цвет RGB.
На пультах такого не нашел, может кто делал?
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: цвет RGB

Сообщение xor » Чт сен 10, 2020 1:58 am

SlavaAf писал(а):
Чт сен 10, 2020 1:44 am
Добрый день, подскажите как сделать всплывающую панель (от клика на объекте сцены) при котором можно было бы движком выбрать цвет RGB.
На пультах такого не нашел, может кто делал?
в интерфейсе mboard есть готовый виджет
в системе есть встроенный, например в ПУ, колорпикер.
Диван, вроде, в своих сценах делал
Вложения
2020-09-10_01-50-00.png
2020-09-10_01-50-00.png (3.53 КБ) 2419 просмотров
2020-09-10_01-49-19.png
2020-09-10_01-49-19.png (33.21 КБ) 2419 просмотров
За это сообщение автора xor поблагодарил:
SlavaAf (Чт сен 10, 2020 2:29 am)
Рейтинг: 1.16%
SlavaAf
Сообщения: 59
Зарегистрирован: Вс июл 26, 2020 6:52 pm
Благодарил (а): 17 раз
Поблагодарили: 0

Re: цвет RGB

Сообщение SlavaAf » Чт сен 10, 2020 2:16 am

Еще бы знать как это прикрепить к своему классу :D :D :D
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: цвет RGB

Сообщение xor » Чт сен 10, 2020 2:21 am

SlavaAf писал(а):
Чт сен 10, 2020 2:16 am
Еще бы знать как это прикрепить к своему классу :D :D :D
вот у меня такой шаблон класса ргб, выдранный из пу
Только свои свойства и методы пропишите (где %%)

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

<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>
За это сообщение автора xor поблагодарил:
SlavaAf (Чт сен 10, 2020 2:29 am)
Рейтинг: 1.16%
SlavaAf
Сообщения: 59
Зарегистрирован: Вс июл 26, 2020 6:52 pm
Благодарил (а): 17 раз
Поблагодарили: 0

Re: цвет RGB

Сообщение SlavaAf » Чт сен 10, 2020 2:30 am

спасибо буду пробывать
SlavaAf
Сообщения: 59
Зарегистрирован: Вс июл 26, 2020 6:52 pm
Благодарил (а): 17 раз
Поблагодарили: 0

Re: цвет RGB

Сообщение SlavaAf » Пт сен 11, 2020 2:25 am

Не выходит до конца. Не могу принять измененное значение цвета.
Упростил немного под свою задачку код.

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

<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>
Но по итогу инициализируется все нормально значением из свойства класса, а обратно не возвращает когда меняю цвет. Метод изменения цвета при этом запускается а свойство Color остается без изменений.
Наверное что-то простое упустил. :D :D :D
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: цвет RGB

Сообщение xor » Пт сен 11, 2020 3:15 am

SlavaAf писал(а):
Пт сен 11, 2020 2:25 am
Не выходит до конца. Не могу принять измененное значение цвета.
Упростил немного под свою задачку код.

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

<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>
Но по итогу инициализируется все нормально значением из свойства класса, а обратно не возвращает когда меняю цвет. Метод изменения цвета при этом запускается а свойство Color остается без изменений.
Наверное что-то простое упустил. :D :D :D
а, у меня метод SetColor получает цвет через параметр color

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

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');
}
За это сообщение автора xor поблагодарил:
SlavaAf (Пт сен 11, 2020 3:31 am)
Рейтинг: 1.16%
SlavaAf
Сообщения: 59
Зарегистрирован: Вс июл 26, 2020 6:52 pm
Благодарил (а): 17 раз
Поблагодарили: 0

Re: цвет RGB

Сообщение SlavaAf » Пт сен 11, 2020 3:42 am

Этот текст очень помог, все заработало, огромное спасибо!!!
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: цвет RGB

Сообщение Divan » Вс окт 11, 2020 1:38 pm

Статья на форуме про колорпикер

Посмотреть видео
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Ответить