Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging

This commit is contained in:
ansuz
2017-08-10 18:06:58 +02:00
33 changed files with 428 additions and 131 deletions

View File

@@ -72,7 +72,7 @@ body {
#preview {
max-width: 40vw;
margin: auto;
margin: 1em auto;
.markdown_preformatted-code;
.markdown_gfm-table(black);

View File

@@ -402,24 +402,32 @@ define([
});
// add the splitter
var splitter = $('<div>', {
'class': 'cp-splitter'
}).appendTo($iframe.find('#previewContainer'));
if (!$iframe.has('.cp-splitter').length) {
var $preview = $iframe.find('#previewContainer');
var splitter = $('<div>', {
'class': 'cp-splitter'
}).appendTo($preview);
var $target = $iframe.find('.CodeMirror');
splitter.on('mousedown', function (e) {
e.preventDefault();
var x = e.pageX;
var w = $target.width();
$iframe.on('mouseup mousemove', function handler(evt) {
if (evt.type === 'mouseup') {
$iframe.off('mouseup mousemove', handler);
return;
}
$target.css('width', (w - x + evt.pageX) + 'px');
$preview.on('scroll', function() {
splitter.css('top', $preview.scrollTop() + 'px');
});
});
var $target = $iframe.find('.CodeMirror');
splitter.on('mousedown', function (e) {
e.preventDefault();
var x = e.pageX;
var w = $target.width();
$iframe.on('mouseup mousemove', function handler(evt) {
if (evt.type === 'mouseup') {
$iframe.off('mouseup mousemove', handler);
return;
}
$target.css('width', (w - x + evt.pageX) + 'px');
});
});
}
Cryptpad.removeLoadingScreen();
setEditable(true);

View File

@@ -56,12 +56,13 @@ define([
$row.find('.upCancel').html('-');
var $pv = $row.find('.progressValue');
var $pb = $row.find('.progressContainer');
var $pc = $row.find('.upProgress');
var $link = $row.find('.upLink');
var updateProgress = function (progressValue) {
$pv.text(Math.round(progressValue*100)/100 + '%');
$pb.css({
width: (progressValue/100)*188+'px'
width: (progressValue/100)*$pc.width()+'px'
});
};

View File

@@ -313,6 +313,7 @@ define([
position: 'bottom',
distance: 0,
performance: true,
dynamicTitle: true,
delay: [delay, 0]
});
};

View File

@@ -44,6 +44,7 @@
border: 0;
padding: 8px 12px;
margin: 1em;
width: 300px;
}
.close {
@@ -60,6 +61,7 @@
.fileContainer {
display: flex;
flex-wrap: wrap;
justify-content: center;
overflow-y: auto;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -308,7 +308,7 @@ define([
toolbar.userlistContent = $content;
var $container = $('<span>', {id: 'userButtons'});
var $container = $('<span>', {id: 'userButtons', title: Messages.userListButton});
var $button = $('<button>').appendTo($container);
$('<span>',{'class': 'buttonTitle'}).appendTo($button);
@@ -446,6 +446,7 @@ define([
//$shareBlock.find('button').attr('id', 'shareButton');
$shareBlock.find('.dropdown-bar-content').addClass(SHARE_CLS).addClass(EDITSHARE_CLS).addClass(VIEWSHARE_CLS);
$shareBlock.addClass('shareButton');
$shareBlock.find('button').attr('title', Messages.shareButton);
if (hashes.editHash) {
$shareBlock.find('a.editShare').click(function () {
@@ -623,20 +624,25 @@ define([
}).appendTo(toolbar.$top);
// We need to override the "a" tag action here because it is inside the iframe!
var inDrive = /^\/drive/;
var href = inDrive ? '/index.html' : '/drive/';
var buttonTitle = inDrive ? Messages.header_homeTitle : Messages.header_logoTitle;
var $aTag = $('<a>', {
href: "/drive/",
title: Messages.header_logoTitle,
href: href,
title: buttonTitle,
'class': "cryptpad-logo"
}).append($('<img>', {
src: '/customize/images/logo_white.svg'
src: '/customize/images/logo_white.png'
}));
var onClick = function (e) {
e.preventDefault();
if (e.ctrlKey) {
window.open('/drive/');
window.open(href);
return;
}
window.location = "/drive/";
window.location = href;
};
var onContext = function (e) { e.stopPropagation(); };
@@ -774,6 +780,7 @@ define([
userMenuCfg.displayChangeName = 1;
}
Cryptpad.createUserAdminMenu(userMenuCfg);
$userAdmin.find('button').attr('title', Messages.userAccountButton);
var $userButton = toolbar.$userNameButton = $userAdmin.find('a.' + USERBUTTON_CLS);
$userButton.click(function (e) {

View File

@@ -1374,6 +1374,8 @@ define([
} else {
$gridButton.addClass('active');
}
$listButton.attr('title', Messages.fm_viewListButton);
$gridButton.attr('title', Messages.fm_viewGridButton);
$container.append($listButton).append($gridButton);
};

View File

@@ -128,9 +128,3 @@ media-tag {
z-index: 10000;
display: block;
}
body #uploadStatusContainer {
background-color: rgba(255, 255, 255, 0.9);
color: black;
opacity: 0.9;
}

View File

@@ -520,14 +520,17 @@ define([
$collapse.removeClass('fa-question');
var updateIcon = function () {
$collapse.removeClass('fa-caret-down').removeClass('fa-caret-up');
$collapse.attr('title', '');
var isCollapsed = !$bar.find('.cke_toolbox_main').is(':visible');
if (isCollapsed) {
if (!initializing) { Cryptpad.feedback('HIDETOOLBAR_PAD'); }
$collapse.addClass('fa-caret-down');
$collapse.attr('title', Messages.pad_showToolbar);
}
else {
if (!initializing) { Cryptpad.feedback('SHOWTOOLBAR_PAD'); }
$collapse.addClass('fa-caret-up');
$collapse.attr('title', Messages.pad_hideToolbar);
}
};
updateIcon();

View File

@@ -11,6 +11,7 @@ define([
'/bower_components/file-saver/FileSaver.min.js',
'css!/bower_components/components-font-awesome/css/font-awesome.min.css',
'css!/bower_components/bootstrap/dist/css/bootstrap.min.css',
'less!/customize/src/less/toolbar.less',
'less!/customize/src/less/cryptpad.less',
'less!/poll/poll.less',
@@ -135,7 +136,7 @@ define([
var $commitCell = APP.$table.find('tfoot tr td:nth-child(2)');
$createOption.append(APP.$createRow);
$commitCell.append(APP.$commit);
$('#create-user, #create-option').css('display', 'inline-block');
$('#create-user, #create-option').css('display', 'inline-flex');
if (!APP.proxy || !APP.proxy.table.rowsOrder || APP.proxy.table.rowsOrder.length === 0) { $('#create-user').hide(); }
var width = $('#table').outerWidth();
if (width) {
@@ -458,7 +459,7 @@ define([
var msg = (help ? Messages.poll_hide_help_button : Messages.poll_show_help_button);
$('#howItWorks').toggle(help);
$('#help').text(msg).attr('title', msg);
$('#help').text(msg);
};
var Title;

View File

@@ -55,9 +55,14 @@ body {
width: 400px;
}
input[type="text"], textarea {
background-color: white;
color: black;
border: 0;
}
input[type="text"][disabled], textarea[disabled] {
background-color: transparent;
font: white;
border: 0px;
}
@@ -114,6 +119,7 @@ table#table {
min-height: 5em;
font-size: 20px;
font-weight: bold;
border: 1px solid black;
}
#description[disabled] {
@@ -132,6 +138,10 @@ table#table {
div.upper {
width: 80%;
margin: auto;
& > * {
margin-right: 1em;
}
}
// from cryptpad.less
@@ -329,7 +339,6 @@ form.realtime, div.realtime {
input {
&[type="text"] {
height: auto;
border: 1px solid @base;
width: 80%;
}
}
@@ -375,6 +384,7 @@ form.realtime, div.realtime {
//border-radius: 20px 0 0 20px;
input[type="text"] {
width: ~"calc(100% - 50px)";
padding: 0 0.5em;
}
.edit {
float:right;
@@ -460,3 +470,10 @@ form.realtime, div.realtime {
#adduser { .top-left; }
#addoption { .bottom-left; }
}
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
}

View File

@@ -15,6 +15,7 @@ define([
'/bower_components/file-saver/FileSaver.min.js',
'css!/bower_components/components-font-awesome/css/font-awesome.min.css',
'css!/bower_components/bootstrap/dist/css/bootstrap.min.css',
'less!/customize/src/less/cryptpad.less',
'less!/whiteboard/whiteboard.less',
'less!/customize/src/less/toolbar.less',
@@ -89,13 +90,8 @@ window.canvas = canvas;
ctx.strokeStyle = '#000000';
ctx.stroke();
var img = ccanvas.toDataURL("image/png");
var $img = $('<img>', {
src: img,
title: 'Current brush'
});
$controls.find('.selected').html('').append($img);
$controls.find('.selected > img').attr('src', img);
canvas.freeDrawingCursor = 'url('+img+') '+size/2+' '+size/2+', crosshair';
};
@@ -103,6 +99,7 @@ window.canvas = canvas;
var val = $width.val();
canvas.freeDrawingBrush.width = Number(val);
$widthLabel.text(Cryptpad.Messages._getKey("canvas_widthLabel", [val]));
$('#width-val').text(val + 'px');
createCursor();
};
updateBrushWidth();
@@ -114,6 +111,7 @@ window.canvas = canvas;
brush.opacity = Number(val);
canvas.freeDrawingBrush.color = Colors.hex2rgba(brush.color, brush.opacity);
$opacityLabel.text(Cryptpad.Messages._getKey("canvas_opacityLabel", [val]));
$('#opacity-val').text((Number(val) * 100) + '%');
createCursor();
};
updateBrushOpacity();
@@ -188,7 +186,7 @@ window.canvas = canvas;
var setEditable = function (bool) {
if (readOnly && bool) { return; }
if (bool) { $controls.show(); }
if (bool) { $controls.css('display', 'flex'); }
else { $controls.hide(); }
canvas.isDrawingMode = bool ? module.draw : false;
@@ -199,7 +197,7 @@ window.canvas = canvas;
canvas.forEachObject(function (object) {
object.selectable = bool;
});
$canvasContainer.css('border-color', bool? 'black': 'red');
$canvasContainer.find('canvas').css('border-color', bool? 'black': 'red');
};
var saveImage = module.saveImage = function () {
@@ -289,7 +287,7 @@ window.canvas = canvas;
var $color = module.$color = $('<button>', {
id: "color-picker",
title: "choose a color",
title: Messages.canvas_chooseColor,
'class': "fa fa-square rightside-button",
})
.on('click', function () {

View File

@@ -27,20 +27,29 @@ body {
}
// created by fabricjs. styled so defaults don't break anything
.canvas-container {
border: 1px solid black;
margin: auto;
background: white;
& > canvas {
border: 1px solid black;
}
}
// contains user tools
#controls {
display: block;
display: flex;
align-items: center;
justify-content: center;
position: relative;
border-top: 1px solid black;
background: white;
height: 100px;
line-height: 100px;
padding-bottom: 5px;
padding: 1em;
& > * + * {
margin: 0;
margin-left: 1em;
}
#width, #opacity {
.middle;
@@ -50,15 +59,36 @@ body {
vertical-align: middle;
}
.selected {
margin-left: 20px;
display: inline-block;
height: 135px;
width: 135px;
display: flex;
align-items: center;
justify-content: center;
z-index: 9001;
text-align: center;
img {
vertical-align: middle;
width: 100px;
height: 100px;
}
.range-group {
display: flex;
flex-direction: column;
position: relative;
input[type="range"] {
background-color: inherit;
}
& > span {
cursor: default;
position: absolute;
top: 0;
right: 0;
}
}
.range-group:first-of-type {
margin-left: 2em;
}
.range-group:last-of-type {
margin-right: 1em;
}
}
@@ -70,13 +100,21 @@ body {
display: flex;
justify-content: space-between;
padding: 1em;
span.palette-color {
height: 4vw;
width: 4vw;
display: inline-block;
display: block;
margin: 5px;
border: 1px solid black;
vertical-align: top;
border-radius: 50%;
transition: transform 0.1s;
&:hover {
transform: scale(1.2);
}
}
}
@@ -87,6 +125,7 @@ body {
// input[type=color] must exist in the dom to work correctly
// styled so that they don't break layouts
#pickers {
visibility: hidden;
position: absolute;
@@ -94,4 +133,3 @@ body {
height: 0;
z-index: -5;
}