Improve toggle (#2071)
This commit is contained in:
parent
83e802f208
commit
d91bb8f6b9
|
@ -170,9 +170,9 @@ sub myNotifs {
|
|||
unless $req->param('epoch');
|
||||
my $notif = $self->_viewNotif( $req, $ref, $req->param('epoch') );
|
||||
$notif =~ s/"checkbox"/"checkbox" checked disabled/g;
|
||||
|
||||
|
||||
return $self->sendJSONresponse( $req,
|
||||
{ notification => $notif, result => $notif } );
|
||||
{ notification => $notif, result => ( $notif ? 1 : 0 ) } );
|
||||
}
|
||||
|
||||
my $_notifications = $self->retrieveNotifs($req);
|
||||
|
|
|
@ -14,19 +14,26 @@ setMsg = (msg, level) ->
|
|||
displayError = (j, status, err) ->
|
||||
setMsg 'notificationRetreiveFailed', 'warning'
|
||||
|
||||
toggle = (button, verif) ->
|
||||
toggle = (button, notif, epoch) ->
|
||||
setMsg msg, 'positive'
|
||||
if verif
|
||||
$("#myNotification").attr('hidden', 'true')
|
||||
button.removeClass 'btn-danger'
|
||||
button.addClass 'btn-success'
|
||||
else
|
||||
$("#myNotification").removeAttr('hidden')
|
||||
$(".btn-danger").each ->
|
||||
$(this).removeClass 'btn-danger'
|
||||
$(this).addClass 'btn-success'
|
||||
$(".btn-danger").each ->
|
||||
$(this).removeClass 'btn-danger'
|
||||
$(this).addClass 'btn-success'
|
||||
$(".fa-eye-slash").each ->
|
||||
$(this).removeClass 'fa-eye-slash'
|
||||
$(this).addClass 'fa-eye'
|
||||
$(".verify").each ->
|
||||
$(this).text window.translate 'verify'
|
||||
$(this).attr('trspan', 'verify')
|
||||
if notif and epoch
|
||||
$("#icon-#{notif}-#{epoch}").removeClass 'fa-eye'
|
||||
$("#icon-#{notif}-#{epoch}").addClass 'fa-eye-slash'
|
||||
$("#text-#{notif}-#{epoch}").text window.translate 'hide'
|
||||
$("#text-#{notif}-#{epoch}").attr('trspan', 'hide')
|
||||
button.removeClass 'btn-success'
|
||||
button.addClass 'btn-danger'
|
||||
$("#myNotification").removeAttr('hidden')
|
||||
else $("#myNotification").attr('hidden', 'true')
|
||||
|
||||
# viewNotif function (launched by "verify" button)
|
||||
viewNotif = (notif, epoch, button) ->
|
||||
|
@ -43,7 +50,7 @@ viewNotif = (notif, epoch, button) ->
|
|||
success: (resp) ->
|
||||
if resp.result
|
||||
console.log 'Notification:', resp.notification
|
||||
toggle button, 0
|
||||
toggle button, notif, epoch
|
||||
$('#displayNotif').html resp.notification
|
||||
$('#notifRef').text(notif)
|
||||
myDate = new Date(epoch * 1000)
|
||||
|
@ -58,5 +65,5 @@ $(document).ready ->
|
|||
$(this).text(myDate.toLocaleString())
|
||||
$('#goback').attr 'href', portal
|
||||
$('body').on 'click', '.btn-success', () -> viewNotif ( $(this).attr 'notif' ), ( $(this).attr 'epoch' ), $(this)
|
||||
$('body').on 'click', '.btn-danger', () -> toggle $(this), 1
|
||||
$('body').on 'click', '.btn-danger', () -> toggle $(this)
|
||||
|
||||
|
|
|
@ -23,20 +23,30 @@ LemonLDAP::NG Notifications script
|
|||
return setMsg('notificationRetreiveFailed', 'warning');
|
||||
};
|
||||
|
||||
toggle = function(button, verif) {
|
||||
toggle = function(button, notif, epoch) {
|
||||
setMsg(msg, 'positive');
|
||||
if (verif) {
|
||||
$("#myNotification").attr('hidden', 'true');
|
||||
button.removeClass('btn-danger');
|
||||
return button.addClass('btn-success');
|
||||
} else {
|
||||
$("#myNotification").removeAttr('hidden');
|
||||
$(".btn-danger").each(function() {
|
||||
$(this).removeClass('btn-danger');
|
||||
return $(this).addClass('btn-success');
|
||||
});
|
||||
$(".btn-danger").each(function() {
|
||||
$(this).removeClass('btn-danger');
|
||||
return $(this).addClass('btn-success');
|
||||
});
|
||||
$(".fa-eye-slash").each(function() {
|
||||
$(this).removeClass('fa-eye-slash');
|
||||
return $(this).addClass('fa-eye');
|
||||
});
|
||||
$(".verify").each(function() {
|
||||
$(this).text(window.translate('verify'));
|
||||
return $(this).attr('trspan', 'verify');
|
||||
});
|
||||
if (notif && epoch) {
|
||||
$("#icon-" + notif + "-" + epoch).removeClass('fa-eye');
|
||||
$("#icon-" + notif + "-" + epoch).addClass('fa-eye-slash');
|
||||
$("#text-" + notif + "-" + epoch).text(window.translate('hide'));
|
||||
$("#text-" + notif + "-" + epoch).attr('trspan', 'hide');
|
||||
button.removeClass('btn-success');
|
||||
return button.addClass('btn-danger');
|
||||
button.addClass('btn-danger');
|
||||
return $("#myNotification").removeAttr('hidden');
|
||||
} else {
|
||||
return $("#myNotification").attr('hidden', 'true');
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -56,7 +66,7 @@ LemonLDAP::NG Notifications script
|
|||
var myDate;
|
||||
if (resp.result) {
|
||||
console.log('Notification:', resp.notification);
|
||||
toggle(button, 0);
|
||||
toggle(button, notif, epoch);
|
||||
$('#displayNotif').html(resp.notification);
|
||||
$('#notifRef').text(notif);
|
||||
myDate = new Date(epoch * 1000);
|
||||
|
@ -82,7 +92,7 @@ LemonLDAP::NG Notifications script
|
|||
return viewNotif($(this).attr('notif'), $(this).attr('epoch'), $(this));
|
||||
});
|
||||
return $('body').on('click', '.btn-danger', function() {
|
||||
return toggle($(this), 1);
|
||||
return toggle($(this));
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
(function(){var t,e,a,s,n;e=$("#msg").attr("trspan"),a=function(t,n){return $("#msg").html(window.translate(t)),$("#color").removeClass("message-positive message-warning alert-success alert-warning"),$("#color").addClass("message-"+n),"positive"===n&&(n="success"),$("#color").addClass("alert-"+n)},t=function(t,n,e){return a("notificationRetreiveFailed","warning")},s=function(t,n){return a(e,"positive"),n?($("#myNotification").attr("hidden","true"),t.removeClass("btn-danger"),t.addClass("btn-success")):($("#myNotification").removeAttr("hidden"),$(".btn-danger").each(function(){return $(this).removeClass("btn-danger"),$(this).addClass("btn-success")}),t.removeClass("btn-success"),t.addClass("btn-danger"))},n=function(e,o,i){return console.log("Ref:",e,"epoch:",o),e&&o?(console.log("Send AJAX request"),$.ajax({type:"GET",url:portal+"mynotifications/"+e,data:{epoch:o},dataType:"json",error:t,success:function(t){var n;return t.result?(console.log("Notification:",t.notification),s(i,0),$("#displayNotif").html(t.notification),$("#notifRef").text(e),n=new Date(1e3*o),$("#notifEpoch").text(n.toLocaleString())):a("notificationNotFound","warning")}})):a("notificationRetreiveFailed","warning")},$(document).ready(function(){return $(".data-epoch").each(function(){var t;return t=new Date(1e3*$(this).text()),$(this).text(t.toLocaleString())}),$("#goback").attr("href",portal),$("body").on("click",".btn-success",function(){return n($(this).attr("notif"),$(this).attr("epoch"),$(this))}),$("body").on("click",".btn-danger",function(){return s($(this),1)})})}).call(this);
|
||||
(function(){var t,e,n,a,i;e=$("#msg").attr("trspan"),n=function(t,e){return $("#msg").html(window.translate(t)),$("#color").removeClass("message-positive message-warning alert-success alert-warning"),$("#color").addClass("message-"+e),"positive"===e&&(e="success"),$("#color").addClass("alert-"+e)},t=function(t,e,a){return n("notificationRetreiveFailed","warning")},a=function(t,a,i){return n(e,"positive"),$(".btn-danger").each(function(){return $(this).removeClass("btn-danger"),$(this).addClass("btn-success")}),$(".fa-eye-slash").each(function(){return $(this).removeClass("fa-eye-slash"),$(this).addClass("fa-eye")}),$(".verify").each(function(){return $(this).text(window.translate("verify")),$(this).attr("trspan","verify")}),a&&i?($("#icon-"+a+"-"+i).removeClass("fa-eye"),$("#icon-"+a+"-"+i).addClass("fa-eye-slash"),$("#text-"+a+"-"+i).text(window.translate("hide")),$("#text-"+a+"-"+i).attr("trspan","hide"),t.removeClass("btn-success"),t.addClass("btn-danger"),$("#myNotification").removeAttr("hidden")):$("#myNotification").attr("hidden","true")},i=function(e,i,o){return console.log("Ref:",e,"epoch:",i),e&&i?(console.log("Send AJAX request"),$.ajax({type:"GET",url:portal+"mynotifications/"+e,data:{epoch:i},dataType:"json",error:t,success:function(t){var s;return t.result?(console.log("Notification:",t.notification),a(o,e,i),$("#displayNotif").html(t.notification),$("#notifRef").text(e),s=new Date(1e3*i),$("#notifEpoch").text(s.toLocaleString())):n("notificationNotFound","warning")}})):n("notificationRetreiveFailed","warning")},$(document).ready(function(){return $(".data-epoch").each(function(){var t;return t=new Date(1e3*$(this).text()),$(this).text(t.toLocaleString())}),$("#goback").attr("href",portal),$("body").on("click",".btn-success",function(){return i($(this).attr("notif"),$(this).attr("epoch"),$(this))}),$("body").on("click",".btn-danger",function(){return a($(this))})})}).call(this);
|
||||
//# sourceMappingURL=lemonldap-ng-portal/site/htdocs/static/common/js/notifications.min.js.map
|
|
@ -1 +1 @@
|
|||
{"version":3,"sources":["lemonldap-ng-portal/site/htdocs/static/common/js/notifications.js"],"names":["displayError","msg","setMsg","toggle","viewNotif","$","attr","level","html","window","translate","removeClass","addClass","j","status","err","button","verif","removeAttr","each","this","notif","epoch","console","log","ajax","type","url","portal","data","dataType","error","success","resp","myDate","result","notification","text","Date","toLocaleString","document","ready","on","call"],"mappings":"CAMA,WACE,IAAIA,EAAcC,EAAKC,EAAQC,EAAQC,EAEvCH,EAAMI,EAAE,QAAQC,KAAK,UAErBJ,EAAS,SAASD,EAAKM,GAOrB,OANAF,EAAE,QAAQG,KAAKC,OAAOC,UAAUT,IAChCI,EAAE,UAAUM,YAAY,gEACxBN,EAAE,UAAUO,SAAS,WAAaL,GACpB,aAAVA,IACFA,EAAQ,WAEHF,EAAE,UAAUO,SAAS,SAAWL,IAGzCP,EAAe,SAASa,EAAGC,EAAQC,GACjC,OAAOb,EAAO,6BAA8B,YAG9CC,EAAS,SAASa,EAAQC,GAExB,OADAf,EAAOD,EAAK,YACRgB,GACFZ,EAAE,mBAAmBC,KAAK,SAAU,QACpCU,EAAOL,YAAY,cACZK,EAAOJ,SAAS,iBAEvBP,EAAE,mBAAmBa,WAAW,UAChCb,EAAE,eAAec,KAAK,WAEpB,OADAd,EAAEe,MAAMT,YAAY,cACbN,EAAEe,MAAMR,SAAS,iBAE1BI,EAAOL,YAAY,eACZK,EAAOJ,SAAS,gBAI3BR,EAAY,SAASiB,EAAOC,EAAON,GAEjC,OADAO,QAAQC,IAAI,OAAQH,EAAO,SAAUC,GACjCD,GAASC,GACXC,QAAQC,IAAI,qBACLnB,EAAEoB,KAAK,CACZC,KAAM,MACNC,IAAKC,OAAS,mBAAqBP,EACnCQ,KAAM,CACJP,MAAOA,GAETQ,SAAU,OACVC,MAAO/B,EACPgC,QAAS,SAASC,GAChB,IAAIC,EACJ,OAAID,EAAKE,QACPZ,QAAQC,IAAI,gBAAiBS,EAAKG,cAClCjC,EAAOa,EAAQ,GACfX,EAAE,iBAAiBG,KAAKyB,EAAKG,cAC7B/B,EAAE,aAAagC,KAAKhB,GACpBa,EAAS,IAAII,KAAa,IAARhB,GACXjB,EAAE,eAAegC,KAAKH,EAAOK,mBAE7BrC,EAAO,uBAAwB,eAKrCA,EAAO,6BAA8B,YAIhDG,EAAEmC,UAAUC,MAAM,WAUhB,OATApC,EAAE,eAAec,KAAK,WACpB,IAAIe,EAEJ,OADAA,EAAS,IAAII,KAAsB,IAAjBjC,EAAEe,MAAMiB,QACnBhC,EAAEe,MAAMiB,KAAKH,EAAOK,oBAE7BlC,EAAE,WAAWC,KAAK,OAAQsB,QAC1BvB,EAAE,QAAQqC,GAAG,QAAS,eAAgB,WACpC,OAAOtC,EAAUC,EAAEe,MAAMd,KAAK,SAAUD,EAAEe,MAAMd,KAAK,SAAUD,EAAEe,SAE5Df,EAAE,QAAQqC,GAAG,QAAS,cAAe,WAC1C,OAAOvC,EAAOE,EAAEe,MAAO,SAI1BuB,KAAKvB"}
|
||||
{"version":3,"sources":["lemonldap-ng-portal/site/htdocs/static/common/js/notifications.js"],"names":["displayError","msg","setMsg","toggle","viewNotif","$","attr","level","html","window","translate","removeClass","addClass","j","status","err","button","notif","epoch","each","this","text","removeAttr","console","log","ajax","type","url","portal","data","dataType","error","success","resp","myDate","result","notification","Date","toLocaleString","document","ready","on","call"],"mappings":"CAMA,WACE,GAAIA,GAAcC,EAAKC,EAAQC,EAAQC,CAEvCH,GAAMI,EAAE,QAAQC,KAAK,UAErBJ,EAAS,SAASD,EAAKM,GAOrB,MANAF,GAAE,QAAQG,KAAKC,OAAOC,UAAUT,IAChCI,EAAE,UAAUM,YAAY,gEACxBN,EAAE,UAAUO,SAAS,WAAaL,GACpB,aAAVA,IACFA,EAAQ,WAEHF,EAAE,UAAUO,SAAS,SAAWL,IAGzCP,EAAe,SAASa,EAAGC,EAAQC,GACjC,MAAOb,GAAO,6BAA8B,YAG9CC,EAAS,SAASa,EAAQC,EAAOC,GAc/B,MAbAhB,GAAOD,EAAK,YACZI,EAAE,eAAec,KAAK,WAEpB,MADAd,GAAEe,MAAMT,YAAY,cACbN,EAAEe,MAAMR,SAAS,iBAE1BP,EAAE,iBAAiBc,KAAK,WAEtB,MADAd,GAAEe,MAAMT,YAAY,gBACbN,EAAEe,MAAMR,SAAS,YAE1BP,EAAE,WAAWc,KAAK,WAEhB,MADAd,GAAEe,MAAMC,KAAKZ,OAAOC,UAAU,WACvBL,EAAEe,MAAMd,KAAK,SAAU,YAE5BW,GAASC,GACXb,EAAE,SAAWY,EAAQ,IAAMC,GAAOP,YAAY,UAC9CN,EAAE,SAAWY,EAAQ,IAAMC,GAAON,SAAS,gBAC3CP,EAAE,SAAWY,EAAQ,IAAMC,GAAOG,KAAKZ,OAAOC,UAAU,SACxDL,EAAE,SAAWY,EAAQ,IAAMC,GAAOZ,KAAK,SAAU,QACjDU,EAAOL,YAAY,eACnBK,EAAOJ,SAAS,cACTP,EAAE,mBAAmBiB,WAAW,WAEhCjB,EAAE,mBAAmBC,KAAK,SAAU,SAI/CF,EAAY,SAASa,EAAOC,EAAOF,GAEjC,MADAO,SAAQC,IAAI,OAAQP,EAAO,SAAUC,GACjCD,GAASC,GACXK,QAAQC,IAAI,qBACLnB,EAAEoB,MACPC,KAAM,MACNC,IAAKC,OAAS,mBAAqBX,EACnCY,MACEX,MAAOA,GAETY,SAAU,OACVC,MAAO/B,EACPgC,QAAS,SAASC,GAChB,GAAIC,EACJ,OAAID,GAAKE,QACPZ,QAAQC,IAAI,gBAAiBS,EAAKG,cAClCjC,EAAOa,EAAQC,EAAOC,GACtBb,EAAE,iBAAiBG,KAAKyB,EAAKG,cAC7B/B,EAAE,aAAagB,KAAKJ,GACpBiB,EAAS,GAAIG,MAAa,IAARnB,GACXb,EAAE,eAAegB,KAAKa,EAAOI,mBAE7BpC,EAAO,uBAAwB,eAKrCA,EAAO,6BAA8B,YAIhDG,EAAEkC,UAAUC,MAAM,WAUhB,MATAnC,GAAE,eAAec,KAAK,WACpB,GAAIe,EAEJ,OADAA,GAAS,GAAIG,MAAsB,IAAjBhC,EAAEe,MAAMC,QACnBhB,EAAEe,MAAMC,KAAKa,EAAOI,oBAE7BjC,EAAE,WAAWC,KAAK,OAAQsB,QAC1BvB,EAAE,QAAQoC,GAAG,QAAS,eAAgB,WACpC,MAAOrC,GAAUC,EAAEe,MAAMd,KAAK,SAAUD,EAAEe,MAAMd,KAAK,SAAUD,EAAEe,SAE5Df,EAAE,QAAQoC,GAAG,QAAS,cAAe,WAC1C,MAAOtC,GAAOE,EAAEe,aAInBsB,KAAKtB","file":"lemonldap-ng-portal/site/htdocs/static/common/js/notifications.min.js"}
|
|
@ -17,14 +17,14 @@
|
|||
</thead>
|
||||
<tbody>
|
||||
<TMPL_LOOP NAME="NOTIFICATIONS">
|
||||
<tr id='delete-<TMPL_VAR NAME="epoch">'>
|
||||
<tr>
|
||||
<td class="data-epoch"><TMPL_VAR NAME="epoch"></td>
|
||||
<td class="align-middle"><TMPL_VAR NAME="reference"></td>
|
||||
<td>
|
||||
<span notif='<TMPL_VAR NAME="reference">' epoch='<TMPL_VAR NAME="epoch">' class="btn btn-success" role="button">
|
||||
<span class="fa fa-eye"></span>
|
||||
<span trspan="verify">Verify</span>
|
||||
</span>
|
||||
<span notif='<TMPL_VAR NAME="reference">' epoch='<TMPL_VAR NAME="epoch">' class="btn btn-success" role="button">
|
||||
<span id='icon-<TMPL_VAR NAME="reference">-<TMPL_VAR NAME="epoch">' class="fa fa-eye"></span>
|
||||
<span id='text-<TMPL_VAR NAME="reference">-<TMPL_VAR NAME="epoch">' class="verify" trspan="verify">Verify</span>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</TMPL_LOOP>
|
||||
|
|
Loading…
Reference in New Issue
Block a user