marty 2.0.9 → 2.1.0

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: cc93810ae5dd275a46e3126262f32d3b1801eb0c
4
- data.tar.gz: ec26658316552eb0be436ece29dcc3e5954604cb
3
+ metadata.gz: 74cf23a65bfc74eca6990825fc5cd0e3498ce1ee
4
+ data.tar.gz: bbe239541fa78e0520ba9556ce2e54a6bdcd316d
5
5
  SHA512:
6
- metadata.gz: c0a913f766620e18ab38ea070872b071cc5f4581e9eb0819f62fe82de458d166746978826998df9e7cf055256d94655f9dfffa91965840a5dc0ae6faeb1f2abe
7
- data.tar.gz: a377aa7395151b4a7588ff59bba50c91ecafc65a027f77abfc04e98db1262638850c9877b5ce7f388e68f162e1d2cfeef35355e91a40150ba33b36e844ae9212
6
+ metadata.gz: 7b83dbaa63058e3cb97bf2075b41630737fe3caed36b5f006b70c34e2dc743dc57333064b5952cd3e933b1b67a81309001e688944d0f0de4eb5a558d5ce27db6
7
+ data.tar.gz: a8a857fcf340d133ecf3a9248aad919630f8f11c480b3301abf7df896a70e7bb4811fddef838b4787bfe6c08d95863a33eb88045fe50b29c14e158ede8484b6c
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- marty (2.0.8)
4
+ marty (2.1.0)
5
5
  axlsx (= 3.0.0pre)
6
6
  coderay
7
7
  delorean_lang (~> 0.3.37)
@@ -39,6 +39,12 @@ class Marty::Grid < ::Netzke::Grid::Base
39
39
  }});
40
40
  }
41
41
  JS
42
+
43
+ c.clear_filters = l(<<-JS)
44
+ function() {
45
+ this.filters.clearFilters();
46
+ }
47
+ JS
42
48
  end
43
49
 
44
50
  component :view_window do |c|
@@ -71,6 +77,17 @@ class Marty::Grid < ::Netzke::Grid::Base
71
77
  false
72
78
  end
73
79
 
80
+ # To add :clear_filters to your app's bbar, add the following lines:
81
+ # def default_bbar
82
+ # [:clear_filters] + super
83
+ # end
84
+
85
+ action :clear_filters do |a|
86
+ a.text = "X"
87
+ a.tooltip = "Clear filters"
88
+ a.handler = :clear_filters
89
+ end
90
+
74
91
  def get_json_sorter(json_col, field)
75
92
  lambda do |r, dir|
76
93
  r.order("#{json_col} ->> '#{field}' " + dir.to_s)
@@ -1,14 +1,77 @@
1
1
  Ext.define('Netzke.Grid.EventHandlers', {
2
2
  override: 'Netzke.Grid.EventHandlers',
3
- netzkeHandleItemdblclick: function(view, record){
3
+ netzkeHandleItemdblclick: function(view, record) {
4
4
  if (this.editsInline) return; // inline editing is handled elsewhere
5
5
 
6
+ // MONKEY: add view in form capability
6
7
  var has_perm = (this.permissions || {});
7
8
  if (has_perm.read !== false && !has_perm.update) {
8
9
  this.doViewInForm(record);
9
- }
10
- else if (has_perm.update !== false) {
10
+ } else if (has_perm.update !== false) {
11
11
  this.doEditInForm(record);
12
12
  }
13
13
  },
14
+
15
+ netzkeReloadStore: function() {
16
+ var store = this.getStore();
17
+
18
+ // MONKEY: add netzkereload event on store
19
+ store.fireEvent('netzkereload');
20
+
21
+ // NETZKE'S HACK to work around buffered store's buggy reload()
22
+ if (!store.lastRequestStart) {
23
+ store.load();
24
+ } else store.reload();
25
+ },
26
+ });
27
+
28
+ Ext.define('Ext.toolbar.Paging', {
29
+ override: 'Ext.toolbar.Paging',
30
+
31
+ handleRefresh: Ext.emptyFn,
32
+
33
+ doRefresh: function() {
34
+ var me = this,
35
+ current = me.store.currentPage;
36
+
37
+ // MONKEY: add netzkerefresh to ExtJS paging toolbar refresh
38
+ // as beforechange is too generic
39
+ me.store.fireEvent('netzkerefresh', me);
40
+
41
+ if (me.fireEvent('beforechange', me, current) !== false) {
42
+ me.store.loadPage(current);
43
+
44
+ me.handleRefresh();
45
+ }
46
+ }
47
+ });
48
+
49
+ Ext.define('Netzke.Grid.Columns', {
50
+ override: 'Netzke.Grid.Columns',
51
+ netzkeNormalizeAssociationRenderer: function(c) {
52
+ var passedRenderer = c.renderer, // renderer we got from netzkeNormalizeRenderer
53
+ assocValue;
54
+ c.scope = this;
55
+ c.renderer = function(value, a, r, ri, ci, store, view){
56
+ var column = view.headerCt.items.getAt(ci),
57
+ editor = column.getEditor && column.getEditor(),
58
+
59
+ /* MONKEY: use findRecordByValue instead of findRecord to remedy inline editing temporarily
60
+ changing N/A columns to the recently changed value.
61
+ */
62
+ recordFromStore = editor && editor.isXType('combobox') && editor.findRecordByValue(value),
63
+ renderedValue;
64
+
65
+ if (recordFromStore) {
66
+ renderedValue = recordFromStore.get('text');
67
+ } else if ((assocValue = (r.get('association_values') || {})[c.name]) !== undefined) {
68
+ renderedValue = (assocValue == undefined) ? c.emptyText : assocValue;
69
+ } else {
70
+ renderedValue = value;
71
+ }
72
+
73
+ return passedRenderer ? passedRenderer.call(this, renderedValue) : renderedValue;
74
+ };
75
+ },
14
76
  });
77
+
data/lib/marty/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Marty
2
- VERSION = "2.0.9"
2
+ VERSION = "2.1.0"
3
3
  end
@@ -0,0 +1,17 @@
1
+ module Marty::Diagnostic; class Connections < Base
2
+ self.aggregatable = false
3
+ diagnostic_fn do
4
+ conns = Node.get_postgres_connections[Database.db_name].
5
+ sort_by{|h| [h['application_name'], h['pid'], h['client_addr']]}
6
+
7
+ counts = Hash.new(0)
8
+ conns.each_with_object({}) do |c, h|
9
+ c['client_addr'] = 'localhost' unless c['client_addr']
10
+ name = c['application_name']
11
+ counts[name] += 1
12
+ key = "#{name} #{'*' * (counts[name]-1)}"
13
+ h[key] = c.except('application_name').map{|k,v| "<li>#{k}: #{v}</li>"}.join
14
+ end
15
+ end
16
+ end
17
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marty
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.9
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arman Bostani
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2018-05-18 00:00:00.000000000 Z
17
+ date: 2018-06-05 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: pg
@@ -497,6 +497,7 @@ files:
497
497
  - other/marty/diagnostic/aws/ec2_instance.rb
498
498
  - other/marty/diagnostic/base.rb
499
499
  - other/marty/diagnostic/collection.rb
500
+ - other/marty/diagnostic/connections.rb
500
501
  - other/marty/diagnostic/database.rb
501
502
  - other/marty/diagnostic/delayed_job_version.rb
502
503
  - other/marty/diagnostic/delayed_job_workers.rb