Merge branch 'master' into feature/edit-link-headers
This commit is contained in:
		
						commit
						f668bee88b
					
				| 
						 | 
					@ -20,7 +20,7 @@ class PageDisplay {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Sidebar page nav click event
 | 
					        // Sidebar page nav click event
 | 
				
			||||||
        $('.sidebar-page-nav').on('click', 'a', event => {
 | 
					        $('.sidebar-page-nav').on('click', 'a', event => {
 | 
				
			||||||
            goToText(event.target.getAttribute('href').substr(1));
 | 
					            this.goToText(event.target.getAttribute('href').substr(1));
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,6 +16,8 @@ require('codemirror/mode/toml/toml');
 | 
				
			||||||
require('codemirror/mode/xml/xml');
 | 
					require('codemirror/mode/xml/xml');
 | 
				
			||||||
require('codemirror/mode/yaml/yaml');
 | 
					require('codemirror/mode/yaml/yaml');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const Clipboard = require("clipboard");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const CodeMirror = require('codemirror');
 | 
					const CodeMirror = require('codemirror');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const modeMap = {
 | 
					const modeMap = {
 | 
				
			||||||
| 
						 | 
					@ -77,7 +79,7 @@ function highlightElem(elem) {
 | 
				
			||||||
    elem.innerHTML = elem.innerHTML.replace(/<br\s*[\/]?>/gi ,'\n');
 | 
					    elem.innerHTML = elem.innerHTML.replace(/<br\s*[\/]?>/gi ,'\n');
 | 
				
			||||||
    let content = elem.textContent.trim();
 | 
					    let content = elem.textContent.trim();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    CodeMirror(function(elt) {
 | 
					    let cm = CodeMirror(function(elt) {
 | 
				
			||||||
        elem.parentNode.replaceChild(elt, elem);
 | 
					        elem.parentNode.replaceChild(elt, elem);
 | 
				
			||||||
    }, {
 | 
					    }, {
 | 
				
			||||||
        value: content,
 | 
					        value: content,
 | 
				
			||||||
| 
						 | 
					@ -86,6 +88,33 @@ function highlightElem(elem) {
 | 
				
			||||||
        theme: getTheme(),
 | 
					        theme: getTheme(),
 | 
				
			||||||
        readOnly: true
 | 
					        readOnly: true
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    addCopyIcon(cm);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Add a button to a CodeMirror instance which copies the contents to the clipboard upon click.
 | 
				
			||||||
 | 
					 * @param cmInstance
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					function addCopyIcon(cmInstance) {
 | 
				
			||||||
 | 
					    const copyIcon = `<svg viewBox="0 0 24 24" width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>`;
 | 
				
			||||||
 | 
					    const copyButton = document.createElement('div');
 | 
				
			||||||
 | 
					    copyButton.classList.add('CodeMirror-copy');
 | 
				
			||||||
 | 
					    copyButton.innerHTML = copyIcon;
 | 
				
			||||||
 | 
					    cmInstance.display.wrapper.appendChild(copyButton);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const clipboard = new Clipboard(copyButton, {
 | 
				
			||||||
 | 
					        text: function(trigger) {
 | 
				
			||||||
 | 
					            return cmInstance.getValue()
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    clipboard.on('success', event => {
 | 
				
			||||||
 | 
					        copyButton.classList.add('success');
 | 
				
			||||||
 | 
					        setTimeout(() => {
 | 
				
			||||||
 | 
					            copyButton.classList.remove('success');
 | 
				
			||||||
 | 
					        }, 360);
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,3 +13,12 @@ export function utcTimeStampToLocalTime(timestamp) {
 | 
				
			||||||
    let mins = date.getMinutes();
 | 
					    let mins = date.getMinutes();
 | 
				
			||||||
    return `${(hours>9?'':'0') + hours}:${(mins>9?'':'0') + mins}`;
 | 
					    return `${(hours>9?'':'0') + hours}:${(mins>9?'':'0') + mins}`;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function formatDateTime(date) {
 | 
				
			||||||
 | 
					    let month = date.getMonth() + 1;
 | 
				
			||||||
 | 
					    let day = date.getDate();
 | 
				
			||||||
 | 
					    let hours = date.getHours();
 | 
				
			||||||
 | 
					    let mins = date.getMinutes();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return `${date.getFullYear()}-${(month>9?'':'0') + month}-${(day>9?'':'0') + day} ${(hours>9?'':'0') + hours}:${(mins>9?'':'0') + mins}`;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -52,7 +52,9 @@ let methods = {
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    deleteFile(file) {
 | 
					    deleteFile(file) {
 | 
				
			||||||
        if (!file.deleting) return file.deleting = true;
 | 
					        if (!file.deleting) {
 | 
				
			||||||
 | 
					            return this.$set(file, 'deleting', true);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        this.$http.delete(window.baseUrl(`/attachments/${file.id}`)).then(resp => {
 | 
					        this.$http.delete(window.baseUrl(`/attachments/${file.id}`)).then(resp => {
 | 
				
			||||||
            this.$events.emit('success', resp.data.message);
 | 
					            this.$events.emit('success', resp.data.message);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,6 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import * as Dates from "../services/dates";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const dropzone = require('./components/dropzone');
 | 
					const dropzone = require('./components/dropzone');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
let page = 0;
 | 
					let page = 0;
 | 
				
			||||||
| 
						 | 
					@ -168,7 +171,7 @@ const methods = {
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    getDate(stringDate) {
 | 
					    getDate(stringDate) {
 | 
				
			||||||
        return new Date(stringDate);
 | 
					        return Dates.formatDateTime(new Date(stringDate));
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    uploadSuccess(event) {
 | 
					    uploadSuccess(event) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -404,3 +404,37 @@ span.CodeMirror-selectedtext { background: none; }
 | 
				
			||||||
  width: 100%;
 | 
					  width: 100%;
 | 
				
			||||||
  height: 100%;
 | 
					  height: 100%;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Custom Copy Button
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					.CodeMirror-copy {
 | 
				
			||||||
 | 
					  position: absolute;
 | 
				
			||||||
 | 
					  top: -1px;
 | 
				
			||||||
 | 
					  right: -1px;
 | 
				
			||||||
 | 
					  background-color: #EEE;
 | 
				
			||||||
 | 
					  padding: $-xs;
 | 
				
			||||||
 | 
					  line-height: 0;
 | 
				
			||||||
 | 
					  border: 1px solid #DDD;
 | 
				
			||||||
 | 
					  cursor: pointer;
 | 
				
			||||||
 | 
					  fill: #444;
 | 
				
			||||||
 | 
					  z-index: 5;
 | 
				
			||||||
 | 
					  transition: all ease-in 180ms;
 | 
				
			||||||
 | 
					  user-select: none;
 | 
				
			||||||
 | 
					  opacity: 0.7;
 | 
				
			||||||
 | 
					  svg {
 | 
				
			||||||
 | 
					    transition: transform ease-in 180ms;
 | 
				
			||||||
 | 
					    transform: translateY(0);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  &.success {
 | 
				
			||||||
 | 
					    background-color: lighten($positive, 10%);
 | 
				
			||||||
 | 
					    fill: #FFF;
 | 
				
			||||||
 | 
					    svg {
 | 
				
			||||||
 | 
					      transform: translateY(-3px);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.CodeMirror:hover .CodeMirror-copy {
 | 
				
			||||||
 | 
					  user-select: all;
 | 
				
			||||||
 | 
					  opacity: 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -89,6 +89,12 @@
 | 
				
			||||||
  del {
 | 
					  del {
 | 
				
			||||||
    background: #FFECEC;
 | 
					    background: #FFECEC;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  &.page-revision {
 | 
				
			||||||
 | 
					    pre code {
 | 
				
			||||||
 | 
					      white-space: pre-wrap;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Page content pointers
 | 
					// Page content pointers
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -35,6 +35,8 @@ return [
 | 
				
			||||||
    'book_delete'                 => 'libro borrado',
 | 
					    'book_delete'                 => 'libro borrado',
 | 
				
			||||||
    'book_delete_notification'    => 'Libro borrado exitosamente',
 | 
					    'book_delete_notification'    => 'Libro borrado exitosamente',
 | 
				
			||||||
    'book_sort'                   => 'libro ordenado',
 | 
					    'book_sort'                   => 'libro ordenado',
 | 
				
			||||||
    'book_sort_notification'      => 'Libro re-ordenado exitosamente',
 | 
					    'book_sort_notification'      => 'Libro reordenado exitosamente',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Other
 | 
				
			||||||
 | 
					    'commented_on'                => 'comentada el',
 | 
				
			||||||
];
 | 
					];
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,6 +31,7 @@ return [
 | 
				
			||||||
    'edit' => 'Editar',
 | 
					    'edit' => 'Editar',
 | 
				
			||||||
    'sort' => 'Ordenar',
 | 
					    'sort' => 'Ordenar',
 | 
				
			||||||
    'move' => 'Mover',
 | 
					    'move' => 'Mover',
 | 
				
			||||||
 | 
					    'copy' => 'Copiar',
 | 
				
			||||||
    'reply' => 'Responder',
 | 
					    'reply' => 'Responder',
 | 
				
			||||||
    'delete' => 'Borrar',
 | 
					    'delete' => 'Borrar',
 | 
				
			||||||
    'search' => 'Buscar',
 | 
					    'search' => 'Buscar',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -166,6 +166,9 @@ return [
 | 
				
			||||||
    'pages_not_in_chapter' => 'La página no está en un capítulo',
 | 
					    'pages_not_in_chapter' => 'La página no está en un capítulo',
 | 
				
			||||||
    'pages_move' => 'Mover página',
 | 
					    'pages_move' => 'Mover página',
 | 
				
			||||||
    'pages_move_success' => 'Página movida a ":parentName"',
 | 
					    'pages_move_success' => 'Página movida a ":parentName"',
 | 
				
			||||||
 | 
					    'pages_copy' => 'Copiar página',
 | 
				
			||||||
 | 
					    'pages_copy_desination' => 'Destino de la copia',
 | 
				
			||||||
 | 
					    'pages_copy_success' => 'Página copiada a correctamente',
 | 
				
			||||||
    'pages_permissions' => 'Permisos de página',
 | 
					    'pages_permissions' => 'Permisos de página',
 | 
				
			||||||
    'pages_permissions_success' => 'Permisos de página actualizados',
 | 
					    'pages_permissions_success' => 'Permisos de página actualizados',
 | 
				
			||||||
    'pages_revision' => 'Revisión',
 | 
					    'pages_revision' => 'Revisión',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,7 +7,7 @@ return [
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Permissions
 | 
					    // Permissions
 | 
				
			||||||
    'permission' => 'UNo tiene permisos para visualizar la página solicitada.',
 | 
					    'permission' => 'No tiene permisos para visualizar la página solicitada.',
 | 
				
			||||||
    'permissionJson' => 'No tiene permisos para ejecutar la acción solicitada.',
 | 
					    'permissionJson' => 'No tiene permisos para ejecutar la acción solicitada.',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Auth
 | 
					    // Auth
 | 
				
			||||||
| 
						 | 
					@ -65,7 +65,7 @@ return [
 | 
				
			||||||
    'role_system_cannot_be_deleted' => 'Este rol es un rol de sistema y no puede ser borrado',
 | 
					    'role_system_cannot_be_deleted' => 'Este rol es un rol de sistema y no puede ser borrado',
 | 
				
			||||||
    'role_registration_default_cannot_delete' => 'Este rol no puede ser borrado mientras sea el rol por defecto de nuevos registros',
 | 
					    'role_registration_default_cannot_delete' => 'Este rol no puede ser borrado mientras sea el rol por defecto de nuevos registros',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
     // Comments
 | 
					    // Comments
 | 
				
			||||||
    'comment_list' => 'Se ha producido un error al buscar los comentarios.',
 | 
					    'comment_list' => 'Se ha producido un error al buscar los comentarios.',
 | 
				
			||||||
    'cannot_add_comment_to_draft' => 'No puedes añadir comentarios a un borrador.',
 | 
					    'cannot_add_comment_to_draft' => 'No puedes añadir comentarios a un borrador.',
 | 
				
			||||||
    'comment_add' => 'Se ha producido un error al añadir el comentario.',
 | 
					    'comment_add' => 'Se ha producido un error al añadir el comentario.',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,6 +34,7 @@ return [
 | 
				
			||||||
    'app_homepage' => 'Página de inicio',
 | 
					    'app_homepage' => 'Página de inicio',
 | 
				
			||||||
    'app_homepage_desc' => 'Elija la página que se mostrará al inicio en lugar de la vista predeterminada. Se ignorarán los permisos de la página seleccionada.',
 | 
					    'app_homepage_desc' => 'Elija la página que se mostrará al inicio en lugar de la vista predeterminada. Se ignorarán los permisos de la página seleccionada.',
 | 
				
			||||||
    'app_homepage_default' => 'Página de inicio seleccionada',
 | 
					    'app_homepage_default' => 'Página de inicio seleccionada',
 | 
				
			||||||
 | 
					    'app_homepage_books' => 'O selecciona la página de libros como página de inicio. Esto prevalecerá sobre cualquier página seleccionada como página de inicio.',
 | 
				
			||||||
    'app_disable_comments' => 'Deshabilitar comentarios',
 | 
					    'app_disable_comments' => 'Deshabilitar comentarios',
 | 
				
			||||||
    'app_disable_comments_desc' => 'Deshabilita los comentarios en todas las páginas de la aplicación. Los comentarios existentes no se muestran.',
 | 
					    'app_disable_comments_desc' => 'Deshabilita los comentarios en todas las páginas de la aplicación. Los comentarios existentes no se muestran.',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -50,6 +51,19 @@ return [
 | 
				
			||||||
    'reg_confirm_restrict_domain_desc' => 'Introduzca una lista separada por comas de los dominio a los que les gustaría restringir el registro de usuarios. A los usuarios les será enviado un correo electrónico para confirmar la dirección antes de que se le permita interactuar con la aplicación. <br> Tenga en cuenta que los usuarios podrán cambiar sus direcciones de correo electrónico después de registrarse exitosamente.',
 | 
					    'reg_confirm_restrict_domain_desc' => 'Introduzca una lista separada por comas de los dominio a los que les gustaría restringir el registro de usuarios. A los usuarios les será enviado un correo electrónico para confirmar la dirección antes de que se le permita interactuar con la aplicación. <br> Tenga en cuenta que los usuarios podrán cambiar sus direcciones de correo electrónico después de registrarse exitosamente.',
 | 
				
			||||||
    'reg_confirm_restrict_domain_placeholder' => 'Ninguna restricción establecida',
 | 
					    'reg_confirm_restrict_domain_placeholder' => 'Ninguna restricción establecida',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Maintenance settings
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    'maint' => 'Mantenimiento',
 | 
				
			||||||
 | 
					    'maint_image_cleanup' => 'Limpiar imágenes',
 | 
				
			||||||
 | 
					    'maint_image_cleanup_desc' => "Analiza las páginas y sus revisiones para comprobar qué imágenes y dibujos están siendo utilizadas y cuales no son necesarias. Asegúrate de crear una copia completa de la base de datos y de las imágenes antes de lanzar esta opción.",
 | 
				
			||||||
 | 
					    'maint_image_cleanup_ignore_revisions' => 'Ignorar imágenes en revisiones',
 | 
				
			||||||
 | 
					    'maint_image_cleanup_run' => 'Lanzar limpieza',
 | 
				
			||||||
 | 
					    'maint_image_cleanup_warning' => 'Se han encontrado :count imágenes posiblemente no utilizadas . ¿Estás seguro de querer borrar estas imágenes?',
 | 
				
			||||||
 | 
					    'maint_image_cleanup_success' => '¡Se han encontrado y borrado :count imágenes posiblemente no utilizadas!',
 | 
				
			||||||
 | 
					    'maint_image_cleanup_nothing_found' => '¡No se han encontrado imágenes sin utilizar, no se han borrado imágenes!',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Role settings
 | 
					     * Role settings
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,10 +34,10 @@ return [
 | 
				
			||||||
    'app_homepage' => 'Página de inicio de la Aplicación',
 | 
					    'app_homepage' => 'Página de inicio de la Aplicación',
 | 
				
			||||||
    'app_homepage_desc' => 'Seleccione una página de inicio para mostrar en lugar de la vista por defecto. Se ignoran los permisos de página para las páginas seleccionadas.',
 | 
					    'app_homepage_desc' => 'Seleccione una página de inicio para mostrar en lugar de la vista por defecto. Se ignoran los permisos de página para las páginas seleccionadas.',
 | 
				
			||||||
    'app_homepage_default' => 'Página de inicio por defecto seleccionadad',
 | 
					    'app_homepage_default' => 'Página de inicio por defecto seleccionadad',
 | 
				
			||||||
 | 
					    'app_homepage_books' => 'O seleccione la página de libros como su página de inicio. Esto tendrá preferencia sobre cualquier página seleccionada como página de inicio.',
 | 
				
			||||||
    'app_disable_comments' => 'Deshabilitar comentarios',
 | 
					    'app_disable_comments' => 'Deshabilitar comentarios',
 | 
				
			||||||
    'app_disable_comments_desc' => 'Deshabilitar comentarios en todas las páginas de la aplicación. Los comentarios existentes no se muestran.',
 | 
					    'app_disable_comments_desc' => 'Deshabilitar comentarios en todas las páginas de la aplicación. Los comentarios existentes no se muestran.',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Registration settings
 | 
					     * Registration settings
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
| 
						 | 
					@ -51,6 +51,19 @@ return [
 | 
				
			||||||
    'reg_confirm_restrict_domain_desc' => 'Introduzca una lista separada por comas de los correos electrónicos del dominio a los que les gustaría restringir el registro por dominio. A los usuarios les será enviado un correo elctrónico para confirmar la dirección antes de que se le permita interactuar con la aplicación. <br> Note que a los usuarios se les permitirá cambiar sus direcciones de correo electrónico luego de un registro éxioso.',
 | 
					    'reg_confirm_restrict_domain_desc' => 'Introduzca una lista separada por comas de los correos electrónicos del dominio a los que les gustaría restringir el registro por dominio. A los usuarios les será enviado un correo elctrónico para confirmar la dirección antes de que se le permita interactuar con la aplicación. <br> Note que a los usuarios se les permitirá cambiar sus direcciones de correo electrónico luego de un registro éxioso.',
 | 
				
			||||||
    'reg_confirm_restrict_domain_placeholder' => 'Ninguna restricción establecida',
 | 
					    'reg_confirm_restrict_domain_placeholder' => 'Ninguna restricción establecida',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Maintenance settings
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    'maint' => 'Mantenimiento',
 | 
				
			||||||
 | 
					    'maint_image_cleanup' => 'Limpiar imágenes',
 | 
				
			||||||
 | 
					    'maint_image_cleanup_desc' => "Analizar contenido de páginas y revisiones para detectar cuáles imágenes y dibujos están en uso y cuáles son redundantes. Asegúrese de crear un respaldo completo de imágenes y base de datos antes de ejecutar esta tarea.",
 | 
				
			||||||
 | 
					    'maint_image_cleanup_ignore_revisions' => 'Ignorar imágenes en revisión',
 | 
				
			||||||
 | 
					    'maint_image_cleanup_run' => 'Ejecutar limpieza',
 | 
				
			||||||
 | 
					    'maint_image_cleanup_warning' => 'Se encontraron :count imágenes pontencialmente sin uso. Está seguro de que quiere eliminarlas?',
 | 
				
			||||||
 | 
					    'maint_image_cleanup_success' => 'Se encontraron y se eliminaron :count imágenes pontencialmente sin uso!',
 | 
				
			||||||
 | 
					    'maint_image_cleanup_nothing_found' => 'No se encotraron imágenes sin usar, Nada eliminado!',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Role settings
 | 
					     * Role settings
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -42,8 +42,8 @@
 | 
				
			||||||
                                            <span class="text-primary small" @click="file.deleting = false;">{{ trans('common.cancel') }}</span>
 | 
					                                            <span class="text-primary small" @click="file.deleting = false;">{{ trans('common.cancel') }}</span>
 | 
				
			||||||
                                        </div>
 | 
					                                        </div>
 | 
				
			||||||
                                    </div>
 | 
					                                    </div>
 | 
				
			||||||
                                    <div @click="startEdit(file)" class="drag-card-action text-center text-primary" style="padding: 0;">@icon('edit')</div>
 | 
					                                    <div @click="startEdit(file)" class="drag-card-action text-center text-primary">@icon('edit')</div>
 | 
				
			||||||
                                    <div @click="deleteFile(file)" class="drag-card-action text-center text-neg" style="padding: 0;">@icon('close')</div>
 | 
					                                    <div @click="deleteFile(file)" class="drag-card-action text-center text-neg">@icon('close')</div>
 | 
				
			||||||
                                </div>
 | 
					                                </div>
 | 
				
			||||||
                            </draggable>
 | 
					                            </draggable>
 | 
				
			||||||
                            <p class="small muted" v-if="files.length === 0">
 | 
					                            <p class="small muted" v-if="files.length === 0">
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,7 +14,7 @@
 | 
				
			||||||
    <div class="container">
 | 
					    <div class="container">
 | 
				
			||||||
        <div class="row">
 | 
					        <div class="row">
 | 
				
			||||||
            <div class="col-md-9">
 | 
					            <div class="col-md-9">
 | 
				
			||||||
                <div class="page-content">
 | 
					                <div class="page-content page-revision">
 | 
				
			||||||
                    @include('pages.page-display')
 | 
					                    @include('pages.page-display')
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue