Rev 1731 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@ page import="pt.estgp.estgweb.web.UserSessionProxy" %>
<%@ page contentType="text/html; charset=UTF-8" language="java"%>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<%@ taglib prefix="baco" uri="/WEB-INF/tlds/baco.tld" %>
<%--Esta declaracao tem de estar antes das proximas que sao dependentes desta--%>
<script>
var GLOBAL_BacoAngularAppDependencies = [];
var bacoAngularApp = angular.module('BacoAngularApp', GLOBAL_BacoAngularAppDependencies);
/* Isto daria para colocar numa app nossa lá no meio para adicionar material vindo do Ajax
bacoAngularApp.directive('dynamic', function ($compile) {
return {
replace: true,
link: function (scope, ele, attrs) {
scope.$watch(attrs.dynamic, function(html) {
if (!html) {
return;
}
ele.html((typeof(html) === 'string') ? html : html.data);
$compile(ele.contents())(scope);
});
}
};
});
*/
/**
* AngularHelper : Contains methods that help using angular without being in the scope of an angular controller or directive
*/
var AngularHelper = (function () {
var AngularHelper = function () { };
/**
* ApplicationName : Default application name for the helper
*/
var defaultApplicationName = "myDefaultAppName";
/**
* Compile : Compile html with the rootScope of an application
* and replace the content of a target element with the compiled html
* @$targetDom : The dom in which the compiled html should be placed
* @htmlToCompile : The html to compile using angular
* @applicationName : (Optionnal) The name of the application (use the default one if empty)
*/
AngularHelper.Compile = function ($targetDom, htmlToCompile, applicationName) {
var $injector = angular.injector(["ng", applicationName || defaultApplicationName]);
$injector.invoke(["$compile", "$rootScope", function ($compile, $rootScope) {
//Get the scope of the target, use the rootScope if it does not exists
var $scope = $targetDom.html(htmlToCompile).scope();
$compile($targetDom)($scope || $rootScope);
$rootScope.$digest();
}]);
}
return AngularHelper;
})();
</script>
<jsp:include page="intranetTools/files-upload-form.jsp"/>
<link rel="stylesheet" href="<%=request.getContextPath()%>/js/angularjs/angular-ui-tree/angular-ui-tree.min.css">
<script type="text/javascript" src="<%=request.getContextPath()%>/js/angularjs/angular-ui-tree/angular-ui-tree.js"></script>
<script>
//COLOCAR WEB-MESSAGES WARNING E ERROR NUMA MODAL DEPOIS DE CARREGAR A PAGINA
//ESTE METODO É DE AMBITO AUTOMATICO VAI BUSCAR ERROS, REPARE NA CLASSE web-messages-errors-baco que é
//colocada pelo Struts nos prefixos a partir da conf no MessageResources
//Todas as mensagens desta classe são apanhadas e colocadas na modal de erros abaixo
//seguidamente são mostradas em Modal
$(document).ready(function()
{
if($(".web-messages-errors-baco").length)
{
var webMessages= "";
$(".web-messages-errors-baco").each( function()
{
webMessages += $(this).html();
});
$('#errorsBacoModal .content-errors').html(webMessages);
$('.modal').modal("hide");
$('#errorsBacoModal').modal({
show: 'true'
});
}
});
/* function modalWebMessages(title)
{
if($(".web-messages").length)
{
$("#modalWebMessages modal-title").html(title);
$('#modalWebMessages .content-web-messages').html( $(".web-messages").html());
$('#modalWebMessages .content-aditional').html( "");
$('.modal').modal("hide");
$('#modalWebMessages').modal({
show: 'true'
});
}
}*/
function modalWebMessages(title,aditionalHtml)
{
if($(".web-messages").length)
{
$("#modalWebMessages .modal-title").html(title);
var webMessages= "";
$(".web-messages").each( function()
{
webMessages += $(this).html();
});
$('#modalWebMessages .content-web-messages').html( webMessages);
if(aditionalHtml)
$('#modalWebMessages .content-aditional').html( aditionalHtml);
$('.modal').modal("hide");
$('#modalWebMessages').modal({
show: 'true'
});
}
}
function modalWebMessagesGivenContainer(title,refContainer)
{
if($(refContainer + " .web-messages").length)
{
$("#modalWebMessages .modal-title").html(title);
var webMessages= "";
$(refContainer + " .web-messages").each( function()
{
webMessages += $(this).html();
});
$('#modalWebMessages .content-web-messages').html(webMessages);
$('#modalWebMessages .content-aditional').html( "");
$('.modal').modal("hide");
$('#modalWebMessages').modal({
show: 'true'
});
}
}
function modalWebMessagesGivenContainerAndTarget(title,refContainer,targetOkUrl)
{
if($(refContainer + " .web-messages").length)
{
$("#modalWebMessages .modal-title").html(title);
var webMessages= "";
$(refContainer + " .web-messages").each( function()
{
webMessages += $(this).html();
});
$('#modalWebMessages .content-web-messages').html(webMessages);
$('#modalWebMessages .content-aditional').html( "");
$('.modal').modal("hide");
$('#modalWebMessages').modal({
show: 'true'
});
$("#modalWebMessages button[data-dismiss='modal']").unbind( "click" );
$("#modalWebMessages button[data-dismiss='modal']").click(
function()
{
window.location.href = targetOkUrl;
}
);
}
}
</script>
<div class="modal fade" id="errorsBacoModal" role="dialog" >
<div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title">Existem Avisos</h1>
</div>
<div class="modal-body">
<div class="panel panel-default">
<div class="panel-body content-errors" >
</div>
</div>
<button type="button" class="btn btn-default" data-dismiss="modal">Entendi</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="modalWebMessages" role="dialog" >
<div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title"></h1>
</div>
<div class="modal-body">
<div class="panel panel-default">
<div class="panel-body content-web-messages" >
</div>
</div>
<div class="content-aditional" >
</div>
<button type="button" class="btn btn-default" data-dismiss="modal">Entendi</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="historyFilesModal" role="dialog" >
<div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title"><bean:message key="data.history.title"/></h1>
</div>
<div class="modal-body">
<div class="panel panel-default">
<div class="panel-body" id="contentForm">
<form class="form-horizontal" onsubmit="submitDataVersionForm();return false;">
<div class="form-group">
<label class="control-label col-sm-4" for="filesVersionsId"><bean:message key="data.history.form.input"/></label>
<div class="col-sm-6">
<input type="text" id="filesVersionsId" class="form-control"/>
</div>
</div>
<input type="button" class="btn btn-default" onclick="submitDataVersionForm()" value="<bean:message key="submit"/>"/>
<button type="button" class="btn btn-danger" data-dismiss="modal"><bean:message key="cancel"/></button>
</form>
</div>
</div>
<div class="panel panel-default">
<div class="panel-body" id="contentVersions">
</div>
</div>
<button type="button" class="btn btn-danger" data-dismiss="modal"><bean:message key="cancel"/></button>
</div>
</div>
</div>
</div>
<script>
function alertModal(msg)
{
$('#alertModal').find('.InfoMessageToUser').html(msg);
$('#alertModal').modal({
show: 'true'
});
}
function infoModal(msg)
{
$('.dynamicInfoModal').find('.InfoMessageToUser').html(msg);
$('.dynamicInfoModal').modal({
show: 'true'
});
}
$(document).ready(function(){
$('.confirmModal').on('show.bs.modal', function(e) {
$(this).find('.btn-ok').attr('href', $(e.relatedTarget).data('href'));
$(this).find('.ConfirmMessageToUser').html($(e.relatedTarget).data('message'));
});
$('.dynamicInfoModal').on('show.bs.modal', function(e)
{
if(e.relatedTarget && e.relatedTarget.data('message'))
{
$(this).find('.InfoMessageToUser').html($(e.relatedTarget).data('message'));
}
});
$('.alertModal').on('show.bs.modal', function(e)
{
if(e.relatedTarget && e.relatedTarget.data('message'))
{
$(this).find('.InfoMessageToUser').html($(e.relatedTarget).data('message'));
}
});
$('.maximize-button').click(function(e)
{
$($(e.currentTarget).data("target")).toggleClass('fullscreen');
});
$('.confirmModalFunction').on('show.bs.modal', function(e) {
callbackscript = $(e.relatedTarget).data('script');
$(this).find('.btn-ok').unbind('click').click(
function(){
eval(callbackscript);
}
);
$(this).find('.ConfirmMessageToUser').html($(e.relatedTarget).data('message'));
});
$('.confirmModal').on('show.bs.modal', function(e) {
href = $(e.relatedTarget).data('href');
$(this).find('.btn-ok').unbind('click').click(
function(){
window.location=href;
}
);
$(this).find('.ConfirmMessageToUser').html($(e.relatedTarget).data('message'));
});
});
</script>
<style>
.fullscreen{
z-index: 9999;
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
}
</style>
<%--
PODEMOS CRIAR OUTRAS MODAL DA CLASSE MODAL CONFIRM sempre que quisermos
A função generica acima permite que qualquer modal da classe .modalConfirm
seja automaticamente preenchida com os campos ConfirmMessageToUser vindos
do attributo data-message e com o btn-ok vindo do data-href
--%>
<div class="modal fade confirmModal" id="confirm-ModalGeneric" tabindex="-1" role="dialog" >
<div class="modal-dialog" data-width="450" style="display: block; width: 450px; margin-top: 50px;" aria-hidden="false">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Tem a certeza que deseja efectuar a seguinte operação?</h4>
</div>
<div class="modal-body">
<p class="ConfirmMessageToUser">
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
<button class="btn btn-danger btn-ok">Sim</button>
</div>
</div>
</div>
</div>
<div class="modal fade confirmModalFunction" id="confirm-ModalFunction" tabindex="-1" role="dialog" >
<div class="modal-dialog" data-width="450" style="display: block; width: 450px; margin-top: 50px;" aria-hidden="false">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Tem a certeza que deseja efectuar a seguinte operação?</h4>
</div>
<div class="modal-body">
<p class="ConfirmMessageToUser">
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
<a class="btn btn-danger btn-ok">Sim</a>
</div>
</div>
</div>
</div>
<div class="modal fade dynamicInfoModal" id="dynamicInfo-ModalGeneric" tabindex="-1" role="dialog" >
<div class="modal-dialog" data-width="450" style="display: block; width: 450px; margin-top: 50px;" aria-hidden="false">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Informação</h4>
</div>
<div class="modal-body">
<p class="InfoMessageToUser">
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Ok</button>
</div>
</div>
</div>
</div>
<div class="modal fade alertModal" id="alertModal" tabindex="-1" role="dialog" >
<div class="modal-dialog" data-width="450" style="display: block; width: 450px; margin-top: 50px;" aria-hidden="false">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Alerta</h4>
</div>
<div class="modal-body">
<div class="alert alert-warning InfoMessageToUser">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Ok</button>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function(){
$('#modalAjaxRequest').on('show.bs.modal', function(e)
{
reloadAjaxRequestModal($(e.relatedTarget));
});
});
function reloadAjaxRequestModal(target)
{
$("#modalAjaxRequest .modal-title .title-wrap").html($(target).data('title'));
$("#modalAjaxRequest .contentAjaxRequest").html('Por favor aguarde ... <img src="<%=request.getContextPath()%>/imgs/wait.gif"/>');
var ajaxCallbackParameters = {
'callback-target-url': $(target).data('callbackTargetUrl'),
'callback-target-function': $(target).data('callbackTargetFunction'),
'callback-target-function-token-parameter': $(target).data('callbackTargetFunctionTokenParameter')
};
$.post($(target).data('href'),
ajaxCallbackParameters
, function(data) {
$("#modalAjaxRequest .contentAjaxRequest").html(data);
evaluateTableSortersInside("#modalAjaxRequest");
invokeChosenSelects();
$('#modalAjaxRequest .reloadAjaxRequestModal').on("click",
function(e){
reloadAjaxRequestModal(e.currentTarget);
}
);
});
}
</script>
<div class="modal fade" id="modalAjaxRequest" role="dialog" >
<div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header clearfix">
<h3 class="modal-title">
<label class="title-wrap"></label>
<button type="button" class="btn btn-danger btn-xs pull-right" data-dismiss="modal"><span class="glyphicon glyphicon-remove small"></span></button>
</h3>
</div>
<div class="modal-body">
<div class="contentAjaxRequest">
</div>
<button type="button" class="btn btn-danger" data-dismiss="modal">Sair</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="modalPleaseWait" role="dialog" >
<div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header clearfix">
<h3 class="modal-title">
<label class="title-wrap"></label>
</h3>
</div>
<div class="modal-body">
<div class="panel panel-info">
<div class="panel-body">
<p>Por favor aguarde um momento, o sistema está a carregar <img src="<%=request.getContextPath()%>/imgs/wait.gif"/></p>
</div>
</div>
</div>
</div>
</div>
</div>
<jsp:include page="/auth/loginWidget.jsp"/>