@visactor/vtable
Version:
canvas table width high performance
17 lines (14 loc) • 1.1 kB
JavaScript
import { isString } from "@visactor/vutils";
import { convertInternal } from "../../tools/util";
export function breakString(textStr, table) {
var _a, _b;
let text, moreThanMaxCharacters = !1;
for (isString(textStr) && textStr.length > (table.options.maxCharactersNumber || 200) && (textStr = textStr.slice(0, table.options.maxCharactersNumber || 200),
textStr += "…", moreThanMaxCharacters = !0), text = table.internalProps.enableLineBreak || (null === (_a = table.options.customConfig) || void 0 === _a ? void 0 : _a.multilinesForXTable) ? convertInternal(textStr).replace(/\r?\n/g, "\n").replace(/\r/g, "\n").split("\n") || [] : [ convertInternal(textStr) ]; text.length && text.length > 1 && !text[text.length - 1]; ) text.pop();
if ((null === (_b = table.options.customConfig) || void 0 === _b ? void 0 : _b.multilinesForXTable) && !table.internalProps.autoWrapText) for (;text.length && text.length > 1 && !text[0]; ) text.shift();
return {
text: text,
moreThanMaxCharacters: moreThanMaxCharacters
};
}
//# sourceMappingURL=break-string.js.map