drg_cms 0.6.0.8 → 0.6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/drg_cms/drg_cms.js +100 -58
  3. data/app/assets/stylesheets/drg_cms/drg_cms.css +177 -43
  4. data/app/controllers/cmsedit_controller.rb +149 -145
  5. data/app/controllers/dc_application_controller.rb +235 -113
  6. data/app/controllers/dc_common_controller.rb +32 -3
  7. data/app/controls/dc_help_control.rb +126 -0
  8. data/app/controls/dc_report.rb +5 -7
  9. data/app/forms/all_options.yml +10 -4
  10. data/app/forms/cms_menu.yml +7 -1
  11. data/app/forms/dc_category.yml +2 -1
  12. data/app/forms/dc_design.yml +1 -0
  13. data/app/forms/dc_help_1.yml +109 -0
  14. data/app/forms/dc_journal.yml +3 -1
  15. data/app/forms/dc_link.yml +1 -1
  16. data/app/forms/dc_menu.yml +2 -0
  17. data/app/forms/dc_menu_item.yml +1 -0
  18. data/app/forms/dc_page.yml +2 -0
  19. data/app/forms/dc_part.yml +1 -0
  20. data/app/forms/dc_piece.yml +1 -0
  21. data/app/forms/dc_poll.yml +3 -0
  22. data/app/forms/dc_simple_menu.yml +2 -0
  23. data/app/forms/dc_site.yml +2 -6
  24. data/app/forms/dc_user.yml +27 -11
  25. data/app/forms/dc_user_role.yml +3 -0
  26. data/app/helpers/cms_common_helper.rb +69 -4
  27. data/app/helpers/cms_edit_helper.rb +32 -24
  28. data/app/helpers/cms_helper.rb +64 -26
  29. data/app/helpers/cms_index_helper.rb +84 -72
  30. data/app/helpers/dc_application_helper.rb +33 -24
  31. data/app/models/concerns/dc_page_concern.rb +11 -2
  32. data/app/models/concerns/dc_policy_rule_concern.rb +20 -8
  33. data/app/models/concerns/dc_site_concern.rb +56 -44
  34. data/app/models/concerns/dc_user_concern.rb +57 -18
  35. data/app/models/dc_design.rb +29 -19
  36. data/app/models/dc_key_value_store.rb +1 -0
  37. data/app/models/dc_permission.rb +19 -9
  38. data/app/models/dc_policy.rb +25 -14
  39. data/app/models/dc_policy_role.rb +22 -11
  40. data/app/models/dc_temp.rb +1 -1
  41. data/app/models/dc_user_role.rb +2 -2
  42. data/app/models/drgcms_form_fields/embedded.rb +5 -8
  43. data/app/models/drgcms_form_fields/file_field.rb +1 -1
  44. data/app/models/drgcms_form_fields/file_select.rb +2 -2
  45. data/app/models/drgcms_form_fields/hash_field.rb +11 -7
  46. data/app/models/drgcms_form_fields/link_to.rb +2 -2
  47. data/app/models/drgcms_form_fields/method.rb +5 -4
  48. data/app/models/drgcms_form_fields/multitext_autocomplete.rb +1 -1
  49. data/app/models/drgcms_form_fields/select.rb +10 -9
  50. data/app/models/drgcms_form_fields/text_autocomplete.rb +2 -2
  51. data/app/views/cmsedit/edit.html.erb +2 -0
  52. data/app/views/cmsedit/index.html.erb +2 -1
  53. data/app/views/cmsedit/new.html.erb +2 -0
  54. data/app/views/dc_common/_help.html.erb +8 -0
  55. data/app/views/layouts/models.html.erb +2 -1
  56. data/config/locales/drgcms_en.yml +12 -0
  57. data/config/locales/drgcms_sl.yml +15 -0
  58. data/config/locales/models_en.yml +5 -5
  59. data/config/locales/models_sl.yml +7 -6
  60. data/lib/drg_cms.rb +58 -0
  61. data/lib/drg_cms/version.rb +1 -1
  62. metadata +5 -3
  63. data/app/models/__dc_dummy.rb +0 -102
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ef26a547c0b8b4274cf351a0d479541cd2bfb10ebf1ba6405dcba87fa816d08d
4
- data.tar.gz: 9e7c29e2d144e3b758972056359940a94baffb869cc18ee7f4483947f36be850
3
+ metadata.gz: bdd59e26395442cc8bec436e5a05940e762f373bfd30a83d5ddca87b443627a4
4
+ data.tar.gz: be25c10a78a2fc6ed37f5e02484cfbff1d28b8cadb8546432f5b67665578006f
5
5
  SHA512:
