1w.importStatic( w.oo, w.scml ); 2 3var AnalysisTool = function () { 4 5 6 var checkFieldValues = 7 function (values) { 8 return ((values.length == 1 && values[0] == "") ? [] : values); }; 9 10 var collectFormValues = 11 function (form, params) { 12 form = $(form).get(0); 13 var values = { }; 14 foreach( 15 function (pname, param) { 16 switch (param.type) { 17 case "hidden" : 18 case "string" : 19 if (!form[pname]) { return; } 20 values[pname] = checkFieldValues( 21 form[pname].value 22 .replace(/^\s+|\s+$/g, "") 23 .replace(/\s+/g, " ") 24 .split(" ")); 25 break; 26 case "checkbox" : 27 if (!form[pname]) { return; } 28 values[pname] = [ form[pname].checked ? "æ¯" : "å¦" ]; 29 break; 30 case "radio" : 31 if (!form[pname]) { return; } 32 foreach(function (item) { 33 if (item.checked) { 34 values[pname] = [ item.value ]; } }, 35 form[pname]); 36 break; 37 case "multi-checkbox" : 38 if (!form[pname]) { return; } 39 values[pname] = []; 40 var value = { name : pname, values : [] }; 41 foreach( 42 function (item) { 43 if (item.checked) { 44 values[pname].push(item.value); } }, 45 form[pname]); 46 break; 47 case "range" : 48 if (!form[pname + "_" + param.name1]) { return; } 49 values[pname + "_" + param.name1] = 50 checkFieldValues([ form[pname + "_" + param.name1].value ]); 51 values[pname + "_" + param.name2] = 52 checkFieldValues([ form[pname + "_" + param.name2].value ]); 53 break; 54 case "double" : 55 if (!form[pname + "_" + param.subname]) { return; } 56 values[pname + "_" + param.name] = 57 checkFieldValues([ form[pname + "_" + param.name].value ]); 58 values[pname + "_" + param.subname] = 59 checkFieldValues([ form[pname + "_" + param.subname].value ]); 60 break; 61 case "double2" : 62 if (form[pname + "_" + param.subname]) { 63 checkFieldValues.s1 = form[pname + "_" + param.name].value; 64 checkFieldValues.s2 = form[pname + "_" + param.subname].value; 65 checkFieldValues.ary1 = []; 66 checkFieldValues.ary1.push("," + checkFieldValues.s1); 67 checkFieldValues.ary1.push(checkFieldValues.s2 ? "-" : ""); 68 checkFieldValues.ary1.push(checkFieldValues.s2 + ","); 69 if(checkFieldValues.s1 != "" || checkFieldValues.s2 != "" ){ 70 values[pname] = 71 checkFieldValues([checkFieldValues.ary1.join("")]); 72 } 73 } 74 break; 75 case "twoselect" : 76 if(!form[pname + "_" + param.name1]){ return; } 77 values[pname + "_" + param.name1] = checkFieldValues([form[pname + "_" + param.name1].value]); 78 values[pname + "_" + param.name2] = checkFieldValues([form[pname + "_" + param.name2].value]); 79 break; 80 case "select" : 81 if (!form[pname]) {return;} 82 values[pname] = checkFieldValues([form[pname].value]); 83 break; 84 } 85 }, params); 86 87 return values; }; 88 89 var buildScript = 90 function (name, analysis, form) { 91 var submit = $("input[type='button']", $(form)); 92 var type = submit.val(); 93 var subtype = (type != "ç¸éæ§åæ") ? "" : 94 $("input[name='ç¸éé¡å']", form).val().replace(/^ç¸é/, ""); 95 var params = 96 (type == "å ¨æ¯åæ") ? analysis.queryParams : 97 (type == "ç¸éæ§åæ") ? analysis.relationParams[subtype] : 98 (type == "èé¡åæ") ? analysis.clusterParams : 99 (type == "çµ±è¨åæ") ? analysis.statisticParams : []; 100 var script = 101 $template("analysis-script")(name, type, collectFormValues(form, params)) 102 .replace(/[\n\r]/g, " ") 103 .replace(/\s+/g, " ") 104 .replace(/\s\)/g, ")"); 105// alert(script); 106 return script; }; 107 108 var bindFormEvents = 109 function (analysisTool, analysisForm, name, analysis) { 110 111 var bind = function (form, pname, p) { 112 if (!(p.type == "double" || p.type == "double2")) { 113 return; 114 } 115 var main = $("select[name='" + pname + "_" + p.name + "']", form); 116 var sub = $("select[name='" + pname + "_" + p.subname + "']", form); 117 main.change(function () { 118 sub.html($template("select-options")(p.subvalues[main.val()])); 119 sub.val(""); 120 }); 121 }; 122 123 var scope = analysisForm.body.dom; 124 var pform = $(".analysis_" + name + "_panorama"); 125 foreach(function (qpname, qp) { 126 bind(pform, qpname, qp); 127 }, analysis.queryParams); 128 129 foreach(function (rname, r) { 130 var rform = $(".analysis_" + name + "_rel_" + rname, scope); 131 foreach(function (rpname, rp) { 132 bind(rform, rpname, rp); 133 }, r); 134 }, analysis.relationParams); 135 136 var cform = $(".analysis_" + name + "_clustering", scope); 137 foreach(function (cpname, cp) { 138 bind(cform, cpname, cp); 139 }, analysis.clusterParams); 140 141 var sform = $(".analysis_" + name + "_statistics", scope); 142 foreach(function (qpname, qp) { 143 bind(sform, qpname, qp); 144 }, analysis.statisticParams); 145 146 147 //080718 add by zhout start 148 149 var tr = $("tr",cform).eq(1); 150 $("input[type='radio'][value='äºä»¶']",cform).click(function(){ 151 tr.html($template("select")(DATA.selectData)); 152 var main = $("select[name='äºä»¶é¡å_主é¡å']", cform); 153 var sub = $("select[name='äºä»¶é¡å_次é¡å']", cform); 154 main.change(function () { 155 sub.html($template("select-options")(DATA.selectData["äºä»¶é¡å"].subvalues[main.val()])); 156 sub.val(""); 157 }); 158 159 delete analysis.clusterParams["é¡ç®ééµå"]; 160 analysis.clusterParams["äºä»¶é¡å"] = DATA.selectData["äºä»¶é¡å"]; 161 }); 162 163 $("input[type='radio'][value!='äºä»¶']",cform).each(function (i) { 164 var typeKeyword = analysis.clusterParams["é¡ç®ééµå"]; 165 $(this).click(function(){ 166 var tdStr1 = "<td class='queryAttr analysisAttr'><label>é¡ç®ééµåï¼</label></td><td class='tdright'>"; 167 var tdStr2 = "<input name='é¡ç®ééµå' class='string' type='text' value='' /></td>"; 168 tr.html(tdStr1 + tdStr2); 169 170 delete analysis.clusterParams["äºä»¶é¡å"]; 171 analysis.clusterParams["é¡ç®ééµå"] = typeKeyword; 172 }); 173 }); 174 175 //080718 add by zhout end 176 var forms = $("form", analysisForm.body.dom); 177 foreach( 178 function (form) { 179 function dosubmit() { 180 var type = submit.val(); 181 var val = null; 182 var boo = false; 183 switch(type) { 184 case "å ¨æ¯åæ" : 185 var inputs = $("input[type!='button']", form); 186 var selects = $("select",form); 187 for(var i=0;i<inputs.length;i++) { 188 val = inputs[i].value; 189 if(val!="" && val!=null) { 190 boo = true; }} 191 for(var j=0;j<selects.length;j++) { 192 val = selects[j].value; 193 if(val!="" && val!=null){ 194 boo = true; }} 195 if(!boo){ 196 Ext.Msg.alert('æ±æï¼', 197 "请å¨è¾å ¥æ¡ä¸è¾å ¥æå¨ä¸æå表ä¸éæ©è³å°ä¸ä¸ªæ£ç´¢æ¡ä»¶", 198 function(){$(inputs[0]).focus();}); 199 return; 200 }break; 201 202 case "ç¸éæ§åæ" : 203 var inputs2 = $("input[type='text']",form); 204 var selects2 = $("select[class='double-main']",form); 205 var selet = selects2[0]; 206 for(var e=0;e<inputs2.length;e++) { 207 val = inputs2[e].value; 208 var iname = inputs2[e].name; 209 if(val=="" || val==null) { 210 Ext.Msg.alert('æ±æï¼', "请è¾å ¥ï¼" + iname,function(){$(inputs2[e]).focus();}); 211 return; } } 212 if(selet){ 213 if(selet.value==""||selet.value==null){ 214 Ext.Msg.alert('æ±æï¼', "请è¾å ¥ï¼" + selet.name,function(){$(selet).focus();}); 215 return; } 216 }break; 217 218 case "èé¡åæ" : 219 var radios = $("input[type='radio']",form); 220 var inputs3 = $("input[name='æå°å ç´ ']",form); 221 $(radios).each(function(i){ 222 if(this.checked == true) boo = true; }); 223 if(!boo){ 224 Ext.Msg.alert('æ±æï¼', "è¯·éæ©è类类å",function(){$(radios[0]).focus();} ); 225 return; } 226 if(inputs3[0] && (inputs3[0].value=="" || inputs3[0].value == null)) {
227 Ext.Msg.alert('æ±æï¼', "请è¾å ¥ï¼" + inputs3[0].name,function(){$(inputs3[0]).focus();}); 228 return; 229 }break; 230 231 } 232 analysisTool.doAnalysis(buildScript(name, analysis, form)); } 233 234 $(form).keydown(function(event){ 235 if(event.keyCode==13){ 236 dosubmit(); 237 } 238 }); 239 var submit = $("input[type='button']", form); 240 submit.click(dosubmit); 241 }, forms); 242 }; 243 244 var constructor = function () { 245 246 var createAnalysisForm = 247 function (analysisTool, name, analysis) { 248 var analysisForm = 249 new Ext.Panel({ 250 title : "åæï¼" + name, 251 html : $template("analysis-form")(name, analysis) }); 252 analysisForm.on({ 253 "bodyresize" : function () { 254 bindFormEvents(analysisTool, analysisForm, name, analysis); }, 255 scope : this, 256 single : true }); 257 258 return analysisForm; }; 259 260 var createPanels = 261 function (analysisTool) { 262 var analysisForms = 263 map(function (name, analysis) { 264 return createAnalysisForm(analysisTool, name, analysis); }, 265 DATA.analysises, 266 true); 267 return { analysisForms : analysisForms }; }; 268 269 var createDefaultOpts = 270 function (analysisTool) { 271 return { 272 autoScroll : false, 273 plain : true, 274 layout : "accordion", 275 activeItem : analysisTool.analysisForms.length - 1, 276 layoutConfig : { animate : false }, 277 defaults : { autoShow : true, autoScroll : true, border : false }, 278 items : analysisTool.analysisForms }; }; 279 280 var constructor = 281 function (userOpts) { 282 copyMembers(this, createPanels(this)); 283 this.supr(copyMembers({ }, createDefaultOpts(this), userOpts)); }; 284 285 return constructor; } (); 286 287 var methods = { 288 289 doAnalysis : function (script) { 290 UNIMPLEMENT_METHOD(); } }; 291 292 return extendClass(Ext.Panel, constructor, methods); } ();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.