%PDF- %PDF-
Direktori : /var/www/crm/modules/ModuleBuilder/tpls/MBModule/ |
Current File : /var/www/crm/modules/ModuleBuilder/tpls/MBModule/fields.tpl |
{* /********************************************************************************* * SugarCRM Community Edition is a customer relationship management program developed by * SugarCRM, Inc. Copyright (C) 2004-2012 SugarCRM Inc. * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU Affero General Public License version 3 as published by the * Free Software Foundation with the addition of the following permission added * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License along with * this program; if not, see http://www.gnu.org/licenses or write to the Free * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301 USA. * * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road, * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "Powered by * SugarCRM" logo. If the display of the logo is not reasonably feasible for * technical reasons, the Appropriate Legal Notices must display the words * "Powered by SugarCRM". ********************************************************************************/ *} <div id='studiofields'> <input type='button' name='addfieldbtn' value='{$mod_strings.LBL_BTN_ADDFIELD}' class='button' onclick='ModuleBuilder.moduleLoadField("");'> {if $editLabelsMb=='1'} <input type='button' name='addfieldbtn' value='{$mod_strings.LBL_BTN_EDLABELS}' class='button' onclick='ModuleBuilder.moduleLoadLabels("mb");'> {else} <input type='button' name='addfieldbtn' value='{$mod_strings.LBL_BTN_EDLABELS}' class='button' onclick='ModuleBuilder.moduleLoadLabels("studio");'> {/if} </div> <br> <div id="field_table"></div> {if $studio}{sugar_translate label='LBL_CUSTOM_FIELDS' module='ModuleBuilder'}</h3>{/if} <script type="text/javascript"> var customFieldsData = {$customFieldsData}; {literal} //create sortName function to apply custom sorting for the name column which contains HTML var sortName = function(a, b, desc) { var comp = YAHOO.util.Sort.compare; var aString = a.getData('name').replace(/<[^>]*>/g, ""); var bString = b.getData('name').replace(/<[^>]*>/g, ""); return comp(aString, bString, desc); }; var editFieldFormatter = function(elCell, oRecord, oColumn, oData) { var label = customFieldsData[oData] ? '* ' + oData : oData; elCell.innerHTML = "<a class='mbLBLL' href='javascript:void(0)' id='" + oData + "' onclick='ModuleBuilder.moduleLoadField(\"" + oData + "\");'>" + label + "</a>"; }; var labelFormatter = function(elCell, oRecord, oColumn, oData) { if (oData) elCell.innerHTML = oData.replace(/\:\s*?$/, ''); }; var myColumnDefs = [ {key:"name", label:SUGAR.language.get("ModuleBuilder", "LBL_NAME"),sortable:true, resizeable:true, formatter:"editFieldFormatter", width:150, sortOptions:{sortFunction:sortName, defaultDir:YAHOO.widget.DataTable.CLASS_ASC}}, {key:"label", label:SUGAR.language.get("ModuleBuilder", "LBL_DROPDOWN_ITEM_LABEL"),sortable:true, resizeable:true, formatter:"labelFormatter", width:200}, {key:"type", label:SUGAR.language.get("ModuleBuilder", "LBL_DATA_TYPE"),sortable:true,resizeable:true, width:125} ]; {/literal} var myDataSource = new YAHOO.util.DataSource({$fieldsData}); myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY; {literal} myDataSource.responseSchema = {fields: ["label","name","type"]}; YAHOO.widget.DataTable.Formatter.editFieldFormatter = editFieldFormatter; YAHOO.widget.DataTable.Formatter.labelFormatter = labelFormatter; var fieldsTable = new YAHOO.widget.ScrollingDataTable("field_table", myColumnDefs, myDataSource); fieldsTable.doBeforeSortColumn = function(column, sortDirection) { var url = 'index.php?module=ModuleBuilder&action=savetablesort&column=' + column.getKey() + '&direction=' + sortDirection; YUI().use('io', function (Y) { Y.io(url, { method: 'POST', on: { success: function(id, data) {}, failure: function(id, data) {} } }); }); return true; }; fieldsTable.subscribe("rowMouseoverEvent", fieldsTable.onEventHighlightRow); fieldsTable.subscribe("rowMouseoutEvent", fieldsTable.onEventUnhighlightRow); fieldsTable.subscribe("rowClickEvent", function(args) { var field = this.getRecord(args.target).getData(); ModuleBuilder.moduleLoadField(field.name); }); fieldsTable.render("#field_table"); {/literal} {if !empty($sortPreferences)} pref = {$sortPreferences}; sortDirection = (pref.direction == 'ASC') ? YAHOO.widget.DataTable.CLASS_ASC : YAHOO.widget.DataTable.CLASS_DESC; fieldsTable.sortColumn(fieldsTable.getColumn(pref.key), sortDirection); {/if} ModuleBuilder.module = '{$module->name}'; ModuleBuilder.MBpackage = '{$package->name}'; ModuleBuilder.helpRegisterByID('studiofields', 'input'); {if $package->name != 'studio'} ModuleBuilder.helpSetup('fieldsEditor','mbDefault'); {else} ModuleBuilder.helpSetup('fieldsEditor','default'); {/if} </script> <style> {literal} a.mbLBLL { text-decoration:none; font-weight:normal; color:black; } #field_table { text-align:left; } {/literal} </style>