Commit 55982b6d authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Adapta documentos a nuevos campos disponibles

Muestra en las plantillas de listado e información de documentos los
nuevos campos presentes en el modelo.
Implementa métodos para evaluar y representar.
parent 9f4c99fb
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -76,6 +76,9 @@ module.exports = function(grunt) {
						ServiceOGCAttribution: true,
						ServiceOGCLegend: true,
						ServiceOGCImageList: true,
						ItemEnabledStatus: true,
						DocumentInternalUrlStatus: true,
						DocumentUrl: true,

						// string
						Capitalize: true
+33 −0
Original line number Diff line number Diff line
@@ -89,5 +89,38 @@
					</div>
				</div>
			{{/if}}
			{{#unless data.enabled}}
				<div>
					<div class="rowLeft inlineRow {{RowColBibliography 'left'}}">
						<span title="{{i18n.enabled}}">{{i18n.enabled}}</span>
					</div>
					<div class="{{RowColBibliography 'right'}} detailsRowWithBadge">
						{{ItemEnabledStatus data i18n}}
						<p>{{i18n.disabled}}</p>
					</div>
				</div>
			{{/unless}}
			{{#if data.internalUrl}}
				<div>
					<div class="rowLeft inlineRow {{RowColBibliography 'left'}}">
						<span title="{{i18n.internalDocument}}">{{i18n.internalDocument}}</span>
					</div>
					<div class="{{RowColBibliography 'right'}} detailsRowWithBadge">
						{{DocumentInternalUrlStatus data i18n}}
						<p>{{i18n.internalDocument}}</p>
					</div>
				</div>
			{{/if}}
			{{#if data.url}}
				<div>
					<div class="rowLeft inlineRow {{RowColBibliography 'left'}}">
						<span title="{{i18n.url}}">{{i18n.url}}</span>
					</div>
					<div class="{{RowColBibliography 'right'}} detailsRowWithBadge">
						{{DocumentUrl data i18n}}
					</div>
				</div>
			{{/if}}
		</div>
	</div>
</div>
+9 −1
Original line number Diff line number Diff line
@@ -18,4 +18,12 @@
	<span class='title'>
		{{ChkIsNull data.title}}
	</span>
	<span class='badgesContainer'>
		{{#unless data.enabled}}
			{{ItemEnabledStatus data i18n}}
		{{/unless}}
		{{#if data.internalUrl}}
			{{DocumentInternalUrlStatus data i18n}}
		{{/if}}
	</span>
</span>
+52 −0
Original line number Diff line number Diff line
define([
	'dojo/_base/lang'
	, 'handlebars/handlebars.runtime.min'
	, 'redmic/base/Credentials'
], function(
	lang
	, handlebars
	, Credentials
) {

	'use strict';
@@ -163,6 +165,56 @@ define([
			var imagesContainer = '<div class="' + containerClass + '">' + imageElementList + '</div>';

			return new handlebars.SafeString(imagesContainer);
		},

		ItemEnabledStatus: function(data, i18n) {

			var result = '';
			if (!data.enabled) {
				result = '<i title="' + i18n.disabled + '" class="itemDisabledIcon"></i>';
			}

			return new handlebars.SafeString(result);
		},

		DocumentInternalUrlStatus: function(data, i18n) {

			var pdfUrl = data.internalUrl,
				privatePdf = data.privateInternalUrl,
				result = '';

			if (!(!pdfUrl || (privatePdf && Credentials.get('userRole') !== 'ROLE_ADMINISTRATOR'))) {
				if (privatePdf) {
					result = '<i title="' + i18n.privateInternalUrl + '" class="documentPrivateInternalUrlIcon"></i>';
				} else {
					result = '<i title="' + i18n.internalUrl + '" class="documentInternalUrlIcon"></i>';
				}
			}

			return new handlebars.SafeString(result);
		},

		DocumentUrl: function(data, i18n) {

			var externalUrl = data.url,
				result = '';

			if (externalUrl && externalUrl.length) {
				var domainRegex = /([\w\-.]+)\//ig,
					regexExecResults = domainRegex.exec(externalUrl),
					domain = regexExecResults && regexExecResults[1];

				var text = domain || i18n.link,
					textPrefix = '<span>' + i18n.viewExternalUrl + '</span>',
					linkParams = 'href="' + externalUrl + '" target="_blank" title="' + externalUrl + '"',
					textLink = '<a ' + linkParams + '>' + text + '</a>',
					icon = '<i title="' + externalUrl + '" class="documentExternalUrlIcon"></i>',
					iconLink = '<a ' + linkParams + '>' + icon + '</a>';

				result = iconLink + textPrefix + ' ' + textLink;
			}

			return new handlebars.SafeString(result);
		}
	};
});