2015-09-05 4 views
0

Как я могу динамически удалять виджеты из задания (rb) в Dashing?Dashing - динамически удалять виджеты

Я строй приборной панели динамически путем отправки данных в файл Еврорадио:

<div class="gridster"> 
    <ul> 
    <% settings.servers.each do |data| %> 
     <li data-row="1" data-col="1" data-sizex="1" data-sizey="1"> 
     <div data-id="<%=data['webHost']%>" data-title="<%=data['name']%>" data-version="<%=data['Version']%>" > 
     </li> 
    <% end %> 
</div> 
+0

ERB отображается только один раз, при загрузке страницы. Вы должны обновлять виджеты через соединение EventSource, которое поддерживает лихой JavaScript. Кроме того, вы должны отправлять обновления через send_event. – tylermauthe

+0

Я отправляю обновления через send_event для ввода данных. но как я могу отправить событие «удалить» в виджет? – lielran

+0

Что это за виджет? Можете ли вы добавить серверы таким образом, не перезагружая страницу? – tylermauthe

ответ

0

Да. Я написал простой пример работы, которая может сделать только, что здесь: http://www.mapledyne.com/ideas/2015/6/30/delete-a-dashing-dashboard-widget

Вы в основном просто хотите манипулировать Sinatra :: Application.settings.history переменную, но код в этой ссылке вы должны получить большую часть пути к где вы хотите быть.

Или пропустить сообщение и перейти прямо к сути файла: https://gist.github.com/mapledyne/6fb671c17c3f865309f3#file-delete-widget-rb

Вы также можете генерировать части Еврорадио динамически, если вы не знаете, виджеты, в первую очередь (более сложный), но начинается с того же - использование той же переменной истории.

+1

, прежде чем я отправлю этот вопрос, я найду ваше сообщение в блоге, а также попробовал его. он удаляет виджеты сразу после перезагрузки страницы (Ctrl + R). – lielran

+0

lielran - Используя переменную history, данные виджетов удаляются немедленно, но это может быть неясно, если панель инструментов вверх, так как нет уведомления об этом изменении, отправленном на приборную панель. Обновление страницы будет исправлять это (и, функционально, на что мы полагаемся, поскольку оно работает для использования наших динамических панелей). Кто-то другой решил это и поставил его на gist: https://gist.github.com/jwalton/6616670, чтобы отправить перезагрузку из лихого. Однако я не использовал или не тестировал, но выглядит многообещающим. –

Смежные вопросы