Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8f98b05

Browse files
author
minjk-bl
committed
Add col_multi component to autoGen and apply it to by option in sort_values
1 parent5fee352 commit8f98b05

File tree

3 files changed

+86
-9
lines changed

3 files changed

+86
-9
lines changed

‎visualpython/data/m_library/pandasLibrary.js‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1916,7 +1916,10 @@ define([
19161916
{
19171917
"name":"by",
19181918
"label":"Sort By",
1919-
"usePair":true
1919+
"usePair":true,
1920+
"component":[
1921+
"col_multi"
1922+
]
19201923
},
19211924
{
19221925
"name":"axis",

‎visualpython/js/com/com_generatorV2.js‎

Lines changed: 81 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ define([
1414
'vp_base/js/com/component/SuggestInput',
1515
'vp_base/js/com/component/VarSelector2',
1616
'vp_base/js/com/component/DataSelector',
17+
'vp_base/js/com/component/MultiSelector',
1718
'vp_base/js/com/component/FileNavigation'
18-
],function(com_util,com_makeDom,SuggestInput,VarSelector2,DataSelector,FileNavigation){
19+
],function(com_util,com_makeDom,SuggestInput,VarSelector2,DataSelector,MultiSelector,FileNavigation){
1920
/**
2021
* show result after code executed
2122
*/
@@ -39,6 +40,7 @@ define([
3940
'var_select':'Select Variable',
4041
'var_multi':'Select N-Variables',
4142
'col_select':'Select Column',
43+
'col_multi':'Select Columns',
4244
'textarea':'Input textarea',
4345
'input_number':'Input number',
4446
'input_text':'Input text',
@@ -149,6 +151,7 @@ define([
149151

150152
}
151153

154+
bindMultiSelector(pageThis);
152155
bindAutoComponentEvent(pageThis);
153156
}
154157

@@ -174,7 +177,7 @@ define([
174177
}elseif(output===true){
175178
requiredFontStyle='vp-bold';
176179
}
177-
varlblTag=$(`<label>${label}</label>`).attr({
180+
varlblTag=$(`<label>${label||com_util.optionToLabel(name)}</label>`).attr({
178181
'for':name,
179182
'class':requiredFontStyle,
180183
'title':'('+name+')'
@@ -315,7 +318,8 @@ define([
315318
case'option_select':
316319
varoptSlct=$('<select></select>').attr({
317320
'class':'vp-select option-select vp-state',
318-
'id':obj.name
321+
'id':obj.name,
322+
'title':(obj.help==undefined?'':obj.help),
319323
});
320324
obj.options.forEach((opt,idx,arr)=>{
321325
varlabel=(obj.options_label!=undefined?obj.options_label[idx]:opt);
@@ -368,6 +372,7 @@ define([
368372
letdataSelector=newDataSelector({
369373
pageThis:pageThis,
370374
id:obj.name,
375+
type:obj.comp_type||'data',
371376
allowDataType:obj.var_type,
372377
placeholder:obj.placeholder||'Select data',
373378
value:value,
@@ -382,7 +387,8 @@ define([
382387
id:obj.name,
383388
class:'vp-input vp-state',
384389
placeholder:obj.placeholder||'Select data',
385-
required:obj.required===true
390+
required:obj.required===true,
391+
title:(obj.help==undefined?'':obj.help),
386392
});
387393
vp_generateVarSuggestInput(pageThis.wrapSelector(),obj);
388394
content=tag;
@@ -393,7 +399,8 @@ define([
393399
'id':obj.name,
394400
'class':'vp-select var-multi vp-state',
395401
// multiple selection true
396-
'multiple':true
402+
'multiple':true,
403+
'title':(obj.help==undefined?'':obj.help),
397404
});
398405
vp_generateVarSelect(tag,obj.var_type,obj.value);
399406
content=tag;
@@ -402,10 +409,28 @@ define([
402409
vartag=$('<input/>').attr({
403410
'type':'text',
404411
'id':obj.name,
405-
'class':'vp-input vp-state'
412+
'class':'vp-input vp-state',
413+
'title':(obj.help==undefined?'':obj.help),
406414
});
407415
content=tag;
408416
break;
417+
case'col_multi':
418+
vartag1=$('<div></div>').attr({
419+
'id':obj.name+'_auto_comp',
420+
'class':'vp-auto-multi-column',
421+
'data-id':obj.name,
422+
'data-target':obj.comp_target||'i0',
423+
'style':'height: 150px;',
424+
'title':(obj.help==undefined?'':obj.help),
425+
});
426+
vartag2=$('<input/>').attr({
427+
type:'hidden',
428+
id:obj.name,
429+
class:'vp-input vp-state',
430+
})
431+
vartag=$('<div></div>').append(tag1).append(tag2);
432+
content=tag;
433+
break;
409434
case'textarea':
410435
vartextarea=$(`<textarea id="${obj.name}" class="vp-textarea vp-state">${(obj.default==undefined?'':obj.default)}</textarea>`);
411436
// cell metadata test
@@ -710,6 +735,12 @@ define([
710735
case'dtype':
711736
value=$(pageThis.wrapSelector(parent+' #'+obj.name)).val();
712737
break;
738+
case'col_multi':
739+
letcolList=pageThis.autoGen[obj.name].getDataList();
740+
pageThis.state[obj.name]=colList.map(data=>{returndata.code});
741+
value=colList.map(data=>{returndata.code}).join(',');
742+
$(pageThis.wrapSelector('#'+obj.name)).val(value);
743+
break;
713744
case'file-open':
714745
case'file-save':
715746
case'table':
@@ -1236,6 +1267,50 @@ define([
12361267
return$('<input value="tabblock"/>');
12371268
}
12381269

1270+
varbindMultiSelector=function(pageThis){
1271+
//====================================================================
1272+
// for column multi selector
1273+
//====================================================================
1274+
$(pageThis.wrapSelector('.vp-auto-multi-column')).each((idx,tag)=>{
1275+
letcompId=tag.id;
1276+
letid=$(tag).data('id');
1277+
lettargetId=$(tag).data('target');
1278+
letcolSelector=newMultiSelector(
1279+
pageThis.wrapSelector('#'+compId),
1280+
{mode:'columns',parent:(pageThis.state[targetId]||''),selectedList:pageThis.state[compId]}
1281+
);
1282+
pageThis.autoGen={
1283+
[id]:colSelector,
1284+
...pageThis.autoGen
1285+
};
1286+
$(pageThis.wrapSelector('#'+targetId)).on('change',function(){
1287+
lettargetVariable=$(this).val();
1288+
letcolSelector=newMultiSelector(
1289+
pageThis.wrapSelector('#'+compId),
1290+
{
1291+
mode:'columns',parent:targetVariable,selectedList:pageThis.state[compId],
1292+
change:function(type,list){
1293+
letvalue=list.map(data=>{returndata.code}).join(',');
1294+
if(list.length==0){
1295+
value='';
1296+
}elseif(list.length>1){
1297+
value='['+value+']';
1298+
}
1299+
pageThis.state[compId]=list.map(data=>{returndata.code});
1300+
pageThis.state[id]=value;
1301+
$(pageThis.wrapSelector('#'+id)).val(value);
1302+
}
1303+
},
1304+
);
1305+
pageThis.autoGen={
1306+
[id]:colSelector,
1307+
...pageThis.autoGen
1308+
};
1309+
});
1310+
1311+
});
1312+
}
1313+
12391314
varbindAutoComponentEvent=function(pageThis){
12401315
letselector=pageThis.wrapSelector();
12411316
// Auto-component selector
@@ -1499,7 +1574,6 @@ define([
14991574
$(pageThis.wrapSelector('#'+id)).val(code);
15001575
});
15011576

1502-
15031577
//====================================================================
15041578
// Event for tabBlock
15051579
//====================================================================

‎visualpython/js/com/component/MultiSelector.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ define([
9090

9191
varthat=this;
9292

93-
if(parent===''){
93+
if(parent==null||parent===''||(Array.isArray(parent)&&parent.length==0)){
9494
this._executeCallback([]);
9595
return;
9696
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp