abracadabra 1.0.8 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/abracadabra.js +21 -10
- data/lib/abracadabra/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: edd223049678c26610b8c2fadec6d8f8ad595061
|
4
|
+
data.tar.gz: 41c3481424371382ec2a0301a5842e6a129b423d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 340c4fecc67742521dfefbc59e52e1291f956072c707cf6104f6e36417e09e851d90af20be0d4db60773a4a6606e67392514ea49816f705469298685268cefe2
|
7
|
+
data.tar.gz: 0720c36847639c2e10e3961a8f7cb627a32a159a551c8d174c3f747190b69591d3a20c07f02af5c12c9c721f3158b8bb0be4011c9dfa18e3c393c0f870932d34
|
@@ -1,8 +1,9 @@
|
|
1
1
|
$(function() {
|
2
2
|
abracadabraSubmissionInProgress = false;
|
3
3
|
abracadabraDeleteMousedown = false;
|
4
|
+
abracadabraEscapeKeydown = true;
|
4
5
|
|
5
|
-
function closeAbracadabra(element, destroy) {
|
6
|
+
function closeAbracadabra(element, destroy, valueChanged) {
|
6
7
|
$element = $(element);
|
7
8
|
if($element.hasClass("abracadabra-container")) {
|
8
9
|
container = $element;
|
@@ -13,7 +14,11 @@ $(function() {
|
|
13
14
|
if(destroy) {
|
14
15
|
container.siblings(".abracadabra").remove();
|
15
16
|
} else {
|
16
|
-
|
17
|
+
if(valueChanged == true) {
|
18
|
+
value = container.find(".abracadabra-input").val();
|
19
|
+
} else {
|
20
|
+
value = container.find(".abracadabra-input").data("original-value");
|
21
|
+
}
|
17
22
|
container.siblings(".abracadabra").text(value).show();
|
18
23
|
}
|
19
24
|
|
@@ -38,16 +43,17 @@ $(function() {
|
|
38
43
|
}
|
39
44
|
/* /If selector isn't an ID, find the element with the class AFTER the current element */
|
40
45
|
|
41
|
-
closeAbracadabra(element, false);
|
46
|
+
closeAbracadabra(element, false, true);
|
42
47
|
nextAbracadabra.click();
|
43
48
|
} else {
|
44
|
-
closeAbracadabra(element, false);
|
49
|
+
closeAbracadabra(element, false, true);
|
45
50
|
}
|
46
51
|
}
|
47
52
|
|
48
53
|
$("body").on("submit", ".abracadabra-form", function(e) {
|
49
|
-
if(abracadabraSubmissionInProgress == true) {
|
54
|
+
if(abracadabraSubmissionInProgress == true || abracadabraEscapeKeydown == true) {
|
50
55
|
e.preventDefault();
|
56
|
+
abracadabraEscapeKeydown = false;
|
51
57
|
return false;
|
52
58
|
}
|
53
59
|
abracadabraSubmissionInProgress = true;
|
@@ -70,7 +76,7 @@ $(function() {
|
|
70
76
|
|
71
77
|
/* If form is a DELETE, remove abracadabra instance, if not, call tabToNextSelector */
|
72
78
|
if(target.hasClass("abracadabra-delete")) {
|
73
|
-
closeAbracadabra(target, true);
|
79
|
+
closeAbracadabra(target, true, true);
|
74
80
|
abracadabraDeleteMousedown = false;
|
75
81
|
} else {
|
76
82
|
input = $(target).find(".abracadabra-input");
|
@@ -84,7 +90,7 @@ $(function() {
|
|
84
90
|
|
85
91
|
$("body").on("click", ".abracadabra-cancel", function() {
|
86
92
|
if(abracadabraSubmissionInProgress == false) {
|
87
|
-
closeAbracadabra(this, false);
|
93
|
+
closeAbracadabra(this, false, false);
|
88
94
|
}
|
89
95
|
});
|
90
96
|
|
@@ -93,7 +99,7 @@ $(function() {
|
|
93
99
|
if($(this).data("submit-on-blur") == true) {
|
94
100
|
$(this.form).submit();
|
95
101
|
} else {
|
96
|
-
closeAbracadabra(this, false);
|
102
|
+
closeAbracadabra(this, false, false);
|
97
103
|
}
|
98
104
|
}
|
99
105
|
});
|
@@ -112,9 +118,10 @@ $(function() {
|
|
112
118
|
/* Press Escape to cancel */
|
113
119
|
if (e.keyCode == 27)
|
114
120
|
{
|
121
|
+
abracadabraEscapeKeydown = true;
|
115
122
|
e.preventDefault();
|
116
123
|
if(abracadabraSubmissionInProgress == false) {
|
117
|
-
closeAbracadabra(this, false);
|
124
|
+
closeAbracadabra(this, false, false);
|
118
125
|
}
|
119
126
|
}
|
120
127
|
/* /Press Escape to cancel */
|
@@ -132,6 +139,10 @@ $(function() {
|
|
132
139
|
});
|
133
140
|
|
134
141
|
$(".abracadabra").on("click", function() {
|
142
|
+
if($(".abracadabra-container:visible").length) {
|
143
|
+
return false;
|
144
|
+
}
|
145
|
+
|
135
146
|
link = $(this);
|
136
147
|
link.hide();
|
137
148
|
path = link.data("path");
|
@@ -214,7 +225,7 @@ $(function() {
|
|
214
225
|
|
215
226
|
openFormTag = "<form accept-charset=\"UTF-8\" action=\"" + path + "\"" + remote + type + " class=\"form-inline abracadabra-form\" method=\"post\">";
|
216
227
|
hiddenMethodTags = "<div style=\"display:none;\"><input name=\"utf8\" type=\"hidden\" value=\"✓\"><input name=\"_method\" type=\"hidden\" value=\"" + formMethod + "\">" + authToken + "</div>";
|
217
|
-
input = "<input type=\"text\" class=\"form-control abracadabra-input\" id=\"" + inputId + "\" name=\"" + inputName + "\" value=\"" + inputValue + "\"" + tabToNextSelector + submitOnBlur + ">";
|
228
|
+
input = "<input type=\"text\" class=\"form-control abracadabra-input\" id=\"" + inputId + "\" name=\"" + inputName + "\" value=\"" + inputValue + "\" data-original-value=\"" + inputValue + "\"" + tabToNextSelector + submitOnBlur + ">";
|
218
229
|
|
219
230
|
html = "<span class=\"abracadabra-container\">" + openFormTag + hiddenMethodTags;
|
220
231
|
html += "<div class=\"control-group\"><div class=\"abracadabra-input-and-button-wrapper\"><div class=\"abracadabra-input-container\">" + input + deletable + "</div>";
|
data/lib/abracadabra/version.rb
CHANGED