Browse Source

fix(numeral): userInfo

fix #338
pull/378/head
mengshukeji 5 years ago
parent
commit
871d3819f7
  1. 4
      deploy.bat
  2. 51
      docs/guide/config.md
  3. 52
      docs/zh/guide/config.md
  4. 2
      gulpfile.js
  5. 1
      package.json
  6. 8
      src/config.js
  7. 17
      src/controllers/constant.js
  8. 2
      src/controllers/luckysheetConfigsetting.js
  9. 1
      src/controllers/pivotTable.js
  10. 4
      src/css/luckysheet-core.css
  11. 1
      src/function/func.js
  12. 3
      src/function/functionImplementation.js
  13. 7
      src/global/api.js
  14. 1
      src/global/format.js
  15. 1
      src/global/sort.js
  16. 6
      src/index.html
  17. 8
      src/plugins/js/numeral.min.js
  18. 7
      src/utils/util.js

4
deploy.bat

@ -20,6 +20,10 @@ git push -f origin master:gh-pages
# ===============================================
# add a tags
git tag -a doc -m "doc"
# replease
npm run build
npm run release -- --release-as patch

51
docs/guide/config.md

@ -360,9 +360,54 @@ Note that you also need to configure `loadUrl` and `loadSheetUrl` to take effect
------------
### userInfo
- Type: String
- Default: `'<i style="font-size:16px;color:#ff6a00;" class="fa fa-taxi" aria-hidden="true"></i> rabbit'`
- Usage: User information display style in the upper right corner
- Type: String | Boolean | Object
- Default: false
- Usage: User information display style in the upper right corner,Support the following three formats
1. HTML template string, such as:
```js
options:{
// Other configuration
userInfo:'<i style="font-size:16px;color:#ff6a00;" class="fa fa-taxi" aria-hidden="true"></i> Lucky',
}
```
Or an ordinary string, such as:
```js
options:{
// Other configuration
userInfo:'Lucky',
}
```
2. Boolean type, such as:
`false`: Do not show
```js
options:{
// Other configuration
userInfo:false, // Do not display user information
}
```
`ture`: Show the default string
```js
options:{
// Other configuration
userInfo:true, // Show HTML:'<i style="font-size:16px;color:#ff6a00;" class="fa fa-taxi" aria-hidden="true"></i> Lucky'
}
```
3. Object format, set `userImage`: user avatar address and `userName`: user name, such as:
```js
options:{
// Other configuration
userImage:'https://cdn.jsdelivr.net/npm/luckyresources@1.0.3/assets/img/logo/logo.png', // Avatar url
userName:'Lucky', // username
}
```
4. Note that if set to `undefined` or not set, the same as setting `false`
------------
### userMenuItem

52
docs/zh/guide/config.md

@ -450,9 +450,55 @@ Luckysheet开放了更细致的自定义配置选项,分别有
------------
### userInfo
- 类型:String
- 默认值:`'<i style="font-size:16px;color:#ff6a00;" class="fa fa-taxi" aria-hidden="true"></i> rabbit'`
- 作用:右上角的用户信息展示样式
- 类型:String | Boolean | Object
- 默认值:false
- 作用:右上角的用户信息展示样式,支持以下三种形式
1. HTML模板字符串,如:
```js
options:{
// 其他配置
userInfo:'<i style="font-size:16px;color:#ff6a00;" class="fa fa-taxi" aria-hidden="true"></i> Lucky',
}
```
或者一个普通字符串,如:
```js
options:{
// 其他配置
userInfo:'Lucky',
}
```
2. Boolean类型,如:
`false`:不展示
```js
options:{
// 其他配置
userInfo:false, // 不展示用户信息
}
```
`ture`:展示默认的字符串
```js
options:{
// 其他配置
userInfo:true, // 展示HTML:'<i style="font-size:16px;color:#ff6a00;" class="fa fa-taxi" aria-hidden="true"></i> Lucky'
}
```
3. 对象格式,设置 `userImage`:用户头像地址 和 `userName`:用户名,如:
```js
options:{
// 其他配置
userImage:'https://cdn.jsdelivr.net/npm/luckyresources@1.0.3/assets/img/logo/logo.png', // 头像url
userName:'Lucky', // 用户名
}
```
4. 注意,设置为`undefined`或者不设置,同设置`false`
------------
### userMenuItem

2
gulpfile.js

