var eq2 = { 'icons':{'items':[],'spells':[]} }; /* ICOPICKER HANDLING & EVENTS */ //Manually change item icon $(document).on('change', '.item-edit-input[data-field="icon"]', function() { var i = $(this).val(), ctn = $('.edit-item-ico-ctn'), ico = 'img/eq2/items/'+i+'.png'; ctn.empty().append('' +'' +'
' +'Icon ID: '+i+''); }); //Select icon. $(document).on('click', '.ico-picker-i', function() { var view = $('.edit-item-ico-ctn'), e = $('.item-edit-input[data-field="icon"]'), i = $(this).data('icon-id'); e.trigger('change'); $('.icon-picker-ctn').slideUp('slow'); view.empty().append('' +'' +'
' +'Icon ID: '+i+''); e.val(i); }); //Toggle icon picker tools $(document).on('click', '.ico-picker-btn, .cancel-icon-picker', function() { var c = $('.icon-picker-ctn'), visible = c.is(":visible"); if(visible) { c.slideUp('slow'); } else { c.slideDown('fast'); } }); var icoLoader = []; $(document).on('click', '.icopicker-category, .ico-picker-page', function() { var c = $(this).data('category'), ctn = $('.ico-picker-list'), p = 1; if($(this).hasClass('ico-picker-page')) { p = $(this).data('page'); $(this).empty().append(''); $('.ico-picker-page.btn-success').switchClass('btn-success', 'btn-warning'); } else { $(this).parent().find('.btn-success').switchClass('btn-success','btn-default'); $(this).switchClass('btn-default', 'btn-success'); } //ctn.empty().append('

Fetching icons ...

'); if(icoLoader.length > 0) { $.each(icoLoader, function(k,v) { clearTimeout(icoLoader[k]); icoLoader.splice(k,1); }); } $.post('autoload.php', {'get-item-icons': c, 'page':p}, function(data) { ctn.empty().append(data); var intv = 0; icoLoader = $.each($('.ico-unloaded'), function(k,v) { var iconid = $(this).data('icon-id'); icoLoader[icoLoader.length+1] = setTimeout(function() { $('.ico-picker-i[data-icon-id="'+iconid+'"]').removeClass('ico-unloaded'); $('.ico-picker-i[data-icon-id="'+iconid+'"]').empty().append(''); },intv); intv = intv+5; }); }); }); /* NAVIGATION HANDLING & EVENTS */ $(document).on('click', '.eq-nav-link', function() { var m = $(this).data('module'), e = $(this), t = $(this).find('.nav-link-text').text(); console.log(t); $(this).find('a').empty().append('  '+t+''); $.post('autoload.php', {'set-navigation':m}, function(data) { location.reload(); }); }); /* ITEM EDITOR FUNCTIONS & EVENTS */ //Save Changes to Item var confrmChanges; $(document).on('click', '.item-edit-save', function() { var f = $('.item-edit-changed'), b = $(this), confrm = b.hasClass('are-you-sure'), saving = b.hasClass('saving-item-changes'); if(f.length > 0) { if(!confrm && !saving) { b.switchClass('btn-default', 'btn-warning'); b.addClass('are-you-sure'); b.empty().append('Are you sure?'); confrmChanges = setTimeout(function() { b.switchClass('btn-warning','btn-default'); b.removeClass('are-you-sure'); b.empty().append(' Save'); },3000); } else { clearTimeout(confrmChanges); b.switchClass('btn-warning', 'btn-info'); b.removeClass('are-you-sure'); b.addClass('saving-item-changes'); b.empty().append(' Saving ...'); var itemData = {}; $.each(f, function() { var e = $(this), id = e.data('id'), key = e.data('key'), t = e.data('table'), f = e.data('field'), v = e.val(); if(e.hasClass('custom-control-input')) { v = (e.is(":checked") ? 1:0); } if(e.is("select")) { v = $(e, 'option:selected').val(); } if(!itemData[t]) { itemData[t] = {'fields':{},'key':key,'id':id}; } itemData[t]['fields'][f] = v; }); $.post('autoload.php', { 'edit-item':true, 'data':itemData }, function(data) { b.switchClass('btn-info', 'btn-default'); b.removeClass('saving-item-changes'); setTimeout(function() { b.empty().append(' Save'); },1000); $('.item-edit-changed').removeClass('item-edit-changed'); $('.item-edit-changed-label').removeClass('item-edit-changed-label'); $('.item-edit-changed-label-switch').removeClass('item-edit-changed-label-switch'); console.log(data); }, 'json'); } } else { b.removeClass('animated shake').addClass('animated shake'); } }); //Tier Range Slider Value Changes $(document).on('change', '.tier-range', function() { $('.tier-range-label').empty().append('Tier '+$(this).val()+''); }); //Item Editor Input Value Changes $(document).on('change', '.item-edit-input', function() { if(!$(this).hasClass('item-edit-changed')) { $(this).addClass('item-edit-changed'); if($(this).hasClass('custom-control-input')) { $(this).parent().find('.custom-control-label').addClass('item-edit-changed-label-switch'); } else { $(this).parent().find('.input-group-text').addClass('item-edit-changed-label'); } } }); //Load Item Editor Pane $(document).on('click', '.quick-item-search-row', function() { var id = $(this).data('id'), l = $('#item-editor-header-label'), c = $('#item-editor-content'), tb = $('.item-edit-toolbar'); if(l.hasClass('hidden')) { l.removeClass('hidden').removeClass('animated').removeClass('fadeInRight'); l.addClass('animated fadeInRight'); l.empty().append(' Loading ...'); tb.removeClass('hidden animated fadeInLeft').addClass('animated fadeInLeft'); } c.empty().append('

Loading...

'); $.post('autoload.php', {'get-edit-item':id}, function(data) { setTimeout(function() { c.empty().append(data); },700); }); }); //Quick Search Handler var quicksearchtimer, quicksearchdata; $(document).on('keyup', '#item-quick-search', function() { var s = $(this).val(), i = $('#quick-item-search-icon'), l = $('#quick-item-list'); console.log('Keyup Detected'); if(quicksearchtimer) { clearTimeout(quicksearchtimer) } //Clear timeout between keystrokes i.empty().append(''); l.empty().append('
   
   
'); quicksearchtimer = setTimeout(function() { $.post('autoload.php', {'quick-item-search':s}, function(data) { quicksearchdata = data; build_quicksearch_list(data); },'json'); }, 800); }); function build_quicksearch_list(d) { var i = $('#quick-item-search-icon'), l = $('#quick-item-list'); i.empty().append('') console.log(d); if(d.rows.length > 0) { l.empty().append('

'+d.found+' item(s) found - results limited to '+d.count+'.

'); $.each(quicksearchdata.rows, function(k,v) { l.append('' +'
' +'
' +'
' +' '+v.name+' ' +'
ID: '+v.id+' '+v.item_type+'
' +'
' +'
' +'
'); }); } else { l.empty().append('' +'
' +'

' +' ' +' No items were found matching your search.' +'

' +'
'); } }