diff options
author | anekos | 2011-08-03 01:37:23 +0900 |
---|---|---|
committer | anekos | 2011-08-03 01:37:23 +0900 |
commit | 90960ff039293be9f355f83a162249fdf0c3e31f (patch) | |
tree | 2bfff2be7a5999c7e3ef9a7e117e2fb54a30f384 /google-plus-commando.js | |
parent | 6f560121cb9e72d79d757fdaddd9b66360405ed8 (diff) | |
download | vimperator-plugins-90960ff039293be9f355f83a162249fdf0c3e31f.tar.bz2 |
通知ウィンドウ内のコメント要素取得を修正
Diffstat (limited to 'google-plus-commando.js')
-rw-r--r-- | google-plus-commando.js | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/google-plus-commando.js b/google-plus-commando.js index 0bc7e3a..3dc299d 100644 --- a/google-plus-commando.js +++ b/google-plus-commando.js @@ -142,12 +142,18 @@ let g:gplus_commando_map_menu = "m" function A (list) Array.slice(list); + function IA (list) + Iterator(A(list)); + function click (elem) { if (!elem) throw GPCError('elem is undefined'); buffer.followLink(elem, liberator.CURRENT_TAB); } + function isDisplayed (elem) + (!/none/.test(util.computedStyle(elem).display)); + function withCount (command) { return function (count) { if (count < 1) @@ -215,8 +221,9 @@ let g:gplus_commando_map_menu = "m" back: '.a-b-l-fa-Zj.d-h.fAAdub' }, entry: { + entries: '.JEfY2c.a-b-l-fa-xf-df[id^=":2."]', comment: role('button', '.a-b-f-i-W-O.a-f-i-W-O') - } + }, } }, closeButton: '.CH' @@ -463,11 +470,13 @@ let g:gplus_commando_map_menu = "m" }, entry: { get root () self.summary.root.nextSibling, + get entries () A(root.contentDocument.querySelectorAll(S.frames.notifications.entry.entries)), + get current () self.entry.entries.filter(isDisplayed)[0], get visible () (!/none/.test(util.computedStyle(self.entry.root).display)), get prev () root.contentDocument.querySelector(S.frames.notifications.summary.prev), get next () root.contentDocument.querySelector(S.frames.notifications.summary.next), get back () root.contentDocument.querySelector(S.frames.notifications.summary.back), - get comment () root.contentDocument.querySelector(S.frames.notifications.entry.comment), + get comment () self.entry.current.querySelector(S.frames.notifications.entry.comment), get unfold () root.contentDocument.querySelector(S.currentEntry.unfold.join(', ')) } }; @@ -598,6 +607,8 @@ let g:gplus_commando_map_menu = "m" comment: function () { let notifications = Elements.frames.notifications; if (notifications && notifications.visible && notifications.entry.visible) { + let e = notifications.entry.current; + e.scrollTop = e.scrollHeight; click(notifications.entry.comment); } else { let entry = Elements.currentEntry; |