@ -91,7 +91,7 @@ const paths = {
'src/plugins/js/spectrum.min.js',
'src/plugins/js/jquery-ui.min.js',
'src/plugins/js/jquery.mousewheel.min.js',
'src/plugins/js/numeral.min.js',
// 'src/plugins/js/numeral.min.js',
'src/plugins/js/html2canvas.min.js',
'src/plugins/js/localforage.min.js',
'src/plugins/js/lodash.min.js',

1
package.json

@ -39,6 +39,7 @@
"dayjs": "^1.9.6",
"flatpickr": "^4.6.6",
"jquery": "^2.2.4",
"numeral": "^2.0.6",
"pako": "^1.0.11"
},
"scripts": {

8
src/config.js

@ -16,13 +16,7 @@ export default {
// menu: "undo|redo|freezenrow|freezencolumn|download|share|chart|pivot",
data: [{ "name": "Sheet1", color: "", "status": "1", "order": "0", "data": [], "config": {}, "index":0 }, { "name": "Sheet2", color: "", "status": "0", "order": "1", "data": [], "config": {}, "index":1 }, { "name": "Sheet3", color: "", "status": "0", "order": "2", "data": [], "config": {}, "index":2 }], //客户端sheet数据[shee1, sheet2, sheet3]
title: "Luckysheet Demo", //表格的名称
// userInfo: '<i style="font-size:16px;color:#ff6a00;" class="fa fa-taxi" aria-hidden="true"></i> rabbit'
userInfo:{
isShow:false,
str:'',
url:'',
username:'',
},//右上角的用户信息展示样式
userInfo:false,// 右上角的用户信息展示样式,支持 1. boolean类型:false:不展示,ture:展示默认 '<i style="font-size:16px;color:#ff6a00;" class="fa fa-taxi" aria-hidden="true"></i> rabbit' ,2. HTML模板字符串或者普通字符串,如:'<i style="font-size:16px;color:#ff6a00;" class="fa fa-taxi" aria-hidden="true"></i> Lucky'或者'用户名', 3. 对象格式,设置 userImage:用户头像地址 和 userName:用户名 4. 不设置或者设置undefined同设置false
userMenuItem: [{url:"www.baidu.com", "icon":'<i class="fa fa-folder" aria-hidden="true"></i>', "name":"我的表格"}, {url:"www.baidu.com", "icon":'<i class="fa fa-sign-out" aria-hidden="true"></i>', "name":"退出登陆"}], //点击右上角的用户信息弹出的菜单
myFolderUrl: "www.baidu.com", //左上角<返回按钮的链接
config: {}, //表格行高、列宽、合并单元格、公式等设置

17
src/controllers/constant.js

@ -1,12 +1,13 @@
import locale from '../locale/locale';
import Store from '../store';
import luckysheetConfigsetting from './luckysheetConfigsetting';
import { getObjType } from '../utils/util';
//dom variable
const gridHTML = function(){
const _locale = locale();
const locale_info = _locale.info;
const locale_print = _locale.print;
const userInfo = luckysheetConfigsetting.userInfo
const userInfo = luckysheetConfigsetting.userInfo === true ? '<i style="font-size:16px;color:#ff6a00;" class="fa fa-taxi" aria-hidden="true"></i> Lucky' : luckysheetConfigsetting.userInfo; // When true, use the default HTML string
return `<div class="luckysheet">
<canvas id="luckysheetTableContentF" style="display:none;" class="luckysheetTableContent"></canvas>
@ -20,11 +21,17 @@ const gridHTML = function(){
<input data-tips="${locale_info.tips}" id="luckysheet_info_detail_input" class="luckysheet_info_detail_input luckysheet-mousedown-cancel" value="${locale_info.noName}" tabindex="0" dir="ltr" aria-label="${locale_info.rename}" style="visibility: visible; width: 149px;" data-tooltip="${locale_info.rename}">
</div>
<div id="luckysheet_info_detail_update" class="luckysheet_info_detail_update"> ${locale_info.detailUpdate} </div>
<div id="luckysheet_info_detail_save" class="luckysheet_info_detail_save"> ${locale_info.wait} </div>
<div class="luckysheet_info_detail_user" style="display:${userInfo.isShow ? 'block' : 'none'};"> \${functionButton}
<img src="${userInfo.url}" id="luckysheet_info_detail_user_img" style="display:${userInfo.str.length <= 0 ? 'inline-block' : 'none'};">
<span id="luckysheet_info_detail_user">${userInfo.str.length > 0 ? userInfo.str : userInfo.username}</span>
<div id="luckysheet_info_detail_save" class="luckysheet_info_detail_save"> ${locale_info.wait} </div>
<div class="luckysheet_info_detail_user" style="display:${getObjType(userInfo) === 'string' ? 'block' : 'none'};"> \${functionButton}
<span id="luckysheet_info_detail_user">${userInfo}</span>
</div>
<div class="luckysheet_info_detail_user" style="display:${getObjType(userInfo) === 'object' ? 'block' : 'none'};"> \${functionButton}
<img src="${userInfo.userImage}" id="luckysheet_info_detail_user_img">
<span id="luckysheet_info_detail_user">${userInfo.userName}</span>
</div>
</div>
<div id="luckysheet-wa-editor" class="luckysheet-wa-editor toolbar"> \${menu} </div>
<div id="luckysheet-wa-calculate" class="luckysheet-wa-calculate">

2
src/controllers/luckysheetConfigsetting.js

@ -12,7 +12,7 @@ const luckysheetConfigsetting = {
pointEditUpdate: null,
pointEditZoom: 1,
userInfo: {},
userInfo: false,
userMenuItem: [],
myFolderUrl: null,
functionButton: null,

1
src/controllers/pivotTable.js

@ -35,6 +35,7 @@ import server from './server';
import {checkProtectionAuthorityNormal} from './protection';
import Store from '../store';
import locale from '../locale/locale';
import numeral from 'numeral';
const pivotTable = {
pivotDatas: null,

4
src/css/luckysheet-core.css

@ -114,8 +114,8 @@
}
#luckysheet_info_detail_user_img {
vertical-align: middle;
height: 30px;
line-height: 30px;
height: 20px;
line-height: 20px;
border-radius: 50%;
object-fit: cover;
}

1
src/function/func.js

@ -8,6 +8,7 @@ import { inverse } from '../function/matrix_methods';
import { getSheetIndex, getluckysheetfile, getRangetxt } from '../methods/get';
import { getObjType, ABCatNum } from '../utils/util';
import Store from '../store';
import numeral from 'numeral';
//函数功能:比较或运算
function luckysheet_compareWith() {

3
src/function/functionImplementation.js

@ -14,7 +14,8 @@ import { orderbydata } from '../global/sort';
import { getcellvalue } from '../global/getdata';
import { getObjType, ABCatNum, chatatABC, numFormat } from '../utils/util';
import Store from '../store';
import dayjs from 'dayjs'
import dayjs from 'dayjs';
import numeral from 'numeral';
//公式函数计算
const functionImplementation = {

7
src/global/api.js

@ -6260,8 +6260,11 @@ export function toJson(){
// row and column
getluckysheetfile().forEach((file,index)=>{
toJsonOptions.data[index].row = file.data.length;
toJsonOptions.data[index].column = getObjType(file.data[0]) === 'array' ? file.data[0].length : 0;
if(file.data == undefined){
return;
}
toJsonOptions.data[index].row = getObjType(file.data) === 'array' ? file.data.length : 0;
toJsonOptions.data[index].column = getObjType(file.data[0]) === 'array' ? file.data[0].length : 0;
})

1
src/global/format.js

@ -1,6 +1,7 @@
import { isRealNum, valueIsError } from './validate';
import { isdatetime } from './datecontroll';
import { getcellvalue } from './getdata';
import numeral from 'numeral';
var SSF = ({});
var make_ssf = function make_ssf(SSF) {

1
src/global/sort.js

@ -7,6 +7,7 @@ import { rowlenByRange } from './getRowlen';
import { jfrefreshgrid } from './refresh';
import {checkProtectionAuthorityNormal} from '../controllers/protection';
import Store from '../store';
import numeral from 'numeral';
//数据排序方法
function orderbydata(data, index, isAsc) {

6
src/index.html

@ -77,12 +77,6 @@
container: 'luckysheet',
lang: lang,
forceCalculation:false,
userInfo: {
isShow:true,
str:'<i style="font-size:16px;color:#ff6a00;" class="fa fa-taxi" aria-hidden="true"></i> rabbit',
url:'https://dss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1490464830,1853038030&fm=26&gp=0.jpg',
username:'lucky'
},
plugins: ['chart'],
fontList:[
{

8
src/plugins/js/numeral.min.js
File diff suppressed because it is too large
View File

7
src/utils/util.js

@ -3,7 +3,8 @@ import menuButton from '../controllers/menuButton';
import { isdatatype, isdatatypemulti } from '../global/datecontroll';
import { hasChinaword,isRealNum } from '../global/validate';
import Store from '../store';
import locale from '../locale/locale';
import locale from '../locale/locale';
import numeral from 'numeral';
// import method from '../global/method';
/**
@ -38,6 +39,10 @@ function common_extend(jsonbject1, jsonbject2) {
}
for (let attr in jsonbject2) {
// undefined is equivalent to no setting
if(jsonbject2[attr] == undefined){
continue;
}
resultJsonObject[attr] = jsonbject2[attr];
}

Loading…
Cancel
Save