@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
@@ -5,7 +5,7 @@
5
5
  },
6
6
  "beta": true,
7
7
  "friendlyName": "Datagrok bio library",
8
- "version": "3.1.0",
8
+ "version": "3.1.1",
9
9
  "description": "",
10
10
  "dependencies": {
11
11
  "@datagrok-libraries/utils": "^1.6.2",
@@ -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==