PATH:
home
/
letacommog
/
letaweb
/
scripts
/
editor
/
modules
define(['module/base'],function(base) { return createModuleDefinition([base], function($window, $dialog,popup,pageEdit,pageEdit_event,pageEdit_layout,pageEdit_ddManager,communication) { this.getContainer = function(el) { var element = this.getElement(); if(el != undefined) element = jQuery(el); var container = element.children('.'+pageEdit_layout.container_class); if(container.length == 0) container = element.children('.'+pageEdit_layout.container_fluid_class); return container; }; this.controller = function($scope,$moduleInstance) { var container = $moduleInstance.getContainer(); $scope.data.fullwidth = container.hasClass(pageEdit_layout.container_fluid_class) ? '1' : '0'; $scope.changeFullWidth = function() { if($scope.data.fullwidth == 1) { container.addClass(pageEdit_layout.container_fluid_class); container.removeClass(pageEdit_layout.container_class); } else { container.addClass(pageEdit_layout.container_class); container.removeClass(pageEdit_layout.container_fluid_class); } } $scope.changeVideoBackground = function() { } $scope.changeBackground = function() { var url = $.trim($scope.data.imagebg); var bg_div = this.getElement().children(".zone_bg"); if(url.length == 0) { } else { } } $scope.changeSeperateImage = function() { } $scope.saveTemplate = function() { var p = $moduleInstance.getElement().parent(); var type = 'header'; var id = p.attr('id'); if(id == pageEdit_layout.main_pagezone_id) $scope.title = 'main'; if(id == pageEdit_layout.footer_pagezone_id) $scope.title = 'footer'; popup.open({ name:'saveZoneTemplate', controller:function($scope) { $scope.ok = function() { communication.moduleExecute('saveZoneTemplate', {type:type,name:$scope.name,data:$moduleInstance.getStructure()}).then(function() { $scope.$close(); }); } } }) } } this.loadElement = function(el) { if(jQuery(el).attr('id')==undefined) { jQuery(el).attr('id', pageEdit.getUniqueId('zone')); } var container = this.getContainer(el); if(container.children().length==0) { var row = pageEdit_layout.create_row_helper(); container.append(row); pageEdit_event.fire(pageEdit_event.ROW_ADDED,{'block':row}); } container.children('.'+pageEdit_layout.row_class).each(function(i) { pageEdit_layout.createRow(this); }); return this._loadElement(el); }; this.moduleInfoButtons= { 'move':false, 'drag':true, 'plus':true, 'moveup':true, 'movedown':true, 'edit':true, 'delete':true, 'clone':true, }; this.moveUp = function() { var zone = pageEdit_layout.getPrevZone(this.getElement()); if(zone!=undefined) jQuery(zone).before(this.getElement()); } this.moveDown = function() { var zone = pageEdit_layout.getNextZone(this.getElement()); if(zone!=undefined) jQuery(zone).after(this.getElement()); } this.createModuleInfo2 = function() { if(this.moduleInfoBlock != undefined) { this.moduleInfoBlock.remove(); delete this.moduleInfoBlock; } var element = this.getElement(); var block = jQuery('<div class="ww_module_info ww_zone_info"/>'); var div = jQuery('<div class="btn-group"></div>'); block.append(div); if(pageEdit_layout.isFirstZone(element)) { var pdiv_inner = jQuery('<label class="btn btn-primary info_name"></label>'); pdiv_inner.html('pagezone').hide(); div.append(pdiv_inner); var pedit_button = jQuery('<button class="btn btn-primary font-cog"/>').hide(); div.append(pedit_button); var Zonetoggle = jQuery('<button class="btn btn-primary font-caret-right"/>').hide(); div.append(Zonetoggle); var PageZonetoggle = jQuery('<button class="btn btn-primary font-caret-left"/>'); div.append(PageZonetoggle); PageZonetoggle.click(function() { jQuery(this).prevAll().show(); jQuery(this).nextAll().hide(); jQuery(this).hide(); }) Zonetoggle.click(function() { jQuery(this).nextAll().show(); jQuery(this).prevAll().hide(); jQuery(this).hide(); }); pedit_button.click(function() { element.parent().trigger('edit'); }); } var div_inner = jQuery('<label class="btn btn-primary info_name"></label>'); div_inner.html(this.type); div.append(div_inner); var add_button = jQuery('<button class="btn btn-primary font-plus"/>'); div.append(add_button); var edit_button = jQuery('<button class="btn btn-primary font-cog"/>'); div.append(edit_button); var clone_button = jQuery('<button class="btn btn-primary font-copy"/>'); div.append(edit_button); element.append(block); var that = this; edit_button.click(function() { that.select(); }); clone_button.click(function() { that.doclone(); }); var that = this; add_button.click(function() { $dialog.addNewBlock().result.then(function(type) { var direction = type==1?'top':'bottom'; pageEdit_layout.zoneHelper_clickEvent(that.getElement(),direction) });; }); var offset = element.offset(); block[0].style.top=offset.top+'px'; block[0].style.left='0px'; this.moduleInfoBlock = block; } this.setModuleInfoPosition = function() { var offset = this.getElement().offset(); this.moduleInfoBlock[0].style.left="0px"; this.moduleInfoBlock[0].style.top=offset.top+"px"; }; this.insertZoneTemplate = function(name, dropInfo) { var insert_point = this.getElement(); communication.getZoneTemplate(name).then(function(json) { var newelement = angular.element(json); if(dropInfo.direction == 'top' || dropInfo.direction == 'bottom') { //inserted = pageEdit_layout.wrap_zone(inserted); dropInfo.direction == 'top' && jQuery(insert_point).before(newelement); dropInfo.direction == 'bottom' && jQuery(insert_point).after(newelement); //var row = inserted.children().children(); pageEdit_event.fire(pageEdit_event.ZONE_ADDED,{'block':newelement}); //pageEdit_event.fire(pageEdit_event.ROW_ADDED,{'block':row}); } }); }; this.zone_insertZone = function(insert_point, pos, inserted) { if(pos == 'top' || pos == 'bottom') { //inserted = pageEdit_layout.wrap_zone(inserted); pos == 'top' && jQuery(insert_point).before(inserted); pos == 'bottom' && jQuery(insert_point).after(inserted); //var row = inserted.children().children(); pageEdit_event.fire(pageEdit_event.ZONE_ADDED,{'block':inserted}); //pageEdit_event.fire(pageEdit_event.ROW_ADDED,{'block':row}); } }; this.handleDragEvent = function(event, ui) { this._handleDragEvent(event, ui); }; this._handleDragEvent = function(event, ui) { if(!jQuery(ui.helper).hasClass('ww_widget_drag_zone_helper')) { return; } var element = this.getElement(); var dropped = pageEdit_ddManager.inDragHandlerRegion(element); if(dropped) { pageEdit_ddManager.handleInnerOver(event, element,ui ); } }; this._getStructure = function() { var element = this.getElement(); var s = {}; s.id = this.getPage_id();; s.data_id = this.getSystem_id();; s.class = element.attr('class'); s.rows = []; var that = this; this.getContainer().children('.'+pageEdit_layout.row_class).each(function(i) { var row = pageEdit.getRowStructure(this); if(row != undefined) s.rows.push( row); }); return s; }; this.copyDataTo = function(new_element) { jQuery('.ww_module_info',new_element).remove(); var id = pageEdit.getUniqueId('zone'); new_element.attr('id',id); this._copyDataTo(new_element); var that = this; this.getContainer(new_element).children('.'+pageEdit_layout.row_class).each(function() { var moduleObj = pageEdit.getModule(this); if(!moduleObj) return; moduleObj.copyDataTo(this); }); } this._createInsertionPoint = function() { }; this._deleteRow = function(module) { var mo = pageEdit.getModule(module); if(mo!=undefined) mo.delete(); } this._deleteRows = function() { var that = this; this.getContainer().children('.'+pageEdit_layout.row_class).each(function() { var row = jQuery(this); that._deleteRow(row); }); } this.delete = function() { this._deleteRows(); return this._delete(); }; }); });
[+]
..
[-] productlist.js
[edit]
[-] facebookvideo.js
[edit]
[-] newslist.js
[edit]
[-] image.js
[edit]
[-] video.js
[edit]
[-] button.js
[edit]
[-] zone.js
[edit]
[-] text.js
[edit]
[-] newscategory.js
[edit]
[-] googlemap.js
[edit]
[-] base_structure.js
[edit]
[-] contactform.js
[edit]
[-] spacer.js
[edit]
[-] infobox.js
[edit]
[-] html.js
[edit]
[-] testmodule.js
[edit]
[-] facebookcomment.js
[edit]
[-] iframe.js
[edit]
[-] twitterfeed.js
[edit]
[-] recentnews.js
[edit]
[-] audio_player.js
[edit]
[-] slick.js
[edit]
[-] newsdetail.js
[edit]
[-] facebookpost.js
[edit]
[-] pagezone.js
[edit]
[-] panigation.js
[edit]
[-] row.js
[edit]
[-] __custom_module_template.js
[edit]
[-] carousel.js
[edit]
[-] icon.js
[edit]
[-] typedtext.js
[edit]
[-] newscomment.js
[edit]
[-] box.js
[edit]
[-] base_custom.js
[edit]
[-] wordpress.js
[edit]
[-] base.js
[edit]
[-] column.js
[edit]
[-] fancytext.js
[edit]
[-] recentproduct.js
[edit]
[-] statcounter.js
[edit]
[-] tab.js
[edit]
[-] bootstrap_slider.js
[edit]
[-] ihover.js
[edit]
[-] line.js
[edit]
[-] blogger.js
[edit]
[-] slideshow.js
[edit]
[-] title.js
[edit]
[-] facebookpage.js
[edit]
[-] share_buttons.js
[edit]
[-] facebooklike.js
[edit]
[-] infobanner.js
[edit]
[-] rssfeed.js
[edit]
[-] flash.js
[edit]
[-] countdown.js
[edit]
[-] facebooksend.js
[edit]
[-] mailchimp.js
[edit]
[-] infotable.js
[edit]
[-] navbar.js
[edit]
[-] cycleslider.js
[edit]
[-] modal.js
[edit]
[-] embed.js
[edit]
[-] alert.js
[edit]
[-] progress_bar.js
[edit]
[-] accordion.js
[edit]
[-] youtube.js
[edit]
[-] social_buttons.js
[edit]
[-] productcategory.js
[edit]
[-] menu.js
[edit]
[-] pricetable.js
[edit]
[-] productdetail.js
[edit]
[-] gallery.js
[edit]