it-logica-application-backbone 0.2.28 → 0.2.29
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/app/assets/javascripts/backbone_js/ladas_paginate.js +12 -8
- data/app/assets/javascripts/backbone_js/ladas_table_builder.js.coffee +126 -0
- data/app/assets/javascripts/backbone_js/tmpl.min.js +1 -86
- data/app/views/helpers/_build_table_filter.html.erb +9 -163
- data/app/views/helpers/_build_table_wrapper.html.erb +7 -7
- data/it-logica-application-backbone.gemspec +2 -1
- metadata +15 -14
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.29
|
@@ -94,8 +94,11 @@ function formatLinkForPagination(container_class) {
|
|
94
94
|
//}
|
95
95
|
|
96
96
|
function filter_sort(form_id, order_by_value, dir, obj) {
|
97
|
+
order_by_value = order_by_value.toLowerCase();
|
98
|
+
dir = dir.toLowerCase();
|
99
|
+
|
97
100
|
var order_by_id = '#' + form_id + '_order_by';
|
98
|
-
var default_order_by_val = $('#' + form_id + '_default_order_by').val();
|
101
|
+
var default_order_by_val = $('#' + form_id + '_default_order_by').val().toLowerCase();
|
99
102
|
|
100
103
|
var order_by_array = $(order_by_id).val().split(",");
|
101
104
|
//console.log(order_by_value)
|
@@ -112,16 +115,16 @@ function filter_sort(form_id, order_by_value, dir, obj) {
|
|
112
115
|
}
|
113
116
|
//console.log(order_by_array);
|
114
117
|
}
|
115
|
-
else if ((dir == "
|
116
|
-
// there is other variant of the column
|
118
|
+
else if ((dir == "desc" && order_by_array.indexOf(order_by_value + " asc") >= 0) || (dir == "asc" && order_by_array.indexOf(order_by_value + " desc") >= 0)) {
|
119
|
+
// there is other variant of the column desc or asc, I will swith it to the other variant
|
117
120
|
//console.log("menim dir");
|
118
|
-
if (dir == "
|
119
|
-
var index = order_by_array.indexOf(order_by_value + "
|
120
|
-
order_by_array[index] = order_by_value + "
|
121
|
+
if (dir == "desc") {
|
122
|
+
var index = order_by_array.indexOf(order_by_value + " asc");
|
123
|
+
order_by_array[index] = order_by_value + " desc";
|
121
124
|
}
|
122
125
|
else {
|
123
|
-
var index = order_by_array.indexOf(order_by_value + "
|
124
|
-
order_by_array[index] = order_by_value + "
|
126
|
+
var index = order_by_array.indexOf(order_by_value + " desc");
|
127
|
+
order_by_array[index] = order_by_value + " asc";
|
125
128
|
}
|
126
129
|
//console.log(order_by_array);
|
127
130
|
}
|
@@ -145,6 +148,7 @@ function filter_sort(form_id, order_by_value, dir, obj) {
|
|
145
148
|
new_order_by_val += item;
|
146
149
|
|
147
150
|
var order_by_button_id = "#" + item.replace(" ", "___").replace(".", "___");
|
151
|
+
//console.log(order_by_button_id)
|
148
152
|
$(order_by_button_id).removeClass("inactive");
|
149
153
|
$(order_by_button_id).addClass("active");
|
150
154
|
});
|
@@ -0,0 +1,126 @@
|
|
1
|
+
class TableBuilder
|
2
|
+
@render_tbody:(obj) ->
|
3
|
+
TableBuilder.obj = obj
|
4
|
+
|
5
|
+
TableBuilder.html = ""
|
6
|
+
|
7
|
+
TableBuilder.make_table()
|
8
|
+
|
9
|
+
return TableBuilder.html
|
10
|
+
|
11
|
+
@make_table: ->
|
12
|
+
for row in TableBuilder.obj.data
|
13
|
+
do (row) ->
|
14
|
+
TableBuilder.html += '<tr>'
|
15
|
+
|
16
|
+
TableBuilder.add_row_functions()
|
17
|
+
TableBuilder.add_row_columns(row)
|
18
|
+
|
19
|
+
TableBuilder.html += '</tr>'
|
20
|
+
@make_row: ->
|
21
|
+
|
22
|
+
|
23
|
+
@add_row_functions: ->
|
24
|
+
if (TableBuilder.obj.row.functions)
|
25
|
+
TableBuilder.html += '<td>'
|
26
|
+
|
27
|
+
for function_name in TableBuilder.obj.row.functions.data
|
28
|
+
do (function_name) ->
|
29
|
+
settings = o.row.functions[function_name]
|
30
|
+
TableBuilder.make_href_button(settings,undefined, row)
|
31
|
+
|
32
|
+
TableBuilder.html += '</td>'
|
33
|
+
|
34
|
+
@add_row_columns:(row) ->
|
35
|
+
for col in TableBuilder.obj.columns
|
36
|
+
do (col) ->
|
37
|
+
TableBuilder.html += '<td class="' + col.class + '">'
|
38
|
+
|
39
|
+
if (is_hash(row[col.table + '_' + col.name]))
|
40
|
+
# hash span or href (styled as button)
|
41
|
+
button_settings = row[col.table + '_' + col.name]
|
42
|
+
TableBuilder.make_column_from_hash(button_settings, row, col)
|
43
|
+
|
44
|
+
else if (is_array(row[col.table + '_' + col.name]))
|
45
|
+
# array of hashes (probably buttons)
|
46
|
+
one_cell_buttons = row[col.table + '_' + col.name]
|
47
|
+
for one_cell_button in one_cell_buttons
|
48
|
+
do (one_cell_button) ->
|
49
|
+
TableBuilder.make_column_from_hash(one_cell_button, row, col)
|
50
|
+
|
51
|
+
else if (is_string(row[col.table + '_' + col.name]))
|
52
|
+
# its just string
|
53
|
+
text = ""
|
54
|
+
text = row[col.table + '_' + col.name] if row[col.table + '_' + col.name]?
|
55
|
+
sliced_text = text
|
56
|
+
if (col.max_text_length)
|
57
|
+
max = col.max_text_length - 3
|
58
|
+
sliced_text = sliced_text.slice(0, col.max_text_length) + "..." if ( max > 0 && sliced_text.length > max)
|
59
|
+
|
60
|
+
TableBuilder.html += '<span title="' + text + '">' + sliced_text + '</span>'
|
61
|
+
|
62
|
+
else
|
63
|
+
# its something else eg. number cant be sliced, or its probably aliens Kveigars
|
64
|
+
text = ""
|
65
|
+
text = row[col.table + '_' + col.name] if row[col.table + '_' + col.name]?
|
66
|
+
|
67
|
+
TableBuilder.html += '<span title="' + text + '">' + text + '</span>'
|
68
|
+
|
69
|
+
TableBuilder.html += '</td>'
|
70
|
+
|
71
|
+
|
72
|
+
@make_href_button:(settings, col, row) ->
|
73
|
+
settings.symlink_id = row.row_id if row? # only for generic row functions, they are defined without the id
|
74
|
+
|
75
|
+
|
76
|
+
sliced_text = settings['name']
|
77
|
+
if col?
|
78
|
+
if (col.max_text_length)
|
79
|
+
max = col.max_text_length - 3
|
80
|
+
sliced_text = sliced_text.slice(0, col.max_text_length) + "..." if ( max > 0 && sliced_text.length > max)
|
81
|
+
|
82
|
+
it_is_link = false
|
83
|
+
it_is_link = true if (settings.url || settings.symlink_controller || settings.symlink_action || settings.symlink_id || settings.symlink_outer_controller || settings.symlink_outer_id)
|
84
|
+
|
85
|
+
|
86
|
+
if it_is_link
|
87
|
+
stringified_settings = JSON.stringify(settings)
|
88
|
+
|
89
|
+
stringified_settings = stringified_settings.replace(/"/g,'"') # this is crutial unless the double quotes will fuck up html
|
90
|
+
non_ajax_url = build_get_url(settings)
|
91
|
+
TableBuilder.html += '<a href="' + non_ajax_url + '"'
|
92
|
+
else
|
93
|
+
TableBuilder.html += '<span'
|
94
|
+
|
95
|
+
TableBuilder.html += ' class="' + settings.class + '"' if settings.class?
|
96
|
+
TableBuilder.html += ' title="' + settings.name + '"'
|
97
|
+
TableBuilder.html += ' data-tr_class="' + settings.tr_class + '"' if settings.tr_class?
|
98
|
+
TableBuilder.html += ' data-td_class="' + settings.td_class + '"' if settings.td_class? && settings.td_class.length > 0
|
99
|
+
|
100
|
+
if it_is_link
|
101
|
+
if (settings.confirm)
|
102
|
+
TableBuilder.html += ' onclick="if (confirm(\'' + settings.confirm + '\')){ load_page(' + stringified_settings + ',this); }; return false;"'
|
103
|
+
else
|
104
|
+
TableBuilder.html += ' onclick="load_page(' + stringified_settings + ',this); return false;"'
|
105
|
+
|
106
|
+
TableBuilder.html += '>' + sliced_text
|
107
|
+
|
108
|
+
if it_is_link
|
109
|
+
TableBuilder.html +='</a>'
|
110
|
+
else
|
111
|
+
TableBuilder.html += '</span>'
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
@make_column_from_hash:(button_settings, row, col) ->
|
117
|
+
button_settings['origin'] = 'table'
|
118
|
+
TableBuilder.make_href_button(button_settings, col, row)
|
119
|
+
|
120
|
+
|
121
|
+
window.TableBuilder = TableBuilder
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
|
@@ -1,86 +1 @@
|
|
1
|
-
|
2
|
-
* JavaScript Templates 2.1.0
|
3
|
-
* https://github.com/blueimp/JavaScript-Templates
|
4
|
-
*
|
5
|
-
* Copyright 2011, Sebastian Tschan
|
6
|
-
* https://blueimp.net
|
7
|
-
*
|
8
|
-
* Licensed under the MIT license:
|
9
|
-
* http://www.opensource.org/licenses/MIT
|
10
|
-
*
|
11
|
-
* Inspired by John Resig's JavaScript Micro-Templating:
|
12
|
-
* http://ejohn.org/blog/javascript-micro-templating/
|
13
|
-
*/
|
14
|
-
|
15
|
-
/*jslint evil: true, regexp: true */
|
16
|
-
/*global document, define */
|
17
|
-
|
18
|
-
(function ($) {
|
19
|
-
"use strict";
|
20
|
-
var tmpl = function (str, data) {
|
21
|
-
var f = !/[^\w\-\.:]/.test(str) ? tmpl.cache[str] = tmpl.cache[str] ||
|
22
|
-
tmpl(tmpl.load(str)) :
|
23
|
-
new Function(
|
24
|
-
tmpl.arg + ',tmpl',
|
25
|
-
"var _e=tmpl.encode" + tmpl.helper + ",_s='" +
|
26
|
-
str.replace(tmpl.regexp, tmpl.func) +
|
27
|
-
"';return _s;"
|
28
|
-
);
|
29
|
-
return data ? f(data, tmpl) : function (data) {
|
30
|
-
return f(data, tmpl);
|
31
|
-
};
|
32
|
-
};
|
33
|
-
tmpl.cache = {};
|
34
|
-
tmpl.load = function (id) {
|
35
|
-
return document.getElementById(id).innerHTML;
|
36
|
-
};
|
37
|
-
tmpl.regexp = /([\s'\\])(?![^%]*%\})|(?:\{%(=|#)([\s\S]+?)%\})|(\{%)|(%\})/g;
|
38
|
-
tmpl.func = function (s, p1, p2, p3, p4, p5) {
|
39
|
-
if (p1) { // whitespace, quote and backspace in interpolation context
|
40
|
-
return {
|
41
|
-
"\n": "\\n",
|
42
|
-
"\r": "\\r",
|
43
|
-
"\t": "\\t",
|
44
|
-
" " : " "
|
45
|
-
}[s] || "\\" + s;
|
46
|
-
}
|
47
|
-
if (p2) { // interpolation: {%=prop%}, or unescaped: {%#prop%}
|
48
|
-
if (p2 === "=") {
|
49
|
-
return "'+_e(" + p3 + ")+'";
|
50
|
-
}
|
51
|
-
return "'+(" + p3 + "||'')+'";
|
52
|
-
}
|
53
|
-
if (p4) { // evaluation start tag: {%
|
54
|
-
return "';";
|
55
|
-
}
|
56
|
-
if (p5) { // evaluation end tag: %}
|
57
|
-
return "_s+='";
|
58
|
-
}
|
59
|
-
};
|
60
|
-
tmpl.encReg = /[<>&"'\x00]/g;
|
61
|
-
tmpl.encMap = {
|
62
|
-
"<" : "<",
|
63
|
-
">" : ">",
|
64
|
-
"&" : "&",
|
65
|
-
"\"" : """,
|
66
|
-
"'" : "'"
|
67
|
-
};
|
68
|
-
tmpl.encode = function (s) {
|
69
|
-
return String(s || "").replace(
|
70
|
-
tmpl.encReg,
|
71
|
-
function (c) {
|
72
|
-
return tmpl.encMap[c] || "";
|
73
|
-
}
|
74
|
-
);
|
75
|
-
};
|
76
|
-
tmpl.arg = "o";
|
77
|
-
tmpl.helper = ",print=function(s,e){_s+=e&&(s||'')||_e(s);}" +
|
78
|
-
",include=function(s,d){_s+=tmpl(s,d);}";
|
79
|
-
if (typeof define === "function" && define.amd) {
|
80
|
-
define(function () {
|
81
|
-
return tmpl;
|
82
|
-
});
|
83
|
-
} else {
|
84
|
-
$.tmpl = tmpl;
|
85
|
-
}
|
86
|
-
}(this));
|
1
|
+
(function(a){"use strict";var b=function(a,c){var d=/[^\w\-\.:]/.test(a)?new Function(b.arg+",tmpl","var _e=tmpl.encode"+b.helper+",_s='"+a.replace(b.regexp,b.func)+"';return _s;"):b.cache[a]=b.cache[a]||b(b.load(a));return c?d(c,b):function(a){return d(a,b)}};b.cache={},b.load=function(a){return document.getElementById(a).innerHTML},b.regexp=/([\s'\\])(?![^%]*%\})|(?:\{%(=|#)([\s\S]+?)%\})|(\{%)|(%\})/g,b.func=function(a,b,c,d,e,f){if(b)return{"\n":"\\n","\r":"\\r","\t":"\\t"," ":" "}[a]||"\\"+a;if(c)return c==="="?"'+_e("+d+")+'":"'+("+d+"||'')+'";if(e)return"';";if(f)return"_s+='"},b.encReg=/[<>&"'\x00]/g,b.encMap={"<":"<",">":">","&":"&",'"':""","'":"'"},b.encode=function(a){return String(a||"").replace(b.encReg,function(a){return b.encMap[a]||""})},b.arg="o",b.helper=",print=function(s,e){_s+=e&&(s||'')||_e(s);},include=function(s,d){_s+=tmpl(s,d);}",typeof define=="function"&&define.amd?define(function(){return b}):a.tmpl=b})(this);
|
@@ -11,84 +11,16 @@
|
|
11
11
|
<%= hidden_field_tag :page, settings[:default][:page], :id => settings[:form_id] + '_page' %>
|
12
12
|
|
13
13
|
<%# end %>
|
14
|
-
|
15
|
-
(function ($) {
|
16
|
-
"use strict";
|
17
|
-
var tmpl = function (str, data) {
|
18
|
-
var f = !/[^\w\-\.:]/.test(str) ? tmpl.cache[str] = tmpl.cache[str] ||
|
19
|
-
tmpl(tmpl.load(str)) :
|
20
|
-
new Function(
|
21
|
-
tmpl.arg + ',tmpl',
|
22
|
-
"var _e=tmpl.encode" + tmpl.helper + ",_s='" +
|
23
|
-
str.replace(tmpl.regexp, tmpl.func) +
|
24
|
-
"';return _s;"
|
25
|
-
);
|
26
|
-
return data ? f(data, tmpl) : function (data) {
|
27
|
-
return f(data, tmpl);
|
28
|
-
};
|
29
|
-
};
|
30
|
-
tmpl.cache = {};
|
31
|
-
tmpl.load = function (id) {
|
32
|
-
return document.getElementById(id).innerHTML;
|
33
|
-
};
|
34
|
-
tmpl.regexp = /([\s'\\])(?![^%]*%\})|(?:\{%(=|#)([\s\S]+?)%\})|(\{%)|(%\})/g;
|
35
|
-
tmpl.func = function (s, p1, p2, p3, p4, p5) {
|
36
|
-
if (p1) { // whitespace, quote and backspace in interpolation context
|
37
|
-
return {
|
38
|
-
"\n": "\\n",
|
39
|
-
"\r": "\\r",
|
40
|
-
"\t": "\\t",
|
41
|
-
" " : " "
|
42
|
-
}[s] || "\\" + s;
|
43
|
-
}
|
44
|
-
if (p2) { // interpolation: {%=prop%}, or unescaped: {%#prop%}
|
45
|
-
if (p2 === "=") {
|
46
|
-
return "'+_e(" + p3 + ")+'";
|
47
|
-
}
|
48
|
-
return "'+(" + p3 + "||'')+'";
|
49
|
-
}
|
50
|
-
if (p4) { // evaluation start tag: {%
|
51
|
-
return "';";
|
52
|
-
}
|
53
|
-
if (p5) { // evaluation end tag: %}
|
54
|
-
return "_s+='";
|
55
|
-
}
|
56
|
-
};
|
57
|
-
tmpl.encReg = /[<>&"'\x00]/g;
|
58
|
-
tmpl.encMap = {
|
59
|
-
"<" : "<",
|
60
|
-
">" : ">",
|
61
|
-
"&" : "&",
|
62
|
-
"\"" : """,
|
63
|
-
"'" : "'"
|
64
|
-
};
|
65
|
-
tmpl.encode = function (s) {
|
66
|
-
return String(s || "").replace(
|
67
|
-
tmpl.encReg,
|
68
|
-
function (c) {
|
69
|
-
return tmpl.encMap[c] || "";
|
70
|
-
}
|
71
|
-
);
|
72
|
-
};
|
73
|
-
tmpl.arg = "o";
|
74
|
-
tmpl.helper = ",print=function(s,e){_s+=e&&(s||'')||_e(s);}" +
|
75
|
-
",include=function(s,d){_s+=tmpl(s,d);}";
|
76
|
-
if (typeof define === "function" && define.amd) {
|
77
|
-
define(function () {
|
78
|
-
return tmpl;
|
79
|
-
});
|
80
|
-
} else {
|
81
|
-
$.tmpl = tmpl;
|
82
|
-
}
|
83
|
-
}(this));
|
84
|
-
</script>
|
14
|
+
|
85
15
|
<%#= javascript_include_tag '/assets/backbone_js/tmpl.min.js' %>
|
86
16
|
<script type="text/javascript">
|
87
17
|
$(document).ready(function () {
|
88
18
|
<% if settings[:template].blank? %>
|
89
19
|
var initial_parsed_data = jQuery.parseJSON('<%= j settings.to_json.html_safe %>');
|
90
|
-
var
|
91
|
-
|
20
|
+
var html_from_json = TableBuilder.render_tbody(initial_parsed_data);
|
21
|
+
|
22
|
+
|
23
|
+
$("#<%= settings[:form_id] %>_ajax_content").html(html_from_json);
|
92
24
|
apply_modifiers_of_the_table($("#<%= settings[:form_id] %>_ajax_content"));
|
93
25
|
<% end %>
|
94
26
|
formatLinkForPaginationURL('<%= settings[:form_id] %>');
|
@@ -108,7 +40,10 @@
|
|
108
40
|
//console.log(ladas_build_table('template-ajax-table', parsed_response));
|
109
41
|
<% if settings[:template].blank? %>
|
110
42
|
var parsed_settings = jQuery.parseJSON(parsed_response['settings'])
|
111
|
-
|
43
|
+
var html_from_json = TableBuilder.render_tbody(parsed_settings);
|
44
|
+
|
45
|
+
|
46
|
+
$("#<%= settings[:form_id] %>_ajax_content").html(html_from_json);
|
112
47
|
apply_modifiers_of_the_table($("#<%= settings[:form_id] %>_ajax_content"));
|
113
48
|
|
114
49
|
<% else %>
|
@@ -122,92 +57,3 @@
|
|
122
57
|
});
|
123
58
|
</script>
|
124
59
|
|
125
|
-
|
126
|
-
<script id="template-ajax-table" type="text/x-tmpl">
|
127
|
-
{% for (var i=0, row ; row=o.data[i]; i++) { %}
|
128
|
-
<tr class="">
|
129
|
-
|
130
|
-
{% if (o.row.functions) { %}
|
131
|
-
<td>
|
132
|
-
{% for (var function_name in o.row.functions) { %}
|
133
|
-
{% var settings = o.row.functions[function_name]; %}
|
134
|
-
{% settings.symlink_id = row.row_id; %}
|
135
|
-
{% stringified_settings = JSON.stringify(settings); %}
|
136
|
-
{% var non_ajax_url = build_get_url(settings); %}
|
137
|
-
{% if (settings.confirm) { %}
|
138
|
-
<a href="{%= non_ajax_url %}" class="{%= settings['class'] %}" onclick="if (confirm('{%= settings.confirm %}')){ load_page({%=stringified_settings%}); }; return false;" >{%= settings.name %}</a>
|
139
|
-
{% } else { %}
|
140
|
-
<a href="{%= non_ajax_url %}" class="{%= settings['class'] %}" onclick="load_page({%=stringified_settings%}); return false;">{%= settings.name %}</a>
|
141
|
-
{% } %}
|
142
|
-
{% } %}
|
143
|
-
</td>
|
144
|
-
{% } %}
|
145
|
-
|
146
|
-
{% for (var j=0, col; col=o.columns[j]; j++) { %}
|
147
|
-
<td class="{%= col.class %}">
|
148
|
-
{% if (is_hash(row[col.table + '_' + col.name])) { %}
|
149
|
-
{% var button_settings = row[col.table + '_' + col.name]; %}
|
150
|
-
{% button_settings['origin'] = 'table'; %}
|
151
|
-
{% var stringified_button_settings = JSON.stringify(button_settings); %}
|
152
|
-
|
153
|
-
{% var sliced_text = button_settings['name']; %}
|
154
|
-
{% if (col.max_text_length) { %}
|
155
|
-
{% var max = col.max_text_length - 3; %}
|
156
|
-
{% if ( max > 0 && sliced_text.length > max) { %}
|
157
|
-
{% sliced_text = sliced_text.slice(0, col.max_text_length) + "..."; %}
|
158
|
-
{% } %}
|
159
|
-
{% } %}
|
160
|
-
|
161
|
-
{% if (button_settings.symlink_controller || button_settings.symlink_action || button_settings.symlink_id || button_settings.symlink_outer_controller || button_settings.symlink_outer_id) { %}
|
162
|
-
{% var non_ajax_url = build_get_url(button_settings); %}
|
163
|
-
{% if (button_settings.confirm) { %}
|
164
|
-
<a title="{%= button_settings['name'] %}" href="{%= non_ajax_url %}" class="{%= button_settings['class'] %}" data-tr_class="{%= button_settings.tr_class %}" data-td_class="{%= button_settings.td_class %}" onclick="if (confirm('{%= button_settings.confirm %}')){ load_page({%= stringified_button_settings %}, this)}; return false;">{%= sliced_text %}</a>
|
165
|
-
{% } else { %}
|
166
|
-
<a title="{%= button_settings['name'] %}" href="{%= non_ajax_url %}" class="{%= button_settings['class'] %}" data-tr_class="{%= button_settings.tr_class %}" data-td_class="{%= button_settings.td_class %}" onclick="load_page({%= stringified_button_settings %}, this); return false;">{%= sliced_text %}</a>
|
167
|
-
{% } %}
|
168
|
-
{% } else { %}
|
169
|
-
<span title="{%= button_settings['name'] %}" class="{%= button_settings['class'] %}" data-tr_class="{%= button_settings.tr_class %}">{%= sliced_text %}</span>
|
170
|
-
{% } %}
|
171
|
-
{% } else if (is_array(row[col.table + '_' + col.name])) { %}
|
172
|
-
{% var one_cell_buttons = row[col.table + '_' + col.name]; %}
|
173
|
-
{% for (var b=0, one_cell_button; one_cell_button=one_cell_buttons[b]; b++) { %}
|
174
|
-
{% var button_settings = one_cell_button; %}
|
175
|
-
{% button_settings['origin'] = 'table'; %}
|
176
|
-
{% var stringified_button_settings = JSON.stringify(button_settings); %}
|
177
|
-
|
178
|
-
{% var sliced_text = button_settings['name']; %}
|
179
|
-
{% if (col.max_text_length) { %}
|
180
|
-
{% var max = col.max_text_length - 3; %}
|
181
|
-
{% if ( max > 0 && sliced_text.length > max) { %}
|
182
|
-
{% sliced_text = sliced_text.slice(0, col.max_text_length) + "..."; %}
|
183
|
-
{% } %}
|
184
|
-
{% } %}
|
185
|
-
|
186
|
-
{% if (button_settings.symlink_controller || button_settings.symlink_action || button_settings.symlink_id || button_settings.symlink_outer_controller || button_settings.symlink_outer_id) { %}
|
187
|
-
{% var non_ajax_url = build_get_url(button_settings); %}
|
188
|
-
{% if (button_settings.confirm) { %}
|
189
|
-
<a title="{%= button_settings['name'] %}" href="{%= non_ajax_url %}" class="{%= button_settings['class'] %}" data-tr_class="{%= button_settings.tr_class %}" data-td_class="{%= button_settings.td_class %}" onclick="if (confirm('{%= button_settings.confirm %}')){ load_page({%= stringified_button_settings %}, this)}; return false;">{%= sliced_text %}</a>
|
190
|
-
{% } else { %}
|
191
|
-
<a title="{%= button_settings['name'] %}" href="{%= non_ajax_url %}" class="{%= button_settings['class'] %}" data-tr_class="{%= button_settings.tr_class %}" data-td_class="{%= button_settings.td_class %}" onclick="load_page({%= stringified_button_settings %}, this); return false;">{%= sliced_text %}</a>
|
192
|
-
{% } %}
|
193
|
-
{% } else { %}
|
194
|
-
<span title="{%= button_settings['name'] %}" class="{%= button_settings['class'] %}" data-tr_class="{%= button_settings.tr_class %}">{%= sliced_text %}</span>
|
195
|
-
{% } %}
|
196
|
-
{% } %}
|
197
|
-
{% } else if (is_string(row[col.table + '_' + col.name])) { %}
|
198
|
-
{% var sliced_text = row[col.table + '_' + col.name]; %}
|
199
|
-
{% if (col.max_text_length) { %}
|
200
|
-
{% var max = col.max_text_length - 3; %}
|
201
|
-
{% if ( max > 0 && sliced_text.length > max) { %}
|
202
|
-
{% sliced_text = sliced_text.slice(0, col.max_text_length) + "..."; %}
|
203
|
-
{% } %}
|
204
|
-
{% } %}
|
205
|
-
<span title="{%= row[col.table + '_' + col.name] %}">{%= sliced_text %}</span>
|
206
|
-
{% } else { %}
|
207
|
-
<span title="{%= row[col.table + '_' + col.name] %}">{%= row[col.table + '_' + col.name] %}</span>
|
208
|
-
{% } %}
|
209
|
-
</td>
|
210
|
-
{% } %}
|
211
|
-
</tr>
|
212
|
-
{% } %}
|
213
|
-
</script>
|
@@ -9,10 +9,10 @@
|
|
9
9
|
<% if !settings[:row].blank? && !settings[:row][:functions].blank? %>
|
10
10
|
<th></th>
|
11
11
|
<% end %>
|
12
|
-
<% order_by_arr = settings[:params][:order_by].split(",") %>
|
12
|
+
<% order_by_arr = settings[:params][:order_by].downcase.split(",") %>
|
13
13
|
<% settings[:columns].each do |col| %>
|
14
|
-
<% order_asc_id = (col[:table] + "___" + col[:name] + "
|
15
|
-
<% order_desc_id = (col[:table] + "___" + col[:name] + "
|
14
|
+
<% order_asc_id = (col[:table] + "___" + col[:name] + "___asc") %>
|
15
|
+
<% order_desc_id = (col[:table] + "___" + col[:name] + "___desc") %>
|
16
16
|
<th class="<%= col[:class] %>">
|
17
17
|
<div class="th_label">
|
18
18
|
<span><%= col[:label].html_safe %></span>
|
@@ -22,14 +22,14 @@
|
|
22
22
|
<span class="sortButtons az">
|
23
23
|
<% if col[:column_method].blank? && col[:row_method].blank? && !col[:name].blank? %>
|
24
24
|
|
25
|
-
<span onclick="filter_sort('<%= settings[:form_id] %>','<%= col[:table] + "." +col[:name] %>', '
|
25
|
+
<span onclick="filter_sort('<%= settings[:form_id] %>','<%= col[:table] + "." +col[:name] %>', 'asc', this); return false;"
|
26
26
|
title="Seřadit vzestupně"
|
27
|
-
class="icon-arrow-up sort_button sort-up <%= (order_by_arr.include?(col[:table] + "." + col[:name] + "
|
27
|
+
class="icon-arrow-up sort_button sort-up <%= (order_by_arr.include?(col[:table] + "." + col[:name] + " asc")) ? "active" : "inactive" %>"
|
28
28
|
id="<%= order_asc_id %>">
|
29
29
|
<span class="oos"></span></span>
|
30
|
-
<span onclick="filter_sort('<%= settings[:form_id] %>','<%= col[:table] + "." +col[:name] %>', '
|
30
|
+
<span onclick="filter_sort('<%= settings[:form_id] %>','<%= col[:table] + "." +col[:name] %>', 'desc', this); return false;"
|
31
31
|
title="Seřadit sestupně"
|
32
|
-
class="icon-arrow-down sort_button sort-down <%= (order_by_arr.include?(col[:table] + "." + col[:name] + "
|
32
|
+
class="icon-arrow-down sort_button sort-down <%= (order_by_arr.include?(col[:table] + "." + col[:name] + " desc")) ? "active" : "inactive" %>"
|
33
33
|
id="<%= order_desc_id %>">
|
34
34
|
<span class="oos "></span></span>
|
35
35
|
<% end %>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "it-logica-application-backbone"
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.29"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ladas"]
|
@@ -142,6 +142,7 @@ Gem::Specification.new do |s|
|
|
142
142
|
"app/assets/javascripts/backbone_js/ladas_loading.js",
|
143
143
|
"app/assets/javascripts/backbone_js/ladas_paginate.js",
|
144
144
|
"app/assets/javascripts/backbone_js/ladas_saving.js",
|
145
|
+
"app/assets/javascripts/backbone_js/ladas_table_builder.js.coffee",
|
145
146
|
"app/assets/javascripts/backbone_js/ladas_table_for.js",
|
146
147
|
"app/assets/javascripts/backbone_js/ladas_tinymce.js",
|
147
148
|
"app/assets/javascripts/backbone_js/load-image.min.js",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: it-logica-application-backbone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.29
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-07-20 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: htmlentities
|
16
|
-
requirement: &
|
16
|
+
requirement: &84588110 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *84588110
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: shoulda
|
27
|
-
requirement: &
|
27
|
+
requirement: &84587510 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *84587510
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rdoc
|
38
|
-
requirement: &
|
38
|
+
requirement: &84586850 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '3.12'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *84586850
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
|
-
requirement: &
|
49
|
+
requirement: &84586120 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.1.0
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *84586120
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: jeweler
|
60
|
-
requirement: &
|
60
|
+
requirement: &84585470 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.8.4
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *84585470
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: simplecov
|
71
|
-
requirement: &
|
71
|
+
requirement: &84584930 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *84584930
|
80
80
|
description: longer description of your gem
|
81
81
|
email: ladislav.smola@it-logica.cz
|
82
82
|
executables: []
|
@@ -210,6 +210,7 @@ files:
|
|
210
210
|
- app/assets/javascripts/backbone_js/ladas_loading.js
|
211
211
|
- app/assets/javascripts/backbone_js/ladas_paginate.js
|
212
212
|
- app/assets/javascripts/backbone_js/ladas_saving.js
|
213
|
+
- app/assets/javascripts/backbone_js/ladas_table_builder.js.coffee
|
213
214
|
- app/assets/javascripts/backbone_js/ladas_table_for.js
|
214
215
|
- app/assets/javascripts/backbone_js/ladas_tinymce.js
|
215
216
|
- app/assets/javascripts/backbone_js/load-image.min.js
|
@@ -562,7 +563,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
562
563
|
version: '0'
|
563
564
|
segments:
|
564
565
|
- 0
|
565
|
-
hash:
|
566
|
+
hash: 229219793
|
566
567
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
567
568
|
none: false
|
568
569
|
requirements:
|