zettapi_client
Version:
Client side CRUD operations in angular to use with zettapi_server rest api to get started quickly in any CMS project
51 lines • 45.8 kB
JavaScript
angular.module('zapi').run(['$templateCache', function($templateCache) {$templateCache.put('container/attachments/attachments.new.html','<div class="col-sm-4"><div class="form-group"><label>{{\'api.containers.attachments.new.name\' | translate}}</label><input type="text" ng-model="newContainerItem.name" class="form-control"></div></div><div class="col-sm-4"><div class="form-group"><label>{{\'api.containers.attachments.new.file\' | translate}}</label><input type="file" file-model="newContainerItem.newFile[\'document\']" class="form-control"></div></div><div class="col-sm-4"><div class="form-group"><label>{{\'api.containers.attachments.new.cid\' | translate}}</label><input type="text" ng-model="newContainerItem.cid" class="form-control"></div></div>');
$templateCache.put('container/attachments/attachments.view.html','<p><span ng-if="!containerItem.document">{{containerItem.name}}</span> <a ng-if="!!containerItem.document" ng-href="api/document/download/{{containerItem.document._id ? containerItem.document._id : containerItem.document}}" target="_blank"><i class="fa fa-download" aria-hidden="true"></i> {{containerItem.name}} </a><span ng-if="containerItem.cid">(cid: {{containerItem.cid}})</span></p><p ng-if="containerItem.created_at">{{\'api.containers.attachments.view.since\' | translate}} {{containerItem.created_at | date: \'yyyy-MM-dd\'}}</p>');
$templateCache.put('container/cc/cc.new.html','<div class="col-sm-12"><div class="form-group"><label>{{\'api.containers.cc.new.email\' | translate}}</label><input type="email" ng-model="newContainerItem.email" class="form-control"></div></div>');
$templateCache.put('container/cc/cc.view.html','<small>{{containerItem.email}}</small>');
$templateCache.put('container/from/from.new.html','<div class="col-sm-12"><div class="form-group"><label>{{\'api.containers.from.new.email\' | translate}}</label><input type="email" ng-model="newContainerItem.email" class="form-control"></div></div>');
$templateCache.put('container/from/from.view.html','<small>{{containerItem.email}}</small>');
$templateCache.put('container/to/to.new.html','<div class="col-sm-12"><div class="form-group"><label>{{\'api.containers.to.new.email\' | translate}}</label><input type="email" ng-model="newContainerItem.email" class="form-control"></div></div>');
$templateCache.put('container/to/to.view.html','<small>{{containerItem.email}}</small>');
$templateCache.put('directives/address/address.html','<div class="row"><div class="form-group col-sm-9 col-md-8"><label>Arruamento</label><input type="text" ng-model="item.address" ng-disabled="disable" placeholder="ex: Avenida do Brasil" class="{{zlClass}} input-lg"></div><div class="form-group col-sm-3 col-md-4"><label>Porta</label><input type="text" ng-model="item.addressDetails" ng-disabled="disable" placeholder="ex: 43 8\xBADto" class="{{zlClass}} input-lg"></div></div><div class="row"><div class="form-group col-sm-4"><label>Codigo Postal</label><div class="input-group input-group-lg"><input code="13" dl-key-code="getAddressPT(item.postalCode)" type="text" ng-model="item.postalCode" ng-disabled="disable" placeholder="ex: 1700-062" class="{{zlClass}} input-lg"> <span class="input-group-btn"><button type="button" class="btn btn-primary" ng-disabled="validateZipcode(item.postalCode)" ng-click="getAddressPT(item.postalCode)"><span class="fa fa-search"></span></button></span></div></div><div class="form-group col-sm-8"><label>Cidade</label><input type="text" ng-model="item.city" ng-disabled="disable" placeholder="ex: Lisboa" class="{{zlClass}} input-lg"></div></div><div class="row"><div class="form-group col-sm-4"><label>Concelho</label><input type="text" ng-model="item.county" ng-disabled="disable" placeholder="ex: Lisboa" class="{{zlClass}} input-lg"></div><div class="form-group col-sm-4"><label>Localidade</label><input type="text" ng-model="item.locality" ng-disabled="disable" placeholder="ex: Lisboa" class="{{zlClass}} input-lg"></div><div class="col-sm-4"><zl-country item="item" var="country" label="Pa\xEDs" lookup="countries" disable="disable" ng-attr-value-attr="{{countryValue || undefined}}"></zl-country></div></div>');
$templateCache.put('directives/apiMenuItem/apiMenuItem.html','<li uib-dropdown ng-if="isAdmin()"><a uib-dropdown-toggle href="#"><i class="fa fa-wrench"></i> {{\'api.menu.system.name\' | translate}} <span class="caret"></span></a><ul class="dropdown-menu"><li><a href="#admin/user/edit"><i class="fa fa-user-plus"></i> {{\'api.menu.system.newUser\' | translate}}</a></li><li><a href="#admin/user/list"><i class="fa fa-users"></i> {{\'api.menu.system.manageUsers\' | translate}}</a></li><li><a href="#admin/role/list"><i class="fa fa-address-card"></i> {{\'api.menu.system.profiles\' | translate}}</a></li><li class="divider"></li><li><a href="#admin/alert/list"><i class="fa fa-envelope"></i> {{\'api.menu.system.templatesEmails\' | translate}}</a></li><li><a href="#admin/message/list"><i class="fa fa-reply-all"></i> {{\'api.menu.system.sendEmails\' | translate}}</a></li><li><a href="#admin/maintenance/list"><i class="fa fa-code"></i> {{\'api.menu.system.maintenance\' | translate}}</a></li><li class="divider"></li><li><a href="#admin/country/list"><i class="fa fa-globe"></i> {{\'api.menu.system.countries\' | translate}}</a></li><li><a href="#admin/holiday/list"><i class="fa fa-calendar-times-o"></i> {{\'api.menu.system.holidays\' | translate}}</a></li><li class="divider"></li><li><a href="#admin/activity/list"><i class="fa fa-history"></i> {{\'api.menu.system.activityLog\' | translate}}</a></li><li><a href="#admin/error/list"><i class="fa fa-warning"></i> {{\'api.menu.system.systemLog\' | translate}}</a></li><li class="divider"></li><li><a href="#admin/task/list"><i class="fa fa-tasks"></i> {{\'api.menu.system.tasks\' | translate}}</a></li></ul></li>');
$templateCache.put('directives/calendar/calendar.html','<div class="row"><div class="col-sm-12 calendarhelp"><ul><li ng-repeat="eventType in eventTypes"><a style="cursor: pointer" ng-click="toggleEventType(eventType.type)"><span class="label event-{{eventType.type}}"><i class="fa fa-eye{{eventType.visible ? \'\' : \'-slash\'}}"></i> {{eventType.count}}</span> {{eventType.label}}</a></li></ul></div></div><div class="row"><div class="col-md-6 text-left"><h2>{{calendarTitle}}</h2><div class="btn-group btn-group-md"><button class="btn btn-primary" mwl-date-modifier date="viewDate" decrement="calendarView"><span class="fa fa-caret-left"></span></button> <button class="btn btn-primary active" mwl-date-modifier date="viewDate" set-to-today><span class="fa fa-calendar"></span></button> <button class="btn btn-primary" mwl-date-modifier date="viewDate" increment="calendarView"><span class="fa fa-caret-right"></span></button></div></div><div class="col-md-6 text-center"><div class="btn-group btn-group-md"><label class="btn btn-primary" ng-model="calendarView" uib-btn-radio="\'year\'">Ano</label><label class="btn btn-primary" ng-model="calendarView" uib-btn-radio="\'month\'">M\xEAs</label><label class="btn btn-primary" ng-model="calendarView" uib-btn-radio="\'week\'">Semana</label><label class="btn btn-primary" ng-model="calendarView" uib-btn-radio="\'day\'">Dia</label></div></div></div><br><div class="row"><div class="col-sm-12"><mwl-calendar events="events" view="calendarView" view-title="calendarTitle" view-date="viewDate" cell-is-open="isCellOpen" day-view-start="06:00" day-view-end="22:00" day-view-split="30" cell-modifier="groupEvents(calendarCell)" class="col-sm-12"></mwl-calendar></div></div><script id="groupedMonthEvents.html" type="text/ng-template"><div class="cal-month-day {{ day.cssClass }}">\n <span class="pull-right" data-cal-date ng-click="calendarCtrl.dateClicked(day.date)" ng-bind="day.label"></span>\n <div style="position: relative; top: 35px; left: 5px">\n <span ng-repeat="(type, events) in day.groups track by type">\n <span class="label event-{{ type }}">{{ events.length }}</span> \n </span>\n </div>\n <div class="cal-day-tick" ng-show="dayIndex === openDayIndex && view[openDayIndex].events.length > 0 && !slideBoxDisabled">\n <i class="glyphicon glyphicon-chevron-up"></i>\n <i class="fa fa-chevron-up"></i>\n </div>\n </div></script>');
$templateCache.put('directives/console/console.html','<div class="col-sm-12"><div ng-if="console" class="alert alert-warning" role="alert"><p><span class="fa fa-exclamation-triangle"></span> <strong>Aten\xE7\xE3o!</strong> {{console}}</p></div></div>');
$templateCache.put('directives/container/container.html','<div class="panel panel-default" ng-init="collapse = (item[var] ? item[var].length > 0 : false)"><div class="panel-heading"><div class="row"><div class="col-sm-8"><h6>{{label}} <span class="badge" ng-if="item[var]">{{item[var].length}}</span></h6></div><div class="col-sm-4 text-right"><button type="button" ng-click="collapse = !collapse" class="btn btn-default btn-xs"><span class="fa fa-caret-{{collapse ? \'down\' : \'up\'}}"></span> {{collapse ? "Ver mais" : "Ver menos"}}</button></div></div></div><div class="panel-body" ng-show="!collapse"><div class="row" ng-if="!noInsert"><div class="col-sm-9"><div ng-include="\'container/\' + var + \'/\' + var + \'.new.html\'"></div></div><div class="col-sm-3 text-right"><console></console><button type="button" ng-show="!console" ng-click="append(newContainerItem)" ng-disabled="validate(newContainerItem)" class="btn btn-sm btn-primary" style="margin-top:30px"><i class="fa fa-plus" aria-hidden="true"></i> Adicionar a {{label}}</button></div></div><div class="row"><div ng-if="isVisible ? isVisible(containerItem) : true" ng-repeat="containerItem in item[var] track by $index" class="col-sm-3 col-xs-6 text-center"><div class="customitem well"><div ng-include="\'container/\' + var + \'/\' + var + \'.view.html\'"></div><button type="button" ng-if="isMovable" class="btn btn-xs btn-default" ng-disabled="$index === 0" ng-click="pushBack($index)"><span class="fa fa-arrow-left"></span></button> <button type="button" class="btn btn-danger btn-xs" ng-disabled="!removable" ng-click="remove(containerItem)"><i class="fa fa-trash-o" aria-hidden="true"></i></button> <button type="button" ng-if="isMovable" class="btn btn-xs btn-default" ng-disabled="$index === item[var].length - 1" ng-click="pushForward($index)"><span class="fa fa-arrow-right"></span></button><zl-approval ng-if="containerItem.approval" entity="{{entity}}" collection="{{var}}" collection-id="{{containerItem._id}}" approval="containerItem.approval"></zl-approval></div></div><div class="col-sm-12" ng-if="(!item[var] || item[var].length === 0)"><p>N\xE3o existem {{label}}</p></div></div></div></div>');
$templateCache.put('directives/country/country.html','<div class="form-group"><label>{{label}}</label><select selector model="item[var]" disable="disable" options="lookup" label-attr="name.common" ng-attr-value-attr="{{valueAttr || undefined}}" placeholder="Selecione um pa\xEDs"></select></div>');
$templateCache.put('directives/document/file.html','<div ng-if="!item[var]._id" class="form-group"><label>Carregar ficheiro</label><input type="file" file-model ng-model="item.newFile[var]" class="form-control"></div><a ng-if="!!docid" ng-href="api/document/download/{{docid}}" target="_blank"><span class="fa fa-download"></span> Download ficheiro</a>');
$templateCache.put('directives/dynamicField/Boolean.html','<input type="checkbox" ng-model="model[key]" class="w3-check">');
$templateCache.put('directives/dynamicField/Date.html','<input type="date" ng-model="model[key]" class="{{zlClass}}">');
$templateCache.put('directives/dynamicField/Number.html','<input type="number" ng-model="model[key]" class="{{zlClass}}">');
$templateCache.put('directives/dynamicField/ObjectId.html','<select selector model="model[key]" options="lookup[field.ref]" multi="field.multi || false" ng-attr-label-attr="{{field.label || undefined}}" ng-attr-value-attr="{{field.value || undefined}}"></select>');
$templateCache.put('directives/dynamicField/String.html','<input type="text" ng-model="model[key]" class="{{zlClass}}">');
$templateCache.put('directives/dynamicField/Unknown.html','<p>N\xE3o Dispon\xEDvel</p>');
$templateCache.put('directives/graph/graph.html','<div class="panel panel-default"><div class="panel-heading"><h6>{{item.title}}</h6></div><div class="panel-body" block-ui="graphBlockUI"><canvas ng-if="(chart.data || []).length !== 0" class="chart-base" chart-type="item.type" chart-data="chart.data" chart-labels="chart.labels" chart-series="chart.series" chart-options="chart.options"></canvas><p ng-if="(chart.data || []).length === 0">N\xE3o existem dados para elaborar o gr\xE1fico</p></div><div class="panel-footer text-right"><a ng-click="toggle()"><i class="fa fa-arrow-right"></i> {{getNext()}}</a></div></div>');
$templateCache.put('directives/list/list.html','<div class="row"><!-- LIST SELECTOR --><div class="col-sm-3"><div class="row"><div class="col-sm-12 form-group"><h6>1. Escolher explora\xE7\xF5es</h6><label class="w3-validate btn-block" ng-repeat="access in dbs"><input type="checkbox" checklist-model="selectedDbs" checklist-value="access" class="w3-check"> {{access}}</label></div><div class="col-sm-12 form-group"><h6>2. Escolher listagem</h6><select ng-model="list" ng-change="reset()" ng-options="list as list.caption for list in lists" class="form-control input-lg"></select></div><div ng-if="list.parameters.length !== 0" class="col-sm-12 form-group"><h6>3. Introduzir parametros</h6><div class="form-group" ng-repeat="parameter in list.parameters"><label>{{parameter.label}}</label><zl-dynamic-field field="parameter.field" model="list.values" key="{{parameter.field.name}}"></zl-dynamic-field></div></div><div class="col-sm-12 form-group text-right"><button type="button" ng-click="get(list)" ng-disabled="!list.name" class="btn btn-primary btn-md">Ver no Ecr\xE3</button></div></div></div><!-- LIST RESULTS --><div class="col-sm-9"><!--IF NO DATA--><div ng-if="items.length === 0" class="row"><div class="col-sm-12"><p class="text-info"><strong><i class="fa fa-info-circle" aria-hidden="true"></i> N\xE3o existem registos para a listagem efectuada</strong></p></div></div><div ng-if="items.length !== 0" class="row"><!--SEARCH--><div class="col-sm-12 form-group"><div class="input-group input-group-lg"><span class="input-group-addon">{{search.inverted ? \'Excluindo\' : \'Incluindo\'}} <input type="checkbox" ng-model="search.inverted"></span><input type="text" class="form-control" placeholder="Criterio de Pesquisa" ng-model="search.text"> <span class="input-group-btn"><button class="btn btn-primary" type="button" ng-click="applySearch(search)" ng-disabled="!search.text"><i class="fa fa-search"></i></button></span></div></div><!--EXPORT CSV--><div class="col-sm-12"><a href="{{getExcelUrl(list)}}" target="_blank" class="pull-right btn btn-md btn-info" style="margin-bottom:15px">Exportar {{items.length}} resultados <i class="fa fa-file-excel-o" aria-hidden="true"></i></a></div><!--IF NO LIST--><div ng-if="!list" class="col-sm-12"><p class="text-info"><strong><i class="fa fa-info-circle" aria-hidden="true"></i> Nenhuma listagem selecionada</strong></p></div><!--TABLE W/O GROUP--><div class="col-sm-12"><div ng-if="list && !list.group" class="table-responsive"><table ng-table-dynamic="tableParams with list.cols" class="table table-bordered"><tr ng-repeat="row in $data" ng-class="{\'text-success\': row.color === \'success\', \'text-danger\': row.color === \'danger\'}"><td ng-repeat="col in $columns">{{row[col.field]}}</td></tr></table></div></div><!--TABLE W/ GROUP--><div class="col-sm-12"><div ng-if="list && list.group" class="table-responsive"><table ng-table-dynamic="tableParams with list.cols" class="table table-bordered"><tr class="ng-table-group" ng-repeat-start="group in $groups"><td colspan="{{list.cols.length}}"><a ng-click="group.$hideRows = !group.$hideRows"><span class="fa" ng-class="{ \'fa-angle-right\': group.$hideRows, \'fa-angle-down\': !group.$hideRows }"></span> <strong>{{ group.value }}</strong></a></td></tr><tr ng-hide="group.$hideRows" ng-repeat="user in group.data" ng-repeat-end><td ng-repeat="col in $columns">{{user[col.field]}}</td></tr></table></div></div></div></div></div>');
$templateCache.put('directives/newsletter/newsletter.html','<ng-form name="_formNewsletter"><div class="input-group input-group-lg subnewsletter" ng-class="{\'has-error\': _formNewsletter.email.$touched && _formNewsletter.email.$invalid}"><input code="13" dl-key-code="saveEmail(newsItem);" ng-model="newsItem.email" name="email" type="email" placeholder="Endere\xE7o eletr\xF3nico" class="form-control" required> <span class="input-group-btn"><button ng-click="saveEmail(newsItem);" class="btn btn-primary" type="button"><i class="fa fa-paper-plane" aria-hidden="true"></i></button></span></div><div class="help-block" ng-messages="_formNewsletter.email.$error" ng-if="_formNewsletter.email.$touched"><div ng-messages-include="assets/validation/messages.html"></div></div></ng-form>');
$templateCache.put('directives/queryBuilder/Date.html','<select ng-model="model[key]" class="{{zlClass}}"><option value="equals">=</option><option value="greaterThanOrEquals">≥</option><option value="lesserThanOrEquals">≤</option><option value="notExists">inexistente</option></select>');
$templateCache.put('directives/queryBuilder/Number.html','<select ng-model="model[key]" class="{{zlClass}}"><option value="equals">=</option><option value="greaterThan">></option><option value="greaterThanOrEquals">≥</option><option value="lesserThan"><</option><option value="lesserThanOrEquals">≤</option><option value="notEquals">≠</option><option value="notExists">inexistente</option></select>');
$templateCache.put('directives/queryBuilder/String.html','<select ng-model="model[key]" class="{{zlClass}}"><option value="equals">igual a</option><option value="endsWith">acaba em</option><option value="startsWith">come\xE7a por</option><option value="contains">contem</option><option value="notEquals">diferente de</option><option value="notExists">inexistente</option></select>');
$templateCache.put('directives/report/report.html','<div class="row"><div class="col-sm-12"><uib-tabset active="activeTab"><!-- LOAD/NEW --><uib-tab index="0"><uib-tab-heading><i class="fa fa-list"></i> As minhas listagens</uib-tab-heading><ul class="api-list-item api-md list-unstyled"><li ng-repeat="savedItem in savedItems"><a ng-click="loadReport(savedItem, 4)" class="listlink">{{savedItem.name}}</a> <a ng-click="removeReport(savedItem)" class="btn btn-danger btn-xs pull-right"><i class="fa fa-trash" aria-hidden="true"></i> apagar</a> <a ng-click="loadReport(savedItem, 1)" class="btn btn-primary btn-xs api-edit pull-right"><i class="fa fa-pencil" aria-hidden="true"></i> editar</a></li></ul><h6 ng-if="savedItems.length === 0" class="text-info"><i class="fa fa-exclamation-circle" aria-hidden="true"></i> Ainda n\xE3o guardou nenhuma listagem parametrizada</h6><button type="button" ng-click="reset()" class="btn btn-primary btn-md pull-right" style="margin-top:20px">Criar nova listagem <i class="fa fa-plus"></i></button></uib-tab><!-- INCLUDE --><uib-tab index="1"><uib-tab-heading><i class="fa fa-plus"></i> Dados a incluir na minha listagem</uib-tab-heading><div class="col-md-3 col-sm-4 col-xs-6" ng-repeat="field in fields"><input type="checkbox" checklist-model="item.select" checklist-value="field.id" class="w3-check"><label class="w3-validate">{{field.caption}}</label></div></uib-tab><!-- FILTER --><uib-tab index="2"><uib-tab-heading><i class="fa fa-filter"></i> Filtrar</uib-tab-heading><a class="pull-right btn btn-md btn-info" ng-click="appendQuery()" style="margin-bottom:15px">Adicionar Linha <i class="fa fa-plus"></i></a><table class="table table-bordered"><thead><tr><th>Informa\xE7\xE3o</th><th>Operador</th><th>Valor</th><th></th></tr></thead><tbody><tr ng-repeat="query in item.query track by $index"><td><select selector model="query.field" options="fields" label-attr="caption" placeholder="Indique o campo..."></select></td><td><zl-query-builder field="query.field" model="query" key="operator" zl-class="form-control input-lg"></zl-query-builder></td><td><zl-dynamic-field field="query.field" model="query" key="value" zl-class="form-control input-lg"></zl-dynamic-field></td><td class="text-right"><button type="button" ng-click="removeQuery($index)" class="btn btn-danger"><i class="fa fa-trash"></i></button></td></tr></tbody></table></uib-tab><!-- SORT --><uib-tab index="3"><uib-tab-heading><i class="fa fa-sort-alpha-asc"></i> Ordenar</uib-tab-heading><div class="col-sm-6 form-group"><label>Campo</label><select ng-model="item.sort.field" ng-options="field.id as field.caption for field in fields" class="form-control input-lg"></select></div><div class="col-sm-6"><br><input type="radio" ng-model="item.sort.type" ng-value="1" class="w3-radio"><label class="w3-validate">Ascendente</label> <input type="radio" ng-model="item.sort.type" ng-value="-1" class="w3-radio"><label class="w3-validate">Descendente</label></div></uib-tab><!-- VIEW --><uib-tab index="4"><uib-tab-heading><i class="fa fa-eye"></i> Visualizar</uib-tab-heading><ul class="list-unstyled list-inline"><li><a ng-click="getReport(item)" class="btn btn-primary btn-md">Ver no Ecr\xE3 <i class="fa fa-desktop" aria-hidden="true"></i></a></li><li><a href="{{getExcelUrl(item)}}" target="_blank" class="btn btn-primary btn-md">Ver em Excel <i class="fa fa-file-excel-o" aria-hidden="true"></i></a></li><!--<li><a href="#" target="_blank" class="btn btn-primary btn-md">Ver em PDF <i class="fa fa-file-pdf-o" aria-hidden="true"></i></a></li>--><li ng-if="!!items">Resultados: {{items.length}}</li></ul><div ng-if="!!items" class="row"><!--SEARCH--><div class="col-sm-12" style="margin:20px 0"><div class="input-group input-group-lg"><span class="input-group-addon">{{search.inverted ? \'Excluindo\' : \'Incluindo\'}} <input type="checkbox" ng-model="search.inverted"></span><input type="text" class="form-control" placeholder="Criterio de Pesquisa" ng-model="search.text"> <span class="input-group-btn"><button class="btn btn-primary" type="button" ng-click="applySearch(search)" ng-disabled="!search.text"><i class="fa fa-search"></i></button></span></div></div><!--TABLE--><div class="col-sm-12 table-responsive"><table ng-table-dynamic="tableParams with cols" class="table table-bordered"><tr ng-repeat="row in $data"><td ng-repeat="col in $columns">{{row[col.field]}}</td></tr></table></div></div></uib-tab><!-- SAVE --><uib-tab index="5"><uib-tab-heading><i class="fa fa-save"></i> Guardar</uib-tab-heading><div class="col-sm-12 form-group"><label>Nome</label><div class="input-group input-group-lg"><input type="text" ng-model="item.name" ng-disabled="!!item._id" class="form-control input-lg"><div class="input-group-btn"><button type="button" ng-click="saveReport(item)" class="btn btn-primary">Guardar <i class="fa fa-save"></i></button></div></div></div></uib-tab></uib-tabset></div></div>');
$templateCache.put('entity/activity/activity.list.html','<div class="col-sm-12"><div class="table-responsive"><table ng-table="table.params" class="table table-striped table-condensed"><tr ng-repeat="item in $data"><td data-title="\'Data/Hora\'" sortable="\'created_at\'">{{item.created_at | date: \'yyyy.MM.dd HH:mm\'}}</td><td data-title="\'Utilizador\'" sortable="\'who\'"><a ng-if="item.who" href="#user/view/{{item.who}}"><i class="fa fa-user"></i> ver perfil</a></td><td data-title="\'Ac\xE7\xE3o\'" sortable="\'action\'">{{item.action}}</td><td data-title="\'Objecto\'" sortable="\'what\'">{{item.where}} ({{item.what}})</td></tr></table></div></div>');
$templateCache.put('entity/alert/alert.edit.html','<br><div class="row"><div class="col-sm-12"><div class="col-sm-6"><div class="form-group"><label>Descritivo</label><input type="text" ng-model="item.name" placeholder="ex: Documentos a caducar" class="form-control input-lg"></div></div><div class="col-sm-4"><div class="form-group"><label>Template</label><input type="text" ng-model="item.template" placeholder="ex: documentExpiryDate" class="form-control input-lg"></div></div><div class="col-sm-2"><div class="form-group"><input type="checkbox" ng-model="item.active" class="w3-check"><label>Ativo</label></div></div><div class="col-sm-12"><div class="form-group"><label>T\xEDtulo do Email</label><input type="text" ng-model="item.subject" class="form-control input-lg"></div></div><div class="col-sm-4"><div class="form-group"><legend style="margin-bottom:3px"><strong>De</strong></legend><input type="checkbox" ng-model="item.fromSelf" class="w3-check"><label>Pr\xF3prio</label><br><input type="checkbox" ng-model="item.fromCoordinator" class="w3-check"><label>Chefia</label></div></div><div class="col-sm-4"><div class="form-group"><legend style="margin-bottom:3px"><strong>Para</strong></legend><input type="checkbox" ng-model="item.toSelf" class="w3-check"><label>Pr\xF3prio</label><br><input type="checkbox" ng-model="item.toCoordinator" class="w3-check"><label>Chefia</label></div></div><div class="col-sm-4"><div class="form-group"><legend style="margin-bottom:3px"><strong>CC</strong></legend><input type="checkbox" ng-model="item.ccSelf" class="w3-check"><label>Pr\xF3prio</label><br><input type="checkbox" ng-model="item.ccCoordinator" class="w3-check"><label>Chefia</label></div></div><div class="col-sm-12"><zl-container item="item" var="from" key="email" label="Endere\xE7os De" removable="true" api="true"></zl-container></div><div class="col-sm-12"><zl-container item="item" var="to" key="email" label="Endere\xE7os Para" removable="true" api="true"></zl-container></div><div class="col-sm-12"><zl-container item="item" var="cc" key="email" label="Endere\xE7os CC" removable="true" api="true"></zl-container></div><div class="col-sm-12"><zl-container item="item" var="attachments" key="cid" label="Anexos" removable="true" api="true"></zl-container></div></div></div>');
$templateCache.put('entity/alert/alert.list.html','<div class="col-sm-12"><div class="table-responsive"><table ng-table="table.params" class="table table-striped table-condensed"><tr ng-repeat="item in $data"><td data-title="\'Activo\'" sortable="\'active\'">{{item.active ? \'Sim\' : \'N\xE3o\'}}</td><td data-title="\'Alerta\'" sortable="\'name\'">{{item.name}}</td><td data-title="\'De\'"><small ng-if="item.fromSelf">Pr\xF3prio </small><small ng-if="item.fromCoordinator">Chefia </small><small>{{from.email.join()}}</small></td><td data-title="\'Para\'"><small ng-if="item.toSelf">Pr\xF3prio </small><small ng-if="item.toCoordinator">Chefia </small><small>{{to.email.join()}}</small></td><td data-title="\'CC\'"><small ng-if="item.ccSelf">Pr\xF3prio </small><small ng-if="item.ccCoordinator">Chefia </small><small>{{cc.email.join()}}</small></td><td data-title="\'Anexo(s)\'"><i ng-if="item.attachments ? item.attachments.length > 0 : false" class="fa fa-paperclip"></i></td><td><button ng-click="openEdit(item)" type="button" class="btn btn-primary btn-xs"><span class="fa fa-pencil"></span> Editar</button></td></tr></table></div></div>');
$templateCache.put('entity/country/country.list.html','<div class="col-sm-12"><div class="table-responsive"><table ng-table="table.params" class="table table-striped table-condensed"><tr ng-repeat="item in $data"><td data-title="\'Continente\'" sortable="\'region\'">{{item.region}}</td><td data-title="\'Nome\'" sortable="\'name.common\'">{{item.name.common}} ({{item.name.official}})</td><td data-title="\'Capital\'" sortable="\'capital\'">{{item.capital}}</td><td data-title="\'Indicativo(s)\'"><span ng-repeat="callingCode in item.callingCode">(+{{callingCode}})<br></span></td><td data-title="\'Moeda(s)\'"><span ng-repeat="currency in item.currency">{{currency}}<br></span></td></tr></table></div></div>');
$templateCache.put('entity/error/error.list.html','<div class="col-sm-12"><div class="table-responsive"><table ng-table="table.params" class="table table-striped table-condensed"><tr ng-repeat="item in $data"><td data-title="\'Data/Hora\'" sortable="\'created_at\'" class="text-nowrap">{{item.created_at | date: \'yyyy-MM-dd HH:mm\'}}</td><td data-title="\'Descri\xE7\xE3o\'" sortable="\'description\'">{{item.description | limitTo: 150}}</td><td><button ng-click="openModal(\'stackTrace\', \'lg\', item)" type="button" class="btn btn-xs btn-primary"><i class="fa fa-eye"></i> Ver Mais</button></td></tr></table></div></div>');
$templateCache.put('entity/holiday/holiday.edit.html','<div class="col-sm-6"><div class="form-group"><label>Nome</label><input type="text" ng-model="item.name" placeholder="ex: Ano Novo" class="form-control"></div></div><div class="col-sm-6"><div class="form-group"><label>Ocorr\xEAncia</label><input type="radio" ng-model="item.format" value="dynamic" class="w3-radio"> M\xF3vel<br><input type="radio" ng-model="item.format" value="static" class="w3-radio"> Fixo</div></div><div class="col-sm-6"><zl-country item="item" var="country" lookup="lookup.country" label="Pa\xEDs"></zl-country></div><div class="col-sm-6"><div class="form-group"><label>Municipal</label><br><input type="checkbox" ng-model="item.isLocal" class="w3-check"></div></div><div class="col-sm-12" ng-if="item.format == \'dynamic\'"><div class="form-group"><label>Formula</label><textarea rows="4" ng-model="item.formula" placeholder="function(year){return new Date(year +\'-01-01T00:00:00\');}" class="form-control"></textarea></div></div><div class="col-sm-12" ng-if="item.format != \'dynamic\'"><div class="form-group"><label>Data</label><input type="text" ng-model="item.date" placeholder="ex: 01/01" class="form-control"></div></div><div class="col-sm-12" ng-if="item._id"><div class="form-group"><label>Pr\xF3xima Ocorr\xEAncia</label><input type="text" readonly="readonly" ng-value="calculateNextOccurrence(item)" placeholder="N/A" class="form-control"></div></div>');
$templateCache.put('entity/holiday/holiday.list.html','<div class="col-sm-12"><div class="table-responsive"><table ng-table="table.params" class="table table-striped table-condensed"><tr ng-repeat="item in $data"><td data-title="\'Nome\'" sortable="\'name\'">{{item.name}}</td><td data-title="\'Pr\xF3ximo\'">{{item.next | date: \'yyyy-MM-dd\'}}</td><td data-title="\'Pa\xEDs\'" sortable="\'country.name.common\'">{{item.country.name.common}}</td><td data-title="\'\xC2mbito\'" sortable="\'isLocal\'">{{item.isLocal ? \'Municipal\' : \'Nacional\'}}</td><td><button ng-click="openEdit(item)" type="button" class="btn btn-default btn-xs"><span class="fa fa-edit"></span> Editar</button></td><td><button ng-click="remove(item)" type="button" class="btn btn-danger btn-xs"><span class="fa fa-trash-o"></span> Apagar</button></td></tr></table></div></div>');
$templateCache.put('entity/maintenance/maintenance.edit.html','<div class="col-sm-12"><div class="col-sm-12"><div class="form-group"><label>Motivo</label><textarea rows="4" ng-model="item.reason" class="form-control"></textarea></div></div></div>');
$templateCache.put('entity/maintenance/maintenance.list.html','<div class="col-sm-12"><div class="table-responsive"><table ng-table="table.params" class="table table-striped table-condensed"><tr ng-repeat="item in $data"><td data-title="\'Data/Hora\'" sortable="\'created_at\'" class="text-nowrap">{{item.created_at | date: \'yyyy-MM-dd HH:mm\'}}</td><td data-title="\'Motivo\'" sortable="\'reason\'">{{item.reason | limitTo: 150}}</td></tr></table></div></div>');
$templateCache.put('entity/message/message.list.html','<div class="col-sm-12"><div class="table-responsive"><table ng-table="table.params" class="table table-bordered table-hover table-condensed"><tr ng-repeat="item in $data"><td data-title="\'Data/Hora\'" sortable="\'created_at\'">{{item.created_at | date: \'yyyy-MM-dd HH:mm\'}}</td><td data-title="\'Tipo\'" sortable="\'template\'">{{item.template}}</td><td><button ng-click="openModal(\'viewMsg\', \'md\', item)" type="button" class="btn btn-xs btn-primary"><i class="fa fa-eye"></i> Ver</button></td></tr></table></div></div>');
$templateCache.put('entity/role/role.edit.html','<div class="form-group"><div class="col-sm-6 form-group"><label>Nome</label><input type="text" ng-model="item.name" placeholder="ex: Veterin\xE1rio" class="form-control input-lg"></div><div class="col-sm-3 form-group"><label>N\xEDvel de Administrador</label><br><input type="checkbox" ng-model="item.admin" class="form-control w3-check"></div><div class="col-sm-3 form-group"><label>N\xEDvel de Aprova\xE7\xE3o</label><input type="number" ng-model="item.approvalLevel" min="0" class="form-control input-lg"></div></div><div ng-if="!item.admin"><div class="col-sm-12 form-group"><p><label>Permiss\xF5es</label><a ng-click="togglePermissions(true)" class="btn btn-info">todas</a> - <a ng-click="togglePermissions(false)" class="btn btn-info">nenhuma</a></p><div class="table-responsive"><table class="table table-striped table-bordered table-condensed"><tr ng-repeat="(entityName, entity) in permissions"><td>{{entity.label}}</td><td><p ng-repeat="(actionName, action) in entity" ng-if="actionName !== \'label\'"><input type="checkbox" ng-model="item.permissions[entityName][actionName]" class="w3-check"> {{action.label}}</p></td></tr></table></div></div></div>');
$templateCache.put('entity/role/role.list.html','<div class="col-sm-12"><div class="table-responsive"><table ng-table="table.params" class="table table-striped table-condensed"><tr ng-repeat="item in $data"><td data-title="\'name\'" sortable="\'name\'">{{item.name}}</td><td data-title="\'Administrador\'" sortable="\'admin\'"><i ng-class="item.admin ? \'fa fa-check\' : \'fa fa-times\'"></i></td><td data-title="\'N\xEDvel de Aprova\xE7\xE3o\'" sortable="\'approvalLevel\'"><span class="badge">{{item.approvalLevel}}</span></td><td class="text-right"><button ng-click="openEdit(item)" type="button" class="btn btn-primary btn-xs"><i class="fa fa-pencil"></i></button> <button ng-click="remove(item)" type="button" class="btn btn-danger btn-xs"><i class="fa fa-trash-o"></i></button></td></tr></table></div></div>');
$templateCache.put('entity/task/task.edit.html','<div class="col-sm-6"><label for="name">Nome</label><input type="text" ng-model="item.name" placeholder="ex: Processamento di\xE1rio de assiduidade" class="form-control"></div><div class="col-sm-3"><label>Tipo</label><select ng-model="item.type" ng-options="type as type for type in taskTypes" class="form-control"></select></div><div class="col-sm-3"><input type="checkbox" ng-model="item.isActive" class="w3-check"> Ativo</div><div class="col-sm-12"><div class="panel panel-default"><div class="panel-heading"><label>Crit\xE9rios de agendamento</label></div><div class="panel-body"><div class="form-group"><label>M\xEAs</label><input type="text" ng-model="item.criteria.month" class="form-control"></div><div class="form-group"><label>Dia do M\xEAs</label><input type="text" ng-model="item.criteria.monthday" class="form-control"></div><div class="form-group"><label>Dia da Semana</label><input type="text" ng-model="item.criteria.weekday" class="form-control"></div><div class="form-group"><label>Hora</label><input type="text" ng-model="item.criteria.hour" class="form-control"></div><div class="form-group"><label>Minuto</label><input type="text" ng-model="item.criteria.minute" class="form-control"></div></div><div class="panel-footer"><label>Instru\xE7\xF5es</label><br><small class="text-muted"><label>S\xEDmbolos</label><ul><li><span><b>\xCDfen (-)</b> delimita intervalos de valores.<br>Exemplo (dia da semana): 1-5, executar\xE1 a tarefa todos os dias \xFAteis.</span></li><li><span><b>Virgula (,)</b> delimita conjuntos.<br>Exemplo (m\xEAs): 0-6,7-11, executar\xE1 a tarefa todos meses excepto Agosto.</span></li><li><span><b>Asterisco (*)</b> indica todos os valores poss\xEDveis.<br>Exemplo (dia do m\xEAs): *, executar\xE1 a tarefa todos os dias do m\xEAs.</span></li><li><span><b>Barra para a frente (/)</b> seguida de um n\xFAmero inteiro indica saltos.<br>Exemplo (dia do m\xEAs): */2, executar\xE1 a tarefa no 1\xBA dia do m\xEAs e dia sim dia n\xE3o da\xED em diante</span></li></ul><label>Valores inteiros</label><ul><li><span><b>M\xEAs</b>: 0(janeiro) a 11(dezembro)</span></li><li><span><b>Dia do m\xEAs</b>: 1 a 31</span></li><li><span><b>Dia da semana</b>: 0(domingo) a 6(s\xE1bado)</span></li><li><span><b>Hora</b>: 0 a 59</span></li><li><span><b>Minuto</b>: 0 a 59</span></li></ul></small></div></div></div>');
$templateCache.put('entity/task/task.list.html','<div class="col-sm-12"><div class="table-responsive"><table class="table table-bordered table-hover table-condensed"><thead><tr><th></th><th></th><th colspan="4">Periodicidade</th><th colspan="3">\xDAltimo processamento</th><th></th><th></th></tr><tr><th>Nome</th><th>Estado</th><th>M</th><th>S</th><th>H</th><th>M</th><th>Executou</th><th>Dura\xE7\xE3o</th><th>Situa\xE7\xE3o</th><th></th><th></th></tr></thead><tbody><tr ng-repeat="item in items"><td><button ng-click="run(item);" ng-disabled="item.runs.length > 0 ? item.runs[0].isRunning : false" type="button" class="btn btn-default btn-xs"><span class="fa fa-play"></span></button> {{item.name}}</td><td><button ng-click="toggleState(item);" type="button" class="btn btn-default btn-xs"><span class="fa fa-refresh"></span></button> {{item.isActive ? "Ativo" : "Inativo"}}</td><td>{{item.criteria.month}}</td><td>{{item.criteria.weekday}}</td><td>{{item.criteria.hour}}</td><td>{{item.criteria.minute}}</td><td class="text-nowrap" ng-if="item.runs.length === 0">Nunca</td><td class="text-nowrap" ng-if="item.runs.length !== 0">{{item.runs[0].startTimestamp | date: \'yyyy-MM-dd HH:mm:ss\'}}</td><td class="text-nowrap">{{item.runs.length === 0 ? "-" : calculateTimespan(item.runs[0].startTimestamp, item.runs[0].endTimestamp)}}</td><td>{{item.runs.length === 0 ? "-" : (item.runs[0].isRunning ? "Em execu\xE7\xE3o" : (item.runs[0].success ? "Completou" : "Falhou"))}}</td><td><button ng-click="openEdit(item);" type="button" class="btn btn-primary btn-xs"><span class="fa fa-pencil"></span></button></td><td><button ng-click="remove(item);" type="button" class="btn btn-danger btn-xs"><span class="fa fa-trash-o"></span></button></td></tr></tbody></table></div></div>');
$templateCache.put('entity/user/user.edit.html','<div class="col-sm-12"><div class="row"><div class="col-sm-6"><div class="form-group"><label>Username</label><input type="text" ng-model="item.username" placeholder="ex: Username" class="form-control input-lg"></div></div><div class="col-sm-6"><div class="form-group"><label>Nome</label><input type="text" ng-model="item.name" placeholder="ex: Nome" class="form-control input-lg"></div></div><div class="col-sm-6"><div class="form-group"><label>Email</label><input type="email" ng-model="item.email" placeholder="ex: mail@mail.com" class="form-control input-lg"></div></div><div class="col-sm-6"><div class="form-group"><label>Perfil de Utilizador</label><select placeholder="Selecione um perfil" close-after-selection="true" selector model="item.role" options="lookup.role" label-attr="name"></select></div></div></div><hr><div class="row" ng-if="!!item._id && item._id === login._id"><div class="col-sm-6"><legend><h5>Alterar password</h5></legend><zl-change-password></zl-change-password></div><div class="col-sm-6"><p>Aqui pode alterar a sua password.</p></div></div></div>');
$templateCache.put('entity/user/user.list.html','<div class="col-sm-12"><div class="table-responsive"><table ng-table="table.params" class="table table-striped table-condensed"><tr ng-repeat="item in $data"><td data-title="\'Utilizador\'" sortable="\'username\'">{{item.username}}</td><td data-title="\'Email\'" sortable="\'email\'">{{item.email}}</td><td data-title="\'Perfil\'" sortable="\'role.name\'">{{item.role.name}} - n\xEDvel {{item.role.approvalLevel}} {{item.role.admin ? \'(administrador)\' : \'\'}}</td><td><button ng-click="openEdit(item)" type="button" class="btn btn-primary btn-xs"><span class="fa fa-pencil"></span> Editar</button></td><td><button ng-click="remove(item)" ng-if="item.role.approvalLevel < login.role.approvalLevel" type="button" class="btn btn-danger btn-xs"><span class="fa fa-trash-o"></span> Apagar</button></td></tr></table></div></div>');
$templateCache.put('modal/stackTrace/stackTrace.html','<div class="row"><div class="col-sm-12"><pre style="margin: 6px">{{item.description}}</pre></div></div>');
$templateCache.put('modal/viewMsg/viewMsg.html','<div class="container-fluid"><div class="row"><div class="col-sm-12"><h2>{{item.subject}}</h2><div class="well" ng-bind-html="item.html"></div></div><div class="col-sm-12"><p>Enviado por <strong>{{item.from}}</strong> \xE0s <strong>{{item.timestamp | date: \'yyyy-MM-dd HH:mm\'}}</strong></p></div><div class="col-sm-12"><div class="form-group"><label>Para</label><select placeholder="Para" multi="true" close-after-selection="true" selector model="item.to" options="item.to" disable="true"></select></div></div><div class="col-sm-12"><div class="form-group"><label>CC</label><select placeholder="CC" multi="true" close-after-selection="true" selector model="item.cc" options="item.cc" disable="true"></select></div></div></div></div>');
$templateCache.put('directives/auth/activation/activation.html','<div class="row"><div ng-if="!user" class="col-sm-12"><h3><span class="fa fa-exclamation-circle"></span> {{\'api.directives.activation.activationFail\' | translate}}</h3></div><div ng-if="!!user" class="col-sm-12"><h3>{{\'api.directives.activation.name\' | translate}}</h3><p class="lead" translate="{{\'api.directives.activation.subtitle\'}}"></p><hr><div class="form-group"><label>{{\'api.directives.activation.password\' | translate}}</label><input ng-model="item.password" type="password" class="{{zlClass}}" translate-attr="{ placeholder: \'api.directives.activation.passwordPlaceholder\' }"></div><div class="form-group"><label>{{\'api.directives.activation.repeatPassword\' | translate}}</label><input ng-model="item.repeat" type="password" class="{{zlClass}}" code="13" dl-key-code="changePassword(item)" translate-attr="{ placeholder: \'api.directives.activation.repeatPasswordPlaceholder\' }"></div><ng-password-meter password="item.password"></ng-password-meter><button type="button" ng-click="changePassword(item)" class="btn btn-primary btn-block btn-lg"><i class="fa fa-key" aria-hidden="true"></i> {{\'api.directives.activation.confirm\' | translate}}</button></div></div>');
$templateCache.put('directives/auth/changePassword/changePassword.html','<div class="col-sm-12"><div class="form-group"><label>{{\'api.directives.activation.password\' | translate}}</label><input ng-model="item.password" type="password" class="{{zlClass}}" translate-attr="{ placeholder: \'api.directives.activation.passwordPlaceholder\' }"></div><div class="form-group"><label>{{\'api.directives.activation.repeatPassword\' | translate}}</label><input ng-model="item.repeat" type="password" class="{{zlClass}}" code="13" dl-key-code="changePassword(item)" translate-attr="{ placeholder: \'api.directives.activation.repeatPasswordPlaceholder\' }"></div><ng-password-meter password="item.password"></ng-password-meter><button type="button" ng-click="changePassword(item)" class="btn btn-primary btn-block btn-lg"><i class="fa fa-key" aria-hidden="true"></i> {{\'api.directives.activation.confirm\' | translate}}</button></div>');
$templateCache.put('directives/auth/login/login.html','<div class="row"><div class="form-group form-group-lg"><label class="sr-only">{{\'api.directives.login.username\' | translate}}</label><input type="text" name="username" code="13" dl-key-code="login()" translate-attr="{ placeholder: \'api.directives.login.usernamePlaceholder\' }" ng-model="username" class="form-control input-lg" autocapitalize="none"></div><div class="form-group form-group-lg"><label class="sr-only">{{\'api.directives.login.password\' | translate}}</label><input type="password" name="password" translate-attr="{ placeholder: \'api.directives.login.passwordPlaceholder\' }" code="13" dl-key-code="login()" ng-model="password" class="form-control input-lg"></div><button type="button" class="btn btn-primary btn-block btn-lg" ng-disabled="validateLogin()" ng-click="login()">{{\'api.directives.login.btnLogin\' | translate}} <i class="fa fa-sign-in"></i></button></div>');
$templateCache.put('directives/auth/reset/reset.html','<div class="row"><div class="form-group form-group-lg"><label class="sr-only">Nome do Utilizador</label><input type="text" ng-model="item.username" name="username" placeholder="Nome de Utilizador" class="form-control input-lg"></div><div class="form-group form-group-lg"><label class="sr-only">Email</label><input type="email" ng-model="item.email" code="13" dl-key-code="reset(item)" name="email" placeholder="Email" class="form-control input-lg"></div><button type="button" ng-click="reset(item)" ng-disabled="validateReset(item)" class="btn btn-primary btn-block btn-lg">Recuperar <i class="fa fa-key"></i></button></div>');
$templateCache.put('directives/auth/signup/signup.html','<div class="row"><div class="form-group form-group-lg"><label>Nome do Utilizador</label><input ng-model="item.username" name="username" type="text" placeholder="Nome do utilizador" class="form-control input-lg" autocapitalize="none"></div><div class="form-group form-group-lg"><label>Email</label><input ng-model="item.email" name="email" type="email" code="13" dl-key-code="signup(item)" placeholder="Email" class="form-control input-lg"></div><button type="button" ng-click="signup(item)" ng-disabled="validateSignup(item)" class="btn btn-primary btn-lg btn-block">Criar <i class="fa fa-pencil-square-o"></i></button></div>');}]);