Use the announcement's new data-utc value for hiding it.
This commit is contained in:
parent
7f6b06dcd3
commit
0fec8533de
@ -25,6 +25,7 @@ PSAHiding =
|
|||||||
|
|
||||||
unless psa = $.id 'globalMessage'
|
unless psa = $.id 'globalMessage'
|
||||||
$.rmClass doc, 'hide-announcement'
|
$.rmClass doc, 'hide-announcement'
|
||||||
|
$.rmClass doc, 'hide-announcement-enabled'
|
||||||
return
|
return
|
||||||
|
|
||||||
PSAHiding.btn = btn = $.el 'a',
|
PSAHiding.btn = btn = $.el 'a',
|
||||||
@ -34,32 +35,35 @@ PSAHiding =
|
|||||||
href: 'javascript:;'
|
href: 'javascript:;'
|
||||||
$.on btn, 'click', PSAHiding.toggle
|
$.on btn, 'click', PSAHiding.toggle
|
||||||
|
|
||||||
$.get 'hiddenPSAs', [], (item) ->
|
# XXX remove hiddenPSAs workaround in the future.
|
||||||
PSAHiding.sync item['hiddenPSAs']
|
items =
|
||||||
|
hiddenPSA: 0
|
||||||
|
hiddenPSAs: null
|
||||||
|
|
||||||
|
$.get items, ({hiddenPSA, hiddenPSAs}) ->
|
||||||
|
if hiddenPSAs
|
||||||
|
$.delete 'hiddenPSAs'
|
||||||
|
if psa.textContent.replace(/\W+/g, '').toLowerCase() in hiddenPSAs
|
||||||
|
hiddenPSA = +$.id('globalMessage').dataset.utc
|
||||||
|
$.set 'hiddenPSA', hiddenPSA
|
||||||
|
PSAHiding.sync hiddenPSA
|
||||||
$.before psa, btn
|
$.before psa, btn
|
||||||
$.rmClass doc, 'hide-announcement'
|
$.rmClass doc, 'hide-announcement'
|
||||||
|
|
||||||
$.sync 'hiddenPSAs', PSAHiding.sync
|
$.sync 'hiddenPSA', PSAHiding.sync
|
||||||
toggle: (e) ->
|
toggle: (e) ->
|
||||||
hide = $.hasClass @, 'hide-announcement'
|
if $.hasClass @, 'hide-announcement'
|
||||||
text = PSAHiding.trim $.id 'globalMessage'
|
UTC = +$.id('globalMessage').dataset.utc
|
||||||
$.get 'hiddenPSAs', [], ({hiddenPSAs}) ->
|
$.set 'hiddenPSA', UTC
|
||||||
if hide
|
else
|
||||||
hiddenPSAs.push text
|
$.event 'CloseMenu'
|
||||||
hiddenPSAs = hiddenPSAs[-5..]
|
$.delete 'hiddenPSA'
|
||||||
else
|
PSAHiding.sync UTC
|
||||||
$.event 'CloseMenu'
|
sync: (UTC) ->
|
||||||
i = hiddenPSAs.indexOf text
|
|
||||||
hiddenPSAs.splice i, 1
|
|
||||||
PSAHiding.sync hiddenPSAs
|
|
||||||
$.set 'hiddenPSAs', hiddenPSAs
|
|
||||||
sync: (hiddenPSAs) ->
|
|
||||||
psa = $.id 'globalMessage'
|
psa = $.id 'globalMessage'
|
||||||
psa.hidden = PSAHiding.btn.hidden = if PSAHiding.trim(psa) in hiddenPSAs
|
psa.hidden = PSAHiding.btn.hidden = if UTC and UTC >= +psa.dataset.utc
|
||||||
true
|
true
|
||||||
else
|
else
|
||||||
false
|
false
|
||||||
if (hr = psa.nextElementSibling) and hr.nodeName is 'HR'
|
if (hr = psa.nextElementSibling) and hr.nodeName is 'HR'
|
||||||
hr.hidden = psa.hidden
|
hr.hidden = psa.hidden
|
||||||
trim: (psa) ->
|
|
||||||
psa.textContent.replace(/\W+/g, '').toLowerCase()
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user