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 +4 -4
- data/Gemfile.lock +1 -1
- data/app/components/marty/grid.rb +17 -0
- data/lib/marty/javascript/overrides.js +66 -3
- data/lib/marty/version.rb +1 -1
- data/other/marty/diagnostic/connections.rb +17 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 74cf23a65bfc74eca6990825fc5cd0e3498ce1ee
|
4
|
+
data.tar.gz: bbe239541fa78e0520ba9556ce2e54a6bdcd316d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b83dbaa63058e3cb97bf2075b41630737fe3caed36b5f006b70c34e2dc743dc57333064b5952cd3e933b1b67a81309001e688944d0f0de4eb5a558d5ce27db6
|
7
|
+
data.tar.gz: a8a857fcf340d133ecf3a9248aad919630f8f11c480b3301abf7df896a70e7bb4811fddef838b4787bfe6c08d95863a33eb88045fe50b29c14e158ede8484b6c
|
data/Gemfile.lock
CHANGED
@@ -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
@@ -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
|
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
|
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
|