esphinx-rails 1.1.2

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.
Files changed (55) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +21 -0
  4. data/config/environments/production.rb +1 -0
  5. data/config/environments/staging.rb +1 -0
  6. data/config/initializers/assets.rb +7 -0
  7. data/esphinx.gemspec +19 -0
  8. data/lib/assets/javascripts/esphinx/element.js +256 -0
  9. data/lib/assets/javascripts/esphinx/event.js +227 -0
  10. data/lib/assets/javascripts/esphinx/index.js +3 -0
  11. data/lib/assets/javascripts/esphinx/lib/collection.js +51 -0
  12. data/lib/assets/javascripts/esphinx/lib/comparable.js +54 -0
  13. data/lib/assets/javascripts/esphinx/lib/extensions/array.js +541 -0
  14. data/lib/assets/javascripts/esphinx/lib/extensions/function.js +46 -0
  15. data/lib/assets/javascripts/esphinx/lib/extensions/index.js +1 -0
  16. data/lib/assets/javascripts/esphinx/lib/extensions/location.js +111 -0
  17. data/lib/assets/javascripts/esphinx/lib/extensions/map.js +29 -0
  18. data/lib/assets/javascripts/esphinx/lib/extensions/number.js +42 -0
  19. data/lib/assets/javascripts/esphinx/lib/extensions/object.js +502 -0
  20. data/lib/assets/javascripts/esphinx/lib/extensions/string.js +130 -0
  21. data/lib/assets/javascripts/esphinx/lib/extensions/x_path_result.js +31 -0
  22. data/lib/assets/javascripts/esphinx/lib/patterns/gof/flyweight/factory.js +115 -0
  23. data/lib/assets/javascripts/esphinx/lib/patterns/gof/flyweight/flyweight.js +12 -0
  24. data/lib/assets/javascripts/esphinx/lib/patterns/gof/iterator.js +332 -0
  25. data/lib/assets/javascripts/esphinx/lib/patterns/gof/strategies/context.js +42 -0
  26. data/lib/assets/javascripts/esphinx/lib/patterns/gof/strategies/search/graphs/bfs/element.js +78 -0
  27. data/lib/assets/javascripts/esphinx/lib/patterns/gof/strategies/search/graphs/bfs/object.js +83 -0
  28. data/lib/assets/javascripts/esphinx/lib/patterns/gof/strategies/search/graphs/bfs.js +19 -0
  29. data/lib/assets/javascripts/esphinx/lib/patterns/gof/strategies/search/search.js +24 -0
  30. data/lib/assets/javascripts/esphinx/lib/patterns/gof/strategies/search/search_proxy.js +52 -0
  31. data/lib/assets/javascripts/esphinx/lib/patterns/index.js +1 -0
  32. data/lib/assets/javascripts/esphinx/main.js +361 -0
  33. data/lib/assets/javascripts/esphinx/node.js +276 -0
  34. data/lib/assets/javascripts/esphinx/properties/forms.js +161 -0
  35. data/lib/assets/javascripts/esphinx/properties/inputs/text.js +29 -0
  36. data/lib/assets/javascripts/esphinx/property.js +308 -0
  37. data/lib/assets/javascripts/esphinx/query.js +347 -0
  38. data/lib/assets/javascripts/esphinx/samples/sort.js +30 -0
  39. data/lib/assets/javascripts/esphinx/style.js +342 -0
  40. data/lib/assets/javascripts/esphinx/util/ajax.js +152 -0
  41. data/lib/assets/javascripts/esphinx/util/autocomplete.js +356 -0
  42. data/lib/assets/javascripts/esphinx/util/browser.js +66 -0
  43. data/lib/assets/javascripts/esphinx/util/cookie.js +167 -0
  44. data/lib/assets/javascripts/esphinx/util/keyboard.js +110 -0
  45. data/lib/assets/javascripts/esphinx/util/loader.js +84 -0
  46. data/lib/assets/javascripts/esphinx/util/observer.js +58 -0
  47. data/lib/assets/javascripts/esphinx/util/promise.js +127 -0
  48. data/lib/assets/javascripts/esphinx/util/protector.js +142 -0
  49. data/lib/assets/javascripts/esphinx/util/range.js +6 -0
  50. data/lib/assets/javascripts/esphinx/util/scrollbar.js +22 -0
  51. data/lib/esphinx/rails/engine.rb +7 -0
  52. data/lib/esphinx/rails/version.rb +5 -0
  53. data/lib/esphinx-rails.rb +1 -0
  54. data/vendor/assets/javascripts/jquery-2.2.2.min.js +1 -0
  55. metadata +99 -0
