Move tagname related functions from common.js to tag_autocomplete.js.
This commit is contained in:
parent
fdfc7308b0
commit
e1033d0138
5 changed files with 45 additions and 42 deletions
|
|
@ -125,19 +125,6 @@ function entry_with_history_hook(event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
common.entry_with_tagname_replacements =
|
|
||||||
function entry_with_tagname_replacements(event)
|
|
||||||
{
|
|
||||||
var cursor_position = event.target.selectionStart;
|
|
||||||
var new_value = common.tagname_replacements(event.target.value);
|
|
||||||
if (new_value != event.target.value)
|
|
||||||
{
|
|
||||||
event.target.value = new_value;
|
|
||||||
event.target.selectionStart = cursor_position;
|
|
||||||
event.target.selectionEnd = cursor_position;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
common.html_to_element =
|
common.html_to_element =
|
||||||
function html_to_element(html)
|
function html_to_element(html)
|
||||||
{
|
{
|
||||||
|
|
@ -262,26 +249,6 @@ function init_button_with_confirm()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
common.normalize_tagname =
|
|
||||||
function normalize_tagname(tagname)
|
|
||||||
{
|
|
||||||
tagname = tagname.trim();
|
|
||||||
tagname = tagname.toLocaleLowerCase();
|
|
||||||
tagname = tagname.split(".");
|
|
||||||
tagname = tagname[tagname.length-1];
|
|
||||||
tagname = tagname.split("+")[0];
|
|
||||||
tagname = common.tagname_replacements(tagname);
|
|
||||||
return tagname;
|
|
||||||
}
|
|
||||||
|
|
||||||
common.tagname_replacements =
|
|
||||||
function tagname_replacements(tagname)
|
|
||||||
{
|
|
||||||
tagname = tagname.replace(new RegExp(" ", 'g'), "_");
|
|
||||||
tagname = tagname.replace(new RegExp("-", 'g'), "_");
|
|
||||||
return tagname;
|
|
||||||
}
|
|
||||||
|
|
||||||
common.refresh =
|
common.refresh =
|
||||||
function refresh()
|
function refresh()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ var tag_autocomplete = {};
|
||||||
|
|
||||||
tag_autocomplete.tagset = {"tags": [], "synonyms": {}};
|
tag_autocomplete.tagset = {"tags": [], "synonyms": {}};
|
||||||
|
|
||||||
tag_autocomplete.DATALIST_ID = "tag_autocomplete_datalist"
|
tag_autocomplete.DATALIST_ID = "tag_autocomplete_datalist";
|
||||||
|
|
||||||
tag_autocomplete.init_datalist =
|
tag_autocomplete.init_datalist =
|
||||||
function init_datalist()
|
function init_datalist()
|
||||||
{
|
{
|
||||||
|
|
@ -30,10 +31,43 @@ function init_datalist()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tag_automplete.normalize_tagname =
|
||||||
|
function normalize_tagname(tagname)
|
||||||
|
{
|
||||||
|
tagname = tagname.trim();
|
||||||
|
tagname = tagname.toLocaleLowerCase();
|
||||||
|
tagname = tagname.split(".");
|
||||||
|
tagname = tagname[tagname.length-1];
|
||||||
|
tagname = tagname.split("+")[0];
|
||||||
|
tagname = tag_automplete.tagname_replacements(tagname);
|
||||||
|
return tagname;
|
||||||
|
}
|
||||||
|
|
||||||
|
tag_automplete.tagname_replacements =
|
||||||
|
function tagname_replacements(tagname)
|
||||||
|
{
|
||||||
|
tagname = tagname.replace(new RegExp(" ", 'g'), "_");
|
||||||
|
tagname = tagname.replace(new RegExp("-", 'g'), "_");
|
||||||
|
return tagname;
|
||||||
|
}
|
||||||
|
|
||||||
|
tag_automplete.entry_with_tagname_replacements_hook =
|
||||||
|
function entry_with_tagname_replacements_hook(event)
|
||||||
|
{
|
||||||
|
var cursor_position = event.target.selectionStart;
|
||||||
|
var new_value = tag_automplete.tagname_replacements(event.target.value);
|
||||||
|
if (new_value != event.target.value)
|
||||||
|
{
|
||||||
|
event.target.value = new_value;
|
||||||
|
event.target.selectionStart = cursor_position;
|
||||||
|
event.target.selectionEnd = cursor_position;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
tag_autocomplete.resolve =
|
tag_autocomplete.resolve =
|
||||||
function resolve(tagname)
|
function resolve(tagname)
|
||||||
{
|
{
|
||||||
tagname = common.normalize_tagname(tagname);
|
tagname = tag_autocomplete.normalize_tagname(tagname);
|
||||||
if (tag_autocomplete.tagset["tags"].indexOf(tagname) != -1)
|
if (tag_autocomplete.tagset["tags"].indexOf(tagname) != -1)
|
||||||
{
|
{
|
||||||
return tagname;
|
return tagname;
|
||||||
|
|
@ -59,6 +93,7 @@ function update_tagset_callback(response)
|
||||||
{
|
{
|
||||||
tag_autocomplete.init_datalist();
|
tag_autocomplete.init_datalist();
|
||||||
}
|
}
|
||||||
|
console.log(`Updated tagset contains ${tag_autocomplete.tagset.tags.length}.`);
|
||||||
return tag_autocomplete.tagset;
|
return tag_autocomplete.tagset;
|
||||||
}
|
}
|
||||||
console.error(response);
|
console.error(response);
|
||||||
|
|
|
||||||
|
|
@ -277,7 +277,7 @@ var PHOTO_ID = "{{photo.id}}";
|
||||||
var add_tag_box = document.getElementById('add_tag_textbox');
|
var add_tag_box = document.getElementById('add_tag_textbox');
|
||||||
var add_tag_button = document.getElementById('add_tag_button');
|
var add_tag_button = document.getElementById('add_tag_button');
|
||||||
add_tag_box.addEventListener("keyup", common.entry_with_history_hook);
|
add_tag_box.addEventListener("keyup", common.entry_with_history_hook);
|
||||||
add_tag_box.addEventListener("keyup", common.entry_with_tagname_replacements);
|
add_tag_box.addEventListener("keyup", tag_autocomplete.entry_with_tagname_replacements_hook);
|
||||||
common.bind_box_to_button(add_tag_box, add_tag_button, false);
|
common.bind_box_to_button(add_tag_box, add_tag_button, false);
|
||||||
|
|
||||||
var message_area = document.getElementById('message_area');
|
var message_area = document.getElementById('message_area');
|
||||||
|
|
|
||||||
|
|
@ -673,11 +673,11 @@ var inputted_forbids = [];
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
input_musts.addEventListener("keyup", tag_input_hook_musts);
|
input_musts.addEventListener("keyup", tag_input_hook_musts);
|
||||||
input_musts.addEventListener("keyup", common.entry_with_tagname_replacements);
|
input_musts.addEventListener("keyup", tag_autocomplete.entry_with_tagname_replacements_hook);
|
||||||
input_mays.addEventListener("keyup", tag_input_hook_mays);
|
input_mays.addEventListener("keyup", tag_input_hook_mays);
|
||||||
input_mays.addEventListener("keyup", common.entry_with_tagname_replacements);
|
input_mays.addEventListener("keyup", tag_autocomplete.entry_with_tagname_replacements_hook);
|
||||||
input_forbids.addEventListener("keyup", tag_input_hook_forbids);
|
input_forbids.addEventListener("keyup", tag_input_hook_forbids);
|
||||||
input_forbids.addEventListener("keyup", common.entry_with_tagname_replacements);
|
input_forbids.addEventListener("keyup", tag_autocomplete.entry_with_tagname_replacements_hook);
|
||||||
|
|
||||||
common.bind_box_to_button(input_expression, document.getElementById("search_go_button"));
|
common.bind_box_to_button(input_expression, document.getElementById("search_go_button"));
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,9 @@
|
||||||
{% if theme %}<link rel="stylesheet" href="/static/css/theme_{{theme}}.css">{% endif %}
|
{% if theme %}<link rel="stylesheet" href="/static/css/theme_{{theme}}.css">{% endif %}
|
||||||
<script src="/static/js/common.js"></script>
|
<script src="/static/js/common.js"></script>
|
||||||
<script src="/static/js/api.js"></script>
|
<script src="/static/js/api.js"></script>
|
||||||
<script src="/static/js/spinner.js"></script>
|
|
||||||
<script src="/static/js/editor.js"></script>
|
<script src="/static/js/editor.js"></script>
|
||||||
|
<script src="/static/js/spinner.js"></script>
|
||||||
|
<script src="/static/js/tag_autocomplete.js"></script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
h2, h3
|
h2, h3
|
||||||
|
|
@ -228,7 +229,7 @@ var add_tag_textbox = document.getElementById('add_tag_textbox');
|
||||||
var add_tag_button = document.getElementById('add_tag_button');
|
var add_tag_button = document.getElementById('add_tag_button');
|
||||||
var message_area = document.getElementById('message_area');
|
var message_area = document.getElementById('message_area');
|
||||||
add_tag_textbox.addEventListener("keyup", common.entry_with_history_hook);
|
add_tag_textbox.addEventListener("keyup", common.entry_with_history_hook);
|
||||||
add_tag_textbox.addEventListener("keyup", common.entry_with_tagname_replacements);
|
add_tag_textbox.addEventListener("keyup", tag_autocomplete.entry_with_tagname_replacements_hook);
|
||||||
common.bind_box_to_button(add_tag_textbox, add_tag_button, false);
|
common.bind_box_to_button(add_tag_textbox, add_tag_button, false);
|
||||||
|
|
||||||
function easybake_form()
|
function easybake_form()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue