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.
- checksums.yaml +7 -0
- data/LICENSE.txt +22 -0
- data/README.md +39 -0
- data/lib/kladr-rails/engine.rb +6 -0
- data/lib/kladr-rails/railtie.rb +6 -0
- data/lib/kladr-rails/version.rb +5 -0
- data/lib/kladr-rails.rb +9 -0
- data/vendor/assets/javascripts/kladr/core.js +163 -0
- data/vendor/assets/javascripts/kladr/index.js +3 -0
- data/vendor/assets/javascripts/kladr/kladr.js +1097 -0
- data/vendor/assets/javascripts/kladr/kladr_zip.js +63 -0
- data/vendor/assets/stylesheets/kladr/index.css +3 -0
- data/vendor/assets/stylesheets/kladr/kladr.css +64 -0
- metadata +70 -0
@@ -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,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: []
|