rbbt-rest 1.7.5 → 1.7.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rbbt/rest/common/cache.rb +4 -1
  3. data/lib/rbbt/rest/entity.rb +1 -1
  4. data/lib/rbbt/rest/entity/favourites.rb +1 -1
  5. data/share/views/compass/app.sass +5 -422
  6. data/share/views/compass/card_templates.sass +42 -0
  7. data/share/views/compass/layout.sass +174 -5
  8. data/share/views/compass/misc.sass +209 -0
  9. data/share/views/compass/{base → old/base}/backgrounds.sass +0 -0
  10. data/share/views/compass/{base → old/base}/blocks.sass +0 -0
  11. data/share/views/compass/{base → old/base}/color.sass +0 -0
  12. data/share/views/compass/{base → old/base}/colors.sass +0 -0
  13. data/share/views/compass/{base → old/base}/font-scale.sass +0 -0
  14. data/share/views/compass/{base → old/base}/fonts.sass +0 -0
  15. data/share/views/compass/{base → old/base}/hide.sass +0 -0
  16. data/share/views/compass/{base → old/base}/icon_content.scss +0 -0
  17. data/share/views/compass/{base → old/base}/icons.sass +0 -0
  18. data/share/views/compass/{base → old/base}/material.sass +0 -0
  19. data/share/views/compass/{base → old/base}/misc.sass +0 -0
  20. data/share/views/compass/{base → old/base}/screen_sizes.sass +0 -0
  21. data/share/views/compass/{base → old/base}/text.sass +0 -0
  22. data/share/views/compass/{base → old/base}/util.sass +0 -0
  23. data/share/views/compass/{base → old/base}/variables.sass +0 -0
  24. data/share/views/compass/{base → old/base}/variables/color.sass +0 -0
  25. data/share/views/compass/{blocks.sass → old/blocks.sass} +0 -0
  26. data/share/views/compass/{cards.sass → old/cards.sass} +0 -0
  27. data/share/views/compass/{color.sass → old/color.sass} +0 -0
  28. data/share/views/compass/{color → old/color}/blocks.sass +0 -0
  29. data/share/views/compass/{color → old/color}/buttons.sass +0 -0
  30. data/share/views/compass/{color → old/color}/elements.sass +0 -0
  31. data/share/views/compass/{color → old/color}/font.sass +0 -0
  32. data/share/views/compass/{color → old/color}/top_bar.sass +0 -0
  33. data/share/views/compass/{elements.sass → old/elements.sass} +0 -0
  34. data/share/views/compass/{elements → old/elements}/buttons.sass +0 -0
  35. data/share/views/compass/{elements → old/elements}/forms.sass +0 -0
  36. data/share/views/compass/{elements → old/elements}/lists.sass +0 -0
  37. data/share/views/compass/{elements → old/elements}/materials.sass +0 -0
  38. data/share/views/compass/{elements → old/elements}/movement.sass +0 -0
  39. data/share/views/compass/{elements → old/elements}/positions.sass +0 -0
  40. data/share/views/compass/{elements → old/elements}/table.sass +0 -0
  41. data/share/views/compass/{elements → old/elements}/tool.sass +0 -0
  42. data/share/views/compass/{grid.sass → old/grid.sass} +0 -0
  43. data/share/views/compass/{init.sass → old/init.sass} +0 -0
  44. data/share/views/compass/old/layout.sass +5 -0
  45. data/share/views/compass/{layout → old/layout}/body.sass +0 -0
  46. data/share/views/compass/{layout → old/layout}/footer.sass +0 -0
  47. data/share/views/compass/{layout → old/layout}/result.sass +0 -0
  48. data/share/views/compass/{layout → old/layout}/reveal.sass +0 -0
  49. data/share/views/compass/{layout → old/layout}/top_bar.sass +0 -0
  50. data/share/views/compass/{layout → old/layout}/top_menu.sass +0 -0
  51. data/share/views/compass/{menu.sass → old/menu.sass} +0 -0
  52. data/share/views/compass/{menu → old/menu}/accordion_menu.sass +0 -0
  53. data/share/views/compass/{menu → old/menu}/actionable.sass +0 -0
  54. data/share/views/compass/{menu → old/menu}/dropdown_menu.sass +0 -0
  55. data/share/views/compass/{menu → old/menu}/hide.sass +0 -0
  56. data/share/views/compass/{menu → old/menu}/menu.sass +0 -0
  57. data/share/views/compass/{menu → old/menu}/tab_menu.sass +0 -0
  58. data/share/views/compass/{menu → old/menu}/top_bar.sass +0 -0
  59. data/share/views/compass/{menu → old/menu}/vertical_menu.sass +0 -0
  60. data/share/views/compass/{mixins → old/mixins}/_all.sass +0 -0
  61. data/share/views/compass/{mixins → old/mixins}/_blocks.sass +0 -0
  62. data/share/views/compass/{mixins → old/mixins}/_compass.sass +0 -0
  63. data/share/views/compass/{mixins → old/mixins}/_deps.sass +0 -0
  64. data/share/views/compass/{mixins → old/mixins}/_hide.sass +0 -0
  65. data/share/views/compass/{mixins → old/mixins}/_keyframes.scss +0 -0
  66. data/share/views/compass/{mixins → old/mixins}/_semantic-ui.sass +0 -0
  67. data/share/views/compass/{new.sass → old/new.sass} +0 -0
  68. data/share/views/compass/{offcanvas.sass → old/offcanvas.sass} +0 -0
  69. data/share/views/compass/{position → old/position}/basic.sass +0 -0
  70. data/share/views/compass/{responsive.sass → old/responsive.sass} +0 -0
  71. data/share/views/compass/{semantic-ui.css → old/semantic-ui.css} +0 -0
  72. data/share/views/compass/{semantic-ui → old/semantic-ui}/semantic-ui.css +0 -0
  73. data/share/views/compass/{space → old/space}/button.sass +0 -0
  74. data/share/views/compass/{table.sass → old/table.sass} +0 -0
  75. data/share/views/compass/{text.sass → old/text.sass} +0 -0
  76. data/share/views/compass/{variables → old/variables}/colors.sass +0 -0
  77. data/share/views/compass/{variables → old/variables}/sizes.sass +0 -0
  78. data/share/views/compass/screen_sizes.sass +16 -1
  79. data/share/views/compass/tab_menu.sass +115 -0
  80. data/share/views/entity_partials/entity_list_card.haml +2 -2
  81. data/share/views/entity_partials/entity_map_card.haml +1 -1
  82. data/share/views/help/UI.haml +10 -10
  83. data/share/views/layout.haml +2 -0
  84. data/share/views/layout/coda.haml +0 -4
  85. data/share/views/layout/header.haml +2 -2
  86. data/share/views/public/js/app.js +16 -0
  87. data/share/views/public/js/{_ajax_replace.js → helpers/_ajax_replace.js} +0 -0
  88. data/share/views/public/js/{_ellipsis.js → helpers/_ellipsis.js} +0 -0
  89. data/share/views/public/js/{_md5.js → helpers/_md5.js} +0 -0
  90. data/share/views/public/js/{defer.js → helpers/defer.js} +0 -0
  91. data/share/views/public/js/{helpers.js → helpers/helpers.js} +0 -0
  92. data/share/views/public/js/rbbt.basic.js +4 -0
  93. data/share/views/public/js/rbbt.favourites.js +3 -2
  94. data/share/views/public/js/rbbt.js +5 -0
  95. data/share/views/public/js/rbbt.modal.js +18 -1
  96. data/share/views/public/js/rbbt/list.js +4 -0
  97. data/share/views/public/js/rbbt/map.js +0 -1
  98. metadata +79 -82
  99. data/share/views/public/js/rbbt.favourites.js.old +0 -195
  100. data/share/views/public/js/rbbt/favourites.js +0 -420
  101. data/share/views/public/js/rbbt/hide.js +0 -64
  102. data/share/views/public/js/rbbt/menu.js +0 -23
  103. data/share/views/public/js/rbbt/modal.js +0 -104
  104. data/share/views/public/js/rbbt/page_type.js +0 -110
  105. data/share/views/public/js/rbbt/workflow.js +0 -18
