| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- /**
- * Created by Jacky.gao on 2016/9/18.
- */
- import ScoreCardTable from './ScoreCardTable.js';
- import '../../node_modules/bootstrap/dist/css/bootstrap.css';
- import '../css/iconfont.css';
- import './scorecard.css';
- import '../editor/context.standalone.css';
- import '../editor/urule/ruleset.css';
- import React from 'react';
- import ReactDOM from 'react-dom';
- import '../Remark.js';
- import '../editor/common/jquery.utils.js';
- import '../editor/common/URule.js';
- import '../editor/common/contextMenu.js';
- import '../editor/Math.uuid.js';
- import '../editor/common/Context.js';
- import '../editor/decisiontable/CellCondition.js';
- import '../editor/decisiontable/Condition.js';
- import '../editor/decisiontable/Join.js';
- import '../editor/decisiontable/Connection.js';
- import '../editor/common/ComparisonOperator.js';
- import '../editor/common/ComplexArithmetic.js';
- import '../editor/common/VariableValue.js';
- import '../editor/common/ConstantValue.js';
- import '../editor/urule/SimpleArithmetic.js';
- import '../editor/common/InputType.js';
- import '../editor/common/NextType.js';
- import '../editor/common/Paren.js';
- import '../editor/common/MethodParameter.js';
- import '../editor/common/MethodAction.js';
- import '../editor/common/ParameterValue.js';
- import '../editor/common/MethodValue.js';
- import '../editor/common/FunctionProperty.js';
- import '../editor/common/FunctionParameter.js';
- import '../editor/common/FunctionValue.js';
- import '../editor/common/SimpleValue.js';
- import '../editor/urule/ConfigActionDialog.js';
- import '../editor/urule/ConfigConstantDialog.js';
- import '../editor/urule/ConfigParameterDialog.js';
- import '../editor/urule/ConfigVariableDialog.js';
- import '../editor/urule/RuleProperty.js';
- import {ajaxSave,getParameter} from '../Utils.js';
- import KnowledgeTreeDialog from '../components/dialog/component/KnowledgeTreeDialog.jsx';
- $(document).ready(function (e) {
- const file=getParameter("file");
- if(!file){
- alert("未指定文件.");
- return;
- }
- const toolbarContainer=$("#toolbarContainer");
- const toolbar=$(`<div class="btn-toolbar" style="border: solid 1px #d0d0d0;padding:5px;margin:3px;border-radius: 5px;background: #fdfdfd"></div>`);
- toolbarContainer.append(toolbar);
- const operationGroup=$(`<div class="btn-group btn-group-sm"></div>`);
- toolbar.append(operationGroup);
- const addAttributeButton=$("<button type='button' class='btn btn-default'><i class='glyphicon glyphicon-plus'></i> 添加属性行</button>");
- operationGroup.append(addAttributeButton);
- const addCustomColButton=$("<button type='button' class='btn btn-default'><i class='glyphicon glyphicon-plus-sign'></i> 添加自定义列</button>");
- operationGroup.append(addCustomColButton);
- var self=this;
- const configGroup=$(`<div class="btn-group btn-group-sm"></div>`);
- toolbar.append(configGroup);
- const variableButton=$(`<button type="button" class="btn btn-default"><i class="rf rf-variable"></i> 变量库</button>`);
- configGroup.append(variableButton);
- variableButton.click(function () {
- if(!self.configVarDialog){
- self.configVarDialog=new urule.ConfigVariableDialog(self);
- }
- self.configVarDialog.open();
- });
- const constButton=$(`<button type="button" class="btn btn-default"><i class="rf rf-constant"></i> 常量库</button>`);
- configGroup.append(constButton);
- constButton.click(function () {
- if(!self.configConstantDialog){
- self.configConstantDialog=new urule.ConfigConstantDialog(self);
- }
- self.configConstantDialog.open();
- });
- const actionButton=$(`<button type="button" class="btn btn-default"><i class="rf rf-action"></i> 动作库</button>`);
- configGroup.append(actionButton);
- actionButton.click(function () {
- if(!self.configActionDialog){
- self.configActionDialog=new urule.ConfigActionDialog(self);
- }
- self.configActionDialog.open();
- });
- const parameterButton=$(` <button type="button" class="btn btn-default"><i class="rf rf-parameter"></i> 参数库</button>`);
- configGroup.append(parameterButton);
- parameterButton.click(function () {
- if(!self.configParameterDialog){
- self.configParameterDialog=new urule.ConfigParameterDialog(self);
- }
- self.configParameterDialog.open();
- });
- const saveGroup=$(`<div class="btn-group btn-group-sm"></div>`);
- toolbar.append(saveGroup);
- const saveButton=$(`<button type="button" class="btn btn-default disabled"><i class="rf rf-save"></i> 保存</button>`);
- saveGroup.append(saveButton);
- const saveVersionButton=$(`<button type="button" class="btn btn-default disabled"><i class="rf rf-savenewversion"></i> 保存新版本</button>`);
- saveGroup.append(saveVersionButton);
- window._setDirty=function(){
- if(self._dirty){
- return;
- }
- self._dirty=true;
- window._dirty=true;
- saveButton.html("<i class='rf rf-save'></i> *保存");
- saveButton.removeClass("disabled");
- saveVersionButton.html("<i class='rf rf-savenewversion'></i> *保存新版本");
- saveVersionButton.removeClass("disabled");
- };
- function cancelDirty(){
- if(!self._dirty){
- return;
- }
- self._dirty=false;
- window._dirty=false;
- saveButton.html("<i class='rf rf-save'></i> 保存");
- saveButton.addClass("disabled");
- saveVersionButton.html("<i class='rf rf-savenewversion'></i> 保存新版本");
- saveVersionButton.addClass("disabled");
- };
- addAttributeButton.click(function () {
- cardTable.addAttributeRow();
- });
- addCustomColButton.click(function () {
- cardTable.addCustomCol();
- });
- const cardTable=new ScoreCardTable({
- container:$("#tableContainer"),
- headers:[]
- });
- function save(newVersion) {
- try{
- const content=cardTable.toXml();
- const url=window._server+"/common/saveFile";
- if(newVersion){
- bootbox.prompt("请输入新版本描述.",function (versionComment) {
- if(!versionComment){
- return;
- }
- ajaxSave(url,{content,file,newVersion,versionComment},function () {
- cancelDirty();
- });
- });
- }else{
- ajaxSave(url,{content,file,newVersion},function () {
- cancelDirty();
- });
- }
- }catch(error){
- bootbox.alert(error.message || error);
- //throw error;
- }
- };
- saveButton.click(function () {
- save(false);
- });
- saveVersionButton.click(function () {
- save(true);
- });
- ReactDOM.render(
- <KnowledgeTreeDialog/>,
- document.getElementById("dialogContainer")
- );
- $.ajax({
- url:window._server+"/common/loadXml",
- type:"POST",
- data:{files:file},
- success:function (data) {
- const card=data[0];
- cardTable.init(card);
- var libraries=card.libraries;
- if(libraries){
- for(var i=0;i<libraries.length;i++){
- var lib=libraries[i];
- var type=lib["type"];
- var path=lib["path"];
- switch(type){
- case "Constant":
- constantLibraries.push(path);
- break;
- case "Action":
- actionLibraries.push(path);
- break;
- case "Variable":
- variableLibraries.push(path);
- break;
- case "Parameter":
- parameterLibraries.push(path);
- break;
- }
- refreshActionLibraries();
- refreshConstantLibraries();
- refreshVariableLibraries();
- refreshParameterLibraries();
- refreshFunctionLibraries();
- }
- cancelDirty();
- }
- },
- error:function (response) {
- if(response && response.responseText){
- bootbox.alert("<span style='color: red'>加载数据失败,服务端错误:"+response.responseText+"</span>");
- }else{
- bootbox.alert("<span style='color: red'>加载数据失败,服务端出错</span>");
- }
- }
- });
- });
|