PHP Classes

File: Application/Module/Theme/Public/Js/admin_widget.js

Recommend this page to a friend!
  Classes of Duong Huynh Nghia   Lego PHP   Application/Module/Theme/Public/Js/admin_widget.js   Download  
File: Application/Module/Theme/Public/Js/admin_widget.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Lego PHP
Blog and shopping cart system
Author: By
Last change: Update JS & CSS for minifying
Date: 7 years ago
Size: 7,794 bytes
 

Contents

Class file image Download
ADMIN_WIDGET = { init: function () { //init sortable if($('#widget-list-holders .widget-sortable').length > 0){ $("#widget-list-holders .widget-sortable").sortable({ connectWith: ".page-location .widget-sortable", helper: function (e, li) { if(li.attr('removeondraf') == 1){ $(this).data('copied', false); return li.clone(); } this.copyHelper = li.clone().insertAfter(li); $(this).data('copied', false); return li.clone(); }, stop: function () { var copied = $(this).data('copied'); if (!copied) { this.copyHelper.remove(); } this.copyHelper = null; } }).disableSelection(); $('.page-location .widget-sortable').sortable({ connectWith: ".page-location .widget-sortable", receive: function (e, ui) { ui.sender.data('copied', true); var hp = $(ui.item).attr('hp'); var _controls = []; if(hp == 1){ _controls.push('<a href="javascript:void(0)" title="' + _TL('core.edit') + '" onclick="ADMIN_WIDGET.editWidget(this);" class="a-edit"><i class="fa fa-pencil"></i></a>'); } _controls.push('<a href="javascript:void(0)" title="' + _TL('core.delete') + '" onclick="ADMIN_WIDGET.removeWidget(this);" class="a-remove"><i class="fa fa-trash"></i></a>'); $(ui.item).append('<span class="widget-controls-holder">' + _controls.join('') + '</span>'); if(!$(ui.sender).parent().hasClass('page-location')){ if(hp == 1){ $(ui.item).find('.widget-controls-holder > a.a-edit').trigger('click'); }else{ var hash = CORE.random(); $(ui.item).attr('hash',hash); } } }, }).disableSelection(); } if($(".hide_on_this_page").length > 0){ $('.hide_on_this_page').click(function(){ var df = $(this).attr('df'); df = parseInt(df); df = df ? 0 : 1; $(this).attr('df',df); if(df){ $(this).html(_TL('page.show_on_this_page')); }else{ $(this).html(_TL('page.hide_on_this_page')); } }); } if($('.switch-box').length > 0){ $('.switch-box').bootstrapSwitch({ size: "small" }); $('.switch-box-default').on('switchChange.bootstrapSwitch', function (event, state) { ADMIN_WIDGET.updateLayouts('#theme-form-holder'); }); } if($('.layout-widget-item-holder').length > 0){ $('.layout-widget-item-holder .widget-item').each(function(i,e){ var pw = $(e).attr('pw'); var added_item = $('#layout-design-editor .widget-item[pw="'+pw+'"]'); if(added_item.length > 0){ $(e).hide(); }else{ $(e).show(); } }); } }, updateLayouts: function(f){ var is_default = 0; $('.switch-box-default').each(function (i, e) { var state = $(e).bootstrapSwitch('state'); if (state == true) { is_default = $(e).attr('rel'); } }); $.ajax({ url: CORE.params['sBaseAdminUrl'] + 'theme/layout/updateAll', data: { is_default: is_default, }, method: 'POST', dataType: 'JSON' }).done(function () { }).error(function () { }); }, removeWidget: function (e) { bootbox.confirm({ size: "small", message: _TL('core.are_you_sure'), callback: function (result) { if (result) { $(e).parent().parent().hide().attr('remove',1); } } } ); }, editWidget: function (e) { var li = $(e).parent().parent(); var pw_id = $(li).attr('pw'); var wid = $(li).attr('wid'); var hash = $(li).attr('hash'); var df = $(li).attr('default'); if((typeof hash == "undefined" )|| hash == ""){ hash = CORE.random(); $(li).attr('hash',hash); } var caller = null; if (CORE.isInIframe()) { caller = window.top.CORE; } else { caller = CORE; } var url = CORE.params['sBaseAdminUrl'] + 'theme/widget/edit'; if(typeof DESGIN_LAYOUT_MODE != "undefined" || df == 1){ url += "?type=layout"; } var params = { pwid: pw_id, wid: wid, ehash: hash, wd: $('body') }; var config = { 'title': _TL('theme.edit_widget'), }; config.size = "small"; caller.box(url, params, config); }, addWidget: function (pid) { var url = CORE.params['sBaseAdminUrl'] + 'theme/widget/add'; var params = { 'widget_type': 'html' }; var config = { 'title': _TL('theme.add_new_html_widget') }; CORE.box(url, params, config); }, saveDesign: function(f){ var _editor = $(f).find("#layout-design-editor"); var layout = { id: $('#layout_id').val(), locations: [], footer: 1, header: 1 }; layout.header = _editor.find('.hide_on_this_page.h-header').attr('df'); layout.footer = _editor.find('.hide_on_this_page.h-footer').attr('df'); _editor.find('.page-location').each(function (i, e) { var location_id = $(this).attr('rel'); var location = { id: location_id, widgets: [], } $(e).find('.widget-sortable li').each(function (i2, e2) { var widget_router = $(e2).attr('rel'); var widget_id = $(e2).attr('wid'); var hash = $(e2).attr('hash'); var remove = $(e2).attr('remove'); if(typeof remove == "undefined"){ remove = 0; } if (typeof widget_id == "undefined") { widget_id = 0; } var pw_id = $(e2).attr('pw'); if (typeof pw_id == "undefined") { pw_id = 0; } location.widgets.push({ widget_id: widget_id, pw_id: pw_id, router: widget_router, ehash: hash, remove: remove, }); }); layout.locations.push(location); }); CORE.formProcessing($(f).parent()); $.ajax({ url: $(f).attr('action'), method: 'POST', data: layout, dataType: 'JSON', }).done(function (msg) { CORE.formProcessing($(f).parent(), false); bootbox.alert({ size: 'small', message: msg.message, callback: function(){ CORE.reloadWindow(); } }); }).error(function () { CORE.formProcessing($(f).parent(), false); alert(msg.message); }); return false; } }; $(document).ready(function () { ADMIN_WIDGET.init(); });