SrBuj 0.6.3 → 0.7.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 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