datatable_state 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 62f8861ff6bc31e2f80a6d757a8887bf867bb581
4
- data.tar.gz: f7d30c335f1de063739d2052801034934841747e
3
+ metadata.gz: 59a05ee6a937b7c6a691a681da758edf63ef7ff6
4
+ data.tar.gz: 4fe71b58282946e66c28ff49b05aa31d950d78ac
5
5
  SHA512:
6
- metadata.gz: 6d52f9eac4859fde6e0681b70bc35ae073af7077d8daa5b25a160a6a5e9b5cbc5d6bce363d645df00e6b667211cbeb3cd30bfd5e33999208f6cc8e64cabd1542
7
- data.tar.gz: 7f00cb0319fa1d0b9b0a10aaded4188eedaa5936354838fe838bd0b97bbf86d5f153858969a5b0ff91cbfd82f030aa079fe40320f6ddc67304a1d78e9463c3b6
6
+ metadata.gz: 8d75342267e5cd5b78a49d360284b7e20060575384c5ba664c2ac705826a5b942394fe00b60821171e88a7b3ac39b19a0d8e6bdcdcfa0823b22cc3dced342562
7
+ data.tar.gz: b171ddf06364a007f4dd7dbff00f30ad017585858e1fec5ecb8d49d00406c445536387ad78808cb3d9531f60308457d65714985f3366b72184ad7d2d297d8bc8
@@ -0,0 +1,61 @@
1
+ datatableStateLoad = function() {
2
+ var o;
3
+ try {
4
+ $.ajax({
5
+ "url": "/datatable_states/store/load",
6
+ "data": { datatable_state: {
7
+ path: location.pathname.replace(/^.*\//, '') }
8
+ },
9
+ "async": false,
10
+ "dataType": "json",
11
+ "success": function (json) {
12
+ o = json;
13
+ }
14
+ });
15
+ this.loadedState = o;
16
+ return o;
17
+ } catch (e) {
18
+ }
19
+ }
20
+
21
+ datatableStateSave = function(settings, data) {
22
+ try {
23
+ var loadedState = jQuery.extend({}, this.loadedState);
24
+ var savingState = jQuery.extend({}, data);
25
+ delete loadedState["time"];
26
+ delete savingState["time"];
27
+ // don't save unmodified state
28
+ if (JSON.stringify(savingState) === JSON.stringify(loadedState)) {
29
+ return false;
30
+ }
31
+ $.ajax({
32
+ "url": "/datatable_states/store/save",
33
+ "data": { datatable_state: {
34
+ path: location.pathname.replace(/^.*\//, ''),
35
+ state: JSON.stringify(data) }
36
+ },
37
+ "dataType": "json",
38
+ "method": "POST",
39
+ "success": function () {
40
+ }
41
+ });
42
+ } catch (e) {
43
+ }
44
+ }
45
+
46
+ datatableStateDefaultPageLength = function() {
47
+ var table = $('.datatable');
48
+ if (table.data('displayLength')) {
49
+ return table.data('displayLength');
50
+ } else if (table.hasClass('datatable_ajax')) {
51
+ return 100;
52
+ } else {
53
+ return -1;
54
+ }
55
+ }
56
+
57
+ datatableStateSkipPerColumn = function(settings, data) {
58
+ $.each(data["columns"], function(i, column) {
59
+ column["search"]["search"] = "";
60
+ });
61
+ }
@@ -9,7 +9,7 @@ module DatatableState
9
9
  if @store
10
10
  @store.update_attributes(params[:datatable_state])
11
11
  else
12
- @store = DatatableState.new(params[:datatable_state])
12
+ @store = Store.new(params[:datatable_state])
13
13
  @store.user = current_user
14
14
  end
15
15
 
@@ -1,4 +1,9 @@
1
1
  module DatatableState
2
2
  module ApplicationHelper
3
+ def saved_display_length
4
+ saved_state = Store.find_by_user_id_and_path(current_user.id,
5
+ request.path.split('/').last)
6
+ "data-display-length=#{JSON.parse(saved_state.state)['length']}" if saved_state
7
+ end
3
8
  end
4
9
  end
@@ -1,3 +1,3 @@
1
1
  module DatatableState
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datatable_state
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - denispeplin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-11 00:00:00.000000000 Z
11
+ date: 2014-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -49,6 +49,7 @@ files:
49
49
  - README.md
50
50
  - Rakefile
51
51
  - app/assets/javascripts/datatable_state/application.js
52
+ - app/assets/javascripts/datatable_state/store.js
52
53
  - app/assets/stylesheets/datatable_state/application.css
53
54
  - app/controllers/datatable_state/application_controller.rb
54
55
  - app/controllers/datatable_state/store_controller.rb