fix attribute name autocomplete, no tooltip preview on path selection

This commit is contained in:
azivner 2018-08-15 18:22:02 +02:00
parent 4513651e12
commit dbe0eb3f3a
4 changed files with 27 additions and 14 deletions

View File

@ -246,7 +246,7 @@ async function showDialog() {
$dialog.dialog({
modal: true,
width: 950,
height: 500
height: 700
});
}

View File

@ -6,10 +6,16 @@ function setupTooltip() {
$(document).tooltip({
items: "body a",
content: function (callback) {
let notePath = linkService.getNotePathFromLink($(this).attr("href"));
const $link = $(this);
if ($link.hasClass("no-tooltip-preview")) {
return;
}
let notePath = linkService.getNotePathFromLink($link.attr("href"));
if (!notePath) {
notePath = $(this).attr("data-note-path");
notePath = $link.attr("data-note-path");
}
if (notePath) {

View File

@ -206,7 +206,11 @@ async function showPaths(noteId, node) {
const notePath = parentNotePath ? (parentNotePath + '/' + noteId) : noteId;
const title = await treeUtils.getNotePathTitle(notePath);
const item = $("<li/>").append(await linkService.createNoteLink(notePath, title));
const noteLink = await linkService.createNoteLink(notePath, title);
noteLink.addClass("no-tooltip-preview");
const item = $("<li/>").append(noteLink);
if (node.getParent().data.noteId === parentNote.noteId) {
item.addClass("current");

View File

@ -59,17 +59,20 @@ async function createAttribute(attribute) {
}
async function getAttributeNames(type, nameLike) {
const names = await sql.getColumn(
`SELECT DISTINCT name
FROM attributes
WHERE isDeleted = 0
AND type = ?
AND name LIKE '%${utils.sanitizeSql(nameLike)}%'`, [ type ]);
let names;
for (const attribute of BUILTIN_ATTRIBUTES) {
if (attribute.type === type && !names.includes(attribute.name)) {
names.push(attribute.name);
}
if (!nameLike) {
names = BUILTIN_ATTRIBUTES
.filter(attribute => attribute.type === type)
.map(attribute => attribute.name);
}
else {
names = await sql.getColumn(
`SELECT DISTINCT name
FROM attributes
WHERE isDeleted = 0
AND type = ?
AND name LIKE '%${utils.sanitizeSql(nameLike)}%'`, [type]);
}
names.sort();