marty 2.0.9 → 2.1.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,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