modulebuilder.js
来自「SugarCRM5.1 开源PHP客户关系管理系统」· JavaScript 代码 · 共 867 行 · 第 1/2 页
JS
867 行
}, submitForm: function(formname, successCall){ if (Ext.Ajax.isLoading()) { ajaxStatus.showStatus(SUGAR.language.get('ModuleBuilder', 'LBL_AJAX_TIME_DEPENDENT')); return; } ajaxStatus.showStatus(SUGAR.language.get('ModuleBuilder', 'LBL_AJAX_LOADING')); if (typeof(successCall) == 'undefined') { successCall = ModuleBuilder.updateContent; } else { ModuleBuilder.callLock = true; } Ext.Ajax.request({ params: Ext.Ajax.serializeForm(formname), success: successCall, failure: ModuleBuilder.failed }); }, setMode: function(reqMode){ ModuleBuilder.mode = reqMode; }, main: function(type){ document.location.href = 'index.php?module=ModuleBuilder&action=index&type=' + type; }, failed: function(o){ ajaxStatus.flashStatus(SUGAR.language.get('ModuleBuilder', 'LBL_AJAX_FAILED_DATA'), 2000); }, //Wizard Functions buttonDown: function(button, name, list){ if (typeof(name) != 'undefined') { for (i in ModuleBuilder.buttons[list]) { ModuleBuilder.buttons[list][i].className = 'wizardButton'; } ModuleBuilder.buttonSelect(name, list); } button.className = 'wizardButtonDown'; }, buttonOver: function(button){ button.className = 'buttonOn'; }, buttonOut: function(button, name, list){ if (typeof(name) != 'undefined') { if (ModuleBuilder.buttonGetSelected(list) != name) { button.className = 'wizardButton' } } else { button.className = 'wizardButton' } }, buttonAdd: function(id, name, list){ if (typeof(ModuleBuilder.buttons[list]) == 'undefined') { ModuleBuilder.buttons[list] = {}; } ModuleBuilder.buttons[list][name] = document.getElementById(id); }, buttonGetSelected: function(list){ if (typeof(ModuleBuilder.selected[list]) == 'undefined') { return false; } return ModuleBuilder.selected[list]; }, buttonSelect: function(name, list){ ModuleBuilder.selected[list] = name; }, buttonToForm: function(form, field, list){ var theField = eval('document.' + form + '.' + field); theField.value = ModuleBuilder.buttonGetSelected(list); }, getTitle: function(title, breadCrumb){ return "<h2>" + title + "</h2><br>" + breadCrumb; }, closeAllTabs: function() { for (var i = ModuleBuilder.tabPanel.items.getCount() - 1; i > -1; i--) { var tab = ModuleBuilder.tabPanel.items.get(i); if (tab.closable) { ModuleBuilder.tabPanel.remove(tab); } } }, //Help Functions helpRegister: function(name){ var formname = 'document.' + name; var form = eval(formname); var i = 0; for (i = 0; i < form.elements.length; i++) { if (typeof(form.elements[i].type) != 'undefined' && typeof(form.elements[i].name) != 'undefined' && form.elements[i].type != 'hidden') { form.elements[i].onmouseover = function(){ ModuleBuilder.helpToggle(this.name) }; form.elements[i].onmouseout = function(){ ModuleBuilder.helpToggle('default') }; } } }, helpUnregisterByID: function (id){ var elm = document.getElementById(id); elm.onmouseover = function() {}; elm.onmouseout = function() {}; return; }, helpRegisterByID: function(name, tag){ var parent = document.getElementById(name); var children = parent.getElementsByTagName(tag); for (var i = 0; i < children.length; i++) { if (children[i].id != 'undefined') { children[i].onmouseover = function(){ ModuleBuilder.helpToggle(this.id) }; //children[i].onmouseover = function(){alert(this.id)}; children[i].onmouseout = function(){ ModuleBuilder.helpToggle('default') }; } } }, helpSetup: function(group, def, panel){ if (!ModuleBuilder.panelHelp) ModuleBuilder.panelHelp = []; //console.log("helpsetup Called with " + group + " : " + def + " : " + panel); if (!panel) { panel = 'center'; } var helpLang = SUGAR.language.get('ModuleBuilder', 'help'); if (group && def) { ModuleBuilder.panelHelp[panel] = {lang: helpLang[group],def: def}; ModuleBuilder.helpLang = helpLang[group]; ModuleBuilder.helpDefault = def; } else if (ModuleBuilder.panelHelp[panel]){ ModuleBuilder.helpLang = ModuleBuilder.panelHelp[panel].lang; ModuleBuilder.helpDefault = ModuleBuilder.panelHelp[panel].def; } ModuleBuilder.helpToggle('default'); }, helpSetupAssistant: function(group, subgroup){ helpLang = SUGAR.language.get('ModuleBuilder', 'assistantHelp'); }, helpToggle: function(name){ if (name == 'default') name = ModuleBuilder.helpDefault; if (ModuleBuilder.helpLang != null && typeof(ModuleBuilder.helpLang[name]) != 'undefined') { document.getElementById('mbhelp').innerHTML = ModuleBuilder.helpLang[name]; } }, handleSave: function(form, callBack){ if (check_form(form)) { ModuleBuilder.state.isDirty=false; ModuleBuilder.submitForm(form, callBack); } }, //Tree Functions handleTreeClick: function(node, event) { ModuleBuilder.getContent(node.attributes.action); }, treeSubscribe:function(tree){ debugger; tree.subscribe("labelClick", ModuleBuilder.treeLabelClick); }, treeRefresh:function(type){ ModuleBuilder.getContent('module=ModuleBuilder&action=ViewTree&tree=' + type); }, //MB Specific addModule: function(MBpackage){ ModuleBuilder.getContent('module=ModuleBuilder&action=module&view_package=' + MBpackage); }, viewModule: function(MBpackage, module){ ModuleBuilder.getContent('module=ModuleBuilder&action=module&view_package=' + MBpackage + '&view_module=' + module); }, packageDelete: function(MBpackage){ ajaxStatus.showStatus(SUGAR.language.get('ModuleBuilder', 'LBL_AJAX_DELETING')); if (confirm(SUGAR.language.get('ModuleBuilder', 'LBL_JS_REMOVE_PACKAGE'))) { ModuleBuilder.getContent('module=ModuleBuilder&action=DeletePackage&package=' + MBpackage); ModuleBuilder.tree.root.removeChild(ModuleBuilder.tree.getNodeById('package_tree/' + MBpackage)); } }, packagePublish: function(form){ if (check_form(form)) { ajaxStatus.showStatus(SUGAR.language.get('ModuleBuilder', 'LBL_AJAX_BUILDPROGRESS')); ModuleBuilder.submitForm(form, ModuleBuilder.packageBuild); } }, packageBuild: function(o){ //make sure no user changes were made document.CreatePackage.action.value = 'BuildPackage'; document.CreatePackage.submit(); ModuleBuilder.callLock = false; }, packageDeploy: function(form){ if (check_form(form)) { ajaxStatus.showStatus(SUGAR.language.get('ModuleBuilder', 'LBL_AJAX_DEPLOYPROGRESS')); ModuleBuilder.submitForm(form, ModuleBuilder.packageInstall); } }, packageInstall: function(o){ //make sure no user changes were made document.CreatePackage.action.value = 'displaydeploy'; ModuleBuilder.callLock = false; ModuleBuilder.submitForm('CreatePackage'); }, beginDeploy: function(p){ Ext.Ajax.request({ params: 'module=ModuleBuilder&action=DeployPackage&package=' + p, method: 'GET', success: ModuleBuilder.deployComplete, failure: ModuleBuilder.failed }); }, deployComplete: function(data){ ModuleBuilder.getContent('module=ModuleBuilder&action=package&package='); Ext.Ajax.request({ params: 'module=Administration&action=RebuildRelationship&silent=true', method: 'GET', failure: ModuleBuilder.failed }); }, packageExport: function(form){ if (check_form(form)) { ajaxStatus.showStatus(SUGAR.language.get('ModuleBuilder', 'LBL_AJAX_BUILDPROGRESS')); ModuleBuilder.submitForm(form, ModuleBuilder.packageExportProject); } }, packageExportProject: function(o){ //make sure no user changes were made document.CreatePackage.action.value = 'ExportPackage'; document.CreatePackage.submit(); ModuleBuilder.callLock = false; }, moduleDelete: function(MBpackage, module){ ajaxStatus.showStatus(SUGAR.language.get('ModuleBuilder', 'LBL_AJAX_DELETING')); if (confirm(SUGAR.language.get('ModuleBuilder', 'LBL_JS_REMOVE_PACKAGE'))) { ModuleBuilder.getContent('module=ModuleBuilder&action=DeleteModule&package=' + MBpackage + '&view_module=' + module); ModuleBuilder.tree.root.removeChild(ModuleBuilder.tree.getNodeById(MBpackage + '/' + module)); } }, moduleViewFields: function(o){ ModuleBuilder.callLock = false; ModuleBuilder.getContent('module=ModuleBuilder&action=modulefields&view_package=' + ModuleBuilder.MBpackage + '&view_module=' + ModuleBuilder.module); }, moduleLoadField: function(name, type){ if (typeof(type) == 'undefined') type = 0; if (typeof(formsWithFieldLogic) != 'undefined') formsWithFieldLogic = 'undefined'; ModuleBuilder.getContent('module=ModuleBuilder&action=modulefield&view_package=' + ModuleBuilder.MBpackage + '&view_module=' + ModuleBuilder.module + '&field=' + name + '&type=' + type); }, moduleLoadLabels: function(type){ if (typeof(type) == 'undefined') type = 0; else if (type == "studio") { ModuleBuilder.getContent('module=ModuleBuilder&action=editLabels&view_module=' + ModuleBuilder.module); } else if (type == "mb") { ModuleBuilder.getContent('module=ModuleBuilder&action=modulelabels&view_package=' + ModuleBuilder.MBpackage + '&view_module=' + ModuleBuilder.module + '&type=' + type); } }, moduleViewRelationships: function(o){ ModuleBuilder.callLock = false; ModuleBuilder.getContent('module=ModuleBuilder&action=relationships&view_package=' + ModuleBuilder.MBpackage + '&view_module=' + ModuleBuilder.module); }, moduleLoadRelationship2: function(name) { var panel = Ext.getCmp('relEditor'); if (!panel) { panel = new Ext.Panel({ id:'relEditor', title: 'Edit Relationship', autoScroll: true, autoHeight: true, closable: true }); ModuleBuilder.tabPanel.add(panel); } if (name == "") { name = Ext.getDom('rel_name_id') ? Ext.getDom('rel_name_id').value : ""; } panel.show(); var rtField = Ext.getDom('relationship_type_field'); var relType = rtField ? rtField.options[rtField.selectedIndex].value: ""; panel.load({ url: 'index.php', params: { module: 'ModuleBuilder', action: 'relationship', view_package: ModuleBuilder.MBpackage, view_module: ModuleBuilder.module, relationship_name: name, relationship_type: relType, lhs_module: Ext.getDom('lhs_mod_field') ? Ext.getDom('lhs_mod_field').value : "", rhs_module: Ext.getDom('rhs_mod_field') ? Ext.getDom('rhs_mod_field').value : "", json: false }, scripts: true }); }, moduleDropDown: function(name, field){ ModuleBuilder.getContent('module=ModuleBuilder&action=dropdown&view_package=' + ModuleBuilder.MBpackage + '&view_module=' + ModuleBuilder.module + '&dropdown_name=' + name + '&field=' + field); }, moduleViewLayouts: function(o){ ModuleBuilder.callLock = false; ModuleBuilder.getContent('module=ModuleBuilder&MB=1&action=wizard&view_package=' + ModuleBuilder.MBpackage + '&view_module=' + ModuleBuilder.module); }, autoSetLayout: function(){ var mbEl = ModuleBuilder.mainPanel.getEl(); var newHeight = Ext.lib.Dom.getViewHeight() - mbEl.getY() - mbEl.parent().getPadding('tb') - 10; ModuleBuilder.mainPanel.setHeight(newHeight); }, refreshGlobalDropDown: function(o){ // just clear the callLock; the convention is that this is done in a handler rather than in updateContent ModuleBuilder.callLock = false; ModuleBuilder.updateContent(o); }, refreshDropDown: function(){ ModuleBuilder.callLock = false; document.popup_form.action.value = 'RefreshField'; document.popup_form.new_dropdown.value = ModuleBuilder.refreshDD_name; SimpleList.refreshDD_name = ''; ModuleBuilder.submitForm("popup_form"); }, dropdownChanged: function(value){ var select = document.getElementById('default').options; while(select.length > 0) { select[0] = null; } Ext.Ajax.request({ params: 'module=ModuleBuilder&action=get_app_list_string&key=' + value + '&view_package=' + ModuleBuilder.MBpackage + '&view_module=' + ModuleBuilder.module, method: 'GET', success: ModuleBuilder.dropdownChangedCallback, failure: ModuleBuilder.failed }); }, dropdownChangedCallback : function(o) { var ajaxResponse = Ext.util.JSON.decode((o.responseText)); var select = document.getElementById('default').options; var count = 0; for (var key in ajaxResponse) { select[count] = new Option(ajaxResponse[key], key); count++; } }, showPopup : function(title, params) { } }; ModuleBuilder.buttons = {}; ModuleBuilder.selected = {}; ModuleBuilder.callLock = false;}/*Assistant = { processUserPref: function(value){ if (value == 'ENABLED' || value == "na") { Assistant.mbAssistant.show(); Assistant.mbAssistant.visible = true; Assistant.showOffFooter.hide(); Assistant.showOnFooter.show(); } else if (value == 'DISABLED') { Assistant.mbAssistant.hide(); Assistant.mbAssistant.visible = false; Assistant.showOnFooter.hide(); Assistant.showOffFooter.show(); } }, showOffFooter: new Ext.Button({ text: SUGAR.language.get('ModuleBuilder', 'LBL_AS_SHOW'), handler : function() { Assistant.submitForm('show'); } }), showOnFooter: new Ext.Button({ text: SUGAR.language.get('ModuleBuilder', 'LBL_AS_IGNORE'), handler : function() { Assistant.submitForm('ignore'); } }), creatembAssistant: function(){ var mbAssistant = new Ext.Window({ id: 'panel2', title: SUGAR.language.get('ModuleBuilder', 'LBL_AS_SAYS'), width: 400, visible: false, renderTo: document.body, closeAction: 'hide', animCollapse: false, bbar: [Assistant.showOffFooter, Assistant.showOnFooter] }); mbAssistant.setBody = function(html) { mbAssistant.body.dom.innerHTML = html; mbAssistant.setActive(true); } mbAssistant.on('beforeclose', function(panel) { panel.hide(Ext.get('showassist')); return false; }); mbAssistant.render(); return mbAssistant; }, submitForm: function(pref){ if (Assistant.mbAssistant) { Assistant.processUserPref((pref == 'show') ? 'ENABLED' : 'DISABLED'); } var params = 'pref_value=' + pref + '&action=saveAssistantPref&module=ModuleBuilder'; if (!pref) { var params = 'pref_value=' + document.getElementById('_assistantPref_').value + '&action=saveAssistantPref&module=ModuleBuilder&to_pdf=1'; } Ext.Ajax.request({ params: params, sucess: Assistant.ajaxSuccess, failure: ModuleBuilder.failed }); }, ajaxSuccess: function(o){ eval(o.responseText); }}*/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?