<commit_before>## 选择插件 ljh-select-box

### 插件描述
该插件主要实现的功能是根据选择的内容返回选择的数组对象，有单选，多选等相应的功能。

### demo

[demo](https://lijiahao8898.github.io/ljh-select-box/view/)

### 插件要实现的功能：
* 支持单选、多选、sku单选、sku多选、商品选择、用户选择、类目选择、品牌选择、仓库选择、优惠券选择。
* 传入选择框展示的内容type（默认是0,其他【0：商品，1：用户，2：优惠券，3：仓库，4：品牌，5：类目】）
* 支持标题自定义
* 支持全选、单选的判断（单选情况下是否直接关闭弹窗）
* 支持刷新按钮的判断（暂未涉及）
* 支持多个调用并且返回当前点击的指针位置
* 支持多选情况下选择的个数限制 (0 为无限)
* 将请求的借口作为参数传入
* 支持品牌、类目的搜索（需要自己传入品牌、类目的list。并且根据showCateAndBrand判断是否展示）
* 支持下架商品、过期优惠券的隐藏不展示功能。排除无用数据
* 返回一个cb：selectSuccess ( 单选 和 多选 )
* 返回一个cb：selectError ( 数据超出上限会报这个错误 )
* 返回一个cb：ajaxError （ ajax请求报错回调 ）

### 引用：
只需要引用对应的 `js` ， `css`， `html模板`即可。
其中 `html模板` 使用的是 `underscore`。

js:
```
<script type="text/javascript" src="../src/plugin/select-plugin/ljh-select-box.js"></script>
```
css:
```
<link rel="stylesheet" href="../style/css/ljh-select-box.css">
```

用到的其他插件：

* `jquery.dialog`

* `jquery.paginator`

* `selectize`

* `underscore`

* `jquery`

### 调用：
```
('#plugin').selectPlugin({
    // options
})
```
### 传参
```
    /**
        * 插件的默认配置项
        * @type {boolean} single: false,               // 判断 selectPlugin 是单选还是多选 默认是多选
        * @type {boolean} isSku: false,                // 判断 selectPlugin 是否支持到sku级别 (主要用于商品)
        * @type {boolean} needSkuGoodsInfo: false      // 判断 selectPlugin 是否在选择sku的时候默认返回商品的名字 默认不返回
        * @type {number}  type: 0                      // 判断 selectPlugin 需要渲染的是什么 (0:商品,1:用户,2:优惠券,3:仓库,4:品牌,5:类目)
        * @type {number}  selectLength: 0              // 判断 selectPlugin 多选情况下选择的个数限制 (0 为无限)
        * @type {string}  title                        // 商品选择弹窗的title
        * @type {boolean} isSelectAll                  // 判断是否显示全选按钮
        * @type {boolean} isRefresh                    // 判断是否显示刷新按钮
        * @type {Array}   selectedList                 // 选择的列表
        * @type {string}  ajaxUrl                      // 请求的接口
        * @type {string}  ajaxSkuUrl                   // 请求的SKU接口
        * @type {string}  ajaxType                     // ajax的请求类型默认 post
        * @type {string}  ajaxDataType                 // ajax的请求数据类型默认 json
        * @type {boolean} needFailureInfo              // 是否展示已经失效的东西-垃圾数据 ( 默认情况下是展示 )
        * @type {Array}   categoryList                 // 需要展示的类目列表
        * @type {Array}   brandList                    // 需要展示的品牌列表
        * @type {boolean} showCateAndBrand             // 是否展示类目列表和品牌列表的搜索 ( 默认false )
        * @type {object}  postData                     // 需要提交的额外的参数
        * function selectSuccess                       // 成功选择之后的回调 返回选择的数据data,和当前选择弹框的指针
        * function selectError                         // 失败选择之后的回调 返回一条错误信息info
        * function ajaxError                           // 接口请求报错后的回调
        */
 ```
### 需要修改
 1. 支持出商品外的其他数据的选择


### update & bugFix
- 2017.10.18 &nbsp; v2.0.0
    * 删除 合约类型
    * 删除 老版本
    * 修改 样式名称

- 2017.10.17 &nbsp; v2.0.0
    * 新增 `postData` 携带额外的参数

- 2017.07.07 &nbsp; v2.0.0
    * 修复 在没有展开二级类目的情况下,二级类目不选中的问题
    * 修复 在二级类目没有数据的情况下,二级类目数据不变的问题(应该展示无当前数据)

- 2017.06.29 &nbsp; v2.0.0
    * 修复 再二级类目请求的时候.在 `selectList` 重复添加数据的问题

- 2017.06.15 &nbsp; v2.0.0
    * 新增 品牌和类目的 `type` 类型
    * 修改 将接口更改为参数
    - 修复 同一个 `type` 类型不能同时出现2个或者以上的bug 导致选择的时候多次点击
        * ps: 选择类目后一二级类目都会返回.请自行处理

- 2017.06.12 &nbsp; v1.0.0
    * 新增 `categoryList` 的配置项
    * 新增 `categoryList` 的配置项
    * 新增 `showCateAndBrand` 的配置项用于控制 `categoryList` 和 `brandList` 的展示

- 2017.05.26 &nbsp; v1.0.0
    * 新增 `needFailureInfo` 的配置项

- 2017.05.18 &nbsp; v1.0.0
    * 新增 `ajaxType` 的类型
    * 新增 `ajaxDataType` 的类型
    * 新增 接口请求错误后的回调 `ajaxError`
    * 相关优化

### 版本相关:

当前只有 `master` 版本


 <commit_msg>update reamde.md<commit_after>## 选择插件 ljh-select-box

### 插件简介
- 插件介绍
    * 该插件主要实现的功能是根据选择的内容返回选择的数组对象，有单选，多选等相应的功能。查看[demo](https://lijiahao8898.github.io/ljh-select-box/dist/view/)。
- 插件功能
    * 支持 单选、多选、sku单选、sku多选、商品选择、用户选择、类目选择、品牌选择、仓库选择、优惠券选择。
    * 支持 类型选择（默认是0,其他【0：商品，1：用户，2：优惠券，3：仓库，4：品牌，5：类目】）。
    * 支持 标题自定义。
    * 支持 全选、单选的判断（单选情况下是否直接关闭弹窗）。
    * 支持 刷新按钮的判断（暂未涉及）。
    * 支持 多个调用并且返回当前点击的指针位置。
    * 支持 多选情况下选择的个数限制 (0 为无限)。
    * 支持 将请求的借口作为参数传入。
    * 支持 品牌、类目的搜索（需要自己传入品牌、类目的list。并且根据showCateAndBrand判断是否展示）。
    * 支持 下架商品、过期优惠券的隐藏不展示功能。排除无用数据。
    * 支持 请求接口的参数自定义 `postData`。
    * 返回一个cb：selectSuccess ( 单选 和 多选 )。
    * 返回一个cb：selectError ( 数据超出上限会报这个错误 )。
    * 返回一个cb：ajaxError （ ajax请求报错回调 ）。

### Getting started
```
git clone https://github.com/lijiahao8898/ljh-select-box.git

cd ljh-select-box

npm install

gulp dist

// and then open the dist/view/index.html to look the demo
```

### 引用：
只需要引用对应的 `js` ， `css`， `html模板`即可。
其中 `html模板` 使用的是 `underscore`。

js:
```
<script type="text/javascript" src="../src/plugin/select-plugin/ljh-select-box.js"></script>
```
css:
```
<link rel="stylesheet" href="../style/css/ljh-select-box.css">
```

用到的其他插件：

* `jquery.dialog`
* `jquery.paginator`
* `selectize`
* `underscore`
* `jquery`

### 调用：
```
('#plugin').selectPlugin({
    // options
})
```

### 传参
```
    /**
        * 插件的默认配置项
        * @type {boolean} single: false,               // 判断 selectPlugin 是单选还是多选 默认是多选
        * @type {boolean} isSku: false,                // 判断 selectPlugin 是否支持到sku级别 (主要用于商品)
        * @type {boolean} needSkuGoodsInfo: false      // 判断 selectPlugin 是否在选择sku的时候默认返回商品的名字 默认不返回
        * @type {number}  type: 0                      // 判断 selectPlugin 需要渲染的是什么 (0:商品,1:用户,2:优惠券,3:仓库,4:品牌,5:类目)
        * @type {number}  selectLength: 0              // 判断 selectPlugin 多选情况下选择的个数限制 (0 为无限)
        * @type {string}  title                        // 商品选择弹窗的title
        * @type {boolean} isSelectAll                  // 判断是否显示全选按钮
        * @type {boolean} isRefresh                    // 判断是否显示刷新按钮
        * @type {Array}   selectedList                 // 选择的列表
        * @type {string}  ajaxUrl                      // 请求的接口
        * @type {string}  ajaxSkuUrl                   // 请求的SKU接口
        * @type {string}  ajaxType                     // ajax的请求类型默认 post
        * @type {string}  ajaxDataType                 // ajax的请求数据类型默认 json
        * @type {boolean} needFailureInfo              // 是否展示已经失效的东西-垃圾数据 ( 默认情况下是展示 )
        * @type {Array}   categoryList                 // 需要展示的类目列表
        * @type {Array}   brandList                    // 需要展示的品牌列表
        * @type {boolean} showCateAndBrand             // 是否展示类目列表和品牌列表的搜索 ( 默认false )
        * @type {object}  postData                     // 需要提交的额外的参数
        * function selectSuccess                       // 成功选择之后的回调 返回选择的数据data,和当前选择弹框的指针
        * function selectError                         // 失败选择之后的回调 返回一条错误信息info
        * function ajaxError                           // 接口请求报错后的回调
        */
 ```

### 需要修改
 1. 支持出商品外的其他数据的选择

### update & bugFix
- 2017.10.18 &nbsp; v2.0.0
    * 删除 合约类型
    * 删除 老版本
    * 修改 样式名称

- 2017.10.17 &nbsp; v2.0.0
    * 新增 `postData` 携带额外的参数

- 2017.07.07 &nbsp; v2.0.0
    * 修复 在没有展开二级类目的情况下,二级类目不选中的问题
    * 修复 在二级类目没有数据的情况下,二级类目数据不变的问题(应该展示无当前数据)

- 2017.06.29 &nbsp; v2.0.0
    * 修复 再二级类目请求的时候.在 `selectList` 重复添加数据的问题

- 2017.06.15 &nbsp; v2.0.0
    * 新增 品牌和类目的 `type` 类型
    * 修改 将接口更改为参数
    - 修复 同一个 `type` 类型不能同时出现2个或者以上的bug 导致选择的时候多次点击
        * ps: 选择类目后一二级类目都会返回.请自行处理

- 2017.06.12 &nbsp; v1.0.0
    * 新增 `categoryList` 的配置项
    * 新增 `categoryList` 的配置项
    * 新增 `showCateAndBrand` 的配置项用于控制 `categoryList` 和 `brandList` 的展示

- 2017.05.26 &nbsp; v1.0.0
    * 新增 `needFailureInfo` 的配置项

- 2017.05.18 &nbsp; v1.0.0
    * 新增 `ajaxType` 的类型
    * 新增 `ajaxDataType` 的类型
    * 新增 接口请求错误后的回调 `ajaxError`
    * 相关优化

### 版本相关:
当前只有 `master` 版本


 
{'fraction_non_alphanumeric': 0.13486711622372075, 'fraction_numerical': 0.029882321829961655, 'mean_word_length': 2.043863179074447, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 3, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6212748', 'n_tokens_mistral': 4131, 'n_tokens_neox': 4493, 'n_words': 542}