@@ -1,420 +0,0 @@
1
-
2
- function get_favourite_entities(complete){
3
- return get_ajax({url: '/favourite_entities', async: true, cache: false}, complete)
4
- }
5
-
6
- function get_favourite_entity_lists(complete){
7
- return get_ajax({url: '/favourite_entity_lists', async: true, cache: false}, complete)
8
- }
9
-
10
- function get_favourite_entity_maps(complete){
11
- return get_ajax({url: '/favourite_entity_maps', async: true, cache: false}, complete)
12
- }
13
-
14
- //{{{{ FAVOURITE MENUS
15
-
16
- function favourite_type_ul(entities){
17
- var type_ul = $('<ul>').addClass('entities')
18
- for (var entity in entities){
19
- var entity_hash = entities[entity];
20
- var link = entity_hash["link"];
21
- var entity_li = $('<li>');
22
- entity_li.append(link);
23
- type_ul.append(entity_li);
24
- }
25
- return type_ul
26
- }
27
-
28
- function favourite_list_type_ul(type, lists){
29
- var type_ul = $('<ul>').addClass('lists').addClass('clean_list')
30
- for (var list in lists){
31
- var list = lists[list];
32
- var link = list_link(type, list)
33
- var entity_li = $('<li>');
34
- entity_li.html(link);
35
- type_ul.append(entity_li);
36
- }
37
- return type_ul
38
- }
39
-
40
- function favourite_map_type_ul(type, column, maps){
41
- var type_ul = $('<ul>').addClass('maps')
42
- for (var map in maps){
43
- var map = maps[map];
44
- var link = map_link(type, column, map)
45
- var entity_li = $('<li>');
46
- entity_li.html(link);
47
- type_ul.append(entity_li);
48
- }
49
- return type_ul
50
- }
51
-
52
- $.widget("rbbt.favourites", {
53
- options: {
54
- entities: {},
55
- lists: {},
56
- maps: {}
57
- },
58
-
59
- _create: function() {
60
- this.update();
61
- var tool = this;
62
- this.element.on('click', 'dt.star', function(){
63
- tool.toggle()
64
- return false
65
- })
66
- this.element.on('click', 'a.remove_element', function(){
67
- tool._remove_element($(this).siblings('a.entity, a.entity_list, a.entity_map'))
68
- })
69
- },
70
-
71
- _menu: function(){
72
- return(this.element)
73
- },
74
-
75
- _sync: function(){
76
- var tool = this
77
-
78
- get_favourite_entities(function(entities){
79
- tool.options.entities = entities;
80
- tool._update_entities()
81
- tool._update_star()
82
- })
83
-
84
- get_favourite_entity_lists(function(lists){
85
- tool.options.lists = lists;
86
- tool._update_lists()
87
- tool._update_star()
88
- })
89
-
90
-
91
- get_favourite_entity_maps(function(maps){
92
- tool.options.maps = maps;
93
- tool._update_maps()
94
- tool._update_star()
95
- })
96
- },
97
-
98
- //{{{ REMOVE ELEMENT
99
- //----------
100
-
101
- _remove_element: function(link){
102
- var item = link.parent('li');
103
- var ul = item.parent('ul');
104
- var type = ul.attr('class');
105
- var dt = ul.parent('dd').prev('dt');
106
- var element = link.attr('title');
107
- var entity_type = dt.attr('entity_type');
108
- var entity_column = dt.attr('entity_column');
109
- var url;
110
- var tool = this;
111
-
112
- switch(type){
113
- case "entities":
114
- method = "/remove_favourite_entity/";
115
- element = link.attr('attr-entity_id')
116
- url = method + clean_element(entity_type) + "/" + element;
117
- break;
118
-
119
- case "lists":
120
- method = "/remove_favourite_entity_list/";
121
- url = method + clean_element(entity_type) + "/" + clean_element(element);
122
- break;
123
-
124
- case "maps":
125
- method = "/remove_favourite_entity_map/";
126
- url = method + clean_element(entity_type) + "/" + clean_element(entity_column) + "/" + clean_element(element);
127
- break;
128
- };
129
-
130
- $.ajax({url: url, type: 'POST', success: function (){ tool.update()}})
131
- },
132
-
133
- _add_destructors: function(list){
134
- var icon = $('<i class="general fi-minus">')
135
- var remove = $('<a class=remove_element></a>').append(icon)
136
- list.find('li').prepend(remove)
137
- },
138
-
139
-
140
- //{{{ TOGGLE PAGE STAR
141
- //----------
142
-
143
- _update_star: function(){
144
- if (this.is_favourite() == true){
145
- this.element.find('dt.star').addClass('active');
146
- }else{
147
- this.element.find('dt.star').removeClass('active');
148
- }
149
- },
150
- _toggle_page: function(){
151
- this.toggle_page(undefined)
152
- },
153
-
154
- toggle: function(){
155
- this._toggle_page();
156
- },
157
-
158
- //{{{ UPDATE
159
- //----------
160
-
161
- _update_entities: function(){
162
- var menu = this._menu()
163
- menu.find('ul.entities').addClass('remove');
164
-
165
- var entities = menu.find('dt.entities').next('dd').find('> dl')
166
- for(type in this.options.entities){
167
- var ul = favourite_type_ul(this.options.entities[type]);
168
- this._add_destructors(ul)
169
- var dt = entities.find('dt[entity_type=' + clean_attr(type) + ']')
170
-
171
- if (dt.length == 0){
172
- var dt = $('<dt>').html(type).addClass('next').addClass('type').attr('entity_type', type);
173
- var dd = $('<dd>').append(ul);
174
- entities.append(dt).append(dd);
175
- update_rbbt();
176
- }else{
177
- if (dt.next('dd').find('ul.entities').length == 0){
178
- dt.next('dd').append(ul);
179
- }else{
180
- dt.next('dd').find('ul.entities').replaceWith(ul);
181
- }
182
- }
183
-
184
- menu.find('dt[entity_type=' + clean_attr(type) + ']').next('dd').find('ul.entities').replaceWith(ul);
185
- }
186
- menu.find('ul.entities.remove').remove()
187
- },
188
-
189
- _update_lists: function(){
190
- var menu = this._menu()
191
- menu.find('ul.lists').addClass('remove');
192
-
193
- var lists = menu.find('dt.lists').next('dd').find('> dl')
194
- for(type in this.options.lists){
195
- var ul = favourite_list_type_ul(type, this.options.lists[type])
196
- this._add_destructors(ul)
197
- var dt = lists.find('dt[entity_type=' + clean_attr(type) + ']');
198
-
199
- if (dt.length == 0){
200
- var dt = $('<dt>').html(type).addClass('next').addClass('type').attr('entity_type', type);
201
- var dd = $('<dd>').append(ul);
202
- lists.append(dt).append(dd);
203
- update_rbbt();
204
- }else{
205
- if (dt.next('dd').find('ul.lists').length == 0){
206
- dt.next('dd').append(ul);
207
- }else{
208
- dt.next('dd').find('ul.lists').replaceWith(ul);
209
- }
210
- }
211
- }
212
- menu.find('ul.lists.remove').remove();
213
- },
214
-
215
- _update_maps: function(){
216
- var menu = this._menu()
217
- menu.find('ul.maps').addClass('remove')
218
-
219
- var maps = menu.find('dt.maps').next('dd').find('> dl')
220
- for(type in this.options.maps){
221
- for(column in this.options.maps[type]){
222
- var ul = favourite_map_type_ul(type, column, this.options.maps[type][column]);
223
- this._add_destructors(ul)
224
- var dt = maps.find('dt[entity_type=\'' + clean_attr(type) + '\'][entity_column=\'' + clean_attr(column) + '\']');
225
-
226
- if (dt.length == 0){
227
- var dt = $('<dt>').html(type + ' - ' + column).addClass('next').addClass('type').attr('entity_type', clean_attr(type)).attr('entity_column', clean_attr(column));
228
- var dd = $('<dd>').append(ul);
229
- maps.append(dt).append(dd);
230
- update_rbbt();
231
- }else{
232
- if (dt.next('dd').find('ul.maps').length == 0){
233
- dt.next('dd').append(ul);
234
- }else{
235
- dt.next('dd').find('ul.maps').replaceWith(ul);
236
- }
237
- }
238
- }
239
- }
240
- menu.find('ul.maps.remove').remove()
241
- },
242
-
243
-
244
- //{{{ SELECTS
245
- //
246
- _update_list_select: function(select, type, lists){
247
- if (select.attr('attr-allow-empty') == 'true'){
248
- var option = $('<option value="none" class="loaded">none</option>')
249
- select.append(option);
250
- }
251
-
252
- var selected = null;
253
-
254
- if (select.attr('attr-selected') != undefined ){
255
- selected = select.attr('attr-selected');
256
- }
257
-
258
- $.each(lists, function(name, elems){
259
- var option = null;
260
- var name = elems
261
- if (selected == null || name != selected){
262
- option = $('<option attr-entity_type="' + type + '" class="automatic_load" value="' + name + '">' + name + '</option>');
263
- }else{
264
- option = $('<option attr-entity_type="' + type + '" class="automatic_load" selected=selected value="' + name + '">' + name + '</option>');
265
- }
266
- select.append(option);
267
- return true
268
- })
269
- },
270
-
271
- _update_map_select: function(select, type, map_lists){
272
- if (select.attr('attr-allow-empty') == 'true'){
273
- var option = $('<option value="none" class="loaded">none</option>');
274
- select.append(option);
275
- }
276
-
277
- var selected = null;
278
-
279
- if (select.attr('attr-selected') != undefined ){
280
- selected = select.attr('attr-selected');
281
- }
282
-
283
- for (column in map_lists){
284
- var maps = map_lists[column];
285
- if (undefined === select.attr('column') || select.attr('column') == column){
286
- $.each(maps, function(name, elems){
287
- var option = null;
288
- var name = elems
289
- if (selected == null || name != selected){
290
- option = $('<option class="automatic_load" attr-entity_type="' + clean_attr(type) + '" attr-column="'+ clean_attr(column) + '" value="' + name + '">' + name + '</option>');
291
- }else{
292
- option = $('<option class="automatic_load" attr-entity_type="' + clean_attr(type) + '" attr-column="'+ clean_attr(column) + '" selected=selected value="' + name + '">' + name + '</option>');
293
- }
294
- select.append(option);
295
- return true
296
- })
297
- }
298
- }
299
- },
300
-
301
- //{{{ UPDATES
302
- //
303
- update_list_selects: function(){
304
- var tool = this;
305
- $('select.favourite_lists').find('option.automatic_load').remove()
306
-
307
- $.each(this.options.lists, function(type, lists){
308
- $('select.favourite_lists[type=' + type + ']').each(function(){
309
- var select = $(this);
310
- tool._update_list_select(select, type, lists);
311
- })
312
- $('select.favourite_lists[type=All]').each(function(){
313
- var select = $(this);
314
- select.append($('<option class="automatic_load" disabled>'+ type +'</option>'));
315
- tool._update_list_select(select, type, lists);
316
- })
317
- });
318
- },
319
-
320
- update_map_selects: function(){
321
- var tool = this;
322
- $('select.favourite_maps').find('option.automatic_load').remove()
323
-
324
- $.each(this.options.maps, function(type, maps){
325
- $('select.favourite_maps[type=' + type + ']').each(function(){
326
- var select = $(this);
327
- tool._update_map_select(select, type, maps);
328
- })
329
- $('select.favourite_maps[type=All]').each(function(){
330
- var select = $(this);
331
- select.append($('<option class="automatic_load" disabled>'+ type +'</option>'));
332
- tool._update_map_select(select, type, maps);
333
- })
334
- });
335
- },
336
-
337
- close: function(){
338
- this.element.find('.show').removeClass('show')
339
- },
340
-
341
- is_favourite: function(path){
342
- var type = page_type(path);
343
-
344
- switch(type){
345
-
346
- case "entity":
347
- var entity = page_entity(path);
348
- var entity_type = page_entity_base_type(path);
349
- return this.options.entities[entity_type] !== undefined && this.options.entities[entity_type][entity] !== undefined
350
-
351
- case "entity_list":
352
- var list = page_entity_list(path);
353
- var entity_type = page_entity_base_type(path);
354
- return this.options.lists[entity_type] !== undefined && _.indexOf(this.options.lists[entity_type], list) !== -1
355
-
356
- case "entity_map":
357
- var map = page_entity_map(path);
358
- var entity_type = page_entity_base_type(path);
359
- var entity_column = page_entity_map_column(path);
360
- return this.options.maps[entity_type] !== undefined && this.options.maps[entity_type][entity_column] !== undefined && _.indexOf(this.options.maps[entity_type][entity_column], map) !== -1
361
- }
362
-
363
- return false
364
- },
365
-
366
- toggle_page: function(path){
367
- var type = page_type(path);
368
- var tool = this
369
- switch(type){
370
-
371
- case "entity":
372
- var entity = page_entity(path);
373
- var entity_type = page_entity_type(path);
374
- var entity_info = page_entity_info(path);
375
-
376
- if (this.is_favourite(path)){
377
- method = "/remove_favourite_entity/";
378
- }else{
379
- method = "/add_favourite_entity/";
380
- }
381
- var url = method + clean_element(entity_type) + "/" + entity;
382
- $.ajax({url: url, type: 'POST', data: entity_info, success: function (){ tool.update()}})
383
- break;
384
-
385
- case "entity_list":
386
- var list = page_entity_list(path);
387
- var entity_type = page_entity_type(path);
388
- if (this.is_favourite(path)){
389
- method = "/remove_favourite_entity_list/";
390
- }else{
391
- method = "/add_favourite_entity_list/";
392
- }
393
- var url = method + clean_element(entity_type) + "/" + clean_element(list);
394
- $.ajax({url: url, type: 'POST', success: function (){ tool.update() }})
395
- break;
396
-
397
- case "entity_map":
398
- var map = page_entity_map(path);
399
- var entity_type = page_entity_type(path);
400
- var entity_column = page_entity_map_column(path);
401
- if (this.is_favourite(path)){
402
- method = "/remove_favourite_entity_map/";
403
- }else{
404
- method = "/add_favourite_entity_map/";
405
- }
406
- var url = method + clean_element(entity_type) + "/" + clean_element(entity_column) + "/" + clean_element(map);
407
- $.ajax({url: url, type: 'POST', success: function (){ tool.update()}})
408
- break;
409
- }
410
- },
411
-
412
-
413
- update: function(){
414
- this._sync()
415
- $('#modal.url.entity').modal('update_star')
416
- }
417
-
418
- })
419
-
420
-
@@ -1,64 +0,0 @@
1
- $.widget("rbbt.hide_toggle", {
2
- options: {
3
- },
4
-
5
- _create: function() {
6
- var tool = this
7
- var element = this.element
8
- if (this.options.title === undefined){ this.options.title = element.attr('hide-title') }
9
- if (this.options.title === undefined){ this.options.title = "toggle" }
10
-
11
- var button = this.options.button = $('<a>').addClass('hide_toggle').html(this.options.title).attr('data-title', this.options.title)
12
-
13
- button.click(function(){ tool.toggle(); update_rbbt(); return false })
14
- if (this.options.container !== undefined){
15
- $(this.options.container).first().append(button)
16
- }
17
- //this.hide()
18
- },
19
-
20
- _swap: function(){
21
- this.options.saved = this.element.html()
22
- this.element.html(this.options.button)
23
- },
24
-
25
- _restore: function(){
26
- this.element.html(this.options.saved)
27
- },
28
-
29
-
30
- hide: function(){
31
- var tool = this;
32
- this.element.addClass('hidden').removeClass('shown').removeClass('show')
33
- this.options.button.addClass('hidden').removeClass('shown').removeClass('show')
34
-
35
- if (this.options.container === undefined){ this._swap(); }
36
- },
37
-
38
- show: function(){
39
- if (this.options.container === undefined){
40
- this._restore();
41
- }else{
42
- $(this.options.container).find('.hide_toggle.shown').trigger('click')
43
- }
44
- this.element.addClass('shown').addClass('show').removeClass('hidden')
45
- this.options.button.addClass('shown').addClass('show').removeClass('hidden')
46
- },
47
-
48
- toggle: function(){
49
- if (this.element.hasClass('shown')){
50
- this.hide();
51
- }else{
52
- this.show();
53
- }
54
- }
55
-
56
- })
57
-
58
- $('#top_menu .hide').hide_toggle({container: '#top_menu .container'})
59
-
60
- $('.sidebar').hide_toggle({container: '#top_menu .container', title: 'Side'})
61
-
62
- $('.actions.togglable_hide .action_controller').parents('.togglable_hide').first().hide_toggle({container: '#top_menu .container'})
63
-
64
- register_dom_update('.fixable', function(elem){ elem.hide_toggle({container: '#top_menu .container', title: "Fixed"}) })