@graphty/graph-io 0.3.48 → 0.3.50
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/dist/chunks/{approximations-C2riR4NT.js → approximations-BRXsll0T.js} +2 -2
- package/dist/chunks/{approximations-C2riR4NT.js.map → approximations-BRXsll0T.js.map} +1 -1
- package/dist/chunks/bends-BGXjv_U4.js +129 -0
- package/dist/chunks/bends-BGXjv_U4.js.map +1 -0
- package/dist/chunks/{block-Cu22ewuS.js → block-yl0f_qLO.js} +931 -164
- package/dist/chunks/block-yl0f_qLO.js.map +1 -0
- package/dist/chunks/choose-CczZJaX_.js +717 -0
- package/dist/chunks/choose-CczZJaX_.js.map +1 -0
- package/dist/chunks/{codes-CV_Bhcyi.js → codes-BE2xir2k.js} +6 -2
- package/dist/chunks/codes-BE2xir2k.js.map +1 -0
- package/dist/chunks/{constants-D0LqcsLJ.js → constants-CKkYLPtt.js} +2 -2
- package/dist/chunks/{constants-D0LqcsLJ.js.map → constants-CKkYLPtt.js.map} +1 -1
- package/dist/chunks/{context-cgmmOxZ2.js → context-DizmppHy.js} +5 -4
- package/dist/chunks/{context-cgmmOxZ2.js.map → context-DizmppHy.js.map} +1 -1
- package/dist/chunks/{convert-BcQ8_jMo.js → convert-Ct2zelbQ.js} +7 -2
- package/dist/chunks/convert-Ct2zelbQ.js.map +1 -0
- package/dist/chunks/{credentials-BiQsnMTb.js → credentials-CmvJXYeH.js} +67 -16
- package/dist/chunks/credentials-CmvJXYeH.js.map +1 -0
- package/dist/chunks/{cx-export-BEeF6ymo.js → cx-export-Bt6NoqTQ.js} +3 -3
- package/dist/chunks/{cx-export-BEeF6ymo.js.map → cx-export-Bt6NoqTQ.js.map} +1 -1
- package/dist/chunks/descriptor-B28U25x4.js +60 -0
- package/dist/chunks/descriptor-B28U25x4.js.map +1 -0
- package/dist/chunks/{descriptor-BJ-W0Jd-.js → descriptor-Dhez_Cew.js} +11 -2
- package/dist/chunks/descriptor-Dhez_Cew.js.map +1 -0
- package/dist/chunks/{emit-CD8xnY8s.js → emit-7Jkpg0yd.js} +1788 -133
- package/dist/chunks/emit-7Jkpg0yd.js.map +1 -0
- package/dist/chunks/{escape-DH2Egt-l.js → escape-CuCIzNMB.js} +8 -8
- package/dist/chunks/{escape-DH2Egt-l.js.map → escape-CuCIzNMB.js.map} +1 -1
- package/dist/chunks/{export-CZ7VRm4I.js → export-Cha4dRFz.js} +45 -387
- package/dist/chunks/export-Cha4dRFz.js.map +1 -0
- package/dist/chunks/{exporter-ChjL5fmP.js → exporter-1Ajud15J.js} +9 -8
- package/dist/chunks/{exporter-ChjL5fmP.js.map → exporter-1Ajud15J.js.map} +1 -1
- package/dist/chunks/{exporter-BIdaoIgh.js → exporter-B6yvL3wy.js} +7 -7
- package/dist/chunks/{exporter-BIdaoIgh.js.map → exporter-B6yvL3wy.js.map} +1 -1
- package/dist/chunks/{exporter-Dcw7Ldtq.js → exporter-BP6otMO6.js} +6 -6
- package/dist/chunks/{exporter-Dcw7Ldtq.js.map → exporter-BP6otMO6.js.map} +1 -1
- package/dist/chunks/{exporter-DtVU80Fa.js → exporter-CA5q8ROP.js} +9 -8
- package/dist/chunks/{exporter-DtVU80Fa.js.map → exporter-CA5q8ROP.js.map} +1 -1
- package/dist/chunks/{exporter-bxxjOrDZ.js → exporter-CQQZFJ2v.js} +1284 -156
- package/dist/chunks/exporter-CQQZFJ2v.js.map +1 -0
- package/dist/chunks/format-BXiAb-1h.js +408 -0
- package/dist/chunks/format-BXiAb-1h.js.map +1 -0
- package/dist/chunks/{generic-CP6YD34u.js → generic-Dc21MAdg.js} +387 -31
- package/dist/chunks/generic-Dc21MAdg.js.map +1 -0
- package/dist/chunks/{importer-B87_fmVx.js → importer-C6NVpCXp.js} +327 -84
- package/dist/chunks/importer-C6NVpCXp.js.map +1 -0
- package/dist/chunks/{importer-DPZDN40-.js → importer-CKFe4q54.js} +25 -17
- package/dist/chunks/importer-CKFe4q54.js.map +1 -0
- package/dist/chunks/{importer-Bji2MeWr.js → importer-CKbUbsJA.js} +13 -10
- package/dist/chunks/{importer-Bji2MeWr.js.map → importer-CKbUbsJA.js.map} +1 -1
- package/dist/chunks/{importer-CB_zV5_L.js → importer-ClCsdgTJ.js} +208 -1104
- package/dist/chunks/importer-ClCsdgTJ.js.map +1 -0
- package/dist/chunks/{importer-e3huMZbm.js → importer-CyVZTrf0.js} +14 -10
- package/dist/chunks/importer-CyVZTrf0.js.map +1 -0
- package/dist/chunks/{importer-CVT-JyDE.js → importer-DgG4v1Ms.js} +1537 -355
- package/dist/chunks/importer-DgG4v1Ms.js.map +1 -0
- package/dist/chunks/{importer-Cyy6UseH.js → importer-asFUrIsj.js} +66 -13
- package/dist/chunks/importer-asFUrIsj.js.map +1 -0
- package/dist/chunks/{input-Ccg9I22A.js → input-CAxt_aV-.js} +4 -4
- package/dist/chunks/{input-Ccg9I22A.js.map → input-CAxt_aV-.js.map} +1 -1
- package/dist/chunks/{json-elements-By172SVq.js → json-elements-Cq76WjnZ.js} +4 -4
- package/dist/chunks/{json-elements-By172SVq.js.map → json-elements-Cq76WjnZ.js.map} +1 -1
- package/dist/chunks/{lexicon-u2SI5xcx.js → lexicon-IVRq2Uoo.js} +282 -74
- package/dist/chunks/lexicon-IVRq2Uoo.js.map +1 -0
- package/dist/chunks/{ontology-export-BwgMyuF0.js → ontology-export-OMo91mb0.js} +4 -4
- package/dist/chunks/{ontology-export-BwgMyuF0.js.map → ontology-export-OMo91mb0.js.map} +1 -1
- package/dist/chunks/{records-Cgvxz-Vx.js → records-NJiYvekn.js} +2 -2
- package/dist/chunks/{records-Cgvxz-Vx.js.map → records-NJiYvekn.js.map} +1 -1
- package/dist/chunks/{report-CgdsL9Hb.js → report-CwMfYa9J.js} +23 -23
- package/dist/chunks/{report-CgdsL9Hb.js.map → report-CwMfYa9J.js.map} +1 -1
- package/dist/chunks/round-trip-Cy3_SHRZ.js +79 -0
- package/dist/chunks/round-trip-Cy3_SHRZ.js.map +1 -0
- package/dist/chunks/{sigv4-LkAzsLAu.js → sigv4-BXwVbza3.js} +5 -5
- package/dist/chunks/sigv4-BXwVbza3.js.map +1 -0
- package/dist/chunks/{styles-CaABMoO1.js → styles-CAVmBLgp.js} +1237 -138
- package/dist/chunks/styles-CAVmBLgp.js.map +1 -0
- package/dist/chunks/styles-CPczw1Jz.js +1928 -0
- package/dist/chunks/styles-CPczw1Jz.js.map +1 -0
- package/dist/chunks/styles-boK6Ln54.js +2847 -0
- package/dist/chunks/styles-boK6Ln54.js.map +1 -0
- package/dist/chunks/{styles-yed-Cs1nmrjn.js → styles-yed-XeFBQ6VS.js} +506 -175
- package/dist/chunks/styles-yed-XeFBQ6VS.js.map +1 -0
- package/dist/chunks/{text-BuKQVMz2.js → text-ystE2bYi.js} +2 -2
- package/dist/chunks/{text-BuKQVMz2.js.map → text-ystE2bYi.js.map} +1 -1
- package/dist/csv.js +7 -7
- package/dist/cx.js +2 -2
- package/dist/cx2.js +2 -2
- package/dist/cys.js +1 -1
- package/dist/dot.js +8 -4
- package/dist/dot.js.map +1 -1
- package/dist/gexf.js +42 -12
- package/dist/gexf.js.map +1 -1
- package/dist/gml.js +848 -194
- package/dist/gml.js.map +1 -1
- package/dist/graph-io.js +230 -193
- package/dist/graph-io.js.map +1 -1
- package/dist/graphml.js +3 -3
- package/dist/json.js +3 -2
- package/dist/neo4j.js +6 -6
- package/dist/obo.js +1 -1
- package/dist/pajek.js +1 -1
- package/dist/positions.js +45 -3
- package/dist/positions.js.map +1 -1
- package/dist/sources-cypher.js +141 -23
- package/dist/sources-cypher.js.map +1 -1
- package/dist/sources-ndex.js +2 -2
- package/dist/sources-rest.js +32 -6
- package/dist/sources-rest.js.map +1 -1
- package/dist/sources-sparql.d.ts +1 -0
- package/dist/sources-sparql.js +439 -0
- package/dist/sources-sparql.js.map +1 -0
- package/dist/src/formats/cx/importer.d.ts.map +1 -1
- package/dist/src/formats/cx/importer.js +5 -1
- package/dist/src/formats/cx/importer.js.map +1 -1
- package/dist/src/formats/cx/styles.d.ts +24 -1
- package/dist/src/formats/cx/styles.d.ts.map +1 -1
- package/dist/src/formats/cx/styles.js +117 -11
- package/dist/src/formats/cx/styles.js.map +1 -1
- package/dist/src/formats/cx2/importer.d.ts.map +1 -1
- package/dist/src/formats/cx2/importer.js +1 -0
- package/dist/src/formats/cx2/importer.js.map +1 -1
- package/dist/src/formats/cx2/styles.d.ts.map +1 -1
- package/dist/src/formats/cx2/styles.js +3 -1
- package/dist/src/formats/cx2/styles.js.map +1 -1
- package/dist/src/formats/cys/importer.d.ts.map +1 -1
- package/dist/src/formats/cys/importer.js +1 -0
- package/dist/src/formats/cys/importer.js.map +1 -1
- package/dist/src/formats/cys/styles.d.ts +2 -0
- package/dist/src/formats/cys/styles.d.ts.map +1 -1
- package/dist/src/formats/cys/styles.js +15 -7
- package/dist/src/formats/cys/styles.js.map +1 -1
- package/dist/src/formats/dot/drawing.d.ts +98 -0
- package/dist/src/formats/dot/drawing.d.ts.map +1 -0
- package/dist/src/formats/dot/drawing.js +734 -0
- package/dist/src/formats/dot/drawing.js.map +1 -0
- package/dist/src/formats/dot/exporter.d.ts.map +1 -1
- package/dist/src/formats/dot/exporter.js +34 -2
- package/dist/src/formats/dot/exporter.js.map +1 -1
- package/dist/src/formats/dot/importer.d.ts +6 -1
- package/dist/src/formats/dot/importer.d.ts.map +1 -1
- package/dist/src/formats/dot/importer.js +170 -33
- package/dist/src/formats/dot/importer.js.map +1 -1
- package/dist/src/formats/dot/index.d.ts +3 -1
- package/dist/src/formats/dot/index.d.ts.map +1 -1
- package/dist/src/formats/dot/index.js +2 -1
- package/dist/src/formats/dot/index.js.map +1 -1
- package/dist/src/formats/dot/label-places.d.ts +41 -0
- package/dist/src/formats/dot/label-places.d.ts.map +1 -0
- package/dist/src/formats/dot/label-places.js +185 -0
- package/dist/src/formats/dot/label-places.js.map +1 -0
- package/dist/src/formats/dot/names.d.ts +13 -0
- package/dist/src/formats/dot/names.d.ts.map +1 -1
- package/dist/src/formats/dot/names.js +13 -0
- package/dist/src/formats/dot/names.js.map +1 -1
- package/dist/src/formats/dot/record.d.ts +50 -0
- package/dist/src/formats/dot/record.d.ts.map +1 -0
- package/dist/src/formats/dot/record.js +275 -0
- package/dist/src/formats/dot/record.js.map +1 -0
- package/dist/src/formats/dot/styles.d.ts +72 -2
- package/dist/src/formats/dot/styles.d.ts.map +1 -1
- package/dist/src/formats/dot/styles.js +1500 -119
- package/dist/src/formats/dot/styles.js.map +1 -1
- package/dist/src/formats/gexf/dialog-metrics.d.ts +15 -0
- package/dist/src/formats/gexf/dialog-metrics.d.ts.map +1 -0
- package/dist/src/formats/gexf/dialog-metrics.js +59 -0
- package/dist/src/formats/gexf/dialog-metrics.js.map +1 -0
- package/dist/src/formats/gexf/importer.d.ts +7 -0
- package/dist/src/formats/gexf/importer.d.ts.map +1 -1
- package/dist/src/formats/gexf/importer.js +41 -5
- package/dist/src/formats/gexf/importer.js.map +1 -1
- package/dist/src/formats/gexf/preview.d.ts +77 -0
- package/dist/src/formats/gexf/preview.d.ts.map +1 -0
- package/dist/src/formats/gexf/preview.js +191 -0
- package/dist/src/formats/gexf/preview.js.map +1 -0
- package/dist/src/formats/gexf/schema.d.ts.map +1 -1
- package/dist/src/formats/gexf/schema.js +2 -1
- package/dist/src/formats/gexf/schema.js.map +1 -1
- package/dist/src/formats/gexf/styles.d.ts +58 -31
- package/dist/src/formats/gexf/styles.d.ts.map +1 -1
- package/dist/src/formats/gexf/styles.js +848 -225
- package/dist/src/formats/gexf/styles.js.map +1 -1
- package/dist/src/formats/gml/importer.d.ts +5 -2
- package/dist/src/formats/gml/importer.d.ts.map +1 -1
- package/dist/src/formats/gml/importer.js +258 -71
- package/dist/src/formats/gml/importer.js.map +1 -1
- package/dist/src/formats/gml/index.d.ts +1 -1
- package/dist/src/formats/gml/index.d.ts.map +1 -1
- package/dist/src/formats/gml/index.js +1 -1
- package/dist/src/formats/gml/index.js.map +1 -1
- package/dist/src/formats/gml/positions.d.ts +7 -0
- package/dist/src/formats/gml/positions.d.ts.map +1 -1
- package/dist/src/formats/gml/positions.js +29 -7
- package/dist/src/formats/gml/positions.js.map +1 -1
- package/dist/src/formats/gml/styles.d.ts.map +1 -1
- package/dist/src/formats/gml/styles.js +754 -102
- package/dist/src/formats/gml/styles.js.map +1 -1
- package/dist/src/formats/graphml/styles-plain.d.ts.map +1 -1
- package/dist/src/formats/graphml/styles-plain.js +6 -10
- package/dist/src/formats/graphml/styles-plain.js.map +1 -1
- package/dist/src/formats/graphml/styles-yed.d.ts +21 -15
- package/dist/src/formats/graphml/styles-yed.d.ts.map +1 -1
- package/dist/src/formats/graphml/styles-yed.js +695 -164
- package/dist/src/formats/graphml/styles-yed.js.map +1 -1
- package/dist/src/formats/graphml/styles-yfiles3.d.ts +1 -1
- package/dist/src/formats/graphml/styles-yfiles3.d.ts.map +1 -1
- package/dist/src/formats/graphml/styles-yfiles3.js +431 -64
- package/dist/src/formats/graphml/styles-yfiles3.js.map +1 -1
- package/dist/src/formats/graphml/yfiles.d.ts +3 -3
- package/dist/src/formats/graphml/yfiles.d.ts.map +1 -1
- package/dist/src/formats/graphml/yfiles.js +16 -6
- package/dist/src/formats/graphml/yfiles.js.map +1 -1
- package/dist/src/formats/json/dialect.d.ts +3 -2
- package/dist/src/formats/json/dialect.d.ts.map +1 -1
- package/dist/src/formats/json/dialect.js +39 -5
- package/dist/src/formats/json/dialect.js.map +1 -1
- package/dist/src/formats/json/importer.d.ts +13 -2
- package/dist/src/formats/json/importer.d.ts.map +1 -1
- package/dist/src/formats/json/importer.js +42 -6
- package/dist/src/formats/json/importer.js.map +1 -1
- package/dist/src/formats/json/index.d.ts +1 -1
- package/dist/src/formats/json/index.d.ts.map +1 -1
- package/dist/src/formats/json/index.js +1 -1
- package/dist/src/formats/json/index.js.map +1 -1
- package/dist/src/formats/json/positions.d.ts +5 -2
- package/dist/src/formats/json/positions.d.ts.map +1 -1
- package/dist/src/formats/json/positions.js +20 -4
- package/dist/src/formats/json/positions.js.map +1 -1
- package/dist/src/formats/json/styles.d.ts +12 -1
- package/dist/src/formats/json/styles.d.ts.map +1 -1
- package/dist/src/formats/json/styles.js +1843 -136
- package/dist/src/formats/json/styles.js.map +1 -1
- package/dist/src/formats/pajek/draw.d.ts +104 -0
- package/dist/src/formats/pajek/draw.d.ts.map +1 -0
- package/dist/src/formats/pajek/draw.js +382 -0
- package/dist/src/formats/pajek/draw.js.map +1 -0
- package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
- package/dist/src/formats/pajek/exporter.js +70 -51
- package/dist/src/formats/pajek/exporter.js.map +1 -1
- package/dist/src/formats/pajek/importer.d.ts +9 -0
- package/dist/src/formats/pajek/importer.d.ts.map +1 -1
- package/dist/src/formats/pajek/importer.js +233 -102
- package/dist/src/formats/pajek/importer.js.map +1 -1
- package/dist/src/formats/pajek/index.d.ts +1 -0
- package/dist/src/formats/pajek/index.d.ts.map +1 -1
- package/dist/src/formats/pajek/index.js.map +1 -1
- package/dist/src/formats/pajek/styles.d.ts +15 -7
- package/dist/src/formats/pajek/styles.d.ts.map +1 -1
- package/dist/src/formats/pajek/styles.js +1395 -114
- package/dist/src/formats/pajek/styles.js.map +1 -1
- package/dist/src/formats/pajek/syntax.d.ts +10 -1
- package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
- package/dist/src/formats/pajek/syntax.js +26 -2
- package/dist/src/formats/pajek/syntax.js.map +1 -1
- package/dist/src/formats/xgmml/emit.d.ts +1 -0
- package/dist/src/formats/xgmml/emit.d.ts.map +1 -1
- package/dist/src/formats/xgmml/emit.js +65 -5
- package/dist/src/formats/xgmml/emit.js.map +1 -1
- package/dist/src/formats/xgmml/styles.d.ts +23 -3
- package/dist/src/formats/xgmml/styles.d.ts.map +1 -1
- package/dist/src/formats/xgmml/styles.js +277 -60
- package/dist/src/formats/xgmml/styles.js.map +1 -1
- package/dist/src/index.d.ts +6 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/positions/convert.d.ts.map +1 -1
- package/dist/src/positions/convert.js +11 -1
- package/dist/src/positions/convert.js.map +1 -1
- package/dist/src/positions/extract.d.ts.map +1 -1
- package/dist/src/positions/extract.js +53 -1
- package/dist/src/positions/extract.js.map +1 -1
- package/dist/src/positions/index.d.ts +1 -1
- package/dist/src/positions/index.d.ts.map +1 -1
- package/dist/src/positions/types.d.ts +59 -0
- package/dist/src/positions/types.d.ts.map +1 -1
- package/dist/src/sources/builtins.d.ts +1 -1
- package/dist/src/sources/builtins.d.ts.map +1 -1
- package/dist/src/sources/builtins.js +8 -2
- package/dist/src/sources/builtins.js.map +1 -1
- package/dist/src/sources/context.d.ts.map +1 -1
- package/dist/src/sources/context.js +1 -0
- package/dist/src/sources/context.js.map +1 -1
- package/dist/src/sources/credentials.d.ts +50 -1
- package/dist/src/sources/credentials.d.ts.map +1 -1
- package/dist/src/sources/credentials.js +69 -0
- package/dist/src/sources/credentials.js.map +1 -1
- package/dist/src/sources/cypher/descriptor.d.ts.map +1 -1
- package/dist/src/sources/cypher/descriptor.js +5 -0
- package/dist/src/sources/cypher/descriptor.js.map +1 -1
- package/dist/src/sources/cypher/index.d.ts.map +1 -1
- package/dist/src/sources/cypher/index.js +125 -18
- package/dist/src/sources/cypher/index.js.map +1 -1
- package/dist/src/sources/cypher/params.d.ts +1 -1
- package/dist/src/sources/cypher/params.d.ts.map +1 -1
- package/dist/src/sources/cypher/query-builder.d.ts +17 -0
- package/dist/src/sources/cypher/query-builder.d.ts.map +1 -1
- package/dist/src/sources/cypher/query-builder.js +31 -0
- package/dist/src/sources/cypher/query-builder.js.map +1 -1
- package/dist/src/sources/ids.d.ts +5 -0
- package/dist/src/sources/ids.d.ts.map +1 -1
- package/dist/src/sources/ids.js +5 -0
- package/dist/src/sources/ids.js.map +1 -1
- package/dist/src/sources/params.d.ts +3 -0
- package/dist/src/sources/params.d.ts.map +1 -1
- package/dist/src/sources/rest/descriptor.d.ts.map +1 -1
- package/dist/src/sources/rest/descriptor.js +9 -0
- package/dist/src/sources/rest/descriptor.js.map +1 -1
- package/dist/src/sources/rest/openalex.d.ts +4 -2
- package/dist/src/sources/rest/openalex.d.ts.map +1 -1
- package/dist/src/sources/rest/openalex.js +4 -2
- package/dist/src/sources/rest/openalex.js.map +1 -1
- package/dist/src/sources/rest/source.d.ts.map +1 -1
- package/dist/src/sources/rest/source.js +38 -0
- package/dist/src/sources/rest/source.js.map +1 -1
- package/dist/src/sources/run.d.ts +2 -0
- package/dist/src/sources/run.d.ts.map +1 -1
- package/dist/src/sources/run.js +30 -3
- package/dist/src/sources/run.js.map +1 -1
- package/dist/src/sources/sigv4.d.ts +5 -3
- package/dist/src/sources/sigv4.d.ts.map +1 -1
- package/dist/src/sources/sigv4.js +6 -4
- package/dist/src/sources/sigv4.js.map +1 -1
- package/dist/src/sources/sparql/descriptor.d.ts +10 -0
- package/dist/src/sources/sparql/descriptor.d.ts.map +1 -0
- package/dist/src/sources/sparql/descriptor.js +64 -0
- package/dist/src/sources/sparql/descriptor.js.map +1 -0
- package/dist/src/sources/sparql/index.d.ts +28 -0
- package/dist/src/sources/sparql/index.d.ts.map +1 -0
- package/dist/src/sources/sparql/index.js +327 -0
- package/dist/src/sources/sparql/index.js.map +1 -0
- package/dist/src/sources/sparql/ntriples.d.ts +69 -0
- package/dist/src/sources/sparql/ntriples.d.ts.map +1 -0
- package/dist/src/sources/sparql/ntriples.js +180 -0
- package/dist/src/sources/sparql/ntriples.js.map +1 -0
- package/dist/src/sources/sparql/params.d.ts +27 -0
- package/dist/src/sources/sparql/params.d.ts.map +1 -0
- package/dist/src/sources/sparql/params.js +5 -0
- package/dist/src/sources/sparql/params.js.map +1 -0
- package/dist/src/sources/sparql/query.d.ts +73 -0
- package/dist/src/sources/sparql/query.d.ts.map +1 -0
- package/dist/src/sources/sparql/query.js +164 -0
- package/dist/src/sources/sparql/query.js.map +1 -0
- package/dist/src/sources/types.d.ts +60 -0
- package/dist/src/sources/types.d.ts.map +1 -1
- package/dist/src/styles/annotations.d.ts +61 -5
- package/dist/src/styles/annotations.d.ts.map +1 -1
- package/dist/src/styles/annotations.js +130 -22
- package/dist/src/styles/annotations.js.map +1 -1
- package/dist/src/styles/canon/bends.d.ts +46 -0
- package/dist/src/styles/canon/bends.d.ts.map +1 -1
- package/dist/src/styles/canon/bends.js +123 -0
- package/dist/src/styles/canon/bends.js.map +1 -1
- package/dist/src/styles/canon/color-tables.d.ts +6 -1
- package/dist/src/styles/canon/color-tables.d.ts.map +1 -1
- package/dist/src/styles/canon/color-tables.js +10 -4
- package/dist/src/styles/canon/color-tables.js.map +1 -1
- package/dist/src/styles/canon/color.d.ts +3 -1
- package/dist/src/styles/canon/color.d.ts.map +1 -1
- package/dist/src/styles/canon/color.js +103 -3
- package/dist/src/styles/canon/color.js.map +1 -1
- package/dist/src/styles/canon/enums.d.ts +2 -2
- package/dist/src/styles/canon/enums.d.ts.map +1 -1
- package/dist/src/styles/canon/enums.js +89 -7
- package/dist/src/styles/canon/enums.js.map +1 -1
- package/dist/src/styles/canon/graphviz.d.ts +12 -3
- package/dist/src/styles/canon/graphviz.d.ts.map +1 -1
- package/dist/src/styles/canon/graphviz.js +57 -9
- package/dist/src/styles/canon/graphviz.js.map +1 -1
- package/dist/src/styles/canon/number.d.ts +8 -0
- package/dist/src/styles/canon/number.d.ts.map +1 -1
- package/dist/src/styles/canon/number.js +18 -0
- package/dist/src/styles/canon/number.js.map +1 -1
- package/dist/src/styles/canon/text.d.ts +29 -2
- package/dist/src/styles/canon/text.d.ts.map +1 -1
- package/dist/src/styles/canon/text.js +156 -16
- package/dist/src/styles/canon/text.js.map +1 -1
- package/dist/src/styles/codes.d.ts +2 -0
- package/dist/src/styles/codes.d.ts.map +1 -1
- package/dist/src/styles/codes.js +2 -0
- package/dist/src/styles/codes.js.map +1 -1
- package/dist/src/styles/cyjs/cascade.d.ts.map +1 -1
- package/dist/src/styles/cyjs/cascade.js +1139 -79
- package/dist/src/styles/cyjs/cascade.js.map +1 -1
- package/dist/src/styles/cyjs/defaults-table.d.ts.map +1 -1
- package/dist/src/styles/cyjs/defaults-table.js +4 -0
- package/dist/src/styles/cyjs/defaults-table.js.map +1 -1
- package/dist/src/styles/cyjs/emit.d.ts.map +1 -1
- package/dist/src/styles/cyjs/emit.js +232 -10
- package/dist/src/styles/cyjs/emit.js.map +1 -1
- package/dist/src/styles/cyjs/face.d.ts +20 -0
- package/dist/src/styles/cyjs/face.d.ts.map +1 -0
- package/dist/src/styles/cyjs/face.js +332 -0
- package/dist/src/styles/cyjs/face.js.map +1 -0
- package/dist/src/styles/cyjs/mappers.d.ts +44 -1
- package/dist/src/styles/cyjs/mappers.d.ts.map +1 -1
- package/dist/src/styles/cyjs/mappers.js +475 -26
- package/dist/src/styles/cyjs/mappers.js.map +1 -1
- package/dist/src/styles/cyjs/routes.d.ts +53 -0
- package/dist/src/styles/cyjs/routes.d.ts.map +1 -0
- package/dist/src/styles/cyjs/routes.js +360 -0
- package/dist/src/styles/cyjs/routes.js.map +1 -0
- package/dist/src/styles/cytoscape/charts.d.ts +23 -0
- package/dist/src/styles/cytoscape/charts.d.ts.map +1 -0
- package/dist/src/styles/cytoscape/charts.js +560 -0
- package/dist/src/styles/cytoscape/charts.js.map +1 -0
- package/dist/src/styles/cytoscape/emit.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/emit.js +156 -48
- package/dist/src/styles/cytoscape/emit.js.map +1 -1
- package/dist/src/styles/cytoscape/lexicon.d.ts +91 -3
- package/dist/src/styles/cytoscape/lexicon.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/lexicon.js +387 -77
- package/dist/src/styles/cytoscape/lexicon.js.map +1 -1
- package/dist/src/styles/cytoscape/mappings.d.ts +30 -0
- package/dist/src/styles/cytoscape/mappings.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/mappings.js +92 -0
- package/dist/src/styles/cytoscape/mappings.js.map +1 -1
- package/dist/src/styles/cytoscape/resolve.d.ts +42 -2
- package/dist/src/styles/cytoscape/resolve.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/resolve.js +623 -17
- package/dist/src/styles/cytoscape/resolve.js.map +1 -1
- package/dist/src/styles/defaults.d.ts +46 -26
- package/dist/src/styles/defaults.d.ts.map +1 -1
- package/dist/src/styles/defaults.js +308 -71
- package/dist/src/styles/defaults.js.map +1 -1
- package/dist/src/styles/index.d.ts +4 -3
- package/dist/src/styles/index.d.ts.map +1 -1
- package/dist/src/styles/index.js +3 -2
- package/dist/src/styles/index.js.map +1 -1
- package/dist/src/styles/internal.d.ts +1 -0
- package/dist/src/styles/internal.d.ts.map +1 -1
- package/dist/src/styles/internal.js +1 -0
- package/dist/src/styles/internal.js.map +1 -1
- package/dist/src/styles/io/generic.d.ts.map +1 -1
- package/dist/src/styles/io/generic.js +56 -16
- package/dist/src/styles/io/generic.js.map +1 -1
- package/dist/src/styles/io/round-trip.d.ts +56 -0
- package/dist/src/styles/io/round-trip.d.ts.map +1 -0
- package/dist/src/styles/io/round-trip.js +138 -0
- package/dist/src/styles/io/round-trip.js.map +1 -0
- package/dist/src/styles/io/writer.d.ts.map +1 -1
- package/dist/src/styles/io/writer.js +6 -1
- package/dist/src/styles/io/writer.js.map +1 -1
- package/dist/src/styles/notes.d.ts.map +1 -1
- package/dist/src/styles/notes.js +1 -0
- package/dist/src/styles/notes.js.map +1 -1
- package/dist/src/styles/plan/features.d.ts +1 -1
- package/dist/src/styles/plan/features.d.ts.map +1 -1
- package/dist/src/styles/plan/features.js +22 -2
- package/dist/src/styles/plan/features.js.map +1 -1
- package/dist/src/styles/plan/index.d.ts +1 -1
- package/dist/src/styles/plan/index.d.ts.map +1 -1
- package/dist/src/styles/plan/index.js +1 -1
- package/dist/src/styles/plan/index.js.map +1 -1
- package/dist/src/styles/plan/plan.d.ts.map +1 -1
- package/dist/src/styles/plan/plan.js +61 -4
- package/dist/src/styles/plan/plan.js.map +1 -1
- package/dist/src/styles/plan/resolve.d.ts +11 -0
- package/dist/src/styles/plan/resolve.d.ts.map +1 -1
- package/dist/src/styles/plan/resolve.js +40 -4
- package/dist/src/styles/plan/resolve.js.map +1 -1
- package/dist/src/styles/slots.d.ts +14 -0
- package/dist/src/styles/slots.d.ts.map +1 -0
- package/dist/src/styles/slots.js +20 -0
- package/dist/src/styles/slots.js.map +1 -0
- package/dist/src/styles/types.d.ts +687 -6
- package/dist/src/styles/types.d.ts.map +1 -1
- package/dist/src/styles/vocabulary.d.ts +3 -2
- package/dist/src/styles/vocabulary.d.ts.map +1 -1
- package/dist/src/styles/vocabulary.js +224 -0
- package/dist/src/styles/vocabulary.js.map +1 -1
- package/dist/styles.js +30 -239
- package/dist/styles.js.map +1 -1
- package/dist/xgmml.js +3 -3
- package/package.json +27 -7
- package/src/formats/cx/importer.ts +6 -1
- package/src/formats/cx/styles.ts +143 -9
- package/src/formats/cx2/importer.ts +1 -0
- package/src/formats/cx2/styles.ts +3 -1
- package/src/formats/cys/importer.ts +1 -0
- package/src/formats/cys/styles.ts +27 -5
- package/src/formats/dot/drawing.ts +799 -0
- package/src/formats/dot/exporter.ts +37 -1
- package/src/formats/dot/importer.ts +192 -36
- package/src/formats/dot/index.ts +3 -1
- package/src/formats/dot/label-places.ts +241 -0
- package/src/formats/dot/names.ts +15 -0
- package/src/formats/dot/record.ts +336 -0
- package/src/formats/dot/styles.ts +1702 -149
- package/src/formats/gexf/dialog-metrics.ts +61 -0
- package/src/formats/gexf/importer.ts +50 -5
- package/src/formats/gexf/preview.ts +217 -0
- package/src/formats/gexf/schema.ts +2 -1
- package/src/formats/gexf/styles.ts +1099 -245
- package/src/formats/gml/importer.ts +291 -76
- package/src/formats/gml/index.ts +1 -1
- package/src/formats/gml/positions.ts +29 -7
- package/src/formats/gml/styles.ts +852 -110
- package/src/formats/graphml/styles-plain.ts +6 -15
- package/src/formats/graphml/styles-yed.ts +765 -176
- package/src/formats/graphml/styles-yfiles3.ts +487 -63
- package/src/formats/graphml/yfiles.ts +19 -6
- package/src/formats/json/dialect.ts +41 -5
- package/src/formats/json/importer.ts +59 -7
- package/src/formats/json/index.ts +1 -0
- package/src/formats/json/positions.ts +22 -5
- package/src/formats/json/styles.ts +2123 -171
- package/src/formats/pajek/draw.ts +469 -0
- package/src/formats/pajek/exporter.ts +81 -49
- package/src/formats/pajek/importer.ts +278 -103
- package/src/formats/pajek/index.ts +1 -0
- package/src/formats/pajek/styles.ts +1506 -133
- package/src/formats/pajek/syntax.ts +27 -2
- package/src/formats/xgmml/emit.ts +73 -5
- package/src/formats/xgmml/styles.ts +330 -71
- package/src/index.ts +12 -1
- package/src/positions/convert.ts +12 -1
- package/src/positions/extract.ts +55 -1
- package/src/positions/index.ts +1 -0
- package/src/positions/types.ts +60 -0
- package/src/sources/builtins.ts +8 -1
- package/src/sources/context.ts +1 -0
- package/src/sources/credentials.ts +90 -1
- package/src/sources/cypher/descriptor.ts +7 -1
- package/src/sources/cypher/index.ts +149 -18
- package/src/sources/cypher/params.ts +1 -1
- package/src/sources/cypher/query-builder.ts +33 -0
- package/src/sources/ids.ts +6 -0
- package/src/sources/params.ts +3 -0
- package/src/sources/rest/descriptor.ts +9 -0
- package/src/sources/rest/openalex.ts +4 -2
- package/src/sources/rest/source.ts +41 -0
- package/src/sources/run.ts +35 -3
- package/src/sources/sigv4.ts +6 -4
- package/src/sources/sparql/descriptor.ts +67 -0
- package/src/sources/sparql/index.ts +371 -0
- package/src/sources/sparql/ntriples.ts +219 -0
- package/src/sources/sparql/params.ts +28 -0
- package/src/sources/sparql/query.ts +216 -0
- package/src/sources/types.ts +68 -0
- package/src/styles/annotations.ts +201 -27
- package/src/styles/canon/bends.ts +137 -0
- package/src/styles/canon/color-tables.ts +10 -4
- package/src/styles/canon/color.ts +105 -3
- package/src/styles/canon/enums.ts +107 -8
- package/src/styles/canon/graphviz.ts +71 -10
- package/src/styles/canon/number.ts +19 -0
- package/src/styles/canon/text.ts +187 -16
- package/src/styles/codes.ts +2 -0
- package/src/styles/cyjs/cascade.ts +1303 -84
- package/src/styles/cyjs/defaults-table.ts +4 -0
- package/src/styles/cyjs/emit.ts +268 -14
- package/src/styles/cyjs/face.ts +372 -0
- package/src/styles/cyjs/mappers.ts +506 -27
- package/src/styles/cyjs/routes.ts +432 -0
- package/src/styles/cytoscape/charts.ts +684 -0
- package/src/styles/cytoscape/emit.ts +170 -48
- package/src/styles/cytoscape/lexicon.ts +431 -78
- package/src/styles/cytoscape/mappings.ts +108 -0
- package/src/styles/cytoscape/resolve.ts +741 -17
- package/src/styles/defaults.ts +417 -108
- package/src/styles/index.ts +5 -0
- package/src/styles/internal.ts +1 -0
- package/src/styles/io/generic.ts +79 -23
- package/src/styles/io/round-trip.ts +202 -0
- package/src/styles/io/writer.ts +6 -1
- package/src/styles/notes.ts +1 -0
- package/src/styles/plan/features.ts +23 -2
- package/src/styles/plan/index.ts +1 -1
- package/src/styles/plan/plan.ts +69 -5
- package/src/styles/plan/resolve.ts +47 -4
- package/src/styles/slots.ts +25 -0
- package/src/styles/types.ts +698 -5
- package/src/styles/vocabulary.ts +232 -2
- package/dist/chunks/block-Cu22ewuS.js.map +0 -1
- package/dist/chunks/choose-Cdx6Enl2.js +0 -57
- package/dist/chunks/choose-Cdx6Enl2.js.map +0 -1
- package/dist/chunks/codes-CV_Bhcyi.js.map +0 -1
- package/dist/chunks/convert-BcQ8_jMo.js.map +0 -1
- package/dist/chunks/credentials-BiQsnMTb.js.map +0 -1
- package/dist/chunks/descriptor-BJ-W0Jd-.js.map +0 -1
- package/dist/chunks/emit-CD8xnY8s.js.map +0 -1
- package/dist/chunks/export-CZ7VRm4I.js.map +0 -1
- package/dist/chunks/exporter-bxxjOrDZ.js.map +0 -1
- package/dist/chunks/format-BMS-1Nxb.js +0 -64
- package/dist/chunks/format-BMS-1Nxb.js.map +0 -1
- package/dist/chunks/generic-CP6YD34u.js.map +0 -1
- package/dist/chunks/importer-B87_fmVx.js.map +0 -1
- package/dist/chunks/importer-CB_zV5_L.js.map +0 -1
- package/dist/chunks/importer-CVT-JyDE.js.map +0 -1
- package/dist/chunks/importer-Cyy6UseH.js.map +0 -1
- package/dist/chunks/importer-DPZDN40-.js.map +0 -1
- package/dist/chunks/importer-e3huMZbm.js.map +0 -1
- package/dist/chunks/lexicon-u2SI5xcx.js.map +0 -1
- package/dist/chunks/sigv4-LkAzsLAu.js.map +0 -1
- package/dist/chunks/styles-CaABMoO1.js.map +0 -1
- package/dist/chunks/styles-P_gmFAOi.js +0 -770
- package/dist/chunks/styles-P_gmFAOi.js.map +0 -1
- package/dist/chunks/styles-yed-Cs1nmrjn.js.map +0 -1
- package/dist/chunks/writer-DvHTl36J.js +0 -449
- package/dist/chunks/writer-DvHTl36J.js.map +0 -1
|
@@ -0,0 +1,560 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cytoscape desktop's charts (`NODE_CUSTOMGRAPHICS_1` .. `_9` holding `org.cytoscape.PieChart:{...}`,
|
|
3
|
+
* `org.cytoscape.RingChart:{...}`, `BarChart`, `LineChart`, `BoxChart` or `HeatMapChart`), read per node from the
|
|
4
|
+
* node's own data as the neutral `pie*` properties (pie and ring) and `chart*` properties (the others)
|
|
5
|
+
* (https://manual.cytoscape.org/en/stable/Styles.html#using-graphics-in-styles).
|
|
6
|
+
*
|
|
7
|
+
* As Cytoscape 3.10.5 draws them (measured from its own SVG export): each slice is its data column's share of the
|
|
8
|
+
* node's values, the slices run counter-clockwise from `cy_startAngle` degrees counter-clockwise from 3 o'clock,
|
|
9
|
+
* the disc is 0.9 of the node across (of `NODE_CUSTOMGRAPHICS_SIZE_<slot>` with `nodeCustomGraphicsSizeSync` off),
|
|
10
|
+
* and a ring's hole is `cy_holeSize` (default 0.4) of its radius. The same pie
|
|
11
|
+
* drawn clockwise is its slices in reverse order from where the last one ends.
|
|
12
|
+
*/
|
|
13
|
+
import { num6 } from "../canon/number.js";
|
|
14
|
+
/** How far across the node Cytoscape draws a pie, measured from its SVG export. */
|
|
15
|
+
const CHART_ACROSS = 0.9;
|
|
16
|
+
/** A ring chart's hole when its options name none (Cytoscape's `RingChart` default). */
|
|
17
|
+
const RING_HOLE = 0.4;
|
|
18
|
+
/** The custom graphics slots, in the order Cytoscape stacks them. */
|
|
19
|
+
const SLOTS = Array.from({ length: 9 }, (_, k) => `NODE_CUSTOMGRAPHICS_${String(k + 1)}`);
|
|
20
|
+
/** A Cytoscape chart class name, without its package. */
|
|
21
|
+
const CHART_CLASS = /^org\.cytoscape\.(PieChart|RingChart|BarChart|LineChart|BoxChart|HeatMapChart)$/;
|
|
22
|
+
/**
|
|
23
|
+
* The chart a custom graphics value holds, or null for anything else.
|
|
24
|
+
* @param raw - the value
|
|
25
|
+
* @returns the chart's kind and options
|
|
26
|
+
*/
|
|
27
|
+
function chartOf(raw) {
|
|
28
|
+
// CX2 writes the chart as an object, the desktop, CX and sessions as `<class>:<options as JSON>`
|
|
29
|
+
if (typeof raw === "object" && raw !== null && !Array.isArray(raw)) {
|
|
30
|
+
const o = raw;
|
|
31
|
+
const kind = CHART_CLASS.exec(typeof o.name === "string" ? o.name : "")?.[1];
|
|
32
|
+
return kind !== undefined && typeof o.properties === "object" && o.properties !== null
|
|
33
|
+
? { kind, ring: kind === "RingChart", options: o.properties }
|
|
34
|
+
: null;
|
|
35
|
+
}
|
|
36
|
+
if (typeof raw !== "string") {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
const m = /^(org\.cytoscape\.\w+):(\{.*\})\s*$/s.exec(raw.trim());
|
|
40
|
+
const kind = m === null ? undefined : CHART_CLASS.exec(m[1])?.[1];
|
|
41
|
+
if (m === null || kind === undefined) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
try {
|
|
45
|
+
const options = JSON.parse(m[2]);
|
|
46
|
+
return typeof options === "object" && options !== null
|
|
47
|
+
? { kind, ring: kind === "RingChart", options: options }
|
|
48
|
+
: null;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** Where each of Cytoscape's anchors is on a box, as fractions of its half width and half height, y down. */
|
|
55
|
+
const ANCHORS = {
|
|
56
|
+
C: [0, 0],
|
|
57
|
+
N: [0, -1],
|
|
58
|
+
NE: [1, -1],
|
|
59
|
+
E: [1, 0],
|
|
60
|
+
SE: [1, 1],
|
|
61
|
+
S: [0, 1],
|
|
62
|
+
SW: [-1, 1],
|
|
63
|
+
W: [-1, 0],
|
|
64
|
+
NW: [-1, -1],
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* A custom graphic's position: `NODE_CUSTOMGRAPHICS_POSITION_<slot>` as the desktop writes it
|
|
68
|
+
* (`<node anchor>,<graphic anchor>,<justification>,<x offset>,<y offset>`) or as CX2 does (an object of
|
|
69
|
+
* `ENTITY_ANCHOR`, `GRAPHICS_ANCHOR`, `MARGIN_X`, `MARGIN_Y`).
|
|
70
|
+
* @param raw - the value
|
|
71
|
+
* @returns the anchors and offsets, or null when it does not read
|
|
72
|
+
*/
|
|
73
|
+
function positionOf(raw) {
|
|
74
|
+
let parts;
|
|
75
|
+
if (typeof raw === "string") {
|
|
76
|
+
const p = raw.split(",");
|
|
77
|
+
parts = [p[0], p[1], p[3], p[4]];
|
|
78
|
+
}
|
|
79
|
+
else if (typeof raw === "object" && raw !== null) {
|
|
80
|
+
const o = raw;
|
|
81
|
+
parts = [o.ENTITY_ANCHOR, o.GRAPHICS_ANCHOR, o.MARGIN_X, o.MARGIN_Y];
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
const anchor = (v) => typeof v === "string" ? ANCHORS[v.trim().toUpperCase()] : undefined;
|
|
87
|
+
const [node, chart] = [anchor(parts[0]), anchor(parts[1])];
|
|
88
|
+
const [x, y] = [Number(parts[2] ?? 0), Number(parts[3] ?? 0)];
|
|
89
|
+
return node === undefined || chart === undefined
|
|
90
|
+
? null
|
|
91
|
+
: { node, chart, x: Number.isFinite(x) ? x : 0, y: Number.isFinite(y) ? y : 0 };
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* A node's values for a chart's data columns: one per column, or the items of a single list column.
|
|
95
|
+
* @param columns - the chart's data columns
|
|
96
|
+
* @param value - reads the node's value of a column
|
|
97
|
+
* @returns the values, NaN where one is not a number
|
|
98
|
+
*/
|
|
99
|
+
function valuesOf(columns, value) {
|
|
100
|
+
const first = columns.length === 1 ? value(columns[0]) : undefined;
|
|
101
|
+
const raw = Array.isArray(first) ? first : columns.map((c) => value(c));
|
|
102
|
+
return raw.map((v) => (typeof v === "number" ? v : Number(v)));
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Sets each node's `pie*` properties from the first pie or ring chart among its custom graphics.
|
|
106
|
+
* @param out - the node values per property, changed in place
|
|
107
|
+
* @param n - the node count
|
|
108
|
+
* @param graphicOf - a node's resolved value of a custom graphics slot
|
|
109
|
+
* @param value - a node's value of a data column
|
|
110
|
+
* @param sizeSync - whether charts are fitted to their node (`nodeCustomGraphicsSizeSync`, true by default)
|
|
111
|
+
*/
|
|
112
|
+
export function readCytoscapeCharts(out, n, graphicOf, value, sizeSync) {
|
|
113
|
+
const col = (property) => {
|
|
114
|
+
const existing = out[property];
|
|
115
|
+
if (existing !== undefined) {
|
|
116
|
+
return existing;
|
|
117
|
+
}
|
|
118
|
+
const fresh = new Array(n).fill(null);
|
|
119
|
+
out[property] = fresh;
|
|
120
|
+
return fresh;
|
|
121
|
+
};
|
|
122
|
+
for (let i = 0; i < n; i++) {
|
|
123
|
+
const slot = SLOTS.findIndex((vp) => chartOf(graphicOf(vp, i)) !== null);
|
|
124
|
+
const chart = slot < 0 ? null : chartOf(graphicOf(SLOTS[slot], i));
|
|
125
|
+
if (chart === null) {
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
const [w, h] = [out.width?.[i], out.height?.[i]];
|
|
129
|
+
chartOnNode(chart, {
|
|
130
|
+
put: (property, v) => {
|
|
131
|
+
col(property)[i] = v;
|
|
132
|
+
},
|
|
133
|
+
get: (property) => out[property]?.[i],
|
|
134
|
+
graphic: (name) => graphicOf(`${name}_${String(slot + 1)}`, i),
|
|
135
|
+
value: (column) => value(column, i),
|
|
136
|
+
w: typeof w === "number" ? w : null,
|
|
137
|
+
h: typeof h === "number" ? h : null,
|
|
138
|
+
}, sizeSync);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* A node's shorter side, when its width and height are known.
|
|
143
|
+
* @param node - the node
|
|
144
|
+
* @returns the side, or null
|
|
145
|
+
*/
|
|
146
|
+
function shorterSide(node) {
|
|
147
|
+
return node.w !== null && node.h !== null ? Math.min(node.w, node.h) : null;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Sets a node's `pie*` or `chart*` properties from its chart.
|
|
151
|
+
* @param chart - the chart
|
|
152
|
+
* @param chart.kind - its class
|
|
153
|
+
* @param chart.ring - whether it is a ring
|
|
154
|
+
* @param chart.options - its options
|
|
155
|
+
* @param node - the node
|
|
156
|
+
* @param sizeSync - whether charts are fitted to their node
|
|
157
|
+
*/
|
|
158
|
+
function chartOnNode(chart, node, sizeSync) {
|
|
159
|
+
const { options } = chart;
|
|
160
|
+
const colors = Array.isArray(options.cy_colors) ? options.cy_colors.map(String) : [];
|
|
161
|
+
const columns = Array.isArray(options.cy_dataColumns) ? options.cy_dataColumns.map(String) : [];
|
|
162
|
+
const values = valuesOf(columns, node.value);
|
|
163
|
+
if (chart.kind === "PieChart" || chart.kind === "RingChart") {
|
|
164
|
+
pieOnNode(chart.ring, options, values, colors, node, sizeSync);
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
const own = Number(node.graphic("NODE_CUSTOMGRAPHICS_SIZE"));
|
|
168
|
+
const side = shorterSide(node);
|
|
169
|
+
const ownSize = own > 0;
|
|
170
|
+
const fitted = sizeSync || !ownSize;
|
|
171
|
+
const box = side === null ? null : { disc: CHART_ACROSS * (fitted ? side : own), side };
|
|
172
|
+
for (const [property, v] of Object.entries(plotChart(chart.kind, options, values, colors, box))) {
|
|
173
|
+
node.put(property, v);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Each slice of a pie: a value above 0 with a color, its share of the values above 0.
|
|
178
|
+
* @param values - the node's values
|
|
179
|
+
* @param colors - the chart's colors
|
|
180
|
+
* @returns the slices in order
|
|
181
|
+
*/
|
|
182
|
+
function pieSlices(values, colors) {
|
|
183
|
+
const total = values.reduce((sum, v) => sum + (Number.isFinite(v) && v > 0 ? v : 0), 0);
|
|
184
|
+
return values.flatMap((v, k) => Number.isFinite(v) && v > 0 && colors[k] !== undefined
|
|
185
|
+
? [{ color: colors[k].toLowerCase(), size: v / total }]
|
|
186
|
+
: []);
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Sets a node's `pie*` properties from a pie or ring chart.
|
|
190
|
+
* @param ring - whether it is a ring
|
|
191
|
+
* @param options - the chart's options
|
|
192
|
+
* @param values - the node's values
|
|
193
|
+
* @param colors - the chart's colors
|
|
194
|
+
* @param node - the node
|
|
195
|
+
* @param sizeSync - whether charts are fitted to their node
|
|
196
|
+
*/
|
|
197
|
+
function pieOnNode(ring, options, values, colors, node, sizeSync) {
|
|
198
|
+
const slices = pieSlices(values, colors);
|
|
199
|
+
if (slices.length === 0) {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
const start = Number(options.cy_startAngle ?? 0);
|
|
203
|
+
const from = Number.isFinite(start) ? start : 0;
|
|
204
|
+
// counter-clockwise from `start` past 3 o'clock is clockwise from 12 o'clock at 90 - start, slices reversed
|
|
205
|
+
const reversed = [...slices].reverse();
|
|
206
|
+
node.put("pieColors", reversed.map((s) => s.color).join(" "));
|
|
207
|
+
node.put("pieSizes", reversed.map((s) => String(num6(s.size))).join(" "));
|
|
208
|
+
// fitted to the node, or with `nodeCustomGraphicsSizeSync` off at the slot's own size
|
|
209
|
+
const own = Number(node.graphic("NODE_CUSTOMGRAPHICS_SIZE"));
|
|
210
|
+
const side = shorterSide(node);
|
|
211
|
+
const ownSize = own > 0;
|
|
212
|
+
const fitted = sizeSync || !ownSize || side === null || side <= 0;
|
|
213
|
+
node.put("pieRadius", fitted ? CHART_ACROSS : num6((CHART_ACROSS * own) / side));
|
|
214
|
+
pieOffset(node, fitted, own);
|
|
215
|
+
node.put("pieRotation", num6((((90 - from) % 360) + 360) % 360));
|
|
216
|
+
const texts = pieItemLabels(options, values, colors, node.value, {
|
|
217
|
+
start: from,
|
|
218
|
+
radius: (CHART_ACROSS * (fitted || side === null ? 1 : own / side) * (side ?? 0)) / 2,
|
|
219
|
+
dx: Number(node.get("pieOffsetX") ?? 0),
|
|
220
|
+
dy: Number(node.get("pieOffsetY") ?? 0),
|
|
221
|
+
w: node.w,
|
|
222
|
+
h: node.h,
|
|
223
|
+
});
|
|
224
|
+
if (texts !== null && (node.get("shapeTexts") ?? null) === null) {
|
|
225
|
+
node.put("shapeTexts", texts);
|
|
226
|
+
}
|
|
227
|
+
if (ring) {
|
|
228
|
+
const hole = Number(options.cy_holeSize ?? RING_HOLE);
|
|
229
|
+
node.put("pieHole", Number.isFinite(hole) ? Math.max(0, Math.min(1, hole)) : RING_HOLE);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* A pie's offset from its node's center, as Cytoscape 3.10.5 draws a chart's position (measured from its SVG export
|
|
234
|
+
* of the specimen sheets, every anchor pair they hold, fitted and at a size of its own): the node anchor scales by
|
|
235
|
+
* the drawn disc and the chart anchor by the node, so on a 60 node NW,NW moves a fitted 54 disc 3 px down and right
|
|
236
|
+
* and a 21.6 disc 19 px, C,NW puts either one's center 30 px down and right, and E,W puts a fitted disc 57 px right;
|
|
237
|
+
* then the position's offsets (y down).
|
|
238
|
+
* @param node - the node
|
|
239
|
+
* @param fitted - whether the pie is fitted to the node
|
|
240
|
+
* @param own - the slot's own size
|
|
241
|
+
*/
|
|
242
|
+
function pieOffset(node, fitted, own) {
|
|
243
|
+
const at = positionOf(node.graphic("NODE_CUSTOMGRAPHICS_POSITION"));
|
|
244
|
+
const { w, h } = node;
|
|
245
|
+
if (at === null || w === null || h === null) {
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
const disc = CHART_ACROSS * (fitted ? Math.min(w, h) : own);
|
|
249
|
+
const dx = (at.node[0] * disc) / 2 - (at.chart[0] * w) / 2 + at.x;
|
|
250
|
+
const dy = (at.node[1] * disc) / 2 - (at.chart[1] * h) / 2 + at.y;
|
|
251
|
+
if (dx !== 0 || dy !== 0) {
|
|
252
|
+
node.put("pieOffsetX", num6(dx));
|
|
253
|
+
node.put("pieOffsetY", num6(dy));
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Where Cytoscape's pie draws an item label: centered on its slice's middle, this share of the radius out (measured
|
|
258
|
+
* from its SVG export of xgmml-specimen-images-charts-p5 and -p7: 16.4 to 17.3 px from the center of a 27.2 px disc,
|
|
259
|
+
* at 1, 10 and 20 px).
|
|
260
|
+
*/
|
|
261
|
+
const ITEM_LABEL_RADIUS = 0.62;
|
|
262
|
+
/**
|
|
263
|
+
* The size of a chart's item labels, in the file's lengths, when its options name none: Cytoscape 3.10.5 draws them 1
|
|
264
|
+
* px tall (xgmml-specimen-images-charts-p5 `pie-item-labels`).
|
|
265
|
+
*/
|
|
266
|
+
const ITEM_LABEL_FONT_SIZE = 1;
|
|
267
|
+
/** The color JFreeChart draws Cytoscape's chart labels in. */
|
|
268
|
+
const CHART_LABEL_COLOR = "#404040";
|
|
269
|
+
/**
|
|
270
|
+
* A chart's item labels: `cy_itemLabels`, or the node's list in `cy_itemLabelsColumn`, one per data column; none
|
|
271
|
+
* unless `cy_showItemLabels` is on.
|
|
272
|
+
* @param options - the chart's options
|
|
273
|
+
* @param value - reads the node's value of a column
|
|
274
|
+
* @returns the labels, or null
|
|
275
|
+
*/
|
|
276
|
+
function itemLabelsOf(options, value) {
|
|
277
|
+
if (options.cy_showItemLabels !== true) {
|
|
278
|
+
return null;
|
|
279
|
+
}
|
|
280
|
+
const column = typeof options.cy_itemLabelsColumn === "string" ? value(options.cy_itemLabelsColumn) : undefined;
|
|
281
|
+
const list = Array.isArray(column) ? column : options.cy_itemLabels;
|
|
282
|
+
return Array.isArray(list) ? list.map((v) => (v === null || v === undefined ? "" : String(v))) : null;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* A pie's or a ring's item labels as the node's further texts (`shapeTexts`), as Cytoscape 3.10.5 draws them
|
|
286
|
+
* (measured from its SVG export of the specimen sheets): each slice's label centered on the middle of its slice, a
|
|
287
|
+
* share of the disc's radius out from its center, in `cy_itemLabelFontSize` (the file's lengths) and JFreeChart's
|
|
288
|
+
* dark gray.
|
|
289
|
+
* @param options - the chart's options
|
|
290
|
+
* @param values - the node's values, one per data column
|
|
291
|
+
* @param colors - the chart's colors, one per data column
|
|
292
|
+
* @param value - reads the node's value of a column
|
|
293
|
+
* @param at - where the disc is: its start angle (degrees counter-clockwise from 3 o'clock), radius and offset from
|
|
294
|
+
* the node's center (y down), and the node's width and height
|
|
295
|
+
* @param at.start - start angle
|
|
296
|
+
* @param at.radius - the disc's radius
|
|
297
|
+
* @param at.dx - offset right
|
|
298
|
+
* @param at.dy - offset down
|
|
299
|
+
* @param at.w - the node's width
|
|
300
|
+
* @param at.h - the node's height
|
|
301
|
+
* @returns the texts as JSON, or null for none
|
|
302
|
+
*/
|
|
303
|
+
function pieItemLabels(options, values, colors, value, at) {
|
|
304
|
+
const labels = itemLabelsOf(options, value);
|
|
305
|
+
const { w, h } = at;
|
|
306
|
+
if (labels === null || w === null || h === null) {
|
|
307
|
+
return null;
|
|
308
|
+
}
|
|
309
|
+
// a size that is not a number, like one of 0, draws nothing
|
|
310
|
+
const drawn = w > 0 && h > 0 && at.radius > 0;
|
|
311
|
+
if (!drawn) {
|
|
312
|
+
return null;
|
|
313
|
+
}
|
|
314
|
+
const shown = values.map((v, k) => Number.isFinite(v) && v > 0 && colors[k] !== undefined);
|
|
315
|
+
const total = values.reduce((sum, v, k) => sum + (shown[k] ? v : 0), 0);
|
|
316
|
+
const size = Number(options.cy_itemLabelFontSize ?? ITEM_LABEL_FONT_SIZE);
|
|
317
|
+
const texts = [];
|
|
318
|
+
let from = at.start;
|
|
319
|
+
values.forEach((v, k) => {
|
|
320
|
+
if (!shown[k]) {
|
|
321
|
+
return;
|
|
322
|
+
}
|
|
323
|
+
const sweep = (360 * v) / total;
|
|
324
|
+
const mid = ((from + sweep / 2) * Math.PI) / 180;
|
|
325
|
+
from += sweep;
|
|
326
|
+
const text = labels[k] ?? "";
|
|
327
|
+
if (text === "") {
|
|
328
|
+
return;
|
|
329
|
+
}
|
|
330
|
+
// counter-clockwise from 3 o'clock, y up in the node's frame
|
|
331
|
+
const x = at.dx + ITEM_LABEL_RADIUS * at.radius * Math.cos(mid);
|
|
332
|
+
const y = -at.dy + ITEM_LABEL_RADIUS * at.radius * Math.sin(mid);
|
|
333
|
+
texts.push([
|
|
334
|
+
num6(x / (w / 2)),
|
|
335
|
+
num6(y / (h / 2)),
|
|
336
|
+
text,
|
|
337
|
+
{
|
|
338
|
+
size: num6((Number.isFinite(size) && size > 0 ? size : ITEM_LABEL_FONT_SIZE) / h),
|
|
339
|
+
color: CHART_LABEL_COLOR,
|
|
340
|
+
},
|
|
341
|
+
]);
|
|
342
|
+
});
|
|
343
|
+
return texts.length === 0 ? null : JSON.stringify(texts);
|
|
344
|
+
}
|
|
345
|
+
/** How many of the file's lengths one of Cytoscape's chart units is: it draws a chart at twice the node's scale. */
|
|
346
|
+
const CHART_UNIT = 0.5;
|
|
347
|
+
/**
|
|
348
|
+
* How far in from the disc a pie would fill Cytoscape draws a chart's plot, in the file's lengths, measured from its
|
|
349
|
+
* SVG export of the specimen sheets (60 nodes): the chart's own box is 0.9 of the node less 0.9, its plot 1 less
|
|
350
|
+
* again, a heat map's 2 less.
|
|
351
|
+
*/
|
|
352
|
+
const CHART_INSET = 0.9;
|
|
353
|
+
const PLOT_INSET = 1;
|
|
354
|
+
const HEAT_MAP_INSET = 2;
|
|
355
|
+
/** The default outline Cytoscape draws round each bar and box, in chart units: JFreeChart's dark gray, a quarter wide. */
|
|
356
|
+
const BAR_OUTLINE = { color: "#404040", width: 0.25 };
|
|
357
|
+
/** How much of the category side JFreeChart leaves at each end of a bar and a box chart, and of a line chart. */
|
|
358
|
+
const BAR_MARGIN = 0.025;
|
|
359
|
+
const LINE_MARGIN = -0.0125;
|
|
360
|
+
/** The share of its range JFreeChart adds above a line chart's, and above an automatic range's top. */
|
|
361
|
+
const RANGE_HEADROOM = 0.1;
|
|
362
|
+
/**
|
|
363
|
+
* A color between two `#rrggbb` colors, each channel rounded, as Cytoscape interpolates a heat map's.
|
|
364
|
+
* @param a - the color at 0
|
|
365
|
+
* @param b - the color at 1
|
|
366
|
+
* @param t - how far, 0..1
|
|
367
|
+
* @returns the color
|
|
368
|
+
*/
|
|
369
|
+
function mix(a, b, t) {
|
|
370
|
+
const rgb = (c) => [1, 3, 5].map((k) => Number.parseInt(c.slice(k, k + 2), 16));
|
|
371
|
+
const [x, y] = [rgb(a), rgb(b)];
|
|
372
|
+
if ([...x, ...y].some((v) => !Number.isFinite(v))) {
|
|
373
|
+
return a;
|
|
374
|
+
}
|
|
375
|
+
const u = Math.max(0, Math.min(1, t));
|
|
376
|
+
return `#${x
|
|
377
|
+
.map((v, k) => Math.round(v + (y[k] - v) * u)
|
|
378
|
+
.toString(16)
|
|
379
|
+
.padStart(2, "0"))
|
|
380
|
+
.join("")}`;
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* A value's color on Cytoscape's three-color scale (`[up, zero, down]`): from the zero color toward the up color as
|
|
384
|
+
* the value nears the top of the range, toward the down color as it nears the bottom (`cy-heat-map`: 5 of 0..10
|
|
385
|
+
* half way from #F7F7F7 to #2166AC).
|
|
386
|
+
* @param colors - the three colors
|
|
387
|
+
* @param v - the value
|
|
388
|
+
* @param range - the range
|
|
389
|
+
* @returns the color
|
|
390
|
+
*/
|
|
391
|
+
function scaleColor(colors, v, range) {
|
|
392
|
+
const [up, zero, down] = [colors[0], colors[1] ?? colors[0], colors[2] ?? colors[0]];
|
|
393
|
+
if (v >= 0) {
|
|
394
|
+
return mix(zero, up, range[1] > 0 ? v / range[1] : 0);
|
|
395
|
+
}
|
|
396
|
+
return mix(zero, down, range[0] < 0 ? v / range[0] : 0);
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* The quartiles, median and whiskers JFreeChart draws a box chart's values as (`BoxAndWhiskerCalculator`): the
|
|
400
|
+
* quartiles are the medians of each half, the middle value in both halves of an odd count; each whisker reaches the
|
|
401
|
+
* furthest value within 1.5 times the quartiles' spread.
|
|
402
|
+
* @param values - the values
|
|
403
|
+
* @returns low whisker, lower quartile, median, upper quartile, high whisker
|
|
404
|
+
*/
|
|
405
|
+
function boxStats(values) {
|
|
406
|
+
const v = [...values].sort((a, b) => a - b);
|
|
407
|
+
const median = (list) => {
|
|
408
|
+
const m = list.length / 2;
|
|
409
|
+
return list.length % 2 === 1 ? list[Math.floor(m)] : (list[m - 1] + list[m]) / 2;
|
|
410
|
+
};
|
|
411
|
+
const half = Math.ceil(v.length / 2);
|
|
412
|
+
const [q1, q3] = [median(v.slice(0, half)), median(v.slice(v.length - half))];
|
|
413
|
+
const reach = 1.5 * (q3 - q1);
|
|
414
|
+
const inside = v.filter((x) => x >= q1 - reach && x <= q3 + reach);
|
|
415
|
+
// never empty: the middle values lie between the quartiles
|
|
416
|
+
return [inside[0], q1, median(v), q3, inside.at(-1) ?? q3];
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* How large a chart's plot is drawn: inside the disc a pie fills, as a share of the node.
|
|
420
|
+
* @param kind - the chart's class
|
|
421
|
+
* @param box - the pie's width and the node's shorter side, or null when the node's size is unknown
|
|
422
|
+
* @returns `chartSize`, or nothing when the node's size is unknown
|
|
423
|
+
*/
|
|
424
|
+
function plotSize(kind, box) {
|
|
425
|
+
const sized = box !== null && box.side > 0;
|
|
426
|
+
if (!sized) {
|
|
427
|
+
return {};
|
|
428
|
+
}
|
|
429
|
+
// ponytail: the insets are measured on 60 nodes only; whether they scale with the node is not known
|
|
430
|
+
const inset = CHART_INSET + (kind === "HeatMapChart" ? HEAT_MAP_INSET : PLOT_INSET);
|
|
431
|
+
return { chartSize: num6(Math.max(0, box.disc - inset) / box.side) };
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* The outline Cytoscape draws round each bar and box.
|
|
435
|
+
* @param options - the chart's options
|
|
436
|
+
* @returns `chartBorderColor` and `chartBorderWidth`
|
|
437
|
+
*/
|
|
438
|
+
function chartOutline(options) {
|
|
439
|
+
const color = typeof options.cy_borderColor === "string" ? options.cy_borderColor : BAR_OUTLINE.color;
|
|
440
|
+
return {
|
|
441
|
+
chartBorderColor: color.toLowerCase(),
|
|
442
|
+
chartBorderWidth: num6(CHART_UNIT * (Number(options.cy_borderWidth ?? BAR_OUTLINE.width) || 0)),
|
|
443
|
+
};
|
|
444
|
+
}
|
|
445
|
+
/**
|
|
446
|
+
* A bar chart's own properties: grouped, stacked, up and down (the first color up, the last down) or heat strips
|
|
447
|
+
* (each bar colored on the three-color scale).
|
|
448
|
+
* @param options - its options
|
|
449
|
+
* @param finite - the node's values that are numbers
|
|
450
|
+
* @param colors - its colors
|
|
451
|
+
* @param range - its range
|
|
452
|
+
* @param horizontal - whether its orientation is horizontal
|
|
453
|
+
* @returns the properties
|
|
454
|
+
*/
|
|
455
|
+
function barChart(options, finite, colors, range, horizontal) {
|
|
456
|
+
const type = typeof options.cy_type === "string" ? options.cy_type : "GROUPED";
|
|
457
|
+
const stacked = type === "STACKED";
|
|
458
|
+
return {
|
|
459
|
+
chartKind: stacked ? "stacked-bar" : "bar",
|
|
460
|
+
chartValues: finite.join(" "),
|
|
461
|
+
chartColors: finite.map((v, k) => barColor(type, colors, v, k, range)).join(" "),
|
|
462
|
+
chartMin: range[0],
|
|
463
|
+
chartMax: range[1],
|
|
464
|
+
// Cytoscape lays a stacked bar's values across the node when its orientation says up
|
|
465
|
+
chartHorizontal: stacked ? !horizontal : horizontal,
|
|
466
|
+
chartMargin: BAR_MARGIN,
|
|
467
|
+
chartGap: num6(Math.max(0, Math.min(1, Number(options.cy_separation ?? 0) || 0))),
|
|
468
|
+
};
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* One bar's color.
|
|
472
|
+
* @param type - the bar chart's type
|
|
473
|
+
* @param colors - its colors
|
|
474
|
+
* @param v - the bar's value
|
|
475
|
+
* @param k - the bar's place
|
|
476
|
+
* @param range - the chart's range
|
|
477
|
+
* @returns the color
|
|
478
|
+
*/
|
|
479
|
+
function barColor(type, colors, v, k, range) {
|
|
480
|
+
if (type === "HEAT_STRIPS") {
|
|
481
|
+
return scaleColor(colors, v, range);
|
|
482
|
+
}
|
|
483
|
+
if (type === "UP_DOWN") {
|
|
484
|
+
return colors[v >= 0 ? 0 : colors.length - 1].toLowerCase();
|
|
485
|
+
}
|
|
486
|
+
return colors[Math.min(k, colors.length - 1)].toLowerCase();
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
* A bar, line, box or heat map chart as the neutral `chart*` properties, as Cytoscape 3.10.5 draws it (measured from
|
|
490
|
+
* its own SVG export of the specimen sheets: JFreeChart plots in a square box inset from the disc a pie fills).
|
|
491
|
+
* @param kind - the chart's class
|
|
492
|
+
* @param options - its options
|
|
493
|
+
* @param values - the node's values for its data columns
|
|
494
|
+
* @param colors - its colors
|
|
495
|
+
* @param box - how far across a pie would be drawn on the node and the node's shorter side, in the file's lengths;
|
|
496
|
+
* null when the node's size is unknown
|
|
497
|
+
* @param box.disc - the pie's width
|
|
498
|
+
* @param box.side - the node's shorter side
|
|
499
|
+
* @returns the properties to set
|
|
500
|
+
*/
|
|
501
|
+
function plotChart(kind, options, values, colors, box) {
|
|
502
|
+
const finite = values.filter((v) => Number.isFinite(v));
|
|
503
|
+
if (finite.length === 0 || colors.length === 0) {
|
|
504
|
+
// ponytail: a chart colored by a named scheme (cy_colorScheme) without its colors is not drawn
|
|
505
|
+
return {};
|
|
506
|
+
}
|
|
507
|
+
const given = Array.isArray(options.cy_range) ? options.cy_range.map(Number) : [];
|
|
508
|
+
const global = options.cy_globalRange !== false && given.length === 2 && given.every((v) => Number.isFinite(v));
|
|
509
|
+
// an automatic range holds zero and the values, with headroom above
|
|
510
|
+
const auto = [Math.min(0, ...finite), Math.max(0, ...finite)];
|
|
511
|
+
auto[1] += RANGE_HEADROOM * (auto[1] - auto[0]);
|
|
512
|
+
const range = global ? [given[0], given[1]] : auto;
|
|
513
|
+
const horizontal = options.cy_orientation === "HORIZONTAL";
|
|
514
|
+
const out = plotSize(kind, box);
|
|
515
|
+
const outline = chartOutline(options);
|
|
516
|
+
switch (kind) {
|
|
517
|
+
case "BarChart":
|
|
518
|
+
Object.assign(out, outline, barChart(options, finite, colors, range, horizontal));
|
|
519
|
+
break;
|
|
520
|
+
case "LineChart":
|
|
521
|
+
// drawn up the node whatever its orientation, with headroom above its range
|
|
522
|
+
Object.assign(out, {
|
|
523
|
+
chartKind: "line",
|
|
524
|
+
chartValues: finite.join(" "),
|
|
525
|
+
chartColors: colors[0].toLowerCase(),
|
|
526
|
+
chartMin: range[0],
|
|
527
|
+
chartMax: num6(range[1] + (global ? RANGE_HEADROOM * (range[1] - range[0]) : 0)),
|
|
528
|
+
chartMargin: LINE_MARGIN,
|
|
529
|
+
chartLineWidth: num6(CHART_UNIT * (Number(options.cy_lineWidth ?? 1) || 0)),
|
|
530
|
+
});
|
|
531
|
+
break;
|
|
532
|
+
case "BoxChart":
|
|
533
|
+
Object.assign(out, outline, {
|
|
534
|
+
chartKind: "box",
|
|
535
|
+
chartValues: boxStats(finite).map(num6).join(" "),
|
|
536
|
+
chartColors: `${colors[0].toLowerCase()} #000000`,
|
|
537
|
+
chartMin: range[0],
|
|
538
|
+
chartMax: range[1],
|
|
539
|
+
chartHorizontal: horizontal,
|
|
540
|
+
chartMargin: BAR_MARGIN,
|
|
541
|
+
chartLineWidth: num6(CHART_UNIT * BAR_OUTLINE.width),
|
|
542
|
+
});
|
|
543
|
+
break;
|
|
544
|
+
case "HeatMapChart": {
|
|
545
|
+
// one cell per value, top to bottom; laid left to right, the last value first
|
|
546
|
+
const cells = horizontal ? [...finite].reverse() : finite;
|
|
547
|
+
Object.assign(out, {
|
|
548
|
+
chartKind: "cells",
|
|
549
|
+
chartValues: cells.join(" "),
|
|
550
|
+
chartColors: cells.map((v) => scaleColor(colors, v, range)).join(" "),
|
|
551
|
+
chartHorizontal: !horizontal,
|
|
552
|
+
});
|
|
553
|
+
break;
|
|
554
|
+
}
|
|
555
|
+
default:
|
|
556
|
+
break;
|
|
557
|
+
}
|
|
558
|
+
return out;
|
|
559
|
+
}
|
|
560
|
+
//# sourceMappingURL=charts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"charts.js","sourceRoot":"","sources":["../../../../src/styles/cytoscape/charts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../../../src/styles/cytoscape/emit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAK3D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EACR,SAAS,EAET,eAAe,EAIf,WAAW,EACX,UAAU,EACb,MAAM,aAAa,CAAC;AAGrB,OAAO,EAEH,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEtB,MAAM,eAAe,CAAC;AAEvB;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,KAAK,CAAC;AAEjD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACjC,6BAA6B;IAC7B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,4GAA4G;IAC5G,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,KAAK,MAAM,CAAC;CACzE;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,wFAAwF;IACxF,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,+GAA+G;IAC/G,QAAQ,CAAC,QAAQ,EAAE;QACf,+BAA+B;QAC/B,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QAC/C,+BAA+B;QAC/B,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;KAClD,CAAC;IACF,4GAA4G;IAC5G,QAAQ,CAAC,OAAO,EAAE;QACd,oBAAoB;QACpB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3D,oBAAoB;QACpB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;KAC9D,CAAC;CACL;
|
|
1
|
+
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../../../src/styles/cytoscape/emit.ts"],"names":[],"mappings":"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"}
|