{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-leo/src/components/widgets/academic-paper.js"],"names":["Morph","Paper","AcademicPaper","initialize","windowTitle","registerButtons","updateView","microsoftid","getAttribute","id","setAttribute","mode","s","ensurePaper","paper","getId","getPDFs","value","S","filter","ea","Ty","map","U","renderNoPaper","get","innerHTML","renderShort","pdfs","appendChild","renderCitationKey","renderAuthorsLinks","renderYear","renderTitle","renderDOI","renderPublication","renderPDFs","renderCitationCount","key","authors","index","name","length","year","title","doiURL","doi","renderHeading","comp","lively","openComponentInWindow","parentElement","generateFilename","importURL","toImportURL","src","setExtent","pt","hasPublicationInfo","booktitle","renderJournalSnippet","renderConferenceSnippet","J","academicJournalQuery","V","I","JId","JN","C","VFN","CId","CN","ECC","papersToShortEntriesList","papers","shortEntries","push","openIFrame","url","iframe","hideMenubar","setURL","renderLong","container","query","bibtexEntries","findBibtexFileEntries","fields","F","fieldsSpan","FId","DFN","authorsList","bibtexEntriesSpan","replace","bibtextImportButton","importBibtexId","sleep","setPath","getPath","bibtexOpenButton","openWorkspace","toBibtex","bibliographySection","abstractSection","abstract","referencesSection","resolveReferences","then","element","querySelector","list","references","rerferencedBySection","findReferencedBy","referencedBy","openInspector","microsoftURL","html","fixLinks","undefined","path","followPath","openBrowser","livelyExample"],"mappings":"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","file":"academic-paper.js","sourcesContent":["import Morph from 'src/components/widgets/lively-morph.js';\nimport {Paper} from \"src/client/literature.js\"\n\nexport default class AcademicPaper extends Morph {\n  async initialize() {\n    this.windowTitle = \"AcademicPaper\";\n    this.registerButtons()\n    \n    this.updateView()\n  }\n\n  get microsoftid() {\n    return this.getAttribute(\"microsoftid\")\n  }\n  \n  set microsoftid(id) {\n    this.setAttribute(\"microsoftid\", id)\n  }\n  \n  get mode() {\n    return this.getAttribute(\"mode\")\n  }\n  \n  set mode(s) {\n    this.setAttribute(\"mode\", s)\n  }\n  \n  async ensurePaper() {\n    if (!this.paper) {\n      if (!this.microsoftid) { return null}\n      this.paper = await Paper.getId(this.microsoftid)      \n    }\n    return this.paper\n  }\n  \n  getPDFs() {\n    return this.paper.value.S && this.paper.value.S.filter(ea => ea.Ty == 3).map(ea => ea.U);\n  }\n  \n  renderNoPaper() {\n    this.get(\"#pane\").innerHTML = \"microsoftid or paper missing\"\n  }\n  \n  async renderShort() {\n    if (!this.paper) {\n      return this.renderNoPaper()\n    }\n    \n    var pdfs = this.getPDFs()\n    this.get(\"#pane\").innerHTML = \"\"\n    this.get(\"#pane\").appendChild(<div class=\"paper\" title=\"\">\n      {this.renderCitationKey()}\n      <span class=\"authors\">{...this.renderAuthorsLinks()}.</span>\n      {this.renderYear()}.\n      {this.renderTitle()}.\n      {this.renderDOI()}\n      {this.renderPublication()}\n      {this.renderPDFs()}\n      {this.renderCitationCount()}\n    </div>)\n  }\n  \n  renderCitationKey() {\n    return <a class=\"key\" title=\"citation key\" href={`bib://${this.paper.key}`}>[{this.paper.key}]</a>\n  }\n  \n  renderAuthorsLinks() {\n    var authors = this.paper.authors\n    return authors.map((ea,index) => \n      <span><a title=\"author\" href={`academic://expr:Composite(AA.AuId=${ea.id})?count=1000`}>{ea.name}</a>{index < authors.length - 1 ? \", \" : \"\"}</span>)\n  }\n  \n  renderYear() {\n    return <span class=\"year\"><a title=\"year\" href={`academic://hist:Composite(AA.AuId=${this.paper.authors[0].id})?count=100&attr=Y`}>{this.paper.year}</a></span>\n  }\n    \n  renderTitle() {\n    return <span class=\"title\"><a title=\"title\" href={`academic://expr:Id=${this.paper.microsoftid}?count=1`}>{this.paper.title}</a></span>\n  }\n    \n  renderDOI() {\n    var doiURL = `https://doi.org/${this.paper.doi}`\n    // click={async () => {\n    //    var comp = await lively.openComponentInWindow(\"lively-iframe\")\n    //    comp.setURL(doiURL)\n    //  }}\n    return <span class=\"doi\" title=\"DOI\">\n      {this.paper.doi ? \n        <a href={doiURL} target=\"_blank\">{this.paper.doi}</a> : \"\"\n      } \n    </span>\n  }\n    \n  renderPDFs(renderHeading=false) {\n    var pdfs = this.getPDFs() || []\n    return <span class=\"pdfs\">\n        { renderHeading && pdfs && pdfs.length > 0 ? <h3>Import PDFs</h3> : \"\"}\n         { pdfs && pdfs.length > 0 ? \"PDFs:\" : \"\"} {...pdfs\n            .map((ea, index) => <a title={ea} click={async () => {\n                var comp = await lively.openComponentInWindow(\"external-resource\")\n                comp.parentElement.setAttribute(\"title\", await this.paper.generateFilename())\n                comp.importURL = await this.paper.toImportURL()\n                comp.src = ea\n                lively.setExtent(comp.parentElement, lively.pt(800,800))\n              }}>[{index + 1}]</a>) // ea.replace(/.*\\//,\"\")\n            .map((ea,index) => <span>{ea}{index < pdfs.length - 1 ? \", \" : \"\"}</span>)\n        }\n      </span>\n\n  }\n  \n  renderPublication() {\n    if (!this.paper.hasPublicationInfo()) return \"\"\n    \n    return <span class=\"publication\" title={this.paper.booktitle}>\n      {this.renderJournalSnippet()}\n      {this.renderConferenceSnippet()}\n    </span>\n    \n   \n  }\n    \n  renderJournalSnippet() {\n    if (this.paper.value.J) {\n      var academicJournalQuery = `academic://expr:And(V='${\n          this.paper.value.V \n        }',I='${\n          this.paper.value.I\n        }',Composite(J.JId=${\n          this.paper.value.J.JId\n        }))?count=100`;\n      return <span id=\"journal\">\n        <a href={academicJournalQuery}>\n          {this.paper.value.J.JN  + \" Volume \" + this.paper.value.V + \" Issue\" + this.paper.value.I}\n        </a>\n      </span>\n    } else {\n      return \"\"\n    }\n  }\n    \n  renderConferenceSnippet() {\n    if (this.paper.value.C) {\n      return <span id=\"conference\">\n        <a title={this.paper.value.VFN} href={`academic://expr:And(Composite(C.CId=${this.paper.value.C.CId}),Y=${this.paper.year})?count=50`}>{ this.paper.value.C.CN}</a>:\n        {this.paper.booktitle}\n      </span>\n    } else {\n      return \"\"\n    }\n  }\n    \n  renderCitationCount() {\n    if (this.paper.value.ECC) {\n      return <span id=\"citation-count\">\n        citations: <a href={`academic://hist:RId=${this.paper.microsoftid}?count=100&attr=Y`}>{this.paper.value.ECC}</a>\n      </span>\n    } else {\n      return \"\"\n    }\n  }\n    \n  async papersToShortEntriesList(papers) {\n    var shortEntries = []\n    for(let ea of papers) {\n      var comp = await (<academic-paper mode=\"short\" microsoftid={ea.microsoftid}></academic-paper>)\n      comp.paper = ea\n      comp.updateView()\n      shortEntries.push(<li>{comp}</li>)\n    }\n    return <ul>{...shortEntries}</ul>\n  }\n    \n    \n  async openIFrame(url) {\n    var iframe = await lively.openComponentInWindow(\"lively-iframe\")\n    iframe.hideMenubar()\n    lively.setExtent(iframe.parentElement, lively.pt(1210, 700))\n    iframe.setURL(url)\n    return iframe\n  }\n    \n  async renderLong() {\n    var container = lively.query(this, \"lively-container\")\n    var paper = this.paper\n    if (!paper) {\n     return this.renderNoPaper()\n    }\n    \n    var bibtexEntries = await paper.findBibtexFileEntries()\n    var fields = paper.value.F || []\n    var fieldsSpan = <span id=\"fields\"> \n        { fields.length > 0 ? <h3>Fields</h3> : \"\"}  \n        {...paper.value.F.map(F => \n            <span class=\"field\"><a  href={`academic://expr:Composite(F.FId=${F.FId})?count=30`}>{F.DFN}</a> </span>)\n        }\n      </span>\n        \n    var title = <h1 class=\"title\">{this.renderTitle()} ({this.renderYear()})</h1>\n    var authorsList = <h2 class=\"authors\">{...this.renderAuthorsLinks()}</h2>\n    var bibtexEntriesSpan = <span>{...\n        bibtexEntries.map(ea => \n            <span><a href={ea.url}>{ea.url.replace(/.*\\//,\"\")}</a> </span>) \n        }</span>\n    var bibtextImportButton = <button click={async () => {\n       await Paper.importBibtexId(paper.microsoftid)\n       await lively.sleep(1000) // let the indexer do it's work?\n       if (container) container.setPath(container.getPath())\n     }}>import bibtex entry</button>\n  \n    var bibtexOpenButton = <button click={async () => {\n        var comp = await lively.openWorkspace(paper.toBibtex())\n        comp.mode = \"text/plain\"\n        comp.parentElement.setAttribute('title', \"Bibtex Source\")\n        lively.setExtent(comp.parentElement, lively.pt(900, 200))\n      }}>bibtex</button>\n      \n    var bibliographySection = <section>\n        <h3>Bibliographies</h3>\n        {bibtexOpenButton}          \n        {\n          bibtexEntries.length > 0 ? \n            bibtexEntriesSpan  : \n            bibtextImportButton \n        }\n      </section>\n    \n    var abstractSection = <section>\n        <h3>Abstract</h3>\n        <div class=\"abstract\">{this.paper.abstract}</div>\n      </section>\n        \n    var referencesSection = <section>\n        <h3>References</h3>\n        <span id=\"references\">loading references</span>\n      </section>\n    paper.resolveReferences().then(async () => {\n      var element = referencesSection.querySelector(\"#references\")\n      element.innerHTML = \"\"\n      var list = await this.papersToShortEntriesList(paper.references)\n      element.appendChild(list)\n    })\n    \n    let rerferencedBySection = <section>\n        <h3>Referenced By</h3>\n        <span id=\"references\">loading references</span>\n      </section>\n    paper.findReferencedBy().then(async () => {\n      var element =  rerferencedBySection.querySelector(\"#references\")\n      element.innerHTML = \"\"\n      var list = await this.papersToShortEntriesList(paper.referencedBy)\n      element.appendChild(list)\n    })\n\n    this.get(\"#pane\").innerHTML =  \"\"\n    this.get(\"#pane\").appendChild(await (<div class=\"paper\">  \n      {title} \n      {authorsList}\n      <div>\n        <button style=\"display:inline-block\" click={() => lively.openInspector(paper)}>inspect</button>\n        {this.renderCitationKey()}\n        {this.renderDOI()}\n        <span>{this.renderPublication()}</span>\n        {this.renderCitationCount()}\n        <span class=\"external\">\n          <a title=\"Microsoft Academics\" click={ () => {\n              var microsoftURL = `https://academic.microsoft.com/paper/${this.paper.microsoftid}`\n              this.openIFrame(microsoftURL)      \n          }}>⇗MA</a>\n        </span>\n      </div>\n      {fieldsSpan}\n      {this.renderPDFs(true)}\n      {bibliographySection}\n      {abstractSection}\n      {referencesSection}\n      {rerferencedBySection}\n    </div>))\n  }  \n  \n  async updateView() {\n    await this.ensurePaper()\n    if (this.mode == \"short\") {\n      await this.renderShort()\n    } else {\n      await this.renderLong()\n    }\n    var container = lively.query(this, \"lively-container\")\n    if (container) {\n      lively.html.fixLinks([this.get(\"#pane\")], undefined, path => container.followPath(path));\n    } else {\n      lively.html.fixLinks([this.get(\"#pane\")], undefined, path => lively.openBrowser(path));      \n    }\n    \n  }\n  \n\n  \n  async livelyExample() {\n    // this.mode = \"short\"\n    this.microsoftid = 2148357053\n    this.updateView()\n  }\n  \n}"]}