@niagads/igv 0.2.1 → 0.2.2

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.
@@ -1,2 +1,2 @@
1
- import{__rest as e}from"tslib";import t from"./IGVBrowser.js";import r,{useState as o,useEffect as a,useMemo as n}from"react";import c from"@niagads/table";import{resolveTrackIds as i,findTrackConfigs as s}from"./utils/track_config.js";import{Skeleton as l}from"@niagads/ui";import{handleUpdateBrowserTracks as m}from"./utils/browser.js";import d from"./styles/TrackSelectorSection.module.css.js";function p(p){var{selectorTable:u,trackConfig:f,defaultTracks:g}=p,S=e(p,["selectorTable","trackConfig","defaultTracks"]);const[k,b]=o(g?i(g):[]),[w,j]=o(null);a(()=>{b(g?i(g):[])},[f]);const T=n(()=>{if(u)return u;const e=f.map(({id:e,name:t,description:r,metadata:o})=>Object.assign({id:e,name:t,description:r},o||{})),t=Array.from(e.reduce((e,t)=>(Object.keys(t).forEach(t=>e.add(t)),e),new Set)),r=["id","name","description"],o=t.filter(e=>!r.includes(String(e))).map(String).sort(),a=[...r.filter(e=>t.includes(e)),...o].map(e=>({id:e,header:e.replace(/_/g," ").replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase())})),n=e.map(e=>{const r={};for(const o of t){const t=String(o);r[t]=t in e?e[t]:null}return r}),c=a.length>8?a.slice(0,8).map(e=>e.id):void 0;return{id:"track-selector",columns:a,data:n,options:c?{defaultColumns:c}:{}}},[u,f]);a(()=>{if(w){const e=s(f,k);m(w,e)}},[k,w]);const{onBrowserLoad:C,onTrackRemoved:E}=S,h=e(S,["onBrowserLoad","onTrackRemoved"]);return r.createElement(r.Fragment,null,r.createElement(t,Object.assign({trackConfig:f,onBrowserLoad:j,onTrackRemoved:e=>{b(t=>t.filter(t=>t!==e))}},h)),r.createElement("div",{className:d.trackSelectorSection},r.createElement("div",{className:d.trackSelectorSectionTitle},"Select Tracks"),w?r.createElement(c,{id:T.id,columns:T.columns,data:T.data,rowSelection:k,onRowSelectionChange:e=>{b(Object.keys(e))},options:Object.assign(Object.assign({},T.options||{}),{enableRowSelect:!0,rowSelectColumn:{header:"",description:"Select tracks to display in the Genome Browser",enableMultiSelect:!0,rowUniqueKey:"id"},disableExport:!0,disableColumnFilters:!0})}):r.createElement(l,{type:"table"})))}export{p as default};
1
+ import{__rest as e}from"tslib";import t from"./IGVBrowser.js";import r,{useState as o,useEffect as a,useMemo as n}from"react";import c from"@niagads/table";import{resolveTrackIds as i,findTrackConfigs as s}from"./utils/track_config.js";import{Skeleton as l}from"@niagads/ui";import{handleUpdateBrowserTracks as m}from"./utils/browser.js";import d from"./styles/TrackSelectorSection.module.css.js";function p(p){var{selectorTable:f,trackConfig:u,defaultTracks:g}=p,S=e(p,["selectorTable","trackConfig","defaultTracks"]);const[k,b]=o(g?i(g):[]),[w,j]=o(null);a(()=>{b(g?i(g):[])},[u]);const T=n(()=>{if(f)return f;const e=u.map(({id:e,name:t,description:r,metadata:o})=>Object.assign({id:e,name:t,description:r},o||{})),t=Array.from(e.reduce((e,t)=>(Object.keys(t).forEach(t=>e.add(t)),e),new Set)),r=["id","name","description"],o=t.filter(e=>!r.includes(String(e))).map(String).sort(),a=[...r.filter(e=>t.includes(e)),...o].map(e=>({id:e,header:e.replace(/_/g," ").replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase())})),n=e.map(e=>{const r={};for(const o of t){const t=String(o);r[t]=t in e?e[t]:null}return r}),c=a.length>8?a.slice(0,8).map(e=>e.id):void 0;return{id:"track-selector",columns:a,data:n,options:c?{defaultColumns:c}:{}}},[f,u]);a(()=>{if(w){const e=s(u,k);m(w,e)}},[k,w]);const{onBrowserLoad:C,onTrackRemoved:E}=S,h=e(S,["onBrowserLoad","onTrackRemoved"]);return r.createElement(r.Fragment,null,r.createElement(t,Object.assign({trackConfig:u,onBrowserLoad:j,onTrackRemoved:e=>{b(t=>t.filter(t=>t!==e))}},h)),r.createElement("div",{className:d.trackSelectorSection},r.createElement("div",{className:d.trackSelectorSectionTitle},"Select Tracks"),w?r.createElement(c,{id:T.id,columns:T.columns,data:T.data,rowSelection:k,onRowSelectionChange:e=>{b(Object.keys(e))},options:Object.assign(Object.assign({},T.options||{}),{enableRowSelect:!0,rowSelectOpts:{header:"",description:"Select tracks to display in the Genome Browser",enableMultiSelect:!0,rowUniqueKey:"id"},enableExport:!1,enableColumnFilters:!1})}):r.createElement(l,{type:"table"})))}export{p as default};
2
2
  //# sourceMappingURL=IGVBrowserWithSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IGVBrowserWithSelector.js","sources":["../src/IGVBrowserWithSelector.tsx"],"sourcesContent":[null],"names":["IGVBrowserWithSelector","_a","selectorTable","trackConfig","defaultTracks","restBrowserProps","__rest","selectedTracks","setSelectedTracks","useState","resolveTrackIds","browser","setBrowser","useEffect","trackSelectorTable","useMemo","data","map","id","name","description","metadata","uniqueFieldNames","Array","from","reduce","set","obj","Object","keys","forEach","k","add","Set","priority","rest","filter","includes","String","sort","columns","header","replace","txt","charAt","toUpperCase","slice","toLowerCase","normalizedData","row","filled","field","key","defaultColumns","length","col","undefined","options","selectedTrackConfigs","findTrackConfigs","handleUpdateBrowserTracks","onBrowserLoad","onTrackRemoved","filteredBrowserProps","React","createElement","Fragment","IGVBrowser","assign","trackId","tracks","className","styles","trackSelectorSection","trackSelectorSectionTitle","Table","rowSelection","onRowSelectionChange","state","enableRowSelect","rowSelectColumn","enableMultiSelect","rowUniqueKey","disableExport","disableColumnFilters","Skeleton","type"],"mappings":"6YAiBc,SAAUA,EAAuBC,OAAAC,cAC3CA,EAAaC,YACbA,EAAWC,cACXA,KACGC,EAAgBC,EAAAL,EAJwB,CAAA,gBAAA,cAAA,kBAM3C,MAAOM,EAAgBC,GAAqBC,EAAmBL,EAAgBM,EAAgBN,GAAiB,KACzGO,EAASC,GAAcH,EAAc,MAM5CI,EAAU,KAENL,EAAkBJ,EAAgBM,EAAgBN,GAAiB,KACpE,CAACD,IAIJ,MAAMW,EAAqBC,EAAQ,KAC/B,GAAIb,EAAe,OAAOA,EAG1B,MAAMc,EAAOb,EAAYc,IAAI,EAAGC,KAAIC,OAAMC,cAAaC,6BACnDH,KACAC,OACAC,eACIC,GAAsB,CAAA,IAKxBC,EAAmBC,MAAMC,KAC3BR,EAAKS,OAAO,CAACC,EAAKC,KACdC,OAAOC,KAAKF,GAAKG,QAASC,GAAML,EAAIM,IAAID,IACjCL,GACR,IAAIO,MAILC,EAAW,CAAC,KAAM,OAAQ,eAC1BC,EAAOb,EACRc,OAAQL,IAAOG,EAASG,SAASC,OAAOP,KACxCd,IAAIqB,QACJC,OAICC,EAHgB,IAAIN,EAASE,OAAQL,GAAMT,EAAiBe,SAASN,OAAQI,GAGrDlB,IAAKC,IAAE,CACjCA,KACAuB,OAAQvB,EACHwB,QAAQ,KAAM,KACdA,QAAQ,SAAWC,GAAgBA,EAAIC,OAAO,GAAGC,cAAgBF,EAAIG,MAAM,GAAGC,kBAIjFC,EAAiBhC,EAAKC,IAAKgC,IAC7B,MAAMC,EAA8B,CAAA,EACpC,IAAK,MAAMC,KAAS7B,EAAkB,CAClC,MAAM8B,EAAMd,OAAOa,GACnBD,EAAOE,GAAOA,KAAOH,EAAMA,EAAIG,GAAO,IAC1C,CACA,OAAOF,IAILG,EAAiBb,EAAQc,OAAS,EAAId,EAAQM,MAAM,EAAG,GAAG7B,IAAKsC,GAAQA,EAAIrC,SAAMsC,EAEvF,MAAO,CACHtC,GAAI,iBACJsB,QAASA,EACTxB,KAAMgC,EACNS,QAASJ,EAAiB,CAAEA,eAAgBA,GAAmB,CAAA,IAEpE,CAACnD,EAAeC,IAEnBU,EAAU,KACN,GAAIF,EAAS,CACT,MAAM+C,EAAuBC,EAAiBxD,EAAcI,GAC5DqD,EAA0BjD,EAAS+C,EACvC,GACD,CAACnD,EAAgBI,IAEpB,MAIMkD,cAAEA,EAAaC,eAAEA,GAA4CzD,EAAzB0D,EAAoBzD,EAAKD,EAA7D,CAAA,gBAAA,mBACN,OACI2D,EAAAC,cAAAD,EAAAE,SAAA,KACIF,EAAAC,cAACE,EAAUvC,OAAAwC,OAAA,CACPjE,YAAaA,EACb0D,cAAejD,EACfkD,eArF2BO,IACnC7D,EAAmB8D,GAAWA,EAAOlC,OAAQlB,GAAOA,IAAOmD,MAqF/CN,IAGRC,EAAAC,cAAA,MAAA,CAAKM,UAAWC,EAAOC,sBACnBT,EAAAC,cAAA,MAAA,CAAKM,UAAWC,EAAOE,2BAAyB,iBAE9C/D,EAGEqD,EAAAC,cAACU,EAAK,CACFzD,GAAIJ,EAAmBI,GACvBsB,QAAS1B,EAAmB0B,QAC5BxB,KAAMF,EAAmBE,KACzB4D,aAAcrE,EACdsE,qBAzBgBC,IAChCtE,EAAkBoB,OAAOC,KAAKiD,KAyBdrB,QAAO7B,OAAAwC,OAAAxC,OAAAwC,OAAA,CAAA,EACCtD,EAAmB2C,SAAW,CAAA,GAAG,CACrCsB,iBAAiB,EACjBC,gBAAiB,CACbvC,OAAQ,GACRrB,YAAa,iDACb6D,mBAAmB,EACnBC,aAAc,MAElBC,eAAe,EACfC,sBAAsB,MAlB9BpB,EAAAC,cAACoB,EAAQ,CAACC,KAAK,WAyBnC"}
1
+ {"version":3,"file":"IGVBrowserWithSelector.js","sources":["../src/IGVBrowserWithSelector.tsx"],"sourcesContent":[null],"names":["IGVBrowserWithSelector","_a","selectorTable","trackConfig","defaultTracks","restBrowserProps","__rest","selectedTracks","setSelectedTracks","useState","resolveTrackIds","browser","setBrowser","useEffect","trackSelectorTable","useMemo","data","map","id","name","description","metadata","uniqueFieldNames","Array","from","reduce","set","obj","Object","keys","forEach","k","add","Set","priority","rest","filter","includes","String","sort","columns","header","replace","txt","charAt","toUpperCase","slice","toLowerCase","normalizedData","row","filled","field","key","defaultColumns","length","col","undefined","options","selectedTrackConfigs","findTrackConfigs","handleUpdateBrowserTracks","onBrowserLoad","onTrackRemoved","filteredBrowserProps","React","createElement","Fragment","IGVBrowser","assign","trackId","tracks","className","styles","trackSelectorSection","trackSelectorSectionTitle","Table","rowSelection","onRowSelectionChange","state","enableRowSelect","rowSelectOpts","enableMultiSelect","rowUniqueKey","enableExport","enableColumnFilters","Skeleton","type"],"mappings":"6YAiBc,SAAUA,EAAuBC,OAAAC,cAC3CA,EAAaC,YACbA,EAAWC,cACXA,KACGC,EAAgBC,EAAAL,EAJwB,CAAA,gBAAA,cAAA,kBAM3C,MAAOM,EAAgBC,GAAqBC,EAAmBL,EAAgBM,EAAgBN,GAAiB,KACzGO,EAASC,GAAcH,EAAc,MAM5CI,EAAU,KAENL,EAAkBJ,EAAgBM,EAAgBN,GAAiB,KACpE,CAACD,IAIJ,MAAMW,EAAqBC,EAAQ,KAC/B,GAAIb,EAAe,OAAOA,EAG1B,MAAMc,EAAOb,EAAYc,IAAI,EAAGC,KAAIC,OAAMC,cAAaC,6BACnDH,KACAC,OACAC,eACIC,GAAsB,CAAA,IAKxBC,EAAmBC,MAAMC,KAC3BR,EAAKS,OAAO,CAACC,EAAKC,KACdC,OAAOC,KAAKF,GAAKG,QAASC,GAAML,EAAIM,IAAID,IACjCL,GACR,IAAIO,MAILC,EAAW,CAAC,KAAM,OAAQ,eAC1BC,EAAOb,EACRc,OAAQL,IAAOG,EAASG,SAASC,OAAOP,KACxCd,IAAIqB,QACJC,OAICC,EAHgB,IAAIN,EAASE,OAAQL,GAAMT,EAAiBe,SAASN,OAAQI,GAGrDlB,IAAKC,IAAE,CACjCA,KACAuB,OAAQvB,EACHwB,QAAQ,KAAM,KACdA,QAAQ,SAAWC,GAAgBA,EAAIC,OAAO,GAAGC,cAAgBF,EAAIG,MAAM,GAAGC,kBAIjFC,EAAiBhC,EAAKC,IAAKgC,IAC7B,MAAMC,EAA8B,CAAA,EACpC,IAAK,MAAMC,KAAS7B,EAAkB,CAClC,MAAM8B,EAAMd,OAAOa,GACnBD,EAAOE,GAAOA,KAAOH,EAAMA,EAAIG,GAAO,IAC1C,CACA,OAAOF,IAILG,EAAiBb,EAAQc,OAAS,EAAId,EAAQM,MAAM,EAAG,GAAG7B,IAAKsC,GAAQA,EAAIrC,SAAMsC,EAEvF,MAAO,CACHtC,GAAI,iBACJsB,QAASA,EACTxB,KAAMgC,EACNS,QAASJ,EAAiB,CAAEA,eAAgBA,GAAmB,CAAA,IAEpE,CAACnD,EAAeC,IAEnBU,EAAU,KACN,GAAIF,EAAS,CACT,MAAM+C,EAAuBC,EAAiBxD,EAAcI,GAC5DqD,EAA0BjD,EAAS+C,EACvC,GACD,CAACnD,EAAgBI,IAEpB,MAIMkD,cAAEA,EAAaC,eAAEA,GAA4CzD,EAAzB0D,EAAoBzD,EAAKD,EAA7D,CAAA,gBAAA,mBACN,OACI2D,EAAAC,cAAAD,EAAAE,SAAA,KACIF,EAAAC,cAACE,EAAUvC,OAAAwC,OAAA,CACPjE,YAAaA,EACb0D,cAAejD,EACfkD,eArF2BO,IACnC7D,EAAmB8D,GAAWA,EAAOlC,OAAQlB,GAAOA,IAAOmD,MAqF/CN,IAGRC,EAAAC,cAAA,MAAA,CAAKM,UAAWC,EAAOC,sBACnBT,EAAAC,cAAA,MAAA,CAAKM,UAAWC,EAAOE,2BAAyB,iBAE9C/D,EAGEqD,EAAAC,cAACU,EAAK,CACFzD,GAAIJ,EAAmBI,GACvBsB,QAAS1B,EAAmB0B,QAC5BxB,KAAMF,EAAmBE,KACzB4D,aAAcrE,EACdsE,qBAzBgBC,IAChCtE,EAAkBoB,OAAOC,KAAKiD,KAyBdrB,QAAO7B,OAAAwC,OAAAxC,OAAAwC,OAAA,CAAA,EACCtD,EAAmB2C,SAAW,CAAA,GAAG,CACrCsB,iBAAiB,EACjBC,cAAe,CACXvC,OAAQ,GACRrB,YAAa,iDACb6D,mBAAmB,EACnBC,aAAc,MAElBC,cAAc,EACdC,qBAAqB,MAlB7BpB,EAAAC,cAACoB,EAAQ,CAACC,KAAK,WAyBnC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { TableProps } from '@niagads/table';
3
- export { TableProps as SelectorTableProps } from '@niagads/table';
2
+ import { TableConfig } from '@niagads/table';
3
+ export { TableConfig as SelectorTableProps } from '@niagads/table';
4
4
 
5
5
  interface IGVBrowserTrack {
6
6
  id: string;
@@ -51,7 +51,7 @@ interface IGVBrowserProps {
51
51
  declare const IGVBrowser: React.FC<IGVBrowserProps>;
52
52
 
53
53
  interface IGVBrowserWithSelectorProps extends IGVBrowserProps {
54
- selectorTable?: TableProps;
54
+ selectorTable?: TableConfig;
55
55
  trackConfig: IGVBrowserTrack[];
56
56
  }
57
57
  declare function IGVBrowserWithSelector({ selectorTable, trackConfig, defaultTracks, ...restBrowserProps }: IGVBrowserWithSelectorProps): React.JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@niagads/igv",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "NIAGADS IGV Browser Component",
5
5
  "repository": {
6
6
  "type": "git",
@@ -11,9 +11,9 @@
11
11
  "build": "rollup -c"
12
12
  },
13
13
  "dependencies": {
14
- "@niagads/common": "^0.2.1",
15
- "@niagads/table": "^0.2.1",
16
- "@niagads/ui": "^0.2.1",
14
+ "@niagads/common": "^0.2.2",
15
+ "@niagads/table": "^0.2.2",
16
+ "@niagads/ui": "^0.2.2",
17
17
  "igv": "github:NIAGADS/igv.js#NIAGADS-01102025",
18
18
  "jquery": "^3.7.1",
19
19
  "tslib": "^2"
@@ -45,5 +45,5 @@
45
45
  "types": "./dist/index.d.ts"
46
46
  }
47
47
  },
48
- "gitHead": "1b4b46ea64e779b861797e1a25523e1020e41d93"
48
+ "gitHead": "14bd07bcf74fb4a551c1326d767169710e702953"
49
49
  }