From a7796bec1be01b51f400e9a3a698535b12b636aa Mon Sep 17 00:00:00 2001 From: Marius Burkard <m.burkard@pixcept.de> Date: Thu, 11 Feb 2016 13:44:27 -0500 Subject: [PATCH] Merge branch 'stable-3.1' --- interface/web/themes/default/assets/javascripts/ispconfig.js | 105 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 89 insertions(+), 16 deletions(-) diff --git a/interface/web/themes/default/assets/javascripts/ispconfig.js b/interface/web/themes/default/assets/javascripts/ispconfig.js index bc5c988..b9ebee4 100644 --- a/interface/web/themes/default/assets/javascripts/ispconfig.js +++ b/interface/web/themes/default/assets/javascripts/ispconfig.js @@ -11,7 +11,7 @@ options: { useLoadIndicator: false, - useComboBox: false, + useComboBox: false }, setOption: function(key, value) { @@ -91,7 +91,7 @@ placeholder: '', width: 'element', selectOnBlur: true, - allowClear: true, + allowClear: true }); } }, @@ -121,11 +121,29 @@ }); } + $('input[data-input-element="date"]').datetimepicker({ + 'language': 'en', // TODO + 'todayHighlight': true, + 'todayBtn': 'linked', + 'bootcssVer': 3, + 'fontAwesome': true, + 'autoclose': true, + 'minView': 'month' + }); + $('input[data-input-element="datetime"]').datetimepicker({ + 'language': 'en', // TODO + 'todayHighlight': true, + 'todayBtn': 'linked', + 'bootcssVer': 3, + 'fontAwesome': true, + 'autoclose': true + }); + ISPConfig.callHook('onAfterContentLoad', {'url': url, 'data': data }); }, /* THIS ONE SHOULD BE REMOVED AFTER CREATING THE STATIC LOGIN PAGE!!! */ - submitLoginForm: function(formname) { + /*submitLoginForm: function(formname) { //* Validate form. TODO: username and password with strip(); var frm = document.getElementById(formname); var userNameObj = frm.username; @@ -171,7 +189,7 @@ ISPConfig.reportError('Ajax Request was not successful.110'); } }); - }, + },*/ submitForm: function(formname, target, confirmation) { var successMessage = arguments[3]; @@ -191,6 +209,9 @@ if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) { var parts = jqXHR.responseText.split(':'); ISPConfig.loadContent(parts[1]); + } else if (jqXHR.responseText.indexOf('LOGIN_REDIRECT:') > -1) { + // Go to the login page + document.location.href = '/index.php'; } else { $('#pageContent').html(jqXHR.responseText); ISPConfig.onAfterContentLoad(target, $('#'+formname).serialize()); @@ -216,29 +237,38 @@ } catch(e) { response = responseStr; } + var $response = $('<div></div>').html(response); var msg = ''; - var okmsg = $('#OKMsg',response).html(); + var okmsg = $response.find('#OKMsg').html(); if(okmsg){ msg = '<div id="OKMsg">'+okmsg+'</div>'; } - var errormsg = $('#errorMsg',response).html(); + var errormsg = $response.find('#errorMsg').html(); if(errormsg){ msg = msg+'<div id="errorMsg">'+errormsg+'</div>'; } + + var csrf_key = $response.find('input[name="_csrf_key"]').val(); + var csrf_id = $response.find('input[name="_csrf_id"]').val(); + + msg = msg + '<input type="hidden" name="_csrf_id" value="' + csrf_id + '" /><input type="hidden" name="_csrf_key" value="' + csrf_key + '" />'; + return msg; }; var frame_id = 'ajaxUploader-iframe-' + Math.round(new Date().getTime() / 1000); - $('body').after('<iframe width="0" height="0" style="display:none;" name="'+frame_id+'" id="'+frame_id+'"/>'); - $('input[type="file"]').closest("form").attr({target: frame_id, action: target}).submit(); + $('body').append('<iframe width="0" height="0" style="display:none;" name="'+frame_id+'" id="'+frame_id+'"/>'); $('#'+frame_id).load(function() { var msg = handleResponse(this); $('#errorMsg').remove(); $('#OKMsg').remove(); + $('input[name="_csrf_key"]').remove(); + $('input[name="_csrf_id"]').remove(); $('input[name="id"]').before(msg); $(this).remove(); }); + $('input[type="file"]').closest("form").attr({target: frame_id, action: target}).submit(); }, capp: function(module, redirect) { @@ -336,8 +366,8 @@ loadInitContent: function() { var pageContentObject = $.ajax({ type: "GET", - url: "content.php", - data: "s_mod=login&s_pg=index", + url: "dashboard/dashboard.php", + data: "", dataType: "html", beforeSend: function() { ISPConfig.showLoadIndicator(); @@ -348,7 +378,7 @@ ISPConfig.loadContent(parts[1]); } else { $('#pageContent').html(jqXHR.responseText); - ISPConfig.onAfterContentLoad('content.php', "s_mod=login&s_pg=index"); + ISPConfig.onAfterContentLoad('dashboard/dashboard.php', ""); ISPConfig.pageFormChanged = false; } ISPConfig.hideLoadIndicator(); @@ -464,7 +494,7 @@ }); }, - loadOptionInto: function(elementid,pagename) { + loadOptionInto: function(elementid,pagename,callback) { var pageContentObject2 = $.ajax({ type: "GET", url: pagename, @@ -481,6 +511,9 @@ foo2.appendChild(document.createTextNode(elemente[i])); foo2.value=elemente[i]; el.appendChild(foo2); + } + if (typeof(callback) != 'undefined') { + callback(elementid,pagename); } }, error: function() { @@ -584,7 +617,9 @@ }); $(document).on('click', 'a[data-load-content],button[data-load-content]', function(e) { - //e.preventDefault(); + e.preventDefault(); + $('html, body').animate({scrollTop: 0}, 1000); + var content_to_load = $(this).attr('data-load-content'); if(!content_to_load) return this; @@ -592,7 +627,9 @@ }); $(document).on('click', 'a[data-capp],button[data-capp]', function(e) { - //e.preventDefault(); + e.preventDefault(); + $('html, body').animate({scrollTop: 0}, 1000); + var content_to_load = $(this).attr('data-capp'); if(!content_to_load) return this; @@ -600,7 +637,8 @@ }); $(document).on('click', 'a[data-submit-form],button[data-submit-form]', function(e) { - //e.preventDefault(); + e.preventDefault(); + $('html, body').animate({scrollTop: 0}, 1000); var $el = $(this); var act = $el.attr('data-form-action'); @@ -635,7 +673,11 @@ var dir = $self.attr('data-ordered'); - act = act + '?orderby=' + column; + var separator = '?'; + if(act.indexOf("?") >= 0){ + separator = '&'; + } + act = act + separator + 'orderby=' + column; ISPConfig.submitForm(form, act); $(document).ajaxComplete(function() { @@ -705,4 +747,35 @@ e.preventDefault(); } }); + + $.fn.setCursorPosition = function(pos) { + var self = $(this).get(0); + if(self.setSelectionRange) { + self.setSelectionRange(pos, pos); + } else if(self.createTextRange) { + var range = self.createTextRange(); + range.collapse(true); + if(pos < 0) { + pos = $(this).val().length + pos; + } + range.moveEnd('character', pos); + range.moveStart('character', pos); + range.select(); + } + }; + + $.fn.getCursorPosition = function() { + var iCaretPos = 0; + var self = $(this).get(0); + + if(typeof self.selectionStart === 'number') { + iCaretPos = self.selectionDirection == 'backward' ? self.selectionStart : self.selectionEnd; + } else if(document.selection) { + this.focus(); + var oSel = document.selection.createRange(); + oSel.moveStart('character', -self.value.length); + iCaretPos = oSel.text.length; + } + return iCaretPos; + }; }); -- Gitblit v1.9.1