diff --git a/src/NMRiumWrapper.tsx b/src/NMRiumWrapper.tsx index e3cc3fa..9011e79 100644 --- a/src/NMRiumWrapper.tsx +++ b/src/NMRiumWrapper.tsx @@ -1,7 +1,7 @@ import type { NMRiumChangeCb, NMRiumRefAPI } from 'nmrium'; import { NMRium } from 'nmrium'; import type { CSSProperties } from 'react'; -import { useCallback, useEffect, useRef } from 'react'; +import { useCallback, useEffect, useRef, useState } from 'react'; import { RootLayout } from 'react-science/ui'; import { LoadingIndicator } from './Loadingindicator.js'; @@ -18,9 +18,28 @@ const containerStyle: CSSProperties = { position: 'relative', }; +const ACCEPTED_ACTION_TYPES = + "'exportSpectraViewerAsBlob', 'selectTab', 'highlight', or 'clearHighlight'"; + +function reportActionError(message: string) { + const error = new Error(message); + events.trigger('error', error); + // eslint-disable-next-line no-console + console.error(error); +} + +const NO_HIGHLIGHTS: readonly string[] = []; + +function isStringArray(value: unknown): value is string[] { + return ( + Array.isArray(value) && value.every((entry) => typeof entry === 'string') + ); +} + export default function NMRiumWrapper() { const { allowedOrigins, isFetchAllowedOriginsPending } = useWhiteList(); const nmriumRef = useRef(null); + const [highlightedIds, setHighlightedIds] = useState(NO_HIGHLIGHTS); const { workspace, preferences, @@ -78,9 +97,24 @@ export default function NMRiumWrapper() { setActiveTab({ tab: tab.toUpperCase() }); break; } + case 'highlight': { + const ids: unknown = request.params?.ids; + if (!isStringArray(ids)) { + reportActionError( + "ERROR! Property 'params.ids' must be an array of strings.", + ); + break; + } + setHighlightedIds(ids); + break; + } + case 'clearHighlight': { + setHighlightedIds(NO_HIGHLIGHTS); + break; + } default: { - throw new Error( - `ERROR! Property 'type' accepts only 'exportViewerAsBlob'.`, + reportActionError( + `ERROR! Property 'type' accepts only ${ACCEPTED_ACTION_TYPES}.`, ); } } @@ -133,6 +167,7 @@ export default function NMRiumWrapper() { state={data?.state} aggregator={data?.aggregator} onChange={dataChangeHandler} + highlightedIds={highlightedIds} preferences={preferences} workspace={workspace} emptyText={defaultEmptyMessage} diff --git a/src/demo/NMRiumWrapperDemo.tsx b/src/demo/NMRiumWrapperDemo.tsx index 00388e3..00615be 100644 --- a/src/demo/NMRiumWrapperDemo.tsx +++ b/src/demo/NMRiumWrapperDemo.tsx @@ -6,6 +6,7 @@ import NMRiumWrapper from '../NMRiumWrapper.js'; import events from '../events/event.js'; import { loadFilesFromURLs } from '../utilities/loadFilesFromURLs.js'; +import qmSignalsData from './data/qm-signals.json' with { type: 'json' }; import jsonData from './data/test.json' with { type: 'json' }; const Container = styled.div` @@ -105,6 +106,42 @@ export default function NMRiumWrapperDemo() { > Test Logger + + + diff --git a/src/demo/data/qm-signals.json b/src/demo/data/qm-signals.json new file mode 100644 index 0000000..55c9675 --- /dev/null +++ b/src/demo/data/qm-signals.json @@ -0,0 +1 @@ +{"version":19,"data":{"spectra":[{"id":"ed9ee5ae-7112-450e-85b1-59c7f503181a","data":{"x":[0.22,0.22218,0.22437,0.22655,0.22873,0.23092,0.2331,0.23529,0.23747,0.23965,0.24184,0.24402,0.2462,0.24839,0.25057,0.25276,0.25494,0.25712,0.25931,0.26149,0.26367,0.26586,0.26804,0.27023,0.27241,0.27459,0.27678,0.27896,0.28114,0.28333,0.28551,0.2877,0.28988,0.29206,0.29425,0.29643,0.29861,0.3008,0.30298,0.30517,0.30735,0.30953,0.31172,0.3139,0.31608,0.31827,0.32045,0.32264,0.32482,0.327,0.32919,0.33137,0.33355,0.33574,0.33792,0.34011,0.34229,0.34447,0.34666,0.34884,0.35102,0.35321,0.35539,0.35758,0.35976,0.36194,0.36413,0.36631,0.36849,0.37068,0.37286,0.37504,0.37723,0.37941,0.3816,0.38378,0.38596,0.38815,0.39033,0.39251,0.3947,0.39688,0.39907,0.40125,0.40343,0.40562,0.4078,0.40998,0.41217,0.41435,0.41654,0.41872,0.4209,0.42309,0.42527,0.42745,0.42964,0.43182,0.43401,0.43619,0.43837,0.44056,0.44274,0.44492,0.44711,0.44929,0.45148,0.45366,0.45584,0.45803,0.46021,0.46239,0.46458,0.46676,0.46895,0.47113,0.47331,0.4755,0.47768,0.47986,0.48205,0.48423,0.48642,0.4886,0.49078,0.49297,0.49515,0.49733,0.49952,0.5017,0.50389,0.50607,0.50825,0.51044,0.51262,0.5148,0.51699,0.51917,0.52136,0.52354,0.52572,0.52791,0.53009,0.53227,0.53446,0.53664,0.53882,0.54101,0.54319,0.54538,0.54756,0.54974,0.55193,0.55411,0.55629,0.55848,0.56066,0.56285,0.56503,0.56721,0.5694,0.57158,0.57376,0.57595,0.57813,0.58032,0.5825,0.58468,0.58687,0.58905,0.59123,0.59342,0.5956,0.59779,0.59997,0.60215,0.60434,0.60652,0.6087,0.61089,0.61307,0.61526,0.61744,0.61962,0.62181,0.62399,0.62617,0.62836,0.63054,0.63273,0.63491,0.63709,0.63928,0.64146,0.64364,0.64583,0.64801,0.6502,0.65238,0.65456,0.65675,0.65893,0.66111,0.6633,0.66548,0.66767,0.66985,0.67203,0.67422,0.6764,0.67858,0.68077,0.68295,0.68513,0.68732,0.6895,0.69169,0.69387,0.69605,0.69824,0.70042,0.7026,0.70479,0.70697,0.70916,0.71134,0.71352,0.71571,0.71789,0.72007,0.72226,0.72444,0.72663,0.72881,0.73099,0.73318,0.73536,0.73754,0.73973,0.74191,0.7441,0.74628,0.74846,0.75065,0.75283,0.75501,0.7572,0.75938,0.76157,0.76375,0.76593,0.76812,0.7703,0.77248,0.77467,0.77685,0.77904,0.78122,0.7834,0.78559,0.78777,0.78995,0.79214,0.79432,0.79651,0.79869,0.80087,0.80306,0.80524,0.80742,0.80961,0.81179,0.81398,0.81616,0.81834,0.82053,0.82271,0.82489,0.82708,0.82926,0.83145,0.83363,0.83581,0.838,0.84018,0.84236,0.84455,0.84673,0.84891,0.8511,0.85328,0.85547,0.85765,0.85983,0.86202,0.8642,0.86638,0.86857,0.87075,0.87294,0.87512,0.8773,0.87949,0.88167,0.88385,0.88604,0.88822,0.89041,0.89259,0.89477,0.89696,0.89914,0.90132,0.90351,0.90569,0.90788,0.91006,0.91224,0.91443,0.91661,0.91879,0.92098,0.92316,0.92535,0.92753,0.92971,0.9319,0.93408,0.93626,0.93845,0.94063,0.94282,0.945,0.94718,0.94937,0.95155,0.95373,0.95592,0.9581,0.96029,0.96247,0.96465,0.96684,0.96902,0.9712,0.97339,0.97557,0.97776,0.97994,0.98212,0.98431,0.98649,0.98867,0.99086,0.99304,0.99522,0.99741,0.99959,1.00178,1.00396,1.00614,1.00833,1.01051,1.01269,1.01488,1.01706,1.01925,1.02143,1.02361,1.0258,1.02798,1.03016,1.03235,1.03453,1.03672,1.0389,1.04108,1.04327,1.04545,1.04763,1.04982,1.052,1.05419,1.05637,1.05855,1.06074,1.06292,1.0651,1.06729,1.06947,1.07166,1.07384,1.07602,1.07821,1.08039,1.08257,1.08476,1.08694,1.08913,1.09131,1.09349,1.09568,1.09786,1.10004,1.10223,1.10441,1.1066,1.10878,1.11096,1.11315,1.11533,1.11751,1.1197,1.12188,1.12407,1.12625,1.12843,1.13062,1.1328,1.13498,1.13717,1.13935,1.14154,1.14372,1.1459,1.14809,1.15027,1.15245,1.15464,1.15682,1.159,1.16119,1.16337,1.16556,1.16774,1.16992,1.17211,1.17429,1.17647,1.17866,1.18084,1.18303,1.18521,1.18739,1.18958,1.19176,1.19394,1.19613,1.19831,1.2005,1.20268,1.20486,1.20705,1.20923,1.21141,1.2136,1.21578,1.21797,1.22015,1.22233,1.22452,1.2267,1.22888,1.23107,1.23325,1.23544,1.23762,1.2398,1.24199,1.24417,1.24635,1.24854,1.25072,1.25291,1.25509,1.25727,1.25946,1.26164,1.26382,1.26601,1.26819,1.27038,1.27256,1.27474,1.27693,1.27911,1.28129,1.28348,1.28566,1.28785,1.29003,1.29221,1.2944,1.29658,1.29876,1.30095,1.30313,1.30531,1.3075,1.30968,1.31187,1.31405,1.31623,1.31842,1.3206,1.32278,1.32497,1.32715,1.32934,1.33152,1.3337,1.33589,1.33807,1.34025,1.34244,1.34462,1.34681,1.34899,1.35117,1.35336,1.35554,1.35772,1.35991,1.36209,1.36428,1.36646,1.36864,1.37083,1.37301,1.37519,1.37738,1.37956,1.38175,1.38393,1.38611,1.3883,1.39048,1.39266,1.39485,1.39703,1.39922,1.4014,1.40358,1.40577,1.40795,1.41013,1.41232,1.4145,1.41669,1.41887,1.42105,1.42324,1.42542,1.4276,1.42979,1.43197,1.43416,1.43634,1.43852,1.44071,1.44289,1.44507,1.44726,1.44944,1.45163,1.45381,1.45599,1.45818,1.46036,1.46254,1.46473,1.46691,1.46909,1.47128,1.47346,1.47565,1.47783,1.48001,1.4822,1.48438,1.48656,1.48875,1.49093,1.49312,1.4953,1.49748,1.49967,1.50185,1.50403,1.50622,1.5084,1.51059,1.51277,1.51495,1.51714,1.51932,1.5215,1.52369,1.52587,1.52806,1.53024,1.53242,1.53461,1.53679,1.53897,1.54116,1.54334,1.54553,1.54771,1.54989,1.55208,1.55426,1.55644,1.55863,1.56081,1.563,1.56518,1.56736,1.56955,1.57173,1.57391,1.5761,1.57828,1.58047,1.58265,1.58483,1.58702,1.5892,1.59138,1.59357,1.59575,1.59794,1.60012,1.6023,1.60449,1.60667,1.60885,1.61104,1.61322,1.6154,1.61759,1.61977,1.62196,1.62414,1.62632,1.62851,1.63069,1.63287,1.63506,1.63724,1.63943,1.64161,1.64379,1.64598,1.64816,1.65034,1.65253,1.65471,1.6569,1.65908,1.66126,1.66345,1.66563,1.66781,1.67,1.67218,1.67437,1.67655,1.67873,1.68092,1.6831,1.68528,1.68747,1.68965,1.69184,1.69402,1.6962,1.69839,1.70057,1.70275,1.70494,1.70712,1.70931,1.71149,1.71367,1.71586,1.71804,1.72022,1.72241,1.72459,1.72678,1.72896,1.73114,1.73333,1.73551,1.73769,1.73988,1.74206,1.74425,1.74643,1.74861,1.7508,1.75298,1.75516,1.75735,1.75953,1.76171,1.7639,1.76608,1.76827,1.77045,1.77263,1.77482,1.777,1.77918,1.78137,1.78355,1.78574,1.78792,1.7901,1.79229,1.79447,1.79665,1.79884,1.80102,1.80321,1.80539,1.80757,1.80976,1.81194,1.81412,1.81631,1.81849,1.82068,1.82286,1.82504,1.82723,1.82941,1.83159,1.83378,1.83596,1.83815,1.84033,1.84251,1.8447,1.84688,1.84906,1.85125,1.85343,1.85562,1.8578,1.85998,1.86217,1.86435,1.86653,1.86872,1.8709,1.87309,1.87527,1.87745,1.87964,1.88182,1.884,1.88619,1.88837,1.89056,1.89274,1.89492,1.89711,1.89929,1.90147,1.90366,1.90584,1.90803,1.91021,1.91239,1.91458,1.91676,1.91894,1.92113,1.92331,1.92549,1.92768,1.92986,1.93205,1.93423,1.93641,1.9386,1.94078,1.94296,1.94515,1.94733,1.94952,1.9517,1.95388,1.95607,1.95825,1.96043,1.96262,1.9648,1.96699,1.96917,1.97135,1.97354,1.97572,1.9779,1.98009,1.98227,1.98446,1.98664,1.98882,1.99101,1.99319,1.99537,1.99756,1.99974,2.00193,2.00411,2.00629,2.00848,2.01066,2.01284,2.01503,2.01721,2.0194,2.02158,2.02376,2.02595,2.02813,2.03031,2.0325,2.03468,2.03687,2.03905,2.04123,2.04342,2.0456,2.04778,2.04997,2.05215,2.05434,2.05652,2.0587,2.06089,2.06307,2.06525,2.06744,2.06962,2.0718,2.07399,2.07617,2.07836,2.08054,2.08272,2.08491,2.08709,2.08927,2.09146,2.09364,2.09583,2.09801,2.10019,2.10238,2.10456,2.10674,2.10893,2.11111,2.1133,2.11548,2.11766,2.11985,2.12203,2.12421,2.1264,2.12858,2.13077,2.13295,2.13513,2.13732,2.1395,2.14168,2.14387,2.14605,2.14824,2.15042,2.1526,2.15479,2.15697,2.15915,2.16134,2.16352,2.16571,2.16789,2.17007,2.17226,2.17444,2.17662,2.17881,2.18099,2.18318,2.18536,2.18754,2.18973,2.19191,2.19409,2.19628,2.19846,2.20065,2.20283,2.20501,2.2072,2.20938,2.21156,2.21375,2.21593,2.21812,2.2203,2.22248,2.22467,2.22685,2.22903,2.23122,2.2334,2.23558,2.23777,2.23995,2.24214,2.24432,2.2465,2.24869,2.25087,2.25305,2.25524,2.25742,2.25961,2.26179,2.26397,2.26616,2.26834,2.27052,2.27271,2.27489,2.27708,2.27926,2.28144,2.28363,2.28581,2.28799,2.29018,2.29236,2.29455,2.29673,2.29891,2.3011,2.30328,2.30546,2.30765,2.30983,2.31202,2.3142,2.31638,2.31857,2.32075,2.32293,2.32512,2.3273,2.32949,2.33167,2.33385,2.33604,2.33822,2.3404,2.34259,2.34477,2.34696,2.34914,2.35132,2.35351,2.35569,2.35787,2.36006,2.36224,2.36443,2.36661,2.36879,2.37098,2.37316,2.37534,2.37753,2.37971,2.38189,2.38408,2.38626,2.38845,2.39063,2.39281,2.395,2.39718,2.39936,2.40155,2.40373,2.40592,2.4081,2.41028,2.41247,2.41465,2.41683,2.41902,2.4212,2.42339,2.42557,2.42775,2.42994,2.43212,2.4343,2.43649,2.43867,2.44086,2.44304,2.44522,2.44741,2.44959,2.45177,2.45396,2.45614,2.45833,2.46051,2.46269,2.46488,2.46706,2.46924,2.47143,2.47361,2.4758,2.47798,2.48016,2.48235,2.48453,2.48671,2.4889,2.49108,2.49327,2.49545,2.49763,2.49982,2.502,2.50418,2.50637,2.50855,2.51074,2.51292,2.5151,2.51729,2.51947,2.52165,2.52384,2.52602,2.52821,2.53039,2.53257,2.53476,2.53694,2.53912,2.54131,2.54349,2.54567,2.54786,2.55004,2.55223,2.55441,2.55659,2.55878,2.56096,2.56314,2.56533,2.56751,2.5697,2.57188,2.57406,2.57625,2.57843,2.58061,2.5828,2.58498,2.58717,2.58935,2.59153,2.59372,2.5959,2.59808,2.60027,2.60245,2.60464,2.60682,2.609,2.61119,2.61337,2.61555,2.61774,2.61992,2.62211,2.62429,2.62647,2.62866,2.63084,2.63302,2.63521,2.63739,2.63958,2.64176,2.64394,2.64613,2.64831,2.65049,2.65268,2.65486,2.65705,2.65923,2.66141,2.6636,2.66578,2.66796,2.67015,2.67233,2.67452,2.6767,2.67888,2.68107,2.68325,2.68543,2.68762,2.6898,2.69198,2.69417,2.69635,2.69854,2.70072,2.7029,2.70509,2.70727,2.70945,2.71164,2.71382,2.71601,2.71819,2.72037,2.72256,2.72474,2.72692,2.72911,2.73129,2.73348,2.73566,2.73784,2.74003,2.74221,2.74439,2.74658,2.74876,2.75095,2.75313,2.75531,2.7575,2.75968,2.76186,2.76405,2.76623,2.76842,2.7706,2.77278,2.77497,2.77715,2.77933,2.78152,2.7837,2.78589,2.78807,2.79025,2.79244,2.79462,2.7968,2.79899,2.80117,2.80336,2.80554,2.80772,2.80991,2.81209,2.81427,2.81646,2.81864,2.82083,2.82301,2.82519,2.82738,2.82956,2.83174,2.83393,2.83611,2.8383,2.84048,2.84266,2.84485,2.84703,2.84921,2.8514,2.85358,2.85576,2.85795,2.86013,2.86232,2.8645,2.86668,2.86887,2.87105,2.87323,2.87542,2.8776,2.87979,2.88197,2.88415,2.88634,2.88852,2.8907,2.89289,2.89507,2.89726,2.89944,2.90162,2.90381,2.90599,2.90817,2.91036,2.91254,2.91473,2.91691,2.91909,2.92128,2.92346,2.92564,2.92783,2.93001,2.9322,2.93438,2.93656,2.93875,2.94093,2.94311,2.9453,2.94748,2.94967,2.95185,2.95403,2.95622,2.9584,2.96058,2.96277,2.96495,2.96714,2.96932,2.9715,2.97369,2.97587,2.97805,2.98024,2.98242,2.98461,2.98679,2.98897,2.99116,2.99334,2.99552,2.99771,2.99989,3.00207,3.00426,3.00644,3.00863,3.01081,3.01299,3.01518,3.01736,3.01954,3.02173,3.02391,3.0261,3.02828,3.03046,3.03265,3.03483,3.03701,3.0392,3.04138,3.04357,3.04575,3.04793,3.05012,3.0523,3.05448,3.05667,3.05885,3.06104,3.06322,3.0654,3.06759,3.06977,3.07195,3.07414,3.07632,3.07851,3.08069,3.08287,3.08506,3.08724,3.08942,3.09161,3.09379,3.09598,3.09816,3.10034,3.10253,3.10471,3.10689,3.10908,3.11126,3.11345,3.11563,3.11781,3.12,3.12218,3.12436,3.12655,3.12873,3.13092,3.1331,3.13528,3.13747,3.13965,3.14183,3.14402,3.1462,3.14839,3.15057,3.15275,3.15494,3.15712,3.1593,3.16149,3.16367,3.16585,3.16804,3.17022,3.17241,3.17459,3.17677,3.17896,3.18114,3.18332,3.18551,3.18769,3.18988,3.19206,3.19424,3.19643,3.19861,3.20079,3.20298,3.20516,3.20735,3.20953,3.21171,3.2139,3.21608,3.21826,3.22045,3.22263,3.22482,3.227,3.22918,3.23137,3.23355,3.23573,3.23792,3.2401,3.24229,3.24447,3.24665,3.24884,3.25102,3.2532,3.25539,3.25757,3.25976,3.26194,3.26412,3.26631,3.26849,3.27067,3.27286,3.27504,3.27723,3.27941,3.28159,3.28378,3.28596,3.28814,3.29033,3.29251,3.2947,3.29688,3.29906,3.30125,3.30343,3.30561,3.3078,3.30998,3.31216,3.31435,3.31653,3.31872,3.3209,3.32308,3.32527,3.32745,3.32963,3.33182,3.334,3.33619,3.33837,3.34055,3.34274,3.34492,3.3471,3.34929,3.35147,3.35366,3.35584,3.35802,3.36021,3.36239,3.36457,3.36676,3.36894,3.37113,3.37331,3.37549,3.37768,3.37986,3.38204,3.38423,3.38641,3.3886,3.39078,3.39296,3.39515,3.39733,3.39951,3.4017,3.40388,3.40607,3.40825,3.41043,3.41262,3.4148,3.41698,3.41917,3.42135,3.42354,3.42572,3.4279,3.43009,3.43227,3.43445,3.43664,3.43882,3.44101,3.44319,3.44537,3.44756,3.44974,3.45192,3.45411,3.45629,3.45847,3.46066,3.46284,3.46503,3.46721,3.46939,3.47158,3.47376,3.47594,3.47813,3.48031,3.4825,3.48468,3.48686,3.48905,3.49123,3.49341,3.4956,3.49778,3.49997,3.50215,3.50433,3.50652,3.5087,3.51088,3.51307,3.51525,3.51744,3.51962,3.5218,3.52399,3.52617,3.52835,3.53054,3.53272,3.53491,3.53709,3.53927,3.54146,3.54364,3.54582,3.54801,3.55019,3.55238,3.55456,3.55674,3.55893,3.56111,3.56329,3.56548,3.56766,3.56985,3.57203,3.57421,3.5764,3.57858,3.58076,3.58295,3.58513,3.58732,3.5895,3.59168,3.59387,3.59605,3.59823,3.60042,3.6026,3.60479,3.60697,3.60915,3.61134,3.61352,3.6157,3.61789,3.62007,3.62225,3.62444,3.62662,3.62881,3.63099,3.63317,3.63536,3.63754,3.63972,3.64191,3.64409,3.64628,3.64846,3.65064,3.65283,3.65501,3.65719,3.65938,3.66156,3.66375,3.66593,3.66811,3.6703,3.67248,3.67466,3.67685,3.67903,3.68122,3.6834,3.68558,3.68777,3.68995,3.69213,3.69432,3.6965,3.69869,3.70087,3.70305,3.70524,3.70742,3.7096,3.71179,3.71397,3.71616,3.71834,3.72052,3.72271,3.72489,3.72707,3.72926,3.73144,3.73363,3.73581,3.73799,3.74018,3.74236,3.74454,3.74673,3.74891,3.7511,3.75328,3.75546,3.75765,3.75983,3.76201,3.7642,3.76638,3.76856,3.77075,3.77293,3.77512,3.7773,3.77948,3.78167,3.78385,3.78603,3.78822,3.7904,3.79259,3.79477,3.79695,3.79914,3.80132,3.8035,3.80569,3.80787,3.81006,3.81224,3.81442,3.81661,3.81879,3.82097,3.82316,3.82534,3.82753,3.82971,3.83189,3.83408,3.83626,3.83844,3.84063,3.84281,3.845,3.84718,3.84936,3.85155,3.85373,3.85591,3.8581,3.86028,3.86247,3.86465,3.86683,3.86902,3.8712,3.87338,3.87557,3.87775,3.87994,3.88212,3.8843,3.88649,3.88867,3.89085,3.89304,3.89522,3.89741,3.89959,3.90177,3.90396,3.90614,3.90832,3.91051,3.91269,3.91488,3.91706,3.91924,3.92143,3.92361,3.92579,3.92798,3.93016,3.93234,3.93453,3.93671,3.9389,3.94108,3.94326,3.94545,3.94763,3.94981,3.952,3.95418,3.95637,3.95855,3.96073,3.96292,3.9651,3.96728,3.96947,3.97165,3.97384,3.97602,3.9782,3.98039,3.98257,3.98475,3.98694,3.98912,3.99131,3.99349,3.99567,3.99786,4.00004,4.00222,4.00441,4.00659,4.00878,4.01096,4.01314,4.01533,4.01751,4.01969,4.02188,4.02406,4.02625,4.02843,4.03061,4.0328,4.03498,4.03716,4.03935,4.04153,4.04372,4.0459,4.04808,4.05027,4.05245,4.05463,4.05682,4.059,4.06119,4.06337,4.06555,4.06774,4.06992,4.0721,4.07429,4.07647,4.07865,4.08084,4.08302,4.08521,4.08739,4.08957,4.09176,4.09394,4.09612,4.09831,4.10049,4.10268,4.10486,4.10704,4.10923,4.11141,4.11359,4.11578,4.11796,4.12015,4.12233,4.12451,4.1267,4.12888,4.13106,4.13325,4.13543,4.13762,4.1398,4.14198,4.14417,4.14635,4.14853,4.15072,4.1529,4.15509,4.15727,4.15945,4.16164,4.16382,4.166,4.16819,4.17037,4.17256,4.17474,4.17692,4.17911,4.18129,4.18347,4.18566,4.18784,4.19003,4.19221,4.19439,4.19658,4.19876,4.20094,4.20313,4.20531,4.2075,4.20968,4.21186,4.21405,4.21623,4.21841,4.2206,4.22278,4.22497,4.22715,4.22933,4.23152,4.2337,4.23588,4.23807,4.24025,4.24243,4.24462,4.2468,4.24899,4.25117,4.25335,4.25554,4.25772,4.2599,4.26209,4.26427,4.26646,4.26864,4.27082,4.27301,4.27519,4.27737,4.27956,4.28174,4.28393,4.28611,4.28829,4.29048,4.29266,4.29484,4.29703,4.29921,4.3014,4.30358,4.30576,4.30795,4.31013,4.31231,4.3145,4.31668,4.31887,4.32105,4.32323,4.32542,4.3276,4.32978,4.33197,4.33415,4.33634,4.33852,4.3407,4.34289,4.34507,4.34725,4.34944,4.35162,4.35381,4.35599,4.35817,4.36036,4.36254,4.36472,4.36691,4.36909,4.37128,4.37346,4.37564,4.37783,4.38001,4.38219,4.38438,4.38656,4.38874,4.39093,4.39311,4.3953,4.39748,4.39966,4.40185,4.40403,4.40621,4.4084,4.41058,4.41277,4.41495,4.41713,4.41932,4.4215,4.42368,4.42587,4.42805,4.43024,4.43242,4.4346,4.43679,4.43897,4.44115,4.44334,4.44552,4.44771,4.44989,4.45207,4.45426,4.45644,4.45862,4.46081,4.46299,4.46518,4.46736,4.46954,4.47173,4.47391,4.47609,4.47828,4.48046,4.48265,4.48483,4.48701,4.4892,4.49138,4.49356,4.49575,4.49793,4.50012,4.5023,4.50448,4.50667,4.50885,4.51103,4.51322,4.5154,4.51759,4.51977,4.52195,4.52414,4.52632,4.5285,4.53069,4.53287,4.53506,4.53724,4.53942,4.54161,4.54379,4.54597,4.54816,4.55034,4.55252,4.55471,4.55689,4.55908,4.56126,4.56344,4.56563,4.56781,4.56999,4.57218,4.57436,4.57655,4.57873,4.58091,4.5831,4.58528,4.58746,4.58965,4.59183,4.59402,4.5962,4.59838,4.60057,4.60275,4.60493,4.60712,4.6093,4.61149,4.61367,4.61585,4.61804,4.62022,4.6224,4.62459,4.62677,4.62896,4.63114,4.63332,4.63551,4.63769,4.63987,4.64206,4.64424,4.64643,4.64861,4.65079,4.65298,4.65516,4.65734,4.65953,4.66171,4.6639,4.66608,4.66826,4.67045,4.67263,4.67481,4.677,4.67918,4.68137,4.68355,4.68573,4.68792,4.6901],"re":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00019,0.0002,0.0002,0.00021,0.00021,0.00022,0.00023,0.00023,0.00024,0.00025,0.00026,0.00026,0.00027,0.00028,0.00029,0.0003,0.00031,0.00033,0.00034,0.00035,0.00036,0.00038,0.00039,0.00041,0.00043,0.00045,0.00047,0.00049,0.00051,0.00053,0.00056,0.00059,0.00062,0.00065,0.00068,0.00072,0.00076,0.00081,0.00085,0.00091,0.00096,0.00103,0.0011,0.00117,0.00126,0.00135,0.00146,0.00158,0.00172,0.00187,0.00204,0.00224,0.00247,0.00274,0.00305,0.00342,0.00387,0.0044,0.00506,0.00587,0.00689,0.0082,0.00993,0.01227,0.01554,0.02032,0.02768,0.03988,0.06227,0.11018,0.24219,0.82222,2.95775,0.66907,0.21341,0.10089,0.05823,0.03778,0.02646,0.01955,0.01502,0.01191,0.00967,0.008,0.00673,0.00574,0.00496,0.00432,0.0038,0.00337,0.00301,0.0027,0.00244,0.00221,0.00202,0.00185,0.0017,0.00156,0.00145,0.00134,0.00125,0.00116,0.00109,0.00102,0.00096,0.0009,0.00085,0.0008,0.00076,0.00072,0.00068,0.00064,0.00061,0.00058,0.00056,0.00053,0.00051,0.00048,0.00046,0.00044,0.00043,0.00041,0.00039,0.00038,0.00036,0.00035,0.00034,0.00032,0.00031,0.0003,0.00029,0.00028,0.00027,0.00026,0.00026,0.00025,0.00024,0.00023,0.00023,0.00022,0.00021,0.00021,0.0002,0.00019,0.00019,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,6e-05,6e-05,7e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,8e-05,9e-05,9e-05,9e-05,0.0001,0.0001,0.0001,0.00011,0.00011,0.00011,0.00012,0.00012,0.00013,0.00013,0.00014,0.00015,0.00015,0.00016,0.00017,0.00017,0.00018,0.00019,0.0002,0.00021,0.00022,0.00023,0.00025,0.00026,0.00028,0.00029,0.00031,0.00033,0.00035,0.00038,0.0004,0.00043,0.00047,0.00051,0.00055,0.0006,0.00065,0.00071,0.00078,0.00086,0.00096,0.00107,0.00121,0.00137,0.00157,0.00181,0.00211,0.00249,0.00299,0.00365,0.00456,0.00586,0.0078,0.01089,0.01623,0.02669,0.0515,0.13379,0.61125,0.52589,0.1209,0.04821,0.02543,0.01562,0.01055,0.00759,0.00573,0.00447,0.00358,0.00294,0.00245,0.00208,0.00178,0.00155,0.00135,0.0012,0.00106,0.00095,0.00086,0.00078,0.00071,0.00064,0.00059,0.00054,0.0005,0.00046,0.00043,0.0004,0.00038,0.00035,0.00033,0.00031,0.00029,0.00027,0.00026,0.00025,0.00023,0.00022,0.00021,0.0002,0.00019,0.00018,0.00017,0.00017,0.00016,0.00015,0.00014,0.00014,0.00013,0.00013,0.00012,0.00012,0.00011,0.00011,0.00011,0.0001,0.0001,0.0001,9e-05,9e-05,9e-05,8e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,7e-05,6e-05,6e-05,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00013,0.00013,0.00013,0.00014,0.00014,0.00015,0.00015,0.00015,0.00016,0.00016,0.00017,0.00018,0.00018,0.00019,0.00019,0.0002,0.00021,0.00022,0.00022,0.00023,0.00024,0.00025,0.00026,0.00027,0.00028,0.0003,0.00031,0.00032,0.00034,0.00035,0.00037,0.00039,0.00041,0.00043,0.00045,0.00048,0.0005,0.00053,0.00057,0.0006,0.00064,0.00068,0.00073,0.00078,0.00083,0.0009,0.00097,0.00105,0.00113,0.00124,0.00135,0.00148,0.00163,0.00181,0.00202,0.00226,0.00255,0.0029,0.00333,0.00386,0.00452,0.00538,0.0065,0.00802,0.01013,0.0132,0.01791,0.02564,0.03969,0.06924,0.14831,0.47715,1.99688,0.51079,0.15464,0.07129,0.04058,0.02611,0.01817,0.01337,0.01024,0.0081,0.00656,0.00542,0.00456,0.00388,0.00335,0.00292,0.00256,0.00227,0.00203,0.00182,0.00164,0.00149,0.00136,0.00124,0.00114,0.00105,0.00097,0.0009,0.00084,0.00078,0.00073,0.00068,0.00064,0.0006,0.00057,0.00054,0.00051,0.00048,0.00045,0.00043,0.00041,0.00039,0.00037,0.00035,0.00034,0.00032,0.00031,0.0003,0.00028,0.00027,0.00026,0.00025,0.00024,0.00023,0.00022,0.00022,0.00021,0.0002,0.00019,0.00019,0.00018,0.00018,0.00017,0.00017,0.00016,0.00016,0.00015,0.00015,0.00014,0.00014,0.00013,0.00013,0.00013,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]},"peaks":{"values":[{"id":"qm-1H-4-5-6","x":1.22,"y":2.957754411769524,"width":0.0025,"originalX":1.22},{"id":"qm-1H-7-8","x":3.69,"y":1.9968825526874716,"width":0.0025,"originalX":3.69},{"id":"qm-1H-9","x":2.61,"y":0.6112453364333528,"width":0.0025,"originalX":2.61}],"options":{}},"ranges":{"values":[{"id":"qm-range-1H-4-5-6","from":1.195,"to":1.2449999999999999,"absolute":3,"integration":3,"signals":[{"id":"qm-signal-1H-4-5-6","kind":"signal","multiplicity":"s","delta":1.22,"js":[],"nbAtoms":3}]},{"id":"qm-range-1H-9","from":2.585,"to":2.635,"absolute":1,"integration":1,"signals":[{"id":"qm-signal-1H-9","kind":"signal","multiplicity":"s","delta":2.61,"js":[],"nbAtoms":1}]},{"id":"qm-range-1H-7-8","from":3.665,"to":3.715,"absolute":2,"integration":2,"signals":[{"id":"qm-signal-1H-7-8","kind":"signal","multiplicity":"s","delta":3.69,"js":[],"nbAtoms":2}]}],"options":{"sum":6,"isSumConstant":true,"sumAuto":false}},"info":{"isFid":false,"isComplex":false,"dimension":1,"originFrequency":400.0,"baseFrequency":400.0,"pulseSequence":"","solvent":"CDCl3","isFt":true,"name":"04032a35-e3bd-442e-9830-b332da245771","nucleus":"1H","predictionShifts":[{"atom":4,"prediction":1.22,"status":"accept"},{"atom":5,"prediction":1.2201,"status":"accept"},{"atom":6,"prediction":1.2202,"status":"accept"},{"atom":7,"prediction":3.69,"status":"accept"},{"atom":8,"prediction":3.6901,"status":"accept"},{"atom":9,"prediction":2.61,"status":"accept"}]}},{"id":"3cafe2d5-61af-44b4-9cee-11a10f739ab4","data":{"x":[17.1,17.12062,17.14123,17.16185,17.18246,17.20308,17.22369,17.24431,17.26492,17.28554,17.30616,17.32677,17.34739,17.368,17.38862,17.40923,17.42985,17.45046,17.47108,17.4917,17.51231,17.53293,17.55354,17.57416,17.59477,17.61539,17.636,17.65662,17.67723,17.69785,17.71847,17.73908,17.7597,17.78031,17.80093,17.82154,17.84216,17.86277,17.88339,17.90401,17.92462,17.94524,17.96585,17.98647,18.00708,18.0277,18.04831,18.06893,18.08955,18.11016,18.13078,18.15139,18.17201,18.19262,18.21324,18.23385,18.25447,18.27509,18.2957,18.31632,18.33693,18.35755,18.37816,18.39878,18.41939,18.44001,18.46063,18.48124,18.50186,18.52247,18.54309,18.5637,18.58432,18.60493,18.62555,18.64617,18.66678,18.6874,18.70801,18.72863,18.74924,18.76986,18.79047,18.81109,18.8317,18.85232,18.87294,18.89355,18.91417,18.93478,18.9554,18.97601,18.99663,19.01724,19.03786,19.05848,19.07909,19.09971,19.12032,19.14094,19.16155,19.18217,19.20278,19.2234,19.24402,19.26463,19.28525,19.30586,19.32648,19.34709,19.36771,19.38832,19.40894,19.42956,19.45017,19.47079,19.4914,19.51202,19.53263,19.55325,19.57386,19.59448,19.6151,19.63571,19.65633,19.67694,19.69756,19.71817,19.73879,19.7594,19.78002,19.80064,19.82125,19.84187,19.86248,19.8831,19.90371,19.92433,19.94494,19.96556,19.98617,20.00679,20.02741,20.04802,20.06864,20.08925,20.10987,20.13048,20.1511,20.17171,20.19233,20.21295,20.23356,20.25418,20.27479,20.29541,20.31602,20.33664,20.35725,20.37787,20.39849,20.4191,20.43972,20.46033,20.48095,20.50156,20.52218,20.54279,20.56341,20.58403,20.60464,20.62526,20.64587,20.66649,20.6871,20.70772,20.72833,20.74895,20.76957,20.79018,20.8108,20.83141,20.85203,20.87264,20.89326,20.91387,20.93449,20.95511,20.97572,20.99634,21.01695,21.03757,21.05818,21.0788,21.09941,21.12003,21.14064,21.16126,21.18188,21.20249,21.22311,21.24372,21.26434,21.28495,21.30557,21.32618,21.3468,21.36742,21.38803,21.40865,21.42926,21.44988,21.47049,21.49111,21.51172,21.53234,21.55296,21.57357,21.59419,21.6148,21.63542,21.65603,21.67665,21.69726,21.71788,21.7385,21.75911,21.77973,21.80034,21.82096,21.84157,21.86219,21.8828,21.90342,21.92404,21.94465,21.96527,21.98588,22.0065,22.02711,22.04773,22.06834,22.08896,22.10957,22.13019,22.15081,22.17142,22.19204,22.21265,22.23327,22.25388,22.2745,22.29511,22.31573,22.33635,22.35696,22.37758,22.39819,22.41881,22.43942,22.46004,22.48065,22.50127,22.52189,22.5425,22.56312,22.58373,22.60435,22.62496,22.64558,22.66619,22.68681,22.70743,22.72804,22.74866,22.76927,22.78989,22.8105,22.83112,22.85173,22.87235,22.89297,22.91358,22.9342,22.95481,22.97543,22.99604,23.01666,23.03727,23.05789,23.07851,23.09912,23.11974,23.14035,23.16097,23.18158,23.2022,23.22281,23.24343,23.26404,23.28466,23.30528,23.32589,23.34651,23.36712,23.38774,23.40835,23.42897,23.44958,23.4702,23.49082,23.51143,23.53205,23.55266,23.57328,23.59389,23.61451,23.63512,23.65574,23.67636,23.69697,23.71759,23.7382,23.75882,23.77943,23.80005,23.82066,23.84128,23.8619,23.88251,23.90313,23.92374,23.94436,23.96497,23.98559,24.0062,24.02682,24.04744,24.06805,24.08867,24.10928,24.1299,24.15051,24.17113,24.19174,24.21236,24.23298,24.25359,24.27421,24.29482,24.31544,24.33605,24.35667,24.37728,24.3979,24.41851,24.43913,24.45975,24.48036,24.50098,24.52159,24.54221,24.56282,24.58344,24.60405,24.62467,24.64529,24.6659,24.68652,24.70713,24.72775,24.74836,24.76898,24.78959,24.81021,24.83083,24.85144,24.87206,24.89267,24.91329,24.9339,24.95452,24.97513,24.99575,25.01637,25.03698,25.0576,25.07821,25.09883,25.11944,25.14006,25.16067,25.18129,25.20191,25.22252,25.24314,25.26375,25.28437,25.30498,25.3256,25.34621,25.36683,25.38745,25.40806,25.42868,25.44929,25.46991,25.49052,25.51114,25.53175,25.55237,25.57298,25.5936,25.61422,25.63483,25.65545,25.67606,25.69668,25.71729,25.73791,25.75852,25.77914,25.79976,25.82037,25.84099,25.8616,25.88222,25.90283,25.92345,25.94406,25.96468,25.9853,26.00591,26.02653,26.04714,26.06776,26.08837,26.10899,26.1296,26.15022,26.17084,26.19145,26.21207,26.23268,26.2533,26.27391,26.29453,26.31514,26.33576,26.35638,26.37699,26.39761,26.41822,26.43884,26.45945,26.48007,26.50068,26.5213,26.54191,26.56253,26.58315,26.60376,26.62438,26.64499,26.66561,26.68622,26.70684,26.72745,26.74807,26.76869,26.7893,26.80992,26.83053,26.85115,26.87176,26.89238,26.91299,26.93361,26.95423,26.97484,26.99546,27.01607,27.03669,27.0573,27.07792,27.09853,27.11915,27.13977,27.16038,27.181,27.20161,27.22223,27.24284,27.26346,27.28407,27.30469,27.32531,27.34592,27.36654,27.38715,27.40777,27.42838,27.449,27.46961,27.49023,27.51085,27.53146,27.55208,27.57269,27.59331,27.61392,27.63454,27.65515,27.67577,27.69638,27.717,27.73762,27.75823,27.77885,27.79946,27.82008,27.84069,27.86131,27.88192,27.90254,27.92316,27.94377,27.96439,27.985,28.00562,28.02623,28.04685,28.06746,28.08808,28.1087,28.12931,28.14993,28.17054,28.19116,28.21177,28.23239,28.253,28.27362,28.29424,28.31485,28.33547,28.35608,28.3767,28.39731,28.41793,28.43854,28.45916,28.47978,28.50039,28.52101,28.54162,28.56224,28.58285,28.60347,28.62408,28.6447,28.66532,28.68593,28.70655,28.72716,28.74778,28.76839,28.78901,28.80962,28.83024,28.85085,28.87147,28.89209,28.9127,28.93332,28.95393,28.97455,28.99516,29.01578,29.03639,29.05701,29.07763,29.09824,29.11886,29.13947,29.16009,29.1807,29.20132,29.22193,29.24255,29.26317,29.28378,29.3044,29.32501,29.34563,29.36624,29.38686,29.40747,29.42809,29.44871,29.46932,29.48994,29.51055,29.53117,29.55178,29.5724,29.59301,29.61363,29.63425,29.65486,29.67548,29.69609,29.71671,29.73732,29.75794,29.77855,29.79917,29.81979,29.8404,29.86102,29.88163,29.90225,29.92286,29.94348,29.96409,29.98471,30.00532,30.02594,30.04656,30.06717,30.08779,30.1084,30.12902,30.14963,30.17025,30.19086,30.21148,30.2321,30.25271,30.27333,30.29394,30.31456,30.33517,30.35579,30.3764,30.39702,30.41764,30.43825,30.45887,30.47948,30.5001,30.52071,30.54133,30.56194,30.58256,30.60318,30.62379,30.64441,30.66502,30.68564,30.70625,30.72687,30.74748,30.7681,30.78872,30.80933,30.82995,30.85056,30.87118,30.89179,30.91241,30.93302,30.95364,30.97426,30.99487,31.01549,31.0361,31.05672,31.07733,31.09795,31.11856,31.13918,31.15979,31.18041,31.20103,31.22164,31.24226,31.26287,31.28349,31.3041,31.32472,31.34533,31.36595,31.38657,31.40718,31.4278,31.44841,31.46903,31.48964,31.51026,31.53087,31.55149,31.57211,31.59272,31.61334,31.63395,31.65457,31.67518,31.6958,31.71641,31.73703,31.75765,31.77826,31.79888,31.81949,31.84011,31.86072,31.88134,31.90195,31.92257,31.94319,31.9638,31.98442,32.00503,32.02565,32.04626,32.06688,32.08749,32.10811,32.12872,32.14934,32.16996,32.19057,32.21119,32.2318,32.25242,32.27303,32.29365,32.31426,32.33488,32.3555,32.37611,32.39673,32.41734,32.43796,32.45857,32.47919,32.4998,32.52042,32.54104,32.56165,32.58227,32.60288,32.6235,32.64411,32.66473,32.68534,32.70596,32.72658,32.74719,32.76781,32.78842,32.80904,32.82965,32.85027,32.87088,32.8915,32.91212,32.93273,32.95335,32.97396,32.99458,33.01519,33.03581,33.05642,33.07704,33.09766,33.11827,33.13889,33.1595,33.18012,33.20073,33.22135,33.24196,33.26258,33.28319,33.30381,33.32443,33.34504,33.36566,33.38627,33.40689,33.4275,33.44812,33.46873,33.48935,33.50997,33.53058,33.5512,33.57181,33.59243,33.61304,33.63366,33.65427,33.67489,33.69551,33.71612,33.73674,33.75735,33.77797,33.79858,33.8192,33.83981,33.86043,33.88105,33.90166,33.92228,33.94289,33.96351,33.98412,34.00474,34.02535,34.04597,34.06659,34.0872,34.10782,34.12843,34.14905,34.16966,34.19028,34.21089,34.23151,34.25213,34.27274,34.29336,34.31397,34.33459,34.3552,34.37582,34.39643,34.41705,34.43766,34.45828,34.4789,34.49951,34.52013,34.54074,34.56136,34.58197,34.60259,34.6232,34.64382,34.66444,34.68505,34.70567,34.72628,34.7469,34.76751,34.78813,34.80874,34.82936,34.84998,34.87059,34.89121,34.91182,34.93244,34.95305,34.97367,34.99428,35.0149,35.03552,35.05613,35.07675,35.09736,35.11798,35.13859,35.15921,35.17982,35.20044,35.22106,35.24167,35.26229,35.2829,35.30352,35.32413,35.34475,35.36536,35.38598,35.4066,35.42721,35.44783,35.46844,35.48906,35.50967,35.53029,35.5509,35.57152,35.59213,35.61275,35.63337,35.65398,35.6746,35.69521,35.71583,35.73644,35.75706,35.77767,35.79829,35.81891,35.83952,35.86014,35.88075,35.90137,35.92198,35.9426,35.96321,35.98383,36.00445,36.02506,36.04568,36.06629,36.08691,36.10752,36.12814,36.14875,36.16937,36.18999,36.2106,36.23122,36.25183,36.27245,36.29306,36.31368,36.33429,36.35491,36.37553,36.39614,36.41676,36.43737,36.45799,36.4786,36.49922,36.51983,36.54045,36.56106,36.58168,36.6023,36.62291,36.64353,36.66414,36.68476,36.70537,36.72599,36.7466,36.76722,36.78784,36.80845,36.82907,36.84968,36.8703,36.89091,36.91153,36.93214,36.95276,36.97338,36.99399,37.01461,37.03522,37.05584,37.07645,37.09707,37.11768,37.1383,37.15892,37.17953,37.20015,37.22076,37.24138,37.26199,37.28261,37.30322,37.32384,37.34446,37.36507,37.38569,37.4063,37.42692,37.44753,37.46815,37.48876,37.50938,37.53,37.55061,37.57123,37.59184,37.61246,37.63307,37.65369,37.6743,37.69492,37.71553,37.73615,37.75677,37.77738,37.798,37.81861,37.83923,37.85984,37.88046,37.90107,37.92169,37.94231,37.96292,37.98354,38.00415,38.02477,38.04538,38.066,38.08661,38.10723,38.12785,38.14846,38.16908,38.18969,38.21031,38.23092,38.25154,38.27215,38.29277,38.31339,38.334,38.35462,38.37523,38.39585,38.41646,38.43708,38.45769,38.47831,38.49893,38.51954,38.54016,38.56077,38.58139,38.602,38.62262,38.64323,38.66385,38.68447,38.70508,38.7257,38.74631,38.76693,38.78754,38.80816,38.82877,38.84939,38.87,38.89062,38.91124,38.93185,38.95247,38.97308,38.9937,39.01431,39.03493,39.05554,39.07616,39.09678,39.11739,39.13801,39.15862,39.17924,39.19985,39.22047,39.24108,39.2617,39.28232,39.30293,39.32355,39.34416,39.36478,39.38539,39.40601,39.42662,39.44724,39.46786,39.48847,39.50909,39.5297,39.55032,39.57093,39.59155,39.61216,39.63278,39.6534,39.67401,39.69463,39.71524,39.73586,39.75647,39.77709,39.7977,39.81832,39.83894,39.85955,39.88017,39.90078,39.9214,39.94201,39.96263,39.98324,40.00386,40.02447,40.04509,40.06571,40.08632,40.10694,40.12755,40.14817,40.16878,40.1894,40.21001,40.23063,40.25125,40.27186,40.29248,40.31309,40.33371,40.35432,40.37494,40.39555,40.41617,40.43679,40.4574,40.47802,40.49863,40.51925,40.53986,40.56048,40.58109,40.60171,40.62233,40.64294,40.66356,40.68417,40.70479,40.7254,40.74602,40.76663,40.78725,40.80787,40.82848,40.8491,40.86971,40.89033,40.91094,40.93156,40.95217,40.97279,40.9934,41.01402,41.03464,41.05525,41.07587,41.09648,41.1171,41.13771,41.15833,41.17894,41.19956,41.22018,41.24079,41.26141,41.28202,41.30264,41.32325,41.34387,41.36448,41.3851,41.40572,41.42633,41.44695,41.46756,41.48818,41.50879,41.52941,41.55002,41.57064,41.59126,41.61187,41.63249,41.6531,41.67372,41.69433,41.71495,41.73556,41.75618,41.7768,41.79741,41.81803,41.83864,41.85926,41.87987,41.90049,41.9211,41.94172,41.96234,41.98295,42.00357,42.02418,42.0448,42.06541,42.08603,42.10664,42.12726,42.14787,42.16849,42.18911,42.20972,42.23034,42.25095,42.27157,42.29218,42.3128,42.33341,42.35403,42.37465,42.39526,42.41588,42.43649,42.45711,42.47772,42.49834,42.51895,42.53957,42.56019,42.5808,42.60142,42.62203,42.64265,42.66326,42.68388,42.70449,42.72511,42.74573,42.76634,42.78696,42.80757,42.82819,42.8488,42.86942,42.89003,42.91065,42.93127,42.95188,42.9725,42.99311,43.01373,43.03434,43.05496,43.07557,43.09619,43.11681,43.13742,43.15804,43.17865,43.19927,43.21988,43.2405,43.26111,43.28173,43.30234,43.32296,43.34358,43.36419,43.38481,43.40542,43.42604,43.44665,43.46727,43.48788,43.5085,43.52912,43.54973,43.57035,43.59096,43.61158,43.63219,43.65281,43.67342,43.69404,43.71466,43.73527,43.75589,43.7765,43.79712,43.81773,43.83835,43.85896,43.87958,43.9002,43.92081,43.94143,43.96204,43.98266,44.00327,44.02389,44.0445,44.06512,44.08574,44.10635,44.12697,44.14758,44.1682,44.18881,44.20943,44.23004,44.25066,44.27128,44.29189,44.31251,44.33312,44.35374,44.37435,44.39497,44.41558,44.4362,44.45681,44.47743,44.49805,44.51866,44.53928,44.55989,44.58051,44.60112,44.62174,44.64235,44.66297,44.68359,44.7042,44.72482,44.74543,44.76605,44.78666,44.80728,44.82789,44.84851,44.86913,44.88974,44.91036,44.93097,44.95159,44.9722,44.99282,45.01343,45.03405,45.05467,45.07528,45.0959,45.11651,45.13713,45.15774,45.17836,45.19897,45.21959,45.24021,45.26082,45.28144,45.30205,45.32267,45.34328,45.3639,45.38451,45.40513,45.42574,45.44636,45.46698,45.48759,45.50821,45.52882,45.54944,45.57005,45.59067,45.61128,45.6319,45.65252,45.67313,45.69375,45.71436,45.73498,45.75559,45.77621,45.79682,45.81744,45.83806,45.85867,45.87929,45.8999,45.92052,45.94113,45.96175,45.98236,46.00298,46.0236,46.04421,46.06483,46.08544,46.10606,46.12667,46.14729,46.1679,46.18852,46.20914,46.22975,46.25037,46.27098,46.2916,46.31221,46.33283,46.35344,46.37406,46.39468,46.41529,46.43591,46.45652,46.47714,46.49775,46.51837,46.53898,46.5596,46.58021,46.60083,46.62145,46.64206,46.66268,46.68329,46.70391,46.72452,46.74514,46.76575,46.78637,46.80699,46.8276,46.84822,46.86883,46.88945,46.91006,46.93068,46.95129,46.97191,46.99253,47.01314,47.03376,47.05437,47.07499,47.0956,47.11622,47.13683,47.15745,47.17807,47.19868,47.2193,47.23991,47.26053,47.28114,47.30176,47.32237,47.34299,47.36361,47.38422,47.40484,47.42545,47.44607,47.46668,47.4873,47.50791,47.52853,47.54915,47.56976,47.59038,47.61099,47.63161,47.65222,47.67284,47.69345,47.71407,47.73468,47.7553,47.77592,47.79653,47.81715,47.83776,47.85838,47.87899,47.89961,47.92022,47.94084,47.96146,47.98207,48.00269,48.0233,48.04392,48.06453,48.08515,48.10576,48.12638,48.147,48.16761,48.18823,48.20884,48.22946,48.25007,48.27069,48.2913,48.31192,48.33254,48.35315,48.37377,48.39438,48.415,48.43561,48.45623,48.47684,48.49746,48.51808,48.53869,48.55931,48.57992,48.60054,48.62115,48.64177,48.66238,48.683,48.70362,48.72423,48.74485,48.76546,48.78608,48.80669,48.82731,48.84792,48.86854,48.88915,48.90977,48.93039,48.951,48.97162,48.99223,49.01285,49.03346,49.05408,49.07469,49.09531,49.11593,49.13654,49.15716,49.17777,49.19839,49.219,49.23962,49.26023,49.28085,49.30147,49.32208,49.3427,49.36331,49.38393,49.40454,49.42516,49.44577,49.46639,49.48701,49.50762,49.52824,49.54885,49.56947,49.59008,49.6107,49.63131,49.65193,49.67255,49.69316,49.71378,49.73439,49.75501,49.77562,49.79624,49.81685,49.83747,49.85809,49.8787,49.89932,49.91993,49.94055,49.96116,49.98178,50.00239,50.02301,50.04362,50.06424,50.08486,50.10547,50.12609,50.1467,50.16732,50.18793,50.20855,50.22916,50.24978,50.2704,50.29101,50.31163,50.33224,50.35286,50.37347,50.39409,50.4147,50.43532,50.45594,50.47655,50.49717,50.51778,50.5384,50.55901,50.57963,50.60024,50.62086,50.64148,50.66209,50.68271,50.70332,50.72394,50.74455,50.76517,50.78578,50.8064,50.82702,50.84763,50.86825,50.88886,50.90948,50.93009,50.95071,50.97132,50.99194,51.01255,51.03317,51.05379,51.0744,51.09502,51.11563,51.13625,51.15686,51.17748,51.19809,51.21871,51.23933,51.25994,51.28056,51.30117,51.32179,51.3424,51.36302,51.38363,51.40425,51.42487,51.44548,51.4661,51.48671,51.50733,51.52794,51.54856,51.56917,51.58979,51.61041,51.63102,51.65164,51.67225,51.69287,51.71348,51.7341,51.75471,51.77533,51.79595,51.81656,51.83718,51.85779,51.87841,51.89902,51.91964,51.94025,51.96087,51.98149,52.0021,52.02272,52.04333,52.06395,52.08456,52.10518,52.12579,52.14641,52.16702,52.18764,52.20826,52.22887,52.24949,52.2701,52.29072,52.31133,52.33195,52.35256,52.37318,52.3938,52.41441,52.43503,52.45564,52.47626,52.49687,52.51749,52.5381,52.55872,52.57934,52.59995,52.62057,52.64118,52.6618,52.68241,52.70303,52.72364,52.74426,52.76488,52.78549,52.80611,52.82672,52.84734,52.86795,52.88857,52.90918,52.9298,52.95042,52.97103,52.99165,53.01226,53.03288,53.05349,53.07411,53.09472,53.11534,53.13596,53.15657,53.17719,53.1978,53.21842,53.23903,53.25965,53.28026,53.30088,53.32149,53.34211,53.36273,53.38334,53.40396,53.42457,53.44519,53.4658,53.48642,53.50703,53.52765,53.54827,53.56888,53.5895,53.61011,53.63073,53.65134,53.67196,53.69257,53.71319,53.73381,53.75442,53.77504,53.79565,53.81627,53.83688,53.8575,53.87811,53.89873,53.91935,53.93996,53.96058,53.98119,54.00181,54.02242,54.04304,54.06365,54.08427,54.10489,54.1255,54.14612,54.16673,54.18735,54.20796,54.22858,54.24919,54.26981,54.29043,54.31104,54.33166,54.35227,54.37289,54.3935,54.41412,54.43473,54.45535,54.47596,54.49658,54.5172,54.53781,54.55843,54.57904,54.59966,54.62027,54.64089,54.6615,54.68212,54.70274,54.72335,54.74397,54.76458,54.7852,54.80581,54.82643,54.84704,54.86766,54.88828,54.90889,54.92951,54.95012,54.97074,54.99135,55.01197,55.03258,55.0532,55.07382,55.09443,55.11505,55.13566,55.15628,55.17689,55.19751,55.21812,55.23874,55.25936,55.27997,55.30059,55.3212,55.34182,55.36243,55.38305,55.40366,55.42428,55.44489,55.46551,55.48613,55.50674,55.52736,55.54797,55.56859,55.5892,55.60982,55.63043,55.65105,55.67167,55.69228,55.7129,55.73351,55.75413,55.77474,55.79536,55.81597,55.83659,55.85721,55.87782,55.89844,55.91905,55.93967,55.96028,55.9809,56.00151,56.02213,56.04275,56.06336,56.08398,56.10459,56.12521,56.14582,56.16644,56.18705,56.20767,56.22829,56.2489,56.26952,56.29013,56.31075,56.33136,56.35198,56.37259,56.39321,56.41383,56.43444,56.45506,56.47567,56.49629,56.5169,56.53752,56.55813,56.57875,56.59936,56.61998,56.6406,56.66121,56.68183,56.70244,56.72306,56.74367,56.76429,56.7849,56.80552,56.82614,56.84675,56.86737,56.88798,56.9086,56.92921,56.94983,56.97044,56.99106,57.01168,57.03229,57.05291,57.07352,57.09414,57.11475,57.13537,57.15598,57.1766,57.19722,57.21783,57.23845,57.25906,57.27968,57.30029,57.32091,57.34152,57.36214,57.38276,57.40337,57.42399,57.4446,57.46522,57.48583,57.50645,57.52706,57.54768,57.5683,57.58891,57.60953,57.63014,57.65076,57.67137,57.69199,57.7126,57.73322,57.75383,57.77445,57.79507,57.81568,57.8363,57.85691,57.87753,57.89814,57.91876,57.93937,57.95999,57.98061,58.00122,58.02184,58.04245,58.06307,58.08368,58.1043,58.12491,58.14553,58.16615,58.18676,58.20738,58.22799,58.24861,58.26922,58.28984,58.31045,58.33107,58.35169,58.3723,58.39292,58.41353,58.43415,58.45476,58.47538,58.49599,58.51661,58.53723,58.55784,58.57846,58.59907,58.61969,58.6403,58.66092,58.68153,58.70215,58.72277,58.74338,58.764,58.78461,58.80523,58.82584,58.84646,58.86707,58.88769,58.9083,58.92892,58.94954,58.97015,58.99077,59.01138,59.032,59.05261,59.07323,59.09384,59.11446,59.13508,59.15569,59.17631,59.19692,59.21754,59.23815,59.25877,59.27938,59.3],"re":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7e-05,9e-05,0.00012,0.00018,0.0003,0.00058,0.00162,0.01409,0.01491,0.00165,0.00059,0.0003,0.00018,0.00012,9e-05,7e-05,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7e-05,9e-05,0.00012,0.00018,0.0003,0.00059,0.00165,0.01491,0.01409,0.00162,0.00058,0.0003,0.00018,0.00012,9e-05,7e-05,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]},"peaks":{"values":[{"id":"qm-13C-1","x":18.1,"y":0.014907541793585284,"width":0.0025,"originalX":18.1},{"id":"qm-13C-2","x":58.3,"y":0.014907541793585284,"width":0.0025,"originalX":58.3}],"options":{}},"ranges":{"values":[{"id":"qm-range-13C-1","from":18.075000000000003,"to":18.125,"absolute":1,"integration":1,"signals":[{"id":"qm-signal-13C-1","kind":"signal","multiplicity":"s","delta":18.1,"js":[],"nbAtoms":1}]},{"id":"qm-range-13C-2","from":58.275,"to":58.324999999999996,"absolute":1,"integration":1,"signals":[{"id":"qm-signal-13C-2","kind":"signal","multiplicity":"s","delta":58.3,"js":[],"nbAtoms":1}]}],"options":{"sum":2,"isSumConstant":true,"sumAuto":false}},"info":{"isFid":false,"isComplex":false,"dimension":1,"originFrequency":400.0,"baseFrequency":400.0,"pulseSequence":"","solvent":"CDCl3","isFt":true,"name":"a2cd0cd3-e941-41c3-869c-2a22a4dbb3e2","nucleus":"13C","predictionShifts":[{"atom":1,"prediction":18.1,"status":"accept"},{"atom":2,"prediction":58.3,"status":"accept"}]}}]}} \ No newline at end of file diff --git a/src/events/types.ts b/src/events/types.ts index 4227d51..585c380 100644 --- a/src/events/types.ts +++ b/src/events/types.ts @@ -35,6 +35,17 @@ type ActionRequest = | { type: 'selectTab'; params: { tab: string }; + } + | { + type: 'highlight'; + /** + * Ids passed to NMRium's `highlightedIds`, for example peak, range or + * signal ids. Replaces the previous host highlight. + */ + params: { ids: string[] }; + } + | { + type: 'clearHighlight'; }; interface ActionResponse { diff --git a/test-e2e/core.test.ts b/test-e2e/core.test.ts index 59c4d79..e4b985f 100644 --- a/test-e2e/core.test.ts +++ b/test-e2e/core.test.ts @@ -3,6 +3,8 @@ import { expect, test } from '@playwright/test'; import NmriumWrapperPage from './NmriumWrapperPage.js'; import triplinineData from './data/Triplinine.json' with { type: 'json' }; +const HIGHLIGHTED_FILL = '#ff6f0057'; + async function testLoadStructure(nmrium: NmriumWrapperPage) { // Open the "Chemical structures" panel. await nmrium.page.click('div >> text=Chemical structures'); @@ -124,3 +126,136 @@ test('should load test-data.nmrium file', async ({ await nmrium.checkSpectraTabsIsVisible(['1H', '13C', '1H,1H', '1H,13C']) }); + +async function postActionRequest( + nmrium: NmriumWrapperPage, + data: Record, +) { + await nmrium.page.evaluate((data) => { + window.postMessage({ type: 'nmr-wrapper:action-request', data }, '*'); + }, data); +} + +async function loadQmSignals(nmrium: NmriumWrapperPage) { + await nmrium.page.click('text=Test load QM signals'); + await nmrium.checkSpectraTabsIsVisible(['1H', '13C']); + await expect(nmrium.page.getByTestId('range').first()).toBeVisible(); +} + +// The tab that opens after loading differs between browsers. +async function show1HTab(nmrium: NmriumWrapperPage) { + await postActionRequest(nmrium, { + type: 'selectTab', + params: { tab: '1H' }, + }); + await expect( + nmrium.page.locator('.tab-list-active').getByText('1H', { exact: true }), + ).toBeVisible(); +} + +function highlightedRanges(nmrium: NmriumWrapperPage) { + return nmrium.page.locator( + `[data-testid="range"] rect[fill="${HIGHLIGHTED_FILL}"]`, + ); +} + +function highlightedPeaks(nmrium: NmriumWrapperPage) { + return nmrium.page.locator('g.peaks path[stroke-width="3px"]'); +} + +test('should highlight a peak by id via nmr-wrapper:action-request', async ({ + page, +}) => { + const nmrium = await NmriumWrapperPage.create(page); + await loadQmSignals(nmrium); + await show1HTab(nmrium); + + await postActionRequest(nmrium, { + type: 'highlight', + params: { ids: ['qm-1H-9'] }, + }); + + await expect(highlightedPeaks(nmrium)).toHaveCount(1); + await expect(highlightedRanges(nmrium)).toHaveCount(0); + + await postActionRequest(nmrium, { type: 'clearHighlight' }); + + await expect(highlightedPeaks(nmrium)).toHaveCount(0); +}); + +test('should highlight a signal with its range and peak by ids', async ({ + page, +}) => { + const nmrium = await NmriumWrapperPage.create(page); + await loadQmSignals(nmrium); + await show1HTab(nmrium); + + await postActionRequest(nmrium, { + type: 'highlight', + params: { ids: ['qm-signal-1H-7-8', 'qm-range-1H-7-8', 'qm-1H-7-8'] }, + }); + + await expect(highlightedRanges(nmrium)).toHaveCount(1); + await expect(highlightedPeaks(nmrium)).toHaveCount(1); + + await postActionRequest(nmrium, { type: 'clearHighlight' }); + + await expect(highlightedRanges(nmrium)).toHaveCount(0); + await expect(highlightedPeaks(nmrium)).toHaveCount(0); +}); + +test('should keep the highlight when selectTab is sent right before it', async ({ + page, +}) => { + const nmrium = await NmriumWrapperPage.create(page); + await loadQmSignals(nmrium); + await show1HTab(nmrium); + + await postActionRequest(nmrium, { + type: 'selectTab', + params: { tab: '13C' }, + }); + await postActionRequest(nmrium, { + type: 'highlight', + params: { ids: ['qm-signal-13C-2', 'qm-range-13C-2', 'qm-13C-2'] }, + }); + + await expect( + nmrium.page.locator('.tab-list-active').getByText('13C'), + ).toBeVisible(); + await expect(highlightedRanges(nmrium)).toHaveCount(1); + await expect(highlightedPeaks(nmrium)).toHaveCount(1); +}); + +test('should emit nmr-wrapper:error when highlight ids are invalid', async ({ + page, +}) => { + const nmrium = await NmriumWrapperPage.create(page); + await loadQmSignals(nmrium); + await show1HTab(nmrium); + + const errorMessage = page.evaluate( + () => + new Promise((resolve) => { + window.addEventListener('message', (event) => { + if (event.data?.type === 'nmr-wrapper:error') { + resolve(String(event.data.data?.message ?? event.data.data)); + } + }); + }), + ); + + await postActionRequest(nmrium, { + type: 'highlight', + params: { ids: 'qm-1H-9' }, + }); + + expect(await errorMessage).toContain('params.ids'); + + await postActionRequest(nmrium, { + type: 'highlight', + params: { ids: ['qm-1H-9'] }, + }); + + await expect(highlightedPeaks(nmrium)).toHaveCount(1); +});