1 line
6.4 KiB
Plaintext
1 line
6.4 KiB
Plaintext
{"version":3,"file":"GenerateImageDialog-C_r3fh9h.chunk.mjs","sources":["../src/components/FilesNewMenu/GenerateImageDialog.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<NcDialog can-close\n\t\tclass=\"assistant__generate-image-dialog\"\n\t\t:close-on-click-outside=\"false\"\n\t\t:name=\"t('assistant', 'Generate new image using AI')\"\n\t\tsize=\"normal\">\n\t\t<template v-if=\"isFeatureAvailable\">\n\t\t\t<NcNoteCard type=\"info\" :text=\"t('assistant', 'The result image would be placed in the current folder.')\" />\n\t\t\t<NcNoteCard type=\"warning\" :text=\"t('assistant', 'The resulting images are generated by AI. Make sure to double-check and adjust.')\" />\n\t\t\t<form ref=\"form\"\n\t\t\t\tclass=\"assistant__generate-image-dialog__form\"\n\t\t\t\t:aria-label=\"t('assistant', 'Generate new image')\"\n\t\t\t\t@submit.prevent.stop=\"\">\n\t\t\t\t<NcTextField v-model=\"prompt\"\n\t\t\t\t\trequired\n\t\t\t\t\t:label=\"t('assistant', 'Prompt')\"\n\t\t\t\t\t:aria-label=\"t('assistant', 'Prompt')\"\n\t\t\t\t\t:helper-text=\"t('assistant', 'Describe the image you want to generate')\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tautocomplete=\"off\" />\n\t\t\t</form>\n\t\t</template>\n\t\t<template v-else>\n\t\t\t<NcNoteCard type=\"error\"\n\t\t\t\t:heading=\"t('assistant', 'No providers found')\"\n\t\t\t\t:text=\"t('assistant', 'Image generation is not available.')\" />\n\t\t</template>\n\n\t\t<template #actions>\n\t\t\t<NcButton\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\t:aria-label=\"t('assistant', 'Cancel')\"\n\t\t\t\t@click=\"$emit('close')\">\n\t\t\t\t{{ t('assistant', 'Cancel') }}\n\t\t\t</NcButton>\n\t\t\t<NcButton\n\t\t\t\tvariant=\"primary\"\n\t\t\t\t:aria-label=\"t('assistant', 'Generate image')\"\n\t\t\t\t:disabled=\"!isFeatureAvailable || prompt.trim() === ''\"\n\t\t\t\t@click=\"submitPrompt\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Creation :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('assistant', 'Generate image') }}\n\t\t\t</NcButton>\n\t\t</template>\n\t</NcDialog>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { translate as t } from '@nextcloud/l10n'\nimport { showSuccess, showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\n\nimport NcDialog from '@nextcloud/vue/components/NcDialog'\nimport NcNoteCard from '@nextcloud/vue/components/NcNoteCard'\nimport NcTextField from '@nextcloud/vue/components/NcTextField'\nimport NcButton from '@nextcloud/vue/components/NcButton'\n\nimport Creation from 'vue-material-design-icons/Creation.vue'\n\nexport default {\n\tname: 'GenerateImageDialog',\n\n\tcomponents: {\n\t\tNcDialog,\n\t\tNcNoteCard,\n\t\tNcTextField,\n\t\tNcButton,\n\t\tCreation,\n\t},\n\n\tprops: {\n\t\tcontext: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tcontent: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tsetup() {\n\t\treturn {\n\t\t\tt,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tprompt: '',\n\t\t\tstate: loadState('assistant', 'new-file-generate-image'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisFeatureAvailable() {\n\t\t\treturn this.state?.hasText2Image ?? false\n\t\t},\n\t},\n\n\tmethods: {\n\t\tsubmitPrompt() {\n\t\t\tif (this.prompt.trim() === '') {\n\t\t\t\tshowError(t('assistant', 'Prompt cannot be empty.'))\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst url = generateOcsUrl('taskprocessing/schedule')\n\t\t\tconst params = {\n\t\t\t\tinput: {\n\t\t\t\t\tinput: this.prompt,\n\t\t\t\t\tnumberOfImages: 1,\n\t\t\t\t},\n\t\t\t\ttype: 'core:text2image',\n\t\t\t\tappId: 'assistant',\n\t\t\t\tcustomId: 'new-image-file:' + this.context.data.id,\n\t\t\t}\n\n\t\t\taxios.post(url, params)\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.$emit('close')\n\t\t\t\t\tshowSuccess(t('assistant', 'Image generation task has been scheduled.'))\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsole.error('[ERROR] GenerateImageDialog: Error scheduling image generation:', error)\n\t\t\t\t\tshowError(t('assistant', 'Failed to schedule image generation task.'))\n\t\t\t\t})\n\t\t},\n\t},\n}\n</script>\n"],"names":["_sfc_main","NcDialog","NcNoteCard","NcTextField","NcButton","Creation","t","loadState","showError","url","generateOcsUrl","params","axios","showSuccess","error","_createBlock","_component_NcDialog","$setup","_createVNode","_component_NcButton","_ctx","$options","$data","_component_Creation","_createTextVNode","_createElementBlock","_Fragment","_component_NcNoteCard","_createElementVNode","_component_NcTextField","$event"],"mappings":"qrBAoEA,MAAKA,EAAU,CACd,KAAM,sBAEN,WAAY,CACX,SAAAC,EACA,WAAAC,cACAC,EACA,SAAAC,EACA,SAAAC,GAGD,MAAO,CACN,QAAS,CACR,KAAM,OACN,SAAU,IAEX,QAAS,CACR,KAAM,MACN,SAAU,KAIZ,OAAQ,CACP,MAAO,GACNC,CACD,CACD,EAEA,MAAO,CACN,MAAO,CACN,OAAQ,GACR,MAAOC,EAAU,YAAa,yBAAyB,CACxD,CACD,EAEA,SAAU,CACT,oBAAqB,CACpB,OAAO,KAAK,OAAO,eAAiB,EACrC,GAGD,QAAS,CACR,cAAe,CACd,GAAI,KAAK,OAAO,KAAI,IAAO,GAAI,CAC9BC,EAAUF,EAAE,YAAa,yBAAyB,CAAC,EACnD,MACD,CAEA,MAAMG,EAAMC,EAAe,yBAAyB,EAC9CC,EAAS,CACd,MAAO,CACN,MAAO,KAAK,OACZ,eAAgB,GAEjB,KAAM,kBACN,MAAO,YACP,SAAU,kBAAoB,KAAK,QAAQ,KAAK,EACjD,EAEAC,EAAM,KAAKH,EAAKE,CAAM,EACpB,KAAK,IAAM,CACX,KAAK,MAAM,OAAO,EAClBE,EAAYP,EAAE,YAAa,2CAA2C,CAAC,CACxE,CAAC,EACA,MAAOQ,GAAU,CACjB,QAAQ,MAAM,kEAAmEA,CAAK,EACtFN,EAAUF,EAAE,YAAa,2CAA2C,CAAC,CACtE,CAAC,CACH,EAEF,iJApICS,EA6CWC,EAAA,CA7CD,YAAA,GACT,MAAM,mCACL,yBAAwB,GACxB,KAAMC,EAAA,EAAC,YAAA,6BAAA,EACR,KAAK,WAuBM,UACV,IAKW,CALXC,EAKWC,EAAA,CAJV,QAAQ,YACP,aAAYF,EAAA,EAAC,YAAA,QAAA,EACb,uBAAOG,EAAA,MAAK,OAAA,eACb,IAA8B,KAA3BH,EAAA,EAAC,YAAA,QAAA,CAAA,EAAA,CAAA,2BAELC,EASWC,EAAA,CARV,QAAQ,UACP,aAAYF,EAAA,EAAC,YAAA,gBAAA,EACb,SAAQ,CAAGI,EAAA,oBAAsBC,EAAA,OAAO,KAAI,IAAA,GAC5C,QAAOD,EAAA,eACG,OACV,IAAuB,CAAvBH,EAAuBK,EAAA,CAAZ,KAAM,EAAE,CAAA,cACT,IACX,CADWC,EAAA,MACRP,EAAA,EAAC,YAAA,gBAAA,CAAA,EAAA,CAAA,4DArCN,IAeW,CAfKI,EAAA,wBAAhBI,EAeWC,EAAA,CAAA,IAAA,CAAA,EAAA,CAdVR,EAA4GS,EAAA,CAAhG,KAAK,OAAQ,KAAMV,EAAA,EAAC,YAAA,yDAAA,oBAChCC,EAAuIS,EAAA,CAA3H,KAAK,UAAW,KAAMV,EAAA,EAAC,YAAA,iFAAA,oBACnCW,EAWO,OAAA,CAXD,IAAI,OACT,MAAM,yCACL,aAAYX,EAAA,EAAC,YAAA,oBAAA,EACb,uBAAD,IAAA,CAAA,EAAuB,CAAA,UAAA,MAAA,CAAA,KACvBC,EAMsBW,EAAA,YANAP,EAAA,4CAAAA,EAAA,OAAMQ,GAC3B,SAAA,GACC,MAAOb,EAAA,EAAC,YAAA,QAAA,EACR,aAAYA,EAAA,EAAC,YAAA,QAAA,EACb,cAAaA,EAAA,EAAC,YAAA,yCAAA,EACf,KAAK,OACL,aAAa,mFAIfF,EAEgEY,EAAA,OAFpD,KAAK,QACf,QAASV,EAAA,EAAC,YAAA,oBAAA,EACV,KAAMA,EAAA,EAAC,YAAA,oCAAA"} |