SrBuj 0.6.3 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YjU5NGYwYmI2OGJkZWE0ZjI1ODljNmJhODYyMmY0ZTVhMmUyYTc1Zg==
4
+ ZTVjMWVlMWVhNWU4NzIzMmU4Y2NjZjMyOTc3ODJmYTk4YzQxY2JlOQ==
5
5
  data.tar.gz: !binary |-
6
- NGNiYjdjYjhiY2I5NWNhYTk0NDdkMDIwYzBkNWE4MTA4YmNjMjIzMQ==
6
+ ODQxYThjYWY1NTU4NzUzNzJlZTNmNjVmY2YzNGI1OWNkNjcyNDNjNQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- Nzg4MGU2MjdjYzg3Y2EwOTUyYWMxOTVkZTIzYjNkYTQ5NzAxN2ExYzdjMGZk
10
- Yjc4ZDM2YmZjOTM2YjYxOWJiMzE1Njk2ODJlYWQ2YjllMGEyNGM4YmI3OWRi
11
- OWVjODFmOTNjZjE1M2ViYzg5MmI4OGI5MzdkMjA3NTQxMTFkNzU=
9
+ ZjdhYmE4NTkxZWY0ZTVmNzEyNWYzZGZjMzMxZmIzNTFiMGI5M2M4NmUzZjQx
10
+ MTY2OGY1M2M3ZTEyNzc0NTYyZmMzOTNkYWIxODEwYTA1N2Q0ZTNhNTM5OWFj
11
+ ODE4YzFlN2Y1NDE3ODkxMDIyODBkYWRhMjM3NzIyYjE4MDc2YzM=
12
12
  data.tar.gz: !binary |-
13
- Mzk1YTkwNTgwM2JjYzQwNjZkY2VjNjkyMzc5MDE5YzA0ZTYyYzAwMDc2YmQy
14
- ZDQ0MDg2YzI1YjIwMGY4NjEyZWNhMzBlOTZmZGE5M2M5MTdmZGNiYTU4Mjky
15
- NDkxYjY4ZGJhMzJhZGFlNmE5YTdiZDE3NDNlYWE3ODAxZWE0YjM=
13
+ MDA2ZTFmZTU4ZGUzZWUyYmNmNjZiZGU5NjRmZjEwYzhjYmFhZGVhOTg2Nzhh
14
+ MmMzM2UxYTUwNjhhNzA3Y2Y3OWEwNmYxODBmODNmY2ZhMjNmYzM5MTFiOGQx
15
+ YTg2NDdmM2FjZGZkYzkxZGI3YTVlNTM4ZWQ0Yjk4ZDQ1YTI3Y2E=
@@ -1,3 +1,3 @@
1
1
  module SrBuj
2
- VERSION = '0.6.3'
2
+ VERSION = '0.7.0'
3
3
  end
@@ -19,7 +19,7 @@
19
19
  };
20
20
  var SrBuj;
21
21
  $.SrBuj = SrBuj = {
22
- version: '0.6.3',
22
+ version: '0.7.0',
23
23
  selector: '[data-remote][data-target]',
24
24
  defaults: {
25
25
  '$el': undefined,
@@ -32,6 +32,8 @@
32
32
  custom: false,
33
33
  replace: false,
34
34
  callback: false,
35
+ url: undefined,
36
+ push: false,
35
37
  jqueryselector: false
36
38
  },
37
39
  changeDom: function (method, $target, data) {
@@ -61,6 +63,18 @@
61
63
  }
62
64
  }
63
65
  },
66
+ getUrl: function($el){
67
+ var url = $el.attr('href') || $el.attr('action');
68
+ if((/^[\/#](\w)/).test(url)){
69
+ return url
70
+ }
71
+ },
72
+ needToChangeUrl: function(url){
73
+ return !((window.document.location.origin + url) == window.document.location.href)
74
+ },
75
+ browserSupportsPushState: function(){
76
+ return window.history && window.history.pushState && window.history.replaceState
77
+ },
64
78
  getVerb: function ($el) {
65
79
  var respond_as = $el.data('respond-as'),
66
80
  dataVerb = $el.data('method'),
@@ -92,7 +106,9 @@
92
106
  'modal': $el.data('modal'),
93
107
  'wrapper': $el.data('error'),
94
108
  'custom': $el.data('custom'),
95
- 'replace': $el.data('replace')
109
+ 'replace': $el.data('replace'),
110
+ 'url': $.SrBuj.getUrl($el),
111
+ 'push': $el.data('push')
96
112
  };
97
113
  user_options = user_options || {};
98
114
  for (var attr in this.defaults) {
@@ -120,12 +136,16 @@
120
136
  }
121
137
  }
122
138
  }
139
+ if(options.url && options.push && $.SrBuj.needToChangeUrl(options.url) && $.SrBuj.browserSupportsPushState() ){
140
+ window.history.pushState({ SrBuj: true }, '', options.url)
141
+ }
123
142
  if (options.callback) {
124
143
  var callback = $.SrBuj.kindOfCallback(options.callback);
125
144
  if (callback) {
126
145
  callback.apply(this, [e, data, status]);
127
146
  }
128
147
  }
148
+
129
149
  }
130
150
  },
131
151
 
@@ -138,7 +158,7 @@
138
158
  if (error) {
139
159
  $.SrBuj.changeDom('ERROR', $error, data.responseText);
140
160
  } else {
141
- throw 'cant find data-error on element' + e.target;
161
+ throw 'cant find data-error on element ' + e.target + ' maybe content_type missing on response?';
142
162
  }
143
163
 
144
164
  },
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: SrBuj
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - gagoar
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-18 00:00:00.000000000 Z
11
+ date: 2013-05-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler