{"version":3,"sources":["webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/objectDestructuringEmpty.js","webpack:///./src/store/oldstore.js"],"names":["_objectDestructuringEmpty","obj","TypeError","_countryCodes","require","_connectors","_formatWhiteList","Vue","use","Vuex","__webpack_exports__","Store","state","activeTextEditor","sentenceBeingEdited","sentenceEditorPreview","sentencePreviewPopoverIsBlocked","variantBeingEdited","templateSectionBeingEdited","templateSectionBeingNamed","templateSectionBeingNamedAndID","template","templatePreview","templateVariables","variableFormats","activePath","user","users","apiKeys","scopes","organization","token","JSON","parse","localStorage","getItem","templates","unsavedChanges","currentDatasetId","templateDataSearchResults","contentSources","contentSources2","dummyData","contentTypes","publicationStats","publicationSingleItemStats","apiUrl","document","location","hostname","indexOf","filters","name","i18n","t","id","categories","custom","formatWhiteList","connectorSettings","exclusiveDropdown","dataFavorites","selectedDataset","templateMultiplePreview","templateMultipleDatasets","showTooltips","showingTemplateBackupInPreview","originalTemplateData","templateBackups","handlingExpiredToken","fixedConnectors","subscriptionPlans","billingInfoTemporary","validCountryCodes","loadingRoute","draggedVariant","draggedVariantList","sentenceDraggedFrom","draggedScenario","draggedSentencelist","scenarioIndex","draggingScenarioGroup","scrollToPath","templatePreviewAsHTML","getters","combinedVariables","vars","concat","Object","toConsumableArray","extraVariables","map","v","_objectSpread","type","reduce","varCount","VariableHelpers","countVariablesInTemplate","allDynamicVars","keys","dynVars","test","replace","notFound","filter","forEach","existing","stringify","console","log","variableGroups","VariableGroup","groupVariables","language","locale","fallbackLocale","mutations","setToken","setItem","clearEditorState","_ref","this","addFileName","_ref2","addSentenceToTemplate","_ref3","templateName","variable","sentence","texts","number","priority","conditions","expression","push","set","addTemplateVariable","_ref4","templateVars","setVariantBeingEdited","variant","stopEditing","edit","blockSentencePreviewPopover","setSentenceBeingEdited","setSentenceEditorPreview","preview","setActiveTextEditor","editor","setTemplateSectionBeingEdited","section","setTemplateSectionBeingNamed","sectionName","setTemplateSectionBeingNamedAndID","sectionId","setExclusiveDropdown","dropdown","toggleScrollToPath","renameTemplateSynonym","data","index","globalSynonyms","findIndex","s","synonymName","newName","replaceTextByRegex","replaceByRegex","query","replacement","pattern","replaceTextByRegexInCurrentSection","transformTemplateSynonyms","transformTemplateSyn","synonym","transformTemplateSynonymsInCurrentSection","setTemplateData","_ref5","variables","Template","unblockSentencePreviewPopover","setSelectedDataset","_ref6","toggleShowTooltips","dragVariant","dropVariantInList","itemIndex","remove","dragVariantEnded","dragScenario","dragScenarioEnded","removeScenario","findSentenceListById","sentenceListId","removeById","sentenceId","addScenarioToNewList","newSentenceListId","sentences","scenario","setPaths","path","refreshPathsInSection","dragScenarioGroupStarted","dragScenarioGroupEnded","setTemplateSettings","templateData","settings","updateUserInfo","userInfo","setTemplatePreview","toggleTemplatePreviewAsHTML","addTemplate","actions","cloneScenarioGroup","_ref7","clones","clone","oldId","cloneScenario","_ref8","getById","getTemplateData","_ref9","templateId","dispatch","commit","Promise","resolve","reject","find","all","then","results","getTemplate","_ref10","http","get","result","body","getVariables","_ref11","_ref12","encodeURIComponent","updateTemplateMethods","_ref13","updatedMethods","metadata","r","methods","put","res","catch","e","saveTemplateChanges","_ref14","export","getSentencePreview","_ref15","sections","post","getTemplatePreview","_ref16","_ref17","_ref17$includeVariabl","includeVariableNames","seed","router","currentRoute","refreshAllPreviews","_ref18","loading","newPreview","variableClicked","_ref19","_ref20","node","clickEvent","$emit","event","testExpression","_ref21","dependentVariables","getDependentVariables","reverse","setActivePath","_ref22","cleanUpTemplate","_ref23","setCategoryFilter","_ref24","length","c","signUp","_ref25","loginDetails","email","username","password","error","logIn","_ref26","_ref27","grant_type","emulateJSON","logOut","_ref28","removeItem","delete","handleExpiredToken","_ref29","modal","_vm","$modal","show","ExtendSession","title","description","confirmButtonText","userDetails","width","height","adaptive","clickToClose","handleExpiredPlan","_ref30","PlanExpired","showSavingOptions","getUser","_ref31","_ref32","asyncToGenerator","regeneratorRuntime","mark","_callee","wrap","_context","prev","next","sent","stop","_x","_x2","apply","arguments","getUsers","_ref33","refresh","_ref34","_callee2","_context2","_x3","_x4","getApiKeys","_ref35","_ref36","_callee3","_context3","_x5","_x6","getScopes","_ref37","_ref38","_callee4","_context4","_x7","_x8","getOrganization","_ref39","_ref40","_callee5","_context5","_x9","_x10","activateUser","_ref41","u","deactivateUser","_ref42","addUser","_ref43","addApi","_ref44","apiKey","newApiKey","changePassword","_changePassword","_callee6","_ref45","_context6","abrupt","_x11","_x12","changeUserInfo","_ref46","_ref47","_callee7","_context7","_x13","_x14","changeOrganizationInfo","_ref48","org","renameApi","_ref49","key","val","uniqueName","newKeyName","editScopes","_ref50","newKeyScopes","k","deleteApi","_ref51","splice","getTemplates","_ref52","searchVariables","_ref53","_ref54","getVariableFormats","_ref55","params","getData","templateLanguage","getFormatExamples","_ref56","_ref57","formats","getSynonymFormatExamples","_ref58","_ref59","publishTemplate","_ref60","_ref61","publicationName","existingPublication","trim","deleteTemplate","_ref62","published","createTemplate","_ref63","_ref64","contentType","contentSource","sources","showConfirmation","_ref65","_ref66","confirmed","ConfirmModal","onConfirm","before-close","getContentSources","_ref67","getIntegrationSettings","_ref68","connectors","f","value","includes","settingsKeys","setting","createFixedIntegration","_ref69","_ref70","integrationEnumName","connector","Connector","default","config","editFixedIntegration","_ref71","integration","enumName","fixedIntegration","deleteFixedIntegration","_ref72","lastFixed","some","source","getContentSources2","_ref73","_ref74","_callee8","_context8","_x15","_x16","getContentSource","_ref75","sourceId","err","getDummyData","_ref76","_ref77","_callee9","_context9","_x17","_x18","getContentTypes","_ref78","_ref79","_callee10","_context10","_x19","_x20","deleteContentType","_ref80","createContentType","_ref81","toLowerCase","createSource","_ref82","createDummy","_createDummy","_callee11","_ref83","dummySourceData","_context11","req","XMLHttpRequest","formData","FormData","append","open","setRequestHeader","access_token","onreadystatechange","readyState","status","responseText","send","_x21","_x22","handleMultiFileUpload","_ref84","fileData","sendExportLink","_ref85","exportData","publicationId","exportModel","cancelVariableMapping","_ref86","fileName","deleteDummy","_ref87","dummy","editSource","_ref88","cSource","dataURL","searchURL","exampleId","deleteSource","_ref89","updateTemplateMetadata","_ref90","templateMetadata","duplicateTemplate","_ref91","newInfo","existingId","newLanguage","getPublicationStats","_ref92","sendStatsLink","_ref93","timespan","getSingleItemStats","_ref94","info","contentId","getFavorites","_ref95","STORAGE_KEY","toggleFavorites","_ref96","dataSet","favorite","getTemplateBackups","_ref97","getBackupInfo","_ref98","backupId","revertTemplate","_ref99","validateResetToken","_ref100","createNewPassword","_ref101","sendResetPassword","_ref102","getSubscriptionPlans","_ref103","getSetupintent","_ref104","setupintent","createSubscription","_ref105","getSubscriptions","_ref106","getCountry","_getCountry","_callee12","_ref107","searchTerm","_context12","fetch","json","resultList","country","common","cca2","flag","flags","svg","_x23","_x24","testSourceConnection","_ref108","testSourceConnections","_ref109","ids","join","getTemplateSettings","_ref110","getTemplateSettingsFields","_ref111","saveTemplateSettings","_ref112","_ref113","addDefaultTemplateSettings","_ref114","templateSettings"],"mappings":"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","file":"js/lazy-view-store-oldstore.6623c897.js","sourcesContent":["export default function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure \" + obj);\n}","import Template from \"@/assets/js/template.js\";\nimport VariableGroup from \"@/assets/js/variableGroup.js\";\nimport VariableHelpers from \"@/assets/js/variableHelpers.js\";\nimport ConfirmModal from \"@/components/modals/ConfirmModal\";\nimport ExtendSession from \"@/components/modals/ExtendSession\";\nimport PlanExpired from \"@/components/modals/PlanExpired\";\nimport Connector from \"@/assets/js/connector.js\";\nimport router from \"../router\";\nimport Vue from \"vue\";\nimport Vuex from \"vuex\";\nimport i18n from \"../i18n\";\nlet _countryCodes = require('@/assets/data/validCountryCodes.json')\nlet _connectors = require('@/assets/data/connectors.json')\nlet _formatWhiteList = require('@/assets/data/formatWhiteList.json')\n\nVue.use(Vuex);\nconst STORAGE_KEY = \"language-storage\";\n\nexport default new Vuex.Store({\n state: {\n activeTextEditor: null,\n sentenceBeingEdited: null,\n sentenceEditorPreview: null, // when editing a sentence, this is the preview shown in the right-side panel\n sentencePreviewPopoverIsBlocked: false,\n variantBeingEdited: null,\n templateSectionBeingEdited: null,\n templateSectionBeingNamed: \"\",\n templateSectionBeingNamedAndID: \"\",\n template: null,\n templatePreview: null, // this is the main preview\n templateVariables: [],\n variableFormats: null,\n activePath: [],\n user: null,\n users: [],\n apiKeys: [],\n scopes: [],\n organization: null,\n token: JSON.parse(localStorage.getItem(\"token\")),\n templates: [],\n unsavedChanges: false,\n currentDatasetId: null,\n templateDataSearchResults: [],\n contentSources: [],\n contentSources2: [],\n dummyData: [],\n contentTypes: [],\n publicationStats: null,\n publicationSingleItemStats: [],\n apiUrl:\n document.location.hostname.indexOf(\"dev.\") > -1\n ? \"http://dev.api.icrobotics.com:63342/\"\n : document.location.hostname.indexOf(\"staging\") > -1 ||\n document.location.hostname.indexOf(\"192.168\") > -1 ||\n document.location.hostname.indexOf(\"localhost\") > -1\n ? \"https://staging.api.icrobotics.com/\"\n : \"https://api.icrobotics.com/\",\n filters: [\n { name: i18n.t(\"home.all\"), id: \"all\", categories: [], custom: \"all\" },\n ],\n formatWhiteList: _formatWhiteList,\n connectorSettings: [],\n exclusiveDropdown: null,\n dataFavorites: [],\n selectedDataset: \"\",\n templateMultiplePreview: [],\n templateMultipleDatasets: [],\n showTooltips: null,\n showingTemplateBackupInPreview: false,\n originalTemplateData: null,\n templateBackups: [],\n handlingExpiredToken: false,\n fixedConnectors: _connectors,\n subscriptionPlans: [],\n billingInfoTemporary: null,\n validCountryCodes: _countryCodes,\n // planExpired: false,\n loadingRoute: false,\n draggedVariant: null,\n draggedVariantList: null,\n sentenceDraggedFrom: null,\n draggedScenario: null,\n draggedSentencelist: null,\n scenarioIndex: null,\n draggingScenarioGroup: false,\n scrollToPath: false,\n templatePreviewAsHTML: false,\n },\n getters: {\n combinedVariables(state) {\n if (!state.template || !state.templateVariables) return {};\n let vars = [\n ...(state.templateVariables || []),\n ...(state.template.extraVariables.map((v) => ({\n custom: true,\n type: \"Bool\",\n ...v,\n })) || []),\n ].reduce((vars, v) => {\n vars[v.name] = v;\n return vars;\n }, {});\n let varCount = VariableHelpers.countVariablesInTemplate(state.template);\n // go through variables and add dynamic ones (e.g. player3, player4 etc.)\n // first lets find the variables that are dynamic (including a number in the name)\n let allDynamicVars = Object.keys(vars).reduce((dynVars, v) => {\n if (/\\d+/g.test(v)) dynVars[v.replace(/\\d+/g, \"\")] = vars[v];\n return dynVars;\n }, {});\n // now let's go through the ones in the template that does not exist yet in the variables\n let notFound = Object.keys(varCount).filter((v) => !vars[v]);\n // for each dynamic variable not found, add it using the existing one as a template\n notFound.forEach((v) => {\n let existing = allDynamicVars[v.replace(/\\d+/g, \"\")];\n if (existing) vars[v] = { ...JSON.parse(JSON.stringify(existing)), name: v };\n else console.log(\"Unknown:\", v);\n });\n\n return vars;\n },\n variableGroups(state, getters) {\n return new VariableGroup(VariableHelpers.groupVariables(getters.combinedVariables));\n },\n language(state) {\n return i18n.locale || i18n.fallbackLocale;\n },\n // stripePublicKey(state){\n // return state.apiUrl == \"https://api.icrobotics.com/\" ? \"pk_live_51Jr1eALwD4JTIsAvTq4RbmMKt0JP28Z5OFl5sAZeXTcbBY4NAREMtKXCNuFksPND43VWTYgjjHuAAWG4rB8CZ0E800VPvI7Tkc\" : \"pk_test_51Jr1eALwD4JTIsAv0PZFSoIScykT7EM2sW5yucfntBfC3hgPsTLgHvZ5dTjIwCI8akm0jLZwfteSvZCevbEVjvan00I0KQ0jyu\"\n // },\n // trialEnding(){\n // // return new Date('January 14, 2021 23:59:59')\n // return false\n // },\n // versionIsTrial(){\n // // Temporary --- Sets the limitations for trial users + countdownbanner content\n // return false\n // }\n },\n mutations: {\n setToken(state, token) {\n console.log(\"setting new token\");\n localStorage.setItem(\"token\", JSON.stringify(token));\n state.token = token;\n },\n clearEditorState({ state }) {\n this.state.sentenceBeingEdited = null;\n this.state.templateDataSearchResults = [];\n this.state.currentDatasetId = null;\n },\n addFileName(state, { template }) {},\n addSentenceToTemplate(state, { templateName, variable }) {\n if (!variable || !templateName) {\n return;\n }\n const template = state.template[templateName];\n console.log(`template: ${JSON.stringify(template, null, 2)}`);\n let sentence = {\n texts: [],\n number: 1,\n priority: 1,\n conditions: [\n {\n expression: \"\",\n },\n ],\n };\n sentence.texts.push(`${variable.name}`);\n template[templateName].push(sentence);\n console.log(`section: ${template[templateName]}`);\n Vue.set(state, \"template\", template);\n },\n addTemplateVariable(state, { variable }) {\n const templateVars = state.templateVariables;\n if (variable) {\n templateVars.push(variable);\n }\n console.log(`template variables: ${JSON.stringify(templateVars, null, 2)}`);\n Vue.set(state, \"templateVariables\", templateVars);\n },\n setVariantBeingEdited(state, variant) {\n if (state.variantBeingEdited && state.variantBeingEdited != variant) {\n state.variantBeingEdited.stopEditing();\n }\n state.variantBeingEdited = variant;\n variant.edit();\n },\n blockSentencePreviewPopover(state) {\n Vue.set(state, \"sentencePreviewPopoverIsBlocked\", true);\n },\n setSentenceBeingEdited(state, sentence) {\n Vue.set(state, \"scrollToPath\", true);\n Vue.set(state, \"sentenceBeingEdited\", sentence);\n },\n setSentenceEditorPreview(state, preview) {\n Vue.set(state, \"sentenceEditorPreview\", preview);\n },\n setActiveTextEditor(state, editor) {\n Vue.set(state, \"activeTextEditor\", editor);\n },\n setTemplateSectionBeingEdited(state, section) {\n Vue.set(state, \"templateSectionBeingEdited\", section);\n },\n setTemplateSectionBeingNamed(state, sectionName) {\n Vue.set(state, \"templateSectionBeingNamed\", sectionName);\n },\n setTemplateSectionBeingNamedAndID(state, sectionId) {\n Vue.set(state, \"templateSectionBeingNamedAndID\", sectionId);\n },\n setExclusiveDropdown(state, dropdown) {\n Vue.set(state, \"exclusiveDropdown\", dropdown);\n },\n toggleScrollToPath(state) {\n Vue.set(state, \"scrollToPath\", !state.scrollToPath);\n },\n renameTemplateSynonym(state, data) {\n const index = state.template.globalSynonyms.findIndex((s) => s.name == data.synonymName);\n Vue.set(state.template.globalSynonyms[index], \"name\", data.newName);\n },\n replaceTextByRegex(state, data) {\n state.template.replaceByRegex(data.query, data.replacement, data.pattern);\n },\n replaceTextByRegexInCurrentSection(state, data) {\n state.templateSectionBeingEdited.replaceByRegex(data.query, data.replacement, data.pattern);\n },\n transformTemplateSynonyms(state, data) {\n state.template.transformTemplateSyn(data.synonym, data.pattern);\n },\n transformTemplateSynonymsInCurrentSection(state, data) {\n state.templateSectionBeingEdited.transformTemplateSyn(data.synonym, data.pattern);\n },\n\n // setActiveTextEditorContents(state, { editor, sentences }) {\n // sentences.forEach(sentence => {\n // sentence = new SentencePreview(sentence, this.sectionId)\n // if (!sentence.sentences) {\n // contents.push({ insert: sentence.text })\n // } else {\n // contents.push({ insert: { sentence: sentence } })\n // }\n // })\n // console.log(`newly entered text: ${newlyEnteredText}`)\n // editor.setContents(contents)\n // // Vue.set(state, 'activeTextEditor', editor)\n // },\n setTemplateData(state, { template, variables }) {\n // todo: new Template(template)\n Vue.set(state, \"template\", new Template(template));\n Vue.set(state, \"templateVariables\", variables);\n this.unsavedChanges = false;\n },\n unblockSentencePreviewPopover(state) {\n Vue.set(state, \"sentencePreviewPopoverIsBlocked\", false);\n },\n setSelectedDataset(state, { selectedDataset }) {\n console.log(selectedDataset);\n Vue.set(state, \"selectedDataset\", selectedDataset);\n },\n toggleShowTooltips(state) {\n Vue.set(state, \"showTooltips\", !state.showTooltips);\n localStorage.setItem(\"toggleShowTooltips\", state.showTooltips);\n },\n\n //Drag n drop functionality\n\n dragVariant(state, data) {\n Vue.set(state, \"draggedVariant\", data.draggedVariant);\n Vue.set(state, \"draggedVariantList\", data.draggedVariantList);\n Vue.set(state, \"sentenceDraggedFrom\", data.sentenceDraggedFrom);\n },\n dropVariantInList(state, itemIndex) {\n // const updatedVariantList = state.draggedVariantList.variants.splice(itemIndex, 1);\n state.draggedVariantList.remove(state.draggedVariant);\n // Vue.set(state, \"draggedVariantList\", updatedVariantList);\n },\n dragVariantEnded(state) {\n Vue.set(state, \"draggedVariant\", null);\n Vue.set(state, \"draggedVariantList\", null);\n Vue.set(state, \"sentenceDraggedFrom\", null);\n },\n\n dragScenario(state, data) {\n Vue.set(state, \"draggedScenario\", data.draggedScenario);\n // Vue.set(state, \"draggedSentencelist\", data.draggedSentencelist);\n // Vue.set(state, \"scenarioIndex\", data.scenarioIndex);\n },\n\n dragScenarioEnded(state) {\n Vue.set(state, \"draggedScenario\", null);\n // Vue.set(state, \"draggedSentencelist\", null);\n // Vue.set(state, \"scenarioIndex\", null);\n },\n\n removeScenario(state, data) {\n state.templateSectionBeingEdited.findSentenceListById(data.sentenceListId).removeById(data.sentenceId);\n },\n\n addScenarioToNewList(state, data) {\n state.templateSectionBeingEdited.findSentenceListById(data.newSentenceListId).sentences.push(data.scenario);\n state.templateSectionBeingEdited.setPaths([]);\n Vue.set(state, \"activePath\", data.scenario.path);\n },\n\n refreshPathsInSection(state) {\n state.templateSectionBeingEdited.setPaths([]);\n },\n\n dragScenarioGroupStarted(state) {\n Vue.set(state, \"draggingScenarioGroup\", true);\n },\n\n dragScenarioGroupEnded(state) {\n Vue.set(state, \"draggingScenarioGroup\", false);\n },\n\n setTemplateSettings(state, templateData) {\n const index = state.templates.findIndex((t) => t.id == templateData.id);\n console.log(index);\n console.log(state.templates[index]);\n Vue.set(state.templates[index], \"settings\", templateData.settings);\n },\n\n updateUserInfo(state, userInfo) {\n Vue.set(state, \"user\", userInfo);\n },\n\n setTemplatePreview(state, preview) {\n Vue.set(state, \"templatePreview\", preview);\n },\n toggleTemplatePreviewAsHTML(state) {\n Vue.set(state, \"templatePreviewAsHTML\", !state.templatePreviewAsHTML);\n },\n\n addTemplate(state, template) {\n state.templates.push(template);\n },\n },\n actions: {\n cloneScenarioGroup({ state }, data) {\n console.log(data.number);\n let clones = [];\n state.templateSectionBeingEdited\n .findSentenceListById(data.sentenceListId)\n .sentences.filter((s) => s.number == data.number)\n .forEach((s) => {\n let clone = s.clone();\n clone.oldId = s.id;\n clones.push(clone);\n });\n return clones;\n },\n cloneScenario({ state }, data) {\n return state.templateSectionBeingEdited\n .findSentenceListById(data.sentenceListId)\n .getById(data.sentenceId)\n .clone();\n },\n getTemplateData({ state, dispatch, commit }, templateId) {\n return new Promise((resolve, reject) => {\n // commit('setTemplateData', { template, variables })\n let template = state.templates.find((t) => t.id == templateId);\n if (!template) {\n reject(\"notfound\");\n } else {\n Promise.all([dispatch(\"getTemplate\", template.id), dispatch(\"getVariables\", { template })]).then(\n (results) => {\n commit(\"setTemplateData\", {\n template: results[0],\n variables: results[1],\n });\n dispatch(\"getTemplatePreview\", {\n template: state.template,\n variables: state.templateVariables,\n }).then((preview) => {\n dispatch(\"getTemplateBackups\", templateId),\n // dispatch(\"getFavorites\")\n (state.templatePreview = preview);\n dispatch(\"getFavorites\");\n resolve(preview);\n });\n },\n reject,\n );\n }\n });\n },\n getTemplate({ state }, templateId) {\n // return new Promise((resolve, reject) => {\n // resolve(templateFile)\n // })\n return Vue.http.get(\"templates/\" + templateId).then((result) => result.body);\n },\n\n getVariables({ state, dispatch }, { template, id }) {\n return Vue.http\n .get(`templates/${template.id}/metadata/variables` + (id ? `?contentId=${encodeURIComponent(id)}` : \"\"))\n .then((result) => result.body);\n },\n\n updateTemplateMethods({ state, dispatch }, updatedMethods) {\n dispatch(\"getTemplate\", state.template.metadata.id).then((r) => {\n r.methods = updatedMethods;\n return Vue.http\n .put(\"templates/\" + state.template.metadata.id, r)\n .then((res) => {\n console.log(\"Should only save and update template methods\", res);\n })\n .catch((e) => console.log(\"some error:\", e));\n });\n },\n\n saveTemplateChanges({ state, dispatch }) {\n console.log(state.template.export());\n return Vue.http.put(\"templates/\" + state.template.metadata.id, state.template.export()).then(() => {\n state.unsavedChanges = false;\n dispatch(\"getTemplateBackups\", state.template.metadata.id);\n });\n },\n getSentencePreview({ state }, sentence) {\n // first ignore the first condition\n let template = {\n metadata: state.template.metadata,\n extraVariables: state.template.extraVariables,\n globalSynonyms: state.template.globalSynonyms,\n methods: state.template.methods,\n sections: [{ sentences: [{ texts: [sentence] }], name: \"Body\", id: \"body\" }],\n language: state.template.language,\n };\n return Vue.http\n .post(\"editor/previewtemplate?includeVariableNames=false\", {\n template: template,\n variables: state.templateVariables,\n })\n .then((result) => {\n return result.body.sections[0].result ? result.body.sections[0].result.sentences : null;\n });\n },\n getTemplatePreview(\n { state, dispatch },\n { template, variables, includeVariableNames = !state.templatePreviewAsHTML },\n ) {\n // return new Promise((resolve, reject) => {\n // resolve(templatePreviewFile)\n // })\n // console.log(router.currentRoute);\n let seed = router.currentRoute ? router.currentRoute.query.seed || null : null;\n return Vue.http\n .post(\n \"editor/previewtemplate?includeVariableNames=\" + includeVariableNames + (seed ? \"&seed=\" + seed : \"\"),\n { template: template.export(), variables: variables },\n // { template: !backupPreview ? template.export() : template, variables: variables }\n )\n .then((result) => result.body);\n },\n\n refreshAllPreviews({ state, dispatch }) {\n state.templateMultiplePreview.forEach((preview) => {\n preview.loading = true;\n dispatch(\"getTemplatePreview\", {\n template: state.template,\n variables: preview.variables,\n }).then((newPreview) => {\n preview.preview = newPreview;\n preview.loading = false;\n });\n });\n },\n\n variableClicked({ state }, { node, variable, clickEvent }) {\n if (state.activeTextEditor) {\n state.activeTextEditor.$emit(\"variable-clicked\", {\n node,\n variable,\n event,\n });\n }\n },\n testExpression({ state, getters }, expression) {\n // return new Promise((resolve, reject) => {\n // resolve({ result: true, valid: true })\n // })\n return Vue.http\n .post(\"editor/expressions/check\", {\n expression: expression,\n dependentVariables: VariableHelpers.getDependentVariables(expression, getters.combinedVariables).reverse(), // Reverse - then checking the expressions also works if the users uses extravariables in extravariables\n })\n .then((result) => result.body);\n },\n setActivePath({ state, dispatch }, path) {\n console.log(\"active path set: \" + path);\n Vue.set(state, \"activePath\", path);\n },\n cleanUpTemplate({ state }, template) {\n // clean up a template\n },\n\n setCategoryFilter({ state, commit }) {\n if (state.filters.length <= 1) {\n state.contentTypes.map((c) => {\n let filter = {\n name: c.name,\n id: c.id,\n categories: [c.name],\n custom: c.custom,\n };\n state.filters.push(filter);\n });\n }\n },\n\n signUp({ state, dispatch }, data) {\n return new Promise((resolve, reject) => {\n Vue.http\n .post(\"organizations\", data)\n .then(() => {\n const loginDetails = {\n email: data.user.username,\n password: data.user.password,\n };\n router.push(\"login\");\n dispatch(\"logIn\", loginDetails).then((res) => {\n router.push(\"home\");\n });\n resolve(true);\n })\n .catch((error) => {\n reject(error);\n console.log(\"register error\");\n });\n });\n },\n\n logIn({ state, commit }, { email, password }) {\n return new Promise((resolve, reject) => {\n return Vue.http\n .post(\"login\", { username: email, password: password, grant_type: \"password\" }, { emulateJSON: true })\n .then((result) => {\n commit(\"setToken\", result.body);\n resolve(true);\n })\n .catch((e) => {\n reject(e);\n });\n });\n },\n logOut({ state }) {\n return new Promise((resolve, reject) => {\n localStorage.removeItem(\"token\");\n Vue.delete(state, \"user\", null);\n Vue.delete(state, \"token\", null);\n resolve();\n });\n },\n\n handleExpiredToken({ state }) {\n // console.log( state.user.username ) //login email\n if (!state.handlingExpiredToken) {\n state.handlingExpiredToken = true;\n let modal = this._vm.$modal;\n modal.show(\n ExtendSession,\n {\n title: i18n.t(\"extend-session.title\"),\n description: i18n.t(\"extend-session.description\"),\n confirmButtonText: i18n.t(\"extend-session.button\"),\n userDetails: state.user,\n },\n { width: 450, height: \"auto\", adaptive: true, clickToClose: false },\n );\n }\n },\n\n handleExpiredPlan({ state }) {\n if (router.currentRoute.name == \"template\" && state.unsavedChanges) {\n console.log(\"editing a template & changes are made\");\n }\n let modal = this._vm.$modal;\n modal.show(\n PlanExpired,\n {\n title: i18n.t(\"expired.title\"),\n description: i18n.t(\"expired.description\"),\n showSavingOptions: router.currentRoute.name == \"template\" && state.unsavedChanges,\n },\n { width: 450, height: \"auto\", adaptive: true, clickToClose: false },\n );\n },\n\n getUser({ state, commit }) {\n return new Promise(async (resolve, reject) => {\n if (state.user) resolve(state.user);\n else {\n state.user = (await Vue.http.get(\"users/me\")).body;\n resolve(state.user);\n }\n });\n },\n getUsers({ state, commit }, refresh) {\n return new Promise(async (resolve, reject) => {\n if (!refresh && state.users.length) resolve(state.users);\n else {\n state.users = (await Vue.http.get(\"organizations/me/users\")).body;\n resolve(state.users);\n }\n });\n },\n getApiKeys({ state, commit }) {\n return new Promise(async (resolve, reject) => {\n if (state.apiKeys.length) resolve(state.apiKeys);\n else {\n state.apiKeys = (await Vue.http.get(\"organizations/me/apikeys\")).body;\n resolve(state.apiKeys);\n }\n });\n },\n\n getScopes({ state, commit }) {\n return new Promise(async (resolve, reject) => {\n if (state.scopes.length) resolve(state.scopes);\n else {\n state.scopes = (await Vue.http.get(\"organizations/me/apikeys/scopes\")).body;\n resolve(state.scopes);\n }\n });\n },\n\n getOrganization({ state, commit }) {\n return new Promise(async (resolve, reject) => {\n if (state.organization) resolve(state.organization);\n else {\n state.organization = (await Vue.http.get(\"organizations/me\")).body;\n resolve(state.organization);\n }\n });\n },\n activateUser({ state }, id) {\n console.log(id);\n return Vue.http.put(`organizations/me/users/${id}/activate`).then(() => {\n Vue.set(state.users.find((u) => u.id == id), \"deactivated\", false);\n });\n },\n deactivateUser({ state }, id) {\n return Vue.http.put(`organizations/me/users/${id}/deactivate`).then(() => {\n Vue.set(state.users.find((u) => u.id == id), \"deactivated\", true);\n });\n },\n\n addUser({ state }, user) {\n return new Promise((resolve, reject) => {\n Vue.http\n .post(\"organizations/me/users\", user, { emulateJSON: true })\n .then((result) => {\n resolve(true);\n state.users.push(result.body);\n return result.body;\n })\n\n .catch((error) => {\n reject(error);\n });\n });\n },\n\n addApi({ state }, apiKey) {\n return new Promise((resolve, reject) => {\n Vue.http\n .post(\"organizations/me/apikeys\", apiKey, { emulateJSON: true })\n .then((result) => {\n result.body.newApiKey = true;\n state.apiKeys.push(result.body);\n resolve(result.body);\n })\n .catch((error) => {\n reject(error);\n });\n });\n },\n\n // changePassword({ state }, data) {\n // return Vue.http.put(\"users/me/password\", data, {\n // emulateJSON: true\n // });\n // },\n\n // async changePassword({ state }, data) {\n // return (await Vue.http.put(\"users/me/password\", data)).body\n // },\n\n async changePassword({ state }, data) {\n return new Promise((resolve, reject) => {\n Vue.http\n .put(\"users/me/password\", data)\n .then((result) => {\n console.log(result.body);\n if (result.body === false) {\n reject(result);\n } else {\n // state.data = result.body;\n resolve(true);\n return result.body;\n }\n })\n .catch((error) => {\n console.log(error);\n reject(error);\n });\n });\n },\n\n changeUserInfo({ state, dispatch, commit }, user) {\n return new Promise(async (resolve, reject) => {\n Vue.http\n .put(\"users/me\", user)\n .then((result) => {\n commit(\"updateUserInfo\", result.body);\n dispatch(\"getUsers\", true);\n resolve(result.body);\n })\n .catch((e) => {\n reject(e);\n });\n });\n },\n\n changeOrganizationInfo({ state }, org) {\n return new Promise((resolve, reject) => {\n Vue.http.put(\"organizations/me\", org).then((result) => {\n state.organization = result.body;\n resolve(true);\n return result.body;\n });\n });\n },\n\n renameApi({ state }, apiKey) {\n let scopes = [];\n Object.keys(apiKey.scopes).forEach((key) => {\n let val = apiKey.scopes[key];\n scopes.push(val.uniqueName);\n });\n\n let newKeyName = { name: apiKey.name, scopes: scopes };\n newKeyName = JSON.stringify(newKeyName);\n\n return new Promise((resolve, reject) => {\n Vue.http\n .put(\"organizations/me/apikeys/\" + apiKey.id, newKeyName, {\n emulateJSON: true,\n })\n .then((result) => {\n resolve(true);\n return result.body;\n })\n .catch((error) => {\n reject(error);\n });\n });\n },\n\n editScopes({ state }, apiKey) {\n const newKeyScopes = { name: apiKey.name, scopes: apiKey.scopes };\n return new Promise((resolve, reject) => {\n Vue.http\n .put(\"organizations/me/apikeys/\" + apiKey.id, JSON.stringify(newKeyScopes), { emulateJSON: true })\n .then((result) => {\n let k = state.apiKeys.find((key) => key.id == apiKey.id);\n k.scopes = result.body.scopes;\n resolve(true);\n // state.apiKeys[state.apiKeys.findIndex(a => a.id == apiKey.id)] = result.body;\n return result.body;\n })\n .catch((error) => {\n reject(error);\n });\n });\n },\n\n deleteApi({ state, dispatch }, apiKey) {\n return new Promise((resolve, reject) => {\n dispatch(\"showConfirmation\", {\n title: i18n.t(\"delete-modal.delete\") + \" \" + apiKey.name + \"?\",\n confirmButtonText: i18n.t(\"delete-modal.accept\"),\n }).then(\n () => {\n Vue.http.delete(\"organizations/me/apikeys/\" + apiKey.id).then(() => {\n state.apiKeys.splice(state.apiKeys.findIndex((t) => t.id == apiKey.id), 1);\n resolve();\n });\n },\n () => {\n reject();\n },\n );\n });\n },\n\n getTemplates({ state, commit }) {\n // return new Promise((resolve, reject) => {\n // state.templates = metadatafile\n // resolve(metadatafile)\n // })\n return Vue.http.get(\"templates/metadata\").then((result) => {\n state.templates = result.body;\n });\n },\n\n searchVariables({ state, commit }, { filter, templateId }) {\n return Vue.http\n .get(`templates/${templateId}/search?pageSize=10&query=${encodeURIComponent(filter)}`)\n .then((result) => result.body);\n },\n\n getVariableFormats({ state, dispatch }, params) {\n const getData = () => {\n return Vue.http.get(`editor/metadata/formats?templateLanguage=${params.templateLanguage}`).then((result) => {\n state.variableFormats = result.body;\n return result.body;\n });\n };\n if (!params.templateLanguage) {\n dispatch(\"getTemplate\", params.templateId).then((res) => {\n params.templateLanguage = res.language;\n getData();\n });\n } else {\n getData();\n }\n },\n getFormatExamples({ getters, state }, { variable, formats }) {\n let dependentVariables = VariableHelpers.getDependentVariables(variable.name, getters.combinedVariables);\n return Vue.http\n .post(\"editor/variables/format?language=\" + state.template.language, {\n dependentVariables,\n variable,\n formats,\n })\n .then((result) => result.body);\n },\n getSynonymFormatExamples({ getters, state }, { synonym, formats, all }) {\n return Vue.http\n .post(\"editor/synonyms/format?language=\" + state.template.language + (all ? \"&all=true\" : \"\"), {\n synonym,\n formats,\n })\n .then((result) => result.body);\n },\n publishTemplate({ state }, { publicationName, template, existingPublication }) {\n return Vue.http[existingPublication ? \"put\" : \"post\"](\n \"templates/\" +\n template.id +\n \"/publish\" +\n (existingPublication ? \"/\" + existingPublication.id : \"?name=\" + publicationName.trim()),\n ).then((result) => {\n console.log(result.body);\n if (existingPublication) {\n state.templates.splice(state.templates.findIndex((t) => t.id === existingPublication.id), 1, result.body);\n } else state.templates.push(result.body);\n\n return result.body;\n });\n },\n deleteTemplate({ state, dispatch }, template) {\n return new Promise((resolve, reject) => {\n dispatch(\"showConfirmation\", {\n title:\n i18n.t(\"delete-modal.delete\") +\n \" \" +\n (template.published ? i18n.t(\"delete-modal.publication\") : i18n.t(\"delete-modal.template\")) +\n \"?\",\n description:\n i18n.t(\"delete-modal.desc-one\") +\n (template.published ? i18n.t(\"delete-modal.publication\") : i18n.t(\"delete-modal.template\")) +\n i18n.t(\"delete-modal.desc-two\"),\n confirmButtonText: i18n.t(\"delete-modal.accept\"),\n }).then(\n () => {\n Vue.http.delete(\"templates/\" + template.id).then(() => {\n state.templates.splice(state.templates.findIndex((t) => t.id == template.id), 1);\n\n resolve();\n });\n },\n () => {\n reject();\n },\n );\n });\n },\n createTemplate({ dispatch, commit }, { templateName, contentType, contentSource, language }) {\n return Vue.http\n .post(\"templates\", {\n name: templateName,\n language: language,\n contentType: contentType,\n sources: contentSource,\n template: {},\n })\n .then((result) => {\n commit(\"addTemplate\", result.body.metadata);\n dispatch(\"addDefaultTemplateSettings\", result.body);\n });\n },\n showConfirmation({}, { title, description, confirmButtonText }) {\n let modal = this._vm.$modal;\n return new Promise((resolve, reject) => {\n let confirmed = false;\n modal.show(\n ConfirmModal,\n {\n title: title,\n description: description,\n confirmButtonText: confirmButtonText,\n onConfirm: (result) => {\n confirmed = true;\n resolve(result);\n },\n },\n { width: 310, height: \"auto\", adaptive: true },\n {\n \"before-close\": (event) => {\n if (!confirmed) reject();\n },\n },\n );\n });\n },\n // getContentSources({ state }) {\n // return new Promise((resolve, reject) => {\n // if (state.contentSources.length) resolve(state.contentSources);\n // else\n // Vue.http.get(\"organizations/me/sources\").then(result => {\n // state.contentSources = result.body;\n // resolve(state.contentSources);\n // });\n // });\n // },\n\n getContentSources({ state }) {\n return new Promise((resolve, reject) => {\n Vue.http.get(\"organizations/me/sources\").then((result) => {\n state.contentSources = result.body;\n // console.log(result.body)\n resolve(state.contentSources);\n });\n });\n },\n getIntegrationSettings({ state }, settings) {\n return new Promise((resolve, reject) => {\n let sources;\n if (settings) {\n sources = settings;\n } else {\n const connectors = state.contentTypes.filter((c) =>\n state.fixedConnectors.map((f) => f.value).includes(c.name),\n );\n sources = connectors.map((c) => c.name);\n }\n Vue.http.post(\"organizations/me/sources/settings\", { sources: sources }).then((result) => {\n if (settings) {\n const settingsKeys = Object.keys(result.body);\n settingsKeys.forEach((setting) => {\n if (!state.connectorSettings[setting]) Vue.set(state.connectorSettings, setting, result.body[setting]);\n });\n } else {\n state.connectorSettings = result.body;\n }\n resolve(result.body);\n });\n });\n },\n\n createFixedIntegration({ state, dispatch }, { integrationEnumName, settings }) {\n return new Promise((resolve, reject) => {\n let connector = new Connector(\n integrationEnumName,\n state.fixedConnectors.find((c) => c.value == integrationEnumName).name,\n );\n settings.forEach((setting) => {\n if (setting.default) {\n connector.config[setting.id] = setting.default;\n }\n });\n Vue.http\n .post(\"organizations/me/sources\", connector)\n .then((result) => {\n dispatch(\"getContentTypes\", true)\n .then(() => dispatch(\"getContentSources\"))\n .then(() => dispatch(\"getContentSources2\", true))\n .then(() => resolve(result.body));\n })\n .catch((error) => {\n console.log(\"error\", error);\n reject(error);\n });\n });\n },\n\n editFixedIntegration({ state }, integration) {\n console.log(integration);\n return new Promise((resolve, reject) => {\n Vue.http\n .put(\"organizations/me/sources/\" + integration.enumName, integration)\n .then((result) => {\n console.log(result.body);\n result.body.fixedIntegration = true;\n resolve(result.body);\n return result.body;\n })\n .catch((error) => {\n console.log(\"error\", error);\n reject(error);\n });\n });\n },\n\n deleteFixedIntegration({ state, dispatch }, integration) {\n return new Promise((resolve, reject) => {\n \n Vue.http\n .delete(\"organizations/me/sources/\" + integration.enumName + \"?sourceId=\" + integration.id, integration)\n .then(() => {\n // Check if last\n const lastFixed = !state.contentSources.some(\n (source) => source.contentType.id == integration.contentType.id && source.id != integration.id,\n );\n if (lastFixed) {\n state.filters.splice(state.filters.findIndex((f) => f.name == integration.name), 1);\n }\n dispatch(\"getContentSources\")\n .then(() => dispatch(\"getContentSources2\", true))\n .then(() => dispatch(\"getContentTypes\", true));\n resolve(lastFixed);\n })\n .catch((error) => {\n console.log(\"error\", error);\n reject(error);\n });\n \n });\n },\n\n getContentSources2({ state, commit }, refresh) {\n return new Promise(async (resolve, reject) => {\n if (!refresh && state.contentSources2.length) resolve(state.contentSources2);\n else {\n state.contentSources2 = (await Vue.http.get(\"contentsources\")).body;\n resolve(state.contentSources2);\n }\n });\n },\n\n getContentSource({ state }, sourceId) {\n return new Promise((resolve, reject) => {\n Vue.http\n .get(`contentsources/${sourceId}`)\n .then((res) => {\n resolve(res.body);\n })\n .catch((err) => {\n reject(err);\n });\n });\n },\n\n getDummyData({ state, commit }, contentSource) {\n return new Promise(async (resolve, reject) => {\n await Vue.http.get(`contentsources/${contentSource.id}/dummydata`).then((res) => {\n resolve(res.body);\n });\n });\n },\n\n getContentTypes({ state, commit }, refresh) {\n return new Promise(async (resolve, reject) => {\n if (!refresh && state.contentTypes.length) resolve(state.contentTypes);\n else {\n state.contentTypes = (await Vue.http.get(\"contentsources/types\")).body;\n resolve(state.contentTypes);\n }\n });\n },\n\n deleteContentType({ state, dispatch }, contentType) {\n return new Promise((resolve, reject) => {\n dispatch(\"showConfirmation\", {\n title: i18n.t(\"delete-modal.delete\") + \" \" + contentType.name + \"?\",\n confirmButtonText: i18n.t(\"delete-modal.accept\"),\n }).then(() => {\n Vue.http\n .delete(\"contentsources/types/\" + contentType.id)\n .then(() => {\n state.contentTypes.splice(state.contentTypes.findIndex((t) => t.id == contentType.id), 1);\n state.filters.splice(state.filters.findIndex((f) => f.name == contentType.name), 1);\n resolve(true);\n })\n .catch((error) => {\n console.log(\"error\", error);\n reject(error);\n });\n });\n });\n },\n\n createContentType({ state, dispatch }, contentType) {\n return new Promise((resolve, reject) => {\n Vue.http\n .post(\"contentsources/types?name=\" + contentType, {\n emulateJSON: true,\n })\n .then((result) => {\n let filter = {\n name: result.body.name,\n id: result.body.name.toLowerCase(),\n categories: [result.body.name],\n custom: result.body.custom,\n };\n // state.filters.push(filter);\n // dispatch('setCategoryFilter', true).then(() => resolve(true))\n resolve(result);\n state.contentTypes.push(result.body);\n return result.body;\n })\n .catch((error) => {\n reject(error);\n });\n });\n },\n\n createSource({ state, dispatch }, contentSource) {\n console.log(contentSource);\n return new Promise((resolve, reject) => {\n Vue.http\n .post(\"contentsources\", contentSource, { emulateJSON: true })\n .then((result) => {\n console.log(result);\n dispatch(\"getContentSources2\", true).then(() => resolve(true));\n })\n\n .catch((error) => {\n reject(error);\n });\n });\n },\n\n async createDummy({ state, dispatch }, dummySourceData) {\n return new Promise((resolve, reject) => {\n let req = new XMLHttpRequest();\n let formData = new FormData();\n Object.keys(dummySourceData).forEach((key) => formData.append(key, dummySourceData[key]));\n req.open(\"POST\", `${state.apiUrl}contentsources/${dummySourceData.sourceId}/dummydata`);\n req.setRequestHeader(\"Authorization\", \"Bearer \" + state.token.access_token);\n req.onreadystatechange = function() {\n if (this.readyState == 4) {\n // let response = JSON.parse(this.responseText)\n if (this.status == 200) {\n const res = JSON.parse(this.responseText);\n resolve(res);\n }\n // else reject(this.responseText)\n else reject();\n }\n };\n req.send(formData);\n });\n },\n\n handleMultiFileUpload({ state, dispatch }, fileData) {\n return new Promise((resolve, reject) => {\n Vue.http\n .post(`contentsources/${fileData.sourceId}/dummydata/map`, fileData.fileData)\n .then(() => {\n resolve();\n })\n .catch((err) => {\n reject(err.error);\n });\n });\n },\n\n sendExportLink({ state }, exportData) {\n return new Promise((resolve, reject) => {\n Vue.http\n .post(`templates/${exportData.publicationId}/export`, exportData.exportModel)\n .then((res) => {\n resolve(res);\n })\n .catch((err) => {\n reject(err);\n });\n });\n },\n\n cancelVariableMapping({ state }, fileName) {\n return new Promise((resolve, reject) => {\n Vue.http\n .post(\"contentsources/dummydata/map/cancel\", { fileName: fileName })\n .then(() => {\n resolve();\n })\n .catch((err) => {\n reject(err);\n });\n });\n },\n\n deleteDummy({ state, dispatch }, dummySourceData) {\n return new Promise((resolve, reject) => {\n dispatch(\"showConfirmation\", {\n title: i18n.t(\"delete-modal.delete\"),\n description: dummySourceData.dummy.name + \"?\",\n confirmButtonText: i18n.t(\"delete-modal.accept\"),\n }).then(\n () => {\n Vue.http\n .delete(`contentsources/${dummySourceData.sourceId}/dummydata/${dummySourceData.dummy.id}`)\n .then(() => {\n resolve();\n });\n },\n () => {\n reject();\n },\n );\n });\n },\n\n editSource({ state }, contentSource) {\n return new Promise((resolve, reject) => {\n Vue.http\n .put(\"contentsources/\" + contentSource.id, JSON.stringify(contentSource), { emulateJSON: true })\n .then((result) => {\n let cSource = state.contentSources2.find((s) => s.id == contentSource.id);\n cSource.dataURL = result.body.dataURL;\n cSource.searchURL = result.body.searchURL;\n cSource.exampleId = result.body.exampleId;\n cSource.name = result.body.name;\n resolve(true);\n return result.body;\n })\n .catch((error) => {\n reject(error);\n });\n });\n },\n\n deleteSource({ state, dispatch }, contentSource) {\n return new Promise((resolve, reject) => {\n Vue.http\n .delete(\"contentsources/\" + contentSource.id)\n .then(() => {\n state.contentSources2.splice(state.contentSources2.findIndex((t) => t.id == contentSource.id), 1);\n dispatch(\"getContentSources\");\n resolve();\n })\n .catch((e) => {\n reject();\n });\n });\n },\n\n updateTemplateMetadata({ state }, templateMetadata) {\n console.log(templateMetadata);\n return new Promise((resolve, reject) => {\n Vue.http.put(\"templates/\" + templateMetadata.id + \"/metadata\", templateMetadata).then((result) => {\n console.log(result.body);\n state.templates[state.templates.findIndex((t) => t.id === templateMetadata.id)] = result.body;\n return result.body;\n });\n });\n },\n\n duplicateTemplate({ state, dispatch }, newInfo) {\n return new Promise((resolve, reject) => {\n Vue.http\n .post(`templates/${newInfo.existingId}/copy?newLanguage=${newInfo.newLanguage}&newName=${newInfo.newName}`, {\n emulateJSON: true,\n })\n .then((result) => {\n resolve(true);\n return dispatch(\"getTemplates\");\n })\n .catch((error) => {\n reject(error);\n });\n });\n },\n\n getPublicationStats({ state }, id) {\n return new Promise((resolve, reject) => {\n Vue.http\n .get(`templates/${id}/usage`, { emulateJSON: true })\n .then((result) => {\n state.publicationStats = result.body;\n resolve(result.body);\n })\n .catch((error) => {\n reject(error);\n });\n });\n },\n sendStatsLink({ state }, data) {\n console.log(data);\n return new Promise((resolve, reject) => {\n Vue.http\n .get(\n `templates/${data.publicationId}/usagereport?timespan=${data.formData.timespan}&email=${\n data.formData.email\n }`,\n )\n .then((result) => {\n console.log(\"Email sent\");\n resolve(result.body);\n })\n .catch((error) => {\n console.log(error);\n reject(error);\n });\n });\n },\n\n getSingleItemStats({ state }, info) {\n return new Promise((resolve, reject) => {\n Vue.http\n .get(`templates/${info.publicationId}/${info.contentId}/usage`, {\n emulateJSON: true,\n })\n .then((result) => {\n if (info.contentId == \"\") {\n state.publicationSingleItemStats = [];\n } else {\n state.publicationSingleItemStats = result.body;\n resolve(result.body);\n }\n })\n .catch((error) => {\n reject(error);\n });\n });\n },\n getFavorites({ state }) {\n let STORAGE_KEY = \"template-\" + state.template.metadata.id;\n state.dataFavorites = JSON.parse(localStorage.getItem(STORAGE_KEY)) || [];\n },\n toggleFavorites({ state }, dataSet) {\n let STORAGE_KEY = \"template-\" + state.template.metadata.id;\n if (state.dataFavorites.some((favorite) => favorite.id == dataSet.id)) {\n state.dataFavorites.splice(state.dataFavorites.findIndex((favorite) => favorite.id == dataSet.id), 1);\n } else {\n state.dataFavorites.push(dataSet);\n }\n localStorage.setItem(STORAGE_KEY, JSON.stringify(state.dataFavorites));\n },\n\n getTemplateBackups({ state }, templateId) {\n state.templateBackups = [];\n return new Promise((resolve, reject) => {\n Vue.http\n .get(`templates/${templateId}/backups`)\n .then((result) => {\n state.templateBackups = result.body;\n resolve(result);\n })\n .catch((error) => {\n reject(error);\n });\n });\n },\n getBackupInfo({ state }, data) {\n console.log(data);\n return new Promise((resolve, reject) => {\n Vue.http\n .get(`templates/${data.templateId}/backups/${data.backupId}`)\n .then((result) => {\n // console.log(result)\n resolve(result);\n })\n .catch((error) => {\n reject(error);\n });\n });\n },\n revertTemplate({ state, dispatch }, data) {\n console.log(data);\n return new Promise((resolve, reject) => {\n Vue.http\n .put(`templates/${data.templateId}/backups/${data.backupId}/revert`)\n .then((result) => {\n console.log(result);\n resolve(result);\n })\n .catch((error) => {\n reject(error);\n });\n });\n },\n validateResetToken({ state }, data) {\n // console.log(data)\n return new Promise((resolve, reject) => {\n Vue.http\n .post(`validateresettoken`, data)\n .then((result) => {\n // console.log(result)\n resolve(result);\n })\n .catch((error) => {\n reject(error);\n });\n });\n },\n createNewPassword({ state }, data) {\n return new Promise((resolve, reject) => {\n Vue.http\n .post(`resetpassword`, data)\n .then((result) => {\n resolve(result);\n })\n .catch((error) => {\n reject(error);\n });\n });\n },\n sendResetPassword({ state }, data) {\n return new Promise((resolve, reject) => {\n Vue.http\n .get(`sendresetpasswordmessage/` + data)\n .then((result) => {\n resolve(result);\n })\n .catch((error) => {\n reject(error);\n });\n });\n },\n getSubscriptionPlans({ state }) {\n return new Promise((resolve, reject) => {\n Vue.http\n .get(\"subscription/plans\")\n .then((result) => {\n console.log(result);\n state.subscriptionPlans = result.body;\n resolve(result);\n })\n .catch((error) => {\n console.log(error);\n reject(error);\n });\n });\n },\n getSetupintent({ state }) {\n return new Promise((resolve, reject) => {\n Vue.http\n .get(\"subscription/setupintent\")\n .then((result) => {\n state.setupintent = result.body;\n resolve(result.body);\n })\n .catch((error) => {\n console.log(error);\n reject(error);\n });\n });\n },\n createSubscription({ state }, data) {\n console.log(data);\n return new Promise((resolve, reject) => {\n Vue.http\n .post(\"organizations/me/subscribe\", data)\n .then((result) => {\n resolve(result);\n })\n .catch((error) => {\n console.log(error);\n reject(error);\n });\n });\n },\n getSubscriptions({ state }) {\n return new Promise((resolve, reject) => {\n Vue.http\n .get(\"organizations/me/subscriptions\")\n .then((result) => {\n console.log(result.body);\n resolve(result.body);\n })\n .catch((error) => {\n console.log(error);\n reject(error);\n });\n });\n },\n\n async getCountry({ state }, searchTerm) {\n return new Promise((resolve, reject) => {\n fetch(\"https://restcountries.com/v3.1/name/\" + searchTerm)\n .then((res) => res.json())\n .then((res) => {\n let resultList = [];\n res.forEach((r) => {\n const country = {\n name: r.name.common,\n cca2: r.cca2,\n flag: r.flags.svg,\n };\n if (state.validCountryCodes.includes(country.cca2)) resultList.push(country);\n });\n resolve(resultList);\n })\n .catch((e) => {\n console.log(e);\n reject(e);\n });\n });\n },\n\n testSourceConnection({ state }, id) {\n return new Promise((resolve, reject) => {\n Vue.http\n .get(`organizations/me/sources/${id}/test`)\n .then((res) => {\n resolve(res.body);\n })\n .catch((e) => console.log(e));\n });\n },\n\n testSourceConnections({ state }, ids) {\n const params = ids.map((c) => \"sourceIds=\" + c);\n return new Promise((resolve, reject) => {\n Vue.http\n .get(`organizations/me/sources/test?${params.join(\"&\")}`)\n .then((res) => {\n resolve(res.body);\n })\n .catch((e) => console.log(e));\n });\n },\n\n getTemplateSettings({ state }, id) {\n return Vue.http.get(`templates/${id}/settings`).then((result) => result.body);\n },\n\n getTemplateSettingsFields({ state }, id) {\n return Vue.http.get(`templates/${id}/settingsfields`).then((result) => result.body);\n },\n\n saveTemplateSettings({ commit }, { id, settings }) {\n return new Promise((resolve, reject) => {\n Vue.http\n .put(`templates/${id}/settings`, settings)\n .then((res) => {\n console.log(res);\n commit(\"setTemplateSettings\", { id, settings });\n resolve(res.body);\n })\n .catch((e) => reject(e));\n });\n },\n addDefaultTemplateSettings({ state, dispatch }, template) {\n dispatch(\"getTemplateSettingsFields\", template.metadata.id).then((res) => {\n let templateSettings = {};\n res.forEach((e) => {\n templateSettings[e.id] = e.default;\n });\n dispatch(\"saveTemplateSettings\", { id: template.metadata.id, settings: templateSettings });\n });\n },\n },\n});\n"],"sourceRoot":""}