kladr-rails 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: []