Merge remote-tracking branch 'origin/communities-comments' into communities-comments

pull/1/head
David Benqué 5 years ago
commit 41ceedd3f7

@ -22,6 +22,9 @@
}
.cp-comment-form-input {
.avatar_main(40px);
.cp-avatar {
border: 1px solid transparent;
}
display: flex;
align-items: flex-start;
div.cp-textarea {

@ -3673,10 +3673,10 @@ define([
var node = document.createTextNode(text);
range.insertNode(node);
for (var position = 0; position != text.length; position++) {
for (var position = 0; position !== text.length; position++) {
selection.modify("move", "right", "character");
};
}
};
var getSource = {};
getSource['contacts'] = function (common, sources) {
@ -3710,7 +3710,7 @@ define([
try {
insertTextAtCursor(e.originalEvent.clipboardData.getData('text'));
e.preventDefault();
} catch (e) { console.error(e); }
} catch (err) { console.error(err); }
});
// Fix backspace with "contenteditable false" children
@ -3767,14 +3767,14 @@ define([
// Get the text between the last @ before the cursor and the cursor
var extractLast = function (term, offset) {
var offset = typeof(offset) !== "undefined" ? offset : $t[0].selectionStart;
offset = typeof(offset) !== "undefined" ? offset : $t[0].selectionStart;
var startOffset = term.slice(0,offset).lastIndexOf('@');
return term.slice(startOffset+1, offset);
};
// Insert the autocomplete value in the input field
var insertValue = function (value, offset, content) {
var offset = typeof(offset) !== "undefined" ? offset : $t[0].selectionStart;
var content = content || getValue();
offset = typeof(offset) !== "undefined" ? offset : $t[0].selectionStart;
content = content || getValue();
var startOffset = content.slice(0,offset).lastIndexOf('@');
var length = offset - startOffset;
if (length <= 0) { return; }
@ -3798,7 +3798,6 @@ define([
var _extractLast = extractLast;
// Use getSelection to get the cursor position in contenteditable
extractLast = function () {
var val = getValue();
var sel = document.getSelection();
if (sel.anchorNode.nodeType !== Node.TEXT_NODE) { return; }
return _extractLast(sel.anchorNode.nodeValue, sel.anchorOffset);
@ -3832,14 +3831,14 @@ define([
var range = document.createRange();
range.setStart(next, 0);
range.setEnd(next, 0);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
var newSel = window.getSelection();
newSel.removeAllRanges();
newSel.addRange(range);
};
// Inserting contacts into contenteditable: use mention UI
if (options.type === "contacts") {
toInsert = function (data, key) {
toInsert = function (data) {
var avatar = h('span.cp-avatar', {
contenteditable: false
});
@ -3871,7 +3870,7 @@ define([
e.preventDefault();
e.stopPropagation();
}
} catch (e) {}
} catch (err) { console.error(err); }
}
}).autocomplete({
minLength: 0,
@ -3893,6 +3892,16 @@ define([
results.sort(sort);
}
cb(results);
// Set max-height to the autocomplete dropdown
try {
var max = window.innerHeight;
var pos = $t[0].getBoundingClientRect();
var menu = $t.autocomplete("instance").menu.activeMenu;
menu.css({
'overflow-y': 'auto',
'max-height': (max-pos.bottom)+'px'
});
} catch (e) {}
},
focus: function() {
// prevent value inserted on focus

@ -265,6 +265,7 @@ define([
if (!bool && update) { onRemote(); }
};
/*
var hasChanged = function (content) {
try {
var oldValue = JSON.parse(cpNfInner.chainpad.getUserDoc());
@ -276,8 +277,9 @@ define([
} catch (e) {}
return false;
};
*/
onLocal = function (padChange) {
onLocal = function (/*padChange*/) {
if (state !== STATE.READY) { return; }
if (readOnly) { return; }

@ -224,7 +224,7 @@ define([
try {
var visible = $text.autocomplete("instance").menu.activeMenu.is(':visible');
if (visible) { return; }
} catch (e) {}
} catch (err) {}
$(submit).click();
e.preventDefault();
}
@ -331,7 +331,7 @@ define([
var name = $el.attr('data-name');
var avatarUrl = $el.attr('data-avatar');
var profile = $el.attr('data-profile');
if (!name && !avatar && !profile) {
if (!name && !avatarUrl && !profile) {
$el.remove();
return;
}
@ -429,7 +429,13 @@ define([
updateMetadata(Env);
Env.framework.localChange();
});
$div.append(form);
// Make sure the submit button is visible: scroll by the height of the form
setTimeout(function () {
Env.$container.scrollTop(Env.$container.scrollTop() + 55);
});
});
UI.confirmButton(resolve, {

Loading…
Cancel
Save