WIP - JS & Menu.tpl (1689)

This commit is contained in:
Christophe Maudoux 2019-04-17 23:15:03 +02:00
parent ad00102662
commit e3e4239563
7 changed files with 101 additions and 47 deletions

View File

@ -0,0 +1,42 @@
###
LemonLDAP::NG Favorite Applications script
###
# FavApps function (launched by "star" icon)
FavApps = (star, appuri) ->
$.ajax
type: "POST"
url: "#{portal}favapps"
data:
app: appuri
dataType: 'json'
#error: star.attr('src', 'static/common/icons/star0.png')
success: (resp) ->
if resp.error
#console.log 'Error'
#star.attr('src', 'static/common/icons/star0.png')
switchStar star, '0'
else if resp.result
#console.log 'OK'
#star.attr('src', 'static/common/icons/star1.png')
switchStar star, '1'
else
#console.log 'NOK'
#star.attr('src', 'static/common/icons/star0.png')
switchStar star, '-1'
#error: switchStar star, '0'
switchStar = (star, status) ->
if status == '1'
console.log 'OK'
star.attr('src', 'static/common/icons/star1.png')
else if status == '-1'
console.log 'NOK'
star.attr('src', 'static/common/icons/star0.png')
else
console.log 'Error'
star.attr('src', 'static/common/icons/star0.png')
# Switch "star" events
$(document).ready ->
$('body').on 'click', '.star', () -> FavApps $(this), ( $(this).attr 'appuri' )

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,49 @@
// Generated by CoffeeScript 1.12.7
/*
LemonLDAP::NG Favorite Applications script
*/
(function() {
var FavApps, switchStar;
FavApps = function(star, appuri) {
return $.ajax({
type: "POST",
url: portal + "favapps",
data: {
app: appuri
},
dataType: 'json',
success: function(resp) {
if (resp.error) {
return switchStar(star, '0');
} else if (resp.result) {
return switchStar(star, '1');
} else {
return switchStar(star, '-1');
}
}
});
};
switchStar = function(star, status) {
if (status === '1') {
console.log('OK');
return star.attr('src', 'static/common/icons/star1.png');
} else if (status === '-1') {
console.log('NOK');
return star.attr('src', 'static/common/icons/star0.png');
} else {
console.log('Error');
return star.attr('src', 'static/common/icons/star0.png');
}
};
$(document).ready(function() {
return $('body').on('click', '.star', function() {
return FavApps($(this), $(this).attr('appuri'));
});
});
}).call(this);

View File

@ -0,0 +1 @@
(function(){var FavApps,switchStar;FavApps=function(star,appuri){return $.ajax({type:"POST",url:portal+"favapps",data:{app:appuri},dataType:"json",success:function(resp){if(resp.error){return switchStar(star,"0")}else if(resp.result){return switchStar(star,"1")}else{return switchStar(star,"-1")}}})};switchStar=function(star,status){if(status==="1"){console.log("OK");return star.attr("src","static/common/icons/star1.png")}else if(status==="-1"){console.log("NOK");return star.attr("src","static/common/icons/star0.png")}else{console.log("Error");return star.attr("src","static/common/icons/star0.png")}};$(document).ready(function(){return $("body").on("click",".star",function(){return FavApps($(this),$(this).attr("appuri"))})})}).call(this);

View File

@ -42,14 +42,17 @@
<!-- //if:usedebianlibs
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX"><TMPL_VAR NAME="SKIN">/js/skin.min.js"></script>
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">common/js/portal.min.js"></script>
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">common/js/favapps.min.js"></script>
<script type="text/javascript" src="/javascript/bootstrap4/js/bootstrap.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX"><TMPL_VAR NAME="SKIN">/js/skin.min.js"></script>
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">common/js/portal.min.js"></script>
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">common/js/favapps.min.js"></script>
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">bwr/bootstrap/dist/js/bootstrap.min.js"></script>
//else -->
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX"><TMPL_VAR NAME="SKIN">/js/skin.js"></script>
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">common/js/portal.js"></script>
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">common/js/favapps.js"></script>
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">bwr/bootstrap/dist/js/bootstrap.js"></script>
<!-- //endif -->
<TMPL_VAR NAME="CUSTOM_SCRIPT">

View File

@ -114,6 +114,11 @@
<!-- Application -->
<div class="col-md-4">
<div class="application <TMPL_VAR NAME="appid"> card">
<div>
<img class="star" appuri="<TMPL_VAR NAME="appuri">" src="<TMPL_VAR NAME="STATIC_PREFIX">common/icons/star0.png"/>&nbsp;
</div>
<a href="<TMPL_VAR NAME="appuri">" title="<TMPL_VAR NAME="appname">" >
<div class="card-body">
@ -132,6 +137,7 @@
<!-- Name and link (mandatory) -->
<h5 class="appname <TMPL_VAR NAME="appid"> card-title">
<TMPL_VAR NAME="appname">
</h5>
@ -171,53 +177,6 @@
<div class="row">
<TMPL_LOOP NAME=favapps>
<!-- Application -->
<div class="col-md-4">
<div class="application <TMPL_VAR NAME="appid"> card">
<a href="<TMPL_VAR NAME="appuri">" title="<TMPL_VAR NAME="appname">" >
<div class="card-body">
<div class="row">
<!-- Logo (optional) -->
<TMPL_IF NAME="applogo">
<div class="col-3">
<img src="<TMPL_VAR NAME="STATIC_PREFIX">common/apps/<TMPL_VAR NAME="applogo">"
class="applogo <TMPL_VAR NAME="appid"> img-fluid"
alt="<TMPL_VAR NAME="appname">" />
</div>
<div class="col-9">
<TMPL_ELSE>
<div class="col-12">
</TMPL_IF>
<!-- Name and link (mandatory) -->
<h5 class="appname <TMPL_VAR NAME="appid"> card-title">
<TMPL_VAR NAME="appname">
</h5>
<!-- Description (optional) -->
<TMPL_IF NAME="appdesc">
<p class="appdesc <TMPL_VAR NAME="appid"> card-subtitle mb-2 text-muted">
<TMPL_VAR NAME="appdesc">
</p>
</TMPL_IF>
</div>
</div>
</div>
</a>
</div>
</div>
<!-- End of applications loop -->
</TMPL_LOOP>
</div>