6
- metadata.gz: '0918c545df0e262b8ca70f4a59451df888283374b0084f9fe14e554ed9a461fdadf749c89a02240d1898fde8c616dd272eec8fda39e1d8b255007859c71dbfa1'
7
- data.tar.gz: 81f13601bafc13609e8c8f620d2511d9cc329bb82c0024eaaf6460639ea2102aaaf70f59860dfb33f75a647039440a30b9e388bc5094d433ec6c4fde25b0910a
6
+ metadata.gz: 838507481e4d09277049b1468ddbc18b2e40cc32b5fdcac38224169ab1b761aee445ebd93c0747c409db4f87298e986c9472552bc60d69f7d73031bea58a9c31
7
+ data.tar.gz: 41965e0a604a632d975d3081d85d4e1d775ccb01a7e6dbbfad49be732e89f1223b20376024897b13df742bd6b38eab8c4a8f541d5270f127660dfd23e5edd27e
@@ -47,16 +47,16 @@ dumpAttributes = function(obj) {
47
47
  * selected tab and triggers iframe reload.
48
48
  *******************************************************************/
49
49
  update_embedded_on_tab_select = function(div_name) {
50
- var iframes = $(div_name).find("iframe");
50
+ let iframes = $(div_name).find("iframe");
51
51
  $.each(iframes, function(index, iframe) {
52
52
  // delayed load
53
- var src_delay = iframe.getAttribute('data-src-delay');
53
+ let src_delay = iframe.getAttribute('data-src-delay');
54
54
  if (src_delay != null && src_delay != '') {
55
55
  iframe.setAttribute('data-src-delay', '');
56
56
  iframe.setAttribute('src', src_delay);
57
57
  }
58
58
  // always load on tab select
59
- var src_always = iframe.getAttribute('data-src-always');
59
+ let src_always = iframe.getAttribute('data-src-always');
60
60
  if (src_always != null) {
61
61
  iframe.setAttribute('src', src_always);
62
62
  }
@@ -184,7 +184,7 @@ $(function() {
184
184
  *******************************************************************/
185
185
 
186
186
  process_json_result = function(json) {
187
- var i,w,operation,selector, msg_div, field;
187
+ var i, w, operation, selector, msg_div, field;
188
188
  $.each(json, function(key, value) {
189
189
  i = key.search('_');
190
190
  if (i > 1) {
@@ -194,16 +194,13 @@ process_json_result = function(json) {
194
194
  operation = key;
195
195
  selector = '';
196
196
  }
197
- //
197
+
198
198
  switch (operation) {
199
199
 
200
200
  /**** update fields on form ****/
201
201
  case 'record':
202
- // field = $('#'+key);
203
- var name = key.replace('record_','record[') + ']';
202
+ let name = key.replace('record_','record[') + ']';
204
203
  field = $('[name="' + name + '"]');
205
- console.log(field.attr('type'));
206
- console.log(field.is('select'));
207
204
  // checkbox field
208
205
  if (field.is(':checkbox')) {
209
206
  field.prop('checked', value);
@@ -231,19 +228,21 @@ process_json_result = function(json) {
231
228
 
232
229
  /**** display message ****/
233
230
  case 'msg':
234
- msg_div = 'dc-form-' + selector;
235
- if ( $('.'+msg_div).length == 0 ) {
231
+ let msg_div = 'dc-form-' + selector;
232
+ if ( $('.' + msg_div).length == 0 ) {
236
233
  value = '<div class="' + msg_div + '">' + value + '</div>';
237
234
  $('.dc-title').after(value);
238
235
  } else {
239
- $('.'+msg_div).html(value);
236
+ $('.' + msg_div).html(value);
237
+ $('.' + msg_div).show();
240
238
  }
241
239
  break;
242
240
 
243
241
  /**** display popup message ****/
244
- case 'popup':
242
+ case 'popup':
245
243
  $('#popup').html(value);
246
- $('#popup').bPopup({ speed: 650, transition: 'slideDown' });
244
+ $('#popup').bPopup({ speed: 650, transition: 'slideUp'});
245
+ break;
247
246
 
248
247
  /**** update div ****/
249
248
  case '#div+':
@@ -274,7 +273,8 @@ process_json_result = function(json) {
274
273
  break;
275
274
  case 'window':
276
275
  if (value == 'close') { window.close();
277
- } else if (value == 'reload') { location.reload();
276
+ } else if (value == 'reload') {
277
+ location.reload();
278
278
  } else {
279
279
  w = window.open(value, selector);
280
280
  w.focus();
@@ -292,11 +292,12 @@ process_json_result = function(json) {
292
292
  eval (value);
293
293
  break;
294
294
  case 'reload':
295
+ value = value.toString();
295
296
  if (value == 'parent') {
296
297
  parent.location.reload();
297
298
  /*** this would be current window (reload: true) ****/
298
299
  } else if (value.length < 5) {
299
- window.location.href = window.location.href;
300
+ location.reload();
300
301
  /*** reload iframe ****/
301
302
  } else {
302
303
  $( '#' + value ).attr('src', $( '#' + value ).attr('src'));
@@ -344,17 +345,38 @@ $.fn.dc_scroll_view = function () {
344
345
  * Updates single field on parent iframe form of embedded form.
345
346
  *******************************************************************/
346
347
  process_parent_form_updates = function(element) {
347
- var field = element.getAttribute("data-field");
348
- var value = element.getAttribute("data-value");
349
- if ( window.parent.$('#'+field).length > 0 ) {
350
- if (field.substring(0,3) === 'td_') { // readonly field
351
- window.parent.$('#'+field+' > div').html(value);
352
- } else { // input field
353
- window.parent.$('#'+field).val(value);
348
+ let field = element.getAttribute("data-field");
349
+ let value = element.getAttribute("data-value");
350
+ let selector = '#' + field;
351
+
352
+ // update record
353
+ if (field.match(/record/)) {
354
+ if (window.parent.$(selector).length > 0) {
355
+ if (field.substring(0, 3) === 'td_') { // readonly field
356
+ window.parent.$(selector + ' > div').html(value);
357
+ } else { // input field
358
+ window.parent.$(selector).val(value);
359
+ }
360
+ }
361
+ // any div
362
+ } else {
363
+ if (window.parent.$(selector).length > 0) {
364
+ window.parent.$(selector).html(value);
354
365
  }
355
366
  }
356
367
  };
357
368
 
369
+ /*****************************************************************
370
+ * Toggle show and hide div
371
+ ******************************************************************/
372
+ dc_toggle_div = function(div) {
373
+ if ($(div).is(":visible")) {
374
+ $(div).slideUp();
375
+ } else {
376
+ $(div).slideDown();
377
+ }
378
+ };
379
+
358
380
  /*******************************************************************
359
381
  *
360
382
  *******************************************************************/
@@ -443,7 +465,7 @@ $(document).ready( function() {
443
465
  *******************************************************************/
444
466
  $('.dc-form-li').on('click', function(e) {
445
467
  // find li with dc-form-li-selected class. This is our old tab
446
- var old_tab_id = null;
468
+ let old_tab_id = null;
447
469
  $(e.target).parents('ul').find('li').each( function() {
448
470
  if ($(this).hasClass('dc-form-li-selected')) {
449
471
  // when not already selected toggle dc-form-li-selected class and save old tab
@@ -461,11 +483,11 @@ $(document).ready( function() {
461
483
  $('#data_' + e.target.getAttribute("data-div")).toggleClass('div-hidden');
462
484
 
463
485
  // resize parent iframe to fit selected tab size
464
- // var div_height = document.getElementById('data_' + e.target.getAttribute("data-div")).clientHeight + 130;
465
- // var div_height = document.getElementById('cmsform').clientHeight + 50;
466
- var div_height = document.body.scrollHeight;
467
- window.frameElement.style.height = div_height.toString() + 'px';
468
- // it would be too easy $('#cmsform :input:enabled:visible:first').focus();
486
+ let div_height = document.body.scrollHeight;
487
+ let frame = window.frameElement
488
+ if (frame === null) frame = document.body;
489
+ frame.style.height = div_height.toString() + 'px';
490
+
469
491
  select_first_input_field('#data_' + e.target.getAttribute("data-div"));
470
492
  update_embedded_on_tab_select('#data_' + e.target.getAttribute("data-div"));
471
493
  }
@@ -476,10 +498,10 @@ $(document).ready( function() {
476
498
  * unless on initial display.
477
499
  *******************************************************************/
478
500
  $('#iframe_cms').on('load', function() {
479
- new_height = this.contentWindow.document.body.offsetHeight + 50;
501
+ let new_height = this.contentWindow.document.body.offsetHeight + 50;
480
502
  if (new_height < 500 && new_height > 60) new_height = 500;
481
503
  this.style.height = new_height + 'px';
482
- // scroll to top
504
+ // scroll to top
483
505
  $('#iframe_cms').dc_scroll_view();
484
506
  });
485
507
 
@@ -488,14 +510,28 @@ $(document).ready( function() {
488
510
  * unless on initial display with no data
489
511
  *******************************************************************/
490
512
  $('#iframe_edit').on('load', function() {
491
- // console.log(this.contentWindow.document.body.offsetHeight);
492
513
  if (this.contentWindow.document.body.offsetHeight > 10) {
493
514
  this.style.height = (this.contentWindow.document.body.offsetHeight + 30) + 'px';
494
- // scroll to top
515
+
495
516
  $('#iframe_edit').dc_scroll_view();
496
517
  }
497
518
  });
498
-
519
+
520
+ /*******************************************************************
521
+ * Same goes for iframe_embedded. Resize it + 30px
522
+ *******************************************************************/
523
+ $('.iframe_embedded').on('load', function() {
524
+ let embedded_height = this.contentWindow.document.body.offsetHeight;
525
+ // workaround. It gets tricky when embedded field is on tab
526
+ if (embedded_height == 0) embedded_height = 500;
527
+ this.style.height = (embedded_height + 30) + 'px';
528
+ // resize parent iframe window too
529
+ let parentWindow = this.contentWindow.parent;
530
+ let parent_height = (parentWindow.document.body.offsetHeight + 30) + 'px';
531
+ //parentWindow.frameElement.setAttribute('style', 'height:' + parent_height);
532
+ parentWindow.frameElement.style.height = parent_height;
533
+ });
534
+
499
535
  /*******************************************************************
500
536
  * Process Ajax call on cmsedit form actions
501
537
  *******************************************************************/
@@ -508,7 +544,7 @@ $(document).ready( function() {
508
544
  $("form")[0].reportValidity();
509
545
  return false;
510
546
  }
511
- var req = this.getAttribute("data-request");
547
+ let req = this.getAttribute("data-request");
512
548
  // Get values from elements on the page:
513
549
  if (req == "script") {
514
550
  eval (this.getAttribute("data-script"));
@@ -521,10 +557,13 @@ $(document).ready( function() {
521
557
  data = {};
522
558
  req = 'get'; // by default
523
559
  }
524
-
525
- $('.dc-spinner').show();
560
+
561
+ let url = this.getAttribute("data-url");
562
+ if (url.length < 5) return false;
563
+
564
+ $('.dc-spinner').show();
526
565
  $.ajax({
527
- url: this.getAttribute("data-url"),
566
+ url: url,
528
567
  type: req,
529
568
  dataType: "json",
530
569
  data: data,
@@ -532,8 +571,7 @@ $(document).ready( function() {
532
571
  process_json_result(data);
533
572
  $('.dc-spinner').hide();
534
573
  }
535
-
536
- });
574
+ });
537
575
  });
538
576
 
539
577
  /*******************************************************************
@@ -636,8 +674,8 @@ $(document).ready( function() {
636
674
  * data from with text_autocomplete and data doesn't exist in belongs_to table.
637
675
  *******************************************************************/
638
676
  $('.in-edit-add').on('click', function(e) {
639
- url = '/cmsedit/new?table=' + this.getAttribute("data-table");
640
- /* I know. It doesn't work as expected. But it will do for now. */
677
+ let url = '/cmsedit/new?table=' + this.getAttribute("data-table");
678
+ // I know. It doesn't work as expected. But it will do for now.
641
679
  w = window.open(url, '', 'chrome=yes,width=800,height=600,resizable,scrollbars=yes,status=1,centerscreen=yes,modal=yes');
642
680
  w.focus();
643
681
  });
@@ -648,13 +686,9 @@ $(document).ready( function() {
648
686
  **********************************************************************/
649
687
  $('#filter_field').on('change', function() {
650
688
  if (this.value.length > 0) {
651
- name = 'filter_' + this.value;
689
+ let name = 'filter_' + this.value;
652
690
  $(this).parents('form').find('span').each( function() {
653
- /*
654
- element = $(this).find(':first').attr('id');
655
- sometimes it is the second element
656
- if (element == nil) { element = $(this).find(':first').next().attr('id');}
657
- */
691
+
658
692
  if ($(this).attr('id') == name) {
659
693
  if ( $(this).hasClass('div-hidden') ) { $(this).toggleClass('div-hidden'); }
660
694
  } else {
@@ -736,8 +770,8 @@ element = $(this).find(':first').attr('id');
736
770
  * Fire action (by default show document) when doubleclicked on result row
737
771
  *******************************************************************/
738
772
  $('.dc-result tr').on('dblclick', function(e) {
739
- url = String( this.getAttribute("data-dblclick") );
740
- // prevent when data-dblclick not set
773
+ let url = String( this.getAttribute("data-dblclick") );
774
+ // prevent when data-dblclick not set
741
775
  if (url.length > 5) {
742
776
  e.preventDefault();
743
777
  location.href = url;
@@ -748,8 +782,8 @@ element = $(this).find(':first').attr('id');
748
782
  * Fire action (by default show document) when doubleclicked on result row
749
783
  *******************************************************************/
750
784
  $('.dc-result-data').on('dblclick', function(e) {
751
- url = String( this.getAttribute("data-dblclick") );
752
- // prevent when data-dblclick not set
785
+ let url = String( this.getAttribute("data-dblclick") );
786
+ // prevent when data-dblclick not set
753
787
  if (url.length > 5) {
754
788
  e.preventDefault();
755
789
  location.href = url;
@@ -1002,8 +1036,8 @@ element = $(this).find(':first').attr('id');
1002
1036
  return;
1003
1037
  }
1004
1038
  // retrieve name of current field and set it in popup
1005
- var header = $(this).closest('.th');
1006
- var field_name = header.attr("data-name");
1039
+ let header = $(this).closest('.th');
1040
+ let field_name = header.attr("data-name");
1007
1041
  $('.filter-popup').attr('data-name', field_name);
1008
1042
  // change popup position and show
1009
1043
  $('.filter-popup').css({'top':e.pageY+5,'left':e.pageX, 'position':'absolute'});
@@ -1015,15 +1049,23 @@ element = $(this).find(':first').attr('id');
1015
1049
  * filter on action.
1016
1050
  *******************************************************************/
1017
1051
  $('.filter-popup li').click( function(e) {
1018
- var url = $(this).data('url')
1019
- var operator = $(this).data('operator');
1020
- var parent = $(this).closest('.filter-popup')
1021
- var field_name = parent.data("name");
1052
+ let url = $(this).data('url');
1053
+ let operator = $(this).data('operator');
1054
+ let parent = $(this).closest('.filter-popup');
1055
+ let field_name = parent.data("name");
1022
1056
 
1023
1057
  url = url + '&filter_field=' + field_name + '&filter_oper=' + operator;
1024
1058
  window.location.href = url;
1025
1059
  });
1026
1060
 
1061
+ /*****************************************************************
1062
+ * Toggle div
1063
+ ******************************************************************/
1064
+ $(".dc-handle").click(function() {
1065
+ let div = this.getAttribute("data-div");
1066
+ dc_toggle_div(div);
1067
+ });
1068
+
1027
1069
  });
1028
1070
 
1029
1071
  /*******************************************************************
@@ -95,7 +95,7 @@ textarea, input, select {
95
95
  color: #000;
96
96
  padding: 6px 4px;
97
97
  margin-left: 1px;
98
- border: solid 1px #ccc;;
98
+ border: 1px dashed #888;;
99
99
  border-radius: 2px;
100
100
  font: 14px Exo,arial,sans-serif;
101
101
  max-width: 100%;
@@ -117,6 +117,7 @@ input[type=submit]:focus {
117
117
 
118
118
  textarea[readonly], input[readonly], select[readonly] {
119
119
  background-color: #eee !important;
120
+ border: 1px solid #ddd !important;
120
121
  }
121
122
 
122
123
  input.file {
@@ -167,17 +168,17 @@ img { vertical-align:bottom; }
167
168
  .dc-link a:link, .dc-link a:active, .dc-link a:visited,
168
169
  .dc-animate a:link, .dc-animate a:active, .dc-animate a:visited,
169
170
  .dc-result a:link, .dc-result a:active, .dc-result a:visited {
170
- color: #666;
171
- font-weight: 600;
172
- text-decoration: none;
173
- background: transparent;
174
- padding: 7px;
171
+ color: #666;
172
+ font-weight: 600;
173
+ text-decoration: none;
174
+ background: transparent;
175
+ padding: 7px;
175
176
  }
176
177
 
177
178
  .dc-link a:hover, .dc-animate a:hover, .dc-result a:hover {
178
- background: #f8f8f8;
179
- transition: 0.3s;
180
- color: #000;
179
+ background: #f8f8f8;
180
+ transition: 0.3s;
181
+ color: #000;
181
182
  }
182
183
 
183
184
  a.dc-animate:hover { color: #000; background: transparent;}
@@ -205,7 +206,7 @@ width: 99.9%;
205
206
  padding: 0;
206
207
  border-spacing: 0;
207
208
  border-radius: 1px;
208
- background-color: #f9f9f9;
209
+ /*background-color: #f9f9f9;*/
209
210
  }
210
211
 
211
212
  .dc-result i {
@@ -227,7 +228,7 @@ padding: 0;
227
228
 
228
229
  .dc-result-header {
229
230
  display: flex;
230
- background: linear-gradient(to bottom, #eee 0%, #e2e2e2 100%);
231
+ /* background: linear-gradient(to bottom, #eee 0%, #e2e2e2 100%); */
231
232
  }
232
233
  .dc-result-data {
233
234
  display: flex;
@@ -239,11 +240,15 @@ padding: 0;
239
240
  }
240
241
 
241
242
  .dc-result-header .th {
242
- padding: 8px 2px;
243
+ padding: 4px 3px;
243
244
  white-space: nowrap;
244
245
  overflow: hidden;
245
246
  font-weight: 600;
246
- color: #222;
247
+ color: #fff;
248
+ background-color: #666;
249
+ }
250
+ .dc-result-header .th:last-child {
251
+ flex-grow: 1;
247
252
  }
248
253
 
249
254
  .dc-result-header .spacer, .dc-result-data .spacer {
@@ -256,12 +261,14 @@ padding: 0;
256
261
  /* border-left: 1px solid #ccc;*/
257
262
  }
258
263
 
259
- .dc-result-header a:link {
264
+ .dc-result-header a:link, .dc-result-header a:visited {
260
265
  padding-left: 0;
266
+ color: #fff;
267
+ font-weight: 500;
261
268
  }
262
269
 
263
270
  .dc-result-data .td {
264
- padding: 5px 2px;
271
+ padding: 5px 3px;
265
272
  white-space: nowrap;
266
273
  overflow: hidden;
267
274
  text-overflow: ellipsis;
@@ -277,6 +284,11 @@ padding: 0;
277
284
  white-space: nowrap;
278
285
  }
279
286
 
287
+ .dc-result-header .actions {
288
+ background-color: #666;
289
+ }
290
+
291
+
280
292
  .dc-result-data .dc-link, .dc-result-data .dc-link-ajax {
281
293
  background: none;
282
294
  border: 1px solid transparent;
@@ -323,7 +335,7 @@ display: inline-table;
323
335
  font-weight: 600;
324
336
  color: #666;
325
337
  text-align: center;
326
- border-radius: 2px;
338
+ border-radius: 3px;
327
339
  background: transparent linear-gradient(to bottom, #fff 0%, #e2e2e2 100%);
328
340
  border: 1px solid #ddd;
329
341
  }
@@ -350,17 +362,18 @@ border: 1px solid #ddd;
350
362
  font-weight: 600;
351
363
  padding: 7px;
352
364
  vertical-align: bottom;
353
- border: 1px solid #ddd;
354
- border-radius: 2px;
355
- color: #888;
356
- background: #eee !important;
365
+ border: 1px solid #ccc;
366
+ border-radius: 3px;
367
+ color: #777;
368
+ text-shadow: 1px 1px #fff;
369
+ background: #ddd !important;
357
370
  }
358
371
 
359
372
  .dc-link-ajax {
360
373
  text-align: left;
361
374
  font-weight: 600;
362
375
  padding: 8px 8px 6px;
363
- border-radius: 2px;
376
+ border-radius: 3px;
364
377
  color: #666;
365
378
  background: transparent linear-gradient(to bottom, #fff 0%, #e2e2e2 100%) repeat scroll 0% 0%;
366
379
  border: 1px solid #ddd;
@@ -403,7 +416,7 @@ transition: 0.3s;
403
416
 
404
417
  .dc-link-icon {
405
418
  padding: 3px;
406
- border-radius: 2px;
419
+ border-radius: 3px;
407
420
  background: transparent linear-gradient(to bottom, #fff 0%, #e2e2e2 100%) repeat scroll 0% 0%;
408
421
  border: solid 1px #ccc;;
409
422
  }
@@ -427,7 +440,7 @@ border: solid 1px #ccc;;
427
440
  padding: 5px 4px 4px;
428
441
  background: #fff;
429
442
  border: 2px solid #222;
430
- border-radius: 5px;
443
+ border-radius: 3px;
431
444
  }
432
445
 
433
446
  .dc-inline-link:hover {
@@ -439,7 +452,7 @@ border: solid 1px #ccc;;
439
452
  text-align: center;
440
453
  border:1px solid #888;
441
454
  padding:1px 4px 1px 4px;
442
- border-radius: 5px;
455
+ border-radius: 3px;
443
456
  box-shadow: 2px 2px 5px #aaa;
444
457
  width: 13px;
445
458
  margin-left: 350px;
@@ -464,7 +477,7 @@ border: solid 1px #ccc;;
464
477
  padding: 1px 8px 0.5px;
465
478
  /* Exo padding: 0 8px; */
466
479
 
467
- border-radius: 2px;
480
+ border-radius: 3px;
468
481
  background-color: #eee;
469
482
  background: transparent linear-gradient(to bottom, #fff 0%, #e2e2e2 100%) repeat scroll 0% 0%;
470
483
  border: 1px solid #ddd;
@@ -531,7 +544,7 @@ color: #aaa;
531
544
  }
532
545
  .dc-paginate .pagination span a {
533
546
  display: block;
534
- color: #888;
547
+ color: #666;
535
548
  padding: 4px 6px 3px 7px;
536
549
  text-decoration: none;
537
550
  }
@@ -550,13 +563,12 @@ color: #aaa;
550
563
  }
551
564
 
552
565
  .dc-paginate .pagination .current {
553
- background: #888;
566
+ background: #666;
554
567
  color: #fff;
555
- border: 1px solid #888;
568
+ border: 1px solid #666;
556
569
  }
557
570
 
558
571
  .dc-paginate .pagination .current:hover {
559
- border: solid 1px #888;
560
572
  outline: none;
561
573
  }
562
574
 
@@ -576,6 +588,15 @@ color: #aaa;
576
588
  font-size: 0.8em;
577
589
  }
578
590
 
591
+ .dc-title .dc-help {
592
+ float:right;
593
+ padding: 4px 0 0 4px;
594
+ font-size: 1.1em;
595
+ height: 1em;
596
+ border: none;
597
+ background: none;
598
+ }
599
+
579
600
  .dc-form-frame {
580
601
  width: 99.9%;
581
602
  margin: 0;
@@ -587,7 +608,7 @@ color: #aaa;
587
608
  padding: 4px 0 0;
588
609
  border: 1px solid #eee;
589
610
  border-radius: 2px;
590
- background-color: #fcfcfc;
611
+ /*background-color: #fcfcfc; */
591
612
  }
592
613
 
593
614
  .dc-form .row-div {
@@ -655,6 +676,9 @@ color: #aaa;
655
676
  padding: 3px 5px;
656
677
  }
657
678
 
679
+ .dc-form-label.dc-color-odd, .dc-form-label.dc-color-even {background-color: transparent;}
680
+ .dc-form-field.dc-color-odd, .dc-form-field.dc-color-even {background-color: transparent;}
681
+
658
682
  .dc-align-left {
659
683
  text-align: left;
660
684
  }
@@ -682,7 +706,7 @@ color: #aaa;
682
706
  font-weight: normal;
683
707
  color: #222;
684
708
  padding: 6px 4px;
685
- border: solid 1px #ccc;;
709
+ border: solid 1px #ddd;;
686
710
  background-color: #eee;
687
711
  border-radius: 2px;
688
712
  }
@@ -720,8 +744,8 @@ margin-bottom: -3px;
720
744
  .dc-form-li {
721
745
  display:inline-block;
722
746
  white-space: nowrap;
723
- list-style:none;
724
- color: #666;
747
+ list-style: none;
748
+ color: #fff;
725
749
  text-decoration: none;
726
750
  text-align: center;
727
751
  font-weight: 600;
@@ -729,6 +753,7 @@ margin-bottom: -3px;
729
753
 
730
754
  padding:4px 15px;
731
755
  background: #e8e8e8;
756
+ background: #666;
732
757
  margin-right: 2px;
733
758
  border-left: 1px solid #ddd;
734
759
  border-right: 1px solid #ddd;
@@ -806,6 +831,15 @@ display: flex;
806
831
  color: lightcoral;
807
832
  }
808
833
 
834
+ .dc-handle:before {
835
+ font-family: 'FontAwesome';
836
+ content: '\f0dc\20';
837
+ color: #000;
838
+ cursor: pointer;
839
+ padding-top: 2px;
840
+ font-size: 1.1em;
841
+ }
842
+
809
843
  #cmsedit-div {
810
844
  font-family: Exo,Arial, sans-serif;
811
845
  font-size: 13px;
@@ -940,6 +974,11 @@ display: none;
940
974
  position: relative;
941
975
  }
942
976
 
977
+ .dc-text-autocomplete input {
978
+ border: 1px dashed #555;
979
+ }
980
+
981
+
943
982
  .dc-text-autocomplete input+span:before {
944
983
  font-family: 'FontAwesome';
945
984
  content: '\f002';
@@ -972,11 +1011,16 @@ color: #000;
972
1011
  .ui-autocomplete-border {
973
1012
  display: inline-block;
974
1013
  border-radius: 2px;
975
- border: solid 1px #ccc;;
1014
+ border: dashed 1px #555;;
976
1015
  padding: 8px;
977
1016
  background-color: #fff;
978
1017
  }
979
1018
 
1019
+ .ui-autocomplete-border .dc-text-autocomplete {
1020
+ margin-left: 4px;
1021
+ }
1022
+
1023
+
980
1024
  .dc-red { color: #d99;}
981
1025
  .dc-red:hover { color: #e66;}
982
1026
  .dc-green { color: #9c9;}
@@ -1041,7 +1085,7 @@ padding: 0;
1041
1085
  padding: 4px;
1042
1086
  background-image: none;
1043
1087
  border-radius: 2px;
1044
- border: 1px solid #669;
1088
+ border: 2px solid #666;
1045
1089
  background-color: #fff;
1046
1090
  }
1047
1091
 
@@ -1082,11 +1126,11 @@ white-space: nowrap;
1082
1126
  list-style:none;
1083
1127
  padding: 7px;
1084
1128
  margin-right: 4px;
1085
- border-radius:2px;
1129
+ border-radius: 3px;
1086
1130
  z-index: 1;
1087
1131
 
1088
1132
  background: transparent linear-gradient(to bottom, #fff 0%, #e2e2e2 100%) repeat scroll 0% 0%;
1089
- border: 1px solid #ddd;
1133
+ /*border: 1px solid #ddd; */
1090
1134
  }
1091
1135
 
1092
1136
  .dc-action-menu ul {
@@ -1133,7 +1177,6 @@ color: #222;
1133
1177
  .dc-action-menu li:hover ul li:hover {
1134
1178
  border: 0;
1135
1179
  background: #eee;
1136
- border-radius: 2px;
1137
1180
  }
1138
1181
 
1139
1182
  .menu-filter {
@@ -1169,6 +1212,94 @@ background-color: transparent;
1169
1212
  cursor: pointer;
1170
1213
  color: #ccc;
1171
1214
  }
1215
+
1216
+ #popup {
1217
+ min-width: 50%;
1218
+ }
1219
+
1220
+ #popup .dc-help {
1221
+ background: #fff;
1222
+ padding: 8px;
1223
+ max-height: 700px;
1224
+ overflow-y: auto;
1225
+ max-width: 800px;
1226
+ }
1227
+
1228
+ #popup .dc-help h1 {
1229
+ background: darkred;
1230
+ color: #fff;
1231
+ font-weight: 700;
1232
+ padding: 4px
1233
+ }
1234
+
1235
+ #popup .dc-help h2 {
1236
+ font-size: 1.4em;
1237
+ font-weight: 600;
1238
+ }
1239
+
1240
+ #popup .dc-help h3 {
1241
+ font-size: 1.2em;
1242
+ font-weight: 600;
1243
+ }
1244
+
1245
+ #popup .dc-help .help-body {
1246
+ padding: 4px
1247
+ }
1248
+
1249
+ /*
1250
+ #popup .dc-help .help-tab {
1251
+ display: table;
1252
+ padding-top: 4px;
1253
+ border-bottom: 3px solid #000;
1254
+ margin: 8px 0;
1255
+ font-weight: 600;
1256
+ }
1257
+ */
1258
+ #popup .dc-help .help-tab {
1259
+ display: table;
1260
+ margin: 8px 0 0;
1261
+ padding: 3px 12px;
1262
+ color: #fff;
1263
+ background: #444;
1264
+ border-radius: 5px 5px 0 0;
1265
+ font-weight: 600;
1266
+ }
1267
+
1268
+ #popup .dc-help .help-tab-help {
1269
+ font-weight: 600;
1270
+ color: #fff;
1271
+ background: #666;
1272
+ padding: 3px 12px;
1273
+ }
1274
+
1275
+ #popup .dc-help .help-field {
1276
+ display: flex;
1277
+ background-color: #eee;
1278
+ padding: 3px;
1279
+ }
1280
+
1281
+ #popup .dc-help .help-field:nth-child(odd) {
1282
+ background-color: #f8f8f8;
1283
+ }
1284
+
1285
+ #popup .dc-help .help-label {
1286
+ width: 25%;
1287
+ }
1288
+
1289
+ #popup .dc-help .help-text {
1290
+ max-width: 75%;
1291
+ }
1292
+
1293
+ #popup .dc-help .help-body {
1294
+ margin-top: 8px;
1295
+ border-top: 1px solid #222;
1296
+ padding-top: 8px;
1297
+ }
1298
+
1299
+ #popup .dc-help .dc-link {
1300
+ display: inline-flex;
1301
+ }
1302
+
1172
1303
  .filter-popup {
1173
1304
  background-color: #fff;
1174
1305
  box-shadow: 2px 2px 5px #666;
@@ -1207,6 +1338,7 @@ cursor: pointer;
1207
1338
  #dc-document-info-popup {
1208
1339
  text-align: left;
1209
1340
  padding:4px;
1341
+ font-size: 0.9em;
1210
1342
  position:absolute;
1211
1343
  background-color: #f8f8f8;
1212
1344
  border: solid 1px #ccc;;
@@ -1220,7 +1352,7 @@ z-index: 100;
1220
1352
  width: 80px;
1221
1353
  padding: 1px;
1222
1354
  }
1223
- #dc-document-info-popup div span:last-child {font-weight: bold;}
1355
+ #dc-document-info-popup div span:last-child {font-weight: 600;}
1224
1356
 
1225
1357
 
1226
1358
  /************************** filter popup *************************/
@@ -1252,16 +1384,18 @@ color: #669;
1252
1384
  max-width: 50%;
1253
1385
  background-color: #fff;
1254
1386
  padding: 10px;
1255
- border: solid 1px #ccc;;
1387
+ border: dashed 1px #666;
1388
+ margin-left: 1px;
1256
1389
  }
1257
1390
 
1258
1391
  /** Radio button input field **/
1259
1392
 
1260
1393
  .dc-radio {
1261
- background-color: #fff;
1262
- /* border: solid 1px #ccc;;*/
1263
- padding: 5px 0 7px 0;
1394
+ padding: 6px 0 12px 0;
1264
1395
  display: inline-table;
1396
+ border: 1px dashed #666;
1397
+ margin-left: 1px;
1398
+ background-color: #fff;
1265
1399
  }
1266
1400
  .dc-radio div {
1267
1401
  font-size: 1.1em;