PATH:
home
/
letacommog
/
letaweb
/
admin
/
modules
/
tab
define(['module/base','module/base_structure'],function(base,base_structure) { return createModuleDefinition([base,base_structure], function($window, pageEdit,pageEdit_layout,$q) { this.initializeData = {tabs:['Tab 1', 'Tab 2', 'Tab 3']}; this.loadElement = function(element) { this._loadElement(element); this.element = element; var tabs = []; jQuery(element).children('.tabs').children('ul.navigation').children('li').children('a').each(function(i) { tabs[i] = {}; tabs[i].value = i; tabs[i].label = jQuery.trim(jQuery(this).html()); }); this.module_data = this.module_data || {}; this.module_data.tabs = tabs; var that = this; this.checkEmptyTab(); }; this.checkEmptyTab = function() { var element = this.getElement(); element.children('.tabs').children('.tab-content').children('.tab-pane').each(function(i) { pageEdit_layout.scanEmptyRow(this); if(jQuery(this).children().length == 0) { var dumprow = pageEdit_layout.create_row_helper(); jQuery(this).append(dumprow); } }); element.children('.tabs').children('.tab-content').children('.tab-pane').children('.'+pageEdit_layout.row_class).each(function(i) { pageEdit_layout.createRow(this); }); }; this.getData = function(data) { var t = jQuery(this.getElement()); var tabs = []; var that = this; t.children('.tabs').children('ul.navigation').children('li').children('a').each(function(i) { tabs[i] = {}; tabs[i].value = i; tabs[i].label = jQuery.trim(jQuery(this).html()); }); var data = {}; data.tabs = tabs; return data; }; this.copyDataTo = function(new_element) { new_element = jQuery(new_element); jQuery('.ww_module_info',new_element).remove(); var id = pageEdit.generateModuleId(); new_element.attr('id',id); this._copyDataTo(new_element); var that = this; new_element.children('.tabs').children('ul.navigation').children('li').children('a').each(function(i) { jQuery(this).attr("href", "#" + id + "Tab" + i); }); new_element.children('.tabs').children('.tab-content').children('.tab-pane').each(function(i) { jQuery(this).attr("id", id + "Tab" + i); }); new_element.children('.tabs').tabs(); new_element.children('.tabs').children('.tab-content').children('.tab-pane').children('.'+pageEdit_layout.row_class).each(function() { var moduleObj = pageEdit.getModule(this); if(!moduleObj) return; moduleObj.copyDataTo(this); }); } this.getStructure= function() { var s = this._getStructure(); s.tabs = {}; var element = this.getElement(); element = jQuery(element); element.children('.tabs').children('ul').children('li').children('a').each(function(i) { s.tabs[i] = {}; s.tabs[i].name = jQuery.trim( jQuery(this).html() ); s.tabs[i].rows = {}; var href = jQuery(this).attr('href'); var content = element.children('.tabs').children('.tab-content').children(href); var zones_structure = pageEdit.getInnerZoneStructure(content); s.tabs[i].rows = zones_structure.rows; }); return s; }; this.insert = function(dropInfo) { var insert_point = dropInfo.node; var pos = dropInfo.direction; var insertPlacement = this.createInsertPlacement(insert_point, pos, dropInfo); this.element = insertPlacement; var defered = $q.defer(); var e = this.insertTab(); this.loadElement(insertPlacement); defered.resolve(e); return defered.promise; }; this.insertTab = function() { var element = this.getElement(); var page_id = element.attr('id'); element = jQuery(element); var data = this.initializeData; var tab = jQuery('<div class="tabs"/>'); element.append(tab); var nav = jQuery('<ul class="navigation"/>'); tab.append(nav); var tabcontents = jQuery('<div class="tab-content"/>'); tab.append(tabcontents); for(var i = 0;i < data.tabs.length;i++) { var li = jQuery('<li/>'); nav.append(li); var a = jQuery('<a/>'); li.append(a); a.html(data.tabs[i]); a.attr('href', '#' + page_id + 'Tab' + i); var tabcontent = jQuery('<div class="tab-pane"/>'); if(i == 0) { li.addClass('active'); tabcontent.addClass('active'); } tabcontent.hide(); tabcontent.attr('id',page_id + 'Tab' + i); tabcontents.append(tabcontent); var dumprow = pageEdit_layout.create_row_helper(); tabcontent.append(dumprow); } tab.tabs(); return element; }; this.controller = function($scope, $moduleInstance) { $scope.deleteTab = function(index) { if($scope.data.tabs.length == 1) return; $scope.data.tabs.splice(index, 1); var t = $moduleInstance.getElement(); t.children('.tabs').children('ul').children('li:eq(' + index + ')').remove(); t.children('.tabs').children('.tab-content').children('div:eq(' + index + ')').remove(); } $scope.changeTabHeader = function(index) { if($scope.data.tabs.length == 1) return; if($scope.data.tabs[index] == undefined) return; var t = $moduleInstance.getElement(); t.children('.tabs').children('ul').children('li:eq(' + index + ')').children('a').html($scope.data.tabs[index].label); } $scope.addTab = function() { var tabname = 'New tab'; $scope.data.tabs.push({label:tabname}); var t = $moduleInstance.getElement(); var nav = t.children('.tabs').children('ul'); var li = jQuery('<li/>'); nav.append(li); var a = jQuery('<a/>'); li.append(a); a.html(tabname); var i = t.children('.tabs').children('ul').children('li').length; a.attr('href', '#' + $moduleInstance.page_id +'Tab' + i); var tabcontent = jQuery('<div class="tab-pane"/>'); tabcontent.hide(); tabcontent.attr('id', $moduleInstance.page_id + 'Tab' + i); var tabcontents = t.children('.tabs').children('.tab-content'); tabcontents.append(tabcontent); var row = pageEdit_layout.create_row_helper(); tabcontent.append(row); t.children('.tabs').tabs(); } }; }) });
[+]
..
[-] backend.js
[edit]
[-] frontend_script.php
[edit]
[-] backend.php
[edit]