You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whimsical.apache.org by ru...@apache.org on 2017/09/27 18:44:00 UTC
[whimsy] 02/03: make toggling work again
This is an automated email from the ASF dual-hosted git repository.
rubys pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git
commit 39b7f82abbbbb69553f98190d74c334535d8b4de
Author: Sam Ruby <ru...@intertwingly.net>
AuthorDate: Wed Sep 27 14:43:03 2017 -0400
make toggling work again
---
www/board/agenda/views/app.js.rb | 1 +
www/board/agenda/views/buttons/post-actions.js.rb | 15 ++++++++++++++-
www/board/agenda/views/layout/header.js.rb | 17 +++++++++++++++--
www/board/agenda/views/pages/select-actions.rb | 6 +-----
www/board/agenda/views/utils.js.rb | 4 ++--
www/roster/views/person.js.rb | 19 ++++++++++---------
6 files changed, 43 insertions(+), 19 deletions(-)
diff --git a/www/board/agenda/views/app.js.rb b/www/board/agenda/views/app.js.rb
index c7ba655..1386377 100644
--- a/www/board/agenda/views/app.js.rb
+++ b/www/board/agenda/views/app.js.rb
@@ -1,5 +1,6 @@
# config
require_relative 'vue-config'
+require_relative 'event-bus'
# common
require_relative 'router'
diff --git a/www/board/agenda/views/buttons/post-actions.js.rb b/www/board/agenda/views/buttons/post-actions.js.rb
index acf72dd..a973edc 100644
--- a/www/board/agenda/views/buttons/post-actions.js.rb
+++ b/www/board/agenda/views/buttons/post-actions.js.rb
@@ -4,11 +4,24 @@
class PostActions < Vue
def initialize
@disabled = false
+ @list = []
end
def render
_button.btn.btn_primary 'post actions', onClick: self.click,
- disabled: @disabled || SelectActions.data.list.emtpy?
+ disabled: @disabled || @list.empty?
+ end
+
+ def mounted()
+ EventBus.on :potential_actions, self.potential_actions
+ end
+
+ def beforeDestroy()
+ EventBus.off :potential_actions, self.potential_actions
+ end
+
+ def potential_actions(list)
+ @list = list
end
def click(event)
diff --git a/www/board/agenda/views/layout/header.js.rb b/www/board/agenda/views/layout/header.js.rb
index 5ba3590..7839466 100644
--- a/www/board/agenda/views/layout/header.js.rb
+++ b/www/board/agenda/views/layout/header.js.rb
@@ -8,6 +8,7 @@
class Header < Vue
def initialize
@infodropdown = nil
+ @clock_counter = 0
end
def render
@@ -18,7 +19,7 @@ class Header < Vue
_PodlingNameSearch item: @@item
end
- _span.clock! "\u231B" if clock_counter > 0
+ _span.clock! "\u231B" if @clock_counter > 0
_ul.nav.nav_pills.navbar_right do
@@ -126,8 +127,20 @@ class Header < Vue
end
end
+ def beforeMount()
+ EventBus.on :clock_counter, self.update_counter
+ end
+
+ def beforeDestroy()
+ EventBus.off :clock_counter, self.update_counter
+ end
+
+ def update_counter(counter)
+ @clock_counter = counter
+ end
+
# toggle info dropdown
- def toggleInfo
+ def toggleInfo()
@infodropdown = (@infodropdown ? nil : 'open')
end
end
diff --git a/www/board/agenda/views/pages/select-actions.rb b/www/board/agenda/views/pages/select-actions.rb
index 19078e4..f16ed8b 100644
--- a/www/board/agenda/views/pages/select-actions.rb
+++ b/www/board/agenda/views/pages/select-actions.rb
@@ -13,11 +13,6 @@ class SelectActions < Vue
@names = []
end
- def created()
- console.log 'created'
- SelectActions.data = $data
- end
-
def render
_h3 'Post Action Items'
@@ -37,6 +32,7 @@ class SelectActions < Vue
if response
@list = response.actions
@names = response.names
+ EventBus.emit :potential_actions, @list
end
end
end
diff --git a/www/board/agenda/views/utils.js.rb b/www/board/agenda/views/utils.js.rb
index f097e5e..f31f9d2 100644
--- a/www/board/agenda/views/utils.js.rb
+++ b/www/board/agenda/views/utils.js.rb
@@ -89,7 +89,7 @@ def retrieve(target, type, &block)
def xhr.onreadystatechange()
if xhr.readyState == 1
clock_counter += 1
- setTimeout(0) {Main.refresh()}
+ EventBus.emit :clock_counter, clock_counter
elsif xhr.readyState == 4
data = nil
@@ -120,7 +120,7 @@ def retrieve(target, type, &block)
block(data)
clock_counter -= 1
- Main.refresh()
+ EventBus.emit :clock_counter, clock_counter
end
end
diff --git a/www/roster/views/person.js.rb b/www/roster/views/person.js.rb
index 198aa7a..4d796cd 100644
--- a/www/roster/views/person.js.rb
+++ b/www/roster/views/person.js.rb
@@ -209,8 +209,14 @@ class Person < Vue
# when a double click occurs, toggle the associated state
def dblclick(event)
- tr = event.currentTarget
- @edit = tr.dataset.edit
+ row = event.currentTarget
+
+ if row.dataset.edit == @edit
+ @edit = nil
+ else
+ @edit = row.dataset.edit
+ end
+
window.getSelection().removeAllRanges()
end
@@ -256,13 +262,8 @@ class Person < Vue
@committer = response.committer if response.committer
# turn off edit mode on this field
- tr = form.closest('tr')[0]
- if tr
- field = "edit_#{tr.dataset.edit}"
- changes = {}
- changes[field] = false
- self.setState changes
- end
+ row = form.closest('.row')[0]
+ @edit = nil if row and row.dataset.edit == @edit
},
error: ->(response) {
--
To stop receiving notification emails like this one, please contact
"commits@whimsical.apache.org" <co...@whimsical.apache.org>.