it-logica-application-backbone 0.2.28 → 0.2.29
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.
- 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:
|