2015-03-07 6 views
2

Я бы создал новый виджет для моей приборной панели с Dashing. С сервером REST я получаю шестнадцатеричный код, и я хочу использовать это для цвета фона моего виджета, динамически.Dashing: изменить цвет фона виджета

Мои работы, я получаю правильный цвет. Но я не могу изменить цвет фона.

код SCSS:

$background-color: #008000; /*default color*/ 

$title-color: rgba(255, 255, 255, 1); 
$moreinfo-color: rgba(255, 255, 255, 0.7); 


.widget-state { 
    background: $background-color; 
    font-size: 65px; 
    font-weight: bold; 
} 

И кофе сценарий моего виджета

ready: -> 
    # This is fired when the widget is done being rendered 

    onData: (data) -> 
    # Handle incoming data 
    # You can access the html node of this widget with `@node` 

    @accessor 'value', Dashing.AnimatedValue 

    @accessor 'FCurrentColor', Dashing.AnimatedValue 

    @accessor 'FCurrentState', Dashing.AnimatedValue 

    $(@node).fadeOut().css('background-color', @get('FCurrentColor')).fadeIn() 

Последняя строка должна изменить цвет фона, нет? Но это не работает.

Благодарим за помощь :).

ответ

1

сейчас динамический цвет фона работает. Я установил готовую часть и извлек @accessor из onData.

class Dashing.State extends Dashing.Widget 
    @accessor 'FCurrentColor', Dashing.AnimatedValue 

    @accessor 'FCurrentState', Dashing.AnimatedValue 

    @accessor 'FPreviousState', Dashing.AnimatedValue 

    ready: -> 

    # This is fired when the widget is done being rendered  

    $(@node).css('background-color',@get('FCurrentColor')) 


    onData: (data) -> 
    # Handle incoming data 
    # You can access the html node of this widget with `@node` 
    # Example: $(@node).fadeOut().fadeIn() will make the node flash each time data comes in. 


    if data.FCurrentState isnt data.FPreviousState 
     $(@node).fadeOut().css('background-color',@get('FCurrentColor')).fadeIn() 
Смежные вопросы