drg_cms 0.6.0.8 → 0.6.1.0

Sign up to get free protection for your applications and to get access to all the features.
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;