Транслятор свойств

Модули в MajorDoMo Комментариев нет

Описание

Суть модуля очень простая (собственно как и сам модуль). Он просто передаёт значение свойства при изменении в другое свойство другого (можно этого же) объекта...
Да собственно вся суть модуля в этом скрине (не смотрите на названия объектов...они просто рандомные)):

Пример

Пример

Собственно когда я писал шаблон класса, столкнулся с некоторыми сложностями:
Для шаблона класса (чтобы этот шаблон можно было распространять на все объекты в классе) свойства, отображаемые шаблоном должны быть в этом же классе/объекте.

А по скольку человек я очень ленивый - и мне, если честно, очень лень было придумывать всю эту логику с таймерами доступности, отображением статуса, и т.п. - решил воспользоваться уже существующей логикой под названием "простые устройства".  Т.е. создал там процентный датчик, обозвал его "батарея телефона <имя пользователя>", ну и собственно всё.

Сложности начались при перекидывании свойств между объектами. А именно - сперва батарею надо передать в простое устройство (ну тут у меня был метод, выполняемый по-умолчанию, ок). Далее, чтобы отобразить время обновления (10 сек. назад, 5 мин назад и тд, то что в простых устройствах короче) - надо было это время при изменении перекидывать обратно в объект пользователя. Ну ок. Создал новый классовый метод, привязал его к классовому свойству (если бы это были не простые устройства - пришлось бы ещё и свойство классовое создавать) с текстовым временем, отправил обратно к объекту пользователя. Потом понял что как минимум alive надо тоже отправлять, чтобы виджет отображал отсутствие связи...

Тут мне надоело "скакание" по классам, и я "накатал" данный модуль...он существенно облегчил данную задачу))

Думаю не только мне он пригодится.

Ветка на форуме (если примеры): https://majordomo.smartliving.ru/forum/viewtopic.php?f=5&t=4938

Поделитесь в соц сетях

Теги: