Subversion Repositories bacoAlunos

Rev

Rev 1732 | Rev 1760 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="org.json.JSONArray" %>
<%@ page import="pt.estgp.estgweb.domain.RepositoryDocumentInterfaceImpl" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService" %>
<%@ page import="pt.estgp.estgweb.services.data.repositorydocuments.interfaces.RepositoryInterface" %>
<%@ 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 tagdir="/WEB-INF/tags"  prefix="bacoTags" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%

    long id = Long.parseLong(request.getParameter("id"));


    AbstractDao.getCurrentSession().beginTransaction();

    JSONArray collectionsArrayOrderedTree = new RepositoryDocumentService().loadCollectionsOrderedAsTree();
    RepositoryDocumentInterfaceImpl repoInterface = (RepositoryDocumentInterfaceImpl) DaoFactory.getRepositoryDocumentInterfaceDaoImpl().get(id);
    RepositoryInterface repositoryInterface = repoInterface.getRepositoryInterface();
    if(repositoryInterface == null)
    {
        repositoryInterface = new RepositoryInterface();
        repoInterface.setRepositoryInterface(repositoryInterface);
    }
    String jsonData = repositoryInterface.toJson();


    AbstractDao.getCurrentSession().getTransaction().commit();
%>

<div class="container-fluid">

    <div id="treeAppPageContent" ng-app="treeAppPageContent" ng-controller="treeAppPageContentController">


        <script>
            ping();



            var treeAppPageContent = angular.module('treeAppPageContent', ['ui.tree']);
            GLOBAL_BacoAngularAppDependencies.push('treeAppPageContent');

            <!-- estes codigos todos do remove e do toggle e etc's não mechi em nada limitei-me a copiar dos gajos-->
            treeAppPageContent.controller('treeAppPageContentController',  function ($scope) {

                        /*$scope.data = {
                            "showTitle" : true,
                            "showDescription" : false
                        };*/
                        //$scope.myDate = new Date();
                        //$scope.data = {"description":"RepoDesc","rows":[{"columns":[{"blocks":[{"collectionIds":[1],"description":"bloco1desc","maxPublishDate":'2015-12-15T23:00:00.000Z',"maxPublishDateStr":"","minPublishDate":null,"minPublishDateStr":"","orderBy":"publishDateDesc","showDescription":false,"showDocumentDescription":true,"showDocumentMetaData":false,"showDocumentTitle":true,"showFileDescription":false,"showFileTitle":true,"showTitle":true,"title":"bloco1","tree":false,"type":"block"}],"cols":6,"description":"col1Desc","rows":[],"showDescription":false,"showTitle":true,"title":"col1Title","type":"column"},{"blocks&quot;:[{"collectionIds":[4],"description":"bloco2desc","maxPublishDate":null,"maxPublishDateStr":"","minPublishDate":null,"minPublishDateStr":"","orderBy":"title","showDescription":false,"showDocumentDescription":true,"showDocumentMetaData":false,"showDocumentTitle":true,"showFileDescription":false,"showFileTitle":true,"showTitle":true,"title":"bloco2","tree":false,"type":"block"}],"cols":6,"description":"col2Desc","rows":[],"showDescription":false,"showTitle":true,"title":"col2Title","type":"column"}],"description":"Row 1 Desc","showDescription":false,"showTitle":true,"title":"Row 1 title","type":"row"}],"showDescription":true,"showTitle":true,"title":"Teste"}
                        $scope.data = <%=jsonData%>
                        ;
                        $scope.collections = <%=collectionsArrayOrderedTree.toString()%>;


                        /*
                         $scope.data = [
                         {
                         "id" : 1,
                         "name" : "Nao deixa fazer drag",
                         "nodrag" : true,
                         "isDirectory" : true

                         },
                         {
                         "id" : 2,
                         "name" : "Nao deixa fazer drop",
                         "nodrop" : true,
                         "isDirectory" : true
                         },
                         {
                         "id" : 3,
                         "name" : "Deixa fazer Tudo",
                         "isDirectory" : true
                         },
                         {
                         "id" : 4,
                         "name" : "Deixa fazer Tudo e ja foi movido",
                         "moved" : true,
                         "isDirectory" : true
                         },
                         {
                         "id" : 5,
                         "name" : "Exemplo de folha nao deixa abrir",
                         "isDirectory" : false
                         }
                         ];*/
                        $scope.treeOptions = {
                            accept: function(sourceNodeScope, destNodesScope, destIndex) {

                                //if(destNodesScope)
                                //console.log(destNodesScope);
                                //console.log(sourceNodeScope);
                                //console.log(destIndex);
                                //console.log(destNodesScope.$parent.$modelValue.title);
                                //console.log(destNodesScope.$modelValue[0].type);
                                if(sourceNodeScope.$modelValue.type == destNodesScope.$modelValue[0].type)
                                   return true;
                                return false;
                            },
                            dropped: function(e) {
                                //console.log (e.source.nodeScope.$modelValue);
                                //alert ("Largado o nó com nome: " + e.source.nodeScope.$modelValue.name + " sobre " + e.dest.nodesScope.$parent.$modelValue.name);
                            }
                        };

                        $scope.addRow = function(container)
                        {
                            if(!container.rows)
                            {
                                container.rows = [];
                            }
                            container.rows.push(
                                    {
                                        "showTitle" : true,
                                        "showDescription" : false,
                                        "type" : "row"
                                    }
                            );
                        }
                        $scope.removeRow = function(parent,index)
                        {
                            parent.rows.splice(index,1);
                        }
                        $scope.removeColumn = function(parent,index)
                        {
                            parent.columns.splice(index,1);
                        }
                        $scope.removeBlock = function(parent,index)
                        {
                            parent.blocks.splice(index,1);
                        }
                        $scope.addColumn = function(row)
                        {
                            if(!row.columns)
                            {
                                row.columns = [];
                            }
                            row.columns.push(
                                    {
                                        "showTitle" : true,
                                        "showDescription" : false,
                                        "cols" : 6,
                                        "type" : "column"
                                    }
                            );
                        }

                        $scope.addBlock = function(column)
                        {
                            if(!column.blocks)
                            {
                                column.blocks = [];
                            }
                            column.blocks.push(
                                    {
                                        "showTitle" : true,
                                        "showDescription" : false,
                                        "cols" : 6,
                                        "type" : "block",
                                        "orderBy" : "publishDateDesc",
                                        "tree": false,
                                        "showDocumentMetaData" : false,
                                        "datesFormat" : "YY",
                                        "showFileTitle" : true,
                                        "showFileDescription": false

                                    }
                            );
                        }

                        $scope.addCollectionId = function(block)
                        {
                            if(!block.collectionIds)
                            {
                                block.collectionIds = [];
                            }
                            var colId = block.choosedCol.id;
                            var found = block.collectionIds.filter(function(id){ return id === colId });
                            if(found.length == 0)
                            {
                                block.collectionIds.push(colId);
                            }
                        }
                        $scope.removeCollectionId = function(block,$index)
                        {
                            block.collectionIds.splice($index,1);
                        }

                        $scope.getColStyle = function(column)
                        {
                            return "col-md-" + column.cols;
                        }

                        $scope.getCollectionTreeName = function(cid)
                        {
                            var found = $scope.collections.filter(function(collection){ return collection.id === cid })[0];
                            //console.log(found.treeName);
                            return found.pathName;
                        }

                        $scope.setMaxPublishDate = function ($event,block) {

                            var datetimepicker = $($event.target).parents(".form-group").find(".datetimepicker");
                            $(datetimepicker).datetimepicker({locale: 'pt',format: 'YYYY/MM/DD'})
                                    .on("dp.change", function (data) {
                                //alert($("#"+datePicker).find("input").val());
                                block.maxPublishDateStr = $(datetimepicker).find("input").val();
                                $scope.$apply();

                            });
                        }
                        $scope.setMinPublishDate = function ($event,block) {

                            var datetimepicker = $($event.target).parents(".form-group").find(".datetimepicker");
                            $(datetimepicker).datetimepicker({locale: 'pt',format: 'YYYY/MM/DD'})
                                    .on("dp.change", function (data) {
                                        //alert($("#"+datePicker).find("input").val());
                                        block.minPublishDateStr = $(datetimepicker).find("input").val();
                                        $scope.$apply();

                                    });
                        }
                        $scope.clearDateMax = function(block)
                        {
                            block.maxPublishDateStr = "";
                        }
                        $scope.clearDateMin = function(block)
                        {
                            block.minPublishDateStr = "";
                        }

                        //Meotodo necessário para incializar os pickers após serem criados
                        $scope.updateDatetimePickers = function()
                        {
                            $('.datetimepicker').datetimepicker({
                                locale: 'pt',
                                format: 'YYYY/MM/DD'
                            });
                        }

                        $scope.saveRepositoryInterfaceData = function()
                        {
                            widgetSimpleCallWithActionParameters(
                                    "<%=request.getContextPath()%>/user/repositoryDoc.do",
                                    "saveRepositoryInterfaceData",
                                    {
                                        "id" : <%=id%>,
                                        "data" :  JSON.stringify($scope.data)
                                    },
                                    "#treeAppPageContent",
                                    function()
                                    {
                                        modalWebMessagesGivenContainer("Dados salvos","#treeAppPageContent");
                                    },
                                    function()
                                    {
                                        modalWebMessagesGivenContainer("Ocorreram erros","#treeAppPageContent");
                                    }
                            );
                        }
                    }
            );

        </script>



            <div class="panel panel-primary">
                <div class="panel-heading clearfix">
                    Criação de Interface para o Repositório Digital
                </div>
                <div class="panel-body">

                    <div class="web-messages"></div>


                    <div class="form-horizontal">
                        <div class="form-group">
                            <label class="col-md-1 control-label">ID</label>
                            <div class="col-md-11">
                                <input disabled type="text" class="form-control" value="<%=id%>"/>
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-md-1 control-label">Margens Mínimas</label>
                            <div class="col-md-11">
                                <select ng-class="{'bg-red': data.containerFluid == false, 'bg-green': data.containerFluid == true}" class="form-control chosenOff" type="text" ng-model="data.containerFluid" ng-options="o.v as o.n for o in [{ n: 'Sim', v: true }, { n: 'Não', v: false }]">>

                                </select>
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-md-1 control-label">Título</label>
                            <div class="col-md-9">
                                <input type="text" class="form-control" ng-model="data.title"/>
                            </div>
                            <div class="col-md-2">
                                <select ng-class="{'bg-red': data.showTitle == false, 'bg-green': data.showTitle == true}" class="form-control chosenOff" type="text" ng-model="data.showTitle" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]">>

                                </select>
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-md-1 control-label">Descrição</label>
                            <div class="col-md-9">
                                <textarea rows="3" class="form-control" ng-model="data.description">

                                </textarea>
                            </div>
                            <div class="col-md-2" >
                                <select ng-class="{'bg-red': data.showDescription == false, 'bg-green': data.showDescription == true}" class="form-control chosenOff" type="text" ng-model="data.showDescription" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]">>

                                </select>
                            </div>
                        </div>
                        <div class="panel panel-info">
                            <div class="panel-heading">
                                Linhas
                                <button ng-click="addRow(data)" class="btn btn-default pull-right"><span class="glyphicon glyphicon-plus"></span> Linha</button>
                            </div>
                            <div class="panel-body" ui-tree="treeOptions" id="page-content-root">
                                <div style="padding: 10px" ui-tree-nodes ng-model="data.rows">
                                    <div ng-repeat="row in data.rows" ui-tree-node ng-include="'rows_renderer.html'" ng-init="parent=data"></div>
                                </div>
                            </div>
                        </div>
                    </div>



                    <pre class="code">{{ data | json }}</pre>

                </div>


            </div>

            <div>
                <button ng-click="saveRepositoryInterfaceData()" type="button" class="btn btn-success">Salvar</button>
                <a class="btn btn-danger pullright" href="<%=request.getContextPath()%>/user/repositoryListInterfaces.do">Sair</a>
            </div>

    </div>
</div>



<!--TEMPLATE RECURSIVO-->
<script type="text/ng-template" id="rows_renderer.html">
    <!--Para nao deixar fazer drag-->
    <div  class="row clearfix" ng-class="{modified: node.modified, nodrop: node.nodrop, nodrag: node.nodrag, moved: node.moved}">
        <div class="panel panel-primary">
            <div class="panel-heading">
                <i class="glyphicon glyphicon-resize-vertical" ui-tree-handle></i> Linha {{$index + 1}}
                <button ng-click="removeRow(parent,$index)" class="btn btn-danger btn-xs pull-right"><span class="glyphicon glyphicon-remove"></span></button>
            </div>
            <div class="panel-body">

                <div class="form-group">
                    <label class="col-md-1 control-label">Título</label>
                    <div class="col-md-9">
                        <input type="text" class="form-control" ng-model="row.title"/>
                    </div>
                    <div class="col-md-2">
                        <select ng-class="{'bg-red': row.showTitle == false, 'bg-green': row.showTitle == true}" class="form-control chosenOff" type="text" ng-model="row.showTitle" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]">>

                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-md-1 control-label">Descrição</label>
                    <div class="col-md-9">
                        <textarea rows="3" class="form-control" ng-model="row.description">

                        </textarea>
                    </div>
                    <div class="col-md-2">
                        <select ng-class="{'bg-red': row.showDescription == false, 'bg-green': row.showDescription == true}" class="form-control chosenOff" type="text" ng-model="row.showDescription" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]">>

                        </select>
                    </div>
                </div>

                <div class="col-md-12" style="padding: 10px">
                    <div class="panel panel-info">
                        <div class="panel-heading clearfix">
                            Colunas
                            <button ng-click="addColumn(row)" class="btn btn-default pull-right"><span class="glyphicon glyphicon-plus"></span> Coluna</button>
                        </div>
                        <div class="panel-body">


                            <div class="row" style="padding-left: 0" ui-tree-nodes="" ng-model="row.columns">
                                <div style="padding: 10px" ng-class="getColStyle(column)" ng-repeat="column in row.columns" ui-tree-node ng-include="'columns_renderer.html'" ng-init="parent=row">

                                </div>
                            </div>

                        </div>
                    </div>
                </div>

            </div>
        </div>
    </div>



</script>


<!--TEMPLATE RECURSIVO-->
<script type="text/ng-template" id="columns_renderer.html">
    <!--Para nao deixar fazer drag-->
    <div class="clearfix" ng-class="{modified: node.modified, nodrop: node.nodrop, nodrag: node.nodrag, moved: node.moved}">
        <div class="panel panel-primary">
            <div class="panel-heading clearfix">
                <i class="glyphicon glyphicon-resize-vertical" ui-tree-handle></i>
                Coluna {{$index + 1}}
                <select class=" chosenOff"
                        style="color:black"
                        ng-model="column.cols"
                        ng-options="o.v as o.n for o in [{ n: '1', v: 1 },{ n: '2', v: 2 },{ n: '3', v: 3 }, { n: '4', v: 4 },  { n: '5', v: 5 }, { n: '6', v: 6 }, { n: '7', v: 7 }, { n: '8', v: 8 }, { n: '9', v: 9 }, { n: '10', v: 10 }, { n: '11', v: 11 }, { n: '12', v: 12 }]">


                </select>

                <button ng-click="removeColumn(parent,$index)" class="btn btn-danger btn-xs pull-right"><span class="glyphicon glyphicon-remove"></span></button>

            </div>
            <div class="panel-body">

                <div class="form-group">
                    <label class="col-md-3 control-label">Título</label>
                    <div class="col-md-7">
                        <input type="text" class="form-control" ng-model="column.title"/>
                    </div>
                    <div class="col-md-2">
                        <select ng-class="{'bg-red': column.showTitle == false, 'bg-green': column.showTitle == true}" class="form-control chosenOff" ng-model="column.showTitle" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]">

                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-md-3 control-label">Descrição</label>
                    <div class="col-md-7">
                        <textarea rows="3" class="form-control" ng-model="column.description">

                        </textarea>
                    </div>
                    <div class="col-md-2">
                        <select ng-class="{'bg-red': column.showDescription == false, 'bg-green': column.showDescription == true}" class="form-control chosenOff" ng-model="column.showDescription" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]">

                        </select>
                    </div>
                </div>


                <div class="col-md-12" style="padding: 10px">
                    <div class="panel panel-info">
                        <div class="panel-heading clearfix">
                            Blocos
                            <button ng-click="addBlock(column)" class="btn btn-default pull-right"><span class="glyphicon glyphicon-plus"></span> Bloco</button>
                        </div>
                        <div class="panel-body">


                            <div style="padding-left: 0" ui-tree-nodes="" ng-model="column.blocks">
                                <div ng-repeat="block in column.blocks" ui-tree-node ng-include="'blocks_renderer.html'" ng-init="parent=column">
                                </div>
                            </div>

                        </div>
                    </div>
                </div>

            </div>
        </div>
    </div>
</script>


<!--TEMPLATE RECURSIVO-->
<script type="text/ng-template" id="blocks_renderer.html">
    <!--Para nao deixar fazer drag-->
    <div class="clearfix" ng-class="{modified: node.modified, nodrop: node.nodrop, nodrag: node.nodrag, moved: node.moved}">
        <div class="panel panel-success">
            <div class="panel-heading clearfix">
                <i class="glyphicon glyphicon-resize-vertical" ui-tree-handle></i>
                Bloco {{$index + 1}}

                <button ng-click="removeBlock(parent,$index)" class="btn btn-danger btn-xs pull-right"><span class="glyphicon glyphicon-remove"></span></button>

            </div>
            <div class="panel-body">

                <div class="form-group">
                    <label class="col-md-3 control-label">Título</label>
                    <div class="col-md-7">
                        <input type="text" class="form-control" ng-model="block.title"/>
                    </div>
                    <div class="col-md-2">
                        <select ng-class="{'bg-red': block.showTitle == false, 'bg-green': block.showTitle == true}" class="form-control chosenOff" ng-model="block.showTitle" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]">

                        </select>
                    </div>
                </div>

                <div class="form-group">
                    <label class="col-md-3 control-label">Descrição</label>
                    <div class="col-md-7">
                        <textarea rows="3" class="form-control" ng-model="block.description">

                        </textarea>
                    </div>
                    <div class="col-md-2">
                        <select ng-class="{'bg-red': block.showDescription == false, 'bg-green': block.showDescription == true}" class="form-control chosenOff" ng-model="block.showDescription" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]">

                        </select>
                    </div>
                </div>

                <div class="well well-sm">Colecções</div>

                <div class="form-group">
                    <label class="col-md-3 control-label">Min/Max</label>
                    <div class="col-md-9">
                        <select  class="form-control chosenOff" ng-model="block.browseMinimizeMaximize" ng-options="o.v as o.n for o in [{ n: 'Iniciar Minimizado', v: true }, { n: 'Iniciar Maximizado', v: false }]">

                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-md-3 control-label">Estrutura</label>
                    <div class="col-md-9">
                        <select  class="form-control chosenOff" ng-model="block.tree" ng-options="o.v as o.n for o in [{ n: 'Ramificar em Árvore', v: true }, { n: 'Lista Flat', v: false }]">

                        </select>
                    </div>
                </div>

                <div class="form-group">
                    <label class="col-md-3 control-label">Colecção</label>
                    <div class="col-md-7">
                        <select place-holder="Escolha Colecção" ng-model="block.choosedCol" class="form-control chosenOff" ng-options="collection as collection.pathName for collection in collections track by collection.id" ng-model="selected">

                        </select>
                    </div>
                    <div class="col-md-2">
                        <button ng-click="addCollectionId(block)" class="btn btn-success btn-xs"><span class="glyphicon glyphicon-plus"></span></button>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-md-3 control-label">Escolhidas</label>
                    <div class="col-md-9">
                        <div class="list-group">
                            <div class="list-group-item" ng-repeat="cid in block.collectionIds">
                                {{getCollectionTreeName(cid)}}
                                <button ng-click="removeCollectionId(block,$index)" class="btn btn-danger btn-xs pull-right"><span class="glyphicon glyphicon-remove"/></button>
                            </div>
                        </div>
                    </div>
                </div>





                <div class="well well-sm">Documentos</div>

                <div class="form-group">
                    <label class="col-md-3 control-label">Ordenar</label>
                    <div class="col-md-9">
                        <select class="form-control chosenOff" ng-model="block.orderBy" ng-options="o.v as o.n for o in [{ n: 'Titulo', v: 'title' }, { n: 'Data Publicação Asc', v: 'publishDateAsc' } , { n: 'Data Publicação Desc', v: 'publishDateDesc' }, { n: 'Data Criação Asc', v: 'saveDateAsc' }, { n: 'Data Criação Desc', v: 'saveDateDesc' }, { n: 'Data Atualização Asc', v: 'updateDateAsc' }, { n: 'Data Atualização Desc', v: 'updateDateDesc' }]">

                        </select>
                    </div>
                </div>

                <div class="form-group">
                    <label class="col-md-3 control-label">Formato Datas</label>
                    <div class="col-md-9">
                        <select class="form-control chosenOff" ng-model="block.datesFormat" ng-options="o.v as o.n for o in [{ n: 'Ano/Mes/dia', v: 'YY_MM_DD' }, { n: 'Ano/Mes', v: 'YY_MM' }, { n: 'Ano', v: 'YY' }]">

                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-md-3 control-label">Metadados</label>
                    <div class="col-md-9">
                        <select ng-class="{'bg-red': block.showDocumentMetaData == false, 'bg-green': block.showDocumentMetaData == true}" class="form-control chosenOff" ng-model="block.showDocumentMetaData" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]">

                        </select>
                    </div>
                </div>

               <%-- <div class="form-group">
                    <label class="control-label col-md-3">Data Publi. Máxima</label>
                    <div class="col-sm-7">
                        <md-datepicker
                                ng-init="date = (block.maxPublishDate | toDate)"
                                ng-model="date"
                                ng-change="block.maxPublishDate = date.toISOString()"
                                ></md-datepicker>
                    </div>
                </div>--%>
                <div class="form-group">
                    <label class="control-label col-md-3">Data Publi. Máxima</label>
                    <div class="col-sm-7">
                        <div class='input-group date datetimepicker' ng-click="setMaxPublishDate($event,block)">
                            <input ng-model="block.maxPublishDateStr" type="text" class="form-control" ng-init="updateDatetimePickers()"/>
                            <span class="input-group-addon">
                                <span class="glyphicon glyphicon-calendar"></span>
                            </span>
                        </div>
                    </div>
                    <div class="col-sm-2">
                        <button  type="button" class="btn btn-danger" ng-click="clearDateMax(block)"><span class="glyphicon glyphicon-remove"></span></button>
                    </div>
                </div>
                <div class="form-group">
                    <label class="control-label col-md-3">Data Publi. Mínima</label>
                    <div class="col-sm-7">
                        <div class='input-group date datetimepicker' ng-click="setMinPublishDate($event,block)">
                            <input ng-model="block.minPublishDateStr" type="text" class="form-control" ng-init="updateDatetimePickers()"/>
                            <span class="input-group-addon">
                                <span class="glyphicon glyphicon-calendar"></span>
                            </span>
                        </div>
                    </div>
                    <div class="col-sm-2">
                        <button  type="button" class="btn btn-danger" ng-click="clearDateMin(block)"><span class="glyphicon glyphicon-remove"></span></button>
                    </div>
                </div>

                <div class="well well-sm">Ficheiros</div>


                <div class="form-group">
                    <label class="col-md-3 control-label">Titulos</label>
                    <div class="col-md-9">
                        <select ng-class="{'bg-red': block.showFileTitle == false, 'bg-green': block.showFileTitle == true}" class="form-control chosenOff" ng-model="block.showFileTitle" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]">

                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-md-3 control-label">Descrições</label>
                    <div class="col-md-9">
                        <select ng-class="{'bg-red': block.showFileDescription == false, 'bg-green': block.showFileDescription == true}" class="form-control chosenOff" ng-model="block.showFileDescription" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]">

                        </select>
                    </div>
                </div>


            </div>
        </div>
    </div>
</script>

Generated by GNU Enscript 1.6.5.2.