rbbt-rest 1.1.5 → 1.2.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.
Files changed (127) hide show
  1. checksums.yaml +8 -8
  2. data/lib/rbbt/rest/common/cache.rb +33 -14
  3. data/lib/rbbt/rest/common/locate.rb +8 -6
  4. data/lib/rbbt/rest/common/misc.rb +4 -0
  5. data/lib/rbbt/rest/common/render.rb +14 -4
  6. data/lib/rbbt/rest/common/resources.rb +1 -1
  7. data/lib/rbbt/rest/common/table.rb +37 -7
  8. data/lib/rbbt/rest/entity.rb +5 -3
  9. data/lib/rbbt/rest/entity/favourites.rb +4 -1
  10. data/lib/rbbt/rest/entity/helpers.rb +12 -0
  11. data/lib/rbbt/rest/entity/rest.rb +6 -2
  12. data/lib/rbbt/rest/helpers.rb +7 -0
  13. data/lib/rbbt/rest/knowledge_base.rb +338 -0
  14. data/lib/rbbt/rest/knowledge_base/helpers.rb +57 -0
  15. data/lib/rbbt/rest/main.rb +16 -3
  16. data/share/views/compass/_rbbt.sass +11 -0
  17. data/share/views/compass/actions.sass +48 -24
  18. data/share/views/compass/app.sass +72 -50
  19. data/share/views/compass/colors.sass +3 -229
  20. data/share/views/compass/entity_card.sass +44 -108
  21. data/share/views/compass/favourites.sass +17 -72
  22. data/share/views/compass/finder.sass +30 -0
  23. data/share/views/compass/foundation.sass +79 -0
  24. data/share/views/compass/functions.sass +27 -0
  25. data/share/views/compass/help.sass +3 -0
  26. data/share/views/compass/layout.sass +132 -0
  27. data/share/views/compass/rbbt/form.sass +84 -0
  28. data/share/views/compass/rbbt/fragment.sass +7 -0
  29. data/share/views/compass/rbbt/menu.sass +189 -0
  30. data/share/views/compass/rbbt/reveal.sass +46 -0
  31. data/share/views/compass/rbbt/table.sass +169 -0
  32. data/share/views/compass/skeleton.sass +2 -0
  33. data/share/views/compass/skeleton/_dependencies.sass +151 -0
  34. data/share/views/compass/skeleton/_functions.sass +4 -0
  35. data/share/views/compass/skeleton/_mixins.sass +25 -0
  36. data/share/views/compass/skeleton/_vars.sass +72 -0
  37. data/share/views/compass/skeleton/base.sass +333 -0
  38. data/share/views/compass/skeleton/layout.sass +51 -0
  39. data/share/views/compass/skeleton/skeleton.sass +105 -0
  40. data/share/views/compass/solarized.sass +56 -0
  41. data/share/views/compass/style.sass +2 -116
  42. data/share/views/compass/theme.sass +57 -44
  43. data/share/views/compass/top_menu.sass +121 -0
  44. data/share/views/compass/user.sass +7 -0
  45. data/share/views/compass/variables.sass +7 -0
  46. data/share/views/compass/workflow.sass +6 -14
  47. data/share/views/entity_partials/action_controller.haml +7 -4
  48. data/share/views/entity_partials/entity_card.haml +10 -5
  49. data/share/views/entity_partials/entity_list.haml +4 -7
  50. data/share/views/entity_partials/entity_list_card.haml +10 -3
  51. data/share/views/entity_partials/entity_map_card.haml +2 -2
  52. data/share/views/entity_partials/list_container.haml +31 -26
  53. data/share/views/error.haml +5 -7
  54. data/share/views/help.haml +75 -31
  55. data/share/views/help/entity.haml +191 -193
  56. data/share/views/help/workflow.haml +59 -63
  57. data/share/views/job_result.haml +23 -26
  58. data/share/views/layout.haml +41 -61
  59. data/share/views/layout/top_menu.haml +19 -0
  60. data/share/views/layout/top_menu/favourites.haml +45 -0
  61. data/share/views/layout/top_menu/finder.haml +4 -0
  62. data/share/views/layout/top_menu/user.haml +15 -0
  63. data/share/views/public/js/_ajax_replace.js +17 -5
  64. data/share/views/public/js/_ellipsis.js +7 -9
  65. data/share/views/public/js/app.js +50 -2
  66. data/share/views/public/js/foundation/foundation.abide.js +194 -0
  67. data/share/views/public/js/foundation/foundation.alerts.js +52 -0
  68. data/share/views/public/js/foundation/foundation.clearing.js +516 -0
  69. data/share/views/public/js/foundation/foundation.cookie.js +74 -0
  70. data/share/views/public/js/foundation/foundation.dropdown.js +177 -0
  71. data/share/views/public/js/foundation/foundation.forms.js +533 -0
  72. data/share/views/public/js/foundation/foundation.interchange.js +280 -0
  73. data/share/views/public/js/foundation/foundation.joyride.js +850 -0
  74. data/share/views/public/js/foundation/foundation.js +440 -0
  75. data/share/views/public/js/foundation/foundation.magellan.js +135 -0
  76. data/share/views/public/js/foundation/foundation.orbit.js +412 -0
  77. data/share/views/public/js/foundation/foundation.placeholder.js +179 -0
  78. data/share/views/public/js/foundation/foundation.reveal.js +330 -0
  79. data/share/views/public/js/foundation/foundation.section.js +400 -0
  80. data/share/views/public/js/foundation/foundation.tooltips.js +208 -0
  81. data/share/views/public/js/foundation/foundation.topbar.js +300 -0
  82. data/share/views/public/js/foundation/index.js +18 -0
  83. data/share/views/public/js/helpers.js +33 -2
  84. data/share/views/public/js/jquery-ui.js +313 -0
  85. data/share/views/public/js/rbbt/actions.js +264 -0
  86. data/share/views/public/js/{_dom_update.js → rbbt/dom_update.js} +0 -0
  87. data/share/views/public/js/rbbt/favourites.js +425 -0
  88. data/share/views/public/js/rbbt/fragment.js +13 -0
  89. data/share/views/public/js/rbbt/hide.js +60 -0
  90. data/share/views/public/js/rbbt/list.js +117 -0
  91. data/share/views/public/js/{maps.js → rbbt/map.js} +3 -2
  92. data/share/views/public/js/rbbt/menu.js +22 -0
  93. data/share/views/public/js/rbbt/modal.js +96 -0
  94. data/share/views/public/js/{entities.js → rbbt/page_type.js} +12 -9
  95. data/share/views/public/js/rbbt/reveal.js +19 -0
  96. data/share/views/public/js/rbbt/table.js +283 -0
  97. data/share/views/public/js/{workflow.js → rbbt/workflow.js} +0 -0
  98. data/share/views/tasks.haml +14 -15
  99. data/share/views/wait.haml +11 -12
  100. metadata +62 -33
  101. data/share/views/compass/_foundation_setup.sass +0 -74
  102. data/share/views/compass/dom.sass +0 -32
  103. data/share/views/compass/footer.sass +0 -4
  104. data/share/views/compass/form.sass +0 -41
  105. data/share/views/compass/fragment.sass +0 -8
  106. data/share/views/compass/list_container.sass +0 -34
  107. data/share/views/compass/lists.sass +0 -33
  108. data/share/views/compass/offcanvas.sass +0 -66
  109. data/share/views/compass/responsive_table.sass +0 -80
  110. data/share/views/compass/reveal.sass +0 -31
  111. data/share/views/compass/style_mixins.sass +0 -42
  112. data/share/views/compass/table.sass +0 -63
  113. data/share/views/compass/tabs.sass +0 -81
  114. data/share/views/compass/topbar.sass +0 -25
  115. data/share/views/compass/web-fonts.sass +0 -77
  116. data/share/views/layout/favourites.haml +0 -46
  117. data/share/views/layout/header.haml +0 -44
  118. data/share/views/public/js/_fix_tablesorter_science.js +0 -38
  119. data/share/views/public/js/_foundation.js +0 -42
  120. data/share/views/public/js/actions.js +0 -108
  121. data/share/views/public/js/base.js +0 -121
  122. data/share/views/public/js/favourites.js +0 -441
  123. data/share/views/public/js/lists.js +0 -117
  124. data/share/views/public/js/offcanvas.js +0 -35
  125. data/share/views/public/js/reveal.js +0 -48
  126. data/share/views/public/js/tables.js +0 -314
  127. data/share/views/public/js/tabs.js +0 -7
