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,110 @@
1
+ var
2
+ esPhinx;
3
+
4
+ (function($) {
5
+ "use strict";
6
+
7
+ $.extend({
8
+
9
+ deleteKeysPattern: function() {
10
+ var
11
+ stringPattern = "",
12
+
13
+ callback = function(key) {
14
+ stringPattern += key + "|";
15
+ };
16
+
17
+ ["Backspace", "Delete"].forEach(callback);
18
+
19
+ return stringPattern.slice(0, stringPattern.length -1);
20
+ },
21
+
22
+ functionKeysPattern: function() {
23
+ var
24
+ stringPattern = "",
25
+ i = 0;
26
+
27
+ while (i++ <= 11) {
28
+ if(i < 12) {
29
+ stringPattern += "F" + i + "|";
30
+ } else {
31
+ stringPattern += "F" + i;
32
+ }
33
+ }
34
+
35
+ return stringPattern.slice(0, stringPattern.length -1);
36
+ },
37
+
38
+ editKeysPattern: function() {
39
+ var
40
+ stringPattern = "",
41
+
42
+ callback = function(key) {
43
+ stringPattern += key + "|";
44
+ };
45
+
46
+ ["Enter", "Insert"].forEach(callback);
47
+
48
+ return stringPattern.slice(0, stringPattern.length -1);
49
+ },
50
+
51
+ modifierKeysPattern: function() {
52
+ var
53
+ stringPattern = "",
54
+
55
+ callback = function(key) {
56
+ stringPattern += key + "|";
57
+ };
58
+
59
+ ["Shift", "Control", "Alt", "AltGraph"].forEach(callback);
60
+
61
+ return stringPattern.slice(0, stringPattern.length -1);
62
+ },
63
+
64
+ navigationKeysPattern: function() {
65
+ var
66
+ stringPattern = "",
67
+
68
+ directionalIteratorBlock = function(key) {
69
+ stringPattern += "Arrow" + key + "|";
70
+ },
71
+
72
+ horizontalDirectionalIteratorBlock = function(key) {
73
+ stringPattern += "Page" + key + "|";
74
+ },
75
+
76
+ callback = function(key) {
77
+ stringPattern += key + "|";
78
+ };
79
+
80
+ ["Left", "Right", "Up", "Down"].forEach(directionalIteratorBlock);
81
+
82
+ ["Up", "Down"].forEach(horizontalDirectionalIteratorBlock);
83
+
84
+ ["Home", "End"].forEach(callback);
85
+
86
+ return stringPattern.slice(0, stringPattern.length -1);
87
+ },
88
+
89
+ systemKeysPattern: function() {
90
+ var
91
+ stringPattern = "",
92
+
93
+ callback = function(key) {
94
+ stringPattern += key + "|";
95
+ };
96
+
97
+ ["Escape", "Pause"].forEach(callback);
98
+
99
+ return stringPattern.slice(0, stringPattern.length -1);
100
+ },
101
+
102
+ nonCharacterKeysPattern: function() {
103
+ return $.systemKeysPattern() + "|" + $.navigationKeysPattern() +
104
+ "|" + $.modifierKeysPattern() + "|" + $.editKeysPattern() + "|" +
105
+ $.functionKeysPattern();
106
+ }
107
+
108
+ });
109
+
110
+ })(esPhinx);
@@ -0,0 +1,84 @@
1
+ // talvez o problema possa ser resolvido com funções assíncronas. Da atual forma não funciona porque linha por linha do arquivo é carregada sem que o outro arquivo chamado por getScript esteja carregado.
2
+
3
+ var
4
+ esPhinx;
5
+
6
+
7
+ (function($) {
8
+ "use strict";
9
+
10
+ // var
11
+ // // aparentemente não será necessário
12
+ // promises = [],
13
+
14
+ // promise = function(src) {
15
+ // if (promises.indexOf(src) < 0) {
16
+ // promises.unshift(src);
17
+ // }
18
+ // };
19
+
20
+
21
+ $.extend({
22
+
23
+ config: {
24
+ rootPath: "/",
25
+ loadPath: []
26
+ },
27
+
28
+ getScript: function(src) {
29
+ var
30
+ // script,
31
+ first = $("script").first(),
32
+
33
+ // resetLoadPath = function() {
34
+ // $.config.loadPath = [];
35
+ // },
36
+
37
+ resolvePath = function(path) {
38
+ return path.replace(/^\/*/, "/").replace(/\/+$/, "");
39
+ },
40
+
41
+ joinPaths = function(names) {
42
+ var
43
+ path = "",
44
+ args = Array.from(arguments),
45
+
46
+ callback = function(v) {
47
+ path += resolvePath(v);
48
+ };
49
+
50
+ args.forEach(callback);
51
+
52
+ return path;
53
+ },
54
+
55
+ withoutExtension = function(src) {
56
+ return src.replace(/(\..*)/, "");
57
+ },
58
+
59
+ resolveSrc = function(src) {
60
+ if (src.match(/(\.js)$/i)) {
61
+ return src;
62
+ }
63
+
64
+ return src + ".js";
65
+ };
66
+
67
+ // o loadPath pode ser iterado para fazer a verificação
68
+ src = joinPaths($.config.rootPath, withoutExtension(src));
69
+
70
+ // debugger
71
+ if (!$("script[src^=\"" + src + "\"]").some()) {
72
+ // debugger
73
+ $("<script></script>")
74
+ // resolver com options
75
+ // .attribute("defer", "defer")
76
+ .attribute("async", "async")
77
+ .attribute("src", resolveSrc(src))
78
+ .insertBefore(first);
79
+ }
80
+ }
81
+
82
+ });
83
+
84
+ }(esPhinx));
@@ -0,0 +1,58 @@
1
+ var
2
+ esPhinx;
3
+
4
+
5
+ (function($) {
6
+ "use strict";
7
+
8
+ $.prototype.extend({
9
+
10
+ observe: function(options, callback) {
11
+ var
12
+ observer,
13
+
14
+ block = function(mutations) {
15
+ callback.call(observer, mutations);
16
+ },
17
+
18
+ iteratorBlock = function(node) {
19
+ observer = new window.MutationObserver(block);
20
+
21
+ observer.observe(node, options);
22
+ };
23
+
24
+ if (!callback && typeof options == "function") {
25
+ callback = options;
26
+ }
27
+
28
+ if (options) {
29
+ if (!options.childList ||
30
+ typeof options.childList != "boolean") {
31
+ options.childList = true;
32
+ }
33
+
34
+ if (!options.subtree ||
35
+ typeof options.subtree != "boolean") {
36
+ options.subtree = true;
37
+ }
38
+
39
+ if (!options.characterData ||
40
+ typeof options.characterData != "boolean") {
41
+ options.characterData = true;
42
+ }
43
+
44
+ // if (!options.attributes ||
45
+ // typeof options.attributes != "boolean") {
46
+ // options.attributes = false;
47
+ // }
48
+
49
+ }
50
+
51
+ this.each(iteratorBlock);
52
+
53
+ return this;
54
+ }
55
+
56
+ });
57
+
58
+ }(esPhinx));
@@ -0,0 +1,127 @@
1
+ var
2
+ esPhinx;
3
+
4
+
5
+ (function($) {
6
+ "use strict";
7
+
8
+ $.extend({
9
+ Promise: {}
10
+ });
11
+
12
+ $.Extender.extend($.Promise, true, {
13
+ new: function(options, callbackUntil) {
14
+ var
15
+ _accomplishResponse,
16
+ _reject,
17
+ whenReject,
18
+ status,
19
+ promise,
20
+ currentTimeout,
21
+ self = this,
22
+ ConstructorReference = $.Promise.new,
23
+
24
+ resolveArguments = function() {
25
+ if (typeof options == "function") {
26
+ callbackUntil = options;
27
+ options = {};
28
+ }
29
+
30
+ if (typeof options.onAccomplish != "function") {
31
+ options.onAccomplish = function() {};
32
+ }
33
+ },
34
+
35
+ accomplish = function(response) {
36
+ // "fulfilled"
37
+ status = "resolved";
38
+ _accomplishResponse = response;
39
+ },
40
+
41
+ start = function(callbackUntil, options) {
42
+ if (typeof options.defer != "number") {
43
+ options.defer = 0;
44
+ }
45
+
46
+ var
47
+ loop = function(_accomplish, _reject, callbackUntil,
48
+ options) {
49
+
50
+ currentTimeout = window.setTimeout(function() {
51
+ if (typeof callbackUntil != "function" ||
52
+ (options.defer &&
53
+ typeof callbackUntil != "function")) {
54
+ _accomplish();
55
+ } else {
56
+ options.defer = 0;
57
+ callbackUntil.call(self, accomplish);
58
+ // returns the control for the user
59
+ switch (status) {
60
+ case "resolved": {
61
+ _accomplish(_accomplishResponse);
62
+ }
63
+ break;
64
+ default: {
65
+ loop(_accomplish, _reject,
66
+ callbackUntil, options);}
67
+ }
68
+ }
69
+ }, options.defer);
70
+ };
71
+
72
+ promise = new Promise(function(_accomplish, reject) {
73
+ _reject = reject;
74
+ loop(_accomplish, reject, callbackUntil, options);
75
+ });
76
+
77
+ promise.then(
78
+ // response comes from original Promise object
79
+ function(r) {
80
+ options.onAccomplish(r);
81
+ },
82
+
83
+ function() {
84
+ whenReject();
85
+ }
86
+ );
87
+ };
88
+
89
+ if (!(this instanceof ConstructorReference)) {
90
+ return new ConstructorReference(options, callbackUntil);
91
+ }
92
+
93
+ resolveArguments(callbackUntil, options);
94
+
95
+ start(callbackUntil, options);
96
+
97
+ this.origin = function() {
98
+ // to work with async functions
99
+ return promise;
100
+ };
101
+
102
+ this.break = function(run) {
103
+ if (typeof run != "function") {
104
+ run = function(){};
105
+ }
106
+
107
+ whenReject = run;
108
+
109
+ clearTimeout(currentTimeout);
110
+ _reject();
111
+ };
112
+
113
+ this.catchException = function(run) {
114
+ if (typeof run != "function") {
115
+ run = function(){};
116
+ }
117
+
118
+ promise.catch(run);
119
+
120
+ return this;
121
+ };
122
+
123
+ return this;
124
+ }
125
+ });
126
+
127
+ })(esPhinx);
@@ -0,0 +1,142 @@
1
+ var
2
+ esPhinx;
3
+
4
+
5
+ (function($) {
6
+ "use strict";
7
+
8
+ var
9
+ _options,
10
+ _eventCollector,
11
+
12
+ isDeleteKey = function(e) {
13
+ switch (e.key) {
14
+ case "Backspace":
15
+ return true;
16
+
17
+ case "Delete":
18
+ return true;
19
+ }
20
+
21
+ return false;
22
+ },
23
+
24
+ listener = function(e) {
25
+ if (typeof _eventCollector == "function") {
26
+ _eventCollector(e);
27
+ }
28
+
29
+ var
30
+ i;
31
+
32
+ if (_options) {
33
+ if (_options.acceptDelete == true) {
34
+ if (isDeleteKey(e)) {
35
+ return false;
36
+ }
37
+ }
38
+
39
+ if (_options.exceptions) {
40
+ if (isDeleteKey(e)) {
41
+ return false;
42
+ }
43
+
44
+ if (_options.exceptions
45
+ .test(e.key)) {
46
+ return false;
47
+ }
48
+ if (e.shiftKey) {
49
+ return false;
50
+ }
51
+ } else {
52
+ if (e.shiftKey) {
53
+ switch (e.key) {
54
+ case ("Insert"):
55
+ return false;
56
+ }
57
+ }
58
+ }
59
+ }
60
+
61
+ for (i = 1; i <= 12; i++) {
62
+ if (e.key == ("F" + i)) {
63
+ return false;
64
+ }
65
+ }
66
+
67
+ switch (e.key) {
68
+ case "ArrowLeft":
69
+ return false;
70
+
71
+ case "ArrowRight":
72
+ return false;
73
+
74
+ case "ArrowUp":
75
+ return false;
76
+
77
+ case "ArrowDown":
78
+ return false;
79
+ }
80
+
81
+ switch (e.key) {
82
+ case "Home":
83
+ return false;
84
+
85
+ case "End":
86
+ return false;
87
+
88
+ case "PageUp":
89
+ return false;
90
+
91
+ case "PageDown":
92
+ return false;
93
+
94
+ case "AltGraph":
95
+ return false;
96
+
97
+ case "Enter":
98
+ return false;
99
+ }
100
+
101
+ if (e.ctrlKey) {
102
+ switch (e.key) {
103
+ case "a":
104
+ return false;
105
+
106
+ case "c":
107
+ return false;
108
+
109
+ case "v":
110
+ return false;
111
+ }
112
+ }
113
+
114
+ e.preventDefault();
115
+ };
116
+
117
+ $.prototype.extend(true, {
118
+
119
+ preventKeys: function(options, eventCollector) {
120
+ _options = options || {};
121
+ _eventCollector = eventCollector;
122
+
123
+ var
124
+ callback = function(node) {
125
+ node.removeEventListener("keydown", listener,
126
+ (_options.capture || false)
127
+ );
128
+
129
+ node.addEventListener("keydown", listener,
130
+ (_options.capture || false)
131
+ );
132
+
133
+ };
134
+
135
+ this.each(callback);
136
+
137
+ return this;
138
+ }
139
+
140
+ });
141
+
142
+ }(esPhinx));