|
13 | 13 | // [CLASS] Prediction |
14 | 14 | //============================================================================ |
15 | 15 | define([ |
| 16 | + 'text!vp_base/html/m_ml/prediction.html!strip', |
16 | 17 | 'vp_base/js/com/com_util', |
17 | 18 | 'vp_base/js/com/com_Const', |
18 | 19 | 'vp_base/js/com/com_String', |
19 | 20 | 'vp_base/js/com/component/PopupComponent' |
20 | | -], function(com_util, com_Const, com_String, PopupComponent) { |
| 21 | +], function(predHTML, com_util, com_Const, com_String, PopupComponent) { |
21 | 22 |
|
22 | 23 | /** |
23 | 24 | * Prediction |
24 | 25 | */ |
25 | 26 | class Prediction extends PopupComponent { |
26 | 27 | _init() { |
27 | 28 | super._init(); |
28 | | - /** Write codes executed before rendering */ |
| 29 | + this.config.dataview = false; |
| 30 | + |
| 31 | + this.state = { |
| 32 | + model: '', |
| 33 | + featureData: 'X_test', |
| 34 | + allocateTo: 'pred', |
| 35 | + ...this.state |
| 36 | + } |
29 | 37 | } |
30 | 38 |
|
31 | 39 | _bindEvent() { |
32 | 40 | super._bindEvent(); |
33 | 41 | /** Implement binding events */ |
34 | 42 | var that = this; |
35 | | - this.$target.on('click', function(evt) { |
36 | | - var target = evt.target; |
37 | | - if ($(that.wrapSelector()).find(target).length > 0) { |
38 | | - // Sample : getDataList from Kernel |
39 | | - vpKernel.getDataList().then(function(resultObj) { |
40 | | - vpLog.display(VP_LOG_TYPE.DEVELOP, resultObj); |
41 | | - }).catch(function(err) { |
42 | | - vpLog.display(VP_LOG_TYPE.DEVELOP, err); |
43 | | - }); |
44 | | - } |
45 | | - }); |
| 43 | + |
46 | 44 | } |
47 | 45 |
|
48 | 46 | templateForBody() { |
49 | | - /** Implement generating template */ |
50 | | - return 'This is sample.'; |
| 47 | + let page = $(predHTML); |
| 48 | + |
| 49 | + let that = this; |
| 50 | + // set model list |
| 51 | + let modelOptionTag = new com_String(); |
| 52 | + vpKernel.getModelList().then(function(resultObj) { |
| 53 | + let { result } = resultObj; |
| 54 | + var modelList = JSON.parse(result); |
| 55 | + modelList && modelList.forEach(model => { |
| 56 | + let selectFlag = ''; |
| 57 | + if (model.varName == that.state.model) { |
| 58 | + selectFlag = 'selected'; |
| 59 | + } |
| 60 | + modelOptionTag.appendFormatLine('<option value="{0}" data-type="{1}" {2}>{3}</option>', |
| 61 | + model.varName, model.varType, selectFlag, model.varName); |
| 62 | + }); |
| 63 | + $(page).find('#model').html(modelOptionTag.toString()); |
| 64 | + $(that.wrapSelector('#model')).html(modelOptionTag.toString()); |
| 65 | + |
| 66 | + if (!that.state.model || that.state.model == '') { |
| 67 | + that.state.model = $(that.wrapSelector('#model')).val(); |
| 68 | + } |
| 69 | + }); |
| 70 | + return page; |
51 | 71 | } |
52 | 72 |
|
53 | 73 | generateCode() { |
54 | | - return "print('sample code')"; |
| 74 | + let { model, featureData, allocateTo } = this.state; |
| 75 | + |
| 76 | + let code = new com_String(); |
| 77 | + code.appendFormat('{0} = {1}.predict({2})', allocateTo, model, featureData); |
| 78 | + |
| 79 | + if (allocateTo && allocateTo != '') { |
| 80 | + code.appendLine(); |
| 81 | + code.append(allocateTo); |
| 82 | + } |
| 83 | + return code.toString(); |
55 | 84 | } |
56 | 85 |
|
57 | 86 | } |
|
0 commit comments