var ShopSettings = function ($) { 'use strict'; var me = { storage: { exampleTemplate: null, treeApi: null, lastTreeSearch: '' }, openTransformationPopup: function () { //$('#smartyinput').dialog('open'); $('#textareasmartyincomming').val($('#transform_cart').val()); $('#textareasmartyincomminginput').val($('#textareasmartyincomminginput').val()); }, loadCart: function (shopId) { if ($('#cart').val() + '' === '') { return; } $.ajax({ type: 'POST', url: 'index.php?module=onlineshops&action=edit&cmd=loadCart', data: { shopid: shopId, extid: $('#cart').val(), format: $('#smartyinputtype').val(), replacecart: $('#replacecart').prop('checked') ? 1 : 0, content: $('#textareasmartyincomming').val() }, success: function (data) { $('#textareasmartyincomminginput').val(data.input); $('#dataincommingobject').html(data.object); $('#dataincommingpreview').val(data.preview); } }); }, initCategoryTree: function () { $('#mlmTree').aciTree({ autoInit: false, checkboxChain: false, ajax: { url: 'index.php?module=onlineshops&action=edit&cmd=loadTree&id=' + $('#mlmTree').data('id') }, checkbox: true, multiSelectable: true, itemHook: function (parent, item, itemData, level) { //console.log(itemData); }, filterHook: function (item, search, regexp) { if (search.length) { var parent = this.parent(item); if (parent.length) { var label = this.getLabel(parent); if (regexp.test(String(label))) { this.setVisible(item); return true; } this.setVisible(item); } if (regexp.test(String(this.getLabel(item)))) { item.addClass('searched'); return true; } else { return false; } //return regexp.test(String(this.getLabel(item))); } else { return true; } } }); me.storage.treeApi = $('#mlmTree').aciTree('api'); $('#search').val(''); me.storage.lastTreeSearch = ''; $('#search').on('keyup', function () { if ($(this).val() === me.storage.lastTreeSearch) { return; } $('.aciTreeLi').removeClass('searched'); me.storage.lastTreeSearch = $(this).val(); api.filter(null, { search: $(this).val(), callback: function () { }, success: function (item, options) { if (!options.first) { //alert('No results found!'); } } }); }); $('#mlmTree').on('acitree', function (event, api, item, eventName, options) { switch (eventName) { case 'checked': var ajaxData = { id: api.getId(item), shopId: $('#mlmTree').data('id'), name: api.getLabel(item), checked: true, todo: 'check' }; var dataid = api.getId(item); var allChildren = api.children(null, true, true); $(allChildren).each(function () { if (api.getId($(this)) != dataid) { api.uncheck($(this)); } }); $('#category_root_id').val(dataid); $.ajax({ url: 'index.php?module=onlineshops&action=edit&cmd=checkTreeNode', data: ajaxData, success: function (data) { } }); break; case 'unchecked': var ajaxData = { id: api.getId(item), shopId: $('#mlmTree').data('id'), name: api.getLabel(item), checked: false, todo: 'uncheck' }; $('#category_root_id').val(0); $.ajax({ url: 'index.php?module=onlineshops&action=edit&cmd=uncheckTreeNode', data: ajaxData, success: function (data) { } }); break; } }); $('#mlmTree').aciTree('init'); $(window).on('scroll', function () { checkContainerPos(); }); }, initSmarty: function () { $('#editcarttransformation').on('click', function () { me.openTransformationPopup(); }); $('#runincomming').on('click', function () { $('#transform_cart').val($('#textareasmartyincomming').val()); $('#transform_cart_data').val($('#textareasmartyincomminginput').val()); $.ajax({ url: 'index.php?module=onlineshops&action=edit&cmd=runincomming', type: 'POST', dataType: 'json', data: { content: $('#textareasmartyincomming').val(), input: $('#textareasmartyincomminginput').val(), shopid: $('#loadCart').data('shopid'), format: $('#smartyinputtype').val(), replacecart: $('#replacecart').prop('checked') ? 1 : 0 }, success: function (data) { $('#dataincommingobject').html(data.object); $('#dataincommingpreview').val(data.preview); } }); }); $('#saveincomming').on('click', function () { $.ajax({ url: 'index.php?module=onlineshops&action=edit&cmd=savesmartyincomming', type: 'POST', dataType: 'json', data: { content: $('#textareasmartyincomming').val(), input: $('#textareasmartyincomminginput').val(), shopid: $('#loadCart').data('shopid'), format: $('#smartyinputtype').val(), replacecart: $('#replacecart').prop('checked') ? 1 : 0, active: $('#transferactive').prop('checked') ? '1' : '0' }, success: function () { $('#transform_cart_format').val($('#smartyinputtype').val()); $('#transform_cart_replace').val($('#replacecart').prop('checked') ? 1 : 0); $('#transform_cart').val($('#textareasmartyincomming').val()); $('#transform_cart_data').val($('#textareasmartyincomminginput').val()); $('#transform_cart_active').val($('#transferactive').prop('checked') ? '1' : '0'); } }); }); $('#transferactive').on('change', function () { $('#transform_cart_active').val($('#transferactive').prop('checked') ? '1' : '0'); }); $('#smartyinputtype').on('change', function () { me.loadDefaultTemplate(); }); me.loadDefaultTemplate(); $('#loadDefaultTemplate').on('click', function () { if (me.storage.loadDefaultTemplate + '' === '') { return; } if (($('#textareasmartyincomming').val() + '').trim() !== '' && !confirm('Das bisherige Template wird ersetzt. Fortfahren?')) { return; } $('#textareasmartyincomming').val(me.storage.loadDefaultTemplate); }); $('#loadCart').on('click', function () { var cart = $('#cart').val() + ''; if (cart === '') { return; } me.loadCart($(this).data('shopid')); }); }, loadDefaultTemplate: function () { me.storage.loadDefaultTemplate = ''; $.ajax({ url: 'index.php?module=onlineshops&action=edit&cmd=loadDefaultTemplate', type: 'POST', dataType: 'json', data: { content: $('#textareasmartyincomming').val(), input: $('#textareasmartyincomminginput').val(), shopid: $('#loadCart').data('shopid'), format: $('#smartyinputtype').val(), replacecart: $('#replacecart').prop('checked') ? 1 : 0, active: $('#transferactive').prop('checked') ? '1' : '0' }, success: function (data) { if (typeof data.template != 'undefined' && data.template !== '') { me.storage.loadDefaultTemplate = data.template; $('#loadDefaultTemplate').toggleClass('hidden', false); $('#loadDefaultTemplate').show(); } else { me.storage.loadDefaultTemplate = ''; $('#loadDefaultTemplate').hide(); } } }); }, init: function () { if ($('#smartyinput').length) { me.initSmarty(); } if ($('#mlmTree').length) { me.initCategoryTree(); } } }; return { init: me.init }; }(jQuery); $(document).ready(function () { ShopSettings.init(); });