# mdf-formula-designer

---
## 1. 安装ynpm

1. 需要安装`ynpm`工具使用内网镜像源进行安装

```bash
$ npm install ynpm-tool -g
```
2. 内网执行`ynpm install`安装即可

## 2. 安装和使用

```bash
安装 mdf-formula-designer  
$ ynpm install mdf-formula-designer --save

1、组件中引用，并绑定redux中的initData
import FormulaDesigner from 'mdf-formula-designer';
import { initData } from 'mdf-formula-designer/lib/redux/formula';

2、reducers.jsx中新增，用来绑定redux数据
import formula from 'mdf-formula-designer/lib/redux/formula';

3、调用
<FormulaDesigner modalKey={this.billNo + iBillEntityId} onOk={this.handleOk} />

4、调用initData  弹出弹窗
let iBillEntityId = '3665676';
this.props.initData(this.billNo, { caption: "", expressionCode: "", expression: "" }, iBillEntityId);
```

## 3. 调试插件

使用`babel`监听文件改变输出`lib`到项目脚手架`node_modules/@mdf/metaui-web/lib`下，具体脚本命令参考`debug.js`

1. 首先确认自己的框架工程与项目脚手架工程在一个根目录下，这样利用路径查找
```bash
├── yonyou-mdf-framework
└── ucf-amc-front
```
2. 修改`debug.js`调试脚本，修改常量`targetPackage`的值的相对路径为你的项目真实路径 **debug.js本地修改不要提交**
3. 保存后执行`npm run debug`在控制台会看到输出日志，babel转换过程以及最终的真实绝对路径

启动监听后，修改源码可以实时构建，并且输出到项目内，打开浏览器调试脚本即可是源文件

## 4. 发布

除了本地开发debug外，需要发布正式内网ynpm包，需要执行下面命令：
```bash
$ npm run lib
```
这样就会产出lib资源 **ES5 代码** css

配置好ynpm发包设置，修改版本号，发布即可：
```bash
$ ynpm publish
```

发布后浏览镜像仓库看是否完成：https://ynpm.yonyoucloud.com/#browse/browse:ynpm-private

## 5. 文件结构
```bash

```
