Merge branch 'master' into feature/edit-link-headers

This commit is contained in:
Dan Brown
2018-07-14 09:36:14 +01:00
15 changed files with 127 additions and 11 deletions

View File

@ -20,7 +20,7 @@ class PageDisplay {
// Sidebar page nav click event
$('.sidebar-page-nav').on('click', 'a', event => {
goToText(event.target.getAttribute('href').substr(1));
this.goToText(event.target.getAttribute('href').substr(1));
});
}

View File

@ -16,6 +16,8 @@ require('codemirror/mode/toml/toml');
require('codemirror/mode/xml/xml');
require('codemirror/mode/yaml/yaml');
const Clipboard = require("clipboard");
const CodeMirror = require('codemirror');
const modeMap = {
@ -77,7 +79,7 @@ function highlightElem(elem) {
elem.innerHTML = elem.innerHTML.replace(/<br\s*[\/]?>/gi ,'\n');
let content = elem.textContent.trim();
CodeMirror(function(elt) {
let cm = CodeMirror(function(elt) {
elem.parentNode.replaceChild(elt, elem);
}, {
value: content,
@ -86,6 +88,33 @@ function highlightElem(elem) {
theme: getTheme(),
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);
});
}
/**

View File

@ -12,4 +12,13 @@ export function utcTimeStampToLocalTime(timestamp) {
let hours = date.getHours();
let mins = date.getMinutes();
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}`;
}

View File

@ -52,7 +52,9 @@ let methods = {
},
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.$events.emit('success', resp.data.message);

View File

@ -1,3 +1,6 @@
import * as Dates from "../services/dates";
const dropzone = require('./components/dropzone');
let page = 0;
@ -168,7 +171,7 @@ const methods = {
},
getDate(stringDate) {
return new Date(stringDate);
return Dates.formatDateTime(new Date(stringDate));
},
uploadSuccess(event) {