Verknüpfte Belege: JS-Code und CSS für jqModal verallgemeinert
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 18 Apr 2013 11:42:43 +0000 (13:42 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 18 Apr 2013 12:49:11 +0000 (14:49 +0200)
SL/Form.pm
bin/mozilla/do.pl
bin/mozilla/ir.pl
bin/mozilla/is.pl
bin/mozilla/oe.pl
css/kivitendo/jqModal.css [new file with mode: 0644]
css/presenter/record/record_list.css [deleted file]
js/common.js
js/jqModal/jqModal.js
templates/webpages/presenter/record/grouped_record_list.html
templates/webpages/record_links/add_filter.html

index 044d45f..8859cae 100644 (file)
@@ -471,7 +471,7 @@ sub header {
     main menu list_accounts jquery.autocomplete
     jquery.multiselect2side frame_header/header
     ui-lightness/jquery-ui
-    jquery-ui.custom
+    jquery-ui.custom jqModal
   );
 
   $layout->use_javascript("$_.js") for (qw(
index 248bbb1..576564f 100644 (file)
@@ -313,8 +313,6 @@ sub form_header {
 
   $form->{follow_up_trans_info} = $form->{donumber} .'('. $follow_up_vc .')';
 
-  $::request->layout->use_stylesheet('presenter/record/record_list.css');
-
   $form->header();
   # Fix für Bug 1082 Erwartet wird: 'abteilungsNAME--abteilungsID'
   # und Erweiterung für Bug 1760:
index 3f67961..1436963 100644 (file)
@@ -358,7 +358,6 @@ sub form_header {
   map { $_.'_rate', $_.'_description', $_.'_taxnumber' } split / /, $form->{taxaccounts}];
 
   $form->{jsscript} = 1;
-  $::request->layout->use_stylesheet('presenter/record/record_list.css');
   $form->header();
 
   print $form->parse_html_template("ir/form_header", \%TMPL_VAR);
index d7e99b7..cbddde6 100644 (file)
@@ -382,7 +382,6 @@ sub form_header {
   map { $_.'_rate', $_.'_description', $_.'_taxnumber' } split / /, $form->{taxaccounts}];
 
   $form->{jsscript} = 1;
-  $::request->layout->use_stylesheet('presenter/record/record_list.css');
   $form->header();
 
   print $form->parse_html_template("is/form_header", \%TMPL_VAR);
index 298d332..3dbb113 100644 (file)
@@ -436,8 +436,6 @@ sub form_header {
   $form->{javascript} .= qq|<script type="text/javascript" src="js/show_history.js"></script>|;
   $form->{javascript} .= qq|<script type="text/javascript" src="js/show_vc_details.js"></script>|;
 
-  $::request->layout->use_stylesheet('presenter/record/record_list.css');
-
   $form->header;
 
   $TMPL_VAR{HIDDENS} = [ map { name => $_, value => $form->{$_} },
diff --git a/css/kivitendo/jqModal.css b/css/kivitendo/jqModal.css
new file mode 100644 (file)
index 0000000..7c8c92f
--- /dev/null
@@ -0,0 +1,37 @@
+/* the overlayed element */
+.jqModal_overlay {
+  position: fixed;
+  top: 50%;
+  margin-top: -250px;
+  height: 500px;
+
+  left: 50%;
+  margin-left: -400px;
+  width: 800px;
+
+  background-color: #fff;
+  border: 1px solid #333;
+
+  /* CSS3 styling for latest browsers */
+  box-shadow: 0 0 90px 5px #000;
+  -moz-box-shadow: 0 0 90px 5px #000;
+  -webkit-box-shadow: 0 0 90px #000;
+
+  padding: 10px;
+}
+
+.jqModal_overlay .overlay_content {
+  width: 790px;
+  height: 490px;
+  overflow: auto;
+}
+
+.jqModal_overlay .close {
+  background-image: url(../../image/dialog-close.png);
+  position: absolute;
+  right: -16px;
+  top: -16px;
+  cursor: pointer;
+  height: 32px;
+  width: 32px;
+}
diff --git a/css/presenter/record/record_list.css b/css/presenter/record/record_list.css
deleted file mode 100644 (file)
index 59ab177..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/* the overlayed element */
-.record_list_overlay {
-  position: fixed;
-  top: 50%;
-  margin-top: -250px;
-  height: 500px;
-
-  left: 50%;
-  margin-left: -400px;
-  width: 800px;
-
-  background-color: #fff;
-  border: 1px solid #333;
-
-  /* CSS3 styling for latest browsers */
-  box-shadow: 0 0 90px 5px #000;
-  -moz-box-shadow: 0 0 90px 5px #000;
-  -webkit-box-shadow: 0 0 90px #000;
-
-  padding: 10px;
-}
-
-.record_list_overlay .overlay_content {
-  width: 790px;
-  height: 490px;
-  overflow: auto;
-}
-
-.record_list_overlay .close {
-  background-image: url(../../../image/dialog-close.png);
-  position: absolute;
-  right: -16px;
-  top: -16px;
-  cursor: pointer;
-  height: 32px;
-  width: 32px;
-}
index e40b9ab..d2594a2 100644 (file)
@@ -160,6 +160,30 @@ function focus_by_name(name){
   return false;
 }
 
+function open_jqm_window(params) {
+  params = params || { };
+  var url = params.url;
+  var id  = params.id ? params.id : 'jqm_popup_dialog';
+
+  if (params.data) {
+    var data  = typeof params.data === "string" ? params.data : $.param(params.data);
+    url      += (/\?/.exec(url) ? "&" : "?") + data;
+  }
+
+  $('#' + id).remove();
+  var div     = $('<div id="' + id + '" class="jqmWindow jqModal_overlay ' + (params.class || '') + '"></div>').hide().appendTo('body');
+  var close   = $('<div class="close"></div>').appendTo(div);
+  var content = $('<div class="overlay_content"></div>').appendTo(div);
+  div.jqm({ modal: true });
+  div.jqmShow();
+  $.ajax({ url: url, success: function(new_html) { $(content).html(new_html); } });
+  $(close).click(function() {
+    div.jqmClose();
+  });
+
+  return true;
+}
+
 $(document).ready(function () {
   // initialize all jQuery UI tab elements:
   $(".tabwidget").each(function(idx, element) { $(element).tabs(); });
index db318ff..db1dd9e 100644 (file)
@@ -34,6 +34,7 @@ $.fn.jqmAddClose=function(e){return hs(this,e,'jqmHide');};
 $.fn.jqmAddTrigger=function(e){return hs(this,e,'jqmShow');};
 $.fn.jqmShow=function(t){return this.each(function(){t=t||window.event;$.jqm.open(this._jqm,t);});};
 $.fn.jqmHide=function(t){return this.each(function(){t=t||window.event;$.jqm.close(this._jqm,t)});};
+$.fn.jqmClose=function(t){return this.each(function(){t=t||window.event;$.jqm.close(this._jqm,t);this.remove();});};
 
 $.jqm = {
 hash:{},
index 82c16f3..9602388 100644 (file)
 
  <script type="text/javascript">
   <!--
-$(function() {
-
-});
-
 function record_links_add() {
-  var url = "controller.pl?action=RecordLinks/ajax_add_filter&object_model=[% JavaScript.escape(object_model) %]&object_id=[% JavaScript.escape(object_id) %]&";
-  var id  = 'record_links_add';
-
-  $('#' + id).remove();
-  var div     = $('<div id="' + id + '" class="jqmWindow record_list_overlay"></div>').hide().appendTo('body');
-  var close   = $('<div class="close"></div>').appendTo(div);
-  var content = $('<div class="overlay_content"></div>').appendTo(div);
-  div.jqm({ modal: true });
-  div.jqmShow();
-  $.ajax({ url: url, success: function(new_html) { $(content).html(new_html); } });
-  $(close).click(function() {
-    div.jqmHide();
-    div.remove();
-  });
+  open_jqm_window({ url:  'controller.pl',
+                    data: { action: 'RecordLinks/ajax_add_filter',
+                            object_model: '[% JavaScript.escape(object_model) %]',
+                            object_id: '[% JavaScript.escape(object_id) %]'
+                          },
+                    id:  'record_links_add' });
+  return true;
 }
 
 function record_links_delete() {
index 1ef213b..3512bfb 100644 (file)
@@ -46,7 +46,7 @@
   [% L.button_tag('filter_record_links()', LxERP.t8("Search")) %]
   [% L.button_tag('add_selected_record_links()', LxERP.t8("Add links"), id='add_selected_record_links_button', disabled=1) %]
   <a href="#" onclick="record_links_reset_form();">[%- LxERP.t8("Reset") %]</a>
-  <a href="#" onclick="record_links_cancel();">[% LxERP.t8("Cancel") %]</a>
+  <a href="#" onclick="$('#record_links_add').jqmClose();">[% LxERP.t8("Cancel") %]</a>
  </p>
 
  <hr>
@@ -66,11 +66,6 @@ function record_links_reset_form() {
   $('.jqmWindow form select').prop('selectedIndex', 0);
 }
 
-function record_links_cancel() {
-  $('.jqmWindow').jqmHide();
-  $('.jqmWindow').remove();
-}
-
 function filter_record_links() {
   var url="controller.pl?action=RecordLinks/ajax_add_list&" + $(".jqmWindow form").serialize();
   $.ajax({