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

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

Модератор: immortal

sega6549
Сообщения: 535
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

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

Сообщение sega6549 » Чт авг 30, 2018 3:51 pm

Chainik писал(а):
Чт авг 30, 2018 9:49 am
sega6549, раз вы уже разобрались с кнопками, может сможете "прикрутить" такие (https://majordomo.smartliving.ru/forum/ ... 0&start=18) переключатели. (Парные круглые переключатели в овалах.) Мы пытались 1,5 года назад, действие по клику добавить удалось (onClick), а вот обратную связь со свойством организовать тогда не получилось.
есть вот такая кнопочка, такая вам нужна?
Снимок.PNG
Снимок.PNG (8.38 КБ) 4285 просмотров
СпойлерПоказать

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

<style> 
input[type="checkbox"].switch_1{ 
font-size: 30px; 
-webkit-appearance: none; 
-moz-appearance: none; 
appearance: none; 
width: 90px; 
height: 46px;
background: #ddd; 
border-radius: 2em; 
position: relative;
cursor: pointer; 
outline: none; 
-webkit-transition: all .2s ease-in-out; 
transition: all .2s ease-in-out; 
} 


input[type="checkbox"].switch_1:checked{ 
background: #33FF33; 
} 

input[type="checkbox"].switch_1:after{ 
position: absolute; 
content: ""; 
width: 45px; 
height: 45px; 
border-radius: 50%; 
background: #fff; 
-webkit-box-shadow: 0 0 .25em rgba(0,0,0,.3); 
box-shadow: 0 0 .25em rgba(0,0,0,.3); 
-webkit-transform: scale(.7); 
transform: scale(.9); 
left: 0; 
-webkit-transition: all .2s ease-in-out; 
transition: all .2s ease-in-out; 
} 

input[type="checkbox"].switch_1:checked:after{ 
left: calc(100% - 1.5em); 
}
</style> 

<input onClick='callMethod("%.action");' type='checkbox' %.status|"-;checked"% class="switch_1"> 

но это не моя, это мне в моей группе скинул чувак, я немного переделал просто и удалил лишнего
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

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

Сообщение Chainik » Чт авг 30, 2018 4:40 pm

Пусть будет первая (зеленая). onClick у меня добавлять получается. А вот с обратной связью по свойству - никак.
sega6549
Сообщения: 535
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

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

Сообщение sega6549 » Чт авг 30, 2018 5:36 pm

Chainik писал(а):
Чт авг 30, 2018 4:40 pm
Пусть будет первая (зеленая). onClick у меня добавлять получается. А вот с обратной связью по свойству - никак.
веб сокеты работают?
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

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

Сообщение Chainik » Чт авг 30, 2018 8:04 pm

А как узнать работают вебсокеты или нет? Цикл cycle_websockets работает. В config.php ничего не менял.
sega6549
Сообщения: 535
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

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

Сообщение sega6549 » Чт авг 30, 2018 8:26 pm

Chainik писал(а):
Чт авг 30, 2018 8:04 pm
А как узнать работают вебсокеты или нет? Цикл cycle_websockets работает. В config.php ничего не менял.
ну раз цикл работает то должно работать значит, а что в методе прописываете? свойство status есть надеюсь?))
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

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

Сообщение Chainik » Чт авг 30, 2018 8:50 pm

Свойство status, конечно, есть. В методе (общеклассовом) action код:

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

$state = $this->getProperty('status');
if ($state == "0") {
  $this->setProperty('status', 1);
} else {
  $this->setProperty('status', 0);
}
В вашем коде переключателя надо что-то менять (например, %.action на ОБЪЕКТ.action)?
Надо ли выставлять Связанный объект: ОБЪЕКТ и Свойство: status?
sega6549
Сообщения: 535
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

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

Сообщение sega6549 » Чт авг 30, 2018 9:02 pm

Chainik писал(а):
Чт авг 30, 2018 8:50 pm
Свойство status, конечно, есть. В методе (общеклассовом) action код:

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

$state = $this->getProperty('status');
if ($state == "0") {
  $this->setProperty('status', 1);
} else {
  $this->setProperty('status', 0);
}
В вашем коде переключателя надо что-то менять (например, %.action на ОБЪЕКТ.action)?
Надо ли выставлять Связанный объект: ОБЪЕКТ и Свойство: status?
Конечно под свои нужно менять, насчёт прописывать объект то по идее не обязательно, но метод и свойство свои пишите естественно
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

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

Сообщение Chainik » Чт авг 30, 2018 9:09 pm

Прописываю в последней строке кода

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

<input onClick='callMethod("Sw1.action");' type='checkbox' Sw1.status|"-;checked"% class="switch_1"> 
Sw1 - это название объекта. Связанный объект и Свойство не выставлял.
При нажатии на переключатель свойство меняется (с "0" на "1" и наоборот). При изменении свойства вручную состояние переключателя не меняется.
Что я не доделал?
sega6549
Сообщения: 535
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

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

Сообщение sega6549 » Чт авг 30, 2018 9:12 pm

Chainik писал(а):
Чт авг 30, 2018 9:09 pm
Прописываю в последней строке кода

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

<input onClick='callMethod("Sw1.action");' type='checkbox' Sw1.status|"-;checked"% class="switch_1"> 
Sw1 - это название объекта. Связанный объект и Свойство не выставлял.
При нажатии на переключатель свойство меняется (с "0" на "1" и наоборот). При изменении свойства вручную состояние переключателя не меняется.
Что я не доделал?
у меня все переключается но у меня метод другой немного

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

$val=$this->getProperty('status');
$val++; 
if ($val>1) $val=0; 
$this->setProperty('status',$val);
За это сообщение автора sega6549 поблагодарил:
Chainik (Чт авг 30, 2018 9:34 pm)
Рейтинг: 1.16%
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

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

Сообщение Chainik » Чт авг 30, 2018 9:16 pm

Поменял метод на ваш. Увы, ничего не поменялось: метод при нажатии на переключатель запускается, а обратной связи как не было так и нет...

PS. Разобрался. В коде затер %, поэтому и не работало. Надо было так:

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

<input onClick='callMethod("%Sw1.action");' type='checkbox' %Sw1.status|"-;checked"% class="switch_1"> 
Теперь порядок.
СПАСИБО!
Ответить