@@ -0,0 +1,276 @@
1
+ var
2
+ esPhinx,
3
+ Iterable;
4
+
5
+
6
+ (function($) {
7
+ "use strict";
8
+
9
+ $.extend({
10
+ text: function(text) {
11
+ return $(window.document.createTextNode(text));
12
+ }
13
+ });
14
+
15
+ $.prototype.extend({
16
+
17
+ // <br>|<br\/>
18
+ // text: function() {
19
+ // },
20
+
21
+ insertAfter: function(element) {
22
+ var
23
+ elements = $(element),
24
+
25
+ callback = function(element2Insert) {
26
+ var
27
+ iteratorBlock = function(element) {
28
+ // element = $(element);
29
+ // sibling = element.next();
30
+ // debugger
31
+ // if (sibling.some()) {
32
+ // $(element).insertBefore(sibling);
33
+ // } else {
34
+ // element.parent().append(element);
35
+ // }
36
+ element.parentNode.insertBefore(element2Insert,
37
+ element.nextSibling);
38
+ };
39
+
40
+ elements.each(iteratorBlock);
41
+ };
42
+
43
+ this.each(callback);
44
+
45
+ return this;
46
+ },
47
+
48
+ insertBefore: function(element) {
49
+ var
50
+ elements = $(element),
51
+
52
+ callback = function(element2Insert) {
53
+ var
54
+ iteratorBlock = function(element) {
55
+ element.parentNode.insertBefore(element2Insert, element);
56
+ };
57
+
58
+ elements.each(iteratorBlock);
59
+ };
60
+
61
+ this.each(callback);
62
+
63
+ return this;
64
+ },
65
+
66
+ append: function(node) {
67
+ var
68
+ nodes,
69
+
70
+ callback = function(element) {
71
+ var
72
+ iteratorBlock = function(node) {
73
+ element.appendChild(node);
74
+ };
75
+
76
+ nodes.each(iteratorBlock);
77
+ };
78
+
79
+ nodes = $(node);
80
+ if (nodes.empty()) {
81
+ nodes = $(window.document.createTextNode(node));
82
+ }
83
+
84
+ this.each(callback);
85
+
86
+ return this;
87
+ },
88
+
89
+ prepend: function(node) {
90
+ var
91
+ firstNode,
92
+
93
+ callback = function(element) {
94
+ firstNode = $(element).firstNode();
95
+ if (firstNode.some()) {
96
+ node.insertBefore(firstNode);
97
+ } else {
98
+ $(element).append(node);
99
+ }
100
+ };
101
+
102
+ node = $(node);
103
+ if (node.empty()) {
104
+ node = $(window.document.createTextNode(node));
105
+ }
106
+
107
+ this.each(callback);
108
+
109
+ return this;
110
+ },
111
+
112
+ textContent: function() {
113
+ var
114
+ tagName = this.tagName(),
115
+ node = this.asNode();
116
+
117
+ if (tagName != "pre") {
118
+ return node.textContent.replace(/\n[ \t]*/g, "")
119
+ .replace(/(\n){2,}/g, "");
120
+ }
121
+
122
+ return node.textContent;
123
+ },
124
+
125
+ // "extends?" would make more sense in the relationship between classes
126
+ isA: function(constructor) {
127
+ return this.asNode() instanceof constructor;
128
+ },
129
+
130
+ // remove: function(object, delay = 0) {
131
+ remove: function(object, delay) {
132
+ if (typeof delay != "number") {delay = 0;}
133
+
134
+ var
135
+ self = this,
136
+
137
+ remove = function(element) {
138
+ element.remove();
139
+ },
140
+
141
+ resolveArguments = function() {
142
+ if (typeof object == "number") {
143
+ delay = object;
144
+ object = undefined;
145
+ } else if (typeof delay != "number") {
146
+ delay = 0;
147
+ }
148
+ };
149
+
150
+ resolveArguments();
151
+
152
+ if (object) {
153
+ // recursivity
154
+ $(object).remove(delay);
155
+ } else {
156
+ if (delay) {
157
+ window.setTimeout(function() {
158
+ self.each(remove);
159
+ }, delay);
160
+ } else {
161
+ self.each(remove);
162
+ }
163
+ }
164
+
165
+
166
+ return self;
167
+ },
168
+
169
+ clean: function() {
170
+ var
171
+ callback = function(element) {
172
+ element.innerHTML = null;
173
+ };
174
+
175
+ this.each(callback);
176
+
177
+ return this;
178
+ },
179
+
180
+ hasClass: function(classList) {
181
+ var
182
+ element = $(this.asNode()),
183
+ pattern;
184
+
185
+ if (arguments.length > 1) {
186
+ classList = Array.from(arguments);
187
+ pattern = new RegExp("(?=.*(\\b" + classList
188
+ .join("(?=(\\b| ))))(?=.*(\\b") +
189
+ "(?=(\\b| )))).*", "g");
190
+ } else {
191
+ pattern = new RegExp("(?=.*(\\b" + classList.split(" ")
192
+ .join("(?=(\\b| ))))(?=.*(\\b") +
193
+ "(?=(\\b| )))).*", "g");
194
+ }
195
+
196
+ return pattern.test(element.attribute("class"));
197
+ },
198
+
199
+ is: function(comparedNode) {
200
+ var
201
+ asIterable,
202
+ comparedAsIterable,
203
+ asIterableIterator,
204
+ comparedAsIterableIterator,
205
+ response = false,
206
+
207
+ callback = function(node) {
208
+ var
209
+ iteratorBlock = function(compared) {
210
+ if (node.isEqualNode(compared)) {
211
+ response = true;
212
+ this.finalize();
213
+ asIterableIterator.finalize();
214
+ }
215
+ };
216
+
217
+ if (comparedNode.some()) {
218
+ comparedAsIterable = Array.from(comparedNode);
219
+ comparedAsIterableIterator = Iterable.Proxy
220
+ .new(comparedAsIterable);
221
+ comparedAsIterableIterator
222
+ .each(iteratorBlock);
223
+ }
224
+ };
225
+
226
+ if (Object.hasSameClass(comparedNode, this) ||
227
+ typeof comparedNode == "string" ||
228
+ comparedNode instanceof window.Node ||
229
+ comparedNode instanceof Array) {
230
+ comparedNode = $(comparedNode);
231
+ }
232
+
233
+ if (this.some()) {
234
+ asIterable = this.asArray();
235
+
236
+ asIterableIterator = Iterable.Proxy.new(asIterable);
237
+ asIterableIterator.each(callback);
238
+ }
239
+
240
+ return response;
241
+ }
242
+
243
+ });
244
+
245
+ }(esPhinx));
246
+
247
+ /*$.prototype.ancestors = function(nodeName) {
248
+ var _parents = []
249
+ ,parent = null
250
+ ;
251
+ collection.forEach(function(e) {
252
+ parent = e.parentNode;
253
+ if (nodeName) {
254
+ if (parent.nodeName.toLowerCase() == nodeName) {
255
+ _parents.push(parent);
256
+ } else {
257
+ while (true) {
258
+ parent = parent.parentNode;
259
+ if(parent){
260
+ if(parent.nodeName.toLowerCase() == nodeName) {
261
+ _parents.push(parent);
262
+ break;
263
+ }
264
+ } else {
265
+ break;
266
+ }
267
+ }
268
+ }
269
+ } else {
270
+ if(parent){
271
+ _parents.push(parent);
272
+ }
273
+ }
274
+ });
275
+ return _parents;
276
+ }*/
@@ -0,0 +1,161 @@
1
+ var
2
+ esPhinx;
3
+
4
+
5
+ (function($) {
6
+ "use strict";
7
+
8
+
9
+ $.prototype.extend({
10
+
11
+ // params: function () {
12
+ // var
13
+ // resolvedParams = {},
14
+ // // numbersOnlyPattern = /^[0-9]+(?!.)/,
15
+ // trailPattern = /^[^[]+|[^[]+(?=\])/g,
16
+ // // trailWithoutIndexPattern = /^[^[]+|(?![0-9])[^[]+(?=\])/g,
17
+ // count,
18
+ // trail,
19
+ // trailWithoutIndex,
20
+ // //objectName,
21
+ // //nestedObjectName,
22
+ // index,
23
+ // name,
24
+ // param,
25
+ // key,
26
+ // //merged,
27
+ // attr,
28
+ // nested_attr,
29
+ // attributeName,
30
+
31
+ // resolveParam = function (name, value) {
32
+ // value = value || "";
33
+
34
+ // var
35
+ // structure = name,
36
+ // parsed;
37
+
38
+ // index = structure.split(/\[([0-9]+)/)[1];
39
+
40
+ // structure = "{\"" + structure;
41
+ // // object[nested_object][0-9+][indexed_attr_collection_type][]
42
+ // if (/.+\[.+\]\[[0-9]+\]\[.+\]\[\](?!.)/.test(name)) {
43
+ // structure = structure
44
+ // .replace(/(\]\[(?=.)(?!\]))|(\[(?!\]))/g,
45
+ // "\":{\"").replace(/(\]\[\])$/, "\":[\"" + value +
46
+ // "\"]}}}}");
47
+ // // obj[nested_object][][attr_collection_type][]
48
+ // } else if (/.+\[.+\]\[\]\[.+\]\[\](?!.)/.test(name)) {
49
+ // structure = structure
50
+ // .replace(/\]\[\]\[/, "\":[{\"")
51
+ // .replace(/\[(?![\{\]])/, "\":{\"")
52
+ // .replace(/\]\[\]/, "\":[\"" + value +
53
+ // "\"]}]}}");
54
+ // // below the two more used
55
+ // // obj[nested_object][0-9+][indexed_attr]
56
+ // } else if (/.+\[.+\]\[[0-9]+\]\[.+\](?!.)/.test(name)) {
57
+ // structure = structure
58
+ // .replace(/\]\[(?=.)(?!\])|\[(?!\])/g, "\":{\"")
59
+ // .replace(/\]$/, "\":\"" + value + "\"}}}}");
60
+ // // obj[nested_object][][attr]
61
+ // } else if (/.+\[.+\]\[\]\[.+\](?!.)/.test(name)) {
62
+ // structure = structure
63
+ // .replace(/\]\[\]\[/, "\":[{\"")
64
+ // .replace(/\[(?![\{])/g, "\":{\"")
65
+ // .replace(/\]$/g, "\":\"" + value + "\"}]}}");
66
+ // // indexed_attr_collection_type[0-9+][]
67
+ // } else if (/.+\[[0-9]+\]\[\](?!.)/.test(name)) {
68
+ // structure = structure
69
+ // .replace(/(\]\[(?=.)(?!\]))|(\[(?!\]))/g,
70
+ // "\":{\"").replace(/\]\[\]/, "\":[\"" + value +
71
+ // "\"]}}");
72
+ // // obj[attr_collection_type][]
73
+ // } else if (/.+\[.+\]\[\](?!.)/.test(name)) {
74
+ // structure = structure
75
+ // .replace(/\]\[/, "\":[\"")
76
+ // .replace(/\[(?!\")/g, "\":{\"")
77
+ // .replace(/\]$/g, value + "\"]}}");
78
+ // // obj[attr]
79
+ // } else if (/.+\[.+\](?!.)/.test(name)) {
80
+ // structure = structure
81
+ // .replace(/\[/, "\":{\"")
82
+ // .replace(/\]$/, "\":\"" + value + "\"}}");
83
+ // // attr_collection_type[]
84
+ // } else if (/.+\[\](?!.)/.test(name)) {
85
+ // structure = structure
86
+ // .replace(/\[\]/, "\":[\"" + value + "\"]}");
87
+ // // attr
88
+ // } else {
89
+ // structure += "\":\"" + value + "\"}";
90
+ // }
91
+
92
+ // parsed = JSON.parse(structure);
93
+ // if (parsed) {
94
+ // return parsed;
95
+ // }
96
+ // return false;
97
+ // };
98
+
99
+ // // debugger
100
+
101
+ // // to adapt to:
102
+ // // obj[nested_attr][0-9+][indexed_attr_collection_type][]
103
+ // // obj[nested_attr][][attr_collection_type][]
104
+ // // obj[attr_collection_type][]
105
+ // // attr_collection_type[]
106
+ // this.each(function (form) {
107
+ // if (form instanceof HTMLFormElement) {
108
+ // $.each(form.elements, function (e, i) {
109
+ // name = e.name;
110
+ // if (name) {
111
+
112
+ // count = name.match(trailPattern).length;
113
+
114
+ // if (trailWithoutIndex.length === 1) {
115
+ // attributeName = trail.first();
116
+ // }
117
+
118
+ // param = resolveParam(e.name, e.value);
119
+ // if (param) {
120
+ // key = Object.keys(param)[0];
121
+ // if (resolvedParams[key]) {
122
+ // // talvez seja interessante iterar usando Iterator.each e ir verificando o tipo de objeto que está sendo retornado pelo iterador
123
+ // attr = Object.keys(param[key])[0];
124
+ // if (resolvedParams[key][attr] instanceof
125
+ // Array) {
126
+
127
+ // index = Object
128
+ // .keys(resolvedParams[key][attr])
129
+ // .last();
130
+
131
+ // nested_attr = Object
132
+ // .keys(param[key][attr][0])[0];
133
+
134
+ // if (resolvedParams[key][attr][index][nested_attr]) {
135
+ // param[key][attr] = resolvedParams[key][attr]
136
+ // .concat(param[key][attr]);
137
+ // } else {
138
+ // resolvedParams[key][attr][index] = Object.merge(resolvedParams[key][attr][index], param[key][attr][0]);
139
+ // param[key][attr] = resolvedParams[key][attr];
140
+ // }
141
+ // } else if (resolvedParams[key]
142
+ // [attr] instanceof Object) {
143
+ // param[key][attr][index] = $.Object.merge(resolvedParams[key][attr][index], param[key][attr][index]);
144
+ // param[key][attr] = $.Object.merge(resolvedParams[key][attr], param[key][attr]);
145
+ // }
146
+ // param[key] = Object
147
+ // .merge(resolvedParams[key], param[key]);
148
+ // }
149
+ // resolvedParams = $.Object.merge(resolvedParams, param);
150
+ // }
151
+ // }
152
+ // });
153
+ // }
154
+ // });
155
+
156
+ // return resolvedParams;
157
+ // }
158
+
159
+ });
160
+
161
+ }(esPhinx));
@@ -0,0 +1,29 @@
1
+ var
2
+ esPhinx;
3
+
4
+
5
+ (function($) {
6
+ "use strict";
7
+
8
+
9
+ $.prototype.extend({
10
+
11
+ selectionStart: function() {
12
+ if (this.isA(window.HTMLInputElement)) {
13
+ return this.asNode().selectionStart;
14
+ }
15
+ },
16
+
17
+ selectionEnd: function() {
18
+ if (this.isA(window.HTMLInputElement)) {
19
+ return this.asNode().selectionEnd;
20
+ }
21
+ },
22
+
23
+ cursorPosition: function() {
24
+ return this.selectionStart();
25
+ }
26
+
27
+ });
28
+
29
+ }(esPhinx));