{"version":3,"file":"forms-submit.mjs","sources":["../src/FormsSubmit.vue","../src/submit.js"],"sourcesContent":["<!--\n  - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<NcContent app-name=\"forms\" :class=\"{ 'app-forms-embedded': isEmbedded }\">\n\t\t<Submit\n\t\t\t:form=\"form\"\n\t\t\t:public-view=\"true\"\n\t\t\t:share-hash=\"shareHash\"\n\t\t\t:is-logged-in=\"isLoggedIn\" />\n\t</NcContent>\n</template>\n\n<script>\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport { loadState } from '@nextcloud/initial-state'\nimport NcContent from '@nextcloud/vue/components/NcContent'\nimport Submit from './views/Submit.vue'\n\nexport default {\n\tname: 'FormsSubmit',\n\n\tcomponents: {\n\t\tNcContent,\n\t\tSubmit,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tform: loadState('forms', 'form'),\n\t\t\tisLoggedIn: loadState('forms', 'isLoggedIn'),\n\t\t\tisEmbedded: loadState('forms', 'isEmbedded', false),\n\t\t\tshareHash: loadState('forms', 'shareHash'),\n\t\t}\n\t},\n\n\tdestroyed() {\n\t\tunsubscribe('forms:last-updated:set', this.emitSubmitMessage)\n\t},\n\n\tmounted() {\n\t\tif (this.isEmbedded) {\n\t\t\tsubscribe('forms:last-updated:set', this.emitSubmitMessage)\n\n\t\t\t// Communicate window size to parent window in iframes\n\t\t\tconst resizeObserver = new ResizeObserver((entries) => {\n\t\t\t\tthis.emitResizeMessage(entries[0].target)\n\t\t\t})\n\t\t\tthis.$nextTick(() =>\n\t\t\t\tresizeObserver.observe(\n\t\t\t\t\tdocument.querySelector('.app-forms-embedded form'),\n\t\t\t\t),\n\t\t\t)\n\t\t}\n\t},\n\n\tmethods: {\n\t\temitSubmitMessage(id) {\n\t\t\twindow.parent?.postMessage(\n\t\t\t\t{\n\t\t\t\t\ttype: 'form-saved',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tid,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'*',\n\t\t\t)\n\t\t},\n\n\t\t/**\n\t\t * @param {HTMLElement} target Target of which the size should be communicated\n\t\t */\n\t\temitResizeMessage(target) {\n\t\t\tconst rect = target.getBoundingClientRect()\n\t\t\tlet height = rect.top + target.scrollHeight\n\t\t\tlet width = target.scrollWidth\n\n\t\t\t// When submitted the height and width is 0\n\t\t\tif (height === 0) {\n\t\t\t\ttarget = document.querySelector(\n\t\t\t\t\t'.app-forms-embedded main .empty-content',\n\t\t\t\t)\n\t\t\t\theight = target.getBoundingClientRect().top + target.scrollHeight\n\t\t\t\twidth = Math.max(\n\t\t\t\t\ttarget.scrollWidth,\n\t\t\t\t\tdocument.querySelector('.app-forms-embedded main header')\n\t\t\t\t\t\t.scrollWidth,\n\t\t\t\t)\n\t\t\t}\n\n\t\t\twindow.parent?.postMessage(\n\t\t\t\t{\n\t\t\t\t\ttype: 'resize-iframe',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'*',\n\t\t\t)\n\t\t},\n\t},\n}\n</script>\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { translate, translatePlural } from '@nextcloud/l10n'\nimport Vue from 'vue'\n\nimport FormsSubmitRoot from './FormsSubmit.vue'\n\n// eslint-disable-next-line import/no-unresolved, n/no-missing-import\nimport 'vite/modulepreload-polyfill'\n\nVue.prototype.t = translate\nVue.prototype.n = translatePlural\n\nexport default new Vue({\n\tel: '#content',\n\t// eslint-disable-next-line vue/match-component-file-name\n\tname: 'FormsSubmitRoot',\n\trender: (h) => h(FormsSubmitRoot),\n})\n"],"names":["_sfc_main","NcContent","Submit","loadState","unsubscribe","subscribe","resizeObserver","entries","id","target","height","width","Vue","translate","translatePlural","h","FormsSubmitRoot"],"mappings":";mTAqBA,MAAAA,EAAA,CACA,KAAA,cAEA,WAAA,CACA,UAAAC,EACA,OAAAC,CACA,EAEA,MAAA,CACA,MAAA,CACA,KAAAC,EAAA,QAAA,MAAA,EACA,WAAAA,EAAA,QAAA,YAAA,EACA,WAAAA,EAAA,QAAA,aAAA,EAAA,EACA,UAAAA,EAAA,QAAA,WAAA,CACA,CACA,EAEA,WAAA,CACAC,EAAA,yBAAA,KAAA,iBAAA,CACA,EAEA,SAAA,CACA,GAAA,KAAA,WAAA,CACAC,EAAA,yBAAA,KAAA,iBAAA,EAGA,MAAAC,EAAA,IAAA,eAAAC,GAAA,CACA,KAAA,kBAAAA,EAAA,CAAA,EAAA,MAAA,CACA,CAAA,EACA,KAAA,UAAA,IACAD,EAAA,QACA,SAAA,cAAA,0BAAA,CACA,CACA,CACA,CACA,EAEA,QAAA,CACA,kBAAAE,EAAA,CACA,OAAA,QAAA,YACA,CACA,KAAA,aACA,QAAA,CACA,GAAAA,CACA,CACA,EACA,GACA,CACA,EAKA,kBAAAC,EAAA,CAEA,IAAAC,EADAD,EAAA,sBAAA,EACA,IAAAA,EAAA,aACAE,EAAAF,EAAA,YAGAC,IAAA,IACAD,EAAA,SAAA,cACA,yCACA,EACAC,EAAAD,EAAA,wBAAA,IAAAA,EAAA,aACAE,EAAA,KAAA,IACAF,EAAA,YACA,SAAA,cAAA,iCAAA,EACA,WACA,GAGA,OAAA,QAAA,YACA,CACA,KAAA,gBACA,QAAA,CACA,MAAAE,EACA,OAAAD,CACA,CACA,EACA,GACA,CACA,CACA,CACA,oSC3FAE,EAAI,UAAU,EAAIC,EAClBD,EAAI,UAAU,EAAIE,EAEH,IAAIF,EAAI,CACtB,GAAI,WAEJ,KAAM,kBACN,OAASG,GAAMA,EAAEC,CAAe,CACjC,CAAC"}