@@ -1,117 +0,0 @@
1
- function setup_list_management(){
2
- var body = $('body');
3
- body.on('click', 'a.compare_list', function(){
4
- var type = page_entity_type().split(":")[0];
5
- var lists = get_favourite_entity_lists()[type];
6
-
7
- if (undefined == lists || lists.length == 0){
8
- alert("No lists to compare with");
9
- return false
10
- }
11
-
12
- var list_id = page_entity_list();
13
-
14
- var type_ul = favourite_list_type_ul(type, lists).addClass("list_comparison")
15
- var buttons = $('<ul class="list_comparison_buttons">')
16
- buttons.append('<li><a class="intersect_lists" href="#">Intersect</a></li>')
17
- buttons.append('<li><a class="remove_list" href="#">Remove</a></li>')
18
- buttons.append('<li><a class="add_list" href="#">Add</a></li>')
19
- type_ul.find('li').prepend(buttons)
20
-
21
- $('#modal1').html(type_ul);
22
- return true
23
- })
24
-
25
- body.on('click', 'a.intersect_lists', function(){
26
- var link = $(this);
27
- var other_list_id = link.parent().parent().parent().find("a.entity_list").attr('title');
28
- var type = clean_element(page_entity_type());
29
- var list_id = page_entity_list();
30
- var params = "other_list_id=" + clean_element(other_list_id)
31
- var url = "/entity_list/intersect/" + type + "/" + clean_element(list_id) + "?" + params
32
- window.location= url
33
- })
34
- body.on('click', 'a.remove_list', function(){
35
- var link = $(this);
36
- var other_list_id = link.parent().parent().parent().find("a.entity_list").attr('title');
37
- var type = clean_element(page_entity_type());
38
- var list_id = page_entity_list();
39
- var params = "other_list_id=" + clean_element(other_list_id)
40
- var url = "/entity_list/remove/" + type + "/" + clean_element(list_id) + "?" + params
41
- window.location= url
42
- })
43
- body.on('click', 'a.add_list', function(){
44
- var link = $(this);
45
- var other_list_id = link.parent().parent().parent().find("a.entity_list").attr('title');
46
- var type = clean_element(page_entity_type());
47
- var list_id = page_entity_list();
48
- var params = "other_list_id=" + clean_element(other_list_id)
49
- var url = "/entity_list/add/" + type + "/" + clean_element(list_id) + "?" + params
50
- window.location= url
51
- })
52
- body.on('click', 'a.edit_list', function(){
53
- var type = page_entity_type().split(":")[0];
54
- var lists = get_favourite_entity_lists()[type];
55
- var entity_type = page_entity_type();
56
- var list_id = page_entity_list();
57
- var url = '/entity_list/' + entity_type + '/edit/' + list_id
58
-
59
- open_url_in_reveal('modal1', url)
60
- //get_ajax({url:url, async: false}, function(data){$('#modal1').html(data);})
61
-
62
- return true
63
- })
64
- body.on('click', 'a.new_list', function(){
65
- var entity_type = $(this).html();
66
- var url = '/entity_list/' + entity_type + '/new/'
67
-
68
- //$.ajax(url, {async: false, success: function(data){$('#modal1').html(data);}})
69
- get_ajax({url: url, async: false}, function(data){$('#modal1').html(data);})
70
-
71
- return true
72
- })
73
-
74
- body.on('click', '.edit_list input[type=submit]', function(){
75
- var submit = $(this);
76
- var form = submit.parents('form').first();
77
- var annotations = {}
78
- console.log("EDIT")
79
-
80
- $.map(form.find(':input'), function(i){ annotations[i.name] = $(i).val()})
81
-
82
- var new_list_id = annotations['list_id']
83
- delete annotations['list_id']
84
-
85
- var format = annotations['format']
86
- delete annotations['format']
87
-
88
- var entities = annotations['entities']
89
- delete annotations['entities']
90
-
91
- var entity_type = form.parents('.edit_list').first().attr('attr-entity_type')
92
-
93
- if (undefined !== format){ entity_type = entity_type + ':' + clean_element(format) }
94
-
95
- var url = '/entity_list/' + entity_type + '/' + new_list_id
96
-
97
- get_ajax({url: url, type: 'POST', async: false, data: {annotations: JSON.stringify(annotations), entities: entities}}, function(){ window.location = url })
98
-
99
- return false
100
- })
101
- }
102
-
103
- function list_entities(type, id){
104
- var url = "/entity_list" + '/' + type + '/' + id;
105
-
106
- return JSON.parse(get_ajax({url: url, async: false, method: "GET", data: {_format: 'json'}}))['entities']
107
- }
108
-
109
- function list_info(type, id){
110
- var url = "/entity_list" + '/' + type + '/' + id;
111
-
112
- return JSON.parse(get_ajax({url: url, async: false, method: "GET", data: {_format: 'info'}}))
113
- }
114
-
115
- function list_array(type, list){
116
- return "list:" + type + ":" + list;
117
- }
@@ -1,35 +0,0 @@
1
- function setup_offcanvas(){
2
- var body = $('body');
3
- body.on('click', 'a.offcanvas_button', function(){
4
- var link = $(this);
5
- var main = link.parent();
6
- var offcanvas = main.find('.offcanvas');
7
-
8
- offcanvas.toggleClass('active');
9
-
10
- main.toggleClass('shifted');
11
-
12
- return false;
13
- })
14
-
15
- register_dom_update('.offcanvas', function(offcanvas){
16
- offcanvas.each(function(){
17
- var offcanvas = $(this);
18
- var main = offcanvas.parent();
19
- //var offcanvas_button = $('<a class="offcanvas_button"> <i class="general foundicon-right-arrow open_icon"></i> <i class="general foundicon-left-arrow close_icon"></i> </a>')
20
- var offcanvas_button= $('<a href="#" class="offcanvas_button sidebar-button small button seccondary" style="width:auto;height:auto">' +
21
- '<svg xml:space="preserve" enable-background="new 0 0 48 48" viewBox="0 0 48 48" height="12px" width="12px" y="0px" x="0px" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" id="Layer_1" version="1.1">' +
22
- '<line y2="8.907" x2="48" y1="8.907" x1="0" stroke-miterlimit="10" stroke-width="8" stroke="#000000" fill="none"/>' +
23
- '<line y2="24.173" x2="48" y1="24.173" x1="0" stroke-miterlimit="10" stroke-width="8" stroke="#000000" fill="none"/>' +
24
- '<line y2="39.439" x2="48" y1="39.439" x1="0" stroke-miterlimit="10" stroke-width="8" stroke="#000000" fill="none"/>' +
25
- 'Menu' +
26
- '</svg>' +
27
- '</a>');
28
-
29
-
30
- main.addClass('has-offcanvas');
31
-
32
- main.prepend(offcanvas_button).removeClass('shifted');
33
- })
34
- })
35
- }
@@ -1,48 +0,0 @@
1
- function show_reveal(modal_id, content, source_id){
2
- var modal = $('#' + modal_id)
3
-
4
- modal.find('.title').html("")
5
- modal.find('.content').html("")
6
- modal.removeClass('url').attr('attr-reveal_source_id', source_id).find('.content').html(content);
7
- update_rbbt();
8
- return true
9
- }
10
-
11
- function open_url_in_reveal(modal, url, complete){
12
- var modal = $('#' + modal)
13
- modal.find('.title').html("")
14
- modal.find('.content').html("")
15
- replace_object(modal.find('.content'), url, true, function(){
16
- modal.addClass('url').foundation('reveal', 'open')
17
- modal.find('.link-reveal-modal').attr('href', url)
18
- if (undefined !== complete){ complete()}
19
- })
20
- }
21
-
22
- $('body').on('click', 'a.rbbt_reveal_trigger', function(){
23
- var link = $(this);
24
- var source_id = link.attr('attr-reveal_id');
25
- var content = $('#' + source_id);
26
- var modal = link.attr('data-reveal-id');
27
- show_reveal(modal, content.html(), source_id);
28
- return true
29
- });
30
-
31
- $('body').on('submit', '.reveal-modal form.rename', function(){
32
- var form = $(this);
33
- var new_name = form.find('input[name=rename]').val()
34
- var type = page_entity_type()
35
- var column = page_entity_map_column()
36
- var map_id = page_entity_map()
37
- var url = '/entity_map/rename/' + type + '/' + column + '/' + map_id
38
- url = add_parameter(url, "new_name", new_name)
39
-
40
- window.location = url
41
- return false
42
- });
43
-
44
-
45
- $('body').on('click', 'a.close-reveal-modal', function(){
46
- var modal = $(this).closest('.reveal-modal')
47
- return true
48
- })
@@ -1,314 +0,0 @@
1
- function parse_page(page){
2
- if (undefined === page){ page = "" }
3
- if (page == "" ){ return {} }
4
- var parts = page.split('~')
5
- switch(parts.length){
6
- case 1:
7
- return { num: parseInt(parts[0]) };
8
- break;
9
- case 2:
10
- return { num: parseInt(parts[0]), field: parts[1] };
11
- break;
12
- case 3:
13
- return { num: parseInt(parts[0]) , field: parts[2], size: parseInt(parts[1]) };
14
- break;
15
- }
16
- }
17
-
18
- function format_page(num, size, field){
19
- if ( undefined !== size) return "";
20
-
21
- var parts = [num];
22
- if ( undefined !== size) parts.push(size)
23
- if ( undefined !== field) parts.push(field)
24
-
25
- return parts.join("~")
26
- }
27
-
28
- function fix_long_table_cells(table, max){
29
- var update = false;
30
- table.find('td').each(function(){
31
- update = contract_ellipsis($(this), max) || update;
32
- });
33
- if (update){
34
- update_rbbt();
35
- }
36
- }
37
-
38
- register_dom_update('table:not(.noellipsis)', function(table){
39
- fix_long_table_cells(table, 5);
40
- })
41
- register_dom_update('table:not(.nosort, [attr-page])', function(table){
42
- table.tablesorter().addClass('sorted');
43
- })
44
-
45
- //{{{ PAGINATION
46
-
47
- register_dom_update('table > tfoot > tr > th > ul.table_pagination > li.num > a:not(.active)', function(link){
48
- link.click(function(){
49
- var link = $(this)
50
- var table = link.parents('table').first();
51
- var url = table.attr('attr-url')
52
- var page = table.attr('attr-page')
53
- var filter = table.attr('attr-filter')
54
-
55
- var page_info = parse_page(page)
56
- var num = link.html()
57
- var size = page_info["size"]
58
- var field = page_info["field"]
59
-
60
- url = add_parameter(url, '_page', escape(format_page(num, size, field)))
61
- url = add_parameter(url, '_format', 'table')
62
- if (undefined != filter){ url = add_parameter(url, '_filter', escape(filter)) }
63
-
64
- replace_object(table, url, true, function(){
65
- table.attr('attr-page', format_page(num, size, field)).attr('rbbt-update_tags','')
66
- update_rbbt();
67
- $.scrollTo(table.find('tfoot'), {axis : 'y', offset: {top: - window.innerHeight + 100 }})
68
- });
69
-
70
- return false
71
- })
72
- })
73
-
74
- register_dom_update('table > tfoot > tr > th > ul.table_pagination > li.arrow > a.prev', function(link){
75
- link.click(function(){
76
- var link = $(this)
77
- var table = link.parents('table').first();
78
- var url = table.attr('attr-url')
79
- var page = table.attr('attr-page')
80
- var filter = table.attr('attr-filter')
81
-
82
- var total = parseInt(table.attr('attr-total_pages'))
83
-
84
- var page_info = parse_page(page)
85
- var num = page_info["num"]
86
- var size = page_info["size"]
87
- var field = page_info["field"]
88
-
89
- num = num - 1
90
-
91
- if (num < 1) return false
92
-
93
- url = add_parameter(url, '_page', escape(format_page(num, size, field)))
94
- url = add_parameter(url, '_format', 'table')
95
- if (undefined != filter){ url = add_parameter(url, '_filter', escape(filter)) }
96
-
97
- replace_object(table, url, true, function(){
98
- table.attr('attr-page', format_page(num, size, field)).attr('rbbt-update_tags','')
99
- update_rbbt();
100
- $.scrollTo(table.find('tfoot'), {axis : 'y', offset: {top: - window.innerHeight + 100 }})
101
- });
102
-
103
- return false
104
- })
105
- })
106
-
107
- register_dom_update('table > tfoot > tr > th > ul.table_pagination > li.arrow > a.next', function(link){
108
- link.click(function(){
109
- var link = $(this)
110
- var table = link.parents('table').first();
111
- var url = table.attr('attr-url')
112
- var page = table.attr('attr-page')
113
- var filter = table.attr('attr-filter')
114
-
115
- var total = parseInt(link.parent('li').prev().find('a').html())
116
-
117
- var page_info = parse_page(page)
118
- var num = page_info["num"]
119
- var size = page_info["size"]
120
- var field = page_info["field"]
121
-
122
- if (num >= total) return false
123
-
124
- num = num + 1
125
-
126
- url = add_parameter(url, '_page', escape(format_page(num, size, field)))
127
-
128
- if (undefined != filter){ url = add_parameter(url, '_filter', escape(filter)) }
129
-
130
- url = add_parameter(url, '_format', 'table')
131
-
132
- replace_object(table, url, true, function(){
133
- table.attr('attr-page', format_page(num, size, field)).attr('rbbt-update_tags','')
134
- update_rbbt();
135
- $.scrollTo(table.find('tfoot'), {axis : 'y', offset: {top: - window.innerHeight + 100 }})
136
- });
137
-
138
- return false
139
- })
140
- })
141
-
142
- register_dom_update('table > tfoot > tr > th > ul.table_pagination > li.all > a', function(link){
143
- link.click(function(){
144
- var table = link.parents('table').first();
145
- var url = table.attr('attr-url')
146
- var filter = table.attr('attr-filter')
147
-
148
- url = add_parameter(url, '_page', '')
149
- url = add_parameter(url, '_format', 'table')
150
-
151
- if (undefined != filter){ url = add_parameter(url, '_filter', escape(filter)) }
152
-
153
- replace_object(table, url, true, function(){
154
- table.attr('rbbt-update_tags','')
155
- update_rbbt();
156
- $.scrollTo(table.find('tfoot'), {axis : 'y', offset: {top: - window.innerHeight + 100 }})
157
- });
158
-
159
- return false
160
- })
161
- })
162
-
163
- //{{{ SORTING
164
-
165
- register_dom_update('table[attr-page] > thead > tr > th', function(th){
166
- th.click(function(){
167
- var th = $(this)
168
- var table = th.parents('table').first();
169
- var url = table.attr('attr-url')
170
- var page = table.attr('attr-page')
171
- var filter = table.attr('attr-filter')
172
-
173
- var page_info = parse_page(page)
174
- var num = 1
175
- var size = page_info["size"]
176
- var field = th.html();
177
-
178
- var direction
179
-
180
- if (th.is('.headerSortDown')){
181
- direction = 1
182
- }else{
183
- direction = -1
184
- }
185
-
186
- if (direction == -1){
187
- ffield = '-' + field;
188
- }else{
189
- ffield = field;
190
- }
191
-
192
- url = add_parameter(url, '_page', escape(format_page(num, size, ffield)))
193
- url = add_parameter(url, '_format', 'table')
194
- if (undefined != filter){ url = add_parameter(url, '_filter', escape(filter)) }
195
-
196
- replace_object(table, url, true, function(){
197
- var th = table.find('thead > tr > th:contains(' + field + ')')
198
- table.addClass('sorted').attr('rbbt-update_tags','')
199
- table.attr('attr-page', format_page(num, size, ffield))
200
- if (direction == -1){
201
- th.removeClass('headerSortUp');
202
- th.addClass('headerSortDown');
203
- }else{
204
- th.removeClass('headerSortDown');
205
- th.addClass('headerSortUp')
206
- }
207
- });
208
-
209
- return false
210
-
211
- })
212
- })
213
-
214
- //{{{ FILTERS
215
-
216
- $('body').on('click', '.filter_controls form input[type=submit]', function(){
217
- var submit = $(this);
218
- var form = submit.parents('form')
219
- var filter = ""
220
-
221
- form.find('input').not('[type=submit]').each(function(){
222
- var input = $(this)
223
- var val = input.val()
224
- var name = input.attr('name')
225
-
226
- if (val != ""){
227
- if (filter != ""){ filter += ";;"}
228
- filter += name + "~" + val;
229
- }
230
- })
231
-
232
- var modal = $('#modal1')
233
- var source_id = modal.attr('attr-reveal_source_id')
234
- console.log(source_id)
235
- var source = $('#' + source_id);
236
- var table = source.parents('table').first();
237
- var url = table.attr('attr-url')
238
- var page = table.attr('attr-page')
239
-
240
- url = add_parameter(url, '_page', "1")
241
-
242
- if (undefined != filter){ url = add_parameter(url, '_filter', escape(filter)) }
243
-
244
- url = add_parameter(url, '_format', 'table')
245
-
246
- replace_object(table, url, true, function(){
247
- table.attr('attr-page', "1").attr('attr-filter', filter).attr('rbbt-update_tags','')
248
- update_rbbt();
249
- $.scrollTo(table.find('tfoot'), {axis : 'y', offset: {top: - window.innerHeight + 100 }})
250
- });
251
-
252
- modal.foundation('reveal', 'close')
253
- return false
254
- })
255
-
256
- //{{{ COLUMNS
257
-
258
-
259
- $('body').on('click', 'a.save_column_list', function(){
260
- var link = $(this);
261
- var column = link.parent().find('span.field').html()
262
-
263
- var source_id = $('#modal1').attr('attr-reveal_source_id')
264
- var source = $('#' + source_id);
265
- var table = source.parents('table').first();
266
-
267
- var url = table.attr('attr-url')
268
- var page = table.attr('attr-page')
269
- var filter = table.attr('attr-filter')
270
-
271
- var page_info = parse_page(page)
272
- var num = 'all'
273
- var size = page_info["size"]
274
- var field = page_info["field"]
275
-
276
- url = add_parameter(url, '_page', escape(format_page(num, size, field)))
277
- url = add_parameter(url, '_format', 'entities')
278
- url = add_parameter(url, '_column', column)
279
- if (undefined != filter){ url = add_parameter(url, '_filter', escape(filter)) }
280
-
281
- open_url_in_reveal('modal2', url, function(){
282
- $('#modal2 > .header > .title').html($('<a>').addClass('toggle_favourite').attr('href', '#').append($('<i>').addClass('foundicon-star')))
283
- })
284
- return false
285
- });
286
-
287
- $('body').on('click', 'a.save_column_map', function(){
288
- var link = $(this);
289
- var column = link.parent().find('span.field').html()
290
-
291
- var source_id = $('#modal1').attr('attr-reveal_source_id')
292
- var source = $('#' + source_id);
293
- var table = source.parents('table').first();
294
-
295
- var url = table.attr('attr-url')
296
- var page = table.attr('attr-page')
297
- var filter = table.attr('attr-filter')
298
-
299
- var page_info = parse_page(page)
300
- var num = 'all'
301
- var size = page_info["size"]
302
- var field = page_info["field"]
303
-
304
- url = add_parameter(url, '_page', escape(format_page(num, size, field)))
305
- url = add_parameter(url, '_column', escape(column))
306
- url = add_parameter(url, '_format', 'map')
307
- if (undefined != filter){ url = add_parameter(url, '_filter', escape(filter)) }
308
-
309
- open_url_in_reveal('modal2', url, function(){
310
- $('#modal2 > .header > .title').html($('<a>').addClass('toggle_favourite').attr('href', '#').append($('<i>').addClass('foundicon-star')))
311
- })
312
- return false
313
- });
314
-