@datagrok-libraries/bio 3.1.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A function that prints a string aligned to left or centered.
|
|
3
|
+
*
|
|
4
|
+
* @param {number} x x coordinate.
|
|
5
|
+
* @param {number} y y coordinate.
|
|
6
|
+
* @param {number} w Width.
|
|
7
|
+
* @param {number} h Height.
|
|
8
|
+
* @param {CanvasRenderingContext2D} g Canvas rendering context.
|
|
9
|
+
* @param {string} s String to print.
|
|
10
|
+
* @param {string} [color=undefinedColor] String color.
|
|
11
|
+
* @param {number} [pivot=0] Pirvot.
|
|
12
|
+
* @param {boolean} [left=false] Is left aligned.
|
|
13
|
+
* @param {number} [transparencyRate=0.0] Transparency rate where 1.0 is fully transparent
|
|
14
|
+
* @param {string} [separator=''] Is separator for sequence.
|
|
15
|
+
* @param {boolean} [last=false] Is checker if element last or not.
|
|
16
|
+
* @return {number} x coordinate to start printing at.
|
|
17
|
+
*/
|
|
18
|
+
export declare function printLeftOrCentered(x: number, y: number, w: number, h: number, g: CanvasRenderingContext2D, s: string, color?: string, pivot?: number, left?: boolean, transparencyRate?: number, separator?: string, last?: boolean, drawStyle?: string, maxWord?: any, maxWordIdx?: number, gridCell?: any): number;
|
|
19
|
+
//# sourceMappingURL=cell-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell-renderer.d.ts","sourceRoot":"","sources":["cell-renderer.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;GAgBG;AACF,wBAAgB,mBAAmB,CAChC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAC1C,CAAC,EAAE,wBAAwB,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,SAAiB,EAC9D,KAAK,GAAE,MAAU,EAAE,IAAI,UAAQ,EAAE,gBAAgB,GAAE,MAAY,EAC/D,SAAS,GAAE,MAAW,EAAE,IAAI,GAAE,OAAe,EAAE,SAAS,GAAE,MAAkB,EAAE,OAAO,GAAE,GAAQ,EAAE,UAAU,GAAE,MAAU,EAAE,QAAQ,GAAE,GAAQ,GAAG,MAAM,CAmDrJ"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
const undefinedColor = 'rgb(100,100,100)';
|
|
2
|
+
const grayColor = '#808080';
|
|
3
|
+
/**
|
|
4
|
+
* A function that prints a string aligned to left or centered.
|
|
5
|
+
*
|
|
6
|
+
* @param {number} x x coordinate.
|
|
7
|
+
* @param {number} y y coordinate.
|
|
8
|
+
* @param {number} w Width.
|
|
9
|
+
* @param {number} h Height.
|
|
10
|
+
* @param {CanvasRenderingContext2D} g Canvas rendering context.
|
|
11
|
+
* @param {string} s String to print.
|
|
12
|
+
* @param {string} [color=undefinedColor] String color.
|
|
13
|
+
* @param {number} [pivot=0] Pirvot.
|
|
14
|
+
* @param {boolean} [left=false] Is left aligned.
|
|
15
|
+
* @param {number} [transparencyRate=0.0] Transparency rate where 1.0 is fully transparent
|
|
16
|
+
* @param {string} [separator=''] Is separator for sequence.
|
|
17
|
+
* @param {boolean} [last=false] Is checker if element last or not.
|
|
18
|
+
* @return {number} x coordinate to start printing at.
|
|
19
|
+
*/
|
|
20
|
+
export function printLeftOrCentered(x, y, w, h, g, s, color = undefinedColor, pivot = 0, left = false, transparencyRate = 1.0, separator = '', last = false, drawStyle = 'classic', maxWord = {}, maxWordIdx = 0, gridCell = {}) {
|
|
21
|
+
var _a;
|
|
22
|
+
g.textAlign = 'start';
|
|
23
|
+
const colorPart = s.substring(0);
|
|
24
|
+
let grayPart = last ? '' : separator;
|
|
25
|
+
if (drawStyle === 'msa') {
|
|
26
|
+
grayPart = '';
|
|
27
|
+
}
|
|
28
|
+
let textSize = g.measureText(colorPart + grayPart);
|
|
29
|
+
const indent = 5;
|
|
30
|
+
let maxColorTextSize = g.measureText(colorPart).width;
|
|
31
|
+
let colorTextSize = g.measureText(colorPart).width;
|
|
32
|
+
const dy = (textSize.fontBoundingBoxAscent + textSize.fontBoundingBoxDescent) / 2;
|
|
33
|
+
textSize = textSize.width;
|
|
34
|
+
if (drawStyle === 'msa') {
|
|
35
|
+
maxColorTextSize = maxWord[maxWordIdx];
|
|
36
|
+
textSize = maxWord[maxWordIdx];
|
|
37
|
+
if (maxColorTextSize > maxWord) {
|
|
38
|
+
maxWord[maxWordIdx] = maxColorTextSize;
|
|
39
|
+
gridCell.cell.column.temp = maxWord;
|
|
40
|
+
}
|
|
41
|
+
if (maxWordIdx > ((_a = maxWord['bio-maxIndex']) !== null && _a !== void 0 ? _a : 0)) {
|
|
42
|
+
maxWord['bio-maxIndex'] = maxWordIdx;
|
|
43
|
+
gridCell.cell.column.temp = maxWord;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function draw(dx1, dx2) {
|
|
47
|
+
g.fillStyle = color;
|
|
48
|
+
g.globalAlpha = transparencyRate;
|
|
49
|
+
if (drawStyle === 'classic') {
|
|
50
|
+
g.fillText(colorPart, x + dx1, y + dy);
|
|
51
|
+
g.fillStyle = grayColor;
|
|
52
|
+
g.fillText(grayPart, x + dx2, y + dy);
|
|
53
|
+
}
|
|
54
|
+
if (drawStyle === 'msa') {
|
|
55
|
+
g.fillStyle = color;
|
|
56
|
+
g.fillText(colorPart, x + dx1 + ((maxWord[maxWordIdx] - colorTextSize) / 2), y + dy);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (left || textSize > w) {
|
|
60
|
+
draw(indent, indent + maxColorTextSize);
|
|
61
|
+
return x + maxColorTextSize + g.measureText(grayPart).width;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
const dx = (w - textSize) / 2;
|
|
65
|
+
draw(dx, dx + maxColorTextSize);
|
|
66
|
+
return x + dx + maxColorTextSize;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNlbGwtcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxjQUFjLEdBQUcsa0JBQWtCLENBQUM7QUFDMUMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDO0FBRTVCOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0YsTUFBTSxVQUFVLG1CQUFtQixDQUNoQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQzFDLENBQTJCLEVBQUUsQ0FBUyxFQUFFLEtBQUssR0FBRyxjQUFjLEVBQzlELFFBQWdCLENBQUMsRUFBRSxJQUFJLEdBQUcsS0FBSyxFQUFFLG1CQUEyQixHQUFHLEVBQy9ELFlBQW9CLEVBQUUsRUFBRSxPQUFnQixLQUFLLEVBQUUsWUFBb0IsU0FBUyxFQUFFLFVBQWUsRUFBRSxFQUFFLGFBQXFCLENBQUMsRUFBRSxXQUFnQixFQUFFOztJQUMzSSxDQUFDLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztJQUN0QixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDckMsSUFBSSxTQUFTLEtBQUssS0FBSyxFQUFFO1FBQ3ZCLFFBQVEsR0FBRyxFQUFFLENBQUM7S0FDZjtJQUVELElBQUksUUFBUSxHQUFRLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQztJQUVqQixJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3RELElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ25ELE1BQU0sRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLHFCQUFxQixHQUFHLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsRixRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUMxQixJQUFJLFNBQVMsS0FBSyxLQUFLLEVBQUU7UUFDdkIsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZDLFFBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0IsSUFBSSxnQkFBZ0IsR0FBRyxPQUFPLEVBQUU7WUFDOUIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLGdCQUFnQixDQUFDO1lBQ3ZDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7U0FDckM7UUFDRCxJQUFJLFVBQVUsR0FBRyxDQUFDLE1BQUEsT0FBTyxDQUFDLGNBQWMsQ0FBQyxtQ0FBSSxDQUFDLENBQUMsRUFBRTtZQUMvQyxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBQ3JDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7U0FDckM7S0FDRjtJQUVELFNBQVMsSUFBSSxDQUFDLEdBQVcsRUFBRSxHQUFXO1FBQ3BDLENBQUMsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUM7UUFDakMsSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFO1lBQzNCLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZDO1FBQ0QsSUFBSSxTQUFTLEtBQUssS0FBSyxFQUFFO1lBQ3ZCLENBQUMsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDdEY7SUFDSCxDQUFDO0lBRUQsSUFBSSxJQUFJLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTtRQUN4QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxHQUFHLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDO0tBRTdEO1NBQU07UUFDTCxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztRQUNoQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsZ0JBQWdCLENBQUM7S0FDbEM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgdW5kZWZpbmVkQ29sb3IgPSAncmdiKDEwMCwxMDAsMTAwKSc7XG5jb25zdCBncmF5Q29sb3IgPSAnIzgwODA4MCc7XG5cbi8qKlxuICogQSBmdW5jdGlvbiB0aGF0IHByaW50cyBhIHN0cmluZyBhbGlnbmVkIHRvIGxlZnQgb3IgY2VudGVyZWQuXG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IHggeCBjb29yZGluYXRlLlxuICogQHBhcmFtIHtudW1iZXJ9IHkgeSBjb29yZGluYXRlLlxuICogQHBhcmFtIHtudW1iZXJ9IHcgV2lkdGguXG4gKiBAcGFyYW0ge251bWJlcn0gaCBIZWlnaHQuXG4gKiBAcGFyYW0ge0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRH0gZyBDYW52YXMgcmVuZGVyaW5nIGNvbnRleHQuXG4gKiBAcGFyYW0ge3N0cmluZ30gcyBTdHJpbmcgdG8gcHJpbnQuXG4gKiBAcGFyYW0ge3N0cmluZ30gW2NvbG9yPXVuZGVmaW5lZENvbG9yXSBTdHJpbmcgY29sb3IuXG4gKiBAcGFyYW0ge251bWJlcn0gW3Bpdm90PTBdIFBpcnZvdC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2xlZnQ9ZmFsc2VdIElzIGxlZnQgYWxpZ25lZC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbdHJhbnNwYXJlbmN5UmF0ZT0wLjBdIFRyYW5zcGFyZW5jeSByYXRlIHdoZXJlIDEuMCBpcyBmdWxseSB0cmFuc3BhcmVudFxuICogQHBhcmFtIHtzdHJpbmd9IFtzZXBhcmF0b3I9JyddIElzIHNlcGFyYXRvciBmb3Igc2VxdWVuY2UuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtsYXN0PWZhbHNlXSBJcyBjaGVja2VyIGlmIGVsZW1lbnQgbGFzdCBvciBub3QuXG4gKiBAcmV0dXJuIHtudW1iZXJ9IHggY29vcmRpbmF0ZSB0byBzdGFydCBwcmludGluZyBhdC5cbiAqL1xuIGV4cG9ydCBmdW5jdGlvbiBwcmludExlZnRPckNlbnRlcmVkKFxuICAgIHg6IG51bWJlciwgeTogbnVtYmVyLCB3OiBudW1iZXIsIGg6IG51bWJlcixcbiAgICBnOiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsIHM6IHN0cmluZywgY29sb3IgPSB1bmRlZmluZWRDb2xvcixcbiAgICBwaXZvdDogbnVtYmVyID0gMCwgbGVmdCA9IGZhbHNlLCB0cmFuc3BhcmVuY3lSYXRlOiBudW1iZXIgPSAxLjAsXG4gICAgc2VwYXJhdG9yOiBzdHJpbmcgPSAnJywgbGFzdDogYm9vbGVhbiA9IGZhbHNlLCBkcmF3U3R5bGU6IHN0cmluZyA9ICdjbGFzc2ljJywgbWF4V29yZDogYW55ID0ge30sIG1heFdvcmRJZHg6IG51bWJlciA9IDAsIGdyaWRDZWxsOiBhbnkgPSB7fSk6IG51bWJlciB7XG4gICAgZy50ZXh0QWxpZ24gPSAnc3RhcnQnO1xuICAgIGNvbnN0IGNvbG9yUGFydCA9IHMuc3Vic3RyaW5nKDApO1xuICAgIGxldCBncmF5UGFydCA9IGxhc3QgPyAnJyA6IHNlcGFyYXRvcjtcbiAgICBpZiAoZHJhd1N0eWxlID09PSAnbXNhJykge1xuICAgICAgZ3JheVBhcnQgPSAnJztcbiAgICB9XG4gIFxuICAgIGxldCB0ZXh0U2l6ZTogYW55ID0gZy5tZWFzdXJlVGV4dChjb2xvclBhcnQgKyBncmF5UGFydCk7XG4gICAgY29uc3QgaW5kZW50ID0gNTtcbiAgXG4gICAgbGV0IG1heENvbG9yVGV4dFNpemUgPSBnLm1lYXN1cmVUZXh0KGNvbG9yUGFydCkud2lkdGg7XG4gICAgbGV0IGNvbG9yVGV4dFNpemUgPSBnLm1lYXN1cmVUZXh0KGNvbG9yUGFydCkud2lkdGg7XG4gICAgY29uc3QgZHkgPSAodGV4dFNpemUuZm9udEJvdW5kaW5nQm94QXNjZW50ICsgdGV4dFNpemUuZm9udEJvdW5kaW5nQm94RGVzY2VudCkgLyAyO1xuICAgIHRleHRTaXplID0gdGV4dFNpemUud2lkdGg7XG4gICAgaWYgKGRyYXdTdHlsZSA9PT0gJ21zYScpIHtcbiAgICAgIG1heENvbG9yVGV4dFNpemUgPSBtYXhXb3JkW21heFdvcmRJZHhdO1xuICAgICAgdGV4dFNpemUgPSBtYXhXb3JkW21heFdvcmRJZHhdO1xuICAgICAgaWYgKG1heENvbG9yVGV4dFNpemUgPiBtYXhXb3JkKSB7XG4gICAgICAgIG1heFdvcmRbbWF4V29yZElkeF0gPSBtYXhDb2xvclRleHRTaXplO1xuICAgICAgICBncmlkQ2VsbC5jZWxsLmNvbHVtbi50ZW1wID0gbWF4V29yZDtcbiAgICAgIH1cbiAgICAgIGlmIChtYXhXb3JkSWR4ID4gKG1heFdvcmRbJ2Jpby1tYXhJbmRleCddID8/IDApKSB7XG4gICAgICAgIG1heFdvcmRbJ2Jpby1tYXhJbmRleCddID0gbWF4V29yZElkeDtcbiAgICAgICAgZ3JpZENlbGwuY2VsbC5jb2x1bW4udGVtcCA9IG1heFdvcmQ7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICBmdW5jdGlvbiBkcmF3KGR4MTogbnVtYmVyLCBkeDI6IG51bWJlcik6IHZvaWQge1xuICAgICAgZy5maWxsU3R5bGUgPSBjb2xvcjtcbiAgICAgIGcuZ2xvYmFsQWxwaGEgPSB0cmFuc3BhcmVuY3lSYXRlO1xuICAgICAgaWYgKGRyYXdTdHlsZSA9PT0gJ2NsYXNzaWMnKSB7XG4gICAgICAgIGcuZmlsbFRleHQoY29sb3JQYXJ0LCB4ICsgZHgxLCB5ICsgZHkpO1xuICAgICAgICBnLmZpbGxTdHlsZSA9IGdyYXlDb2xvcjtcbiAgICAgICAgZy5maWxsVGV4dChncmF5UGFydCwgeCArIGR4MiwgeSArIGR5KTtcbiAgICAgIH1cbiAgICAgIGlmIChkcmF3U3R5bGUgPT09ICdtc2EnKSB7XG4gICAgICAgIGcuZmlsbFN0eWxlID0gY29sb3I7XG4gICAgICAgIGcuZmlsbFRleHQoY29sb3JQYXJ0LCB4ICsgZHgxICsgKChtYXhXb3JkW21heFdvcmRJZHhdIC0gY29sb3JUZXh0U2l6ZSkgLyAyKSwgeSArIGR5KTtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIGlmIChsZWZ0IHx8IHRleHRTaXplID4gdykge1xuICAgICAgZHJhdyhpbmRlbnQsIGluZGVudCArIG1heENvbG9yVGV4dFNpemUpO1xuICAgICAgcmV0dXJuIHggKyBtYXhDb2xvclRleHRTaXplICsgZy5tZWFzdXJlVGV4dChncmF5UGFydCkud2lkdGg7XG4gIFxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBkeCA9ICh3IC0gdGV4dFNpemUpIC8gMjtcbiAgICAgIGRyYXcoZHgsIGR4ICsgbWF4Q29sb3JUZXh0U2l6ZSk7XG4gICAgICByZXR1cm4geCArIGR4ICsgbWF4Q29sb3JUZXh0U2l6ZTtcbiAgICB9XG4gIH1cbiAgXG4gICJdfQ==
|