Subversion Repositories bacoAlunos

Rev

Rev 1822 | 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 type="text/javascript" src="<%=request.getContextPath()%>/js/angularUtils.js"></script>

<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"/>
<%--<jsp:include page="intranetTools/files-upload-form2.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"/>