{"version":3,"names":["VersionControl","__SystemJSRewritingHack","_export","setters","_reactiveJsx","_addSourceLocation","addSourceLocation","_srcComponentsWidgetsLivelyMorphJs","Morph","default","_srcExternalMomentJs","moment","execute","_recorder_","_src_components_tools_lively_version_control_js","Object","defineProperty","get","set","thisIsVererySecretVariableName","enumerable","configurable","initialize","showVersions","url","listNode","shadowRoot","querySelector","fetch","method","headers","showversions","then","r","text","json","JSON","parse","e","lively","notify","slice","openWorkspace","versions","innerHTML","forEach","ea","item","document","createElement","file","end","column","line","start","date","format","author","comment","appendChild","toString","stringify","value","onclick","selectItem","selectedItem","classList","remove","add","selection","fileversion","version","editor","mergeView","livelyExample","lively4url","livelyMigrate","obj"],"sources":["lively-version-control.js"],"sourcesContent":["\nimport Morph from 'src/components/widgets/lively-morph.js';\nimport moment from \"src/external/moment.js\";\n\nexport default class VersionControl extends Morph {\n\n  initialize() {\n   \n  }\n  \n  showVersions(url) {\n    this.url= url\n    var listNode = this.shadowRoot.querySelector(\"#list\")\n    fetch(url, {\n      method: \"OPTIONS\",\n      headers: {\n        showversions: true\n      }\n    }).then(r => r.text()).then( text => {\n      try {\n        var json = JSON.parse(text);\n      } catch(e) {\n        lively.notify(\"[version control] could not parse \" + url+\"versions:\" + e, text.slice(0,1000), 10, () => {\n          lively.openWorkspace(text);\n        }, \"red\");\n        return \n      }\n      if (!json.versions) {\n        lively.notify(\"[version control] no versions found\", text)\n        return\n      }\n      listNode.innerHTML =\"\"\n      json.versions.forEach( ea => {\n        if (!ea) return // guard for syntax fixing null in server..  \n        var item = document.createElement(\"tr\")\n        item.innerHTML = \"<td class='date'>\" + moment(ea.date).format(\"YYYY-MM-DD hh:mm\") + \"</td><td>\"+ ea.author + \"</td><td>\" + ea.comment + \"</td>\"\n        listNode.appendChild(item)\n        ea.toString = function() { return JSON.stringify(this)} // generic pretty print\n        item.value = ea\n        item.onclick = () => {\n          this.selectItem(item)\n        }\n      }) \n    })\n  }\n  \n  selectItem(item) {\n    if (this.selectedItem) \n      this.selectedItem.classList.remove(\"selected\");\n    if (this.selectedItem !== item) { \n      this.selectedItem = item;\n      this.selectedItem.classList.add(\"selected\");\n      this.selection = item.value;\n      fetch(this.url, {\n        headers: {\n          fileversion: item.value.version\n        }\n      }).then( r => r.text()).then( text => {\n        if (this.editor && this.editor.mergeView) {\n         \tthis.editor.mergeView(text) \n        }\n        // this.get(\"#preview\").editor.setValue(text)\n      })\n      \n      \n    } else {\n      this.selectedItem = null;\n      this.selection = null\n    }\n  }\n\n  livelyExample() {\n    this.showVersions(lively4url + \"/README.md\")\n  }\n  \n  \n  livelyMigrate(obj) {\n    this.showVersions(obj.url);\n  }\n\n}"],"mappings":";;;yCAIqBA,cAAc,EAAAC,uBAAA;EAAAC,OAAA;EAAA;IAAAC,OAAA,aAAAC,YAAA;MAAAC,kBAAA,GAAAD,YAAA,CAAAE,iBAAA;IAAA,aAAAC,kCAAA;MAH5BC,KAAK,GAAAD,kCAAA,CAAAE,OAAA;IAAA,aAAAC,oBAAA;MACLC,MAAM,GAAAD,oBAAA,CAAAD,OAAA;IAAA;IAAAG,OAAA,WAAAA,CAAA;MAAAX,uBAAA;MAAAY,UAAA,CAAAC,+CAAA,GAAAD,UAAA,CAAAC,+CAAA;MAAAC,MAAA,CAAAC,cAAA,CAAAH,UAAA,CAAAC,+CAAA;QAAAG,IAAA;UAAA,OAAAT,KAAA;QAAA;QAAAU,IAAAC,8BAAA;UADNX,KAAA,CAAAA,CAAA,CAAAA,8BAAK;UAAA;QAAA;QAAAY,UAAA;QAAAC,YAAA;MAAA;MAAAN,MAAA,CAAAC,cAAA,CAAAH,UAAA,CAAAC,+CAAA;QAAAG,IAAA;UAAA,OAAAN,MAAA;QAAA;QAAAO,IAAAC,8BAAA;UACLR,MAAA,CAAAA,CAAA,CAAAA,8BAAM;UAAA;QAAA;QAAAS,UAAA;QAAAC,YAAA;MAAA;MAAAnB,OAAA,YAEQF,cAAc,GAApB,MAAMA,cAAc,SAASQ,KAAK,CAAC;QAEhDc,UAAUA,CAAA,EAAG,CAEb;QAEAC,YAAYA,CAACC,GAAG,EAAE;UAChB,IAAI,CAACA,GAAG,GAAEA,GAAG;UACb,IAAIC,QAAQ,GAAG,IAAI,CAACC,UAAU,CAACC,aAAa,CAAC,OAAO,CAAC;UACrDC,KAAK,CAACJ,GAAG,EAAE;YACTK,MAAM,EAAE,SAAS;YACjBC,OAAO,EAAE;cACPC,YAAY,EAAE;YAChB;UACF,CAAC,CAAC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CAACF,IAAI,CAAEE,IAAI,IAAI;YACnC,IAAI;cACF,IAAIC,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;YAC7B,CAAC,CAAC,OAAMI,CAAC,EAAE;cACTC,MAAM,CAACC,MAAM,CAAC,oCAAoC,GAAGhB,GAAG,GAAC,WAAW,GAAGc,CAAC,EAAEJ,IAAI,CAACO,KAAK,CAAC,CAAC,EAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM;gBACtGF,MAAM,CAACG,aAAa,CAACR,IAAI,CAAC;cAC5B,CAAC,EAAE,KAAK,CAAC;cACT;YACF;YACA,IAAI,CAACC,IAAI,CAACQ,QAAQ,EAAE;cAClBJ,MAAM,CAACC,MAAM,CAAC,qCAAqC,EAAEN,IAAI,CAAC;cAC1D;YACF;YACAT,QAAQ,CAACmB,SAAS,GAAE,EAAE;YACtBT,IAAI,CAACQ,QAAQ,CAACE,OAAO,CAAEC,EAAE,IAAI;cAC3B,IAAI,CAACA,EAAE,EAAE,OAAM,CAAC;cAChB,IAAIC,IAAI,GAAA1C,kBAAA,CAAG2C,QAAQ,CAACC,aAAa,CAAC,IAAI,CAAC;gBAAAC,IAAA;gBAAAC,GAAA;kBAAAC,MAAA;kBAAAC,IAAA;gBAAA;gBAAAC,KAAA;kBAAAF,MAAA;kBAAAC,IAAA;gBAAA;cAAA;cACvCN,IAAI,CAACH,SAAS,GAAG,mBAAmB,GAAGjC,MAAM,CAACmC,EAAE,CAACS,IAAI,CAAC,CAACC,MAAM,CAAC,kBAAkB,CAAC,GAAG,WAAW,GAAEV,EAAE,CAACW,MAAM,GAAG,WAAW,GAAGX,EAAE,CAACY,OAAO,GAAG,OAAO;cAC/IjC,QAAQ,CAACkC,WAAW,CAACZ,IAAI,CAAC;cAC1BD,EAAE,CAACc,QAAQ,GAAG,YAAW;gBAAE,OAAOxB,IAAI,CAACyB,SAAS,CAAC,IAAI,CAAC;cAAA,CAAC,EAAC;cACxDd,IAAI,CAACe,KAAK,GAAGhB,EAAE;cACfC,IAAI,CAACgB,OAAO,GAAG,MAAM;gBACnB,IAAI,CAACC,UAAU,CAACjB,IAAI,CAAC;cACvB,CAAC;YACH,CAAC,CAAC;UACJ,CAAC,CAAC;QACJ;QAEAiB,UAAUA,CAACjB,IAAI,EAAE;UACf,IAAI,IAAI,CAACkB,YAAY,EACnB,IAAI,CAACA,YAAY,CAACC,SAAS,CAACC,MAAM,CAAC,UAAU,CAAC;UAChD,IAAI,IAAI,CAACF,YAAY,KAAKlB,IAAI,EAAE;YAC9B,IAAI,CAACkB,YAAY,GAAGlB,IAAI;YACxB,IAAI,CAACkB,YAAY,CAACC,SAAS,CAACE,GAAG,CAAC,UAAU,CAAC;YAC3C,IAAI,CAACC,SAAS,GAAGtB,IAAI,CAACe,KAAK;YAC3BlC,KAAK,CAAC,IAAI,CAACJ,GAAG,EAAE;cACdM,OAAO,EAAE;gBACPwC,WAAW,EAAEvB,IAAI,CAACe,KAAK,CAACS;cAC1B;YACF,CAAC,CAAC,CAACvC,IAAI,CAAEC,CAAC,IAAIA,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CAACF,IAAI,CAAEE,IAAI,IAAI;cACpC,IAAI,IAAI,CAACsC,MAAM,IAAI,IAAI,CAACA,MAAM,CAACC,SAAS,EAAE;gBACxC,IAAI,CAACD,MAAM,CAACC,SAAS,CAACvC,IAAI,CAAC;cAC7B;cACA;YACF,CAAC,CAAC;UAGJ,CAAC,MAAM;YACL,IAAI,CAAC+B,YAAY,GAAG,IAAI;YACxB,IAAI,CAACI,SAAS,GAAG,IAAI;UACvB;QACF;QAEAK,aAAaA,CAAA,EAAG;UACd,IAAI,CAACnD,YAAY,CAACoD,UAAU,GAAG,YAAY,CAAC;QAC9C;QAGAC,aAAaA,CAACC,GAAG,EAAE;UACjB,IAAI,CAACtD,YAAY,CAACsD,GAAG,CAACrD,GAAG,CAAC;QAC5B;MAEF,CAAC;MAAAT,MAAA,CAAAC,cAAA,CAAAH,UAAA,CAAAC,+CAAA;QAAAG,IAAA;UAAA,OAAAjB,cAAA;QAAA;QAAAkB,IAAAC,8BAAA;UAAAjB,OAAA,YA5EoBF,cAAA,CAAAA,CAAA,CAAAA,8BAAc;UAAA;QAAA;QAAAoB,UAAA;QAAAC,YAAA;MAAA;IAAA;EAAA;AAAA"}