@visactor/vtable
Version:
canvas table width high performance
25 lines (20 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.breakString = void 0;
const vutils_1 = require("@visactor/vutils"), util_1 = require("../../tools/util");
function breakString(textStr, table) {
var _a, _b;
let text, moreThanMaxCharacters = !1;
for ((0, vutils_1.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) ? (0,
util_1.convertInternal)(textStr).replace(/\r?\n/g, "\n").replace(/\r/g, "\n").split("\n") || [] : [ (0,
util_1.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
};
}
exports.breakString = breakString;
//# sourceMappingURL=break-string.js.map