kladr-rails 0.9.0

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.
@@ -0,0 +1,63 @@
1
+ (function ($) {
2
+ $.fn.kladrZip = function (selector) {
3
+ this.keydown(function (e) {
4
+ var key = e.charCode || e.keyCode || 0,
5
+ allow = (
6
+ key == 8 ||
7
+ key == 9 ||
8
+ key == 13 ||
9
+ key == 46 ||
10
+ key == 110 ||
11
+ key == 190 ||
12
+ (key >= 35 && key <= 40) ||
13
+ (key >= 96 && key <= 105)
14
+ );
15
+
16
+ if ($(this).val().length >= 6) {
17
+ return allow;
18
+ }
19
+
20
+ return (allow || (key >= 48 && key <= 57));
21
+ });
22
+
23
+ this.keyup(function () {
24
+ var $this = $(this),
25
+ zip = $this.val();
26
+
27
+ if (!zip) {
28
+ error(false);
29
+ return;
30
+ }
31
+
32
+ $.kladr.api({
33
+ type: $.kladr.type.building,
34
+ zip: zip,
35
+ withParents: true,
36
+ limit: 1
37
+ }, function (objs) {
38
+ var obj = objs.length && objs[0];
39
+ objs = [];
40
+
41
+ if (obj) {
42
+ error(false);
43
+
44
+ if (obj.parents) {
45
+ objs = objs.concat(obj.parents);
46
+ }
47
+
48
+ objs.push(obj);
49
+ $.kladr.setValues(objs, selector);
50
+ }
51
+ else {
52
+ error(true);
53
+ }
54
+ });
55
+
56
+ function error(er) {
57
+ er ? $this.addClass('kladr-error') : $this.removeClass('kladr-error');
58
+ }
59
+ });
60
+
61
+ return this;
62
+ };
63
+ })(jQuery);
@@ -0,0 +1,3 @@
1
+ /*
2
+ *= require kladr/kladr
3
+ */
@@ -0,0 +1,64 @@
1
+ /*
2
+ *= require form_with_map
3
+ */
4
+
5
+ .kladr-error {
6
+ color: #cb3e27;
7
+ }
8
+
9
+ #kladr_autocomplete ul {
10
+ position: absolute;
11
+ display: block;
12
+ margin: 0;
13
+ padding: 0;
14
+ border: 1px solid #c4c4c4;
15
+ background-color: white;
16
+ z-index: 9999;
17
+ overflow-x: hidden;
18
+ overflow-y: auto;
19
+ min-width: 200px;
20
+ max-height: 420px;
21
+ color: #313131;
22
+ }
23
+
24
+ #kladr_autocomplete li {
25
+ display: list-item;
26
+ list-style-type: none;
27
+ margin: 0;
28
+ padding: 8px 10px;
29
+ overflow: hidden;
30
+ white-space: nowrap;
31
+ text-overflow: ellipsis;
32
+ }
33
+
34
+ #kladr_autocomplete li + li {
35
+ border-top: 1px solid #ededed;
36
+ }
37
+
38
+ #kladr_autocomplete li:hover {
39
+ background-color: #f2f2f2;
40
+ cursor: pointer;
41
+ }
42
+
43
+ #kladr_autocomplete li.active {
44
+ background-color: #e9e9e9;
45
+ }
46
+
47
+ #kladr_autocomplete a {
48
+ text-decoration: none;
49
+ }
50
+
51
+ #kladr_autocomplete strong {
52
+ color: #038ebd;
53
+ }
54
+
55
+ #kladr_autocomplete .spinner {
56
+ position: absolute;
57
+ display: block;
58
+ margin: 0;
59
+ padding: 0;
60
+ width: 16px;
61
+ height: 16px;
62
+ background: transparent url("./images/spinner.png") center center no-repeat;
63
+ z-index: 9999;
64
+ }
metadata ADDED
@@ -0,0 +1,70 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kladr-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.0
5
+ platform: ruby
6
+ authors:
7
+ - Nikolay Moskvin
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-12-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '10.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '10.3'
27
+ description: Kladr API for Rails 3/4 Asset Pipeline
28
+ email:
29
+ - moskvin@sibext.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - LICENSE.txt
35
+ - README.md
36
+ - lib/kladr-rails.rb
37
+ - lib/kladr-rails/engine.rb
38
+ - lib/kladr-rails/railtie.rb
39
+ - lib/kladr-rails/version.rb
40
+ - vendor/assets/javascripts/kladr/core.js
41
+ - vendor/assets/javascripts/kladr/index.js
42
+ - vendor/assets/javascripts/kladr/kladr.js
43
+ - vendor/assets/javascripts/kladr/kladr_zip.js
44
+ - vendor/assets/stylesheets/kladr/index.css
45
+ - vendor/assets/stylesheets/kladr/kladr.css
46
+ homepage: https://github.com/sibext/kladr-rails
47
+ licenses:
48
+ - MIT
49
+ metadata: {}
50
+ post_install_message:
51
+ rdoc_options: []
52
+ require_paths:
53
+ - lib
54
+ required_ruby_version: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
59
+ required_rubygems_version: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ requirements: []
65
+ rubyforge_project:
66
+ rubygems_version: 2.4.2
67
+ signing_key:
68
+ specification_version: 4
69
+ summary: Kladr is a JavaScript plugin for retrieving address details from Russia
70
+ test_files: []