iapyang 6 years ago
parent
commit
5ceea134de
  1. 6
      dist/base.css
  2. 31
      dist/base.js
  3. 6
      dist/bundle.css
  4. 31
      dist/bundle.js
  5. 2
      dist/bundle.min.css
  6. 70
      dist/bundle.min.js
  7. 6
      dist/fineui.css
  8. 31
      dist/fineui.js
  9. 2
      dist/fineui.min.css
  10. 31
      dist/fineui.min.js
  11. 31
      src/base/formula/formulaeditor.js
  12. 6
      src/css/base/formula/formulaeditor.css
  13. 10
      src/less/base/formula/formulaeditor.less

6
dist/base.css vendored

@ -700,6 +700,12 @@ li.CodeMirror-hint-active {
background: #08f;
color: white;
}
.bi-formula-editor .error-field {
color: #ff4949;
padding: 0 5px;
margin: 1px 1px;
display: inline-block;
}
.bi-message-title {
font-size: 14px;
cursor: pointer;

31
dist/base.js vendored

@ -14534,7 +14534,10 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
value: "",
fieldTextValueMap: {},
showHint: true,
lineHeight: 2
lineHeight: 2,
paramFormatter: function (v) {
return v;
}
});
},
_init: function () {
@ -14568,10 +14571,6 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
self.fireEvent(BI.FormulaEditor.EVENT_BLUR);
});
this.editor.on("keyup", function (cm, keyboard) {
self.fireEvent(BI.FormulaEditor.EVENT_KEY_UP, keyboard.key);
});
if (BI.isKey(this.options.watermark)) {
var self = this;
this.watermark = BI.createWidget({
@ -14643,11 +14642,21 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
* @param field
*/
insertField: function (field) {
var value = this.options.fieldTextValueMap[field];
var fieldId = this.options.paramFormatter(field);
var from = this.editor.getCursor();
// 解决插入字段由括号或其他特殊字符包围时分裂的bug,在两端以不可见字符包裹一下
this.editor.replaceSelection("\u200b" + field + "\u200b");
var showName = fieldId.replaceAll(/^<!.*!>$/, function (str) {
return str.substring(2, str.length - 2);
});
this.editor.replaceSelection("\u200b" + showName + "\u200b");
var to = this.editor.getCursor();
this.editor.markText(from, to, {className: "fieldName", atomic: true, startStyle: "start", endStyle: "end"});
var className = "fieldName";
if (BI.isNotNull(fieldId.match(/^<!.*!>$/))) {
className = "error-field";
}
this.editor.markText(from, to, {className: className, atomic: true, startStyle: "start", endStyle: "end", value: value});
this.editor.replaceSelection(" ");
this.editor.focus();
},
@ -14695,8 +14704,9 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
_.forEach(line.markedSpans, function (i, ms) {
switch (i.marker.className) {
case "fieldName":
case "error-field":
// 因为插入字段的时候首尾加了不可见字符,所以首尾缩进一个字符
var dId = fieldMap[value.substr(i.from + 1, i.to - i.from - 2)];
var dId = i.marker.value;
if (!fields.contains(dId)) {
fields.push(dId);
}
@ -14715,6 +14725,7 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
switch (i.marker.className) {
case "fieldName":
case "error-field":
var fieldNameLength = i.to - i.from;
value = value.substr(0, i.from + num) + "$a" + value.substr(i.to + num, value.length);
num = num + 2 - fieldNameLength;
@ -14734,10 +14745,11 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
_.forEach(line.markedSpans, function (i, ms) {
switch (i.marker.className) {
case "fieldName":
case "error-field":
var fieldNameLength = i.to - i.from;
var start = i.from + num + 1;
var end = fieldNameLength - 2;
var fieldId = fieldMap[value.substr(start, end)];
var fieldId = i.marker.value;
value = value.substr(0, i.from + num) + "$\{" + fieldId + "\}" + value.substr(i.to + num, value.length);
num += fieldId.length - fieldNameLength + 3;
break;
@ -14767,7 +14779,6 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
BI.FormulaEditor.EVENT_CHANGE = "EVENT_CHANGE";
BI.FormulaEditor.EVENT_BLUR = "EVENT_BLUR";
BI.FormulaEditor.EVENT_FOCUS = "EVENT_FOCUS";
BI.FormulaEditor.EVENT_KEY_UP = "EVENT_KEY_UP";
BI.shortcut("bi.formula_editor", BI.FormulaEditor);
/**
* z-index在1亿层级

6
dist/bundle.css vendored

@ -2407,6 +2407,12 @@ li.CodeMirror-hint-active {
background: #08f;
color: white;
}
.bi-formula-editor .error-field {
color: #ff4949;
padding: 0 5px;
margin: 1px 1px;
display: inline-block;
}
.bi-message-title {
font-size: 14px;
cursor: pointer;

31
dist/bundle.js vendored

@ -50304,7 +50304,10 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
value: "",
fieldTextValueMap: {},
showHint: true,
lineHeight: 2
lineHeight: 2,
paramFormatter: function (v) {
return v;
}
});
},
_init: function () {
@ -50338,10 +50341,6 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
self.fireEvent(BI.FormulaEditor.EVENT_BLUR);
});
this.editor.on("keyup", function (cm, keyboard) {
self.fireEvent(BI.FormulaEditor.EVENT_KEY_UP, keyboard.key);
});
if (BI.isKey(this.options.watermark)) {
var self = this;
this.watermark = BI.createWidget({
@ -50413,11 +50412,21 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
* @param field
*/
insertField: function (field) {
var value = this.options.fieldTextValueMap[field];
var fieldId = this.options.paramFormatter(field);
var from = this.editor.getCursor();
// 解决插入字段由括号或其他特殊字符包围时分裂的bug,在两端以不可见字符包裹一下
this.editor.replaceSelection("\u200b" + field + "\u200b");
var showName = fieldId.replaceAll(/^<!.*!>$/, function (str) {
return str.substring(2, str.length - 2);
});
this.editor.replaceSelection("\u200b" + showName + "\u200b");
var to = this.editor.getCursor();
this.editor.markText(from, to, {className: "fieldName", atomic: true, startStyle: "start", endStyle: "end"});
var className = "fieldName";
if (BI.isNotNull(fieldId.match(/^<!.*!>$/))) {
className = "error-field";
}
this.editor.markText(from, to, {className: className, atomic: true, startStyle: "start", endStyle: "end", value: value});
this.editor.replaceSelection(" ");
this.editor.focus();
},
@ -50465,8 +50474,9 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
_.forEach(line.markedSpans, function (i, ms) {
switch (i.marker.className) {
case "fieldName":
case "error-field":
// 因为插入字段的时候首尾加了不可见字符,所以首尾缩进一个字符
var dId = fieldMap[value.substr(i.from + 1, i.to - i.from - 2)];
var dId = i.marker.value;
if (!fields.contains(dId)) {
fields.push(dId);
}
@ -50485,6 +50495,7 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
switch (i.marker.className) {
case "fieldName":
case "error-field":
var fieldNameLength = i.to - i.from;
value = value.substr(0, i.from + num) + "$a" + value.substr(i.to + num, value.length);
num = num + 2 - fieldNameLength;
@ -50504,10 +50515,11 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
_.forEach(line.markedSpans, function (i, ms) {
switch (i.marker.className) {
case "fieldName":
case "error-field":
var fieldNameLength = i.to - i.from;
var start = i.from + num + 1;
var end = fieldNameLength - 2;
var fieldId = fieldMap[value.substr(start, end)];
var fieldId = i.marker.value;
value = value.substr(0, i.from + num) + "$\{" + fieldId + "\}" + value.substr(i.to + num, value.length);
num += fieldId.length - fieldNameLength + 3;
break;
@ -50537,7 +50549,6 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
BI.FormulaEditor.EVENT_CHANGE = "EVENT_CHANGE";
BI.FormulaEditor.EVENT_BLUR = "EVENT_BLUR";
BI.FormulaEditor.EVENT_FOCUS = "EVENT_FOCUS";
BI.FormulaEditor.EVENT_KEY_UP = "EVENT_KEY_UP";
BI.shortcut("bi.formula_editor", BI.FormulaEditor);
/**
* z-index在1亿层级

2
dist/bundle.min.css vendored

File diff suppressed because one or more lines are too long

70
dist/bundle.min.js vendored

File diff suppressed because one or more lines are too long

6
dist/fineui.css vendored

@ -2407,6 +2407,12 @@ li.CodeMirror-hint-active {
background: #08f;
color: white;
}
.bi-formula-editor .error-field {
color: #ff4949;
padding: 0 5px;
margin: 1px 1px;
display: inline-block;
}
.bi-message-title {
font-size: 14px;
cursor: pointer;

31
dist/fineui.js vendored

@ -50547,7 +50547,10 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
value: "",
fieldTextValueMap: {},
showHint: true,
lineHeight: 2
lineHeight: 2,
paramFormatter: function (v) {
return v;
}
});
},
_init: function () {
@ -50581,10 +50584,6 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
self.fireEvent(BI.FormulaEditor.EVENT_BLUR);
});
this.editor.on("keyup", function (cm, keyboard) {
self.fireEvent(BI.FormulaEditor.EVENT_KEY_UP, keyboard.key);
});
if (BI.isKey(this.options.watermark)) {
var self = this;
this.watermark = BI.createWidget({
@ -50656,11 +50655,21 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
* @param field
*/
insertField: function (field) {
var value = this.options.fieldTextValueMap[field];
var fieldId = this.options.paramFormatter(field);
var from = this.editor.getCursor();
// 解决插入字段由括号或其他特殊字符包围时分裂的bug,在两端以不可见字符包裹一下
this.editor.replaceSelection("\u200b" + field + "\u200b");
var showName = fieldId.replaceAll(/^<!.*!>$/, function (str) {
return str.substring(2, str.length - 2);
});
this.editor.replaceSelection("\u200b" + showName + "\u200b");
var to = this.editor.getCursor();
this.editor.markText(from, to, {className: "fieldName", atomic: true, startStyle: "start", endStyle: "end"});
var className = "fieldName";
if (BI.isNotNull(fieldId.match(/^<!.*!>$/))) {
className = "error-field";
}
this.editor.markText(from, to, {className: className, atomic: true, startStyle: "start", endStyle: "end", value: value});
this.editor.replaceSelection(" ");
this.editor.focus();
},
@ -50708,8 +50717,9 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
_.forEach(line.markedSpans, function (i, ms) {
switch (i.marker.className) {
case "fieldName":
case "error-field":
// 因为插入字段的时候首尾加了不可见字符,所以首尾缩进一个字符
var dId = fieldMap[value.substr(i.from + 1, i.to - i.from - 2)];
var dId = i.marker.value;
if (!fields.contains(dId)) {
fields.push(dId);
}
@ -50728,6 +50738,7 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
switch (i.marker.className) {
case "fieldName":
case "error-field":
var fieldNameLength = i.to - i.from;
value = value.substr(0, i.from + num) + "$a" + value.substr(i.to + num, value.length);
num = num + 2 - fieldNameLength;
@ -50747,10 +50758,11 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
_.forEach(line.markedSpans, function (i, ms) {
switch (i.marker.className) {
case "fieldName":
case "error-field":
var fieldNameLength = i.to - i.from;
var start = i.from + num + 1;
var end = fieldNameLength - 2;
var fieldId = fieldMap[value.substr(start, end)];
var fieldId = i.marker.value;
value = value.substr(0, i.from + num) + "$\{" + fieldId + "\}" + value.substr(i.to + num, value.length);
num += fieldId.length - fieldNameLength + 3;
break;
@ -50780,7 +50792,6 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
BI.FormulaEditor.EVENT_CHANGE = "EVENT_CHANGE";
BI.FormulaEditor.EVENT_BLUR = "EVENT_BLUR";
BI.FormulaEditor.EVENT_FOCUS = "EVENT_FOCUS";
BI.FormulaEditor.EVENT_KEY_UP = "EVENT_KEY_UP";
BI.shortcut("bi.formula_editor", BI.FormulaEditor);
/**
* z-index在1亿层级

2
dist/fineui.min.css vendored

File diff suppressed because one or more lines are too long

31
dist/fineui.min.js vendored

@ -65,7 +65,10 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
value: "",
fieldTextValueMap: {},
showHint: true,
lineHeight: 2
lineHeight: 2,
paramFormatter: function (v) {
return v;
}
});
},
_init: function () {
@ -99,10 +102,6 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
self.fireEvent(BI.FormulaEditor.EVENT_BLUR);
});
this.editor.on("keyup", function (cm, keyboard) {
self.fireEvent(BI.FormulaEditor.EVENT_KEY_UP, keyboard.key);
});
if (BI.isKey(this.options.watermark)) {
var self = this;
this.watermark = BI.createWidget({
@ -174,11 +173,21 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
* @param field
*/
insertField: function (field) {
var value = this.options.fieldTextValueMap[field];
var fieldId = this.options.paramFormatter(field);
var from = this.editor.getCursor();
// 解决插入字段由括号或其他特殊字符包围时分裂的bug,在两端以不可见字符包裹一下
this.editor.replaceSelection("\u200b" + field + "\u200b");
var showName = fieldId.replaceAll(/^<!.*!>$/, function (str) {
return str.substring(2, str.length - 2);
});
this.editor.replaceSelection("\u200b" + showName + "\u200b");
var to = this.editor.getCursor();
this.editor.markText(from, to, {className: "fieldName", atomic: true, startStyle: "start", endStyle: "end"});
var className = "fieldName";
if (BI.isNotNull(fieldId.match(/^<!.*!>$/))) {
className = "error-field";
}
this.editor.markText(from, to, {className: className, atomic: true, startStyle: "start", endStyle: "end", value: value});
this.editor.replaceSelection(" ");
this.editor.focus();
},
@ -226,8 +235,9 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
_.forEach(line.markedSpans, function (i, ms) {
switch (i.marker.className) {
case "fieldName":
case "error-field":
// 因为插入字段的时候首尾加了不可见字符,所以首尾缩进一个字符
var dId = fieldMap[value.substr(i.from + 1, i.to - i.from - 2)];
var dId = i.marker.value;
if (!fields.contains(dId)) {
fields.push(dId);
}
@ -246,6 +256,7 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
switch (i.marker.className) {
case "fieldName":
case "error-field":
var fieldNameLength = i.to - i.from;
value = value.substr(0, i.from + num) + "$a" + value.substr(i.to + num, value.length);
num = num + 2 - fieldNameLength;
@ -265,10 +276,11 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
_.forEach(line.markedSpans, function (i, ms) {
switch (i.marker.className) {
case "fieldName":
case "error-field":
var fieldNameLength = i.to - i.from;
var start = i.from + num + 1;
var end = fieldNameLength - 2;
var fieldId = fieldMap[value.substr(start, end)];
var fieldId = i.marker.value;
value = value.substr(0, i.from + num) + "$\{" + fieldId + "\}" + value.substr(i.to + num, value.length);
num += fieldId.length - fieldNameLength + 3;
break;
@ -298,5 +310,4 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
BI.FormulaEditor.EVENT_CHANGE = "EVENT_CHANGE";
BI.FormulaEditor.EVENT_BLUR = "EVENT_BLUR";
BI.FormulaEditor.EVENT_FOCUS = "EVENT_FOCUS";
BI.FormulaEditor.EVENT_KEY_UP = "EVENT_KEY_UP";
BI.shortcut("bi.formula_editor", BI.FormulaEditor);

31
src/base/formula/formulaeditor.js

@ -11,7 +11,10 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
value: "",
fieldTextValueMap: {},
showHint: true,
lineHeight: 2
lineHeight: 2,
paramFormatter: function (v) {
return v;
}
});
},
_init: function () {
@ -45,10 +48,6 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
self.fireEvent(BI.FormulaEditor.EVENT_BLUR);
});
this.editor.on("keyup", function (cm, keyboard) {
self.fireEvent(BI.FormulaEditor.EVENT_KEY_UP, keyboard.key);
});
if (BI.isKey(this.options.watermark)) {
var self = this;
this.watermark = BI.createWidget({
@ -120,11 +119,21 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
* @param field
*/
insertField: function (field) {
var value = this.options.fieldTextValueMap[field];
var fieldId = this.options.paramFormatter(field);
var from = this.editor.getCursor();
// 解决插入字段由括号或其他特殊字符包围时分裂的bug,在两端以不可见字符包裹一下
this.editor.replaceSelection("\u200b" + field + "\u200b");
var showName = fieldId.replaceAll(/^<!.*!>$/, function (str) {
return str.substring(2, str.length - 2);
});
this.editor.replaceSelection("\u200b" + showName + "\u200b");
var to = this.editor.getCursor();
this.editor.markText(from, to, {className: "fieldName", atomic: true, startStyle: "start", endStyle: "end"});
var className = "fieldName";
if (BI.isNotNull(fieldId.match(/^<!.*!>$/))) {
className = "error-field";
}
this.editor.markText(from, to, {className: className, atomic: true, startStyle: "start", endStyle: "end", value: value});
this.editor.replaceSelection(" ");
this.editor.focus();
},
@ -172,8 +181,9 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
_.forEach(line.markedSpans, function (i, ms) {
switch (i.marker.className) {
case "fieldName":
case "error-field":
// 因为插入字段的时候首尾加了不可见字符,所以首尾缩进一个字符
var dId = fieldMap[value.substr(i.from + 1, i.to - i.from - 2)];
var dId = i.marker.value;
if (!fields.contains(dId)) {
fields.push(dId);
}
@ -192,6 +202,7 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
switch (i.marker.className) {
case "fieldName":
case "error-field":
var fieldNameLength = i.to - i.from;
value = value.substr(0, i.from + num) + "$a" + value.substr(i.to + num, value.length);
num = num + 2 - fieldNameLength;
@ -211,10 +222,11 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
_.forEach(line.markedSpans, function (i, ms) {
switch (i.marker.className) {
case "fieldName":
case "error-field":
var fieldNameLength = i.to - i.from;
var start = i.from + num + 1;
var end = fieldNameLength - 2;
var fieldId = fieldMap[value.substr(start, end)];
var fieldId = i.marker.value;
value = value.substr(0, i.from + num) + "$\{" + fieldId + "\}" + value.substr(i.to + num, value.length);
num += fieldId.length - fieldNameLength + 3;
break;
@ -244,5 +256,4 @@ BI.FormulaEditor = BI.inherit(BI.Single, {
BI.FormulaEditor.EVENT_CHANGE = "EVENT_CHANGE";
BI.FormulaEditor.EVENT_BLUR = "EVENT_BLUR";
BI.FormulaEditor.EVENT_FOCUS = "EVENT_FOCUS";
BI.FormulaEditor.EVENT_KEY_UP = "EVENT_KEY_UP";
BI.shortcut("bi.formula_editor", BI.FormulaEditor);

6
src/css/base/formula/formulaeditor.css

@ -0,0 +1,6 @@
.bi-formula-editor .error-field {
color: #ff4949;
padding: 0 5px;
margin: 1px 1px;
display: inline-block;
}

10
src/less/base/formula/formulaeditor.less

@ -0,0 +1,10 @@
@import "../../index";
.bi-formula-editor {
& .error-field {
color: @color-bi-text-failure;
padding: 0 5px;
margin: 1px 1px;
display: inline-block;
}
}
Loading…
Cancel
Save