summaryrefslogtreecommitdiff
path: root/widgets/number
diff options
context:
space:
mode:
authorvarac <varacanero@zeromail.org>2016-07-13 20:07:09 +0200
committervarac <varacanero@zeromail.org>2016-07-13 20:07:09 +0200
commit5d01197cf893d4a8c9a57f7c963f47393d34e157 (patch)
tree860e97c0af1ad8c7d4bd1aecb0b7e6658b312846 /widgets/number
initial commit, import from pixelated_dashboard
Diffstat (limited to 'widgets/number')
-rw-r--r--widgets/number/number.coffee24
-rw-r--r--widgets/number/number.html11
-rw-r--r--widgets/number/number.scss39
3 files changed, 74 insertions, 0 deletions
diff --git a/widgets/number/number.coffee b/widgets/number/number.coffee
new file mode 100644
index 0000000..645ee7f
--- /dev/null
+++ b/widgets/number/number.coffee
@@ -0,0 +1,24 @@
+class Dashing.Number extends Dashing.Widget
+ @accessor 'current', Dashing.AnimatedValue
+
+ @accessor 'difference', ->
+ if @get('last')
+ last = parseInt(@get('last'))
+ current = parseInt(@get('current'))
+ if last != 0
+ diff = Math.abs(Math.round((current - last) / last * 100))
+ "#{diff}%"
+ else
+ ""
+
+ @accessor 'arrow', ->
+ if @get('last')
+ if parseInt(@get('current')) > parseInt(@get('last')) then 'icon-arrow-up' else 'icon-arrow-down'
+
+ onData: (data) ->
+ if data.status
+ # clear existing "status-*" classes
+ $(@get('node')).attr 'class', (i,c) ->
+ c.replace /\bstatus-\S+/g, ''
+ # add new class
+ $(@get('node')).addClass "status-#{data.status}"
diff --git a/widgets/number/number.html b/widgets/number/number.html
new file mode 100644
index 0000000..c82e5f4
--- /dev/null
+++ b/widgets/number/number.html
@@ -0,0 +1,11 @@
+<h1 class="title" data-bind="title"></h1>
+
+<h2 class="value" data-bind="current | shortenedNumber | prepend prefix | append suffix"></h2>
+
+<p class="change-rate">
+ <i data-bind-class="arrow"></i><span data-bind="difference"></span>
+</p>
+
+<p class="more-info" data-bind="moreinfo"></p>
+
+<p class="updated-at" data-bind="updatedAtMessage"></p>
diff --git a/widgets/number/number.scss b/widgets/number/number.scss
new file mode 100644
index 0000000..9e36c5a
--- /dev/null
+++ b/widgets/number/number.scss
@@ -0,0 +1,39 @@
+// ----------------------------------------------------------------------------
+// Sass declarations
+// ----------------------------------------------------------------------------
+$background-color: #178CA6;
+$value-color: #fff;
+
+$title-color: rgba(255, 255, 255, 0.7);
+$moreinfo-color: rgba(255, 255, 255, 0.7);
+
+// ----------------------------------------------------------------------------
+// Widget-number styles
+// ----------------------------------------------------------------------------
+.widget-number {
+
+ background-color: $background-color;
+
+ .title {
+ color: $title-color;
+ }
+
+ .value {
+ color: $value-color;
+ }
+
+ .change-rate {
+ font-weight: 500;
+ font-size: 30px;
+ color: $value-color;
+ }
+
+ .more-info {
+ color: $moreinfo-color;
+ }
+
+ .updated-at {
+ color: rgba(0, 0, 0, 0.3);
+ }
+
+}