βάζω τον κώδικα για οποιον εχει παρόμοιο πρόβλημα, εχω παρατηρήσει πως ειναι bug απο V. 2.2.0.0 γιατι το τσεκαρα σε 3 σαιτ.
Κώδικας: Επιλογή όλωνfunction getURLVar(key) {
var value = [];
var query = String(document.location).split('?');
if (query[1]) {
var part = query[1].split('&');
for (i = 0; i < part.length; i++) {
var data = part[i].split('=');
if (data[0] && data[1]) {
value[data[0]] = data[1];
}
}
if (value[key]) {
return value[key];
} else {
return '';
}
}
}
$(document).ready(function() {
//Form Submit for IE Browser
$('button[type=\'submit\']').on('click', function() {
$("form[id*='form-']").submit();
});
// Highlight any found errors
$('.text-danger').each(function() {
var element = $(this).parent().parent();
if (element.hasClass('form-group')) {
element.addClass('has-error');
}
});
// Set last page opened on the menu
$('#menu a[href]').on('click', function() {
sessionStorage.setItem('menu', $(this).attr('href'));
});
if (!sessionStorage.getItem('menu')) {
$('#menu #dashboard').addClass('active');
} else {
// Sets active and open to selected page in the left column menu.
$('#menu a[href=\'' + sessionStorage.getItem('menu') + '\']').parents('li').addClass('active open');
}
if (localStorage.getItem('column-left') == 'active') {
$('#button-menu i').replaceWith('<i class="fa fa-dedent fa-lg"></i>');
$('#column-left').addClass('active');
// Slide Down Menu
$('#menu li.active').has('ul').children('ul').addClass('collapse in');
$('#menu li').not('.active').has('ul').children('ul').addClass('collapse');
} else {
$('#button-menu i').replaceWith('<i class="fa fa-indent fa-lg"></i>');
$('#menu li li.active').has('ul').children('ul').addClass('collapse in');
$('#menu li li').not('.active').has('ul').children('ul').addClass('collapse');
}
// Menu button
$('#button-menu').on('click', function() {
// Checks if the left column is active or not.
if ($('#column-left').hasClass('active')) {
localStorage.setItem('column-left', '');
$('#button-menu i').replaceWith('<i class="fa fa-indent fa-lg"></i>');
$('#column-left').removeClass('active');
$('#menu > li > ul').removeClass('in collapse');
$('#menu > li > ul').removeAttr('style');
} else {
localStorage.setItem('column-left', 'active');
$('#button-menu i').replaceWith('<i class="fa fa-dedent fa-lg"></i>');
$('#column-left').addClass('active');
// Add the slide down to open menu items
$('#menu li.open').has('ul').children('ul').addClass('collapse in');
$('#menu li').not('.open').has('ul').children('ul').addClass('collapse');
}
});
// Menu
$('#menu').find('li').has('ul').children('a').on('click', function() {
if ($('#column-left').hasClass('active')) {
$(this).parent('li').toggleClass('open').children('ul').collapse('toggle');
$(this).parent('li').siblings().removeClass('open').children('ul.in').collapse('hide');
} else if (!$(this).parent().parent().is('#menu')) {
$(this).parent('li').toggleClass('open').children('ul').collapse('toggle');
$(this).parent('li').siblings().removeClass('open').children('ul.in').collapse('hide');
}
});
// Tooltip remove fixed
$(document).delegate('[data-toggle=\'tooltip\']', 'click', function(e) {
$('body > .tooltip').remove();
});
// Override summernotes image manager
$('.summernote').each(function() {
var element = this;
$(element).summernote({
disableDragAndDrop: true,
height: 300,
toolbar: [
['style', ['style']],
['font', ['bold', 'underline', 'clear']],
['fontname', ['fontname']],
['color', ['color']],
['para', ['ul', 'ol', 'paragraph']],
['table', ['table']],
['insert', ['link', 'image', 'video']],
['view', ['fullscreen', 'codeview', 'help']]
],
buttons: {
image: function() {
var ui = $.summernote.ui;
// create button
var button = ui.button({
contents: '<i class="fa fa-image" />',
tooltip: $.summernote.lang[$.summernote.options.lang].image.image,
click: function () {
$('#modal-image').remove();
$.ajax({
url: 'index.php?route=common/filemanager&token=' + getURLVar('token'),
dataType: 'html',
beforeSend: function() {
$('#button-image i').replaceWith('<i class="fa fa-circle-o-notch fa-spin"></i>');
$('#button-image').prop('disabled', true);
},
complete: function() {
$('#button-image i').replaceWith('<i class="fa fa-upload"></i>');
$('#button-image').prop('disabled', false);
},
success: function(html) {
$('body').append('<div id="modal-image" class="modal">' + html + '</div>');
$('#modal-image').modal('show');
$('#modal-image').delegate('a.thumbnail', 'click', function(e) {
e.preventDefault();
$(element).summernote('insertImage', $(this).attr('href'));
$('#modal-image').modal('hide');
});
}
});
}
});
return button.render();
}
}
});
});
// Image Manager
$(document).delegate('a[data-toggle=\'image\']', 'click', function(e) {
e.preventDefault();
$('.popover').popover('hide', function() {
$('.popover').remove();
});
var element = this;
$(element).popover({
html: true,
placement: 'right',
trigger: 'manual',
content: function() {
return '<button type="button" id="button-image" class="btn btn-primary"><i class="fa fa-pencil"></i></button> <button type="button" id="button-clear" class="btn btn-danger"><i class="fa fa-trash-o"></i></button>';
}
});
$(element).popover('show');
$('#button-image').on('click', function() {
$('#modal-image').remove();
$.ajax({
url: 'index.php?route=common/filemanager&token=' + getURLVar('token') + '&target=' + $(element).parent().find('input').attr('id') + '&thumb=' + $(element).attr('id'),
dataType: 'html',
beforeSend: function() {
$('#button-image i').replaceWith('<i class="fa fa-circle-o-notch fa-spin"></i>');
$('#button-image').prop('disabled', true);
},
complete: function() {
$('#button-image i').replaceWith('<i class="fa fa-pencil"></i>');
$('#button-image').prop('disabled', false);
},
success: function(html) {
$('body').append('<div id="modal-image" class="modal">' + html + '</div>');
$('#modal-image').modal('show');
}
});
$(element).popover('hide', function() {
$('.popover').remove();
});
});
$('#button-clear').on('click', function() {
$(element).find('img').attr('src', $(element).find('img').attr('data-placeholder'));
$(element).parent().find('input').attr('value', '');
$(element).popover('hide', function() {
$('.popover').remove();
});
});
});
// tooltips on hover
$('[data-toggle=\'tooltip\']').tooltip({container: 'body', html: true});
// Makes tooltips work on ajax generated content
$(document).ajaxStop(function() {
$('[data-toggle=\'tooltip\']').tooltip({container: 'body'});
});
// https://github.com/opencart/opencart/issues/2595
$.event.special.remove = {
remove: function(o) {
if (o.handler) {
o.handler.apply(this, arguments);
}
}
}
$('[data-toggle=\'tooltip\']').on('remove', function() {
$(this).tooltip('destroy');
});
});
// Autocomplete */
(function($) {
$.fn.autocomplete = function(option) {
return this.each(function() {
this.timer = null;
this.items = new Array();
$.extend(this, option);
$(this).attr('autocomplete', 'off');
// Focus
$(this).on('focus', function() {
this.request();
});
// Blur
$(this).on('blur', function() {
setTimeout(function(object) {
object.hide();
}, 200, this);
});
// Keydown
$(this).on('keydown', function(event) {
switch(event.keyCode) {
case 27: // escape
this.hide();
break;
default:
this.request();
break;
}
});
// Click
this.click = function(event) {
event.preventDefault();
value = $(event.target).parent().attr('data-value');
if (value && this.items[value]) {
this.select(this.items[value]);
}
}
// Show
this.show = function() {
var pos = $(this).position();
$(this).siblings('ul.dropdown-menu').css({
top: pos.top + $(this).outerHeight(),
left: pos.left
});
$(this).siblings('ul.dropdown-menu').show();
}
// Hide
this.hide = function() {
$(this).siblings('ul.dropdown-menu').hide();
}
// Request
this.request = function() {
clearTimeout(this.timer);
this.timer = setTimeout(function(object) {
object.source($(object).val(), $.proxy(object.response, object));
}, 200, this);
}
// Response
this.response = function(json) {
html = '';
if (json.length) {
for (i = 0; i < json.length; i++) {
this.items[json[i]['value']] = json[i];
}
for (i = 0; i < json.length; i++) {
if (!json[i]['category']) {
html += '<li data-value="' + json[i]['value'] + '"><a href="#">' + json[i]['label'] + '</a></li>';
}
}
// Get all the ones with a categories
var category = new Array();
for (i = 0; i < json.length; i++) {
if (json[i]['category']) {
if (!category[json[i]['category']]) {
category[json[i]['category']] = new Array();
category[json[i]['category']]['name'] = json[i]['category'];
category[json[i]['category']]['item'] = new Array();
}
category[json[i]['category']]['item'].push(json[i]);
}
}
for (i in category) {
html += '<li class="dropdown-header">' + category[i]['name'] + '</li>';
for (j = 0; j < category[i]['item'].length; j++) {
html += '<li data-value="' + category[i]['item'][j]['value'] + '"><a href="#"> ' + category[i]['item'][j]['label'] + '</a></li>';
}
}
}
if (html) {
this.show();
} else {
this.hide();
}
$(this).siblings('ul.dropdown-menu').html(html);
}
$(this).after('<ul class="dropdown-menu"></ul>');
$(this).siblings('ul.dropdown-menu').delegate('a', 'click', $.proxy(this.click, this));
});
}
})(window.jQuery);