Skip to content

Commit 97760be

Browse files
authored
Merge branch 'main' into release
2 parents 4736010 + 6f7560a commit 97760be

File tree

10 files changed

+78
-79
lines changed

10 files changed

+78
-79
lines changed

visualpython/css/component/multiSelector.css

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,4 @@
8080
left: calc(100% - 25px);
8181
bottom: 23px;
8282
cursor: pointer;
83-
}
84-
.vp-cs-del-item {
85-
position: relative;
86-
float: right;
87-
top: 4px;
88-
cursor: pointer;
8983
}

visualpython/css/m_ml/modelInfo.css

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
.vp-model-select-box {
2-
grid-column-gap: 5px;
3-
align-items: start;
4-
}
51
.vp-ins-select-title {
62
font-weight: bold;
73
color: var(--vp-font-highlight);

visualpython/html/component/dataSelector.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<div class="vp-inner-popup-close" title="Close data selector"></div>
99
</div>
1010
<div class="vp-inner-popup-body vp-scrollbar">
11-
<div class="vp-grid-col-p50 mb5">
11+
<div class="vp-grid-col-p50">
1212
<label class="vp-bold">Type</label>
1313
<label class="vp-bold">Data</label>
1414
</div>
@@ -22,7 +22,7 @@
2222
</div>
2323
<div class="vp-ds-option-box">
2424
<label class="vp-bold">Option Page</label>
25-
<div class="vp-ds-option-inner-box mt5">
25+
<div class="vp-ds-option-inner-box">
2626

2727
</div>
2828
</div>

visualpython/js/MainFrame.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -496,10 +496,10 @@ define([
496496
let parentBlock = null;
497497
let prevBlock = null;
498498
loadStateList.forEach(obj => {
499-
let { file, blockType, menuId, menuState, menuConfig, argIdx, position, afterAction } = obj;
499+
let { blockType, menuId, menuState, menuConfig, argIdx, position, afterAction } = obj;
500500
// get OptionComponent Object
501501
// LAB: relative path needed
502-
let OptionComponent = require('./' + file);
502+
let OptionComponent = require('./' + menuConfig.file);
503503
if (OptionComponent) {
504504
let taskState = menuState.taskState;
505505
let blockState = menuState.blockState;

visualpython/js/com/com_Config.js

Lines changed: 6 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,8 @@ define([
264264
vp_config_version: '1.0.0',
265265
vp_signature: 'VisualPython',
266266
vp_position: {},
267-
vp_section_display: false,
267+
// CHROME: default to display vp
268+
vp_section_display: true,
268269
vp_note_display: false,
269270
vp_menu_width: Config.MENU_MIN_WIDTH,
270271
vp_note_width: Config.BOARD_MIN_WIDTH
@@ -568,15 +569,15 @@ define([
568569
that._checkMounted().then(function() {
569570
that._readFromColab(configKey).then(function(result) {
570571
let data = result;
571-
if (data == undefined || (data instanceof Object && Object.keys(data).length === 0)) {
572+
if (data == undefined || data == {}) {
572573
resolve(data);
573574
return;
574575
}
575576
if (dataKey == '') {
576577
resolve(data);
577578
return;
578579
}
579-
if (data instanceof Object && Object.keys(data).length > 0) {
580+
if (Object.keys(data).length > 0) {
580581
resolve(data[dataKey]);
581582
return;
582583
}
@@ -592,15 +593,15 @@ define([
592593
// LAB: use local .visualpython files
593594
that._readFromLab(configKey).then(function(result) {
594595
let data = result;
595-
if (data == undefined || (data instanceof Object && Object.keys(data).length === 0)) {
596+
if (data == undefined || data == {}) {
596597
resolve(data);
597598
return;
598599
}
599600
if (dataKey == '') {
600601
resolve(data);
601602
return;
602603
}
603-
if (data instanceof Object && Object.keys(data).length > 0) {
604+
if (Object.keys(data).length > 0) {
604605
resolve(data[dataKey]);
605606
return;
606607
}
@@ -862,40 +863,6 @@ define([
862863
return Config.version;
863864
}
864865

865-
checkVersionTimestamp = function() {
866-
let that = this;
867-
// check version timestamp
868-
let nowDate = new Date();
869-
this.getData('version_timestamp', 'vpcfg').then(function(data) {
870-
let doCheckVersion = false;
871-
vpLog.display(VP_LOG_TYPE.DEVELOP, 'Checking its version timestamp... : ' + data);
872-
if (data == undefined || (data instanceof Object && Object.keys(data).length === 0)) {
873-
// no timestamp, check version
874-
doCheckVersion = true;
875-
} else if (data != '') {
876-
let lastCheck = new Date(parseInt(data));
877-
let diffCheck_now = new Date(nowDate.getFullYear(), nowDate.getMonth() + 1, nowDate.getDate());
878-
let diffCheck_last = new Date(lastCheck.getFullYear(), lastCheck.getMonth() + 1, lastCheck.getDate());
879-
880-
let diff = Math.abs(diffCheck_now.getTime() - diffCheck_last.getTime());
881-
diff = Math.ceil(diff / (1000 * 3600 * 24));
882-
883-
if (diff >= 1) {
884-
// if More than 1 day passed, check version
885-
doCheckVersion = true;
886-
}
887-
}
888-
889-
// check version and update version_timestamp
890-
if (doCheckVersion == true) {
891-
that.checkVpVersion(true);
892-
}
893-
894-
}).catch(function(err) {
895-
vpLog.display(VP_LOG_TYPE.ERROR, err);
896-
})
897-
}
898-
899866
checkVpVersion(background=false) {
900867
let that = this;
901868
let nowVersion = this.getVpInstalledVersion();
@@ -935,8 +902,6 @@ define([
935902
switch (clickedBtnIdx) {
936903
case 0:
937904
// cancel
938-
// update version_timestamp
939-
that.setData({ 'version_timestamp': new Date().getTime() }, 'vpcfg');
940905
break;
941906
case 1:
942907
// update

visualpython/js/com/com_generatorV2.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,17 +137,14 @@ define([
137137
package.options && package.options.forEach(function(o, i) {
138138
var obj = JSON.parse(JSON.stringify(o));
139139
let newTag = vp_createTag(pageThis, obj, state);
140-
if (obj.required === true || obj.output === true) {
140+
if (obj.required) {
141141
tblInput.append(newTag);
142142
} else {
143143
tblOption.append(newTag);
144144
}
145145
});
146146

147147
// TODO: userOption
148-
if (package.code.includes('${etc}')) {
149-
150-
}
151148

152149
bindAutoComponentEvent(pageThis);
153150
}

visualpython/js/com/component/MultiSelector.js

Lines changed: 56 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,62 @@ define([
423423
that._bindItemClickEvent();
424424
});
425425

426+
// item indexing
427+
$(this.wrapSelector('.' + APP_SELECT_ITEM)).on('click', function(event) {
428+
var dataIdx = $(this).attr('data-idx');
429+
var idx = $(this).index();
430+
var added = $(this).hasClass('added'); // right side added item?
431+
var selector = '';
432+
433+
// remove selection for select box on the other side
434+
if (added) {
435+
// remove selection for left side
436+
$(that.wrapSelector('.' + APP_SELECT_ITEM + ':not(.added)')).removeClass('selected');
437+
// set selector
438+
selector = '.added';
439+
} else {
440+
// remove selection for right(added) side
441+
$(that.wrapSelector('.' + APP_SELECT_ITEM + '.added')).removeClass('selected');
442+
// set selector
443+
selector = ':not(.added)';
444+
}
445+
446+
if (vpEvent.keyManager.keyCheck.ctrlKey) {
447+
// multi-select
448+
that.pointer = { start: idx, end: -1 };
449+
$(this).toggleClass('selected');
450+
} else if (vpEvent.keyManager.keyCheck.shiftKey) {
451+
// slicing
452+
var startIdx = that.pointer.start;
453+
454+
if (startIdx == -1) {
455+
// no selection
456+
that.pointer = { start: idx, end: -1 };
457+
} else if (startIdx > idx) {
458+
// add selection from idx to startIdx
459+
var tags = $(that.wrapSelector('.' + APP_SELECT_ITEM + selector));
460+
for (var i = idx; i <= startIdx; i++) {
461+
$(tags[i]).addClass('selected');
462+
}
463+
that.pointer = { start: startIdx, end: idx };
464+
} else if (startIdx <= idx) {
465+
// add selection from startIdx to idx
466+
var tags = $(that.wrapSelector('.' + APP_SELECT_ITEM + selector));
467+
for (var i = startIdx; i <= idx; i++) {
468+
$(tags[i]).addClass('selected');
469+
}
470+
that.pointer = { start: startIdx, end: idx };
471+
}
472+
} else {
473+
// single-select
474+
that.pointer = { start: idx, end: -1 };
475+
// un-select others
476+
$(that.wrapSelector('.' + APP_SELECT_ITEM + selector)).removeClass('selected');
477+
// select this
478+
$(this).addClass('selected');
479+
}
480+
});
481+
426482
// item indexing - add all
427483
$(this.wrapSelector('.' + APP_SELECT_ADD_ALL_BTN)).on('click', function(event) {
428484
$(that.wrapSelector('.' + APP_SELECT_BOX + '.left .' + APP_SELECT_ITEM)).appendTo(
@@ -621,7 +677,6 @@ define([
621677
let newItemIndex = this.dataList.length;
622678
var targetTag = $(`<div class="${APP_SELECT_ITEM} ${APP_DRAGGABLE} added selected" data-idx="${newItemIndex}" data-name="${newItemName}" data-type="object" data-code="'${newItemName}'" title="${newItemName}: Added manually">
623679
<span>${newItemName}</span>
624-
<div class="vp-cs-del-item vp-icon-close-small" title="Delete this manually added item"></div>
625680
</div>`);
626681
$(targetTag).appendTo(
627682
$(this.wrapSelector('.' + APP_SELECT_BOX + '.right'))
@@ -631,8 +686,6 @@ define([
631686
$(this.wrapSelector('.' + APP_SELECT_ITEM)).removeClass('selected');
632687
// clear item input
633688
$(this.wrapSelector('.vp-cs-add-item-name')).val('');
634-
// bind click event
635-
this._bindItemClickEvent();
636689
// bind draggable
637690
this.bindDraggable();
638691
}

visualpython/js/loadVisualpython.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ define([
262262
}
263263
_loadVpResource(cfg);
264264
vpConfig.checkVersionTimestamp();
265-
265+
266266
if ((cfg.vp_section_display && vpFrame)
267267
|| vpConfig.extensionType === 'colab') { // CHROME: default to display vp
268268
vpFrame.openVp();

visualpython/js/m_apps/File.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,9 @@ define([
2222
'vp_base/js/com/com_generatorV2',
2323
'vp_base/data/m_library/pandasLibrary',
2424
'vp_base/js/com/component/FileNavigation',
25-
'vp_base/js/com/component/SuggestInput',
26-
'vp_base/js/com/component/DataSelector'
25+
'vp_base/js/com/component/SuggestInput'
2726
], function(fileHtml, fileCss, com_String, com_util, com_Const, PopupComponent
28-
, pdGen, pandasLibrary, FileNavigation, SuggestInput, DataSelector) {
27+
, pdGen, pandasLibrary, FileNavigation, SuggestInput) {
2928

3029
/**
3130
* File

visualpython/js/menu/MenuFrame.js

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -205,19 +205,19 @@ define([
205205
return {};
206206
}
207207

208-
getMenuLibrary(menuId, libraries=this.menuLibrariesFlatten) {
208+
getMenuLibrary(menuId, libraries=this.menuLibraries) {
209209
for (var i=0; i < libraries.length; i++) {
210210
var item = libraries[i];
211211
if (item) {
212212
if (item.id === menuId) {
213213
return item;
214214
}
215-
// if (item.type === 'package') {
216-
// var result = this.getMenuLibrary(menuId, item.item);
217-
// if (result) {
218-
// return result;
219-
// }
220-
// }
215+
if (item.type === 'package') {
216+
var result = this.getMenuLibrary(menuId, item.item);
217+
if (result) {
218+
return result;
219+
}
220+
}
221221
}
222222
}
223223
return null;
@@ -252,12 +252,7 @@ define([
252252
var that = this;
253253
var body = group.getBody();
254254
var item = group.getItem();
255-
var state = group.getState();
256255
item && item.forEach(child => {
257-
// remember parent to navigate its parent menu
258-
var category = state.category?(state.category + ' > ' + state.name):state.name;
259-
child['category'] = category;
260-
261256
if (child.type == 'package') {
262257
// packages : MenuGroup
263258
var menuGroup = new MenuGroup($(body), child);
@@ -303,7 +298,7 @@ define([
303298
});
304299

305300
let functionList = this.menuLibrariesFlatten.map(menu => {
306-
return { label: menu.name, value: menu.name, dtype: menu.category, ...menu }
301+
return { label: menu.name, value: menu.name, ...menu }
307302
});
308303
// render searchbox
309304
let searchBox = new SuggestInput();

0 commit comments

Comments
 (0)