{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-RP19-4/src/components/halo/lively-halo-vivide-save-application-item.js"],"names":["HaloItem","getName","writeFile","basePath","LivelyHaloVivideSaveApplicationItem","onClick","evt","saveTarget","window","name","description","url","undefined","stringToSave","stringify","createJSON","script","inputSources","i","v","outputs","inputs","widget","id"],"mappings":"AAAA;;;;;;;;;;;;;;;;;AAEOA,c;;AACCC,a,mCAAAA,O;AAASC,e,mCAAAA,S;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjB,YAAMC,WAAW,yCAAjB;;;;;;;;;;;;;;;;;AAGe,YAAMC,mCAAN,SAAkDJ,QAAlD,CAA2D;AACxE,cAAMK,OAAN,CAAcC,GAAd,EAAkB;AAAA;;AAChB,gBAAMC,0FAAaC,MAAb,UAAN;AACA,gBAAM,EAACC,IAAD,EAAOC,WAAP,EAAoBC,GAApB,KAA2B,MAAM,sLAAQJ,UAAR,GAAoB,aAApB,CAAvC;AACA,cAAG,6JAAOK,SAAP,CAAH;AAAqB;AAArB,WACA,gCAAmB,EAAnB;AACA;AACA;;;;;;;;AAQA,gBAAMC,4FAAe,sEAAKC,SAAL,+EAAe,KAAKC,UAAL,2FAAgBR,UAAhB,iFAA4BE,IAA5B,+FAAkCC,WAAlC,EAAf,EAAf,CAAN;AACA,0CAAmB,EAAnB;AACA,wLAAUC,GAAV,iGAAeE,YAAf;AACD;;AAEDE,mBAAWR,UAAX,EAAuBE,IAAvB,EAA6BC,WAA7B,EAAyC;AAAA;;AACvC,2KAAsBH,UAAtB;AACA,6NAA6BE,IAA7B;AACA,uOAAyBC,WAAzB;AACA,gBAAMM,gIAAST,UAAT,oCAAN;AACA,gBAAMU,wJAAeV,UAAf,gCACIW;AAAA;AAAK,iDAAC,IAAD,kHAA2BA,CAA3B;AAAL,WADJ,YAECC,KAAK;AAAA;;AACR,gGAAO,KAAKJ,UAAL,yEAAgBI,CAAhB,iFAAmBV,IAAnB,EAAP;AACD,WAJG,EAAN;AAKA,gBAAMW,mJAAUb,UAAV,iCACIW;AAAA;AAAK,iDAAC,IAAD,mHAA2BA,CAA3B;AAAL,WADJ,YAECC,KAAK;AAAA;;AACR,gGAAO,KAAKJ,UAAL,0EAAgBI,CAAhB,iFAAmBV,IAAnB,EAAP;AACD,WAJG,EAAN;AAKA,gBAAMY,8GAASd,UAAT,WAAN;AACA,gBAAMM,eAAe,EAACH,WAAD,EAAcM,MAAd,EAAsBI,OAAtB,EAA+BH,YAA/B,EAA6CI,MAA7C,EAAqDC,0IAAQf,UAAR,4CAArD,EAAsGgB,yGAAIhB,UAAJ,QAAtG,EAArB;AACA,8GAAOM,YAAP;AACD;AAtCuE;;yBAArDT,mC","file":"lively-halo-vivide-save-application-item.js","sourcesContent":["\"enable aexpr\";\n\nimport HaloItem from 'src/components/halo/lively-halo-item.js';\nimport {getName, writeFile} from 'src/client/vivide/scripts/saving.js';\n\nconst basePath = \"src/client/vivide/scripts/applications/\";\n\n\nexport default class LivelyHaloVivideSaveApplicationItem extends HaloItem {\n  async onClick(evt){\n    const saveTarget = window.that;\n    const {name, description, url} = await getName(saveTarget, \"application\");\n    if(name===undefined) return;\n    this.storedViews = [];\n    // set the name on the saveTarget\n    /*\n    We have to save a multitude of things:\n    inputData\n    scriptSteps\n    And for applications:\n    input targets\n    output targets\n    */\n    const stringToSave = JSON.stringify(this.createJSON(saveTarget, name, description));\n    this.storedViews = [];\n    writeFile(url, stringToSave);\n  }\n  \n  createJSON(saveTarget, name, description){\n    this.storedViews.push(saveTarget.id);\n    saveTarget.applicationName = name;\n    saveTarget.description = description;\n    const script = saveTarget.myCurrentScript.toJSON();\n    const inputSources = saveTarget.inportSources\n      .filter(i => !this.storedViews.includes(i.id))\n      .map(v => {\n        return this.createJSON(v, name);\n      });\n    const outputs = saveTarget.outportTargets\n      .filter(i => !this.storedViews.includes(i.id))\n      .map(v => {\n        return this.createJSON(v, name);\n      });\n    const inputs = saveTarget.input;\n    const stringToSave = {description, script, outputs, inputSources, inputs, widget: saveTarget.widget.tagName.toLowerCase(), id: saveTarget.id};\n    return stringToSave;\n  }\n}"]}