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

pull/1/head
ansuz 8 years ago
commit 1fd0ba488a

@ -108,7 +108,8 @@ h6 {
padding-top: .65001rem; padding-top: .65001rem;
} }
a:not(.btn) { p {
a:not(.btn) {
cursor: pointer; cursor: pointer;
color: @cp-link; color: @cp-link;
@ -120,6 +121,7 @@ a:not(.btn) {
&:visited { &:visited {
color: @cp-link-visited; color: @cp-link-visited;
} }
}
} }
a.btn { a.btn {
font-family: sans-serif; font-family: sans-serif;

@ -138,7 +138,15 @@ body .userlist-drawer {
color: black; color: black;
font-size: 40px; font-size: 40px;
} }
.name {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
media-tag { media-tag {
min-height: 50px;
min-width: 50px;
max-height: 50px; max-height: 50px;
max-width: 50px; max-width: 50px;
img { img {

@ -72,7 +72,7 @@
} }
} }
} }
a { &.link a {
font-weight: 500; font-weight: 500;
font-size: 0.75em; font-size: 0.75em;
color: @cp-link; color: @cp-link;

@ -1194,6 +1194,27 @@ define([
return button; return button;
}; };
var emoji_patt = /([\uD800-\uDBFF][\uDC00-\uDFFF])/;
var isEmoji = function (str) {
return emoji_patt.test(str);
};
var emojiStringToArray = function (str) {
var split = str.split(emoji_patt);
var arr = [];
for (var i=0; i<split.length; i++) {
var char = split[i];
if (char !== "") {
arr.push(char);
}
}
return arr;
};
var getFirstEmojiOrCharacter = function (str) {
if (!str || !str.trim()) { return '?'; }
var emojis = emojiStringToArray(str);
return isEmoji(emojis[0])? emojis[0]: str[0];
};
$(window.document).on('decryption', function (e) { $(window.document).on('decryption', function (e) {
var decrypted = e.originalEvent; var decrypted = e.originalEvent;
if (decrypted.callback) { if (decrypted.callback) {
@ -1242,7 +1263,7 @@ define([
common.displayAvatar = function ($container, href, name, cb) { common.displayAvatar = function ($container, href, name, cb) {
var MutationObserver = window.MutationObserver; var MutationObserver = window.MutationObserver;
var displayDefault = function () { var displayDefault = function () {
var text = name.trim().length ? name.trim().slice(0,1) : '?'; var text = getFirstEmojiOrCharacter(name);
var $avatar = $('<span>', {'class': 'default'}).text(text); var $avatar = $('<span>', {'class': 'default'}).text(text);
$container.append($avatar); $container.append($avatar);
if (cb) { cb(); } if (cb) { cb(); }

@ -206,6 +206,7 @@ define([
// Editors // Editors
editUsersNames.forEach(function (data) { editUsersNames.forEach(function (data) {
var name = data.name || Messages.anonymous; var name = data.name || Messages.anonymous;
var $name = $('<span>', {'class': 'name'}).text(name);
var $span = $('<span>', {'title': name}); var $span = $('<span>', {'title': name});
if (data.profile) { if (data.profile) {
$span.addClass('clickable'); $span.addClass('clickable');
@ -215,13 +216,13 @@ define([
} }
if (data.avatar && avatars[data.avatar]) { if (data.avatar && avatars[data.avatar]) {
$span.append(avatars[data.avatar]); $span.append(avatars[data.avatar]);
$span.append(name); $span.append($name);
} else { } else {
Cryptpad.displayAvatar($span, data.avatar, name, function ($img) { Cryptpad.displayAvatar($span, data.avatar, name, function ($img) {
if (data.avatar && $img) { if (data.avatar && $img) {
avatars[data.avatar] = $img[0].outerHTML; avatars[data.avatar] = $img[0].outerHTML;
} }
$span.append(name); $span.append($name);
}); });
} }
$span.data('uid', data.uid); $span.data('uid', data.uid);

@ -1170,7 +1170,7 @@ define([
var element = filesOp.find(newPath); var element = filesOp.find(newPath);
var $icon = !isFolder ? getFileIcon(element) : undefined; var $icon = !isFolder ? getFileIcon(element) : undefined;
var ro = filesOp.isReadOnlyFile(element); var ro = filesOp.isReadOnlyFile(element);
// ro undefined mens it's an old hash which doesn't support read-only // ro undefined means it's an old hash which doesn't support read-only
var roClass = typeof(ro) === 'undefined' ? ' noreadonly' : ro ? ' readonly' : ''; var roClass = typeof(ro) === 'undefined' ? ' noreadonly' : ro ? ' readonly' : '';
var liClass = 'file-item file-element element' + roClass; var liClass = 'file-item file-element element' + roClass;
if (isFolder) { if (isFolder) {
@ -2140,6 +2140,7 @@ define([
$trashContextMenu.hide(); $trashContextMenu.hide();
$contentContextMenu.hide(); $contentContextMenu.hide();
$defaultContextMenu.hide(); $defaultContextMenu.hide();
$iframe.find('.cryptpad-dropdown').hide();
}; };
var stringifyPath = function (path) { var stringifyPath = function (path) {

Loading…
Cancel
Save