aboutsummaryrefslogtreecommitdiff
path: root/app/public/static
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2018-05-27 21:31:11 +0100
committerrubenwardy <rw@rubenwardy.com>2018-05-27 21:31:11 +0100
commit63af1535b90358f1a26248cae217f4a74fdc1f84 (patch)
tree55ce4339a5bea144b7b25ecb6b8e97486b94ed6b /app/public/static
parent82159d488d87d204390dc58fdd30ca2167156b79 (diff)
downloadcheatdb-63af1535b90358f1a26248cae217f4a74fdc1f84.tar.xz
Add dependencies
Diffstat (limited to 'app/public/static')
-rw-r--r--app/public/static/tagselector.js31
1 files changed, 26 insertions, 5 deletions
diff --git a/app/public/static/tagselector.js b/app/public/static/tagselector.js
index 2e90657..32e4882 100644
--- a/app/public/static/tagselector.js
+++ b/app/public/static/tagselector.js
@@ -86,6 +86,18 @@
input = $('input[type=text]', this);
var selected = [];
+ var lookup = {};
+ for (var i = 0; i < source.length; i++) {
+ lookup[source[i].id] = source[i];
+ }
+
+ var selected_raw = result.val().split(",");
+ for (var i = 0; i < selected_raw.length; i++) {
+ var raw = selected_raw[i].trim();
+ if (lookup[raw]) {
+ selected.push(raw);
+ }
+ }
selector.click(function() { input.focus(); })
.delegate('.tag a', 'click', function() {
@@ -122,8 +134,8 @@
function recreate() {
selector.find("span").remove();
for (var i = 0; i < selected.length; i++) {
- var value = source[selected[i]] || selected[i];
- addTag(selected[i], value);
+ var value = lookup[selected[i]] || { value: selected[i] };
+ addTag(selected[i], value.value);
}
result.val(selected.join(","))
}
@@ -134,7 +146,9 @@
e.preventDefault();
else if (e.keyCode === $.ui.keyCode.COMMA) {
var item = input.val();
- if (item.match(/^([a-z0-9_]+)$/)) {
+ if (item.length == 0) {
+ input.data("ui-autocomplete").search("");
+ } else if (item.match(/^([a-z0-9_]+)$/)) {
selectItem(item);
recreate();
input.val("");
@@ -148,7 +162,8 @@
var item = selected[selected.length - 1];
selected.splice(selected.length - 1, 1);
recreate();
- input.val(item);
+ if (!(item.indexOf("/") > 0))
+ input.val(item);
e.preventDefault();
return true;
}
@@ -207,6 +222,12 @@
var input = $(this).parent().children("input[type='text']");
input.hide();
$(this).csvSelector(meta_packages, input.attr("name"), input);
- })
+ });
+
+ $(".deps_selector").each(function() {
+ var input = $(this).parent().children("input[type='text']");
+ input.hide();
+ $(this).csvSelector(all_packages, input.attr("name"), input);
+ });
});
})(jQuery);