1 |
- {"version":3,"file":"2382-2382.js?v=484b6d8203533f3c80ea","mappings":"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","sources":["webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue?vue&type=style&index=0&id=28c913b4&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue?vue&type=style&index=0&id=4c6c524f&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue","webpack:///nextcloud/apps/files/src/utils/davUtils.js","webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue","webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files/src/components/TemplatePreview.vue?c7b6","webpack://nextcloud/./apps/files/src/components/TemplatePreview.vue?81db","webpack://nextcloud/./apps/files/src/components/TemplatePreview.vue?c414","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/services/Templates.js","webpack://nextcloud/./apps/files/src/views/TemplatePicker.vue?6123","webpack://nextcloud/./apps/files/src/views/TemplatePicker.vue?afd8"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.template-picker__item[data-v-28c913b4]{display:flex}.template-picker__label[data-v-28c913b4]{display:flex;align-items:center;flex:1 1;flex-direction:column}.template-picker__label[data-v-28c913b4],.template-picker__label *[data-v-28c913b4]{cursor:pointer;user-select:none}.template-picker__label[data-v-28c913b4]::before{display:none !important}.template-picker__preview[data-v-28c913b4]{display:block;overflow:hidden;flex:1 1;width:var(--width);min-height:var(--height);max-height:var(--height);padding:0;border:var(--border) solid var(--color-border);border-radius:var(--border-radius-large)}input:checked+label>.template-picker__preview[data-v-28c913b4]{border-color:var(--color-primary-element)}.template-picker__preview--failed[data-v-28c913b4]{display:flex}.template-picker__image[data-v-28c913b4]{max-width:100%;background-color:var(--color-main-background);object-fit:cover}.template-picker__preview--failed .template-picker__image[data-v-28c913b4]{width:calc(var(--margin)*8);margin:auto;background-color:rgba(0,0,0,0) !important;object-fit:initial}.template-picker__title[data-v-28c913b4]{overflow:hidden;max-width:calc(var(--width) + 4px);padding:var(--margin);white-space:nowrap;text-overflow:ellipsis}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/TemplatePreview.vue\"],\"names\":[],\"mappings\":\"AAGC,wCACC,YAAA,CAGD,yCACC,YAAA,CAEA,kBAAA,CACA,QAAA,CACA,qBAAA,CAEA,oFACC,cAAA,CACA,gBAAA,CAGD,iDACC,uBAAA,CAIF,2CACC,aAAA,CACA,eAAA,CAEA,QAAA,CACA,kBAAA,CACA,wBAAA,CACA,wBAAA,CACA,SAAA,CACA,8CAAA,CACA,wCAAA,CAEA,+DACC,yCAAA,CAGD,mDAEC,YAAA,CAIF,yCACC,cAAA,CACA,6CAAA,CAEA,gBAAA,CAID,2EACC,2BAAA,CAEA,WAAA,CACA,yCAAA,CAEA,kBAAA,CAGD,yCACC,eAAA,CAEA,kCAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n\\n.template-picker {\\n\\t&__item {\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\t// Align in the middle of the grid\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tdisplay: none !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&__preview {\\n\\t\\tdisplay: block;\\n\\t\\toverflow: hidden;\\n\\t\\t// Stretch so all entries are the same width\\n\\t\\tflex: 1 1;\\n\\t\\twidth: var(--width);\\n\\t\\tmin-height: var(--height);\\n\\t\\tmax-height: var(--height);\\n\\t\\tpadding: 0;\\n\\t\\tborder: var(--border) solid var(--color-border);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\n\\t\\tinput:checked + label > & {\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t}\\n\\n\\t\\t&--failed {\\n\\t\\t\\t// Make sure to properly center fallback icon\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\t}\\n\\n\\t&__image {\\n\\t\\tmax-width: 100%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t// Failed preview, fallback to mime icon\\n\\t&__preview--failed &__image {\\n\\t\\twidth: calc(var(--margin) * 8);\\n\\t\\t// Center mime icon\\n\\t\\tmargin: auto;\\n\\t\\tbackground-color: transparent !important;\\n\\n\\t\\tobject-fit: initial;\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\t// also count preview border\\n\\t\\tmax-width: calc(var(--width) + 2*2px);\\n\\t\\tpadding: var(--margin);\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.templates-picker__form[data-v-4c6c524f]{padding:calc(var(--margin)*2);padding-bottom:0}.templates-picker__form h2[data-v-4c6c524f]{text-align:center;font-weight:bold;margin:var(--margin) 0 calc(var(--margin)*2)}.templates-picker__list[data-v-4c6c524f]{display:grid;grid-gap:calc(var(--margin)*2);grid-auto-columns:1fr;max-width:calc(var(--fullwidth)*6);grid-template-columns:repeat(auto-fit, var(--fullwidth));grid-auto-rows:1fr;justify-content:center}.templates-picker__buttons[data-v-4c6c524f]{display:flex;justify-content:end;padding:calc(var(--margin)*2) var(--margin);position:sticky;bottom:0;background-image:linear-gradient(0, var(--gradient-main-background))}.templates-picker__buttons button[data-v-4c6c524f],.templates-picker__buttons input[type=submit][data-v-4c6c524f]{height:44px}.templates-picker[data-v-4c6c524f] .modal-container{position:relative}.templates-picker__loading[data-v-4c6c524f]{position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;margin:0;background-color:var(--color-main-background-translucent)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/TemplatePicker.vue\"],\"names\":[],\"mappings\":\"AAEC,yCACC,6BAAA,CAEA,gBAAA,CAEA,4CACC,iBAAA,CACA,gBAAA,CACA,4CAAA,CAIF,yCACC,YAAA,CACA,8BAAA,CACA,qBAAA,CAEA,kCAAA,CACA,wDAAA,CAEA,kBAAA,CAEA,sBAAA,CAGD,4CACC,YAAA,CACA,mBAAA,CACA,2CAAA,CACA,eAAA,CACA,QAAA,CACA,oEAAA,CAEA,kHACC,WAAA,CAKF,oDACC,iBAAA,CAGD,4CACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,QAAA,CACA,yDAAA\",\"sourcesContent\":[\"\\n.templates-picker {\\n\\t&__form {\\n\\t\\tpadding: calc(var(--margin) * 2);\\n\\t\\t// Will be handled by the buttons\\n\\t\\tpadding-bottom: 0;\\n\\n\\t\\th2 {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin: var(--margin) 0 calc(var(--margin) * 2);\\n\\t\\t}\\n\\t}\\n\\n\\t&__list {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-gap: calc(var(--margin) * 2);\\n\\t\\tgrid-auto-columns: 1fr;\\n\\t\\t// We want maximum 5 columns. Putting 6 as we don't count the grid gap. So it will always be lower than 6\\n\\t\\tmax-width: calc(var(--fullwidth) * 6);\\n\\t\\tgrid-template-columns: repeat(auto-fit, var(--fullwidth));\\n\\t\\t// Make sure all rows are the same height\\n\\t\\tgrid-auto-rows: 1fr;\\n\\t\\t// Center the columns set\\n\\t\\tjustify-content: center;\\n\\t}\\n\\n\\t&__buttons {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: end;\\n\\t\\tpadding: calc(var(--margin) * 2) var(--margin);\\n\\t\\tposition: sticky;\\n\\t\\tbottom: 0;\\n\\t\\tbackground-image: linear-gradient(0, var(--gradient-main-background));\\n\\n\\t\\tbutton, input[type='submit'] {\\n\\t\\t\\theight: 44px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Make sure we're relative for the loading emptycontent on top\\n\\t::v-deep .modal-container {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__loading {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\tmargin: 0;\\n\\t\\tbackground-color: var(--color-main-background-translucent);\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.opened)?_c('NcModal',{staticClass:\"templates-picker\",attrs:{\"clear-view-delay\":-1,\"size\":\"large\"},on:{\"close\":_vm.close}},[_c('form',{staticClass:\"templates-picker__form\",style:(_vm.style),on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onSubmit.apply(null, arguments)}}},[_c('h2',[_vm._v(_vm._s(_vm.t('files', 'Pick a template for {name}', { name: _vm.nameWithoutExt })))]),_vm._v(\" \"),_c('ul',{staticClass:\"templates-picker__list\"},[_c('TemplatePreview',_vm._b({attrs:{\"checked\":_vm.checked === _vm.emptyTemplate.fileid},on:{\"check\":_vm.onCheck}},'TemplatePreview',_vm.emptyTemplate,false)),_vm._v(\" \"),_vm._l((_vm.provider.templates),function(template){return _c('TemplatePreview',_vm._b({key:template.fileid,attrs:{\"checked\":_vm.checked === template.fileid,\"ratio\":_vm.provider.ratio},on:{\"check\":_vm.onCheck}},'TemplatePreview',template,false))})],2),_vm._v(\" \"),_c('div',{staticClass:\"templates-picker__buttons\"},[_c('input',{staticClass:\"primary\",attrs:{\"type\":\"submit\",\"aria-label\":_vm.t('files', 'Create a new file with the selected template')},domProps:{\"value\":_vm.t('files', 'Create')}})])]),_vm._v(\" \"),(_vm.loading)?_c('NcEmptyContent',{staticClass:\"templates-picker__loading\",attrs:{\"icon\":\"icon-loading\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files', 'Creating file'))+\"\\n\\t\")]):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\n\nexport const getRootPath = function() {\n\tif (getCurrentUser()) {\n\t\treturn generateRemoteUrl(`dav/files/${getCurrentUser().uid}`)\n\t} else {\n\t\treturn generateRemoteUrl('webdav').replace('/remote.php', '/public.php')\n\t}\n}\n\nexport const isPublic = function() {\n\treturn !getCurrentUser()\n}\n\nexport const getToken = function() {\n\treturn document.getElementById('sharingToken') && document.getElementById('sharingToken').value\n}\n","<!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li class=\"template-picker__item\">\n\t\t<input :id=\"id\"\n\t\t\t:checked=\"checked\"\n\t\t\ttype=\"radio\"\n\t\t\tclass=\"radio\"\n\t\t\tname=\"template-picker\"\n\t\t\t@change=\"onCheck\">\n\n\t\t<label :for=\"id\" class=\"template-picker__label\">\n\t\t\t<div class=\"template-picker__preview\"\n\t\t\t\t:class=\"failedPreview ? 'template-picker__preview--failed' : ''\">\n\t\t\t\t<img class=\"template-picker__image\"\n\t\t\t\t\t:src=\"realPreviewUrl\"\n\t\t\t\t\talt=\"\"\n\t\t\t\t\tdraggable=\"false\"\n\t\t\t\t\t@error=\"onFailure\">\n\t\t\t</div>\n\n\t\t\t<span class=\"template-picker__title\">\n\t\t\t\t{{ nameWithoutExt }}\n\t\t\t</span>\n\t\t</label>\n\t</li>\n</template>\n\n<script>\nimport { encodePath } from '@nextcloud/paths'\nimport { generateUrl } from '@nextcloud/router'\nimport { getToken, isPublic } from '../utils/davUtils.js'\n\n// preview width generation\nconst previewWidth = 256\n\nexport default {\n\tname: 'TemplatePreview',\n\tinheritAttrs: false,\n\n\tprops: {\n\t\tbasename: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tchecked: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tfileid: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\t\tfilename: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tpreviewUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\thasPreview: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tmime: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tratio: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tfailedPreview: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Strip away extension from name\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tnameWithoutExt() {\n\t\t\treturn this.basename.indexOf('.') > -1 ? this.basename.split('.').slice(0, -1).join('.') : this.basename\n\t\t},\n\n\t\tid() {\n\t\t\treturn `template-picker-${this.fileid}`\n\t\t},\n\n\t\trealPreviewUrl() {\n\t\t\t// If original preview failed, fallback to mime icon\n\t\t\tif (this.failedPreview && this.mimeIcon) {\n\t\t\t\treturn this.mimeIcon\n\t\t\t}\n\n\t\t\tif (this.previewUrl) {\n\t\t\t\treturn this.previewUrl\n\t\t\t}\n\t\t\t// TODO: find a nicer standard way of doing this?\n\t\t\tif (isPublic()) {\n\t\t\t\treturn generateUrl(`/apps/files_sharing/publicpreview/${getToken()}?fileId=${this.fileid}&file=${encodePath(this.filename)}&x=${previewWidth}&y=${previewWidth}&a=1`)\n\t\t\t}\n\t\t\treturn generateUrl(`/core/preview?fileId=${this.fileid}&x=${previewWidth}&y=${previewWidth}&a=1`)\n\t\t},\n\n\t\tmimeIcon() {\n\t\t\treturn OC.MimeType.getIconUrl(this.mime)\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonCheck() {\n\t\t\tthis.$emit('check', this.fileid)\n\t\t},\n\t\tonFailure() {\n\t\t\tthis.failedPreview = true\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.template-picker {\n\t&__item {\n\t\tdisplay: flex;\n\t}\n\n\t&__label {\n\t\tdisplay: flex;\n\t\t// Align in the middle of the grid\n\t\talign-items: center;\n\t\tflex: 1 1;\n\t\tflex-direction: column;\n\n\t\t&, * {\n\t\t\tcursor: pointer;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&::before {\n\t\t\tdisplay: none !important;\n\t\t}\n\t}\n\n\t&__preview {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t\t// Stretch so all entries are the same width\n\t\tflex: 1 1;\n\t\twidth: var(--width);\n\t\tmin-height: var(--height);\n\t\tmax-height: var(--height);\n\t\tpadding: 0;\n\t\tborder: var(--border) solid var(--color-border);\n\t\tborder-radius: var(--border-radius-large);\n\n\t\tinput:checked + label > & {\n\t\t\tborder-color: var(--color-primary-element);\n\t\t}\n\n\t\t&--failed {\n\t\t\t// Make sure to properly center fallback icon\n\t\t\tdisplay: flex;\n\t\t}\n\t}\n\n\t&__image {\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-main-background);\n\n\t\tobject-fit: cover;\n\t}\n\n\t// Failed preview, fallback to mime icon\n\t&__preview--failed &__image {\n\t\twidth: calc(var(--margin) * 8);\n\t\t// Center mime icon\n\t\tmargin: auto;\n\t\tbackground-color: transparent !important;\n\n\t\tobject-fit: initial;\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\t// also count preview border\n\t\tmax-width: calc(var(--width) + 2*2px);\n\t\tpadding: var(--margin);\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.vue?vue&type=style&index=0&id=28c913b4&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.vue?vue&type=style&index=0&id=28c913b4&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TemplatePreview.vue?vue&type=template&id=28c913b4&scoped=true\"\nimport script from \"./TemplatePreview.vue?vue&type=script&lang=js\"\nexport * from \"./TemplatePreview.vue?vue&type=script&lang=js\"\nimport style0 from \"./TemplatePreview.vue?vue&type=style&index=0&id=28c913b4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"28c913b4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"template-picker__item\"},[_c('input',{staticClass:\"radio\",attrs:{\"id\":_vm.id,\"type\":\"radio\",\"name\":\"template-picker\"},domProps:{\"checked\":_vm.checked},on:{\"change\":_vm.onCheck}}),_vm._v(\" \"),_c('label',{staticClass:\"template-picker__label\",attrs:{\"for\":_vm.id}},[_c('div',{staticClass:\"template-picker__preview\",class:_vm.failedPreview ? 'template-picker__preview--failed' : ''},[_c('img',{staticClass:\"template-picker__image\",attrs:{\"src\":_vm.realPreviewUrl,\"alt\":\"\",\"draggable\":\"false\"},on:{\"error\":_vm.onFailure}})]),_vm._v(\" \"),_c('span',{staticClass:\"template-picker__title\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.nameWithoutExt)+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.vue?vue&type=script&lang=ts\"","/**\n * @copyright Copyright (c) 2021 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\n\nexport const getTemplates = async function() {\n\tconst response = await axios.get(generateOcsUrl('apps/files/api/v1/templates'))\n\treturn response.data.ocs.data\n}\n\n/**\n * Create a new file from a specified template\n *\n * @param {string} filePath The new file destination path\n * @param {string} templatePath The template source path\n * @param {string} templateType The template type e.g 'user'\n */\nexport const createFromTemplate = async function(filePath, templatePath, templateType) {\n\tconst response = await axios.post(generateOcsUrl('apps/files/api/v1/templates/create'), {\n\t\tfilePath,\n\t\ttemplatePath,\n\t\ttemplateType,\n\t})\n\treturn response.data.ocs.data\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.vue?vue&type=style&index=0&id=4c6c524f&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.vue?vue&type=style&index=0&id=4c6c524f&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TemplatePicker.vue?vue&type=template&id=4c6c524f&scoped=true\"\nimport script from \"./TemplatePicker.vue?vue&type=script&lang=ts\"\nexport * from \"./TemplatePicker.vue?vue&type=script&lang=ts\"\nimport style0 from \"./TemplatePicker.vue?vue&type=style&index=0&id=4c6c524f&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4c6c524f\",\n null\n \n)\n\nexport default component.exports"],"names":["___CSS_LOADER_EXPORT___","push","module","id","previewWidth","name","inheritAttrs","props","basename","type","String","required","checked","Boolean","default","fileid","Number","filename","previewUrl","hasPreview","mime","ratio","data","failedPreview","computed","nameWithoutExt","indexOf","split","slice","join","concat","realPreviewUrl","mimeIcon","getCurrentUser","generateUrl","document","getElementById","value","encodePath","OC","MimeType","getIconUrl","methods","onCheck","$emit","onFailure","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","staticClass","attrs","domProps","on","_v","class","_s","defineComponent","components","NcEmptyContent","NcModal","TemplatePreview","loading","opened","provider","extension","_this$name","extname","length","emptyTemplate","_this$provider","_this$provider2","t","mimetypes","selectedTemplate","templates","find","template","style","width","margin","border","Math","round","open","fetchedProvider","async","axios","get","generateOcsUrl","ocs","getTemplates","app","label","Error","onSubmit","close","currentDirectory","URL","window","location","href","searchParams","_this$provider3","_this$provider$extens","_this$provider4","logger","warn","_this$selectedTemplat","_this$selectedTemplat2","_this$selectedTemplat3","_this$selectedTemplat4","_getCurrentUser","fileInfo","filePath","templatePath","templateType","post","createFromTemplate","normalize","debug","owner","uid","node","File","source","generateRemoteUrl","root","mtime","Date","lastmod","size","permissions","attributes","emit","OCP","Files","Router","goToRoute","view","dir","dirname","openfile","error","showError","_setupProxy","$event","preventDefault","stopPropagation","apply","arguments","_b","_l","key","_e"],"sourceRoot":""}
|