NEWS
Написание своего виджета
-
Вообщем все печально, я вообще въехать не могу как добавить виджет, запутался в коде.
Еще и index.html и edit.html не пересоздаются каждый раз.
Приходится редактировать виджет в файлах index.html и edit.html.
Хотел добавить вот такой виджет http://www.3quarks.com/en/SegmentDisplay/
Может кто возьмется или объяснит на пальцах, что и как устроено в коде vis
Все что удалось это тупо вывести значение переменной…
6305_flot_arbeit.png
6305_flot_bad_gross.png
6305_flot_bad_klein.png
6305_flot_zimmer3.png
6305_flot_zimmer2.png
6305_flot_zimmer1.png
6305_flot_eg.png
6305_flot_lueftung.png
6305_flot_aussen.png -
По моему браузер пытается на каждом этапе отрисовать canvas.
Я обошёл эту проблему так:
<%== this.data.attr("html_prepend") %><% var canvas = ' <canvas id="' + this.data.attr('oid') +'" width="' + this.data.attr('dialog_width') +'" height="100%"></canvas> '; <%== canvas %> <%== (parseFloat(vis.binds.basic.formatFloat(this.data)) == 1 ? this.data.attr("html_append_singular") : this.data.attr("html_append_plural")) %>То есть сначала полностью собрать canvas тег, а потом его за раз отрисовать.
<%== canvas %> Должен вывести переменную? у меня ничего не выводится
Я забыл указать закрывающую скобку<%== this.data.attr("html_prepend") %><% var canvas = ' <canvas id="' + this.data.attr('oid') +'" width="' + this.data.attr('dialog_width') +'" height="100%"></canvas> '; %> <%== canvas %> <%== (parseFloat(vis.binds.basic.formatFloat(this.data)) == 1 ? this.data.attr("html_append_singular") : this.data.attr("html_append_plural")) %>или так
<%== this.data.attr("html_prepend") %><% <%== ' <canvas id="' + this.data.attr('oid') +'" width="' + this.data.attr('dialog_width') +'" height="100%"></canvas> ' %> <%== (parseFloat(vis.binds.basic.formatFloat(this.data)) == 1 ? this.data.attr("html_append_singular") : this.data.attr("html_append_plural")) %> -
Я забыл указать закрывающую скобку
<%== this.data.attr("html_prepend") %><% var canvas = ' <canvas id="' + this.data.attr('oid') +'" width="' + this.data.attr('dialog_width') +'" height="100%"></canvas> '; %> <%== canvas %> <%== (parseFloat(vis.binds.basic.formatFloat(this.data)) == 1 ? this.data.attr("html_append_singular") : this.data.attr("html_append_plural")) %>или так
<%== this.data.attr("html_prepend") %><% <%== ' <canvas id="' + this.data.attr('oid') +'" width="' + this.data.attr('dialog_width') +'" height="100%"></canvas> ' %> <%== (parseFloat(vis.binds.basic.formatFloat(this.data)) == 1 ? this.data.attr("html_append_singular") : this.data.attr("html_append_plural")) %> ```` `Хорошо, а как в script засунуть параметры виджета? и чтобы потом в '
<canvas id="…" отобразить/с/определенными/параметрами?/Вообще/как/из/виджета/можно/выполнить/код/js?</r=""></canvas>
-
Например````
vis.binds.basic.formatFloatи есть код JS. `т.е. это мы вызываем функуию formatFloat а это типо ветки с функциями vis.binds.basic.?
Что означают эти скобки <%== ? <% или <%= и <%== в чем разница?
-
Например````
vis.binds.basic.formatFloatи есть код JS. `т.е. это мы вызываем функуию formatFloat а это типо ветки с функциями vis.binds.basic.? `
Всё верно.
@instalator:Что означают эти скобки <%== ? <% или <%= и <%== в чем разница? `
Это синтаксис CanJS-EJS (Описание http://canjs.com/guides/EJS.html)<%== - вывод HTML текста без изменнений в это место
<%= - вывод текста (все теги будут преобразованы - escaped)
<% выполняет написанный JS код
-
Можешь вот здесь посмотреть, как можно было встраивать:
https://github.com/ioBroker/ioBroker.vi … ather.html
Ищи tplSegmentClock: function (el, data)
48_clock.gif -
Это синтаксис CanJS-EJS (Описание http://canjs.com/guides/EJS.html)
<%== - вывод HTML текста без изменнений в это место
<%= - вывод текста (все теги будут преобразованы - escaped)
<% выполняет написанный JS код `
Да это просто магия) Буду дальше вникать… Спасибо.Можешь вот здесь посмотреть, как можно было встраивать:
https://github.com/ioBroker/ioBroker.vi … ather.html
Ищи tplSegmentClock: function (el, data) `
:o час и готово?) я два вечера разобраться не мог. -
Добавил себе, часы почему то не работают, да они и не нужны были, переменную отображает, теперь окно управления нагревателем выглядит как оригинальная панель управления)
-
Тоже неплохо выглядит http://www.3quarks.com/en/SVGClock/index.html
-
Если ещё какие-нибудь виджеты найдёшь, говори. ;) `
Не совсем готовые виджеты, интересная библиотечка, выбор дат и т.п. можно организовать
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden