@@ -77,6 +77,7 @@ define([
77
77
} = this . config ;
78
78
this . mode = mode ; // variable / columns / index / ndarray0 / ndarray1 / methods / data(given data)
79
79
this . parent = parent ;
80
+ this . varType = type ; // for mode:variable, variable type list to search
80
81
this . selectedList = selectedList ;
81
82
this . includeList = includeList ;
82
83
this . excludeList = excludeList ;
@@ -90,9 +91,11 @@ define([
90
91
91
92
var that = this ;
92
93
93
- if ( parent == null || parent === '' || ( Array . isArray ( parent ) && parent . length == 0 ) ) {
94
- this . _executeCallback ( [ ] ) ;
95
- return ;
94
+ if ( mode !== 'variable' && mode !== 'data' ) {
95
+ if ( parent == null || parent === '' || ( Array . isArray ( parent ) && parent . length == 0 ) ) {
96
+ this . _executeCallback ( [ ] ) ;
97
+ return ;
98
+ }
96
99
}
97
100
switch ( mode ) {
98
101
case 'columns' :
@@ -241,7 +244,8 @@ define([
241
244
ndList . push ( {
242
245
value : i ,
243
246
code : i ,
244
- type : 'int'
247
+ type : 'int' ,
248
+ location : i
245
249
} ) ;
246
250
}
247
251
callback ( ndList ) ;
@@ -270,7 +274,7 @@ define([
270
274
var name = $ ( colTags [ i ] ) . data ( 'name' ) ;
271
275
var type = $ ( colTags [ i ] ) . data ( 'type' ) ;
272
276
var code = $ ( colTags [ i ] ) . data ( 'code' ) ;
273
- if ( code ) {
277
+ if ( code != null ) {
274
278
dataList . push ( { name : name , type : type , code : code } ) ;
275
279
}
276
280
}
@@ -355,22 +359,28 @@ define([
355
359
info = '' ;
356
360
}
357
361
let iconStr = '' ;
362
+ let infoStr = '' ;
358
363
if ( mode === 'columns' ) {
359
364
if ( data . isNumeric === true ) {
360
365
iconStr = '<span class="vp-icon-numeric mr5 vp-vertical-text"></span>' ;
361
366
} else {
362
367
iconStr = '<span class="vp-icon-non-numeric mr5 vp-vertical-text"></span>' ;
363
368
}
369
+ } else if ( mode === 'variable' ) {
370
+ infoStr = `<span class="vp-gray-text"> | ${ data . type } </span>` ;
364
371
}
365
372
// render item box
366
- tag . appendFormatLine ( '<div class="{0} {1}" data-idx="{2}" data-name="{3}" data-type="{4}" data-code="{5}" title="{6}">{7}<span>{8}</span></div>'
367
- , APP_SELECT_ITEM , APP_DRAGGABLE , data . location , data . value , data . type , data . code , info , iconStr , data . value ) ;
373
+ tag . appendFormat ( '<div class="{0} {1}" data-idx="{2}" data-name="{3}" data-type="{4}" data-code="{5}" title="{6}">'
374
+ , APP_SELECT_ITEM , APP_DRAGGABLE , data . location , data . value , data . type , data . code , info ) ;
375
+ tag . appendFormat ( '{0}<span>{1}</span>{2}' , iconStr , data . value , infoStr ) ;
376
+ tag . appendLine ( '</div>' ) ;
368
377
} ) ;
369
378
tag . appendLine ( '</div>' ) ; // APP_SELECT_BOX
370
379
return tag . toString ( ) ;
371
380
}
372
381
373
382
renderSelectedBox ( dataList ) {
383
+ let mode = this . mode ;
374
384
var tag = new com_String ( ) ;
375
385
tag . appendFormatLine ( '<div class="{0} {1} {2} {3}">' , APP_SELECT_BOX , 'right' , APP_DROPPABLE , 'no-selection vp-scrollbar' ) ;
376
386
// get data and make draggable items
@@ -383,16 +393,21 @@ define([
383
393
info = '' ;
384
394
}
385
395
let iconStr = '' ;
396
+ let infoStr = '' ;
386
397
if ( mode === 'columns' ) {
387
398
if ( data . isNumeric === true ) {
388
399
iconStr = '<span class="vp-icon-numeric mr5 vp-vertical-text"></span>' ;
389
400
} else {
390
401
iconStr = '<span class="vp-icon-non-numeric mr5 vp-vertical-text"></span>' ;
391
402
}
403
+ } else if ( mode === 'variable' ) {
404
+ infoStr = `<span class="vp-gray-text"> | ${ data . type } </span>` ;
392
405
}
393
406
// render item box
394
- tag . appendFormatLine ( '<div class="{0} {1} {2}" data-idx="{3}" data-name="{4}" data-type="{5}" data-code="{6}" title="{7}">{8}<span>{9}</span></div>'
395
- , APP_SELECT_ITEM , APP_DRAGGABLE , 'added' , data . location , data . value , data . type , data . code , info , iconStr , data . value ) ;
407
+ tag . appendFormat ( '<div class="{0} {1} {2}" data-idx="{3}" data-name="{4}" data-type="{5}" data-code="{6}" title="{7}">'
408
+ , APP_SELECT_ITEM , APP_DRAGGABLE , 'added' , data . location , data . value , data . type , data . code , info ) ;
409
+ tag . appendFormat ( '{0}<span>{1}</span>{2}' , iconStr , data . value , infoStr ) ;
410
+ tag . appendLine ( '</div>' ) ;
396
411
} ) ;
397
412
tag . appendLine ( '</div>' ) ; // APP_SELECT_BOX
398
413
return tag . toString ( ) ;
0 commit comments