Страница 27 из 43
Re: Шаблон класса / Class Template
Добавлено: Вс янв 20, 2019 12:56 pm
TransMatrix
Народ, а в FontAwesome иконка "окно" (открытое-закрытое) есть, или это я идиот??? Двери и т.д. - это хорошо, но на датчик открытия окна в кухне пришлось иконку "Дверь" втыкать....
Re: Шаблон класса / Class Template
Добавлено: Вс янв 20, 2019 1:23 pm
Logrus
авесоме лучше не пользоваться, т.к. у них с каждой версией иконки разнятся
здесь на форуме пользователь ахелпер про фронтелло писал, лучше так свои сделать, меньше гемора потом будет и вообще куча плюсов
Re: Шаблон класса / Class Template
Добавлено: Вс янв 20, 2019 2:41 pm
xor
Logrus писал(а): Вс янв 20, 2019 1:23 pm
авесоме лучше не пользоваться, т.к. у них с каждой версией иконки разнятся
здесь на форуме пользователь ахелпер про фронтелло писал, лучше так свои сделать, меньше гемора потом будет и вообще куча плюсов
от жеж, блин! Который раз убеждаюсь, что общие ресурсы - зло. Всё надо делать самому. Опять, наверное, буду переходить на иконки на собственном внешнем ресурсе на народе ру, ну или фронтелло((
Re: Шаблон класса / Class Template
Добавлено: Пт фев 08, 2019 1:48 am
kirush
Подскажите как правильно реализовать:

- 2019-02-08_01-44-23.png (3.92 КБ) 4233 просмотра
Требуется нажатие + и -, которое приводит к изменению температуры.
Попытался сделать это через шаблон отображения класса STempSensors:
Код: Выделить всё
<style>
.mt {
float: left;
}
/*** Кнопки ***/
.btn {
z-index: 2;
display: inline-block;
vertical-align: top;
margin: 14px;
padding: 0;
border: none;
border-radius: 2px;
background-color: transparent;
font-family: 'Roboto', sans-serif;
font-weight: 400;
text-align: center;
text-transform: uppercase;
cursor: pointer;
padding-left: 14px;
padding-right: 14px;
font-size: 13px;
font-size: 0.8125rem;
line-height: 36px;
-webkit-transition-property: box-shadow;
-moz-transition-property: box-shadow;
transition-property: box-shadow;
-webkit-transition-duration: .5s;
-moz-transition-duration: .5s;
transition-duration: .5s;
}
.btn, .btn:hover, .btn:active, .btn:focus {
text-decoration: none;
outline: none;
}
.btn::-moz-focus-inner {
border: 0;
padding: 0;
}
/*** Цвета шрифта кнопок без фона ***/
.btn-flat.btn-red,
.btn-icon.btn-red {
color: #f44336;
}
.btn-flat.btn-blue,
.btn-icon.btn-blue {
color: #2196f3;
}
.btn-flat.btn-green,
.btn-icon.btn-green {
color: #4caf50;
}
.btn-flat.btn-orange,
.btn-icon.btn-orange {
color: #ff9800;
}
.btn-flat.btn-grey,
.btn-icon.btn-grey {
color: #9e9e9e;
}
.btn-flat.btn-black,
.btn-icon.btn-black {
color: #000000;
}
.btn-flat.btn-white,
.btn-icon.btn-white {
color: #fff;
}
/*** Тень кнопок ***/
.btn-raised,
.btn-fab {
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
/*** Изменение при наведении ***/
.btn-raised:hover,
.btn-flat:hover,
.btn-fab:hover,
.btn-icon:hover {
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.4);
}
/*** Кнопки с фоном ***/
.btn-raised.btn-red,
.btn-fab.btn-red {
color: #fff;
background-color: #f44336;
}
.btn-raised.btn-blue,
.btn-fab.btn-blue {
color: #fff;
background-color: #2196F3;
}
.btn-raised.btn-green,
.btn-fab.btn-green {
color: #fff;
background-color: #4caf50;
}
.btn-raised.btn-orange,
.btn-fab.btn-orange {
color: #fff;
background-color: #ff9800;
}
.btn-raised.btn-grey,
.btn-fab.btn-grey {
color: #fff;
background-color: #9e9e9e;
}
.btn-raised.btn-black,
.btn-fab.btn-black {
color: #fff;
background-color: #000;
}
.btn-raised.btn-white,
.btn-fab.btn-white {
color: rgba(0, 0, 0, 0.87);
background-color: #fff;
}
/*** Кнопки с иконками ***/
.btn-icon,
.btn-fab {
border-radius: 50%;
padding: 0;
height: 36px;
width: 36px;
line-height: 0;
}
</style>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<div class="mt">
<button onClick="callMethod('%.minus')" class="btn btn-blue btn-fab"><i class="fa fa-minus"></i></button>
</div>
<div class="mt">
<h3>%.value%</h3>
</div>
<div class="mt">
<button onClick="callMethod('%.plus')" class="btn btn-green btn-fab"><i class="fa fa-plus"></i></button>
</div>
Создал два метода: minus и plus.
При нажатии на "минус" метод вызывается, но кликается не отдельная кнопка минус, а весь фрейм ( "-", цифра, "+", т.е. весь блок моргает на сцене).
Как правильно это написать?
Re: Шаблон класса / Class Template
Добавлено: Пт фев 08, 2019 8:21 am
nick7zmail
Да вроде правильно написано. Можно попробовать перенести onclick в div mt ...но если тыкается весь фрейм - скорее всего что-то с размерами div-ов.
Re: Шаблон класса / Class Template
Добавлено: Пт фев 08, 2019 11:23 am
kirush
Если нажимаю на минус - работает:
Метод minus:
setGlobal('TempSensor01.target_temp',"-");
метод plus:
setGlobal('TempSensor01.target_temp',"+");
Нажимаю на плюс - не работает
попробовал без div
<button onClick="callMethod('%.minus')" class="btn btn-blue btn-fab"><i class="fa fa-minus"></i></button>
<button onClick="callMethod('%.plus')" class="btn btn-green btn-fab"><i class="fa fa-plus"></i></button>
не работает plus ни в какую.

- 2019-02-08_11-39-20.png (29.34 КБ) 4198 просмотров
Re: Шаблон класса / Class Template
Добавлено: Пт фев 08, 2019 12:14 pm
xor
kirush писал(а):Если нажимаю на минус - работает:
Метод minus:
setGlobal('TempSensor01.target_temp',"-");
метод plus:
setGlobal('TempSensor01.target_temp',"+");
Нажимаю на плюс - не работает
попробовал без div
<button onClick="callMethod('%.minus')" class="btn btn-blue btn-fab"><i class="fa fa-minus"></i></button>
<button onClick="callMethod('%.plus')" class="btn btn-green btn-fab"><i class="fa fa-plus"></i></button>
не работает plus ни в какую.
2019-02-08_11-39-20.png
1.Шаманство, конечно, но если порядок поменять -- плюс заработает?
Отправлено с моего Redmi 4X через Tapatalk
Re: Шаблон класса / Class Template
Добавлено: Пт фев 08, 2019 1:21 pm
kirush
Решил попробовать с 0ля, распишу по шагам, может изначально что то не так делаю:
В классе
SDevices/SSensors/STempSensors
создаю шаблон отображения для двух кнопок "+" и "-":
Код: Выделить всё
<button onClick="callMethod('%.minus')"><i class="fa fa-minus">-</i></button>
<button onClick="callMethod('%.plus')"><i class="fa fa-minus">+</i></button>
в том же классе создаю два метода:
Plus:
Minus:
В свойствах объекта
TempSensor01, находящемся в классе
SDevices/SSensors/STempSensors, создаю свойство target с пустым значением. Получаю в объекте: "TempSensor01.target"
На сцене создаю новый элемент, тип "Объект" и "Связанный объект" выбираю TempSensor01
Нажимаю на сцене кнопку "+" смотрю свойства объекта target - нет изменений,
Нажимаю на сцене кнопку "-" смотрю свойства объекта target - нет изменений.
Re: Шаблон класса / Class Template
Добавлено: Пт фев 08, 2019 1:29 pm
tarasfrompir
метод не правильно написан там не процент должен стоять а помоему так - $this->object_title
Re: Шаблон класса / Class Template
Добавлено: Пт фев 08, 2019 1:30 pm
xor
Методы в таком виде -- с % -- работать не будут. Нотация с процентами -- только для сцен всяких, страничек
Отправлено с моего Redmi 4X через Tapatalk